{"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":"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","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":""}