in progress on #23587
This commit is contained in:
parent
b7836b33ae
commit
71e26af6dd
|
@ -387,7 +387,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
|
||||
if (cardsPerIT != null) {
|
||||
orderedCards.addAll(cardsPerIT);
|
||||
buildNewCards(profileID, orderedCards);
|
||||
buildNewCards(profileID, handlerDeclarationDV.getItemType(), orderedCards);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -443,7 +443,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
orderedCards.addAll(gnaCardsModels);
|
||||
mapGcubeProfilePerItemType.put(handlerDeclarationDV.getItemType(),
|
||||
new ArrayList<GeoNaFormCardModel>(orderedCards));
|
||||
buildNewCards(profileID, orderedCards);
|
||||
buildNewCards(profileID, handlerDeclarationDV.getItemType(), orderedCards);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -487,7 +487,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
return geoNaFormCardModel;
|
||||
}
|
||||
|
||||
private void buildNewCards(String profileID, Collection<GeoNaFormCardModel> orderedCards) {
|
||||
private void buildNewCards(String profileID, String itemTypeTitle, Collection<GeoNaFormCardModel> orderedCards) {
|
||||
projectSavedWithSuccess = false; // resetting state of saving
|
||||
mainTabPanel.setLoaderVisible("Loading...", true);
|
||||
geoNaMainForm.setVisibleFormActions(true);
|
||||
|
@ -516,13 +516,13 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
geoNaMainForm.enableButtonSave(true);
|
||||
mainTabPanel.setLoaderVisible("", false);
|
||||
|
||||
TreeItemPanel tip = new TreeItemPanel(profileID, orderedCards, appManagerBus);
|
||||
TreeItemPanel tip = new TreeItemPanel(profileID, itemTypeTitle, orderedCards, appManagerBus);
|
||||
geoNaMainForm.addTree(tip);
|
||||
// RootPanel.get(GeoPortalDataEntryApp.DIV_PORTLET_ID).add(tip.getTree());
|
||||
}
|
||||
|
||||
private void resetUI() {
|
||||
geoNaMainForm.reset();
|
||||
geoNaMainForm.resetUI();
|
||||
mapForms.clear();
|
||||
}
|
||||
|
||||
|
@ -680,9 +680,11 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
@Override
|
||||
public void onTreeItemEvent(TreeItemEvent treeItemEvent) {
|
||||
|
||||
NodeItem selectedNode = treeItemEvent.getSelectItem();
|
||||
if (selectedNode == null) {
|
||||
TreeItem selectedItem = geoNaMainForm.getTreeItemPanel().getSelectItem();
|
||||
TreeItem selectedItem = treeItemEvent.getSelectItem();
|
||||
NodeItem selectedNode = treeItemEvent.selectedAsNodeItem();
|
||||
|
||||
if (selectedItem == null) {
|
||||
selectedItem = geoNaMainForm.getTreeItemPanel().getSelectItem();
|
||||
|
||||
if (selectedItem == null)
|
||||
return;
|
||||
|
@ -690,42 +692,59 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
selectedNode = (NodeItem) selectedItem.getWidget();
|
||||
}
|
||||
|
||||
|
||||
GeoNaFormCardModel nodeCard = selectedNode.getGeoNaFormCardModel();
|
||||
|
||||
|
||||
switch (treeItemEvent.getActionPerformed()) {
|
||||
case SELECTED:
|
||||
case SELECTED: {
|
||||
geoNaMainForm.enableButtonRemoveSection(false);
|
||||
geoNaMainForm.enableButtonDuplicateSection(false);
|
||||
geoNaMainForm.setSelectedForm(nodeCard.getMetadataForm());
|
||||
int nodeCount = geoNaMainForm.getTreeItemPanel().countNodeForFullPath(selectedNode.getJsonSectionFullPath());
|
||||
|
||||
if(nodeCount>1) {
|
||||
geoNaMainForm.enableButtonRemoveSection(true);
|
||||
}
|
||||
|
||||
// if(nodeCount>1) {
|
||||
// geoNaMainForm.enableButtonRemoveSection(true);
|
||||
// }
|
||||
//
|
||||
if (nodeCard.getFormCard().isInternalRepeatibleForm()) {
|
||||
geoNaMainForm.enableButtonDuplicateSection(true);
|
||||
}
|
||||
|
||||
if (selectedNode.isCanBeDeleted()) {
|
||||
geoNaMainForm.enableButtonRemoveSection(true);
|
||||
}
|
||||
|
||||
break;
|
||||
case DELETE:
|
||||
}
|
||||
case DELETE: {
|
||||
|
||||
geoNaMainForm.getTreeItemPanel().removeChild(selectedItem.getParentItem(), selectedItem, selectedNode.getJsonSectionFullPath());
|
||||
geoNaMainForm.resetInputPanel();
|
||||
break;
|
||||
}
|
||||
|
||||
case DUPLICATE:
|
||||
case DUPLICATE: {
|
||||
|
||||
GWT.log("DUPLICATE node: " + selectedNode);
|
||||
|
||||
int nodeCountPerJSONFullPAth = geoNaMainForm.getTreeItemPanel()
|
||||
.countNodeForFullPath(selectedNode.getJsonSectionFullPath());
|
||||
|
||||
if (nodeCountPerJSONFullPAth >= nodeCard.getFormCard().getMaxFormRepeatability()) {
|
||||
|
||||
DialogInform di = new DialogInform(new Image(Images.ICONS.accessDenied()), "Maximun reached",
|
||||
"Maximun number of data reached for " + nodeCard.getFormCard().getTitle());
|
||||
di.center();
|
||||
return;
|
||||
}
|
||||
|
||||
GeoNaFormCardModel newNodeFormCard = buildNewFormCardModelFromProfile(nodeCard.getGcubeProfile(),
|
||||
-1, nodeCard.getMetadataProfileBean(), OPERATION.UPDATE);
|
||||
|
||||
geoNaMainForm.getTreeItemPanel().addChild(selectedNode.getParentTreeItem(), newNodeFormCard, true,
|
||||
selectedNode.getJsonSectionFullPath());
|
||||
boolean canBeDuplicated = newNodeFormCard.getFormCard().isInternalRepeatibleForm();
|
||||
geoNaMainForm.getTreeItemPanel().addChild(selectedNode.getParentTreeItem(), newNodeFormCard,
|
||||
canBeDuplicated, true, selectedNode.getJsonSectionFullPath());
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package org.gcube.portlets.user.geoportaldataentry.client.events;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.user.geoportaldataentry.client.ui.tree.NodeItem;
|
||||
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
import com.google.gwt.user.client.ui.TreeItem;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -17,7 +16,7 @@ import com.google.gwt.event.shared.GwtEvent;
|
|||
*/
|
||||
public class TreeItemEvent extends GwtEvent<TreeItemEventHandler> {
|
||||
public static Type<TreeItemEventHandler> TYPE = new Type<TreeItemEventHandler>();
|
||||
private NodeItem selectItem;
|
||||
private TreeItem treeItem;
|
||||
private ACTION actionPerformed;
|
||||
|
||||
/**
|
||||
|
@ -37,8 +36,8 @@ public class TreeItemEvent extends GwtEvent<TreeItemEventHandler> {
|
|||
* @param selectItems the select items
|
||||
* @param action the action
|
||||
*/
|
||||
public TreeItemEvent(NodeItem selectItem, ACTION action) {
|
||||
this.selectItem = selectItem;
|
||||
public TreeItemEvent(TreeItem treeItem, ACTION action) {
|
||||
this.treeItem = treeItem;
|
||||
this.actionPerformed = action;
|
||||
}
|
||||
|
||||
|
@ -79,8 +78,16 @@ public class TreeItemEvent extends GwtEvent<TreeItemEventHandler> {
|
|||
*
|
||||
* @return the select items
|
||||
*/
|
||||
public NodeItem getSelectItem() {
|
||||
return selectItem;
|
||||
public TreeItem getSelectItem() {
|
||||
return treeItem;
|
||||
}
|
||||
|
||||
public NodeItem selectedAsNodeItem(){
|
||||
if(treeItem!=null) {
|
||||
return (NodeItem) treeItem.getWidget();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -189,7 +189,7 @@ public class GeonaMainTabPanel extends Composite {
|
|||
alertSearchFor.setText(searchForFields.get(0).getDisplayName());
|
||||
alertSortBy.setText(toLabelFilter((initialSortFilter.getOrderByFields().get(0)), initialSortFilter.getOrder()));
|
||||
|
||||
pageHeaderDataEntry.setHeight("25px");
|
||||
//pageHeaderDataEntry.setHeight("25px");
|
||||
bindEvents();
|
||||
resetSearch.setIconSize(IconSize.TWO_TIMES);
|
||||
resetSearch.setType(ButtonType.LINK);
|
||||
|
|
|
@ -52,6 +52,18 @@
|
|||
padding-top: 6px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.sub-page-header {
|
||||
height: 25px;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.sub-page-header h1 {
|
||||
}
|
||||
|
||||
.sub-page-header small {
|
||||
font-size: 18px;
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel>
|
||||
<b:PageHeader subtext="data entry facility"
|
||||
|
@ -83,7 +95,9 @@
|
|||
<b:Paragraph>select "Create New Project"</b:Paragraph>
|
||||
</b:Hero>
|
||||
<b:PageHeader subtext=" "
|
||||
ui:field="pageHeaderDataEntry" visible="false"> </b:PageHeader>
|
||||
ui:field="pageHeaderDataEntry"
|
||||
addStyleNames="{style.sub-page-header}" visible="false">
|
||||
</b:PageHeader>
|
||||
</g:HTMLPanel>
|
||||
|
||||
<r:LoaderIcon ui:field="loader"></r:LoaderIcon>
|
||||
|
|
|
@ -69,8 +69,8 @@ public class GeonaDataEntryMainForm extends Composite {
|
|||
@UiField
|
||||
ScrollPanel inputPanel;
|
||||
|
||||
@UiField
|
||||
TabPanel mainTabPanel;
|
||||
// @UiField
|
||||
// TabPanel mainTabPanel;
|
||||
|
||||
@UiField
|
||||
AlertBlock alertFormAction;
|
||||
|
@ -89,7 +89,7 @@ public class GeonaDataEntryMainForm extends Composite {
|
|||
|
||||
private LinkedHashMap<String, MetadataFormCard> mapForms = new LinkedHashMap<String, MetadataFormCard>();
|
||||
|
||||
private List<Tab> listTabs = new ArrayList<Tab>();
|
||||
//private List<Tab> listTabs = new ArrayList<Tab>();
|
||||
|
||||
private HandlerManager appManagerBus;
|
||||
|
||||
|
@ -166,56 +166,64 @@ public class GeonaDataEntryMainForm extends Composite {
|
|||
// this.profileID = profileID;
|
||||
// listCards.add(geonFormModel);
|
||||
// createNewCard(profileID, tabHeading, geonFormModel);
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * Creates the new card.
|
||||
// *
|
||||
// * @param profileID the profile ID
|
||||
// * @param tabHeading the tab heading
|
||||
// * @param geonFormModel the geon form model
|
||||
// */
|
||||
// private void createNewCard(String profileID, String tabHeading, final GeoNaFormCardModel geonFormModel) {
|
||||
// final Tab tab = new Tab();
|
||||
// tab.setHeading(tabHeading);
|
||||
// // MetadataFormCard mfc = new MetadataFormCard(tab, createMetadataForm,
|
||||
// // repeatible);
|
||||
// MetadataFormCard mfc = new MetadataFormCard(tab, geonFormModel, appManagerBus);
|
||||
// listTabs.add(tab);
|
||||
// mainTabPanel.add(tab);
|
||||
//
|
||||
// if (listTabs.size() == 1) {
|
||||
// tab.setActive(true);
|
||||
// mainTabPanel.selectTab(0);
|
||||
// }
|
||||
//
|
||||
// mapForms.put(tabHeading, mfc);
|
||||
// }
|
||||
|
||||
/**
|
||||
* Creates the new card.
|
||||
*
|
||||
* @param profileID the profile ID
|
||||
* @param tabHeading the tab heading
|
||||
* @param geonFormModel the geon form model
|
||||
* Reset.
|
||||
*/
|
||||
private void createNewCard(String profileID, String tabHeading, final GeoNaFormCardModel geonFormModel) {
|
||||
final Tab tab = new Tab();
|
||||
tab.setHeading(tabHeading);
|
||||
// MetadataFormCard mfc = new MetadataFormCard(tab, createMetadataForm,
|
||||
// repeatible);
|
||||
MetadataFormCard mfc = new MetadataFormCard(tab, geonFormModel, appManagerBus);
|
||||
listTabs.add(tab);
|
||||
mainTabPanel.add(tab);
|
||||
|
||||
if (listTabs.size() == 1) {
|
||||
tab.setActive(true);
|
||||
mainTabPanel.selectTab(0);
|
||||
}
|
||||
|
||||
mapForms.put(tabHeading, mfc);
|
||||
public void resetUI() {
|
||||
navbarTree.setVisible(false);
|
||||
mapForms.clear();
|
||||
//mainTabPanel.clear();
|
||||
inputPanel.clear();
|
||||
//listTabs.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset.
|
||||
*/
|
||||
public void reset() {
|
||||
navbarTree.setVisible(false);
|
||||
mapForms.clear();
|
||||
mainTabPanel.clear();
|
||||
listTabs.clear();
|
||||
public void resetInputPanel() {
|
||||
inputPanel.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Select tab.
|
||||
*
|
||||
* @param index the index
|
||||
*/
|
||||
public void selectTab(int index) {
|
||||
|
||||
GWT.log("Selecting tab index: " + index + " of " + listTabs.size());
|
||||
|
||||
if (listTabs.size() < index) {
|
||||
mainTabPanel.selectTab(index);
|
||||
|
||||
}
|
||||
}
|
||||
// /**
|
||||
// * Select tab.
|
||||
// *
|
||||
// * @param index the index
|
||||
// */
|
||||
// public void selectTab(int index) {
|
||||
//
|
||||
// GWT.log("Selecting tab index: " + index + " of " + listTabs.size());
|
||||
//
|
||||
// if (listTabs.size() < index) {
|
||||
// mainTabPanel.selectTab(index);
|
||||
//
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* Save data.
|
||||
|
|
|
@ -51,8 +51,8 @@
|
|||
<g:ScrollPanel ui:field="inputPanel"
|
||||
addStyleNames="{style.w80}"></g:ScrollPanel>
|
||||
</g:HTMLPanel>
|
||||
<b:TabPanel ui:field="mainTabPanel" tabPosition="left">
|
||||
</b:TabPanel>
|
||||
<!-- <b:TabPanel ui:field="mainTabPanel" tabPosition="left">
|
||||
</b:TabPanel> -->
|
||||
<b:AlertBlock type="DEFAULT" visible="false"
|
||||
close="false" ui:field="alertFormAction"></b:AlertBlock>
|
||||
<b:FormActions ui:field="formActions" visible="false">
|
||||
|
|
|
@ -36,58 +36,25 @@ public class NodeItem extends Composite {
|
|||
|
||||
private String jsonSectionFullPath;
|
||||
|
||||
// public NodeItem(TreeItem parent, GcubeProfileDV profile, CreateMetadataForm baseForm, Integer minOccurs,
|
||||
// Integer maxOccurs, boolean canBeDuplicated, boolean canBeDeleted) {
|
||||
// initWidget(uiBinder.createAndBindUi(this));
|
||||
// this.profile = profile;
|
||||
// this.baseForm = baseForm;
|
||||
// htmlNode.setHTML(profile.getSectionTitle());
|
||||
// buttonAdd.setVisible(false);
|
||||
// buttonRemove.setVisible(false);
|
||||
//
|
||||
// if (canBeDuplicated) {
|
||||
// buttonAdd.setIcon(IconType.COPY);
|
||||
// buttonAdd.getElement().getStyle().setProperty("pointerEvents", "none");
|
||||
// buttonAdd.getElement().getStyle().setProperty("textDecoration", "none");
|
||||
// buttonAdd.getElement().getStyle().setColor("#555");
|
||||
// buttonAdd.setVisible(true);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// if (canBeDeleted) {
|
||||
// buttonRemove.setIcon(IconType.TRASH);
|
||||
// buttonRemove.getElement().getStyle().setProperty("pointerEvents", "none");
|
||||
// buttonRemove.getElement().getStyle().setProperty("textDecoration", "none");
|
||||
// buttonRemove.getElement().getStyle().setColor("#555");
|
||||
// buttonRemove.setVisible(true);
|
||||
// }
|
||||
//
|
||||
// htmlNode.addClickHandler(new ClickHandler() {
|
||||
//
|
||||
// @Override
|
||||
// public void onClick(ClickEvent event) {
|
||||
// // TODO Auto-generated method stub
|
||||
//
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// }
|
||||
private boolean canBeDuplicated;
|
||||
|
||||
public NodeItem(TreeItem parent, GeoNaFormCardModel geoNaFormCardModel, boolean canBeDeleted,
|
||||
String jsonSectionFullPath) {
|
||||
private boolean canBeDeleted;
|
||||
|
||||
public NodeItem(TreeItem parent, GeoNaFormCardModel geoNaFormCardModel, boolean canBeDuplicated,
|
||||
boolean canBeDeleted, String jsonSectionFullPath) {
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
this.geoNaFormCardModel = geoNaFormCardModel;
|
||||
this.parentTreeItem = parent;
|
||||
this.jsonSectionFullPath = jsonSectionFullPath;
|
||||
this.canBeDuplicated = canBeDuplicated;
|
||||
this.canBeDeleted = canBeDeleted;
|
||||
htmlNode.setHTML(geoNaFormCardModel.getGcubeProfile().getSectionTitle());
|
||||
buttonAdd.setVisible(false);
|
||||
buttonRemove.setVisible(false);
|
||||
|
||||
boolean canBeDuplicated = geoNaFormCardModel.getFormCard().isInternalRepeatibleForm();
|
||||
|
||||
if (canBeDuplicated) {
|
||||
buttonAdd.setIcon(IconType.COPY);
|
||||
buttonAdd.getElement().getStyle().setProperty("pointerEvents", "none");
|
||||
//buttonAdd.getElement().getStyle().setProperty("pointerEvents", "none");
|
||||
buttonAdd.getElement().getStyle().setProperty("textDecoration", "none");
|
||||
buttonAdd.getElement().getStyle().setColor("#555");
|
||||
buttonAdd.setVisible(true);
|
||||
|
@ -96,7 +63,7 @@ public class NodeItem extends Composite {
|
|||
|
||||
if (canBeDeleted) {
|
||||
buttonRemove.setIcon(IconType.TRASH);
|
||||
buttonRemove.getElement().getStyle().setProperty("pointerEvents", "none");
|
||||
//buttonRemove.getElement().getStyle().setProperty("pointerEvents", "none");
|
||||
buttonRemove.getElement().getStyle().setProperty("textDecoration", "none");
|
||||
buttonRemove.getElement().getStyle().setColor("#555");
|
||||
buttonRemove.setVisible(true);
|
||||
|
@ -130,4 +97,12 @@ public class NodeItem extends Composite {
|
|||
return jsonSectionFullPath;
|
||||
}
|
||||
|
||||
public boolean isCanBeDeleted() {
|
||||
return canBeDeleted;
|
||||
}
|
||||
|
||||
public boolean isCanBeDuplicated() {
|
||||
return canBeDuplicated;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,13 +24,18 @@ public class TreeItemPanel {
|
|||
private Tree tree = new Tree();
|
||||
private HandlerManager appManagerBus;
|
||||
private HashMap<String, List<TreeItem>> treeItemParents = new HashMap<String, List<TreeItem>>();
|
||||
private String itemTypeTitle;
|
||||
private String profileID;
|
||||
|
||||
// Create a tree with a few items in it.
|
||||
public TreeItemPanel(String itemType, Collection<GeoNaFormCardModel> gnaCardsModels, HandlerManager appManagerBus) {
|
||||
public TreeItemPanel(String profileID, String itemTypeTitle, Collection<GeoNaFormCardModel> gnaCardsModels,
|
||||
HandlerManager appManagerBus) {
|
||||
this.appManagerBus = appManagerBus;
|
||||
this.itemTypeTitle = itemTypeTitle;
|
||||
this.profileID = profileID;
|
||||
|
||||
TreeItem root = new TreeItem();
|
||||
root.setHTML(itemType);
|
||||
root.setHTML(itemTypeTitle);
|
||||
|
||||
// TreeMap<String, List<TreeItem>> mapParentSections = new TreeMap<String,
|
||||
// List<TreeItem>>();
|
||||
|
@ -74,7 +79,9 @@ public class TreeItemPanel {
|
|||
GWT.log("tree jsonSection: " + jsonSectionFullPath + " parent " + parentName + " name: "
|
||||
+ profile.getSectionName() + " title: " + profile.getSectionTitle());
|
||||
|
||||
TreeItem child = addChild(listParent.get(0), geoNaFormCardModel, false, jsonSectionFullPath);
|
||||
boolean canBeDuplicated = geoNaFormCardModel.getFormCard().isInternalRepeatibleForm();
|
||||
TreeItem child = addChild(listParent.get(0), geoNaFormCardModel, canBeDuplicated, false,
|
||||
jsonSectionFullPath);
|
||||
|
||||
}
|
||||
tree.addItem(root);
|
||||
|
@ -83,10 +90,12 @@ public class TreeItemPanel {
|
|||
|
||||
@Override
|
||||
public void onSelection(SelectionEvent<TreeItem> event) {
|
||||
NodeItem nodeItem = (NodeItem) event.getSelectedItem().getWidget();
|
||||
TreeItem treeItem = event.getSelectedItem();
|
||||
|
||||
NodeItem nodeItem = (NodeItem) treeItem.getWidget();
|
||||
|
||||
GWT.log("Selected: " + nodeItem.getGeoNaFormCardModel().getGcubeProfile());
|
||||
appManagerBus.fireEvent(new TreeItemEvent(nodeItem, ACTION.SELECTED));
|
||||
appManagerBus.fireEvent(new TreeItemEvent(treeItem, ACTION.SELECTED));
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -113,9 +122,11 @@ public class TreeItemPanel {
|
|||
return jsonSectionFullPath;
|
||||
}
|
||||
|
||||
public TreeItem addChild(TreeItem parent, GeoNaFormCardModel geoNaFormCardModel, boolean canBeDeleted, String jsonSectionFullPath) {
|
||||
public TreeItem addChild(TreeItem parent, GeoNaFormCardModel geoNaFormCardModel, boolean canBeDuplicated,
|
||||
boolean canBeDeleted, String jsonSectionFullPath) {
|
||||
GWT.log("Adding child to parent: " + parent.getText());
|
||||
TreeItem child = new TreeItem(new NodeItem(parent, geoNaFormCardModel, canBeDeleted, jsonSectionFullPath));
|
||||
TreeItem child = new TreeItem(
|
||||
new NodeItem(parent, geoNaFormCardModel, canBeDuplicated, canBeDeleted, jsonSectionFullPath));
|
||||
parent.addItem(child);
|
||||
|
||||
// if the path section is not the root
|
||||
|
@ -135,6 +146,18 @@ public class TreeItemPanel {
|
|||
return child;
|
||||
}
|
||||
|
||||
public void removeChild(TreeItem parent, TreeItem item, String jsonSectionFullPath) {
|
||||
GWT.log("Removing child to parent: " + parent.getText());
|
||||
List<TreeItem> nodes = treeItemParents.get(jsonSectionFullPath);
|
||||
|
||||
if (nodes != null) {
|
||||
nodes.remove(item);
|
||||
treeItemParents.put(jsonSectionFullPath, nodes);
|
||||
}
|
||||
|
||||
parent.removeItem(item);
|
||||
}
|
||||
|
||||
public int countNodeForFullPath(String jsonSectionFullPath) {
|
||||
List<TreeItem> nodes = treeItemParents.get(jsonSectionFullPath);
|
||||
|
||||
|
@ -156,5 +179,4 @@ public class TreeItemPanel {
|
|||
return parent.getChildIndex(item);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue