{"version":3,"file":"vendor.aurelia-dialog.9c68e83d98a108e8.bundle.js","mappings":"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","sources":["webpack://client-app/./node_modules/aurelia-dialog/dist/native-modules/aurelia-dialog.js","webpack://client-app/./node_modules/aurelia-dialog/dist/native-modules/chunk.js"],"sourcesContent":["import { a as Renderer, b as createDialogCancelError, c as invokeLifecycle, d as DialogController } from './chunk.js';\nexport { d as DialogController, a as Renderer, b as createDialogCancelError, e as createDialogCloseError } from './chunk.js';\nimport { DOM } from 'aurelia-pal';\nimport { Container } from 'aurelia-dependency-injection';\nimport { ViewSlot, CompositionEngine } from 'aurelia-templating';\n\nvar DefaultDialogSettings = (function () {\r\n function DefaultDialogSettings() {\r\n this.lock = true;\r\n this.startingZIndex = 1000;\r\n this.centerHorizontalOnly = false;\r\n this.rejectOnCancel = false;\r\n this.ignoreTransitions = false;\r\n this.restoreFocus = function (lastActiveElement) { return lastActiveElement.focus(); };\r\n }\r\n return DefaultDialogSettings;\r\n}());\n\nvar RENDERRERS = {\r\n ux: function () { return import('./ux-dialog-renderer.js').then(function (m) { return m.DialogRenderer; }); },\r\n native: function () { return import('./native-dialog-renderer.js').then(function (m) { return m.NativeDialogRenderer; }); }\r\n};\r\nvar DEFAULT_RESOURCES = {\r\n 'ux-dialog': function () { return import('./ux-dialog.js').then(function (m) { return m.UxDialog; }); },\r\n 'ux-dialog-header': function () { return import('./ux-dialog-header.js').then(function (m) { return m.UxDialogHeader; }); },\r\n 'ux-dialog-body': function () { return import('./ux-dialog-body.js').then(function (m) { return m.UxDialogBody; }); },\r\n 'ux-dialog-footer': function () { return import('./ux-dialog-footer.js').then(function (m) { return m.UxDialogFooter; }); },\r\n 'attach-focus': function () { return import('./attach-focus.js').then(function (m) { return m.AttachFocus; }); }\r\n};\r\nvar DEFAULT_CSS_TEXT = function () { return import('./default-styles.js').then(function (cssM) { return cssM['default']; }); };\r\nvar DialogConfiguration = (function () {\r\n function DialogConfiguration(frameworkConfiguration, applySetter) {\r\n var _this = this;\r\n this.renderer = 'ux';\r\n this.cssText = DEFAULT_CSS_TEXT;\r\n this.resources = [];\r\n this.fwConfig = frameworkConfiguration;\r\n this.settings = frameworkConfiguration.container.get(DefaultDialogSettings);\r\n applySetter(function () { return _this._apply(); });\r\n }\r\n DialogConfiguration.prototype._apply = function () {\r\n var _this = this;\r\n var renderer = this.renderer;\r\n var cssText = this.cssText;\r\n return Promise\r\n .all([\r\n typeof renderer === 'string' ? RENDERRERS[renderer]() : renderer,\r\n cssText\r\n ? typeof cssText === 'string'\r\n ? cssText\r\n : cssText()\r\n : ''\r\n ])\r\n .then(function (_a) {\r\n var rendererImpl = _a[0], $cssText = _a[1];\r\n var fwConfig = _this.fwConfig;\r\n fwConfig.transient(Renderer, rendererImpl);\r\n if ($cssText) {\r\n DOM.injectStyles($cssText);\r\n }\r\n return Promise\r\n .all(_this.resources.map(function (name) { return DEFAULT_RESOURCES[name](); }))\r\n .then(function (modules) {\r\n fwConfig.globalResources(modules);\r\n });\r\n });\r\n };\r\n DialogConfiguration.prototype.useDefaults = function () {\r\n return this\r\n .useRenderer('ux')\r\n .useCSS(DEFAULT_CSS_TEXT)\r\n .useStandardResources();\r\n };\r\n DialogConfiguration.prototype.useStandardResources = function () {\r\n Object.keys(DEFAULT_RESOURCES).forEach(this.useResource, this);\r\n return this;\r\n };\r\n DialogConfiguration.prototype.useResource = function (resourceName) {\r\n this.resources.push(resourceName);\r\n return this;\r\n };\r\n DialogConfiguration.prototype.useRenderer = function (renderer, settings) {\r\n this.renderer = renderer;\r\n if (settings) {\r\n Object.assign(this.settings, settings);\r\n }\r\n return this;\r\n };\r\n DialogConfiguration.prototype.useCSS = function (cssText) {\r\n this.cssText = cssText;\r\n return this;\r\n };\r\n return DialogConfiguration;\r\n}());\n\nfunction whenClosed(onfulfilled, onrejected) {\r\n return this.then(function (r) { return r.wasCancelled ? r : r.closeResult; }).then(onfulfilled, onrejected);\r\n}\r\nfunction asDialogOpenPromise(promise) {\r\n promise.whenClosed = whenClosed;\r\n return promise;\r\n}\r\nvar DialogService = (function () {\r\n function DialogService(container, compositionEngine, defaultSettings) {\r\n this.controllers = [];\r\n this.hasOpenDialog = false;\r\n this.hasActiveDialog = false;\r\n this.container = container;\r\n this.compositionEngine = compositionEngine;\r\n this.defaultSettings = defaultSettings;\r\n }\r\n DialogService.prototype.validateSettings = function (settings) {\r\n if (!settings.viewModel && !settings.view) {\r\n throw new Error('Invalid Dialog Settings. You must provide \"viewModel\", \"view\" or both.');\r\n }\r\n };\r\n DialogService.prototype.createCompositionContext = function (childContainer, host, settings) {\r\n return {\r\n container: childContainer.parent,\r\n childContainer: childContainer,\r\n bindingContext: null,\r\n viewResources: null,\r\n model: settings.model,\r\n view: settings.view,\r\n viewModel: settings.viewModel,\r\n viewSlot: new ViewSlot(host, true),\r\n host: host\r\n };\r\n };\r\n DialogService.prototype.ensureViewModel = function (compositionContext) {\r\n if (typeof compositionContext.viewModel === 'object') {\r\n return Promise.resolve(compositionContext);\r\n }\r\n return this.compositionEngine.ensureViewModel(compositionContext);\r\n };\r\n DialogService.prototype._cancelOperation = function (rejectOnCancel) {\r\n if (!rejectOnCancel) {\r\n return { wasCancelled: true };\r\n }\r\n throw createDialogCancelError();\r\n };\r\n DialogService.prototype.composeAndShowDialog = function (compositionContext, dialogController) {\r\n var _this = this;\r\n if (!compositionContext.viewModel) {\r\n compositionContext.bindingContext = { controller: dialogController };\r\n }\r\n return this.compositionEngine\r\n .compose(compositionContext)\r\n .then(function (controller) {\r\n dialogController.controller = controller;\r\n return dialogController.renderer\r\n .showDialog(dialogController)\r\n .then(function () {\r\n _this.controllers.push(dialogController);\r\n _this.hasActiveDialog = _this.hasOpenDialog = !!_this.controllers.length;\r\n }, function (reason) {\r\n if (controller.viewModel) {\r\n invokeLifecycle(controller.viewModel, 'deactivate');\r\n }\r\n return Promise.reject(reason);\r\n });\r\n });\r\n };\r\n DialogService.prototype.createSettings = function (settings) {\r\n settings = Object.assign({}, this.defaultSettings, settings);\r\n if (typeof settings.keyboard !== 'boolean' && !settings.keyboard) {\r\n settings.keyboard = !settings.lock;\r\n }\r\n if (typeof settings.overlayDismiss !== 'boolean') {\r\n settings.overlayDismiss = !settings.lock;\r\n }\r\n Object.defineProperty(settings, 'rejectOnCancel', {\r\n writable: false,\r\n configurable: true,\r\n enumerable: true\r\n });\r\n this.validateSettings(settings);\r\n return settings;\r\n };\r\n DialogService.prototype.open = function (settings) {\r\n var _this = this;\r\n if (settings === void 0) { settings = {}; }\r\n settings = this.createSettings(settings);\r\n var childContainer = settings.childContainer || this.container.createChild();\r\n var resolveCloseResult;\r\n var rejectCloseResult;\r\n var closeResult = new Promise(function (resolve, reject) {\r\n resolveCloseResult = resolve;\r\n rejectCloseResult = reject;\r\n });\r\n var dialogController = childContainer.invoke(DialogController, [settings, resolveCloseResult, rejectCloseResult]);\r\n childContainer.registerInstance(DialogController, dialogController);\r\n closeResult.then(function () {\r\n removeController(_this, dialogController);\r\n }, function () {\r\n removeController(_this, dialogController);\r\n });\r\n var compositionContext = this.createCompositionContext(childContainer, dialogController.renderer.getDialogContainer(), dialogController.settings);\r\n var openResult = this.ensureViewModel(compositionContext).then(function (compositionContext) {\r\n if (!compositionContext.viewModel) {\r\n return true;\r\n }\r\n return invokeLifecycle(compositionContext.viewModel, 'canActivate', dialogController.settings.model);\r\n }).then(function (canActivate) {\r\n if (!canActivate) {\r\n return _this._cancelOperation(dialogController.settings.rejectOnCancel);\r\n }\r\n return _this.composeAndShowDialog(compositionContext, dialogController)\r\n .then(function () { return ({ controller: dialogController, closeResult: closeResult, wasCancelled: false }); });\r\n });\r\n return asDialogOpenPromise(openResult);\r\n };\r\n DialogService.prototype.closeAll = function () {\r\n return Promise.all(this.controllers.slice(0).map(function (controller) {\r\n if (!controller.settings.rejectOnCancel) {\r\n return controller.cancel().then(function (result) {\r\n if (result.wasCancelled) {\r\n return controller;\r\n }\r\n return null;\r\n });\r\n }\r\n return controller.cancel().then(function () { return null; }).catch(function (reason) {\r\n if (reason.wasCancelled) {\r\n return controller;\r\n }\r\n throw reason;\r\n });\r\n })).then(function (unclosedControllers) { return unclosedControllers.filter(function (unclosed) { return !!unclosed; }); });\r\n };\r\n DialogService.inject = [Container, CompositionEngine, DefaultDialogSettings];\r\n return DialogService;\r\n}());\r\nfunction removeController(service, dialogController) {\r\n var i = service.controllers.indexOf(dialogController);\r\n if (i !== -1) {\r\n service.controllers.splice(i, 1);\r\n service.hasActiveDialog = service.hasOpenDialog = !!service.controllers.length;\r\n }\r\n}\n\nfunction configure(frameworkConfig, callback) {\r\n var applyConfig = null;\r\n var config = new DialogConfiguration(frameworkConfig, function (apply) { applyConfig = apply; });\r\n if (typeof callback === 'function') {\r\n callback(config);\r\n }\r\n else {\r\n config.useDefaults();\r\n }\r\n return applyConfig();\r\n}\n\nexport { DefaultDialogSettings, DialogConfiguration, DialogService, configure };\n//# sourceMappingURL=aurelia-dialog.js.map\n","var Renderer = (function () {\r\n function Renderer() {\r\n }\r\n Renderer.prototype.getDialogContainer = function () {\r\n throw new Error('DialogRenderer must implement getDialogContainer().');\r\n };\r\n Renderer.prototype.showDialog = function (dialogController) {\r\n throw new Error('DialogRenderer must implement showDialog().');\r\n };\r\n Renderer.prototype.hideDialog = function (dialogController) {\r\n throw new Error('DialogRenderer must implement hideDialog().');\r\n };\r\n return Renderer;\r\n}());\n\nfunction createDialogCancelError(output) {\r\n var error = new Error('Operation cancelled.');\r\n error.wasCancelled = true;\r\n error.output = output;\r\n return error;\r\n}\n\nfunction createDialogCloseError(output) {\r\n var error = new Error();\r\n error.wasCancelled = false;\r\n error.output = output;\r\n return error;\r\n}\n\nfunction invokeLifecycle(instance, name, model) {\r\n if (typeof instance[name] === 'function') {\r\n return new Promise(function (resolve) {\r\n resolve(instance[name](model));\r\n }).then(function (result) {\r\n if (result !== null && result !== undefined) {\r\n return result;\r\n }\r\n return true;\r\n });\r\n }\r\n return Promise.resolve(true);\r\n}\n\nvar DialogController = (function () {\r\n function DialogController(renderer, settings, resolve, reject) {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n this.settings = settings;\r\n this.renderer = renderer;\r\n }\r\n DialogController.prototype.releaseResources = function (result) {\r\n var _this = this;\r\n return invokeLifecycle(this.controller.viewModel || {}, 'deactivate', result)\r\n .then(function () { return _this.renderer.hideDialog(_this); })\r\n .then(function () {\r\n _this.controller.unbind();\r\n });\r\n };\r\n DialogController.prototype.cancelOperation = function () {\r\n if (!this.settings.rejectOnCancel) {\r\n return { wasCancelled: true };\r\n }\r\n throw createDialogCancelError();\r\n };\r\n DialogController.prototype.ok = function (output) {\r\n return this.close(true, output);\r\n };\r\n DialogController.prototype.cancel = function (output) {\r\n return this.close(false, output);\r\n };\r\n DialogController.prototype.error = function (output) {\r\n var _this = this;\r\n var closeError = createDialogCloseError(output);\r\n return this.releaseResources(closeError).then(function () { _this.reject(closeError); });\r\n };\r\n DialogController.prototype.close = function (ok, output) {\r\n var _this = this;\r\n if (this.closePromise) {\r\n return this.closePromise;\r\n }\r\n var dialogResult = { wasCancelled: !ok, output: output };\r\n return this.closePromise = invokeLifecycle(this.controller.viewModel || {}, 'canDeactivate', dialogResult)\r\n .catch(function (reason) {\r\n _this.closePromise = undefined;\r\n return Promise.reject(reason);\r\n }).then(function (canDeactivate) {\r\n if (!canDeactivate) {\r\n _this.closePromise = undefined;\r\n return _this.cancelOperation();\r\n }\r\n return _this.releaseResources(dialogResult).then(function () {\r\n if (!_this.settings.rejectOnCancel || ok) {\r\n _this.resolve(dialogResult);\r\n }\r\n else {\r\n _this.reject(createDialogCancelError(output));\r\n }\r\n return { wasCancelled: false };\r\n }).catch(function (reason) {\r\n _this.closePromise = undefined;\r\n return Promise.reject(reason);\r\n });\r\n });\r\n };\r\n DialogController.inject = [Renderer];\r\n return DialogController;\r\n}());\n\nexport { Renderer as a, createDialogCancelError as b, invokeLifecycle as c, DialogController as d, createDialogCloseError as e };\n//# sourceMappingURL=chunk.js.map\n"],"names":["DefaultDialogSettings","this","lock","startingZIndex","centerHorizontalOnly","rejectOnCancel","ignoreTransitions","restoreFocus","lastActiveElement","focus","RENDERRERS","ux","then","m","DialogRenderer","native","NativeDialogRenderer","DEFAULT_RESOURCES","UxDialog","UxDialogHeader","UxDialogBody","UxDialogFooter","AttachFocus","DEFAULT_CSS_TEXT","cssM","DialogConfiguration","frameworkConfiguration","applySetter","_this","renderer","cssText","resources","fwConfig","settings","container","get","_apply","prototype","Promise","all","_a","rendererImpl","$cssText","transient","map","name","modules","globalResources","useDefaults","useRenderer","useCSS","useStandardResources","Object","keys","forEach","useResource","resourceName","push","assign","whenClosed","onfulfilled","onrejected","r","wasCancelled","closeResult","DialogService","compositionEngine","defaultSettings","controllers","hasOpenDialog","hasActiveDialog","validateSettings","viewModel","view","Error","createCompositionContext","childContainer","host","parent","bindingContext","viewResources","model","viewSlot","ensureViewModel","compositionContext","resolve","_cancelOperation","composeAndShowDialog","dialogController","controller","compose","showDialog","length","reason","reject","createSettings","keyboard","overlayDismiss","defineProperty","writable","configurable","enumerable","open","resolveCloseResult","rejectCloseResult","createChild","invoke","registerInstance","removeController","promise","getDialogContainer","canActivate","closeAll","slice","cancel","catch","result","unclosedControllers","filter","unclosed","inject","service","i","indexOf","splice","configure","frameworkConfig","callback","applyConfig","config","apply","Renderer","hideDialog","createDialogCancelError","output","error","createDialogCloseError","invokeLifecycle","instance","DialogController","releaseResources","unbind","cancelOperation","ok","close","closeError","closePromise","dialogResult","undefined","canDeactivate"],"sourceRoot":""}