ngx-tethys 20.0.0 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/autocomplete/index.d.ts +17 -22
- package/fesm2022/ngx-tethys-autocomplete.mjs +31 -97
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +482 -420
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +216 -193
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/select/index.d.ts +78 -63
- package/shared/index.d.ts +132 -61
- package/shared/option/styles/option.mixin.scss +0 -10
- package/shared/option/styles/select-dropdown.scss +10 -9
|
@@ -355,7 +355,7 @@ class ThyPagination {
|
|
|
355
355
|
this.thyPageSizeChanged.emit(event);
|
|
356
356
|
}
|
|
357
357
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
358
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: { classPropertyName: "thyPageIndex", publicName: "thyPageIndex", isSignal: true, isRequired: false, transformFunction: null }, thyPageSize: { classPropertyName: "thyPageSize", publicName: "thyPageSize", isSignal: true, isRequired: false, transformFunction: null }, thyTotal: { classPropertyName: "thyTotal", publicName: "thyTotal", isSignal: true, isRequired: false, transformFunction: null }, thyCustomPages: { classPropertyName: "thyCustomPages", publicName: "thyCustomPages", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null }, thyShowQuickJumper: { classPropertyName: "thyShowQuickJumper", publicName: "thyShowQuickJumper", isSignal: true, isRequired: false, transformFunction: null }, thyShowTotalPageCount: { classPropertyName: "thyShowTotalPageCount", publicName: "thyShowTotalPageCount", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyMaxCount: { classPropertyName: "thyMaxCount", publicName: "thyMaxCount", isSignal: true, isRequired: false, transformFunction: null }, thyMarginalCount: { classPropertyName: "thyMarginalCount", publicName: "thyMarginalCount", isSignal: true, isRequired: false, transformFunction: null }, thyRangeCount: { classPropertyName: "thyRangeCount", publicName: "thyRangeCount", isSignal: true, isRequired: false, transformFunction: null }, thyShowSizeChanger: { classPropertyName: "thyShowSizeChanger", publicName: "thyShowSizeChanger", isSignal: true, isRequired: false, transformFunction: null }, thyPageSizeOptions: { classPropertyName: "thyPageSizeOptions", publicName: "thyPageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, thyHideOnSinglePage: { classPropertyName: "thyHideOnSinglePage", publicName: "thyHideOnSinglePage", isSignal: true, isRequired: false, transformFunction: null }, thyUnit: { classPropertyName: "thyUnit", publicName: "thyUnit", isSignal: true, isRequired: false, transformFunction: null }, thyShowTotal: { classPropertyName: "thyShowTotal", publicName: "thyShowTotal", isSignal: true, isRequired: false, transformFunction: null }, selectedPageSize: { classPropertyName: "selectedPageSize", publicName: "selectedPageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyPageIndexChange: "thyPageIndexChange", thyPageChanged: "thyPageChanged", thyPageSizeChanged: "thyPageSizeChanged", selectedPageSize: "selectedPageSizeChange" }, host: { properties: { "class.thy-pagination-sm": "thySize() === \"sm\"", "class.thy-pagination-md": "thySize() === \"md\"", "class.thy-pagination-lg": "thySize() === \"lg\"", "class.thy-pagination-has-total": "thyShowTotal()" }, classAttribute: "thy-pagination" }, ngImport: i0, template: "@let locale = paginationLocale();\n@let hideOnSinglePage = thyHideOnSinglePage();\n@let pageIndex = currentPageIndex();\n@let pageSize = currentPageSize();\n@let total = thyTotal();\n@let range = computedRange();\n@let config = computedConfig();\n@let pages = computedPages();\n@let pageCount = computedPageCount();\n@let disabled = thyDisabled();\n@let size = thySize();\n@let showTotal = thyShowTotal();\n\n@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div\n class=\"thy-pagination-total\"\n [class.thy-pagination-total-sm]=\"size === 'sm'\"\n [class.thy-pagination-total-md]=\"size === 'md'\"\n [class.thy-pagination-total-lg]=\"size === 'lg'\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n {{ locale.order }}<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n {{ locale.total }}<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n }\n </div>\n }\n <div class=\"thy-pagination-content\">\n @if (config.showSizeChanger) {\n <div class=\"thy-pagination-size\">\n <thy-select [(ngModel)]=\"selectedPageSize\" [thySize]=\"size\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option\n class=\"page-size-option\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + (config.unit | paginationPerPageFormat: allLocale())\"></thy-option>\n }\n </thy-select>\n </div>\n }\n <ul class=\"thy-pagination-pages\">\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n @if (config.firstText) {\n {{ config.firstText }}\n }\n @if (config.firstIcon) {\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n @if (config.previousText) {\n {{ config.previousText }}\n }\n @if (config.previousIcon) {\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @for (page of pages; track page.index) {\n <li class=\"thy-page-item thy-page-number\" [class.active]=\"page.active\" [class.disabled]=\"disabled\" (click)=\"selectPage(page.index)\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item page-item-next\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n @if (config.nextText) {\n {{ config.nextText }}\n }\n @if (config.nextIcon) {\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n @if (config.lastText) {\n {{ config.lastText }}\n }\n @if (config.lastIcon) {\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n </ul>\n @if (config.showTotalPageCount && config.totalPagesFormat) {\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat: config.totalPagesFormat\"></div>\n }\n @if (config.showQuickJumper) {\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n {{ locale.jumpTo }}\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n {{ locale.page }}\n </div>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange"
|
|
358
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: { classPropertyName: "thyPageIndex", publicName: "thyPageIndex", isSignal: true, isRequired: false, transformFunction: null }, thyPageSize: { classPropertyName: "thyPageSize", publicName: "thyPageSize", isSignal: true, isRequired: false, transformFunction: null }, thyTotal: { classPropertyName: "thyTotal", publicName: "thyTotal", isSignal: true, isRequired: false, transformFunction: null }, thyCustomPages: { classPropertyName: "thyCustomPages", publicName: "thyCustomPages", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null }, thyShowQuickJumper: { classPropertyName: "thyShowQuickJumper", publicName: "thyShowQuickJumper", isSignal: true, isRequired: false, transformFunction: null }, thyShowTotalPageCount: { classPropertyName: "thyShowTotalPageCount", publicName: "thyShowTotalPageCount", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyMaxCount: { classPropertyName: "thyMaxCount", publicName: "thyMaxCount", isSignal: true, isRequired: false, transformFunction: null }, thyMarginalCount: { classPropertyName: "thyMarginalCount", publicName: "thyMarginalCount", isSignal: true, isRequired: false, transformFunction: null }, thyRangeCount: { classPropertyName: "thyRangeCount", publicName: "thyRangeCount", isSignal: true, isRequired: false, transformFunction: null }, thyShowSizeChanger: { classPropertyName: "thyShowSizeChanger", publicName: "thyShowSizeChanger", isSignal: true, isRequired: false, transformFunction: null }, thyPageSizeOptions: { classPropertyName: "thyPageSizeOptions", publicName: "thyPageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, thyHideOnSinglePage: { classPropertyName: "thyHideOnSinglePage", publicName: "thyHideOnSinglePage", isSignal: true, isRequired: false, transformFunction: null }, thyUnit: { classPropertyName: "thyUnit", publicName: "thyUnit", isSignal: true, isRequired: false, transformFunction: null }, thyShowTotal: { classPropertyName: "thyShowTotal", publicName: "thyShowTotal", isSignal: true, isRequired: false, transformFunction: null }, selectedPageSize: { classPropertyName: "selectedPageSize", publicName: "selectedPageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyPageIndexChange: "thyPageIndexChange", thyPageChanged: "thyPageChanged", thyPageSizeChanged: "thyPageSizeChanged", selectedPageSize: "selectedPageSizeChange" }, host: { properties: { "class.thy-pagination-sm": "thySize() === \"sm\"", "class.thy-pagination-md": "thySize() === \"md\"", "class.thy-pagination-lg": "thySize() === \"lg\"", "class.thy-pagination-has-total": "thyShowTotal()" }, classAttribute: "thy-pagination" }, ngImport: i0, template: "@let locale = paginationLocale();\n@let hideOnSinglePage = thyHideOnSinglePage();\n@let pageIndex = currentPageIndex();\n@let pageSize = currentPageSize();\n@let total = thyTotal();\n@let range = computedRange();\n@let config = computedConfig();\n@let pages = computedPages();\n@let pageCount = computedPageCount();\n@let disabled = thyDisabled();\n@let size = thySize();\n@let showTotal = thyShowTotal();\n\n@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div\n class=\"thy-pagination-total\"\n [class.thy-pagination-total-sm]=\"size === 'sm'\"\n [class.thy-pagination-total-md]=\"size === 'md'\"\n [class.thy-pagination-total-lg]=\"size === 'lg'\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n {{ locale.order }}<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n {{ locale.total }}<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n }\n </div>\n }\n <div class=\"thy-pagination-content\">\n @if (config.showSizeChanger) {\n <div class=\"thy-pagination-size\">\n <thy-select [(ngModel)]=\"selectedPageSize\" [thySize]=\"size\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option\n class=\"page-size-option\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + (config.unit | paginationPerPageFormat: allLocale())\"></thy-option>\n }\n </thy-select>\n </div>\n }\n <ul class=\"thy-pagination-pages\">\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n @if (config.firstText) {\n {{ config.firstText }}\n }\n @if (config.firstIcon) {\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n @if (config.previousText) {\n {{ config.previousText }}\n }\n @if (config.previousIcon) {\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @for (page of pages; track page.index) {\n <li class=\"thy-page-item thy-page-number\" [class.active]=\"page.active\" [class.disabled]=\"disabled\" (click)=\"selectPage(page.index)\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item page-item-next\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n @if (config.nextText) {\n {{ config.nextText }}\n }\n @if (config.nextIcon) {\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n @if (config.lastText) {\n {{ config.lastText }}\n }\n @if (config.lastIcon) {\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n </ul>\n @if (config.showTotalPageCount && config.totalPagesFormat) {\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat: config.totalPagesFormat\"></div>\n }\n @if (config.showQuickJumper) {\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n {{ locale.jumpTo }}\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n {{ locale.page }}\n </div>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "pipe", type: PaginationTotalCountFormat, name: "paginationTotalPagesFormat" }, { kind: "pipe", type: PaginationPerPageFormat, name: "paginationPerPageFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
359
359
|
}
|
|
360
360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyPagination, decorators: [{
|
|
361
361
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-pagination.mjs","sources":["../../../src/pagination/pagination.config.ts","../../../src/pagination/pagination.pipe.ts","../../../src/pagination/pagination.component.ts","../../../src/pagination/pagination.component.html","../../../src/pagination/pagination.module.ts","../../../src/pagination/ngx-tethys-pagination.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ThyPaginationConfigModel } from './pagination.class';\n\nexport const DEFAULT_RANGE_COUNT = 5;\n\nexport const PaginationDefaultConfig: ThyPaginationConfigModel = {\n boundaryLinks: false,\n directionLinks: true,\n pageSize: 20,\n maxCount: 7,\n rangeCount: DEFAULT_RANGE_COUNT,\n showQuickJumper: true,\n showTotalPageCount: true,\n firstText: '第一页',\n lastText: '最后一页',\n previousText: '',\n nextText: '',\n firstIcon: '',\n lastIcon: '',\n previousIcon: 'angle-left',\n nextIcon: 'angle-right',\n totalPagesFormat: '共{total}页',\n showSizeChanger: false,\n pageSizeOptions: [10, 20, 50, 100],\n unit: '条'\n};\nexport interface ThyPaginationConfig {\n main?: ThyPaginationConfigModel;\n}\n\nexport const THY_PAGINATION_CONFIG = new InjectionToken<ThyPaginationConfig>('THY_PAGINATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return {};\n }\n});\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ThyI18nLocale } from 'ngx-tethys/i18n';\n\n/**\n * @private\n */\n@Pipe({\n name: 'paginationTotalPagesFormat'\n})\nexport class PaginationTotalCountFormat implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n transform(count: number, format: string): any {\n if (count && format) {\n return this.sanitizer.bypassSecurityTrustHtml(format.replace(/\\{(.+?)\\}/g, `<span>${count}</span>`));\n } else {\n return '';\n }\n }\n}\n\n@Pipe({\n name: 'paginationPerPageFormat'\n})\nexport class PaginationPerPageFormat implements PipeTransform {\n transform(unit: string, locale: ThyI18nLocale): string {\n if (locale.id.includes('en') || locale.id.includes('de')) {\n // eg. 5 / page\n // eg. 5 / Seite\n return ' / ' + locale.pagination.page;\n } else {\n // eg. 5 条/页\n // eg. 5 個/頁\n // eg. 5 条/ページ\n return ' ' + unit + '/' + locale.pagination.page;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n numberAttribute,\n inject,\n Signal,\n input,\n output,\n effect,\n computed,\n signal,\n model,\n WritableSignal,\n ModelSignal\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThySelect } from 'ngx-tethys/select';\nimport { ThyEnterDirective, ThyOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, isTemplateRef, ThyBooleanInput } from 'ngx-tethys/util';\nimport { ThyPaginationConfigModel } from './pagination.class';\nimport { PaginationDefaultConfig, THY_PAGINATION_CONFIG, DEFAULT_RANGE_COUNT } from './pagination.config';\nimport { PaginationPerPageFormat, PaginationTotalCountFormat } from './pagination.pipe';\nimport { injectLocale, ThyI18nLocale, ThyPaginationLocale } from 'ngx-tethys/i18n';\nimport { isString, isArray, isBoolean } from 'ngx-tethys/util';\n/**\n * 分页组件,当数据量过多时,使用分页分解数据。\n * @name thy-pagination\n * @order 10\n */\n@Component({\n selector: 'thy-pagination',\n templateUrl: './pagination.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n ThySelect,\n FormsModule,\n ThyOption,\n ThyIcon,\n ThyEnterDirective,\n PaginationTotalCountFormat,\n PaginationPerPageFormat\n ],\n host: {\n class: 'thy-pagination',\n '[class.thy-pagination-sm]': 'thySize() === \"sm\"',\n '[class.thy-pagination-md]': 'thySize() === \"md\"',\n '[class.thy-pagination-lg]': 'thySize() === \"lg\"',\n '[class.thy-pagination-has-total]': 'thyShowTotal()'\n }\n})\nexport class ThyPagination {\n private paginationConfig = inject(THY_PAGINATION_CONFIG, { optional: true })!;\n\n allLocale: Signal<ThyI18nLocale> = injectLocale();\n\n paginationLocale: Signal<ThyPaginationLocale> = injectLocale('pagination');\n\n isTemplateRef = isTemplateRef;\n\n /**\n * 设置当前页,支持双向绑定\n * @default 1\n */\n readonly thyPageIndex = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 每页条目数量\n * @default 20\n */\n readonly thyPageSize = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 数据总数\n */\n readonly thyTotal = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 自定义分页页码,设置自定义分页页码后将不根据 Total 和 PageSize 来自动计算页码,完全以传入的页码为准\n * @type number[]\n */\n readonly thyCustomPages = input<number[]>();\n\n /**\n * 是否禁用\n */\n readonly thyDisabled = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否显示快速跳转\n * @default false\n */\n readonly thyShowQuickJumper = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * 设置是否显示总页数信息\n * @default true\n */\n readonly thyShowTotalPageCount = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * 设置分页组件的大小\n * @type sm | md | lg\n * @default md\n */\n readonly thySize = input<'sm' | 'md' | 'lg'>('md', { alias: 'thySize' });\n\n /**\n * 设置最大显示数量,超出最大显示数后会自动进行分割显示\n * @default 9\n */\n readonly thyMaxCount = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 设置边缘显示数量\n * @default 2\n */\n readonly thyMarginalCount = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 设置中间区域显示数量\n * @default 5\n */\n readonly thyRangeCount = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 是否显示分页大小选择器\n * @default false\n */\n readonly thyShowSizeChanger = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * @type number[]\n */\n readonly thyPageSizeOptions = input<number[]>(undefined);\n\n /**\n * 只有一页时是否隐藏分页器\n * @default false\n */\n readonly thyHideOnSinglePage = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * 分页器单位\n * @default 条\n */\n readonly thyUnit = input<string>();\n\n /**\n * 是否显示范围和total\n * @default false\n */\n\n readonly thyShowTotal = input<boolean | TemplateRef<{ $implicit: number; range: { from: number; to: number } }>>(false);\n\n /**\n * 页码改变的回调\n */\n readonly thyPageIndexChange = output<number>();\n\n /**\n * 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致\n */\n readonly thyPageChanged = output<{ page: number }>();\n\n readonly thyPageSizeChanged = output<number>();\n\n public currentPageIndex = signal(1);\n\n public currentPageSize: WritableSignal<number> = signal(null);\n\n public selectedPageSize: ModelSignal<number> = model();\n\n public firstIndex = 1;\n\n computedConfig: Signal<ThyPaginationConfigModel> = computed(() => {\n const result: ThyPaginationConfigModel = Object.assign(\n {},\n PaginationDefaultConfig,\n {\n firstText: this.paginationLocale().firstPage,\n lastText: this.paginationLocale().lastPage,\n totalPagesFormat: this.paginationLocale().totalCount,\n unit: this.paginationLocale().defaultUnit\n },\n this.paginationConfig.main\n );\n\n if (isBoolean(this.thyShowQuickJumper())) {\n result.showQuickJumper = this.thyShowQuickJumper();\n }\n\n if (isBoolean(this.thyShowTotalPageCount())) {\n result.showTotalPageCount = this.thyShowTotalPageCount();\n }\n\n if (this.thyCustomPages() && isArray(this.thyCustomPages())) {\n result.showTotalPageCount = false;\n }\n\n if (Number.isInteger(this.thyMaxCount())) {\n result.maxCount = this.thyMaxCount();\n }\n\n if (isString(this.thyUnit()) && this.thyUnit()) {\n result.unit = this.thyUnit();\n }\n\n if (isBoolean(this.thyShowSizeChanger())) {\n result.showSizeChanger = this.thyShowSizeChanger();\n }\n\n if (this.thyPageSizeOptions() && isArray(this.thyPageSizeOptions())) {\n result.pageSizeOptions = this.thyPageSizeOptions();\n }\n\n if (Number.isInteger(this.thyRangeCount())) {\n result.rangeCount = this.thyRangeCount();\n }\n\n return result;\n });\n\n marginalCount = computed(() => {\n if (!this.thyMarginalCount()) {\n return this.computedConfig().rangeCount <= DEFAULT_RANGE_COUNT ? 1 : 2;\n } else {\n return this.thyMarginalCount();\n }\n });\n\n computedPageCount = computed(() => {\n let pageCount = null;\n if (this.thyCustomPages() && this.thyCustomPages().length > 0) {\n pageCount = this.thyCustomPages()[this.thyCustomPages().length - 1];\n } else {\n pageCount = this.currentPageSize() < 1 ? 1 : Math.ceil(this.thyTotal() / this.currentPageSize());\n }\n return Math.max(pageCount || 0, 1);\n });\n\n computedPages = computed(() => {\n const pageCount = this.computedPageCount();\n const pageIndex = this.currentPageIndex();\n const config = this.computedConfig();\n\n if (this.thyCustomPages() && this.thyCustomPages().length > 0) {\n return this.thyCustomPages().map(page => {\n return { index: page, text: page.toString(), active: page === +pageIndex };\n });\n }\n\n let pages = [];\n const marginalCount = this.marginalCount();\n const rangeCount = config.rangeCount;\n const maxCount = config.maxCount;\n const isMaxSized = pageCount > maxCount;\n if (isMaxSized) {\n const beforePages = [];\n const afterPages = [];\n\n // mainPages\n let start = Math.ceil(Math.max(marginalCount + 1, pageIndex - (rangeCount - 1) / 2));\n let end = Math.ceil(Math.min(pageIndex + (rangeCount - 1) / 2, pageCount - marginalCount));\n if (pageIndex - 1 < marginalCount) {\n end = rangeCount;\n }\n if (pageCount - pageIndex <= marginalCount) {\n start = pageCount - rangeCount + 1;\n }\n\n for (let i = start; i <= end; i++) {\n pages.push({ index: i, text: i.toString(), active: i === +pageIndex });\n }\n\n // beforePages\n for (let i = 1; i <= marginalCount; i++) {\n beforePages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n\n if (pageIndex - Math.ceil(rangeCount / 2) > this.firstIndex && marginalCount + 1 < start) {\n beforePages.push(this.makePage(Math.ceil((marginalCount + start) / 2), '···', null));\n }\n\n // afterPages\n if (pageIndex + Math.ceil(rangeCount / 2) < pageCount && pageCount - marginalCount > end) {\n afterPages.push(this.makePage(Math.ceil((pageCount - marginalCount + 1 + end) / 2), '···', null));\n }\n for (let i = pageCount - marginalCount + 1; i <= pageCount; i++) {\n afterPages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n\n pages = [...beforePages, ...pages, ...afterPages];\n } else {\n for (let i = 1; i <= pageCount; i++) {\n pages.push({ index: i, text: i.toString(), active: i === +pageIndex });\n }\n }\n return pages;\n });\n\n computedRange = computed(() => {\n const pageIndex = this.currentPageIndex();\n const pageSize = this.currentPageSize();\n const total = this.thyTotal();\n const toPageSize = pageIndex * pageSize;\n return { from: (pageIndex - 1) * pageSize + 1, to: toPageSize > total ? total : toPageSize };\n });\n\n constructor() {\n effect(() => {\n const pageIndex = this.thyPageIndex();\n if (Number.isInteger(pageIndex)) {\n this.setPageIndex(pageIndex);\n }\n });\n\n effect(() => {\n let pageSize = this.thyPageSize();\n\n if (Number.isInteger(pageSize)) {\n this.currentPageSize.set(pageSize);\n this.selectedPageSize.set(pageSize);\n } else {\n const config = this.computedConfig();\n if (config.pageSizeOptions && config.pageSizeOptions.length > 0) {\n pageSize = config.pageSizeOptions[0];\n } else {\n pageSize = config.pageSize;\n }\n this.currentPageSize.set(pageSize);\n this.selectedPageSize.set(pageSize);\n }\n });\n }\n\n private setPageIndex(pageIndex: number) {\n pageIndex = pageIndex > this.computedPageCount() ? this.computedPageCount() : pageIndex || 1;\n this.currentPageIndex.set(pageIndex);\n }\n\n private makePage(index: number, text: string, active: boolean): { index: number; text: string; active: boolean } {\n return { index, text, active };\n }\n\n private pageChange(pageIndex: number) {\n this.thyPageIndexChange.emit(pageIndex);\n this.thyPageChanged.emit({ page: pageIndex });\n }\n\n selectPage(pageIndex: number) {\n if (this.thyDisabled() || pageIndex === this.firstIndex - 1 || pageIndex === this.computedPageCount() + 1) {\n return;\n }\n this.setPageIndex(pageIndex);\n this.pageChange(this.currentPageIndex());\n }\n\n jumpPage(input: HTMLInputElement) {\n const pageIndex = +input.value;\n if (Number.isInteger(pageIndex)) {\n this.selectPage(pageIndex);\n }\n input.value = '';\n }\n\n onPageSizeChange(event: number) {\n this.currentPageSize.set(event);\n this.setPageIndex(event);\n this.thyPageSizeChanged.emit(event);\n }\n}\n","@let locale = paginationLocale();\n@let hideOnSinglePage = thyHideOnSinglePage();\n@let pageIndex = currentPageIndex();\n@let pageSize = currentPageSize();\n@let total = thyTotal();\n@let range = computedRange();\n@let config = computedConfig();\n@let pages = computedPages();\n@let pageCount = computedPageCount();\n@let disabled = thyDisabled();\n@let size = thySize();\n@let showTotal = thyShowTotal();\n\n@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div\n class=\"thy-pagination-total\"\n [class.thy-pagination-total-sm]=\"size === 'sm'\"\n [class.thy-pagination-total-md]=\"size === 'md'\"\n [class.thy-pagination-total-lg]=\"size === 'lg'\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n {{ locale.order }}<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n {{ locale.total }}<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n }\n </div>\n }\n <div class=\"thy-pagination-content\">\n @if (config.showSizeChanger) {\n <div class=\"thy-pagination-size\">\n <thy-select [(ngModel)]=\"selectedPageSize\" [thySize]=\"size\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option\n class=\"page-size-option\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + (config.unit | paginationPerPageFormat: allLocale())\"></thy-option>\n }\n </thy-select>\n </div>\n }\n <ul class=\"thy-pagination-pages\">\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n @if (config.firstText) {\n {{ config.firstText }}\n }\n @if (config.firstIcon) {\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n @if (config.previousText) {\n {{ config.previousText }}\n }\n @if (config.previousIcon) {\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @for (page of pages; track page.index) {\n <li class=\"thy-page-item thy-page-number\" [class.active]=\"page.active\" [class.disabled]=\"disabled\" (click)=\"selectPage(page.index)\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item page-item-next\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n @if (config.nextText) {\n {{ config.nextText }}\n }\n @if (config.nextIcon) {\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n @if (config.lastText) {\n {{ config.lastText }}\n }\n @if (config.lastIcon) {\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n </ul>\n @if (config.showTotalPageCount && config.totalPagesFormat) {\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat: config.totalPagesFormat\"></div>\n }\n @if (config.showQuickJumper) {\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n {{ locale.jumpTo }}\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n {{ locale.page }}\n </div>\n </div>\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { ThyPagination } from './pagination.component';\nimport { CommonModule } from '@angular/common';\nimport { PaginationPerPageFormat, PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySelectModule } from 'ngx-tethys/select';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThySharedModule,\n ThyIconModule,\n ThySelectModule,\n ThyPagination,\n PaginationTotalCountFormat,\n PaginationPerPageFormat\n ],\n exports: [ThyPagination]\n})\nexport class ThyPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-pagination.mjs","sources":["../../../src/pagination/pagination.config.ts","../../../src/pagination/pagination.pipe.ts","../../../src/pagination/pagination.component.ts","../../../src/pagination/pagination.component.html","../../../src/pagination/pagination.module.ts","../../../src/pagination/ngx-tethys-pagination.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ThyPaginationConfigModel } from './pagination.class';\n\nexport const DEFAULT_RANGE_COUNT = 5;\n\nexport const PaginationDefaultConfig: ThyPaginationConfigModel = {\n boundaryLinks: false,\n directionLinks: true,\n pageSize: 20,\n maxCount: 7,\n rangeCount: DEFAULT_RANGE_COUNT,\n showQuickJumper: true,\n showTotalPageCount: true,\n firstText: '第一页',\n lastText: '最后一页',\n previousText: '',\n nextText: '',\n firstIcon: '',\n lastIcon: '',\n previousIcon: 'angle-left',\n nextIcon: 'angle-right',\n totalPagesFormat: '共{total}页',\n showSizeChanger: false,\n pageSizeOptions: [10, 20, 50, 100],\n unit: '条'\n};\nexport interface ThyPaginationConfig {\n main?: ThyPaginationConfigModel;\n}\n\nexport const THY_PAGINATION_CONFIG = new InjectionToken<ThyPaginationConfig>('THY_PAGINATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return {};\n }\n});\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ThyI18nLocale } from 'ngx-tethys/i18n';\n\n/**\n * @private\n */\n@Pipe({\n name: 'paginationTotalPagesFormat'\n})\nexport class PaginationTotalCountFormat implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n transform(count: number, format: string): any {\n if (count && format) {\n return this.sanitizer.bypassSecurityTrustHtml(format.replace(/\\{(.+?)\\}/g, `<span>${count}</span>`));\n } else {\n return '';\n }\n }\n}\n\n@Pipe({\n name: 'paginationPerPageFormat'\n})\nexport class PaginationPerPageFormat implements PipeTransform {\n transform(unit: string, locale: ThyI18nLocale): string {\n if (locale.id.includes('en') || locale.id.includes('de')) {\n // eg. 5 / page\n // eg. 5 / Seite\n return ' / ' + locale.pagination.page;\n } else {\n // eg. 5 条/页\n // eg. 5 個/頁\n // eg. 5 条/ページ\n return ' ' + unit + '/' + locale.pagination.page;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n numberAttribute,\n inject,\n Signal,\n input,\n output,\n effect,\n computed,\n signal,\n model,\n WritableSignal,\n ModelSignal\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThySelect } from 'ngx-tethys/select';\nimport { ThyEnterDirective, ThyOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, isTemplateRef, ThyBooleanInput } from 'ngx-tethys/util';\nimport { ThyPaginationConfigModel } from './pagination.class';\nimport { PaginationDefaultConfig, THY_PAGINATION_CONFIG, DEFAULT_RANGE_COUNT } from './pagination.config';\nimport { PaginationPerPageFormat, PaginationTotalCountFormat } from './pagination.pipe';\nimport { injectLocale, ThyI18nLocale, ThyPaginationLocale } from 'ngx-tethys/i18n';\nimport { isString, isArray, isBoolean } from 'ngx-tethys/util';\n/**\n * 分页组件,当数据量过多时,使用分页分解数据。\n * @name thy-pagination\n * @order 10\n */\n@Component({\n selector: 'thy-pagination',\n templateUrl: './pagination.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n ThySelect,\n FormsModule,\n ThyOption,\n ThyIcon,\n ThyEnterDirective,\n PaginationTotalCountFormat,\n PaginationPerPageFormat\n ],\n host: {\n class: 'thy-pagination',\n '[class.thy-pagination-sm]': 'thySize() === \"sm\"',\n '[class.thy-pagination-md]': 'thySize() === \"md\"',\n '[class.thy-pagination-lg]': 'thySize() === \"lg\"',\n '[class.thy-pagination-has-total]': 'thyShowTotal()'\n }\n})\nexport class ThyPagination {\n private paginationConfig = inject(THY_PAGINATION_CONFIG, { optional: true })!;\n\n allLocale: Signal<ThyI18nLocale> = injectLocale();\n\n paginationLocale: Signal<ThyPaginationLocale> = injectLocale('pagination');\n\n isTemplateRef = isTemplateRef;\n\n /**\n * 设置当前页,支持双向绑定\n * @default 1\n */\n readonly thyPageIndex = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 每页条目数量\n * @default 20\n */\n readonly thyPageSize = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 数据总数\n */\n readonly thyTotal = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 自定义分页页码,设置自定义分页页码后将不根据 Total 和 PageSize 来自动计算页码,完全以传入的页码为准\n * @type number[]\n */\n readonly thyCustomPages = input<number[]>();\n\n /**\n * 是否禁用\n */\n readonly thyDisabled = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否显示快速跳转\n * @default false\n */\n readonly thyShowQuickJumper = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * 设置是否显示总页数信息\n * @default true\n */\n readonly thyShowTotalPageCount = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * 设置分页组件的大小\n * @type sm | md | lg\n * @default md\n */\n readonly thySize = input<'sm' | 'md' | 'lg'>('md', { alias: 'thySize' });\n\n /**\n * 设置最大显示数量,超出最大显示数后会自动进行分割显示\n * @default 9\n */\n readonly thyMaxCount = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 设置边缘显示数量\n * @default 2\n */\n readonly thyMarginalCount = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 设置中间区域显示数量\n * @default 5\n */\n readonly thyRangeCount = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 是否显示分页大小选择器\n * @default false\n */\n readonly thyShowSizeChanger = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * @type number[]\n */\n readonly thyPageSizeOptions = input<number[]>(undefined);\n\n /**\n * 只有一页时是否隐藏分页器\n * @default false\n */\n readonly thyHideOnSinglePage = input<boolean, ThyBooleanInput>(undefined, { transform: coerceBooleanProperty });\n\n /**\n * 分页器单位\n * @default 条\n */\n readonly thyUnit = input<string>();\n\n /**\n * 是否显示范围和total\n * @default false\n */\n\n readonly thyShowTotal = input<boolean | TemplateRef<{ $implicit: number; range: { from: number; to: number } }>>(false);\n\n /**\n * 页码改变的回调\n */\n readonly thyPageIndexChange = output<number>();\n\n /**\n * 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致\n */\n readonly thyPageChanged = output<{ page: number }>();\n\n readonly thyPageSizeChanged = output<number>();\n\n public currentPageIndex = signal(1);\n\n public currentPageSize: WritableSignal<number> = signal(null);\n\n public selectedPageSize: ModelSignal<number> = model();\n\n public firstIndex = 1;\n\n computedConfig: Signal<ThyPaginationConfigModel> = computed(() => {\n const result: ThyPaginationConfigModel = Object.assign(\n {},\n PaginationDefaultConfig,\n {\n firstText: this.paginationLocale().firstPage,\n lastText: this.paginationLocale().lastPage,\n totalPagesFormat: this.paginationLocale().totalCount,\n unit: this.paginationLocale().defaultUnit\n },\n this.paginationConfig.main\n );\n\n if (isBoolean(this.thyShowQuickJumper())) {\n result.showQuickJumper = this.thyShowQuickJumper();\n }\n\n if (isBoolean(this.thyShowTotalPageCount())) {\n result.showTotalPageCount = this.thyShowTotalPageCount();\n }\n\n if (this.thyCustomPages() && isArray(this.thyCustomPages())) {\n result.showTotalPageCount = false;\n }\n\n if (Number.isInteger(this.thyMaxCount())) {\n result.maxCount = this.thyMaxCount();\n }\n\n if (isString(this.thyUnit()) && this.thyUnit()) {\n result.unit = this.thyUnit();\n }\n\n if (isBoolean(this.thyShowSizeChanger())) {\n result.showSizeChanger = this.thyShowSizeChanger();\n }\n\n if (this.thyPageSizeOptions() && isArray(this.thyPageSizeOptions())) {\n result.pageSizeOptions = this.thyPageSizeOptions();\n }\n\n if (Number.isInteger(this.thyRangeCount())) {\n result.rangeCount = this.thyRangeCount();\n }\n\n return result;\n });\n\n marginalCount = computed(() => {\n if (!this.thyMarginalCount()) {\n return this.computedConfig().rangeCount <= DEFAULT_RANGE_COUNT ? 1 : 2;\n } else {\n return this.thyMarginalCount();\n }\n });\n\n computedPageCount = computed(() => {\n let pageCount = null;\n if (this.thyCustomPages() && this.thyCustomPages().length > 0) {\n pageCount = this.thyCustomPages()[this.thyCustomPages().length - 1];\n } else {\n pageCount = this.currentPageSize() < 1 ? 1 : Math.ceil(this.thyTotal() / this.currentPageSize());\n }\n return Math.max(pageCount || 0, 1);\n });\n\n computedPages = computed(() => {\n const pageCount = this.computedPageCount();\n const pageIndex = this.currentPageIndex();\n const config = this.computedConfig();\n\n if (this.thyCustomPages() && this.thyCustomPages().length > 0) {\n return this.thyCustomPages().map(page => {\n return { index: page, text: page.toString(), active: page === +pageIndex };\n });\n }\n\n let pages = [];\n const marginalCount = this.marginalCount();\n const rangeCount = config.rangeCount;\n const maxCount = config.maxCount;\n const isMaxSized = pageCount > maxCount;\n if (isMaxSized) {\n const beforePages = [];\n const afterPages = [];\n\n // mainPages\n let start = Math.ceil(Math.max(marginalCount + 1, pageIndex - (rangeCount - 1) / 2));\n let end = Math.ceil(Math.min(pageIndex + (rangeCount - 1) / 2, pageCount - marginalCount));\n if (pageIndex - 1 < marginalCount) {\n end = rangeCount;\n }\n if (pageCount - pageIndex <= marginalCount) {\n start = pageCount - rangeCount + 1;\n }\n\n for (let i = start; i <= end; i++) {\n pages.push({ index: i, text: i.toString(), active: i === +pageIndex });\n }\n\n // beforePages\n for (let i = 1; i <= marginalCount; i++) {\n beforePages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n\n if (pageIndex - Math.ceil(rangeCount / 2) > this.firstIndex && marginalCount + 1 < start) {\n beforePages.push(this.makePage(Math.ceil((marginalCount + start) / 2), '···', null));\n }\n\n // afterPages\n if (pageIndex + Math.ceil(rangeCount / 2) < pageCount && pageCount - marginalCount > end) {\n afterPages.push(this.makePage(Math.ceil((pageCount - marginalCount + 1 + end) / 2), '···', null));\n }\n for (let i = pageCount - marginalCount + 1; i <= pageCount; i++) {\n afterPages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n\n pages = [...beforePages, ...pages, ...afterPages];\n } else {\n for (let i = 1; i <= pageCount; i++) {\n pages.push({ index: i, text: i.toString(), active: i === +pageIndex });\n }\n }\n return pages;\n });\n\n computedRange = computed(() => {\n const pageIndex = this.currentPageIndex();\n const pageSize = this.currentPageSize();\n const total = this.thyTotal();\n const toPageSize = pageIndex * pageSize;\n return { from: (pageIndex - 1) * pageSize + 1, to: toPageSize > total ? total : toPageSize };\n });\n\n constructor() {\n effect(() => {\n const pageIndex = this.thyPageIndex();\n if (Number.isInteger(pageIndex)) {\n this.setPageIndex(pageIndex);\n }\n });\n\n effect(() => {\n let pageSize = this.thyPageSize();\n\n if (Number.isInteger(pageSize)) {\n this.currentPageSize.set(pageSize);\n this.selectedPageSize.set(pageSize);\n } else {\n const config = this.computedConfig();\n if (config.pageSizeOptions && config.pageSizeOptions.length > 0) {\n pageSize = config.pageSizeOptions[0];\n } else {\n pageSize = config.pageSize;\n }\n this.currentPageSize.set(pageSize);\n this.selectedPageSize.set(pageSize);\n }\n });\n }\n\n private setPageIndex(pageIndex: number) {\n pageIndex = pageIndex > this.computedPageCount() ? this.computedPageCount() : pageIndex || 1;\n this.currentPageIndex.set(pageIndex);\n }\n\n private makePage(index: number, text: string, active: boolean): { index: number; text: string; active: boolean } {\n return { index, text, active };\n }\n\n private pageChange(pageIndex: number) {\n this.thyPageIndexChange.emit(pageIndex);\n this.thyPageChanged.emit({ page: pageIndex });\n }\n\n selectPage(pageIndex: number) {\n if (this.thyDisabled() || pageIndex === this.firstIndex - 1 || pageIndex === this.computedPageCount() + 1) {\n return;\n }\n this.setPageIndex(pageIndex);\n this.pageChange(this.currentPageIndex());\n }\n\n jumpPage(input: HTMLInputElement) {\n const pageIndex = +input.value;\n if (Number.isInteger(pageIndex)) {\n this.selectPage(pageIndex);\n }\n input.value = '';\n }\n\n onPageSizeChange(event: number) {\n this.currentPageSize.set(event);\n this.setPageIndex(event);\n this.thyPageSizeChanged.emit(event);\n }\n}\n","@let locale = paginationLocale();\n@let hideOnSinglePage = thyHideOnSinglePage();\n@let pageIndex = currentPageIndex();\n@let pageSize = currentPageSize();\n@let total = thyTotal();\n@let range = computedRange();\n@let config = computedConfig();\n@let pages = computedPages();\n@let pageCount = computedPageCount();\n@let disabled = thyDisabled();\n@let size = thySize();\n@let showTotal = thyShowTotal();\n\n@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div\n class=\"thy-pagination-total\"\n [class.thy-pagination-total-sm]=\"size === 'sm'\"\n [class.thy-pagination-total-md]=\"size === 'md'\"\n [class.thy-pagination-total-lg]=\"size === 'lg'\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n {{ locale.order }}<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n {{ locale.total }}<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n }\n </div>\n }\n <div class=\"thy-pagination-content\">\n @if (config.showSizeChanger) {\n <div class=\"thy-pagination-size\">\n <thy-select [(ngModel)]=\"selectedPageSize\" [thySize]=\"size\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option\n class=\"page-size-option\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + (config.unit | paginationPerPageFormat: allLocale())\"></thy-option>\n }\n </thy-select>\n </div>\n }\n <ul class=\"thy-pagination-pages\">\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n @if (config.firstText) {\n {{ config.firstText }}\n }\n @if (config.firstIcon) {\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n @if (config.previousText) {\n {{ config.previousText }}\n }\n @if (config.previousIcon) {\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @for (page of pages; track page.index) {\n <li class=\"thy-page-item thy-page-number\" [class.active]=\"page.active\" [class.disabled]=\"disabled\" (click)=\"selectPage(page.index)\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item page-item-next\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n @if (config.nextText) {\n {{ config.nextText }}\n }\n @if (config.nextIcon) {\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n @if (config.lastText) {\n {{ config.lastText }}\n }\n @if (config.lastIcon) {\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n </ul>\n @if (config.showTotalPageCount && config.totalPagesFormat) {\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat: config.totalPagesFormat\"></div>\n }\n @if (config.showQuickJumper) {\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n {{ locale.jumpTo }}\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n {{ locale.page }}\n </div>\n </div>\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { ThyPagination } from './pagination.component';\nimport { CommonModule } from '@angular/common';\nimport { PaginationPerPageFormat, PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySelectModule } from 'ngx-tethys/select';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThySharedModule,\n ThyIconModule,\n ThySelectModule,\n ThyPagination,\n PaginationTotalCountFormat,\n PaginationPerPageFormat\n ],\n exports: [ThyPagination]\n})\nexport class ThyPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|