You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:52:04 UTC

[45/50] brooklyn-ui git commit: web console activity view preserves selection on update, offers reload button

web console activity view preserves selection on update, offers reload button


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/commit/5550d5a9
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/tree/5550d5a9
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/diff/5550d5a9

Branch: refs/heads/0.4.0
Commit: 5550d5a93ea98ab04bb796f2dbedd841535ecc9a
Parents: 573fa75
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Sep 11 20:36:40 2012 -0700
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Sep 11 20:36:40 2012 -0700

----------------------------------------------------------------------
 .../views/detail/detail-tabs/_activity.gsp      |  3 ++
 .../views/detail/detail-tabs/_activity.haml     |  2 +
 .../web-app/css/console/brooklyn-console.css    |  7 +++
 .../console/detail-tab/detail-tabs/activity.js  | 51 ++++++++++++++------
 4 files changed, 47 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/5550d5a9/usage/web-console/grails-app/views/detail/detail-tabs/_activity.gsp
----------------------------------------------------------------------
diff --git a/usage/web-console/grails-app/views/detail/detail-tabs/_activity.gsp b/usage/web-console/grails-app/views/detail/detail-tabs/_activity.gsp
index 25fc65c..adc6500 100644
--- a/usage/web-console/grails-app/views/detail/detail-tabs/_activity.gsp
+++ b/usage/web-console/grails-app/views/detail/detail-tabs/_activity.gsp
@@ -12,4 +12,7 @@
       </fieldset>
     </div>
   </div>
+</div>
+<div class='activity-bottom-buttons'>
+  <a href='javascript:Brooklyn.activity.updateTasks();'>RELOAD</a>
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/5550d5a9/usage/web-console/grails-app/views/detail/detail-tabs/_activity.haml
----------------------------------------------------------------------
diff --git a/usage/web-console/grails-app/views/detail/detail-tabs/_activity.haml b/usage/web-console/grails-app/views/detail/detail-tabs/_activity.haml
index d6a3594..fe68620 100644
--- a/usage/web-console/grails-app/views/detail/detail-tabs/_activity.haml
+++ b/usage/web-console/grails-app/views/detail/detail-tabs/_activity.haml
@@ -7,3 +7,5 @@
                 %legend Activity Status
                 //just put a large text box in here
                 %textarea{:id=>"logbox",:readonly=>"true",:wrap=>"hard"}
+.activity-bottom-buttons
+    %a{:href=>"javascript:Brooklyn.activity.updateTasks();"}RELOAD

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/5550d5a9/usage/web-console/web-app/css/console/brooklyn-console.css
----------------------------------------------------------------------
diff --git a/usage/web-console/web-app/css/console/brooklyn-console.css b/usage/web-console/web-app/css/console/brooklyn-console.css
index a5c4e0b..9d49aa1 100644
--- a/usage/web-console/web-app/css/console/brooklyn-console.css
+++ b/usage/web-console/web-app/css/console/brooklyn-console.css
@@ -335,6 +335,13 @@ textarea#logbox{
     max-height: 200px;
     overflow-y: auto;
 }
+.activity-bottom-buttons {
+    float:right;
+}
+.activity-bottom-buttons a {
+    margin-left: 8px;
+    text-decoration: none;
+}
 
 .sensor-table {
     min-height: 400px;

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/5550d5a9/usage/web-console/web-app/js/console/detail-tab/detail-tabs/activity.js
----------------------------------------------------------------------
diff --git a/usage/web-console/web-app/js/console/detail-tab/detail-tabs/activity.js b/usage/web-console/web-app/js/console/detail-tab/detail-tabs/activity.js
index 6e9c780..1a9d3e1 100644
--- a/usage/web-console/web-app/js/console/detail-tab/detail-tabs/activity.js
+++ b/usage/web-console/web-app/js/console/detail-tab/detail-tabs/activity.js
@@ -1,7 +1,10 @@
 Brooklyn.activity = (function(){
+	var parent;
+	
     function ActivityTab() {
         this.id = 'activity';
 
+        parent = this;
         this.updateTable = function(json){
             var aoColumns = [ { "mDataProp": "displayName", "sTitle": "Name", "sWidth":"16%" },
                               { "mDataProp": "description", "sTitle": "Description", "sWidth":"17%" },
@@ -11,38 +14,53 @@ Brooklyn.activity = (function(){
                               { "mDataProp": "currentStatus", "sTitle": "Status", "sWidth":"15%" }];
 
             Brooklyn.util.getDataTable('#activity-data', ".", aoColumns, updateLog, json, undefined);
+            selectTask(selectedTaskId);
             $(Brooklyn.eventBus).trigger('update_ok');
         }
 
-        this.update = function() {
-            if (typeof this.entity_id !== 'undefined') {
-                $.getJSON("../entity/activity?id=" + this.entity_id, this.updateTable).error(
-                    function() {$(Brooklyn.eventBus).trigger('update_failed', "Could not get activity data.");}
-                );
-                clearLog();
-            }
-        }
+        this.update = function() { updateTasks(); }
 
         this.makeHandlers();
     }
 
+    function updateTasks() {
+        if (typeof parent.entity_id !== 'undefined') {
+            $.getJSON("../entity/activity?id=" + parent.entity_id, parent.updateTable).error(
+                function() {$(Brooklyn.eventBus).trigger('update_failed', "Could not get activity data.");}
+            );
+        }    	
+    }
+
+    var selectedTaskId;
+    
     ActivityTab.prototype = new Brooklyn.tabs.Tab();
 
     function updateLog(event){
+        selectTask(Brooklyn.util.getDataTableSelectedRowData('#activity-data', event).id);
+    }
+    
+    function selectTask(newSelectedTaskId) {
+    	selectedTaskId = newSelectedTaskId;
+    	
         var settings = Brooklyn.util.getDataTable('#activity-data').fnSettings().aoData;
+        var selectedTaskData;
         for(row in settings) {
             var currentRow = $(settings[row].nTr)
-            if(currentRow.hasClass('row_selected')){
+            var currentData = settings[row]._aData;
+            if (currentData.id == selectedTaskId) {
+            	currentRow.addClass('row_selected');
+            	selectedTaskData = currentData;
+            } else if(currentRow.hasClass('row_selected')){
                 currentRow.removeClass('row_selected');
+                clearLog();
                 break;
             }
         }
-
-        $(event.target.parentNode).addClass('row_selected');
-
-        var result = Brooklyn.util.getDataTableSelectedRowData('#activity-data', event);
-        var logBox=document.getElementById("logbox");
-        logBox.value=result.detailedStatus;
+    	
+        if (selectedTaskData) {
+            var logBox=document.getElementById("logbox");        	
+            logBox.value = selectedTaskData.detailedStatus;
+        }
     }
 
     function clearLog(){
@@ -61,7 +79,8 @@ Brooklyn.activity = (function(){
     }
 
     return {
-        init: init
+        init: init,
+        updateTasks: updateTasks
     };
 
 })();