{"version":3,"sources":["../../../../../dev/j/v2/smb/components/smb-content-toggle.js"],"names":["toggle","input","isChecked","is","$parentToggleBtn","closest","$toggleBtn","groupId","data","selectedValue","setAllToglleToSameValue","toggleContent","filter","find","prop","value","$content","addClass","DISPLAY_NONE","removeClass","$","avm","require","each","index","this","on","e"],"mappings":"CASA,WACC,YA2BA,SAASA,GAAOC,GACf,GAAIC,GAAYD,EAAME,GAAG,YACxBC,EAAmBH,EAAMI,QAAQC,GACjCC,EAAUH,EAAiBI,KAAK,iBAChCC,EAAgBP,EAAYE,EAAiBI,KAAK,cAAgBJ,EAAiBI,KAAK,cAEzFE,GAAwBH,EAASL,GACjCS,EAAcJ,EAASE,GAQxB,QAASC,GAAwBH,EAASL,GACzCI,EACEM,OAAO,0BAA4BL,EAAU,MAC7CM,KAAK,SACLC,KAAK,UAAWZ,GAQnB,QAASS,GAAcJ,EAASQ,GAC/BC,EAASJ,OAAO,0BAA4BL,EAAU,MAAMU,SAASC,GACrEF,EAASJ,OAAO,0BAA4BL,EAAU,uBAAyBQ,EAAQ,MAAMI,YAAYD,GAtD1G,GAAIE,GAAIC,IAAIC,QAAQ,QAEhBhB,EAAac,EAAE,0BAClBJ,EAAWI,EAAE,uBAEVF,EAAe,QAKnBZ,GAAWO,KAAK,SAASU,KAAK,SAASC,GACtCxB,EAAOoB,EAAEK,SAMVnB,EAAWO,KAAK,SAASa,GAAG,QAAS,SAASC,GAC7C3B,EAAOoB,EAAEK","file":"smb-content-toggle.js","sourcesContent":["/**\n * SMB Toggle content\n * @version 1.0.0\n * @author Erik Ondrus \n * @requires avast.avm.cash\n * @requires <#snippet.smbCmp_contentToggle#>\n * @requires element with class=\"smb-toggle-content\" data-toggle-group-id=\"t1\" data-toggle-key=\"#item_1\"\n */\n\n(function() {\n\t'use strict';\n\n\tvar $ = avm.require('cash');\n\n\tvar $toggleBtn = $('.js-smb-content-toggle'),\n\t\t$content = $('.smb-toggle-content');\n\n\tvar DISPLAY_NONE = 'd-none';\n\n\t/*\n\t * @init - after load.\n\t */\n\t$toggleBtn.find('input').each(function(index) {\n\t\ttoggle($(this));\n\t});\n\n\t/*\n\t * @click handler for toggle input\n\t */\n\t$toggleBtn.find('input').on('click', function(e) {\n\t\ttoggle($(this));\n\t});\n\n\t/*\n\t * @param {$Object} - input element ($(this))\n\t * @does side effect on DOM\n\t */\n\tfunction toggle(input) {\n\t\tvar isChecked = input.is(':checked'),\n\t\t\t$parentToggleBtn = input.closest($toggleBtn),\n\t\t\tgroupId = $parentToggleBtn.data('toggleGroupId'),\n\t\t\tselectedValue = isChecked ? $parentToggleBtn.data('toggleTrue') : $parentToggleBtn.data('toggleFalse');\n\n\t\tsetAllToglleToSameValue(groupId, isChecked);\n\t\ttoggleContent(groupId, selectedValue);\n\t}\n\n\t/*\n\t * @param {string} - groupId - for connecting multiple controls\n\t * @param {boolean} - isChecked value\n\t * @does side effect on DOM - sets all inputs with the same id to the same value\n\t */\n\tfunction setAllToglleToSameValue(groupId, isChecked) {\n\t\t$toggleBtn\n\t\t\t.filter('[data-toggle-group-id=\"' + groupId + '\"]')\n\t\t\t.find('input')\n\t\t\t.prop('checked', isChecked);\n\t}\n\n\t/*\n\t * @param {string} - groupId - to identify the content belonging to the toggle\n\t * @param {string} - value\n\t * @does side effec on DOM - displays elements only with the correct key\n\t */\n\tfunction toggleContent(groupId, value) {\n\t\t$content.filter('[data-toggle-group-id=\"' + groupId + '\"]').addClass(DISPLAY_NONE);\n\t\t$content.filter('[data-toggle-group-id=\"' + groupId + '\"][data-toggle-key=\"' + value + '\"]').removeClass(DISPLAY_NONE);\n\t}\n})();\n"]}