{"version":3,"file":"Modal.js","sources":["requirejs/UI/Modal.js"],"sourcesContent":["define([\"require\", \"exports\", \"knockout\", \"UI/Templates\"], function (require, exports, ko, Templates_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.Modal = exports.ConfirmationType = void 0;\n var ConfirmationType;\n (function (ConfirmationType) {\n ConfirmationType[ConfirmationType[\"Success\"] = 0] = \"Success\";\n ConfirmationType[ConfirmationType[\"Warning\"] = 1] = \"Warning\";\n ConfirmationType[ConfirmationType[\"Error\"] = 2] = \"Error\";\n })(ConfirmationType = exports.ConfirmationType || (exports.ConfirmationType = {}));\n class Modal {\n constructor(data) {\n var _a;\n this.Close = () => {\n if (this.IsOpen())\n $(\"#\" + this.Id).modal(\"hide\");\n };\n this.Open = () => {\n if (this.IsOpen())\n return;\n this.IsOpen(true);\n if (!this.Initialized() || this.DestroyOnClose()) {\n this.Initialize().then(() => this.Modal.modal('show'));\n }\n else {\n this.Modal.modal('show');\n }\n };\n this.OpenHidden = () => {\n if (!this.Initialized()) {\n this.Initialize();\n }\n return this;\n };\n this.Initialize = () => {\n if ($(\"#modal-\" + this.Id)[0] == null)\n $(\"body\").append($(\"
\").attr(\"id\", \"modal-\" + this.Id));\n return Templates_1.default.LoadTemplate(\"/areas/cms/templates/modal.html\")\n .done(() => {\n var html = $(\"
\").attr(\"data-bind\", \"loadTemplate: { name: '/areas/cms/templates/modal.html', data: $data }\");\n $(\"#modal-\" + this.Id).html(html);\n ko.applyBindings(this, document.getElementById(\"modal-\" + this.Id));\n var modal = $(\"#\" + this.Id)\n .on(\"show.bs.modal\", () => {\n if (this.OnShow() != null)\n this.OnShow()();\n })\n .on(\"shown.bs.modal\", event => {\n $(event.target).find(\":input:not(:button):first\").focus();\n if (this.OnShown() != null)\n this.OnShown()();\n })\n .on(\"hide.bs.modal\", () => {\n this.IsOpen(false);\n if (this.OnHide() != null)\n this.OnHide()();\n })\n .on(\"hidden.bs.modal\", () => {\n if (this.OnHidden() != null)\n this.OnHidden()();\n $(\"#Modal\").find(\".modal\")\n .off(\"show.bs.modal\")\n .off(\"shown.bs.modal\")\n .off(\"hide.bs.modal\")\n .off(\"hidden.bs.modal\");\n if (this.DestroyOnClose()) {\n $(\"#modal-\" + this.Id).remove();\n }\n });\n this.Modal = modal;\n this.Initialized(true);\n });\n };\n this.ConfigModal = (config) => {\n this.Modal.modal(config);\n };\n data = $.extend({}, {\n Title: null,\n BodyTemplates: null,\n Body: null,\n FooterTemplates: null,\n FooterButtons: null,\n ModalContainerClass: null,\n ModalCssClass: \"modal-lg\",\n OnShow: null,\n OnHide: null,\n OnShown: null,\n OnHidden: null,\n DestroyOnClose: true,\n InitializedHandler: () => { }\n }, data || {});\n (_a = data === null || data === void 0 ? void 0 : data.BodyTemplates) === null || _a === void 0 ? void 0 : _a.forEach((template) => {\n if (!template.Data) {\n template.Data = this;\n }\n });\n this.Title = ko.observable(data.Title);\n this.Body = ko.observable(data.Body);\n this.BodyTemplates = ko.observableArray(data.BodyTemplates);\n this.FooterTemplates = ko.observableArray(data.FooterTemplates);\n this.FooterButtons = ko.observableArray(data.FooterButtons);\n this.ModalContainerCssClass = ko.observable(data.ModalContainerCssClass);\n this.ModalCssClass = ko.observable(data.ModalCssClass);\n this.OnShow = ko.observable(data.OnShow);\n this.OnHide = ko.observable(data.OnHide);\n this.OnShown = ko.observable(data.OnShown);\n this.OnHidden = ko.observable(data.OnHidden);\n this.IsOpen = ko.observable(false);\n this.DestroyOnClose = ko.observable(data.DestroyOnClose);\n this.AutoClose = ko.observable(false);\n this.Id = createGuid();\n this.Initialized = ko.observable(false);\n this.Initialized.subscribe(data.InitializedHandler);\n this.Modal = {};\n this.AutoClose.subscribe((value) => {\n if (value) {\n setTimeout(() => { $(\"#\" + this.Id).modal(\"hide\"); }, 5000);\n }\n });\n }\n }\n exports.Modal = Modal;\n});\n//# sourceMappingURL=Modal.js.map"],"names":["define","require","exports","ko","Templates_1","ConfirmationType","Object","defineProperty","value","Modal","constructor","data","_a","this","Close","IsOpen","$","Id","modal","Open","Initialized","DestroyOnClose","Initialize","then","OpenHidden","append","attr","default","LoadTemplate","done","html","applyBindings","document","getElementById","on","OnShow","event","target","find","focus","OnShown","OnHide","OnHidden","off","remove","ConfigModal","config","extend","Title","BodyTemplates","Body","FooterTemplates","FooterButtons","ModalContainerClass","ModalCssClass","InitializedHandler","forEach","template","Data","observable","observableArray","ModalContainerCssClass","AutoClose","createGuid","subscribe","setTimeout"],"mappings":"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"}