You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2018/09/27 04:18:20 UTC
[2/3] ignite git commit: IGNITE-9569 Web console: Refactored DI to
use $inject instead of arrays.
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/branding/terms.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/branding/terms.directive.js b/modules/web-console/frontend/app/modules/branding/terms.directive.js
index 0207745..8126a39 100644
--- a/modules/web-console/frontend/app/modules/branding/terms.directive.js
+++ b/modules/web-console/frontend/app/modules/branding/terms.directive.js
@@ -15,7 +15,10 @@
* limitations under the License.
*/
-export default ['igniteTerms', ['IgniteBranding', (branding) => {
+/**
+ * @param {import('./branding.service').default} branding
+ */
+export default function factory(branding) {
function controller() {
const ctrl = this;
@@ -27,4 +30,6 @@ export default ['igniteTerms', ['IgniteBranding', (branding) => {
controller,
controllerAs: 'terms'
};
-}]];
+}
+
+factory.$inject = ['IgniteBranding'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 f4a712d4..5f7eed2 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
@@ -20,7 +20,12 @@ import _ from 'lodash';
import {nonEmpty} from 'app/utils/lodashMixins';
import { EmptyBean, Bean } from './Beans';
-export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatformDefaults', function(JavaTypes, clusterDflts, cacheDflts) {
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ * @param {import('./defaults/Cluster.service').default} clusterDflts
+ * @param {import('./defaults/Cache.service').default} cacheDflts
+ */
+export default function service(JavaTypes, clusterDflts, cacheDflts) {
class PlatformGenerator {
static igniteConfigurationBean(cluster) {
return new Bean('Apache.Ignite.Core.IgniteConfiguration', 'cfg', cluster, clusterDflts);
@@ -521,4 +526,6 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
}
return PlatformGenerator;
-}];
+}
+
+service.$inject = ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatformDefaults'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 96d409f..6c14e4a 100644
--- a/modules/web-console/frontend/app/modules/demo/Demo.module.js
+++ b/modules/web-console/frontend/app/modules/demo/Demo.module.js
@@ -22,47 +22,12 @@ import templateUrl from 'views/templates/demo-info.tpl.pug';
const DEMO_QUERY_STATE = {state: 'base.sql.notebook', params: {noteId: 'demo'}};
-angular
-.module('ignite-console.demo', [
- 'ignite-console.socket'
-])
-.config(['$stateProvider', ($stateProvider) => {
- $stateProvider
- .state('demo', {
- abstract: true,
- url: '/demo',
- template: '<ui-view></ui-view>'
- })
- .state('demo.resume', {
- url: '/resume',
- permission: 'demo',
- redirectTo: DEMO_QUERY_STATE,
- unsaved: true,
- tfMetaTags: {
- title: 'Demo resume'
- }
- })
- .state('demo.reset', {
- url: '/reset',
- permission: 'demo',
- redirectTo: (trans) => {
- const $http = trans.injector().get('$http');
-
- return $http.post('/api/v1/demo/reset')
- .then(() => DEMO_QUERY_STATE)
- .catch((err) => {
- trans.injector().get('IgniteMessages').showError(err);
-
- return DEMO_QUERY_STATE;
- });
- },
- unsaved: true,
- tfMetaTags: {
- title: 'Demo reset'
- }
- });
-}])
-.provider('Demo', ['$stateProvider', '$httpProvider', 'igniteSocketFactoryProvider', function($state, $http, socketFactory) {
+/**
+ * @param {import('@uirouter/angularjs').StateProvider} $state
+ * @param {ng.IHttpProvider} $http
+ * @param {unknown} socketFactory
+ */
+export function DemoProvider($state, $http, socketFactory) {
if (/(\/demo.*)/ig.test(location.pathname))
sessionStorage.setItem('IgniteDemoMode', 'true');
@@ -74,13 +39,24 @@ angular
$http.interceptors.push('demoInterceptor');
}
- this.$get = ['$rootScope', ($root) => {
+ function service($root) {
$root.IgniteDemoMode = enabled;
return {enabled};
- }];
-}])
-.factory('demoInterceptor', ['Demo', function(Demo) {
+ }
+ service.$inject = ['$rootScope'];
+
+ this.$get = service;
+ return this;
+}
+
+DemoProvider.$inject = ['$stateProvider', '$httpProvider', 'igniteSocketFactoryProvider'];
+
+/**
+ * @param {{enabled: boolean}} Demo
+ * @returns {ng.IHttpInterceptor}
+ */
+function demoInterceptor(Demo) {
const isApiRequest = (url) => /\/api\/v1/ig.test(url);
return {
@@ -91,8 +67,17 @@ angular
return cfg;
}
};
-}])
-.controller('demoController', ['$scope', '$state', '$window', 'IgniteConfirm', function($scope, $state, $window, Confirm) {
+}
+
+demoInterceptor.$inject = ['Demo'];
+
+/**
+ * @param {ng.IScope} $scope
+ * @param {import('@uirouter/angularjs').StateService} $state
+ * @param {ng.IWindowService} $window
+ * @param {ReturnType<typeof import('app/services/Confirm.service').default>} Confirm
+ */
+function demoController($scope, $state, $window, Confirm) {
const _openTab = (stateName) => $window.open($state.href(stateName), '_blank');
$scope.startDemo = () => {
@@ -111,17 +96,30 @@ angular
$scope.closeDemo = () => {
$window.close();
};
-}])
-.provider('igniteDemoInfo', [function() {
+}
+
+demoController.$inject = ['$scope', '$state', '$window', 'IgniteConfirm'];
+
+function igniteDemoInfoProvider() {
const items = DEMO_INFO;
this.update = (data) => items[0] = data;
- this.$get = [() => {
+ this.$get = () => {
return items;
- }];
-}])
-.service('DemoInfo', ['$rootScope', '$modal', '$state', '$q', 'igniteDemoInfo', 'AgentManager', function($rootScope, $modal, $state, $q, igniteDemoInfo, agentMgr) {
+ };
+ return this;
+}
+
+/**
+ * @param {ng.IRootScopeService} $rootScope
+ * @param {mgcrea.ngStrap.modal.IModalScope} $modal
+ * @param {import('@uirouter/angularjs').StateService} $state
+ * @param {ng.IQService} $q
+ * @param {Array<{title: string, message: Array<string>}>} igniteDemoInfo
+ * @param {import('app/modules/agent/AgentManager.service').default} agentMgr
+ */
+function DemoInfo($rootScope, $modal, $state, $q, igniteDemoInfo, agentMgr) {
const scope = $rootScope.$new();
let closePromise = null;
@@ -160,4 +158,59 @@ angular
.then(() => scope.hasAgents = true);
}
};
-}]);
+}
+
+DemoInfo.$inject = ['$rootScope', '$modal', '$state', '$q', 'igniteDemoInfo', 'AgentManager'];
+
+/**
+ * @param {import('@uirouter/angularjs').StateProvider} $stateProvider
+ */
+function config($stateProvider) {
+ $stateProvider
+ .state('demo', {
+ abstract: true,
+ url: '/demo',
+ template: '<ui-view></ui-view>'
+ })
+ .state('demo.resume', {
+ url: '/resume',
+ permission: 'demo',
+ redirectTo: DEMO_QUERY_STATE,
+ unsaved: true,
+ tfMetaTags: {
+ title: 'Demo resume'
+ }
+ })
+ .state('demo.reset', {
+ url: '/reset',
+ permission: 'demo',
+ redirectTo: (trans) => {
+ const $http = trans.injector().get('$http');
+
+ return $http.post('/api/v1/demo/reset')
+ .then(() => DEMO_QUERY_STATE)
+ .catch((err) => {
+ trans.injector().get('IgniteMessages').showError(err);
+
+ return DEMO_QUERY_STATE;
+ });
+ },
+ unsaved: true,
+ tfMetaTags: {
+ title: 'Demo reset'
+ }
+ });
+}
+
+config.$inject = ['$stateProvider'];
+
+angular
+.module('ignite-console.demo', [
+ 'ignite-console.socket'
+])
+.config(config)
+.provider('Demo', DemoProvider)
+.factory('demoInterceptor', demoInterceptor)
+.controller('demoController', demoController)
+.provider('igniteDemoInfo', igniteDemoInfoProvider)
+.service('DemoInfo', DemoInfo);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/dialog/dialog-content.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog-content.directive.js b/modules/web-console/frontend/app/modules/dialog/dialog-content.directive.js
index 98e9903..fb5d972 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog-content.directive.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog-content.directive.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-export default ['igniteDialogContent', [() => {
+export default () => {
const link = ($scope, $element, $attrs, igniteDialog) => {
igniteDialog.content = $element.html();
@@ -28,4 +28,4 @@ export default ['igniteDialogContent', [() => {
link,
require: '^igniteDialog'
};
-}]];
+};
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/dialog/dialog-title.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog-title.directive.js b/modules/web-console/frontend/app/modules/dialog/dialog-title.directive.js
index ed4adb8..ebd2d94 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog-title.directive.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog-title.directive.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-export default ['igniteDialogTitle', [() => {
+export default () => {
const link = ($scope, $element, $attrs, igniteDialog) => {
igniteDialog.title = $element.text();
@@ -28,4 +28,4 @@ export default ['igniteDialogTitle', [() => {
link,
require: '^igniteDialog'
};
-}]];
+};
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/dialog/dialog.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog.directive.js b/modules/web-console/frontend/app/modules/dialog/dialog.directive.js
index 7aab10f..96a96e2 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog.directive.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog.directive.js
@@ -19,7 +19,7 @@ import controller from './dialog.controller';
const template = '<a ng-click="ctrl.show()"><span ng-transclude=""></span></a>';
-export default ['igniteDialog', [() => {
+export default () => {
return {
restrict: 'E',
template,
@@ -29,4 +29,4 @@ export default ['igniteDialog', [() => {
transclude: true,
require: '^igniteDialog'
};
-}]];
+};
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog.factory.js b/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
index 749f833..14afcdf 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
@@ -17,7 +17,10 @@
import templateUrl from './dialog.tpl.pug';
-export default ['IgniteDialog', ['$modal', function($modal) {
+/**
+ * @param {mgcrea.ngStrap.modal.IModalService} $modal
+ */
+export default function factory($modal) {
const defaults = {
templateUrl,
show: false
@@ -28,4 +31,6 @@ export default ['IgniteDialog', ['$modal', function($modal) {
return $modal(options);
};
-}]];
+}
+
+factory.$inject = ['$modal'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/dialog/dialog.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog.module.js b/modules/web-console/frontend/app/modules/dialog/dialog.module.js
index c9ba9f9..6d9324f 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog.module.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog.module.js
@@ -26,7 +26,7 @@ angular
.module('ignite-console.dialog', [
])
-.factory(...IgniteDialog)
-.directive(...igniteDialog)
-.directive(...igniteDialogTitle)
-.directive(...igniteDialogContent);
+.factory('IgniteDialog', IgniteDialog)
+.directive('igniteDialog', igniteDialog)
+.directive('igniteDialogTitle', igniteDialogTitle)
+.directive('igniteDialogContent', igniteDialogContent);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/field/bs-select-placeholder.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/field/bs-select-placeholder.directive.js b/modules/web-console/frontend/app/modules/form/field/bs-select-placeholder.directive.js
index cecb49c..9d7f59f 100644
--- a/modules/web-console/frontend/app/modules/form/field/bs-select-placeholder.directive.js
+++ b/modules/web-console/frontend/app/modules/form/field/bs-select-placeholder.directive.js
@@ -16,7 +16,13 @@
*/
// Override AngularStrap "bsSelect" in order to dynamically change placeholder and class.
-export default ['bsSelect', [() => {
+export default () => {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} $element
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, $element, attrs, [ngModel]) => {
if (!ngModel)
return;
@@ -48,4 +54,4 @@ export default ['bsSelect', [() => {
link,
require: ['?ngModel']
};
-}]];
+};
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/field/input/autofocus.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/field/input/autofocus.directive.js b/modules/web-console/frontend/app/modules/form/field/input/autofocus.directive.js
index 8ffc9a0..f54eaee 100644
--- a/modules/web-console/frontend/app/modules/form/field/input/autofocus.directive.js
+++ b/modules/web-console/frontend/app/modules/form/field/input/autofocus.directive.js
@@ -15,7 +15,17 @@
* limitations under the License.
*/
-export default ['igniteFormFieldInputAutofocus', ['$timeout', ($timeout) => {
+import _ from 'lodash';
+
+/**
+ * @param {ng.ITimeoutService} $timeout
+ */
+export default function factory($timeout) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ */
const link = (scope, el, attrs) => {
if (_.isUndefined(attrs.igniteFormFieldInputAutofocus) || attrs.igniteFormFieldInputAutofocus !== 'true')
return;
@@ -27,4 +37,6 @@ export default ['igniteFormFieldInputAutofocus', ['$timeout', ($timeout) => {
restrict: 'A',
link
};
-}]];
+}
+
+factory.$inject = ['$timeout'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/form.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/form.module.js b/modules/web-console/frontend/app/modules/form/form.module.js
index ac15c6a..29afa59 100644
--- a/modules/web-console/frontend/app/modules/form/form.module.js
+++ b/modules/web-console/frontend/app/modules/form/form.module.js
@@ -41,20 +41,20 @@ angular
])
// Field.
-.directive(...placeholder)
+.directive('bsSelect', placeholder)
// Validators.
-.directive(...ipaddress)
-.directive(...javaKeywords)
-.directive(...javaPackageSpecified)
-.directive(...javaBuiltInClass)
-.directive(...javaIdentifier)
-.directive(...javaPackageName)
-.directive(...propertyValueSpecified)
-.directive(...propertyUnique)
-.directive(...unique)
-.directive(...uuid)
+.directive('ipaddress', ipaddress)
+.directive('javaKeywords', javaKeywords)
+.directive('javaPackageSpecified', javaPackageSpecified)
+.directive('javaBuiltInClass', javaBuiltInClass)
+.directive('javaIdentifier', javaIdentifier)
+.directive('javaPackageName', javaPackageName)
+.directive('ignitePropertyValueSpecified', propertyValueSpecified)
+.directive('ignitePropertyUnique', propertyUnique)
+.directive('igniteUnique', unique)
+.directive('uuid', uuid)
// Helpers.
-.directive(...igniteFormFieldInputAutofocus)
+.directive('igniteFormFieldInputAutofocus', igniteFormFieldInputAutofocus)
// Generator of globally unique identifier.
.service('IgniteFormGUID', IgniteFormGUID);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js b/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
index a018500..6b8df3c 100644
--- a/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
+++ b/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-export default [function() {
+export default function() {
let guid = 0;
return () => `form-field-${guid++}`;
-}];
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/ipaddress.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/ipaddress.directive.js b/modules/web-console/frontend/app/modules/form/validator/ipaddress.directive.js
index 77e63f6..531e682 100644
--- a/modules/web-console/frontend/app/modules/form/validator/ipaddress.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/ipaddress.directive.js
@@ -15,7 +15,12 @@
* limitations under the License.
*/
-export default ['ipaddress', ['IgniteInetAddress', (InetAddress) => {
+import _ from 'lodash';
+
+/**
+ * @param {ReturnType<typeof import('app/services/InetAddress.service').default>} InetAddress
+ */
+export default function factory(InetAddress) {
const onlyDigits = (str) => (/^\d+$/.test(str));
const strictParseInt = (str) => onlyDigits(str) ? parseInt(str, 10) : Number.NaN;
@@ -27,6 +32,12 @@ export default ['ipaddress', ['IgniteInetAddress', (InetAddress) => {
return {ipOrHost, ports};
};
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
const isEmpty = (modelValue) => {
return ngModel.$isEmpty(modelValue) || _.isUndefined(attrs.ipaddress) || attrs.ipaddress !== 'true';
@@ -83,4 +94,6 @@ export default ['ipaddress', ['IgniteInetAddress', (InetAddress) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['IgniteInetAddress'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/java-built-in-class.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/java-built-in-class.directive.js b/modules/web-console/frontend/app/modules/form/validator/java-built-in-class.directive.js
index f9aadc4..736179c 100644
--- a/modules/web-console/frontend/app/modules/form/validator/java-built-in-class.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/java-built-in-class.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['javaBuiltInClass', ['JavaTypes', (JavaTypes) => {
+import _ from 'lodash';
+
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ */
+export default function factory(JavaTypes) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isUndefined(attrs.javaBuiltInClass) || !attrs.javaBuiltInClass)
return;
@@ -32,4 +43,6 @@ export default ['javaBuiltInClass', ['JavaTypes', (JavaTypes) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['JavaTypes'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/java-identifier.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/java-identifier.directive.js b/modules/web-console/frontend/app/modules/form/validator/java-identifier.directive.js
index a61d309..1b5a700 100644
--- a/modules/web-console/frontend/app/modules/form/validator/java-identifier.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/java-identifier.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['javaIdentifier', ['JavaTypes', (JavaTypes) => {
+import _ from 'lodash';
+
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ */
+export default function factory(JavaTypes) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isNil(attrs.javaIdentifier) || attrs.javaIdentifier !== 'true')
return;
@@ -35,4 +46,6 @@ export default ['javaIdentifier', ['JavaTypes', (JavaTypes) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['JavaTypes'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/java-keywords.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/java-keywords.directive.js b/modules/web-console/frontend/app/modules/form/validator/java-keywords.directive.js
index 9d5c2aa..9581ee9 100644
--- a/modules/web-console/frontend/app/modules/form/validator/java-keywords.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/java-keywords.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['javaKeywords', ['JavaTypes', (JavaTypes) => {
+import _ from 'lodash';
+
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ */
+export default function factory(JavaTypes) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isNil(attrs.javaKeywords) || attrs.javaKeywords === 'false')
return;
@@ -36,4 +47,6 @@ export default ['javaKeywords', ['JavaTypes', (JavaTypes) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['JavaTypes'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/java-package-name.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/java-package-name.directive.js b/modules/web-console/frontend/app/modules/form/validator/java-package-name.directive.js
index 49d4b55..9059112 100644
--- a/modules/web-console/frontend/app/modules/form/validator/java-package-name.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/java-package-name.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['javaPackageName', ['JavaTypes', (JavaTypes) => {
+import _ from 'lodash';
+
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ */
+export default function factory(JavaTypes) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isNil(attrs.javaPackageName) || attrs.javaPackageName === 'false')
return;
@@ -28,4 +39,6 @@ export default ['javaPackageName', ['JavaTypes', (JavaTypes) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['JavaTypes'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/java-package-specified.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/java-package-specified.directive.js b/modules/web-console/frontend/app/modules/form/validator/java-package-specified.directive.js
index d3274ae..5ff25d5 100644
--- a/modules/web-console/frontend/app/modules/form/validator/java-package-specified.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/java-package-specified.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['javaPackageSpecified', ['JavaTypes', (JavaTypes) => {
+import _ from 'lodash';
+
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ */
+export default function factory(JavaTypes) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isNil(attrs.javaPackageSpecified) || attrs.javaPackageSpecified === 'false')
return;
@@ -36,4 +47,6 @@ export default ['javaPackageSpecified', ['JavaTypes', (JavaTypes) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['JavaTypes'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/property-unique.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/property-unique.directive.js b/modules/web-console/frontend/app/modules/form/validator/property-unique.directive.js
index 8cfae89..fbcf734 100644
--- a/modules/web-console/frontend/app/modules/form/validator/property-unique.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/property-unique.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['ignitePropertyUnique', ['$parse', ($parse) => {
+import _ from 'lodash';
+
+/**
+ * @param {ng.IParseService} $parse
+ */
+export default function factory($parse) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isUndefined(attrs.ignitePropertyUnique) || !attrs.ignitePropertyUnique)
return;
@@ -44,4 +55,6 @@ export default ['ignitePropertyUnique', ['$parse', ($parse) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['$parse'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/property-value-specified.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/property-value-specified.directive.js b/modules/web-console/frontend/app/modules/form/validator/property-value-specified.directive.js
index d113a4f..5136d1a 100644
--- a/modules/web-console/frontend/app/modules/form/validator/property-value-specified.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/property-value-specified.directive.js
@@ -15,7 +15,15 @@
* limitations under the License.
*/
-export default ['ignitePropertyValueSpecified', [() => {
+import _ from 'lodash';
+
+export default () => {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isUndefined(attrs.ignitePropertyValueSpecified) || !attrs.ignitePropertyValueSpecified)
return;
@@ -28,4 +36,4 @@ export default ['ignitePropertyValueSpecified', [() => {
link,
require: ['ngModel']
};
-}]];
+};
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/unique.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/unique.directive.js b/modules/web-console/frontend/app/modules/form/validator/unique.directive.js
index 318b8b6..ac6787f 100644
--- a/modules/web-console/frontend/app/modules/form/validator/unique.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/unique.directive.js
@@ -26,9 +26,16 @@ class Controller {
listEditableTransclude;
/** @type {Array} */
items;
+ /** @type {string?} */
+ key;
+ /** @type {Array<string>} */
+ skip;
static $inject = ['$scope'];
+ /**
+ * @param {ng.IScope} $scope
+ */
constructor($scope) {
this.$scope = $scope;
}
@@ -69,7 +76,7 @@ class Controller {
}
}
-export default ['igniteUnique', () => {
+export default () => {
return {
controller: Controller,
require: {
@@ -82,4 +89,4 @@ export default ['igniteUnique', () => {
skip: '<?igniteUniqueSkip'
}
};
-}];
+};
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/form/validator/uuid.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/validator/uuid.directive.js b/modules/web-console/frontend/app/modules/form/validator/uuid.directive.js
index 94c6e3f..cb20981 100644
--- a/modules/web-console/frontend/app/modules/form/validator/uuid.directive.js
+++ b/modules/web-console/frontend/app/modules/form/validator/uuid.directive.js
@@ -15,7 +15,18 @@
* limitations under the License.
*/
-export default ['uuid', ['JavaTypes', (JavaTypes) => {
+import _ from 'lodash';
+
+/**
+ * @param {import('app/services/JavaTypes.service').default} JavaTypes
+ */
+export default function factory(JavaTypes) {
+ /**
+ * @param {ng.IScope} scope
+ * @param {JQLite} el
+ * @param {ng.IAttributes} attrs
+ * @param {[ng.INgModelController]} [ngModel]
+ */
const link = (scope, el, attrs, [ngModel]) => {
if (_.isNil(attrs.uuid) || attrs.uuid !== 'true')
return;
@@ -28,4 +39,6 @@ export default ['uuid', ['JavaTypes', (JavaTypes) => {
link,
require: ['ngModel']
};
-}]];
+}
+
+factory.$inject = ['JavaTypes'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/getting-started/GettingStarted.provider.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/getting-started/GettingStarted.provider.js b/modules/web-console/frontend/app/modules/getting-started/GettingStarted.provider.js
index 09b65f4..14dd26a 100644
--- a/modules/web-console/frontend/app/modules/getting-started/GettingStarted.provider.js
+++ b/modules/web-console/frontend/app/modules/getting-started/GettingStarted.provider.js
@@ -17,101 +17,130 @@
import angular from 'angular';
-// Getting started pages.
+/**
+ * @typedef GettingStartedItem
+ * @prop {string} title
+ * @prop {Array<string>} message
+ */
+
+/**
+ * @typedef {Array<GettingStartedItem>} GettingStartedItems
+ */
+
import PAGES from 'app/data/getting-started.json';
import templateUrl from 'views/templates/getting-started.tpl.pug';
-angular
- .module('ignite-console.getting-started', [])
- .provider('igniteGettingStarted', function() {
- const items = PAGES;
+export function provider() {
+ /**
+ * Getting started pages.
+ * @type {GettingStartedItems}
+ */
+ const items = PAGES;
- this.push = (before, data) => {
- const idx = _.findIndex(items, {title: before});
+ this.push = (before, data) => {
+ const idx = _.findIndex(items, {title: before});
- if (idx < 0)
- items.push(data);
- else
- items.splice(idx, 0, data);
- };
+ if (idx < 0)
+ items.push(data);
+ else
+ items.splice(idx, 0, data);
+ };
- this.update = (before, data) => {
- const idx = _.findIndex(items, {title: before});
+ this.update = (before, data) => {
+ const idx = _.findIndex(items, {title: before});
- if (idx >= 0)
- items[idx] = data;
- };
+ if (idx >= 0)
+ items[idx] = data;
+ };
- this.$get = [function() {
- return items;
- }];
- })
- .service('gettingStarted', ['$rootScope', '$modal', 'igniteGettingStarted', function($root, $modal, igniteGettingStarted) {
- const _model = igniteGettingStarted;
+ this.$get = function() {
+ return items;
+ };
- let _page = 0;
+ return this;
+}
- const scope = $root.$new();
+/**
+ * @param {ng.IRootScopeService} $root
+ * @param {mgcrea.ngStrap.modal.IModalService} $modal
+ * @param {GettingStartedItems} igniteGettingStarted
+ */
+export function service($root, $modal, igniteGettingStarted) {
+ const _model = igniteGettingStarted;
- scope.ui = {
- dontShowGettingStarted: false
- };
+ let _page = 0;
- function _fillPage() {
- if (_page === 0)
- scope.title = `${_model[_page].title}`;
- else
- scope.title = `${_page}. ${_model[_page].title}`;
+ const scope = $root.$new();
- scope.message = _model[_page].message.join(' ');
- }
+ scope.ui = {
+ dontShowGettingStarted: false
+ };
+
+ function _fillPage() {
+ if (_page === 0)
+ scope.title = `${_model[_page].title}`;
+ else
+ scope.title = `${_page}. ${_model[_page].title}`;
- scope.isFirst = () => _page === 0;
+ scope.message = _model[_page].message.join(' ');
+ }
- scope.isLast = () => _page === _model.length - 1;
+ scope.isFirst = () => _page === 0;
- scope.next = () => {
- _page += 1;
+ scope.isLast = () => _page === _model.length - 1;
- _fillPage();
- };
+ scope.next = () => {
+ _page += 1;
- scope.prev = () => {
- _page -= 1;
+ _fillPage();
+ };
- _fillPage();
- };
+ scope.prev = () => {
+ _page -= 1;
- const dialog = $modal({ templateUrl, scope, show: false, backdrop: 'static'});
+ _fillPage();
+ };
- scope.close = () => {
+ const dialog = $modal({ templateUrl, scope, show: false, backdrop: 'static'});
+
+ scope.close = () => {
+ try {
+ localStorage.showGettingStarted = !scope.ui.dontShowGettingStarted;
+ }
+ catch (ignore) {
+ // No-op.
+ }
+
+ dialog.hide();
+ };
+
+ return {
+ /**
+ * @param {boolean} force
+ */
+ tryShow: (force) => {
try {
- localStorage.showGettingStarted = !scope.ui.dontShowGettingStarted;
+ scope.ui.dontShowGettingStarted = !(_.isNil(localStorage.showGettingStarted)
+ || localStorage.showGettingStarted === 'true');
}
catch (ignore) {
// No-op.
}
- dialog.hide();
- };
+ if (force || !scope.ui.dontShowGettingStarted) {
+ _page = 0;
- return {
- tryShow: (force) => {
- try {
- scope.ui.dontShowGettingStarted = !(_.isNil(localStorage.showGettingStarted)
- || localStorage.showGettingStarted === 'true');
- }
- catch (ignore) {
- // No-op.
- }
+ _fillPage();
- if (force || !scope.ui.dontShowGettingStarted) {
- _page = 0;
+ dialog.$promise.then(dialog.show);
+ }
+ }
+ };
+}
- _fillPage();
+service.$inject = ['$rootScope', '$modal', 'igniteGettingStarted'];
- dialog.$promise.then(dialog.show);
- }
- }
- };
- }]);
+export default angular
+ .module('ignite-console.getting-started', [])
+ .provider('igniteGettingStarted', provider)
+ .service('gettingStarted', service);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/loading/loading.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/loading/loading.directive.js b/modules/web-console/frontend/app/modules/loading/loading.directive.js
index 8a4ca9f..983e597 100644
--- a/modules/web-console/frontend/app/modules/loading/loading.directive.js
+++ b/modules/web-console/frontend/app/modules/loading/loading.directive.js
@@ -18,7 +18,11 @@
import template from './loading.pug';
import './loading.scss';
-export default ['igniteLoading', ['IgniteLoading', '$compile', (Loading, $compile) => {
+/**
+ * @param {ReturnType<typeof import('./loading.service').default>} Loading
+ * @param {ng.ICompileService} $compile
+ */
+export default function factory(Loading, $compile) {
const link = (scope, element) => {
const compiledTemplate = $compile(template);
@@ -48,4 +52,6 @@ export default ['igniteLoading', ['IgniteLoading', '$compile', (Loading, $compil
restrict: 'A',
link
};
-}]];
+}
+
+factory.$inject = ['IgniteLoading', '$compile'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/loading/loading.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/loading/loading.module.js b/modules/web-console/frontend/app/modules/loading/loading.module.js
index 889cd6b..ac9e127 100644
--- a/modules/web-console/frontend/app/modules/loading/loading.module.js
+++ b/modules/web-console/frontend/app/modules/loading/loading.module.js
@@ -22,5 +22,5 @@ import IgniteLoadingService from './loading.service';
angular
.module('ignite-console.loading', [])
- .directive(...IgniteLoadingDirective)
- .service(...IgniteLoadingService);
+ .directive('igniteLoading', IgniteLoadingDirective)
+ .service('IgniteLoading', IgniteLoadingService);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/loading/loading.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/loading/loading.service.js b/modules/web-console/frontend/app/modules/loading/loading.service.js
index a5c9e7e..0aa02a3 100644
--- a/modules/web-console/frontend/app/modules/loading/loading.service.js
+++ b/modules/web-console/frontend/app/modules/loading/loading.service.js
@@ -15,9 +15,12 @@
* limitations under the License.
*/
-export default ['IgniteLoading', [function() {
+export default function() {
const _overlays = {};
+ /**
+ * @param {string} key
+ */
const start = (key) => {
setTimeout(() => {
const loadingOverlay = _overlays[key];
@@ -26,6 +29,9 @@ export default ['IgniteLoading', [function() {
});
};
+ /**
+ * @param {string} key
+ */
const finish = (key) => {
setTimeout(() => {
const loadingOverlay = _overlays[key];
@@ -45,4 +51,4 @@ export default ['IgniteLoading', [function() {
start,
finish
};
-}]];
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/navbar/Navbar.provider.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/navbar/Navbar.provider.js b/modules/web-console/frontend/app/modules/navbar/Navbar.provider.js
index f1ae1b2..9b905d7 100644
--- a/modules/web-console/frontend/app/modules/navbar/Navbar.provider.js
+++ b/modules/web-console/frontend/app/modules/navbar/Navbar.provider.js
@@ -15,14 +15,16 @@
* limitations under the License.
*/
-export default ['IgniteNavbar', [function() {
+export default function() {
const items = [];
this.push = function(data) {
items.push(data);
};
- this.$get = [function() {
+ this.$get = function() {
return items;
- }];
-}]];
+ };
+
+ return this;
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/navbar/Userbar.provider.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/navbar/Userbar.provider.js b/modules/web-console/frontend/app/modules/navbar/Userbar.provider.js
index 9513641..9b905d7 100644
--- a/modules/web-console/frontend/app/modules/navbar/Userbar.provider.js
+++ b/modules/web-console/frontend/app/modules/navbar/Userbar.provider.js
@@ -15,14 +15,16 @@
* limitations under the License.
*/
-export default ['IgniteUserbar', [function() {
+export default function() {
const items = [];
this.push = function(data) {
items.push(data);
};
- this.$get = [function() {
+ this.$get = function() {
return items;
- }];
-}]];
+ };
+
+ return this;
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/navbar/navbar.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/navbar/navbar.directive.js b/modules/web-console/frontend/app/modules/navbar/navbar.directive.js
index 020cfe4..e400cf7 100644
--- a/modules/web-console/frontend/app/modules/navbar/navbar.directive.js
+++ b/modules/web-console/frontend/app/modules/navbar/navbar.directive.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-export default ['igniteNavbar', ['IgniteNavbar', (IgniteNavbar) => {
+export default function factory(IgniteNavbar) {
function controller() {
const ctrl = this;
@@ -27,4 +27,6 @@ export default ['igniteNavbar', ['IgniteNavbar', (IgniteNavbar) => {
controller,
controllerAs: 'navbar'
};
-}]];
+}
+
+factory.$inject = ['IgniteNavbar'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/navbar/navbar.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/navbar/navbar.module.js b/modules/web-console/frontend/app/modules/navbar/navbar.module.js
index b845cbc..63588c7 100644
--- a/modules/web-console/frontend/app/modules/navbar/navbar.module.js
+++ b/modules/web-console/frontend/app/modules/navbar/navbar.module.js
@@ -27,7 +27,7 @@ angular
.module('ignite-console.navbar', [
])
-.provider(...IgniteNavbar)
-.provider(...IgniteUserbar)
-.directive(...igniteNavbar)
-.directive(...igniteUserbar);
+.provider('IgniteNavbar', IgniteNavbar)
+.provider('IgniteUserbar', IgniteUserbar)
+.directive('igniteNavbar', igniteNavbar)
+.directive('igniteUserbar', igniteUserbar);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/navbar/userbar.directive.js b/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
index 51f46d4..b636a34 100644
--- a/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
+++ b/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
@@ -15,36 +15,45 @@
* limitations under the License.
*/
-export default ['igniteUserbar', [function() {
- return {
- restrict: 'A',
- controller: ['$rootScope', 'IgniteUserbar', 'AclService', function($root, IgniteUserbar, AclService) {
- const ctrl = this;
+/**
+ * @param {ng.IRootScopeService} $root
+ * @param {unknown} IgniteUserbar
+ * @param {unknown} AclService
+ */
+function controller($root, IgniteUserbar, AclService) {
+ const ctrl = this;
+
+ this.$onInit = () => {
+ ctrl.items = [
+ {text: 'Profile', sref: 'base.settings.profile'},
+ {text: 'Getting started', click: 'gettingStarted.tryShow(true)'}
+ ];
- this.$onInit = () => {
- ctrl.items = [
- {text: 'Profile', sref: 'base.settings.profile'},
- {text: 'Getting started', click: 'gettingStarted.tryShow(true)'}
- ];
+ const _rebuildSettings = () => {
+ ctrl.items.splice(2);
- const _rebuildSettings = () => {
- ctrl.items.splice(2);
+ if (AclService.can('admin_page'))
+ ctrl.items.push({text: 'Admin panel', sref: 'base.settings.admin'});
- if (AclService.can('admin_page'))
- ctrl.items.push({text: 'Admin panel', sref: 'base.settings.admin'});
+ ctrl.items.push(...IgniteUserbar);
- ctrl.items.push(...IgniteUserbar);
+ if (AclService.can('logout'))
+ ctrl.items.push({text: 'Log out', sref: 'logout'});
+ };
- if (AclService.can('logout'))
- ctrl.items.push({text: 'Log out', sref: 'logout'});
- };
+ if ($root.user)
+ _rebuildSettings(null, $root.user);
- if ($root.user)
- _rebuildSettings(null, $root.user);
+ $root.$on('user', _rebuildSettings);
+ };
+}
+
+controller.$inject = ['$rootScope', 'IgniteUserbar', 'AclService'];
- $root.$on('user', _rebuildSettings);
- };
- }],
+export default function() {
+ return {
+ restrict: 'A',
+ controller,
controllerAs: 'userbar'
};
-}]];
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/nodes/Nodes.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/nodes/Nodes.service.js b/modules/web-console/frontend/app/modules/nodes/Nodes.service.js
index e231753..9130fc6 100644
--- a/modules/web-console/frontend/app/modules/nodes/Nodes.service.js
+++ b/modules/web-console/frontend/app/modules/nodes/Nodes.service.js
@@ -27,8 +27,8 @@ class Nodes {
static $inject = ['$q', '$modal'];
/**
- * @param $q
- * @param $modal
+ * @param {ng.IQService} $q
+ * @param {mgcrea.ngStrap.modal.IModalService} $modal
*/
constructor($q, $modal) {
this.$q = $q;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/nodes/nodes-dialog.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/nodes/nodes-dialog.controller.js b/modules/web-console/frontend/app/modules/nodes/nodes-dialog.controller.js
index 2296aed..a0cf80a 100644
--- a/modules/web-console/frontend/app/modules/nodes/nodes-dialog.controller.js
+++ b/modules/web-console/frontend/app/modules/nodes/nodes-dialog.controller.js
@@ -25,7 +25,7 @@ const COLUMNS_DEFS = [
{displayName: 'OS information', field: 'os', headerTooltip: 'OS information for node\'s host', minWidth: 125}
];
-export default ['$scope', '$animate', 'uiGridConstants', 'nodes', 'options', function($scope, $animate, uiGridConstants, nodes, options) {
+export default function controller($scope, $animate, uiGridConstants, nodes, options) {
const $ctrl = this;
const updateSelected = () => {
@@ -65,4 +65,6 @@ export default ['$scope', '$animate', 'uiGridConstants', 'nodes', 'options', fun
},
...options.grid
};
-}];
+}
+
+controller.$inject = ['$scope', '$animate', 'uiGridConstants', 'nodes', 'options'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/socket.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/socket.module.js b/modules/web-console/frontend/app/modules/socket.module.js
index 3f50295..5a38bdb 100644
--- a/modules/web-console/frontend/app/modules/socket.module.js
+++ b/modules/web-console/frontend/app/modules/socket.module.js
@@ -21,7 +21,7 @@ import io from 'socket.io-client'; // eslint-disable-line no-unused-vars
angular
.module('ignite-console.socket', [
])
-.provider('igniteSocketFactory', [function() {
+.provider('igniteSocketFactory', function() {
let _options = {};
/**
@@ -31,11 +31,17 @@ angular
_options = options;
};
- this.$get = ['socketFactory', function(socketFactory) {
+ function factory(socketFactory) {
return function() {
const ioSocket = io.connect(_options);
return socketFactory({ioSocket});
};
- }];
-}]);
+ }
+
+ factory.$inject = ['socketFactory'];
+
+ this.$get = factory;
+
+ return this;
+});
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 f45421a..68e65cf 100644
--- a/modules/web-console/frontend/app/modules/states/admin.state.js
+++ b/modules/web-console/frontend/app/modules/states/admin.state.js
@@ -21,7 +21,7 @@ angular
.module('ignite-console.states.admin', [
'ui.router'
])
-.config(['$stateProvider', function($stateProvider) {
+.config(['$stateProvider', /** @param {import('@uirouter/angularjs').StateProvider} $stateProvider */ function($stateProvider) {
// set up the states
$stateProvider
.state('base.settings.admin', {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 fcc6a5b..19a1947 100644
--- a/modules/web-console/frontend/app/modules/states/errors.state.js
+++ b/modules/web-console/frontend/app/modules/states/errors.state.js
@@ -23,7 +23,7 @@ angular
.module('ignite-console.states.errors', [
'ui.router'
])
- .config(['$stateProvider', function($stateProvider) {
+ .config(['$stateProvider', /** @param {import('@uirouter/angularjs').StateProvider} $stateProvider */ function($stateProvider) {
// set up the states
$stateProvider
.state('404', {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 a46f871..9adc81b 100644
--- a/modules/web-console/frontend/app/modules/states/logout.state.js
+++ b/modules/web-console/frontend/app/modules/states/logout.state.js
@@ -20,7 +20,7 @@ import angular from 'angular';
angular.module('ignite-console.states.logout', [
'ui.router'
])
-.config(['$stateProvider', function($stateProvider) {
+.config(['$stateProvider', /** @param {import('@uirouter/angularjs').StateProvider} $stateProvider */ function($stateProvider) {
// set up the states
$stateProvider.state('logout', {
url: '/logout',
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/states/settings.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/settings.state.js b/modules/web-console/frontend/app/modules/states/settings.state.js
index 1651376..e967bad 100644
--- a/modules/web-console/frontend/app/modules/states/settings.state.js
+++ b/modules/web-console/frontend/app/modules/states/settings.state.js
@@ -22,7 +22,7 @@ angular
.module('ignite-console.states.settings', [
'ui.router'
])
- .config(['$stateProvider', function($stateProvider) {
+ .config(['$stateProvider', /** @param {import('@uirouter/angularjs').StateProvider} $stateProvider */ function($stateProvider) {
// Set up the states.
$stateProvider
.state('base.settings', {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/user/Auth.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/user/Auth.service.js b/modules/web-console/frontend/app/modules/user/Auth.service.js
index 744943a..8c3cc4e 100644
--- a/modules/web-console/frontend/app/modules/user/Auth.service.js
+++ b/modules/web-console/frontend/app/modules/user/Auth.service.js
@@ -30,7 +30,11 @@ export default class AuthService {
/**
* @param {ng.IHttpService} $http
* @param {ng.IRootScopeService} $root
+ * @param {import('@uirouter/angularjs').StateService} $state
* @param {ng.IWindowService} $window
+ * @param {ReturnType<typeof import('app/services/Messages.service').default>} Messages
+ * @param {ReturnType<typeof import('app/modules/getting-started/GettingStarted.provider').service>} gettingStarted
+ * @param {ReturnType<typeof import('./User.service').default>} User
*/
constructor($http, $root, $state, $window, Messages, gettingStarted, User) {
this.$http = $http;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/modules/user/User.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/user/User.service.js b/modules/web-console/frontend/app/modules/user/User.service.js
index 8b9a1e7..3fdb9b9 100644
--- a/modules/web-console/frontend/app/modules/user/User.service.js
+++ b/modules/web-console/frontend/app/modules/user/User.service.js
@@ -15,10 +15,35 @@
* limitations under the License.
*/
-export default ['User', ['$q', '$injector', '$rootScope', '$state', '$http', function($q, $injector, $root, $state, $http) {
+/**
+ * @typedef User
+ * @prop {string} _id
+ * @prop {boolean} admin
+ * @prop {string} country
+ * @prop {string} email
+ * @prop {string} firstName
+ * @prop {string} lastName
+ * @prop {string} lastActivity
+ * @prop {string} lastLogin
+ * @prop {string} registered
+ * @prop {string} token
+ */
+
+/**
+ * @param {ng.IQService} $q
+ * @param {ng.auto.IInjectorService} $injector
+ * @param {ng.IRootScopeService} $root
+ * @param {import('@uirouter/angularjs').StateService} $state
+ * @param {ng.IHttpService} $http
+ */
+export default function User($q, $injector, $root, $state, $http) {
+ /** @type {ng.IPromise<User>} */
let user;
return {
+ /**
+ * @returns {ng.IPromise<User>}
+ */
load() {
return user = $http.post('/api/v1/user')
.then(({data}) => {
@@ -48,4 +73,6 @@ export default ['User', ['$q', '$injector', '$rootScope', '$state', '$http', fun
sessionStorage.removeItem('IgniteDemoMode');
}
};
-}]];
+}
+
+User.$inject = ['$q', '$injector', '$rootScope', '$state', '$http'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 24dfc8f..9591a98 100644
--- a/modules/web-console/frontend/app/modules/user/user.module.js
+++ b/modules/web-console/frontend/app/modules/user/user.module.js
@@ -21,12 +21,12 @@ import aclData from './permissions';
import Auth from './Auth.service';
import User from './User.service';
-angular.module('ignite-console.user', [
- 'mm.acl',
- 'ignite-console.config',
- 'ignite-console.core'
-])
-.factory('sessionRecoverer', ['$injector', '$q', function($injector, $q) {
+/**
+ * @param {ng.auto.IInjectorService} $injector
+ * @param {ng.IQService} $q
+ */
+function sessionRecoverer($injector, $q) {
+ /** @type {ng.IHttpInterceptor} */
return {
responseError: (response) => {
// Session has expired
@@ -42,13 +42,18 @@ angular.module('ignite-console.user', [
return $q.reject(response);
}
};
-}])
-.config(['$httpProvider', ($httpProvider) => {
- $httpProvider.interceptors.push('sessionRecoverer');
-}])
-.service('Auth', Auth)
-.service(...User)
-.run(['$rootScope', '$transitions', 'AclService', 'User', 'IgniteActivitiesData', ($root, $transitions, AclService, User, Activities) => {
+}
+
+sessionRecoverer.$inject = ['$injector', '$q'];
+
+/**
+ * @param {ng.IRootScopeService} $root
+ * @param {import('@uirouter/angularjs').TransitionService} $transitions
+ * @param {unknown} AclService
+ * @param {ReturnType<typeof import('./User.service').default>} User
+ * @param {ReturnType<typeof import('app/components/activities-user-dialog/index').default>} Activities
+ */
+function run($root, $transitions, AclService, User, Activities) {
AclService.setAbilities(aclData);
AclService.attachRole('guest');
@@ -90,4 +95,19 @@ angular.module('ignite-console.user', [
return $state.target(trans.to().failState || '403');
});
});
-}]);
+}
+
+run.$inject = ['$rootScope', '$transitions', 'AclService', 'User', 'IgniteActivitiesData'];
+
+angular.module('ignite-console.user', [
+ 'mm.acl',
+ 'ignite-console.config',
+ 'ignite-console.core'
+])
+.factory('sessionRecoverer', sessionRecoverer)
+.config(['$httpProvider', ($httpProvider) => {
+ $httpProvider.interceptors.push('sessionRecoverer');
+}])
+.service('Auth', Auth)
+.service('User', User)
+.run(run);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/ChartColors.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/ChartColors.service.js b/modules/web-console/frontend/app/services/ChartColors.service.js
index 843aa5c..061ff3f 100644
--- a/modules/web-console/frontend/app/services/ChartColors.service.js
+++ b/modules/web-console/frontend/app/services/ChartColors.service.js
@@ -17,6 +17,6 @@
import COLORS from 'app/data/colors.json';
-export default ['IgniteChartColors', function() {
+export default function() {
return COLORS;
-}];
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/Confirm.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Confirm.service.js b/modules/web-console/frontend/app/services/Confirm.service.js
index 8c88a40..953bdcd 100644
--- a/modules/web-console/frontend/app/services/Confirm.service.js
+++ b/modules/web-console/frontend/app/services/Confirm.service.js
@@ -56,8 +56,15 @@ export class Confirm {
}
}
-// Confirm popup service.
-export default ['IgniteConfirm', ['$rootScope', '$q', '$modal', '$animate', function($root, $q, $modal, $animate) {
+/**
+ * Confirm popup service.
+ * @deprecated Use Confirm instead
+ * @param {ng.IRootScopeService} $root
+ * @param {ng.IQService} $q
+ * @param {mgcrea.ngStrap.modal.IModalService} $modal
+ * @param {ng.animate.IAnimateService} $animate
+ */
+export default function IgniteConfirm($root, $q, $modal, $animate) {
const scope = $root.$new();
const modal = $modal({templateUrl, scope, show: false, backdrop: true});
@@ -106,4 +113,6 @@ export default ['IgniteConfirm', ['$rootScope', '$q', '$modal', '$animate', func
};
return modal;
-}]];
+}
+
+IgniteConfirm.$inject = ['$rootScope', '$q', '$modal', '$animate'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 52285a6..f3c6309 100644
--- a/modules/web-console/frontend/app/services/CopyToClipboard.service.js
+++ b/modules/web-console/frontend/app/services/CopyToClipboard.service.js
@@ -15,10 +15,17 @@
* limitations under the License.
*/
-// Service to copy some value to OS clipboard.
-export default ['IgniteCopyToClipboard', ['$window', 'IgniteMessages', function($window, Messages) {
+import angular from 'angular';
+
+/**
+ * Service to copy some value to OS clipboard.
+ * @param {ng.IWindowService} $window
+ * @param {ReturnType<typeof import('./Messages.service').default>} Messages
+ */
+export default function factory($window, Messages) {
const body = angular.element($window.document.body);
+ /** @type {JQuery<HTMLTextAreaElement>} */
const textArea = angular.element('<textarea/>');
textArea.css({
@@ -27,6 +34,9 @@ export default ['IgniteCopyToClipboard', ['$window', 'IgniteMessages', function(
});
return {
+ /**
+ * @param {string} toCopy
+ */
copy(toCopy) {
textArea.val(toCopy);
@@ -47,4 +57,6 @@ export default ['IgniteCopyToClipboard', ['$window', 'IgniteMessages', function(
textArea.remove();
}
};
-}]];
+}
+
+factory.$inject = ['$window', 'IgniteMessages'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/Countries.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Countries.service.js b/modules/web-console/frontend/app/services/Countries.service.js
index 575951e..2de6716 100644
--- a/modules/web-console/frontend/app/services/Countries.service.js
+++ b/modules/web-console/frontend/app/services/Countries.service.js
@@ -15,17 +15,29 @@
* limitations under the License.
*/
+import _ from 'lodash';
import COUNTRIES from 'app/data/countries.json';
-export default ['IgniteCountries', function() {
+/**
+ * @typedef {{label:string,value:string,code:string}} Country
+ */
+
+export default function() {
const indexByName = _.keyBy(COUNTRIES, 'label');
const UNDEFINED_COUNTRY = {label: '', value: '', code: ''};
+ /**
+ * @param {string} name
+ * @return {Country}
+ */
const getByName = (name) => (indexByName[name] || UNDEFINED_COUNTRY);
+ /**
+ * @returns {Array<Country>}
+ */
const getAll = () => (COUNTRIES);
return {
getByName,
getAll
};
-}];
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/DefaultState.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/DefaultState.js b/modules/web-console/frontend/app/services/DefaultState.js
index db7b3e3..b46bfec 100644
--- a/modules/web-console/frontend/app/services/DefaultState.js
+++ b/modules/web-console/frontend/app/services/DefaultState.js
@@ -15,6 +15,9 @@
* limitations under the License.
*/
+/**
+ * @param {import('@uirouter/angularjs').StateProvider} $stateProvider
+ */
function DefaultState($stateProvider) {
const stateName = 'default-state';
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/ErrorParser.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/ErrorParser.service.js b/modules/web-console/frontend/app/services/ErrorParser.service.js
index 9cda8ed..88642b9 100644
--- a/modules/web-console/frontend/app/services/ErrorParser.service.js
+++ b/modules/web-console/frontend/app/services/ErrorParser.service.js
@@ -22,7 +22,7 @@ export default class {
static $inject = ['JavaTypes'];
/**
- * @param JavaTypes service.
+ * @param {import('./JavaTypes.service').default} JavaTypes
*/
constructor(JavaTypes) {
this.JavaTypes = JavaTypes;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/ErrorPopover.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/ErrorPopover.service.js b/modules/web-console/frontend/app/services/ErrorPopover.service.js
index bddf436..3b02a7e 100644
--- a/modules/web-console/frontend/app/services/ErrorPopover.service.js
+++ b/modules/web-console/frontend/app/services/ErrorPopover.service.js
@@ -22,10 +22,10 @@ export default class ErrorPopover {
static $inject = ['$popover', '$anchorScroll', '$timeout', 'IgniteFormUtils'];
/**
- * @param $popover
- * @param $anchorScroll
- * @param $timeout
- * @param FormUtils
+ * @param {mgcrea.ngStrap.popover.IPopoverService} $popover
+ * @param {ng.IAnchorScrollService} $anchorScroll
+ * @param {ng.ITimeoutService} $timeout
+ * @param {ReturnType<typeof import('app/services/FormUtils.service').default>} FormUtils
*/
constructor($popover, $anchorScroll, $timeout, FormUtils) {
this.$popover = $popover;
@@ -41,7 +41,7 @@ export default class ErrorPopover {
/**
* Check that element is document area.
*
- * @param el Element to check.
+ * @param {HTMLElement} el Element to check.
* @returns {boolean} True when element in document area.
*/
static _isElementInViewport(el) {
@@ -58,8 +58,8 @@ export default class ErrorPopover {
/**
* Internal show popover message with detected properties.
*
- * @param id Id element to show popover message.
- * @param message Message to show.
+ * @param {string }id Id element to show popover message.
+ * @param {string} message Message to show.
* @param showTime Time before popover will be hidden.
*/
_show(id, message, showTime = 5000) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/Focus.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Focus.service.js b/modules/web-console/frontend/app/services/Focus.service.js
index a285fbc..a152ff1 100644
--- a/modules/web-console/frontend/app/services/Focus.service.js
+++ b/modules/web-console/frontend/app/services/Focus.service.js
@@ -15,9 +15,15 @@
* limitations under the License.
*/
-// Service to transfer focus for specified element.
-export default ['IgniteFocus', ['$timeout', function($timeout) {
+/**
+ * Service to transfer focus for specified element.
+ * @param {ng.ITimeoutService} $timeout
+ */
+export default function factory($timeout) {
return {
+ /**
+ * @param {string} id Element id
+ */
move(id) {
// Timeout makes sure that is invoked after any other event has been triggered.
// E.g. click events that need to run before the focus or inputs elements that are
@@ -30,4 +36,6 @@ export default ['IgniteFocus', ['$timeout', function($timeout) {
}, 100);
}
};
-}]];
+}
+
+factory.$inject = ['$timeout'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/FormUtils.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/FormUtils.service.js b/modules/web-console/frontend/app/services/FormUtils.service.js
index cda68f7..c8ce4b0 100644
--- a/modules/web-console/frontend/app/services/FormUtils.service.js
+++ b/modules/web-console/frontend/app/services/FormUtils.service.js
@@ -16,7 +16,12 @@
*/
import _ from 'lodash';
-export default ['IgniteFormUtils', ['$window', 'IgniteFocus', '$rootScope', function($window, Focus, $rootScope) {
+/**
+ * @param {ng.IWindowService} $window
+ * @param {ReturnType<typeof import('./Focus.service').default>} Focus
+ * @param {ng.IRootScopeService} $rootScope
+ */
+export default function service($window, Focus, $rootScope) {
function ensureActivePanel(ui, pnl, focusId) {
if (ui && ui.loadPanel) {
const collapses = $('[bs-collapse-target]');
@@ -55,12 +60,13 @@ export default ['IgniteFormUtils', ['$window', 'IgniteFocus', '$rootScope', func
}
}
+ /** @type {CanvasRenderingContext2D} */
let context = null;
/**
* Calculate width of specified text in body's font.
*
- * @param text Text to calculate width.
+ * @param {string} text Text to calculate width.
* @returns {Number} Width of text in pixels.
*/
function measureText(text) {
@@ -453,4 +459,6 @@ export default ['IgniteFormUtils', ['$window', 'IgniteFocus', '$rootScope', func
},
triggerValidation
};
-}]];
+}
+
+service.$inject = ['$window', 'IgniteFocus', '$rootScope'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/IGFSs.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/IGFSs.js b/modules/web-console/frontend/app/services/IGFSs.js
index de9e43d..c9bde77 100644
--- a/modules/web-console/frontend/app/services/IGFSs.js
+++ b/modules/web-console/frontend/app/services/IGFSs.js
@@ -29,10 +29,16 @@ export default class IGFSs {
{value: 'DUAL_ASYNC', label: 'DUAL_ASYNC'}
];
+ /**
+ * @param {ng.IHttpService} $http
+ */
constructor($http) {
- Object.assign(this, {$http});
+ this.$http = $http;
}
+ /**
+ * @param {string} igfsID
+ */
getIGFS(igfsID) {
return this.$http.get(`/api/v1/configuration/igfs/${igfsID}`);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/InetAddress.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/InetAddress.service.js b/modules/web-console/frontend/app/services/InetAddress.service.js
index abdd8a3..1f50bdf 100644
--- a/modules/web-console/frontend/app/services/InetAddress.service.js
+++ b/modules/web-console/frontend/app/services/InetAddress.service.js
@@ -15,7 +15,9 @@
* limitations under the License.
*/
-export default ['IgniteInetAddress', function() {
+import _ from 'lodash';
+
+export default function() {
return {
/**
* @param {String} ip IP address to check.
@@ -36,18 +38,18 @@ export default ['IgniteInetAddress', function() {
return regexp.test(hostNameOrIp) || this.validIp(hostNameOrIp);
},
/**
- * @param {int} port Port value to check.
+ * @param {number} port Port value to check.
* @returns boolean 'true' if given port is valid tcp/udp port range.
*/
validPort(port) {
return _.isInteger(port) && port > 0 && port <= 65535;
},
/**
- * @param {int} port Port value to check.
+ * @param {number} port Port value to check.
* @returns {boolean} 'true' if given port in non system port range(user+dynamic).
*/
validNonSystemPort(port) {
return _.isInteger(port) && port >= 1024 && port <= 65535;
}
};
-}];
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/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 2d795ce..3086f4f 100644
--- a/modules/web-console/frontend/app/services/LegacyTable.service.js
+++ b/modules/web-console/frontend/app/services/LegacyTable.service.js
@@ -16,214 +16,220 @@
*/
// TODO: Refactor this service for legacy tables with more than one input field.
-export default ['IgniteLegacyTable',
- ['IgniteLegacyUtils', 'IgniteFocus', 'IgniteErrorPopover', function(LegacyUtils, Focus, ErrorPopover) {
- function _model(item, field) {
- let path = field.path;
-
- if (_.isNil(path) || _.isNil(item))
- return item;
+/**
+ * @param {ReturnType<typeof import('./LegacyUtils.service').default>} LegacyUtils
+ * @param {ReturnType<typeof import('./Focus.service').default>} Focus
+ * @param {import('./ErrorPopover.service').default} ErrorPopover
+ */
+export default function service(LegacyUtils, Focus, ErrorPopover) {
+ function _model(item, field) {
+ let path = field.path;
- path = path.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
- path = path.replace(/^\./, ''); // strip a leading dot
+ if (_.isNil(path) || _.isNil(item))
+ return item;
- const segs = path.split('.');
- let root = item;
+ path = path.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
+ path = path.replace(/^\./, ''); // strip a leading dot
- while (segs.length > 0) {
- const pathStep = segs.shift();
+ const segs = path.split('.');
+ let root = item;
- if (typeof root[pathStep] === 'undefined')
- root[pathStep] = {};
+ while (segs.length > 0) {
+ const pathStep = segs.shift();
- root = root[pathStep];
- }
+ if (typeof root[pathStep] === 'undefined')
+ root[pathStep] = {};
- return root;
+ root = root[pathStep];
}
- const table = {name: 'none', editIndex: -1};
+ return root;
+ }
- function _tableReset() {
- delete table.field;
- table.name = 'none';
- table.editIndex = -1;
+ const table = {name: 'none', editIndex: -1};
- ErrorPopover.hide();
- }
+ function _tableReset() {
+ delete table.field;
+ table.name = 'none';
+ table.editIndex = -1;
- function _tableSaveAndReset() {
- const field = table.field;
+ ErrorPopover.hide();
+ }
- const save = LegacyUtils.isDefined(field) && LegacyUtils.isDefined(field.save);
+ function _tableSaveAndReset() {
+ const field = table.field;
- if (!save || !LegacyUtils.isDefined(field) || field.save(field, table.editIndex, true)) {
- _tableReset();
+ const save = LegacyUtils.isDefined(field) && LegacyUtils.isDefined(field.save);
- return true;
- }
+ if (!save || !LegacyUtils.isDefined(field) || field.save(field, table.editIndex, true)) {
+ _tableReset();
- return false;
+ return true;
}
- function _tableState(field, editIndex, specName) {
- table.field = field;
- table.name = specName || field.model;
- table.editIndex = editIndex;
- }
+ return false;
+ }
- function _tableUI(tbl) {
- const ui = tbl.ui;
+ function _tableState(field, editIndex, specName) {
+ table.field = field;
+ table.name = specName || field.model;
+ table.editIndex = editIndex;
+ }
- return ui ? ui : tbl.type;
- }
+ function _tableUI(tbl) {
+ const ui = tbl.ui;
- function _tableFocus(focusId, index) {
- Focus.move((index < 0 ? 'new' : 'cur') + focusId + (index >= 0 ? index : ''));
- }
+ return ui ? ui : tbl.type;
+ }
- function _tablePairValue(filed, index) {
- return index < 0 ? {key: filed.newKey, value: filed.newValue} : {
- key: filed.curKey,
- value: filed.curValue
- };
- }
+ function _tableFocus(focusId, index) {
+ Focus.move((index < 0 ? 'new' : 'cur') + focusId + (index >= 0 ? index : ''));
+ }
- function _tableStartEdit(item, tbl, index, save) {
- _tableState(tbl, index);
+ function _tablePairValue(filed, index) {
+ return index < 0 ? {key: filed.newKey, value: filed.newValue} : {
+ key: filed.curKey,
+ value: filed.curValue
+ };
+ }
- const val = _.get(_model(item, tbl), tbl.model)[index];
+ function _tableStartEdit(item, tbl, index, save) {
+ _tableState(tbl, index);
- const ui = _tableUI(tbl);
+ const val = _.get(_model(item, tbl), tbl.model)[index];
- tbl.save = save;
+ const ui = _tableUI(tbl);
- if (ui === 'table-pair') {
- tbl.curKey = val[tbl.keyName];
- tbl.curValue = val[tbl.valueName];
+ tbl.save = save;
- _tableFocus('Key' + tbl.focusId, index);
- }
- else if (ui === 'table-db-fields') {
- tbl.curDatabaseFieldName = val.databaseFieldName;
- tbl.curDatabaseFieldType = val.databaseFieldType;
- tbl.curJavaFieldName = val.javaFieldName;
- tbl.curJavaFieldType = val.javaFieldType;
+ if (ui === 'table-pair') {
+ tbl.curKey = val[tbl.keyName];
+ tbl.curValue = val[tbl.valueName];
- _tableFocus('DatabaseFieldName' + tbl.focusId, index);
- }
- else if (ui === 'table-indexes') {
- tbl.curIndexName = val.name;
- tbl.curIndexType = val.indexType;
- tbl.curIndexFields = val.fields;
+ _tableFocus('Key' + tbl.focusId, index);
+ }
+ else if (ui === 'table-db-fields') {
+ tbl.curDatabaseFieldName = val.databaseFieldName;
+ tbl.curDatabaseFieldType = val.databaseFieldType;
+ tbl.curJavaFieldName = val.javaFieldName;
+ tbl.curJavaFieldType = val.javaFieldType;
- _tableFocus(tbl.focusId, index);
- }
+ _tableFocus('DatabaseFieldName' + tbl.focusId, index);
}
+ else if (ui === 'table-indexes') {
+ tbl.curIndexName = val.name;
+ tbl.curIndexType = val.indexType;
+ tbl.curIndexFields = val.fields;
- function _tableNewItem(tbl) {
- _tableState(tbl, -1);
+ _tableFocus(tbl.focusId, index);
+ }
+ }
- const ui = _tableUI(tbl);
+ function _tableNewItem(tbl) {
+ _tableState(tbl, -1);
- if (ui === 'table-pair') {
- tbl.newKey = null;
- tbl.newValue = null;
+ const ui = _tableUI(tbl);
- _tableFocus('Key' + tbl.focusId, -1);
- }
- else if (ui === 'table-db-fields') {
- tbl.newDatabaseFieldName = null;
- tbl.newDatabaseFieldType = null;
- tbl.newJavaFieldName = null;
- tbl.newJavaFieldType = null;
+ if (ui === 'table-pair') {
+ tbl.newKey = null;
+ tbl.newValue = null;
- _tableFocus('DatabaseFieldName' + tbl.focusId, -1);
- }
- else if (ui === 'table-indexes') {
- tbl.newIndexName = null;
- tbl.newIndexType = 'SORTED';
- tbl.newIndexFields = null;
+ _tableFocus('Key' + tbl.focusId, -1);
+ }
+ else if (ui === 'table-db-fields') {
+ tbl.newDatabaseFieldName = null;
+ tbl.newDatabaseFieldType = null;
+ tbl.newJavaFieldName = null;
+ tbl.newJavaFieldType = null;
- _tableFocus(tbl.focusId, -1);
- }
+ _tableFocus('DatabaseFieldName' + tbl.focusId, -1);
}
+ else if (ui === 'table-indexes') {
+ tbl.newIndexName = null;
+ tbl.newIndexType = 'SORTED';
+ tbl.newIndexFields = null;
- return {
- tableState: _tableState,
- tableReset: _tableReset,
- tableSaveAndReset: _tableSaveAndReset,
- tableNewItem: _tableNewItem,
- tableNewItemActive(tbl) {
- return table.name === tbl.model && table.editIndex < 0;
- },
- tableEditing(tbl, index) {
- return table.name === tbl.model && table.editIndex === index;
- },
- tableEditedRowIndex() {
- return table.editIndex;
- },
- tableField() {
- return table.field;
- },
- tableStartEdit: _tableStartEdit,
- tableRemove(item, field, index) {
- _tableReset();
-
- _.get(_model(item, field), field.model).splice(index, 1);
- },
- tablePairValue: _tablePairValue,
- tablePairSave(pairValid, item, field, index, stopEdit) {
- const valid = pairValid(item, field, index, stopEdit);
-
- if (valid) {
- const pairValue = _tablePairValue(field, index);
-
- let pairModel = {};
-
- const container = _.get(item, field.model);
-
- if (index < 0) {
- pairModel[field.keyName] = pairValue.key;
- pairModel[field.valueName] = pairValue.value;
-
- if (container)
- container.push(pairModel);
- else
- _.set(item, field.model, [pairModel]);
+ _tableFocus(tbl.focusId, -1);
+ }
+ }
+
+ return {
+ tableState: _tableState,
+ tableReset: _tableReset,
+ tableSaveAndReset: _tableSaveAndReset,
+ tableNewItem: _tableNewItem,
+ tableNewItemActive(tbl) {
+ return table.name === tbl.model && table.editIndex < 0;
+ },
+ tableEditing(tbl, index) {
+ return table.name === tbl.model && table.editIndex === index;
+ },
+ tableEditedRowIndex() {
+ return table.editIndex;
+ },
+ tableField() {
+ return table.field;
+ },
+ tableStartEdit: _tableStartEdit,
+ tableRemove(item, field, index) {
+ _tableReset();
+
+ _.get(_model(item, field), field.model).splice(index, 1);
+ },
+ tablePairValue: _tablePairValue,
+ tablePairSave(pairValid, item, field, index, stopEdit) {
+ const valid = pairValid(item, field, index, stopEdit);
+
+ if (valid) {
+ const pairValue = _tablePairValue(field, index);
+
+ let pairModel = {};
+
+ const container = _.get(item, field.model);
+
+ if (index < 0) {
+ pairModel[field.keyName] = pairValue.key;
+ pairModel[field.valueName] = pairValue.value;
+
+ if (container)
+ container.push(pairModel);
+ else
+ _.set(item, field.model, [pairModel]);
+
+ if (!stopEdit)
+ _tableNewItem(field);
+ }
+ else {
+ pairModel = container[index];
+
+ pairModel[field.keyName] = pairValue.key;
+ pairModel[field.valueName] = pairValue.value;
- if (!stopEdit)
+ if (!stopEdit) {
+ if (index < container.length - 1)
+ _tableStartEdit(item, field, index + 1);
+ else
_tableNewItem(field);
}
- else {
- pairModel = container[index];
-
- pairModel[field.keyName] = pairValue.key;
- pairModel[field.valueName] = pairValue.value;
-
- if (!stopEdit) {
- if (index < container.length - 1)
- _tableStartEdit(item, field, index + 1);
- else
- _tableNewItem(field);
- }
- }
}
+ }
- return valid || stopEdit;
- },
- tablePairSaveVisible(field, index) {
- const pairValue = _tablePairValue(field, index);
+ return valid || stopEdit;
+ },
+ tablePairSaveVisible(field, index) {
+ const pairValue = _tablePairValue(field, index);
- return !LegacyUtils.isEmptyString(pairValue.key) && !LegacyUtils.isEmptyString(pairValue.value);
- },
- tableFocusInvalidField(index, id) {
- _tableFocus(id, index);
+ return !LegacyUtils.isEmptyString(pairValue.key) && !LegacyUtils.isEmptyString(pairValue.value);
+ },
+ tableFocusInvalidField(index, id) {
+ _tableFocus(id, index);
- return false;
- },
- tableFieldId(index, id) {
- return (index < 0 ? 'new' : 'cur') + id + (index >= 0 ? index : '');
- }
- };
- }]];
+ return false;
+ },
+ tableFieldId(index, id) {
+ return (index < 0 ? 'new' : 'cur') + id + (index >= 0 ? index : '');
+ }
+ };
+}
+
+service.$inject = ['IgniteLegacyUtils', 'IgniteFocus', 'IgniteErrorPopover'];
http://git-wip-us.apache.org/repos/asf/ignite/blob/6e6e8bff/modules/web-console/frontend/app/services/LegacyUtils.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/LegacyUtils.service.js b/modules/web-console/frontend/app/services/LegacyUtils.service.js
index 1aea642..8362669 100644
--- a/modules/web-console/frontend/app/services/LegacyUtils.service.js
+++ b/modules/web-console/frontend/app/services/LegacyUtils.service.js
@@ -16,9 +16,13 @@
*/
import saver from 'file-saver';
+import _ from 'lodash';
// TODO: Refactor this service for legacy tables with more than one input field.
-export default ['IgniteLegacyUtils', ['IgniteErrorPopover', function(ErrorPopover) {
+/**
+ * @param {import('./ErrorPopover.service').default} ErrorPopover
+ */
+export default function service(ErrorPopover) {
function isDefined(v) {
return !_.isNil(v);
}
@@ -547,4 +551,6 @@ export default ['IgniteLegacyUtils', ['IgniteErrorPopover', function(ErrorPopove
return true;
}
};
-}]];
+}
+
+service.$inject = ['IgniteErrorPopover'];