Search in sources :

Example 16 with IndicatorDTO

use of org.activityinfo.shared.dto.IndicatorDTO in project activityinfo by bedatadriven.

the class DesignPresenter method onNew.

public void onNew(String entityName) {
    final EntityDTO newEntity;
    ModelData parent;
    ModelData selected = view.getSelection();
    if ("Activity".equals(entityName)) {
        newEntity = new ActivityDTO(db);
        newEntity.set("databaseId", db.getId());
        parent = null;
    } else if ("AttributeGroup".equals(entityName)) {
        ActivityDTO activity = findActivityFolder(selected);
        newEntity = new AttributeGroupDTO();
        newEntity.set("activityId", activity.getId());
        parent = treeStore.getChild(activity, 0);
    } else if ("Attribute".equals(entityName)) {
        AttributeGroupDTO group = findAttributeGroupNode(selected);
        newEntity = new AttributeDTO();
        newEntity.set("attributeGroupId", group.getId());
        parent = group;
    } else if ("Indicator".equals(entityName)) {
        ActivityDTO activity = findActivityFolder(selected);
        IndicatorDTO newIndicator = new IndicatorDTO();
        newIndicator.setAggregation(IndicatorDTO.AGGREGATE_SUM);
        newEntity = newIndicator;
        newEntity.set("activityId", activity.getId());
        parent = treeStore.getChild(activity, 1);
    } else {
        // TODO log error
        return;
    }
    createEntity(parent, newEntity);
}
Also used : AttributeDTO(org.activityinfo.shared.dto.AttributeDTO) EntityDTO(org.activityinfo.shared.dto.EntityDTO) ModelData(com.extjs.gxt.ui.client.data.ModelData) AttributeGroupDTO(org.activityinfo.shared.dto.AttributeGroupDTO) IndicatorDTO(org.activityinfo.shared.dto.IndicatorDTO) ActivityDTO(org.activityinfo.shared.dto.ActivityDTO)

Example 17 with IndicatorDTO

use of org.activityinfo.shared.dto.IndicatorDTO 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)

Example 18 with IndicatorDTO

use of org.activityinfo.shared.dto.IndicatorDTO in project activityinfo by bedatadriven.

the class DesignView method createGridAndAddToContainer.

@Override
protected Grid<ModelData> createGridAndAddToContainer(Store store) {
    final TreeStore treeStore = (TreeStore) store;
    tree = new EditorTreeGrid<ModelData>(treeStore, createColumnModel());
    tree.setSelectionModel(new ImprovedCellTreeGridSelectionModel<ModelData>());
    tree.setClicksToEdit(EditorGrid.ClicksToEdit.TWO);
    tree.setAutoExpandColumn("name");
    tree.setHideHeaders(true);
    tree.setLoadMask(true);
    // tree.setContextMenu(createContextMenu());
    tree.setIconProvider(new ModelIconProvider<ModelData>() {

        @Override
        public AbstractImagePrototype getIcon(ModelData model) {
            if (model instanceof ActivityDTO) {
                return IconImageBundle.ICONS.activity();
            } else if (model instanceof Folder) {
                return GXT.IMAGES.tree_folder_closed();
            } else if (model instanceof AttributeGroupDTO) {
                return IconImageBundle.ICONS.attributeGroup();
            } else if (model instanceof AttributeDTO) {
                return IconImageBundle.ICONS.attribute();
            } else if (model instanceof IndicatorDTO) {
                return IconImageBundle.ICONS.indicator();
            } else {
                return null;
            }
        }
    });
    tree.addListener(Events.CellClick, new Listener<GridEvent>() {

        @Override
        public void handleEvent(GridEvent ge) {
            showForm(tree.getStore().getAt(ge.getRowIndex()));
        }
    });
    add(tree, new BorderLayoutData(Style.LayoutRegion.CENTER));
    TreeGridDragSource source = new TreeGridDragSource(tree);
    source.addDNDListener(new DNDListener() {

        @Override
        public void dragStart(DNDEvent e) {
            ModelData sel = ((CellTreeGridSelectionModel) tree.getSelectionModel()).getSelectCell().model;
            if (!db.isDesignAllowed() || sel == null || sel instanceof Folder) {
                e.setCancelled(true);
                e.getStatus().setStatus(false);
                return;
            }
            super.dragStart(e);
        }
    });
    TreeGridDropTarget target = new TreeGridDropTarget(tree);
    target.setAllowSelfAsSource(true);
    target.setFeedback(DND.Feedback.BOTH);
    target.setAutoExpand(false);
    target.addDNDListener(new DragDropListener(treeStore));
    return tree;
}
Also used : AbstractImagePrototype(com.google.gwt.user.client.ui.AbstractImagePrototype) TreeGridDragSource(com.extjs.gxt.ui.client.dnd.TreeGridDragSource) ModelData(com.extjs.gxt.ui.client.data.ModelData) AttributeGroupDTO(org.activityinfo.shared.dto.AttributeGroupDTO) GridEvent(com.extjs.gxt.ui.client.event.GridEvent) DNDEvent(com.extjs.gxt.ui.client.event.DNDEvent) BorderLayoutData(com.extjs.gxt.ui.client.widget.layout.BorderLayoutData) DNDListener(com.extjs.gxt.ui.client.event.DNDListener) ActivityDTO(org.activityinfo.shared.dto.ActivityDTO) TreeGridDropTarget(com.extjs.gxt.ui.client.dnd.TreeGridDropTarget) AttributeDTO(org.activityinfo.shared.dto.AttributeDTO) TreeStore(com.extjs.gxt.ui.client.store.TreeStore) IndicatorDTO(org.activityinfo.shared.dto.IndicatorDTO) CellTreeGridSelectionModel(com.extjs.gxt.ui.client.widget.treegrid.CellTreeGridSelectionModel) ImprovedCellTreeGridSelectionModel(org.activityinfo.client.page.common.grid.ImprovedCellTreeGridSelectionModel)

Example 19 with IndicatorDTO

use of org.activityinfo.shared.dto.IndicatorDTO in project activityinfo by bedatadriven.

the class DesignView method showNewForm.

@Override
public FormDialogTether showNewForm(EntityDTO entity, FormDialogCallback callback) {
    AbstractDesignForm form = createForm(entity);
    form.getBinding().bind(entity);
    for (FieldBinding field : form.getBinding().getBindings()) {
        field.getField().clearInvalid();
    }
    FormDialogImpl dlg = new FormDialogImpl(form);
    dlg.setWidth(form.getPreferredDialogWidth());
    dlg.setHeight(form.getPreferredDialogHeight());
    dlg.setScrollMode(Style.Scroll.AUTOY);
    if (entity instanceof ActivityDTO) {
        dlg.setHeading(I18N.CONSTANTS.newActivity());
    } else if (entity instanceof AttributeGroupDTO) {
        dlg.setHeading(I18N.CONSTANTS.newAttributeGroup());
    } else if (entity instanceof AttributeDTO) {
        dlg.setHeading(I18N.CONSTANTS.newAttribute());
    } else if (entity instanceof IndicatorDTO) {
        dlg.setHeading(I18N.CONSTANTS.newIndicator());
    }
    dlg.show(callback);
    return dlg;
}
Also used : AttributeDTO(org.activityinfo.shared.dto.AttributeDTO) AttributeGroupDTO(org.activityinfo.shared.dto.AttributeGroupDTO) IndicatorDTO(org.activityinfo.shared.dto.IndicatorDTO) FormDialogImpl(org.activityinfo.client.page.common.dialog.FormDialogImpl) FieldBinding(com.extjs.gxt.ui.client.binding.FieldBinding) ActivityDTO(org.activityinfo.shared.dto.ActivityDTO)

Example 20 with IndicatorDTO

use of org.activityinfo.shared.dto.IndicatorDTO in project activityinfo by bedatadriven.

the class IndicatorLinkPage method onIndicatorSelectionChanged.

protected void onIndicatorSelectionChanged() {
    IndicatorDTO source = sourceIndicatorGrid.getSelectedItem();
    IndicatorDTO dest = destIndicatorGrid.getSelectedItem();
    if (source == null || dest == null) {
        linkButton.disable();
    } else {
        sourceIndicatorGrid.getRowY(source);
        destIndicatorGrid.getRowY(dest);
        sourceIndicatorGrid.el().getRight(false);
        linkButton.toggle(linkGraph.linked(source, dest));
        linkButton.enable();
    // linkButton.showAt(x - LinkTip.WIDTH/2, y - LinkTip.HEIGHT/2);
    }
}
Also used : IndicatorDTO(org.activityinfo.shared.dto.IndicatorDTO)

Aggregations

IndicatorDTO (org.activityinfo.shared.dto.IndicatorDTO)28 ActivityDTO (org.activityinfo.shared.dto.ActivityDTO)9 AttributeGroupDTO (org.activityinfo.shared.dto.AttributeGroupDTO)7 AttributeDTO (org.activityinfo.shared.dto.AttributeDTO)6 ModelData (com.extjs.gxt.ui.client.data.ModelData)5 Test (org.junit.Test)5 IndicatorGroup (org.activityinfo.shared.dto.IndicatorGroup)4 SchemaDTO (org.activityinfo.shared.dto.SchemaDTO)4 GetSchema (org.activityinfo.shared.command.GetSchema)2 AdminLevelDTO (org.activityinfo.shared.dto.AdminLevelDTO)2 UserDatabaseDTO (org.activityinfo.shared.dto.UserDatabaseDTO)2 MapContent (org.activityinfo.shared.report.content.MapContent)2 MapReportElement (org.activityinfo.shared.report.model.MapReportElement)2 FieldBinding (com.extjs.gxt.ui.client.binding.FieldBinding)1 TreeGridDragSource (com.extjs.gxt.ui.client.dnd.TreeGridDragSource)1 TreeGridDropTarget (com.extjs.gxt.ui.client.dnd.TreeGridDropTarget)1 DNDEvent (com.extjs.gxt.ui.client.event.DNDEvent)1 DNDListener (com.extjs.gxt.ui.client.event.DNDListener)1 GridEvent (com.extjs.gxt.ui.client.event.GridEvent)1 TreeStore (com.extjs.gxt.ui.client.store.TreeStore)1