{"version":3,"sourceRoot":"/cv/scripts/DAC0/eng/include/lib","sources":["dataTables.paginationPlugin.input.js"],"sourcesContent":["(function ($) {\r\n function calcDisableClasses(oSettings) {\r\n var start = oSettings._iDisplayStart;\r\n var length = oSettings._iDisplayLength;\r\n var visibleRecords = oSettings.fnRecordsDisplay();\r\n var all = length === -1;\r\n \r\n // Gordey Doronin: Re-used this code from main jQuery.dataTables source code. To be consistent.\r\n var page = all ? 0 : Math.ceil(start / length);\r\n var pages = all ? 1 : Math.ceil(visibleRecords / length);\r\n \r\n var disableFirstPrevClass = (page > 0 ? '' : oSettings.oClasses.sPageButtonDisabled);\r\n var disableNextLastClass = (page < pages - 1 ? '' : oSettings.oClasses.sPageButtonDisabled);\r\n \r\n return {\r\n 'first': disableFirstPrevClass,\r\n 'previous': disableFirstPrevClass,\r\n 'next': disableNextLastClass,\r\n 'last': disableNextLastClass\r\n };\r\n }\r\n \r\n function calcCurrentPage(oSettings) {\r\n return Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength) + 1;\r\n }\r\n \r\n function calcPages(oSettings) {\r\n return Math.ceil(oSettings.fnRecordsDisplay() / oSettings._iDisplayLength);\r\n }\r\n \r\n var firstClassName = 'first';\r\n var previousClassName = 'previous';\r\n var nextClassName = 'next';\r\n var lastClassName = 'last';\r\n \r\n var paginateClassName = 'paginate';\r\n var paginatePageClassName = 'paginate_elem';\r\n var paginateInputClassName = 'paginate_input';\r\n var paginatePaginationPageName = 'paginate_page';\r\n var paginatePaginationPageCountName = 'paginate_pagecount';\r\n var paginatePaginationControlWrapperName = 'paginate_control';\r\n \r\n $.fn.dataTableExt.oPagination.input = {\r\n 'fnInit': function (oSettings, nPaging, fnCallbackDraw) {\r\n var nFirst = document.createElement('span');\r\n var nPrevious = document.createElement('span');\r\n var nNext = document.createElement('span');\r\n var nLast = document.createElement('span');\r\n var nInput = document.createElement('input');\r\n var nPageControl = document.createElement('div');\r\n \r\n var language = oSettings.oLanguage.oPaginate;\r\n var classes = oSettings.oClasses;\r\n \r\n nFirst.innerHTML = language.sFirst;\r\n nPrevious.innerHTML = language.sPrevious;\r\n nNext.innerHTML = language.sNext;\r\n nLast.innerHTML = language.sLast;\r\n nPageControl.innerHTML = language.pageControl;\r\n \r\n nFirst.className = firstClassName + ' small ' + classes.sPageButton;\r\n nPrevious.className = previousClassName + ' small ' + classes.sPageButton;\r\n nNext.className = nextClassName + ' small ' + classes.sPageButton;\r\n nLast.className = lastClassName + ' small ' + classes.sPageButton;\r\n nPageControl.className = paginatePageClassName + ' small' + classes.sPageButton;\r\n nInput.className = paginateInputClassName + ' form-control';\r\n \r\n nPageControl.style.display = 'inline';\r\n \r\n if (oSettings.sTableId !== '') {\r\n nPaging.setAttribute('id', oSettings.sTableId + '_' + paginateClassName);\r\n nFirst.setAttribute('id', oSettings.sTableId + '_' + firstClassName);\r\n nPrevious.setAttribute('id', oSettings.sTableId + '_' + previousClassName);\r\n nNext.setAttribute('id', oSettings.sTableId + '_' + nextClassName);\r\n nLast.setAttribute('id', oSettings.sTableId + '_' + lastClassName);\r\n }\r\n \r\n nInput.type = 'text';\r\n\r\n $(nPageControl).find('.' + paginatePaginationControlWrapperName)[0].appendChild(nInput);\r\n $(nPageControl).find('.' + paginatePaginationPageName).text('');\r\n $(nPageControl).find('.' + paginatePaginationPageCountName).text('');\r\n\r\n nPaging.appendChild(nFirst);\r\n nPaging.appendChild(nPrevious);\r\n nPaging.appendChild(nPageControl);\r\n nPaging.appendChild(nNext);\r\n nPaging.appendChild(nLast);\r\n \r\n $(nFirst).on('click', function() {\r\n var iCurrentPage = calcCurrentPage(oSettings);\r\n if (iCurrentPage !== 1) {\r\n oSettings.oApi._fnPageChange(oSettings, 'first');\r\n fnCallbackDraw(oSettings);\r\n }\r\n });\r\n \r\n $(nPrevious).on('click', function() {\r\n var iCurrentPage = calcCurrentPage(oSettings);\r\n if (iCurrentPage !== 1) {\r\n oSettings.oApi._fnPageChange(oSettings, 'previous');\r\n fnCallbackDraw(oSettings);\r\n }\r\n });\r\n \r\n $(nNext).on('click', function() {\r\n var iCurrentPage = calcCurrentPage(oSettings);\r\n if (iCurrentPage !== calcPages(oSettings)) {\r\n oSettings.oApi._fnPageChange(oSettings, 'next');\r\n fnCallbackDraw(oSettings);\r\n }\r\n });\r\n \r\n $(nLast).on('click', function() {\r\n var iCurrentPage = calcCurrentPage(oSettings);\r\n if (iCurrentPage !== calcPages(oSettings)) {\r\n oSettings.oApi._fnPageChange(oSettings, 'last');\r\n fnCallbackDraw(oSettings);\r\n }\r\n });\r\n\r\n var setPage = function(nPageIdx) {\r\n var iNewStart = oSettings._iDisplayLength * (nPageIdx - 1);\r\n if (iNewStart < 0) {\r\n iNewStart = 0;\r\n }\r\n if (iNewStart >= oSettings.fnRecordsDisplay()) {\r\n iNewStart = (Math.ceil((oSettings.fnRecordsDisplay()) / oSettings._iDisplayLength) - 1) * oSettings._iDisplayLength;\r\n }\r\n\r\n if (oSettings._iDisplayStart != iNewStart) {\r\n oSettings._iDisplayStart = iNewStart;\r\n fnCallbackDraw(oSettings);\r\n }\r\n\r\n return (iNewStart / oSettings._iDisplayLength) + 1;\r\n }\r\n \r\n $(nInput).on('keyup', function (e) {\r\n // 38 = up arrow, 39 = right arrow\r\n if (e.which === 38/* || e.which === 39*/) {\r\n this.value = setPage(parseInt(this.value)+1);\r\n }\r\n // 37 = left arrow, 40 = down arrow\r\n else if ((/*e.which === 37 || */e.which === 40) && this.value > 1) {\r\n this.value = setPage(parseInt(this.value)-1);\r\n }\r\n \r\n if (this.value === '' || this.value.match(/[^0-9]/)) {\r\n /* Nothing entered or non-numeric character */\r\n this.value = this.value.replace(/[^\\d]/g, ''); // don't even allow anything but digits\r\n return;\r\n }\r\n\r\n if (e.which === 13) {\r\n this.value = setPage(this.value);\r\n return false;\r\n }\r\n });\r\n\r\n $(nInput).on('keydown', function (e) {\r\n if (e.which === 13) {\r\n this.value = setPage(this.value);\r\n return false;\r\n }\r\n })\r\n\r\n $(nInput).on('keypress', function (e) {\r\n if (e.which === 13) {\r\n this.value = setPage(this.value);\r\n return false;\r\n }\r\n })\r\n\r\n $(nInput).on('change', function (e) {\r\n e.preventDefault(); \r\n e.stopImmediatePropagation();\r\n\r\n this.value = setPage(this.value);\r\n\r\n return false;\r\n });\r\n \r\n // Take the brutal approach to cancelling text selection.\r\n $('span', nPaging).on('mousedown', function () { return false; });\r\n $('span', nPaging).on('selectstart', function() { return false; });\r\n \r\n // If we can't page anyway, might as well not show it.\r\n var iPages = calcPages(oSettings);\r\n if (iPages <= 1) {\r\n $(nPaging).hide();\r\n }\r\n },\r\n \r\n 'fnUpdate': function (oSettings) {\r\n if (!oSettings.aanFeatures.p) {\r\n return;\r\n }\r\n \r\n var iPages = calcPages(oSettings);\r\n var iCurrentPage = calcCurrentPage(oSettings);\r\n \r\n var an = oSettings.aanFeatures.p;\r\n if (iPages <= 1) // hide paging when we can't page\r\n {\r\n $(an).hide();\r\n return;\r\n }\r\n \r\n var disableClasses = calcDisableClasses(oSettings);\r\n \r\n $(an).show();\r\n \r\n // Enable/Disable `first` button.\r\n $(an).children('.' + firstClassName)\r\n .removeClass(oSettings.oClasses.sPageButtonDisabled)\r\n .addClass(disableClasses[firstClassName]);\r\n \r\n // Enable/Disable `prev` button.\r\n $(an).children('.' + previousClassName)\r\n .removeClass(oSettings.oClasses.sPageButtonDisabled)\r\n .addClass(disableClasses[previousClassName]);\r\n \r\n // Enable/Disable `next` button.\r\n $(an).children('.' + nextClassName)\r\n .removeClass(oSettings.oClasses.sPageButtonDisabled)\r\n .addClass(disableClasses[nextClassName]);\r\n \r\n // Enable/Disable `last` button.\r\n $(an).children('.' + lastClassName)\r\n .removeClass(oSettings.oClasses.sPageButtonDisabled)\r\n .addClass(disableClasses[lastClassName]);\r\n \r\n // Paginate input control and text\r\n $(an).find('.' + paginatePaginationPageName).text(iCurrentPage);\r\n $(an).find('.' + paginatePaginationPageCountName).text(iPages);\r\n \r\n // Current page number input value\r\n $(an).find('.' + paginateInputClassName).val(iCurrentPage);\r\n }\r\n };\r\n})(jQuery);"],"names":["$","calcCurrentPage","oSettings","Math","ceil","_iDisplayStart","_iDisplayLength","calcPages","fnRecordsDisplay","firstClassName","previousClassName","nextClassName","lastClassName","paginateInputClassName","paginatePaginationPageName","paginatePaginationPageCountName","fn","dataTableExt","oPagination","input","fnInit","nPaging","fnCallbackDraw","setPage","nPageIdx","iNewStart","nFirst","document","createElement","nPrevious","nNext","nLast","nInput","nPageControl","language","oLanguage","oPaginate","classes","oClasses","innerHTML","sFirst","sPrevious","sNext","sLast","pageControl","className","sPageButton","paginatePageClassName","style","display","sTableId","setAttribute","type","find","appendChild","text","on","oApi","_fnPageChange","e","which","this","value","parseInt","match","replace","preventDefault","stopImmediatePropagation","hide","fnUpdate","iPages","iCurrentPage","an","start","length","visibleRecords","pages","aanFeatures","p","page","all","disableFirstPrevClass","sPageButtonDisabled","disableNextLastClass","disableClasses","first","previous","next","last","show","children","removeClass","addClass","val","jQuery"],"mappings":"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"}