You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/07/17 09:39:04 UTC

incubator-ignite git commit: # ignite-843 Replace highlighter to ace-ui

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 9cabdf6f2 -> f1c3b341c


# ignite-843 Replace highlighter to ace-ui


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f1c3b341
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f1c3b341
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f1c3b341

Branch: refs/heads/ignite-843
Commit: f1c3b341c1b5c3f4f7c4f2817abb6e92d8a5dc0a
Parents: 9cabdf6
Author: Andrey <an...@gridgain.com>
Authored: Fri Jul 17 14:39:49 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Jul 17 14:39:49 2015 +0700

----------------------------------------------------------------------
 .../nodejs/controllers/common-module.js         |  2 +-
 .../nodejs/controllers/summary-controller.js    | 50 +++++---------
 modules/web-control-center/nodejs/package.json  |  1 +
 .../nodejs/public/stylesheets/style.less        |  5 ++
 .../nodejs/views/configuration/summary.jade     | 73 +++++++-------------
 .../nodejs/views/templates/layout.jade          |  5 +-
 6 files changed, 54 insertions(+), 82 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1c3b341/modules/web-control-center/nodejs/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/common-module.js b/modules/web-control-center/nodejs/controllers/common-module.js
index 5e1a6c1..7de47a9 100644
--- a/modules/web-control-center/nodejs/controllers/common-module.js
+++ b/modules/web-control-center/nodejs/controllers/common-module.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-var controlCenterModule = angular.module('ignite-web-control-center', ['smart-table', 'mgcrea.ngStrap', 'ngSanitize']);
+var controlCenterModule = angular.module('ignite-web-control-center', ['smart-table', 'mgcrea.ngStrap', 'ui.ace', 'ngSanitize']);
 
 // Common functions to be used in controllers.
 controlCenterModule.service('commonFunctions', ['$alert', function ($alert) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1c3b341/modules/web-control-center/nodejs/controllers/summary-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/summary-controller.js b/modules/web-control-center/nodejs/controllers/summary-controller.js
index cb21e8b..7e6f961 100644
--- a/modules/web-control-center/nodejs/controllers/summary-controller.js
+++ b/modules/web-control-center/nodejs/controllers/summary-controller.js
@@ -46,47 +46,29 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', 'commonF
 
     $scope.oss = ['debian:8', 'ubuntu:14.10'];
 
-    $scope.cfgLangServer = 'xml';
-    $scope.cfgLangClient = 'xml';
-
     $scope.javaClassServer = false;
     $scope.javaClassClient = false;
 
     $scope.os = undefined;
 
-    $scope.generated = undefined;
+    $scope.configServer = {};
     $scope.clusters = [];
 
-    $scope.reloadServer = function() {
-        if (!$scope.generated)
-            return;
-
-        $("<pre class='brush:xml'/>").text($scope.generated.xmlServer).appendTo($('#xmlServer').empty());
-        $("<pre class='brush:java'/>").text($scope.javaClassServer ? $scope.generated.javaClassServer : $scope.generated.javaSnippetServer).appendTo($('#javaServer').empty());
-
-        var os = $scope.os ? $scope.os : $scope.oss[0];
-
-        $("<pre class='brush:plain'/>").text($scope.generated.docker.replace(new RegExp('\%OS\%', 'g'), os)).appendTo($('#docker').empty());
-
+    $scope.aceInit = function(editor) {
+        editor.setReadOnly(true);
+        editor.setOption("highlightActiveLine", false);
 
-        $("<pre class='brush:xml'/>").text($scope.generated.xmlClient).appendTo($('#xmlClient').empty());
-        $("<pre class='brush:java'/>").text($scope.javaClassClient ? $scope.generated.javaClassClient : $scope.generated.javaSnippetClient).appendTo($('#javaClient').empty());
-
-        SyntaxHighlighter.highlight();
+        editor.setTheme('chrome');
     };
 
     $scope.reloadServer = function() {
-        if (!$scope.generated)
-            return;
-
-        $("<pre class='brush:xml'/>").text($scope.generated.xmlServer).appendTo($('#xmlServer').empty());
-        $("<pre class='brush:java'/>").text($scope.javaClassServer ? $scope.generated.javaClassServer : $scope.generated.javaSnippetServer).appendTo($('#javaServer').empty());
-
-        var os = $scope.os ? $scope.os : $scope.oss[0];
+        $scope.javaServer = $scope.javaClass ? $scope.configServer.javaClass : $scope.configServer.javaSnippet;
 
-        $("<pre class='brush:plain'/>").text($scope.generated.docker.replace(new RegExp('\%OS\%', 'g'), os)).appendTo($('#docker').empty());
+        if ($scope.configServer.docker) {
+            var os = $scope.os ? $scope.os : $scope.oss[0];
 
-        SyntaxHighlighter.highlight();
+            $scope.dockerServer = $scope.configServer.docker.replace(new RegExp('\%OS\%', 'g'), os);
+        }
     };
 
     $scope.selectItem = function(cluster) {
@@ -112,7 +94,11 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', 'commonF
     $scope.generateServer = function(cluster) {
         $http.post('summary/generator', {_id: cluster._id})
             .success(function (data) {
-                $scope.generated = data;
+                $scope.xmlServer = data.xmlServer;
+
+                $scope.configServer.javaClass = data.javaClassServer;
+                $scope.configServer.javaSnippet = data.javaSnippetServer;
+                $scope.configServer.docker = data.docker;
 
                 $scope.reloadServer();
             }).error(function (errMsg) {
@@ -123,10 +109,8 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', 'commonF
     $scope.generateClient = function() {
         $http.post('summary/generator', {_id: $scope.selectedItem._id, javaClass: $scope.javaClassClient, clientCache: $scope.backupItem})
             .success(function (data) {
-                $("<pre class='brush:xml'/>").text(data.xmlClient).appendTo($('#xmlClient').empty());
-                $("<pre class='brush:java'/>").text(data.javaClient).appendTo($('#javaClient').empty());
-
-                SyntaxHighlighter.highlight();
+                $scope.xmlClient = data.xmlClient;
+                $scope.javaClient = data.javaClient;
             }).error(function (errMsg) {
                 commonFunctions.showError('Failed to generate config: ' + errMsg);
             });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1c3b341/modules/web-control-center/nodejs/package.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/package.json b/modules/web-control-center/nodejs/package.json
index 82a3906..6d092da 100644
--- a/modules/web-control-center/nodejs/package.json
+++ b/modules/web-control-center/nodejs/package.json
@@ -9,6 +9,7 @@
   "author": "Ignite",
   "license": "Apache License, Version 2.0",
   "dependencies": {
+    "angular-ui-ace": "^0.2.3",
     "archiver": "^0.14.4",
     "body-parser": "~1.12.0",
     "connect-flash": "^0.1.1",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1c3b341/modules/web-control-center/nodejs/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.less b/modules/web-control-center/nodejs/public/stylesheets/style.less
index 595e4da..69fd765 100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.less
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.less
@@ -1054,4 +1054,9 @@ a {
   p {
     padding: 10px 0 10px 10px;
   }
+}
+
+.ace_editor, #ace_document {
+  width: 100%;
+  height: 400px;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1c3b341/modules/web-control-center/nodejs/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/summary.jade b/modules/web-control-center/nodejs/views/configuration/summary.jade
index 848e710..68ec808 100644
--- a/modules/web-control-center/nodejs/views/configuration/summary.jade
+++ b/modules/web-control-center/nodejs/views/configuration/summary.jade
@@ -19,16 +19,15 @@ extends sidebar
 append scripts
     script(src='/summary-controller.js')
 
-    script(src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js')
-    script(src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.js')
-    script(src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJava.js')
-    script(src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPlain.js')
     script(src="//cdn.jsdelivr.net/angularjs/1.3.15/angular-animate.min.js")
     script(src="//cdn.jsdelivr.net/angularjs/1.3.15/angular-sanitize.min.js")
 
+    script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/theme-chrome.js')
+    script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-xml.js')
+    script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-java.js')
+    script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-dockerfile.js')
+
 append css
-    link(rel='stylesheet', href='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCore.css')
-    link(rel='stylesheet', href='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeDefault.css')
 
 include ../includes/controls
 
@@ -55,7 +54,7 @@ block content
                         tr(ng-repeat='row in clusters track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
                                 a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
-        div(ng-show='selectedItem && generated' role="tab" method='post' action='summary/download')
+        div(ng-show='selectedItem' role="tab" method='post' action='summary/download')
             div(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     form.panel-heading(role='tab' method='post' action='summary/download')
@@ -67,30 +66,18 @@ block content
                             button.btn.btn-primary.pull-right(type='submit' style='margin-top: -5px') Download
                     .panel-collapse(role="tabpanel" bs-collapse-target)
                         .panel-body
-                            .configBox(ng-show='selectedItem && !generateError')
-                                ul.nav.nav-tabs
-                                    li(ng-class='{active: cfgLangServer == "xml"}')
-                                        a(href, ng-click='cfgLangServer = "xml"')
-                                            img(src='/images/xml.png', width='16px' height='16px')
-                                            |  XML
-                                    li(ng-class='{active: cfgLangServer =="java"}')
-                                        a(href, ng-click='cfgLangServer = "java"')
-                                            img(src='/images/java.png', width='16px' height='16px')
-                                            |  Java
-                                    li(ng-class="{active: cfgLangServer =='docker'}")
-                                        a(href, ng-click='cfgLangServer = "docker"')
-                                            img(src='/images/docker.png', width='16px' height='16px')
-                                            |  Dockerfile
-                                .settings-row
-                                    div(ng-show="cfgLangServer == 'xml'")
-                                        #xmlServer
-                                    div(ng-show="cfgLangServer == 'java'")
+                            .configBox(ng-show='selectedItem' bs-tabs)
+                                div(title='<img src="/images/xml.png" width="16px" height="16px"/> XML' bs-pane)
+                                    .configBox(ui-ace='{ onLoad: aceInit, mode: "xml" }' ng-model='xmlServer' style='margin: 0.65em 0;')
+                                div(title='<img src="/images/java.png" width="16px" height="16px"/> Java' bs-pane)
+                                    .settings-row
                                         .col-sm-1
                                             label Generate:
                                         .col-sm-3
                                             button.form-control(type='button' ng-model='javaClassServer' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
-                                        #javaServer
-                                    div(ng-show="cfgLangServer == 'docker'")
+                                    .configBox(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaServer')
+                                div(title='<img src="/images/docker.png" width="16px" height="16px"/> Dockerfile' bs-pane)
+                                    .settings-row
                                         p
                                             +hard-link('https://docs.docker.com/reference/builder', 'Docker')
                                             | &nbsp;file is a text file with instructions to create Docker image.<br/>
@@ -104,7 +91,7 @@ block content
                                             label(for='os') Operation System:
                                         .col-sm-4
                                             input#os.form-control(type='text', ng-model='os' placeholder='debian:8' data-min-length="0" data-html="1" data-auto-select="true" data-animation="am-flip-x" bs-typeahead bs-options='os for os in oss')
-                                        .settings-row#docker(style='margin-top: 15px')
+                                    div(ui-ace='{ onLoad: aceInit, mode: "dockerfile" }' ng-model='dockerServer')
             div(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     form.panel-heading(role='tab' method='post' action='summary/download')
@@ -117,24 +104,16 @@ block content
                             button.btn.btn-primary.pull-right(type='submit' style='margin-top: -5px') Download
                     .panel-collapse(role="tabpanel" bs-collapse-target)
                         .panel-body
-                            .configBox(ng-show='selectedItem && !generateError')
+                            div(ng-show='selectedItem')
                                 .settings-row(ng-repeat='field in clientFields')
                                     +form-row-custom(['col-sm-3'], ['col-sm-3'])
-                                ul.nav.nav-tabs
-                                    li(ng-class='{active: cfgLangClient == "xml"}')
-                                        a(href, ng-click='cfgLangClient = "xml"')
-                                            img(src='/images/xml.png', width='16px' height='16px')
-                                            |  XML
-                                    li(ng-class='{active: cfgLangClient =="java"}')
-                                        a(href, ng-click='cfgLangClient = "java"')
-                                            img(src='/images/java.png', width='16px' height='16px')
-                                            |  Java
-                                .settings-row
-                                    div(ng-show="cfgLangClient == 'xml'")
-                                        #xmlClient
-                                    div(ng-show="cfgLangClient == 'java'")
-                                        .col-sm-1
-                                            label Generate:
-                                        .col-sm-4
-                                            button.form-control(type='button' ng-model='javaClassClient' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
-                                        #javaClient
+                                .configBox(bs-tabs)
+                                    div(title='<img src="/images/xml.png" width="16px" height="16px"/> XML' bs-pane)
+                                        .configBox(ui-ace='{ onLoad: aceInit, mode: "xml" }' ng-model='xmlClient' style='margin: 0.65em 0;')
+                                    div(title='<img src="/images/java.png" width="16px" height="16px"/> Java' bs-pane)
+                                        .settings-row
+                                            .col-sm-1
+                                                label Generate:
+                                            .col-sm-4
+                                                button.form-control(type='button' ng-model='javaClassClient' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
+                                        div(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaClient')

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1c3b341/modules/web-control-center/nodejs/views/templates/layout.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/templates/layout.jade b/modules/web-control-center/nodejs/views/templates/layout.jade
index 1bcaff7..a4191ae 100644
--- a/modules/web-control-center/nodejs/views/templates/layout.jade
+++ b/modules/web-control-center/nodejs/views/templates/layout.jade
@@ -41,7 +41,10 @@ html(ng-app='ignite-web-control-center', ng-init='user = #{JSON.stringify(user)}
             script(src='//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.3.0/angular-strap.js')
             script(src='//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.3.0/angular-strap.tpl.min.js')
 
-            script(src='https://cdnjs.cloudflare.com/ajax/libs/angular-smart-table/2.0.3/smart-table.js')
+            script(src='//cdnjs.cloudflare.com/ajax/libs/angular-smart-table/2.0.3/smart-table.js')
+
+            script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js')
+            script(src='//angular-ui.github.io/ui-ace/dist/ui-ace.min.js')
 
             script(src='/common-module.js')
             script(src='/data-structures.js')