{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/DataShowComponent.js"],"names":["DataShowComponent","Component","_get","prototype","__proto__","Object","getPrototypeOf","this","call","_this","$","off","on","e","log","target","is","self","tSelector","data","hSelector","cssClass","selfClass","closest","slide","context","selfText","selfAlternativeText","state","parent","match","find","hide","remoteUrl","switchControl","showCondition","includes","Utils","Responsive","currentResolution","label","length","parentText","text","slideToggle","toggleClass","get","body","status","xhr","empty","append","trigger","removeClass","type","checkRadio","addClass","input","brothersInput","document","querySelectorAll","name","forEach","dataParent","checked","getAttribute"],"mappings":"oXAEqBA,grBAA0BC,uSAG3CC,CAAAF,EAAAG,UAAAC,WAAAC,OAAAC,eAAAN,EAAAG,WAAA,SAAAI,MAAAC,KAAAD,MAEA,IACIE,EAAQF,KAEZG,EAAE,gBAAgBC,IAAI,kBAAkBC,GAAG,iBAAkB,SAAUC,GAIrE,GAFAJ,EAAMK,IAAI,kBAENJ,EAAEG,EAAEE,QAAQC,GAAG,SACjB,OAAO,EAGT,IACEC,EAAOP,EAAEH,MACTW,EAAYD,EAAKE,KAAK,QACtBC,EAAYH,EAAKE,KAAK,QACtBE,EAAWJ,EAAKE,KAAK,gBAAkB,KACvCG,EAAYL,EAAKE,KAAK,cAAgB,SACtCI,EAAUN,EAAKE,KAAK,UACpBK,EAAQP,EAAKE,KAAK,SAClBM,EAAUR,EAAKE,KAAK,WACpBO,EAAWT,EAAKE,KAAK,YACrBQ,EAAsBV,EAAKE,KAAK,uBAChCS,EAAQX,EAAKE,KAAK,SAClBU,EAASN,EAAUN,EAAKM,QAAQA,GAAWN,EAC3CF,EAASQ,GAAqC,MAAzBL,EAAUY,MAAM,MAAiBD,EAAOE,KAAKb,GAAaR,EAAEQ,GACjFc,IAAOZ,IAAaG,GAAqC,MAAzBH,EAAUU,MAAM,MAAiBD,EAAOE,KAAKX,GAAaV,EAAEU,IAC5Fa,EAAYlB,EAAOI,KAAK,UACxBe,EAAgBL,EAAOE,KAAK,+CAC5BI,EAAgBlB,EAAKE,KAAK,kBAG5B,IAAIgB,GAAkBA,EAAcC,SAASC,MAAMC,WAAWC,kBAAkBC,OAAhF,CAgBA,GAZAhB,OAAwB,IAATA,GAAuBA,EAElCC,IACmB,GAAjBV,EAAO0B,SACT1B,EAASL,EAAEe,GAASM,KAAKb,IAGR,GAAfc,EAAKS,SACPT,EAAOtB,EAAEe,GAASM,KAAKX,KAIvBO,GAAuBD,EAAU,CACnCjB,EAAMK,IAAN,oBAA8B4B,GAE9B,IAAIA,EAAuB,WAAVd,EAAqBD,EAAsBD,EAE5DG,EAAOc,KAAKD,GAEZzB,EAAKE,KAAK,QAAmB,WAAVS,EAAqB,SAAW,UAGzB,GAAxBM,EAAcO,QAAgBP,EAAclB,GAAG,cAoB7CQ,GACFf,EAAMK,IAAN,qBAA+BC,GAC/BA,EAAO6B,eAEHtB,GACFb,EAAMK,IAAN,aAAuBO,EAAvB,gBAA+CN,GAC/CA,EAAO8B,YAAYxB,GACnBZ,EAAMK,IAAN,aAAuBO,EAAvB,gBAA+CQ,GAC/CA,EAAOgB,YAAYvB,KAEnBb,EAAMK,IAAN,aAAuBO,EAAvB,gBAA+CQ,GAC/CA,EAAOgB,YAAYxB,IAInBY,IAAclB,EAAOC,GAAG,WAAiD,GAApCD,EAAOgB,KAAK,cAAcU,SACjE/B,EAAEoC,IAAIb,EAAW,SAAUc,EAAMC,EAAQC,GACvClC,EAAOmC,QAAQC,OAAOJ,KAI1BrC,EAAE,QAAQ0C,QAAQ,sBAvCdlB,EAAclB,GAAG,aACnBP,EAAMK,IAAN,iBAA2BO,EAA3B,OAA0CN,GAC1CA,EAAOsC,YAAYhC,QACc,IAArBa,EAAc,IAA+C,SAAzBA,EAAc,GAAGoB,MAC/D7C,EAAM8C,WAAWrB,EAAc,MAIjCzB,EAAMK,IAAN,gBAA0BO,EAA1B,OAAyCN,GACzCA,EAAOyC,SAASnC,QACiB,IAArBa,EAAc,IAA+C,SAAzBA,EAAc,GAAGoB,MAC/D7C,EAAM8C,WAAWrB,EAAc,KAgCjCF,IACFvB,EAAMK,IAAN,UAAoBkB,GACpBA,EAAKwB,SAAS,iDAMTC,GACT,IAAIC,EAAgBC,SAASC,iBAAiB,cAAcH,EAAMI,KAAK,KAGlD,MAAjBH,GACFA,EAAcI,QAAQ,SAAAL,GAEpB,IAAIM,EAAaN,EAAMlC,QAAQ,iBAE/B,IAAKkC,EAAMO,cAAgC,IAAdD,GAAqE,IAAxCA,EAAWE,aAAa,aAAoB,CACpG,IAAIlD,EAASgD,EAAWE,aAAa,aAErCvD,EAAEK,GAAQyC,SAASO,EAAWE,aAAa,kCA/HhCjE","file":"component-DataShowComponent.chunks.js","sourcesContent":["import Component from '../abstracts/Component';\n\nexport default class DataShowComponent extends Component {\n\n render() {\n super.render();\n\n let closed = true;\n let _this = this;\n\n $('*[data-show]').off('click deselect').on('click deselect', function (e) {\n\n _this.log('trigger select');\n // This will prevent double events\n if ($(e.target).is(\"label\")) {\n return true;\n }\n\n let\n self = $(this),\n tSelector = self.data('show'),\n hSelector = self.data('hide'),\n cssClass = self.data('toggleClass') || 'in',\n selfClass = self.data('selfClass') || 'active',\n closest = self.data('parent'),\n slide = self.data('slide'),\n context = self.data('context'),\n selfText = self.data('selfText'),\n selfAlternativeText = self.data('selfAlternativeText'),\n state = self.data('state'),\n parent = closest ? self.closest(closest) : self,\n target = closest && (tSelector.match('^#') == null) ? parent.find(tSelector) : $(tSelector),\n hide = hSelector ? (closest && (hSelector.match('^#') == null) ? parent.find(hSelector) : $(hSelector)) : false,\n remoteUrl = target.data('remote'),\n switchControl = parent.find('input[type=\"radio\"], input[type=\"checkbox\"]'),\n showCondition = self.data('show-condition');\n\n\n if (showCondition && !showCondition.includes(Utils.Responsive.currentResolution.label)) {\n return;\n }\n\n slide = typeof slide != 'undefined' ? slide : true;\n\n if (context) {\n if (target.length == 0) {\n target = $(context).find(tSelector);\n }\n\n if (hide.length == 0) {\n hide = $(context).find(hSelector);\n }\n }\n\n if (selfAlternativeText && selfText) {\n _this.log(`Alternative text ${parentText}`);\n\n let parentText = state === 'closed' ? selfAlternativeText : selfText;\n\n parent.text(parentText);\n // closed = !closed;\n self.data('state', state === 'closed' ? 'opened' : 'closed');\n }\n\n if (switchControl.length != 0 && !switchControl.is(':disabled')) {\n\n if (switchControl.is(':checked')) {\n _this.log(`Switching off ${cssClass} on ${target}`);\n target.removeClass(cssClass);\n if ( typeof switchControl[0] !== 'undefined' && switchControl[0].type == 'radio') {\n _this.checkRadio(switchControl[0]);\n }\n\n } else {\n _this.log(`Switching on ${cssClass} on ${target}`);\n target.addClass(cssClass);\n if ( typeof switchControl[0] !== 'undefined' && switchControl[0].type == 'radio') {\n _this.checkRadio(switchControl[0]);\n }\n }\n\n } else {\n\n\n if (slide) {\n _this.log(`Toggling slide on ${target}`);\n target.slideToggle();\n } else {\n if (selfClass) {\n _this.log(`Toggling '${cssClass}' on target: ${target}`);\n target.toggleClass(cssClass);\n _this.log(`Toggling '${cssClass}' on parent: ${parent}`);\n parent.toggleClass(selfClass);\n } else {\n _this.log(`Toggling '${cssClass}' on parent: ${parent}`);\n parent.toggleClass(cssClass);\n }\n }\n\n if (remoteUrl && (target.is(':empty') || target.find('> .loading').length != 0)) {\n $.get(remoteUrl, function (body, status, xhr) {\n target.empty().append(body);\n });\n }\n\n $('body').trigger(\"formInitializeAll\");\n\n }\n\n if (hide) {\n _this.log(`Hiding ${hide}`);\n hide.addClass('hidden');\n }\n\n });\n }\n\n checkRadio(input) {\n let brothersInput = document.querySelectorAll('input[name='+input.name+']');\n let ctx = this;\n // search all radios, i loop them\n if (brothersInput != null) {\n brothersInput.forEach(input=>{\n // parent with data\n let dataParent = input.closest('.custom-radio');\n // if the radio is not checked and the radio has a data-show valid\n if (!input.checked && typeof dataParent != 'undefined' && dataParent.getAttribute('data-show') != '') {\n let target = dataParent.getAttribute('data-show');\n // hide the target with radio not selected\n $(target).addClass(dataParent.getAttribute('data-toggle-class'));\n }\n });\n }\n }\n}\n"],"sourceRoot":""}