Repository: ignite
Updated Branches:
  refs/heads/ignite-2.5 6bc937575 -> b96271866


IGNITE-4091 Web Console: Refactored using of internal Angular API.

(cherry picked from commit 74d2545)


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b9627186
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b9627186
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b9627186

Branch: refs/heads/ignite-2.5
Commit: b96271866aeb09b434e2b95a457655a44d913254
Parents: 6bc9375
Author: Alexander Kalinin <verba...@yandex.ru>
Authored: Wed Apr 11 17:09:41 2018 +0700
Committer: Alexey Kuznetsov <akuznet...@apache.org>
Committed: Wed Apr 11 17:11:44 2018 +0700

----------------------------------------------------------------------
 modules/web-console/frontend/app/app.config.js  | 14 +++---
 .../components/modal-import-models/component.js |  4 +-
 .../app/components/page-profile/controller.js   |  4 +-
 .../frontend/app/modules/ace.module.js          | 47 ++++++++++----------
 .../services/AngularStrapSelect.decorator.js    |  5 ++-
 .../services/AngularStrapTooltip.decorator.js   |  8 ++--
 .../frontend/app/services/FormUtils.service.js  |  3 +-
 7 files changed, 45 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/modules/web-console/frontend/app/app.config.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/app.config.js 
b/modules/web-console/frontend/app/app.config.js
index 9d8dc99..e2bc057 100644
--- a/modules/web-console/frontend/app/app.config.js
+++ b/modules/web-console/frontend/app/app.config.js
@@ -43,7 +43,7 @@ igniteConsoleCfg.config(['$animateProvider', 
($animateProvider) => {
 
 // AngularStrap modal popup configuration.
 igniteConsoleCfg.config(['$modalProvider', ($modalProvider) => {
-    angular.extend($modalProvider.defaults, {
+    Object.assign($modalProvider.defaults, {
         animation: 'am-fade-and-scale',
         placement: 'center',
         html: true
@@ -52,7 +52,7 @@ igniteConsoleCfg.config(['$modalProvider', ($modalProvider) 
=> {
 
 // AngularStrap popover configuration.
 igniteConsoleCfg.config(['$popoverProvider', ($popoverProvider) => {
-    angular.extend($popoverProvider.defaults, {
+    Object.assign($popoverProvider.defaults, {
         trigger: 'manual',
         placement: 'right',
         container: 'body',
@@ -62,7 +62,7 @@ igniteConsoleCfg.config(['$popoverProvider', 
($popoverProvider) => {
 
 // AngularStrap tooltips configuration.
 igniteConsoleCfg.config(['$tooltipProvider', ($tooltipProvider) => {
-    angular.extend($tooltipProvider.defaults, {
+    Object.assign($tooltipProvider.defaults, {
         container: 'body',
         delay: {show: 150, hide: 150},
         placement: 'right',
@@ -73,7 +73,7 @@ igniteConsoleCfg.config(['$tooltipProvider', 
($tooltipProvider) => {
 
 // AngularStrap select (combobox) configuration.
 igniteConsoleCfg.config(['$selectProvider', ($selectProvider) => {
-    angular.extend($selectProvider.defaults, {
+    Object.assign($selectProvider.defaults, {
         container: 'body',
         maxLength: '5',
         allText: 'Select All',
@@ -87,7 +87,7 @@ igniteConsoleCfg.config(['$selectProvider', ($selectProvider) 
=> {
 
 // AngularStrap alerts configuration.
 igniteConsoleCfg.config(['$alertProvider', ($alertProvider) => {
-    angular.extend($alertProvider.defaults, {
+    Object.assign($alertProvider.defaults, {
         container: 'body',
         placement: 'top-right',
         duration: '5',
@@ -99,7 +99,7 @@ igniteConsoleCfg.config(['$alertProvider', ($alertProvider) 
=> {
 
 // AngularStrap dropdowns () configuration.
 igniteConsoleCfg.config(['$dropdownProvider', ($dropdownProvider) => {
-    angular.extend($dropdownProvider.defaults, {
+    Object.assign($dropdownProvider.defaults, {
         templateUrl: dropdownTemplateUrl,
         animation: ''
     });
@@ -107,7 +107,7 @@ igniteConsoleCfg.config(['$dropdownProvider', 
($dropdownProvider) => {
 
 // AngularStrap dropdowns () configuration.
 igniteConsoleCfg.config(['$datepickerProvider', ($datepickerProvider) => {
-    angular.extend($datepickerProvider.defaults, {
+    Object.assign($datepickerProvider.defaults, {
         autoclose: true,
         iconLeft: 'icon-datepicker-left',
         iconRight: 'icon-datepicker-right'

http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/modules/web-console/frontend/app/components/page-configure/components/modal-import-models/component.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure/components/modal-import-models/component.js
 
b/modules/web-console/frontend/app/components/page-configure/components/modal-import-models/component.js
index 7f852b0..813c998 100644
--- 
a/modules/web-console/frontend/app/components/page-configure/components/modal-import-models/component.js
+++ 
b/modules/web-console/frontend/app/components/page-configure/components/modal-import-models/component.js
@@ -84,7 +84,7 @@ const DFLT_REPLICATED_CACHE = {
 const CACHE_TEMPLATES = [DFLT_PARTITIONED_CACHE, DFLT_REPLICATED_CACHE];
 
 export class ModalImportModels {
-    /** 
+    /**
      * Cluster ID to import models into
      * @type {string}
      */
@@ -771,7 +771,7 @@ export class ModalImportModels {
 
                 // Prepare caches for generation.
                 if (table.action === IMPORT_DM_NEW_CACHE) {
-                    const newCache = 
angular.copy(this.loadedCaches[table.cacheOrTemplate]);
+                    const newCache = 
_.cloneDeep(this.loadedCaches[table.cacheOrTemplate]);
 
                     batchAction.newCache = newCache;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/modules/web-console/frontend/app/components/page-profile/controller.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-profile/controller.js 
b/modules/web-console/frontend/app/components/page-profile/controller.js
index 05fe118..c67a603 100644
--- a/modules/web-console/frontend/app/components/page-profile/controller.js
+++ b/modules/web-console/frontend/app/components/page-profile/controller.js
@@ -15,6 +15,8 @@
  * limitations under the License.
  */
 
+import _ from 'lodash';
+
 export default class PageProfileController {
     static $inject = [
         '$rootScope', '$scope', '$http', 'IgniteLegacyUtils', 
'IgniteMessages', 'IgniteFocus', 'IgniteConfirm', 'IgniteCountries', 'User'
@@ -28,7 +30,7 @@ export default class PageProfileController {
         this.ui = {};
 
         this.User.read()
-            .then((user) => this.ui.user = angular.copy(user));
+            .then((user) => this.ui.user = _.cloneDeep(user));
 
         this.ui.countries = this.Countries.getAll();
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/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 a28536a..6a6e70a 100644
--- a/modules/web-console/frontend/app/modules/ace.module.js
+++ b/modules/web-console/frontend/app/modules/ace.module.js
@@ -16,12 +16,13 @@
  */
 
 import angular from 'angular';
+import _ from 'lodash';
 
 angular
     .module('ignite-console.ace', [])
     .constant('igniteAceConfig', {})
     .directive('igniteAce', ['igniteAceConfig', (aceConfig) => {
-        if (angular.isUndefined(window.ace))
+        if (_.isUndefined(window.ace))
             throw new Error('ignite-ace need ace to work... (o rly?)');
 
         /**
@@ -43,7 +44,7 @@ angular
          */
         const setOptions = (acee, session, opts) => {
             // Sets the ace worker path, if running from concatenated or 
minified source.
-            if (angular.isDefined(opts.workerPath)) {
+            if (!_.isUndefined(opts.workerPath)) {
                 const config = window.ace.acequire('ace/config');
 
                 config.set('workerPath', opts.workerPath);
@@ -53,26 +54,26 @@ angular
             _.forEach(opts.require, (n) => window.ace.acequire(n));
 
             // Boolean options.
-            if (angular.isDefined(opts.showGutter))
+            if (!_.isUndefined(opts.showGutter))
                 acee.renderer.setShowGutter(opts.showGutter);
 
-            if (angular.isDefined(opts.useWrapMode))
+            if (!_.isUndefined(opts.useWrapMode))
                 session.setUseWrapMode(opts.useWrapMode);
 
-            if (angular.isDefined(opts.showInvisibles))
+            if (!_.isUndefined(opts.showInvisibles))
                 acee.renderer.setShowInvisibles(opts.showInvisibles);
 
-            if (angular.isDefined(opts.showIndentGuides))
+            if (!_.isUndefined(opts.showIndentGuides))
                 acee.renderer.setDisplayIndentGuides(opts.showIndentGuides);
 
-            if (angular.isDefined(opts.useSoftTabs))
+            if (!_.isUndefined(opts.useSoftTabs))
                 session.setUseSoftTabs(opts.useSoftTabs);
 
-            if (angular.isDefined(opts.showPrintMargin))
+            if (!_.isUndefined(opts.showPrintMargin))
                 acee.setShowPrintMargin(opts.showPrintMargin);
 
             // Commands.
-            if (angular.isDefined(opts.disableSearch) && opts.disableSearch) {
+            if (!_.isUndefined(opts.disableSearch) && opts.disableSearch) {
                 acee.commands.addCommands([{
                     name: 'unfind',
                     bindKey: {
@@ -85,21 +86,21 @@ angular
             }
 
             // Base options.
-            if (angular.isString(opts.theme))
+            if (_.isString(opts.theme))
                 acee.setTheme('ace/theme/' + opts.theme);
 
-            if (angular.isString(opts.mode))
+            if (_.isString(opts.mode))
                 session.setMode('ace/mode/' + opts.mode);
 
-            if (angular.isDefined(opts.firstLineNumber)) {
-                if (angular.isNumber(opts.firstLineNumber))
+            if (!_.isUndefined(opts.firstLineNumber)) {
+                if (_.isNumber(opts.firstLineNumber))
                     session.setOption('firstLineNumber', opts.firstLineNumber);
-                else if (angular.isFunction(opts.firstLineNumber))
+                else if (_.isFunction(opts.firstLineNumber))
                     session.setOption('firstLineNumber', 
opts.firstLineNumber());
             }
 
             // Advanced options.
-            if (angular.isDefined(opts.advanced)) {
+            if (!_.isUndefined(opts.advanced)) {
                 for (const key in opts.advanced) {
                     if (opts.advanced.hasOwnProperty(key)) {
                         // Create a javascript object with the key and value.
@@ -112,7 +113,7 @@ angular
             }
 
             // Advanced options for the renderer.
-            if (angular.isDefined(opts.rendererOptions)) {
+            if (!_.isUndefined(opts.rendererOptions)) {
                 for (const key in opts.rendererOptions) {
                     if (opts.rendererOptions.hasOwnProperty(key)) {
                         // Create a javascript object with the key and value.
@@ -126,7 +127,7 @@ angular
 
             // onLoad callbacks.
             _.forEach(opts.callbacks, (cb) => {
-                if (angular.isFunction(cb))
+                if (_.isFunction(cb))
                     cb(acee);
             });
         };
@@ -147,7 +148,7 @@ angular
                  *
                  * @type object
                  */
-                let opts = angular.extend({}, options, 
scope.$eval(attrs.igniteAce));
+                let opts = Object.assign({}, options, 
scope.$eval(attrs.igniteAce));
 
                 /**
                  * ACE editor.
@@ -191,9 +192,9 @@ angular
                             !scope.$$phase && !scope.$root.$$phase)
                             scope.$eval(() => ngModel.$setViewValue(newValue));
 
-                        if (angular.isDefined(callback)) {
+                        if (!_.isUndefined(callback)) {
                             scope.$evalAsync(() => {
-                                if (angular.isFunction(callback))
+                                if (_.isFunction(callback))
                                     callback([e, acee]);
                                 else
                                     throw new Error('ignite-ace use a function 
as callback');
@@ -210,10 +211,10 @@ angular
                     form && form.$removeControl(ngModel);
 
                     ngModel.$formatters.push((value) => {
-                        if (angular.isUndefined(value) || value === null)
+                        if (_.isUndefined(value) || value === null)
                             return '';
 
-                        if (angular.isObject(value) || angular.isArray(value))
+                        if (_.isObject(value) || _.isArray(value))
                             throw new Error('ignite-ace cannot use an object 
or an array as a model');
 
                         return value;
@@ -229,7 +230,7 @@ angular
                     if (current === previous)
                         return;
 
-                    opts = angular.extend({}, options, 
scope.$eval(attrs.igniteAce));
+                    opts = Object.assign({}, options, 
scope.$eval(attrs.igniteAce));
 
                     opts.callbacks = [opts.onLoad];
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js 
b/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
index 39f7ccd..32fa167 100644
--- a/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
+++ b/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
@@ -16,6 +16,7 @@
  */
 
 import angular from 'angular';
+import _ from 'lodash';
 
 /**
  * Special decorator that fix problem in AngularStrap selectAll / deselectAll 
methods.
@@ -27,12 +28,12 @@ export default angular.module('mgcrea.ngStrap.select')
             const delegate = $delegate(element, controller, config);
 
             // Common vars.
-            const options = angular.extend({}, $delegate.defaults, config);
+            const options = Object.assign({}, $delegate.defaults, config);
 
             const scope = delegate.$scope;
 
             const valueByIndex = (index) => {
-                if (angular.isUndefined(scope.$matches[index]))
+                if (_.isUndefined(scope.$matches[index]))
                     return null;
 
                 return scope.$matches[index].value;

http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js 
b/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
index d01a450..fa59f32 100644
--- a/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
+++ b/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
@@ -16,7 +16,7 @@
  */
 
 import angular from 'angular';
-import flow from 'lodash/flow';
+import _ from 'lodash';
 
 /**
  * Decorator that fix problem in AngularStrap $tooltip.
@@ -62,7 +62,7 @@ export default angular
 
                 scope.$emit(options.prefixEvent + '.hide.before', $tooltip);
 
-                if (angular.isDefined(options.onBeforeHide) && 
angular.isFunction(options.onBeforeHide))
+                if (!_.isUndefined(options.onBeforeHide) && 
_.isFunction(options.onBeforeHide))
                     options.onBeforeHide($tooltip);
 
                 $tooltip.$isShown = scope.$isShown = false;
@@ -82,8 +82,8 @@ export default angular
             const $tooltip = $delegate(el, config);
 
             $tooltip.$referenceElement = el;
-            $tooltip.destroy = flow($tooltip.destroy, () => 
$tooltip.$referenceElement = null);
-            $tooltip.$applyPlacement = flow($tooltip.$applyPlacement, () => {
+            $tooltip.destroy = _.flow($tooltip.destroy, () => 
$tooltip.$referenceElement = null);
+            $tooltip.$applyPlacement = _.flow($tooltip.$applyPlacement, () => {
                 if (!$tooltip.$element)
                     return;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b9627186/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 f22d4bc..da1d737 100644
--- a/modules/web-console/frontend/app/services/FormUtils.service.js
+++ b/modules/web-console/frontend/app/services/FormUtils.service.js
@@ -14,6 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import _ from 'lodash';
 
 export default ['IgniteFormUtils', ['$window', 'IgniteFocus', ($window, Focus) 
=> {
     function ensureActivePanel(ui, pnl, focusId) {
@@ -41,7 +42,7 @@ export default ['IgniteFormUtils', ['$window', 'IgniteFocus', 
($window, Focus) =
                 if (!activePanels || activePanels.length < 1)
                     ui.activePanels = [idx];
                 else if (!_.includes(activePanels, idx)) {
-                    const newActivePanels = angular.copy(activePanels);
+                    const newActivePanels = _.cloneDeep(activePanels);
 
                     newActivePanels.push(idx);
 

Reply via email to