{"version":3,"file":"uppsala.publications-filter.min.js","names":["define","$","uppsala","toggleSwitch","originalTitle","document","title","enableSortOrder","publicationsFilter","$resultsContainer","init","resultsContainerSelector","length","initCheckboxToggle","this","val","replace","window","History","enabled","hide","UpdateHistory","InitializeHistoryStuff","UpdateInputFields","historyState","data","state","query","datedelimiter","isbeforedate","prop","typeid","sortorder","organisationid","subcategoryid","UpdateResultList","historyBaseUrl","url","historyQueryString","questionmarkIndex","indexOf","substring","slice","console","log","encodeURI","ajax","type","dataType","success","response","html","RssClickEvent","error","request","status","errorThrown","hasFilter","isInitial","page","GetQueryStringPart","location","search","history","getState","hash","scrollPos","offset","top","scrollTop","queryString","encodeURIComponent","replaceState","pushState","UpdateAssociatedDropdown","associatedDropdownId","currentValue","$associatedDropdownElement","find","removeAttr","change","attr","UpdateAssociatedToggleSwitch","associatedToggleSwitchId","$associatedToggleSwitchElement","is","timer","timerDate","keyup","clearTimeout","value","setTimeout","sortOrderOptionRelevance","sortOrderSelect","trim","Adapter","bind","key","vars","hashes","split","i","push","hasOwnProperty"],"sources":["uppsala.publications-filter.js"],"mappings":"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","ignoreList":[],"sourcesContent":["define([\"jquery\", \"uppsala\", \"toggleswitch\"], function ($, uppsala, toggleSwitch) {\r\n var originalTitle = document.title;\r\n var enableSortOrder = false;\r\n var publicationsFilter = {\r\n $resultsContainer: $(\"#filter-results\"),\r\n init: function (resultsContainerSelector) {\r\n\r\n //activate dropdown for sort order filter if present on page\r\n enableSortOrder = $(\"#SortOrder\").length > 0;\r\n toggleSwitch.initCheckboxToggle(\".js-toggle-element\", \"#js-toggle-switch-pointer\", \"#js-toggle-switch\");\r\n\r\n if (resultsContainerSelector) {\r\n this.$resultsContainer = $(resultsContainerSelector);\r\n }\r\n\r\n //Fix för att tiden '00:00:00' läggs på vid reload av sidan, av någon märklig anledning...\r\n $(\"#DateDelimiter\").val($(\"#DateDelimiter\").val().replace(\" 00:00:00\", \"\"));\r\n\r\n if (window.History.enabled) {\r\n $(\"#submit-filters-button\").hide();\r\n\r\n //Fix för att första sidladdningen utan KOMPLETT querystring blir en dubblett i history-listan, och därmed failar hela history-hanteringen.\r\n //Denna rad måste stå före initializeHistoryStuff(), annars funkar det inte i Chrome!\r\n publicationsFilter.UpdateHistory(true);\r\n\r\n publicationsFilter.InitializeHistoryStuff();\r\n }\r\n },\r\n \r\n //UPDATE HTML FOR INPUT FIELDS\r\n UpdateInputFields: function (historyState) {\r\n if (historyState.data != null && historyState.data.state != null) {\r\n if (historyState.data.state.query != null) {\r\n $(\"#Query\").val(historyState.data.state.query);\r\n }\r\n else {\r\n $(\"#Query\").val(\"\");\r\n }\r\n if (historyState.data.state.datedelimiter != null) {\r\n if ($(\"#DateDelimiter\").val() != historyState.data.state.datedelimiter) {\r\n $(\"#DateDelimiter\").val(historyState.data.state.datedelimiter);\r\n }\r\n }\r\n else {\r\n $(\"#DateDelimiter\").val(\"\");\r\n }\r\n if (historyState.data.state.isbeforedate != null) {\r\n $('#IsBeforeDate option[value=\"' + historyState.data.state.isbeforedate + '\"]').prop(\"selected\", true);\r\n }\r\n else {\r\n $('#IsBeforeDate option[value=\"' + \"\" + '\"]').prop(\"selected\", true);\r\n }\r\n if (historyState.data.state.typeid != null) {\r\n $('#TypeId option[value=\"' + historyState.data.state.typeid + '\"]').prop(\"selected\", true);\r\n }\r\n else {\r\n $('#TypeId option[value=\"' + \"\" + '\"]').prop(\"selected\", true);\r\n }\r\n if (enableSortOrder && historyState.data.state.sortorder != null) {\r\n $('#SortOrder option[value=\"' + historyState.data.state.sortorder + '\"]').prop(\"selected\", true);\r\n }\r\n else if (enableSortOrder) {\r\n $('#SortOrder option[value=\"' + \"\" + '\"]').prop(\"selected\", true);\r\n }\r\n if (historyState.data.state.organisationid != null) {\r\n $('#OrganisationId option[value=\"' + historyState.data.state.organisationid + '\"]').prop(\"selected\", true);\r\n }\r\n else {\r\n $('#OrganisationId option[value=\"' + \"\" + '\"]').prop(\"selected\", true);\r\n }\r\n if (historyState.data.state.subcategoryid != null) {\r\n $('#SubCategoryId option[value=\"' + historyState.data.state.subcategoryid + '\"]').prop(\"selected\", true);\r\n }\r\n else {\r\n $('#SubCategoryId option[value=\"' + \"\" + '\"]').prop(\"selected\", true);\r\n }\r\n }\r\n },\r\n\r\n //GET ResultList HTML AND UPDATE HTML\r\n UpdateResultList: function (historyState) {\r\n var historyBaseUrl = historyState.url;\r\n var historyQueryString = \"\";\r\n var questionmarkIndex = historyState.url.indexOf(\"?\");\r\n\r\n if (questionmarkIndex > -1) {\r\n historyBaseUrl = historyBaseUrl.substring(0, questionmarkIndex);\r\n historyQueryString = historyState.url.slice(questionmarkIndex + 1);\r\n\r\n //Fix för att \"lura\" history-listan i IE och Chrome som cache:ar entrys,\r\n //vilket gör att ajax-anropens fejkade entrys blir korrupta. Genom att\r\n //ge ajax-anropen en url som skiljer sig från de vanliga anropen lurar\r\n //vi history-cachen att cache:a på rätt sätt.\r\n historyQueryString = \"ajax=1&\" + historyQueryString;\r\n }\r\n console.log(encodeURI(historyQueryString));\r\n\r\n $.ajax({\r\n url: historyBaseUrl,\r\n type: \"get\",\r\n data: historyQueryString,\r\n dataType: \"html\",\r\n success: function (response) {\r\n publicationsFilter.$resultsContainer.html(response);\r\n uppsala.RssClickEvent();\r\n },\r\n error: function (request, status, errorThrown) {\r\n //console.log(\"epic fail: \" + errorThrown + \", \" + status);\r\n }\r\n });\r\n },\r\n\r\n // looks for specific filters (not all) to see if they have value. returns true or false.\r\n hasFilter: function () {\r\n var query = $(\"#Query\").val();\r\n var datedelimiter = $(\"#DateDelimiter\").val();\r\n var organisationid = $(\"#OrganisationId\").val();\r\n var subcategoryid = $(\"#SubCategoryId\").val();\r\n\r\n return query !== '' || datedelimiter !== '' || organisationid !== '' || subcategoryid !== '';\r\n\r\n },\r\n //Pushes the \"filter input control state\" into history\r\n UpdateHistory: function (isInitial) {\r\n var query = $(\"#Query\").val();\r\n var datedelimiter = $(\"#DateDelimiter\").val();\r\n var isbeforedate = $(\"#IsBeforeDate\").val();\r\n var typeid = $(\"#TypeId\").val();\r\n var organisationid = $(\"#OrganisationId\").val();\r\n var subcategoryid = $(\"#SubCategoryId\").val();\r\n var page = isInitial ? publicationsFilter.GetQueryStringPart(window.location.search, \"page\") : \"\";\r\n var history = window.History;\r\n var state = history.getState();\r\n\r\n state.title = query !== '' ? query + ' - ' + originalTitle : originalTitle;\r\n var hash = window.location.hash;\r\n\r\n if (hash !== \"\") {\r\n var scrollPos = publicationsFilter.$resultsContainer.offset().top;\r\n $(window).scrollTop(scrollPos);\r\n }\r\n\r\n if (enableSortOrder) {\r\n var sortorder = $(\"#SortOrder\").val();\r\n var queryString = \"?query=\" + encodeURIComponent(query) + \"&datedelimiter=\" + datedelimiter + \"&isbeforedate=\" + isbeforedate + \"&typeid=\" + typeid + \"&sortorder=\" + sortorder + \"&organisationid=\" + organisationid + \"&subcategoryid=\" + subcategoryid + \"&page=\" + page;\r\n if (isInitial) {\r\n //Ser till att querystring är komplett vid första första sidladdningen och gör sedan replace på history entryt.\r\n document.title = state.title;\r\n history.replaceState({ state: { query: query, datedelimiter: datedelimiter, isbeforedate: isbeforedate, typeid: typeid, sortorder: sortorder, organisationid: organisationid, subcategoryid: subcategoryid, page: page } }, state.title, queryString);\r\n } else {\r\n history.pushState({ state: { query: query, datedelimiter: datedelimiter, isbeforedate: isbeforedate, typeid: typeid, sortorder: sortorder, organisationid: organisationid, subcategoryid: subcategoryid, page: page } }, state.title, queryString);\r\n }\r\n }\r\n\r\n else {\r\n var queryString = \"?query=\" + encodeURIComponent(query) + \"&datedelimiter=\" + datedelimiter + \"&isbeforedate=\" + isbeforedate + \"&typeid=\" + typeid + \"&organisationid=\" + organisationid + \"&subcategoryid=\" + subcategoryid + \"&page=\" + page;\r\n if (isInitial) {\r\n //Ser till att querystring är komplett vid första första sidladdningen och gör sedan replace på history entryt.\r\n document.title = state.title;\r\n history.replaceState({ state: { query: query, datedelimiter: datedelimiter, isbeforedate: isbeforedate, typeid: typeid, organisationid: organisationid, subcategoryid: subcategoryid, page: page } }, state.title, queryString);\r\n } else {\r\n history.pushState({ state: { query: query, datedelimiter: datedelimiter, isbeforedate: isbeforedate, typeid: typeid, organisationid: organisationid, subcategoryid: subcategoryid, page: page } }, state.title, queryString);\r\n }\r\n }\r\n },\r\n //refreshing dropdown that is used as controller i mobile device when toggle-switch changes value\r\n //use if you have separarate controllers for mobile and desktop\r\n UpdateAssociatedDropdown: function (associatedDropdownId, currentValue) {\r\n var $associatedDropdownElement = $(\"#\" + associatedDropdownId);\r\n\r\n //only do this if associated dropdown can be found on page\r\n if ($associatedDropdownElement.length > 0) {\r\n //remove all selected attributes in dropdown\r\n $associatedDropdownElement.find(\"option:selected\").removeAttr('selected');\r\n //set and change value in dropdown\r\n $associatedDropdownElement.val(currentValue).change();\r\n //set selected attribute\r\n $(\"#\" + associatedDropdownId + \" option[value=\" + currentValue + \"]\").attr('selected', 'selected');\r\n }\r\n },\r\n //refreshing toggle-switch when dropdown controller in mobile device is updated\r\n //use if you have separarate controllers for mobile and desktop\r\n UpdateAssociatedToggleSwitch: function (associatedToggleSwitchId, currentValue) {\r\n var $associatedToggleSwitchElement = $(\"#\" + associatedToggleSwitchId);\r\n\r\n //change the toggle-switch to the same value\r\n //if an associated toggle-switch is present on page and the dropdown is the active/visible controller\r\n if ($associatedToggleSwitchElement.length > 0 && $(this).is(\":visible\")) {\r\n //remove all prop checked for radiobuttons in toggle switch\r\n $associatedToggleSwitchElement.find(\"input:checked\").prop('checked', false);\r\n //set checked prop\r\n $(\"#\" + associatedToggleSwitchId + \" input[value=\" + currentValue + \"]\").prop('checked', true);\r\n }\r\n },\r\n InitializeHistoryStuff: function () {\r\n // INPUT ON-KEYUP\r\n var timer;\r\n $(\"#Query\").keyup(function () {\r\n var delay = 500;\r\n clearTimeout(timer);\r\n if (enableSortOrder) {\r\n var query = this.value;\r\n timer = setTimeout(function () {\r\n var relevanceSortId = 3;\r\n var dateSortId = 1;\r\n var sortOrderOptionRelevance = $(\"#SortOrder option[value=\" + relevanceSortId + \"]\");\r\n var sortOrderSelect = $(\"#SortOrder\");\r\n\r\n if ($.trim(query).length > 0) {\r\n sortOrderSelect.val(relevanceSortId);\r\n sortOrderOptionRelevance.removeAttr('disabled');\r\n }\r\n else {\r\n sortOrderSelect.val(dateSortId);\r\n sortOrderOptionRelevance.attr(\"disabled\", true);\r\n }\r\n publicationsFilter.UpdateHistory(false);\r\n }, delay, query);\r\n }\r\n else {\r\n timer = setTimeout(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n }, delay);\r\n }\r\n });\r\n\r\n // INPUT ON-CHANGE\r\n $(\"#DateDelimiter\").change(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n });\r\n\r\n //INPUT ON-KEYUP\r\n var timerDate;\r\n $(\"#DateDelimiter\").keyup(function () {\r\n var delay = 500;\r\n clearTimeout(timerDate);\r\n timerDate = setTimeout(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n }, delay);\r\n });\r\n\r\n // SELECT ON-CHANGE\r\n $(\"#IsBeforeDate\").change(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n });\r\n\r\n // SELECT ON-CHANGE\r\n $(\"#TypeId\").change(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n publicationsFilter.UpdateAssociatedToggleSwitch($(this).data(\"associated-toggle-switch-id\"), $(this).val());\r\n\r\n });\r\n\r\n //toggle switch in desktop, controls the #TypeId dropdown\r\n $(\"#js-toggle-switch\").find('input[type=radio][name=newstype-toggleswitch]').change(function () {\r\n publicationsFilter.UpdateAssociatedDropdown($(this).data(\"associated-dropdown-id\"), $(this).val());\r\n });\r\n\r\n if (enableSortOrder) {\r\n // SELECT ON-CHANGE\r\n $(\"#SortOrder\").change(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n });\r\n }\r\n\r\n // SELECT ON-CHANGE\r\n $(\"#OrganisationId\").change(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n });\r\n\r\n // SELECT ON-CHANGE\r\n $(\"#SubCategoryId\").change(function () {\r\n publicationsFilter.UpdateHistory(false);\r\n });\r\n\r\n History.Adapter.bind(window, \"statechange\", function () {\r\n var state = window.History.getState();\r\n\r\n //Uppdatera inmatningsfälten\r\n publicationsFilter.UpdateInputFields(state);\r\n\r\n //Uppdatera resultatlistan\r\n publicationsFilter.UpdateResultList(state);\r\n });\r\n },\r\n GetQueryStringPart: function (url, key) {\r\n var vars = [], hash;\r\n\r\n var questionmarkIndex = url.indexOf(\"?\");\r\n if (questionmarkIndex == -1) return \"\";\r\n\r\n var queryString = url.slice(questionmarkIndex + 1);\r\n\r\n var hashes = queryString.split(\"&\");\r\n\r\n for (var i = 0; i < hashes.length; i++) {\r\n hash = hashes[i].split(\"=\");\r\n vars.push(hash[0]);\r\n vars[hash[0]] = hash[1];\r\n }\r\n\r\n if (!vars.hasOwnProperty(key)) {\r\n return \"\";\r\n }\r\n return vars[key];\r\n }\r\n }\r\n return publicationsFilter;\r\n});"]}