|
@@ -22,6 +22,9 @@ import huePubSub from 'utils/huePubSub';
|
|
|
import I18n from 'utils/i18n';
|
|
import I18n from 'utils/i18n';
|
|
|
import sessionManager from 'apps/notebook2/execution/sessionManager';
|
|
import sessionManager from 'apps/notebook2/execution/sessionManager';
|
|
|
|
|
|
|
|
|
|
+export const SHOW_EVENT = 'show.session.auth.modal';
|
|
|
|
|
+export const SHOWN_EVENT = 'session.auth.modal.shown';
|
|
|
|
|
+
|
|
|
const TEMPLATE = `
|
|
const TEMPLATE = `
|
|
|
<div class="modal-header">
|
|
<div class="modal-header">
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="${I18n(
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="${I18n(
|
|
@@ -113,7 +116,7 @@ class SessionAuthModal {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
componentUtils.registerComponent('session-auth-modal', undefined, TEMPLATE).then(() => {
|
|
componentUtils.registerComponent('session-auth-modal', undefined, TEMPLATE).then(() => {
|
|
|
- huePubSub.subscribe('show.session.auth.modal', sessionAuthParams => {
|
|
|
|
|
|
|
+ huePubSub.subscribe(SHOW_EVENT, sessionAuthParams => {
|
|
|
let $sessionAuthModal = $('#sessionAuthModal');
|
|
let $sessionAuthModal = $('#sessionAuthModal');
|
|
|
if ($sessionAuthModal.length > 0) {
|
|
if ($sessionAuthModal.length > 0) {
|
|
|
ko.cleanNode($sessionAuthModal[0]);
|
|
ko.cleanNode($sessionAuthModal[0]);
|
|
@@ -121,12 +124,19 @@ componentUtils.registerComponent('session-auth-modal', undefined, TEMPLATE).then
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$sessionAuthModal = $(
|
|
$sessionAuthModal = $(
|
|
|
- '<div id="sessionAuthModal" data-bind="component: { name: \'session-auth-modal\', params: $data }" data-keyboard="true" class="modal hide fade" tabindex="-1"/>'
|
|
|
|
|
|
|
+ '<div id="sessionAuthModal" data-bind="descendantsComplete: descendantsComplete, component: { name: \'session-auth-modal\', params: params }" data-keyboard="true" class="modal hide fade" tabindex="-1"/>'
|
|
|
);
|
|
);
|
|
|
$('body').append($sessionAuthModal);
|
|
$('body').append($sessionAuthModal);
|
|
|
|
|
|
|
|
const model = new SessionAuthModal(sessionAuthParams, $sessionAuthModal);
|
|
const model = new SessionAuthModal(sessionAuthParams, $sessionAuthModal);
|
|
|
- ko.applyBindings(model, $sessionAuthModal[0]);
|
|
|
|
|
|
|
+ const data = {
|
|
|
|
|
+ params: model,
|
|
|
|
|
+ descendantsComplete: () => {
|
|
|
|
|
+ huePubSub.publish(SHOWN_EVENT);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ ko.applyBindings(data, $sessionAuthModal[0]);
|
|
|
$sessionAuthModal.modal('show');
|
|
$sessionAuthModal.modal('show');
|
|
|
$sessionAuthModal.on('hidden', () => {
|
|
$sessionAuthModal.on('hidden', () => {
|
|
|
if (model.pending) {
|
|
if (model.pending) {
|