Search in sources :

Example 11 with SchemaNodeData

use of org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData in project collect by openforis.

the class SchemaVM method openSelectParentNodePopupForDuplicate.

private void openSelectParentNodePopupForDuplicate(final NodeDefinition node) {
    Predicate<SurveyObject> includedNodePredicate = new Predicate<SurveyObject>() {

        @Override
        public boolean evaluate(SurveyObject item) {
            return item instanceof UITab || item instanceof EntityDefinition;
        }
    };
    Predicate<SurveyObject> disabledPredicate = new Predicate<SurveyObject>() {

        @Override
        public boolean evaluate(SurveyObject item) {
            return !(item instanceof UITab || item instanceof EntityDefinition);
        }
    };
    String nodeName = node.getName();
    UITab assignedTab = survey.getUIOptions().getAssignedTab((NodeDefinition) node);
    String assignedTabLabel = assignedTab.getLabel(currentLanguageCode);
    String title = Labels.getLabel("survey.schema.duplicate_node_popup_title", new String[] { getNodeTypeHeaderLabel(), nodeName, assignedTabLabel });
    // calculate parent item (tab or entity)
    SchemaTreeNode treeNode = treeModel.getTreeNode(node);
    TreeNode<SchemaNodeData> parentTreeNode = treeNode.getParent();
    SurveyObject parentItem = parentTreeNode.getData().getSurveyObject();
    final Window popup = SchemaTreePopUpVM.openPopup(title, selectedRootEntity, null, includedNodePredicate, false, true, disabledPredicate, null, parentItem, false);
    popup.addEventListener(SchemaTreePopUpVM.NODE_SELECTED_EVENT_NAME, new EventListener<NodeSelectedEvent>() {

        public void onEvent(NodeSelectedEvent event) throws Exception {
            SurveyObject selectedParent = event.getSelectedItem();
            duplicateEditedNodeInto(node, selectedParent);
            closePopUp(popup);
        }
    });
}
Also used : Window(org.zkoss.zul.Window) SchemaTreeNode(org.openforis.collect.designer.component.SchemaTreeModel.SchemaTreeNode) NodeSelectedEvent(org.openforis.collect.designer.viewmodel.SchemaTreePopUpVM.NodeSelectedEvent) Predicate(org.openforis.collect.designer.util.Predicate) UITab(org.openforis.collect.metamodel.ui.UITab) EntityDefinition(org.openforis.idm.metamodel.EntityDefinition) SurveyObject(org.openforis.idm.metamodel.SurveyObject) SchemaNodeData(org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData)

Example 12 with SchemaNodeData

use of org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData in project collect by openforis.

the class SchemaVM method getTreeItem.

// TODO move it to tree model class
private Treeitem getTreeItem(SurveyObject item) {
    for (Treeitem treeItem : nodesTree.getItems()) {
        SchemaTreeNode node = treeItem.getValue();
        SchemaNodeData data = node.getData();
        SurveyObject itemSO = data.getSurveyObject();
        if (itemSO == item) {
            return treeItem;
        }
    }
    return null;
}
Also used : Treeitem(org.zkoss.zul.Treeitem) SchemaTreeNode(org.openforis.collect.designer.component.SchemaTreeModel.SchemaTreeNode) SurveyObject(org.openforis.idm.metamodel.SurveyObject) SchemaNodeData(org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData)

Example 13 with SchemaNodeData

use of org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData in project collect by openforis.

the class SchemaVM method refreshSelectedTreeNode.

protected void refreshSelectedTreeNode(Component view) {
    Treeitem selectedItem = nodesTree.getSelectedItem();
    SchemaTreeNode treeNode = selectedItem.getValue();
    SchemaNodeData data = treeNode.getData();
    // update context menu
    Menupopup popupMenu = getPopupMenu(data);
    selectedItem.setContext(popupMenu);
}
Also used : Treeitem(org.zkoss.zul.Treeitem) SchemaTreeNode(org.openforis.collect.designer.component.SchemaTreeModel.SchemaTreeNode) Menupopup(org.zkoss.zul.Menupopup) SchemaNodeData(org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData)

Aggregations

SchemaNodeData (org.openforis.collect.designer.component.SchemaTreeModel.SchemaNodeData)13 SchemaTreeNode (org.openforis.collect.designer.component.SchemaTreeModel.SchemaTreeNode)9 SurveyObject (org.openforis.idm.metamodel.SurveyObject)6 UITab (org.openforis.collect.metamodel.ui.UITab)5 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)5 UIOptions (org.openforis.collect.metamodel.ui.UIOptions)4 AbstractNode (org.openforis.collect.designer.component.BasicTreeModel.AbstractNode)3 CollectSurvey (org.openforis.collect.model.CollectSurvey)3 Treeitem (org.zkoss.zul.Treeitem)3 ArrayList (java.util.ArrayList)2 Predicate (org.openforis.collect.designer.util.Predicate)2 NodeSelectedEvent (org.openforis.collect.designer.viewmodel.SchemaTreePopUpVM.NodeSelectedEvent)2 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)2 Command (org.zkoss.bind.annotation.Command)2 GlobalCommand (org.zkoss.bind.annotation.GlobalCommand)2 Window (org.zkoss.zul.Window)2 HashSet (java.util.HashSet)1 UITabSet (org.openforis.collect.metamodel.ui.UITabSet)1 Menupopup (org.zkoss.zul.Menupopup)1