You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by se...@apache.org on 2015/07/24 15:46:12 UTC
[01/16] incubator-ignite git commit: IGNITE-843: Updated screen tips.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-1121 8e050e9fa -> 3e8a935d8
IGNITE-843: Updated screen tips.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e4c04705
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e4c04705
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e4c04705
Branch: refs/heads/ignite-1121
Commit: e4c047051abd838d841373c553e34e425bbc7ac7
Parents: 14fa6f6
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 15:42:42 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 15:42:42 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/models/caches.json | 2 +-
.../src/main/js/controllers/models/clusters.json | 2 +-
.../src/main/js/controllers/models/metadata.json | 8 ++++----
.../src/main/js/controllers/models/summary.json | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e4c04705/modules/web-control-center/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/caches.json b/modules/web-control-center/src/main/js/controllers/models/caches.json
index 0ffc9d4..13c5985 100644
--- a/modules/web-control-center/src/main/js/controllers/models/caches.json
+++ b/modules/web-control-center/src/main/js/controllers/models/caches.json
@@ -1,6 +1,6 @@
{
"screenTip": {
- "workflowTitle": "Use Caches view to:",
+ "workflowTitle": "Use caches view to:",
"workflowContent": [
"<ul>",
" <li>Configure caches.</li>",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e4c04705/modules/web-control-center/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/clusters.json b/modules/web-control-center/src/main/js/controllers/models/clusters.json
index d6d7d23..e90094e 100644
--- a/modules/web-control-center/src/main/js/controllers/models/clusters.json
+++ b/modules/web-control-center/src/main/js/controllers/models/clusters.json
@@ -1,6 +1,6 @@
{
"screenTip": {
- "workflowTitle": "Use Clusters view to:",
+ "workflowTitle": "Use clusters view to:",
"workflowContent": [
"<ul>",
" <li>Configure clusters.</li>",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e4c04705/modules/web-control-center/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/metadata.json b/modules/web-control-center/src/main/js/controllers/models/metadata.json
index 3248f7a..516fb6e 100644
--- a/modules/web-control-center/src/main/js/controllers/models/metadata.json
+++ b/modules/web-control-center/src/main/js/controllers/models/metadata.json
@@ -1,16 +1,16 @@
{
"screenTip": {
- "workflowTitle": "Use Cache Type Metadata view to:",
+ "workflowTitle": "Use metadata view to:",
"workflowContent": [
"<ul>",
- " <li>Manually configure metadata for queries and/or store.</li>",
- " <li>Configure metadata from database tables metadata.</li>",
+ " <li>Manually configure metadata for queries and persistence.</li>",
+ "Or",
+ " <li>Automatically configure metadata from database schema.</li>",
"</ul>"
],
"whatsNextTitle": "What's next:",
"whatsNextContent": [
"<ul>",
- " <li>Configure clusters.</li>",
" <li>Associate caches with metadata.</li>",
" <li>Generate XML and java code on Summary view.</li>",
"</ul>"
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e4c04705/modules/web-control-center/src/main/js/controllers/models/summary.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/summary.json b/modules/web-control-center/src/main/js/controllers/models/summary.json
index 056291c..29edb3d 100644
--- a/modules/web-control-center/src/main/js/controllers/models/summary.json
+++ b/modules/web-control-center/src/main/js/controllers/models/summary.json
@@ -1,6 +1,6 @@
{
"screenTip": {
- "workflowTitle": "Use Summary view to:",
+ "workflowTitle": "Use summary view to:",
"workflowContent": [
"<ul>",
" <li>See XML and java code for server nodes configurations.</li>",
[02/16] incubator-ignite git commit: IGNITE-843: Fixed remove items
from groups.
Posted by se...@apache.org.
IGNITE-843: Fixed remove items from groups.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/bbee7131
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/bbee7131
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/bbee7131
Branch: refs/heads/ignite-1121
Commit: bbee7131543c8f66be954fe8d313aca2e41110a7
Parents: e4c0470
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 15:43:23 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 15:43:23 2015 +0700
----------------------------------------------------------------------
.../main/js/controllers/metadata-controller.js | 22 ++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bbee7131/modules/web-control-center/src/main/js/controllers/metadata-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/metadata-controller.js b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
index 74ece5c..bf58fe2 100644
--- a/modules/web-control-center/src/main/js/controllers/metadata-controller.js
+++ b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
@@ -552,16 +552,30 @@ controlCenterModule.controller('metadataController', ['$scope', '$http', '$commo
};
$scope.tableGroupNewItemActive = function (groupIndex) {
- var groupName = $scope.backupItem.groups[groupIndex].name;
+ var groups = $scope.backupItem.groups;
+
+ if (groups) {
+ var group = groups[groupIndex];
+
+ if (group) {
+ var groupName = group.name;
+
+ return $table.tableNewItemActive({model: groupName});
+ }
+ }
- return $table.tableNewItemActive({model: groupName});
+ return false;
};
$scope.tableGroupItemEditing = function (groupIndex, index) {
var groups = $scope.backupItem.groups;
- if (groups)
- return $table.tableEditing({model: groups[groupIndex].name}, index);
+ if (groups) {
+ var group = groups[groupIndex];
+
+ if (group)
+ return $table.tableEditing({model: group.name}, index);
+ }
return false;
};
[12/16] incubator-ignite git commit: #ignite-843 Minor fix.
Posted by se...@apache.org.
#ignite-843 Minor fix.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/95f54db0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/95f54db0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/95f54db0
Branch: refs/heads/ignite-1121
Commit: 95f54db083cec2429129f79b9de6d180233979ec
Parents: 3c6f5383
Author: Andrey <an...@gridgain.com>
Authored: Fri Jul 24 10:01:10 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Jul 24 10:01:10 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/src/main/js/views/sql/sql.jade | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/95f54db0/modules/web-control-center/src/main/js/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/sql/sql.jade b/modules/web-control-center/src/main/js/views/sql/sql.jade
index 6957be1..864b0d5 100644
--- a/modules/web-control-center/src/main/js/views/sql/sql.jade
+++ b/modules/web-control-center/src/main/js/views/sql/sql.jade
@@ -66,11 +66,9 @@ block container
tr(style='border-size: 0')
td(colspan='{{#{tab}.cols.length}}')
.col-sm-8
- lable Page results:
- b {{#{tab}.rows.length}}
- | Page #:
+ lable Page #:
b {{#{tab}.page}}
- | Total results:
+ | Results:
b {{#{tab}.rows.length + #{tab}.total}}
.col-sm-4
button.btn.btn-primary.fieldButton(ng-click='') Next page
[06/16] incubator-ignite git commit: Merge remote-tracking branch
'origin/ignite-843' into ignite-843
Posted by se...@apache.org.
Merge remote-tracking branch 'origin/ignite-843' into ignite-843
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f4e3a14f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f4e3a14f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f4e3a14f
Branch: refs/heads/ignite-1121
Commit: f4e3a14f78258561964063a7d097cbc7b14c7937
Parents: c4a6ad5 0631417
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 16:39:28 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 16:39:28 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/src/main/js/package.json | 4 +---
.../web-control-center/src/main/js/public/stylesheets/style.less | 3 +--
2 files changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
[09/16] incubator-ignite git commit: Merge remote-tracking branch
'origin/ignite-843' into ignite-843
Posted by se...@apache.org.
Merge remote-tracking branch 'origin/ignite-843' into ignite-843
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/698d7792
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/698d7792
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/698d7792
Branch: refs/heads/ignite-1121
Commit: 698d7792ce6ed7a4626e5a85739fbee81300c973
Parents: 9101d1f e795ef4
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 23 18:11:37 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 23 18:11:37 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/models/caches.json | 6 ++
.../main/js/controllers/models/clusters.json | 6 ++
.../main/js/controllers/models/metadata.json | 10 ++
.../src/main/js/views/includes/controls.jade | 98 ++++++++++----------
4 files changed, 71 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
[14/16] incubator-ignite git commit: # ignite-843 Minor fix.
Posted by se...@apache.org.
# ignite-843 Minor fix.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b6911afe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b6911afe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b6911afe
Branch: refs/heads/ignite-1121
Commit: b6911afe62b4b014c84b811081b4def6cd6e3a2e
Parents: 6b58c47
Author: Andrey <an...@gridgain.com>
Authored: Fri Jul 24 13:45:22 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Jul 24 13:45:22 2015 +0700
----------------------------------------------------------------------
.../src/main/js/views/configuration/summary.jade | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b6911afe/modules/web-control-center/src/main/js/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/summary.jade b/modules/web-control-center/src/main/js/views/configuration/summary.jade
index 688f85e..8e19b7c 100644
--- a/modules/web-control-center/src/main/js/views/configuration/summary.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/summary.jade
@@ -46,11 +46,11 @@ block content
| it.
.padding-dflt(ng-if='clusters.length > 0')
lable.labelHeader Clusters:
- table.links(st-table='clusters')
- tbody
- tr(ng-repeat='row in clusters track by row._id')
- td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
- a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
+ table.links(st-table='clusters')
+ tbody
+ tr(ng-repeat='row in clusters track by row._id')
+ td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
+ a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
div(ng-show='selectedItem' role="tab" method='post' action='summary/download')
.padding-dflt(bs-collapse data-start-collapsed='false')
.panel.panel-default
[03/16] incubator-ignite git commit: IGNITE-843: Fixed tooltip
trigger for remove button.
Posted by se...@apache.org.
IGNITE-843: Fixed tooltip trigger for remove button.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/419dde3a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/419dde3a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/419dde3a
Branch: refs/heads/ignite-1121
Commit: 419dde3a61dc9fcee1a53d62a8f4d510212e0a94
Parents: bbee713
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 15:43:51 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 15:43:51 2015 +0700
----------------------------------------------------------------------
.../web-control-center/src/main/js/views/includes/controls.jade | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/419dde3a/modules/web-control-center/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/includes/controls.jade b/modules/web-control-center/src/main/js/views/includes/controls.jade
index d8bf89e..2318370 100644
--- a/modules/web-control-center/src/main/js/views/includes/controls.jade
+++ b/modules/web-control-center/src/main/js/views/includes/controls.jade
@@ -44,7 +44,7 @@ mixin btn-add(click)
i.tipField.fa.fa-plus(ng-click=click bs-tooltip data-title='Add new item')
mixin btn-remove(click)
- i.tipField.fa.fa-remove(ng-click=click bs-tooltip data-title='Remove item')
+ i.tipField.fa.fa-remove(ng-click=click bs-tooltip data-title='Remove item' data-trigger='hover')
mixin btn-up(show, click)
i.tipField.fa.fa-arrow-up(ng-show=show ng-click=click bs-tooltip data-title='Move item up')
[08/16] incubator-ignite git commit: #ignite-843 Backport sql from
ignite-1121
Posted by se...@apache.org.
#ignite-843 Backport sql from ignite-1121
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/9101d1f3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9101d1f3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9101d1f3
Branch: refs/heads/ignite-1121
Commit: 9101d1f366cb779d654f9e6dd31711c48748f807
Parents: f4e3a14
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 23 18:10:55 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 23 18:10:55 2015 +0700
----------------------------------------------------------------------
.../main/js/controllers/summary-controller.js | 6 ++
.../src/main/js/public/stylesheets/style.less | 39 +++++++++-
.../src/main/js/routes/public.js | 4 +-
.../main/js/views/configuration/summary.jade | 80 ++++++++++----------
.../src/main/js/views/includes/header.jade | 2 +-
.../src/main/js/views/templates/layout.jade | 2 +-
6 files changed, 85 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9101d1f3/modules/web-control-center/src/main/js/controllers/summary-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/summary-controller.js b/modules/web-control-center/src/main/js/controllers/summary-controller.js
index 1291683..531dc83 100644
--- a/modules/web-control-center/src/main/js/controllers/summary-controller.js
+++ b/modules/web-control-center/src/main/js/controllers/summary-controller.js
@@ -52,6 +52,12 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common
editor.setReadOnly(true);
editor.setOption("highlightActiveLine", false);
+ var renderer = editor.renderer;
+
+ renderer.setHighlightGutterLine(false);
+ renderer.setShowPrintMargin(false);
+ renderer.setOption('fontSize', '14px');
+
editor.setTheme('ace/theme/chrome');
};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9101d1f3/modules/web-control-center/src/main/js/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/public/stylesheets/style.less b/modules/web-control-center/src/main/js/public/stylesheets/style.less
index 850fc20..515371c 100644
--- a/modules/web-control-center/src/main/js/public/stylesheets/style.less
+++ b/modules/web-control-center/src/main/js/public/stylesheets/style.less
@@ -594,7 +594,7 @@ h1.ignite-logo {
}
.greedy {
- min-height: 200px;
+ min-height: 100%;
height: ~"calc(100vh - 290px)";
}
@@ -814,6 +814,27 @@ button .caret, .btn .caret {
}
}
+.theme-line table.sql-results {
+ [class*="col-"] {
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+ }
+
+ td {
+ padding: 3px 6px;
+ }
+
+ > thead > tr > td {
+ padding: 3px 0;
+ }
+
+ thead > tr > th {
+ padding: 3px 6px;
+
+ line-height: @input-height;
+ }
+}
+
.panel-title a {
font-size: 14px;
}
@@ -1062,7 +1083,7 @@ input.ng-dirty.ng-invalid, button.ng-dirty.ng-invalid {
margin-top: 10px;
}
-.configBox .nav > li > a {
+.nav-tabs > li > a {
padding: 5px 5px;
}
@@ -1175,7 +1196,19 @@ a {
}
.ace_editor, #ace_document {
+ margin: 0.65em 0 0 0;
+
width: 100%;
height: 400px;
-}
+ .ace_gutter {
+ background: transparent !important;
+ border: 1px #ddd;
+ border-right-style: solid;
+ }
+
+ .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell {
+ padding-left: 0.65em;
+ padding-right: 0.9em;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9101d1f3/modules/web-control-center/src/main/js/routes/public.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/routes/public.js b/modules/web-control-center/src/main/js/routes/public.js
index 290ba90..b3cb983 100644
--- a/modules/web-control-center/src/main/js/routes/public.js
+++ b/modules/web-control-center/src/main/js/routes/public.js
@@ -24,7 +24,7 @@ router.get('/select', function (req, res) {
res.render('templates/select', {});
});
-// GET tabs template.
+// GET dynamic tabs template.
router.get('/tab', function (req, res) {
res.render('templates/tab', {});
});
@@ -34,7 +34,7 @@ router.get('/confirm', function (req, res) {
res.render('templates/confirm', {});
});
-// GET save as dialog.
+// GET copy dialog.
router.get('/copy', function (req, res) {
res.render('templates/copy', {});
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9101d1f3/modules/web-control-center/src/main/js/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/summary.jade b/modules/web-control-center/src/main/js/views/configuration/summary.jade
index 6f2f6d8..0370ef4 100644
--- a/modules/web-control-center/src/main/js/views/configuration/summary.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/summary.jade
@@ -63,33 +63,32 @@ block content
a(bs-collapse-toggle) Server
button.btn.btn-primary.pull-right(type='submit' style='margin-top: -5px') Download
.panel-collapse(role="tabpanel" bs-collapse-target)
- .panel-body
- .configBox(ng-show='selectedItem' bs-tabs)
- div(title='<img src="/images/xml.png" width="16px" height="16px"/> XML' bs-pane)
- .configBox(ui-ace='{ onLoad: aceInit, mode: "xml" }' ng-model='xmlServer' style='margin: 0.65em 0;')
- div(title='<img src="/images/java.png" width="16px" height="16px"/> Java' bs-pane)
- .settings-row
- .col-sm-1
- label Generate:
- .col-sm-3
- button.form-control(type='button' ng-model='configServer.javaClassServer' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
- .configBox(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaServer')
- div(title='<img src="/images/docker.png" width="16px" height="16px"/> Dockerfile' bs-pane)
- .settings-row
- p
- +hard-link('https://docs.docker.com/reference/builder', 'Docker')
- | file is a text file with instructions to create Docker image.<br/>
- | To build image you have to store following Docker file with your Ignite XML configuration to the same directory.<br>
- | Also you could use predefined
- +hard-link('https://ignite.incubator.apache.org/download.html#docker', 'Apache Ignite docker image')
- | . For more information about using Ignite with Docker please read
- +hard-link('http://apacheignite.readme.io/docs/docker-deployment', 'documentation')
- |.
- .col-sm-2
- label(for='os') Operation System:
- .col-sm-4
- input#os.form-control(type='text', ng-model='configServer.os' placeholder='debian:8' data-min-length="0" data-html="1" data-auto-select="true" data-animation="am-flip-x" bs-typeahead bs-options='os for os in oss')
- div(ui-ace='{ onLoad: aceInit, mode: "dockerfile" }' ng-model='dockerServer')
+ div(ng-show='selectedItem' bs-tabs style='margin-top: 0.65em')
+ div(title='<img src="/images/xml.png" width="16px" height="16px"/> XML' bs-pane)
+ div(ui-ace='{ onLoad: aceInit, mode: "xml" }' ng-model='xmlServer')
+ div(title='<img src="/images/java.png" width="16px" height="16px"/> Java' bs-pane)
+ .details-row
+ .col-sm-1
+ label Generate:
+ .col-sm-3
+ button.form-control(type='button' ng-model='configServer.javaClassServer' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
+ div(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaServer')
+ div(title='<img src="/images/docker.png" width="16px" height="16px"/> Dockerfile' bs-pane)
+ .details-row
+ p
+ +hard-link('https://docs.docker.com/reference/builder', 'Docker')
+ | file is a text file with instructions to create Docker image.<br/>
+ | To build image you have to store following Docker file with your Ignite XML configuration to the same directory.<br>
+ | Also you could use predefined
+ +hard-link('https://ignite.incubator.apache.org/download.html#docker', 'Apache Ignite docker image')
+ | . For more information about using Ignite with Docker please read
+ +hard-link('http://apacheignite.readme.io/docs/docker-deployment', 'documentation')
+ |.
+ .col-sm-2
+ label(for='os') Operation System:
+ .col-sm-4
+ input#os.form-control(type='text', ng-model='configServer.os' placeholder='debian:8' data-min-length="0" data-html="1" data-auto-select="true" data-animation="am-flip-x" bs-typeahead bs-options='os for os in oss')
+ div(ui-ace='{ onLoad: aceInit, mode: "dockerfile" }' ng-model='dockerServer')
.padding-dflt(bs-collapse data-start-collapsed='false')
.panel.panel-default
form.panel-heading(role='tab' method='post' action='summary/download')
@@ -101,17 +100,16 @@ block content
a(bs-collapse-toggle) Client
button.btn.btn-primary.pull-right(type='submit' style='margin-top: -5px') Download
.panel-collapse(role="tabpanel" bs-collapse-target)
- .panel-body
- div(ng-show='selectedItem')
- .settings-row(ng-repeat='field in clientFields')
- +form-row-custom(['col-sm-3'], ['col-sm-3'])
- .configBox(bs-tabs)
- div(title='<img src="/images/xml.png" width="16px" height="16px"/> XML' bs-pane)
- .configBox(ui-ace='{ onLoad: aceInit, mode: "xml" }' ng-model='xmlClient' style='margin: 0.65em 0;')
- div(title='<img src="/images/java.png" width="16px" height="16px"/> Java' bs-pane)
- .settings-row
- .col-sm-1
- label Generate:
- .col-sm-4
- button.form-control(type='button' ng-model='backupItem.javaClassClient' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
- div(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaClient')
+ div(ng-show='selectedItem')
+ .details-row(ng-repeat='field in clientFields')
+ +form-row-custom(['col-sm-3'], ['col-sm-3'])
+ div(bs-tabs style='margin-top: 0.65em')
+ div(title='<img src="/images/xml.png" width="16px" height="16px"/> XML' bs-pane)
+ div(ui-ace='{ onLoad: aceInit, mode: "xml" }' ng-model='xmlClient')
+ div(title='<img src="/images/java.png" width="16px" height="16px"/> Java' bs-pane)
+ .details-row
+ .col-sm-1
+ label Generate:
+ .col-sm-4
+ button.form-control(type='button' ng-model='backupItem.javaClassClient' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
+ div(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaClient')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9101d1f3/modules/web-control-center/src/main/js/views/includes/header.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/includes/header.jade b/modules/web-control-center/src/main/js/views/includes/header.jade
index ab2d31e..bfd5275 100644
--- a/modules/web-control-center/src/main/js/views/includes/header.jade
+++ b/modules/web-control-center/src/main/js/views/includes/header.jade
@@ -29,7 +29,7 @@ header.header(id='header')
ul.nav.navbar-nav(ng-controller='activeLink' ng-show='user')
+header-item('/configuration', '/configuration/clusters', 'Configuration')
//+header-item('/monitoring', '/monitoring', 'Monitoring')
- //+header-item('/sql', '/sql', 'SQL')
+ +header-item('/sql', '/sql', 'SQL')
//+header-item('/deploy', '/deploy', 'Deploy')
ul.nav.navbar-nav.pull-right
li(ng-if='user')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9101d1f3/modules/web-control-center/src/main/js/views/templates/layout.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/templates/layout.jade b/modules/web-control-center/src/main/js/views/templates/layout.jade
index a4191ae..8fbcd7e 100644
--- a/modules/web-control-center/src/main/js/views/templates/layout.jade
+++ b/modules/web-control-center/src/main/js/views/templates/layout.jade
@@ -49,7 +49,7 @@ html(ng-app='ignite-web-control-center', ng-init='user = #{JSON.stringify(user)}
script(src='/common-module.js')
script(src='/data-structures.js')
- body.theme-line.body-overlap
+ body.theme-line.body-overlap.greedy
.wrapper
include ../includes/header
[11/16] incubator-ignite git commit: IGNITE-843: Fixed metadata
"both" mode.
Posted by se...@apache.org.
IGNITE-843: Fixed metadata "both" mode.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3c6f5383
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3c6f5383
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3c6f5383
Branch: refs/heads/ignite-1121
Commit: 3c6f5383a00f335f965b6e03024e8e132f089bc5
Parents: 07d9499
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 18:20:25 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 18:20:25 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/models/metadata.json | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3c6f5383/modules/web-control-center/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/metadata.json b/modules/web-control-center/src/main/js/controllers/models/metadata.json
index bd6d7a0..b002aeb 100644
--- a/modules/web-control-center/src/main/js/controllers/models/metadata.json
+++ b/modules/web-control-center/src/main/js/controllers/models/metadata.json
@@ -50,7 +50,7 @@
"label": "Database schema",
"type": "text",
"model": "databaseSchema",
- "hide": "backupItem.kind == 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind == 'query'",
"placeholder": "Input DB schema name",
"tip": [
"Schema name in database."
@@ -60,7 +60,7 @@
"label": "Database table",
"type": "text",
"model": "databaseTable",
- "hide": "backupItem.kind == 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind == 'query'",
"placeholder": "Input DB table name",
"tip": [
"Table name in database."
@@ -92,7 +92,7 @@
"model": "keyFields",
"keyName": "name",
"valueName": "className",
- "hide": "backupItem.kind == 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind == 'query'",
"tip": [
"Collection of key fields descriptions for CacheJdbcPojoStore."
]
@@ -103,7 +103,7 @@
"model": "valueFields",
"keyName": "name",
"valueName": "className",
- "hide": "backupItem.kind == 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind == 'query'",
"tip": [
"Collection of value fields descriptions for CacheJdbcPojoStore.."
]
@@ -114,7 +114,7 @@
"model": "queryFields",
"keyName": "name",
"valueName": "className",
- "hide": "backupItem.kind != 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind != 'query'",
"addTip": "Add field to query.",
"removeTip": "Remove field.",
"tip": [
@@ -127,7 +127,7 @@
"model": "ascendingFields",
"keyName": "name",
"valueName": "className",
- "hide": "backupItem.kind != 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind != 'query'",
"addTip": "Add field to index in ascending order.",
"removeTip": "Remove field.",
"tip": [
@@ -140,7 +140,7 @@
"model": "descendingFields",
"keyName": "name",
"valueName": "className",
- "hide": "backupItem.kind != 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind != 'query'",
"addTip": "Add field to index in descending order.",
"removeTip": "Remove field.",
"tip": [
@@ -151,7 +151,7 @@
"label": "Text fields",
"type": "table-simple",
"model": "textFields",
- "hide": "backupItem.kind != 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind != 'query'",
"placeholder": "Field name",
"addTip": "Add field to index as text.",
"removeTip": "Remove field.",
@@ -166,7 +166,7 @@
"label": "Groups",
"type": "queryGroups",
"model": "groups",
- "hide": "backupItem.kind != 'query'",
+ "hide": "backupItem.kind != 'both' && backupItem.kind != 'query'",
"addTip": "Add new group index.",
"removeTip": "Remove group.",
"tip": [
[10/16] incubator-ignite git commit: #ignite-843 Backport sql from
ignite-1121
Posted by se...@apache.org.
#ignite-843 Backport sql from ignite-1121
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/07d94999
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/07d94999
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/07d94999
Branch: refs/heads/ignite-1121
Commit: 07d9499941d78856397c75ebce28fbb7a48935f4
Parents: 698d779
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 23 18:14:56 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 23 18:14:56 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/models/sql.json | 5 ++
.../src/main/js/controllers/sql-controller.js | 84 ++++++++++++++++++++
.../src/main/js/views/sql/sql.jade | 84 ++++++++++++++++++++
.../src/main/js/views/templates/tab.jade | 26 ++++++
4 files changed, 199 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/07d94999/modules/web-control-center/src/main/js/controllers/models/sql.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/sql.json b/modules/web-control-center/src/main/js/controllers/models/sql.json
new file mode 100644
index 0000000..bcb03e0
--- /dev/null
+++ b/modules/web-control-center/src/main/js/controllers/models/sql.json
@@ -0,0 +1,5 @@
+{
+ "screenTip": [
+ "Select cache and execute SQL queries."
+ ]
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/07d94999/modules/web-control-center/src/main/js/controllers/sql-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/sql-controller.js b/modules/web-control-center/src/main/js/controllers/sql-controller.js
new file mode 100644
index 0000000..12772c6
--- /dev/null
+++ b/modules/web-control-center/src/main/js/controllers/sql-controller.js
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var demoResults = [
+ {
+ id: 256,
+ firstName: 'Ivan',
+ lastName: 'Ivanov'
+ },
+ {
+ id: 384,
+ firstName: 'Sergey',
+ lastName: 'Petrov'
+ },
+ {
+ id: 923,
+ firstName: 'Andrey',
+ lastName: 'Sidorov'
+ }
+];
+
+var demoCaches = [{_id: '1', name: 'Users', mode: 'LOCAL'}, {_id: '2', name: 'Organizations', mode: 'REPLICATED'}, {_id: '3', name: 'Cities', mode: 'PARTITIONED'}];
+
+
+
+controlCenterModule.controller('sqlController', ['$scope', '$http', '$common', function ($scope, $http, $common) {
+ $scope.joinTip = $common.joinTip;
+
+ $scope.pageSizes = [50, 100, 200, 400, 800, 1000];
+
+ $scope.tabs = [
+ {
+ query: "SELECT u.id, u.firstName, u.lastName FROM User u WHERE u.name LIKE 'aaaa'",
+ cols: Object.keys(demoResults[0]),
+ page: 1,
+ hasMore: true,
+ total: 0,
+ rows: demoResults
+ },
+ {query: "SELECT * FROM Organization"}
+ ];
+
+ $scope.addTab = function() {
+ console.log('addTab');
+
+ $scope.tabs.push({query: "SELECT "});
+ };
+
+ $scope.removeTab = function(idx) {
+ console.log('removeTab');
+
+ $scope.tabs.splice(idx, 1);
+ };
+
+ $scope.modes = [
+ {value: 'PARTITIONED', label: 'PARTITIONED'},
+ {value: 'REPLICATED', label: 'REPLICATED'},
+ {value: 'LOCAL', label: 'LOCAL'}
+ ];
+
+ $http.get('/models/sql.json')
+ .success(function (data) {
+ $scope.screenTip = data.screenTip;
+ })
+ .error(function (errMsg) {
+ $common.showError(errMsg);
+ });
+
+ $scope.caches = demoCaches;
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/07d94999/modules/web-control-center/src/main/js/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/sql/sql.jade b/modules/web-control-center/src/main/js/views/sql/sql.jade
new file mode 100644
index 0000000..6957be1
--- /dev/null
+++ b/modules/web-control-center/src/main/js/views/sql/sql.jade
@@ -0,0 +1,84 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+extends ../templates/layout
+
+append scripts
+ script(src='/sql-controller.js')
+
+ script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/theme-chrome.js')
+ script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-sql.js')
+ script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ext-language_tools.js')
+
+block container
+ .row
+ .col-sm-12
+ .docs-content
+ .docs-header
+ h1 Connect to Ignite and Execute SQL Queries
+ hr
+ .docs-body(ng-controller='sqlController')
+ - var tab = 'tabs[tabs.activeIdx]'
+
+ .block-callout-parent.block-callout-border.margin-bottom-dflt
+ .block-callout
+ p(ng-bind-html='joinTip(screenTip)')
+ .tabs-below(bs-tabs bs-active-pane='tabs.activeIdx' data-template='/tab')
+ div(ng-repeat='tab in tabs' title='Query' bs-pane)
+ .row
+ .col-sm-9(style='border-right: 1px solid #eee')
+ div(style='height: 200px' ui-ace='{ theme: "chrome", mode: "sql",' +
+ 'require: ["ace/ext/language_tools"],' +
+ 'rendererOptions: {showPrintMargin: false, highlightGutterLine: false, fontSize: 14},' +
+ 'advanced: {enableSnippets: false, enableBasicAutocompletion: true, enableLiveAutocompletion: true}}' ng-model='#{tab}.query')
+ .col-sm-3
+ .links(ng-hide='caches.length == 0' style='margin-top: 0.65em')
+ lable.labelHeader Caches:
+ table(st-table='caches')
+ tbody
+ tr(ng-repeat='row in caches track by row._id')
+ td.col-sm-6(ng-class='{active: row._id == #{tab}.selectedItem._id}')
+ a(ng-click='#{tab}.selectedItem = row') {{$index + 1}}) {{row.name}}, {{row.mode | displayValue:modes:'Cache mode not set'}}
+ hr(style='margin: 0')
+ .settings-row
+ label Page Size:
+ button.btn.btn-default.base-control(ng-init='pageSize = pageSizes[0]' ng-model='pageSize' bs-options='item for item in pageSizes' bs-select)
+ .settings-row
+ button.btn.btn-primary(ng-click='') Explain
+ button.btn.btn-primary(ng-click='') Execute
+ button.btn.btn-primary(ng-click='' disabled) Scan
+
+ div(ng-show='#{tab}.rows.length > 0' style='margin-top: 0.65em')
+ hr
+ div
+ table.table.table-striped.col-sm-12.sql-results(st-table='rows' st-safe-src='#{tab}.rows')
+ thead
+ tr(style='border-size: 0')
+ td(colspan='{{#{tab}.cols.length}}')
+ .col-sm-8
+ lable Page results:
+ b {{#{tab}.rows.length}}
+ | Page #:
+ b {{#{tab}.page}}
+ | Total results:
+ b {{#{tab}.rows.length + #{tab}.total}}
+ .col-sm-4
+ button.btn.btn-primary.fieldButton(ng-click='') Next page
+ .input-tip
+ input.form-control(type='text' st-search='' placeholder='Filter...')
+
+ tr
+ th(ng-repeat='column in #{tab}.cols' st-sort='{{column}}') {{column}}
+ tbody
+ tr(ng-repeat='row in rows')
+ td(ng-repeat="column in #{tab}.cols") {{row[column]}}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/07d94999/modules/web-control-center/src/main/js/views/templates/tab.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/templates/tab.jade b/modules/web-control-center/src/main/js/views/templates/tab.jade
new file mode 100644
index 0000000..518c870
--- /dev/null
+++ b/modules/web-control-center/src/main/js/views/templates/tab.jade
@@ -0,0 +1,26 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ul.nav(ng-class='$navClass', role='tablist')
+ li(role='presentation', ng-repeat='$pane in $panes track by $index', ng-class="[ $isActive($pane, $index) ? $activeClass : '', $pane.disabled ? 'disabled' : '' ]")
+ a(ng-if='$index == 0' role='tab', data-toggle='tab', ng-click='!$pane.disabled && $setActive($pane.name || $index)', data-index='{{ $index }}', aria-controls='$pane.title') {{$pane.title}}
+ i.fa.fa-remove(ng-click='removeTab($index)' ng-if='$index > 0' style='margin-left: 5px')
+ a(ng-if='$index > 0' role='tab', data-toggle='tab', ng-click='!$pane.disabled && $setActive($pane.name || $index)', data-index='{{ $index }}', aria-controls='$pane.title') {{$pane.title}}: {{$index}}
+ i.fa.fa-remove(ng-click='removeTab($index)' style='margin-left: 5px')
+ li.pull-right(bs-tooltip data-title='Add new query')
+ a(role='tab', data-toggle='tab' ng-click='addTab()')
+ i.fa.fa-plus
+.tab-content(ng-transclude)
[13/16] incubator-ignite git commit: # ignite-843 Moved from less to
sass.
Posted by se...@apache.org.
# ignite-843 Moved from less to sass.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6b58c47d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6b58c47d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6b58c47d
Branch: refs/heads/ignite-1121
Commit: 6b58c47db04cb0671e8be1e62472a0db6f746e44
Parents: 95f54db
Author: Andrey <an...@gridgain.com>
Authored: Fri Jul 24 13:17:58 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Jul 24 13:17:58 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/src/main/js/app.js | 10 +-
.../web-control-center/src/main/js/package.json | 2 +-
.../src/main/js/public/stylesheets/style.less | 1214 -----------------
.../src/main/js/public/stylesheets/style.scss | 1270 ++++++++++++++++++
.../src/main/js/views/configuration/caches.jade | 4 +-
.../main/js/views/configuration/clusters.jade | 4 +-
.../main/js/views/configuration/metadata.jade | 4 +-
.../main/js/views/configuration/summary.jade | 3 +-
.../src/main/js/views/sql/sql.jade | 7 +-
9 files changed, 1289 insertions(+), 1229 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/app.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/app.js b/modules/web-control-center/src/main/js/app.js
index 8c347db..a67afc8 100644
--- a/modules/web-control-center/src/main/js/app.js
+++ b/modules/web-control-center/src/main/js/app.js
@@ -52,10 +52,12 @@ app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
-app.use(require('less-middleware')(path.join(__dirname, 'public'), {
- render: {
- compress: false
- }
+app.use(require('node-sass-middleware')({
+ /* Options */
+ src: path.join(__dirname, 'public'),
+ dest: path.join(__dirname, 'public'),
+ debug: true,
+ outputStyle: 'nested'
}));
app.use(express.static(path.join(__dirname, 'public')));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/package.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/package.json b/modules/web-control-center/src/main/js/package.json
index 7295755..ed06004 100644
--- a/modules/web-control-center/src/main/js/package.json
+++ b/modules/web-control-center/src/main/js/package.json
@@ -30,10 +30,10 @@
"express": "~4.12.2",
"express-session": "^1.11.1",
"jade": "~1.9.2",
- "less-middleware": "1.0.x",
"lodash": "3.10.0",
"mongoose": "^4.0.2",
"nconf": "^0.7.1",
+ "node-sass-middleware": "^0.9.0",
"passport": "^0.2.1",
"passport-local": "^1.0.0",
"passport-local-mongoose": "^1.0.0",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/public/stylesheets/style.less b/modules/web-control-center/src/main/js/public/stylesheets/style.less
deleted file mode 100644
index 515371c..0000000
--- a/modules/web-control-center/src/main/js/public/stylesheets/style.less
+++ /dev/null
@@ -1,1214 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-@logo-path: "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";
-@input-height: 28px;
-@ignite-red: #ec1c24;
-@ignite-block-callout-background: #f3f8f3;
-@ignite-block-callout: #50af51;
-
-hr {
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-.main-header .logo {
- height: auto;
-}
-
-.main-sidebar {
- padding-top: 60px;
-}
-
-.navbar-default .navbar-brand, .navbar-default .navbar-brand:hover {
- position: absolute;
- width: 100%;
- left: 0;
- text-align: center;
-}
-
-.modal-backdrop.am-fade {
- opacity: .5;
- transition: opacity .15s linear;
- &.ng-enter {
- opacity: 0;
- &.ng-enter-active {
- opacity: .5;
- }
- }
- &.ng-leave {
- opacity: .5;
- &.ng-leave-active {
- opacity: 0;
- }
- }
-}
-
-.modal.center .modal-dialog {
- position: fixed;
- top: 50%;
- left: 50%;
- -webkit-transform: translateX(-50%) translateY(-50%);
- transform: translateX(-50%) translateY(-50%);
-}
-
-.border-left {
- box-shadow: 1px 0 0 0 #eee inset;
-}
-
-.border-right {
- box-shadow: 1px 0 0 0 #eee;
-}
-
-.theme-line {
- background-color: #f9f9f9;
-}
-
-.theme-line header {
- background-color: #fff;
-}
-
-.theme-line header a.btn {
- border: 0 none;
- padding: 10px 25px;
- background-color: rgba(0, 0, 0, 0.15);
-}
-
-.theme-line header a.btn:hover {
- background-color: rgba(0, 0, 0, 0.25);
-}
-
-.theme-line header a.btn.btn-link {
- background: transparent;
- color: rgba(255, 255, 255, 0.8);
-}
-
-.theme-line header a.btn.btn-link:hover {
- color: #fff;
- text-decoration: none;
-}
-
-.theme-line .navbar-nav a {
- background-color: transparent;
-}
-
-.theme-line .navbar-nav a:hover,
-.theme-line .navbar-nav a:active,
-.theme-line .navbar-nav a:focus {
- background-color: transparent;
-}
-
-.theme-line .main-links {
- padding-top: 50px;
-}
-
-.theme-line .main-links h3 {
- margin-top: 0;
- font-size: 17px;
-}
-
-.theme-line .main-links .links a {
- color: #888;
-}
-
-.theme-line .main-links .links a:hover {
- text-decoration: none;
-}
-
-.theme-line #category-columns,
-.theme-solid #category-columns {
- margin: 50px 30px 0;
-}
-
-.theme-line #category-columns h4 {
- text-transform: uppercase;
- font-weight: 300;
- color: #999;
- font-size: 14px;
-}
-
-.theme-line #category-columns ul {
- list-style: none;
- padding: 0;
- margin-bottom: 15px;
-}
-
-.theme-line #category-columns ul li a {
- padding: 5px 0;
- display: block;
- font-size: 16px;
-}
-
-.theme-line #category-columns ul .view-all {
- font-size: 0.85em;
-}
-
-.theme-line .docs-header {
- color: #999;
- overflow: hidden;
-}
-
-.theme-line .docs-header h1 {
- color: #444;
- margin-top: 0;
- font-size: 22px;
-}
-
-.theme-line .btn-primary {
- border: 0 none;
- background-color: @ignite-red;
-}
-
-.theme-line .btn-primary:hover {
- background-color: #950d12;
-}
-
-.theme-line .main-content .nav-horizontal a {
- box-shadow: 0 0;
- border: 0 none;
- background-color: #fff;
- border-radius: 0;
- color: #aaa;
- padding: 6px;
- margin: 0 14px;
-}
-
-.theme-line .main-content .nav-horizontal a:hover {
- color: #999;
- border-bottom: 5px solid #ddd;
-}
-
-.theme-line .main-content .nav-horizontal a.active {
- border-bottom: 5px solid #888;
-}
-
-.theme-line .navbar-nav, .theme-line .sidebar-nav {
- ul li > a.active {
- cursor: default;
- pointer-events: none;
- }
-}
-
-.theme-line .sidebar-nav {
- color: #474a54;
- padding-bottom: 30px;
-
- ul {
- padding: 0;
- list-style: none;
- font-size: 14px;
- margin: 3px 0 0;
- li {
- color: #666;
- line-height: @input-height;
-
- span.fa-stack {
- margin-right: 5px;
- font-size: 12px;
- height: 26px;
- }
-
- a {
- font-size: 18px;
- color: #666;
- position: relative;
- white-space: nowrap;
- overflow: hidden;
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
- }
- }
- }
-}
-
-.theme-line .sidebar-nav ul li a:hover {
- text-decoration: none;
-}
-
-.theme-line .select,
-.theme-line .typeahead {
- li a {
- color: #666;
- background-color: transparent;
- }
-
- li a:hover {
- color: @ignite-red;
- }
-
- .active {
- background-color: #eee;
- }
-}
-
-.theme-line .sidebar-nav ul li .subcategory {
- padding-left: 15px;
-}
-
-.theme-line .sidebar-nav h4 {
- margin-top: 2em;
- font-weight: normal;
- text-transform: uppercase;
- font-size: 11px;
- margin-bottom: 10px;
- color: #bbb;
-}
-
-.theme-line .sidebar-nav h4:first-child {
- margin-top: 0;
-}
-
-.theme-line .sidebar-nav .ask {
- width: 100%;
- text-align: center;
- padding: 10px;
-}
-
-.theme-line .border-left .sidebar-nav {
- padding-left: 15px;
-}
-
-.theme-line .suggest {
- padding: 5px;
- display: inline-block;
- font-size: 12px;
-}
-
-.header {
- padding: 15px;
-}
-
-.header .has-github {
- padding-right: 136px;
-}
-
-.header h1.navbar-brand {
- height: 40px;
- width: 200px;
- padding: 0;
- margin: 5px 15px 0 0;
-}
-
-.header h1.navbar-brand a {
- text-indent: -99999px;
- background: no-repeat center center;
- display: block;
- width: 100%;
- height: 100%;
- background-size: contain;
-}
-
-.header .nav.navbar-nav.pull-right {
- position: relative;
- right: -30px;
-}
-
-.header .nav.navbar-nav .not-link {
- padding: 15px;
- display: inline-block;
-}
-
-.header .nav.navbar-nav .stable,
-.header .nav.navbar-nav .beta,
-.header .nav.navbar-nav .private {
- font-size: 9px;
- padding: 3px 5px;
- display: inline-block;
- line-height: 8px;
- border-radius: 3px;
- margin-left: 6px;
- color: #fff;
- top: -2px;
- position: relative;
- opacity: 0.6;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
- filter: alpha(opacity=60);
-}
-
-.header .nav.navbar-nav a:hover > .stable,
-.header .nav.navbar-nav a:hover > .beta,
-.header .nav.navbar-nav a:hover > .private {
- opacity: 1;
- -ms-filter: none;
- filter: none;
-}
-
-.header .nav.navbar-nav .beta {
- background-color: #59c3d1;
-}
-
-.header .nav.navbar-nav .stable {
- background-color: #41b841;
-}
-
-.header .nav.navbar-nav .private {
- background-color: #333;
-}
-
-.theme-line header {
- border-bottom: 8px solid;
-}
-
-.theme-line header h2 {
- color: #aaa;
-}
-
-.theme-line header p {
- color: #666;
-}
-
-.theme-line header {
- border-bottom-color: @ignite-red;
-}
-
-.theme-line .navbar-nav {
- color: #888;
-}
-
-.theme-line .navbar-nav a {
- color: #bbb;
-}
-
-.theme-line header a.btn {
- background-color: @ignite-red;
-}
-
-.theme-line header a.btn:hover {
- background-color: #950d12;
-}
-
-.theme-line header .navbar-nav .tt-cursor {
- background-color: @ignite-red;
-}
-
-.theme-line header .navbar-nav a:hover, .theme-line header .navbar-nav .open > a {
- color: @ignite-red;
-}
-
-.theme-line .navbar-nav .active a {
- //font-weight: bold;
- color: @ignite-red;
-}
-
-.theme-line .navbar-nav .active a:hover {
- color: #950d12;
-}
-
-.theme-line .main-links .links a:hover {
- color: @ignite-red;
-}
-
-.theme-line .main-content a {
- color: #666;
-}
-
-.theme-line .main-content a:hover {
- color: #950d12;
-}
-
-.theme-line .sidebar-nav ul li a.active:before {
- background-color: @ignite-red;
-}
-
-.theme-line .sidebar-nav ul li a.active {
- color: @ignite-red;
-}
-
-.theme-line .sidebar-nav ul li a:hover, .theme-line .sidebar-nav ul li a.active:hover {
- color: #950d12;
-}
-
-.theme-line .main-content .nav-horizontal a.active {
- border-color: @ignite-red;
- color: @ignite-red;
-}
-
-.theme-line .main-content .nav-horizontal a:hover {
- color: #950d12;
-}
-
-.theme-line .main-content .nav-horizontal a.active:hover {
- border-color: #950d12;
-}
-
-.theme-line header .navbar-nav a.active, .theme-line #versions-list li a:hover strong, .theme-line #versions-list li a.active .current, .theme-line #versions-list li a:active .current {
- color: @ignite-red;
-}
-
-.theme-line header .navbar-nav a {
- font-size: 18px;
-}
-
-.theme-line.body-threes .section-right .threes-nav .btn-default:hover, .theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover {
- color: @ignite-red;
- border-color: @ignite-red;
-}
-
-.theme-line .section-right {
- padding-left: 30px;
-}
-
-.body-overlap .main-content {
- margin-top: 30px;
-}
-
-.body-box .main-content,
-.body-overlap .main-content {
- padding: 30px;
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
- background-color: #fff;
-}
-
-body {
- font-weight: 400;
- font-family: Roboto Slab, serif;;
-}
-
-h1, h2, h3, h4, h5, h6 {
- font-weight: 700;
- font-family: Roboto Slab, serif;
- margin-bottom: 10px;
-}
-
-.submit-vote.submit-vote-parent.voted a.submit-vote-button, .submit-vote.submit-vote-parent a.submit-vote-button:hover {
- background-color: @ignite-red;
-}
-
-div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover {
- background-color: #950d12;
-}
-
-a, .link .title {
- color: @ignite-red;
-}
-
-a:hover, .link:hover .title {
- color: #950d12;
-}
-
-.header h1.navbar-brand a {
- background-image: url("@{logo-path}");
-}
-
-.header h1.navbar-brand {
- width: 96px;
-}
-
-.block-edit-parameters {
- text-align: right;
- padding-bottom: 5px;
-}
-
-.container-footer {
- margin-top: 20px;
-}
-
-/* Modal */
-.modal {
- display: block;
- overflow: hidden;
-}
-
-.modal .close {
- position: absolute;
- top: 10px;
- right: 10px;
- float: none;
-}
-
-// Close icon
-.modal-header .close {
- margin-right: -2px;
-}
-
-.modal .modal-dialog {
- width: 610px;
-}
-
-.modal .modal-content {
- border-radius: 0;
- background-color: #f7f7f7;
-}
-
-.modal .modal-content .modal-header {
- background-color: #fff;
- text-align: center;
- color: #555;
- padding: 15px;
- font-family: "myriad-pro", sans-serif;
-}
-
-.modal .modal-content .modal-header h4 {
- font-family: "myriad-pro", sans-serif;
- font-size: 22px;
-}
-
-.modal .modal-content .modal-header h4 .fa {
- display: block;
- font-size: 41px;
- color: #ddd;
- margin-bottom: 5px;
-}
-
-.modal .modal-content .modal-header p {
- color: #aaa;
- font-size: 1em;
- margin: 3px 0 0;
-}
-
-.modal .modal-content .modal-spacer {
- padding: 10px 10px 0 10px;
-}
-
-.modal .modal-content .modal-footer {
- margin-top: 0;
-}
-
-.modal-body {
- padding-top: 15px;
-}
-
-h1.ignite-logo {
- background-image: url("@{logo-path}");
-}
-
-.block-display-image img {
- max-width: 100%;
- max-height: 450px;
- margin: auto;
- display: block;
-}
-
-.greedy {
- min-height: 100%;
- height: ~"calc(100vh - 290px)";
-}
-
-@media (min-width: 768px) {
- .navbar-nav > li > a {
- padding-top: 18px;
- padding-bottom: 10px;
- }
-}
-
-.details-row {
- padding: 0 10px;
-}
-
-.details-row, .settings-row {
- display: block;
- margin: 10px 0;
-
- label.table-header {
- line-height: @input-height;
- }
-
- [class*="col-"] {
- display: inline-block;
- vertical-align: middle;
- float: none;
-
- padding-left: 0 !important;
- padding-right: 0 !important;
- }
-
- input[type="checkbox"] {
- line-height: 20px;
- margin-right: 5px;
- }
-
- .checkbox label {
- line-height: 20px;
- vertical-align: middle;
- }
-}
-
-button {
- margin-right: 5px;
-}
-
-h1,
-h2,
-h3 {
- user-select: none;
- font-weight: normal;
- /* Makes the vertical size of the text the same for all fonts. */
- line-height: 1;
-}
-
-h3 {
- color: black;
- font-size: 1.2em;
- margin-top: 0;
- margin-bottom: 1.5em;
-}
-
-table tr:hover {
- cursor: pointer;
-}
-
-.btn {
- padding: 3px 6px;
-}
-
-button .caret, .btn .caret {
- float: right;
- margin-left: 5px;
- margin-top: 7px;
-}
-
-.base-control {
- text-align: left;
- padding: 3px 3px;
- height: @input-height;
-}
-
-.form-control:extend(.base-control all) {
- display: inline-block;
-
- button {
- text-align: left;
- }
-}
-
-.theme-line .panel-heading {
- padding: 10px 10px;
- margin: 0;
-
- h3 {
- margin-bottom: 0;
- }
-
- h3 > a {
- color: black;
- }
-}
-
-.theme-line .panel-title {
- a {
- color: @ignite-red;
- }
-
- h3 {
- margin-bottom: 20px;
- }
-}
-
-.theme-line .panel-body {
- padding: 10px 20px;
-}
-
-.theme-line .main-content a.customize {
- margin-left: 5px;
- color: @ignite-red;
-}
-
-.theme-line .panel-collapse {
- margin: 0;
-}
-
-.theme-line .links table {
- display: table;
- table-layout: fixed;
-
- td {
- padding-left: 18px;
- }
-
- .active a {
- color: @ignite-red;
- font-weight: bold;
- }
-
- a:hover {
- color: #950d12;
- }
-
- a {
- color: #666;
- }
-}
-
-.theme-line table.links-edit:extend(.theme-line .links table all) {
- margin-top: 5px;
- margin-bottom: 5px;
-
- label {
- line-height: @input-height;
- color: #666;
- }
-}
-
-.theme-line table.links-edit-details:extend(.theme-line .links table all) {
- margin-bottom: 10px;
-
- label {
- line-height: @input-height;
- color: #666;
- }
-
- td {
- padding: 0;
-
- .input-tip {
- padding: 0;
- }
- }
-}
-
-.theme-line table.admin {
- tr:hover {
- cursor: default;
- }
-
- thead > tr th.header {
- padding: 0 0 10px;
-
- div {
- padding: 0
- }
- }
-
- margin-bottom: 10px;
-
- label {
- line-height: @input-height;
- color: #666;
- }
-
- thead > tr th, td {
- padding: 10px 10px;
-
- .input-tip {
- padding: 0;
- }
- }
-
- tfoot > tr > td {
- padding: 0;
-
- .pagination {
- margin: 10px 0;
-
- > .active > a {
- color: @ignite-red;
- font-weight: bold;
- border-color: #ddd;
- background-color: #eee;
- }
- }
- }
-}
-
-.theme-line table.sql-results {
- [class*="col-"] {
- padding-left: 0 !important;
- padding-right: 0 !important;
- }
-
- td {
- padding: 3px 6px;
- }
-
- > thead > tr > td {
- padding: 3px 0;
- }
-
- thead > tr > th {
- padding: 3px 6px;
-
- line-height: @input-height;
- }
-}
-
-.panel-title a {
- font-size: 14px;
-}
-
-.panel-details {
- margin-top: 10px;
-
- padding: 0;
-
- border-radius: 5px;
- border: thin dotted lightgrey;
-}
-
-.table-details {
- border-radius: 5px;
- border: thin dotted lightgrey;
-
- margin-top: 10px;
-
- padding-left: 10px;
- padding-right: 5px;
-}
-
-.tooltip.right .tooltip-arrow {
- border-right-color: @ignite-red;
-}
-
-.tooltip > .tooltip-inner {
- max-width: 400px;
- text-align: left;
- background-color: @ignite-red;
-}
-
-label {
- font-weight: normal;
- margin-bottom: 0;
-}
-
-.form-horizontal .checkbox {
- padding-top: 0;
-}
-
-.input-tip {
- display: block;
- overflow: hidden;
-}
-
-.labelField {
- float: left;
- margin-right: 5px;
-}
-
-.labelFormField {
- float: left;
- line-height: @input-height;
-}
-
-.form-horizontal .form-group {
- margin: 0;
-}
-
-.form-horizontal .has-feedback .form-control-feedback {
- right: 0;
-}
-
-.tipField {
- float: right;
- line-height: @input-height;
- margin-left: 5px;
-}
-
-.tipLabel {
- font-size: 14px;
- margin-left: 5px;
-}
-
-.fieldSep {
- float: right;
- line-height: @input-height;
- margin: 0 5px;
-}
-
-.fieldButton {
- float: right;
- margin-left: 5px;
- margin-right: 0;
-}
-
-.fa-plus {
- cursor: pointer;
-}
-
-.fa-remove {
- color: @ignite-red;
- cursor: pointer;
-}
-
-.fa-floppy-o {
- cursor: pointer;
-}
-
-.fa-arrow-up {
- cursor: pointer;
-}
-
-.fa-arrow-down {
- cursor: pointer;
-}
-
-label.required:after {
- color: @ignite-red;
- content: ' *';
- display: inline;
-}
-
-.blank {
- visibility: hidden;
-}
-
-.alert {
- outline: 0
-}
-
-.alert.bottom, .alert.bottom-left, .alert.bottom-right, .alert.top,
-.alert.top-left, .alert.top-right {
- position: fixed;
- z-index: 1050;
- margin: 20px
-}
-
-.alert.top, .alert.top-left, .alert.top-right {
- top: 50px
-}
-
-.alert.top {
- right: 0;
- left: 0
-}
-
-.alert.top-right {
- right: 0
-}
-
-.alert.top-right .close {
- padding-left: 10px
-}
-
-.alert.top-left {
- left: 0
-}
-
-.alert.top-left .close {
- padding-right: 10px
-}
-
-.alert.bottom, .alert.bottom-left, .alert.bottom-right {
- bottom: 0
-}
-
-.alert.bottom {
- right: 0;
- left: 0
-}
-
-.alert.bottom-right {
- right: 0
-}
-
-.alert.bottom-right .close {
- padding-left: 10px
-}
-
-.alert.bottom-left {
- left: 0
-}
-
-.alert.bottom-left .close {
- padding-right: 10px
-}
-
-// Summary page
-#cfgResult textarea {
- font-family: monospace;
- font-size: 12px;
-}
-
-input[type="number"]::-webkit-outer-spin-button,
-input[type="number"]::-webkit-inner-spin-button {
- -webkit-appearance: none;
- margin: 0;
-}
-
-input[type="number"] {
- -moz-appearance: textfield;
-}
-
-input.ng-dirty.ng-invalid, button.ng-dirty.ng-invalid {
- border-color: @ignite-red;
-
- :focus {
- border-color: @ignite-red;
- }
-}
-
-.form-control-feedback {
- display: inline-block;
- color: @ignite-red;
- right: 18px;
- line-height: @input-height;
- pointer-events: initial;
-}
-
-.syntaxhighlighter {
- padding: 10px 5px;
- border-radius: 6px;
-}
-
-.theme-line table.links-edit-small-padding:extend(.theme-line .links table all) {
- label {
- line-height: @input-height;
- color: #666;
- }
-
- a {
- line-height: @input-height;
- }
-
- input[type="checkbox"] {
- line-height: 20px;
- margin-right: 5px;
- }
-
- .checkbox label {
- line-height: 20px;
- vertical-align: middle;
- }
-
- th {
- text-align: center;
- }
-
- td {
- padding-left: 10px;
- }
-
- margin-top: 10px;
-}
-
-.nav-tabs > li > a {
- padding: 5px 5px;
-}
-
-.viewedUser {
- position: absolute;
- width: 100%;
- left: 0;
-
- text-align: center;
-
- margin-top: -15px;
-
- background-color: #f8d5d8;
-}
-
-a {
- cursor: pointer;
-}
-
-.st-sort-ascent:after {
- content: '\25B2';
-}
-
-.st-sort-descent:after {
- content: '\25BC';
-}
-
-.panel {
- margin-bottom: 0;
-}
-
-.panel-group {
- margin-bottom: 0;
-}
-
-.panel-group .panel + .panel {
- margin-top: 20px;
-}
-
-.margin-top-dflt {
- margin-top: 10px;
-}
-
-.margin-bottom-dflt {
- margin-bottom: 10px;
-}
-
-.margin-dflt {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-.padding-top-dflt {
- padding-top: 10px;
-}
-
-.padding-bottom-dflt {
- padding-bottom: 10px;
-}
-
-.padding-dflt {
- padding-top: 10px;
- padding-bottom: 10px;
-}
-
-.theme-line .panel-title h3 {
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-.block-callout-parent {
- background-color: @ignite-block-callout-background;
- overflow: hidden;
-}
-
-.block-callout {
- background-color: @ignite-block-callout-background;
- display: inline-block;
- vertical-align: top;
- width: 50%;
-
- i {
- padding: 10px 5px 0 10px;
- color: @ignite-block-callout;
- }
-
- ul {
- padding-left: 20px;
- margin-bottom: 0;
- }
-
- p {
- padding: 5px 0 10px 10px;
- margin: 0;
- }
-
- label {
- font-weight: bold;
- color: @ignite-block-callout;
- }
-}
-
-.block-callout-border {
- border-left: 5px solid;
- border-color: @ignite-block-callout;
-}
-
-.labelHeader {
- font-weight: bold;
-}
-
-.ace_editor, #ace_document {
- margin: 0.65em 0 0 0;
-
- width: 100%;
- height: 400px;
-
- .ace_gutter {
- background: transparent !important;
- border: 1px #ddd;
- border-right-style: solid;
- }
-
- .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell {
- padding-left: 0.65em;
- padding-right: 0.9em;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/public/stylesheets/style.scss b/modules/web-control-center/src/main/js/public/stylesheets/style.scss
new file mode 100644
index 0000000..e2542ce
--- /dev/null
+++ b/modules/web-control-center/src/main/js/public/stylesheets/style.scss
@@ -0,0 +1,1270 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+$logo-path: "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";
+$input-height: 28px;
+$ignite-red: #ec1c24;
+$ignite-block-callout-background: #f3f8f3;
+$ignite-block-callout: #50af51;
+
+hr {
+ margin: 20px 0;
+}
+
+.main-header .logo {
+ height: auto;
+}
+
+.main-sidebar {
+ padding-top: 60px;
+}
+
+.navbar-default .navbar-brand, .navbar-default .navbar-brand:hover {
+ position: absolute;
+ width: 100%;
+ left: 0;
+ text-align: center;
+}
+
+.modal-backdrop.am-fade {
+ opacity: .5;
+ transition: opacity .15s linear;
+ &.ng-enter {
+ opacity: 0;
+ &.ng-enter-active {
+ opacity: .5;
+ }
+ }
+ &.ng-leave {
+ opacity: .5;
+ &.ng-leave-active {
+ opacity: 0;
+ }
+ }
+}
+
+.modal.center .modal-dialog {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translateX(-50%) translateY(-50%);
+ transform: translateX(-50%) translateY(-50%);
+}
+
+.border-left {
+ box-shadow: 1px 0 0 0 #eee inset;
+}
+
+.border-right {
+ box-shadow: 1px 0 0 0 #eee;
+}
+
+.theme-line {
+ background-color: #f9f9f9;
+}
+
+.theme-line header {
+ background-color: #fff;
+}
+
+.theme-line header a.btn {
+ border: 0 none;
+ padding: 10px 25px;
+ background-color: rgba(0, 0, 0, 0.15);
+}
+
+.theme-line header a.btn:hover {
+ background-color: rgba(0, 0, 0, 0.25);
+}
+
+.theme-line header a.btn.btn-link {
+ background: transparent;
+ color: rgba(255, 255, 255, 0.8);
+}
+
+.theme-line header a.btn.btn-link:hover {
+ color: #fff;
+ text-decoration: none;
+}
+
+.theme-line .navbar-nav a {
+ background-color: transparent;
+}
+
+.theme-line .navbar-nav a:hover,
+.theme-line .navbar-nav a:active,
+.theme-line .navbar-nav a:focus {
+ background-color: transparent;
+}
+
+.theme-line .main-links {
+ padding-top: 50px;
+}
+
+.theme-line .main-links h3 {
+ margin-top: 0;
+ font-size: 17px;
+}
+
+.theme-line .main-links .links a {
+ color: #888;
+}
+
+.theme-line .main-links .links a:hover {
+ text-decoration: none;
+}
+
+.theme-line #category-columns,
+.theme-solid #category-columns {
+ margin: 50px 30px 0;
+}
+
+.theme-line #category-columns h4 {
+ text-transform: uppercase;
+ font-weight: 300;
+ color: #999;
+ font-size: 14px;
+}
+
+.theme-line #category-columns ul {
+ list-style: none;
+ padding: 0;
+ margin-bottom: 15px;
+}
+
+.theme-line #category-columns ul li a {
+ padding: 5px 0;
+ display: block;
+ font-size: 16px;
+}
+
+.theme-line #category-columns ul .view-all {
+ font-size: 0.85em;
+}
+
+.theme-line .docs-header {
+ color: #999;
+ overflow: hidden;
+}
+
+.theme-line .docs-header h1 {
+ color: #444;
+ margin-top: 0;
+ font-size: 22px;
+}
+
+.theme-line .btn-primary {
+ border: 0 none;
+ background-color: $ignite-red;
+}
+
+.theme-line .btn-primary:hover {
+ background-color: #950d12;
+}
+
+.theme-line .main-content .nav-horizontal a {
+ box-shadow: 0 0;
+ border: 0 none;
+ background-color: #fff;
+ border-radius: 0;
+ color: #aaa;
+ padding: 6px;
+ margin: 0 14px;
+}
+
+.theme-line .main-content .nav-horizontal a:hover {
+ color: #999;
+ border-bottom: 5px solid #ddd;
+}
+
+.theme-line .main-content .nav-horizontal a.active {
+ border-bottom: 5px solid #888;
+}
+
+.theme-line .navbar-nav, .theme-line .sidebar-nav {
+ ul li > a.active {
+ cursor: default;
+ pointer-events: none;
+ }
+}
+
+.theme-line .sidebar-nav {
+ color: #474a54;
+ padding-bottom: 30px;
+
+ ul {
+ padding: 0;
+ list-style: none;
+ font-size: 14px;
+ margin: 3px 0 0;
+ li {
+ color: #666;
+ line-height: $input-height;
+
+ span.fa-stack {
+ margin-right: 5px;
+ font-size: 12px;
+ height: 26px;
+ }
+
+ a {
+ font-size: 18px;
+ color: #666;
+ position: relative;
+ white-space: nowrap;
+ overflow: hidden;
+ -o-text-overflow: ellipsis;
+ text-overflow: ellipsis;
+ }
+ }
+ }
+}
+
+.theme-line .sidebar-nav ul li a:hover {
+ text-decoration: none;
+}
+
+.theme-line .select,
+.theme-line .typeahead {
+ li a {
+ color: #666;
+ background-color: transparent;
+ }
+
+ li a:hover {
+ color: $ignite-red;
+ }
+
+ .active {
+ background-color: #eee;
+ }
+}
+
+.theme-line .sidebar-nav ul li .subcategory {
+ padding-left: 15px;
+}
+
+.theme-line .sidebar-nav h4 {
+ margin-top: 2em;
+ font-weight: normal;
+ text-transform: uppercase;
+ font-size: 11px;
+ margin-bottom: 10px;
+ color: #bbb;
+}
+
+.theme-line .sidebar-nav h4:first-child {
+ margin-top: 0;
+}
+
+.theme-line .sidebar-nav .ask {
+ width: 100%;
+ text-align: center;
+ padding: 10px;
+}
+
+.theme-line .border-left .sidebar-nav {
+ padding-left: 15px;
+}
+
+.theme-line .suggest {
+ padding: 5px;
+ display: inline-block;
+ font-size: 12px;
+}
+
+.header {
+ padding: 15px;
+}
+
+.header .has-github {
+ padding-right: 136px;
+}
+
+.header h1.navbar-brand {
+ height: 40px;
+ width: 200px;
+ padding: 0;
+ margin: 5px 15px 0 0;
+}
+
+.header h1.navbar-brand a {
+ text-indent: -99999px;
+ background: no-repeat center center;
+ display: block;
+ width: 100%;
+ height: 100%;
+ background-size: contain;
+}
+
+.header .nav.navbar-nav.pull-right {
+ position: relative;
+ right: -30px;
+}
+
+.header .nav.navbar-nav .not-link {
+ padding: 15px;
+ display: inline-block;
+}
+
+.header .nav.navbar-nav .stable,
+.header .nav.navbar-nav .beta,
+.header .nav.navbar-nav .private {
+ font-size: 9px;
+ padding: 3px 5px;
+ display: inline-block;
+ line-height: 8px;
+ border-radius: 3px;
+ margin-left: 6px;
+ color: #fff;
+ top: -2px;
+ position: relative;
+ opacity: 0.6;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
+ filter: alpha(opacity=60);
+}
+
+.header .nav.navbar-nav a:hover > .stable,
+.header .nav.navbar-nav a:hover > .beta,
+.header .nav.navbar-nav a:hover > .private {
+ opacity: 1;
+ -ms-filter: none;
+ filter: none;
+}
+
+.header .nav.navbar-nav .beta {
+ background-color: #59c3d1;
+}
+
+.header .nav.navbar-nav .stable {
+ background-color: #41b841;
+}
+
+.header .nav.navbar-nav .private {
+ background-color: #333;
+}
+
+.theme-line header {
+ border-bottom: 8px solid;
+}
+
+.theme-line header h2 {
+ color: #aaa;
+}
+
+.theme-line header p {
+ color: #666;
+}
+
+.theme-line header {
+ border-bottom-color: $ignite-red;
+}
+
+.theme-line .navbar-nav {
+ color: #888;
+}
+
+.theme-line .navbar-nav a {
+ color: #bbb;
+}
+
+.theme-line header a.btn {
+ background-color: $ignite-red;
+}
+
+.theme-line header a.btn:hover {
+ background-color: #950d12;
+}
+
+.theme-line header .navbar-nav .tt-cursor {
+ background-color: $ignite-red;
+}
+
+.theme-line header .navbar-nav a:hover, .theme-line header .navbar-nav .open > a {
+ color: $ignite-red;
+}
+
+.theme-line .navbar-nav .active a {
+ //font-weight: bold;
+ color: $ignite-red;
+}
+
+.theme-line .navbar-nav .active a:hover {
+ color: #950d12;
+}
+
+.theme-line .main-links .links a:hover {
+ color: $ignite-red;
+}
+
+.theme-line .main-content a {
+ color: #666;
+}
+
+.theme-line .main-content a:hover {
+ color: #950d12;
+}
+
+.theme-line .sidebar-nav ul li a.active:before {
+ background-color: $ignite-red;
+}
+
+.theme-line .sidebar-nav ul li a.active {
+ color: $ignite-red;
+}
+
+.theme-line .sidebar-nav ul li a:hover, .theme-line .sidebar-nav ul li a.active:hover {
+ color: #950d12;
+}
+
+.theme-line .main-content .nav-horizontal a.active {
+ border-color: $ignite-red;
+ color: $ignite-red;
+}
+
+.theme-line .main-content .nav-horizontal a:hover {
+ color: #950d12;
+}
+
+.theme-line .main-content .nav-horizontal a.active:hover {
+ border-color: #950d12;
+}
+
+.theme-line header .navbar-nav a.active, .theme-line #versions-list li a:hover strong, .theme-line #versions-list li a.active .current, .theme-line #versions-list li a:active .current {
+ color: $ignite-red;
+}
+
+.theme-line header .navbar-nav a {
+ font-size: 18px;
+}
+
+.theme-line.body-threes .section-right .threes-nav .btn-default:hover, .theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover {
+ color: $ignite-red;
+ border-color: $ignite-red;
+}
+
+.theme-line .section-right {
+ padding-left: 30px;
+}
+
+.body-overlap .main-content {
+ margin-top: 30px;
+}
+
+.body-box .main-content,
+.body-overlap .main-content {
+ padding: 30px;
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
+ background-color: #fff;
+}
+
+body {
+ font-weight: 400;
+ font-family: Roboto Slab, serif;;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-weight: 700;
+ font-family: Roboto Slab, serif;
+ margin-bottom: 10px;
+}
+
+.submit-vote.submit-vote-parent.voted a.submit-vote-button, .submit-vote.submit-vote-parent a.submit-vote-button:hover {
+ background-color: $ignite-red;
+}
+
+div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover {
+ background-color: #950d12;
+}
+
+a, .link .title {
+ color: $ignite-red;
+}
+
+a:hover, .link:hover .title {
+ color: #950d12;
+}
+
+.header h1.navbar-brand a {
+ background-image: url("#{$logo-path}");
+}
+
+.header h1.navbar-brand {
+ width: 96px;
+}
+
+.block-edit-parameters {
+ text-align: right;
+ padding-bottom: 5px;
+}
+
+.container-footer {
+ margin-top: 20px;
+}
+
+/* Modal */
+.modal {
+ display: block;
+ overflow: hidden;
+}
+
+.modal .close {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ float: none;
+}
+
+// Close icon
+.modal-header .close {
+ margin-right: -2px;
+}
+
+.modal .modal-dialog {
+ width: 610px;
+}
+
+.modal .modal-content {
+ border-radius: 0;
+ background-color: #f7f7f7;
+}
+
+.modal .modal-content .modal-header {
+ background-color: #fff;
+ text-align: center;
+ color: #555;
+ padding: 15px;
+ font-family: "myriad-pro", sans-serif;
+}
+
+.modal .modal-content .modal-header h4 {
+ font-family: "myriad-pro", sans-serif;
+ font-size: 22px;
+}
+
+.modal .modal-content .modal-header h4 .fa {
+ display: block;
+ font-size: 41px;
+ color: #ddd;
+ margin-bottom: 5px;
+}
+
+.modal .modal-content .modal-header p {
+ color: #aaa;
+ font-size: 1em;
+ margin: 3px 0 0;
+}
+
+.modal .modal-content .modal-spacer {
+ padding: 10px 10px 0 10px;
+}
+
+.modal .modal-content .modal-footer {
+ margin-top: 0;
+}
+
+.modal-body {
+ padding-top: 15px;
+}
+
+h1.ignite-logo {
+ background-image: url("#{$logo-path}");
+}
+
+.block-display-image img {
+ max-width: 100%;
+ max-height: 450px;
+ margin: auto;
+ display: block;
+}
+
+.greedy {
+ min-height: 100%;
+ height: #{"calc(100vh - 290px)"};
+}
+
+@media (min-width: 768px) {
+ .navbar-nav > li > a {
+ padding-top: 18px;
+ padding-bottom: 10px;
+ }
+}
+
+.details-row {
+ padding: 0 10px;
+}
+
+.details-row, .settings-row {
+ display: block;
+ margin: 10px 0;
+
+ label.table-header {
+ line-height: $input-height;
+ }
+
+ [class*="col-"] {
+ display: inline-block;
+ vertical-align: middle;
+ float: none;
+
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+ }
+
+ input[type="checkbox"] {
+ line-height: 20px;
+ margin-right: 5px;
+ }
+
+ .checkbox label {
+ line-height: 20px;
+ vertical-align: middle;
+ }
+}
+
+button {
+ margin-right: 5px;
+}
+
+h1,
+h2,
+h3 {
+ user-select: none;
+ font-weight: normal;
+ /* Makes the vertical size of the text the same for all fonts. */
+ line-height: 1;
+}
+
+h3 {
+ color: black;
+ font-size: 1.2em;
+ margin-top: 0;
+ margin-bottom: 1.5em;
+}
+
+table tr:hover {
+ cursor: pointer;
+}
+
+.btn {
+ padding: 3px 6px;
+}
+
+button .caret, .btn .caret {
+ float: right;
+ margin-left: 5px;
+ margin-top: 7px;
+}
+
+.base-control {
+ text-align: left;
+ padding: 3px 3px;
+ height: $input-height;
+}
+
+.form-control {
+ @extend .base-control;
+
+ display: inline-block;
+
+ button {
+ text-align: left;
+ }
+}
+
+.theme-line .panel-heading {
+ padding: 10px 10px;
+ margin: 0;
+
+ h3 {
+ margin-bottom: 0;
+ }
+
+ h3 > a {
+ color: black;
+ }
+}
+
+.theme-line .panel-title {
+ a {
+ color: $ignite-red;
+ }
+
+ h3 {
+ margin-bottom: 20px;
+ }
+}
+
+.theme-line .panel-body {
+ padding: 10px 20px;
+}
+
+.theme-line .main-content a.customize {
+ margin-left: 5px;
+ color: $ignite-red;
+}
+
+.theme-line .panel-collapse {
+ margin: 0;
+}
+
+.theme-line table.links {
+ display: table;
+ table-layout: fixed;
+
+ td {
+ padding-left: 18px;
+ }
+
+ .active a {
+ color: $ignite-red;
+ font-weight: bold;
+ }
+
+ a:hover {
+ color: #950d12;
+ }
+
+ a {
+ color: #666;
+ }
+}
+
+.theme-line table.links-edit {
+ @extend table.links;
+
+ margin-top: 5px;
+ margin-bottom: 5px;
+
+ label {
+ line-height: $input-height;
+ color: #666;
+ }
+}
+
+.theme-line table.links-edit-details {
+ @extend table.links;
+
+ margin-bottom: 10px;
+
+ label {
+ line-height: $input-height;
+ color: #666;
+ }
+
+ td {
+ padding: 0;
+
+ .input-tip {
+ padding: 0;
+ }
+ }
+}
+
+.theme-line table.admin {
+ tr:hover {
+ cursor: default;
+ }
+
+ thead > tr th.header {
+ padding: 0 0 10px;
+
+ div {
+ padding: 0
+ }
+ }
+
+ margin-bottom: 10px;
+
+ label {
+ line-height: $input-height;
+ color: #666;
+ }
+
+ thead > tr th, td {
+ padding: 10px 10px;
+
+ .input-tip {
+ padding: 0;
+ }
+ }
+
+ tfoot > tr > td {
+ padding: 0;
+
+ .pagination {
+ margin: 10px 0;
+
+ > .active > a {
+ color: $ignite-red;
+ font-weight: bold;
+ border-color: #ddd;
+ background-color: #eee;
+ }
+ }
+ }
+}
+
+.theme-line table.sql-results {
+ [class*="col-"] {
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+ }
+
+ td {
+ padding: 3px 6px;
+ }
+
+ > thead > tr > td {
+ padding: 3px 0;
+ }
+
+ thead > tr > th {
+ padding: 3px 6px;
+
+ line-height: $input-height;
+ }
+}
+
+.panel-title a {
+ font-size: 14px;
+}
+
+.panel-details {
+ margin-top: 10px;
+
+ padding: 0;
+
+ border-radius: 5px;
+ border: thin dotted lightgrey;
+}
+
+.table-details {
+ border-radius: 5px;
+ border: thin dotted lightgrey;
+
+ margin-top: 10px;
+
+ padding-left: 10px;
+ padding-right: 5px;
+}
+
+.tooltip.right .tooltip-arrow {
+ border-right-color: $ignite-red;
+}
+
+.tooltip > .tooltip-inner {
+ max-width: 400px;
+ text-align: left;
+ background-color: $ignite-red;
+}
+
+label {
+ font-weight: normal;
+ margin-bottom: 0;
+}
+
+.form-horizontal .checkbox {
+ padding-top: 0;
+}
+
+.input-tip {
+ display: block;
+ overflow: hidden;
+}
+
+.labelField {
+ float: left;
+ margin-right: 5px;
+}
+
+.labelFormField {
+ float: left;
+ line-height: $input-height;
+}
+
+.form-horizontal .form-group {
+ margin: 0;
+}
+
+.form-horizontal .has-feedback .form-control-feedback {
+ right: 0;
+}
+
+.tipField {
+ float: right;
+ line-height: $input-height;
+ margin-left: 5px;
+}
+
+.tipLabel {
+ font-size: 14px;
+ margin-left: 5px;
+}
+
+.fieldSep {
+ float: right;
+ line-height: $input-height;
+ margin: 0 5px;
+}
+
+.fieldButton {
+ float: right;
+ margin-left: 5px;
+ margin-right: 0;
+}
+
+.fa-plus {
+ cursor: pointer;
+}
+
+.fa-remove {
+ color: $ignite-red;
+ cursor: pointer;
+}
+
+.fa-floppy-o {
+ cursor: pointer;
+}
+
+.fa-arrow-up {
+ cursor: pointer;
+}
+
+.fa-arrow-down {
+ cursor: pointer;
+}
+
+label.required:after {
+ color: $ignite-red;
+ content: ' *';
+ display: inline;
+}
+
+.blank {
+ visibility: hidden;
+}
+
+.alert {
+ outline: 0
+}
+
+.alert.bottom, .alert.bottom-left, .alert.bottom-right, .alert.top,
+.alert.top-left, .alert.top-right {
+ position: fixed;
+ z-index: 1050;
+ margin: 20px
+}
+
+.alert.top, .alert.top-left, .alert.top-right {
+ top: 50px
+}
+
+.alert.top {
+ right: 0;
+ left: 0
+}
+
+.alert.top-right {
+ right: 0
+}
+
+.alert.top-right .close {
+ padding-left: 10px
+}
+
+.alert.top-left {
+ left: 0
+}
+
+.alert.top-left .close {
+ padding-right: 10px
+}
+
+.alert.bottom, .alert.bottom-left, .alert.bottom-right {
+ bottom: 0
+}
+
+.alert.bottom {
+ right: 0;
+ left: 0
+}
+
+.alert.bottom-right {
+ right: 0
+}
+
+.alert.bottom-right .close {
+ padding-left: 10px
+}
+
+.alert.bottom-left {
+ left: 0
+}
+
+.alert.bottom-left .close {
+ padding-right: 10px
+}
+
+// Summary page
+#cfgResult textarea {
+ font-family: monospace;
+ font-size: 12px;
+}
+
+input[type="number"]::-webkit-outer-spin-button,
+input[type="number"]::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ margin: 0;
+}
+
+input[type="number"] {
+ -moz-appearance: textfield;
+}
+
+input.ng-dirty.ng-invalid, button.ng-dirty.ng-invalid {
+ border-color: $ignite-red;
+
+ :focus {
+ border-color: $ignite-red;
+ }
+}
+
+.form-control-feedback {
+ display: inline-block;
+ color: $ignite-red;
+ right: 18px;
+ line-height: $input-height;
+ pointer-events: initial;
+}
+
+.syntaxhighlighter {
+ padding: 10px 5px;
+ border-radius: 6px;
+}
+
+.theme-line table.links-edit-small-padding {
+ @extend table.links;
+
+ label {
+ line-height: $input-height;
+ color: #666;
+ }
+
+ a {
+ line-height: $input-height;
+ }
+
+ input[type="checkbox"] {
+ line-height: 20px;
+ margin-right: 5px;
+ }
+
+ .checkbox label {
+ line-height: 20px;
+ vertical-align: middle;
+ }
+
+ th {
+ text-align: center;
+ }
+
+ td {
+ padding-left: 10px;
+ }
+
+ margin-top: 10px;
+}
+
+.nav-tabs > li > a {
+ padding: 5px 5px;
+}
+
+.viewedUser {
+ position: absolute;
+ width: 100%;
+ left: 0;
+
+ text-align: center;
+
+ margin-top: -15px;
+
+ background-color: #f8d5d8;
+}
+
+a {
+ cursor: pointer;
+}
+
+.st-sort-ascent:after {
+ content: '\25B2';
+}
+
+.st-sort-descent:after {
+ content: '\25BC';
+}
+
+.panel {
+ margin-bottom: 0;
+}
+
+.panel-group {
+ margin-bottom: 0;
+}
+
+.panel-group .panel + .panel {
+ margin-top: 20px;
+}
+
+.margin-top-dflt {
+ margin-top: 10px;
+}
+
+.margin-bottom-dflt {
+ margin-bottom: 10px;
+}
+
+.margin-dflt {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.padding-top-dflt {
+ padding-top: 10px;
+}
+
+.padding-bottom-dflt {
+ padding-bottom: 10px;
+}
+
+.padding-dflt {
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+
+.theme-line .panel-title h3 {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+.block-callout-parent {
+ background-color: $ignite-block-callout-background;
+ overflow: hidden;
+}
+
+.block-callout {
+ background-color: $ignite-block-callout-background;
+ display: inline-block;
+ vertical-align: top;
+ width: 50%;
+
+ i {
+ padding: 10px 5px 0 10px;
+ color: $ignite-block-callout;
+ }
+
+ ul {
+ padding-left: 20px;
+ margin-bottom: 0;
+ }
+
+ p {
+ padding: 5px 0 10px 10px;
+ margin: 0;
+ }
+
+ label {
+ font-weight: bold;
+ color: $ignite-block-callout;
+ }
+}
+
+.block-callout-border {
+ border-left: 5px solid;
+ border-color: $ignite-block-callout;
+}
+
+.labelHeader {
+ font-weight: bold;
+}
+
+.ace_editor, #ace_document {
+ margin: 0.65em 0 0 0;
+
+ width: 100%;
+ height: 400px;
+
+ .ace_gutter {
+ background: transparent !important;
+ border: 1px #ddd;
+ border-right-style: solid;
+ }
+
+ .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell {
+ padding-left: 0.65em;
+ padding-right: 0.9em;
+ }
+}
+
+.loading-indicator {
+ box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ width: 100%;
+ text-align: center;
+ padding: 0.7em;
+
+ :before {
+ display: inline-block;
+ margin: 0 0.4em;
+ min-width: 1em;
+ min-height: 1em;
+ border: 4px solid #646464;
+ border-right-color: #e6e6e6;
+ border-left-color: #e6e6e6;
+ content: "";
+ -webkit-animation: halfspin 1s ease infinite;
+ -moz-animation: halfspin 1s ease infinite;
+ -o-animation: halfspin 1s ease infinite;
+ animation: halfspin 1s ease infinite;
+ border-radius: 100%;
+ }
+}
+
+@-webkit-keyframes halfspin {
+ to {
+ -webkit-transform: rotate(180deg);
+ -moz-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+}
+
+@-moz-keyframes halfspin {
+ to {
+ -webkit-transform: rotate(180deg);
+ -moz-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+}
+
+@keyframes halfspin {
+ to {
+ -webkit-transform: rotate(180deg);
+ -moz-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/caches.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/caches.jade b/modules/web-control-center/src/main/js/views/configuration/caches.jade
index 3a011fc..ea50317 100644
--- a/modules/web-control-center/src/main/js/views/configuration/caches.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/caches.jade
@@ -27,10 +27,10 @@ block content
hr
.docs-body(ng-controller='cachesController')
+block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
- .links(ng-hide='caches.length == 0')
+ div(ng-hide='caches.length == 0')
.padding-dflt
lable.labelHeader Caches:
- table(st-table='caches')
+ table.links(st-table='caches')
tbody
tr(ng-repeat='row in caches track by row._id')
td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/clusters.jade b/modules/web-control-center/src/main/js/views/configuration/clusters.jade
index 81acfed..cf429e5 100644
--- a/modules/web-control-center/src/main/js/views/configuration/clusters.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/clusters.jade
@@ -27,10 +27,10 @@ block content
hr
.docs-body(ng-controller='clustersController')
+block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
- .links(ng-hide='clusters.length == 0')
+ div(ng-hide='clusters.length == 0')
.padding-dflt
lable.labelHeader Clusters:
- table(st-table='clusters')
+ table.links(st-table='clusters')
tbody
tr(ng-repeat='row in clusters track by row._id')
td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/metadata.jade b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
index 1197795..9f94965 100644
--- a/modules/web-control-center/src/main/js/views/configuration/metadata.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
@@ -27,10 +27,10 @@ block content
hr
.docs-body(ng-controller='metadataController')
+block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
- .links(ng-hide='metadatas.length == 0')
+ div(ng-hide='metadatas.length == 0')
.padding-dflt
lable.labelHeader Types metadata:
- table(st-table='metadatas')
+ table.links(st-table='metadatas')
tbody
tr(ng-repeat='row in metadatas track by row._id')
td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/summary.jade b/modules/web-control-center/src/main/js/views/configuration/summary.jade
index 0370ef4..688f85e 100644
--- a/modules/web-control-center/src/main/js/views/configuration/summary.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/summary.jade
@@ -46,8 +46,7 @@ block content
| it.
.padding-dflt(ng-if='clusters.length > 0')
lable.labelHeader Clusters:
- .links
- table(st-table='clusters')
+ table.links(st-table='clusters')
tbody
tr(ng-repeat='row in clusters track by row._id')
td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/sql/sql.jade b/modules/web-control-center/src/main/js/views/sql/sql.jade
index 864b0d5..1e625ff 100644
--- a/modules/web-control-center/src/main/js/views/sql/sql.jade
+++ b/modules/web-control-center/src/main/js/views/sql/sql.jade
@@ -42,9 +42,9 @@ block container
'rendererOptions: {showPrintMargin: false, highlightGutterLine: false, fontSize: 14},' +
'advanced: {enableSnippets: false, enableBasicAutocompletion: true, enableLiveAutocompletion: true}}' ng-model='#{tab}.query')
.col-sm-3
- .links(ng-hide='caches.length == 0' style='margin-top: 0.65em')
+ div(ng-hide='caches.length == 0' style='margin-top: 0.65em')
lable.labelHeader Caches:
- table(st-table='caches')
+ table.links(st-table='caches')
tbody
tr(ng-repeat='row in caches track by row._id')
td.col-sm-6(ng-class='{active: row._id == #{tab}.selectedItem._id}')
@@ -78,5 +78,8 @@ block container
tr
th(ng-repeat='column in #{tab}.cols' st-sort='{{column}}') {{column}}
tbody
+ //tr
+ // td(colspan='{{#{tab}.cols.length}}')
+ // .loading-indicator
tr(ng-repeat='row in rows')
td(ng-repeat="column in #{tab}.cols") {{row[column]}}
\ No newline at end of file
[05/16] incubator-ignite git commit: IGNITE-843: WIP on metadata
screen.
Posted by se...@apache.org.
IGNITE-843: WIP on metadata 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/c4a6ad5b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c4a6ad5b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c4a6ad5b
Branch: refs/heads/ignite-1121
Commit: c4a6ad5b283e71c5796215fa2dca80bcf0aab7c9
Parents: 419dde3
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 16:39:07 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 16:39:07 2015 +0700
----------------------------------------------------------------------
.../main/js/controllers/metadata-controller.js | 45 +++++++++++++-------
.../main/js/views/configuration/metadata.jade | 2 +-
2 files changed, 30 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4a6ad5b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/metadata-controller.js b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
index bf58fe2..21af931 100644
--- a/modules/web-control-center/src/main/js/controllers/metadata-controller.js
+++ b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
@@ -267,6 +267,20 @@ controlCenterModule.controller('metadataController', ['$scope', '$http', '$commo
$common.showError(errMsg);
});
+ function selectFirstItem() {
+ if ($scope.metadatas.length > 0)
+ $scope.selectItem($scope.metadatas[0]);
+ }
+
+ function setSelectedAndBackupItem(sel, bak) {
+ $table.tableReset();
+
+ $scope.selectedItem = sel;
+ $scope.backupItem = bak;
+
+ $scope.panels.activePanel = [0];
+ }
+
// When landing on the page, get metadatas and show them.
$http.post('metadata/list')
.success(function (data) {
@@ -275,21 +289,25 @@ controlCenterModule.controller('metadataController', ['$scope', '$http', '$commo
var restoredItem = angular.fromJson(sessionStorage.metadataBackupItem);
- if (restoredItem && restoredItem._id) {
- var idx = _.findIndex($scope.metadatas, function (metadata) {
- return metadata._id == restoredItem._id;
- });
+ if (restoredItem) {
+ if (restoredItem._id) {
+ var idx = _.findIndex($scope.metadatas, function (metadata) {
+ return metadata._id == restoredItem._id;
+ });
- if (idx >= 0) {
- $scope.selectedItem = $scope.metadatas[idx];
+ if (idx >= 0)
+ setSelectedAndBackupItem($scope.metadatas[idx], restoredItem);
+ else {
+ sessionStorage.removeItem('metadataBackupItem');
- $scope.backupItem = restoredItem;
+ selectFirstItem();
+ }
}
else
- sessionStorage.removeItem('metadataBackupItem');
+ setSelectedAndBackupItem(undefined, restoredItem);
}
else
- $scope.backupItem = restoredItem;
+ selectFirstItem();
$scope.$watch('backupItem', function (val) {
if (val)
@@ -301,12 +319,7 @@ controlCenterModule.controller('metadataController', ['$scope', '$http', '$commo
});
$scope.selectItem = function (item) {
- $table.tableReset();
-
- $scope.selectedItem = item;
- $scope.backupItem = angular.copy(item);
-
- $scope.panels.activePanel = [0];
+ setSelectedAndBackupItem(item, angular.copy(item));
};
// Add new metadata.
@@ -317,7 +330,7 @@ controlCenterModule.controller('metadataController', ['$scope', '$http', '$commo
$scope.backupItem.space = $scope.spaces[0]._id;
};
- // Check cache type metadata logical consistency.
+ // Check metadata logical consistency.
function validate(item) {
return true;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4a6ad5b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/metadata.jade b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
index d5bac06..1197795 100644
--- a/modules/web-control-center/src/main/js/views/configuration/metadata.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
@@ -42,7 +42,7 @@ block content
i.tiplabel.fa.fa-question-circle(bs-tooltip data-title='{{joinTip(templateTip)}}' type='button')
hr
.panel-group(bs-collapse ng-model='panels.activePanel' data-allow-multiple="false")
- .panel.panel-default
+ .panel.panel-default(ng-show='selectedItem || backupItem')
.panel-heading
h3
a(bs-collapse-toggle) Manual
[07/16] incubator-ignite git commit: IGNITE-843: Tooltips for add and
remove buttons.
Posted by se...@apache.org.
IGNITE-843: Tooltips for add and remove buttons.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e795ef45
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e795ef45
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e795ef45
Branch: refs/heads/ignite-1121
Commit: e795ef45a4e2c7269182ef946cd19b37e12b90cf
Parents: f4e3a14
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 23 18:09:08 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 23 18:09:08 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/models/caches.json | 6 ++
.../main/js/controllers/models/clusters.json | 6 ++
.../main/js/controllers/models/metadata.json | 10 ++
.../src/main/js/views/includes/controls.jade | 98 ++++++++++----------
4 files changed, 71 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e795ef45/modules/web-control-center/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/caches.json b/modules/web-control-center/src/main/js/controllers/models/caches.json
index 13c5985..e3f0613 100644
--- a/modules/web-control-center/src/main/js/controllers/models/caches.json
+++ b/modules/web-control-center/src/main/js/controllers/models/caches.json
@@ -372,6 +372,8 @@
"model": "indexedTypes",
"keyName": "keyClass",
"valueName": "valueClass",
+ "addTip": "Add new key and value classes to indexed types.",
+ "removeTip": "Remove item from indexed types.",
"tip": [
"Collection of types to index."
]
@@ -382,6 +384,8 @@
"model": "sqlFunctionClasses",
"editIdx": -1,
"placeholder": "SQL function full class name",
+ "addTip": "Add new user-defined functions for SQL queries.",
+ "removeTip": "Remove user-defined function.",
"tableTip": [
"Collections of classes with user-defined functions for SQL queries."
],
@@ -810,6 +814,8 @@
"model": "hibernateProperties",
"editIdx": -1,
"placeholder": "key=value",
+ "addTip": "Add new Hibernate property.",
+ "removeTip": "Remove Hibernate property.",
"tip": [
"List of Hibernate properties.",
"For example: connection.url=jdbc:h2:mem:"
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e795ef45/modules/web-control-center/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/clusters.json b/modules/web-control-center/src/main/js/controllers/models/clusters.json
index e90094e..0ffb1b3 100644
--- a/modules/web-control-center/src/main/js/controllers/models/clusters.json
+++ b/modules/web-control-center/src/main/js/controllers/models/clusters.json
@@ -68,6 +68,8 @@
"reordering": true,
"ipaddress": true,
"placeholder": "IP address:port",
+ "addTip": "Add new address.",
+ "removeTip": "Remove address.",
"tip": [
"Addresses may be represented as follows:",
"<ul>",
@@ -221,6 +223,8 @@
"model": "regions",
"editIdx": -1,
"placeholder": "",
+ "addTip": "Add new region.",
+ "removeTip": "Remove region.",
"tableTip": [
"List of regions where VMs are located.",
"If the regions are not set then every region, that a cloud provider has, will be investigated. This could lead to significant performance degradation.",
@@ -237,6 +241,8 @@
"model": "zones",
"editIdx": -1,
"placeholder": "",
+ "addTip": "Add new zone.",
+ "removeTip": "Remove zone.",
"tableTip": [
"List of zones where VMs are located.",
"If the zones are not set then every zone from regions, set by {@link #setRegions(Collection)}}, will be taken into account.",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e795ef45/modules/web-control-center/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/metadata.json b/modules/web-control-center/src/main/js/controllers/models/metadata.json
index 516fb6e..bd6d7a0 100644
--- a/modules/web-control-center/src/main/js/controllers/models/metadata.json
+++ b/modules/web-control-center/src/main/js/controllers/models/metadata.json
@@ -115,6 +115,8 @@
"keyName": "name",
"valueName": "className",
"hide": "backupItem.kind != 'query'",
+ "addTip": "Add field to query.",
+ "removeTip": "Remove field.",
"tip": [
"Collection of name-to-type mappings to be queried, in addition to indexed fields."
]
@@ -126,6 +128,8 @@
"keyName": "name",
"valueName": "className",
"hide": "backupItem.kind != 'query'",
+ "addTip": "Add field to index in ascending order.",
+ "removeTip": "Remove field.",
"tip": [
"Collection of name-to-type mappings to index in ascending order."
]
@@ -137,6 +141,8 @@
"keyName": "name",
"valueName": "className",
"hide": "backupItem.kind != 'query'",
+ "addTip": "Add field to index in descending order.",
+ "removeTip": "Remove field.",
"tip": [
"Collection of name-to-type mappings to index in descending order."
]
@@ -147,6 +153,8 @@
"model": "textFields",
"hide": "backupItem.kind != 'query'",
"placeholder": "Field name",
+ "addTip": "Add field to index as text.",
+ "removeTip": "Remove field.",
"tableTip": [
"Fields to index as text."
],
@@ -159,6 +167,8 @@
"type": "queryGroups",
"model": "groups",
"hide": "backupItem.kind != 'query'",
+ "addTip": "Add new group index.",
+ "removeTip": "Remove group.",
"tip": [
"Collection of group indexes."
]
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e795ef45/modules/web-control-center/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/includes/controls.jade b/modules/web-control-center/src/main/js/views/includes/controls.jade
index 2318370..c0ccc91 100644
--- a/modules/web-control-center/src/main/js/views/includes/controls.jade
+++ b/modules/web-control-center/src/main/js/views/includes/controls.jade
@@ -40,11 +40,11 @@ mixin ico-exclamation(mdl, err, msg)
mixin btn-save(show, click)
i.tipField.fa.fa-floppy-o(ng-show=show ng-click=click bs-tooltip data-title='Save item')
-mixin btn-add(click)
- i.tipField.fa.fa-plus(ng-click=click bs-tooltip data-title='Add new item')
+mixin btn-add(click, tip)
+ i.tipField.fa.fa-plus(ng-click=click bs-tooltip=tip)
-mixin btn-remove(click)
- i.tipField.fa.fa-remove(ng-click=click bs-tooltip data-title='Remove item' data-trigger='hover')
+mixin btn-remove(click, tip)
+ i.tipField.fa.fa-remove(ng-click=click bs-tooltip=tip data-trigger='hover')
mixin btn-up(show, click)
i.tipField.fa.fa-arrow-up(ng-show=show ng-click=click bs-tooltip data-title='Move item up')
@@ -63,7 +63,7 @@ mixin table-pair(header, tblMdl, keyFld, valFld, keyPlaceholder, valPlaceholder)
.col-sm-6
label.table-header #{header}:
+tipLabel('field.tip')
- +btn-add('tableNewItem(field)')
+ +btn-add('tableNewItem(field)', 'field.addTip')
.table-details(ng-show='(#{tblMdl} && #{tblMdl}.length > 0) || tableNewItemActive(field)')
table.links-edit.col-sm-12(st-table=tblMdl)
tbody
@@ -71,7 +71,7 @@ mixin table-pair(header, tblMdl, keyFld, valFld, keyPlaceholder, valPlaceholder)
td.col-sm-12
div(ng-show='!tableEditing(field, $index)')
a.labelFormField(ng-click='curPair = tableStartEdit(backupItem, field, $index); curKey = curPair.#{keyFld}; curValue = curPair.#{valFld}') {{$index + 1}}) {{item.#{keyFld}}} / {{item.#{valFld}}}
- +btn-remove('tableRemove(backupItem, field, $index)')
+ +btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
div(ng-show='tableEditing(field, $index)')
label.labelField {{$index + 1}})
+btn-save('tablePairSaveVisible(curKey, curValue)', 'tablePairSave(tablePairValid, backupItem, field, curKey, curValue, $index)')
@@ -92,41 +92,41 @@ mixin details-row
div(ng-switch='detail.type')
div(ng-switch-when='label')
- label {{detail.label}}
+ label {{::detail.label}}
div.checkbox(ng-switch-when='check')
label
input(type='checkbox')&attributes(detailCommon)
- |{{detail.label}}
+ |{{::detail.label}}
+tipLabel('detail.tip')
div(ng-switch-when='text')
- label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
+ label(class=lblDetailClasses ng-class='{required: detail.required}') {{::detail.label}}:
.col-sm-8
+tipField('detail.tip')
.input-tip
- input.form-control(type='text' placeholder='{{detail.placeholder}}')&attributes(detailCommon)
+ input.form-control(type='text' placeholder='{{::detail.placeholder}}')&attributes(detailCommon)
div(ng-switch-when='number' )
- label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
+ label(class=lblDetailClasses ng-class='{required: detail.required}') {{::detail.label}}:
.col-sm-8
+tipField('detail.tip')
.input-tip
- input.form-control(name='{{detail.model}}' type='number' placeholder='{{detail.placeholder}}' min='{{detail.min ? detail.min : 0}}' max='{{detail.max ? detail.max : Number.MAX_VALUE}}')&attributes(detailCommon)
+ input.form-control(name='{{detail.model}}' type='number' placeholder='{{::detail.placeholder}}' min='{{detail.min ? detail.min : 0}}' max='{{detail.max ? detail.max : Number.MAX_VALUE}}')&attributes(detailCommon)
+ico-exclamation('{{detail.model}}', 'min', 'Value is less than allowable minimum.')
+ico-exclamation('{{detail.model}}', 'max', 'Value is more than allowable maximum.')
+ico-exclamation('{{detail.model}}', 'number', 'Invalid value. Only numbers allowed.')
div(ng-switch-when='dropdown')
- label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
+ label(class=lblDetailClasses ng-class='{required: detail.required}') {{::detail.label}}:
.col-sm-8
+tipField('detail.tip')
.input-tip
- button.form-control(bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in {{detail.items}}')&attributes(detailCommon)
+ button.form-control(bs-select data-placeholder='{{::detail.placeholder}}' bs-options='item.value as item.label for item in {{detail.items}}')&attributes(detailCommon)
div(ng-switch-when='dropdown-multiple')
- label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
+ label(class=lblDetailClasses ng-class='{required: detail.required}') {{::detail.label}}:
.col-sm-8
- button.form-control(bs-select data-multiple='1' data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in {{detail.items}}')&attributes(detailCommon)
+ button.form-control(bs-select data-multiple='1' data-placeholder='{{::detail.placeholder}}' bs-options='item.value as item.label for item in {{detail.items}}')&attributes(detailCommon)
+tipField('detail.tip')
div(ng-switch-when='table-simple')&attributes(detailCommon)
div(ng-if='detail.label')
- label.table-header {{detail.label}}:
+ label.table-header {{::detail.label}}:
+tipLabel('detail.tableTip')
table.col-sm-12.links-edit-details(st-table='#{detailMdl}')
tbody
@@ -134,19 +134,19 @@ mixin details-row
td
div(ng-show='!tableEditing(detail, $index)')
a.labelFormField(ng-click='curValue = tableStartEdit(backupItem, detail, $index)') {{$index + 1}}) {{item}}
- +btn-remove('tableRemove(backupItem, detail, $index)')
+ +btn-remove('tableRemove(backupItem, detail, $index)', 'detail.removeTip')
+btn-down('detail.reordering && tableSimpleDownVisible(backupItem, detail, $index)', 'tableSimpleDown(backupItem, detail, $index)')
+btn-up('detail.reordering && $index > 0', 'tableSimpleUp(backupItem, detail, $index)')
div(ng-show='tableEditing(detail, $index)')
label.labelField {{$index + 1}})
+btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, detail, curValue, $index)')
.input-tip.form-group.has-feedback
- input.form-control(name='{{detail.model}}.edit' type='text' ng-model='curValue' placeholder='{{detail.placeholder}}')&attributes(customValidators)
+ input.form-control(name='{{detail.model}}.edit' type='text' ng-model='curValue' placeholder='{{::detail.placeholder}}')&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}}')&attributes(customValidators)
+ico-exclamation('{{detail.model}}', 'ipaddress', 'Invalid address, see help for format description.')
mixin table-db-field-edit(dbName, dbType, javaName, javaType)
@@ -183,63 +183,63 @@ mixin form-row-custom(lblClasses, fieldClasses)
div(ng-switch='field.type')
div.col-sm-6(ng-switch-when='label')
- label {{field.label}}
+ label {{::field.label}}
div.checkbox.col-sm-6(ng-switch-when='check' ng-hide=fieldHide)
label
input(type='checkbox')&attributes(fieldCommon)
- | {{field.label}}
+ | {{::field.label}}
+tipLabel('field.tip')
div(ng-switch-when='text' ng-hide=fieldHide)
- label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
+ label(class=lblClasses ng-class=fieldRequiredClass) {{::field.label}}:
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- input.form-control(type='text' placeholder='{{field.placeholder}}')&attributes(fieldCommon)
+ input.form-control(type='text' placeholder='{{::field.placeholder}}')&attributes(fieldCommon)
div(ng-switch-when='password' ng-hide=fieldHide)
- label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
+ label(class=lblClasses ng-class=fieldRequiredClass) {{::field.label}}:
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- input.form-control(type='password' placeholder='{{field.placeholder}}')&attributes(fieldCommon)
+ input.form-control(type='password' placeholder='{{::field.placeholder}}')&attributes(fieldCommon)
div(ng-switch-when='number' ng-hide=fieldHide)
- label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
+ label(class=lblClasses ng-class=fieldRequiredClass) {{::field.label}}:
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- input.form-control(name='{{field.model}}' type='number' placeholder='{{field.placeholder}}' min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}')&attributes(fieldCommon)
+ input.form-control(name='{{field.model}}' type='number' placeholder='{{::field.placeholder}}' min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}')&attributes(fieldCommon)
+ico-exclamation('{{field.model}}', 'min', 'Value is less than allowable minimum.')
+ico-exclamation('{{field.model}}', 'max', 'Value is more than allowable maximum.')
+ico-exclamation('{{field.model}}', 'number', 'Invalid value. Only numbers allowed.')
div(ng-switch-when='dropdown' ng-hide=fieldHide)
- label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
+ label(class=lblClasses ng-class=fieldRequiredClass) {{::field.label}}:
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- button.form-control(bs-select data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
+ button.form-control(bs-select data-placeholder='{{::field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
div(ng-switch-when='dropdown-multiple' ng-hide=fieldHide)
- label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
+ label(class=lblClasses ng-class=fieldRequiredClass) {{::field.label}}:
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- button.form-control(bs-select ng-disabled='{{field.items}}.length == 0' data-multiple='1' data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
+ button.form-control(bs-select ng-disabled='{{field.items}}.length == 0' data-multiple='1' data-placeholder='{{::field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
a.customize(ng-show='field.addLink' ng-href='{{field.addLink.ref}}') {{field.addLink.label}}
div(ng-switch-when='dropdown-details' ng-hide=fieldHide)
- var expanded = 'field.details[' + fieldMdl + '].expanded'
- label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
+ label(class=lblClasses ng-class=fieldRequiredClass) {{::field.label}}:
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- button.form-control(bs-select data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
+ button.form-control(bs-select data-placeholder='{{::field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
a.customize(ng-show='#{fieldMdl} && field.details[#{fieldMdl}].fields' ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? "Hide settings" : "Show settings"}}
.col-sm-6.panel-details(ng-show='#{expanded} && #{fieldMdl}')
.details-row(ng-repeat='detail in field.details[#{fieldMdl}].fields')
+details-row
div(ng-switch-when='table-simple' ng-hide=fieldHide)&attributes(fieldCommon)
.col-sm-6
- label.table-header {{field.label}}:
+ label.table-header {{::field.label}}:
+tipLabel('field.tableTip')
- +btn-add('tableNewItem(field)')
+ +btn-add('tableNewItem(field)', 'field.addTip')
.col-sm-12(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
.col-sm-6
.table-details
@@ -249,29 +249,29 @@ mixin form-row-custom(lblClasses, fieldClasses)
td.col-sm-12
div(ng-show='!tableEditing(field, $index)')
a.labelFormField(ng-click='curValue = tableStartEdit(backupItem, field, $index)') {{$index + 1}}) {{item | compact}}
- +btn-remove('tableRemove(backupItem, field, $index)')
+ +btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
+btn-down('field.reordering && tableSimpleDownVisible(backupItem, field, $index)', 'tableSimpleDown(backupItem, field, $index)')
+btn-up('field.reordering && $index > 0', 'tableSimpleUp(backupItem, field, $index)')
div(ng-show='tableEditing(field, $index)')
label.labelField {{$index + 1}})
+btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, field, curValue, $index)')
.input-tip
- input.form-control(type='text' ng-model='curValue' placeholder='{{field.placeholder}}')
+ input.form-control(type='text' ng-model='curValue' placeholder='{{::field.placeholder}}')
tfoot(ng-show='tableNewItemActive(field)')
tr
td.col-sm-12
+btn-save('tableSimpleSaveVisible(newValue)', 'tableSimpleSave(tableSimpleValid, backupItem, field, newValue, -1)')
.input-tip
- input.form-control(type='text' ng-model='newValue' placeholder='{{field.placeholder}}')
+ input.form-control(type='text' ng-model='newValue' placeholder='{{::field.placeholder}}')
div(ng-switch-when='indexedTypes')
+table-pair('Index key-value type pairs', fieldMdl, 'keyClass', 'valueClass', 'Key class full name', 'Value class full name')
div(ng-switch-when='queryFields' ng-hide=fieldHide)
- +table-pair('{{field.label}}', fieldMdl, 'name', 'className', 'Field name', 'Field class full name')
+ +table-pair('{{::field.label}}', fieldMdl, 'name', 'className', 'Field name', 'Field class full name')
div(ng-switch-when='dbFields' ng-hide=fieldHide)
.col-sm-6
- label.table-header {{field.label}}:
+ label.table-header {{::field.label}}:
+tipLabel('field.tip')
- +btn-add('tableNewItem(field)')
+ +btn-add('tableNewItem(field)', 'field.addTip')
.col-sm-12(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
.col-sm-6
.table-details
@@ -281,7 +281,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
td.col-sm-12
div(ng-show='!tableEditing(field, $index)')
a.labelFormField(ng-click='curField = tableStartEdit(backupItem, field, $index); curDbName = curField.dbName; curDbType = curField.dbType; curJavaName = curField.javaName; curJavaType = curField.javaType') {{$index + 1}}) {{item.dbName}} / {{item.dbType}} / {{item.javaName}} / {{item.javaType}}
- +btn-remove('tableRemove(backupItem, field, $index)')
+ +btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
div(ng-if='tableEditing(field, $index)')
label.labelField {{$index + 1}})
+btn-save('tableDbFieldSaveVisible(curDbName, curDbType, curJavaName, curJavaType)', 'tableDbFieldSave(field, curDbName, curDbType, curJavaName, curJavaType, $index)')
@@ -293,21 +293,21 @@ mixin form-row-custom(lblClasses, fieldClasses)
+table-db-field-edit('newDbName', 'newDbType', 'newJavaName', 'newJavaType')
div(ng-switch-when='queryGroups' ng-hide=fieldHide)
.col-sm-6
- label.table-header {{field.label}}:
+ label.table-header {{::field.label}}:
+tipLabel('field.tip')
- +btn-add('tableNewItem(field)')
+ +btn-add('tableNewItem(field)', 'field.addTip')
.col-sm-12(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
.col-sm-6
.table-details
- table.links-edit.col-sm-12(st-table=fieldMdl)
+ table.links-edit.col-sm-12(st-table=fieldMdl ng-init='newDirection = "ASC"')
tbody
tr(ng-repeat='group in #{fieldMdl}')
td.col-sm-12
div
.col-sm-12(ng-show='!tableEditing(field, $index)')
a.labelFormField(ng-click='curGroup = tableStartEdit(backupItem, field, $index); curGroupName = curGroup.name; curFields = curGroup.fields') {{$index + 1}}) {{group.name}}
- +btn-remove('tableRemove(backupItem, field, $index)')
- +btn-add('tableGroupNewItem($index); newDirection = "ASC"')
+ +btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
+ +btn-add('tableGroupNewItem($index)', 'field.addTip')
div(ng-show='tableEditing(field, $index)')
label.labelField {{$index + 1}})
+btn-save('tableGroupSaveVisible(curGroupName)', 'tableGroupSave(curGroupName, $index)')
@@ -319,7 +319,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
td
div(ng-show='!tableGroupItemEditing(groupIndex, $index)')
a.labelFormField(ng-click='curGroupItem = tableGroupItemStartEdit(groupIndex, $index); curFieldName = curGroupItem.name; curClassName = curGroupItem.className; curDirection = curGroupItem.direction') {{$index + 1}}) {{groupItem.name}} / {{groupItem.className}} / {{groupItem.direction}}
- +btn-remove('tableRemoveGroupItem(group, $index)')
+ +btn-remove('tableRemoveGroupItem(group, $index)', 'field.removeTip')
div(ng-show='tableGroupItemEditing(groupIndex, $index)')
label.labelField {{$index + 1}})
+btn-save('tableGroupItemSaveVisible(curFieldName, curClassName)', 'tableGroupItemSave(curFieldName, curClassName, curDirection, groupIndex, $index)')
[15/16] incubator-ignite git commit: IGNITE-843: WIP assosiate meta
with cache.
Posted by se...@apache.org.
IGNITE-843: WIP assosiate meta with cache.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8f304282
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8f304282
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8f304282
Branch: refs/heads/ignite-1121
Commit: 8f3042822c23a165745ebf7de3f094fe07738332
Parents: b6911af
Author: AKuznetsov <ak...@gridgain.com>
Authored: Fri Jul 24 18:51:59 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Fri Jul 24 18:51:59 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/caches-controller.js | 14 ++++++++++++++
.../main/js/controllers/clusters-controller.js | 6 ++----
.../src/main/js/controllers/models/caches.json | 14 ++++++++++++++
.../src/main/js/controllers/models/metadata.json | 8 +++++++-
modules/web-control-center/src/main/js/db.js | 2 ++
.../src/main/js/routes/caches.js | 18 ++++++++++++++----
.../src/main/js/views/includes/controls.jade | 4 ++--
7 files changed, 55 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/caches-controller.js b/modules/web-control-center/src/main/js/controllers/caches-controller.js
index 0c23e3b..d8993c2 100644
--- a/modules/web-control-center/src/main/js/controllers/caches-controller.js
+++ b/modules/web-control-center/src/main/js/controllers/caches-controller.js
@@ -100,6 +100,8 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$common'
});
$scope.caches = [];
+ $scope.queryMetadata = [];
+ $scope.storeMetadata = [];
$scope.required = function (field) {
var model = $common.isDefined(field.path) ? field.path + '.' + field.model : field.model;
@@ -172,6 +174,16 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$common'
$scope.spaces = data.spaces;
$scope.caches = data.caches;
+ _.forEach(data.metadatas, function (meta) {
+ var kind = meta.kind;
+
+ if (kind == 'query' || kind == 'both')
+ $scope.queryMetadata.push(meta);
+
+ if (kind == 'store' || kind == 'both')
+ $scope.storeMetadata.push(meta);
+ });
+
var restoredItem = angular.fromJson(sessionStorage.cacheBackupItem);
if (restoredItem) {
@@ -214,6 +226,8 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$common'
$table.tableReset();
$scope.backupItem = {mode: 'PARTITIONED', atomicityMode: 'ATOMIC', readFromBackup: true, copyOnRead: true};
+ $scope.backupItem.queryMetadata = [];
+ $scope.backupItem.spaceMetadata = [];
$scope.backupItem.space = $scope.spaces[0]._id;
};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/clusters-controller.js b/modules/web-control-center/src/main/js/controllers/clusters-controller.js
index 1ec78a1..41215b0 100644
--- a/modules/web-control-center/src/main/js/controllers/clusters-controller.js
+++ b/modules/web-control-center/src/main/js/controllers/clusters-controller.js
@@ -32,10 +32,7 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$commo
$scope.tableSimpleDownVisible = $table.tableSimpleDownVisible;
$scope.templates = [
- {
- value: {discovery: {kind: 'Multicast', Vm: {addresses: ['127.0.0.1:47500..47510']}, Multicast: {}}},
- label: 'multicast'
- },
+ {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'}
];
@@ -188,6 +185,7 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$commo
$table.tableReset();
$scope.backupItem = angular.copy($scope.create.template);
+ $scope.backupItem.caches = [];
$scope.backupItem.space = $scope.spaces[0]._id;
};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/caches.json b/modules/web-control-center/src/main/js/controllers/models/caches.json
index e3f0613..6f334d2 100644
--- a/modules/web-control-center/src/main/js/controllers/models/caches.json
+++ b/modules/web-control-center/src/main/js/controllers/models/caches.json
@@ -368,6 +368,20 @@
]
},
{
+ "label": "Metadata",
+ "type": "dropdown-multiple",
+ "model": "queryMetadata",
+ "placeholder": "Choose metadata",
+ "items": "queryMetadata",
+ "tip": [
+ "Select cache type metadata to describe types in cache."
+ ],
+ "addLink": {
+ "label": "Add metadata(s)",
+ "ref": "/configuration/metadata"
+ }
+ } ,
+ {
"type": "indexedTypes",
"model": "indexedTypes",
"keyName": "keyClass",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/models/metadata.json b/modules/web-control-center/src/main/js/controllers/models/metadata.json
index b002aeb..6c9bf35 100644
--- a/modules/web-control-center/src/main/js/controllers/models/metadata.json
+++ b/modules/web-control-center/src/main/js/controllers/models/metadata.json
@@ -93,6 +93,8 @@
"keyName": "name",
"valueName": "className",
"hide": "backupItem.kind != 'both' && backupItem.kind == 'query'",
+ "addTip": "Add key field.",
+ "removeTip": "Remove key field.",
"tip": [
"Collection of key fields descriptions for CacheJdbcPojoStore."
]
@@ -104,6 +106,8 @@
"keyName": "name",
"valueName": "className",
"hide": "backupItem.kind != 'both' && backupItem.kind == 'query'",
+ "addTip": "Add value field.",
+ "removeTip": "Remove value field.",
"tip": [
"Collection of value fields descriptions for CacheJdbcPojoStore.."
]
@@ -167,8 +171,10 @@
"type": "queryGroups",
"model": "groups",
"hide": "backupItem.kind != 'both' && backupItem.kind != 'query'",
- "addTip": "Add new group index.",
+ "addTip": "Add new group.",
"removeTip": "Remove group.",
+ "addItemTip": "Add new field to group.",
+ "removeItemTip": "Remove field from group.",
"tip": [
"Collection of group indexes."
]
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/db.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/db.js b/modules/web-control-center/src/main/js/db.js
index e34272c..b0b7053 100644
--- a/modules/web-control-center/src/main/js/db.js
+++ b/modules/web-control-center/src/main/js/db.js
@@ -124,6 +124,7 @@ var CacheSchema = new Schema({
rebalanceTimeout: Number,
rebalanceThrottle: Number,
+ storeMetadatas: [{type: ObjectId, ref: 'CacheTypeMetadata'}],
cacheStoreFactory: {
kind: {
type: String,
@@ -167,6 +168,7 @@ var CacheSchema = new Schema({
sqlEscapeAll: Boolean,
sqlOnheapRowCacheSize: Number,
longQueryWarningTimeout: Number,
+ queryMetadatas: [{type: ObjectId, ref: 'CacheTypeMetadata'}],
indexedTypes: [{keyClass: String, valueClass: String}],
sqlFunctionClasses: [String],
statisticsEnabled: Boolean,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/routes/caches.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/routes/caches.js b/modules/web-control-center/src/main/js/routes/caches.js
index 3fefd37..7b9c62b 100644
--- a/modules/web-control-center/src/main/js/routes/caches.js
+++ b/modules/web-control-center/src/main/js/routes/caches.js
@@ -41,12 +41,22 @@ router.post('/list', function (req, res) {
return value._id;
});
- // Get all caches for spaces.
- db.Cache.find({space: {$in: space_ids}}).sort('name').exec(function (err, caches) {
+ // Get all caches type metadata for spaces.
+ db.CacheTypeMetadata.find({space: {$in: space_ids}}, '_id name kind', function (err, metadatas) {
if (err)
- return res.status(500).send(err.message);
+ return res.status(500).send(err);
+
+ // Get all caches for spaces.
+ db.Cache.find({space: {$in: space_ids}}).sort('name').exec(function (err, caches) {
+ if (err)
+ return res.status(500).send(err.message);
+
+ var metadatasJson = metadatas.map(function (meta) {
+ return {value: meta._id, label: meta.name, kind: meta.kind};
+ });
- res.json({spaces: spaces, caches: caches});
+ res.json({spaces: spaces, metadatas: metadatasJson, caches: caches});
+ });
});
});
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8f304282/modules/web-control-center/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/includes/controls.jade b/modules/web-control-center/src/main/js/views/includes/controls.jade
index c0ccc91..aebe4de 100644
--- a/modules/web-control-center/src/main/js/views/includes/controls.jade
+++ b/modules/web-control-center/src/main/js/views/includes/controls.jade
@@ -307,7 +307,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
.col-sm-12(ng-show='!tableEditing(field, $index)')
a.labelFormField(ng-click='curGroup = tableStartEdit(backupItem, field, $index); curGroupName = curGroup.name; curFields = curGroup.fields') {{$index + 1}}) {{group.name}}
+btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
- +btn-add('tableGroupNewItem($index)', 'field.addTip')
+ +btn-add('tableGroupNewItem($index)', 'field.addItemTip')
div(ng-show='tableEditing(field, $index)')
label.labelField {{$index + 1}})
+btn-save('tableGroupSaveVisible(curGroupName)', 'tableGroupSave(curGroupName, $index)')
@@ -319,7 +319,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
td
div(ng-show='!tableGroupItemEditing(groupIndex, $index)')
a.labelFormField(ng-click='curGroupItem = tableGroupItemStartEdit(groupIndex, $index); curFieldName = curGroupItem.name; curClassName = curGroupItem.className; curDirection = curGroupItem.direction') {{$index + 1}}) {{groupItem.name}} / {{groupItem.className}} / {{groupItem.direction}}
- +btn-remove('tableRemoveGroupItem(group, $index)', 'field.removeTip')
+ +btn-remove('tableRemoveGroupItem(group, $index)', 'field.removeItemTip')
div(ng-show='tableGroupItemEditing(groupIndex, $index)')
label.labelField {{$index + 1}})
+btn-save('tableGroupItemSaveVisible(curFieldName, curClassName)', 'tableGroupItemSave(curFieldName, curClassName, curDirection, groupIndex, $index)')
[04/16] incubator-ignite git commit: #ignite-843 Fixed callout
Posted by se...@apache.org.
#ignite-843 Fixed callout
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0631417a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0631417a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0631417a
Branch: refs/heads/ignite-1121
Commit: 0631417a8851ada7624f2b96523f57f94b0f973a
Parents: 419dde3
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 23 16:17:40 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 23 16:17:40 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/src/main/js/package.json | 4 +---
.../web-control-center/src/main/js/public/stylesheets/style.less | 3 +--
2 files changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0631417a/modules/web-control-center/src/main/js/package.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/package.json b/modules/web-control-center/src/main/js/package.json
index 5e5463c..7295755 100644
--- a/modules/web-control-center/src/main/js/package.json
+++ b/modules/web-control-center/src/main/js/package.json
@@ -37,9 +37,7 @@
"passport": "^0.2.1",
"passport-local": "^1.0.0",
"passport-local-mongoose": "^1.0.0",
- "pg": "^4.4.0",
- "serve-favicon": "~2.2.0",
- "util": "^0.10.3"
+ "serve-favicon": "~2.2.0"
},
"devDependencies": {
"morgan": "~1.5.1",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0631417a/modules/web-control-center/src/main/js/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/public/stylesheets/style.less b/modules/web-control-center/src/main/js/public/stylesheets/style.less
index e05f0ff..850fc20 100644
--- a/modules/web-control-center/src/main/js/public/stylesheets/style.less
+++ b/modules/web-control-center/src/main/js/public/stylesheets/style.less
@@ -1155,7 +1155,7 @@ a {
}
p {
- padding: 5px 0 10px 20px;
+ padding: 5px 0 10px 10px;
margin: 0;
}
@@ -1179,4 +1179,3 @@ a {
height: 400px;
}
-
[16/16] incubator-ignite git commit: Merge ignite-843 -> ignite-1121
Posted by se...@apache.org.
Merge ignite-843 -> ignite-1121
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3e8a935d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3e8a935d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3e8a935d
Branch: refs/heads/ignite-1121
Commit: 3e8a935d83e0c4eed589fe490835d0518dd82cc6
Parents: 8e050e9 8f30428
Author: sevdokimov <se...@gridgain.com>
Authored: Fri Jul 24 16:45:12 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri Jul 24 16:45:12 2015 +0300
----------------------------------------------------------------------
modules/web-control-center/src/main/js/app.js | 10 +-
.../main/js/controllers/caches-controller.js | 14 +
.../main/js/controllers/clusters-controller.js | 6 +-
.../main/js/controllers/metadata-controller.js | 67 +-
.../src/main/js/controllers/models/caches.json | 22 +-
.../main/js/controllers/models/clusters.json | 8 +-
.../main/js/controllers/models/metadata.json | 42 +-
.../src/main/js/controllers/models/summary.json | 2 +-
modules/web-control-center/src/main/js/db.js | 2 +
.../web-control-center/src/main/js/package.json | 2 +-
.../src/main/js/public/stylesheets/style.less | 1214 -----------------
.../src/main/js/public/stylesheets/style.scss | 1270 ++++++++++++++++++
.../src/main/js/routes/caches.js | 18 +-
.../src/main/js/views/configuration/caches.jade | 4 +-
.../main/js/views/configuration/clusters.jade | 4 +-
.../main/js/views/configuration/metadata.jade | 6 +-
.../main/js/views/configuration/summary.jade | 11 +-
.../src/main/js/views/includes/controls.jade | 98 +-
.../src/main/js/views/sql/sql.jade | 13 +-
19 files changed, 1482 insertions(+), 1331 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3e8a935d/modules/web-control-center/src/main/js/app.js
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3e8a935d/modules/web-control-center/src/main/js/package.json
----------------------------------------------------------------------