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();
+ });
}
}