Search in sources :

Example 1 with Link

use of org.activityinfo.client.page.common.nav.Link in project activityinfo by bedatadriven.

the class ConfigNavigator method loadDbList.

private void loadDbList(final AsyncCallback<List<Link>> callback, SchemaDTO result) {
    List<Link> list = new ArrayList<Link>();
    for (UserDatabaseDTO db : result.getDatabases()) {
        if (db.isDesignAllowed() || db.isManageUsersAllowed()) {
            Link link = Link.to(new DbPageState(DbConfigPresenter.PAGE_ID, db.getId())).labeled(db.getName()).withIcon(icons.database()).build();
            link.set("db", db);
            list.add(link);
        }
    }
    callback.onSuccess(list);
}
Also used : UserDatabaseDTO(org.activityinfo.shared.dto.UserDatabaseDTO) ArrayList(java.util.ArrayList) Link(org.activityinfo.client.page.common.nav.Link)

Example 2 with Link

use of org.activityinfo.client.page.common.nav.Link in project activityinfo by bedatadriven.

the class TargetIndicatorView method createGridAndAddToContainer.

@Override
protected Grid<ModelData> createGridAndAddToContainer(Store store) {
    final TreeStore treeStore = (TreeStore) store;
    tree = new EditorTreeGrid<ModelData>(treeStore, createColumnModel());
    tree.setAutoExpandColumn("name");
    tree.setSelectionModel(new ImprovedCellTreeGridSelectionModel<ModelData>());
    tree.setClicksToEdit(EditorGrid.ClicksToEdit.ONE);
    tree.setLoadMask(true);
    tree.setStateId("TargetValueGrid" + db.getId());
    tree.setIconProvider(new ModelIconProvider<ModelData>() {

        @Override
        public AbstractImagePrototype getIcon(ModelData model) {
            if (model instanceof ActivityDTO) {
                return IconImageBundle.ICONS.activity();
            } else if (model instanceof TargetValueDTO) {
                return IconImageBundle.ICONS.indicator();
            } else if (model instanceof Link) {
                return IconImageBundle.ICONS.folder();
            } else {
                return null;
            }
        }
    });
    addBeforeEditListener();
    addAfterEditListener();
    add(tree, new BorderLayoutData(Style.LayoutRegion.CENTER));
    return tree;
}
Also used : AbstractImagePrototype(com.google.gwt.user.client.ui.AbstractImagePrototype) ModelData(com.extjs.gxt.ui.client.data.ModelData) TreeStore(com.extjs.gxt.ui.client.store.TreeStore) BorderLayoutData(com.extjs.gxt.ui.client.widget.layout.BorderLayoutData) ActivityDTO(org.activityinfo.shared.dto.ActivityDTO) TargetValueDTO(org.activityinfo.shared.dto.TargetValueDTO) Link(org.activityinfo.client.page.common.nav.Link)

Example 3 with Link

use of org.activityinfo.client.page.common.nav.Link in project activityinfo by bedatadriven.

the class TargetIndicatorPresenter method fillStore.

private void fillStore() {
    Map<String, Link> categories = new HashMap<String, Link>();
    for (ActivityDTO activity : db.getActivities()) {
        if (activity.getCategory() != null) {
            Link actCategoryLink = categories.get(activity.getCategory());
            if (actCategoryLink == null) {
                actCategoryLink = createCategoryLink(activity, categories);
                categories.put(activity.getCategory(), actCategoryLink);
                treeStore.add(actCategoryLink, false);
            }
            treeStore.add(actCategoryLink, activity, false);
            addIndicatorLinks(activity, activity);
        } else {
            treeStore.add(activity, false);
            addIndicatorLinks(activity, activity);
        }
    }
}
Also used : HashMap(java.util.HashMap) ActivityDTO(org.activityinfo.shared.dto.ActivityDTO) Link(org.activityinfo.client.page.common.nav.Link)

Example 4 with Link

use of org.activityinfo.client.page.common.nav.Link in project activityinfo by bedatadriven.

the class ConfigNavigator method load.

@Override
public void load(DataReader<List<Link>> dataReader, Object parent, AsyncCallback<List<Link>> callback) {
    if (parent == null) {
        Link dbListLink = Link.to(new DbListPageState()).labeled(messages.databases()).withIcon(icons.database()).build();
        Link dbLinksLink = Link.to(new IndicatorLinkPlace()).labeled(messages.linkIndicators()).withIcon(icons.link()).build();
        callback.onSuccess(Arrays.asList(dbListLink, dbLinksLink));
    } else {
        Link link = (Link) parent;
        if (link.getPageState() instanceof DbListPageState) {
            loadDbListAsync(callback);
        }
    }
}
Also used : Link(org.activityinfo.client.page.common.nav.Link) IndicatorLinkPlace(org.activityinfo.client.page.config.link.IndicatorLinkPlace)

Example 5 with Link

use of org.activityinfo.client.page.common.nav.Link in project activityinfo by bedatadriven.

the class TargetIndicatorPresenter method addIndicatorLinks.

private void addIndicatorLinks(ActivityDTO activity, ModelData parent) {
    Map<String, Link> indicatorCategories = new HashMap<String, Link>();
    for (IndicatorDTO indicator : activity.getIndicators()) {
        if (indicator.getCategory() != null) {
            Link indCategoryLink = indicatorCategories.get(indicator.getCategory());
            if (indCategoryLink == null) {
                indCategoryLink = createIndicatorCategoryLink(indicator, indicatorCategories);
                indicatorCategories.put(indicator.getCategory(), indCategoryLink);
                treeStore.add(parent, indCategoryLink, false);
            }
            TargetValueDTO targetValueDTO = getTargetValueByIndicatorId(indicator.getId());
            if (null != targetValueDTO) {
                treeStore.add(indCategoryLink, targetValueDTO, false);
            } else {
                treeStore.add(indCategoryLink, createTargetValueModel(indicator), false);
            }
        } else {
            TargetValueDTO targetValueDTO = getTargetValueByIndicatorId(indicator.getId());
            if (null != targetValueDTO) {
                treeStore.add(parent, targetValueDTO, false);
            } else {
                treeStore.add(parent, createTargetValueModel(indicator), false);
            }
        }
    }
}
Also used : IndicatorDTO(org.activityinfo.shared.dto.IndicatorDTO) HashMap(java.util.HashMap) TargetValueDTO(org.activityinfo.shared.dto.TargetValueDTO) Link(org.activityinfo.client.page.common.nav.Link)

Aggregations

Link (org.activityinfo.client.page.common.nav.Link)5 HashMap (java.util.HashMap)2 ActivityDTO (org.activityinfo.shared.dto.ActivityDTO)2 TargetValueDTO (org.activityinfo.shared.dto.TargetValueDTO)2 ModelData (com.extjs.gxt.ui.client.data.ModelData)1 TreeStore (com.extjs.gxt.ui.client.store.TreeStore)1 BorderLayoutData (com.extjs.gxt.ui.client.widget.layout.BorderLayoutData)1 AbstractImagePrototype (com.google.gwt.user.client.ui.AbstractImagePrototype)1 ArrayList (java.util.ArrayList)1 IndicatorLinkPlace (org.activityinfo.client.page.config.link.IndicatorLinkPlace)1 IndicatorDTO (org.activityinfo.shared.dto.IndicatorDTO)1 UserDatabaseDTO (org.activityinfo.shared.dto.UserDatabaseDTO)1