ngx-tethys 18.1.1 → 18.2.0-next.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 +36 -0
- package/alert/styles/mixin.scss +1 -1
- package/anchor/style/anchor.scss +4 -2
- package/autocomplete/autocomplete.component.d.ts +2 -1
- package/avatar/styles/avatar.scss +1 -1
- package/back-top/styles/back-top.scss +3 -3
- package/button/styles/button-group.scss +9 -9
- package/button/styles/button.scss +2 -6
- package/button/styles/mixin.scss +6 -53
- package/calendar/calendar-header.component.d.ts +2 -0
- package/calendar/styles/calendar.scss +3 -11
- package/card/styles/card.scss +3 -3
- package/carousel/styles/carousel.scss +10 -10
- package/cascader/cascader.component.d.ts +1 -0
- package/cascader/styles/cascader.scss +3 -2
- package/collapse/styles/collapse.scss +4 -2
- package/color-picker/color-picker-panel.component.d.ts +3 -1
- package/color-picker/styles/alpha.scss +1 -1
- package/color-picker/styles/color-picker-panel.scss +1 -1
- package/color-picker/styles/hue.scss +1 -1
- package/color-picker/styles/saturation.scss +1 -1
- package/comment/styles/mixin.scss +1 -1
- package/copy/copy.directive.d.ts +1 -0
- package/core/index.d.ts +1 -0
- package/core/theme/index.d.ts +2 -0
- package/core/theme/store.d.ts +12 -0
- package/core/theme/theme.d.ts +5 -0
- package/date-picker/abstract-picker.component.d.ts +3 -1
- package/date-picker/date-helper.service.d.ts +3 -0
- package/date-picker/date-picker.config.d.ts +7 -1
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -1
- package/date-picker/lib/calendar/calendar-header.component.d.ts +3 -1
- package/date-picker/lib/calendar/calendar-table.component.d.ts +3 -1
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +4 -1
- package/date-picker/lib/popups/date-popup.component.d.ts +3 -1
- package/date-picker/lib/popups/inner-popup.component.d.ts +3 -1
- package/date-picker/styles/calendar.scss +1 -1
- package/date-picker/styles/decade-panel.scss +1 -1
- package/date-picker/styles/picker.scss +1 -1
- package/date-picker/styles/range-picker.scss +3 -3
- package/date-picker/styles/year-panel.scss +2 -2
- package/date-range/date-range.component.d.ts +2 -0
- package/date-range/optional-dates/optional-dates.component.d.ts +1 -0
- package/dialog/confirm/confirm.component.d.ts +1 -0
- package/dialog/confirm.config.d.ts +14 -7
- package/dialog/styles/dialog.scss +6 -6
- package/dropdown/styles/dropdown.scss +3 -3
- package/empty/empty.component.d.ts +14 -9
- package/empty/empty.config.d.ts +3 -0
- package/empty/styles/empty.scss +22 -2
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -3
- package/esm2022/calendar/calendar-header.component.mjs +9 -5
- package/esm2022/carousel/carousel.component.mjs +3 -3
- package/esm2022/cascader/cascader.component.mjs +5 -3
- package/esm2022/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/color-picker/color-picker-panel.component.mjs +5 -3
- package/esm2022/copy/copy.directive.mjs +7 -5
- package/esm2022/core/index.mjs +2 -1
- package/esm2022/core/theme/index.mjs +3 -0
- package/esm2022/core/theme/store.mjs +42 -0
- package/esm2022/core/theme/theme.mjs +2 -0
- package/esm2022/date-picker/abstract-picker.component.mjs +4 -2
- package/esm2022/date-picker/base-picker.component.mjs +2 -2
- package/esm2022/date-picker/date-helper.service.mjs +4 -2
- package/esm2022/date-picker/date-picker.component.mjs +1 -1
- package/esm2022/date-picker/date-picker.config.mjs +55 -2
- package/esm2022/date-picker/date-picker.directive.mjs +1 -1
- package/esm2022/date-picker/date-picker.service.mjs +3 -3
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -3
- package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +3 -1
- package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +3 -1
- package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -5
- package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +9 -4
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +3 -3
- package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-table.component.mjs +3 -2
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +5 -3
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -3
- package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -3
- package/esm2022/date-picker/month-picker.component.mjs +1 -1
- package/esm2022/date-picker/quarter-picker.component.mjs +1 -1
- package/esm2022/date-picker/range-picker.component.mjs +1 -1
- package/esm2022/date-picker/range-picker.directive.mjs +1 -1
- package/esm2022/date-picker/week-picker.component.mjs +1 -1
- package/esm2022/date-picker/year-picker.component.mjs +1 -1
- package/esm2022/date-range/date-range.component.mjs +7 -4
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -2
- package/esm2022/dialog/confirm/confirm.component.mjs +14 -3
- package/esm2022/dialog/confirm.config.mjs +17 -2
- package/esm2022/empty/empty.component.mjs +7 -2
- package/esm2022/empty/empty.config.mjs +4 -1
- package/esm2022/empty/svgs.mjs +103 -8
- package/esm2022/form/form-validator-loader.mjs +17 -15
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +5 -3
- package/esm2022/i18n/i18n.mjs +2 -0
- package/esm2022/i18n/i18n.service.mjs +39 -0
- package/esm2022/i18n/i18n.token.mjs +8 -0
- package/esm2022/i18n/index.mjs +7 -0
- package/esm2022/i18n/locale.mjs +14 -0
- package/esm2022/i18n/locales/en-us.mjs +147 -0
- package/esm2022/i18n/locales/zh-cn.mjs +127 -0
- package/esm2022/i18n/ngx-tethys-i18n.mjs +5 -0
- package/esm2022/notify/notify.component.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +22 -5
- package/esm2022/pagination/pagination.module.mjs +26 -5
- package/esm2022/pagination/pagination.pipe.mjs +22 -1
- package/esm2022/radio/button/radio-button.component.mjs +1 -1
- package/esm2022/radio/radio.component.mjs +1 -1
- package/esm2022/result/result.component.mjs +3 -3
- package/esm2022/select/custom-select/custom-select.component.mjs +9 -3
- package/esm2022/strength/strength.component.mjs +21 -20
- package/esm2022/table/table-skeleton.component.mjs +3 -3
- package/esm2022/time-picker/time-picker-panel.component.mjs +5 -3
- package/esm2022/time-picker/time-picker.component.mjs +4 -2
- package/esm2022/transfer/transfer-list.component.mjs +5 -3
- package/esm2022/tree-select/tree-select.component.mjs +5 -3
- package/esm2022/version.mjs +2 -2
- package/esm2022/watermark/config.mjs +2 -2
- package/esm2022/watermark/watermark.directive.mjs +18 -10
- package/fesm2022/ngx-tethys-autocomplete.mjs +4 -2
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +8 -5
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +2 -2
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +4 -2
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +4 -2
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +6 -4
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +42 -2
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +95 -30
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +8 -4
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +27 -2
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +111 -8
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +16 -14
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +4 -2
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +338 -0
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -0
- package/fesm2022/ngx-tethys-notify.mjs +2 -2
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +66 -7
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +2 -2
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +8 -2
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +20 -19
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +2 -2
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +6 -3
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +4 -2
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +4 -2
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +18 -10
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/form/form-validator-loader.d.ts +2 -0
- package/form/styles/form-check.scss +1 -1
- package/form/styles/forms.scss +2 -3
- package/form/styles/mixin.scss +6 -5
- package/guider/guider-hint/guider-hint.component.d.ts +3 -1
- package/guider/styles/guider-tip.scss +2 -1
- package/i18n/i18n.d.ts +143 -0
- package/i18n/i18n.service.d.ts +19 -0
- package/i18n/i18n.token.d.ts +5 -0
- package/i18n/index.d.ts +6 -0
- package/i18n/locale.d.ts +4 -0
- package/i18n/locales/en-us.d.ts +147 -0
- package/i18n/locales/zh-cn.d.ts +126 -0
- package/icon/examples/all/all.component.scss +3 -1
- package/image/styles/image.scss +15 -11
- package/input/styles/input-group.scss +1 -1
- package/input/styles/input.scss +2 -2
- package/layout/examples/sidebar/sidebar.component.scss +1 -1
- package/layout/styles/layout.scss +3 -3
- package/menu/examples/theme/theme.component.scss +0 -8
- package/menu/styles/theme.scss +4 -4
- package/message/styles/message.scss +1 -1
- package/nav/examples/basic/basic.component.scss +1 -1
- package/nav/examples/extra/extra.component.scss +1 -1
- package/nav/examples/fill/fill.component.scss +1 -1
- package/nav/examples/lite/lite.component.scss +1 -1
- package/nav/examples/pills/pills.component.scss +1 -1
- package/nav/examples/responsive/responsive.component.scss +1 -1
- package/nav/examples/size/size.component.scss +1 -1
- package/nav/examples/tabs/tabs.component.scss +1 -1
- package/nav/examples/type/type.component.scss +1 -1
- package/nav/examples/vertical/vertical.component.scss +1 -1
- package/notify/styles/notify.scss +4 -4
- package/package.json +7 -1
- package/pagination/pagination.component.d.ts +4 -1
- package/pagination/pagination.module.d.ts +1 -1
- package/pagination/pagination.pipe.d.ts +6 -0
- package/pagination/styles/pagination.scss +2 -2
- package/popover/styles.scss +3 -3
- package/property/styles/properties.scss +1 -1
- package/radio/radio.component.d.ts +0 -2
- package/resizable/examples/line/line.component.scss +3 -1
- package/resizable/examples/style.scss +7 -5
- package/result/styles/result.scss +25 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/styles/mixin.scss +2 -3
- package/segment/styles/segment.scss +1 -1
- package/select/custom-select/custom-select.component.d.ts +1 -0
- package/select/styles/select.scss +1 -1
- package/shared/option/styles/option.mixin.scss +1 -1
- package/shared/select/styles/select.mixin.scss +2 -2
- package/slide/examples/drawer-container/drawer-container.component.scss +1 -1
- package/slide/examples/layout/layout.component.scss +4 -2
- package/slide/styles/slide.scss +3 -2
- package/slider/slider.scss +2 -2
- package/stepper/examples/basic/basic.component.scss +3 -1
- package/stepper/examples/icon/icon.component.scss +3 -1
- package/stepper/styles/stepper.scss +7 -3
- package/strength/strength.component.d.ts +21 -2
- package/styles/bootstrap/_variables.scss +14 -876
- package/styles/bootstrap/utilities/_background.scss +27 -5
- package/styles/bootstrap/utilities/_text.scss +29 -31
- package/styles/index.scss +2 -1
- package/styles/mixins/background-variant.scss +2 -10
- package/styles/mixins/utilities.scss +2 -11
- package/styles/modules/cdk/drag-drop.scss +6 -8
- package/styles/modules/close.scss +1 -1
- package/styles/modules/reboot.scss +1 -1
- package/styles/modules/tables.scss +1 -1
- package/styles/modules/utils.scss +0 -17
- package/styles/theme/dark.scss +70 -0
- package/styles/theme/default.scss +70 -0
- package/styles/theme/index.scss +2 -0
- package/styles/variables.scss +114 -76
- package/switch/styles/mixin.scss +0 -13
- package/table/styles/table.scss +7 -19
- package/tabs/styles/tabs.scss +1 -1
- package/tag/styles/mixin.scss +7 -42
- package/tag/styles/tag.scss +2 -2
- package/time-picker/styles/time-panel.scss +1 -1
- package/time-picker/time-picker-panel.component.d.ts +3 -1
- package/time-picker/time-picker.component.d.ts +3 -1
- package/timeline/styles/timeline.scss +2 -2
- package/tooltip/styles.scss +4 -4
- package/transfer/styles/transfer.scss +2 -2
- package/transfer/transfer-list.component.d.ts +3 -1
- package/tree/styles/tree.scss +3 -5
- package/tree-select/tree-select.component.d.ts +1 -0
- package/watermark/config.d.ts +1 -1
- package/watermark/watermark.directive.d.ts +23 -2
- package/carousel/styles/index.scss +0 -1
- package/carousel/styles/variables.scss +0 -5
|
@@ -91,7 +91,7 @@ class ThyNotify extends ThyAbstractMessageComponent {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotify, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNotify, isStandalone: true, selector: "thy-notify", inputs: { thyConfig: "thyConfig" }, host: { properties: { "@flyInOut": "this.animationState", "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNotify, isStandalone: true, selector: "thy-notify", inputs: { thyConfig: "thyConfig" }, host: { properties: { "@flyInOut": "this.animationState", "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div class=\"thy-notify-content\" [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\" (click)=\"extendContent()\">\n @if (config.content) {\n @if (contentIsString) {\n {{ config.content }}\n } @else {\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState || {}\"></ng-container>\n }\n }\n @if (config?.detail) {\n <a href=\"javascript:;\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n }\n </div>\n }\n @if (isShowDetail) {\n <div class=\"thy-notify-detail\">{{ (config?.detail)['content'] }}</div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ThyViewOutletDirective, selector: "[thyViewOutlet]", inputs: ["thyViewOutlet", "thyViewOutletContext"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
95
95
|
trigger('flyInOut', [
|
|
96
96
|
state('flyInOutRight', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),
|
|
97
97
|
transition('void => flyInOutRight', [
|
|
@@ -127,7 +127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
127
127
|
transition('flyInOutLeft => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),
|
|
128
128
|
state('componentHide', style(HIDE_STYLE))
|
|
129
129
|
])
|
|
130
|
-
], standalone: true, imports: [ThyIcon, NgClass, ThyViewOutletDirective, NgTemplateOutlet], template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div
|
|
130
|
+
], standalone: true, imports: [ThyIcon, NgClass, ThyViewOutletDirective, NgTemplateOutlet], template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div class=\"thy-notify-content\" [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\" (click)=\"extendContent()\">\n @if (config.content) {\n @if (contentIsString) {\n {{ config.content }}\n } @else {\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState || {}\"></ng-container>\n }\n }\n @if (config?.detail) {\n <a href=\"javascript:;\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n }\n </div>\n }\n @if (isShowDetail) {\n <div class=\"thy-notify-detail\">{{ (config?.detail)['content'] }}</div>\n }\n </div>\n}\n" }]
|
|
131
131
|
}], ctorParameters: () => [], propDecorators: { animationState: [{
|
|
132
132
|
type: HostBinding,
|
|
133
133
|
args: ['@flyInOut']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-notify.mjs","sources":["../../../src/notify/notify.config.ts","../../../src/notify/notify-queue.service.ts","../../../src/notify/notify.component.ts","../../../src/notify/notify.component.html","../../../src/notify/notify-container.component.ts","../../../src/notify/notify-container.component.html","../../../src/notify/module.ts","../../../src/notify/notify-ref.ts","../../../src/notify/notify.service.ts","../../../src/notify/ngx-tethys-notify.ts"],"sourcesContent":["import { ElementRef, InjectionToken } from '@angular/core';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\nimport { ThyMessageBaseConfig } from 'ngx-tethys/message';\n\nexport type ThyNotifyPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\nexport type ThyNotifyType = 'blank' | 'success' | 'error' | 'warning' | 'info';\n\nexport interface ThyGlobalNotifyConfig {\n placement?: ThyNotifyPlacement;\n\n pauseOnHover?: boolean;\n\n duration?: number;\n\n maxStack?: number;\n\n offset?: string;\n}\n\nexport interface ThyNotifyDetail {\n link?: string;\n content?: string;\n action?: (event?: Event) => void;\n}\n\n/**\n * 打开notify通知的配置\n * @public\n * @order 10\n */\nexport interface ThyNotifyConfig extends ThyMessageBaseConfig {\n /**\n * 通知弹出位置\n */\n placement?: ThyNotifyPlacement;\n\n /**\n * 弹出通知的类型\n */\n type?: ThyNotifyType;\n\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 提示内容\n */\n content?: string | ComponentTypeOrTemplateRef<any>;\n\n contentInitialState?: any;\n\n /**\n * 提示内容的详情,是对内容的详情描述,也可以是能够操作的链接,link是链接名,content是详情描述,action是点击的方法\n */\n detail?: string | ThyNotifyDetail;\n\n /**\n * 自定义传入html模板\n */\n html?: ElementRef;\n}\n\nexport const THY_NOTIFY_DEFAULT_CONFIG = new InjectionToken<ThyGlobalNotifyConfig>('thy-notify-default-config');\n\nexport const THY_NOTIFY_DEFAULT_CONFIG_VALUE: ThyGlobalNotifyConfig = {\n placement: 'topRight',\n offset: '20',\n duration: 4500,\n pauseOnHover: true,\n maxStack: 8\n};\n\nexport const THY_NOTIFY_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_NOTIFY_DEFAULT_CONFIG,\n useValue: THY_NOTIFY_DEFAULT_CONFIG_VALUE\n};\n","import { Injectable, inject } from '@angular/core';\nimport { ThyAbstractMessageQueue } from 'ngx-tethys/message';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { ThyNotifyRef } from './notify-ref';\nimport { ThyGlobalNotifyConfig, THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyNotifyQueue extends ThyAbstractMessageQueue<ThyNotifyRef> {\n topLeftQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'topLeft')),\n shareReplay()\n );\n\n topRightQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'topRight')),\n shareReplay()\n );\n\n bottomLeftQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'bottomLeft')),\n shareReplay()\n );\n\n bottomRightQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'bottomRight')),\n shareReplay()\n );\n\n constructor() {\n const defaultConfig = inject(THY_NOTIFY_DEFAULT_CONFIG);\n\n super({\n ...THY_NOTIFY_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { Component, Input, HostBinding, NgZone, OnInit, inject } from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { helpers, isString } from 'ngx-tethys/util';\nimport { ThyNotifyConfig, ThyNotifyDetail, ThyNotifyPlacement } from './notify.config';\nimport { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from 'ngx-tethys/message';\nimport { ThyNotifyQueue } from './notify-queue.service';\nimport { ThyViewOutletDirective } from 'ngx-tethys/shared';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-notify',\n templateUrl: './notify.component.html',\n animations: [\n trigger('flyInOut', [\n state('flyInOutRight', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),\n transition('void => flyInOutRight', [\n style({ transform: 'translateX(100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyInOutRight => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('flyInOutLeft', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),\n transition('void => flyInOutLeft', [\n style({ transform: 'translateX(-100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyInOutLeft => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('componentHide', style(HIDE_STYLE))\n ])\n ],\n standalone: true,\n imports: [ThyIcon, NgClass, ThyViewOutletDirective, NgTemplateOutlet]\n})\nexport class ThyNotify extends ThyAbstractMessageComponent<ThyNotifyConfig> implements OnInit {\n @HostBinding('@flyInOut') animationState: string;\n\n @HostBinding('class') className = '';\n\n config: ThyNotifyConfig;\n\n extendContentClass = false;\n\n isShowDetail = false;\n\n contentIsString = false;\n\n placement: ThyNotifyPlacement;\n\n @Input()\n set thyConfig(value: ThyNotifyConfig) {\n this.config = value;\n const type = value.type;\n this.placement = value.placement || 'topRight';\n if (this.placement === 'topLeft' || this.placement === 'bottomLeft') {\n this.animationState = 'flyInOutLeft';\n } else {\n this.animationState = 'flyInOutRight';\n }\n this.className = `thy-notify thy-notify-${type}`;\n }\n\n constructor() {\n const notifyQueue = inject(ThyNotifyQueue);\n super(notifyQueue);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.contentIsString = isString(this.config.content);\n }\n\n extendContent() {\n this.extendContentClass = true;\n }\n\n showDetailToggle() {\n this.isShowDetail = !this.isShowDetail;\n }\n\n triggerDetail() {\n if (helpers.isFunction((this.config.detail as ThyNotifyDetail).action)) {\n (this.config.detail as ThyNotifyDetail).action();\n }\n if ((this.config.detail as ThyNotifyDetail).content) {\n this.showDetailToggle();\n }\n }\n}\n","@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div\n class=\"thy-notify-content\"\n [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\"\n (click)=\"extendContent()\">\n @if (config.content) {\n @if (contentIsString) {\n {{ config.content }}\n } @else {\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState || {}\"></ng-container>\n }\n }\n @if (config?.detail) {\n <a href=\"javascript:;\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n }\n </div>\n }\n @if (isShowDetail) {\n <div class=\"thy-notify-detail\">{{ (config?.detail)['content'] }}</div>\n }\n </div>\n}\n","import { Component, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from 'ngx-tethys/message';\nimport { ThyNotifyQueue } from './notify-queue.service';\nimport { ThyGlobalNotifyConfig, THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';\nimport { ThyNotify } from './notify.component';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-notify-container',\n templateUrl: './notify-container.component.html',\n standalone: true,\n imports: [ThyNotify, AsyncPipe]\n})\nexport class ThyNotifyContainer extends ThyAbstractMessageContainerComponent {\n notifyQueue = inject(ThyNotifyQueue);\n\n @HostBinding('class') className = 'thy-notify-container';\n\n constructor() {\n const defaultConfig = inject(THY_NOTIFY_DEFAULT_CONFIG);\n\n super({\n ...THY_NOTIFY_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","<div class=\"thy-notify-bottomRight\" [style.bottom.px]=\"offset\" [style.right.px]=\"offset\">\n @for (item of notifyQueue.bottomRightQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n<div class=\"thy-notify-bottomLeft\" [style.bottom.px]=\"offset\" [style.left.px]=\"offset\">\n @for (item of notifyQueue.bottomLeftQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n<div class=\"thy-notify-topLeft\" [style.top.px]=\"offset\" [style.left.px]=\"offset\">\n @for (item of notifyQueue.topLeftQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n<div class=\"thy-notify-topRight\" [style.top.px]=\"offset\" [style.right.px]=\"offset\">\n @for (item of notifyQueue.topRightQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyNotify } from './notify.component';\nimport { ThyNotifyContainer } from './notify-container.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { THY_NOTIFY_DEFAULT_CONFIG_PROVIDER } from './notify.config';\nimport { ThySharedModule } from 'ngx-tethys/shared';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyNotifyContainer, ThyNotify],\n exports: [ThyNotifyContainer, ThyNotify],\n providers: [THY_NOTIFY_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyNotifyModule {}\n","import { ThyAbstractMessageRef } from 'ngx-tethys/message';\nimport { ThyNotifyConfig } from './notify.config';\n\nexport class ThyNotifyRef extends ThyAbstractMessageRef<ThyNotifyConfig> {}\n","import { isString } from 'ngx-tethys/util';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { ThyGlobalNotifyConfig, ThyNotifyConfig, THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { ThyNotifyRef } from './notify-ref';\nimport { ThyNotifyContainer } from './notify-container.component';\nimport { ThyNotifyQueue } from './notify-queue.service';\nimport { ThyAbstractMessageService } from 'ngx-tethys/message';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\n\n/**\n * @order 20\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyNotifyService extends ThyAbstractMessageService<ThyNotifyContainer> {\n private notifyQueue: ThyNotifyQueue;\n protected config = inject(THY_NOTIFY_DEFAULT_CONFIG);\n\n private _lastNotifyId = 0;\n\n private defaultConfig: ThyGlobalNotifyConfig;\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const notifyQueue = inject(ThyNotifyQueue);\n\n super(overlay, injector, notifyQueue);\n this.notifyQueue = notifyQueue;\n const config = this.config;\n\n this.defaultConfig = {\n ...THY_NOTIFY_DEFAULT_CONFIG_VALUE,\n ...config\n };\n }\n\n /**\n * 打开自定义配置的 Notify\n */\n public show(config: ThyNotifyConfig): ThyNotifyRef {\n this.container = this.createContainer(ThyNotifyContainer);\n\n const notifyConfig = this.formatOptions(config);\n const notifyRef = new ThyNotifyRef(notifyConfig, this.overlayRef, this.notifyQueue);\n this.notifyQueue.add(notifyRef);\n return notifyRef;\n }\n\n /**\n * 打开类型为\"success\"的 Notify\n */\n public success(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'success',\n title: title || config?.title || '成功',\n content: content || config?.content\n });\n }\n\n /**\n * 打开类型为\"info\"的 Notify\n */\n public info(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'info',\n title: title || config?.title || '提示',\n content: content || config?.content\n });\n }\n\n /**\n * 打开类型为\"warning\"的 Notify\n */\n public warning(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'warning',\n title: title || config?.title || '警告',\n content: content || config?.content\n });\n }\n\n /**\n * 打开类型为\"error\"的 Notify\n */\n public error(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'error',\n title: title || config?.title || '警告',\n content: content || config?.content\n });\n }\n\n private formatOptions(config: ThyNotifyConfig) {\n if (isString(config.detail)) {\n config = { ...config, detail: { link: '[详情]', content: config.detail as string } };\n }\n return Object.assign({ type: 'blank' }, { id: String(this._lastNotifyId++) }, this.defaultConfig, config);\n }\n}\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-notify.mjs","sources":["../../../src/notify/notify.config.ts","../../../src/notify/notify-queue.service.ts","../../../src/notify/notify.component.ts","../../../src/notify/notify.component.html","../../../src/notify/notify-container.component.ts","../../../src/notify/notify-container.component.html","../../../src/notify/module.ts","../../../src/notify/notify-ref.ts","../../../src/notify/notify.service.ts","../../../src/notify/ngx-tethys-notify.ts"],"sourcesContent":["import { ElementRef, InjectionToken } from '@angular/core';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\nimport { ThyMessageBaseConfig } from 'ngx-tethys/message';\n\nexport type ThyNotifyPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\nexport type ThyNotifyType = 'blank' | 'success' | 'error' | 'warning' | 'info';\n\nexport interface ThyGlobalNotifyConfig {\n placement?: ThyNotifyPlacement;\n\n pauseOnHover?: boolean;\n\n duration?: number;\n\n maxStack?: number;\n\n offset?: string;\n}\n\nexport interface ThyNotifyDetail {\n link?: string;\n content?: string;\n action?: (event?: Event) => void;\n}\n\n/**\n * 打开notify通知的配置\n * @public\n * @order 10\n */\nexport interface ThyNotifyConfig extends ThyMessageBaseConfig {\n /**\n * 通知弹出位置\n */\n placement?: ThyNotifyPlacement;\n\n /**\n * 弹出通知的类型\n */\n type?: ThyNotifyType;\n\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 提示内容\n */\n content?: string | ComponentTypeOrTemplateRef<any>;\n\n contentInitialState?: any;\n\n /**\n * 提示内容的详情,是对内容的详情描述,也可以是能够操作的链接,link是链接名,content是详情描述,action是点击的方法\n */\n detail?: string | ThyNotifyDetail;\n\n /**\n * 自定义传入html模板\n */\n html?: ElementRef;\n}\n\nexport const THY_NOTIFY_DEFAULT_CONFIG = new InjectionToken<ThyGlobalNotifyConfig>('thy-notify-default-config');\n\nexport const THY_NOTIFY_DEFAULT_CONFIG_VALUE: ThyGlobalNotifyConfig = {\n placement: 'topRight',\n offset: '20',\n duration: 4500,\n pauseOnHover: true,\n maxStack: 8\n};\n\nexport const THY_NOTIFY_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_NOTIFY_DEFAULT_CONFIG,\n useValue: THY_NOTIFY_DEFAULT_CONFIG_VALUE\n};\n","import { Injectable, inject } from '@angular/core';\nimport { ThyAbstractMessageQueue } from 'ngx-tethys/message';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { ThyNotifyRef } from './notify-ref';\nimport { ThyGlobalNotifyConfig, THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyNotifyQueue extends ThyAbstractMessageQueue<ThyNotifyRef> {\n topLeftQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'topLeft')),\n shareReplay()\n );\n\n topRightQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'topRight')),\n shareReplay()\n );\n\n bottomLeftQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'bottomLeft')),\n shareReplay()\n );\n\n bottomRightQueues$ = this.queues$.pipe(\n map(queues => queues.filter(item => item.config.placement === 'bottomRight')),\n shareReplay()\n );\n\n constructor() {\n const defaultConfig = inject(THY_NOTIFY_DEFAULT_CONFIG);\n\n super({\n ...THY_NOTIFY_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { Component, Input, HostBinding, NgZone, OnInit, inject } from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { helpers, isString } from 'ngx-tethys/util';\nimport { ThyNotifyConfig, ThyNotifyDetail, ThyNotifyPlacement } from './notify.config';\nimport { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from 'ngx-tethys/message';\nimport { ThyNotifyQueue } from './notify-queue.service';\nimport { ThyViewOutletDirective } from 'ngx-tethys/shared';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-notify',\n templateUrl: './notify.component.html',\n animations: [\n trigger('flyInOut', [\n state('flyInOutRight', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),\n transition('void => flyInOutRight', [\n style({ transform: 'translateX(100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyInOutRight => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('flyInOutLeft', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),\n transition('void => flyInOutLeft', [\n style({ transform: 'translateX(-100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyInOutLeft => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('componentHide', style(HIDE_STYLE))\n ])\n ],\n standalone: true,\n imports: [ThyIcon, NgClass, ThyViewOutletDirective, NgTemplateOutlet]\n})\nexport class ThyNotify extends ThyAbstractMessageComponent<ThyNotifyConfig> implements OnInit {\n @HostBinding('@flyInOut') animationState: string;\n\n @HostBinding('class') className = '';\n\n config: ThyNotifyConfig;\n\n extendContentClass = false;\n\n isShowDetail = false;\n\n contentIsString = false;\n\n placement: ThyNotifyPlacement;\n\n @Input()\n set thyConfig(value: ThyNotifyConfig) {\n this.config = value;\n const type = value.type;\n this.placement = value.placement || 'topRight';\n if (this.placement === 'topLeft' || this.placement === 'bottomLeft') {\n this.animationState = 'flyInOutLeft';\n } else {\n this.animationState = 'flyInOutRight';\n }\n this.className = `thy-notify thy-notify-${type}`;\n }\n\n constructor() {\n const notifyQueue = inject(ThyNotifyQueue);\n super(notifyQueue);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.contentIsString = isString(this.config.content);\n }\n\n extendContent() {\n this.extendContentClass = true;\n }\n\n showDetailToggle() {\n this.isShowDetail = !this.isShowDetail;\n }\n\n triggerDetail() {\n if (helpers.isFunction((this.config.detail as ThyNotifyDetail).action)) {\n (this.config.detail as ThyNotifyDetail).action();\n }\n if ((this.config.detail as ThyNotifyDetail).content) {\n this.showDetailToggle();\n }\n }\n}\n","@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div class=\"thy-notify-content\" [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\" (click)=\"extendContent()\">\n @if (config.content) {\n @if (contentIsString) {\n {{ config.content }}\n } @else {\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState || {}\"></ng-container>\n }\n }\n @if (config?.detail) {\n <a href=\"javascript:;\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n }\n </div>\n }\n @if (isShowDetail) {\n <div class=\"thy-notify-detail\">{{ (config?.detail)['content'] }}</div>\n }\n </div>\n}\n","import { Component, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from 'ngx-tethys/message';\nimport { ThyNotifyQueue } from './notify-queue.service';\nimport { ThyGlobalNotifyConfig, THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';\nimport { ThyNotify } from './notify.component';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-notify-container',\n templateUrl: './notify-container.component.html',\n standalone: true,\n imports: [ThyNotify, AsyncPipe]\n})\nexport class ThyNotifyContainer extends ThyAbstractMessageContainerComponent {\n notifyQueue = inject(ThyNotifyQueue);\n\n @HostBinding('class') className = 'thy-notify-container';\n\n constructor() {\n const defaultConfig = inject(THY_NOTIFY_DEFAULT_CONFIG);\n\n super({\n ...THY_NOTIFY_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","<div class=\"thy-notify-bottomRight\" [style.bottom.px]=\"offset\" [style.right.px]=\"offset\">\n @for (item of notifyQueue.bottomRightQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n<div class=\"thy-notify-bottomLeft\" [style.bottom.px]=\"offset\" [style.left.px]=\"offset\">\n @for (item of notifyQueue.bottomLeftQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n<div class=\"thy-notify-topLeft\" [style.top.px]=\"offset\" [style.left.px]=\"offset\">\n @for (item of notifyQueue.topLeftQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n<div class=\"thy-notify-topRight\" [style.top.px]=\"offset\" [style.right.px]=\"offset\">\n @for (item of notifyQueue.topRightQueues$ | async; track $index) {\n <thy-notify [thyConfig]=\"item.config\"></thy-notify>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyNotify } from './notify.component';\nimport { ThyNotifyContainer } from './notify-container.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { THY_NOTIFY_DEFAULT_CONFIG_PROVIDER } from './notify.config';\nimport { ThySharedModule } from 'ngx-tethys/shared';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyNotifyContainer, ThyNotify],\n exports: [ThyNotifyContainer, ThyNotify],\n providers: [THY_NOTIFY_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyNotifyModule {}\n","import { ThyAbstractMessageRef } from 'ngx-tethys/message';\nimport { ThyNotifyConfig } from './notify.config';\n\nexport class ThyNotifyRef extends ThyAbstractMessageRef<ThyNotifyConfig> {}\n","import { isString } from 'ngx-tethys/util';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { ThyGlobalNotifyConfig, ThyNotifyConfig, THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { ThyNotifyRef } from './notify-ref';\nimport { ThyNotifyContainer } from './notify-container.component';\nimport { ThyNotifyQueue } from './notify-queue.service';\nimport { ThyAbstractMessageService } from 'ngx-tethys/message';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\n\n/**\n * @order 20\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyNotifyService extends ThyAbstractMessageService<ThyNotifyContainer> {\n private notifyQueue: ThyNotifyQueue;\n protected config = inject(THY_NOTIFY_DEFAULT_CONFIG);\n\n private _lastNotifyId = 0;\n\n private defaultConfig: ThyGlobalNotifyConfig;\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const notifyQueue = inject(ThyNotifyQueue);\n\n super(overlay, injector, notifyQueue);\n this.notifyQueue = notifyQueue;\n const config = this.config;\n\n this.defaultConfig = {\n ...THY_NOTIFY_DEFAULT_CONFIG_VALUE,\n ...config\n };\n }\n\n /**\n * 打开自定义配置的 Notify\n */\n public show(config: ThyNotifyConfig): ThyNotifyRef {\n this.container = this.createContainer(ThyNotifyContainer);\n\n const notifyConfig = this.formatOptions(config);\n const notifyRef = new ThyNotifyRef(notifyConfig, this.overlayRef, this.notifyQueue);\n this.notifyQueue.add(notifyRef);\n return notifyRef;\n }\n\n /**\n * 打开类型为\"success\"的 Notify\n */\n public success(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'success',\n title: title || config?.title || '成功',\n content: content || config?.content\n });\n }\n\n /**\n * 打开类型为\"info\"的 Notify\n */\n public info(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'info',\n title: title || config?.title || '提示',\n content: content || config?.content\n });\n }\n\n /**\n * 打开类型为\"warning\"的 Notify\n */\n public warning(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'warning',\n title: title || config?.title || '警告',\n content: content || config?.content\n });\n }\n\n /**\n * 打开类型为\"error\"的 Notify\n */\n public error(title?: string, content?: string | ComponentTypeOrTemplateRef<any>, config?: ThyNotifyConfig) {\n return this.show({\n ...(config || {}),\n type: 'error',\n title: title || config?.title || '警告',\n content: content || config?.content\n });\n }\n\n private formatOptions(config: ThyNotifyConfig) {\n if (isString(config.detail)) {\n config = { ...config, detail: { link: '[详情]', content: config.detail as string } };\n }\n return Object.assign({ type: 'blank' }, { id: String(this._lastNotifyId++) }, this.defaultConfig, config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { ThySelect, ThySelectModule } from 'ngx-tethys/select';
|
|
|
9
9
|
import { ThyOption, ThyEnterDirective, ThySharedModule } from 'ngx-tethys/shared';
|
|
10
10
|
import { isTemplateRef, coerceBooleanProperty } from 'ngx-tethys/util';
|
|
11
11
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
12
|
+
import { useLocale, injectLocale } from 'ngx-tethys/i18n';
|
|
12
13
|
|
|
13
14
|
const DEFAULT_RANGE_COUNT = 5;
|
|
14
15
|
const PaginationDefaultConfig = {
|
|
@@ -64,6 +65,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
64
65
|
standalone: true
|
|
65
66
|
}]
|
|
66
67
|
}] });
|
|
68
|
+
class PaginationPerPageFormat {
|
|
69
|
+
transform(unit, locale) {
|
|
70
|
+
if (locale.id.includes('zh')) {
|
|
71
|
+
// 5 条/页
|
|
72
|
+
return ' ' + unit + '/' + locale.pagination.page;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// 5 / page
|
|
76
|
+
return ' / ' + locale.pagination.page;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationPerPageFormat, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
80
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: PaginationPerPageFormat, isStandalone: true, name: "paginationPerPageFormat" }); }
|
|
81
|
+
}
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationPerPageFormat, decorators: [{
|
|
83
|
+
type: Pipe,
|
|
84
|
+
args: [{
|
|
85
|
+
name: 'paginationPerPageFormat',
|
|
86
|
+
standalone: true
|
|
87
|
+
}]
|
|
88
|
+
}] });
|
|
67
89
|
|
|
68
90
|
/**
|
|
69
91
|
* 分页组件,当数据量过多时,使用分页分解数据。
|
|
@@ -74,8 +96,15 @@ class ThyPagination {
|
|
|
74
96
|
constructor() {
|
|
75
97
|
this.paginationConfig = inject(THY_PAGINATION_CONFIG, { optional: true });
|
|
76
98
|
this.cdr = inject(ChangeDetectorRef);
|
|
99
|
+
this.allLocale = useLocale();
|
|
100
|
+
this.locale = injectLocale('pagination');
|
|
77
101
|
this.isTemplateRef = isTemplateRef;
|
|
78
|
-
this.config = Object.assign({}, PaginationDefaultConfig,
|
|
102
|
+
this.config = Object.assign({}, PaginationDefaultConfig, {
|
|
103
|
+
firstText: this.locale().firstPage,
|
|
104
|
+
lastText: this.locale().lastPage,
|
|
105
|
+
totalPagesFormat: this.locale().totalCount,
|
|
106
|
+
unit: this.locale().defaultUnit
|
|
107
|
+
}, this.paginationConfig.main);
|
|
79
108
|
/**
|
|
80
109
|
* 是否禁用
|
|
81
110
|
*/
|
|
@@ -333,11 +362,20 @@ class ThyPagination {
|
|
|
333
362
|
this.pageSizeChanged.emit(event);
|
|
334
363
|
}
|
|
335
364
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
336
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyTotal: ["thyTotal", "thyTotal", numberAttribute], thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled", coerceBooleanProperty], showQuickJumper: ["thyShowQuickJumper", "showQuickJumper", coerceBooleanProperty], showTotalPageCount: ["thyShowTotalPageCount", "showTotalPageCount", coerceBooleanProperty], size: ["thySize", "size"], maxCount: ["thyMaxCount", "maxCount", numberAttribute], marginalCount: ["thyMarginalCount", "marginalCount", numberAttribute], thyRangeCount: ["thyRangeCount", "thyRangeCount", numberAttribute], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", coerceBooleanProperty], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], hideOnSinglePage: ["thyHideOnSinglePage", "hideOnSinglePage", coerceBooleanProperty], unit: ["thyUnit", "unit"], showTotal: ["thyShowTotal", "showTotal"] }, outputs: { pageIndexChange: "thyPageIndexChange", pageChanged: "thyPageChanged", pageSizeChanged: "thyPageSizeChanged" }, host: { properties: { "class.thy-pagination": "this.isPaginationClass", "class.thy-pagination-has-total": "this.showTotal" } }, ngImport: i0, template: "@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n
|
|
365
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyTotal: ["thyTotal", "thyTotal", numberAttribute], thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled", coerceBooleanProperty], showQuickJumper: ["thyShowQuickJumper", "showQuickJumper", coerceBooleanProperty], showTotalPageCount: ["thyShowTotalPageCount", "showTotalPageCount", coerceBooleanProperty], size: ["thySize", "size"], maxCount: ["thyMaxCount", "maxCount", numberAttribute], marginalCount: ["thyMarginalCount", "marginalCount", numberAttribute], thyRangeCount: ["thyRangeCount", "thyRangeCount", numberAttribute], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", coerceBooleanProperty], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], hideOnSinglePage: ["thyHideOnSinglePage", "hideOnSinglePage", coerceBooleanProperty], unit: ["thyUnit", "unit"], showTotal: ["thyShowTotal", "showTotal"] }, outputs: { pageIndexChange: "thyPageIndexChange", pageChanged: "thyPageChanged", pageSizeChanged: "thyPageSizeChanged" }, host: { properties: { "class.thy-pagination": "this.isPaginationClass", "class.thy-pagination-has-total": "this.showTotal" } }, ngImport: i0, template: "@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\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)]=\"selectPageSize\" [thySize]=\"selectSize\" [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", "visibleChange"] }, { 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 }); }
|
|
337
366
|
}
|
|
338
367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPagination, decorators: [{
|
|
339
368
|
type: Component,
|
|
340
|
-
args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
369
|
+
args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
370
|
+
NgTemplateOutlet,
|
|
371
|
+
ThySelect,
|
|
372
|
+
FormsModule,
|
|
373
|
+
ThyOption,
|
|
374
|
+
ThyIcon,
|
|
375
|
+
ThyEnterDirective,
|
|
376
|
+
PaginationTotalCountFormat,
|
|
377
|
+
PaginationPerPageFormat
|
|
378
|
+
], template: "@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\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)]=\"selectPageSize\" [thySize]=\"selectSize\" [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" }]
|
|
341
379
|
}], propDecorators: { thyPageIndex: [{
|
|
342
380
|
type: Input,
|
|
343
381
|
args: [{ transform: numberAttribute }]
|
|
@@ -404,13 +442,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
404
442
|
|
|
405
443
|
class ThyPaginationModule {
|
|
406
444
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
407
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ThyPaginationModule, imports: [CommonModule,
|
|
408
|
-
|
|
445
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ThyPaginationModule, imports: [CommonModule,
|
|
446
|
+
FormsModule,
|
|
447
|
+
ThySharedModule,
|
|
448
|
+
ThyIconModule,
|
|
449
|
+
ThySelectModule,
|
|
450
|
+
ThyPagination,
|
|
451
|
+
PaginationTotalCountFormat,
|
|
452
|
+
PaginationPerPageFormat], exports: [ThyPagination] }); }
|
|
453
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPaginationModule, imports: [CommonModule,
|
|
454
|
+
FormsModule,
|
|
455
|
+
ThySharedModule,
|
|
456
|
+
ThyIconModule,
|
|
457
|
+
ThySelectModule,
|
|
458
|
+
ThyPagination] }); }
|
|
409
459
|
}
|
|
410
460
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPaginationModule, decorators: [{
|
|
411
461
|
type: NgModule,
|
|
412
462
|
args: [{
|
|
413
|
-
imports: [
|
|
463
|
+
imports: [
|
|
464
|
+
CommonModule,
|
|
465
|
+
FormsModule,
|
|
466
|
+
ThySharedModule,
|
|
467
|
+
ThyIconModule,
|
|
468
|
+
ThySelectModule,
|
|
469
|
+
ThyPagination,
|
|
470
|
+
PaginationTotalCountFormat,
|
|
471
|
+
PaginationPerPageFormat
|
|
472
|
+
],
|
|
414
473
|
exports: [ThyPagination]
|
|
415
474
|
}]
|
|
416
475
|
}] });
|
|
@@ -419,5 +478,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
419
478
|
* Generated bundle index. Do not edit.
|
|
420
479
|
*/
|
|
421
480
|
|
|
422
|
-
export { DEFAULT_RANGE_COUNT, PaginationDefaultConfig, PaginationTotalCountFormat, THY_PAGINATION_CONFIG, ThyPagination, ThyPaginationModule };
|
|
481
|
+
export { DEFAULT_RANGE_COUNT, PaginationDefaultConfig, PaginationPerPageFormat, PaginationTotalCountFormat, THY_PAGINATION_CONFIG, ThyPagination, ThyPaginationModule };
|
|
423
482
|
//# sourceMappingURL=ngx-tethys-pagination.mjs.map
|
|
@@ -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';\n\n/**\n * @private\n */\n@Pipe({\n name: 'paginationTotalPagesFormat',\n standalone: true\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","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n numberAttribute,\n inject\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThySelect } from 'ngx-tethys/select';\nimport { ThyEnterDirective, ThyOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, isTemplateRef } from 'ngx-tethys/util';\nimport { ThyPaginationConfigModel } from './pagination.class';\nimport { DEFAULT_RANGE_COUNT, PaginationDefaultConfig, THY_PAGINATION_CONFIG, ThyPaginationConfig } from './pagination.config';\nimport { PaginationTotalCountFormat } from './pagination.pipe';\n\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 standalone: true,\n imports: [NgTemplateOutlet, ThySelect, FormsModule, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat]\n})\nexport class ThyPagination implements OnInit {\n private paginationConfig = inject(THY_PAGINATION_CONFIG, { optional: true })!;\n private cdr = inject(ChangeDetectorRef);\n\n isTemplateRef = isTemplateRef;\n public config: ThyPaginationConfigModel = Object.assign({}, PaginationDefaultConfig, this.paginationConfig.main);\n\n /**\n * 设置当前页,支持双向绑定\n * @default 1\n */\n @Input({ transform: numberAttribute })\n set thyPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex;\n if (this.initialized) {\n this.setPageIndex(pageIndex);\n }\n }\n\n /**\n * 每页条目数量\n * @default 20\n */\n @Input({ transform: numberAttribute })\n set thyPageSize(pageSize: number) {\n this.pageSize = pageSize;\n this.selectPageSize = pageSize;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 总页数 与 totalPages 二选一传入\n */\n @Input({ transform: numberAttribute })\n set thyTotal(total: number) {\n this.total = total;\n if (this.initialized) {\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 自定义分页页码,设置自定义分页页码后将不根据 Total 和 PageSize 来自动计算页码,完全以传入的页码为准\n * @type number[]\n */\n @Input()\n set thyCustomPages(pages: number[]) {\n this.customPages = pages;\n this.config.showTotalPageCount = false;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 是否禁用\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty }) disabled = false;\n\n /**\n * 是否显示快速跳转\n * @default false\n */\n @Input({ alias: 'thyShowQuickJumper', transform: coerceBooleanProperty })\n set showQuickJumper(value: boolean) {\n this.config.showQuickJumper = value;\n }\n\n /**\n * 设置是否显示总页数信息\n * @default true\n */\n @Input({ alias: 'thyShowTotalPageCount', transform: coerceBooleanProperty })\n set showTotalPageCount(value: boolean) {\n this.config.showTotalPageCount = value;\n }\n\n /**\n * 设置分页组件的大小\n * @type sm | md | lg\n * @default md\n */\n @Input('thySize')\n set size(size: 'sm' | 'md' | 'lg') {\n this.selectSize = size;\n this.hostRenderer.addClass(`thy-pagination-${size}`);\n }\n\n /**\n * 设置最大显示数量,超出最大显示数后会自动进行分割显示\n * @default 9\n */\n @Input({ alias: 'thyMaxCount', transform: numberAttribute })\n set maxCount(value: number) {\n this.config.maxCount = value;\n }\n\n /**\n * 设置边缘显示数量\n * @default 2\n */\n @Input({ alias: 'thyMarginalCount', transform: numberAttribute }) marginalCount: number;\n\n /**\n * 设置中间区域显示数量\n * @default 5\n */\n @Input({ transform: numberAttribute })\n set thyRangeCount(value: number) {\n if (Number.isInteger(value)) {\n this.config.rangeCount = value;\n if (this.initialized) {\n this.setMarginalCount(value);\n }\n }\n }\n\n @Input({ alias: 'thyShowSizeChanger', transform: coerceBooleanProperty })\n set showSizeChanger(value: boolean) {\n this.config.showSizeChanger = value;\n }\n\n /**\n * @type number[]\n */\n @Input('thyPageSizeOptions')\n set pageSizeOptions(value: number[]) {\n this.config.pageSizeOptions = value;\n }\n\n /**\n * 只有一页时是否隐藏分页器\n * @default false\n */\n @Input({ alias: 'thyHideOnSinglePage', transform: coerceBooleanProperty }) hideOnSinglePage: boolean;\n\n /**\n * 分页器单位\n * @default 条\n */\n @Input('thyUnit')\n set unit(value: string) {\n if (value) {\n this.config.unit = value;\n }\n }\n\n /**\n * 页码改变的回调\n */\n @Output('thyPageIndexChange') pageIndexChange = new EventEmitter<number>();\n\n /**\n * 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致\n */\n @Output('thyPageChanged') pageChanged = new EventEmitter<{ page: number }>();\n\n @Output('thyPageSizeChanged') pageSizeChanged = new EventEmitter<number>();\n\n public pages: { index?: number; text?: string; active?: boolean }[] = [];\n\n public pageIndex = 1;\n\n public pageSize: number;\n\n public pageCount: number;\n\n public customPages: number[];\n\n public total: number;\n\n public range = { from: 0, to: 0 };\n\n public firstIndex = 1;\n\n public isHideOnSinglePage = false;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n public selectSize = 'md';\n\n public selectPageSize: Number = 20;\n\n @HostBinding('class.thy-pagination') isPaginationClass = true;\n\n /**\n * 是否显示范围和total\n * @default false\n */\n @HostBinding('class.thy-pagination-has-total')\n @Input('thyShowTotal')\n showTotal: boolean | TemplateRef<{ $implicit: number; range: { from: number; to: number } }> = false;\n\n ngOnInit() {\n this.setMarginalCount(this.config.rangeCount);\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.initialized = true;\n }\n\n private setMarginalCount(range: number) {\n if (!this.marginalCount) {\n this.marginalCount = range <= DEFAULT_RANGE_COUNT ? 1 : 2;\n }\n }\n\n private setPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex > this.pageCount ? this.pageCount : pageIndex || 1;\n const toPageSize = this.pageIndex * this.pageSize;\n this.range = {\n from: (this.pageIndex - 1) * this.pageSize + 1,\n to: toPageSize > this.total ? this.total : toPageSize\n };\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n\n private calculatePageCount() {\n let pageCount = null;\n if (this.customPages && this.customPages.length > 0) {\n pageCount = this.customPages[this.customPages.length - 1];\n } else {\n pageCount = this.pageSize < 1 ? 1 : Math.ceil(this.total / this.pageSize);\n }\n this.pageCount = Math.max(pageCount || 0, 1);\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 initializePages(pageIndex: number, pageCount: number) {\n if (this.customPages && this.customPages.length > 0) {\n this.pages = this.customPages.map(page => {\n return {\n index: page,\n text: page.toString(),\n active: page === +pageIndex\n };\n });\n return;\n }\n\n let pages = [];\n const marginalCount = this.marginalCount;\n const rangeCount = this.config.rangeCount;\n const maxCount = this.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({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\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({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\n }\n }\n this.pages = pages;\n }\n\n private pageChange(pageIndex: number) {\n this.pageIndexChange.emit(pageIndex);\n this.pageChanged.emit({ page: pageIndex });\n }\n\n selectPage(pageIndex: number) {\n if (this.disabled || pageIndex === this.firstIndex - 1 || pageIndex === this.pageCount + 1) {\n return;\n }\n this.setPageIndex(pageIndex);\n this.pageChange(this.pageIndex);\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.pageSize = event;\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.pageSizeChanged.emit(event);\n }\n}\n","@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n 第<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n 共<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)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option class=\"page-size-option\" [thyValue]=\"option\" [thyLabelText]=\"option + ' ' + config.unit + '/页'\"></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 跳至\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n 页\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 { PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { THY_PAGINATION_CONFIG } from './pagination.config';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySelectModule } from 'ngx-tethys/select';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThySelectModule, ThyPagination, PaginationTotalCountFormat],\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 standalone: true\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 standalone: true\n})\nexport class PaginationPerPageFormat implements PipeTransform {\n transform(unit: string, locale: ThyI18nLocale): string {\n if (locale.id.includes('zh')) {\n // 5 条/页\n return ' ' + unit + '/' + locale.pagination.page;\n } else {\n // 5 / page\n return ' / ' + locale.pagination.page;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n numberAttribute,\n inject,\n Signal\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThySelect } from 'ngx-tethys/select';\nimport { ThyEnterDirective, ThyOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, isTemplateRef } from 'ngx-tethys/util';\nimport { ThyPaginationConfigModel } from './pagination.class';\nimport { DEFAULT_RANGE_COUNT, PaginationDefaultConfig, THY_PAGINATION_CONFIG } from './pagination.config';\nimport { PaginationPerPageFormat, PaginationTotalCountFormat } from './pagination.pipe';\nimport { injectLocale, ThyI18nLocale, ThyPaginationLocale, useLocale } from 'ngx-tethys/i18n';\n\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 standalone: true,\n imports: [\n NgTemplateOutlet,\n ThySelect,\n FormsModule,\n ThyOption,\n ThyIcon,\n ThyEnterDirective,\n PaginationTotalCountFormat,\n PaginationPerPageFormat\n ]\n})\nexport class ThyPagination implements OnInit {\n private paginationConfig = inject(THY_PAGINATION_CONFIG, { optional: true })!;\n private cdr = inject(ChangeDetectorRef);\n allLocale: Signal<ThyI18nLocale> = useLocale();\n locale: Signal<ThyPaginationLocale> = injectLocale('pagination');\n\n isTemplateRef = isTemplateRef;\n public config: ThyPaginationConfigModel = Object.assign(\n {},\n PaginationDefaultConfig,\n {\n firstText: this.locale().firstPage,\n lastText: this.locale().lastPage,\n totalPagesFormat: this.locale().totalCount,\n unit: this.locale().defaultUnit\n },\n this.paginationConfig.main\n );\n\n /**\n * 设置当前页,支持双向绑定\n * @default 1\n */\n @Input({ transform: numberAttribute })\n set thyPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex;\n if (this.initialized) {\n this.setPageIndex(pageIndex);\n }\n }\n\n /**\n * 每页条目数量\n * @default 20\n */\n @Input({ transform: numberAttribute })\n set thyPageSize(pageSize: number) {\n this.pageSize = pageSize;\n this.selectPageSize = pageSize;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 总页数 与 totalPages 二选一传入\n */\n @Input({ transform: numberAttribute })\n set thyTotal(total: number) {\n this.total = total;\n if (this.initialized) {\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 自定义分页页码,设置自定义分页页码后将不根据 Total 和 PageSize 来自动计算页码,完全以传入的页码为准\n * @type number[]\n */\n @Input()\n set thyCustomPages(pages: number[]) {\n this.customPages = pages;\n this.config.showTotalPageCount = false;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 是否禁用\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty }) disabled = false;\n\n /**\n * 是否显示快速跳转\n * @default false\n */\n @Input({ alias: 'thyShowQuickJumper', transform: coerceBooleanProperty })\n set showQuickJumper(value: boolean) {\n this.config.showQuickJumper = value;\n }\n\n /**\n * 设置是否显示总页数信息\n * @default true\n */\n @Input({ alias: 'thyShowTotalPageCount', transform: coerceBooleanProperty })\n set showTotalPageCount(value: boolean) {\n this.config.showTotalPageCount = value;\n }\n\n /**\n * 设置分页组件的大小\n * @type sm | md | lg\n * @default md\n */\n @Input('thySize')\n set size(size: 'sm' | 'md' | 'lg') {\n this.selectSize = size;\n this.hostRenderer.addClass(`thy-pagination-${size}`);\n }\n\n /**\n * 设置最大显示数量,超出最大显示数后会自动进行分割显示\n * @default 9\n */\n @Input({ alias: 'thyMaxCount', transform: numberAttribute })\n set maxCount(value: number) {\n this.config.maxCount = value;\n }\n\n /**\n * 设置边缘显示数量\n * @default 2\n */\n @Input({ alias: 'thyMarginalCount', transform: numberAttribute }) marginalCount: number;\n\n /**\n * 设置中间区域显示数量\n * @default 5\n */\n @Input({ transform: numberAttribute })\n set thyRangeCount(value: number) {\n if (Number.isInteger(value)) {\n this.config.rangeCount = value;\n if (this.initialized) {\n this.setMarginalCount(value);\n }\n }\n }\n\n @Input({ alias: 'thyShowSizeChanger', transform: coerceBooleanProperty })\n set showSizeChanger(value: boolean) {\n this.config.showSizeChanger = value;\n }\n\n /**\n * @type number[]\n */\n @Input('thyPageSizeOptions')\n set pageSizeOptions(value: number[]) {\n this.config.pageSizeOptions = value;\n }\n\n /**\n * 只有一页时是否隐藏分页器\n * @default false\n */\n @Input({ alias: 'thyHideOnSinglePage', transform: coerceBooleanProperty }) hideOnSinglePage: boolean;\n\n /**\n * 分页器单位\n * @default 条\n */\n @Input('thyUnit')\n set unit(value: string) {\n if (value) {\n this.config.unit = value;\n }\n }\n\n /**\n * 页码改变的回调\n */\n @Output('thyPageIndexChange') pageIndexChange = new EventEmitter<number>();\n\n /**\n * 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致\n */\n @Output('thyPageChanged') pageChanged = new EventEmitter<{ page: number }>();\n\n @Output('thyPageSizeChanged') pageSizeChanged = new EventEmitter<number>();\n\n public pages: { index?: number; text?: string; active?: boolean }[] = [];\n\n public pageIndex = 1;\n\n public pageSize: number;\n\n public pageCount: number;\n\n public customPages: number[];\n\n public total: number;\n\n public range = { from: 0, to: 0 };\n\n public firstIndex = 1;\n\n public isHideOnSinglePage = false;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n public selectSize = 'md';\n\n public selectPageSize: Number = 20;\n\n @HostBinding('class.thy-pagination') isPaginationClass = true;\n\n /**\n * 是否显示范围和total\n * @default false\n */\n @HostBinding('class.thy-pagination-has-total')\n @Input('thyShowTotal')\n showTotal: boolean | TemplateRef<{ $implicit: number; range: { from: number; to: number } }> = false;\n\n ngOnInit() {\n this.setMarginalCount(this.config.rangeCount);\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.initialized = true;\n }\n\n private setMarginalCount(range: number) {\n if (!this.marginalCount) {\n this.marginalCount = range <= DEFAULT_RANGE_COUNT ? 1 : 2;\n }\n }\n\n private setPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex > this.pageCount ? this.pageCount : pageIndex || 1;\n const toPageSize = this.pageIndex * this.pageSize;\n this.range = {\n from: (this.pageIndex - 1) * this.pageSize + 1,\n to: toPageSize > this.total ? this.total : toPageSize\n };\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n\n private calculatePageCount() {\n let pageCount = null;\n if (this.customPages && this.customPages.length > 0) {\n pageCount = this.customPages[this.customPages.length - 1];\n } else {\n pageCount = this.pageSize < 1 ? 1 : Math.ceil(this.total / this.pageSize);\n }\n this.pageCount = Math.max(pageCount || 0, 1);\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 initializePages(pageIndex: number, pageCount: number) {\n if (this.customPages && this.customPages.length > 0) {\n this.pages = this.customPages.map(page => {\n return {\n index: page,\n text: page.toString(),\n active: page === +pageIndex\n };\n });\n return;\n }\n\n let pages = [];\n const marginalCount = this.marginalCount;\n const rangeCount = this.config.rangeCount;\n const maxCount = this.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({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\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({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\n }\n }\n this.pages = pages;\n }\n\n private pageChange(pageIndex: number) {\n this.pageIndexChange.emit(pageIndex);\n this.pageChanged.emit({ page: pageIndex });\n }\n\n selectPage(pageIndex: number) {\n if (this.disabled || pageIndex === this.firstIndex - 1 || pageIndex === this.pageCount + 1) {\n return;\n }\n this.setPageIndex(pageIndex);\n this.pageChange(this.pageIndex);\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.pageSize = event;\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.pageSizeChanged.emit(event);\n }\n}\n","@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\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)]=\"selectPageSize\" [thySize]=\"selectSize\" [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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"}
|