{"version":3,"file":"overlay.js","mappings":"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","sources":["webpack://d3r-core/./resources/javascript/v2/src/Overlay/Events.js","webpack://d3r-core/./resources/javascript/v2/src/Overlay/ConfigBuilder.js","webpack://d3r-core/./resources/javascript/v2/src/Overlay/Overlay.js","webpack://d3r-core/./resources/javascript/v2/overlay.js"],"sourcesContent":["/**\n * Event types for changes\n */\nconst Events = {\n    OPEN: 'd3r.overlay.open',\n};\n\nexport default Events;\n","export default class ConfigBuilder\n{\n    constructor(element)\n    {\n        this.element = element;\n    }\n\n    get config()\n    {\n        let config = {\n            \"wait_for_scripts\": true,\n            \"escape_to_close\": true,\n            \"modifiers\": [],\n        };\n\n        if (this.crossTransition) {\n            config.cross_transition = true;\n        }\n\n        if (this.modifiers) {\n            config.modifiers = this.modifiers.split(',');\n        }\n        if (this.method) {\n            config.method = this.method;\n        }\n\n        if (this.callback) {\n            config.callback = this.callback;\n        }\n\n        if (this.moveDom) {\n            config.move_dom = true;\n        }\n\n        return config;\n    }\n\n    get crossTransition()\n    {\n        if (this.element.hasAttribute('data-cross-transition')) {\n            return true;\n        }\n\n        return false;\n    }\n\n    get modifiers()\n    {\n        if (this.element.hasAttribute('data-modifiers')) {\n            return this.element.getAttribute('data-modifiers');\n        }\n\n        return null;\n    }\n\n    get method()\n    {\n        if (this.element.tagName == 'FORM' && this.element.hasAttribute('method')) {\n            return this.element.getAttribute('method').toUpperCase();\n        }\n\n        return null;\n    }\n\n    /**\n     * Should we move the actual DOM nodes into the overlay?\n     *\n     * @return {boolean}\n     */\n    get moveDom()\n    {\n        return this.element.hasAttribute('data-move-dom');\n    }\n}\n","import ConfigBuilder from \"./ConfigBuilder\";\nimport Events from \"./Events\";\n\nexport default class Overlay extends EventTarget\n{\n    constructor()\n    {\n        super();\n        this.bind();\n    }\n\n    bind()\n    {\n        D3R.plugins.delegate(document, 'click', 'a[data-overlay]', (e) => {\n            e.preventDefault();\n\n            let self = this;\n            let target = e.closest;\n            let configBuilder = new ConfigBuilder(target);\n            configBuilder.callback = function(callbackEvent) {\n                self.onOpen(this, e, callbackEvent);\n            };\n\n            if (target.hasAttribute('data-target')) {\n                window.Overlay.render(target.getAttribute('data-target'), configBuilder.config);\n            } else if (target.hasAttribute('href') && target.getAttribute('href') != '#') {\n                window.Overlay.load(target.getAttribute('href'), configBuilder.config);\n            }\n        });\n\n        D3R.plugins.delegate(document, 'submit', 'form[data-overlay]', (e) => {\n            e.preventDefault();\n\n            let self = this;\n            let target = e.closest;\n            let configBuilder = new ConfigBuilder(target);\n            configBuilder.callback = function(callbackEvent) {\n                self.onOpen(this, e, callbackEvent);\n            };\n\n            let config = configBuilder.config;\n            let action = target.getAttribute('action');\n\n            let formData = new FormData(target);\n\n            // FormData does not include the value from the submit button by default\n            if (e.submitter) {\n                formData.append(e.submitter.name, e.submitter.value);\n            }\n\n            let params = new URLSearchParams(formData);\n\n            if (config.method == 'POST') {\n                config.data = params.toString();\n            } else {\n                action += '?' + params.toString();\n            }\n\n            window.Overlay.load(action, config);\n        });\n    }\n\n    onOpen(overlay, originalEvent, callbackEvent)\n    {\n        overlay.content.querySelectorAll('form[data-reset]').forEach(form => form.reset())\n\n        var event = new CustomEvent(Events.OPEN, {\n            bubbles: true,\n            detail: {\n                originalEvent: originalEvent,\n                callbackEvent: callbackEvent,\n                overlay: overlay\n            }\n        });\n\n        this.dispatchEvent(event);\n    }\n}\n","import Events from \"./src/Overlay/Events\";\nimport Overlay from \"./src/Overlay/Overlay\";\n\nwindow.D3R = window.D3R || {};\nwindow.D3R.Overlay = new Overlay();\nwindow.D3R.Overlay.Events = Events;\n"],"names":["Overlay_Events","OPEN","ConfigBuilder","element","_classCallCheck","this","key","get","config","wait_for_scripts","escape_to_close","modifiers","crossTransition","cross_transition","split","method","callback","moveDom","move_dom","hasAttribute","getAttribute","tagName","toUpperCase","Overlay","_EventTarget","_this","_callSuper","bind","_inherits","value","_this2","D3R","plugins","delegate","document","e","preventDefault","self","target","closest","configBuilder","callbackEvent","onOpen","window","render","load","action","formData","FormData","submitter","append","name","params","URLSearchParams","data","toString","overlay","originalEvent","content","querySelectorAll","forEach","form","reset","event","CustomEvent","Events","bubbles","detail","dispatchEvent","_wrapNativeSuper","EventTarget"],"sourceRoot":""}