{"version":3,"sources":["people.min.js"],"names":["$","displayView","toggleToListView","addClass","removeClass","toggleToCompactView","resetSelects","$selector","each","this","selectedIndex","peopleList","List","valueNames","name","attr","$filterControls","find","$searchInput","noItems","on","val","search","sort","$this","which","data","searchString","$siblings","siblings","concat","order","list","matchingItems","length","append","detach"],"mappings":"AAAA,aACAA,GAAE,WACA,IAAIC,EAAc,OAEZC,EAAmB,WACvBF,EAAE,oBAAoBG,SAAS,UAC/BH,EAAE,iBAAiBI,YAAY,UAC/BJ,EAAE,YAAYI,YAAY,YAAYD,SAAS,SAG3CE,EAAsB,WAC1BL,EAAE,oBAAoBI,YAAY,UAClCJ,EAAE,iBAAiBG,SAAS,UAC5BH,EAAE,YAAYG,SAAS,YAAYC,YAAY,SAG3CE,EAAe,SAAUC,GAC7BA,EAAUC,MAAK,WACXR,EAAES,MAAM,GAAGC,cAAgB,MAmB3BC,EAAa,IAAIC,KAAK,SAfZ,CACdC,WAAY,CACV,CAAEC,KAAM,aAAcC,KAAM,aAC5B,CAAED,KAAM,eAAgBC,KAAM,aAC9B,CAAED,KAAM,YAAaC,KAAM,aAC3B,CAAED,KAAM,WAAYC,KAAM,aAC1B,CAAED,KAAM,OAAQC,KAAM,aACtB,CAAED,KAAM,gBAAiBC,KAAM,aAC/B,CAAED,KAAM,UAAWC,KAAM,aACzB,CAAED,KAAM,OAAQC,KAAM,aACtB,CAAED,KAAM,gBAAiBC,KAAM,aAC/B,WAKEC,EAAkBhB,EAAE,YAAYiB,KAAK,0BACrCC,EAAelB,EAAE,uBACjBmB,EAAUnB,EAAE,uGAElBkB,EAAaE,GAAG,SAAS,WACrBJ,EAAgBK,IAAI,IACjBjB,YAAY,yBAEfE,EAAaU,GACbL,EAAWW,SACXX,EAAWY,KAAK,oBACfH,GAAG,SAAS,WACb,IAAMC,EAAMrB,EAAES,MAAMY,MACpBV,EAAWW,OAAOD,EAAK,CAAC,YAI5BL,EAAgBI,GAAG,UAAU,WAC3B,IAAMI,EAAQxB,EAAES,MACVgB,EAAQD,EAAME,KAAK,YACnBC,EAAeH,EAAMP,KAAK,aAAaI,MACvCO,EAAYJ,EAAMK,SAAS,UAEjCb,EAAgBZ,YAAY,yBAC5BoB,EAAMrB,SAAS,yBACfG,EAAasB,GACbV,EAAaG,IAAI,IAEI,QAAjBM,GACFhB,EAAWW,SACXX,EAAWY,KAAK,mBAEhBZ,EAAWW,OAAOK,EAAc,CAACF,IACnB,eAAVA,GACFzB,EAAE,oBAAoBI,YAAY,YAAYD,SAAS,YACvDH,EAAC,IAAA8B,OAAKH,IAAgBvB,YAAY,YAAYD,SAAS,YACvDQ,EAAWY,KAAK,UAAW,CAAEQ,MAAO,UACjB,iBAAVN,GACTd,EAAWY,KAAK,YAAa,CAAEQ,MAAO,SAItB,SAAhB9B,EACFC,IAEAG,OAMJM,EAAWS,GAAG,WAAW,SAACY,GACU,IAA9BA,EAAKC,cAAcC,OACrBlC,EAAEgC,EAAKA,MAAMG,OAAOhB,GAEpBA,EAAQiB,YAIZpC,EAAE,qBAAqBoB,GAAG,SAAS,WACX,SAAhBnB,GACFA,EAAc,UACdI,MAEAJ,EAAc,OACdC","file":"people.min.js","sourcesContent":["/* eslint-disable no-undef */\n$(() => {\n let displayView = 'list';\n\n const toggleToListView = function () {\n $('div.compact-view').addClass('d-none');\n $('div.list-view').removeClass('d-none');\n $('div.card').removeClass('border-0').addClass('mb-4');\n };\n\n const toggleToCompactView = function () {\n $('div.compact-view').removeClass('d-none');\n $('div.list-view').addClass('d-none');\n $('div.card').addClass('border-0').removeClass('mb-4');\n };\n\n const resetSelects = function ($selector) {\n $selector.each(function () {\n $(this)[0].selectedIndex = 0;\n });\n };\n\n const options = {\n valueNames: [\n { name: 'department', attr: 'data-info' },\n { name: 'last_initial', attr: 'data-info' },\n { name: 'last_name', attr: 'data-info' },\n { name: 'location', attr: 'data-info' },\n { name: 'role', attr: 'data-info' },\n { name: 'academic_unit', attr: 'data-info' },\n { name: 'is_head', attr: 'data-info' },\n { name: 'meta', attr: 'data-info' },\n { name: 'original_sort', attr: 'data-info' },\n 'title',\n ],\n };\n\n const peopleList = new List('people', options);\n const $filterControls = $('#filters').find('select.filter-controls');\n const $searchInput = $('#people-list-search');\n const noItems = $('
No Results. Try a different search string or filter options.
');\n\n $searchInput.on('focus', () => {\n $filterControls.val('')\n .removeClass('bg-success text-white');\n\n resetSelects($filterControls);\n peopleList.search();\n peopleList.sort('original_sort');\n }).on('keyup', function () {\n const val = $(this).val();\n peopleList.search(val, ['meta']);\n });\n\n\n $filterControls.on('change', function () {\n const $this = $(this);\n const which = $this.data('controls');\n const searchString = $this.find(':selected').val();\n const $siblings = $this.siblings('select');\n\n $filterControls.removeClass('bg-success text-white');\n $this.addClass('bg-success text-white');\n resetSelects($siblings);\n $searchInput.val('');\n\n if (searchString === 'any') {\n peopleList.search();\n peopleList.sort('original_sort');\n } else {\n peopleList.search(searchString, [which]);\n if (which === 'department') {\n $('.department-link').removeClass('btn-info').addClass('btn-dark');\n $(`#${searchString}`).removeClass('btn-dark').addClass('btn-info');\n peopleList.sort('is_head', { order: 'desc' });\n } else if (which === 'last_initial') {\n peopleList.sort('last_name', { order: 'asc' });\n }\n }\n\n if (displayView === 'list') {\n toggleToListView();\n } else {\n toggleToCompactView();\n }\n\n //ga('send', 'event', 'Filter - Staff Directory', which, searchString);\n });\n\n peopleList.on('updated', (list) => {\n if (list.matchingItems.length === 0) {\n $(list.list).append(noItems);\n } else {\n noItems.detach();\n }\n });\n\n $('#toggle-list-view').on('click', () => {\n if (displayView === 'list') {\n displayView = 'compact';\n toggleToCompactView();\n } else {\n displayView = 'list';\n toggleToListView();\n }\n });\n});\n"]}