You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/07/25 10:18:00 UTC
[09/11] ignite git commit: IGNITE-5697 Web Console: Upgrade
dependencies.
IGNITE-5697 Web Console: Upgrade dependencies.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f277530a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f277530a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f277530a
Branch: refs/heads/master
Commit: f277530ab6a9a6f03fd66f95a7a4d91a3506dcf5
Parents: 39fa8fa
Author: Andrey Novikov <an...@gridgain.com>
Authored: Tue Jul 25 15:24:13 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Tue Jul 25 15:24:13 2017 +0700
----------------------------------------------------------------------
modules/web-console/backend/.eslintrc | 39 ++++++------
modules/web-console/backend/package.json | 27 ++++----
modules/web-console/frontend/.eslintrc | 40 +++++-------
modules/web-console/frontend/app/app.js | 37 ++++++-----
.../components/activities-user-dialog/index.js | 28 ++++-----
.../page-configure-advanced/controller.js | 9 +--
.../components/page-configure-basic/service.js | 8 +--
.../app/components/page-configure/controller.js | 12 +---
.../page-configure/controller.spec.js | 48 --------------
.../page-configure/services/PageConfigure.js | 18 +++---
.../components/web-console-header/component.js | 12 ++--
.../app/components/web-console-header/index.js | 4 +-
.../frontend/app/modules/ace.module.js | 6 +-
.../app/modules/branding/branding.module.js | 16 +++--
.../generator/ConfigurationGenerator.js | 2 +-
.../generator/PlatformGenerator.js | 4 +-
.../frontend/app/modules/demo/Demo.module.js | 10 +--
.../app/modules/dialog/dialog.controller.js | 4 --
.../app/modules/form/field/label.directive.js | 4 +-
.../app/modules/form/field/tooltip.directive.js | 4 +-
.../frontend/app/modules/sql/sql.controller.js | 2 +-
.../frontend/app/modules/sql/sql.module.js | 66 ++++++++++----------
.../frontend/app/modules/states/admin.state.js | 6 +-
.../app/modules/states/configuration.state.js | 35 ++++++-----
.../summary/summary-zipper.service.js | 2 +-
.../frontend/app/modules/states/errors.state.js | 4 +-
.../frontend/app/modules/states/logout.state.js | 12 ++--
.../app/modules/states/password.state.js | 4 +-
.../app/modules/states/profile.state.js | 9 ++-
.../frontend/app/modules/states/signin.state.js | 32 +++++-----
.../app/modules/user/AclRoute.provider.js | 6 +-
.../frontend/app/modules/user/user.module.js | 30 ++++++++-
.../app/services/CopyToClipboard.service.js | 4 +-
.../app/services/LegacyTable.service.js | 2 +-
modules/web-console/frontend/app/vendor.js | 8 ++-
modules/web-console/frontend/package.json | 57 ++++++++---------
modules/web-console/frontend/views/index.pug | 14 +----
37 files changed, 292 insertions(+), 333 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/backend/.eslintrc
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/.eslintrc b/modules/web-console/backend/.eslintrc
index 7eb04b7..1915518 100644
--- a/modules/web-console/backend/.eslintrc
+++ b/modules/web-console/backend/.eslintrc
@@ -3,19 +3,21 @@ env:
node: true
mocha: true
-ecmaFeatures:
- arrowFunctions: true
- blockBindings: true
- classes: true
- defaultParams: true
- destructuring: true
- module: true
- objectLiteralComputedProperties: true
- objectLiteralShorthandMethods: true
- objectLiteralShorthandProperties: true
- spread: true
- templateStrings: true
- experimentalObjectRestSpread: true
+parserOptions:
+ sourceType: module
+ ecmaFeatures:
+ arrowFunctions: true
+ blockBindings: true
+ classes: true
+ defaultParams: true
+ destructuring: true
+ module: true
+ objectLiteralComputedProperties: true
+ objectLiteralShorthandMethods: true
+ objectLiteralShorthandProperties: true
+ spread: true
+ templateStrings: true
+ experimentalObjectRestSpread: true
globals:
_: true
@@ -47,7 +49,7 @@ rules:
guard-for-in: 1
handle-callback-err: 0
id-length: [2, {"min": 1, "max": 60}]
- indent: [2, 4, {"SwitchCase": 1}]
+ indent: [2, 4, {"SwitchCase": 1, "MemberExpression": "off", "CallExpression": {"arguments": "off"}}]
key-spacing: [2, { "beforeColon": false, "afterColon": true }]
lines-around-comment: 0
linebreak-style: [0, "unix"]
@@ -104,7 +106,7 @@ rules:
no-loop-func: 2
no-mixed-requires: [0, false]
no-mixed-spaces-and-tabs: [2, true]
- no-multi-spaces: 2
+ no-multi-spaces: ["error", {"exceptions": { "VariableDeclarator": true }}]
no-multi-str: 2
no-multiple-empty-lines: [0, {"max": 2}]
no-native-reassign: 2
@@ -130,7 +132,7 @@ rules:
no-script-url: 0
no-self-compare: 2
no-sequences: 2
- no-shadow: 2
+ no-shadow: 0
no-shadow-restricted-names: 2
no-spaced-func: 2
no-sparse-arrays: 1
@@ -162,7 +164,7 @@ rules:
prefer-const: 1
prefer-spread: 2
quote-props: [2, "as-needed"]
- quotes: [2, "single"]
+ quotes: [2, "single", {"allowTemplateLiterals": true}]
radix: 1
semi: [2, "always"]
semi-spacing: [2, {"before": false, "after": true}]
@@ -181,6 +183,3 @@ rules:
wrap-iife: 0
wrap-regex: 0
yoda: [2, "never"]
-
-parserOptions:
- sourceType: module
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/backend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/package.json b/modules/web-console/backend/package.json
index 2af7787..837f41c 100644
--- a/modules/web-console/backend/package.json
+++ b/modules/web-console/backend/package.json
@@ -29,19 +29,19 @@
"win32"
],
"dependencies": {
- "body-parser": "1.17.1",
+ "body-parser": "1.17.2",
"connect-mongo": "1.3.2",
- "cookie-parser": "~1.4.0",
- "express": "4.15.2",
- "express-session": "1.15.2",
+ "cookie-parser": "1.4.3",
+ "express": "4.15.3",
+ "express-session": "1.15.4",
"fire-up": "1.0.0",
- "glob": "7.1.1",
+ "glob": "7.1.2",
"jszip": "3.1.3",
"lodash": "4.17.4",
- "mongoose": "4.9.4",
- "morgan": "1.8.1",
+ "mongoose": "4.11.4",
+ "morgan": "1.8.2",
"nconf": "0.8.4",
- "nodemailer": "3.1.4",
+ "nodemailer": "4.0.1",
"passport": "0.3.2",
"passport-local": "1.0.0",
"passport-local-mongoose": "4.0.0",
@@ -49,12 +49,11 @@
"socket.io": "1.7.3"
},
"devDependencies": {
- "chai": "3.5.0",
- "cross-env": "4.0.0",
- "eslint": "3.19.0",
- "eslint-friendly-formatter": "2.0.7",
- "jasmine-core": "2.5.2",
- "mocha": "3.2.0",
+ "chai": "4.1.0",
+ "cross-env": "5.0.1",
+ "eslint": "4.3.0",
+ "eslint-friendly-formatter": "3.0.0",
+ "mocha": "3.4.2",
"mocha-teamcity-reporter": "1.1.1",
"mockgoose": "6.0.8",
"supertest": "3.0.0"
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/.eslintrc
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/.eslintrc b/modules/web-console/frontend/.eslintrc
index d88fb97..4e24d0b 100644
--- a/modules/web-console/frontend/.eslintrc
+++ b/modules/web-console/frontend/.eslintrc
@@ -6,20 +6,21 @@ plugins:
env:
es6: true
browser: true
-
-ecmaFeatures:
- arrowFunctions: true
- blockBindings: true
- classes: true
- defaultParams: true
- destructuring: true
- module: true
- objectLiteralComputedProperties: true
- objectLiteralShorthandMethods: true
- objectLiteralShorthandProperties: true
- spread: true
- templateStrings: true
- experimentalObjectRestSpread: true
+parserOptions:
+ sourceType: module
+ ecmaFeatures:
+ arrowFunctions: true
+ blockBindings: true
+ classes: true
+ defaultParams: true
+ destructuring: true
+ module: true
+ objectLiteralComputedProperties: true
+ objectLiteralShorthandMethods: true
+ objectLiteralShorthandProperties: true
+ spread: true
+ templateStrings: true
+ experimentalObjectRestSpread: true
globals:
_: true
@@ -29,10 +30,6 @@ globals:
window: true
global: true
angular: true
- $generatorCommon: true
- $generatorSpring: true
- $generatorJava: true
- $generatorOptional: true
saveAs: true
process: true
require: true
@@ -63,7 +60,7 @@ rules:
guard-for-in: 1
handle-callback-err: 0
id-length: [2, {"min": 1, "max": 60}]
- indent: [2, 4, {"SwitchCase": 1}]
+ indent: [2, 4, {"SwitchCase": 1, "MemberExpression": "off", "CallExpression": {"arguments": "off"}}]
key-spacing: [2, { "beforeColon": false, "afterColon": true }]
lines-around-comment: 0
linebreak-style: [0, "unix"]
@@ -138,7 +135,7 @@ rules:
no-path-concat: 0
no-plusplus: 0
no-process-env: 0
- no-process-exit: 1
+ no-process-exit: 0
no-proto: 2
no-redeclare: 2
no-regex-spaces: 1
@@ -198,6 +195,3 @@ rules:
wrap-regex: 0
yoda: [2, "never"]
babel/semi: 2
-
-parserOptions:
- sourceType: module
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/app.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/app.js b/modules/web-console/frontend/app/app.js
index 0667e8f..e2d609a 100644
--- a/modules/web-console/frontend/app/app.js
+++ b/modules/web-console/frontend/app/app.js
@@ -133,8 +133,7 @@ import IgniteModules from 'IgniteModules/index';
import baseTemplate from 'views/base.pug';
-angular
-.module('ignite-console', [
+angular.module('ignite-console', [
// Optional AngularJS modules.
'ngAnimate',
'ngSanitize',
@@ -143,6 +142,7 @@ angular
'btford.socket-io',
'mgcrea.ngStrap',
'ui.router',
+ 'ui.router.state.events',
'gridster',
'dndLists',
'nvd3',
@@ -278,33 +278,32 @@ angular
$urlRouterProvider.otherwise('/404');
$locationProvider.html5Mode(true);
}])
-.run(['$rootScope', '$state', 'MetaTags', 'gettingStarted', ($root, $state, $meta, gettingStarted) => {
+.run(['$rootScope', '$state', 'gettingStarted', ($root, $state, gettingStarted) => {
$root._ = _;
$root.$state = $state;
- $root.$meta = $meta;
$root.gettingStarted = gettingStarted;
}])
.run(['$rootScope', 'AgentManager', ($root, agentMgr) => {
$root.$on('user', () => agentMgr.connect());
}])
-.run(['$rootScope', ($root) => {
- $root.$on('$stateChangeStart', () => {
+.run(['$transitions', ($transitions) => {
+ $transitions.onStart({ }, () => {
_.forEach(angular.element('.modal'), (m) => angular.element(m).scope().$hide());
});
- if (!$root.IgniteDemoMode) {
- $root.$on('$stateChangeSuccess', (event, {name, unsaved}, params) => {
- try {
- if (unsaved)
- localStorage.removeItem('lastStateChangeSuccess');
- else
- localStorage.setItem('lastStateChangeSuccess', JSON.stringify({name, params}));
- }
- catch (ignored) {
- // No-op.
- }
- });
- }
+ $transitions.onSuccess({ }, (trans) => {
+ try {
+ const {name, params, unsaved} = trans.$to();
+
+ if (unsaved)
+ localStorage.removeItem('lastStateChangeSuccess');
+ else
+ localStorage.setItem('lastStateChangeSuccess', JSON.stringify({name, params}));
+ }
+ catch (ignored) {
+ // No-op.
+ }
+ });
}])
.run(['$rootScope', '$http', '$state', 'IgniteMessages', 'User', 'IgniteNotebookData',
($root, $http, $state, Messages, User, Notebook) => { // eslint-disable-line no-shadow
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/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 02c7c1e..13c1d95 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
@@ -15,20 +15,20 @@
* limitations under the License.
*/
- import controller from './activities-user-dialog.controller';
- import templateUrl from './activities-user-dialog.tpl.pug';
+import controller from './activities-user-dialog.controller';
+import templateUrl from './activities-user-dialog.tpl.pug';
- export default ['$modal', ($modal) => ({ show = true, user }) => {
- const ActivitiesUserDialog = $modal({
- templateUrl,
- show,
- resolve: {
- user: () => user
- },
- controller,
- controllerAs: 'ctrl'
- });
+export default ['$modal', ($modal) => ({ show = true, user }) => {
+ const ActivitiesUserDialog = $modal({
+ templateUrl,
+ show,
+ resolve: {
+ user: () => user
+ },
+ controller,
+ controllerAs: 'ctrl'
+ });
- return ActivitiesUserDialog.$promise
+ return ActivitiesUserDialog.$promise
.then(() => ActivitiesUserDialog);
- }];
+}];
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/page-configure-advanced/controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/page-configure-advanced/controller.js b/modules/web-console/frontend/app/components/page-configure-advanced/controller.js
index 0e73ae3..da20527 100644
--- a/modules/web-console/frontend/app/components/page-configure-advanced/controller.js
+++ b/modules/web-console/frontend/app/components/page-configure-advanced/controller.js
@@ -16,7 +16,7 @@
*/
export default class PageConfigureAdvancedController {
- static $inject = ['PageConfigureAdvanced', '$scope'];
+ static $inject = ['$scope'];
static menuItems = [
{ text: 'Clusters', sref: 'base.configuration.tabs.advanced.clusters' },
@@ -26,14 +26,11 @@ export default class PageConfigureAdvancedController {
{ text: 'Summary', sref: 'base.configuration.tabs.advanced.summary' }
];
- constructor(PageConfigureAdvanced, $scope) {
- Object.assign(this, {PageConfigureAdvanced, $scope});
+ constructor($scope) {
+ Object.assign(this, {$scope});
}
$onInit() {
this.menuItems = this.constructor.menuItems;
- this.$scope.$on('$stateChangeSuccess', (e, toState) => {
- this.PageConfigureAdvanced.onStateEnterRedirect(toState);
- });
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/page-configure-basic/service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/page-configure-basic/service.js b/modules/web-console/frontend/app/components/page-configure-basic/service.js
index 4db61ea..0032106 100644
--- a/modules/web-console/frontend/app/components/page-configure-basic/service.js
+++ b/modules/web-console/frontend/app/components/page-configure-basic/service.js
@@ -50,7 +50,7 @@ export default class PageConfigureBasic {
const noFakeIDCaches = caches.map(stripFakeID);
cluster = cloneDeep(stripFakeID(cluster));
return this.$q.all(noFakeIDCaches.map((cache) => (
- this.caches.saveCache(cache)
+ this.caches.saveCache(cache)
.then(
({data}) => data,
(e) => {
@@ -58,7 +58,7 @@ export default class PageConfigureBasic {
return this.$q.resolve(null);
}
)
- )))
+ )))
.then((cacheIDs) => {
// Make sure we don't loose new IDs even if some requests fail
this.pageConfigure.upsertCaches(
@@ -115,8 +115,8 @@ export default class PageConfigureBasic {
setCluster(_id) {
this.ConfigureState.dispatchAction(
isNewItem({_id})
- ? {type: SET_CLUSTER, _id, cluster: this.clusters.getBlankCluster()}
- : {type: SET_CLUSTER, _id}
+ ? {type: SET_CLUSTER, _id, cluster: this.clusters.getBlankCluster()}
+ : {type: SET_CLUSTER, _id}
);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/page-configure/controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/page-configure/controller.js b/modules/web-console/frontend/app/components/page-configure/controller.js
index 3dcd14e..5ead0bb 100644
--- a/modules/web-console/frontend/app/components/page-configure/controller.js
+++ b/modules/web-console/frontend/app/components/page-configure/controller.js
@@ -16,15 +16,9 @@
*/
export default class PageConfigureController {
- static $inject = ['$scope', 'PageConfigure'];
+ static $inject = ['$scope'];
- constructor($scope, PageConfigure) {
- Object.assign(this, {$scope, PageConfigure});
- }
-
- $onInit() {
- this.$scope.$on('$stateChangeSuccess', (e, toState) => {
- this.PageConfigure.onStateEnterRedirect(toState);
- });
+ constructor($scope) {
+ Object.assign(this, {$scope});
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/page-configure/controller.spec.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/page-configure/controller.spec.js b/modules/web-console/frontend/app/components/page-configure/controller.spec.js
deleted file mode 100644
index e30eb65..0000000
--- a/modules/web-console/frontend/app/components/page-configure/controller.spec.js
+++ /dev/null
@@ -1,48 +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.
- */
-
-import {suite, test} from 'mocha';
-import {assert} from 'chai';
-import {spy} from 'sinon';
-
-import Controller from './controller';
-
-const mocks = () => new Map([
- ['$scope', {
- $on: spy()
- }],
- ['PageConfigure', {
- onStateEnterRedirect: spy()
- }]
-]);
-
-suite('page-configure component controller', () => {
- test('State change success redirect', () => {
- const c = new Controller(...mocks().values());
- c.$onInit();
- c.$scope.$on.getCall(0).args[1](null, {name: 'base.items'});
- assert.isOk(
- c.PageConfigure.onStateEnterRedirect.calledOnce,
- 'calls PageConfigure.onStateEnterRedirect every $stateChangeSuccess'
- );
- assert.deepEqual(
- c.PageConfigure.onStateEnterRedirect.getCall(0).args,
- [{name: 'base.items'}],
- 'calls PageConfigure.onStateEnterRedirect with correct arguments'
- );
- });
-});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/page-configure/services/PageConfigure.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/page-configure/services/PageConfigure.js b/modules/web-console/frontend/app/components/page-configure/services/PageConfigure.js
index a712aca..34a292a 100644
--- a/modules/web-console/frontend/app/components/page-configure/services/PageConfigure.js
+++ b/modules/web-console/frontend/app/components/page-configure/services/PageConfigure.js
@@ -31,15 +31,17 @@ export default class PageConfigure {
}
onStateEnterRedirect(toState) {
- if (toState.name !== 'base.configuration.tabs') return this.$q.resolve();
+ if (toState.name !== 'base.configuration.tabs')
+ return this.$q.resolve();
+
return this.configuration.read()
- .then((data) => {
- this.loadList(data);
- const nextState = data.clusters.length
- ? 'base.configuration.tabs.advanced'
- : 'base.configuration.tabs.basic';
- return this.$state.go(nextState, null, {location: 'replace'});
- });
+ .then((data) => {
+ this.loadList(data);
+
+ return this.$q.resolve(data.clusters.length
+ ? 'base.configuration.tabs.advanced'
+ : 'base.configuration.tabs.basic');
+ });
}
loadList(list) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/web-console-header/component.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/web-console-header/component.js b/modules/web-console/frontend/app/components/web-console-header/component.js
index d4c5c4b..66f09e9 100644
--- a/modules/web-console/frontend/app/components/web-console-header/component.js
+++ b/modules/web-console/frontend/app/components/web-console-header/component.js
@@ -33,11 +33,15 @@ export default {
Object.assign(this, {$rootScope, $scope, $state, branding, UserNotifications});
}
+ setWebAgentDownloadVisible() {
+ this.isWebAgentDownloadVisible =
+ this.constructor.webAgentDownloadVisibleStates.some((state) => this.$state.includes(state));
+ }
+
$onInit() {
- this.$scope.$on('$stateChangeSuccess', () => {
- this.isWebAgentDownloadVisible =
- this.constructor.webAgentDownloadVisibleStates.some((state) => this.$state.includes(state));
- });
+ this.setWebAgentDownloadVisible();
+
+ this.$scope.$on('$stateChangeSuccess', () => this.setWebAgentDownloadVisible());
}
},
transclude: {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/components/web-console-header/index.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/web-console-header/index.js b/modules/web-console/frontend/app/components/web-console-header/index.js
index 36caa3d..e41e1cc 100644
--- a/modules/web-console/frontend/app/components/web-console-header/index.js
+++ b/modules/web-console/frontend/app/components/web-console-header/index.js
@@ -19,5 +19,5 @@ import angular from 'angular';
import component from './component';
export default angular
- .module('ignite-console.web-console-header', [])
- .component('webConsoleHeader', component);
+ .module('ignite-console.web-console-header', [])
+ .component('webConsoleHeader', component);
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/ace.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/ace.module.js b/modules/web-console/frontend/app/modules/ace.module.js
index 4920a6f..a28536a 100644
--- a/modules/web-console/frontend/app/modules/ace.module.js
+++ b/modules/web-console/frontend/app/modules/ace.module.js
@@ -184,10 +184,10 @@ angular
return (e) => {
const newValue = session.getValue();
+ // HACK make sure to only trigger the apply outside of the
+ // digest loop 'cause ACE is actually using this callback
+ // for any text transformation !
if (ngModel && newValue !== ngModel.$viewValue &&
- // HACK make sure to only trigger the apply outside of the
- // digest loop 'cause ACE is actually using this callback
- // for any text transformation !
!scope.$$phase && !scope.$root.$$phase)
scope.$eval(() => ngModel.$setViewValue(newValue));
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/branding/branding.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/branding/branding.module.js b/modules/web-console/frontend/app/modules/branding/branding.module.js
index cae7c91..9c4a5e5 100644
--- a/modules/web-console/frontend/app/modules/branding/branding.module.js
+++ b/modules/web-console/frontend/app/modules/branding/branding.module.js
@@ -28,14 +28,18 @@ import ignitePoweredByApache from './powered-by-apache.directive';
angular
.module('ignite-console.branding', [
- 'ui.router.metatags'
+ 'tf.metatags'
])
.provider(...IgniteBranding)
-.config(['UIRouterMetatagsProvider', (UIRouterMetatagsProvider) => {
- UIRouterMetatagsProvider
- .setDefaultTitle('Apache Ignite - Management Tool and Configuration Wizard')
- .setTitleSuffix(' – Apache Ignite Web Console')
- .setDefaultDescription('The Apache Ignite Web Console is an interactive management tool and configuration wizard which walks you through the creation of config files. Try it now.');
+.config(['tfMetaTagsProvider', (tfMetaTagsProvider) => {
+ tfMetaTagsProvider.setDefaults({
+ title: 'Apache Ignite - Management Tool and Configuration Wizard',
+ properties: {
+ description: 'The Apache Ignite Web Console is an interactive management tool and configuration wizard which walks you through the creation of config files. Try it now.'
+ }
+ });
+
+ tfMetaTagsProvider.setTitleSuffix(' – Apache Ignite Web Console');
}])
.directive(...ignitePoweredByApache)
.directive(...igniteHeaderLogo)
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
index 8299b9b..a14bfd3 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
@@ -887,7 +887,7 @@ export default class IgniteConfigurationGenerator {
cfg.intProperty('peerClassLoadingMissedResourcesCacheSize')
.intProperty('peerClassLoadingThreadPoolSize')
.varArgProperty('p2pLocClsPathExcl', 'peerClassLoadingLocalClassPathExclude',
- cluster.peerClassLoadingLocalClassPathExclude);
+ cluster.peerClassLoadingLocalClassPathExclude);
}
// Since ignite 2.0
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
index b076193..234c7ec 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
@@ -168,7 +168,7 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
.intProperty('unacknowledgedMessagesBufferSize')
// .intProperty('socketWriteTimeout')
.intProperty('selectorsCount');
- // .emptyBeanProperty('addressResolver');
+ // .emptyBeanProperty('addressResolver');
if (commSpi.nonEmpty())
cfg.beanProperty('CommunicationSpi', commSpi);
@@ -176,7 +176,7 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
cfg.intProperty('networkTimeout', 'NetworkTimeout')
.intProperty('networkSendRetryDelay')
.intProperty('networkSendRetryCount');
- // .intProperty('discoveryStartupDelay');
+ // .intProperty('discoveryStartupDelay');
return cfg;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/demo/Demo.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/demo/Demo.module.js b/modules/web-console/frontend/app/modules/demo/Demo.module.js
index d75beda..2445461 100644
--- a/modules/web-console/frontend/app/modules/demo/Demo.module.js
+++ b/modules/web-console/frontend/app/modules/demo/Demo.module.js
@@ -24,7 +24,7 @@ angular
.module('ignite-console.demo', [
'ignite-console.socket'
])
-.config(['$stateProvider', 'AclRouteProvider', ($stateProvider, AclRoute) => {
+.config(['$stateProvider', ($stateProvider) => {
$stateProvider
.state('demo', {
abstract: true,
@@ -33,17 +33,17 @@ angular
})
.state('demo.resume', {
url: '/resume',
- onEnter: AclRoute.checkAccess('demo'),
+ permission: 'demo',
controller: ['$state', ($state) => {
$state.go('base.configuration.tabs.advanced.clusters');
}],
- metaTags: {
+ tfMetaTags: {
title: 'Demo resume'
}
})
.state('demo.reset', {
url: '/reset',
- onEnter: AclRoute.checkAccess('demo'),
+ permission: 'demo',
controller: ['$state', '$http', 'IgniteMessages', ($state, $http, Messages) => {
$http.post('/api/v1/demo/reset')
.then(() => $state.go('base.configuration.tabs.advanced.clusters'))
@@ -53,7 +53,7 @@ angular
Messages.showError(res);
});
}],
- metaTags: {
+ tfMetaTags: {
title: 'Demo reset'
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog.controller.js b/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
index 05518d3..0256b84 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
@@ -33,8 +33,4 @@ export default ['$rootScope', '$scope', 'IgniteDialog', function($root, $scope,
$scope.$watch(() => ctrl.content, () => {
$scope.content = ctrl.content;
});
-
- $root.$on('$stateChangeStart', () => {
- dialog.hide();
- });
}];
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/form/field/label.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/field/label.directive.js b/modules/web-console/frontend/app/modules/form/field/label.directive.js
index 97ba598..94f7889 100644
--- a/modules/web-console/frontend/app/modules/form/field/label.directive.js
+++ b/modules/web-console/frontend/app/modules/form/field/label.directive.js
@@ -20,7 +20,7 @@ export default ['igniteFormFieldLabel', [() => {
restrict: 'E',
compile() {
return {
- post($scope, $element, $attrs, [form, field], $transclude) {
+ post($scope, $element, $attrs, [field], $transclude) {
$transclude($scope, function(clone) {
const text = clone.text();
@@ -42,6 +42,6 @@ export default ['igniteFormFieldLabel', [() => {
},
replace: true,
transclude: true,
- require: ['^form', '?^igniteFormField']
+ require: ['?^igniteFormField']
};
}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/form/field/tooltip.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/field/tooltip.directive.js b/modules/web-console/frontend/app/modules/form/field/tooltip.directive.js
index 4f440a1..9e764bc 100644
--- a/modules/web-console/frontend/app/modules/form/field/tooltip.directive.js
+++ b/modules/web-console/frontend/app/modules/form/field/tooltip.directive.js
@@ -18,7 +18,7 @@
const template = '<i class="tipField icon-help"></i>';
export default ['igniteFormFieldTooltip', ['$tooltip', ($tooltip) => {
- const link = ($scope, $element, $attrs, [form, field], $transclude) => {
+ const link = ($scope, $element, $attrs, [field], $transclude) => {
const content = Array.prototype.slice
.apply($transclude($scope))
.reduce((html, el) => html += el.outerHTML || el.textContent || el, '');
@@ -44,6 +44,6 @@ export default ['igniteFormFieldTooltip', ['$tooltip', ($tooltip) => {
link,
replace: true,
transclude: true,
- require: ['^form', '?^igniteFormField']
+ require: ['?^igniteFormField']
};
}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/sql/sql.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index 633f167..3d38634 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -1247,7 +1247,7 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
const chartHistory = paragraph.chartHistory;
- // Clear history on query change.
+ // Clear history on query change.
if (clearChart) {
chartHistory.length = 0;
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/sql/sql.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/sql/sql.module.js b/modules/web-console/frontend/app/modules/sql/sql.module.js
index 79614c2..da9955c 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.module.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.module.js
@@ -27,37 +27,35 @@ import sqlTplUrl from 'app/../views/sql/sql.tpl.pug';
angular.module('ignite-console.sql', [
'ui.router'
])
- .config(['$stateProvider', 'AclRouteProvider',
- ($stateProvider, AclRoute) => {
- // set up the states
- $stateProvider
- .state('base.sql', {
- url: '/queries',
- abstract: true,
- template: '<ui-view></ui-view>'
- })
- .state('base.sql.notebook', {
- url: '/notebook/{noteId}',
- templateUrl: sqlTplUrl,
- onEnter: AclRoute.checkAccess('query'),
- metaTags: {
- title: 'Query notebook'
- },
- controller,
- controllerAs: '$ctrl'
- })
- .state('base.sql.demo', {
- url: '/demo',
- templateUrl: sqlTplUrl,
- onEnter: AclRoute.checkAccess('query'),
- metaTags: {
- title: 'SQL demo'
- },
- controller,
- controllerAs: '$ctrl'
- });
- }]
- )
- .service('IgniteNotebookData', NotebookData)
- .service('IgniteNotebook', Notebook)
- .controller('notebookController', notebook);
+.config(['$stateProvider', ($stateProvider) => {
+ // set up the states
+ $stateProvider
+ .state('base.sql', {
+ url: '/queries',
+ abstract: true,
+ template: '<ui-view></ui-view>'
+ })
+ .state('base.sql.notebook', {
+ url: '/notebook/{noteId}',
+ templateUrl: sqlTplUrl,
+ permission: 'query',
+ tfMetaTags: {
+ title: 'Query notebook'
+ },
+ controller,
+ controllerAs: '$ctrl'
+ })
+ .state('base.sql.demo', {
+ url: '/demo',
+ templateUrl: sqlTplUrl,
+ permission: 'query',
+ tfMetaTags: {
+ title: 'SQL demo'
+ },
+ controller,
+ controllerAs: '$ctrl'
+ });
+}])
+.service('IgniteNotebookData', NotebookData)
+.service('IgniteNotebook', Notebook)
+.controller('notebookController', notebook);
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/admin.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/admin.state.js b/modules/web-console/frontend/app/modules/states/admin.state.js
index 7189508..65e13aa 100644
--- a/modules/web-console/frontend/app/modules/states/admin.state.js
+++ b/modules/web-console/frontend/app/modules/states/admin.state.js
@@ -24,7 +24,7 @@ angular
.module('ignite-console.states.admin', [
'ui.router'
])
-.config(['$stateProvider', 'AclRouteProvider', function($stateProvider, AclRoute) {
+.config(['$stateProvider', function($stateProvider) {
// set up the states
$stateProvider
.state('base.settings.admin', {
@@ -50,8 +50,8 @@ angular
}
},
// templateUrl,
- onEnter: AclRoute.checkAccess('admin_page'),
- metaTags: {
+ permission: 'admin_page',
+ tfMetaTags: {
title: 'Admin panel'
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/configuration.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration.state.js b/modules/web-console/frontend/app/modules/states/configuration.state.js
index faf9315..d2c1410 100644
--- a/modules/web-console/frontend/app/modules/states/configuration.state.js
+++ b/modules/web-console/frontend/app/modules/states/configuration.state.js
@@ -51,7 +51,7 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
$templateCache.put('summary-tabs.html', summaryTabsTemplateUrl);
}])
// Configure state provider.
- .config(['$stateProvider', 'AclRouteProvider', ($stateProvider, AclRoute) => {
+ .config(['$stateProvider', ($stateProvider) => {
// Setup the states.
$stateProvider
.state('base.configuration', {
@@ -64,15 +64,21 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
})
.state('base.configuration.tabs', {
url: '/configuration',
+ permission: 'configuration',
template: '<page-configure></page-configure>',
- metaTags: {
+ redirectTo: (trans) => {
+ const PageConfigure = trans.injector().get('PageConfigure');
+
+ return PageConfigure.onStateEnterRedirect(trans.to());
+ },
+ tfMetaTags: {
title: 'Configuration'
}
})
.state('base.configuration.tabs.basic', {
url: '/basic',
template: '<page-configure-basic></page-configure-basic>',
- metaTags: {
+ tfMetaTags: {
title: 'Basic Configuration'
},
resolve: {
@@ -88,13 +94,14 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
})
.state('base.configuration.tabs.advanced', {
url: '/advanced',
- template: '<page-configure-advanced></page-configure-advanced>'
+ template: '<page-configure-advanced></page-configure-advanced>',
+ redirectTo: 'base.configuration.tabs.advanced.clusters'
})
.state('base.configuration.tabs.advanced.clusters', {
url: '/clusters',
templateUrl: clustersTpl,
- onEnter: AclRoute.checkAccess('configuration'),
- metaTags: {
+ permission: 'configuration',
+ tfMetaTags: {
title: 'Configure Clusters'
},
controller: clustersCtrl,
@@ -103,8 +110,8 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
.state('base.configuration.tabs.advanced.caches', {
url: '/caches',
templateUrl: cachesTpl,
- onEnter: AclRoute.checkAccess('configuration'),
- metaTags: {
+ permission: 'configuration',
+ tfMetaTags: {
title: 'Configure Caches'
},
controller: cachesCtrl,
@@ -113,8 +120,8 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
.state('base.configuration.tabs.advanced.domains', {
url: '/domains',
templateUrl: domainsTpl,
- onEnter: AclRoute.checkAccess('configuration'),
- metaTags: {
+ permission: 'configuration',
+ tfMetaTags: {
title: 'Configure Domain Model'
},
controller: domainsCtrl,
@@ -123,8 +130,8 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
.state('base.configuration.tabs.advanced.igfs', {
url: '/igfs',
templateUrl: igfsTpl,
- onEnter: AclRoute.checkAccess('configuration'),
- metaTags: {
+ permission: 'configuration',
+ tfMetaTags: {
title: 'Configure IGFS'
},
controller: igfsCtrl,
@@ -133,10 +140,10 @@ angular.module('ignite-console.states.configuration', ['ui.router'])
.state('base.configuration.tabs.advanced.summary', {
url: '/summary',
templateUrl: summaryTpl,
- onEnter: AclRoute.checkAccess('configuration'),
+ permission: 'configuration',
controller: ConfigurationSummaryCtrl,
controllerAs: 'ctrl',
- metaTags: {
+ tfMetaTags: {
title: 'Configurations Summary'
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/configuration/summary/summary-zipper.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/summary/summary-zipper.service.js b/modules/web-console/frontend/app/modules/states/configuration/summary/summary-zipper.service.js
index 0259d39..47ce9ad 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/summary/summary-zipper.service.js
+++ b/modules/web-console/frontend/app/modules/states/configuration/summary/summary-zipper.service.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import Worker from 'worker?inline=true!./summary.worker';
+import Worker from 'worker!./summary.worker';
export default ['$q', function($q) {
return function(message) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/errors.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/errors.state.js b/modules/web-console/frontend/app/modules/states/errors.state.js
index e3d4d41..3cc03be 100644
--- a/modules/web-console/frontend/app/modules/states/errors.state.js
+++ b/modules/web-console/frontend/app/modules/states/errors.state.js
@@ -29,7 +29,7 @@ angular
.state('404', {
url: '/404',
templateUrl: templateNotFoundPage,
- metaTags: {
+ tfMetaTags: {
title: 'Page not found'
},
unsaved: true
@@ -37,7 +37,7 @@ angular
.state('403', {
url: '/403',
templateUrl: templateNotAuthorizedPage,
- metaTags: {
+ tfMetaTags: {
title: 'Not authorized'
},
unsaved: true
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/logout.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/logout.state.js b/modules/web-console/frontend/app/modules/states/logout.state.js
index 42795ea..9f9c7c6 100644
--- a/modules/web-console/frontend/app/modules/states/logout.state.js
+++ b/modules/web-console/frontend/app/modules/states/logout.state.js
@@ -17,18 +17,16 @@
import angular from 'angular';
-angular
-.module('ignite-console.states.logout', [
+angular.module('ignite-console.states.logout', [
'ui.router'
])
-.config(['$stateProvider', 'AclRouteProvider', function($stateProvider, AclRoute) {
+.config(['$stateProvider', function($stateProvider) {
// set up the states
- $stateProvider
- .state('logout', {
+ $stateProvider.state('logout', {
url: '/logout',
- onEnter: AclRoute.checkAccess('logout'),
+ permission: 'logout',
controller: ['Auth', (Auth) => Auth.logout()],
- metaTags: {
+ tfMetaTags: {
title: 'Logout'
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/password.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/password.state.js b/modules/web-console/frontend/app/modules/states/password.state.js
index 587f83d..8e326bf 100644
--- a/modules/web-console/frontend/app/modules/states/password.state.js
+++ b/modules/web-console/frontend/app/modules/states/password.state.js
@@ -34,14 +34,14 @@ angular
.state('password.reset', {
url: '/reset?{token}',
templateUrl,
- metaTags: {
+ tfMetaTags: {
title: 'Reset password'
}
})
.state('password.send', {
url: '/send',
templateUrl,
- metaTags: {
+ tfMetaTags: {
title: 'Password Send'
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/profile.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/profile.state.js b/modules/web-console/frontend/app/modules/states/profile.state.js
index 3298bdc..87d1d02 100644
--- a/modules/web-console/frontend/app/modules/states/profile.state.js
+++ b/modules/web-console/frontend/app/modules/states/profile.state.js
@@ -23,14 +23,13 @@ angular
.module('ignite-console.states.profile', [
'ui.router'
])
-.config(['$stateProvider', 'AclRouteProvider', function($stateProvider, AclRoute) {
+.config(['$stateProvider', 'AclRouteProvider', function($stateProvider) {
// set up the states
- $stateProvider
- .state('base.settings.profile', {
+ $stateProvider.state('base.settings.profile', {
url: '/profile',
templateUrl,
- onEnter: AclRoute.checkAccess('profile'),
- metaTags: {
+ permission: 'profile',
+ tfMetaTags: {
title: 'User profile'
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/states/signin.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/signin.state.js b/modules/web-console/frontend/app/modules/states/signin.state.js
index b7be51d..f5a4964 100644
--- a/modules/web-console/frontend/app/modules/states/signin.state.js
+++ b/modules/web-console/frontend/app/modules/states/signin.state.js
@@ -24,30 +24,26 @@ angular
// services
'ignite-console.user'
])
-.config(['$stateProvider', 'AclRouteProvider', function($stateProvider) {
+.config(['$stateProvider', function($stateProvider) {
// set up the states
$stateProvider
.state('signin', {
url: '/',
templateUrl,
- resolve: {
- user: ['$state', 'User', ($state, User) => {
- return User.read()
- .then(() => {
- try {
- const {name, params} = JSON.parse(localStorage.getItem('lastStateChangeSuccess'));
+ redirectTo: (trans) => {
+ return trans.injector().get('User').read()
+ .then(() => {
+ try {
+ const {name, params} = JSON.parse(localStorage.getItem('lastStateChangeSuccess'));
- $state.go(name, params);
- } catch (ignored) {
- $state.go('base.configuration.tabs');
- }
- })
- .catch(() => {});
- }]
- },
- controllerAs: '$ctrl',
- controller() {},
- metaTags: {
+ const restored = trans.router.stateService.target(name, params);
+
+ return restored.valid() ? restored : 'base.configuration.tabs';
+ } catch (ignored) {
+ return 'base.configuration.tabs';
+ }
+ })
+ .catch(() => true);
}
});
}]);
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/user/AclRoute.provider.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/user/AclRoute.provider.js b/modules/web-console/frontend/app/modules/user/AclRoute.provider.js
index 4225bc4..f5556ff 100644
--- a/modules/web-console/frontend/app/modules/user/AclRoute.provider.js
+++ b/modules/web-console/frontend/app/modules/user/AclRoute.provider.js
@@ -17,11 +17,9 @@
export default [() => {
class AclRoute {
- static checkAccess(permissions, failState) {
- failState = failState || '403';
-
+ static checkAccess(permissions, failState = '403') {
return ['$q', '$state', 'AclService', 'User', 'IgniteActivitiesData', function($q, $state, AclService, User, Activities) {
- const action = this.name ? $state.href(this.name) : null;
+ const action = '';
return User.read()
.catch(() => {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/modules/user/user.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/user/user.module.js b/modules/web-console/frontend/app/modules/user/user.module.js
index b86a62e..721d07f 100644
--- a/modules/web-console/frontend/app/modules/user/user.module.js
+++ b/modules/web-console/frontend/app/modules/user/user.module.js
@@ -50,7 +50,7 @@ angular.module('ignite-console.user', [
.service(...Auth)
.service(...User)
.provider('AclRoute', AclRouteProvider)
-.run(['$rootScope', 'AclService', ($root, AclService) => {
+.run(['$rootScope', '$transitions', 'AclService', 'User', 'IgniteActivitiesData', ($root, $transitions, AclService, User, Activities) => {
AclService.setAbilities(aclData);
AclService.attachRole('guest');
@@ -70,4 +70,32 @@ angular.module('ignite-console.user', [
AclService.attachRole(role);
});
+
+ $transitions.onBefore({}, (t) => {
+ const $state = t.router.stateService;
+ const {name, permission} = t.to();
+
+ return User.read()
+ .catch(() => {
+ User.clean();
+
+ if (name !== 'signin')
+ return $state.target('signin');
+
+ return true;
+ })
+ .then(() => {
+ if (_.isEmpty(permission))
+ return true;
+
+ if (AclService.can(permission)) {
+ Activities.post({action: $state.href(name, t.params('to'))});
+
+ return true;
+ }
+
+ return $state.target(t.to().failState || '403');
+ });
+
+ });
}]);
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/services/CopyToClipboard.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/CopyToClipboard.service.js b/modules/web-console/frontend/app/services/CopyToClipboard.service.js
index 74c4764..df0bb8a 100644
--- a/modules/web-console/frontend/app/services/CopyToClipboard.service.js
+++ b/modules/web-console/frontend/app/services/CopyToClipboard.service.js
@@ -38,10 +38,10 @@ export default ['IgniteCopyToClipboard', ['$window', 'IgniteMessages', ($window,
if (document.execCommand('copy'))
Messages.showInfo('Value copied to clipboard');
else
- window.prompt('Copy to clipboard: Ctrl+C, Enter', toCopy); // eslint-disable-line no-alert
+ window.prompt('Copy to clipboard: Ctrl+C, Enter', toCopy); // eslint-disable-line no-alert
}
catch (err) {
- window.prompt('Copy to clipboard: Ctrl+C, Enter', toCopy); // eslint-disable-line no-alert
+ window.prompt('Copy to clipboard: Ctrl+C, Enter', toCopy); // eslint-disable-line no-alert
}
textArea.remove();
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/services/LegacyTable.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/LegacyTable.service.js b/modules/web-console/frontend/app/services/LegacyTable.service.js
index a024a3b..ab95164 100644
--- a/modules/web-console/frontend/app/services/LegacyTable.service.js
+++ b/modules/web-console/frontend/app/services/LegacyTable.service.js
@@ -25,7 +25,7 @@ export default ['IgniteLegacyTable',
return item;
path = path.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
- path = path.replace(/^\./, ''); // strip a leading dot
+ path = path.replace(/^\./, ''); // strip a leading dot
const segs = path.split('.');
let root = item;
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/app/vendor.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/vendor.js b/modules/web-console/frontend/app/vendor.js
index 3bbb322..ea0f63c 100644
--- a/modules/web-console/frontend/app/vendor.js
+++ b/modules/web-console/frontend/app/vendor.js
@@ -24,9 +24,12 @@ import 'angular-strap';
import 'angular-strap/dist/angular-strap.tpl';
import 'angular-socket-io';
import 'angular-retina';
-import 'angular-ui-router';
+
+import '@uirouter/angularjs';
+import '@uirouter/angularjs/lib/legacy/stateEvents';
+
+import 'tf-metatags';
import 'angular-translate';
-import 'ui-router-metatags/dist/ui-router-metatags';
import 'angular-smart-table';
import 'angular-ui-grid/ui-grid';
import 'angular-drag-and-drop-lists';
@@ -49,6 +52,7 @@ import 'file-saver';
import 'jszip';
import 'nvd3';
import 'lodash';
+
import 'angular-gridster/dist/angular-gridster.min.css';
import 'angular-tree-control/css/tree-control-attribute.css';
import 'angular-tree-control/css/tree-control.css';
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/package.json b/modules/web-console/frontend/package.json
index 05c6eec..6b049ff 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -8,7 +8,7 @@
"dev": "npm start",
"build": "webpack --config ./webpack/webpack.prod.babel.js",
"test": "karma start ./test/karma.conf.js",
- "eslint": "eslint --format node_modules/eslint-friendly-formatter gulpfile.babel.js/ app/ controllers/ ignite_modules/ -- --eff-by-issue"
+ "eslint": "eslint --format node_modules/eslint-friendly-formatter app/ controllers/ ignite_modules/ -- --eff-by-issue"
},
"author": "",
"contributors": [
@@ -45,13 +45,13 @@
"angular-socket-io": "0.7.0",
"angular-strap": "2.3.12",
"angular-touch": "1.5.11",
- "angular-translate": "2.15.1",
+ "angular-translate": "2.15.2",
"angular-tree-control": "0.2.28",
- "angular-ui-grid": "4.0.4",
- "angular-ui-router": "0.4.2",
- "babel-core": "6.24.1",
+ "angular-ui-grid": "4.0.6",
+ "@uirouter/angularjs": "1.0.5",
+ "babel-core": "6.25.0",
"babel-eslint": "7.2.3",
- "babel-loader": "7.0.0",
+ "babel-loader": "7.1.1",
"babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-transform-runtime": "6.23.0",
"babel-polyfill": "6.23.0",
@@ -61,45 +61,46 @@
"bootstrap-sass": "3.3.7",
"brace": "0.10.0",
"copy-webpack-plugin": "4.0.1",
- "css-loader": "0.28.3",
- "eslint": "3.19.0",
+ "css-loader": "0.28.4",
+ "eslint": "4.3.0",
"eslint-friendly-formatter": "3.0.0",
- "eslint-loader": "1.7.1",
- "eslint-plugin-babel": "^4.1.1",
+ "eslint-loader": "1.9.0",
+ "eslint-plugin-babel": "4.1.1",
"expose-loader": "0.7.3",
- "extract-text-webpack-plugin": "2.1.0",
- "file-loader": "0.11.1",
+ "extract-text-webpack-plugin": "3.0.0",
+ "file-loader": "0.11.2",
"file-saver": "1.3.3",
"font-awesome": "4.7.0",
"glob": "7.1.2",
"html-loader": "0.4.5",
- "html-webpack-plugin": "2.28.0",
+ "html-webpack-plugin": "2.29.0",
"jquery": "3.2.1",
- "json-loader": "0.5.4",
+ "json-loader": "0.5.7",
"jszip": "3.1.3",
"lodash": "4.17.4",
"node-sass": "4.5.3",
"nvd3": "1.8.4",
- "progress-bar-webpack-plugin": "1.9.3",
+ "progress-bar-webpack-plugin": "1.10.0",
"pug-html-loader": "1.1.0",
"pug-loader": "2.3.0",
"raleway-webfont": "3.0.1",
- "resolve-url-loader": "2.0.2",
+ "resolve-url-loader": "2.1.0",
"roboto-font": "0.1.0",
- "rxjs": "5.4.0",
- "sass-loader": "6.0.5",
+ "rxjs": "5.4.2",
+ "sass-loader": "6.0.6",
"socket.io-client": "1.7.3",
- "style-loader": "0.18.1",
- "svg-sprite-loader": "^3.0.5",
- "ui-router-metatags": "1.0.3",
- "webpack": "2.6.1",
- "webpack-dev-server": "2.4.5",
+ "style-loader": "0.18.2",
+ "svg-sprite-loader": "3.0.7",
+ "tf-metatags": "2.0.0",
+ "webpack": "3.3.0",
+ "webpack-dev-server": "2.6.1",
"webpack-merge": "4.1.0",
- "worker-loader": "0.8.0"
+ "worker-loader": "0.8.1"
},
"devDependencies": {
- "chai": "4.0.2",
- "jasmine-core": "2.6.2",
+ "chai": "4.1.0",
+ "type-detect": "4.0.3",
+ "jasmine-core": "2.6.4",
"karma": "1.7.0",
"karma-babel-preprocessor": "6.0.1",
"karma-jasmine": "1.1.0",
@@ -107,10 +108,10 @@
"karma-mocha-reporter": "2.2.3",
"karma-phantomjs-launcher": "1.0.4",
"karma-teamcity-reporter": "1.0.0",
- "karma-webpack": "2.0.3",
+ "karma-webpack": "2.0.4",
"mocha": "3.4.2",
"mocha-teamcity-reporter": "1.1.1",
"phantomjs-prebuilt": "2.1.14",
- "sinon": "2.3.4"
+ "sinon": "2.3.8"
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f277530a/modules/web-console/frontend/views/index.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/index.pug b/modules/web-console/frontend/views/index.pug
index f8f13dd..1881b38 100644
--- a/modules/web-console/frontend/views/index.pug
+++ b/modules/web-console/frontend/views/index.pug
@@ -23,23 +23,13 @@ html(ng-app='ignite-console' id='app' ng-strict-di)
meta(http-equiv='content-language' content='en')
meta(http-equiv='X-UA-Compatible' content='IE=Edge')
- title(ng-bind='$meta.title')
+ title(ng-bind='tfMetaTags.title')
+ meta(ng-repeat='(key, value) in tfMetaTags.properties' name='{{::key}}' content='{{::value}}')
meta(name='fragment' content='!')
- meta(name='description' content='{{$meta.description}}')
- meta(name='keywords' content='{{$meta.keywords}}')
- meta(ng-repeat='(key, value) in $meta.properties' name='{{::key}}' content='{{::value}}')
body.theme-line.body-overlap
- .splash.splash-max-foreground(hide-on-state-change)
- .splash-wrapper
- .spinner
- .bounce1
- .bounce2
- .bounce3
-
- .splash-wellcome Loading...
.ribbon-wrapper.right(ng-cloak)
.ribbon(ng-style='IgniteDemoMode && {"background": "#1b6d88"}')