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)