Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 4abecf0a3 -> a8fc57ea9


# IGNITE-843 Rework to use form build from JSON descriptor.


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

Branch: refs/heads/ignite-843
Commit: 5068c2be974a78f46b48ad2870bdcb7930ab9a8a
Parents: 7716574
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Thu Jun 4 14:01:15 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Thu Jun 4 14:01:15 2015 +0700

----------------------------------------------------------------------
 .../nodejs/public/form-models/caches.json       | 73 ++++++++++++++++++++
 .../public/javascripts/controllers/caches.js    | 14 ++--
 modules/webconfig/nodejs/views/caches.jade      | 56 ++++-----------
 3 files changed, 96 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5068c2be/modules/webconfig/nodejs/public/form-models/caches.json
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/form-models/caches.json 
b/modules/webconfig/nodejs/public/form-models/caches.json
new file mode 100644
index 0000000..38ae859
--- /dev/null
+++ b/modules/webconfig/nodejs/public/form-models/caches.json
@@ -0,0 +1,73 @@
+{
+  "general": [
+    {
+      "name": "Name",
+      "type": "text",
+      "model": "name"
+    },
+    {
+      "name": "Mode",
+      "type": "dropdown",
+      "model": "mode",
+      "placeholder": "Choose mode",
+      "items": "modes"
+    },
+    {
+      "name": "Atomicity",
+      "type": "dropdown",
+      "model": "atomicity",
+      "placeholder": "Choose atomicity",
+      "items": "atomicities"
+    }
+  ],
+  "advanced": [
+    {
+      "name": "G1",
+      "fields": [
+        {
+          "name": "Name",
+          "type": "text",
+          "model": "name"
+        },
+        {
+          "name": "Mode",
+          "type": "dropdown",
+          "model": "mode",
+          "placeholder": "Choose mode",
+          "items": "modes"
+        },
+        {
+          "name": "Atomicity",
+          "type": "dropdown",
+          "model": "atomicity",
+          "placeholder": "Choose atomicity",
+          "items": "atomicities"
+        }
+      ]
+    },
+    {
+      "name": "G2",
+      "fields": [
+        {
+          "name": "Name",
+          "type": "text",
+          "model": "name"
+        },
+        {
+          "name": "Mode",
+          "type": "dropdown",
+          "model": "mode",
+          "placeholder": "Choose mode",
+          "items": "modes"
+        },
+        {
+          "name": "Atomicity",
+          "type": "dropdown",
+          "model": "atomicity",
+          "placeholder": "Choose atomicity",
+          "items": "atomicities"
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5068c2be/modules/webconfig/nodejs/public/javascripts/controllers/caches.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/caches.js 
b/modules/webconfig/nodejs/public/javascripts/controllers/caches.js
index bddfb79..556c6d6 100644
--- a/modules/webconfig/nodejs/public/javascripts/controllers/caches.js
+++ b/modules/webconfig/nodejs/public/javascripts/controllers/caches.js
@@ -51,11 +51,15 @@ configuratorModule.controller('cachesController', 
['$scope', '$http', function($
             {value: 'OFHV', label: 'Offheap values'}
             ];
 
-        $scope.generalGrp = [
-            {name: "Name", type: "text", model: 'name'},
-            {name: "Mode", type: "dropdown", model: 'mode', placeholder: 
'Choose mode', items: 'modes'},
-            {name: "Atomicity", type: "dropdown", model: 'atomicity', 
placeholder: 'Choose atomicity', items: 'atomicities'}
-        ];
+        $scope.general = [];
+        $scope.advanced = [];
+
+        $http.get('/form-models/caches.json')
+            .success(function(data) {
+                $scope.general = data.general;
+                $scope.advanced = data.advanced;
+            });
+
 
         //DefaultLockTimeout dfltLockTimeout
         //invalidate

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5068c2be/modules/webconfig/nodejs/views/caches.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/caches.jade 
b/modules/webconfig/nodejs/views/caches.jade
index a8d1868..4da18ab 100644
--- a/modules/webconfig/nodejs/views/caches.jade
+++ b/modules/webconfig/nodejs/views/caches.jade
@@ -39,52 +39,24 @@ block content
             hr
         form.form-horizontal(name='editForm' ng-if='backupItem')
             h3 General
-            .settings-row(ng-repeat='fld in generalGrp')
-                span.col-sm-2 {{fld.name}}:
-                .col-sm-3(ng-switch on='fld.type')
+            .settings-row(ng-repeat='field in general')
+                span.col-sm-2 {{field.name}}:
+                .col-sm-3(ng-switch on='field.type')
                     div(ng-switch-when='text')
-                        input.form-control(type='text' 
ng-model='backupItem[fld.model]')
+                        input.form-control(type='text' 
ng-model='backupItem[field.model]')
                     div(ng-switch-when='dropdown')
-                        button.form-control(style='text-align: left' 
ng-model='backupItem[fld.model]' data-template='/select' 
data-placeholder='{{fld.placeholder}}' bs-options='item.value as item.label for 
item in {{fld.items}}' bs-select)
+                        button.form-control(style='text-align: left' 
ng-model='backupItem[field.model]' data-template='/select' 
data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label 
for item in {{field.items}}' bs-select)
             .panel(bs-collapse data-start-collapsed='true')
                 .panel-collapse(bs-collapse-target)
-                    .settings-row
-                        span.col-sm-2 Atomicity:
-                        .col-sm-3
-                            button.form-control(style='text-align: left' 
ng-model='backupItem.atomicity' data-template='/select' 
data-placeholder='Choose Atomicity' bs-options='item.value as item.label for 
item in atomicities' bs-select)
-                    .settings-row
-                        span.col-sm-2 Backups:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.backups' placeholder='0')
-                    h3 Rebalance
-                    .settings-row
-                        span.col-sm-2 Mode:
-                        .col-sm-3
-                            button.form-control(style='text-align: left' 
ng-model='backupItem.rebalanceMode' data-template='/select' 
data-placeholder='Choose Mode' bs-options='item.value as item.label for item in 
rebalanceModes' bs-select)
-                    .settings-row
-                        span.col-sm-2 Pool size:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.rebalancePoolSize' placeholder='2')
-                    .settings-row
-                        span.col-sm-2 Order:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.rebalanceOrder' placeholder='0')
-                    .settings-row
-                        span.col-sm-2 Batch size:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.rebalanceBatchSize' placeholder='512 * 1024')
-                    .settings-row
-                        span.col-sm-2 Timeout:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.rebalanceTimeout' placeholder='10000')
-                    .settings-row
-                        span.col-sm-2 Delay:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.rebalanceDelay' placeholder='0')
-                    .settings-row
-                        span.col-sm-2 Throttle:
-                        .col-sm-3
-                            input.form-control(type='text' 
ng-model='backupItem.rebalanceThrottle' placeholder='0')
+                    div(ng-repeat='group in advanced')
+                        h3 {{group.name}}
+                        .settings-row(ng-repeat='field in group.fields')
+                            span.col-sm-2 {{field.name}}:
+                            .col-sm-3(ng-switch on='field.type')
+                                div(ng-switch-when='text')
+                                    input.form-control(type='text' 
ng-model='backupItem[field.model]')
+                                div(ng-switch-when='dropdown')
+                                    button.form-control(style='text-align: 
left' ng-model='backupItem[field.model]' data-template='/select' 
data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label 
for item in {{field.items}}' bs-select)
                 .panel-heading
                     .panel-title
                         span(bs-collapse-toggle)

Reply via email to