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/10/26 09:42:54 UTC

ignite git commit: IGNITE-10016 Web Console: ClusterLoginService should return "Credentials" modal as singleton.

Repository: ignite
Updated Branches:
  refs/heads/master 797e7af77 -> 51d8c9f72


IGNITE-10016 Web Console: ClusterLoginService should return "Credentials" modal as singleton.


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

Branch: refs/heads/master
Commit: 51d8c9f72a0553397d4f471f81f926e498f21114
Parents: 797e7af
Author: Alexander Kalinin <ve...@yandex.ru>
Authored: Fri Oct 26 16:42:39 2018 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Oct 26 16:42:39 2018 +0700

----------------------------------------------------------------------
 .../agent/components/cluster-login/service.js   | 21 +++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/51d8c9f7/modules/web-console/frontend/app/modules/agent/components/cluster-login/service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/agent/components/cluster-login/service.js b/modules/web-console/frontend/app/modules/agent/components/cluster-login/service.js
index 128f3cc..955d0a3 100644
--- a/modules/web-console/frontend/app/modules/agent/components/cluster-login/service.js
+++ b/modules/web-console/frontend/app/modules/agent/components/cluster-login/service.js
@@ -22,6 +22,8 @@ import {CancellationError} from 'app/errors/CancellationError';
 export default class ClusterLoginService {
     static $inject = ['$modal', '$q'];
 
+    deferred;
+
     /**
      * @param {mgcrea.ngStrap.modal.IModalService} $modal
      * @param {ng.IQService} $q
@@ -36,7 +38,12 @@ export default class ClusterLoginService {
      * @returns {ng.IPromise<import('../../types/ClusterSecrets').ClusterSecrets>}
      */
     askCredentials(baseSecrets) {
-        const deferred = this.$q.defer();
+        if (this.deferred)
+            return this.deferred.promise;
+
+        this.deferred = this.$q.defer();
+
+        const self = this;
 
         const modal = this.$modal({
             template: `
@@ -50,11 +57,11 @@ export default class ClusterLoginService {
                 this.secrets = _.clone(baseSecrets);
 
                 this.onLogin = () => {
-                    deferred.resolve(this.secrets);
+                    self.deferred.resolve(this.secrets);
                 };
 
                 this.onHide = () => {
-                    deferred.reject(new CancellationError());
+                    self.deferred.reject(new CancellationError());
                 };
             }],
             controllerAs: '$ctrl',
@@ -63,7 +70,11 @@ export default class ClusterLoginService {
         });
 
         return modal.$promise
-            .then(() => deferred.promise)
-            .finally(modal.hide);
+            .then(() => this.deferred.promise)
+            .finally(() => {
+                this.deferred = null;
+
+                modal.hide();
+            });
     }
 }