{"version":3,"file":"uppsala.organisationunit.min.js","names":["define","organisationUnit","init","window","History","enabled","$","hide","UpdateHistory","val","InitializeHistory","isInitial","yearValue","state","getState","title","document","replaceState","selectedyear","pushState","UpdateSelectList","historyState","data","prop","UpdateMeetingsList","actionUrl","attr","historyQueryString","questionmarkIndex","url","indexOf","slice","ajax","type","encodeURI","dataType","success","response","html","error","request","status","errorThrown","on","yearSelectValue","this","Adapter","bind"],"sources":["uppsala.organisationunit.js"],"mappings":"AAAAA,OAAO,CAAC,SAAU,YAAY,WAC1B,IAAIC,EAAmB,CACnBC,KAAM,WACEC,OAAOC,QAAQC,UACfC,EAAE,gBAAgBC,OAIlBN,EAAiBO,eAAc,EAAMF,EAAE,iBAAiBG,OAExDR,EAAiBS,oBAEzB,EACAF,cAAe,SAASG,EAAWC,GAC/B,IAAIC,EAAQV,OAAOC,QAAQU,WAGvBD,EAAME,QACNF,EAAME,MAAQC,SAASD,OAGtBH,IACDA,EAAY,IAEZD,EACAR,OAAOC,QAAQa,aAAa,CAAEJ,MAAO,CAAEK,aAAcN,IAAeC,EAAME,MAAO,iBAAmBH,GAGpGT,OAAOC,QAAQe,UAAU,CAAEN,MAAO,CAAEK,aAAcN,IAAeC,EAAME,MAAO,iBAAmBH,EAEzG,EACAQ,iBAAkB,SAAUC,GACC,MAArBA,EAAaC,MAA2C,MAA3BD,EAAaC,KAAKT,QACH,MAAxCQ,EAAaC,KAAKT,MAAMK,aACxBZ,EAAE,+BAAiCe,EAAaC,KAAKT,MAAMK,aAAe,MAAMK,KAAK,YAAY,GAGjGjB,EAAE,kCAA4CiB,KAAK,YAAY,GAG3E,EACAC,mBAAoB,SAAUH,GAC1B,IAAII,EAAYnB,EAAE,iBAAiBoB,KAAK,UAGpCC,EAAqB,GACrBC,EAAoBP,EAAaQ,IAAIC,QAAQ,KAE7CF,GAAqB,IAQrBD,EAAqB,WANrBA,EAAqBN,EAAaQ,IAAIE,MAAMH,EAAoB,KASpEtB,EAAE0B,KAAK,CACHH,IAAKJ,EACLQ,KAAM,MACNX,KAAMY,UAAUP,GAChBQ,SAAU,OACVC,QAAS,SAAUC,GACf/B,EAAE,YAAYgC,KAAKD,EACvB,EACAE,MAAO,SAAUC,EAASC,EAAQC,GAElC,GAER,EACAhC,kBAAmB,WACfJ,EAAE,iBAAiBqC,GAAG,UAAU,WAC5B,IAAIC,EAAkBtC,EAAEuC,MAAMpC,MAE9BR,EAAiBO,eAAc,EAAOoC,EAC1C,IAEAxC,QAAQ0C,QAAQC,KAAK5C,OAAQ,eAAe,WACxC,IAAIU,EAAQV,OAAOC,QAAQU,WAE3Bb,EAAiBmB,iBAAiBP,GAElCZ,EAAiBuB,mBAAmBX,EACxC,GACJ,GAEJ,OAAOZ,CACX","ignoreList":[],"sourcesContent":["define([\"jquery\", \"history\"], function() {\r\n var organisationUnit = {\r\n init: function() {\r\n if (window.History.enabled) {\r\n $(\"#year-filter\").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 initializeHistory(), annars funkar det inte i Chrome!\r\n organisationUnit.UpdateHistory(true, $(\"#SelectedYear\").val());\r\n\r\n organisationUnit.InitializeHistory();\r\n }\r\n },\r\n UpdateHistory: function(isInitial, yearValue) {\r\n var state = window.History.getState();\r\n \r\n //Fix för att undvika att titeln blir tom vid det första besöket på sidan.\r\n if(!state.title) {\r\n state.title = document.title;\r\n } \r\n\r\n if (!yearValue)\r\n yearValue = \"\";\r\n\r\n if (isInitial) {\r\n window.History.replaceState({ state: { selectedyear: yearValue } }, state.title, \"?selectedyear=\" + yearValue);\r\n }\r\n else {\r\n window.History.pushState({ state: { selectedyear: yearValue } }, state.title, \"?selectedyear=\" + yearValue);\r\n }\r\n },\r\n UpdateSelectList: function (historyState) {\r\n if (historyState.data != null && historyState.data.state != null) {\r\n if (historyState.data.state.selectedyear != null) {\r\n $('#SelectedYear option[value=\"' + historyState.data.state.selectedyear + '\"]').prop(\"selected\", true);\r\n }\r\n else {\r\n $('#SelectedYear option[value=\"' + \"\" + '\"]').prop(\"selected\", true);\r\n }\r\n }\r\n },\r\n UpdateMeetingsList: function (historyState) {\r\n var actionUrl = $(\"#meeting-form\").attr(\"action\");\r\n\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\r\n $.ajax({\r\n url: actionUrl,\r\n type: \"get\",\r\n data: encodeURI(historyQueryString),\r\n dataType: \"html\",\r\n success: function (response) {\r\n $(\"#results\").html(response);\r\n },\r\n error: function (request, status, errorThrown) {\r\n //console.log(\"Error loading meetings: \" + errorThrown + \", \" + status);\r\n }\r\n });\r\n },\r\n InitializeHistory: function () {\r\n $(\"#SelectedYear\").on(\"change\", function () {\r\n var yearSelectValue = $(this).val();\r\n //Uppdatera historik när årtal ändras\r\n organisationUnit.UpdateHistory(false, yearSelectValue);\r\n });\r\n\r\n History.Adapter.bind(window, \"statechange\", function () {\r\n var state = window.History.getState();\r\n //Uppdatera årtal\r\n organisationUnit.UpdateSelectList(state);\r\n //Uppdatera mötesvyn\r\n organisationUnit.UpdateMeetingsList(state);\r\n });\r\n }\r\n }\r\n return organisationUnit;\r\n});"]}