[jbpm-commits] JBoss JBPM SVN: r2839 - in projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client: task and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Nov 10 06:12:24 EST 2008


Author: heiko.braun at jboss.com
Date: 2008-11-10 06:12:23 -0500 (Mon, 10 Nov 2008)
New Revision: 2839

Modified:
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
Log:
JBPM-1803: RemoteListView doesn't resize properly when the store is reloaded

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java	2008-11-10 10:50:48 UTC (rev 2838)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java	2008-11-10 11:12:23 UTC (rev 2839)
@@ -149,6 +149,8 @@
 
    protected void onRecordsLoaded(Record[] records)
    {
+      row2ProcessMap.clear();
+
       int i = 0;
       for(Record r : records)
       {

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java	2008-11-10 10:50:48 UTC (rev 2838)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java	2008-11-10 11:12:23 UTC (rev 2839)
@@ -21,16 +21,14 @@
  */
 package org.jboss.bpm.console.client.process;
 
+import com.allen_sauer.gwt.log.client.Log;
 import com.google.gwt.http.client.*;
 import com.gwtext.client.core.EventObject;
-import com.gwtext.client.core.Function;
 import com.gwtext.client.core.Position;
 import com.gwtext.client.data.Record;
 import com.gwtext.client.widgets.Button;
 import com.gwtext.client.widgets.PaddedPanel;
 import com.gwtext.client.widgets.Panel;
-import com.gwtext.client.widgets.layout.ColumnLayout;
-import com.gwtext.client.widgets.layout.ColumnLayoutData;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.form.DateField;
 import com.gwtext.client.widgets.form.FieldSet;
@@ -38,14 +36,15 @@
 import com.gwtext.client.widgets.form.TextField;
 import com.gwtext.client.widgets.grid.RowSelectionModel;
 import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
-import com.allen_sauer.gwt.log.client.Log;
-import org.jboss.bpm.console.client.MainView;
+import com.gwtext.client.widgets.layout.ColumnLayout;
+import com.gwtext.client.widgets.layout.ColumnLayoutData;
 import org.jboss.bpm.console.client.Editor;
+import org.jboss.bpm.console.client.MainView;
 import org.jboss.bpm.console.client.UIConstants;
 import org.jboss.bpm.console.client.model.ProcessDefinition;
 import org.jboss.bpm.console.client.model.ProcessInstance;
-import org.jboss.bpm.console.client.widgets.TeaserPanel;
 import org.jboss.bpm.console.client.widgets.HelpPanel;
+import org.jboss.bpm.console.client.widgets.TeaserPanel;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
@@ -174,18 +173,8 @@
            }
         }
       );
-      instanceList.getGrid().setSelectionModel(sm);
+      instanceList.setRowSelectionModel(sm);
 
-      //select the first row after a little delay so that the rows are rendered
-      instanceList.getGrid().doOnRender(
-        new Function()
-        {
-           public void execute() {
-              sm.selectFirstRow();
-           }
-        }, 10);
-
-
       outerFormPanel.add(formPanel);
 
       // ----------------------------------

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java	2008-11-10 10:50:48 UTC (rev 2838)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java	2008-11-10 11:12:23 UTC (rev 2839)
@@ -72,7 +72,7 @@
    protected void onExamine(final int row)
    {
       final TaskReference taskRef = row2taskref.get(row);
-      String url = view.getUrlBuilder().getTaskFormDefURL(taskRef.getProcessId(), taskRef.getId());
+      /*String url = view.getUrlBuilder().getTaskFormDefURL(taskRef.getProcessId(), taskRef.getId());
 
       MessageBox.show(new MessageBoxConfig() {
          {
@@ -145,7 +145,7 @@
                   displayForm(formPanel);
                }
             }
-      );
+      );      */
    }
 
    private void displayForm(FormPanel formPanel)

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java	2008-11-10 10:50:48 UTC (rev 2838)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java	2008-11-10 11:12:23 UTC (rev 2839)
@@ -29,6 +29,7 @@
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.grid.ColumnModel;
 import com.gwtext.client.widgets.grid.GridPanel;
+import com.gwtext.client.widgets.grid.RowSelectionModel;
 import com.gwtext.client.widgets.grid.event.GridCellListener;
 import com.allen_sauer.gwt.log.client.Log;
 import org.jboss.bpm.console.client.MainView;
@@ -52,20 +53,23 @@
    private GridPanel grid;
    protected String title;
 
-   private Store store;
-   private PagingToolbar pagingToolbar;
+   private Store store;   
 
-   private boolean storeInit = false;
-
    private ToolbarButton addButton;
    private ToolbarButton deleteButton;
 
+   boolean addBtnEnabled = true;
+   boolean deleteBtnEnabled = true;
+
+   private RowSelectionModel rowSelectionModel;
+
    public RemoteListView(String titleName, MainView view, String resourceUrl)
    {
       super();
 
       this.title = titleName;
       this.view = view;
+      this.setId( getId() + "("+titleName+")");
 
       // ----------------------------------------
 
@@ -76,31 +80,12 @@
 
       // ----------------------------------------
 
-      grid = createGridPanel(titleName);
-
-      // ----------------------------------------
-
       final JsonReader reader = createReader();
-
-      // ----------------------------------------
-
-      final ColumnModel columnModel = createColumnModel();
-      grid.setColumnModel(columnModel);
-      grid.setAutoExpandColumn("expand");
-      //grid.setAutoExpandMin(300);
-
-      // ----------------------------------------
-
       DataProxy dataProxy = new ScriptTagProxy(resourceUrl, 1000*10);
 
-      store = new Store(dataProxy, reader, false); // boolean==remoteSort, add's GET parameters      
-      store.addStoreListener( new ListViewStoreListener(this, grid) );
-      grid.setStore(store);
+      store = new Store(dataProxy, reader, false); // boolean==remoteSort, add's GET parameters
+      store.addStoreListener( new ListViewStoreListener(this) );
 
-      // ------------------------------------------
-      pagingToolbar = createToolbar(store);
-      grid.setBottomToolbar(pagingToolbar);
-
       // PanelListener will lazy load store data.
       // Store.onLoad() callback will populate the grid
       // and add it to the container panel.      
@@ -108,7 +93,6 @@
       {
          public boolean doBeforeRender(Component component)
          {
-            Log.debug("Reload store trigger");
             reloadStore();
             return true;
          }
@@ -119,18 +103,12 @@
 
    protected void enableAddBtn(boolean isEnabled)
    {
-      if(isEnabled)
-         this.addButton.enable();
-      else
-         this.addButton.disable();
+      this.addBtnEnabled = isEnabled;
    }
 
    protected void enableDeleteBtn(boolean isEnabled)
    {
-      if(isEnabled)
-         this.deleteButton.enable();
-      else
-         this.deleteButton.disable();
+      this.deleteBtnEnabled = isEnabled;
    }
 
    private GridPanel createGridPanel(String titleName)
@@ -173,34 +151,39 @@
       examineButton.setTooltip("Examine");
       pagingToolbar.addButton(examineButton);
 
-
-      addButton = new ToolbarButton("Add", new ButtonListenerAdapter()
+      if(addBtnEnabled)
       {
-         public void onClick(Button button, EventObject e)
+         addButton = new ToolbarButton("Add", new ButtonListenerAdapter()
          {
-            onAdd();
-         }
-      });
-      //addButton.setIcon("images/icons/add.png");
-      addButton.setTooltip("Add");
-      pagingToolbar.addButton( addButton );
+            public void onClick(Button button, EventObject e)
+            {
+               onAdd();
+            }
+         });
+         //addButton.setIcon("images/icons/add.png");
+         addButton.setTooltip("Add");
+         pagingToolbar.addButton( addButton );
+      }
 
-      deleteButton = new ToolbarButton("Remove", new ButtonListenerAdapter()
+      if(deleteBtnEnabled)
       {
-         public void onClick(Button button, EventObject e)
+         deleteButton = new ToolbarButton("Remove", new ButtonListenerAdapter()
          {
-            if (-1 == selectedRowIndex)
+            public void onClick(Button button, EventObject e)
             {
-               MessageBox.alert("Please select a process.");
-            } else
-            {
-               onDelete(selectedRowIndex);
+               if (-1 == selectedRowIndex)
+               {
+                  MessageBox.alert("Please select a process.");
+               } else
+               {
+                  onDelete(selectedRowIndex);
+               }
             }
-         }
-      });
-      //deleteButton.setIcon("images/icons/remove.png");
-      deleteButton.setTooltip("Remove");
-      pagingToolbar.addButton(deleteButton);
+         });
+         //deleteButton.setIcon("images/icons/remove.png");
+         deleteButton.setTooltip("Remove");
+         pagingToolbar.addButton(deleteButton);
+      }
 
       return pagingToolbar;
    }
@@ -220,13 +203,11 @@
    private class ListViewStoreListener extends StoreListenerAdapter
    {
 
-      Panel containerPanel;
-      GridPanel grid;
+      Panel containerPanel;      
 
-      public ListViewStoreListener(Panel containerPanel, GridPanel grid)
+      public ListViewStoreListener(Panel containerPanel)
       {
          this.containerPanel = containerPanel;
-         this.grid = grid;
       }
 
       /**
@@ -235,24 +216,43 @@
        */
       public void onLoad(Store store, Record[] records)
       {
+
          onRecordsLoaded(records);
 
-         if(!storeInit)
-         {
-            containerPanel.clear();
-            containerPanel.add(grid);
-            storeInit = true;
-         }
+         grid = assembleGrid();
+
+         containerPanel.clear();
+         containerPanel.add(grid);
          containerPanel.doLayout();
       }
 
       public void onLoadException(Throwable throwable)
       {
-         Log.error("Failed to load remote data", throwable);         
+         Log.error("Failed to load remote data", throwable);
       }
 
-   };
+   }
 
+   private GridPanel assembleGrid()
+   {
+      GridPanel grid = createGridPanel(title);
+
+      final ColumnModel columnModel = createColumnModel();
+      grid.setColumnModel(columnModel);
+      grid.setAutoExpandColumn("expand");
+
+      grid.setStore(store);
+      
+      PagingToolbar pagingToolbar = createToolbar(store);
+      grid.setBottomToolbar(pagingToolbar);
+
+      if(rowSelectionModel!=null)
+         grid.setSelectionModel(rowSelectionModel);
+      
+      return grid;
+
+   }
+
    private class ListViewCellListener implements GridCellListener
    {
       public void onCellClick(GridPanel grid, int rowIndex, int colindex, EventObject e)
@@ -278,6 +278,12 @@
 
    public void reloadStore()
    {
+      Log.debug("Reload " + this.getId());
       store.load(0,PAGE_SIZE);
    }
+
+   public void setRowSelectionModel(RowSelectionModel rowSelectionModel)
+   {
+      this.rowSelectionModel = rowSelectionModel;
+   }
 }




More information about the jbpm-commits mailing list