From e94ad04df739f54f93e52b9ba3e72a0d6885df05 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 5 Sep 2014 16:42:30 +0000 Subject: [PATCH] Minor Update git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-table-widget@99569 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../validation/ValidationsTasksPanel.java | 78 ++++++++++++------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/validation/ValidationsTasksPanel.java b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/validation/ValidationsTasksPanel.java index 9b39206..a0d29c9 100644 --- a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/validation/ValidationsTasksPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/validation/ValidationsTasksPanel.java @@ -44,6 +44,7 @@ import com.google.web.bindery.event.shared.EventBus; import com.sencha.gxt.core.client.ToStringValueProvider; import com.sencha.gxt.core.client.ValueProvider; import com.sencha.gxt.core.client.dom.ScrollSupport.ScrollMode; +import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.data.shared.IconProvider; import com.sencha.gxt.data.shared.ModelKeyProvider; import com.sencha.gxt.data.shared.TreeStore; @@ -92,6 +93,7 @@ MonitorDialogListener { protected TreeDataGenerator gen; protected TreeStore store; protected TreeGrid tree; + private boolean updateTR; class KeyProvider implements ModelKeyProvider { @@ -111,6 +113,8 @@ MonitorDialogListener { this.eventBus = eventBus; this.thisPanel = this; forceLayoutOnResize = true; + updateTR=false; + init(); retrieveCurrentTR(); } @@ -127,29 +131,35 @@ MonitorDialogListener { this.eventBus = eventBus; this.thisPanel = this; forceLayoutOnResize = true; + updateTR=false; init(); - draw(); - } - - protected void draw() { - if (tree != null) { - remove(tree); - } - retrieveValidations(); } + + protected void init() { setWidth(WIDTH); setHeight(HEIGHT); setHeaderVisible(false); setBodyBorder(false); - forceLayoutOnResize = true; + } protected void createTreeData() { - gen = new TreeDataGenerator(validationsTasksMetadata); - create(); + if(updateTR){ + store.clear(); + store.commitChanges(); + addChildrensToStore(); + + } else { + create(); + } + store.commitChanges(); + tree.expandAll(); + forceLayout(); + + } protected void create() { @@ -157,15 +167,9 @@ MonitorDialogListener { con.setScrollMode(ScrollMode.AUTO); store = new TreeStore(new KeyProvider()); - - FolderDto root = gen.getRoot(); - for (BaseDto base : root.getChildrens()) { - store.add(base); - if (base instanceof FolderDto) { - processFolder(store, (FolderDto) base); - } - } - + + addChildrensToStore(); + ColumnConfig cc1 = new ColumnConfig( new ToStringValueProvider("task"), 168, "Task"); cc1.setHeader("Task"); @@ -220,7 +224,8 @@ MonitorDialogListener { tree.getView().setAutoFill(true); tree.setBorders(false); tree.setLoadMask(true); - tree.setColumnResize(true); + tree.setColumnResize(true); + tree.setAutoExpand(true); tree.getView().setAutoExpandColumn(cc1); IconProvider iconProvider = new IconProvider() { @@ -295,13 +300,26 @@ MonitorDialogListener { }); toolBar.add(btnCollapseAll); - con.add(toolBar, new VerticalLayoutData(1, -1)); - con.add(tree, new VerticalLayoutData(1, -1)); + con.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0))); + con.add(tree, new VerticalLayoutData(1, -1, new Margins(0))); add(con, new MarginData(0)); - - forceLayout(); - + } + + + + private void addChildrensToStore() { + gen = new TreeDataGenerator(validationsTasksMetadata); + + FolderDto root = gen.getRoot(); + for (BaseDto base : root.getChildrens()) { + store.add(base); + if (base instanceof FolderDto) { + processFolder(store, (FolderDto) base); + } + } + + } protected void requestSolution(Context context) { @@ -507,13 +525,14 @@ MonitorDialogListener { } public void update() { + updateTR=true; retrieveCurrentTR(); } public void update(TRId trId) { this.trId = trId; - draw(); - + updateTR=true; + retrieveValidations(); } protected void retrieveCurrentTR() { @@ -534,8 +553,7 @@ MonitorDialogListener { public void onSuccess(TRId result) { Log.debug("retrieved " + result); trId = result; - init(); - draw(); + retrieveValidations(); }