Repository: incubator-ignite Updated Branches: refs/heads/ignite-843 2fb47524d -> 9bbcbd22a
# IGNITE-843 WIP on clusters table. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/9bbcbd22 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9bbcbd22 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9bbcbd22 Branch: refs/heads/ignite-843 Commit: 9bbcbd22aadf68bf9153f0dc679346e561f2a8d7 Parents: 2fb4752 Author: AKuznetsov <akuznet...@gridgain.com> Authored: Wed May 27 18:04:42 2015 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Wed May 27 18:04:42 2015 +0700 ---------------------------------------------------------------------- .../public/javascripts/controllers/clusters.js | 46 +++++++++++++++----- modules/webconfig/nodejs/routes/pages.js | 10 ++++- modules/webconfig/nodejs/views/clusters.jade | 2 +- modules/webconfig/nodejs/views/discovery.jade | 24 ---------- .../views/tcpDiscoveryMulticastIpFinder.jade | 27 ++++++++++++ .../nodejs/views/tcpDiscoveryVmIpFinder.jade | 41 +++++++++++++++++ 6 files changed, 111 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9bbcbd22/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js index 0cdd5c4..5a20a7e 100644 --- a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js +++ b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js @@ -1,10 +1,9 @@ -configuratorModule.controller('clustersController', [ '$scope', '$modal', '$http', '$filter', 'ngTableParams', +// Controller for clusters page. +configuratorModule.controller('clustersController', ['$scope', '$modal', '$http', '$filter', 'ngTableParams', function($scope, $modal, $http, $filter, ngTableParams) { $scope.editColumn = {}; - $scope.editRow = {}; - - $scope.editIdx = false; + $scope.editCluster = {}; $scope.discoveries = [ {value: 'TcpDiscoveryVmIpFinder', label: 'Static IPs'}, @@ -29,7 +28,7 @@ configuratorModule.controller('clustersController', [ '$scope', '$modal', '$http $scope.clustersTable = new ngTableParams({ page: 1, // Show first page. count: Number.MAX_VALUE, // Count per page. - sorting: {name: 'asc'} // Initial sorting. + sorting: {name: 'asc'} // Initial sorting. }, { total: $scope.clusters.length, // Length of data. counts: [], @@ -47,16 +46,39 @@ configuratorModule.controller('clustersController', [ '$scope', '$modal', '$http }); }); - // Create popup for discovery advanced settings. - var discoveryModal = $modal({scope: $scope, template: '/discovery', show: false}); + // Create popup for tcpDiscoveryVmIpFinder advanced settings. + var tcpDiscoveryVmIpFinderModal = $modal({scope: $scope, template: '/tcpDiscoveryVmIpFinder', show: false}); + + $scope.editTcpDiscoveryVmIpFinder = function(cluster) { + tcpDiscoveryVmIpFinderModal.$promise.then(tcpDiscoveryVmIpFinderModal.show); + }; + + $scope.tcpDiscoveryVmIpFinderTable = new ngTableParams({ + page: 1, // Show first page. + count: Number.MAX_VALUE, // Count per page. + }, { + total: $scope.editCluster.addresses.length, // Length of data. + counts: [], + getData: function($defer, params) { + var addresses = $scope.editCluster.addresses; + + var page = params.page(); + var cnt = params.count(); + + $defer.resolve(addresses.slice(page - 1 * cnt, page * cnt)); + } + }); + + // Create popup for tcpDiscoveryMulticastIpFinder advanced settings. + var tcpDiscoveryMulticastIpFinder = $modal({scope: $scope, template: '/tcpDiscoveryMulticastIpFinder', show: false}); - $scope.editDiscovery = function(cluster) { - discoveryModal.$promise.then(discoveryModal.show); + $scope.editTcpDiscoveryMulticastIpFinder = function(cluster) { + tcpDiscoveryMulticastIpFinderModal.$promise.then(tcpDiscoveryMulticastIpFinderModal.show); }; // Add new cluster. $scope.add = function() { - $scope.clusters.push({space: $scope.spaces[0]._id}); + $scope.clusters.push({space: $scope.spaces[0]._id, discovery: 'TcpDiscoveryVmIpFinder'}); $scope.clustersTable.reload(); }; @@ -68,14 +90,14 @@ configuratorModule.controller('clustersController', [ '$scope', '$modal', '$http $scope.editColumn = name; - $scope.editRow = angular.copy(cluster); + $scope.editCluster = angular.copy(cluster); $scope.editIdx = $scope.clusters.indexOf(cluster); }; $scope.revert = function() { if ($scope.editColumn && $scope.currentRow) { - $scope.clusters[$scope.clusters.indexOf($scope.currentRow)] = $scope.editRow; + $scope.clusters[$scope.clusters.indexOf($scope.currentRow)] = $scope.editCluster; $scope.currentRow = undefined; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9bbcbd22/modules/webconfig/nodejs/routes/pages.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/routes/pages.js b/modules/webconfig/nodejs/routes/pages.js index 2904278..1cbcfd9 100644 --- a/modules/webconfig/nodejs/routes/pages.js +++ b/modules/webconfig/nodejs/routes/pages.js @@ -7,8 +7,14 @@ router.get('/login', function(req, res) { res.render('login'); }); -router.get('/discovery', function(req, res) { - res.render('discovery'); +/* GET advanced options for TcpDiscoveryVmIpFinder page. */ +router.get('/tcpDiscoveryVmIpFinder', function(req, res) { + res.render('tcpDiscoveryVmIpFinder'); +}); + +/* GET advanced options for TcpDiscoveryMulticastIpFinder page. */ +router.get('/tcpDiscoveryMulticastIpFinder', function(req, res) { + res.render('tcpDiscoveryMulticastIpFinder'); }); /* GET register page. */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9bbcbd22/modules/webconfig/nodejs/views/clusters.jade ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/views/clusters.jade b/modules/webconfig/nodejs/views/clusters.jade index dc74713..339ccc9 100644 --- a/modules/webconfig/nodejs/views/clusters.jade +++ b/modules/webconfig/nodejs/views/clusters.jade @@ -33,7 +33,7 @@ block content div(ng-if='!(editColumn == "discovery" && currentRow == cluster)') span(ng-if='cluster.discovery') {{discoveryAsString(cluster.discovery)}} span.pull-right(type='button') - i(class=['fa', 'fa-caret-square-o-down'] ng-click='editDiscovery(cluster);') + i(class=['fa', 'fa-caret-square-o-down'] ng-click='editTcpDiscoveryVmIpFinder(cluster);') i(class=['fa', 'fa-pencil'] ng-click='beginEdit("discovery", cluster);' style='margin-left: 10px;') div.input-group(ng-if='editColumn == "discovery" && currentRow == cluster') button(class=['btn', 'btn-default', 'form-control', 'pull-right'] style='width: 85%' data-placement='bottom-center' ng-model='cluster.discovery' data-template='/select' data-placeholder='Choose discovery' bs-options='discovery.value as discovery.label for discovery in discoveries' bs-select) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9bbcbd22/modules/webconfig/nodejs/views/discovery.jade ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/views/discovery.jade b/modules/webconfig/nodejs/views/discovery.jade deleted file mode 100644 index 2fcba3f..0000000 --- a/modules/webconfig/nodejs/views/discovery.jade +++ /dev/null @@ -1,24 +0,0 @@ -div(class=['modal', 'center'] tabindex='-1' role='dialog') - .modal-dialog - .modal-content - .modal-header - button.close(type='button', ng-click='$hide()', aria-hidden='true') × - h4.modal-title Discovery - p Enter IP Addresses - .modal-body - form.form-horizontal(name='discoveryForm') - .modal-body.row - div(ng-show='errorMessage') - p.text-center.error-message {{errorMessage}} - .col-xs-10.login.col-xs-offset-1 - div.form-group - label.col-sm-3.control-label IP Address - .controls.col-sm-9 - input.form-control(type='text', ng-model='discovery.ip', placeholder='127.0.0.0', focus-me='true', required) - div.form-group - label.col-sm-3.control-label Ports range - .controls.col-sm-9 - input.form-control(type='text', ng-model='discovery.ports', placeholder='47500..47509', required) - .modal-footer - button.btn.btn-primary(ng-click='saveDiscovery(disco_info)' ng-disabled='discoveryForm.$invalid') Save - button.btn.btn-primary(ng-click='$hide()') Cancel http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9bbcbd22/modules/webconfig/nodejs/views/tcpDiscoveryMulticastIpFinder.jade ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/views/tcpDiscoveryMulticastIpFinder.jade b/modules/webconfig/nodejs/views/tcpDiscoveryMulticastIpFinder.jade new file mode 100644 index 0000000..475aa95 --- /dev/null +++ b/modules/webconfig/nodejs/views/tcpDiscoveryMulticastIpFinder.jade @@ -0,0 +1,27 @@ +div(class=['modal', 'center'] tabindex='-1' role='dialog') + .modal-dialog + .modal-content + .modal-header + button.close(type='button', ng-click='$hide()', aria-hidden='true') × + h4.modal-title Configure TcpDiscoveryMulticastIpFinder + .modal-body + div.block-edit-parameters + div.btn-group + button(ng-click='add()' class=['btn', 'btn-default', 'fa', 'fa-plus'] )  Add + table(ng-table="clustersTable" class=['table', 'table-bordered', 'table-hover']) + form.form-horizontal(name='discoveryForm') + .modal-body.row + div(ng-show='errorMessage') + p.text-center.error-message {{errorMessage}} + .col-xs-10.login.col-xs-offset-1 + div.form-group + label.col-sm-3.control-label IP Address + .controls.col-sm-9 + input.form-control(type='text', ng-model='discovery.ip', placeholder='127.0.0.0', focus-me='true', required) + div.form-group + label.col-sm-3.control-label Ports range + .controls.col-sm-9 + input.form-control(type='text', ng-model='discovery.ports', placeholder='47500..47509', required) + .modal-footer + button.btn.btn-primary(ng-click='saveDiscovery(disco_info)' ng-disabled='discoveryForm.$invalid') Save + button.btn.btn-primary(ng-click='$hide()') Cancel http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9bbcbd22/modules/webconfig/nodejs/views/tcpDiscoveryVmIpFinder.jade ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/views/tcpDiscoveryVmIpFinder.jade b/modules/webconfig/nodejs/views/tcpDiscoveryVmIpFinder.jade new file mode 100644 index 0000000..ac15848 --- /dev/null +++ b/modules/webconfig/nodejs/views/tcpDiscoveryVmIpFinder.jade @@ -0,0 +1,41 @@ +div(class=['modal', 'center'] tabindex='-1' role='dialog') + .modal-dialog + .modal-content + .modal-header + button.close(type='button', ng-click='$hide()', aria-hidden='true') × + h4.modal-title Configure Static IPs + .modal-body + div.block-edit-parameters + div.btn-group + button(ng-click='add()' class=['btn', 'btn-default', 'fa', 'fa-plus'] )  Add + table(ng-table="tcpDiscoveryVmIpFinderTable" class=['table', 'table-bordered', 'table-hover']) + tr(ng-repeat="cluster in $data") + td(data-title="'#'" class=['text-center', 'vcenter'] style='width: 50px') {{$index + 1}} + td(data-title="'IP Address'" sortable="'name'" class=['text-center', 'col-sm-5']) + div(ng-if='!(editColumn == "name" && currentRow == cluster)') + span(ng-if='cluster.name') {{'127.0.0.1'}} + span.pull-right(type='button' ng-click='beginEdit("name", cluster);') + i(class=['fa', 'fa-pencil']) + div.input-group(ng-if='editColumn == "name" && currentRow == cluster') + input.form-control(type='text' ng-model='cluster.name') + span.input-group-addon + i(class=['fa', 'fa-repeat'] ng-click='revert();') + i(class=['fa', 'fa-save'] ng-click='submit();' style='margin-left: 10px;') + td(data-title="'Ports range'" sortable="'discovery'" class=['text-center', 'col-sm-5']) + div(ng-if='!(editColumn == "discovery" && currentRow == cluster)') + span(ng-if='cluster.discovery') {{'47500..47509'}} + span.pull-right(type='button') + i(class=['fa', 'fa-pencil'] ng-click='beginEdit("discovery", cluster);') + div.input-group(ng-if='editColumn == "discovery" && currentRow == cluster') + button(class=['btn', 'btn-default', 'form-control', 'pull-right'] style='width: 85%' data-placement='bottom-center' ng-model='cluster.discovery' data-template='/select' data-placeholder='Choose discovery' bs-options='discovery.value as discovery.label for discovery in discoveries' bs-select) + span.caret + span.input-group-addon + i(class=['fa', 'fa-repeat'] ng-click='revert();') + i(class=['fa', 'fa-save'] ng-click='submit();' style='margin-left: 10px;') + td.col-sm-1(data-title="'Delete'") + center + span(type='button' ng-click='delete(cluster)') + i(class=['fa', 'fa-remove']) + .modal-footer + button.btn.btn-primary(ng-click='saveDiscovery(disco_info)' ng-disabled='discoveryForm.$invalid') Save + button.btn.btn-primary(ng-click='$hide()') Cancel