{"version":3,"sources":["core/bootbox.js","actions/bootbox.js","components/bootbox.js"],"names":["dmx","bootbox","convertOptions","options","type","opts","backdrop","body","message","center","centerVertical","fade","animate","keyboard","onEscape","scrollable","showHeaderClose","closeButton","size","swapButtonOrder","title","buttons","ok","convertButtonOptions","confirm","okButton","cancel","inputType","input","multiple","required","inputOptions","map","option","value","text","join","index","rows","placeholder","autocomplete","minlength","maxlength","min","max","step","pattern","trim","label","className","style","slice","Actions","modbox","alert","this","parse","info","success","warning","danger","condition","then","Object","assign","else","_exec","catch","err","console","error","extend","destroyOnClose","defaultButton","button","Promise","resolve","box","inputEl","modalEl","querySelector","checked","close","callback","reportValidity","nodeName","Array","from","selectedOptions","checkedEl","querySelectorAll","el","hide","okBtn","addButton","addEventListener","event","key","click","addEvent","show","Component","methods"],"mappings":"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","file":"dmxBootbox5.js","sourcesContent":["dmx.bootbox = dmx.bootbox || {};\r\n\r\ndmx.bootbox.convertOptions = function (options, type = 'alert') {\r\n const opts = {\r\n backdrop: 'static',\r\n body: options.message,\r\n center: options.centerVertical == true,\r\n fade: options.animate !== false,\r\n keyboard: options.onEscape !== false,\r\n scrollable: options.scrollable === true,\r\n showHeaderClose: options.closeButton !== false,\r\n size: options.size,\r\n swapButtonOrder: options.swapButtonOrder === true,\r\n title: options.title,\r\n };\r\n\r\n if (options.backdrop === true || options.backdrop === 'true') {\r\n opts.backdrop = true;\r\n } else if (options.backdrop === false || options.backdrop === 'false') {\r\n opts.backdrop = false;\r\n }\r\n\r\n if (options.buttons) {\r\n switch (type) {\r\n case 'alert':\r\n if (options.buttons.ok) {\r\n opts.closeButton = dmx.bootbox.convertButtonOptions(options.buttons.ok);\r\n }\r\n break;\r\n\r\n case 'confirm':\r\n case 'prompt':\r\n if (options.buttons.confirm) {\r\n opts.okButton = dmx.bootbox.convertButtonOptions(options.buttons.confirm);\r\n }\r\n if (options.buttons.cancel) {\r\n opts.closeButton = dmx.bootbox.convertButtonOptions(options.buttons.cancel);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (type === 'prompt') {\r\n switch (options.inputType) {\r\n case 'select':\r\n opts.input = `\r\n \r\n `;\r\n break;\r\n\r\n case 'checkbox':\r\n case 'radio':\r\n opts.input = options.inputOptions.map((option, index) => `\r\n
\r\n \r\n \r\n
\r\n `).join('');\r\n break;\r\n\r\n case 'textarea':\r\n opts.input = `\r\n \r\n ${options.value || ''}\r\n \r\n `;\r\n break;\r\n\r\n default:\r\n opts.input = `\r\n \r\n `;\r\n break;\r\n }\r\n\r\n opts.body = `\r\n ${options.message ? `

${options.message}

` : ''}\r\n ${opts.input}\r\n `.trim();\r\n }\r\n\r\n return opts;\r\n};\r\n\r\ndmx.bootbox.convertButtonOptions = function (options) {\r\n const opts = {};\r\n if (options.label) opts.label = options.label;\r\n if (options.className) opts.style = options.className.slice(4);\r\n return opts;\r\n};","dmx.Actions({\r\n\r\n 'bootbox.alert': function (options) {\r\n return modbox.alert(dmx.bootbox.convertOptions(this.parse(options)));\r\n },\r\n\r\n 'bootbox.info': function (options) {\r\n return modbox.info(dmx.bootbox.convertOptions(this.parse(options)));\r\n },\r\n\r\n 'bootbox.success': function (options) {\r\n return modbox.success(dmx.bootbox.convertOptions(this.parse(options)));\r\n },\r\n\r\n 'bootbox.warning': function (options) {\r\n return modbox.warning(dmx.bootbox.convertOptions(this.parse(options)));\r\n },\r\n\r\n 'bootbox.danger': function (options) {\r\n return modbox.danger(dmx.bootbox.convertOptions(this.parse(options)));\r\n },\r\n\r\n 'bootbox.confirm': function (options) {\r\n options = Object.assign({}, options);\r\n\r\n const condition = {\r\n 'then': options.then,\r\n 'else': options.else,\r\n };\r\n\r\n delete options.then;\r\n delete options.else;\r\n\r\n return modbox.confirm(dmx.bootbox.convertOptions(this.parse(options), 'confirm')).then(() => {\r\n if (condition.then) {\r\n return this._exec(condition.then).then(() => true);\r\n }\r\n\r\n return true;\r\n }).catch((err) => {\r\n if (err) console.error(err);\r\n \r\n if (condition.else) {\r\n return this._exec(condition.else).then(() => false);\r\n }\r\n\r\n return false;\r\n });\r\n },\r\n\r\n 'bootbox.prompt': function (options) {\r\n const opts = dmx.extend(true, {\r\n okButton: {\r\n label: 'OK',\r\n style: 'primary',\r\n },\r\n closeButton: {\r\n label: 'Close',\r\n style: 'secondary',\r\n },\r\n }, dmx.bootbox.convertOptions(this.parse(options), 'prompt'), {\r\n destroyOnClose: true,\r\n defaultButton: false,\r\n button: [],\r\n });\r\n\r\n return new Promise(resolve => {\r\n const box = new modbox(opts);\r\n const inputEl = box.modalEl.querySelector('input,select,textarea');\r\n\r\n if (inputEl.type == 'radio') {\r\n inputEl.checked = true;\r\n }\r\n\r\n opts.okButton.close = false;\r\n opts.okButton.callback = () => {\r\n const isValid = inputEl ? inputEl.reportValidity() : true;\r\n\r\n if (isValid) {\r\n if (inputEl.nodeName == 'SELECT' && inputEl.multiple) {\r\n resolve(Array.from(inputEl.selectedOptions).map(option => option.value));\r\n } else if (inputEl.type == 'checkbox') {\r\n const checkedEl = box.modalEl.querySelectorAll('input:checked');\r\n resolve(Array.from(checkedEl).map(el => el.value));\r\n } else if (inputEl.type == 'radio') {\r\n const checkedEl = box.modalEl.querySelector('input:checked');\r\n resolve(checkedEl.value);\r\n } else {\r\n resolve(inputEl.value);\r\n }\r\n\r\n box.hide();\r\n }\r\n };\r\n\r\n const okBtn = box.addButton(opts.okButton);\r\n const closeBtn = box.addButton(opts.closeButton);\r\n\r\n if (inputEl && inputEl.nodeName == 'INPUT') {\r\n inputEl.addEventListener('keyup', event => {\r\n if (event.key == 'Enter') okBtn.click();\r\n });\r\n }\r\n\r\n box.addEvent('hide', () => resolve(null));\r\n box.show();\r\n });\r\n },\r\n\r\n});\r\n","dmx.Component('bootbox', {\r\n\r\n methods: {\r\n alert (options) {\r\n return modbox.alert(dmx.bootbox.convertOptions(options));\r\n },\r\n\r\n info (options) {\r\n return modbox.info(dmx.bootbox.convertOptions(options));\r\n },\r\n\r\n success (options) {\r\n return modbox.success(dmx.bootbox.convertOptions(options));\r\n },\r\n\r\n warning (options) {\r\n return modbox.warning(dmx.bootbox.convertOptions(options));\r\n },\r\n\r\n danger (options) {\r\n return modbox.danger(dmx.bootbox.convertOptions(options));\r\n },\r\n },\r\n\r\n});\r\n"]}