You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2013/11/08 03:32:16 UTC

svn commit: r1539905 - in /tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js: i18n.js templates/scripting.handlebars view/scripting.js

Author: tveronezi
Date: Fri Nov  8 02:32:16 2013
New Revision: 1539905

URL: http://svn.apache.org/r1539905
Log:
https://issues.apache.org/jira/browse/TOMEE-1072

Modified:
    tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/i18n.js
    tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars
    tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/view/scripting.js

Modified: tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/i18n.js
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/i18n.js?rev=1539905&r1=1539904&r2=1539905&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/i18n.js (original)
+++ tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/i18n.js Fri Nov  8 02:32:16 2013
@@ -28,6 +28,7 @@ define(['lib/underscore', 'lib/handlebar
         'source': 'Source Code',
         'output': 'Output',
         'execute': 'Execute',
+        'clean.execute': 'Clean and execute',
         'groovy': 'Groovy',
         'javascript': 'JavaScript',
         'log.files': 'Log Files',

Modified: tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars?rev=1539905&r1=1539904&r2=1539905&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars (original)
+++ tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars Fri Nov  8 02:32:16 2013
@@ -24,6 +24,16 @@
                 <li><a class="ux-source-option" name="groovy" href="#">{{i18n "groovy"}}</a></li>
             </ul>
         </div>
-        <a class="btn btn-primary ux-execute-script">{{i18n "execute"}}</a>
+        <div class="btn-group dropup">
+            <a class="btn btn-primary ux-execute-primary ux-execute-script">{{i18n "execute"}}</a>
+            <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
+                <span class="caret"></span>
+                <span class="sr-only">Toggle Dropdown</span>
+            </button>
+            <ul class="dropdown-menu" role="menu">
+                <li><a class="ux-execute-script">{{i18n "execute"}}</a></li>
+                <li><a class="ux-clean-execute-script">{{i18n "clean.execute"}}</a></li>
+            </ul>
+        </div>
     </div>
 </div>

Modified: tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/view/scripting.js
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/view/scripting.js?rev=1539905&r1=1539904&r2=1539905&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/view/scripting.js (original)
+++ tomee/tomee/trunk/tomee/tomee-webaccess/src/main/webapp/app/js/view/scripting.js Fri Nov  8 02:32:16 2013
@@ -31,24 +31,38 @@
             groovy: templates.getValue('script-sample-groovy', {})
         };
 
+        var executeScript = function (evt) {
+            evt.preventDefault();
+            var me = this;
+            me.trigger('execute-action', {
+                engine: me.editor.getOption("mode"),
+                script: me.editor.getValue()
+            });
+            me.$el.find('.ux-execute-script').addClass('disabled');
+            me.$el.find('.ux-clean-execute-script').addClass('disabled');
+        };
+
+        var cleanOutput = function () {
+            var me = this;
+            var pre = $(me.$el.find('.ux-script-output>div.panel-body>pre').get(0));
+            pre.empty();
+        };
+
         var View = Backbone.View.extend({
             tagName: 'div',
             className: 'ux-scripting',
             events: {
-                'click .ux-script-output>div.panel-heading>button': function () {
+                'click .ux-script-output>div.panel-heading>button': cleanOutput,
+                'click .ux-execute-script': function (evt) {
                     var me = this;
-                    var pre = $(me.$el.find('.ux-script-output>div.panel-body>pre').get(0));
-                    pre.empty();
+                    executeScript.call(me, evt);
+                    me.updatePrimaryExecuteBtn('ux-execute-script');
                 },
-                'click .ux-execute-script': function (evt) {
-                    // TRICK to avoid full page reload.
-                    evt.preventDefault();
+                'click .ux-clean-execute-script': function (evt) {
                     var me = this;
-                    me.trigger('execute-action', {
-                        engine: me.editor.getOption("mode"),
-                        script: me.editor.getValue()
-                    });
-                    me.$el.find('.ux-execute-script').addClass('disabled');
+                    cleanOutput.call(me);
+                    executeScript.call(me, evt);
+                    me.updatePrimaryExecuteBtn('ux-clean-execute-script');
                 },
                 'click .ux-source-option': function (evt) {
                     // TRICK to avoid full page reload.
@@ -61,6 +75,19 @@
                 }
             },
 
+            updatePrimaryExecuteBtn: function (newCls) {
+                var me = this;
+                var btn = $(me.$el.find('.ux-execute-primary').get(0));
+                btn.removeClass('ux-clean-execute-script');
+                btn.removeClass('ux-execute-script');
+                btn.addClass(newCls);
+                if (newCls === 'ux-execute-script') {
+                    btn.html(i18n.get('execute'));
+                } else {
+                    btn.html(i18n.get('clean.execute'));
+                }
+            },
+
             showSourceType: function (name) {
                 var me = this;
                 //saving old code
@@ -91,6 +118,7 @@
                 var pre = $(me.$el.find('.ux-script-output>div.panel-body>pre').get(0));
                 pre.append(formatted);
                 me.$el.find('.ux-execute-script').removeClass('disabled');
+                me.$el.find('.ux-clean-execute-script').removeClass('disabled');
                 var contentArea = $(me.$el.find('.panel-body').get(0));
                 contentArea.animate({
                     scrollTop: contentArea.prop("scrollHeight")