You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2017/02/17 03:25:41 UTC
[1/6] ignite git commit: Pinned dependencies versions
Repository: ignite
Updated Branches:
refs/heads/ignite-1.9 fa27ee3c0 -> 45577a91c
Pinned dependencies versions
(cherry picked from commit 0bdcfb0)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0e1c60f2
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0e1c60f2
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0e1c60f2
Branch: refs/heads/ignite-1.9
Commit: 0e1c60f2cb3860f69a3f76d7d67bdd34290bf0c7
Parents: fa27ee3
Author: Andrey Novikov <an...@gridgain.com>
Authored: Tue Feb 14 11:16:23 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Fri Feb 17 10:16:22 2017 +0700
----------------------------------------------------------------------
modules/web-console/frontend/package.json | 182 ++++++++++++-------------
1 file changed, 91 insertions(+), 91 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/0e1c60f2/modules/web-console/frontend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/package.json b/modules/web-console/frontend/package.json
index 651f496..0fde6d4 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -29,100 +29,100 @@
"win32"
],
"dependencies": {
- "angular": "~1.5.9",
- "angular-acl": "~0.1.7",
- "angular-animate": "~1.5.9",
- "angular-aria": "~1.5.9",
- "angular-cookies": "~1.5.9",
- "angular-drag-and-drop-lists": "~1.4.0",
- "angular-gridster": "~0.13.3",
- "angular-motion": "~0.4.4",
- "angular-nvd3": "~1.0.9",
- "angular-retina": "~0.3.13",
- "angular-sanitize": "~1.5.9",
- "angular-smart-table": "~2.1.8",
- "angular-socket-io": "~0.7.0",
- "angular-strap": "~2.3.8",
- "angular-touch": "~1.5.9",
- "angular-translate": "~2.13.1",
- "angular-tree-control": "~0.2.26",
- "angular-ui-grid": "~4.0.0",
- "angular-ui-router": "~0.3.1",
- "bootstrap-sass": "~3.3.6",
- "brace": "~0.8.0",
- "es6-promise": "~3.3.1",
- "file-saver": "~1.3.2",
- "font-awesome": "~4.7.0",
- "glob": "~7.1.1",
- "jquery": "~3.1.1",
- "jszip": "~3.1.3",
- "lodash": "~4.17.2",
+ "angular": "1.5.11",
+ "angular-acl": "0.1.7",
+ "angular-animate": "1.5.11",
+ "angular-aria": "1.5.11",
+ "angular-cookies": "1.5.11",
+ "angular-drag-and-drop-lists": "1.4.0",
+ "angular-gridster": "0.13.4",
+ "angular-motion": "0.4.4",
+ "angular-nvd3": "1.0.9",
+ "angular-retina": "0.4.0",
+ "angular-sanitize": "1.5.11",
+ "angular-smart-table": "2.1.8",
+ "angular-socket-io": "0.7.0",
+ "angular-strap": "2.3.12",
+ "angular-touch": "1.5.11",
+ "angular-translate": "2.14.0",
+ "angular-tree-control": "0.2.28",
+ "angular-ui-grid": "4.0.2",
+ "angular-ui-router": "0.4.2",
+ "bootstrap-sass": "3.3.7",
+ "brace": "0.8.0",
+ "es6-promise": "3.3.1",
+ "file-saver": "1.3.3",
+ "font-awesome": "4.7.0",
+ "glob": "7.1.1",
+ "jquery": "3.1.1",
+ "jszip": "3.1.3",
+ "lodash": "4.17.4",
"nvd3": "1.8.4",
- "raleway-webfont": "~3.0.1",
- "roboto-font": "~0.1.0",
- "socket.io-client": "~1.7.2",
- "ui-router-metatags": "~1.0.3"
+ "raleway-webfont": "3.0.1",
+ "roboto-font": "0.1.0",
+ "socket.io-client": "1.7.2",
+ "ui-router-metatags": "1.0.3"
},
"devDependencies": {
- "assets-webpack-plugin": "~3.5.0",
- "autoprefixer-core": "~6.0.1",
- "babel-core": "~6.20.0",
- "babel-eslint": "~7.0.0",
- "babel-loader": "~6.2.4",
- "babel-plugin-add-module-exports": "~0.2.1",
- "babel-plugin-transform-builtin-extend": "~1.1.0",
- "babel-plugin-transform-runtime": "~6.15.0",
- "babel-polyfill": "~6.20.0",
- "babel-preset-angular": "~6.0.15",
- "babel-preset-es2015": "~6.18.0",
- "babel-runtime": "~6.20.0",
- "chai": "~3.5.0",
- "cross-env": "~1.0.7",
- "css-loader": "~0.23.0",
- "eslint": "~3.12.2",
- "eslint-friendly-formatter": "~2.0.5",
- "eslint-loader": "~1.6.1",
- "expose-loader": "~0.7.1",
- "extract-text-webpack-plugin": "~1.0.1",
- "file-loader": "~0.9.0",
- "gulp": "~3.9.1",
- "gulp-eslint": "~3.0.0",
- "gulp-inject": "~4.1.0",
- "gulp-jade": "~1.1.0",
- "gulp-ll": "~1.0.4",
- "gulp-rimraf": "~0.2.0",
- "gulp-sequence": "~0.4.1",
- "gulp-util": "~3.0.7",
- "html-loader": "~0.4.3",
- "html-webpack-plugin": "~2.24.1",
- "jade": "~1.11.0",
+ "assets-webpack-plugin": "3.5.1",
+ "autoprefixer-core": "6.0.1",
+ "babel-core": "6.23.1",
+ "babel-eslint": "7.1.1",
+ "babel-loader": "6.2.10",
+ "babel-plugin-add-module-exports": "0.2.1",
+ "babel-plugin-transform-builtin-extend": "1.1.2",
+ "babel-plugin-transform-runtime": "6.23.0",
+ "babel-polyfill": "6.23.0",
+ "babel-preset-angular": "6.0.15",
+ "babel-preset-es2015": "6.22.0",
+ "babel-runtime": "6.22.0",
+ "chai": "3.5.0",
+ "cross-env": "1.0.8",
+ "css-loader": "0.26.1",
+ "eslint": "3.12.2",
+ "eslint-friendly-formatter": "2.0.7",
+ "eslint-loader": "1.6.1",
+ "expose-loader": "0.7.1",
+ "extract-text-webpack-plugin": "1.0.1",
+ "file-loader": "0.9.0",
+ "gulp": "3.9.1",
+ "gulp-eslint": "3.0.1",
+ "gulp-inject": "4.1.0",
+ "gulp-jade": "1.1.0",
+ "gulp-ll": "1.0.4",
+ "gulp-rimraf": "0.2.1",
+ "gulp-sequence": "0.4.6",
+ "gulp-util": "3.0.8",
+ "html-loader": "0.4.4",
+ "html-webpack-plugin": "2.24.1",
+ "jade": "1.11.0",
"jade-html-loader": "git://github.com/courcelan/jade-html-loader",
- "jasmine-core": "~2.5.2",
- "json-loader": "~0.5.4",
- "karma": "~0.13.22",
- "karma-babel-preprocessor": "~6.0.1",
- "karma-jasmine": "~1.1.0",
- "karma-mocha": "~1.3.0",
- "karma-mocha-reporter": "~2.2.0",
- "karma-phantomjs-launcher": "~1.0.0",
- "karma-teamcity-reporter": "~1.0.0",
- "karma-webpack": "~1.8.0",
- "mocha": "~2.5.3",
- "mocha-teamcity-reporter": "~1.1.1",
- "morgan": "~1.7.0",
- "ngtemplate-loader": "~1.3.1",
- "node-sass": "~3.13.1",
- "phantomjs-prebuilt": "~2.1.7",
- "postcss-loader": "~0.9.1",
- "progress-bar-webpack-plugin": "~1.9.0",
- "require-dir": "~0.3.0",
- "resolve-url-loader": "~1.6.1",
- "sass-loader": "~3.1.1",
- "style-loader": "~0.13.1",
- "url": "~0.11.0",
- "url-loader": "~0.5.6",
- "webpack": "~1.14.0",
- "webpack-dev-server": "~1.16.2",
- "worker-loader": "~0.7.1"
+ "jasmine-core": "2.5.2",
+ "json-loader": "0.5.4",
+ "karma": "0.13.22",
+ "karma-babel-preprocessor": "6.0.1",
+ "karma-jasmine": "1.1.0",
+ "karma-mocha": "1.3.0",
+ "karma-mocha-reporter": "2.2.2",
+ "karma-phantomjs-launcher": "1.0.2",
+ "karma-teamcity-reporter": "1.0.0",
+ "karma-webpack": "1.8.1",
+ "mocha": "2.5.3",
+ "mocha-teamcity-reporter": "1.1.1",
+ "morgan": "1.7.0",
+ "ngtemplate-loader": "1.3.1",
+ "node-sass": "3.13.1",
+ "phantomjs-prebuilt": "2.1.14",
+ "postcss-loader": "0.9.1",
+ "progress-bar-webpack-plugin": "1.9.3",
+ "require-dir": "0.3.1",
+ "resolve-url-loader": "1.6.1",
+ "sass-loader": "3.2.2",
+ "style-loader": "0.13.1",
+ "url": "0.11.0",
+ "url-loader": "0.5.7",
+ "webpack": "1.14.0",
+ "webpack-dev-server": "1.16.3",
+ "worker-loader": "0.7.1"
}
}
[4/6] ignite git commit: IGNITE-4472 Fixed became this user.
Posted by an...@apache.org.
IGNITE-4472 Fixed became this user.
(cherry picked from commit ee832e4)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/75f903fa
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/75f903fa
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/75f903fa
Branch: refs/heads/ignite-1.9
Commit: 75f903fa526d7533fa2ffc125790ff76c8d0722a
Parents: 5a648b2
Author: Andrey Novikov <an...@gridgain.com>
Authored: Thu Feb 16 10:41:30 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Fri Feb 17 10:19:17 2017 +0700
----------------------------------------------------------------------
modules/web-console/backend/routes/profile.js | 4 ++--
modules/web-console/backend/services/sessions.js | 6 +-----
modules/web-console/backend/services/users.js | 7 ++-----
.../web-console/frontend/views/templates/agent-download.jade | 4 ++--
4 files changed, 7 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/75f903fa/modules/web-console/backend/routes/profile.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/routes/profile.js b/modules/web-console/backend/routes/profile.js
index 1d6fccb..76edf72 100644
--- a/modules/web-console/backend/routes/profile.js
+++ b/modules/web-console/backend/routes/profile.js
@@ -50,7 +50,7 @@ module.exports.factory = function(_, express, mongo, usersService) {
if (becomeUsed) {
req.session.viewedUser = user;
- return user;
+ return req.user;
}
return new Promise((resolve, reject) => {
@@ -64,7 +64,7 @@ module.exports.factory = function(_, express, mongo, usersService) {
});
});
})
- .then(() => usersService.get(req.user, req.session.viewedUser))
+ .then((user) => usersService.get(user, req.session.viewedUser))
.then(res.api.ok)
.catch(res.api.error);
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/75f903fa/modules/web-console/backend/services/sessions.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/services/sessions.js b/modules/web-console/backend/services/sessions.js
index 7f62a60..7f3fc73 100644
--- a/modules/web-console/backend/services/sessions.js
+++ b/modules/web-console/backend/services/sessions.js
@@ -42,11 +42,7 @@ module.exports.factory = (_, mongo, errors) => {
return Promise.reject(new errors.IllegalAccessError('Became this user is not permitted. Only administrators can perform this actions.'));
return mongo.Account.findById(viewedUserId).lean().exec()
- .then((viewedUser) => {
- viewedUser.token = session.req.user.token;
-
- session.viewedUser = viewedUser;
- });
+ .then((viewedUser) => session.viewedUser = viewedUser);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/75f903fa/modules/web-console/backend/services/users.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/services/users.js b/modules/web-console/backend/services/users.js
index 2dd603f..0aff45f 100644
--- a/modules/web-console/backend/services/users.js
+++ b/modules/web-console/backend/services/users.js
@@ -212,11 +212,8 @@ module.exports.factory = (_, mongo, settings, spacesService, mailsService, activ
const becomeUsed = viewedUser && user.admin;
- if (becomeUsed) {
- user = viewedUser;
-
- user.becomeUsed = true;
- }
+ if (becomeUsed)
+ user = _.extend({}, viewedUser, {becomeUsed: true, becameToken: user.token});
else
user = user.toJSON();
http://git-wip-us.apache.org/repos/asf/ignite/blob/75f903fa/modules/web-console/frontend/views/templates/agent-download.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/templates/agent-download.jade b/modules/web-console/frontend/views/templates/agent-download.jade
index f5a6ba0..b913636 100644
--- a/modules/web-console/frontend/views/templates/agent-download.jade
+++ b/modules/web-console/frontend/views/templates/agent-download.jade
@@ -34,8 +34,8 @@
i.fa.fa-chevron-circle-right(ng-show='!agentLoad.showToken' ng-click='agentLoad.showToken = ! agentLoad.showToken')
a(ng-click='agentLoad.showToken = ! agentLoad.showToken') {{agentLoad.showToken ? 'Hide security token...' : 'Show security token...'}}
.details-row(ng-show='agentLoad.showToken')
- label.labelField Security token: {{user.token}}
- i.tipLabel.fa.fa-clipboard(ignite-copy-to-clipboard='{{user.token}}' bs-tooltip='' data-title='Copy security token to clipboard')
+ label.labelField Security token: {{user.becameToken || user.token}}
+ i.tipLabel.fa.fa-clipboard(ignite-copy-to-clipboard='{{user.becameToken || user.token}}' bs-tooltip='' data-title='Copy security token to clipboard')
i.tipLabel.icon-help(ng-if=lines bs-tooltip='' data-title='The security token is used for authorization of web agent')
.agent-download(ng-if='hasAgents')
p Connection to Ignite Web Agent is established, but agent failed to connect to Ignite Node
[6/6] ignite git commit: IGNITE-4472 Minor UI fix.
Posted by an...@apache.org.
IGNITE-4472 Minor UI fix.
(cherry picked from commit d4efbf3)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/45577a91
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/45577a91
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/45577a91
Branch: refs/heads/ignite-1.9
Commit: 45577a91c4998dbaa48ae7daf15dc400e297e463
Parents: 4be571d
Author: Andrey Novikov <an...@gridgain.com>
Authored: Thu Feb 16 18:38:40 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Fri Feb 17 10:19:51 2017 +0700
----------------------------------------------------------------------
.../list-of-registered-users.controller.js | 2 +-
.../frontend/app/components/ui-grid-settings/ui-grid-settings.scss | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/45577a91/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
index 5761073..272681a 100644
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
+++ b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
@@ -133,7 +133,7 @@ export default class IgniteListOfRegisteredUsersCtrl {
api.toggleAdmin = toggleAdmin;
api.showActivities = showActivities;
- api.grid.registerRowsProcessor(companiesExcludeFilter, 300);
+ api.grid.registerRowsProcessor(companiesExcludeFilter, 50);
}
};
http://git-wip-us.apache.org/repos/asf/ignite/blob/45577a91/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss b/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
index bc16271..4beb2a1 100644
--- a/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
+++ b/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
@@ -47,7 +47,7 @@
float: right;
.ignite-form-field {
- width: 260px;
+ width: 280px;
margin-right: 10px;
&__label {
[3/6] ignite git commit: IGNITE-4678 Node version in range.
Posted by an...@apache.org.
IGNITE-4678 Node version in range.
(cherry picked from commit 2cfd55d)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5a648b21
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5a648b21
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5a648b21
Branch: refs/heads/ignite-1.9
Commit: 5a648b2148738b54213281a35cb9258afab0a2f6
Parents: 7e16eb2
Author: Andrey Novikov <an...@gridgain.com>
Authored: Wed Feb 15 16:08:57 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Fri Feb 17 10:18:56 2017 +0700
----------------------------------------------------------------------
.../modules/configuration/Version.service.js | 30 +++++++++++++++++---
.../frontend/test/unit/Version.test.js | 26 ++++++++++++++++-
.../demo/service/DemoCachesLoadService.java | 2 +-
.../service/DemoRandomCacheLoadService.java | 2 +-
4 files changed, 53 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/5a648b21/modules/web-console/frontend/app/modules/configuration/Version.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/Version.service.js b/modules/web-console/frontend/app/modules/configuration/Version.service.js
index 746b1ed..3fc7199 100644
--- a/modules/web-console/frontend/app/modules/configuration/Version.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/Version.service.js
@@ -77,12 +77,34 @@ export default class IgniteVersion {
}
/**
+ * Check if node version in range
+ * @param {String} nodeVer Node version.
+ * @param {Array.<String>} ranges Version ranges to compare with.
+ * @returns {Boolean} `True` if node version is equal or greater than specified range.
+ */
+ includes(nodeVer, ...ranges) {
+ return !!_.find(ranges, ([after, before]) =>
+ this.compare(nodeVer, after) >= 0 && (_.isNil(before) || this.compare(nodeVer, before) < 0)
+ );
+ }
+
+ /**
* Check if node version is newer or same
- * @param {String} nodeVer
- * @param {String} sinceVer
- * @returns {Boolean}
+ * @param {String} nodeVer Node version.
+ * @param {String} sinceVer Version to compare with.
+ * @returns {Boolean} `True` if node version is equal or greater than specified version.
*/
since(nodeVer, sinceVer) {
- return this.compare(nodeVer, sinceVer) >= 0;
+ return this.includes(nodeVer, [sinceVer]);
+ }
+
+ /**
+ * Check whether node version before than specified version.
+ * @param {String} nodeVer Node version.
+ * @param {String} sinceVer Version to compare with.
+ * @return {Boolean} `True` if node version before than specified version.
+ */
+ before(nodeVer, sinceVer) {
+ return !this.since(nodeVer, sinceVer);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/5a648b21/modules/web-console/frontend/test/unit/Version.test.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/test/unit/Version.test.js b/modules/web-console/frontend/test/unit/Version.test.js
index 2d75ab5..72685ea 100644
--- a/modules/web-console/frontend/test/unit/Version.test.js
+++ b/modules/web-console/frontend/test/unit/Version.test.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import VersionService from '../../app/modules/configuration/Version.service.js';
+import VersionService from '../../app/modules/configuration/Version.service';
const INSTANCE = new VersionService();
@@ -53,6 +53,7 @@ suite('VersionServiceTestsSuite', () => {
});
test('Check since call', () => {
+ assert.equal(INSTANCE.since('1.5.0', '1.5.0'), true);
assert.equal(INSTANCE.since('1.6.0', '1.5.0'), true);
});
@@ -60,6 +61,29 @@ suite('VersionServiceTestsSuite', () => {
assert.equal(INSTANCE.since('1.3.0', '1.5.0'), false);
});
+ test('Check before call', () => {
+ assert.equal(INSTANCE.before('1.5.0', '1.5.0'), false);
+ assert.equal(INSTANCE.before('1.5.0', '1.6.0'), true);
+ });
+
+ test('Check wrong before call', () => {
+ assert.equal(INSTANCE.before('1.5.0', '1.3.0'), false);
+ });
+
+ test('Check includes call', () => {
+ assert.equal(INSTANCE.includes('1.5.4', ['1.5.5', '1.6.0'], ['1.6.2']), false);
+ assert.equal(INSTANCE.includes('1.5.5', ['1.5.5', '1.6.0'], ['1.6.2']), true);
+ assert.equal(INSTANCE.includes('1.5.11', ['1.5.5', '1.6.0'], ['1.6.2']), true);
+ assert.equal(INSTANCE.includes('1.6.0', ['1.5.5', '1.6.0'], ['1.6.2']), false);
+ assert.equal(INSTANCE.includes('1.6.1', ['1.5.5', '1.6.0'], ['1.6.2']), false);
+ assert.equal(INSTANCE.includes('1.6.2', ['1.5.5', '1.6.0'], ['1.6.2']), true);
+ assert.equal(INSTANCE.includes('1.6.3', ['1.5.5', '1.6.0'], ['1.6.2']), true);
+ });
+
+ test('Check wrong before call', () => {
+ assert.equal(INSTANCE.before('1.5.0', '1.3.0'), false);
+ });
+
test('Parse 1.7.0-SNAPSHOT', () => {
const version = INSTANCE.parse('1.7.0-SNAPSHOT');
assert.equal(version.major, 1);
http://git-wip-us.apache.org/repos/asf/ignite/blob/5a648b21/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
----------------------------------------------------------------------
diff --git a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
index 9117646..fbfa2ae 100644
--- a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
+++ b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
@@ -114,7 +114,7 @@ public class DemoCachesLoadService implements Service {
/** {@inheritDoc} */
@Override public void cancel(ServiceContext ctx) {
if (cachePool != null)
- cachePool.shutdown();
+ cachePool.shutdownNow();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/5a648b21/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoRandomCacheLoadService.java
----------------------------------------------------------------------
diff --git a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoRandomCacheLoadService.java b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoRandomCacheLoadService.java
index 57b26a2..c704dbe 100644
--- a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoRandomCacheLoadService.java
+++ b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoRandomCacheLoadService.java
@@ -62,7 +62,7 @@ public class DemoRandomCacheLoadService implements Service {
/** {@inheritDoc} */
@Override public void cancel(ServiceContext ctx) {
if (cachePool != null)
- cachePool.shutdown();
+ cachePool.shutdownNow();
}
/** {@inheritDoc} */
[2/6] ignite git commit: IGNITE-4472 UI fix, minor fixes
Posted by an...@apache.org.
IGNITE-4472 UI fix, minor fixes
(cherry picked from commit 79e1e53)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7e16eb29
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7e16eb29
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7e16eb29
Branch: refs/heads/ignite-1.9
Commit: 7e16eb29ec0a3187e2c14d0fb876a0210e036026
Parents: 0e1c60f
Author: Andrey Novikov <an...@gridgain.com>
Authored: Tue Feb 14 23:28:06 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Fri Feb 17 10:18:22 2017 +0700
----------------------------------------------------------------------
.../web-console/backend/routes/activities.js | 7 -
.../web-console/backend/services/activities.js | 27 +---
.../backend/test/unit/ActivitiesService.test.js | 131 +++++++++++++++++++
modules/web-console/frontend/app/app.config.js | 4 +
.../activities-user-dialog.controller.js | 39 +-----
.../activities-user-dialog.jade | 2 +-
.../components/activities-user-dialog/index.js | 5 +-
.../form-field-datepicker.jade | 4 +-
.../list-of-registered-users.column-defs.js | 26 ++--
.../list-of-registered-users.controller.js | 32 +++--
.../app/core/activities/Activities.data.js | 5 -
modules/web-console/frontend/app/data/i18n.js | 1 +
.../ui-ace-pom/ui-ace-pom.controller.js | 4 +-
.../frontend/app/modules/agent/agent.module.js | 15 ---
.../modules/configuration/Version.service.js | 13 +-
.../configuration/generator/Maven.service.js | 10 +-
.../configuration/summary/summary.worker.js | 6 +-
modules/web-console/frontend/package.json | 14 +-
.../frontend/public/stylesheets/style.scss | 8 --
.../frontend/public/stylesheets/variables.scss | 1 -
.../views/templates/agent-download.jade | 6 +-
21 files changed, 206 insertions(+), 154 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/backend/routes/activities.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/routes/activities.js b/modules/web-console/backend/routes/activities.js
index 08c27cf..ad0e469 100644
--- a/modules/web-console/backend/routes/activities.js
+++ b/modules/web-console/backend/routes/activities.js
@@ -33,13 +33,6 @@ module.exports.factory = function(express, activitiesService) {
return new Promise((factoryResolve) => {
const router = new express.Router();
- // Get user activities.
- router.get('/user/:userId', (req, res) => {
- activitiesService.listByUser(req.params.userId, req.query)
- .then(res.api.ok)
- .catch(res.api.error);
- });
-
// Post user activities to page.
router.post('/page', (req, res) => {
activitiesService.merge(req.user._id, req.body)
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/backend/services/activities.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/services/activities.js b/modules/web-console/backend/services/activities.js
index 7f3a777..124c775 100644
--- a/modules/web-console/backend/services/activities.js
+++ b/modules/web-console/backend/services/activities.js
@@ -35,10 +35,12 @@ module.exports.factory = (_, mongo) => {
* Update page activities.
*
* @param {String} owner - User ID
- * @param {Object} page - The page
+ * @param {String} action - Action string presentation.
+ * @param {String} group - Action group string presentation.
+ * @param {Date} [date] - Optional date to save in activity.
* @returns {Promise.<mongo.ObjectId>} that resolve activity
*/
- static merge(owner, {action, group}) {
+ static merge(owner, {action, group}, date = new Date()) {
mongo.Account.findById(owner)
.then((user) => {
user.lastActivity = new Date();
@@ -46,8 +48,6 @@ module.exports.factory = (_, mongo) => {
return user.save();
});
- const date = new Date();
-
date.setDate(1);
date.setHours(0, 0, 0, 0);
@@ -63,25 +63,6 @@ module.exports.factory = (_, mongo) => {
});
}
- /**
- * Get user activities
- * @param {String} owner - User ID
- * @returns {Promise.<mongo.ObjectId>} that resolve activities
- */
- static listByUser(owner, {startDate, endDate}) {
- const $match = {owner};
-
- if (startDate)
- $match.date = {$gte: new Date(startDate)};
-
- if (endDate) {
- $match.date = $match.date || {};
- $match.date.$lt = new Date(endDate);
- }
-
- return mongo.Activities.find($match);
- }
-
static total({startDate, endDate}) {
const $match = {};
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/backend/test/unit/ActivitiesService.test.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/test/unit/ActivitiesService.test.js b/modules/web-console/backend/test/unit/ActivitiesService.test.js
new file mode 100644
index 0000000..40088bf
--- /dev/null
+++ b/modules/web-console/backend/test/unit/ActivitiesService.test.js
@@ -0,0 +1,131 @@
+/*
+ * 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.
+ */
+
+const assert = require('chai').assert;
+const injector = require('../injector');
+const testAccounts = require('../data/accounts.json');
+
+let activitiesService;
+let mongo;
+let db;
+
+const owner = testAccounts[0]._id;
+const group = 'test';
+const action1 = '/test/activity1';
+const action2 = '/test/activity2';
+
+suite('ActivitiesServiceTestsSuite', () => {
+ suiteSetup(() => {
+ return Promise.all([
+ injector('services/activities'),
+ injector('mongo'),
+ injector('dbHelper')
+ ])
+ .then(([_activitiesService, _mongo, _db]) => {
+ mongo = _mongo;
+ activitiesService = _activitiesService;
+ db = _db;
+ });
+ });
+
+ setup(() => db.init());
+
+ test('Activities creation and update', (done) => {
+ activitiesService.merge(owner, { group, action: action1 })
+ .then((activity) => {
+ assert.isNotNull(activity);
+ assert.equal(activity.amount, 1);
+
+ return mongo.Activities.findById(activity._id);
+ })
+ .then((activityDoc) => {
+ assert.isNotNull(activityDoc);
+ assert.equal(activityDoc.amount, 1);
+ })
+ .then(() => activitiesService.merge(owner, { group, action: action1 }))
+ .then((activity) => {
+ assert.isNotNull(activity);
+ assert.equal(activity.amount, 2);
+
+ return mongo.Activities.findById(activity._id);
+ })
+ .then((activityDoc) => {
+ assert.isNotNull(activityDoc);
+ assert.equal(activityDoc.amount, 2);
+ })
+ .then(done)
+ .catch(done);
+ });
+
+ test('Activities total and detail information', (done) => {
+ const startDate = new Date();
+
+ startDate.setDate(1);
+ startDate.setHours(0, 0, 0, 0);
+
+ const endDate = new Date(startDate);
+ endDate.setMonth(endDate.getMonth() + 1);
+
+ Promise.all([
+ activitiesService.merge(owner, {group, action: action1}),
+ activitiesService.merge(owner, {group, action: action2})
+ ])
+ .then(() => activitiesService.total(owner, {startDate, endDate}))
+ .then((activities) =>
+ assert.equal(activities[owner].test, 2)
+ )
+ .then(() => activitiesService.detail(owner, {startDate, endDate}))
+ .then((activities) =>
+ assert.deepEqual(activities[owner], {
+ '/test/activity2': 1, '/test/activity1': 1
+ })
+ )
+ .then(done)
+ .catch(done);
+ });
+
+ test('Activities periods', (done) => {
+ const startDate = new Date();
+
+ startDate.setDate(1);
+ startDate.setHours(0, 0, 0, 0);
+
+ const nextMonth = (baseDate) => {
+ const date = new Date(baseDate);
+
+ date.setMonth(date.getMonth() + 1);
+
+ return date;
+ };
+
+ const borderDate = nextMonth(startDate);
+ const endDate = nextMonth(borderDate);
+
+ activitiesService.merge(owner, { group, action: action1 })
+ .then(() => activitiesService.merge(owner, { group, action: action1 }, borderDate))
+ .then(() => activitiesService.total({ startDate, endDate: borderDate }))
+ .then((activities) =>
+ assert.equal(activities[owner].test, 1)
+ )
+ .then(() => activitiesService.total({ startDate: borderDate, endDate }))
+ .then((activities) =>
+ assert.equal(activities[owner].test, 1)
+ )
+ .then(done)
+ .catch(done);
+ });
+});
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/app.config.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/app.config.js b/modules/web-console/frontend/app/app.config.js
index 0e85711..39d761f 100644
--- a/modules/web-console/frontend/app/app.config.js
+++ b/modules/web-console/frontend/app/app.config.js
@@ -103,3 +103,7 @@ igniteConsoleCfg.config(['$datepickerProvider', ($datepickerProvider) => {
iconRight: 'icon-datepicker-right'
});
}]);
+
+igniteConsoleCfg.config(['$translateProvider', ($translateProvider) => {
+ $translateProvider.useSanitizeValueStrategy('sanitize');
+}]);
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.controller.js b/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.controller.js
index 46853b2..078f725 100644
--- a/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.controller.js
+++ b/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.controller.js
@@ -15,46 +15,13 @@
* limitations under the License.
*/
-const COLUMNS_DEFS = [
- {displayName: 'Action', field: 'action', minWidth: 65 },
- {displayName: 'Description', field: 'title', minWidth: 65 },
- {displayName: 'Visited', field: 'amount', minWidth: 65 }
-];
-
export default class ActivitiesCtrl {
- static $inject = ['$state', 'user', 'params', 'IgniteActivitiesData'];
+ static $inject = ['user'];
- constructor($state, user, params, ActivitiesData) {
+ constructor(user) {
const $ctrl = this;
- const userId = user._id;
$ctrl.user = user;
-
- $ctrl.gridOptions = {
- data: [],
- columnVirtualizationThreshold: 30,
- columnDefs: COLUMNS_DEFS,
- categories: [
- {name: 'Action', visible: true, selectable: true},
- {name: 'Description', visible: true, selectable: true},
- {name: 'Visited', visible: true, selectable: true}
- ],
- enableRowSelection: false,
- enableRowHeaderSelection: false,
- enableColumnMenus: false,
- multiSelect: false,
- modifierKeysToMultiSelect: true,
- noUnselect: true,
- flatEntityAccess: true,
- fastWatch: true,
- onRegisterApi: (api) => {
- $ctrl.gridApi = api;
- }
- };
-
- ActivitiesData.listByUser(userId, params)
- .then((data) => {
- $ctrl.data = data;
- });
+ $ctrl.data = _.map(user.activitiesDetail, (amount, action) => ({ action, amount }));
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade b/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
index 2c55ebd..074851c 100644
--- a/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
+++ b/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
@@ -24,7 +24,7 @@
.modal-body.modal-body-with-scroll(id='activities-user-dialog')
table.table.table-striped.table-bordered.table-hover(scrollable-container='#activities-user-dialog' st-table='displayedRows' st-safe-src='ctrl.data')
thead
- th.text-center(st-sort='title') Description
+ th.text-center(st-sort='action | translate') Description
th.text-center(st-sort='action') Action
th.text-center(st-sort='amount') Visited
tbody
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/components/activities-user-dialog/index.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/activities-user-dialog/index.js b/modules/web-console/frontend/app/components/activities-user-dialog/index.js
index 03d3585..dca6ba9 100644
--- a/modules/web-console/frontend/app/components/activities-user-dialog/index.js
+++ b/modules/web-console/frontend/app/components/activities-user-dialog/index.js
@@ -18,13 +18,12 @@
import controller from './activities-user-dialog.controller';
import templateUrl from './activities-user-dialog.jade';
- export default ['$modal', ($modal) => ({ show = true, user, params }) => {
+ export default ['$modal', ($modal) => ({ show = true, user }) => {
const ActivitiesUserDialog = $modal({
templateUrl,
show,
resolve: {
- user: () => user,
- params: () => params
+ user: () => user
},
placement: 'center',
controller,
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade b/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
index 6792977..2578cf4 100644
--- a/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
+++ b/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
@@ -28,8 +28,8 @@ mixin ignite-form-field-datepicker(label, model, name, disabled, required, place
data-ng-disabled=disabled && '#{disabled}'
bs-datepicker
- data-date-format='MMM yyyy'
- data-start-view='1'
+ data-date-format='MMM yyyy'
+ data-start-view='1'
data-min-view='1'
data-max-date='today'
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
index 61e1bd8..4dc4655 100644
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
+++ b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
@@ -49,7 +49,7 @@ const ACTIONS_TEMPLATE = `
const EMAIL_TEMPLATE = '<div class="ui-grid-cell-contents"><a ng-href="mailto:{{ COL_FIELD }}">{{ COL_FIELD }}</a></div>';
export default [
- {displayName: 'Actions', categoryDisplayName: 'Actions', cellTemplate: ACTIONS_TEMPLATE, field: 'test', minWidth: 70, width: 70, enableFiltering: false, enableSorting: false, pinnedLeft: true},
+ {displayName: 'Actions', categoryDisplayName: 'Actions', cellTemplate: ACTIONS_TEMPLATE, field: 'actions', minWidth: 70, width: 70, enableFiltering: false, enableSorting: false, pinnedLeft: true},
{displayName: 'User', categoryDisplayName: 'User', field: 'userName', cellTemplate: USER_TEMPLATE, minWidth: 160, enableFiltering: true, filter: { placeholder: 'Filter by name...' }, pinnedLeft: true},
{displayName: 'Email', categoryDisplayName: 'Email', field: 'email', cellTemplate: EMAIL_TEMPLATE, minWidth: 160, enableFiltering: true, filter: { placeholder: 'Filter by email...' }},
{displayName: 'Company', categoryDisplayName: 'Company', field: 'company', minWidth: 160, enableFiltering: true},
@@ -62,19 +62,19 @@ export default [
{displayName: 'Caches count', categoryDisplayName: 'Configurations', headerCellTemplate: CACHE_HEADER_TEMPLATE, field: 'counters.caches', type: 'number', headerTooltip: 'Caches count', minWidth: 50, width: 50, enableFiltering: false, visible: false},
{displayName: 'IGFS count', categoryDisplayName: 'Configurations', headerCellTemplate: IGFS_HEADER_TEMPLATE, field: 'counters.igfs', type: 'number', headerTooltip: 'IGFS count', minWidth: 50, width: 50, enableFiltering: false, visible: false},
// Activities Total
- {displayName: 'Cfg', categoryDisplayName: 'Total activities', field: 'activitiesTotal["configuration"] || 0', type: 'number', headerTooltip: 'Configuration', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'Qry', categoryDisplayName: 'Total activities', field: 'activitiesTotal["queries"] || 0', type: 'number', headerTooltip: 'Queries', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'Demo', categoryDisplayName: 'Total activities', field: 'activitiesTotal["demo"] || 0', type: 'number', headerTooltip: 'Demo', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'AD', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/download"] || 0', type: 'number', headerTooltip: 'Agent Download', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'AS', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/start"] || 0', type: 'number', headerTooltip: 'Agent Start', minWidth: 50, width: 50, enableFiltering: false},
+ {displayName: 'Cfg', categoryDisplayName: 'Total activities', field: 'activitiesTotal["configuration"] || 0', type: 'number', headerTooltip: 'Total count of configuration usages', minWidth: 50, width: 50, enableFiltering: false},
+ {displayName: 'Qry', categoryDisplayName: 'Total activities', field: 'activitiesTotal["queries"] || 0', type: 'number', headerTooltip: 'Total count of queries usages', minWidth: 50, width: 50, enableFiltering: false},
+ {displayName: 'Demo', categoryDisplayName: 'Total activities', field: 'activitiesTotal["demo"] || 0', type: 'number', headerTooltip: 'Total count of demo startup', minWidth: 50, width: 50, enableFiltering: false},
+ {displayName: 'Dnld', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/download"] || 0', type: 'number', headerTooltip: 'Total count of agent downloads', minWidth: 50, width: 50, enableFiltering: false},
+ {displayName: 'Str', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/start"] || 0', type: 'number', headerTooltip: 'Total count of agent startup', minWidth: 50, width: 50, enableFiltering: false},
// Activities Configuration
- {displayName: 'Clusters', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/clusters"] || 0', type: 'number', headerTooltip: 'Configuration Clusters', minWidth: 50, width: 80, enableFiltering: false, visible: false},
- {displayName: 'Model', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/domains"] || 0', type: 'number', headerTooltip: 'Configuration Model', minWidth: 50, width: 80, enableFiltering: false, visible: false},
- {displayName: 'Caches', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/caches"] || 0', type: 'number', headerTooltip: 'Configuration Caches', minWidth: 50, width: 80, enableFiltering: false, visible: false},
+ {displayName: 'Clusters', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/clusters"] || 0', type: 'number', headerTooltip: 'Configuration clusters', minWidth: 50, width: 80, enableFiltering: false, visible: false},
+ {displayName: 'Model', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/domains"] || 0', type: 'number', headerTooltip: 'Configuration model', minWidth: 50, width: 80, enableFiltering: false, visible: false},
+ {displayName: 'Caches', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/caches"] || 0', type: 'number', headerTooltip: 'Configuration caches', minWidth: 50, width: 80, enableFiltering: false, visible: false},
{displayName: 'IGFS', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/igfs"] || 0', type: 'number', headerTooltip: 'Configuration IGFS', minWidth: 50, width: 80, enableFiltering: false, visible: false},
- {displayName: 'Summary', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/summary"] || 0', type: 'number', headerTooltip: 'Configuration Summary', minWidth: 50, width: 80, enableFiltering: false, visible: false},
+ {displayName: 'Summary', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/summary"] || 0', type: 'number', headerTooltip: 'Configuration summary', minWidth: 50, width: 80, enableFiltering: false, visible: false},
// Activities Queries
- {displayName: 'Execute', categoryDisplayName: 'Queries\' activities', field: 'activitiesDetail["/queries/execute"] || 0', type: 'number', headerTooltip: 'Query execute', minWidth: 50, width: 80, enableFiltering: false, visible: false},
- {displayName: 'Explain', categoryDisplayName: 'Queries\' activities', field: 'activitiesDetail["/queries/explain"] || 0', type: 'number', headerTooltip: 'Query explain', minWidth: 50, width: 80, enableFiltering: false, visible: false},
- {displayName: 'Scan', categoryDisplayName: 'Queries\' activities', field: 'activitiesDetail["/queries/scan"] || 0', type: 'number', headerTooltip: 'Scan', minWidth: 50, width: 80, enableFiltering: false, visible: false}
+ {displayName: 'Execute', categoryDisplayName: 'Queries\' activities', field: 'activitiesDetail["/queries/execute"] || 0', type: 'number', headerTooltip: 'Query executions', minWidth: 50, width: 80, enableFiltering: false, visible: false},
+ {displayName: 'Explain', categoryDisplayName: 'Queries\' activities', field: 'activitiesDetail["/queries/explain"] || 0', type: 'number', headerTooltip: 'Query explain executions', minWidth: 50, width: 80, enableFiltering: false, visible: false},
+ {displayName: 'Scan', categoryDisplayName: 'Queries\' activities', field: 'activitiesDetail["/queries/scan"] || 0', type: 'number', headerTooltip: 'Scan query executions', minWidth: 50, width: 80, enableFiltering: false, visible: false}
];
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
index 19f7921..1f2a348 100644
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
+++ b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
@@ -20,15 +20,26 @@ import headerTemplate from 'app/components/ui-grid-header/ui-grid-header.jade';
import columnDefs from './list-of-registered-users.column-defs';
import categories from './list-of-registered-users.categories';
+const rowTemplate = `<div
+ ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid"
+ ng-mouseover="grid.api.selection.selectRow(row.entity);"
+ ui-grid-one-bind-id-grid="rowRenderIndex + '-' + col.uid + '-cell'"
+ class="ui-grid-cell"
+ ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }"
+ role="{{col.isRowHeader ? 'rowheader' : 'gridcell'}}"
+ ui-grid-cell/>`;
+
export default class IgniteListOfRegisteredUsersCtrl {
- static $inject = ['$scope', '$state', '$templateCache', 'User', 'uiGridConstants', 'IgniteAdminData', 'IgniteNotebookData', 'IgniteConfirm', 'IgniteActivitiesUserDialog'];
+ static $inject = ['$scope', '$state', '$filter', '$templateCache', 'User', 'uiGridConstants', 'IgniteAdminData', 'IgniteNotebookData', 'IgniteConfirm', 'IgniteActivitiesUserDialog'];
- constructor($scope, $state, $templateCache, User, uiGridConstants, AdminData, NotebookData, Confirm, ActivitiesUserDialog) {
+ constructor($scope, $state, $filter, $templateCache, User, uiGridConstants, AdminData, NotebookData, Confirm, ActivitiesUserDialog) {
const $ctrl = this;
const companySelectOptions = [];
const countrySelectOptions = [];
+ const dtFilter = $filter('date');
+
$ctrl.params = {
startDate: new Date()
};
@@ -82,7 +93,7 @@ export default class IgniteListOfRegisteredUsersCtrl {
};
const showActivities = (user) => {
- return new ActivitiesUserDialog({ user, params: $ctrl.params });
+ return new ActivitiesUserDialog({ user });
};
$ctrl.gridOptions = {
@@ -91,14 +102,17 @@ export default class IgniteListOfRegisteredUsersCtrl {
columnDefs,
categories,
headerTemplate: $templateCache.get(headerTemplate),
+ rowTemplate,
enableFiltering: true,
- enableRowSelection: false,
+ enableRowSelection: true,
enableRowHeaderSelection: false,
enableColumnMenus: false,
multiSelect: false,
modifierKeysToMultiSelect: true,
noUnselect: true,
fastWatch: true,
+ exporterSuppressColumns: ['actions'],
+ exporterCsvColumnSeparator: ';',
onRegisterApi: (api) => {
$ctrl.gridApi = api;
@@ -139,14 +153,14 @@ export default class IgniteListOfRegisteredUsersCtrl {
.then((data) => $ctrl.adjustHeight(data.length));
};
- $scope.$watch(() => $ctrl.params.startDate, () => {
- const endDate = new Date($ctrl.params.startDate);
+ $scope.$watch(() => $ctrl.params.startDate, (dt) => {
+ $ctrl.gridOptions.exporterCsvFilename = `web_console_users_${dtFilter(dt, 'yyyy_MM')}.csv`;
- endDate.setMonth(endDate.getMonth() + 1);
+ const endDate = new Date(dt);
- $ctrl.params.endDate = endDate;
+ endDate.setMonth(endDate.getMonth() + 1);
- reloadUsers($ctrl.params);
+ reloadUsers({startDate: dtFilter(dt, 'yyyy-MM-dd'), endDate: dtFilter(endDate, 'yyyy-MM-dd')});
});
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/core/activities/Activities.data.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/core/activities/Activities.data.js b/modules/web-console/frontend/app/core/activities/Activities.data.js
index 8a67a97..8d9447c 100644
--- a/modules/web-console/frontend/app/core/activities/Activities.data.js
+++ b/modules/web-console/frontend/app/core/activities/Activities.data.js
@@ -31,9 +31,4 @@ export default class ActivitiesData {
return this.$http.post('/api/v1/activities/page', { group, action });
}
-
- listByUser(userId, params) {
- return this.$http.get(`/api/v1/activities/user/${userId}`, { params })
- .then(({ data }) => data);
- }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/data/i18n.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/data/i18n.js b/modules/web-console/frontend/app/data/i18n.js
index bc8c700..3385f60 100644
--- a/modules/web-console/frontend/app/data/i18n.js
+++ b/modules/web-console/frontend/app/data/i18n.js
@@ -23,6 +23,7 @@ export default {
'/configuration/domains': 'Configure domain model',
'/configuration/igfs': 'Configure IGFS',
'/configuration/summary': 'Configurations summary',
+ '/configuration/download': 'Download project',
'/demo/resume': 'Demo resume',
'/demo/reset': 'Demo reset',
'/queries/execute': 'Query execute',
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js b/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
index 477cf20..0ae1269 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-export default ['$scope', 'IgniteMavenGenerator', 'IgniteVersion', function($scope, maven, Version) {
+export default ['$scope', 'IgniteMavenGenerator', function($scope, maven) {
const ctrl = this;
// Watchers definition.
@@ -25,7 +25,7 @@ export default ['$scope', 'IgniteMavenGenerator', 'IgniteVersion', function($sco
if (!value)
return;
- ctrl.data = maven.generate($scope.cluster, Version.productVersion().ignite).asString();
+ ctrl.data = maven.generate($scope.cluster);
};
// Setup watchers.
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/modules/agent/agent.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/agent/agent.module.js b/modules/web-console/frontend/app/modules/agent/agent.module.js
index d6fc863..7ac39d1 100644
--- a/modules/web-console/frontend/app/modules/agent/agent.module.js
+++ b/modules/web-console/frontend/app/modules/agent/agent.module.js
@@ -62,21 +62,6 @@ class IgniteAgentMonitor {
this._scope.$$postDigest(() => $state.go(this._scope.backState));
};
- this._scope.downloadAgent = () => {
- const lnk = document.createElement('a');
-
- lnk.setAttribute('href', '/api/v1/agent/download/zip');
- lnk.setAttribute('target', '_self');
- lnk.setAttribute('download', null);
- lnk.style.display = 'none';
-
- document.body.appendChild(lnk);
-
- lnk.click();
-
- document.body.removeChild(lnk);
- };
-
this._scope.hasAgents = null;
this._scope.showModal = false;
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/modules/configuration/Version.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/Version.service.js b/modules/web-console/frontend/app/modules/configuration/Version.service.js
index f0e9c4c..746b1ed 100644
--- a/modules/web-console/frontend/app/modules/configuration/Version.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/Version.service.js
@@ -23,6 +23,9 @@ const VERSION_MATCHER = /(\d+)\.(\d+)\.(\d+)([-.]([^0123456789][^-]+)(-SNAPSHOT)
const numberComparator = (a, b) => a > b ? 1 : a < b ? -1 : 0;
export default class IgniteVersion {
+ /** Current product version. */
+ static ignite = '1.8.0';
+
/**
* Tries to parse product version from it's string representation.
*
@@ -74,16 +77,6 @@ export default class IgniteVersion {
}
/**
- * Return current product version.
- * @returns {{ignite: string}}
- */
- productVersion() {
- return {
- ignite: '1.8.0'
- };
- }
-
- /**
* Check if node version is newer or same
* @param {String} nodeVer
* @param {String} sinceVer
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js b/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
index 2e01761..23a9c4e 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
@@ -16,6 +16,7 @@
*/
import StringBuilder from './StringBuilder';
+import IgniteVersion from 'app/modules/configuration/Version.service';
// Java built-in class names.
import POM_DEPENDENCIES from 'app/data/pom-dependencies.json';
@@ -142,11 +143,10 @@ export default class IgniteMavenGenerator {
* Generate pom.xml.
*
* @param cluster Cluster to take info about dependencies.
- * @param version Ignite version for Ignite dependencies.
- * @param sb Resulting output with generated pom.
+ * @param version Version for Ignite dependencies.
* @returns {string} Generated content.
*/
- generate(cluster, version, sb = new StringBuilder()) {
+ generate(cluster, version = IgniteVersion.ignite) {
const caches = cluster.caches;
const deps = [];
const storeDeps = [];
@@ -162,6 +162,8 @@ export default class IgniteMavenGenerator {
this.addDependency(deps, 'org.apache.ignite', 'ignite-extdata-p2p', version);
});
+ const sb = new StringBuilder();
+
sb.append('<?xml version="1.0" encoding="UTF-8"?>');
sb.emptyLine();
@@ -229,6 +231,6 @@ export default class IgniteMavenGenerator {
this.build(sb, cluster, excludeGroupIds);
- return sb;
+ return sb.asString();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/app/modules/states/configuration/summary/summary.worker.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/summary/summary.worker.js b/modules/web-console/frontend/app/modules/states/configuration/summary/summary.worker.js
index 6b24001..070b6ce 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/summary/summary.worker.js
+++ b/modules/web-console/frontend/app/modules/states/configuration/summary/summary.worker.js
@@ -17,8 +17,6 @@
import JSZip from 'jszip';
-import IgniteVersion from 'app/modules/configuration/Version.service';
-
import MavenGenerator from 'app/modules/configuration/generator/Maven.service';
import DockerGenerator from 'app/modules/configuration/generator/Docker.service';
import ReadmeGenerator from 'app/modules/configuration/generator/Readme.service';
@@ -28,8 +26,6 @@ import ConfigurationGenerator from 'app/modules/configuration/generator/Configur
import JavaTransformer from 'app/modules/configuration/generator/JavaTransformer.service';
import SpringTransformer from 'app/modules/configuration/generator/SpringTransformer.service';
-const Version = new IgniteVersion();
-
const maven = new MavenGenerator();
const docker = new DockerGenerator();
const readme = new ReadmeGenerator();
@@ -100,7 +96,7 @@ onmessage = function(e) {
zip.file(`${startupPath}/ClientNodeCodeStartup.java`, java.nodeStartup(cluster, 'startup.ClientNodeCodeStartup',
'ClientConfigurationFactory.createConfiguration()', 'config.ClientConfigurationFactory', clientNearCaches));
- zip.file('pom.xml', maven.generate(cluster, Version.productVersion().ignite).asString());
+ zip.file('pom.xml', maven.generate(cluster));
zip.file('README.txt', readme.generate());
zip.file('jdbc-drivers/README.txt', readme.generateJDBC());
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/package.json b/modules/web-console/frontend/package.json
index 0fde6d4..2d12655 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -35,7 +35,7 @@
"angular-aria": "1.5.11",
"angular-cookies": "1.5.11",
"angular-drag-and-drop-lists": "1.4.0",
- "angular-gridster": "0.13.4",
+ "angular-gridster": "0.13.14",
"angular-motion": "0.4.4",
"angular-nvd3": "1.0.9",
"angular-retina": "0.4.0",
@@ -66,16 +66,16 @@
"devDependencies": {
"assets-webpack-plugin": "3.5.1",
"autoprefixer-core": "6.0.1",
- "babel-core": "6.23.1",
- "babel-eslint": "7.1.1",
+ "babel-core": "6.20.0",
+ "babel-eslint": "7.0.0",
"babel-loader": "6.2.10",
"babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-transform-builtin-extend": "1.1.2",
- "babel-plugin-transform-runtime": "6.23.0",
- "babel-polyfill": "6.23.0",
+ "babel-plugin-transform-runtime": "6.15.0",
+ "babel-polyfill": "6.20.0",
"babel-preset-angular": "6.0.15",
- "babel-preset-es2015": "6.22.0",
- "babel-runtime": "6.22.0",
+ "babel-preset-es2015": "6.18.0",
+ "babel-runtime": "6.20.0",
"chai": "3.5.0",
"cross-env": "1.0.8",
"css-loader": "0.26.1",
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/stylesheets/style.scss b/modules/web-console/frontend/public/stylesheets/style.scss
index 67cfed1..ab7e3dd 100644
--- a/modules/web-console/frontend/public/stylesheets/style.scss
+++ b/modules/web-console/frontend/public/stylesheets/style.scss
@@ -2331,14 +2331,6 @@ html,body,.splash-screen {
.ui-grid-cell-contents > i {
line-height: $line-height-base;
}
-
- .ui-grid-row:nth-child(odd):hover .ui-grid-cell {
- background: $ignite-row-hover;
- }
-
- .ui-grid-row:nth-child(even):hover .ui-grid-cell {
- background: $ignite-row-hover;
- }
}
.datepicker.dropdown-menu {
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/public/stylesheets/variables.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/stylesheets/variables.scss b/modules/web-console/frontend/public/stylesheets/variables.scss
index e30bbdd..8500eac 100644
--- a/modules/web-console/frontend/public/stylesheets/variables.scss
+++ b/modules/web-console/frontend/public/stylesheets/variables.scss
@@ -26,4 +26,3 @@ $ignite-border-bottom-color: $brand-primary;
$ignite-background-color: #fff;
$ignite-header-color: #555;
$ignite-invalid-color: $brand-primary;
-$ignite-row-hover: #c9dde1;
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e16eb29/modules/web-console/frontend/views/templates/agent-download.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/templates/agent-download.jade b/modules/web-console/frontend/views/templates/agent-download.jade
index f57bf1d..f5a6ba0 100644
--- a/modules/web-console/frontend/views/templates/agent-download.jade
+++ b/modules/web-console/frontend/views/templates/agent-download.jade
@@ -23,10 +23,10 @@
span(ng-if='!hasAgents') Connection to Ignite Web Agent is not established
span(ng-if='hasAgents') Connection to Ignite Node is not established
.agent-download(ng-if='!hasAgents')
- p Please download and run #[a(href='javascript:void(0)' ng-click='downloadAgent()') ignite-web-agent] in order to {{::agentGoal}}
+ p Please download and run #[a(href='/api/v1/agent/download/zip' target='_self') ignite-web-agent] in order to {{::agentGoal}}
p For run:
ul
- li Download and unzip #[a(href='javascript:void(0)' ng-click='downloadAgent()') ignite-web-agent] archive
+ li Download and unzip #[a(href='/api/v1/agent/download/zip' target='_self') ignite-web-agent] archive
li Run shell file #[b ignite-web-agent.{sh|bat}]
p Refer to #[b README.txt] in agent folder for more information
.modal-advanced-options
@@ -47,4 +47,4 @@
li Refer to #[b README.txt] in agent folder for more information
.modal-footer
button.btn.btn-default(ng-click='back()') {{::backText}}
- button.btn.btn-primary(ng-if='!hasAgents' ng-click='downloadAgent()') Download agent
+ a.btn.btn-primary(ng-if='!hasAgents' href='/api/v1/agent/download/zip' target='_self') Download agent
[5/6] ignite git commit: IGNITE-4472 Minor UI fix.
Posted by an...@apache.org.
IGNITE-4472 Minor UI fix.
(cherry picked from commit 97c7ed7)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4be571d0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4be571d0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4be571d0
Branch: refs/heads/ignite-1.9
Commit: 4be571d061b6faf2bf9739e86966bbc440bb58a6
Parents: 75f903f
Author: Andrey Novikov <an...@gridgain.com>
Authored: Thu Feb 16 14:22:22 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Fri Feb 17 10:19:30 2017 +0700
----------------------------------------------------------------------
.../list-of-registered-users.column-defs.js | 8 ++--
.../list-of-registered-users.controller.js | 18 +++++++++
.../list-of-registered-users.jade | 16 +++++---
.../ui-grid-settings/ui-grid-settings.scss | 39 +++++++++++++++++---
4 files changed, 66 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/4be571d0/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
index 4dc4655..e6ba842 100644
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
+++ b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.column-defs.js
@@ -49,7 +49,7 @@ const ACTIONS_TEMPLATE = `
const EMAIL_TEMPLATE = '<div class="ui-grid-cell-contents"><a ng-href="mailto:{{ COL_FIELD }}">{{ COL_FIELD }}</a></div>';
export default [
- {displayName: 'Actions', categoryDisplayName: 'Actions', cellTemplate: ACTIONS_TEMPLATE, field: 'actions', minWidth: 70, width: 70, enableFiltering: false, enableSorting: false, pinnedLeft: true},
+ {displayName: 'Actions', categoryDisplayName: 'Actions', cellTemplate: ACTIONS_TEMPLATE, field: 'actions', minWidth: 65, width: 65, enableFiltering: false, enableSorting: false, pinnedLeft: true},
{displayName: 'User', categoryDisplayName: 'User', field: 'userName', cellTemplate: USER_TEMPLATE, minWidth: 160, enableFiltering: true, filter: { placeholder: 'Filter by name...' }, pinnedLeft: true},
{displayName: 'Email', categoryDisplayName: 'Email', field: 'email', cellTemplate: EMAIL_TEMPLATE, minWidth: 160, enableFiltering: true, filter: { placeholder: 'Filter by email...' }},
{displayName: 'Company', categoryDisplayName: 'Company', field: 'company', minWidth: 160, enableFiltering: true},
@@ -64,9 +64,9 @@ export default [
// Activities Total
{displayName: 'Cfg', categoryDisplayName: 'Total activities', field: 'activitiesTotal["configuration"] || 0', type: 'number', headerTooltip: 'Total count of configuration usages', minWidth: 50, width: 50, enableFiltering: false},
{displayName: 'Qry', categoryDisplayName: 'Total activities', field: 'activitiesTotal["queries"] || 0', type: 'number', headerTooltip: 'Total count of queries usages', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'Demo', categoryDisplayName: 'Total activities', field: 'activitiesTotal["demo"] || 0', type: 'number', headerTooltip: 'Total count of demo startup', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'Dnld', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/download"] || 0', type: 'number', headerTooltip: 'Total count of agent downloads', minWidth: 50, width: 50, enableFiltering: false},
- {displayName: 'Str', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/start"] || 0', type: 'number', headerTooltip: 'Total count of agent startup', minWidth: 50, width: 50, enableFiltering: false},
+ {displayName: 'Demo', categoryDisplayName: 'Total activities', field: 'activitiesTotal["demo"] || 0', type: 'number', headerTooltip: 'Total count of demo startup', minWidth: 60, width: 60, enableFiltering: false},
+ {displayName: 'Dnld', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/download"] || 0', type: 'number', headerTooltip: 'Total count of agent downloads', minWidth: 55, width: 55, enableFiltering: false},
+ {displayName: 'Starts', categoryDisplayName: 'Total activities', field: 'activitiesDetail["/agent/start"] || 0', type: 'number', headerTooltip: 'Total count of agent startup', minWidth: 60, width: 60, enableFiltering: false},
// Activities Configuration
{displayName: 'Clusters', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/clusters"] || 0', type: 'number', headerTooltip: 'Configuration clusters', minWidth: 50, width: 80, enableFiltering: false, visible: false},
{displayName: 'Model', categoryDisplayName: 'Configuration\'s activities', field: 'activitiesDetail["/configuration/domains"] || 0', type: 'number', headerTooltip: 'Configuration model', minWidth: 50, width: 80, enableFiltering: false, visible: false},
http://git-wip-us.apache.org/repos/asf/ignite/blob/4be571d0/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
index 1f2a348..5761073 100644
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
+++ b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.controller.js
@@ -96,6 +96,18 @@ export default class IgniteListOfRegisteredUsersCtrl {
return new ActivitiesUserDialog({ user });
};
+ const companiesExcludeFilter = (renderableRows) => {
+ if (_.isNil($ctrl.params.companiesExclude))
+ return renderableRows;
+
+ _.forEach(renderableRows, (row) => {
+ row.visible = _.isEmpty($ctrl.params.companiesExclude) ||
+ row.entity.company.toLowerCase().indexOf($ctrl.params.companiesExclude.toLowerCase()) === -1;
+ });
+
+ return renderableRows;
+ };
+
$ctrl.gridOptions = {
data: [],
columnVirtualizationThreshold: 30,
@@ -120,6 +132,8 @@ export default class IgniteListOfRegisteredUsersCtrl {
api.removeUser = removeUser;
api.toggleAdmin = toggleAdmin;
api.showActivities = showActivities;
+
+ api.grid.registerRowsProcessor(companiesExcludeFilter, 300);
}
};
@@ -153,6 +167,10 @@ export default class IgniteListOfRegisteredUsersCtrl {
.then((data) => $ctrl.adjustHeight(data.length));
};
+ $scope.$watch(() => $ctrl.params.companiesExclude, () => {
+ $ctrl.gridApi.grid.refreshRows();
+ });
+
$scope.$watch(() => $ctrl.params.startDate, (dt) => {
$ctrl.gridOptions.exporterCsvFilename = `web_console_users_${dtFilter(dt, 'yyyy_MM')}.csv`;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4be571d0/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
index efed9c0..1195910 100644
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
+++ b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
@@ -39,16 +39,20 @@ mixin grid-settings()
+grid-settings
label Total users:
strong {{ $ctrl.gridOptions.data.length }}
- label Showing users:
+ label Showing users:
strong {{ $ctrl.gridApi.grid.getVisibleRows().length }}
sub(ng-show='users.length === $ctrl.gridApi.grid.getVisibleRows().length') all
- div.ui-grid-settings-dateperiod
- form(ng-form=form novalidate)
- -var form = 'admin'
+ form.pull-right(ng-form=form novalidate)
+ -var form = 'admin'
+
+ button.btn.btn-primary(ng-click='$ctrl.exportCsv()' bs-tooltip data-title='Export table to csv') Export
+
+ .ui-grid-settings-dateperiod
+ignite-form-field-datepicker('Period:', '$ctrl.params.startDate', '"period"')
-
- button.btn.btn-primary(ng-click='$ctrl.exportCsv()' bs-tooltip data-title='Export table to csv') Export
+
+ .ui-grid-settings-filter
+ +ignite-form-field-text('Exclude:', '$ctrl.params.companiesExclude', '"exclude"', false, false, 'Exclude by company name...')
.panel-collapse
.grid.ui-grid--ignite(ui-grid='$ctrl.gridOptions' ui-grid-resize-columns ui-grid-selection ui-grid-exporter ui-grid-pinning)
http://git-wip-us.apache.org/repos/asf/ignite/blob/4be571d0/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss b/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
index 3016488..bc16271 100644
--- a/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
+++ b/modules/web-console/frontend/app/components/ui-grid-settings/ui-grid-settings.scss
@@ -36,6 +36,40 @@
cursor: pointer;
}
+ .btn {
+ float: right;
+
+ line-height: 20px;
+ margin-right: 0;
+ }
+
+ &-filter {
+ float: right;
+
+ .ignite-form-field {
+ width: 260px;
+ margin-right: 10px;
+
+ &__label {
+ }
+
+ &__control {
+ }
+
+ &:nth-child(1) {
+ float: left;
+
+ .ignite-form-field__label {
+ width: 30%;
+ }
+
+ .ignite-form-field__control {
+ width: 70%;
+ }
+ }
+ }
+ }
+
&-dateperiod {
float: right;
@@ -61,10 +95,5 @@
}
}
}
-
- .btn {
- line-height: 20px;
- margin-right: 0;
- }
}
}