{"version":3,"file":"ModalDialog.js","names":["defineDs","m","Utils","Button","Svg","ModalDialog","template","options","buttons","map","button","extend","text","callback","close","size","color","disabled","prop","shouldBeComponent","closable","stackButtons","readMore","subText","class","controller","renderFunction","ctrlOrHandleClose","registerElementOrVnode","handleClose","iosPositionFix","registerElement","$overlayElement","window","scroll","top","behavior","ignoredError","obj","concat","ModalDialogObj","join","config","element","id","onclick","width","height","Array","isArray","filter","uiTestId","loading","default","eventId","bind","url","title","href","renderKey"],"sources":["DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog.js"],"sourcesContent":["defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Components/Button',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg'\r\n], function (m, Utils, Button, Svg) {\r\n 'use strict';\r\n\r\n var ModalDialog = function (template, options) {\r\n\r\n options.buttons = options.buttons ? options.buttons.map(function (button) {\r\n return Utils.extend(true, {\r\n text: 'Test button',\r\n callback: function (close) {\r\n close();\r\n },\r\n size: 'large',\r\n color: 'primary',\r\n disabled: m.prop(false)\r\n }, button);\r\n }) : options.buttons;\r\n\r\n options = Utils.extend(true, {\r\n shouldBeComponent: false,\r\n closable: true,\r\n stackButtons: false,\r\n buttons: [],\r\n readMore: {},\r\n subText: null,\r\n class: [],\r\n controller: options.controller ? options.controller : null\r\n }, options);\r\n\r\n var renderFunction = function (ctrlOrHandleClose, registerElementOrVnode) {\r\n\r\n var handleClose = function () {\r\n options.iosPositionFix = false;\r\n return (options.shouldBeComponent ? ctrlOrHandleClose.handleClose() : ctrlOrHandleClose());\r\n };\r\n var registerElement = options.shouldBeComponent ? ctrlOrHandleClose.$overlayElement : registerElementOrVnode;\r\n\r\n if (options.iosPositionFix) {\r\n try {\r\n window.scroll({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n } catch (ignoredError) {\r\n // Older browsers does not support the object signature.\r\n window.scroll(0, 0);\r\n }\r\n }\r\n\r\n return m('div', (function () {\r\n var obj = {\r\n class: [\r\n 'ds-modal-frame',\r\n 'is--shown',\r\n (options.iosPositionFix ? 'ds-modal-frame--ios-position-fix' : '')\r\n ].concat(options.class, ModalDialogObj.class()).join(' '),\r\n config: function (element) {\r\n registerElement(element);\r\n }\r\n };\r\n if (options.id) {\r\n obj.id = options.id;\r\n }\r\n return obj;\r\n })(), [\r\n m('div', {\r\n class: 'ds-modal-wrap'\r\n }, [\r\n options.closable ?\r\n Svg('close', {\r\n onclick: handleClose,\r\n width: '18px',\r\n height: '18px',\r\n class: 'ds-modal--close sprite-symbol'\r\n }) : '',\r\n m('div', {\r\n class: 'ds-modal-content'\r\n }, [\r\n m('div', {\r\n class: 'ds-modal-html'\r\n }, Array.isArray(template) ? template : [template]),\r\n\r\n m('.button-row', { class: options.stackButtons ? 'button-row--stack' : '' }, options.buttons ? options.buttons.filter(function (button) {\r\n return button != null;\r\n }).map(function (button) {\r\n return m(Button, {\r\n uiTestId: button.uiTestId,\r\n id: button.id,\r\n loading: button.loading,\r\n color: button.color,\r\n size: button.size,\r\n class: button.class,\r\n disabled: button.disabled(),\r\n text: { default: button.text },\r\n eventId: button.eventId,\r\n onclick: function () {\r\n if (!button.disabled()) {\r\n button.callback.bind(this, handleClose)();\r\n }\r\n }\r\n });\r\n }) : ''),\r\n (options.readMore.url && options.readMore.title) ? m('a', { href: options.readMore.url, class: 'ds-modal-link' }, [\r\n options.readMore.title\r\n ]) : null,\r\n options.subText ? m('small', {\r\n class: 'ds-modal-subtext'\r\n }, options.subText) : ''\r\n ])\r\n ])\r\n ]);\r\n };\r\n\r\n var ModalDialogObj = {\r\n controller: options.controller ? options.controller : null,\r\n class: m.prop('ds-modal-frame')\r\n };\r\n\r\n var renderKey = options.shouldBeComponent ? 'view' : 'render';\r\n\r\n ModalDialogObj[renderKey] = renderFunction;\r\n\r\n return ModalDialogObj;\r\n };\r\n\r\n return ModalDialog;\r\n});\r\n"],"mappings":"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","ignoreList":[]}