ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akuznet...@apache.org
Subject incubator-ignite git commit: IGNITE-843 Added support for focus and enter/esc for detailed tables on cluster screen.
Date Tue, 04 Aug 2015 03:46:28 GMT
Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 b52a7dc02 -> 69f3c170e


IGNITE-843 Added support for focus and enter/esc for detailed tables on cluster screen.


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

Branch: refs/heads/ignite-843
Commit: 69f3c170e99efe4501fbd9bdfb636f33c3082f88
Parents: b52a7dc
Author: AKuznetsov <akuznetsov@gridgain.com>
Authored: Tue Aug 4 10:46:12 2015 +0700
Committer: AKuznetsov <akuznetsov@gridgain.com>
Committed: Tue Aug 4 10:46:12 2015 +0700

----------------------------------------------------------------------
 .../main/js/controllers/clusters-controller.js  | 27 +++++++++++++-------
 .../src/main/js/views/includes/controls.jade    |  4 +--
 2 files changed, 20 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/69f3c170/modules/control-center-web/src/main/js/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/clusters-controller.js b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
index bcbdac2..64588d8 100644
--- a/modules/control-center-web/src/main/js/controllers/clusters-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-controlCenterModule.controller('clustersController', ['$scope', '$http', '$common', '$confirm',
'$copy', '$table', function ($scope, $http, $common, $confirm, $copy, $table) {
+controlCenterModule.controller('clustersController', ['$scope', '$http', '$common', '$focus',
'$confirm', '$copy', '$table', function ($scope, $http, $common, $focus, $confirm, $copy,
$table) {
         $scope.joinTip = $common.joinTip;
         $scope.getModel = $common.getModel;
 
@@ -95,6 +95,18 @@ controlCenterModule.controller('clustersController', ['$scope', '$http',
'$commo
             {value: 'JdkMarshaller', label: 'JdkMarshaller'}
         ];
 
+        var simpleTables = {
+            addresses: {msg: 'Such IP address already exists!', id: 'IpAddress'},
+            regions: {msg: 'Such region already exists!', id: 'Region'},
+            zones: {msg: 'Such zone already exists!', id: 'Zone'}
+        };
+
+        function focusInvalidField(index, id) {
+            $focus(index < 0 ? 'new' + id : 'cur' + id);
+
+            return false;
+        }
+
         $scope.tableSimpleValid = function (item, field, val, index) {
             var model = $common.getModel(item, field)[field.model];
 
@@ -103,16 +115,13 @@ controlCenterModule.controller('clustersController', ['$scope', '$http',
'$commo
 
                 // Found duplicate.
                 if (idx >= 0 && idx != index) {
-                    var msg = 'Such IP address already exists!';
-
-                    if (field.model == 'regions')
-                        msg = 'Such region already exists!';
-                    if (field.model == 'zones')
-                        msg = 'Such zone already exists!';
+                    var simpleTable = simpleTables[field.model];
 
-                    $common.showError(msg);
+                    if (simpleTable) {
+                        $common.showError(simpleTable.msg);
 
-                    return false;
+                        return focusInvalidField(index, simpleTable.id);
+                    }
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/69f3c170/modules/control-center-web/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/includes/controls.jade b/modules/control-center-web/src/main/js/views/includes/controls.jade
index 7ca9017..acee1d4 100644
--- a/modules/control-center-web/src/main/js/views/includes/controls.jade
+++ b/modules/control-center-web/src/main/js/views/includes/controls.jade
@@ -155,12 +155,12 @@ mixin details-row
                                 label.labelField {{$index + 1}})
                                 +btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid,
backupItem, detail, curValue, $index)')
                                 .input-tip.form-group.has-feedback
-                                    input.form-control(id='{{::detail.focusCurItemId}}' name='{{detail.model}}.edit'
type='text' ng-model='curValue' placeholder='{{::detail.placeholder}}' on-escape='tableReset()')&attributes(customValidators)
+                                    input.form-control(id='{{::detail.focusCurItemId}}' name='{{detail.model}}.edit'
type='text' ng-model='curValue' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid,
backupItem, detail, curValue, $index)' on-escape='tableReset()')&attributes(customValidators)
                                     +ico-exclamation('{{detail.model}}.edit', 'ipaddress',
'Invalid address, see help for format description.')
             button.btn.btn-primary.fieldButton(ng-disabled='!newValue' ng-click='tableSimpleSave(tableSimpleValid,
backupItem, detail, newValue, -1)') Add
             +tipField('detail.tip')
             .input-tip.form-group.has-feedback
-                input.form-control(name='{{detail.model}}' type='text' ng-model='newValue'
ng-focus='tableNewItem(detail)' placeholder='{{::detail.placeholder}}')&attributes(customValidators)
+                input.form-control(name='{{detail.model}}' type='text' ng-model='newValue'
ng-focus='tableNewItem(detail)' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid,
backupItem, detail, newValue, -1)' on-escape='tableReset()')&attributes(customValidators)
                 +ico-exclamation('{{detail.model}}', 'ipaddress', 'Invalid address, see help
for format description.')
 
 mixin table-db-field-edit(databaseName, databaseType, javaName, javaType, focusId, index)


Mime
View raw message