added brooklyn-utils for javascript (mainly for log capabilities in supported browsers); and tweaked groovy script page so output textareas grow if text is bigger (up to a max after which they scroll)
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/commit/45e28c57 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/tree/45e28c57 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/diff/45e28c57 Branch: refs/heads/0.5.0 Commit: 45e28c57c9abdad9befa60b55a8b156868c80706 Parents: c299b33 Author: Alex Heneveld <[email protected]> Authored: Thu Nov 29 10:11:47 2012 -0800 Committer: Alex Heneveld <[email protected]> Committed: Thu Nov 29 10:11:47 2012 -0800 ---------------------------------------------------------------------- usage/jsgui/src/main/webapp/assets/js/config.js | 1 + .../webapp/assets/js/libs/brooklyn-utils.js | 19 +++++++ usage/jsgui/src/main/webapp/assets/js/router.js | 1 - .../src/main/webapp/assets/js/view/apidoc.js | 19 +++---- .../assets/js/view/application-add-wizard.js | 10 ++-- .../webapp/assets/js/view/effector-invoke.js | 9 ++- .../main/webapp/assets/js/view/script-groovy.js | 60 ++++++++++---------- usage/jsgui/src/test/javascript/config.txt | 1 + 8 files changed, 66 insertions(+), 54 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/usage/jsgui/src/main/webapp/assets/js/config.js ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/main/webapp/assets/js/config.js b/usage/jsgui/src/main/webapp/assets/js/config.js index df4509a..e9fe7bc 100644 --- a/usage/jsgui/src/main/webapp/assets/js/config.js +++ b/usage/jsgui/src/main/webapp/assets/js/config.js @@ -17,6 +17,7 @@ require.config({ "jquery-wiggle":"libs/jquery.wiggle.min", "jquery-ba-bbq":"libs/jquery.ba-bbq.min", "handlebars":"libs/handlebars-1.0.rc.1", + "brooklyn-utils":"libs/brooklyn-utils", "googlemaps":"view/googlemaps", "text":"libs/text", http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/usage/jsgui/src/main/webapp/assets/js/libs/brooklyn-utils.js ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/main/webapp/assets/js/libs/brooklyn-utils.js b/usage/jsgui/src/main/webapp/assets/js/libs/brooklyn-utils.js new file mode 100644 index 0000000..4cc917c --- /dev/null +++ b/usage/jsgui/src/main/webapp/assets/js/libs/brooklyn-utils.js @@ -0,0 +1,19 @@ +function count_occurrences(string, subString, allowOverlapping) { + string+=""; subString+=""; + if(subString.length<=0) return string.length+1; + + var n=0, pos=0; + var step=(allowOverlapping)?(1):(subString.length); + + while(true){ + pos=string.indexOf(subString,pos); + if(pos>=0){ n++; pos+=step; } else break; + } + return(n); +} + +function log(obj) { + if (typeof window.console != 'undefined') { + console.log(obj); + } +} http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/usage/jsgui/src/main/webapp/assets/js/router.js ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/main/webapp/assets/js/router.js b/usage/jsgui/src/main/webapp/assets/js/router.js index a557fa8..851f483 100644 --- a/usage/jsgui/src/main/webapp/assets/js/router.js +++ b/usage/jsgui/src/main/webapp/assets/js/router.js @@ -101,7 +101,6 @@ define([ $(".nav1_apidoc").addClass("active") }, scriptGroovyPage:function () { - console.log(this.scriptGroovyResource) if (this.scriptGroovyResource === undefined) this.scriptGroovyResource = new ScriptGroovyView({}) this.showView("#application-content", this.scriptGroovyResource) http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js b/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js index b6b3fe5..daec3f9 100644 --- a/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js +++ b/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js @@ -6,7 +6,8 @@ define([ "jquery-wiggle", "jquery-ba-bbq", "handlebars", - "bootstrap" + "bootstrap", + "brooklyn-utils" ], function (_, $, Backbone, SwaggerHtml) { var ApidocView = Backbone.View.extend({ @@ -35,17 +36,13 @@ define([ supportHeaderParams: false, supportedSubmitMethods: ['get', 'post', 'put'], onComplete: function(swaggerApi, swaggerUi){ - if(console) { - console.log("Loaded SwaggerUI") - console.log(swaggerApi); - console.log(swaggerUi); - } + log("Loaded SwaggerUI") + log(swaggerApi); + log(swaggerUi); }, onFailure: function(data) { - if(console) { - console.log("Unable to Load SwaggerUI"); - console.log(data); - } + log("Unable to Load SwaggerUI"); + log(data); }, docExpansion: "none" }); @@ -58,4 +55,4 @@ define([ }) return ApidocView -}) \ No newline at end of file +}) http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js b/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js index 1a7f141..c4e53b8 100644 --- a/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js +++ b/usage/jsgui/src/main/webapp/assets/js/view/application-add-wizard.js @@ -16,7 +16,7 @@ define([ "text!tpl/app-add-wizard/preview.html", - "bootstrap" + "bootstrap", "brooklyn-utils" ], function (_, $, Backbone, Entity, Application, FormatJSON, Location, ModalHtml, CreateHtml, @@ -202,8 +202,6 @@ define([ $(".template-lozenge").show() } else { _.each($(".template-lozenge"), function(it) { - console.log($(it)) - console.log($(it).text()) var viz = $(it).text().toLowerCase().indexOf(filter)>=0 if (viz) $(it).show() @@ -342,8 +340,8 @@ define([ return true } } else { - console.log("NOT IMPLEMENTED YET") - // other tabs not implemented yet + log("NOT IMPLEMENTED YET") + // TODO - other tabs not implemented yet // do nothing, show error return false below } this.$('div.app-add-wizard-create-info-message').show('slow').delay(2000).hide('slow') @@ -507,4 +505,4 @@ define([ }) return ModalWizard -}) \ No newline at end of file +}) http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/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 index 211e703..4053d87 100644 --- a/usage/jsgui/src/main/webapp/assets/js/view/effector-invoke.js +++ b/usage/jsgui/src/main/webapp/assets/js/view/effector-invoke.js @@ -3,7 +3,7 @@ */ define([ "underscore", "jquery", "backbone", "text!tpl/apps/effector-modal.html", "text!tpl/apps/param.html", - "text!tpl/apps/param-list.html" + "text!tpl/apps/param-list.html", "brooklyn-utils" ], function (_, $, Backbone, EffectorModalHtml, ParamHtml, ParamListHtml) { var EffectorInvokeView = Backbone.View.extend({ @@ -76,13 +76,12 @@ define([ // 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) + log("ERROR invoking effector") + 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/45e28c57/usage/jsgui/src/main/webapp/assets/js/view/script-groovy.js ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/main/webapp/assets/js/view/script-groovy.js b/usage/jsgui/src/main/webapp/assets/js/view/script-groovy.js index b0a1e12..0e457de 100644 --- a/usage/jsgui/src/main/webapp/assets/js/view/script-groovy.js +++ b/usage/jsgui/src/main/webapp/assets/js/view/script-groovy.js @@ -6,7 +6,8 @@ define([ "jquery-wiggle", "jquery-ba-bbq", "handlebars", - "bootstrap" + "bootstrap", + "brooklyn-utils" ], function (_, $, Backbone, GroovyHtml) { var ScriptGroovyView = Backbone.View.extend({ @@ -57,7 +58,28 @@ define([ '\n'+ 'return mgmt.applications\n') }, + updateTextareaWithData: function($div, data, alwaysShow) { + var $ta = $("textarea", $div) + var show = alwaysShow + if (data !== undefined) { + $ta.val(data) + show = true + } else { + $ta.val("") + } + if (show) { + log("foo") + $div.show(100) + $ta.css("height", 50); + var height = Math.min($ta.prop("scrollHeight"), 350) + $ta.css("height", height); + log(height) + } else { + $div.hide() + } + }, submitScript: function() { + var that = this; var script = $("#groovy-ui-container #script").val() $(".output .toggler-region", this.$el).hide() $(".output .throbber", this.$el).show() @@ -69,42 +91,18 @@ define([ contentType:"application/text", success:function (data) { $(".output .throbber", this.$el).hide() - - if (data.result !== undefined) - $(".output .result textarea").val(data.result) - else - $(".output .result textarea").val("") - $(".output .result").show() - - if (data.problem !== undefined) { - $(".output .error textarea").val(data.problem) - $(".output .error").show() - } else { - $(".output .error").hide() - } - - if (data.stdout !== undefined) { - $(".output .stdout textarea").val(data.stdout) - $(".output .stdout").show() - } else { - $(".output .stdout").hide() - } - - if (data.stderr !== undefined) { - $(".output .stderr textarea").val(data.stderr) - $(".output .stderr").show() - } else { - $(".output .stderr").hide() - } + that.updateTextareaWithData($(".output .result"), data.result, true); + that.updateTextareaWithData($(".output .error"), data.problem, false); + that.updateTextareaWithData($(".output .stdout"), data.stdout, false); + that.updateTextareaWithData($(".output .stderr"), data.stderr, false); }, error: function(data) { $(".output .throbber", this.$el).hide() $("#groovy-ui-container div.error").val("ERROR: "+data) $(".output .error").show() - // console.log might cause errors in some browsers but that's fine here (already an error) - console.log("ERROR submitting script") - console.log(data) + log("ERROR submitting groovy script") + log(data) }}) } http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/45e28c57/usage/jsgui/src/test/javascript/config.txt ---------------------------------------------------------------------- diff --git a/usage/jsgui/src/test/javascript/config.txt b/usage/jsgui/src/test/javascript/config.txt index 95ebfb7..a7aaf6d 100644 --- a/usage/jsgui/src/test/javascript/config.txt +++ b/usage/jsgui/src/test/javascript/config.txt @@ -11,6 +11,7 @@ "jquery-wiggle":"js/libs/jquery.wiggle.min", "jquery-ba-bbq":"js/libs/jquery.ba-bbq.min", "handlebars":"js/libs/handlebars-1.0.rc.1", + "brooklyn-utils":"js/libs/brooklyn-utils", "text":"js/libs/text", "model":"js/model", "view":"js/view",
