{"version":3,"sources":["pagination.options.ts","pagination.ts"],"names":[],"mappings":"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","file":"pagination.js","sourcesContent":["declare namespace Pagination {\r\n interface Options {\r\n container: HTMLDivElement;\r\n callPageClickCallbackOnInit?: boolean;\r\n pageClickCallback?: (pageNumber: number) => void;\r\n pageClickUrl?: string | ((pageNumber: number) => string);\r\n maxVisibleElements?: number;\r\n showSlider?: boolean;\r\n showInput?: boolean;\r\n inputTitle?: string;\r\n enhancedMode?: boolean;\r\n }\r\n}\r\n","class Pagination {\r\n private options: Pagination.Options;\r\n private paginationContainer: JQuery;\r\n private maxVisibleElements: number;\r\n private pageCount: number;\r\n private currentPage: number;\r\n private usePaginationDots = false;\r\n private paginationUl: HTMLUListElement;\r\n private goToPageInput: HTMLInputElement;\r\n private sliderDiv: HTMLDivElement;\r\n private sliderTipDiv: HTMLDivElement;\r\n\r\n constructor(options: Pagination.Options) {\r\n this.options = options;\r\n this.paginationContainer = $(options.container);\r\n\r\n this.maxVisibleElements = 13;\r\n if (options.maxVisibleElements) {\r\n this.maxVisibleElements = options.maxVisibleElements;\r\n if (this.maxVisibleElements % 2 === 0) {\r\n this.maxVisibleElements--;\r\n }\r\n\r\n const enhancementCorrection = this.options.enhancedMode ? 4 : 0;\r\n if (this.maxVisibleElements - enhancementCorrection < 7) {\r\n this.maxVisibleElements = 7 + enhancementCorrection;\r\n }\r\n }\r\n }\r\n\r\n public make(itemsCount: number, itemsOnPage: number, defaultPageNumber: number = 1) {\r\n defaultPageNumber = Number(defaultPageNumber);\r\n if (!defaultPageNumber) {\r\n defaultPageNumber = 1;\r\n }\r\n\r\n this.pageCount = Math.ceil(itemsCount / itemsOnPage);\r\n\r\n this.paginationContainer.empty();\r\n\r\n const $innerContainer = $(document.createElement(\"div\"));\r\n $innerContainer.addClass(\"pagination-container\");\r\n\r\n if (this.options.showSlider) {\r\n $innerContainer.append(this.createSlider());\r\n }\r\n $innerContainer.append(this.createPageList());\r\n if (this.options.showInput) {\r\n $innerContainer.append(this.createPageInput());\r\n }\r\n\r\n this.paginationContainer.append($innerContainer);\r\n\r\n this.updateCurrentPage(defaultPageNumber, this.options.callPageClickCallbackOnInit);\r\n }\r\n\r\n public goToPage(pageNumber: number) {\r\n if (pageNumber < 1) {\r\n pageNumber = 1;\r\n } else if (pageNumber > this.pageCount) {\r\n pageNumber = this.pageCount;\r\n }\r\n\r\n this.updateCurrentPage(pageNumber, true);\r\n\r\n if (this.options.pageClickUrl) {\r\n const url = this.createPageClickUrl(pageNumber);\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n public getPageCount(): number {\r\n return this.pageCount;\r\n }\r\n\r\n public getCurrentPage(): number {\r\n return this.currentPage;\r\n }\r\n\r\n private updateCurrentPage(newPageNumber: number, callPageClickCallback: boolean) {\r\n this.currentPage = newPageNumber;\r\n this.updateVisiblePageElements();\r\n\r\n if (this.options.showInput && this.goToPageInput) {\r\n $(this.goToPageInput).val(newPageNumber);\r\n }\r\n\r\n if (this.options.showSlider && this.sliderDiv) {\r\n const sliderElJq = $(this.sliderDiv);\r\n if (sliderElJq.slider) {\r\n sliderElJq.slider(\"value\", newPageNumber);\r\n }\r\n }\r\n\r\n $(this.sliderTipDiv).text(newPageNumber);\r\n\r\n if (callPageClickCallback && this.options.pageClickCallback) {\r\n this.options.pageClickCallback(newPageNumber);\r\n }\r\n }\r\n\r\n private createPageList(): HTMLUListElement {\r\n const paginationUl = document.createElement(\"ul\");\r\n $(paginationUl)\r\n .addClass(\"pagination\")\r\n .addClass(\"pagination-sm\");\r\n\r\n this.paginationUl = paginationUl;\r\n return paginationUl;\r\n }\r\n\r\n private createPageElement(label: string, pageNumber: any): HTMLLIElement {\r\n const pageLi = document.createElement(\"li\");\r\n pageLi.classList.add(\"page-item\");\r\n const pageLink = document.createElement(\"a\");\r\n pageLink.classList.add(\"page-link\");\r\n const $pageLink = $(pageLink);\r\n $pageLink\r\n .html(label)\r\n .attr(\"data-page-number\", pageNumber)\r\n .click(this.onPageClick.bind(this));\r\n\r\n const pageClickUrl = this.options.pageClickUrl;\r\n const hrefUrl = pageClickUrl ? this.createPageClickUrl(pageNumber) : \"#\";\r\n $pageLink.attr(\"href\", hrefUrl);\r\n\r\n pageLi.appendChild(pageLink);\r\n return pageLi;\r\n }\r\n\r\n private createDotsPageElement(): HTMLLIElement {\r\n const element = document.createElement(\"li\");\r\n $(element)\r\n .addClass(\"disabled\")\r\n .addClass(\"three-dots\");\r\n\r\n const contentElement = document.createElement(\"span\");\r\n contentElement.innerHTML = \"…\";\r\n\r\n element.appendChild(contentElement);\r\n return element;\r\n }\r\n\r\n private recreatePageElements(pageNumber: number) {\r\n const $paginationUl = $(this.paginationUl);\r\n const pageCount = this.pageCount;\r\n const isEnhanced = this.options.enhancedMode;\r\n const previousPage = pageNumber > 2 ? pageNumber - 1 : 1;\r\n const nextPage = pageNumber < pageCount ? pageNumber + 1 : pageCount;\r\n const previousPageLi = this.createPageElement(\"«\", previousPage);\r\n const nextPageLi = this.createPageElement(\"»\", nextPage);\r\n const createAndAppendPageElement = (createPageNumber: number) => {\r\n const pageLi = this.createPageElement(createPageNumber.toString(), createPageNumber);\r\n if (createPageNumber === pageNumber) {\r\n pageLi.classList.add(\"active\");\r\n }\r\n $paginationUl.append(pageLi);\r\n };\r\n\r\n $paginationUl.empty();\r\n\r\n if (pageCount <= this.maxVisibleElements - 2) {\r\n $paginationUl.append(previousPageLi);\r\n for (let i = 1; i <= pageCount; i++) {\r\n createAndAppendPageElement(i);\r\n }\r\n $paginationUl.append(nextPageLi);\r\n return;\r\n }\r\n\r\n const centerCount = this.maxVisibleElements - 6;\r\n const sideCount = (centerCount - 1) / 2;\r\n let centerLeftPage = pageNumber - sideCount;\r\n let centerRightPage = pageNumber + sideCount;\r\n const showDotsLeft = centerLeftPage - 1 > 1;\r\n const showDotsRight = centerRightPage + 1 < pageCount;\r\n\r\n if (centerLeftPage < 3) {\r\n centerLeftPage = 2;\r\n centerRightPage = centerLeftPage + centerCount;\r\n }\r\n if (centerRightPage > pageCount - 2) {\r\n centerRightPage = pageCount - 1;\r\n centerLeftPage = centerRightPage - centerCount;\r\n }\r\n\r\n $paginationUl.append(previousPageLi);\r\n createAndAppendPageElement(1);\r\n\r\n if (showDotsLeft) {\r\n $paginationUl.append(this.createDotsPageElement());\r\n }\r\n let isRightEnhancement = false;\r\n if (isEnhanced) {\r\n if (centerLeftPage >= 5) {\r\n createAndAppendPageElement(Math.ceil((centerLeftPage + 3) / 2));\r\n $paginationUl.append(this.createDotsPageElement());\r\n centerLeftPage += 2;\r\n }\r\n if (centerRightPage <= pageCount - 4) {\r\n centerRightPage -= 2;\r\n isRightEnhancement = true;\r\n }\r\n }\r\n for (let i = centerLeftPage; i <= centerRightPage; i++) {\r\n createAndAppendPageElement(i);\r\n }\r\n if (isRightEnhancement) {\r\n $paginationUl.append(this.createDotsPageElement());\r\n createAndAppendPageElement(Math.floor((centerRightPage + pageCount) / 2));\r\n }\r\n if (showDotsRight) {\r\n $paginationUl.append(this.createDotsPageElement());\r\n }\r\n\r\n createAndAppendPageElement(pageCount);\r\n $paginationUl.append(nextPageLi);\r\n }\r\n\r\n private updateVisiblePageElements() {\r\n this.recreatePageElements(this.currentPage);\r\n }\r\n\r\n private createPageInput(): HTMLDivElement {\r\n const inputGroupDiv = document.createElement(\"div\");\r\n const inputGroupButtonSpan = document.createElement(\"span\");\r\n const goToPageInput = document.createElement(\"input\");\r\n const goToPageButton = document.createElement(\"button\");\r\n const goToPageIcon = document.createElement(\"span\");\r\n\r\n $(inputGroupDiv)\r\n .addClass(\"input-group\")\r\n .addClass(\"input-group-sm\")\r\n .addClass(\"pagination-input\")\r\n .append(goToPageInput)\r\n .append(inputGroupButtonSpan);\r\n\r\n $(goToPageInput)\r\n .attr(\"type\", \"text\")\r\n .addClass(\"form-control\")\r\n .keypress(this.onGoToInputKeyPress.bind(this));\r\n\r\n $(inputGroupButtonSpan)\r\n .addClass(\"input-group-btn\")\r\n .append(goToPageButton);\r\n\r\n $(goToPageButton)\r\n .attr(\"type\", \"button\")\r\n .addClass(\"btn\")\r\n .addClass(\"btn-default\")\r\n .append(goToPageIcon)\r\n .click(this.onGoToPageButtonClick.bind(this));\r\n\r\n $(goToPageIcon)\r\n .addClass(\"glyphicon\")\r\n .addClass(\"glyphicon-arrow-right\");\r\n\r\n if (this.options.inputTitle) {\r\n $([goToPageInput, goToPageButton]).attr(\"title\", this.options.inputTitle);\r\n }\r\n\r\n this.goToPageInput = goToPageInput;\r\n return inputGroupDiv;\r\n }\r\n\r\n private createSlider(): HTMLDivElement {\r\n const sliderContainer = document.createElement(\"div\");\r\n const slider = document.createElement(\"div\");\r\n\r\n const tooltip = document.createElement(\"div\");\r\n const tooltipArrow = document.createElement(\"div\");\r\n const tooltipInner = document.createElement(\"div\");\r\n\r\n const showSliderTip = () => {\r\n $(tooltip).stop(true, true).show();\r\n };\r\n const hideSliderTip = () => {\r\n $(tooltip).fadeOut(600);\r\n };\r\n\r\n $(sliderContainer)\r\n .addClass(\"pagination-slider\")\r\n .append(slider);\r\n\r\n $(slider).slider({\r\n min: 1,\r\n max: this.pageCount,\r\n change: this.onSliderChange.bind(this),\r\n start: showSliderTip,\r\n stop: hideSliderTip,\r\n slide: (event, ui) => {\r\n showSliderTip();\r\n $(tooltipInner).text(ui.value);\r\n },\r\n });\r\n\r\n $(tooltip)\r\n .addClass(\"tooltip\")\r\n .addClass(\"top\")\r\n .addClass(\"pagination-tooltip\")\r\n .append(tooltipArrow)\r\n .append(tooltipInner)\r\n .hide();\r\n\r\n $(tooltipArrow).addClass(\"tooltip-arrow\");\r\n $(tooltipInner).addClass(\"tooltip-inner\");\r\n\r\n $(\".ui-slider-handle\", slider)\r\n .addClass(\"pagination-slider-handle\")\r\n .append(tooltip)\r\n .hover(showSliderTip)\r\n .mouseout(hideSliderTip);\r\n\r\n this.sliderDiv = slider;\r\n this.sliderTipDiv = tooltipInner;\r\n return sliderContainer;\r\n }\r\n\r\n private onPageClick(event: JQueryEventObject) {\r\n const pageValue = $(event.target).data(\"page-number\");\r\n const pageNumber = Number(pageValue);\r\n\r\n if (this.options.pageClickUrl) {\r\n if (this.options.pageClickCallback) {\r\n this.options.pageClickCallback(pageNumber);\r\n }\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n this.updateCurrentPage(pageNumber, true);\r\n }\r\n\r\n private onGoToPageButtonClick() {\r\n const pageNumberData = $(this.goToPageInput).val();\r\n const pageNumber = Number(pageNumberData);\r\n this.goToPage(pageNumber);\r\n }\r\n\r\n private onGoToInputKeyPress(event: JQueryEventObject) {\r\n if (event.keyCode === 13) {\r\n this.onGoToPageButtonClick();\r\n }\r\n }\r\n\r\n private onSliderChange(event: Event, ui: JQueryUI.SliderUIParams) {\r\n if (ui.value !== this.currentPage) {\r\n this.goToPage(ui.value);\r\n }\r\n }\r\n\r\n private createPageClickUrl(pageNumber: number): string {\r\n const pageClickUrl = this.options.pageClickUrl;\r\n switch (typeof pageClickUrl) {\r\n case \"function\":\r\n return (pageClickUrl as (x) => string)(pageNumber);\r\n case \"string\":\r\n return (pageClickUrl as string).replace(\"{{page}}\", pageNumber.toString());\r\n default:\r\n return \"#\";\r\n }\r\n }\r\n}\r\n"]}