{"version":3,"sources":["list-module-paging.js","list-module-ajax-list.js","list-module-spinner.js","list.js","stringExtensions.js"],"names":["PagingModule","moduleEle","module","this","initEvents","on","e","preventDefault","link","cash","closest","find","removeClass","addClass","instant","list","fireOnChanged","getModuleValue","href","attr","page","window","getParameterFromLink","parseInt","onServerSuccess","eventArgs","html","response","data","PagingHtml","AjaxListModule","hideFromQueryString","PageUrl","settings","currentUrl","cultureName","CurrentContentId","currentContentId","FullQueryString","currentQueryString","Ajax","ListHtml","SpinnerModule","spinnerTimeout","spinnerTimeoutNumber","onBeforeServerCall","setTimeout","showSpinner","onServerComplete","hideSpinner","clearTimeout","extend","moduleClasses","init","lists","each","initList","initPopstate","listManaged","listId","controllerUrl","moduleEles","initModules","modules","moduleClassName","moduleClass","moduleObj","push","moduleValues","getModuleValues","updateListFromServer","updateQueryString","objectEquals","currentAjaxModuleValues","currentJQXHR","abort","fireEvent","ajaxData","afterThisEvent","axios","request","method","url","then","queryStringValues","scrollToTopOfList","catch","error","moduleQueryStringValues","i","length","moduleValue","eventMethodName","trigger","key","value","number","isNaN","history","pushState","hasInitPopState","bindEvents","addEventListener","dataFromQueryString","queryStringToObject","scrollToElementId","scrollToElement","console","log","ScrollTo","target","animationFn","duration","scroll","String","prototype","format","args","arguments","replace","match"],"mappings":"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","file":"../list-feed.min.js","sourcesContent":["function PagingModule(moduleEle) {\r\n var module = this;\r\n module.moduleEle = moduleEle;\r\n module.initEvents = function () {\r\n //console.log('PagingModule initEvents()');\r\n module.moduleEle.on('click', 'a', function (e) {\r\n e.preventDefault();\r\n var link = cash(this),\r\n siblingLinks = link.closest('ul').find('a');\r\n siblingLinks.removeClass('clicked');\r\n link.addClass('clicked');\r\n //console.log('click', link.attr('href'));\r\n instant.list.fireOnChanged(module);\r\n return null;\r\n });\r\n }\r\n module.getModuleValue = function () {\r\n var href = module.moduleEle.find('.clicked').attr('href'),\r\n page = href ? window.getParameterFromLink('page', href) : null;\r\n //console.log('PagingModule.getModuleValue()', page);\r\n return { page: page ? parseInt(page) : null };\r\n }\r\n module.onServerSuccess = function (eventArgs) {\r\n module.moduleEle.html(eventArgs.response.data.PagingHtml);\r\n }\r\n module.initEvents();\r\n}\r\n//console.log('PagingModule', PagingModule);\r\ninstant.list.settings.moduleClasses['PagingModule'] = PagingModule;","function AjaxListModule(moduleEle) {\r\n var module = this;\r\n module.moduleEle = moduleEle;\r\n module.hideFromQueryString = true;\r\n module.getModuleValue = function() {\r\n return {\r\n PageUrl: instant.settings.currentUrl,\r\n cultureName: instant.settings.cultureName,\r\n CurrentContentId: instant.settings.currentContentId,\r\n FullQueryString: instant.settings.currentQueryString,\r\n Ajax: true\r\n };\r\n }\r\n module.onServerSuccess = function (eventArgs) {\r\n //console.log('AjaxListModule.onServerSuccess', eventArgs);\r\n module.moduleEle.html(eventArgs.response.data.ListHtml);\r\n }\r\n}\r\n\r\ninstant.list.settings.moduleClasses['AjaxListModule'] = AjaxListModule;","function SpinnerModule(moduleEle) {\r\n var module = this;\r\n module.moduleEle = moduleEle;\r\n module.spinnerTimeout = 100;\r\n module.spinnerTimeoutNumber = null;\r\n\r\n module.onBeforeServerCall = function (eventArgs) {\r\n //console.log('SpinnerModule.onBeforeServerCall()');\r\n module.spinnerTimeoutNumber = window.setTimeout(function () {\r\n //window.clearTimeout(module.spinnerTimeoutNumber);\r\n module.showSpinner();\r\n }, module.spinnerTimeout);\r\n }\r\n\r\n module.onServerComplete = function (eventArgs) {\r\n //console.log('SpinnerModule.onServerSuccess()');\r\n module.hideSpinner();\r\n }\r\n\r\n module.showSpinner = function () {\r\n module.moduleEle.removeClass('hidden');\r\n }\r\n\r\n module.hideSpinner = function () {\r\n window.clearTimeout(module.spinnerTimeoutNumber);\r\n module.moduleEle.addClass('hidden');\r\n }\r\n}\r\n\r\ninstant.list.settings.moduleClasses['SpinnerModule'] = SpinnerModule;","/*! dependencies: scroll-animate-to, axios, popstate */\r\n/*\r\n *\r\n * Modules for the list can implement the following:\r\n * #Properties\r\n * hideFromQueryString -> Set to true if the keys and values returned from getModuleValue() should not be added to the page query string\r\n * \r\n * #Methods\r\n * getModuleValue() -> Should return an object with the keys and values the module wants sent to the server\r\n * \r\n * #Events\r\n * void onServerSuccess(eventArgs) -> Is called when a successfull call is returned from the server\r\n * - eventArgs.response -> The response from the server\r\n * - eventArgs.ajaxData -> The data sent to the server\r\n * void onServerError(eventArgs) -> Is called when the server throws an error\r\n * - eventArgs.response -> The response from the server\r\n * - eventArgs.ajaxData -> The data sent to the server\r\n * bool onBeforeServerCall(eventArgs) -> Is called Before the server call is made\r\n * - eventArgs.ajaxData -> The data sent to the server\r\n * - eventArgs.abort -> true if another module have ordered the server call aborted. If true the server call will never be made and this module have no further influence on that\r\n * - return -> true if the server call should be aborted\r\n * void onServerCallAborted(eventArgs) -> Is called after the server call have been aborted\r\n * - eventArgs.ajaxData -> The data sent to the server\r\n * void onServerComplete(eventArgs) -> Is called after success, error or abort\r\n * - eventArgs.afterThisEvent -> The event that was fired before this\r\n * - eventArgs.? -> The eventargs will depend on which event was fired before\r\n * \r\n */\r\n\r\ninstant.list = {\r\n settings: cash.extend({\r\n moduleClasses: []\r\n }, instant.settings && instant.settings.list ? instant.settings.list : {}),\r\n init: function () {\r\n instant.list.lists = [];\r\n //console.log('init');\r\n cash('.list-managed').each(instant.list.initList);\r\n instant.list.initPopstate();\r\n },\r\n initList: function () {\r\n //console.log('initList');\r\n var listManaged = cash(this),\r\n listId = listManaged.attr('id'),\r\n controllerUrl = listManaged.data('list-ajax-url');\r\n\r\n instant.list.lists[listId] = {\r\n listManaged: listManaged,\r\n listId: listId,\r\n controllerUrl: controllerUrl\r\n };\r\n\r\n window.setTimeout(function () {\r\n var moduleEles = cash('[data-list-id=' + listId + ']');\r\n //console.log('initList', listId, moduleEles);\r\n instant.list.initModules(listId, moduleEles);\r\n }, 0);\r\n\r\n },\r\n initModules: function (listId, moduleEles) {\r\n instant.list.lists[listId].modules = [];\r\n moduleEles.each(function () {\r\n var moduleEle = cash(this),\r\n moduleClassName = moduleEle.data('list-class'),\r\n moduleClass = instant.list.settings.moduleClasses[moduleClassName];\r\n if (moduleClass) {\r\n //console.log('moduleClass', moduleEle, instant.list.settings.moduleClasses, moduleClassName);\r\n var moduleObj = new (moduleClass)(moduleEle);\r\n moduleObj.listId = listId;\r\n instant.list.lists[listId].modules.push(moduleObj);\r\n }\r\n });\r\n\r\n instant.list.lists[listId].listManaged.on('module-changed', function (e, moduleObj) {\r\n var listId = cash(this).attr('id');\r\n var moduleValues = instant.list.getModuleValues(listId);\r\n //console.log('module-changed event', moduleObj, listId, moduleValues);\r\n instant.list.updateListFromServer(listId, moduleValues, true);\r\n });\r\n },\r\n updateListFromServer: function (listId, moduleValues, updateQueryString) {\r\n var oldVsNewCompare = window.objectEquals(moduleValues, instant.list.currentAjaxModuleValues);\r\n //console.log('updateListFromServer', oldVsNewCompare);\r\n if (!oldVsNewCompare) {\r\n if (instant.list.currentJQXHR) {\r\n instant.list.currentJQXHR.abort();\r\n instant.list.currentJQXHR = null;\r\n }\r\n\r\n var eventArgs = instant.list.fireEvent(listId, 'onBeforeServerCall', { ajaxData: moduleValues.ajaxData, abort: false });\r\n //console.log('abort', abort);\r\n if (eventArgs.abort) {\r\n instant.list.fireEvent(listId, 'onServerCallAborted', { ajaxData: moduleValues.ajaxData });\r\n instant.list.fireEvent(listId, 'onServerComplete', { ajaxData: moduleValues.ajaxData, afterThisEvent: 'abort' });\r\n return;\r\n }\r\n\r\n instant.list.currentAjaxModuleValues = moduleValues;\r\n\r\n axios.request({\r\n method: 'POST',\r\n url: instant.list.lists[listId].controllerUrl,\r\n data: moduleValues.ajaxData\r\n }).then(function (response) {\r\n // handle success\r\n //console.log('handle success', response);\r\n instant.list.fireEvent(listId, 'onServerSuccess', { ajaxData: moduleValues.ajaxData, response: response });\r\n instant.list.fireEvent(listId, 'onServerComplete', { ajaxData: moduleValues.ajaxData, response: response, afterThisEvent: 'success' });\r\n if (updateQueryString) {\r\n instant.list.updateQueryString(listId, response, moduleValues.queryStringValues);\r\n }\r\n instant.list.scrollToTopOfList(listId);\r\n }).catch(function (error) {\r\n // handle error\r\n //console.log('handle error');\r\n instant.list.fireEvent(listId, 'onServerError', { ajaxData: moduleValues.ajaxData, response: error });\r\n instant.list.fireEvent(listId, 'onServerComplete', { ajaxData: moduleValues.ajaxData, response: error, afterThisEvent: 'error' });\r\n }).then(function () {\r\n //console.log('always executed');\r\n // always executed\r\n });\r\n }\r\n },\r\n getModuleValues: function (listId) {\r\n var ajaxData = {};\r\n var moduleQueryStringValues = {};\r\n for (var i = 0; i < instant.list.lists[listId].modules.length; i++) {\r\n var module = instant.list.lists[listId].modules[i];\r\n if (module.getModuleValue && typeof module.getModuleValue === 'function') {\r\n var moduleValue = module.getModuleValue();\r\n if (moduleValue) {\r\n ajaxData = cash.extend(ajaxData, moduleValue);\r\n //console.log('getModuleValues', module.addModuleValuesToQueryString(), moduleValue);\r\n if (!module.hideFromQueryString) {\r\n moduleQueryStringValues = cash.extend(moduleQueryStringValues, moduleValue);\r\n }\r\n }\r\n }\r\n }\r\n //console.log('getModuleValues', moduleQueryStringValues);\r\n return { ajaxData: ajaxData, queryStringValues: moduleQueryStringValues };\r\n },\r\n fireEvent: function (listId, eventMethodName, eventArgs) {\r\n //console.log('fireEvent.' + eventMethodName, eventArgs);\r\n for (var i = 0; i < instant.list.lists[listId].modules.length; i++) {\r\n var module = instant.list.lists[listId].modules[i];\r\n //console.log('module[' + eventMethodName + ']', module[eventMethodName], module);\r\n if (module[eventMethodName] && typeof module[eventMethodName] === 'function') {\r\n module[eventMethodName](eventArgs);\r\n }\r\n }\r\n return eventArgs;\r\n },\r\n fireOnChanged: function (moduleObj) {\r\n if (moduleObj) {\r\n //instant.list.lists[listId].listManaged\r\n //console.log('fireOnChanged()', instant.list.lists[moduleObj.listId].listManaged);\r\n instant.list.lists[moduleObj.listId].listManaged.trigger('module-changed', this);\r\n }\r\n },\r\n updateQueryString: function (listId, response, queryStringValues) {\r\n if (queryStringValues) {\r\n //console.log('updateQueryString', queryStringValues);\r\n var url = '';\r\n\r\n cash.each(queryStringValues, function (key, value) {\r\n //console.log('updateQueryString', key, value);\r\n var number = parseInt(value);\r\n url = window.updateQueryString(key, value && (isNaN(number) || number > 0) ? value : null, url);\r\n });\r\n\r\n //console.log('updateQueryString', url);\r\n history.pushState(null, null, url);\r\n }\r\n },\r\n initPopstate: function () {\r\n if (!instant.list.hasInitPopState) {\r\n instant.list.bindEvents();\r\n instant.list.hasInitPopState = true;\r\n }\r\n },\r\n bindEvents: function () {\r\n window.addEventListener('popstate', function (e) {\r\n var dataFromQueryString = window.queryStringToObject();\r\n //console.log('popstate 1', dataFromQueryString, instant.list.lists);\r\n for (var listId in instant.list.lists) {\r\n //console.log('popstate 2', listId);\r\n var moduleValues = instant.list.getModuleValues(listId);\r\n moduleValues.ajaxData = cash.extend(moduleValues.ajaxData, dataFromQueryString);\r\n moduleValues.queryStringValues = dataFromQueryString;\r\n //console.log('popstate 3', moduleValues);\r\n instant.list.updateListFromServer(listId, moduleValues);\r\n };\r\n });\r\n },\r\n scrollToTopOfList: function (listId) {\r\n var scrollToElementId = '#' + listId + '-scollTo',\r\n scrollToElement = cash(scrollToElementId);\r\n console.log('scrollToTopOfList', scrollToElementId, scrollToElement);\r\n if (scrollToElement[0]) {\r\n var scrollIns = new ScrollTo({\r\n target: scrollToElement[0],\r\n animationFn: 'easeOut',\r\n duration: 300\r\n });\r\n scrollIns.scroll();\r\n }\r\n }\r\n}","if (!String.prototype.format) {\r\n String.prototype.format = function () {\r\n //console.info('format: ', arguments);\r\n var args = arguments;\r\n return this.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] != 'undefined'\r\n ? args[number]\r\n : match\r\n ;\r\n });\r\n };\r\n}"]}