{"version":3,"sources":["components/collapse.js"],"names":["dmx","Component","initialData","collapsed","attributes","show","type","Boolean","default","methods","toggle","jQuery","this","$node","collapse","hide","events","Event","shown","hidden","render","node","$parse","on","dispatchEvent","bind","onShown","onHidden","addClass","update","set","props","toggleClass","beforeDestroy","off"],"mappings":";;;;;;AAAAA,IAAAC,UAAA,eAAA,CAEAC,YAAA,CACAC,WAAA,GAGAC,WAAA,CACAC,KAAA,CACAC,KAAAC,QACAC,SAAA,IAIAC,QAAA,CACAC,OAAA,WACAC,OAAAC,KAAAC,OAAAC,SAAA,WAGAT,KAAA,WACAM,OAAAC,KAAAC,OAAAC,SAAA,SAGAC,KAAA,WACAJ,OAAAC,KAAAC,OAAAC,SAAA,UAIAE,OAAA,CACAX,KAAAY,MACAC,MAAAD,MACAF,KAAAE,MACAE,OAAAF,OAGAG,OAAA,SAAAC,GACAT,KAAAC,MAAAQ,EACAT,KAAAU,SAEAX,OAAAU,GAAAE,GAAA,mBAAAX,KAAAY,cAAAC,KAAAb,KAAA,SACAD,OAAAU,GAAAE,GAAA,oBAAAX,KAAAY,cAAAC,KAAAb,KAAA,UACAD,OAAAU,GAAAE,GAAA,mBAAAX,KAAAY,cAAAC,KAAAb,KAAA,SACAD,OAAAU,GAAAE,GAAA,qBAAAX,KAAAY,cAAAC,KAAAb,KAAA,WAEAD,OAAAU,GAAAE,GAAA,oBAAAX,KAAAc,QAAAD,KAAAb,OACAD,OAAAU,GAAAE,GAAA,qBAAAX,KAAAe,SAAAF,KAAAb,OAEAD,OAAAU,GAAAO,SAAA,YAEAjB,OAAAC,KAAAC,OAAAC,SAAA,CAAAJ,QAAA,IAEAE,KAAAiB,OAAA,KAGAH,QAAA,WACAd,KAAAkB,IAAA,aAAA,IAGAH,SAAA,WACAf,KAAAkB,IAAA,aAAA,IAGAD,OAAA,SAAAE,GACAA,EAAA1B,MAAAO,KAAAmB,MAAA1B,OACAM,OAAAC,KAAAC,OAAAmB,YAAA,OAAApB,KAAAmB,MAAA1B,MACAO,KAAAkB,IAAA,aAAAlB,KAAAmB,MAAA1B,QAIA4B,cAAA,WACAtB,OAAAC,KAAAC,OAAAqB,IAAA,gBACAvB,OAAAC,KAAAC,OAAAC,SAAA","file":"../dmxBootstrap4Collapse/dmxBootstrap4Collapse.js","sourcesContent":["dmx.Component('bs4-collapse', {\r\n\r\n initialData: {\r\n collapsed: true\r\n },\r\n\r\n attributes: {\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).collapse('toggle');\r\n },\r\n\r\n show: function() {\r\n jQuery(this.$node).collapse('show');\r\n },\r\n\r\n hide: function() {\r\n jQuery(this.$node).collapse('hide');\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.collapse', this.dispatchEvent.bind(this, 'show'));\r\n jQuery(node).on('shown.bs.collapse', this.dispatchEvent.bind(this, 'shown'));\r\n jQuery(node).on('hide.bs.collapse', this.dispatchEvent.bind(this, 'hide'));\r\n jQuery(node).on('hidden.bs.collapse', this.dispatchEvent.bind(this, 'hidden'));\r\n\r\n jQuery(node).on('shown.bs.collapse', this.onShown.bind(this));\r\n jQuery(node).on('hidden.bs.collapse', this.onHidden.bind(this));\r\n\r\n jQuery(node).addClass('collapse');\r\n\r\n jQuery(this.$node).collapse({ toggle: false });\r\n\r\n this.update({});\r\n },\r\n\r\n onShown: function() {\r\n this.set('collapsed', false);\r\n },\r\n\r\n onHidden: function() {\r\n this.set('collapsed', true);\r\n },\r\n\r\n update: function(props) {\r\n if (props.show != this.props.show) {\r\n jQuery(this.$node).toggleClass('show', this.props.show);\r\n this.set('collapsed', !this.props.show);\r\n }\r\n },\r\n\r\n beforeDestroy: function() {\r\n jQuery(this.$node).off('.bs.collapse');\r\n jQuery(this.$node).collapse('dispose');\r\n }\r\n\r\n});\r\n"]}