[overlord-commits] Overlord SVN: r947 - in bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client: process and 1 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Tue Feb 2 06:57:16 EST 2010


Author: heiko.braun at jboss.com
Date: 2010-02-02 06:57:15 -0500 (Tue, 02 Feb 2010)
New Revision: 947

Modified:
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/AbstractRESTAction.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/LoadingOverlay.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/DefinitionListView.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AbstractTaskList.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksAction.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksParticipationAction.java
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/OpenTasksView.java
Log:
Fix taskk toolset initialization. Added LoadingOverlay to task related tools

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/AbstractRESTAction.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/AbstractRESTAction.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/AbstractRESTAction.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -23,6 +23,7 @@
 
 import com.google.gwt.http.client.*;
 import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.Widget;
 import com.mvc4g.client.ActionInterface;
 import com.mvc4g.client.Controller;
 import org.jboss.bpm.console.client.ApplicationContext;

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/LoadingOverlay.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/LoadingOverlay.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/common/LoadingOverlay.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -33,7 +33,7 @@
 
   public static void on(Widget parent, boolean loading)
   {
-    if(loading)
+    if(parent !=null && loading)
     {
       int left = parent.getAbsoluteLeft();
       int top = parent.getAbsoluteTop();
@@ -41,11 +41,14 @@
       int width = parent.getOffsetWidth();
       int height = parent.getOffsetHeight();
 
-      p = new InfoPanel();
-      p.setStylePrimaryName("bpm-loading-overy");
-      p.setWidget(new Image("images/loading_lite.gif"));     
-      p.setPopupPosition(left+(width/2)-15, top+(height/2)-15);
-      p.show();
+      if(width>100 & height>100) // workaround hidden panels
+      {
+        p = new InfoPanel();
+        p.setStylePrimaryName("bpm-loading-overy");
+        p.setWidget(new Image("images/loading_lite.gif"));
+        p.setPopupPosition(left+(width/2)-15, top+(height/2)-15);
+        p.show();
+      }
 
     }
     else

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/DefinitionListView.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/DefinitionListView.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/DefinitionListView.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -285,13 +285,14 @@
 
     model.clear();
 
+    // clear instance panel
+    controller.handleEvent(new Event(ClearInstancesAction.ID, null));
+    
     // clear details
     controller.handleEvent(
         new Event(UpdateProcessDetailAction.ID, null)
     );
 
-    // clear instance panel
-    controller.handleEvent(new Event(ClearInstancesAction.ID, null));
   }
 
   public void update(Object... data)

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AbstractTaskList.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AbstractTaskList.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AbstractTaskList.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -62,8 +62,6 @@
     this.controller = controller;
   }
 
-  public abstract void update(String identity, List<TaskRef> tasks);
-
   public TaskRef getSelection()
   {
     TaskRef selection = null;

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -25,6 +25,7 @@
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.gen2.table.event.client.RowSelectionEvent;
 import com.google.gwt.gen2.table.event.client.RowSelectionHandler;
+import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.Widget;
 import com.mvc4g.client.Controller;
@@ -36,10 +37,7 @@
 import org.gwt.mosaic.ui.client.list.DefaultListModel;
 import org.jboss.bpm.console.client.ApplicationContext;
 import org.jboss.bpm.console.client.ServerPlugins;
-import org.jboss.bpm.console.client.common.IFrameWindowCallback;
-import org.jboss.bpm.console.client.common.IFrameWindowPanel;
-import org.jboss.bpm.console.client.common.PagingCallback;
-import org.jboss.bpm.console.client.common.PagingPanel;
+import org.jboss.bpm.console.client.common.*;
 import org.jboss.bpm.console.client.model.TaskRef;
 import org.jboss.bpm.console.client.task.events.DetailViewEvent;
 import org.jboss.bpm.console.client.task.events.TaskIdentityEvent;
@@ -54,7 +52,7 @@
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 @LoadTool(name = "Personal Tasks", group = "Tasks", priority = 2, icon = "userIcon")
-public class AssignedTasksView extends AbstractTaskList implements WSComponent
+public class AssignedTasksView extends AbstractTaskList implements WSComponent, DataDriven
 {
 
   public final static String ID = AssignedTasksView.class.getName();
@@ -71,7 +69,7 @@
 
   private PagingPanel pagingPanel;
 
-  MosaicPanel panel;
+  private MosaicPanel panel;
 
   public AssignedTasksView()
   {
@@ -79,7 +77,6 @@
     appContext = Registry.get(ApplicationContext.class);
   }
 
-  @Override
   public Widget getWidget()
   {
     panel = new MosaicPanel(new BorderLayout());
@@ -98,6 +95,9 @@
   {
     if(!isInitialized)
     {
+      // workaround
+      OpenTasksView.registerCommonActions(controller);
+      
       taskList = new MosaicPanel( new BoxLayout(BoxLayout.Orientation.VERTICAL));
       taskList.setPadding(0);
       taskList.setWidgetSpacing(0);
@@ -272,28 +272,62 @@
           ServerPlugins.has("org.jboss.bpm.console.server.plugin.FormDispatcherPlugin");
       viewBtn.setEnabled(hasDispatcherPlugin);
 
+
+      Timer t = new Timer()
+      {
+        @Override
+        public void run()
+        {
+          // force loading
+          controller.handleEvent(
+              new Event(LoadTasksAction.ID, appContext.getAuthentication().getUsername())
+          );
+        }
+      };
+
+      t.schedule(50);
+      
       isInitialized = true;
     }
   }
 
-  public void update(String identity, List<TaskRef> tasks)
+  public void reset()
   {
-    this.identity = identity;
-    this.cachedTasks = tasks;
-    if(isInitialized())pagingPanel.reset();
+     final DefaultListModel<TaskRef> model =
+        (DefaultListModel<TaskRef>) listBox.getModel();
+
+    model.clear();
+
+     // clear details
+    controller.handleEvent(
+        new Event(UpdateDetailsAction.ID, new DetailViewEvent("AssignedDetailView", null))
+    );
+  }
+
+  public void update(Object... data)
+  {
+    this.identity = (String)data[0];
+    this.cachedTasks = (List<TaskRef>)data[1];
+    pagingPanel.reset();
     renderUpdate();
   }
 
+  public void setLoading(boolean isLoading)
+  {
+    if(panel.isVisible())
+      LoadingOverlay.on(taskList, isLoading);
+  }
+
   private void renderUpdate()
   {
     // lazy init
     initialize();
 
+    reset();
+
     final DefaultListModel<TaskRef> model =
         (DefaultListModel<TaskRef>) listBox.getModel();
 
-    model.clear();
-
     List<TaskRef> trimmed = pagingPanel.trim(cachedTasks);
     for(TaskRef task : trimmed)
     {
@@ -301,12 +335,6 @@
         model.add(task);
     }
 
-    // clear details
-    controller.handleEvent(
-        new Event(UpdateDetailsAction.ID, new DetailViewEvent("AssignedDetailView", null))
-    );
-
-
   }
 
 }

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksAction.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksAction.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksAction.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -26,6 +26,7 @@
 import com.mvc4g.client.Controller;
 import org.jboss.bpm.console.client.URLBuilder;
 import org.jboss.bpm.console.client.common.AbstractRESTAction;
+import org.jboss.bpm.console.client.common.DataDriven;
 import org.jboss.bpm.console.client.model.DTOParser;
 import org.jboss.bpm.console.client.model.TaskRef;
 import org.jboss.bpm.console.client.util.ConsoleLog;
@@ -59,6 +60,12 @@
     return RequestBuilder.GET;  
   }
 
+  @Override
+  protected DataDriven getDataDriven(Controller controller)
+  {
+    return (AssignedTasksView)controller.getView(AssignedTasksView.ID);
+  }
+
   public void handleSuccessfulResponse(
       final Controller controller, final Object event, Response response)
   {

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksParticipationAction.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksParticipationAction.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/LoadTasksParticipationAction.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -26,6 +26,7 @@
 import com.mvc4g.client.Controller;
 import org.jboss.bpm.console.client.URLBuilder;
 import org.jboss.bpm.console.client.common.AbstractRESTAction;
+import org.jboss.bpm.console.client.common.DataDriven;
 import org.jboss.bpm.console.client.model.DTOParser;
 import org.jboss.bpm.console.client.model.TaskRef;
 import org.jboss.bpm.console.client.util.ConsoleLog;
@@ -59,6 +60,12 @@
     return RequestBuilder.GET;
   }
 
+  @Override
+  protected DataDriven getDataDriven(Controller controller)
+  {
+    return (OpenTasksView)controller.getView(OpenTasksView.ID);
+  }
+
   public void handleSuccessfulResponse(
       final Controller controller, final Object event, Response response)
   {

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/OpenTasksView.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/OpenTasksView.java	2010-02-02 11:25:31 UTC (rev 946)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/OpenTasksView.java	2010-02-02 11:57:15 UTC (rev 947)
@@ -25,6 +25,7 @@
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.gen2.table.event.client.RowSelectionEvent;
 import com.google.gwt.gen2.table.event.client.RowSelectionHandler;
+import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.Widget;
 import com.mvc4g.client.Controller;
@@ -35,6 +36,8 @@
 import org.gwt.mosaic.ui.client.layout.*;
 import org.gwt.mosaic.ui.client.list.DefaultListModel;
 import org.jboss.bpm.console.client.ApplicationContext;
+import org.jboss.bpm.console.client.common.DataDriven;
+import org.jboss.bpm.console.client.common.LoadingOverlay;
 import org.jboss.bpm.console.client.common.PagingCallback;
 import org.jboss.bpm.console.client.common.PagingPanel;
 import org.jboss.bpm.console.client.model.TaskRef;
@@ -51,7 +54,7 @@
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 @LoadTool(name = "Group Tasks", group = "Tasks", priority = 1, icon = "taskIcon")
-public class OpenTasksView extends AbstractTaskList implements WSComponent
+public class OpenTasksView extends AbstractTaskList implements WSComponent, DataDriven
 {
 
   public final static String ID = OpenTasksView.class.getName();
@@ -68,7 +71,25 @@
 
   private Controller controller;
 
-  @Override
+  private static boolean actionSetup = false;
+
+  public static void registerCommonActions(Controller controller)
+  {
+    if(!actionSetup)
+    {
+      // create and register actions
+      controller.addAction(LoadTasksAction.ID, new LoadTasksAction());
+      controller.addAction(LoadTasksParticipationAction.ID, new LoadTasksParticipationAction());
+      controller.addAction(ClaimTaskAction.ID, new ClaimTaskAction());
+      controller.addAction(ReleaseTaskAction.ID, new ReleaseTaskAction());
+      controller.addAction(UpdateDetailsAction.ID, new UpdateDetailsAction());
+      controller.addAction(AssignTaskAction.ID, new AssignTaskAction());
+      controller.addAction(ReloadAllTaskListsAction.ID, new ReloadAllTaskListsAction());
+
+      actionSetup = true;
+    }
+  }
+
   public Widget getWidget()
   {
     panel = new MosaicPanel(new BorderLayout());
@@ -78,18 +99,10 @@
 
     initialize();
 
+    registerCommonActions(controller);
+
     // ----
 
-    // create and register actions
-    controller.addAction(LoadTasksAction.ID, new LoadTasksAction());
-    controller.addAction(LoadTasksParticipationAction.ID, new LoadTasksParticipationAction());
-    controller.addAction(ClaimTaskAction.ID, new ClaimTaskAction());
-    controller.addAction(ReleaseTaskAction.ID, new ReleaseTaskAction());
-    controller.addAction(UpdateDetailsAction.ID, new UpdateDetailsAction());
-    controller.addAction(AssignTaskAction.ID, new AssignTaskAction());
-    controller.addAction(ReloadAllTaskListsAction.ID, new ReloadAllTaskListsAction());
-
-
     /*TaskDetailView assignedDetailView = new TaskDetailView(false);
 controller.addView("AssignedDetailView", assignedDetailView);
 assignedDetailView.initialize();
@@ -238,39 +251,68 @@
       controller.addView("OpenDetailView", detailsView);
       detailsView.initialize();
 
+      Timer t = new Timer()
+      {
+        @Override
+        public void run()
+        {
+          // force loading
+          controller.handleEvent(
+              new Event(LoadTasksParticipationAction.ID, getAssignedIdentity())
+          );
+        }
+      };
+
+      t.schedule(50);
+
       isInitialized = true;
     }
   }
 
-  public void update(String identity, List<TaskRef> tasks)
+
+  public void reset()
   {
-    this.identity = identity;
-    this.cachedTasks = tasks;
+    final DefaultListModel<TaskRef> model =
+        (DefaultListModel<TaskRef>) listBox.getModel();
+
+    model.clear();
+
+    // clear details
+    controller.handleEvent(
+        new Event(UpdateDetailsAction.ID, new DetailViewEvent("OpenDetailView", null))
+    );
+  }
+
+  public void update(Object... data)
+  {
+    this.identity = (String)data[0];
+    this.cachedTasks = (List<TaskRef>)data[1];
     pagingPanel.reset();
     renderUpdate();
   }
 
+  public void setLoading(boolean isLoading)
+  {
+    if(panel.isVisible())
+      LoadingOverlay.on(taskList, isLoading);
+  }
+
   private void renderUpdate()
   {
     // lazy init
     initialize();
 
+    reset();
+
     final DefaultListModel<TaskRef> model =
         (DefaultListModel<TaskRef>) listBox.getModel();
 
-    model.clear();
-
     List<TaskRef> trimmed = pagingPanel.trim(cachedTasks);
     for(TaskRef task : trimmed)
     {
       if(TaskRef.STATE.OPEN ==task.getCurrentState())
         model.add(task);
     }
-
-    // details
-    controller.handleEvent(
-        new Event(UpdateDetailsAction.ID, new DetailViewEvent("OpenDetailView", null))
-    );
   }
 
 }



More information about the overlord-commits mailing list