renamed view/effector.js to effector-invoke

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

Branch: refs/heads/0.5.0
Commit: 73881a0e95bae8447ebaa52652351cd36a6a96f5
Parents: bb4a303
Author: Alex Heneveld <[email protected]>
Authored: Mon Nov 19 11:37:54 2012 +0000
Committer: Alex Heneveld <[email protected]>
Committed: Tue Nov 27 15:46:47 2012 -0800

----------------------------------------------------------------------
 .../webapp/assets/js/view/effector-invoke.js    | 88 ++++++++++++++++++++
 .../src/main/webapp/assets/js/view/effector.js  | 88 --------------------
 .../webapp/assets/js/view/entity-effectors.js   |  6 +-
 .../specs/view/effector-invoke-spec.js          | 51 ++++++++++++
 .../test/javascript/specs/view/effector-spec.js | 51 ------------
 5 files changed, 142 insertions(+), 142 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/73881a0e/usage/jsgui/src/main/webapp/assets/js/view/effector-invoke.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/effector-invoke.js 
b/usage/jsgui/src/main/webapp/assets/js/view/effector-invoke.js
new file mode 100644
index 0000000..211e703
--- /dev/null
+++ b/usage/jsgui/src/main/webapp/assets/js/view/effector-invoke.js
@@ -0,0 +1,88 @@
+/**
+ * Render an entity effector as a modal.
+ */
+define([
+    "underscore", "jquery", "backbone", "text!tpl/apps/effector-modal.html", 
"text!tpl/apps/param.html",
+    "text!tpl/apps/param-list.html"
+], function (_, $, Backbone, EffectorModalHtml, ParamHtml, ParamListHtml) {
+
+    var EffectorInvokeView = Backbone.View.extend({
+        template:_.template(EffectorModalHtml),
+        effectorParam:_.template(ParamHtml),
+        effectorParamList:_.template(ParamListHtml),
+        events:{
+            "click .invoke-effector":"invokeEffector",
+            "shown":"unfade"
+        },
+        render:function () {
+            var that = this, params = this.model.get("parameters")
+            this.$el.html(this.template({
+                name:this.model.get("name"),
+                entityName:this.options.entity.get("name"),
+                
description:this.model.get("description")?this.model.get("description"):""
+            }))
+            // do we have parameters to render?
+            if (params.length !== 0) {
+                this.$(".modal-body").html(this.effectorParamList({}))
+                // select the body of the table we just rendered and append 
params
+                var $tbody = this.$("tbody")
+                _(params).each(function (param) {
+                    $tbody.append(that.effectorParam({
+                        name:param.name,
+                        type:param.type,
+                        description:param.description?param.description:""
+                    }))
+                })
+            }
+            this.$(".modal-body").find('*[rel="tooltip"]').tooltip()
+            return this
+        },
+        unfade: function() {
+            this.$el.fadeTo(500,1);
+        },
+        extractParamsFromTable:function () {
+            var parameters = {}
+            // iterate over the rows
+            this.$(".effector-param").each(function (index) {
+                var key = $(this).find(".param-name").text(),
+                    value = $(this).find(".param-value").val()
+                // we need to create an object out of the input so it will 
send as the server expects: java Map
+                parameters[key] = $.parseJSON(value)
+            })
+            return parameters
+        },
+        invokeEffector:function () {
+            var that = this
+            var url = this.model.getLinkByName("self")
+            var parameters = this.extractParamsFromTable()
+            this.$el.fadeTo(500,0.5);
+            $.ajax({
+                type:"POST",
+                url:url+"?timeout=0",
+                data:JSON.stringify(parameters),
+                contentType:"application/json",
+                success:function (data) {
+                    that.$el.modal("hide")
+                    that.$el.fadeTo(500,1);
+                    // data.id contains the task, if we wanted to switch to 
showing it
+                    // NB we now timeout immediately, so always run in 
background
+                    // ideally we might have a timeout of 300ms
+                    // switch to task if it is still running
+                    // otherwise show the answer
+                    // ... or simpler, just switch to task, so response can be 
shown
+                },
+                error: function(data) {
+                    
that.$el.fadeTo(100,1).delay(200).fadeTo(200,0.2).delay(200).fadeTo(200,1);
+                    // TODO render the error better than poor-man's flashing
+                    // (would just be connection error -- with timeout=0 we 
get a task even for invalid input)
+                    
+                    // console.log might throw error but that's okay...
+                    console.log("ERROR invoking effector")
+                    console.log(data)
+                }})
+            // un-delegate events
+            this.undelegateEvents()
+        }
+    })
+    return EffectorInvokeView
+})
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/73881a0e/usage/jsgui/src/main/webapp/assets/js/view/effector.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/effector.js 
b/usage/jsgui/src/main/webapp/assets/js/view/effector.js
deleted file mode 100644
index e19ffca..0000000
--- a/usage/jsgui/src/main/webapp/assets/js/view/effector.js
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Render an entity effector as a modal.
- */
-define([
-    "underscore", "jquery", "backbone", "text!tpl/apps/effector-modal.html", 
"text!tpl/apps/param.html",
-    "text!tpl/apps/param-list.html"
-], function (_, $, Backbone, EffectorModalHtml, ParamHtml, ParamListHtml) {
-
-    var EffectorView = Backbone.View.extend({
-        template:_.template(EffectorModalHtml),
-        effectorParam:_.template(ParamHtml),
-        effectorParamList:_.template(ParamListHtml),
-        events:{
-            "click .invoke-effector":"invokeEffector",
-            "shown":"unfade"
-        },
-        render:function () {
-            var that = this, params = this.model.get("parameters")
-            this.$el.html(this.template({
-                name:this.model.get("name"),
-                entityName:this.options.entity.get("name"),
-                
description:this.model.get("description")?this.model.get("description"):""
-            }))
-            // do we have parameters to render?
-            if (params.length !== 0) {
-                this.$(".modal-body").html(this.effectorParamList({}))
-                // select the body of the table we just rendered and append 
params
-                var $tbody = this.$("tbody")
-                _(params).each(function (param) {
-                    $tbody.append(that.effectorParam({
-                        name:param.name,
-                        type:param.type,
-                        description:param.description?param.description:""
-                    }))
-                })
-            }
-            this.$(".modal-body").find('*[rel="tooltip"]').tooltip()
-            return this
-        },
-        unfade: function() {
-            this.$el.fadeTo(500,1);
-        },
-        extractParamsFromTable:function () {
-            var parameters = {}
-            // iterate over the rows
-            this.$(".effector-param").each(function (index) {
-                var key = $(this).find(".param-name").text(),
-                    value = $(this).find(".param-value").val()
-                // we need to create an object out of the input so it will 
send as the server expects: java Map
-                parameters[key] = $.parseJSON(value)
-            })
-            return parameters
-        },
-        invokeEffector:function () {
-            var that = this
-            var url = this.model.getLinkByName("self")
-            var parameters = this.extractParamsFromTable()
-            this.$el.fadeTo(500,0.5);
-            $.ajax({
-                type:"POST",
-                url:url+"?timeout=0",
-                data:JSON.stringify(parameters),
-                contentType:"application/json",
-                success:function (data) {
-                    that.$el.modal("hide")
-                    that.$el.fadeTo(500,1);
-                    // data.id contains the task, if we wanted to switch to 
showing it
-                    // NB we now timeout immediately, so always run in 
background
-                    // ideally we might have a timeout of 300ms
-                    // switch to task if it is still running
-                    // otherwise show the answer
-                    // ... or simpler, just switch to task, so response can be 
shown
-                },
-                error: function(data) {
-                    
that.$el.fadeTo(100,1).delay(200).fadeTo(200,0.2).delay(200).fadeTo(200,1);
-                    // TODO render the error better than poor-man's flashing
-                    // (would just be connection error -- with timeout=0 we 
get a task even for invalid input)
-                    
-                    // console.log might throw error but that's okay...
-                    console.log("ERROR invoking effector")
-                    console.log(data)
-                }})
-            // un-delegate events
-            this.undelegateEvents()
-        }
-    })
-    return EffectorView
-})
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/73881a0e/usage/jsgui/src/main/webapp/assets/js/view/entity-effectors.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/entity-effectors.js 
b/usage/jsgui/src/main/webapp/assets/js/view/entity-effectors.js
index dcca91d..a86dc71 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/entity-effectors.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/entity-effectors.js
@@ -6,8 +6,8 @@
  */
 define([
     "underscore", "jquery", "backbone", "model/effector-summary",
-    "view/effector", "text!tpl/apps/effector.html", 
"text!tpl/apps/effector-row.html", "bootstrap"
-], function (_, $, Backbone, EffectorSummary, EffectorView, EffectorHtml, 
EffectorRowHtml) {
+    "view/effector-invoke", "text!tpl/apps/effector.html", 
"text!tpl/apps/effector-row.html", "bootstrap"
+], function (_, $, Backbone, EffectorSummary, EffectorInvokeView, 
EffectorHtml, EffectorRowHtml) {
 
     var EntityEffectorsView = Backbone.View.extend({
         template:_.template(EffectorHtml),
@@ -45,7 +45,7 @@ define([
         showEffectorModal:function (eventName) {
             // get the model that we need to show, create its view and show it
             var cid = $(eventName.currentTarget).attr("id")
-            this._modal = new EffectorView({
+            this._modal = new EffectorInvokeView({
                 el:"#effector-modal",
                 model:this._effectors.getByCid(cid),
                 entity:this.model

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/73881a0e/usage/jsgui/src/test/javascript/specs/view/effector-invoke-spec.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/javascript/specs/view/effector-invoke-spec.js 
b/usage/jsgui/src/test/javascript/specs/view/effector-invoke-spec.js
new file mode 100644
index 0000000..f434bf9
--- /dev/null
+++ b/usage/jsgui/src/test/javascript/specs/view/effector-invoke-spec.js
@@ -0,0 +1,51 @@
+define([
+    "underscore", "view/effector-invoke", "model/effector-summary", 
"model/entity"
+], function (_, EffectorInvokeView, EffectorSummary, Entity) {
+
+    var modalView, collection = new EffectorSummary.Collection()
+    collection.url = "fixtures/effector-summary-list.json"
+    collection.fetch()
+    
+    var entityFixture = new Entity.Collection
+    entityFixture.url = 'fixtures/entity.json'
+    entityFixture.fetch({async:true})
+
+    modalView = new EffectorInvokeView({
+        tagName:"div",
+        className:"modal",
+        model:collection.at(0),
+        entity:entityFixture.at(0)
+    })
+
+    describe("view/effector-invoke", function () {
+        // render and keep the reference to the view
+        modalView.render()
+        it("must render a bootstrap modal", function () {
+            expect(modalView.$(".modal-header").length).toBe(1)
+            expect(modalView.$(".modal-body").length).toBe(1)
+            expect(modalView.$(".modal-footer").length).toBe(1)
+        })
+
+        it("must have effector name, entity name, and effector description in 
header", function () {
+            expect(modalView.$(".modal-header h3").html()).toContain("start")
+            expect(modalView.$(".modal-header h3").html()).toContain("Vanilla")
+            expect(modalView.$(".modal-header p").html()).toBe("Start the 
process/service represented by an entity")
+        })
+
+        it("must have the list of parameters in body", function () {
+            expect(modalView.$(".modal-body table").length).toBe(1)
+            expect(modalView.$(".modal-body tr").length).toBe(2) // one tr 
from the head
+            expect(modalView.$(".modal-body 
.param-name").html()).toBe("locations")
+        })
+        it("must have two buttons in the footer", function () {
+            expect(modalView.$(".modal-footer button").length).toBe(2)
+            expect(modalView.$(".modal-footer 
button.invoke-effector").length).toBe(1)
+        })
+
+        it("must properly extract parameters from table", function () {
+            var params = modalView.extractParamsFromTable()
+            expect(params["locations"]).toBe(null)
+            expect(params).toEqual({"locations":null})
+        })
+    })
+})
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/73881a0e/usage/jsgui/src/test/javascript/specs/view/effector-spec.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/javascript/specs/view/effector-spec.js 
b/usage/jsgui/src/test/javascript/specs/view/effector-spec.js
deleted file mode 100644
index 5e3c636..0000000
--- a/usage/jsgui/src/test/javascript/specs/view/effector-spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-define([
-    "underscore", "view/effector", "model/effector-summary", "model/entity"
-], function (_, EffectorView, EffectorSummary, Entity) {
-
-    var modalView, collection = new EffectorSummary.Collection()
-    collection.url = "fixtures/effector-summary-list.json"
-    collection.fetch()
-    
-    var entityFixture = new Entity.Collection
-    entityFixture.url = 'fixtures/entity.json'
-    entityFixture.fetch({async:true})
-
-    modalView = new EffectorView({
-        tagName:"div",
-        className:"modal",
-        model:collection.at(0),
-        entity:entityFixture.at(0)
-    })
-
-    describe("view/effector", function () {
-        // render and keep the reference to the view
-        modalView.render()
-        it("must render a bootstrap modal", function () {
-            expect(modalView.$(".modal-header").length).toBe(1)
-            expect(modalView.$(".modal-body").length).toBe(1)
-            expect(modalView.$(".modal-footer").length).toBe(1)
-        })
-
-        it("must have effector name, entity name, and effector description in 
header", function () {
-            expect(modalView.$(".modal-header h3").html()).toContain("start")
-            expect(modalView.$(".modal-header h3").html()).toContain("Vanilla")
-            expect(modalView.$(".modal-header p").html()).toBe("Start the 
process/service represented by an entity")
-        })
-
-        it("must have the list of parameters in body", function () {
-            expect(modalView.$(".modal-body table").length).toBe(1)
-            expect(modalView.$(".modal-body tr").length).toBe(2) // one tr 
from the head
-            expect(modalView.$(".modal-body 
.param-name").html()).toBe("locations")
-        })
-        it("must have two buttons in the footer", function () {
-            expect(modalView.$(".modal-footer button").length).toBe(2)
-            expect(modalView.$(".modal-footer 
button.invoke-effector").length).toBe(1)
-        })
-
-        it("must properly extract parameters from table", function () {
-            var params = modalView.extractParamsFromTable()
-            expect(params["locations"]).toBe(null)
-            expect(params).toEqual({"locations":null})
-        })
-    })
-})
\ No newline at end of file

Reply via email to