You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/08/17 11:43:05 UTC
[2/2] incubator-ignite git commit: IGNITE-843: Open panel by id.
IGNITE-843: Open panel by id.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1363b0b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1363b0b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1363b0b9
Branch: refs/heads/ignite-843
Commit: 1363b0b95ab02ec1deb33fff08058ba393d85809
Parents: 9716913
Author: AKuznetsov <ak...@gridgain.com>
Authored: Mon Aug 17 16:43:13 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Mon Aug 17 16:43:13 2015 +0700
----------------------------------------------------------------------
.../main/js/controllers/caches-controller.js | 2 +-
.../main/js/controllers/clusters-controller.js | 26 ++++++++---------
.../src/main/js/controllers/common-module.js | 30 ++++++++++++--------
.../main/js/controllers/metadata-controller.js | 2 +-
.../src/main/js/controllers/models/caches.json | 15 ++++++++++
.../main/js/controllers/models/clusters.json | 1 +
.../main/js/controllers/models/metadata.json | 1 +
.../main/js/views/configuration/clusters.jade | 2 +-
.../src/main/js/views/includes/controls.jade | 8 +++---
9 files changed, 55 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/caches-controller.js b/modules/control-center-web/src/main/js/controllers/caches-controller.js
index bf1149b..96b81f2 100644
--- a/modules/control-center-web/src/main/js/controllers/caches-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/caches-controller.js
@@ -229,7 +229,7 @@ controlCenterModule.controller('cachesController', [
// Add new cache.
$scope.createItem = function () {
$table.tableReset();
- $common.ensureActivePanel($scope.panels, 0);
+ $common.ensureActivePanel($scope.panels, 'general-data');
$scope.selectedItem = undefined;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/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 e45d79c..570722b 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
@@ -33,6 +33,8 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$commo
$scope.tableSimpleDown = $table.tableSimpleDown;
$scope.tableSimpleDownVisible = $table.tableSimpleDownVisible;
+ $scope.hidePopover = $common.hidePopover;
+
$scope.templates = [
{value: {discovery: {kind: 'Multicast', Vm: {addresses: ['127.0.0.1:47500..47510']}, Multicast: {}}},label: 'multicast'},
{value: {discovery: {kind: 'Vm', Vm: {addresses: ['127.0.0.1:47500..47510']}}}, label: 'local'}
@@ -209,7 +211,7 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$commo
// Add new cluster.
$scope.createItem = function () {
$table.tableReset();
- $common.ensureActivePanel($scope.panels, 0);
+ $common.ensureActivePanel($scope.panels, "general-data");
$scope.selectedItem = undefined;
@@ -226,37 +228,35 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$commo
// Check cluster logical consistency.
function validate(item) {
- var pnls = $scope.panels;
-
if ($common.isEmptyString(item.name))
- return $common.showPopoverMessage(pnls, 0, 'clusterName', 'Name should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'clusterName', 'Name should not be empty');
if (item.discovery.kind == 'Vm' && item.discovery.Vm.addresses.length == 0)
- return $common.showPopoverMessage(pnls, 0, 'addresses', 'Addresses are not specified');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'addresses', 'Addresses are not specified');
if (item.discovery.kind == 'S3' && $common.isEmptyString(item.discovery.S3.bucketName))
- return $common.showPopoverMessage(pnls, 0, 'bucketName', 'Bucket name should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'bucketName', 'Bucket name should not be empty');
if (item.discovery.kind == 'Cloud') {
if ($common.isEmptyString(item.discovery.Cloud.identity))
- return $common.showPopoverMessage(pnls, 0, 'identity', 'Identity should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'identity', 'Identity should not be empty');
if ($common.isEmptyString(item.discovery.Cloud.provider))
- return $common.showPopoverMessage(pnls, 0, 'provider', 'Provider should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'provider', 'Provider should not be empty');
}
if (item.discovery.kind == 'GoogleStorage') {
if ($common.isEmptyString(item.discovery.GoogleStorage.projectName))
- return $common.showPopoverMessage(pnls, 0, 'projectName', 'Project name should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'projectName', 'Project name should not be empty');
if ($common.isEmptyString(item.discovery.GoogleStorage.bucketName))
- return $common.showPopoverMessage(pnls, 0, 'bucketName', 'Bucket name should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'bucketName', 'Bucket name should not be empty');
if ($common.isEmptyString(item.discovery.GoogleStorage.serviceAccountP12FilePath))
- return $common.showPopoverMessage(pnls, 0, 'serviceAccountP12FilePath', 'Private key path should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'serviceAccountP12FilePath', 'Private key path should not be empty');
if ($common.isEmptyString(item.discovery.GoogleStorage.serviceAccountId))
- return $common.showPopoverMessage(pnls, 0, 'serviceAccountId', 'Account ID should not be empty');
+ return $common.showPopoverMessage($scope.panels, 'general-data', 'serviceAccountId', 'Account ID should not be empty');
}
if (!item.swapSpaceSpi || !item.swapSpaceSpi.kind && item.caches) {
@@ -269,7 +269,7 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$commo
if (cache.swapEnabled) {
$scope.ui.expanded = true;
- return $common.showPopoverMessage(pnls, 8, 'swapSpaceSpi',
+ return $common.showPopoverMessage($scope.panels, 'swap-data', 'swapSpaceSpi',
'Swap space SPI is not configured, but cache "' + cache.label + '" configured to use swap!');
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/common-module.js b/modules/control-center-web/src/main/js/controllers/common-module.js
index 68e6d97..41526c5 100644
--- a/modules/control-center-web/src/main/js/controllers/common-module.js
+++ b/modules/control-center-web/src/main/js/controllers/common-module.js
@@ -393,18 +393,24 @@ controlCenterModule.service('$common', [
var popover = null;
- function ensureActivePanel(panels, pnlIdx) {
+ function ensureActivePanel(panels, id) {
if (panels) {
- var activePanels = panels.activePanels;
+ var idx = _.findIndex($('div.panel-collapse'), function(pnl) {
+ return pnl.id == id;
+ });
+
+ if (idx >= 0) {
+ var activePanels = panels.activePanels;
- if (!activePanels || activePanels.length < 1)
- panels.activePanels = [pnlIdx];
- else if (!_.contains(activePanels, pnlIdx)) {
- var newActivePanels = activePanels.slice();
+ if (!activePanels || activePanels.length < 1)
+ panels.activePanels = [idx];
+ else if (!_.contains(activePanels, idx)) {
+ var newActivePanels = activePanels.slice();
- newActivePanels.push(pnlIdx);
+ newActivePanels.push(idx);
- panels.activePanels = newActivePanels;
+ panels.activePanels = newActivePanels;
+ }
}
}
}
@@ -531,11 +537,11 @@ controlCenterModule.service('$common', [
return result;
},
- ensureActivePanel: function (panels, pnlIdx) {
- ensureActivePanel(panels, pnlIdx);
+ ensureActivePanel: function (panels, id) {
+ ensureActivePanel(panels, id);
},
- showPopoverMessage: function (panels, panelIndex, id, message) {
- ensureActivePanel(panels, panelIndex);
+ showPopoverMessage: function (panels, panelId, id, message) {
+ ensureActivePanel(panels, panelId);
var el = $('body').find('#' + id);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/controllers/metadata-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/metadata-controller.js b/modules/control-center-web/src/main/js/controllers/metadata-controller.js
index cb2e6dd..a460be7 100644
--- a/modules/control-center-web/src/main/js/controllers/metadata-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/metadata-controller.js
@@ -324,7 +324,7 @@ controlCenterModule.controller('metadataController', [
// Add new metadata.
$scope.createItem = function () {
$table.tableReset();
- $common.ensureActivePanel($scope.panels, 0);
+ $common.ensureActivePanel($scope.panels, 'metadata-data');
$scope.selectedItem = undefined;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/caches.json b/modules/control-center-web/src/main/js/controllers/models/caches.json
index 78f9c84..5046fd7 100644
--- a/modules/control-center-web/src/main/js/controllers/models/caches.json
+++ b/modules/control-center-web/src/main/js/controllers/models/caches.json
@@ -20,6 +20,7 @@
"general": [
{
"label": "General",
+ "id": "general-data",
"fields": [
{
"label": "Name",
@@ -30,6 +31,20 @@
"id": "defaultFocusId"
},
{
+ "label": "Clusters",
+ "type": "dropdown-multiple",
+ "model": "clusters",
+ "placeholder": "Choose clusters",
+ "items": "clusters",
+ "tip": [
+ "Select clusters to start in cluster or add a new cluster."
+ ],
+ "addLink": {
+ "label": "Add cluster(s)",
+ "ref": "/configuration/clusters"
+ }
+ },
+ {
"label": "Mode",
"type": "select",
"model": "mode",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json
index 288800d..1c5afd5 100644
--- a/modules/control-center-web/src/main/js/controllers/models/clusters.json
+++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json
@@ -655,6 +655,7 @@
},
{
"label": "Swap",
+ "id": "swap-data",
"tip": [
"Settings for overflow data to disk if it cannot fit in memory."
],
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/metadata.json b/modules/control-center-web/src/main/js/controllers/models/metadata.json
index aeec92b..74f8724 100644
--- a/modules/control-center-web/src/main/js/controllers/models/metadata.json
+++ b/modules/control-center-web/src/main/js/controllers/models/metadata.json
@@ -27,6 +27,7 @@
"metadata": [
{
"label": "Metadata common",
+ "id": "metadata-data",
"tip": [
"Metadata properties common to Query and Store."
],
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/modules/control-center-web/src/main/js/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/clusters.jade b/modules/control-center-web/src/main/js/views/configuration/clusters.jade
index bd01786..01dcc19 100644
--- a/modules/control-center-web/src/main/js/views/configuration/clusters.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/clusters.jade
@@ -43,5 +43,5 @@ block content
+advanced-options-top
.section
button.btn.btn-primary(ng-click='saveItem()') Save
- button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Copy
+ button.btn.btn-primary(ng-show='backupItem._id' ng-click='saveItemAs()') Copy
button.btn.btn-primary(ng-show='backupItem._id' ng-click='removeItem()') Remove
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1363b0b9/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 dd8b50b..6bffa21 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
@@ -430,8 +430,8 @@ mixin group(title, fields, dataSource)
.panel.panel-default
.panel-heading
h3
- a(bs-collapse-toggle) #{title}
- .panel-collapse(bs-collapse-target)
+ a(bs-collapse-toggle ng-click='hidePopover()') #{title}
+ .panel-collapse(bs-collapse-target id='#{fields + "-data"}' number='0')
.panel-body
.settings-row(ng-repeat='field in #{fields}')
+form-row(dataSource)
@@ -440,10 +440,10 @@ mixin groups(groups, dataSource)
.panel.panel-default(ng-repeat='group in #{groups}' ng-click='triggerDigest=true')
.panel-heading
h3
- a(bs-collapse-toggle) {{::group.label}}
+ a(bs-collapse-toggle ng-click='hidePopover()') {{::group.label}}
i.tipLabel.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
i.tipLabel.fa.fa-question-circle.blank(ng-if='!group.tip')
- .panel-collapse(role='tabpanel' bs-collapse-target)
+ .panel-collapse(role='tabpanel' bs-collapse-target id='{{::group.id}}' number='{{::group.number}}')
.panel-body
.settings-row(ng-repeat='field in group.fields')
+form-row(dataSource)