{"version":3,"file":"vendor.aurelia-dialog.9aa0dd1552dc02df.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","injectStyles","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":""}