{"version":3,"file":"frontend.min.js","sources":["../src/frontend.js"],"sourcesContent":["jQuery(document).ready(function($) {\n\t\n\tif ($('.elon-resources--container')[0]) {\n\t\t\n\t\tvar resource_lists = [];\n\t\tvar opts = [];\n\t\tvar filter_terms = [];\n\t\t\n\t\t// Init Select2 on dropdown filters\n\t\t$('.filter-wrap .filter-control').select2({\n\t\t\tminimumResultsForSearch: Infinity,\n\t\t\tallowClear: true\n\t\t});\n\t\t\n\t\t// Loop though any list found on the page\n\t\t$('.elon-resources--container').each(function(idx) {\n\t\t\t\n\t\t\tvar list_id = $(this).attr('id');\n\t\t\tvar comp_id = $(this).attr('data-comp-id');\n\t\t\tvar list_vars = window['elon_rm_vars_' + comp_id];\n\t\t\t\n\t\t\t// Remove hidden class on list if set to hide on page load\n\t\t\t$('#elon-resources--container-' + comp_id + ' #elon-rm-search').keyup(function() {\n\t\t\t\t\n\t\t\t\tvar curr_val = $(this).val();\n\t\t\t\t\n\t\t\t\tif (curr_val == '' && list_vars.hide_list) {\n\t\t\t\t\t\n\t\t\t\t\t$('#' + list_id + ' .list').addClass('hidden');\n\t\t\t\t\t$('#' + list_id + ' .pagination').addClass('hidden');\n\t\t\t\t\t$('#' + list_id + ' .elon-resources--search--reset').addClass('input-empty');\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\t$('#' + list_id + ' .list').removeClass('hidden');\n\t\t\t\t\t$('#' + list_id + ' .pagination').removeClass('hidden');\n\t\t\t\t\t$('#' + list_id + ' .elon-resources--search--reset').removeClass('input-empty');\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t});\n\t\t\t\n\t\t\t// Setup List.js list\t\n\t\t\tvar opts_key = 'opts_' + comp_id;\n\t\t\topts[opts_key] = {\n\t\t\t\tvalueNames: list_vars.filter_classes,\n\t\t\t\tplugins: [\n\t\t\t\t\tListFuzzySearch()\n\t\t\t\t]\n\t\t\t};\n\t\t\t\n\t\t\tif (list_vars.enable_pagination) {\n\t\t\t\t\n\t\t\t\tif ($('#' + list_id + ' .list li').length > list_vars.num_per_page) {\n\t\t\t\t\t\n\t\t\t\t\topts[opts_key].page = list_vars.num_per_page;\n\t\t\t\t\topts[opts_key].pagination = true;\n\t\t\t\t\topts[opts_key].plugins.push(ListPagination({\n\t\t\t\t\t\tname: 'pagination', \n\t\t\t\t\t\tpaginationClass: 'elon-resources--pagination',\n\t\t\t\t\t\tinnerWindow: 2, \n\t\t\t\t\t\touterWindow: 1\n\t\t\t\t\t}));\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar list_key = 'list_' + comp_id;\n\t\t\tresource_lists[list_key] = new List('elon-resources--container-' + comp_id, opts[opts_key]);\n\t\t\t\n\t\t\t// Handle dropdown filters\n\t\t\t$('#' + list_id + ' .filter-wrap .filter-control').change(function() {\n\t\t\t\t\n\t\t\t\t$('#' + list_id + ' .list').removeClass('hidden');\n\t\t\t\t\n\t\t\t\tvar selected_filters = [];\n\t\t\t\t\n\t\t\t\t$('#' + list_id + ' .filter-wrap .filter-control').each(function(idx) {\n\t\t\t\t\t\n\t\t\t\t\tvar filter_key = $(this).attr('data-class');\n\t\t\t\t\tvar filter_val = $(this).find('option:selected')[0].value;\n\t\t\t\t\t\n\t\t\t\t\tselected_filters[filter_key] = filter_val;\n\t\t\t\t\t\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tvar item_values = [];\n\t\t\t\tvar terms_key = 'terms_' + comp_id;\n\t\t\t\tfilter_terms[terms_key] = list_vars.filter_terms;\n\t\t\t\t\n\t\t\t\tresource_lists[list_key].filter(function(item) {\n\t\t\t\t\t\n\t\t\t\t\tvar item_filter_values = [];\n\t\t\t\t\t\n\t\t\t\t\tfor (var i=0; i < filter_terms[terms_key].length; i++) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar selected_value = selected_filters[filter_terms[terms_key][i]];\n\t\t\t\t\t\tvar item_value = item._values[filter_terms[terms_key][i]];\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (selected_value !== '') {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (item_value.includes(selected_value)) {\n\t\t\t\t\t\t\t\titem_filter_values[filter_terms[terms_key][i]] = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem_filter_values[filter_terms[terms_key][i]] = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem_filter_values[filter_terms[terms_key][i]] = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t// Check to see if all items in each item_filter_values array are true.\n\t\t\t\t\t// If all are true, it means an item either matches the selected filter,\n\t\t\t\t\t// or a value is not set for that particular filter.\n\t\t\t\t\tif (Object.keys(item_filter_values).every(function(name) { return item_filter_values[name]; })) {\n\t\t\t\t\t\t// All are true, show list item\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Not all are true, hide list item\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t});\n\t\t\t\t\n\t\t\t});\n\t\t\t\n\t\t\t// Filter/search reset\n\t\t\t$('#' + list_id + ' #reset-filter').click(function() {\n\t\t\t\t\n\t\t\t\t// Clear the search field\n\t\t\t\t$('#' + list_id + ' #elon-rm-search').val('');\n\t\t\t\t\n\t\t\t\t// Clear the filter dropdowns\n\t\t\t\t$('#' + list_id + ' .filter-wrap .filter-control').each(function(idx) {\n\t\t\t\t\t\n\t\t\t\t\t$(this).val('');\n\t\t\t\t\t$(this).trigger('change');\n\t\t\t\t\t\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t// Reset the filter & search\n\t\t\t\tresource_lists[list_key].filter();\n\t\t\t\tresource_lists[list_key].search();\n\t\t\t\t\n\t\t\t\tif (list_vars.hide_list) {\n\t\t\t\t\t\n\t\t\t\t\t$('#' + list_id + ' .list').addClass('hidden');\n\t\t\t\t\t$('#' + list_id + ' .pagination').addClass('hidden');\n\t\t\t\t\t$('#' + list_id + ' .elon-resources--search--reset').addClass('input-empty');\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t});\n\t\t\t\n\t\t});\n\t\t\n\t}\n\t\n});"],"names":["jQuery","document","ready","$","resource_lists","opts","filter_terms","select2","minimumResultsForSearch","Infinity","allowClear","each","idx","list_id","this","attr","comp_id","list_vars","window","keyup","val","hide_list","addClass","removeClass","opts_key","valueNames","filter_classes","plugins","ListFuzzySearch","enable_pagination","length","num_per_page","page","pagination","push","ListPagination","name","paginationClass","innerWindow","outerWindow","list_key","List","change","selected_filters","filter_key","filter_val","find","value","terms_key","filter","item","item_filter_values","i","selected_value","item_value","_values","includes","Object","keys","every","click","trigger","search"],"mappings":"yBAAAA,OAAOC,UAAUC,OAAM,SAASC,GAE/B,GAAIA,EAAE,8BAA8B,GAAI,CAEvC,IAAIC,EAAiB,GACjBC,EAAO,GACPC,EAAe,GAGnBH,EAAE,gCAAgCI,QAAQ,CACzCC,wBAAyBC,IACzBC,YAAY,IAIbP,EAAE,8BAA8BQ,MAAK,SAASC,GAE7C,IAAIC,EAAUV,EAAEW,MAAMC,KAAK,MACvBC,EAAUb,EAAEW,MAAMC,KAAK,gBACvBE,EAAYC,OAAO,gBAAkBF,GAGzCb,EAAE,8BAAgCa,EAAU,oBAAoBG,OAAM,WAIrD,IAFDhB,EAAEW,MAAMM,OAEDH,EAAUI,WAE/BlB,EAAE,IAAMU,EAAU,UAAUS,SAAS,UACrCnB,EAAE,IAAMU,EAAU,gBAAgBS,SAAS,UAC3CnB,EAAE,IAAMU,EAAU,mCAAmCS,SAAS,iBAI9DnB,EAAE,IAAMU,EAAU,UAAUU,YAAY,UACxCpB,EAAE,IAAMU,EAAU,gBAAgBU,YAAY,UAC9CpB,EAAE,IAAMU,EAAU,mCAAmCU,YAAY,eAInE,IAGA,IAAIC,EAAW,QAAUR,EACzBX,EAAKmB,GAAY,CAChBC,WAAYR,EAAUS,eACtBC,QAAS,CACRC,oBAIEX,EAAUY,mBAET1B,EAAE,IAAMU,EAAU,aAAaiB,OAASb,EAAUc,eAErD1B,EAAKmB,GAAUQ,KAAOf,EAAUc,aAChC1B,EAAKmB,GAAUS,YAAa,EAC5B5B,EAAKmB,GAAUG,QAAQO,KAAKC,eAAe,CAC1CC,KAAM,aACNC,gBAAiB,6BACjBC,YAAa,EACbC,YAAa,MAOhB,IAAIC,EAAW,QAAUxB,EACzBZ,EAAeoC,GAAY,IAAIC,KAAK,6BAA+BzB,EAASX,EAAKmB,IAGjFrB,EAAE,IAAMU,EAAU,iCAAiC6B,QAAO,WAEzDvC,EAAE,IAAMU,EAAU,UAAUU,YAAY,UAExC,IAAIoB,EAAmB,GAEvBxC,EAAE,IAAMU,EAAU,iCAAiCF,MAAK,SAASC,GAEhE,IAAIgC,EAAazC,EAAEW,MAAMC,KAAK,cAC1B8B,EAAa1C,EAAEW,MAAMgC,KAAK,mBAAmB,GAAGC,MAEpDJ,EAAiBC,GAAcC,CAEhC,IAGA,IAAIG,EAAa,SAAWhC,EAC5BV,EAAa0C,GAAa/B,EAAUX,aAEpCF,EAAeoC,GAAUS,QAAO,SAASC,GAIxC,IAFA,IAAIC,EAAqB,GAEhBC,EAAE,EAAGA,EAAI9C,EAAa0C,GAAWlB,OAAQsB,IAAK,CAEtD,IAAIC,EAAiBV,EAAiBrC,EAAa0C,GAAWI,IAC1DE,EAAaJ,EAAKK,QAAQjD,EAAa0C,GAAWI,IAE/B,KAAnBC,EAECC,EAAWE,SAASH,GACvBF,EAAmB7C,EAAa0C,GAAWI,KAAM,EAEjDD,EAAmB7C,EAAa0C,GAAWI,KAAM,EAIlDD,EAAmB7C,EAAa0C,GAAWI,KAAM,CAGnD,CAKA,QAAIK,OAAOC,KAAKP,GAAoBQ,OAAM,SAASvB,GAAQ,OAAOe,EAAmBf,EAAO,GAQ7F,GAED,IAGAjC,EAAE,IAAMU,EAAU,kBAAkB+C,OAAM,WAGzCzD,EAAE,IAAMU,EAAU,oBAAoBO,IAAI,IAG1CjB,EAAE,IAAMU,EAAU,iCAAiCF,MAAK,SAASC,GAEhET,EAAEW,MAAMM,IAAI,IACZjB,EAAEW,MAAM+C,QAAQ,SAEjB,IAGAzD,EAAeoC,GAAUS,SACzB7C,EAAeoC,GAAUsB,SAErB7C,EAAUI,YAEblB,EAAE,IAAMU,EAAU,UAAUS,SAAS,UACrCnB,EAAE,IAAMU,EAAU,gBAAgBS,SAAS,UAC3CnB,EAAE,IAAMU,EAAU,mCAAmCS,SAAS,eAKhE,GAED,GAED,CAED"}