@ng-nest/ui 20.0.2 → 20.0.4
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/cascade/index.d.ts +36 -3
- package/core/index.d.ts +7 -0
- package/fesm2022/ng-nest-ui-cascade.mjs +52 -11
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +2 -0
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +13 -3
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +7 -1
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +15 -5
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/package.json +19 -19
- package/pagination/index.d.ts +11 -1
- package/select/index.d.ts +6 -1
- package/table/index.d.ts +11 -1
|
@@ -38,6 +38,7 @@ class XDragDirective extends XDragProperty {
|
|
|
38
38
|
ngOnInit() {
|
|
39
39
|
const mouseDown = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(takeUntil(this.unSubject));
|
|
40
40
|
mouseDown.subscribe((downMe) => {
|
|
41
|
+
downMe.stopPropagation();
|
|
41
42
|
let x = downMe.pageX;
|
|
42
43
|
let y = downMe.pageY;
|
|
43
44
|
let offsetX = 0;
|
|
@@ -49,6 +50,7 @@ class XDragDirective extends XDragProperty {
|
|
|
49
50
|
fromEvent(this.doc.documentElement, 'mousemove')
|
|
50
51
|
.pipe(takeUntil(_unSub))
|
|
51
52
|
.subscribe((moveMe) => {
|
|
53
|
+
moveMe.stopPropagation();
|
|
52
54
|
offsetX = moveMe.pageX - x;
|
|
53
55
|
offsetY = moveMe.pageY - y;
|
|
54
56
|
x = moveMe.pageX;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-drag.mjs","sources":["../../../../lib/ng-nest/ui/drag/drag.property.ts","../../../../lib/ng-nest/ui/drag/drag.directive.ts","../../../../lib/ng-nest/ui/drag/drag.module.ts","../../../../lib/ng-nest/ui/drag/ng-nest-ui-drag.ts"],"sourcesContent":["import { Directive, output } from '@angular/core';\r\n\r\n/**\r\n * Drag 指令名称\r\n * @selector x-drag\r\n * @decorator directive\r\n */\r\nexport const XDragPrefix = 'x-drag';\r\n\r\n/**\r\n * Resizable Property\r\n */\r\n@Directive({ selector: '[x-drag]' })\r\nexport class XDragProperty {\r\n readonly dragStarted = output<XDragDistance>();\r\n readonly dragMoved = output<XDragDistanceOffset>();\r\n readonly dragEnded = output<XDragDistance>();\r\n}\r\n\r\nexport interface XDragDistance {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface XDragDistanceOffset extends XDragDistance {\r\n offsetX: number;\r\n offsetY: number;\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, OnDestroy, OnInit, Renderer2, inject } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XDragProperty } from './drag.property';\r\n\r\n@Directive({ selector: '[x-drag]' })\r\nexport class XDragDirective extends XDragProperty implements OnInit, OnDestroy {\r\n private unSubject = new Subject<void>();\r\n private doc = inject(DOCUMENT);\r\n private elementRef = inject(ElementRef);\r\n private renderer = inject(Renderer2);\r\n\r\n ngOnInit() {\r\n const mouseDown = fromEvent<MouseEvent>(this.elementRef.nativeElement, 'mousedown').pipe(takeUntil(this.unSubject));\r\n mouseDown.subscribe((downMe: MouseEvent) => {\r\n let x = downMe.pageX;\r\n let y = downMe.pageY;\r\n let offsetX = 0;\r\n let offsetY = 0;\r\n const _unSub = new Subject<void>();\r\n this.renderer.setStyle(this.doc.documentElement, 'cursor', 'ew-resize');\r\n this.renderer.setStyle(this.doc.documentElement, 'user-select', 'none');\r\n this.dragStarted.emit({ x, y });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mousemove')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((moveMe: MouseEvent) => {\r\n offsetX = moveMe.pageX - x;\r\n offsetY = moveMe.pageY - y;\r\n x = moveMe.pageX;\r\n y = moveMe.pageY;\r\n this.dragMoved.emit({ x, y, offsetX, offsetY });\r\n });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mouseup')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe(() => {\r\n this.renderer.removeStyle(this.doc.documentElement, 'cursor');\r\n this.renderer.removeStyle(this.doc.documentElement, 'user-select');\r\n this.dragEnded.emit({ x, y });\r\n _unSub.next();\r\n _unSub.complete();\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XDragDirective } from './drag.directive';\r\n\r\n@NgModule({\r\n exports: [XDragDirective],\r\n imports: [XDragDirective]\r\n})\r\nexport class XDragModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEA;;;;AAIG;AACI,MAAM,WAAW,GAAG;AAE3B;;AAEG;MAEU,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;QAEW,IAAW,CAAA,WAAA,GAAG,MAAM,EAAiB;QACrC,IAAS,CAAA,SAAA,GAAG,MAAM,EAAuB;QACzC,IAAS,CAAA,SAAA,GAAG,MAAM,EAAiB;AAC7C;iIAJY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,SAAS;mBAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;;;ACL7B,MAAO,cAAe,SAAQ,aAAa,CAAA;AADjD,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;AAC/B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AACtB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-drag.mjs","sources":["../../../../lib/ng-nest/ui/drag/drag.property.ts","../../../../lib/ng-nest/ui/drag/drag.directive.ts","../../../../lib/ng-nest/ui/drag/drag.module.ts","../../../../lib/ng-nest/ui/drag/ng-nest-ui-drag.ts"],"sourcesContent":["import { Directive, output } from '@angular/core';\r\n\r\n/**\r\n * Drag 指令名称\r\n * @selector x-drag\r\n * @decorator directive\r\n */\r\nexport const XDragPrefix = 'x-drag';\r\n\r\n/**\r\n * Resizable Property\r\n */\r\n@Directive({ selector: '[x-drag]' })\r\nexport class XDragProperty {\r\n readonly dragStarted = output<XDragDistance>();\r\n readonly dragMoved = output<XDragDistanceOffset>();\r\n readonly dragEnded = output<XDragDistance>();\r\n}\r\n\r\nexport interface XDragDistance {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface XDragDistanceOffset extends XDragDistance {\r\n offsetX: number;\r\n offsetY: number;\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, OnDestroy, OnInit, Renderer2, inject } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XDragProperty } from './drag.property';\r\n\r\n@Directive({ selector: '[x-drag]' })\r\nexport class XDragDirective extends XDragProperty implements OnInit, OnDestroy {\r\n private unSubject = new Subject<void>();\r\n private doc = inject(DOCUMENT);\r\n private elementRef = inject(ElementRef);\r\n private renderer = inject(Renderer2);\r\n\r\n ngOnInit() {\r\n const mouseDown = fromEvent<MouseEvent>(this.elementRef.nativeElement, 'mousedown').pipe(takeUntil(this.unSubject));\r\n mouseDown.subscribe((downMe: MouseEvent) => {\r\n downMe.stopPropagation();\r\n let x = downMe.pageX;\r\n let y = downMe.pageY;\r\n let offsetX = 0;\r\n let offsetY = 0;\r\n const _unSub = new Subject<void>();\r\n this.renderer.setStyle(this.doc.documentElement, 'cursor', 'ew-resize');\r\n this.renderer.setStyle(this.doc.documentElement, 'user-select', 'none');\r\n this.dragStarted.emit({ x, y });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mousemove')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((moveMe: MouseEvent) => {\r\n moveMe.stopPropagation();\r\n offsetX = moveMe.pageX - x;\r\n offsetY = moveMe.pageY - y;\r\n x = moveMe.pageX;\r\n y = moveMe.pageY;\r\n\r\n this.dragMoved.emit({ x, y, offsetX, offsetY });\r\n });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mouseup')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe(() => {\r\n this.renderer.removeStyle(this.doc.documentElement, 'cursor');\r\n this.renderer.removeStyle(this.doc.documentElement, 'user-select');\r\n this.dragEnded.emit({ x, y });\r\n _unSub.next();\r\n _unSub.complete();\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XDragDirective } from './drag.directive';\r\n\r\n@NgModule({\r\n exports: [XDragDirective],\r\n imports: [XDragDirective]\r\n})\r\nexport class XDragModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,11 @@ class XPaginationProperty extends XPropertyFunction(X_PAGINATION_CONFIG_NAME) {
|
|
|
92
92
|
* @en_US Display the number of input page breaks (cannot exist with the drop-down options of page breaks). default to using Enter to confirm changes
|
|
93
93
|
*/
|
|
94
94
|
this.showInputSize = input(this.config?.showInputSize ?? false, { transform: XToBoolean });
|
|
95
|
+
/**
|
|
96
|
+
* @zh_CN 显示输入分页框的 tooltip 提示信息,默认显示
|
|
97
|
+
* @en_US show enter the tooltip prompt information for the pagination box, which will be displayed by default based on the confirmation of the input
|
|
98
|
+
*/
|
|
99
|
+
this.showInputSizeTooltipText = input(this.config?.showInputSizeTooltipText ?? true, { transform: XToBoolean });
|
|
95
100
|
/**
|
|
96
101
|
* @zh_CN 输入分页框的 tooltip 提示信息,默认根据输入确认改变的方式来显示
|
|
97
102
|
* @en_US Enter the tooltip prompt information for the pagination box, which will be displayed by default based on the confirmation of the input
|
|
@@ -119,6 +124,11 @@ class XPaginationProperty extends XPropertyFunction(X_PAGINATION_CONFIG_NAME) {
|
|
|
119
124
|
* @en_US Show size. default to using Enter to confirm changes
|
|
120
125
|
*/
|
|
121
126
|
this.showJump = input(false, { transform: XToBoolean });
|
|
127
|
+
/**
|
|
128
|
+
* @zh_CN 显示跳转输入框的 tooltip 提示信息,默认显示
|
|
129
|
+
* @en_US Show the tooltip prompt information for jumping to the input box is displayed by default based on the confirmation of input changes
|
|
130
|
+
*/
|
|
131
|
+
this.showJumpTooltipText = input(this.config?.showJumpTooltipText ?? true, { transform: XToBoolean });
|
|
122
132
|
/**
|
|
123
133
|
* @zh_CN 跳转输入框的 tooltip 提示信息,默认根据输入确认改变的方式来显示
|
|
124
134
|
* @en_US The tooltip prompt information for jumping to the input box is displayed by default based on the confirmation of input changes
|
|
@@ -153,7 +163,7 @@ class XPaginationProperty extends XPropertyFunction(X_PAGINATION_CONFIG_NAME) {
|
|
|
153
163
|
this.inputIndexSizeSureType = input(this.config?.inputIndexSizeSureType ?? 'enter');
|
|
154
164
|
}
|
|
155
165
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPaginationProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XPaginationProperty, isStandalone: true, selector: "x-pagination-property", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, showEllipsis: { classPropertyName: "showEllipsis", publicName: "showEllipsis", isSignal: true, isRequired: false, transformFunction: null }, showTotal: { classPropertyName: "showTotal", publicName: "showTotal", isSignal: true, isRequired: false, transformFunction: null }, space: { classPropertyName: "space", publicName: "space", isSignal: true, isRequired: false, transformFunction: null }, showBackground: { classPropertyName: "showBackground", publicName: "showBackground", isSignal: true, isRequired: false, transformFunction: null }, showSize: { classPropertyName: "showSize", publicName: "showSize", isSignal: true, isRequired: false, transformFunction: null }, sizeWidth: { classPropertyName: "sizeWidth", publicName: "sizeWidth", isSignal: true, isRequired: false, transformFunction: null }, showInputSize: { classPropertyName: "showInputSize", publicName: "showInputSize", isSignal: true, isRequired: false, transformFunction: null }, inputSizeTooltipText: { classPropertyName: "inputSizeTooltipText", publicName: "inputSizeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, inputSizeWidth: { classPropertyName: "inputSizeWidth", publicName: "inputSizeWidth", isSignal: true, isRequired: false, transformFunction: null }, sizeData: { classPropertyName: "sizeData", publicName: "sizeData", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showJump: { classPropertyName: "showJump", publicName: "showJump", isSignal: true, isRequired: false, transformFunction: null }, jumpTooltipText: { classPropertyName: "jumpTooltipText", publicName: "jumpTooltipText", isSignal: true, isRequired: false, transformFunction: null }, jumpWidth: { classPropertyName: "jumpWidth", publicName: "jumpWidth", isSignal: true, isRequired: false, transformFunction: null }, totalTpl: { classPropertyName: "totalTpl", publicName: "totalTpl", isSignal: true, isRequired: false, transformFunction: null }, simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null }, simpleIndexWidth: { classPropertyName: "simpleIndexWidth", publicName: "simpleIndexWidth", isSignal: true, isRequired: false, transformFunction: null }, inputIndexSizeSureType: { classPropertyName: "inputIndexSizeSureType", publicName: "inputIndexSizeSureType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange", size: "sizeChange", query: "queryChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
166
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XPaginationProperty, isStandalone: true, selector: "x-pagination-property", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, showEllipsis: { classPropertyName: "showEllipsis", publicName: "showEllipsis", isSignal: true, isRequired: false, transformFunction: null }, showTotal: { classPropertyName: "showTotal", publicName: "showTotal", isSignal: true, isRequired: false, transformFunction: null }, space: { classPropertyName: "space", publicName: "space", isSignal: true, isRequired: false, transformFunction: null }, showBackground: { classPropertyName: "showBackground", publicName: "showBackground", isSignal: true, isRequired: false, transformFunction: null }, showSize: { classPropertyName: "showSize", publicName: "showSize", isSignal: true, isRequired: false, transformFunction: null }, sizeWidth: { classPropertyName: "sizeWidth", publicName: "sizeWidth", isSignal: true, isRequired: false, transformFunction: null }, showInputSize: { classPropertyName: "showInputSize", publicName: "showInputSize", isSignal: true, isRequired: false, transformFunction: null }, showInputSizeTooltipText: { classPropertyName: "showInputSizeTooltipText", publicName: "showInputSizeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, inputSizeTooltipText: { classPropertyName: "inputSizeTooltipText", publicName: "inputSizeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, inputSizeWidth: { classPropertyName: "inputSizeWidth", publicName: "inputSizeWidth", isSignal: true, isRequired: false, transformFunction: null }, sizeData: { classPropertyName: "sizeData", publicName: "sizeData", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showJump: { classPropertyName: "showJump", publicName: "showJump", isSignal: true, isRequired: false, transformFunction: null }, showJumpTooltipText: { classPropertyName: "showJumpTooltipText", publicName: "showJumpTooltipText", isSignal: true, isRequired: false, transformFunction: null }, jumpTooltipText: { classPropertyName: "jumpTooltipText", publicName: "jumpTooltipText", isSignal: true, isRequired: false, transformFunction: null }, jumpWidth: { classPropertyName: "jumpWidth", publicName: "jumpWidth", isSignal: true, isRequired: false, transformFunction: null }, totalTpl: { classPropertyName: "totalTpl", publicName: "totalTpl", isSignal: true, isRequired: false, transformFunction: null }, simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null }, simpleIndexWidth: { classPropertyName: "simpleIndexWidth", publicName: "simpleIndexWidth", isSignal: true, isRequired: false, transformFunction: null }, inputIndexSizeSureType: { classPropertyName: "inputIndexSizeSureType", publicName: "inputIndexSizeSureType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange", size: "sizeChange", query: "queryChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
157
167
|
}
|
|
158
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPaginationProperty, decorators: [{
|
|
159
169
|
type: Component,
|
|
@@ -330,7 +340,7 @@ class XPaginationComponent extends XPaginationProperty {
|
|
|
330
340
|
return this.index() === index;
|
|
331
341
|
}
|
|
332
342
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPaginationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
333
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XPaginationComponent, isStandalone: true, selector: "x-pagination", host: { properties: { "class": "this.className" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (simple()) {\r\n <div class=\"x-pagination-simple\">\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [before]=\"previousTpl\"\r\n [after]=\"nextTpl\"\r\n [style.width]=\"simpleIndexWidth()\"\r\n [(ngModel)]=\"index\"\r\n (xKeydown)=\"onSimpleKeydown($event)\"\r\n ></x-input>\r\n <span>/</span>\r\n <span>{{ lastIndex() }}</span>\r\n </div>\r\n} @else {\r\n <x-buttons class=\"x-pagination-group\" [space]=\"space()\" [hiddenBorder]=\"!showBackground()\" [boxShadow]=\"false\">\r\n @if (showEllipsis()) {\r\n <x-button\r\n class=\"x-pagination-first\"\r\n [icon]=\"'fto-chevrons-left'\"\r\n [title]=\"'pagination.first' | xI18n\"\r\n [disabled]=\"disabled() || firstActivated()\"\r\n (click)=\"jump(1)\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"previousTpl\"></ng-container>\r\n @for (item of indexes(); track item) {\r\n <x-button\r\n class=\"x-pagination-link\"\r\n [disabled]=\"disabled()\"\r\n plain\r\n flat\r\n [activated]=\"getActivated(item)\"\r\n (click)=\"jump(item)\"\r\n >{{ item }}</x-button\r\n >\r\n }\r\n <ng-container *xOutlet=\"nextTpl\"></ng-container>\r\n @if (showEllipsis() && !simple()) {\r\n <x-button\r\n class=\"x-pagination-last\"\r\n [icon]=\"'fto-chevrons-right'\"\r\n [title]=\"'pagination.last' | xI18n\"\r\n [disabled]=\"disabled() || lastActivated()\"\r\n (click)=\"jump(lastIndex())\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n </x-buttons>\r\n}\r\n@if (showSize() && !showInputSize()) {\r\n <x-select\r\n [style.width]=\"sizeWidth()\"\r\n class=\"x-pagination-size\"\r\n [data]=\"sizeDataSignal()\"\r\n [clearable]=\"false\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [(ngModel)]=\"size\"\r\n (ngModelChange)=\"sizeChanged()\"\r\n ></x-select>\r\n}\r\n@if (showInputSize()) {\r\n <div class=\"x-pagination-input-size\">\r\n <x-input\r\n
|
|
343
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XPaginationComponent, isStandalone: true, selector: "x-pagination", host: { properties: { "class": "this.className" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (simple()) {\r\n <div class=\"x-pagination-simple\">\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [before]=\"previousTpl\"\r\n [after]=\"nextTpl\"\r\n [style.width]=\"simpleIndexWidth()\"\r\n [(ngModel)]=\"index\"\r\n (xKeydown)=\"onSimpleKeydown($event)\"\r\n ></x-input>\r\n <span>/</span>\r\n <span>{{ lastIndex() }}</span>\r\n </div>\r\n} @else {\r\n <x-buttons class=\"x-pagination-group\" [space]=\"space()\" [hiddenBorder]=\"!showBackground()\" [boxShadow]=\"false\">\r\n @if (showEllipsis()) {\r\n <x-button\r\n class=\"x-pagination-first\"\r\n [icon]=\"'fto-chevrons-left'\"\r\n [title]=\"'pagination.first' | xI18n\"\r\n [disabled]=\"disabled() || firstActivated()\"\r\n (click)=\"jump(1)\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"previousTpl\"></ng-container>\r\n @for (item of indexes(); track item) {\r\n <x-button\r\n class=\"x-pagination-link\"\r\n [disabled]=\"disabled()\"\r\n plain\r\n flat\r\n [activated]=\"getActivated(item)\"\r\n (click)=\"jump(item)\"\r\n >{{ item }}</x-button\r\n >\r\n }\r\n <ng-container *xOutlet=\"nextTpl\"></ng-container>\r\n @if (showEllipsis() && !simple()) {\r\n <x-button\r\n class=\"x-pagination-last\"\r\n [icon]=\"'fto-chevrons-right'\"\r\n [title]=\"'pagination.last' | xI18n\"\r\n [disabled]=\"disabled() || lastActivated()\"\r\n (click)=\"jump(lastIndex())\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n </x-buttons>\r\n}\r\n@if (showSize() && !showInputSize()) {\r\n <x-select\r\n [style.width]=\"sizeWidth()\"\r\n class=\"x-pagination-size\"\r\n [data]=\"sizeDataSignal()\"\r\n [clearable]=\"false\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [(ngModel)]=\"size\"\r\n (ngModelChange)=\"sizeChanged()\"\r\n ></x-select>\r\n}\r\n@if (showInputSize()) {\r\n <div class=\"x-pagination-input-size\">\r\n @if (showInputSizeTooltipText()) {\r\n <x-input\r\n x-tooltip\r\n [content]=\"inputSizeTooltip()\"\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n } @else {\r\n <x-input\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n }\r\n <span> {{ 'pagination.sizePage' | xI18n }} </span>\r\n </div>\r\n}\r\n@if (showJump() && !simple()) {\r\n <div class=\"x-pagination-jump\">\r\n <span>{{ 'pagination.jump' | xI18n }}</span>\r\n @if (showJumpTooltipText()) {\r\n <x-input\r\n x-tooltip\r\n [content]=\"jumpTooltip()\"\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n } @else {\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n }\r\n </div>\r\n}\r\n@if (showTotal()) {\r\n <x-button [disabled]=\"disabled()\" plain flat class=\"x-pagination-total\">\r\n <ng-container *xOutlet=\"totalTpl(); context: { $total: total() }\">\r\n {{ 'pagination.total' | xI18n }} {{ total() }} {{ 'pagination.item' | xI18n }}\r\n </ng-container>\r\n </x-button>\r\n}\r\n<ng-template #previousTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-left'\"\r\n [title]=\"'pagination.previous' | xI18n\"\r\n [disabled]=\"disabled() || leftDisabled()\"\r\n (click)=\"jump(-1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nextTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-right'\"\r\n [title]=\"'pagination.next' | xI18n\"\r\n [disabled]=\"disabled() || rightDisabled()\"\r\n (click)=\"jump(1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n @if (node) {\r\n {{ node?.label }} {{ 'pagination.sizePage' | xI18n }}\r\n }\r\n</ng-template>\r\n", styles: [".x-pagination{margin:0;padding:0}.x-pagination{display:inline-flex}.x-pagination>.x-buttons.x-buttons-hiddenBorder>x-button>.x-button{min-width:1.75rem}.x-pagination>.x-buttons.x-buttons-hiddenBorder>x-button>.x-button-activated{background-color:#0000000d}.x-pagination-size,.x-pagination-total{margin-left:.5rem}.x-pagination-input-size{margin-left:.5rem;display:inline-flex;align-items:center}.x-pagination-input-size x-input{margin-right:.5rem}.x-pagination-jump{margin-left:.5rem;display:inline-flex;align-items:center}.x-pagination-jump x-input{margin-left:.5rem}.x-pagination-simple{margin-right:.5rem;display:inline-flex;align-items:center}.x-pagination-simple>x-input input{text-align:center}.x-pagination-simple>span{margin-left:.5rem}\n"], dependencies: [{ 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: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }, { kind: "component", type: XSelectComponent, selector: "x-select" }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "ngmodule", type: XTooltipModule }, { kind: "directive", type: i2.XTooltipDirective, selector: "[x-tooltip], x-tooltip" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
334
344
|
}
|
|
335
345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPaginationComponent, decorators: [{
|
|
336
346
|
type: Component,
|
|
@@ -343,7 +353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
343
353
|
XInputComponent,
|
|
344
354
|
XTooltipModule,
|
|
345
355
|
XOutletDirective
|
|
346
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (simple()) {\r\n <div class=\"x-pagination-simple\">\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [before]=\"previousTpl\"\r\n [after]=\"nextTpl\"\r\n [style.width]=\"simpleIndexWidth()\"\r\n [(ngModel)]=\"index\"\r\n (xKeydown)=\"onSimpleKeydown($event)\"\r\n ></x-input>\r\n <span>/</span>\r\n <span>{{ lastIndex() }}</span>\r\n </div>\r\n} @else {\r\n <x-buttons class=\"x-pagination-group\" [space]=\"space()\" [hiddenBorder]=\"!showBackground()\" [boxShadow]=\"false\">\r\n @if (showEllipsis()) {\r\n <x-button\r\n class=\"x-pagination-first\"\r\n [icon]=\"'fto-chevrons-left'\"\r\n [title]=\"'pagination.first' | xI18n\"\r\n [disabled]=\"disabled() || firstActivated()\"\r\n (click)=\"jump(1)\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"previousTpl\"></ng-container>\r\n @for (item of indexes(); track item) {\r\n <x-button\r\n class=\"x-pagination-link\"\r\n [disabled]=\"disabled()\"\r\n plain\r\n flat\r\n [activated]=\"getActivated(item)\"\r\n (click)=\"jump(item)\"\r\n >{{ item }}</x-button\r\n >\r\n }\r\n <ng-container *xOutlet=\"nextTpl\"></ng-container>\r\n @if (showEllipsis() && !simple()) {\r\n <x-button\r\n class=\"x-pagination-last\"\r\n [icon]=\"'fto-chevrons-right'\"\r\n [title]=\"'pagination.last' | xI18n\"\r\n [disabled]=\"disabled() || lastActivated()\"\r\n (click)=\"jump(lastIndex())\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n </x-buttons>\r\n}\r\n@if (showSize() && !showInputSize()) {\r\n <x-select\r\n [style.width]=\"sizeWidth()\"\r\n class=\"x-pagination-size\"\r\n [data]=\"sizeDataSignal()\"\r\n [clearable]=\"false\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [(ngModel)]=\"size\"\r\n (ngModelChange)=\"sizeChanged()\"\r\n ></x-select>\r\n}\r\n@if (showInputSize()) {\r\n <div class=\"x-pagination-input-size\">\r\n <x-input\r\n
|
|
356
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (simple()) {\r\n <div class=\"x-pagination-simple\">\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [before]=\"previousTpl\"\r\n [after]=\"nextTpl\"\r\n [style.width]=\"simpleIndexWidth()\"\r\n [(ngModel)]=\"index\"\r\n (xKeydown)=\"onSimpleKeydown($event)\"\r\n ></x-input>\r\n <span>/</span>\r\n <span>{{ lastIndex() }}</span>\r\n </div>\r\n} @else {\r\n <x-buttons class=\"x-pagination-group\" [space]=\"space()\" [hiddenBorder]=\"!showBackground()\" [boxShadow]=\"false\">\r\n @if (showEllipsis()) {\r\n <x-button\r\n class=\"x-pagination-first\"\r\n [icon]=\"'fto-chevrons-left'\"\r\n [title]=\"'pagination.first' | xI18n\"\r\n [disabled]=\"disabled() || firstActivated()\"\r\n (click)=\"jump(1)\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"previousTpl\"></ng-container>\r\n @for (item of indexes(); track item) {\r\n <x-button\r\n class=\"x-pagination-link\"\r\n [disabled]=\"disabled()\"\r\n plain\r\n flat\r\n [activated]=\"getActivated(item)\"\r\n (click)=\"jump(item)\"\r\n >{{ item }}</x-button\r\n >\r\n }\r\n <ng-container *xOutlet=\"nextTpl\"></ng-container>\r\n @if (showEllipsis() && !simple()) {\r\n <x-button\r\n class=\"x-pagination-last\"\r\n [icon]=\"'fto-chevrons-right'\"\r\n [title]=\"'pagination.last' | xI18n\"\r\n [disabled]=\"disabled() || lastActivated()\"\r\n (click)=\"jump(lastIndex())\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n </x-buttons>\r\n}\r\n@if (showSize() && !showInputSize()) {\r\n <x-select\r\n [style.width]=\"sizeWidth()\"\r\n class=\"x-pagination-size\"\r\n [data]=\"sizeDataSignal()\"\r\n [clearable]=\"false\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [(ngModel)]=\"size\"\r\n (ngModelChange)=\"sizeChanged()\"\r\n ></x-select>\r\n}\r\n@if (showInputSize()) {\r\n <div class=\"x-pagination-input-size\">\r\n @if (showInputSizeTooltipText()) {\r\n <x-input\r\n x-tooltip\r\n [content]=\"inputSizeTooltip()\"\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n } @else {\r\n <x-input\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n }\r\n <span> {{ 'pagination.sizePage' | xI18n }} </span>\r\n </div>\r\n}\r\n@if (showJump() && !simple()) {\r\n <div class=\"x-pagination-jump\">\r\n <span>{{ 'pagination.jump' | xI18n }}</span>\r\n @if (showJumpTooltipText()) {\r\n <x-input\r\n x-tooltip\r\n [content]=\"jumpTooltip()\"\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n } @else {\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n }\r\n </div>\r\n}\r\n@if (showTotal()) {\r\n <x-button [disabled]=\"disabled()\" plain flat class=\"x-pagination-total\">\r\n <ng-container *xOutlet=\"totalTpl(); context: { $total: total() }\">\r\n {{ 'pagination.total' | xI18n }} {{ total() }} {{ 'pagination.item' | xI18n }}\r\n </ng-container>\r\n </x-button>\r\n}\r\n<ng-template #previousTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-left'\"\r\n [title]=\"'pagination.previous' | xI18n\"\r\n [disabled]=\"disabled() || leftDisabled()\"\r\n (click)=\"jump(-1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nextTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-right'\"\r\n [title]=\"'pagination.next' | xI18n\"\r\n [disabled]=\"disabled() || rightDisabled()\"\r\n (click)=\"jump(1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n @if (node) {\r\n {{ node?.label }} {{ 'pagination.sizePage' | xI18n }}\r\n }\r\n</ng-template>\r\n", styles: [".x-pagination{margin:0;padding:0}.x-pagination{display:inline-flex}.x-pagination>.x-buttons.x-buttons-hiddenBorder>x-button>.x-button{min-width:1.75rem}.x-pagination>.x-buttons.x-buttons-hiddenBorder>x-button>.x-button-activated{background-color:#0000000d}.x-pagination-size,.x-pagination-total{margin-left:.5rem}.x-pagination-input-size{margin-left:.5rem;display:inline-flex;align-items:center}.x-pagination-input-size x-input{margin-right:.5rem}.x-pagination-jump{margin-left:.5rem;display:inline-flex;align-items:center}.x-pagination-jump x-input{margin-left:.5rem}.x-pagination-simple{margin-right:.5rem;display:inline-flex;align-items:center}.x-pagination-simple>x-input input{text-align:center}.x-pagination-simple>span{margin-left:.5rem}\n"] }]
|
|
347
357
|
}], propDecorators: { className: [{
|
|
348
358
|
type: HostBinding,
|
|
349
359
|
args: ['class']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-pagination.mjs","sources":["../../../../lib/ng-nest/ui/pagination/pagination.property.ts","../../../../lib/ng-nest/ui/pagination/pagination.component.ts","../../../../lib/ng-nest/ui/pagination/pagination.component.html","../../../../lib/ng-nest/ui/pagination/pagination.module.ts","../../../../lib/ng-nest/ui/pagination/ng-nest-ui-pagination.ts"],"sourcesContent":["import { XPropertyFunction, XToNumber, XToBoolean, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, model, input } from '@angular/core';\r\nimport type { XSelectNode } from '@ng-nest/ui/select';\r\nimport type { XNumber, XQuery, XBoolean, XTemplate, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Pagination\r\n * @selector x-pagination\r\n * @decorator component\r\n */\r\nexport const XPaginationPrefix = 'x-pagination';\r\nconst X_PAGINATION_CONFIG_NAME = 'pagination';\r\n\r\n/**\r\n * @zh_CN 分页选择条数\r\n * @en_US Sub-selection\r\n */\r\nexport const XPaginationSizeData = [10, 20, 50, 100];\r\n\r\n/**\r\n * Pagination Property\r\n */\r\n@Component({ selector: `${XPaginationPrefix}-property`, template: '' })\r\nexport class XPaginationProperty extends XPropertyFunction(X_PAGINATION_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 当前页码\r\n * @en_US Current page number\r\n */\r\n readonly index = model<number>(this.config?.index ?? 1);\r\n /**\r\n * @zh_CN 每页显示条数\r\n * @en_US Number of items displayed per page\r\n */\r\n readonly size = model<number>(this.config?.size ?? 10);\r\n /**\r\n * @zh_CN 总数\r\n * @en_US Total\r\n */\r\n readonly total = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 查询条件\r\n * @en_US Query conditions\r\n */\r\n readonly query = model<XQuery>({});\r\n /**\r\n * @zh_CN 最多显示的分页数量\r\n * @en_US The largest number of pages display\r\n */\r\n readonly pageLinkSize = input<number, XNumber>(this.config?.pageLinkSize ?? 5, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示首尾页跳转\r\n * @en_US Display the first and last page\r\n */\r\n readonly showEllipsis = input<boolean, XBoolean>(this.config?.showEllipsis ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示总条数\r\n * @en_US Display the total\r\n */\r\n readonly showTotal = input<boolean, XBoolean>(this.config?.showTotal ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 按钮间距\r\n * @en_US Button spacing\r\n */\r\n readonly space = input<string, XNumber>(this.config?.space ?? '0.25rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 添加背景色\r\n * @en_US Show background\r\n */\r\n readonly showBackground = input<boolean, XBoolean>(this.config?.showBackground ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示分页条数\r\n * @en_US Show size\r\n */\r\n readonly showSize = input<boolean, XBoolean>(this.config?.showSize ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 分页条数选择框的宽度\r\n * @en_US size with select\r\n */\r\n readonly sizeWidth = input<string, XNumber>(this.config?.sizeWidth ?? '6.875rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 显示输入分页框(不能跟下拉选项同时使用),默认使用回车确认改变\r\n * @en_US Display the number of input page breaks (cannot exist with the drop-down options of page breaks). default to using Enter to confirm changes\r\n */\r\n readonly showInputSize = input<boolean, XBoolean>(this.config?.showInputSize ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入分页框的 tooltip 提示信息,默认根据输入确认改变的方式来显示\r\n * @en_US Enter the tooltip prompt information for the pagination box, which will be displayed by default based on the confirmation of the input\r\n */\r\n readonly inputSizeTooltipText = input<string>(this.config?.inputSizeTooltipText ?? '');\r\n /**\r\n * @zh_CN 分页条数输入框的宽度\r\n * @en_US size with input\r\n */\r\n readonly inputSizeWidth = input<string, XNumber>(this.config?.sizeWidth ?? '3.125rem', {\r\n transform: XToCssPixelValue\r\n });\r\n /**\r\n * @zh_CN 分页选择的数据项\r\n * @en_US Paging choose items of data\r\n */\r\n readonly sizeData = input<XDataArray<XSelectNode>>(this.config?.sizeData ?? XPaginationSizeData);\r\n /**\r\n * @zh_CN 禁用整个分页\r\n * @en_US disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示跳转输入框,默认使用回车确认改变\r\n * @en_US Show size. default to using Enter to confirm changes\r\n */\r\n readonly showJump = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 跳转输入框的 tooltip 提示信息,默认根据输入确认改变的方式来显示\r\n * @en_US The tooltip prompt information for jumping to the input box is displayed by default based on the confirmation of input changes\r\n */\r\n readonly jumpTooltipText = input<string>(this.config?.jumpTooltipText ?? '');\r\n /**\r\n * @zh_CN 跳转页的宽度\r\n * @en_US size with\r\n */\r\n readonly jumpWidth = input<string, XNumber>(this.config?.jumpWidth ?? '3.125rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 总数自定义模板\r\n * @en_US Total template\r\n */\r\n readonly totalTpl = input<XTemplate>();\r\n /**\r\n * @zh_CN 简单分页\r\n * @en_US Simple\r\n */\r\n readonly simple = input<boolean, XBoolean>(this.config?.simple ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 简单分页输入框宽度\r\n * @en_US Simple index with\r\n */\r\n readonly simpleIndexWidth = input<string, XNumber>(this.config?.simpleIndexWidth ?? '8.125rem', {\r\n transform: XToCssPixelValue\r\n });\r\n /**\r\n * @zh_CN 输入确认改变的方式,针对输入分页大小和输入跳转页\r\n * @en_US The method for confirming changes in input is based on the input page size and input jump page\r\n */\r\n readonly inputIndexSizeSureType = input<XPaginationInputIndexSizeSureType>(\r\n this.config?.inputIndexSizeSureType ?? 'enter'\r\n );\r\n}\r\n\r\n/**\r\n * @zh_CN 输入确认改变的方式,针对输入分页大小和输入跳转页\r\n * - `'enter'` : 输入后使用回车键确认\r\n * - `'blur'` : 输入后失去焦点后确认\r\n * - `'both'` : 上面2种都可以触发确认操作\r\n * @en_US The method for confirming changes in input is based on the input page size and input jump page\r\n * - `'enter'` : After entering, use the enter key to confirm\r\n * - `'blur'` : Confirm after losing focus after input\r\n * - `'both'` : Both of the above can trigger confirmation operations\r\n */\r\nexport type XPaginationInputIndexSizeSureType = 'enter' | 'blur' | 'both';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n signal,\r\n computed,\r\n HostBinding,\r\n ElementRef,\r\n inject,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XPaginationPrefix, XPaginationProperty } from './pagination.property';\r\nimport { XI18nPagination, XI18nPipe, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { ENTER } from '@angular/cdk/keycodes';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XSelectComponent } from '@ng-nest/ui/select';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XIsChange, XToDataArray } from '@ng-nest/ui/core';\r\nimport { XTooltipModule } from '@ng-nest/ui/tooltip';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { map } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XPaginationPrefix}`,\r\n imports: [\r\n FormsModule,\r\n XButtonComponent,\r\n XButtonsComponent,\r\n XI18nPipe,\r\n XSelectComponent,\r\n XInputComponent,\r\n XTooltipModule,\r\n XOutletDirective\r\n ],\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XPaginationComponent extends XPaginationProperty implements OnInit {\r\n elementRef = inject(ElementRef);\r\n private i18n = inject(XI18nService);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.pagination as XI18nPagination)), {\r\n initialValue: zh_CN.pagination\r\n });\r\n\r\n @HostBinding('class') className = XPaginationPrefix;\r\n\r\n indexFirst = signal(1);\r\n indexLast = signal(1);\r\n jumpPage = signal<string>('');\r\n inputSize = signal<string>('');\r\n\r\n lastIndex = computed(() => Math.ceil(this.total() / this.size()) || 1);\r\n leftDisabled = computed(() => this.index() === 1 || this.total() === 0);\r\n rightDisabled = computed(() => this.index() === this.lastIndex() || this.total() === 0);\r\n firstActivated = computed(() => this.index() === 1);\r\n lastActivated = computed(() => this.index() === this.lastIndex());\r\n\r\n indexes = computed(() => {\r\n const indexes: number[] = [];\r\n const current = this.index() - 1;\r\n const maxSize = this.pageLinkSize();\r\n const pages = Math.min(maxSize, this.lastIndex());\r\n let start = Math.max(0, Math.ceil(current - pages / 2)),\r\n end = Math.min(this.lastIndex() - 1, start + pages - 1);\r\n var delta = maxSize - (end - start + 1);\r\n start = Math.max(0, start - delta);\r\n\r\n for (let i = start; i <= end; i++) {\r\n indexes.push(i + 1);\r\n }\r\n return indexes;\r\n });\r\n\r\n sizeDataSignal = computed(() => XToDataArray(this.sizeData()));\r\n\r\n inputSizeTooltip = computed(() => {\r\n if (this.inputSizeTooltipText()) return this.inputSizeTooltipText();\r\n if (this.inputIndexSizeSureType() === 'enter') {\r\n return this.locale().inputSizeTooltipEnter;\r\n }\r\n if (this.inputIndexSizeSureType() === 'blur') {\r\n return this.locale().inputSizeTooltipBlur;\r\n }\r\n if (this.inputIndexSizeSureType() === 'both') {\r\n return this.locale().inputSizeTooltipBoth;\r\n }\r\n return '';\r\n });\r\n\r\n jumpTooltip = computed(() => {\r\n if (this.jumpTooltipText()) return this.jumpTooltipText();\r\n if (this.inputIndexSizeSureType() === 'enter') {\r\n return this.locale().jumpTooltipEnter;\r\n }\r\n if (this.inputIndexSizeSureType() === 'blur') {\r\n return this.locale().jumpTooltipBlur;\r\n }\r\n if (this.inputIndexSizeSureType() === 'both') {\r\n return this.locale().jumpTooltipBoth;\r\n }\r\n return '';\r\n });\r\n\r\n ngOnInit() {\r\n this.inputSize.set(this.size().toString());\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { size } = changes;\r\n XIsChange(size) && this.inputSize.set(this.size().toString());\r\n }\r\n\r\n sizeChanged() {\r\n if (this.index() !== 1) {\r\n this.index.set(1);\r\n }\r\n }\r\n\r\n jump(index: number, isDiff = false) {\r\n const ix = this.validateIndex(isDiff ? this.index() + index : index);\r\n if (ix !== this.index()) {\r\n this.index.set(ix);\r\n }\r\n }\r\n\r\n onJumpBlur(_event: MouseEvent) {\r\n if (!['blur', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const jumpPage = this.jumpPage().trim();\r\n const page = Number(jumpPage);\r\n this.onJumpPageChange(page);\r\n }\r\n\r\n onJumpKeydown(event: KeyboardEvent) {\r\n if (!['enter', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const jumpPage = this.jumpPage().trim();\r\n if (jumpPage !== '' && event.keyCode === ENTER) {\r\n const page = Number(jumpPage);\r\n this.onJumpPageChange(page);\r\n }\r\n }\r\n\r\n onJumpPageChange(page: number) {\r\n if (page <= this.indexFirst()) {\r\n this.jump(this.indexFirst());\r\n } else if (page >= this.lastIndex()) {\r\n this.jump(this.lastIndex());\r\n } else {\r\n this.jump(page);\r\n }\r\n this.jumpPage.set('');\r\n }\r\n\r\n onSimpleKeydown(event: KeyboardEvent) {\r\n if (this.index() !== null && event.keyCode === ENTER) {\r\n if (this.index() % 1 !== 0) {\r\n this.index.update((x) => Math.round(x));\r\n }\r\n if (isNaN(this.index()) || this.index() === 0) {\r\n this.index.set(1);\r\n }\r\n if (this.index() <= this.indexFirst()) {\r\n this.index.set(this.indexFirst());\r\n } else if (this.index() >= this.lastIndex()) {\r\n this.index.set(this.lastIndex());\r\n }\r\n this.jump(this.index());\r\n }\r\n }\r\n\r\n onInputSizeBlur(_event: MouseEvent) {\r\n if (!['blur', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const inputSize = this.inputSize().trim();\r\n const inputNumber = Number(inputSize);\r\n this.onSizeChange(inputNumber);\r\n }\r\n\r\n onInputSizeKeydown(event: KeyboardEvent) {\r\n if (!['enter', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const inputSize = this.inputSize().trim();\r\n if (inputSize !== '' && event.keyCode === ENTER) {\r\n const inputNumber = Number(inputSize);\r\n this.onSizeChange(inputNumber);\r\n }\r\n }\r\n\r\n onSizeChange(size: number) {\r\n if (size % 1 !== 0) {\r\n this.inputSize.set(`${Math.round(size)}`);\r\n }\r\n if (isNaN(size)) {\r\n this.inputSize.set(`${this.size()}`);\r\n }\r\n if (size <= 0) {\r\n this.inputSize.set(`${this.size()}`);\r\n } else if (size !== this.size()) {\r\n this.size.set(size);\r\n this.sizeChanged();\r\n }\r\n }\r\n\r\n validateIndex(value: number): number {\r\n if (value > this.lastIndex()) {\r\n return this.lastIndex();\r\n } else if (value < 1) {\r\n return 1;\r\n } else {\r\n return value;\r\n }\r\n }\r\n\r\n getActivated(index: number) {\r\n return this.index() === index;\r\n }\r\n}\r\n","@if (simple()) {\r\n <div class=\"x-pagination-simple\">\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [before]=\"previousTpl\"\r\n [after]=\"nextTpl\"\r\n [style.width]=\"simpleIndexWidth()\"\r\n [(ngModel)]=\"index\"\r\n (xKeydown)=\"onSimpleKeydown($event)\"\r\n ></x-input>\r\n <span>/</span>\r\n <span>{{ lastIndex() }}</span>\r\n </div>\r\n} @else {\r\n <x-buttons class=\"x-pagination-group\" [space]=\"space()\" [hiddenBorder]=\"!showBackground()\" [boxShadow]=\"false\">\r\n @if (showEllipsis()) {\r\n <x-button\r\n class=\"x-pagination-first\"\r\n [icon]=\"'fto-chevrons-left'\"\r\n [title]=\"'pagination.first' | xI18n\"\r\n [disabled]=\"disabled() || firstActivated()\"\r\n (click)=\"jump(1)\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"previousTpl\"></ng-container>\r\n @for (item of indexes(); track item) {\r\n <x-button\r\n class=\"x-pagination-link\"\r\n [disabled]=\"disabled()\"\r\n plain\r\n flat\r\n [activated]=\"getActivated(item)\"\r\n (click)=\"jump(item)\"\r\n >{{ item }}</x-button\r\n >\r\n }\r\n <ng-container *xOutlet=\"nextTpl\"></ng-container>\r\n @if (showEllipsis() && !simple()) {\r\n <x-button\r\n class=\"x-pagination-last\"\r\n [icon]=\"'fto-chevrons-right'\"\r\n [title]=\"'pagination.last' | xI18n\"\r\n [disabled]=\"disabled() || lastActivated()\"\r\n (click)=\"jump(lastIndex())\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n </x-buttons>\r\n}\r\n@if (showSize() && !showInputSize()) {\r\n <x-select\r\n [style.width]=\"sizeWidth()\"\r\n class=\"x-pagination-size\"\r\n [data]=\"sizeDataSignal()\"\r\n [clearable]=\"false\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [(ngModel)]=\"size\"\r\n (ngModelChange)=\"sizeChanged()\"\r\n ></x-select>\r\n}\r\n@if (showInputSize()) {\r\n <div class=\"x-pagination-input-size\">\r\n <x-input\r\n x-tooltip\r\n [content]=\"inputSizeTooltip()\"\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n <span> {{ 'pagination.sizePage' | xI18n }} </span>\r\n </div>\r\n}\r\n@if (showJump() && !simple()) {\r\n <div class=\"x-pagination-jump\">\r\n <span>{{ 'pagination.jump' | xI18n }}</span>\r\n <x-input\r\n x-tooltip\r\n [content]=\"jumpTooltip()\"\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n </div>\r\n}\r\n@if (showTotal()) {\r\n <x-button [disabled]=\"disabled()\" plain flat class=\"x-pagination-total\">\r\n <ng-container *xOutlet=\"totalTpl(); context: { $total: total() }\">\r\n {{ 'pagination.total' | xI18n }} {{ total() }} {{ 'pagination.item' | xI18n }}\r\n </ng-container>\r\n </x-button>\r\n}\r\n<ng-template #previousTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-left'\"\r\n [title]=\"'pagination.previous' | xI18n\"\r\n [disabled]=\"disabled() || leftDisabled()\"\r\n (click)=\"jump(-1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nextTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-right'\"\r\n [title]=\"'pagination.next' | xI18n\"\r\n [disabled]=\"disabled() || rightDisabled()\"\r\n (click)=\"jump(1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n @if (node) {\r\n {{ node?.label }} {{ 'pagination.sizePage' | xI18n }}\r\n }\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XPaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n exports: [XPaginationComponent],\r\n imports: [XPaginationComponent]\r\n})\r\nexport class XPaginationModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA;;;;AAIG;AACI,MAAM,iBAAiB,GAAG;AACjC,MAAM,wBAAwB,GAAG,YAAY;AAE7C;;;AAGG;AACI,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;AAEnD;;AAEG;MAEU,mBAAoB,SAAQ,iBAAiB,CAAC,wBAAwB,CAAC,CAAA;AADpF,IAAA,WAAA,GAAA;;AAEE;;;AAGG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,CAAS,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC;AACvD;;;AAGG;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,CAAS,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;AACtD;;;AAGG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,CAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACpE;;;AAGG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,EAAE,CAAC;AAClC;;;AAGG;AACM,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACxG;;;AAGG;AACM,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAoB,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC9G;;;AAGG;AACM,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACxG;;;AAGG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AACzG;;;AAGG;AACM,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAoB,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH;;;AAGG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACvG;;;AAGG;AACM,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,UAAU,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAClH;;;AAGG;AACM,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAoB,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACjH;;;AAGG;QACM,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAS,IAAI,CAAC,MAAM,EAAE,oBAAoB,IAAI,EAAE,CAAC;AACtF;;;AAGG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,UAAU,EAAE;AACrF,YAAA,SAAS,EAAE;AACZ,SAAA,CAAC;AACF;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAA0B,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,mBAAmB,CAAC;AAChG;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC9E;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC9E;;;AAGG;QACM,IAAe,CAAA,eAAA,GAAG,KAAK,CAAS,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,EAAE,CAAC;AAC5E;;;AAGG;AACM,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,UAAU,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAClH;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,EAAa;AACtC;;;AAGG;AACM,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAoB,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnG;;;AAGG;QACM,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,UAAU,EAAE;AAC9F,YAAA,SAAS,EAAE;AACZ,SAAA,CAAC;AACF;;;AAGG;QACM,IAAsB,CAAA,sBAAA,GAAG,KAAK,CACrC,IAAI,CAAC,MAAM,EAAE,sBAAsB,IAAI,OAAO,CAC/C;AACF;iIA1HY,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,ivGADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACvD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAG,EAAA,iBAAiB,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;;ACoBhE,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAjB7D,IAAA,WAAA,GAAA;;AAkBE,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,IAAM,CAAA,MAAA,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAA6B,CAAC,CAAC,EAAE;YAC1F,YAAY,EAAE,KAAK,CAAC;AACrB,SAAA,CAAC;QAEoB,IAAS,CAAA,SAAA,GAAG,iBAAiB;AAEnD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAS,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAS,EAAE,CAAC;QAE9B,IAAS,CAAA,SAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACtE,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,IAAa,CAAA,aAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACvF,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;AAEjE,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;YACtB,MAAM,OAAO,GAAa,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;AAChC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;AACnC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACjD,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EACrD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACzD,IAAI,KAAK,GAAG,OAAO,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YACvC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;AAElC,YAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;AAErB,YAAA,OAAO,OAAO;AAChB,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;YAC/B,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAAE,gBAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE;AACnE,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,OAAO,EAAE;AAC7C,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,qBAAqB;;AAE5C,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,MAAM,EAAE;AAC5C,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB;;AAE3C,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,MAAM,EAAE;AAC5C,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB;;AAE3C,YAAA,OAAO,EAAE;AACX,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YAC1B,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,gBAAA,OAAO,IAAI,CAAC,eAAe,EAAE;AACzD,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,OAAO,EAAE;AAC7C,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,gBAAgB;;AAEvC,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,MAAM,EAAE;AAC5C,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe;;AAEtC,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,MAAM,EAAE;AAC5C,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe;;AAEtC,YAAA,OAAO,EAAE;AACX,SAAC,CAAC;AAgHH;IA9GC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAG5C,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO;AACxB,QAAA,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;;IAG/D,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;AAIrB,IAAA,IAAI,CAAC,KAAa,EAAE,MAAM,GAAG,KAAK,EAAA;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AACpE,QAAA,IAAI,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;;;AAItB,IAAA,UAAU,CAAC,MAAkB,EAAA;AAC3B,QAAA,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAAE;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AACvC,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;AAG7B,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAAE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QACvC,IAAI,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;AAC9C,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC7B,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;AAI/B,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;AACvB,aAAA,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;;aACtB;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEjB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;;AAGvB,IAAA,eAAe,CAAC,KAAoB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;YACpD,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;AAEzC,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC7C,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;YAEnB,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;iBAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;gBAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;;YAElC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;;AAI3B,IAAA,eAAe,CAAC,MAAkB,EAAA;AAChC,QAAA,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAAE;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;AACzC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACrC,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;;AAGhC,IAAA,kBAAkB,CAAC,KAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAAE;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QACzC,IAAI,SAAS,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;AAC/C,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACrC,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;;;AAIlC,IAAA,YAAY,CAAC,IAAY,EAAA;AACvB,QAAA,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;;AAE3C,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;AACf,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,EAAE,CAAE,CAAA,CAAC;;AAEtC,QAAA,IAAI,IAAI,IAAI,CAAC,EAAE;AACb,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,EAAE,CAAE,CAAA,CAAC;;AAC/B,aAAA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE;;;AAItB,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,SAAS,EAAE;;AAClB,aAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACpB,YAAA,OAAO,CAAC;;aACH;AACL,YAAA,OAAO,KAAK;;;AAIhB,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK;;iIA9KpB,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,yKC1CjC,s6HAgIA,EAAA,MAAA,EAAA,CAAA,4uBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpGI,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,gBAAgB,EAChB,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,8CACT,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EACf,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,sHACd,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAOP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,SAAS;+BACE,CAAG,EAAA,iBAAiB,EAAE,EACvB,OAAA,EAAA;wBACP,WAAW;wBACX,gBAAgB;wBAChB,iBAAiB;wBACjB,SAAS;wBACT,gBAAgB;wBAChB,eAAe;wBACf,cAAc;wBACd;AACD,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,s6HAAA,EAAA,MAAA,EAAA,CAAA,4uBAAA,CAAA,EAAA;8BASzB,SAAS,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;ME1CT,iBAAiB,CAAA;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAjB,iBAAiB,EAAA,OAAA,EAAA,CAFlB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CADpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAFlB,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAEnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB;AAC/B,iBAAA;;;ACND;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-pagination.mjs","sources":["../../../../lib/ng-nest/ui/pagination/pagination.property.ts","../../../../lib/ng-nest/ui/pagination/pagination.component.ts","../../../../lib/ng-nest/ui/pagination/pagination.component.html","../../../../lib/ng-nest/ui/pagination/pagination.module.ts","../../../../lib/ng-nest/ui/pagination/ng-nest-ui-pagination.ts"],"sourcesContent":["import { XPropertyFunction, XToNumber, XToBoolean, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, model, input } from '@angular/core';\r\nimport type { XSelectNode } from '@ng-nest/ui/select';\r\nimport type { XNumber, XQuery, XBoolean, XTemplate, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Pagination\r\n * @selector x-pagination\r\n * @decorator component\r\n */\r\nexport const XPaginationPrefix = 'x-pagination';\r\nconst X_PAGINATION_CONFIG_NAME = 'pagination';\r\n\r\n/**\r\n * @zh_CN 分页选择条数\r\n * @en_US Sub-selection\r\n */\r\nexport const XPaginationSizeData = [10, 20, 50, 100];\r\n\r\n/**\r\n * Pagination Property\r\n */\r\n@Component({ selector: `${XPaginationPrefix}-property`, template: '' })\r\nexport class XPaginationProperty extends XPropertyFunction(X_PAGINATION_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 当前页码\r\n * @en_US Current page number\r\n */\r\n readonly index = model<number>(this.config?.index ?? 1);\r\n /**\r\n * @zh_CN 每页显示条数\r\n * @en_US Number of items displayed per page\r\n */\r\n readonly size = model<number>(this.config?.size ?? 10);\r\n /**\r\n * @zh_CN 总数\r\n * @en_US Total\r\n */\r\n readonly total = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 查询条件\r\n * @en_US Query conditions\r\n */\r\n readonly query = model<XQuery>({});\r\n /**\r\n * @zh_CN 最多显示的分页数量\r\n * @en_US The largest number of pages display\r\n */\r\n readonly pageLinkSize = input<number, XNumber>(this.config?.pageLinkSize ?? 5, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示首尾页跳转\r\n * @en_US Display the first and last page\r\n */\r\n readonly showEllipsis = input<boolean, XBoolean>(this.config?.showEllipsis ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示总条数\r\n * @en_US Display the total\r\n */\r\n readonly showTotal = input<boolean, XBoolean>(this.config?.showTotal ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 按钮间距\r\n * @en_US Button spacing\r\n */\r\n readonly space = input<string, XNumber>(this.config?.space ?? '0.25rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 添加背景色\r\n * @en_US Show background\r\n */\r\n readonly showBackground = input<boolean, XBoolean>(this.config?.showBackground ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示分页条数\r\n * @en_US Show size\r\n */\r\n readonly showSize = input<boolean, XBoolean>(this.config?.showSize ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 分页条数选择框的宽度\r\n * @en_US size with select\r\n */\r\n readonly sizeWidth = input<string, XNumber>(this.config?.sizeWidth ?? '6.875rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 显示输入分页框(不能跟下拉选项同时使用),默认使用回车确认改变\r\n * @en_US Display the number of input page breaks (cannot exist with the drop-down options of page breaks). default to using Enter to confirm changes\r\n */\r\n readonly showInputSize = input<boolean, XBoolean>(this.config?.showInputSize ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示输入分页框的 tooltip 提示信息,默认显示\r\n * @en_US show enter the tooltip prompt information for the pagination box, which will be displayed by default based on the confirmation of the input\r\n */\r\n readonly showInputSizeTooltipText = input<boolean, XBoolean>(this.config?.showInputSizeTooltipText ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入分页框的 tooltip 提示信息,默认根据输入确认改变的方式来显示\r\n * @en_US Enter the tooltip prompt information for the pagination box, which will be displayed by default based on the confirmation of the input\r\n */\r\n readonly inputSizeTooltipText = input<string>(this.config?.inputSizeTooltipText ?? '');\r\n\r\n /**\r\n * @zh_CN 分页条数输入框的宽度\r\n * @en_US size with input\r\n */\r\n readonly inputSizeWidth = input<string, XNumber>(this.config?.sizeWidth ?? '3.125rem', {\r\n transform: XToCssPixelValue\r\n });\r\n /**\r\n * @zh_CN 分页选择的数据项\r\n * @en_US Paging choose items of data\r\n */\r\n readonly sizeData = input<XDataArray<XSelectNode>>(this.config?.sizeData ?? XPaginationSizeData);\r\n /**\r\n * @zh_CN 禁用整个分页\r\n * @en_US disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示跳转输入框,默认使用回车确认改变\r\n * @en_US Show size. default to using Enter to confirm changes\r\n */\r\n readonly showJump = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示跳转输入框的 tooltip 提示信息,默认显示\r\n * @en_US Show the tooltip prompt information for jumping to the input box is displayed by default based on the confirmation of input changes\r\n */\r\n readonly showJumpTooltipText = input<boolean, XBoolean>(this.config?.showJumpTooltipText ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 跳转输入框的 tooltip 提示信息,默认根据输入确认改变的方式来显示\r\n * @en_US The tooltip prompt information for jumping to the input box is displayed by default based on the confirmation of input changes\r\n */\r\n readonly jumpTooltipText = input<string>(this.config?.jumpTooltipText ?? '');\r\n /**\r\n * @zh_CN 跳转页的宽度\r\n * @en_US size with\r\n */\r\n readonly jumpWidth = input<string, XNumber>(this.config?.jumpWidth ?? '3.125rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 总数自定义模板\r\n * @en_US Total template\r\n */\r\n readonly totalTpl = input<XTemplate>();\r\n /**\r\n * @zh_CN 简单分页\r\n * @en_US Simple\r\n */\r\n readonly simple = input<boolean, XBoolean>(this.config?.simple ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 简单分页输入框宽度\r\n * @en_US Simple index with\r\n */\r\n readonly simpleIndexWidth = input<string, XNumber>(this.config?.simpleIndexWidth ?? '8.125rem', {\r\n transform: XToCssPixelValue\r\n });\r\n /**\r\n * @zh_CN 输入确认改变的方式,针对输入分页大小和输入跳转页\r\n * @en_US The method for confirming changes in input is based on the input page size and input jump page\r\n */\r\n readonly inputIndexSizeSureType = input<XPaginationInputIndexSizeSureType>(\r\n this.config?.inputIndexSizeSureType ?? 'enter'\r\n );\r\n}\r\n\r\n/**\r\n * @zh_CN 输入确认改变的方式,针对输入分页大小和输入跳转页\r\n * - `'enter'` : 输入后使用回车键确认\r\n * - `'blur'` : 输入后失去焦点后确认\r\n * - `'both'` : 上面2种都可以触发确认操作\r\n * @en_US The method for confirming changes in input is based on the input page size and input jump page\r\n * - `'enter'` : After entering, use the enter key to confirm\r\n * - `'blur'` : Confirm after losing focus after input\r\n * - `'both'` : Both of the above can trigger confirmation operations\r\n */\r\nexport type XPaginationInputIndexSizeSureType = 'enter' | 'blur' | 'both';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n signal,\r\n computed,\r\n HostBinding,\r\n ElementRef,\r\n inject,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XPaginationPrefix, XPaginationProperty } from './pagination.property';\r\nimport { XI18nPagination, XI18nPipe, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { ENTER } from '@angular/cdk/keycodes';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XSelectComponent } from '@ng-nest/ui/select';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XIsChange, XToDataArray } from '@ng-nest/ui/core';\r\nimport { XTooltipModule } from '@ng-nest/ui/tooltip';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { map } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XPaginationPrefix}`,\r\n imports: [\r\n FormsModule,\r\n XButtonComponent,\r\n XButtonsComponent,\r\n XI18nPipe,\r\n XSelectComponent,\r\n XInputComponent,\r\n XTooltipModule,\r\n XOutletDirective\r\n ],\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XPaginationComponent extends XPaginationProperty implements OnInit {\r\n elementRef = inject(ElementRef);\r\n private i18n = inject(XI18nService);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.pagination as XI18nPagination)), {\r\n initialValue: zh_CN.pagination\r\n });\r\n\r\n @HostBinding('class') className = XPaginationPrefix;\r\n\r\n indexFirst = signal(1);\r\n indexLast = signal(1);\r\n jumpPage = signal<string>('');\r\n inputSize = signal<string>('');\r\n\r\n lastIndex = computed(() => Math.ceil(this.total() / this.size()) || 1);\r\n leftDisabled = computed(() => this.index() === 1 || this.total() === 0);\r\n rightDisabled = computed(() => this.index() === this.lastIndex() || this.total() === 0);\r\n firstActivated = computed(() => this.index() === 1);\r\n lastActivated = computed(() => this.index() === this.lastIndex());\r\n\r\n indexes = computed(() => {\r\n const indexes: number[] = [];\r\n const current = this.index() - 1;\r\n const maxSize = this.pageLinkSize();\r\n const pages = Math.min(maxSize, this.lastIndex());\r\n let start = Math.max(0, Math.ceil(current - pages / 2)),\r\n end = Math.min(this.lastIndex() - 1, start + pages - 1);\r\n var delta = maxSize - (end - start + 1);\r\n start = Math.max(0, start - delta);\r\n\r\n for (let i = start; i <= end; i++) {\r\n indexes.push(i + 1);\r\n }\r\n return indexes;\r\n });\r\n\r\n sizeDataSignal = computed(() => XToDataArray(this.sizeData()));\r\n\r\n inputSizeTooltip = computed(() => {\r\n if (this.inputSizeTooltipText()) return this.inputSizeTooltipText();\r\n if (this.inputIndexSizeSureType() === 'enter') {\r\n return this.locale().inputSizeTooltipEnter;\r\n }\r\n if (this.inputIndexSizeSureType() === 'blur') {\r\n return this.locale().inputSizeTooltipBlur;\r\n }\r\n if (this.inputIndexSizeSureType() === 'both') {\r\n return this.locale().inputSizeTooltipBoth;\r\n }\r\n return '';\r\n });\r\n\r\n jumpTooltip = computed(() => {\r\n if (this.jumpTooltipText()) return this.jumpTooltipText();\r\n if (this.inputIndexSizeSureType() === 'enter') {\r\n return this.locale().jumpTooltipEnter;\r\n }\r\n if (this.inputIndexSizeSureType() === 'blur') {\r\n return this.locale().jumpTooltipBlur;\r\n }\r\n if (this.inputIndexSizeSureType() === 'both') {\r\n return this.locale().jumpTooltipBoth;\r\n }\r\n return '';\r\n });\r\n\r\n ngOnInit() {\r\n this.inputSize.set(this.size().toString());\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { size } = changes;\r\n XIsChange(size) && this.inputSize.set(this.size().toString());\r\n }\r\n\r\n sizeChanged() {\r\n if (this.index() !== 1) {\r\n this.index.set(1);\r\n }\r\n }\r\n\r\n jump(index: number, isDiff = false) {\r\n const ix = this.validateIndex(isDiff ? this.index() + index : index);\r\n if (ix !== this.index()) {\r\n this.index.set(ix);\r\n }\r\n }\r\n\r\n onJumpBlur(_event: MouseEvent) {\r\n if (!['blur', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const jumpPage = this.jumpPage().trim();\r\n const page = Number(jumpPage);\r\n this.onJumpPageChange(page);\r\n }\r\n\r\n onJumpKeydown(event: KeyboardEvent) {\r\n if (!['enter', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const jumpPage = this.jumpPage().trim();\r\n if (jumpPage !== '' && event.keyCode === ENTER) {\r\n const page = Number(jumpPage);\r\n this.onJumpPageChange(page);\r\n }\r\n }\r\n\r\n onJumpPageChange(page: number) {\r\n if (page <= this.indexFirst()) {\r\n this.jump(this.indexFirst());\r\n } else if (page >= this.lastIndex()) {\r\n this.jump(this.lastIndex());\r\n } else {\r\n this.jump(page);\r\n }\r\n this.jumpPage.set('');\r\n }\r\n\r\n onSimpleKeydown(event: KeyboardEvent) {\r\n if (this.index() !== null && event.keyCode === ENTER) {\r\n if (this.index() % 1 !== 0) {\r\n this.index.update((x) => Math.round(x));\r\n }\r\n if (isNaN(this.index()) || this.index() === 0) {\r\n this.index.set(1);\r\n }\r\n if (this.index() <= this.indexFirst()) {\r\n this.index.set(this.indexFirst());\r\n } else if (this.index() >= this.lastIndex()) {\r\n this.index.set(this.lastIndex());\r\n }\r\n this.jump(this.index());\r\n }\r\n }\r\n\r\n onInputSizeBlur(_event: MouseEvent) {\r\n if (!['blur', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const inputSize = this.inputSize().trim();\r\n const inputNumber = Number(inputSize);\r\n this.onSizeChange(inputNumber);\r\n }\r\n\r\n onInputSizeKeydown(event: KeyboardEvent) {\r\n if (!['enter', 'both'].includes(this.inputIndexSizeSureType())) return;\r\n const inputSize = this.inputSize().trim();\r\n if (inputSize !== '' && event.keyCode === ENTER) {\r\n const inputNumber = Number(inputSize);\r\n this.onSizeChange(inputNumber);\r\n }\r\n }\r\n\r\n onSizeChange(size: number) {\r\n if (size % 1 !== 0) {\r\n this.inputSize.set(`${Math.round(size)}`);\r\n }\r\n if (isNaN(size)) {\r\n this.inputSize.set(`${this.size()}`);\r\n }\r\n if (size <= 0) {\r\n this.inputSize.set(`${this.size()}`);\r\n } else if (size !== this.size()) {\r\n this.size.set(size);\r\n this.sizeChanged();\r\n }\r\n }\r\n\r\n validateIndex(value: number): number {\r\n if (value > this.lastIndex()) {\r\n return this.lastIndex();\r\n } else if (value < 1) {\r\n return 1;\r\n } else {\r\n return value;\r\n }\r\n }\r\n\r\n getActivated(index: number) {\r\n return this.index() === index;\r\n }\r\n}\r\n","@if (simple()) {\r\n <div class=\"x-pagination-simple\">\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [before]=\"previousTpl\"\r\n [after]=\"nextTpl\"\r\n [style.width]=\"simpleIndexWidth()\"\r\n [(ngModel)]=\"index\"\r\n (xKeydown)=\"onSimpleKeydown($event)\"\r\n ></x-input>\r\n <span>/</span>\r\n <span>{{ lastIndex() }}</span>\r\n </div>\r\n} @else {\r\n <x-buttons class=\"x-pagination-group\" [space]=\"space()\" [hiddenBorder]=\"!showBackground()\" [boxShadow]=\"false\">\r\n @if (showEllipsis()) {\r\n <x-button\r\n class=\"x-pagination-first\"\r\n [icon]=\"'fto-chevrons-left'\"\r\n [title]=\"'pagination.first' | xI18n\"\r\n [disabled]=\"disabled() || firstActivated()\"\r\n (click)=\"jump(1)\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"previousTpl\"></ng-container>\r\n @for (item of indexes(); track item) {\r\n <x-button\r\n class=\"x-pagination-link\"\r\n [disabled]=\"disabled()\"\r\n plain\r\n flat\r\n [activated]=\"getActivated(item)\"\r\n (click)=\"jump(item)\"\r\n >{{ item }}</x-button\r\n >\r\n }\r\n <ng-container *xOutlet=\"nextTpl\"></ng-container>\r\n @if (showEllipsis() && !simple()) {\r\n <x-button\r\n class=\"x-pagination-last\"\r\n [icon]=\"'fto-chevrons-right'\"\r\n [title]=\"'pagination.last' | xI18n\"\r\n [disabled]=\"disabled() || lastActivated()\"\r\n (click)=\"jump(lastIndex())\"\r\n plain\r\n flat\r\n ></x-button>\r\n }\r\n </x-buttons>\r\n}\r\n@if (showSize() && !showInputSize()) {\r\n <x-select\r\n [style.width]=\"sizeWidth()\"\r\n class=\"x-pagination-size\"\r\n [data]=\"sizeDataSignal()\"\r\n [clearable]=\"false\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [(ngModel)]=\"size\"\r\n (ngModelChange)=\"sizeChanged()\"\r\n ></x-select>\r\n}\r\n@if (showInputSize()) {\r\n <div class=\"x-pagination-input-size\">\r\n @if (showInputSizeTooltipText()) {\r\n <x-input\r\n x-tooltip\r\n [content]=\"inputSizeTooltip()\"\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n } @else {\r\n <x-input\r\n [style.width]=\"inputSizeWidth()\"\r\n [disabled]=\"disabled()\"\r\n [bordered]=\"showBackground()\"\r\n [(ngModel)]=\"inputSize\"\r\n (xBlur)=\"onInputSizeBlur($event)\"\r\n (xKeydown)=\"onInputSizeKeydown($event)\"\r\n ></x-input>\r\n }\r\n <span> {{ 'pagination.sizePage' | xI18n }} </span>\r\n </div>\r\n}\r\n@if (showJump() && !simple()) {\r\n <div class=\"x-pagination-jump\">\r\n <span>{{ 'pagination.jump' | xI18n }}</span>\r\n @if (showJumpTooltipText()) {\r\n <x-input\r\n x-tooltip\r\n [content]=\"jumpTooltip()\"\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n } @else {\r\n <x-input\r\n [bordered]=\"showBackground()\"\r\n [style.width]=\"jumpWidth()\"\r\n [(ngModel)]=\"jumpPage\"\r\n (xBlur)=\"onJumpBlur($event)\"\r\n (xKeydown)=\"onJumpKeydown($event)\"\r\n ></x-input>\r\n }\r\n </div>\r\n}\r\n@if (showTotal()) {\r\n <x-button [disabled]=\"disabled()\" plain flat class=\"x-pagination-total\">\r\n <ng-container *xOutlet=\"totalTpl(); context: { $total: total() }\">\r\n {{ 'pagination.total' | xI18n }} {{ total() }} {{ 'pagination.item' | xI18n }}\r\n </ng-container>\r\n </x-button>\r\n}\r\n<ng-template #previousTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-left'\"\r\n [title]=\"'pagination.previous' | xI18n\"\r\n [disabled]=\"disabled() || leftDisabled()\"\r\n (click)=\"jump(-1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nextTpl>\r\n <x-button\r\n [icon]=\"'fto-chevron-right'\"\r\n [title]=\"'pagination.next' | xI18n\"\r\n [disabled]=\"disabled() || rightDisabled()\"\r\n (click)=\"jump(1, true)\"\r\n plain\r\n flat\r\n ></x-button>\r\n</ng-template>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n @if (node) {\r\n {{ node?.label }} {{ 'pagination.sizePage' | xI18n }}\r\n }\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XPaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n exports: [XPaginationComponent],\r\n imports: [XPaginationComponent]\r\n})\r\nexport class XPaginationModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,11 @@ class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME) {
|
|
|
99
99
|
* @en_US The width of the drop-down box
|
|
100
100
|
*/
|
|
101
101
|
this.portalWidth = input('', { transform: XToCssPixelValue });
|
|
102
|
+
/**
|
|
103
|
+
* @zh_CN 下拉框设置样式名
|
|
104
|
+
* @en_US The style class name of the drop-down box
|
|
105
|
+
*/
|
|
106
|
+
this.portalClass = input('');
|
|
102
107
|
/**
|
|
103
108
|
* @zh_CN 输入搜索
|
|
104
109
|
* @en_US Input search
|
|
@@ -238,7 +243,7 @@ class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME) {
|
|
|
238
243
|
this.inputValidator = input();
|
|
239
244
|
}
|
|
240
245
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
241
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XSelectProperty, isStandalone: true, selector: "x-select-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, async: { classPropertyName: "async", publicName: "async", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalHeight: { classPropertyName: "portalHeight", publicName: "portalHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, maxTagCount: { classPropertyName: "maxTagCount", publicName: "maxTagCount", isSignal: true, isRequired: false, transformFunction: null }, maxTagContent: { classPropertyName: "maxTagContent", publicName: "maxTagContent", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, allowInput: { classPropertyName: "allowInput", publicName: "allowInput", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
246
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XSelectProperty, isStandalone: true, selector: "x-select-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, async: { classPropertyName: "async", publicName: "async", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalHeight: { classPropertyName: "portalHeight", publicName: "portalHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, portalClass: { classPropertyName: "portalClass", publicName: "portalClass", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, maxTagCount: { classPropertyName: "maxTagCount", publicName: "maxTagCount", isSignal: true, isRequired: false, transformFunction: null }, maxTagContent: { classPropertyName: "maxTagContent", publicName: "maxTagContent", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, allowInput: { classPropertyName: "allowInput", publicName: "allowInput", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
242
247
|
}
|
|
243
248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XSelectProperty, decorators: [{
|
|
244
249
|
type: Component,
|
|
@@ -890,6 +895,7 @@ class XSelectComponent extends XSelectProperty {
|
|
|
890
895
|
const box = this.inputCom().inputRef().nativeElement.getBoundingClientRect();
|
|
891
896
|
const config = {
|
|
892
897
|
backdropClass: '',
|
|
898
|
+
panelClass: this.portalClass(),
|
|
893
899
|
width: this.portalWidth() || box.width,
|
|
894
900
|
positionStrategy: this.setPlacement(),
|
|
895
901
|
scrollStrategy: this.overlay.scrollStrategies.reposition()
|