{"version":3,"sources":["components/modal.js"],"names":["dmx","Component","attributes","nobackdrop","type","Boolean","default","nokeyboard","nofocus","show","methods","toggle","jQuery","this","$node","modal","hide","update","events","Event","shown","hidden","render","node","$parse","on","dispatchEvent","bind","props","JSON","stringify","backdrop","keyboard","focus","beforeDestroy","off"],"mappings":";;;;;;AAAAA,IAAAC,UAAA,aAEAC,YACAC,YACAC,KAAAC,QACAC,SAAA,GAGAC,YACAH,KAAAC,QACAC,SAAA,GAGAE,SACAJ,KAAAC,QACAC,SAAA,GAGAG,MACAL,KAAAC,QACAC,SAAA,IAIAI,SACAC,OAAA,WACAC,OAAAC,KAAAC,OAAAC,MAAA,WAGAN,KAAA,WACAG,OAAAC,KAAAC,OAAAC,MAAA,SAGAC,KAAA,WACAJ,OAAAC,KAAAC,OAAAC,MAAA,SAGAE,OAAA,WACAL,OAAAC,KAAAC,OAAAC,MAAA,kBAIAG,QACAT,KAAAU,MACAC,MAAAD,MACAH,KAAAG,MACAE,OAAAF,OAGAG,OAAA,SAAAC,GACAV,KAAAC,MAAAS,EACAV,KAAAW,SAEAZ,OAAAW,GAAAE,GAAA,gBAAAZ,KAAAa,cAAAC,KAAAd,KAAA,SACAD,OAAAW,GAAAE,GAAA,iBAAAZ,KAAAa,cAAAC,KAAAd,KAAA,UACAD,OAAAW,GAAAE,GAAA,gBAAAZ,KAAAa,cAAAC,KAAAd,KAAA,SACAD,OAAAW,GAAAE,GAAA,kBAAAZ,KAAAa,cAAAC,KAAAd,KAAA,WAEAA,KAAAI,YAGAA,OAAA,SAAAW,GACAC,KAAAC,UAAAF,IAAAC,KAAAC,UAAAjB,KAAAe,QACAhB,OAAAC,KAAAC,OAAAC,OACAgB,UAAAlB,KAAAe,MAAAzB,WACA6B,UAAAnB,KAAAe,MAAArB,WACA0B,OAAApB,KAAAe,MAAApB,QACAC,OAAAI,KAAAe,MAAAnB,QAKAyB,cAAA,WACAtB,OAAAC,KAAAC,OAAAqB,IAAA,aACAvB,OAAAC,KAAAC,OAAAC,MAAA","file":"../dmxBootstrap4Modal/dmxBootstrap4Modal.js","sourcesContent":["dmx.Component('bs4-modal', {\r\n\r\n    attributes: {\r\n        nobackdrop: {\r\n            type: Boolean,\r\n            default: false\r\n        },\r\n\r\n        nokeyboard: {\r\n            type: Boolean,\r\n            default: false\r\n        },\r\n\r\n        nofocus: {\r\n            type: Boolean,\r\n            default: false\r\n        },\r\n\r\n        show: {\r\n            type: Boolean,\r\n            default: false\r\n        }\r\n    },\r\n\r\n    methods: {\r\n        toggle: function() {\r\n            jQuery(this.$node).modal('toggle');\r\n        },\r\n\r\n        show: function() {\r\n            jQuery(this.$node).modal('show');\r\n        },\r\n\r\n        hide: function() {\r\n            jQuery(this.$node).modal('hide');\r\n        },\r\n\r\n        update: function() {\r\n            jQuery(this.$node).modal('handleUpdate');\r\n        }\r\n    },\r\n\r\n    events: {\r\n        show: Event,\r\n        shown: Event,\r\n        hide: Event,\r\n        hidden: Event\r\n    },\r\n\r\n    render: function(node) {\r\n        this.$node = node;\r\n        this.$parse();\r\n\r\n        jQuery(node).on('show.bs.modal', this.dispatchEvent.bind(this, 'show'));\r\n        jQuery(node).on('shown.bs.modal', this.dispatchEvent.bind(this, 'shown'));\r\n        jQuery(node).on('hide.bs.modal', this.dispatchEvent.bind(this, 'hide'));\r\n        jQuery(node).on('hidden.bs.modal', this.dispatchEvent.bind(this, 'hidden'));\r\n\r\n        this.update({});\r\n    },\r\n\r\n    update: function(props) {\r\n        if (JSON.stringify(props) != JSON.stringify(this.props)) {\r\n            jQuery(this.$node).modal({\r\n                backdrop: !this.props.nobackdrop,\r\n                keyboard: !this.props.nokeyboard,\r\n                focus: !this.props.nofocus,\r\n                show: !!this.props.show\r\n            });\r\n        }\r\n    },\r\n\r\n    beforeDestroy: function() {\r\n        jQuery(this.$node).off('.bs.modal');\r\n        jQuery(this.$node).modal('dispose');\r\n    }\r\n\r\n});\r\n"]}