{"version":3,"sources":["dyson-people.js"],"names":["dysonPeople","elements","wrapper","$","template","endpoint","request","base","site","html","attr","getSize","window","matchMedia","bp","tablet","matches","getStartIndex","find","length","getFilters","data","checks","serializeArray","results","output","each","index","value","undefined","name","push","key","toString","getPageId","body","buildRequestUrl","empty","filters","startIndex","size","components","states","more","show","removeAttr","hide","remove","noResults","content","loader","before","filter","after","isLast","setTimeout","addClass","requestCount","performance","wait","start","showTimeout","hideTimeout","clearTimeout","now","end","timeTaken","parseInt","make","settings","abort","currentResultCount","ajax","url","success","response","render","append","IsLast","prompt","openFilters","userRequestedMore","nextItem","eq","focus","error","e","setFilters","paramName","Url","query","checkedFilters","history","pushState","trigger","init","Hogan","compile","removeLink","moreButton","check","indexOf","getAttribute","prop","on","event","off","children","last"],"mappings":"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","file":"dyson-people-79a6d832a9.min.js","sourcesContent":["var dysonPeople = {\r\n\r\n\telements: {\r\n\r\n\t\twrapper: $('[data-dyson-people]')\r\n\r\n\t},\r\n\r\n\ttemplate: $('#personTemplate'),\r\n\r\n\tendpoint: {\r\n\r\n\t\trequest: null,\r\n\r\n\t\tbase: '/' + site.html.attr('lang') + '/api/search/case-studies/',\r\n\r\n\t\tgetSize: function () {\r\n\r\n\t\t\treturn window.matchMedia('(min-width: ' + site.bp.tablet + 'px)').matches ? 8 : 4;\r\n\r\n\t\t},\r\n\r\n\t\tgetStartIndex: function () {\r\n\r\n\t\t\treturn dysonPeople.elements.wrapper.find('[data-dyson-people-item]').length;\r\n\r\n\t\t},\r\n\r\n\t\tgetFilters: function () {\r\n\r\n\t\t\tvar data = dysonPeople.elements.checks.serializeArray(),\r\n\t\t\tresults = {},\r\n\t\t\toutput = '';\r\n\r\n\t\t\t$.each(data, function (index, value) { if (results[value.name] !== undefined) results[value.name].push(value.value); else results[value.name] = [value.value]; });\r\n\t\t\t$.each(results, function (key, value) { output += '&' + key + '=' + value.toString(); });\r\n\r\n\t\t\treturn output;\r\n\r\n\t\t},\r\n\r\n\t\tgetPageId: function () {\r\n\r\n\t\t\treturn site.body.attr('data-node-id');\r\n\r\n\t\t},\r\n\r\n\t\tbuildRequestUrl: function (empty) {\r\n\r\n\t\t\tvar filters = dysonPeople.endpoint.getFilters(),\r\n\t\t\tstartIndex = dysonPeople.endpoint.getStartIndex(),\r\n\t\t\tsize = dysonPeople.endpoint.getSize();\r\n\r\n\t\t\t// if the filters have changed, reset start index\r\n\r\n\t\t\tif (empty) startIndex = 0;\r\n\r\n\t\t\tvar components = '?pageId=' + dysonPeople.endpoint.getPageId() + '&startIndex=' + startIndex + '&size=' + size + filters;\r\n\r\n\t\t\treturn dysonPeople.endpoint.base + components;\r\n\r\n\t\t}\r\n\r\n\t},\r\n\r\n\tstates: {\r\n\r\n\t\tmore: function (show) {\r\n\r\n\t\t\tif (show) dysonPeople.elements.more.show().removeAttr('tabindex'); else dysonPeople.elements.more.hide().attr('tabindex', -1);\r\n\r\n\t\t},\r\n\r\n\t\tremove: function (show) {\r\n\r\n\t\t\tif (show) dysonPeople.elements.remove.show().removeAttr('tabindex'); else dysonPeople.elements.remove.hide().attr('tabindex', -1);\r\n\r\n\t\t},\r\n\r\n\t\tnoResults: function (show) {\r\n\r\n\t\t\tif (show) {\r\n\r\n\t\t\t\tdysonPeople.elements.noResults.show().removeAttr('tabindex');\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tdysonPeople.elements.noResults.hide().attr('tabindex', -1);\r\n\r\n\t\t\t}\r\n\r\n\t\t},\r\n\r\n\t\tcontent: function (show) {\r\n\r\n\t\t\tif (show) dysonPeople.elements.content.show(); else dysonPeople.elements.content.hide();\r\n\r\n\t\t},\r\n\r\n\t\tloader: function (show) {\r\n\r\n\t\t\tif (show) dysonPeople.elements.loader.show(); else dysonPeople.elements.loader.hide();\r\n\r\n\t\t},\r\n\r\n\t\tbefore: function (empty) {\r\n\r\n\t\t\tdysonPeople.states.noResults(false);\r\n\t\t\tdysonPeople.states.more(false);\r\n\r\n\t\t\tif (empty) {\r\n\r\n\t\t\t\tdysonPeople.elements.content.empty();\r\n\t\t\t\tdysonPeople.states.content(false);\r\n\r\n\t\t\t}\r\n\r\n\t\t\tif (dysonPeople.elements.checks.filter(':checked').length) dysonPeople.states.remove(true); else dysonPeople.states.remove(false);\r\n\r\n\t\t},\r\n\r\n\t\tafter: function (isLast) {\r\n\r\n\t\t\tdysonPeople.states.loader(false);\r\n\r\n\t\t\tif (dysonPeople.elements.wrapper.find('[data-dyson-people-item]').length) dysonPeople.states.content(true); else dysonPeople.states.content(false);\r\n\r\n\t\t\tsetTimeout(function () { dysonPeople.elements.wrapper.find('.js-fade-in-item:not(.fade-in)').addClass('js-fade-in-item--no-delay fade-in'); }, 250);\r\n\r\n\t\t\tif (isLast) dysonPeople.states.more(false); else dysonPeople.states.more(true);\r\n\r\n\t\t\tif (dysonPeople.elements.wrapper.find('[data-dyson-people-item]').length) dysonPeople.states.noResults(false); else dysonPeople.states.noResults(true);\r\n\r\n\t\t}\r\n\r\n\t},\r\n\r\n\trequest: {\r\n\r\n\t\trequestCount: 0,\r\n\r\n\t\tloader: {\r\n\r\n\t\t\tperformance: 'performance' in window !== false,\r\n\r\n\t\t\twait: 0,\r\n\r\n\t\t\tstart: null,\r\n\r\n\t\t\tshowTimeout: null,\r\n\r\n\t\t\thideTimeout: null,\r\n\r\n\t\t\tshow: function () {\r\n\r\n\t\t\t\t// reset wait period\r\n\r\n\t\t\t\tdysonPeople.request.loader.wait = 0;\r\n\r\n\t\t\t\t// clear existing timeouts\r\n\r\n\t\t\t\tclearTimeout(dysonPeople.request.loader.showTimeout);\r\n\t\t\t\tclearTimeout(dysonPeople.request.loader.hideTimeout);\r\n\r\n\t\t\t\t// loader to show after 500 ms\r\n\r\n\t\t\t\tdysonPeople.request.loader.showTimeout = setTimeout(function () {\r\n\r\n\t\t\t\t\tif (dysonPeople.request.loader.performance) {\r\n\r\n\t\t\t\t\t\t// store start time\r\n\r\n\t\t\t\t\t\tdysonPeople.request.loader.start = performance.now();\r\n\r\n\t\t\t\t\t\t// set minimum wait time\r\n\r\n\t\t\t\t\t\tdysonPeople.request.loader.wait = 500;\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdysonPeople.states.loader(true);\r\n\r\n\t\t\t\t}, 500);\r\n\r\n\t\t\t},\r\n\r\n\t\t\thide: function (isLast) {\r\n\r\n\t\t\t\t// clear show timeout\r\n\r\n\t\t\t\tclearTimeout(dysonPeople.request.loader.showTimeout);\r\n\r\n\t\t\t\t// calculate wait time\r\n\r\n\t\t\t\tif (dysonPeople.request.loader.performance) {\r\n\r\n\t\t\t\t\tvar end = performance.now();\r\n\t\t\t\t\tvar timeTaken = parseInt(end - dysonPeople.request.loader.start);\r\n\t\t\t\t\tif (timeTaken < dysonPeople.request.loader.wait) { dysonPeople.request.loader.wait = dysonPeople.request.loader.wait - timeTaken; }\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// show\r\n\r\n\t\t\t\tdysonPeople.request.loader.hideTimeout = setTimeout(function () { dysonPeople.states.after(isLast); }, dysonPeople.request.loader.wait);\r\n\r\n\t\t\t}\r\n\r\n\t\t},\r\n\r\n\t\tmake: function (settings) {\r\n\r\n\t\t\t// show loader\r\n\r\n\t\t\tdysonPeople.request.loader.show();\r\n\r\n\t\t\t// setup \"before\" state\r\n\r\n\t\t\tdysonPeople.states.before(settings.empty);\r\n\r\n\t\t\t// abort and nullify request\r\n\r\n\t\t\tif (dysonPeople.endpoint.request !== null) {\r\n\r\n\t\t\t\tdysonPeople.endpoint.request.abort();\r\n\t\t\t\tdysonPeople.endpoint.request = null;\r\n\r\n\t\t\t}\r\n\r\n\t\t\tvar currentResultCount = dysonPeople.elements.wrapper.find('[data-dyson-people-item]').length;\r\n\r\n\t\t\t// make request\r\n\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: dysonPeople.endpoint.buildRequestUrl(settings.empty),\r\n\t\t\t\tsuccess: function (response) {\r\n\r\n\t\t\t\t\t// output response\r\n\r\n\t\t\t\t\tvar html = dysonPeople.template.render(response);\r\n\t\t\t\t\tdysonPeople.elements.content.append(html);\r\n\r\n\t\t\t\t\t// hide loader / render results\r\n\r\n\t\t\t\t\tdysonPeople.request.loader.hide(response.IsLast);\r\n\r\n\t\t\t\t\t// focus on result prompt for screen readers\r\n\r\n\t\t\t\t\tif ((dysonPeople.request.requestCount > 0) && dysonPeople.elements.prompt.length && settings.empty) {\r\n\r\n\t\t\t\t\t\tdysonPeople.elements.prompt.html('' + dysonPeople.elements.prompt.attr('data-dyson-people-prompt') + '');\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (dysonPeople.request.requestCount === 0) {\r\n\r\n\t\t\t\t\t\tdysonPeople.openFilters();\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (settings.userRequestedMore) {\r\n\r\n\t\t\t\t\t\tvar nextItem = dysonPeople.elements.wrapper.find('[data-dyson-people-item]').eq(currentResultCount).find('a');\r\n\t\t\t\t\t\tif (nextItem.length) nextItem.focus();\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdysonPeople.request.requestCount++;\r\n\r\n\t\t\t\t},\r\n\t\t\t\terror: function (e) {\r\n\r\n\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tdysonPeople.url.setFilters();\r\n\r\n\t\t}\r\n\r\n\t},\r\n\r\n\turl: {\r\n\r\n\t\tparamName: 'peoplefilter',\r\n\r\n\t\tgetFilters: function () {\r\n\r\n\t\t\tvar url = new Url;\r\n\t\t\treturn url.query[dysonPeople.url.paramName];\r\n\r\n\t\t},\r\n\r\n\t\tsetFilters: function () {\r\n\r\n\t\t\tvar checkedFilters = dysonPeople.elements.checks.filter(':checked').serializeArray(),\r\n\t\t\turl = new Url;\r\n\r\n\t\t\tdelete url.query[dysonPeople.url.paramName];\r\n\r\n\t\t\tif (checkedFilters.length) {\r\n\r\n\t\t\t\tvar results = [];\r\n\t\t\t\t$.each(checkedFilters, function (index, value) { results.push(value.value); });\r\n\t\t\t\turl.query[dysonPeople.url.paramName] = results;\r\n\r\n\t\t\t}\r\n\r\n\t\t\thistory.pushState(null, '', url);\r\n\t\t}\r\n\r\n\t},\r\n\r\n\topenFilters: function() {\r\n\r\n\t\tvar openFilters = dysonPeople.elements.wrapper.attr('data-dyson-people-open-filters') || false;\r\n\r\n\t\tif (openFilters && matchMedia('(min-width: ' + openFilters + 'px)').matches) {\r\n\r\n\t\t\tdysonPeople.elements.wrapper.find('.js-accordion-title').trigger('click');\r\n\r\n\t\t}\r\n\r\n\t},\r\n\r\n\tinit: function () {\r\n\r\n\t\tif (!dysonPeople.elements.wrapper.length || !dysonPeople.template.length) return;\r\n\r\n\t\t// compile and cache template\r\n\r\n\t\tdysonPeople.template = Hogan.compile(dysonPeople.template.html());\r\n\r\n\t\t// cache elements\r\n\r\n\t\tdysonPeople.elements.filters = $('[data-dyson-people-filters]');\r\n\t\tdysonPeople.elements.checks = dysonPeople.elements.filters.find('input[type=\"checkbox\"]');\r\n\t\tdysonPeople.elements.remove = $('[data-dyson-people-filters-remove]');\r\n\t\tdysonPeople.elements.removeLink = $('[data-dyson-people-filters-remove-link]');\r\n\t\tdysonPeople.elements.content = $('[data-dyson-people-content]');\r\n\t\tdysonPeople.elements.more = $('[data-dyson-people-more]');\r\n\t\tdysonPeople.elements.moreButton = $('[data-dyson-people-more-button]');\r\n\t\tdysonPeople.elements.noResults = $('[data-dyson-people-no-results]');\r\n\t\tdysonPeople.elements.loader = $('[data-dyson-people-loader]');\r\n\t\tdysonPeople.elements.prompt = $('[data-dyson-people-prompt]');\r\n\r\n\t\t// set checks state from url filters\r\n\r\n\t\tvar setFilters = dysonPeople.url.getFilters();\r\n\t\tif (setFilters) { dysonPeople.elements.checks.filter(function (check, value) { return setFilters.indexOf(value.getAttribute('value')) > -1; }).prop('checked', true); }\r\n\r\n\t\tdysonPeople.request.make({\r\n\t\t\tempty: true,\r\n\t\t\tuserRequestedMore: false\r\n\t\t});\r\n\r\n\t\t// assign events\r\n\r\n\t\tdysonPeople.elements.checks.on('change', function (event) {\r\n\r\n\t\t\tdysonPeople.request.make({\r\n\t\t\t\tempty: true,\r\n\t\t\t\tuserRequestedMore: false\r\n\t\t\t});\r\n\r\n\t\t});\r\n\t\tdysonPeople.elements.moreButton.off().on('click', function (event) {\r\n\r\n\t\t\tdysonPeople.request.make({\r\n\t\t\t\tempty: false,\r\n\t\t\t\tuserRequestedMore: true\r\n\t\t\t});\r\n\r\n\t\t\treturn false;\r\n\r\n\t\t});\r\n\r\n\t\tdysonPeople.elements.removeLink.on('click', function () {\r\n\r\n\t\t\tdysonPeople.elements.checks.prop('checked', false);\r\n\r\n\t\t\tdysonPeople.request.make({\r\n\t\t\t\tempty: true,\r\n\t\t\t\tuserRequestedMore: false\r\n\t\t\t});\r\n\r\n\t\t\treturn false;\r\n\r\n\t\t});\r\n\t\t \r\n\t\twhile (dysonPeople.elements.content.children().length > dysonPeople.endpoint.getSize()) {\r\n\t\t\tdysonPeople.elements.content.children().last().remove();\r\n\t\t}\r\n\r\n\t}\r\n\r\n};\r\n\r\n$(function () {\r\n\tdysonPeople.init();\r\n});"]}