@solar-angular/ui-zorro 20.0.0 → 20.0.2
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/crud/index.d.ts +11 -31
- package/enter-focus-next/index.d.ts +10 -0
- package/fesm2022/solar-angular-ui-zorro-crud.mjs +15 -53
- package/fesm2022/solar-angular-ui-zorro-crud.mjs.map +1 -1
- package/fesm2022/solar-angular-ui-zorro-enter-focus-next.mjs +51 -0
- package/fesm2022/solar-angular-ui-zorro-enter-focus-next.mjs.map +1 -0
- package/fesm2022/solar-angular-ui-zorro-fluent-form.mjs +18 -4
- package/fesm2022/solar-angular-ui-zorro-fluent-form.mjs.map +1 -1
- package/fluent-form/index.d.ts +9 -2
- package/package.json +9 -5
package/crud/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as _fluent_form_core from '@fluent-form/core';
|
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { WritableSignal, InjectionToken } from '@angular/core';
|
|
4
4
|
import { FormGroup } from '@angular/forms';
|
|
5
|
+
import * as rxjs from 'rxjs';
|
|
5
6
|
import { Observable } from 'rxjs';
|
|
6
7
|
import { MessageService } from '@solar-angular/ui-zorro/message';
|
|
7
8
|
|
|
@@ -9,9 +10,7 @@ declare class Editor<T> {
|
|
|
9
10
|
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
10
11
|
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
11
12
|
readonly pin: _angular_core.WritableSignal<boolean>;
|
|
12
|
-
readonly
|
|
13
|
-
get model(): T;
|
|
14
|
-
set model(value: T);
|
|
13
|
+
readonly model: _angular_core.WritableSignal<T>;
|
|
15
14
|
schema: _angular_core.Signal<_fluent_form_core.AbstractFormGroupSchema<_fluent_form_core.SingleSchemaKey>>;
|
|
16
15
|
form?: FormGroup;
|
|
17
16
|
/**
|
|
@@ -46,11 +45,9 @@ declare class SunEditorDrawer<T extends Record<string, any>> {
|
|
|
46
45
|
|
|
47
46
|
declare const PAGE_SIZE: InjectionToken<WritableSignal<number>>;
|
|
48
47
|
declare class Searcher<T> {
|
|
49
|
-
readonly
|
|
48
|
+
readonly model: WritableSignal<T>;
|
|
50
49
|
form?: FormGroup;
|
|
51
50
|
schema: _angular_core.Signal<_fluent_form_core.AbstractFormGroupSchema<_fluent_form_core.SingleSchemaKey>>;
|
|
52
|
-
get model(): T;
|
|
53
|
-
set model(value: T);
|
|
54
51
|
readonly pageSize: WritableSignal<number>;
|
|
55
52
|
readonly pageNo: WritableSignal<number>;
|
|
56
53
|
reset(): void;
|
|
@@ -63,45 +60,28 @@ declare class Searcher<T> {
|
|
|
63
60
|
* @template V Data 的模型类型,默认为 U
|
|
64
61
|
*/
|
|
65
62
|
declare abstract class CrudPage<T, U = T, V = U> {
|
|
66
|
-
readonly
|
|
67
|
-
protected
|
|
68
|
-
protected set data(value: V[]);
|
|
69
|
-
protected loading: boolean;
|
|
63
|
+
readonly data: _angular_core.WritableSignal<V[]>;
|
|
64
|
+
protected readonly loading: _angular_core.WritableSignal<boolean>;
|
|
70
65
|
protected searcher: Searcher<T>;
|
|
71
66
|
protected editor: Editor<U>;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
*/
|
|
75
|
-
protected get pageSize(): number;
|
|
76
|
-
/**
|
|
77
|
-
* @deprecated 请使用 {@link Searcher.pageSize}
|
|
78
|
-
*/
|
|
79
|
-
protected set pageSize(value: number);
|
|
80
|
-
/**
|
|
81
|
-
* @deprecated 请使用 {@link Searcher.pageNo}
|
|
82
|
-
*/
|
|
83
|
-
protected get pageNo(): number;
|
|
84
|
-
/**
|
|
85
|
-
* @deprecated 请使用 {@link Searcher.pageNo}
|
|
86
|
-
*/
|
|
87
|
-
protected set pageNo(value: number);
|
|
67
|
+
protected get pageSize(): _angular_core.WritableSignal<number>;
|
|
68
|
+
protected get pageNo(): _angular_core.WritableSignal<number>;
|
|
88
69
|
readonly message: MessageService;
|
|
89
|
-
protected withTableLoading<X>(): (observable: Observable<X>) => Observable<X>;
|
|
90
70
|
/**
|
|
91
71
|
* {@link MessageService.withLoading()} 的快捷方式
|
|
92
72
|
* @param content
|
|
93
73
|
*/
|
|
94
|
-
protected withLoading<X>(content?: string): (observable: Observable<X>) => Observable<X>;
|
|
74
|
+
protected withLoading<X>(content?: string): (observable: rxjs.Observable<X>) => rxjs.Observable<X>;
|
|
95
75
|
/**
|
|
96
76
|
* {@link MessageService.withDeleteLoading()} 的快捷方式
|
|
97
77
|
* @param content
|
|
98
78
|
*/
|
|
99
|
-
protected withDeleteLoading<X>(): (observable: Observable<X>) => Observable<X>;
|
|
79
|
+
protected withDeleteLoading<X>(): (observable: rxjs.Observable<X>) => rxjs.Observable<X>;
|
|
100
80
|
/**
|
|
101
81
|
* {@link MessageService.withSaveLoading()} 的快捷方式
|
|
102
82
|
* @param content
|
|
103
83
|
*/
|
|
104
|
-
protected withSaveLoading<X>(): (observable: Observable<X>) => Observable<X>;
|
|
84
|
+
protected withSaveLoading<X>(): (observable: rxjs.Observable<X>) => rxjs.Observable<X>;
|
|
105
85
|
/**
|
|
106
86
|
* 编辑
|
|
107
87
|
* @param entity
|
|
@@ -115,7 +95,7 @@ declare abstract class CrudPage<T, U = T, V = U> {
|
|
|
115
95
|
* @template V Data 的模型类型,默认为 U
|
|
116
96
|
*/
|
|
117
97
|
declare abstract class PagingCrudPage<T, U = T, V = U> extends CrudPage<T, U, V> {
|
|
118
|
-
protected totalSize: number
|
|
98
|
+
protected readonly totalSize: _angular_core.WritableSignal<number>;
|
|
119
99
|
}
|
|
120
100
|
|
|
121
101
|
export { CrudPage, Editor, PAGE_SIZE, PagingCrudPage, Searcher, SunEditorDrawer };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class SunEnterFocusNext {
|
|
4
|
+
private readonly element;
|
|
5
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SunEnterFocusNext, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SunEnterFocusNext, "[sunEnterFocusNext]", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { SunEnterFocusNext };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, input, output, ChangeDetectionStrategy, Component, InjectionToken, inject, effect } from '@angular/core';
|
|
2
|
+
import { signal, input, output, ChangeDetectionStrategy, Component, InjectionToken, inject, effect, linkedSignal } from '@angular/core';
|
|
3
3
|
import { FormArray } from '@angular/forms';
|
|
4
4
|
import { form } from '@fluent-form/core';
|
|
5
5
|
import { finalize, tap } from 'rxjs';
|
|
@@ -17,16 +17,10 @@ class Editor {
|
|
|
17
17
|
this.visible = signal(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
|
|
18
18
|
this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
19
19
|
this.pin = signal(false, ...(ngDevMode ? [{ debugName: "pin" }] : []));
|
|
20
|
-
this.
|
|
20
|
+
this.model = signal({}, ...(ngDevMode ? [{ debugName: "model" }] : []));
|
|
21
21
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
22
22
|
this.schema = form(() => { });
|
|
23
23
|
}
|
|
24
|
-
get model() {
|
|
25
|
-
return this._model();
|
|
26
|
-
}
|
|
27
|
-
set model(value) {
|
|
28
|
-
this._model.set(value);
|
|
29
|
-
}
|
|
30
24
|
/**
|
|
31
25
|
* 自动控制 loading 状态
|
|
32
26
|
*/
|
|
@@ -67,7 +61,7 @@ class Editor {
|
|
|
67
61
|
this.form?.reset();
|
|
68
62
|
}
|
|
69
63
|
fill(model) {
|
|
70
|
-
this.model
|
|
64
|
+
this.model.set(model);
|
|
71
65
|
}
|
|
72
66
|
}
|
|
73
67
|
|
|
@@ -81,7 +75,7 @@ class SunEditorDrawer {
|
|
|
81
75
|
this.visibleChange = output();
|
|
82
76
|
}
|
|
83
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunEditorDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: SunEditorDrawer, isStandalone: true, selector: "sun-editor-drawer", inputs: { editor: { classPropertyName: "editor", publicName: "editor", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, primaryKey: { classPropertyName: "primaryKey", publicName: "primaryKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width()\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzVisible]=\"editor().visible()\"\n (nzVisibleChange)=\"visibleChange.emit($event); $event || editor().reset()\"\n (nzOnClose)=\"editor().dismiss()\">\n <nz-spin *nzDrawerContent [nzSpinning]=\"editor().loading()\">\n <ng-content />\n </nz-spin>\n</nz-drawer>\n\n<ng-template #editorTitle>\n <div>{{ editor().model[primaryKey()] ? '\u7F16\u8F91\u6761\u76EE' : '\u65B0\u589E\u6761\u76EE' }}</div>\n\n <nz-icon nzType=\"pushpin\" [nzTheme]=\"editor().pin() ? 'twotone' : 'outline'\" (click)=\"editor().togglePin()\"></nz-icon>\n</ng-template>\n", styles: ["::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: NzDrawerModule }, { kind: "component", type: i1.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i1.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "ngmodule", type: NzSpinModule }, { kind: "component", type: i2.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: SunEditorDrawer, isStandalone: true, selector: "sun-editor-drawer", inputs: { editor: { classPropertyName: "editor", publicName: "editor", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, primaryKey: { classPropertyName: "primaryKey", publicName: "primaryKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width()\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzVisible]=\"editor().visible()\"\n (nzVisibleChange)=\"visibleChange.emit($event); $event || editor().reset()\"\n (nzOnClose)=\"editor().dismiss()\">\n <nz-spin *nzDrawerContent [nzSpinning]=\"editor().loading()\">\n <ng-content />\n </nz-spin>\n</nz-drawer>\n\n<ng-template #editorTitle>\n <div>{{ editor().model()[primaryKey()] ? '\u7F16\u8F91\u6761\u76EE' : '\u65B0\u589E\u6761\u76EE' }}</div>\n\n <nz-icon nzType=\"pushpin\" [nzTheme]=\"editor().pin() ? 'twotone' : 'outline'\" (click)=\"editor().togglePin()\"></nz-icon>\n</ng-template>\n", styles: ["::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: NzDrawerModule }, { kind: "component", type: i1.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i1.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "ngmodule", type: NzSpinModule }, { kind: "component", type: i2.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
79
|
}
|
|
86
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunEditorDrawer, decorators: [{
|
|
87
81
|
type: Component,
|
|
@@ -89,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
89
83
|
NzDrawerModule,
|
|
90
84
|
NzSpinModule,
|
|
91
85
|
NzIconModule,
|
|
92
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width()\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzVisible]=\"editor().visible()\"\n (nzVisibleChange)=\"visibleChange.emit($event); $event || editor().reset()\"\n (nzOnClose)=\"editor().dismiss()\">\n <nz-spin *nzDrawerContent [nzSpinning]=\"editor().loading()\">\n <ng-content />\n </nz-spin>\n</nz-drawer>\n\n<ng-template #editorTitle>\n <div>{{ editor().model[primaryKey()] ? '\u7F16\u8F91\u6761\u76EE' : '\u65B0\u589E\u6761\u76EE' }}</div>\n\n <nz-icon nzType=\"pushpin\" [nzTheme]=\"editor().pin() ? 'twotone' : 'outline'\" (click)=\"editor().togglePin()\"></nz-icon>\n</ng-template>\n", styles: ["::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\n"] }]
|
|
86
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width()\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzVisible]=\"editor().visible()\"\n (nzVisibleChange)=\"visibleChange.emit($event); $event || editor().reset()\"\n (nzOnClose)=\"editor().dismiss()\">\n <nz-spin *nzDrawerContent [nzSpinning]=\"editor().loading()\">\n <ng-content />\n </nz-spin>\n</nz-drawer>\n\n<ng-template #editorTitle>\n <div>{{ editor().model()[primaryKey()] ? '\u7F16\u8F91\u6761\u76EE' : '\u65B0\u589E\u6761\u76EE' }}</div>\n\n <nz-icon nzType=\"pushpin\" [nzTheme]=\"editor().pin() ? 'twotone' : 'outline'\" (click)=\"editor().togglePin()\"></nz-icon>\n</ng-template>\n", styles: ["::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\n"] }]
|
|
93
87
|
}], propDecorators: { editor: [{ type: i0.Input, args: [{ isSignal: true, alias: "editor", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], primaryKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryKey", required: false }] }], visibleChange: [{ type: i0.Output, args: ["visibleChange"] }] } });
|
|
94
88
|
|
|
95
89
|
const PAGE_SIZE = new InjectionToken('', {
|
|
@@ -106,17 +100,11 @@ const PAGE_SIZE = new InjectionToken('', {
|
|
|
106
100
|
});
|
|
107
101
|
class Searcher {
|
|
108
102
|
constructor() {
|
|
109
|
-
this.
|
|
103
|
+
this.model = signal({}, ...(ngDevMode ? [{ debugName: "model" }] : []));
|
|
110
104
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
111
105
|
this.schema = form(() => { });
|
|
112
106
|
this.pageSize = inject(PAGE_SIZE);
|
|
113
|
-
this.pageNo =
|
|
114
|
-
}
|
|
115
|
-
get model() {
|
|
116
|
-
return this._model();
|
|
117
|
-
}
|
|
118
|
-
set model(value) {
|
|
119
|
-
this._model.set(value);
|
|
107
|
+
this.pageNo = linkedSignal(() => (this.model(), 1), ...(ngDevMode ? [{ debugName: "pageNo" }] : []));
|
|
120
108
|
}
|
|
121
109
|
reset() {
|
|
122
110
|
this.pageNo.set(1);
|
|
@@ -132,47 +120,17 @@ class Searcher {
|
|
|
132
120
|
*/
|
|
133
121
|
class CrudPage {
|
|
134
122
|
constructor() {
|
|
135
|
-
this.
|
|
136
|
-
this.loading = false;
|
|
123
|
+
this.data = signal([], ...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
124
|
+
this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
137
125
|
this.searcher = new Searcher();
|
|
138
126
|
this.editor = new Editor();
|
|
139
127
|
this.message = inject(MessageService);
|
|
140
128
|
}
|
|
141
|
-
get data() {
|
|
142
|
-
return this._data();
|
|
143
|
-
}
|
|
144
|
-
set data(value) {
|
|
145
|
-
this._data.set(value);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* @deprecated 请使用 {@link Searcher.pageSize}
|
|
149
|
-
*/
|
|
150
129
|
get pageSize() {
|
|
151
|
-
return this.searcher.pageSize
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* @deprecated 请使用 {@link Searcher.pageSize}
|
|
155
|
-
*/
|
|
156
|
-
set pageSize(value) {
|
|
157
|
-
this.searcher.pageSize.set(value);
|
|
130
|
+
return this.searcher.pageSize;
|
|
158
131
|
}
|
|
159
|
-
/**
|
|
160
|
-
* @deprecated 请使用 {@link Searcher.pageNo}
|
|
161
|
-
*/
|
|
162
132
|
get pageNo() {
|
|
163
|
-
return this.searcher.pageNo
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* @deprecated 请使用 {@link Searcher.pageNo}
|
|
167
|
-
*/
|
|
168
|
-
set pageNo(value) {
|
|
169
|
-
this.searcher.pageNo.set(value);
|
|
170
|
-
}
|
|
171
|
-
withTableLoading() {
|
|
172
|
-
return (observable) => {
|
|
173
|
-
this.loading = true;
|
|
174
|
-
return observable.pipe(finalize(() => this.loading = false));
|
|
175
|
-
};
|
|
133
|
+
return this.searcher.pageNo;
|
|
176
134
|
}
|
|
177
135
|
/**
|
|
178
136
|
* {@link MessageService.withLoading()} 的快捷方式
|
|
@@ -211,6 +169,10 @@ class CrudPage {
|
|
|
211
169
|
* @template V Data 的模型类型,默认为 U
|
|
212
170
|
*/
|
|
213
171
|
class PagingCrudPage extends CrudPage {
|
|
172
|
+
constructor() {
|
|
173
|
+
super(...arguments);
|
|
174
|
+
this.totalSize = signal(0, ...(ngDevMode ? [{ debugName: "totalSize" }] : []));
|
|
175
|
+
}
|
|
214
176
|
}
|
|
215
177
|
|
|
216
178
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solar-angular-ui-zorro-crud.mjs","sources":["../tmp-esm2022/crud/editor.js","../tmp-esm2022/crud/editor-drawer/editor-drawer.component.js","../tmp-esm2022/crud/searcher.js","../tmp-esm2022/crud/page.js","../tmp-esm2022/crud/solar-angular-ui-zorro-crud.js"],"sourcesContent":["import { signal } from '@angular/core';\nimport { FormArray } from '@angular/forms';\nimport { form } from '@fluent-form/core';\nimport { finalize, tap } from 'rxjs';\nexport class Editor {\n constructor() {\n this.visible = signal(false, ...(ngDevMode ? [{ debugName: \"visible\" }] : []));\n this.loading = signal(false, ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n this.pin = signal(false, ...(ngDevMode ? [{ debugName: \"pin\" }] : []));\n this._model = signal({}, ...(ngDevMode ? [{ debugName: \"_model\" }] : []));\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.schema = form(() => { });\n }\n get model() {\n return this._model();\n }\n set model(value) {\n this._model.set(value);\n }\n /**\n * 自动控制 loading 状态\n */\n withLoading() {\n this.loading.set(true);\n return (observable) => {\n return observable.pipe(finalize(() => this.loading.set(false)));\n };\n }\n /**\n * next 时自动重置表单 或 收起编辑器\n */\n withAttach() {\n return (observable) => observable.pipe(tap(() => this.pin() ? this.reset() : this.dismiss()));\n }\n /**\n * 呈现编辑器\n */\n present() {\n this.visible.set(true);\n }\n /**\n * 关闭编辑器\n */\n dismiss() {\n this.visible.set(false);\n }\n togglePin() {\n this.pin.update(value => !value);\n }\n reset() {\n // FormArray.reset 不会删除控件,只会重置值,因此需要手动清空\n for (const control of Object.values(this.form?.controls ?? {})) {\n if (control instanceof FormArray) {\n control.clear({ emitEvent: false });\n }\n }\n this.form?.reset();\n }\n fill(model) {\n this.model = model;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vY3J1ZC9lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBYyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE1BQU0sT0FBTyxNQUFNO0lBQW5CO1FBQ1csWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLG1EQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLG1EQUFDLENBQUM7UUFDeEIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLCtDQUFDLENBQUM7UUFDcEIsV0FBTSxHQUFHLE1BQU0sQ0FBSSxFQUFPLGtEQUFDLENBQUM7UUFRckMsZ0VBQWdFO1FBQ2hFLFdBQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUF1RDNCLENBQUM7SUE5REMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUtEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDbkMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNwQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDeEMsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLENBQUMsVUFBeUIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbkQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSCx3Q0FBd0M7UUFDeEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFRO1FBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZvcm0gfSBmcm9tICdAZmx1ZW50LWZvcm0vY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaW5hbGl6ZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3I8VD4ge1xuICByZWFkb25seSB2aXNpYmxlID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHBpbiA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IF9tb2RlbCA9IHNpZ25hbDxUPih7fSBhcyBUKTtcblxuICBnZXQgbW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGVsKCk7XG4gIH1cbiAgc2V0IG1vZGVsKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5fbW9kZWwuc2V0KHZhbHVlKTtcbiAgfVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHNjaGVtYSA9IGZvcm0oKCkgPT4geyB9KTtcbiAgZm9ybT86IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICog6Ieq5Yqo5o6n5Yi2IGxvYWRpbmcg54q25oCBXG4gICAqL1xuICB3aXRoTG9hZGluZzxYPigpIHtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgIHJldHVybiAob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxYPikgPT4ge1xuICAgICAgcmV0dXJuIG9ic2VydmFibGUucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nLnNldChmYWxzZSkpXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogbmV4dCDml7boh6rliqjph43nva7ooajljZUg5oiWIOaUtui1t+e8lui+keWZqFxuICAgKi9cbiAgd2l0aEF0dGFjaDxYPigpIHtcbiAgICByZXR1cm4gKG9ic2VydmFibGU6IE9ic2VydmFibGU8WD4pID0+IG9ic2VydmFibGUucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnBpbigpID8gdGhpcy5yZXNldCgpIDogdGhpcy5kaXNtaXNzKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlkYjnjrDnvJbovpHlmahcbiAgICovXG4gIHByZXNlbnQoKSB7XG4gICAgdGhpcy52aXNpYmxlLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlhbPpl63nvJbovpHlmahcbiAgICovXG4gIGRpc21pc3MoKSB7XG4gICAgdGhpcy52aXNpYmxlLnNldChmYWxzZSk7XG4gIH1cblxuICB0b2dnbGVQaW4oKSB7XG4gICAgdGhpcy5waW4udXBkYXRlKHZhbHVlID0+ICF2YWx1ZSk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICAvLyBGb3JtQXJyYXkucmVzZXQg5LiN5Lya5Yig6Zmk5o6n5Lu277yM5Y+q5Lya6YeN572u5YC877yM5Zug5q2k6ZyA6KaB5omL5Yqo5riF56m6XG4gICAgZm9yIChjb25zdCBjb250cm9sIG9mIE9iamVjdC52YWx1ZXModGhpcy5mb3JtPy5jb250cm9scyA/PyB7fSkpIHtcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAgIGNvbnRyb2wuY2xlYXIoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZvcm0/LnJlc2V0KCk7XG4gIH1cblxuICBmaWxsKG1vZGVsOiBUKSB7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICB9XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"ng-zorro-antd/drawer\";\nimport * as i2 from \"ng-zorro-antd/spin\";\nimport * as i3 from \"ng-zorro-antd/icon\";\nexport class SunEditorDrawer {\n constructor() {\n this.editor = input.required(...(ngDevMode ? [{ debugName: \"editor\" }] : []));\n this.width = input(600, ...(ngDevMode ? [{ debugName: \"width\" }] : []));\n // TODO: 有些 model 不一定有 primaryKey,可能是两个 foreignKeys,所以要考虑将 operation 变为一个函数\n // 考虑直接做到 signal 版本里,这里就变成一个 computed fn\n this.primaryKey = input('id', ...(ngDevMode ? [{ debugName: \"primaryKey\" }] : []));\n this.visibleChange = output();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunEditorDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.9\", type: SunEditorDrawer, isStandalone: true, selector: \"sun-editor-drawer\", inputs: { editor: { classPropertyName: \"editor\", publicName: \"editor\", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: \"width\", publicName: \"width\", isSignal: true, isRequired: false, transformFunction: null }, primaryKey: { classPropertyName: \"primaryKey\", publicName: \"primaryKey\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: \"visibleChange\" }, ngImport: i0, template: \"<nz-drawer\\n nzWrapClassName=\\\"sun-editor-drawer-wrapper\\\"\\n [nzWidth]=\\\"width()\\\"\\n [nzClosable]=\\\"false\\\"\\n [nzTitle]=\\\"editorTitle\\\"\\n [nzVisible]=\\\"editor().visible()\\\"\\n (nzVisibleChange)=\\\"visibleChange.emit($event); $event || editor().reset()\\\"\\n (nzOnClose)=\\\"editor().dismiss()\\\">\\n <nz-spin *nzDrawerContent [nzSpinning]=\\\"editor().loading()\\\">\\n <ng-content />\\n </nz-spin>\\n</nz-drawer>\\n\\n<ng-template #editorTitle>\\n <div>{{ editor().model[primaryKey()] ? '\\u7F16\\u8F91\\u6761\\u76EE' : '\\u65B0\\u589E\\u6761\\u76EE' }}</div>\\n\\n <nz-icon nzType=\\\"pushpin\\\" [nzTheme]=\\\"editor().pin() ? 'twotone' : 'outline'\\\" (click)=\\\"editor().togglePin()\\\"></nz-icon>\\n</ng-template>\\n\", styles: [\"::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\\n\"], dependencies: [{ kind: \"ngmodule\", type: NzDrawerModule }, { kind: \"component\", type: i1.NzDrawerComponent, selector: \"nz-drawer\", inputs: [\"nzContent\", \"nzCloseIcon\", \"nzClosable\", \"nzMaskClosable\", \"nzMask\", \"nzCloseOnNavigation\", \"nzNoAnimation\", \"nzKeyboard\", \"nzTitle\", \"nzExtra\", \"nzFooter\", \"nzPlacement\", \"nzSize\", \"nzMaskStyle\", \"nzBodyStyle\", \"nzWrapClassName\", \"nzWidth\", \"nzHeight\", \"nzZIndex\", \"nzOffsetX\", \"nzOffsetY\", \"nzVisible\"], outputs: [\"nzOnViewInit\", \"nzOnClose\", \"nzVisibleChange\"], exportAs: [\"nzDrawer\"] }, { kind: \"directive\", type: i1.NzDrawerContentDirective, selector: \"[nzDrawerContent]\", exportAs: [\"nzDrawerContent\"] }, { kind: \"ngmodule\", type: NzSpinModule }, { kind: \"component\", type: i2.NzSpinComponent, selector: \"nz-spin\", inputs: [\"nzIndicator\", \"nzSize\", \"nzTip\", \"nzDelay\", \"nzSimple\", \"nzSpinning\"], exportAs: [\"nzSpin\"] }, { kind: \"ngmodule\", type: NzIconModule }, { kind: \"directive\", type: i3.NzIconDirective, selector: \"nz-icon,[nz-icon]\", inputs: [\"nzSpin\", \"nzRotate\", \"nzType\", \"nzTheme\", \"nzTwotoneColor\", \"nzIconfont\"], exportAs: [\"nzIcon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunEditorDrawer, decorators: [{\n type: Component,\n args: [{ selector: 'sun-editor-drawer', imports: [\n NzDrawerModule,\n NzSpinModule,\n NzIconModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<nz-drawer\\n nzWrapClassName=\\\"sun-editor-drawer-wrapper\\\"\\n [nzWidth]=\\\"width()\\\"\\n [nzClosable]=\\\"false\\\"\\n [nzTitle]=\\\"editorTitle\\\"\\n [nzVisible]=\\\"editor().visible()\\\"\\n (nzVisibleChange)=\\\"visibleChange.emit($event); $event || editor().reset()\\\"\\n (nzOnClose)=\\\"editor().dismiss()\\\">\\n <nz-spin *nzDrawerContent [nzSpinning]=\\\"editor().loading()\\\">\\n <ng-content />\\n </nz-spin>\\n</nz-drawer>\\n\\n<ng-template #editorTitle>\\n <div>{{ editor().model[primaryKey()] ? '\\u7F16\\u8F91\\u6761\\u76EE' : '\\u65B0\\u589E\\u6761\\u76EE' }}</div>\\n\\n <nz-icon nzType=\\\"pushpin\\\" [nzTheme]=\\\"editor().pin() ? 'twotone' : 'outline'\\\" (click)=\\\"editor().togglePin()\\\"></nz-icon>\\n</ng-template>\\n\", styles: [\"::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\\n\"] }]\n }], propDecorators: { editor: [{ type: i0.Input, args: [{ isSignal: true, alias: \"editor\", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: \"width\", required: false }] }], primaryKey: [{ type: i0.Input, args: [{ isSignal: true, alias: \"primaryKey\", required: false }] }], visibleChange: [{ type: i0.Output, args: [\"visibleChange\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvZWRpdG9yLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvZWRpdG9yLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBY2xELE1BQU0sT0FBTyxlQUFlO0lBWDVCO1FBWVcsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLGlEQUFhLENBQUM7UUFDckMsVUFBSyxHQUFHLEtBQUssQ0FBa0IsR0FBRyxpREFBQyxDQUFDO1FBQzdDLDJFQUEyRTtRQUMzRSx3Q0FBd0M7UUFDL0IsZUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLHNEQUFDLENBQUM7UUFFekIsa0JBQWEsR0FBRyxNQUFNLEVBQVcsQ0FBQztLQUM1Qzs4R0FSWSxlQUFlO2tHQUFmLGVBQWUsK2ZDakI1Qix5ckJBa0JBLGdMRFRJLGNBQWMsK21CQUNkLFlBQVksMk1BQ1osWUFBWTs7MkZBTUgsZUFBZTtrQkFYM0IsU0FBUzsrQkFDRSxtQkFBbUIsV0FDcEI7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFlBQVk7cUJBQ2IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOekRyYXdlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJhd2VyJztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5pbXBvcnQgeyBOelNwaW5Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NwaW4nO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnLi4vZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VuLWVkaXRvci1kcmF3ZXInLFxuICBpbXBvcnRzOiBbXG4gICAgTnpEcmF3ZXJNb2R1bGUsXG4gICAgTnpTcGluTW9kdWxlLFxuICAgIE56SWNvbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZWRpdG9yLWRyYXdlci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdW5FZGl0b3JEcmF3ZXI8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgcmVhZG9ubHkgZWRpdG9yID0gaW5wdXQucmVxdWlyZWQ8RWRpdG9yPFQ+PigpO1xuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZyB8IG51bWJlcj4oNjAwKTtcbiAgLy8gVE9ETzog5pyJ5LqbIG1vZGVsIOS4jeS4gOWumuaciSBwcmltYXJ5S2V577yM5Y+v6IO95piv5Lik5LiqIGZvcmVpZ25LZXlz77yM5omA5Lul6KaB6ICD6JmR5bCGIG9wZXJhdGlvbiDlj5jkuLrkuIDkuKrlh73mlbBcbiAgLy8g6ICD6JmR55u05o6l5YGa5YiwIHNpZ25hbCDniYjmnKzph4zvvIzov5nph4zlsLHlj5jmiJDkuIDkuKogY29tcHV0ZWQgZm5cbiAgcmVhZG9ubHkgcHJpbWFyeUtleSA9IGlucHV0KCdpZCcpO1xuXG4gIHJlYWRvbmx5IHZpc2libGVDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbn1cbiIsIjxuei1kcmF3ZXJcbiAgbnpXcmFwQ2xhc3NOYW1lPVwic3VuLWVkaXRvci1kcmF3ZXItd3JhcHBlclwiXG4gIFtueldpZHRoXT1cIndpZHRoKClcIlxuICBbbnpDbG9zYWJsZV09XCJmYWxzZVwiXG4gIFtuelRpdGxlXT1cImVkaXRvclRpdGxlXCJcbiAgW256VmlzaWJsZV09XCJlZGl0b3IoKS52aXNpYmxlKClcIlxuICAobnpWaXNpYmxlQ2hhbmdlKT1cInZpc2libGVDaGFuZ2UuZW1pdCgkZXZlbnQpOyAkZXZlbnQgfHwgZWRpdG9yKCkucmVzZXQoKVwiXG4gIChuek9uQ2xvc2UpPVwiZWRpdG9yKCkuZGlzbWlzcygpXCI+XG4gIDxuei1zcGluICpuekRyYXdlckNvbnRlbnQgW256U3Bpbm5pbmddPVwiZWRpdG9yKCkubG9hZGluZygpXCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9uei1zcGluPlxuPC9uei1kcmF3ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdG9yVGl0bGU+XG4gIDxkaXY+e3sgZWRpdG9yKCkubW9kZWxbcHJpbWFyeUtleSgpXSA/ICfnvJbovpHmnaHnm64nIDogJ+aWsOWinuadoeebricgfX08L2Rpdj5cblxuICA8bnotaWNvbiBuelR5cGU9XCJwdXNocGluXCIgW256VGhlbWVdPVwiZWRpdG9yKCkucGluKCkgPyAndHdvdG9uZScgOiAnb3V0bGluZSdcIiAoY2xpY2spPVwiZWRpdG9yKCkudG9nZ2xlUGluKClcIj48L256LWljb24+XG48L25nLXRlbXBsYXRlPlxuIl19","import { effect, inject, InjectionToken, signal } from '@angular/core';\nimport { form } from '@fluent-form/core';\nimport { LocalStorage } from '@solar-angular/platform-browser';\nexport const PAGE_SIZE = new InjectionToken('', {\n providedIn: 'root',\n factory: () => {\n const key = 'page_size';\n const localStorage = inject(LocalStorage);\n const pageSize = signal(localStorage.get(key) || 10, ...(ngDevMode ? [{ debugName: \"pageSize\" }] : []));\n effect(() => {\n localStorage.set(key, pageSize());\n });\n return pageSize;\n }\n});\nexport class Searcher {\n constructor() {\n this._model = signal({}, ...(ngDevMode ? [{ debugName: \"_model\" }] : []));\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.schema = form(() => { });\n this.pageSize = inject(PAGE_SIZE);\n this.pageNo = signal(1, ...(ngDevMode ? [{ debugName: \"pageNo\" }] : []));\n }\n get model() {\n return this._model();\n }\n set model(value) {\n this._model.set(value);\n }\n reset() {\n this.pageNo.set(1);\n this.form?.reset({});\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL3NlYXJjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUF5QixFQUFFLEVBQUU7SUFDdEUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQTtRQUN2QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQVMsR0FBRyxDQUFDLElBQUksRUFBRSxvREFBQyxDQUFDO1FBRTdELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ1csV0FBTSxHQUFHLE1BQU0sQ0FBQyxFQUFPLGtEQUFDLENBQUM7UUFHbEMsZ0VBQWdFO1FBQ2hFLFdBQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFTaEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixXQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsa0RBQUMsQ0FBQztJQU05QixDQUFDO0lBZEMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUtELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZmZlY3QsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZvcm0gfSBmcm9tICdAZmx1ZW50LWZvcm0vY29yZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2UgfSBmcm9tICdAc29sYXItYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGNvbnN0IFBBR0VfU0laRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXcml0YWJsZVNpZ25hbDxudW1iZXI+PignJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICBjb25zdCBrZXkgPSAncGFnZV9zaXplJ1xuICAgIGNvbnN0IGxvY2FsU3RvcmFnZSA9IGluamVjdChMb2NhbFN0b3JhZ2UpXG4gICAgY29uc3QgcGFnZVNpemUgPSBzaWduYWwobG9jYWxTdG9yYWdlLmdldDxudW1iZXI+KGtleSkgfHwgMTApO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXQoa2V5LCBwYWdlU2l6ZSgpKVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VTaXplO1xuICB9XG59KTtcblxuZXhwb3J0IGNsYXNzIFNlYXJjaGVyPFQ+IHtcbiAgcmVhZG9ubHkgX21vZGVsID0gc2lnbmFsKHt9IGFzIFQpO1xuXG4gIGZvcm0/OiBGb3JtR3JvdXA7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgc2NoZW1hID0gZm9ybSgoKSA9PiB7IH0pO1xuXG4gIGdldCBtb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZWwoKTtcbiAgfVxuICBzZXQgbW9kZWwodmFsdWU6IFQpIHtcbiAgICB0aGlzLl9tb2RlbC5zZXQodmFsdWUpO1xuICB9XG5cbiAgcmVhZG9ubHkgcGFnZVNpemUgPSBpbmplY3QoUEFHRV9TSVpFKTtcbiAgcmVhZG9ubHkgcGFnZU5vID0gc2lnbmFsKDEpO1xuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMucGFnZU5vLnNldCgxKTtcbiAgICB0aGlzLmZvcm0/LnJlc2V0KHt9KTtcbiAgfVxufVxuIl19","import { inject, signal } from '@angular/core';\nimport { MessageService } from '@solar-angular/ui-zorro/message';\nimport { finalize } from 'rxjs';\nimport { Editor } from './editor';\nimport { Searcher } from './searcher';\n/**\n * 增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport class CrudPage {\n constructor() {\n this._data = signal([], ...(ngDevMode ? [{ debugName: \"_data\" }] : []));\n this.loading = false;\n this.searcher = new Searcher();\n this.editor = new Editor();\n this.message = inject(MessageService);\n }\n get data() {\n return this._data();\n }\n set data(value) {\n this._data.set(value);\n }\n /**\n * @deprecated 请使用 {@link Searcher.pageSize}\n */\n get pageSize() {\n return this.searcher.pageSize();\n }\n /**\n * @deprecated 请使用 {@link Searcher.pageSize}\n */\n set pageSize(value) {\n this.searcher.pageSize.set(value);\n }\n /**\n * @deprecated 请使用 {@link Searcher.pageNo}\n */\n get pageNo() {\n return this.searcher.pageNo();\n }\n /**\n * @deprecated 请使用 {@link Searcher.pageNo}\n */\n set pageNo(value) {\n this.searcher.pageNo.set(value);\n }\n withTableLoading() {\n return (observable) => {\n this.loading = true;\n return observable.pipe(finalize(() => this.loading = false));\n };\n }\n /**\n * {@link MessageService.withLoading()} 的快捷方式\n * @param content\n */\n withLoading(content) {\n return this.message.withLoading(content);\n }\n /**\n * {@link MessageService.withDeleteLoading()} 的快捷方式\n * @param content\n */\n withDeleteLoading() {\n return this.message.withDeleteLoading();\n }\n /**\n * {@link MessageService.withSaveLoading()} 的快捷方式\n * @param content\n */\n withSaveLoading() {\n return this.message.withSaveLoading();\n }\n /**\n * 编辑\n * @param entity\n */\n edit(entity) {\n this.editor.fill(entity);\n this.editor.present();\n }\n}\n/**\n * 带分页的增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport class PagingCrudPage extends CrudPage {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2NydWQvcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEM7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFFBQVE7SUFBOUI7UUFDVyxVQUFLLEdBQUcsTUFBTSxDQUFNLEVBQUUsaURBQUMsQ0FBQztRQVN2QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBSyxDQUFDO1FBQzdCLFdBQU0sR0FBRyxJQUFJLE1BQU0sRUFBSyxDQUFDO1FBMkIxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBMkM1QyxDQUFDO0lBaEZDLElBQWMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBYyxJQUFJLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBT0Q7O09BRUc7SUFDSCxJQUFjLFFBQVE7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQWMsUUFBUSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQWMsTUFBTTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFBYyxNQUFNLENBQUMsS0FBSztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUlTLGdCQUFnQjtRQUN4QixPQUFPLENBQUMsVUFBeUIsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FDcEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQ3JDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sV0FBVyxDQUFJLE9BQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUksT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNPLElBQUksQ0FBQyxNQUFTO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGNBQWdDLFNBQVEsUUFBaUI7Q0FFOUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAc29sYXItYW5ndWxhci91aS16b3Jyby9tZXNzYWdlJztcbmltcG9ydCB7IGZpbmFsaXplLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICcuL2VkaXRvcic7XG5pbXBvcnQgeyBTZWFyY2hlciB9IGZyb20gJy4vc2VhcmNoZXInO1xuXG4vKipcbiAqIOWinuWIoOaUueafpemhtemdolxuICogQHRlbXBsYXRlIFQgU2VhcmNoZXIg55qE5qih5Z6L57G75Z6LXG4gKiBAdGVtcGxhdGUgVSBFZGl0b3Ig55qE5qih5Z6L57G75Z6L77yM6buY6K6k5Li6IFRcbiAqIEB0ZW1wbGF0ZSBWIERhdGEg55qE5qih5Z6L57G75Z6L77yM6buY6K6k5Li6IFVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENydWRQYWdlPFQsIFUgPSBULCBWID0gVT4ge1xuICByZWFkb25seSBfZGF0YSA9IHNpZ25hbDxWW10+KFtdKTtcblxuICBwcm90ZWN0ZWQgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEoKTtcbiAgfVxuICBwcm90ZWN0ZWQgc2V0IGRhdGEodmFsdWU6IFZbXSkge1xuICAgIHRoaXMuX2RhdGEuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsb2FkaW5nID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHNlYXJjaGVyID0gbmV3IFNlYXJjaGVyPFQ+KCk7XG4gIHByb3RlY3RlZCBlZGl0b3IgPSBuZXcgRWRpdG9yPFU+KCk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIOivt+S9v+eUqCB7QGxpbmsgU2VhcmNoZXIucGFnZVNpemV9XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VTaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGVyLnBhZ2VTaXplKCk7XG4gIH1cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIOivt+S9v+eUqCB7QGxpbmsgU2VhcmNoZXIucGFnZVNpemV9XG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0IHBhZ2VTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlYXJjaGVyLnBhZ2VTaXplLnNldCh2YWx1ZSk7XG4gIH1cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIOivt+S9v+eUqCB7QGxpbmsgU2VhcmNoZXIucGFnZU5vfVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBwYWdlTm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoZXIucGFnZU5vKCk7XG4gIH1cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIOivt+S9v+eUqCB7QGxpbmsgU2VhcmNoZXIucGFnZU5vfVxuICAgKi9cbiAgcHJvdGVjdGVkIHNldCBwYWdlTm8odmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaGVyLnBhZ2VOby5zZXQodmFsdWUpO1xuICB9XG5cbiAgcmVhZG9ubHkgbWVzc2FnZSA9IGluamVjdChNZXNzYWdlU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIHdpdGhUYWJsZUxvYWRpbmc8WD4oKSB7XG4gICAgcmV0dXJuIChvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFg+KSA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgcmV0dXJuIG9ic2VydmFibGUucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIE1lc3NhZ2VTZXJ2aWNlLndpdGhMb2FkaW5nKCl9IOeahOW/q+aNt+aWueW8j1xuICAgKiBAcGFyYW0gY29udGVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHdpdGhMb2FkaW5nPFg+KGNvbnRlbnQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLndpdGhMb2FkaW5nPFg+KGNvbnRlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBNZXNzYWdlU2VydmljZS53aXRoRGVsZXRlTG9hZGluZygpfSDnmoTlv6vmjbfmlrnlvI9cbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIHByb3RlY3RlZCB3aXRoRGVsZXRlTG9hZGluZzxYPigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLndpdGhEZWxldGVMb2FkaW5nPFg+KCk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIE1lc3NhZ2VTZXJ2aWNlLndpdGhTYXZlTG9hZGluZygpfSDnmoTlv6vmjbfmlrnlvI9cbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIHByb3RlY3RlZCB3aXRoU2F2ZUxvYWRpbmc8WD4oKSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZS53aXRoU2F2ZUxvYWRpbmc8WD4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnvJbovpFcbiAgICogQHBhcmFtIGVudGl0eVxuICAgKi9cbiAgcHJvdGVjdGVkIGVkaXQoZW50aXR5OiBVKSB7XG4gICAgdGhpcy5lZGl0b3IuZmlsbChlbnRpdHkpO1xuICAgIHRoaXMuZWRpdG9yLnByZXNlbnQoKTtcbiAgfVxufVxuXG4vKipcbiAqIOW4puWIhumhteeahOWinuWIoOaUueafpemhtemdolxuICogQHRlbXBsYXRlIFQgU2VhcmNoZXIg55qE5qih5Z6L57G75Z6LXG4gKiBAdGVtcGxhdGUgVSBFZGl0b3Ig55qE5qih5Z6L57G75Z6L77yM6buY6K6k5Li6IFRcbiAqIEB0ZW1wbGF0ZSBWIERhdGEg55qE5qih5Z6L57G75Z6L77yM6buY6K6k5Li6IFVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhZ2luZ0NydWRQYWdlPFQsIFUgPSBULCBWID0gVT4gZXh0ZW5kcyBDcnVkUGFnZTxULCBVLCBWPiB7XG4gIHByb3RlY3RlZCB0b3RhbFNpemUhOiBudW1iZXI7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vY3J1ZC9zb2xhci1hbmd1bGFyLXVpLXpvcnJvLWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solar-angular-ui-zorro-crud.mjs","sources":["../tmp-esm2022/crud/editor.js","../tmp-esm2022/crud/editor-drawer/editor-drawer.component.js","../tmp-esm2022/crud/searcher.js","../tmp-esm2022/crud/page.js","../tmp-esm2022/crud/solar-angular-ui-zorro-crud.js"],"sourcesContent":["import { signal } from '@angular/core';\nimport { FormArray } from '@angular/forms';\nimport { form } from '@fluent-form/core';\nimport { finalize, tap } from 'rxjs';\nexport class Editor {\n constructor() {\n this.visible = signal(false, ...(ngDevMode ? [{ debugName: \"visible\" }] : []));\n this.loading = signal(false, ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n this.pin = signal(false, ...(ngDevMode ? [{ debugName: \"pin\" }] : []));\n this.model = signal({}, ...(ngDevMode ? [{ debugName: \"model\" }] : []));\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.schema = form(() => { });\n }\n /**\n * 自动控制 loading 状态\n */\n withLoading() {\n this.loading.set(true);\n return (observable) => {\n return observable.pipe(finalize(() => this.loading.set(false)));\n };\n }\n /**\n * next 时自动重置表单 或 收起编辑器\n */\n withAttach() {\n return (observable) => observable.pipe(tap(() => this.pin() ? this.reset() : this.dismiss()));\n }\n /**\n * 呈现编辑器\n */\n present() {\n this.visible.set(true);\n }\n /**\n * 关闭编辑器\n */\n dismiss() {\n this.visible.set(false);\n }\n togglePin() {\n this.pin.update(value => !value);\n }\n reset() {\n // FormArray.reset 不会删除控件,只会重置值,因此需要手动清空\n for (const control of Object.values(this.form?.controls ?? {})) {\n if (control instanceof FormArray) {\n control.clear({ emitEvent: false });\n }\n }\n this.form?.reset();\n }\n fill(model) {\n this.model.set(model);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vY3J1ZC9lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBYyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE1BQU0sT0FBTyxNQUFNO0lBQW5CO1FBQ1csWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLG1EQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLG1EQUFDLENBQUM7UUFDeEIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLCtDQUFDLENBQUM7UUFDcEIsVUFBSyxHQUFHLE1BQU0sQ0FBSSxFQUFPLGlEQUFDLENBQUM7UUFFcEMsZ0VBQWdFO1FBQ2hFLFdBQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUF1RDNCLENBQUM7SUFwREM7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtZQUNuQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN4QyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLE9BQU8sQ0FBQyxVQUF5QixFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSztRQUNILHdDQUF3QztRQUN4QyxLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZm9ybSB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbmFsaXplLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEVkaXRvcjxUPiB7XG4gIHJlYWRvbmx5IHZpc2libGUgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgcGluID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbW9kZWwgPSBzaWduYWw8VD4oe30gYXMgVCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBzY2hlbWEgPSBmb3JtKCgpID0+IHsgfSk7XG4gIGZvcm0/OiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIOiHquWKqOaOp+WItiBsb2FkaW5nIOeKtuaAgVxuICAgKi9cbiAgd2l0aExvYWRpbmc8WD4oKSB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICByZXR1cm4gKG9ic2VydmFibGU6IE9ic2VydmFibGU8WD4pID0+IHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZy5zZXQoZmFsc2UpKVxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIG5leHQg5pe26Ieq5Yqo6YeN572u6KGo5Y2VIOaIliDmlLbotbfnvJbovpHlmahcbiAgICovXG4gIHdpdGhBdHRhY2g8WD4oKSB7XG4gICAgcmV0dXJuIChvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFg+KSA9PiBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5waW4oKSA/IHRoaXMucmVzZXQoKSA6IHRoaXMuZGlzbWlzcygpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog5ZGI546w57yW6L6R5ZmoXG4gICAqL1xuICBwcmVzZW50KCkge1xuICAgIHRoaXMudmlzaWJsZS5zZXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICog5YWz6Zet57yW6L6R5ZmoXG4gICAqL1xuICBkaXNtaXNzKCkge1xuICAgIHRoaXMudmlzaWJsZS5zZXQoZmFsc2UpO1xuICB9XG5cbiAgdG9nZ2xlUGluKCkge1xuICAgIHRoaXMucGluLnVwZGF0ZSh2YWx1ZSA9PiAhdmFsdWUpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgLy8gRm9ybUFycmF5LnJlc2V0IOS4jeS8muWIoOmZpOaOp+S7tu+8jOWPquS8mumHjee9ruWAvO+8jOWboOatpOmcgOimgeaJi+WKqOa4heepulxuICAgIGZvciAoY29uc3QgY29udHJvbCBvZiBPYmplY3QudmFsdWVzKHRoaXMuZm9ybT8uY29udHJvbHMgPz8ge30pKSB7XG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICBjb250cm9sLmNsZWFyKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5mb3JtPy5yZXNldCgpO1xuICB9XG5cbiAgZmlsbChtb2RlbDogVCkge1xuICAgIHRoaXMubW9kZWwuc2V0KG1vZGVsKVxuICB9XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"ng-zorro-antd/drawer\";\nimport * as i2 from \"ng-zorro-antd/spin\";\nimport * as i3 from \"ng-zorro-antd/icon\";\nexport class SunEditorDrawer {\n constructor() {\n this.editor = input.required(...(ngDevMode ? [{ debugName: \"editor\" }] : []));\n this.width = input(600, ...(ngDevMode ? [{ debugName: \"width\" }] : []));\n // TODO: 有些 model 不一定有 primaryKey,可能是两个 foreignKeys,所以要考虑将 operation 变为一个函数\n // 考虑直接做到 signal 版本里,这里就变成一个 computed fn\n this.primaryKey = input('id', ...(ngDevMode ? [{ debugName: \"primaryKey\" }] : []));\n this.visibleChange = output();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunEditorDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.9\", type: SunEditorDrawer, isStandalone: true, selector: \"sun-editor-drawer\", inputs: { editor: { classPropertyName: \"editor\", publicName: \"editor\", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: \"width\", publicName: \"width\", isSignal: true, isRequired: false, transformFunction: null }, primaryKey: { classPropertyName: \"primaryKey\", publicName: \"primaryKey\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: \"visibleChange\" }, ngImport: i0, template: \"<nz-drawer\\n nzWrapClassName=\\\"sun-editor-drawer-wrapper\\\"\\n [nzWidth]=\\\"width()\\\"\\n [nzClosable]=\\\"false\\\"\\n [nzTitle]=\\\"editorTitle\\\"\\n [nzVisible]=\\\"editor().visible()\\\"\\n (nzVisibleChange)=\\\"visibleChange.emit($event); $event || editor().reset()\\\"\\n (nzOnClose)=\\\"editor().dismiss()\\\">\\n <nz-spin *nzDrawerContent [nzSpinning]=\\\"editor().loading()\\\">\\n <ng-content />\\n </nz-spin>\\n</nz-drawer>\\n\\n<ng-template #editorTitle>\\n <div>{{ editor().model()[primaryKey()] ? '\\u7F16\\u8F91\\u6761\\u76EE' : '\\u65B0\\u589E\\u6761\\u76EE' }}</div>\\n\\n <nz-icon nzType=\\\"pushpin\\\" [nzTheme]=\\\"editor().pin() ? 'twotone' : 'outline'\\\" (click)=\\\"editor().togglePin()\\\"></nz-icon>\\n</ng-template>\\n\", styles: [\"::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\\n\"], dependencies: [{ kind: \"ngmodule\", type: NzDrawerModule }, { kind: \"component\", type: i1.NzDrawerComponent, selector: \"nz-drawer\", inputs: [\"nzContent\", \"nzCloseIcon\", \"nzClosable\", \"nzMaskClosable\", \"nzMask\", \"nzCloseOnNavigation\", \"nzNoAnimation\", \"nzKeyboard\", \"nzTitle\", \"nzExtra\", \"nzFooter\", \"nzPlacement\", \"nzSize\", \"nzMaskStyle\", \"nzBodyStyle\", \"nzWrapClassName\", \"nzWidth\", \"nzHeight\", \"nzZIndex\", \"nzOffsetX\", \"nzOffsetY\", \"nzVisible\"], outputs: [\"nzOnViewInit\", \"nzOnClose\", \"nzVisibleChange\"], exportAs: [\"nzDrawer\"] }, { kind: \"directive\", type: i1.NzDrawerContentDirective, selector: \"[nzDrawerContent]\", exportAs: [\"nzDrawerContent\"] }, { kind: \"ngmodule\", type: NzSpinModule }, { kind: \"component\", type: i2.NzSpinComponent, selector: \"nz-spin\", inputs: [\"nzIndicator\", \"nzSize\", \"nzTip\", \"nzDelay\", \"nzSimple\", \"nzSpinning\"], exportAs: [\"nzSpin\"] }, { kind: \"ngmodule\", type: NzIconModule }, { kind: \"directive\", type: i3.NzIconDirective, selector: \"nz-icon,[nz-icon]\", inputs: [\"nzSpin\", \"nzRotate\", \"nzType\", \"nzTheme\", \"nzTwotoneColor\", \"nzIconfont\"], exportAs: [\"nzIcon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunEditorDrawer, decorators: [{\n type: Component,\n args: [{ selector: 'sun-editor-drawer', imports: [\n NzDrawerModule,\n NzSpinModule,\n NzIconModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<nz-drawer\\n nzWrapClassName=\\\"sun-editor-drawer-wrapper\\\"\\n [nzWidth]=\\\"width()\\\"\\n [nzClosable]=\\\"false\\\"\\n [nzTitle]=\\\"editorTitle\\\"\\n [nzVisible]=\\\"editor().visible()\\\"\\n (nzVisibleChange)=\\\"visibleChange.emit($event); $event || editor().reset()\\\"\\n (nzOnClose)=\\\"editor().dismiss()\\\">\\n <nz-spin *nzDrawerContent [nzSpinning]=\\\"editor().loading()\\\">\\n <ng-content />\\n </nz-spin>\\n</nz-drawer>\\n\\n<ng-template #editorTitle>\\n <div>{{ editor().model()[primaryKey()] ? '\\u7F16\\u8F91\\u6761\\u76EE' : '\\u65B0\\u589E\\u6761\\u76EE' }}</div>\\n\\n <nz-icon nzType=\\\"pushpin\\\" [nzTheme]=\\\"editor().pin() ? 'twotone' : 'outline'\\\" (click)=\\\"editor().togglePin()\\\"></nz-icon>\\n</ng-template>\\n\", styles: [\"::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\\n\"] }]\n }], propDecorators: { editor: [{ type: i0.Input, args: [{ isSignal: true, alias: \"editor\", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: \"width\", required: false }] }], primaryKey: [{ type: i0.Input, args: [{ isSignal: true, alias: \"primaryKey\", required: false }] }], visibleChange: [{ type: i0.Output, args: [\"visibleChange\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvZWRpdG9yLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvZWRpdG9yLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBY2xELE1BQU0sT0FBTyxlQUFlO0lBWDVCO1FBWVcsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLGlEQUFhLENBQUM7UUFDckMsVUFBSyxHQUFHLEtBQUssQ0FBa0IsR0FBRyxpREFBQyxDQUFDO1FBQzdDLDJFQUEyRTtRQUMzRSx3Q0FBd0M7UUFDL0IsZUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLHNEQUFDLENBQUM7UUFFekIsa0JBQWEsR0FBRyxNQUFNLEVBQVcsQ0FBQztLQUM1Qzs4R0FSWSxlQUFlO2tHQUFmLGVBQWUsK2ZDakI1QiwyckJBa0JBLGdMRFRJLGNBQWMsK21CQUNkLFlBQVksMk1BQ1osWUFBWTs7MkZBTUgsZUFBZTtrQkFYM0IsU0FBUzsrQkFDRSxtQkFBbUIsV0FDcEI7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFlBQVk7cUJBQ2IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOekRyYXdlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJhd2VyJztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5pbXBvcnQgeyBOelNwaW5Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NwaW4nO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnLi4vZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VuLWVkaXRvci1kcmF3ZXInLFxuICBpbXBvcnRzOiBbXG4gICAgTnpEcmF3ZXJNb2R1bGUsXG4gICAgTnpTcGluTW9kdWxlLFxuICAgIE56SWNvbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZWRpdG9yLWRyYXdlci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdW5FZGl0b3JEcmF3ZXI8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgcmVhZG9ubHkgZWRpdG9yID0gaW5wdXQucmVxdWlyZWQ8RWRpdG9yPFQ+PigpO1xuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZyB8IG51bWJlcj4oNjAwKTtcbiAgLy8gVE9ETzog5pyJ5LqbIG1vZGVsIOS4jeS4gOWumuaciSBwcmltYXJ5S2V577yM5Y+v6IO95piv5Lik5LiqIGZvcmVpZ25LZXlz77yM5omA5Lul6KaB6ICD6JmR5bCGIG9wZXJhdGlvbiDlj5jkuLrkuIDkuKrlh73mlbBcbiAgLy8g6ICD6JmR55u05o6l5YGa5YiwIHNpZ25hbCDniYjmnKzph4zvvIzov5nph4zlsLHlj5jmiJDkuIDkuKogY29tcHV0ZWQgZm5cbiAgcmVhZG9ubHkgcHJpbWFyeUtleSA9IGlucHV0KCdpZCcpO1xuXG4gIHJlYWRvbmx5IHZpc2libGVDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbn1cbiIsIjxuei1kcmF3ZXJcbiAgbnpXcmFwQ2xhc3NOYW1lPVwic3VuLWVkaXRvci1kcmF3ZXItd3JhcHBlclwiXG4gIFtueldpZHRoXT1cIndpZHRoKClcIlxuICBbbnpDbG9zYWJsZV09XCJmYWxzZVwiXG4gIFtuelRpdGxlXT1cImVkaXRvclRpdGxlXCJcbiAgW256VmlzaWJsZV09XCJlZGl0b3IoKS52aXNpYmxlKClcIlxuICAobnpWaXNpYmxlQ2hhbmdlKT1cInZpc2libGVDaGFuZ2UuZW1pdCgkZXZlbnQpOyAkZXZlbnQgfHwgZWRpdG9yKCkucmVzZXQoKVwiXG4gIChuek9uQ2xvc2UpPVwiZWRpdG9yKCkuZGlzbWlzcygpXCI+XG4gIDxuei1zcGluICpuekRyYXdlckNvbnRlbnQgW256U3Bpbm5pbmddPVwiZWRpdG9yKCkubG9hZGluZygpXCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9uei1zcGluPlxuPC9uei1kcmF3ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdG9yVGl0bGU+XG4gIDxkaXY+e3sgZWRpdG9yKCkubW9kZWwoKVtwcmltYXJ5S2V5KCldID8gJ+e8lui+keadoeebricgOiAn5paw5aKe5p2h55uuJyB9fTwvZGl2PlxuXG4gIDxuei1pY29uIG56VHlwZT1cInB1c2hwaW5cIiBbbnpUaGVtZV09XCJlZGl0b3IoKS5waW4oKSA/ICd0d290b25lJyA6ICdvdXRsaW5lJ1wiIChjbGljayk9XCJlZGl0b3IoKS50b2dnbGVQaW4oKVwiPjwvbnotaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { effect, inject, InjectionToken, linkedSignal, signal } from '@angular/core';\nimport { form } from '@fluent-form/core';\nimport { LocalStorage } from '@solar-angular/platform-browser';\nexport const PAGE_SIZE = new InjectionToken('', {\n providedIn: 'root',\n factory: () => {\n const key = 'page_size';\n const localStorage = inject(LocalStorage);\n const pageSize = signal(localStorage.get(key) || 10, ...(ngDevMode ? [{ debugName: \"pageSize\" }] : []));\n effect(() => {\n localStorage.set(key, pageSize());\n });\n return pageSize;\n }\n});\nexport class Searcher {\n constructor() {\n this.model = signal({}, ...(ngDevMode ? [{ debugName: \"model\" }] : []));\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.schema = form(() => { });\n this.pageSize = inject(PAGE_SIZE);\n this.pageNo = linkedSignal(() => (this.model(), 1), ...(ngDevMode ? [{ debugName: \"pageNo\" }] : []));\n }\n reset() {\n this.pageNo.set(1);\n this.form?.reset({});\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL3NlYXJjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsRUFBRSxFQUFFO0lBQ3RFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUE7UUFDdkIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsb0RBQUMsQ0FBQztRQUU3RCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLE9BQU8sUUFBUTtJQUFyQjtRQUNXLFVBQUssR0FBRyxNQUFNLENBQUMsRUFBTyxpREFBQyxDQUFDO1FBR2pDLGdFQUFnRTtRQUNoRSxXQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWhCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsV0FBTSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsa0RBQUMsQ0FBQztJQU0xRCxDQUFDO0lBSkMsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVmZmVjdCwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgbGlua2VkU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmb3JtIH0gZnJvbSAnQGZsdWVudC1mb3JtL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlIH0gZnJvbSAnQHNvbGFyLWFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmV4cG9ydCBjb25zdCBQQUdFX1NJWkUgPSBuZXcgSW5qZWN0aW9uVG9rZW48V3JpdGFibGVTaWduYWw8bnVtYmVyPj4oJycsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gJ3BhZ2Vfc2l6ZSdcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlKVxuICAgIGNvbnN0IHBhZ2VTaXplID0gc2lnbmFsKGxvY2FsU3RvcmFnZS5nZXQ8bnVtYmVyPihrZXkpIHx8IDEwKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0KGtleSwgcGFnZVNpemUoKSlcbiAgICB9KTtcblxuICAgIHJldHVybiBwYWdlU2l6ZTtcbiAgfVxufSk7XG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hlcjxUPiB7XG4gIHJlYWRvbmx5IG1vZGVsID0gc2lnbmFsKHt9IGFzIFQpO1xuXG4gIGZvcm0/OiBGb3JtR3JvdXA7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgc2NoZW1hID0gZm9ybSgoKSA9PiB7IH0pO1xuXG4gIHJlYWRvbmx5IHBhZ2VTaXplID0gaW5qZWN0KFBBR0VfU0laRSk7XG4gIHJlYWRvbmx5IHBhZ2VObyA9IGxpbmtlZFNpZ25hbCgoKSA9PiAodGhpcy5tb2RlbCgpLCAxKSk7XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5wYWdlTm8uc2V0KDEpO1xuICAgIHRoaXMuZm9ybT8ucmVzZXQoe30pO1xuICB9XG59XG4iXX0=","import { inject, signal } from '@angular/core';\nimport { MessageService } from '@solar-angular/ui-zorro/message';\nimport { Editor } from './editor';\nimport { Searcher } from './searcher';\n/**\n * 增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport class CrudPage {\n constructor() {\n this.data = signal([], ...(ngDevMode ? [{ debugName: \"data\" }] : []));\n this.loading = signal(false, ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n this.searcher = new Searcher();\n this.editor = new Editor();\n this.message = inject(MessageService);\n }\n get pageSize() {\n return this.searcher.pageSize;\n }\n get pageNo() {\n return this.searcher.pageNo;\n }\n /**\n * {@link MessageService.withLoading()} 的快捷方式\n * @param content\n */\n withLoading(content) {\n return this.message.withLoading(content);\n }\n /**\n * {@link MessageService.withDeleteLoading()} 的快捷方式\n * @param content\n */\n withDeleteLoading() {\n return this.message.withDeleteLoading();\n }\n /**\n * {@link MessageService.withSaveLoading()} 的快捷方式\n * @param content\n */\n withSaveLoading() {\n return this.message.withSaveLoading();\n }\n /**\n * 编辑\n * @param entity\n */\n edit(entity) {\n this.editor.fill(entity);\n this.editor.present();\n }\n}\n/**\n * 带分页的增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport class PagingCrudPage extends CrudPage {\n constructor() {\n super(...arguments);\n this.totalSize = signal(0, ...(ngDevMode ? [{ debugName: \"totalSize\" }] : []));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2NydWQvcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixRQUFRO0lBQTlCO1FBQ1csU0FBSSxHQUFHLE1BQU0sQ0FBTSxFQUFFLGdEQUFDLENBQUM7UUFFYixZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssbURBQUMsQ0FBQztRQUVqQyxhQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUssQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUssQ0FBQztRQVUxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBa0M1QyxDQUFDO0lBMUNDLElBQWMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFBO0lBQy9CLENBQUM7SUFFRCxJQUFjLE1BQU07UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQTtJQUM3QixDQUFDO0lBSUQ7OztPQUdHO0lBQ08sV0FBVyxDQUFJLE9BQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUksT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNPLElBQUksQ0FBQyxNQUFTO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGNBQWdDLFNBQVEsUUFBaUI7SUFBL0U7O1FBQ3FCLGNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxxREFBQyxDQUFDO0lBQzNDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL3VpLXpvcnJvL21lc3NhZ2UnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnLi9lZGl0b3InO1xuaW1wb3J0IHsgU2VhcmNoZXIgfSBmcm9tICcuL3NlYXJjaGVyJztcblxuLyoqXG4gKiDlop7liKDmlLnmn6XpobXpnaJcbiAqIEB0ZW1wbGF0ZSBUIFNlYXJjaGVyIOeahOaooeWei+exu+Wei1xuICogQHRlbXBsYXRlIFUgRWRpdG9yIOeahOaooeWei+exu+Wei++8jOm7mOiupOS4uiBUXG4gKiBAdGVtcGxhdGUgViBEYXRhIOeahOaooeWei+exu+Wei++8jOm7mOiupOS4uiBVXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcnVkUGFnZTxULCBVID0gVCwgViA9IFU+IHtcbiAgcmVhZG9ubHkgZGF0YSA9IHNpZ25hbDxWW10+KFtdKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHNlYXJjaGVyID0gbmV3IFNlYXJjaGVyPFQ+KCk7XG4gIHByb3RlY3RlZCBlZGl0b3IgPSBuZXcgRWRpdG9yPFU+KCk7XG5cbiAgcHJvdGVjdGVkIGdldCBwYWdlU2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hlci5wYWdlU2l6ZVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBwYWdlTm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoZXIucGFnZU5vXG4gIH1cblxuICByZWFkb25seSBtZXNzYWdlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcblxuICAvKipcbiAgICoge0BsaW5rIE1lc3NhZ2VTZXJ2aWNlLndpdGhMb2FkaW5nKCl9IOeahOW/q+aNt+aWueW8j1xuICAgKiBAcGFyYW0gY29udGVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHdpdGhMb2FkaW5nPFg+KGNvbnRlbnQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLndpdGhMb2FkaW5nPFg+KGNvbnRlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBNZXNzYWdlU2VydmljZS53aXRoRGVsZXRlTG9hZGluZygpfSDnmoTlv6vmjbfmlrnlvI9cbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIHByb3RlY3RlZCB3aXRoRGVsZXRlTG9hZGluZzxYPigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLndpdGhEZWxldGVMb2FkaW5nPFg+KCk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIE1lc3NhZ2VTZXJ2aWNlLndpdGhTYXZlTG9hZGluZygpfSDnmoTlv6vmjbfmlrnlvI9cbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIHByb3RlY3RlZCB3aXRoU2F2ZUxvYWRpbmc8WD4oKSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZS53aXRoU2F2ZUxvYWRpbmc8WD4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnvJbovpFcbiAgICogQHBhcmFtIGVudGl0eVxuICAgKi9cbiAgcHJvdGVjdGVkIGVkaXQoZW50aXR5OiBVKSB7XG4gICAgdGhpcy5lZGl0b3IuZmlsbChlbnRpdHkpO1xuICAgIHRoaXMuZWRpdG9yLnByZXNlbnQoKTtcbiAgfVxufVxuXG4vKipcbiAqIOW4puWIhumhteeahOWinuWIoOaUueafpemhtemdolxuICogQHRlbXBsYXRlIFQgU2VhcmNoZXIg55qE5qih5Z6L57G75Z6LXG4gKiBAdGVtcGxhdGUgVSBFZGl0b3Ig55qE5qih5Z6L57G75Z6L77yM6buY6K6k5Li6IFRcbiAqIEB0ZW1wbGF0ZSBWIERhdGEg55qE5qih5Z6L57G75Z6L77yM6buY6K6k5Li6IFVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhZ2luZ0NydWRQYWdlPFQsIFUgPSBULCBWID0gVT4gZXh0ZW5kcyBDcnVkUGFnZTxULCBVLCBWPiB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b3RhbFNpemUgPSBzaWduYWwoMCk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vY3J1ZC9zb2xhci1hbmd1bGFyLXVpLXpvcnJvLWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;;;;;;;;;AAIO,MAAM,MAAM,CAAC;AACpB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/E;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,IAAI;AACJ;AACA;AACA;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9B,QAAQ,OAAO,CAAC,UAAU,KAAK;AAC/B,YAAY,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3E,QAAQ,CAAC;AACT,IAAI;AACJ;AACA;AACA;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACrG,IAAI;AACJ;AACA;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9B,IAAI;AACJ;AACA;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAC/B,IAAI;AACJ,IAAI,SAAS,GAAG;AAChB,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;AACxC,IAAI;AACJ,IAAI,KAAK,GAAG;AACZ;AACA,QAAQ,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE;AACxE,YAAY,IAAI,OAAO,YAAY,SAAS,EAAE;AAC9C,gBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACnD,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;AAC1B,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,IAAI;AACJ;;AC/CO,MAAM,eAAe,CAAC;AAC7B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/E;AACA;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1F,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE;AACrC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACjL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2rBAA2rB,EAAE,MAAM,EAAE,CAAC,yHAAyH,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACjjF;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE;AAC7D,wBAAwB,cAAc;AACtC,wBAAwB,YAAY;AACpC,wBAAwB,YAAY;AACpC,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,2rBAA2rB,EAAE,MAAM,EAAE,CAAC,yHAAyH,CAAC,EAAE;AACp5B,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;ACxB7W,MAAC,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE;AAChD,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,OAAO,EAAE,MAAM;AACnB,QAAQ,MAAM,GAAG,GAAG,WAAW;AAC/B,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACjD,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/G,QAAQ,MAAM,CAAC,MAAM;AACrB,YAAY,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC7C,QAAQ,CAAC,CAAC;AACV,QAAQ,OAAO,QAAQ;AACvB,IAAI;AACJ,CAAC;AACM,MAAM,QAAQ,CAAC;AACtB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/E;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5G,IAAI;AACJ,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;AAC5B,IAAI;AACJ;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,QAAQ,CAAC;AACtB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7E,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE;AACtC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE;AAClC,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,IAAI;AACJ,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACrC,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM;AACnC,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;AAChD,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;AAC/C,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG;AACtB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;AAC7C,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC7B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,SAAS,QAAQ,CAAC;AAC7C,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF,IAAI;AACJ;;ACjEA;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ENTER } from '@angular/cdk/keycodes';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, ElementRef, Directive } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
class SunEnterFocusNext {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.element = inject(ElementRef);
|
|
8
|
+
}
|
|
9
|
+
onKeyDown(event) {
|
|
10
|
+
const target = event.target;
|
|
11
|
+
// 如果触发事件的是 input 标签,且按下了 Enter 键
|
|
12
|
+
if (target instanceof HTMLInputElement && event.keyCode === ENTER) {
|
|
13
|
+
event.preventDefault();
|
|
14
|
+
// 此时可能会有子组件的事件监听器也在监听 keydown 事件,先让它们执行完,以确保 DOM 更新完成
|
|
15
|
+
// 延迟执行以确保能够获取到最新的可用 input 元素
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
// 获取当前容器内所有可用的 input
|
|
18
|
+
const inputs = Array.from(this.element.nativeElement.querySelectorAll('input:not([disabled]):not([readonly])'));
|
|
19
|
+
const currentIndex = inputs.indexOf(target);
|
|
20
|
+
// 如果不是最后一个,就聚焦到下一个
|
|
21
|
+
if (currentIndex < inputs.length - 1) {
|
|
22
|
+
const inputElement = inputs[currentIndex + 1];
|
|
23
|
+
if (inputElement.closest('nz-select,nz-cascader')) {
|
|
24
|
+
inputElement.click();
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
inputElement.focus();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunEnterFocusNext, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: SunEnterFocusNext, isStandalone: true, selector: "[sunEnterFocusNext]", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunEnterFocusNext, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[sunEnterFocusNext]',
|
|
40
|
+
host: {
|
|
41
|
+
'(keydown)': 'onKeyDown($event)'
|
|
42
|
+
}
|
|
43
|
+
}]
|
|
44
|
+
}] });
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Generated bundle index. Do not edit.
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
export { SunEnterFocusNext };
|
|
51
|
+
//# sourceMappingURL=solar-angular-ui-zorro-enter-focus-next.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solar-angular-ui-zorro-enter-focus-next.mjs","sources":["../tmp-esm2022/enter-focus-next/enter-focus-next.js","../tmp-esm2022/enter-focus-next/solar-angular-ui-zorro-enter-focus-next.js"],"sourcesContent":["import { ENTER } from '@angular/cdk/keycodes';\nimport { Directive, ElementRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SunEnterFocusNext {\n constructor() {\n this.element = inject(ElementRef);\n }\n onKeyDown(event) {\n const target = event.target;\n // 如果触发事件的是 input 标签,且按下了 Enter 键\n if (target instanceof HTMLInputElement && event.keyCode === ENTER) {\n event.preventDefault();\n // 此时可能会有子组件的事件监听器也在监听 keydown 事件,先让它们执行完,以确保 DOM 更新完成\n // 延迟执行以确保能够获取到最新的可用 input 元素\n setTimeout(() => {\n // 获取当前容器内所有可用的 input\n const inputs = Array.from(this.element.nativeElement.querySelectorAll('input:not([disabled]):not([readonly])'));\n const currentIndex = inputs.indexOf(target);\n // 如果不是最后一个,就聚焦到下一个\n if (currentIndex < inputs.length - 1) {\n const inputElement = inputs[currentIndex + 1];\n if (inputElement.closest('nz-select,nz-cascader')) {\n inputElement.click();\n }\n else {\n inputElement.focus();\n }\n }\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunEnterFocusNext, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.9\", type: SunEnterFocusNext, isStandalone: true, selector: \"[sunEnterFocusNext]\", host: { listeners: { \"keydown\": \"onKeyDown($event)\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunEnterFocusNext, decorators: [{\n type: Directive,\n args: [{\n selector: '[sunEnterFocusNext]',\n host: {\n '(keydown)': 'onKeyDown($event)'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50ZXItZm9jdXMtbmV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2VudGVyLWZvY3VzLW5leHQvZW50ZXItZm9jdXMtbmV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVE5RCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBT21CLFlBQU8sR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0tBK0J4RTtJQTdCQyxTQUFTLENBQUMsS0FBb0I7UUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFFaEQsaUNBQWlDO1FBQ2pDLElBQUksTUFBTSxZQUFZLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLHNEQUFzRDtZQUN0RCw2QkFBNkI7WUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxxQkFBcUI7Z0JBQ3JCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLHVDQUF1QyxDQUFDLENBQy9ELENBQUM7Z0JBRXhCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTVDLG1CQUFtQjtnQkFDbkIsSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQTtvQkFFN0MsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQzt3QkFDbEQsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFBO29CQUN0QixDQUFDO3lCQUFNLENBQUM7d0JBQ04sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUN2QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOzhHQS9CVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0osV0FBVyxFQUFFLG1CQUFtQjtxQkFDakM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3VuRW50ZXJGb2N1c05leHRdJyxcbiAgaG9zdDoge1xuICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU3VuRW50ZXJGb2N1c05leHQge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgLy8g5aaC5p6c6Kem5Y+R5LqL5Lu255qE5pivIGlucHV0IOagh+etvu+8jOS4lOaMieS4i+S6hiBFbnRlciDplK5cbiAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCAmJiBldmVudC5rZXlDb2RlID09PSBFTlRFUikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIC8vIOatpOaXtuWPr+iDveS8muacieWtkOe7hOS7tueahOS6i+S7tuebkeWQrOWZqOS5n+WcqOebkeWQrCBrZXlkb3duIOS6i+S7tu+8jOWFiOiuqeWug+S7rOaJp+ihjOWujO+8jOS7peehruS/nSBET00g5pu05paw5a6M5oiQXG4gICAgICAvLyDlu7bov5/miafooYzku6Xnoa7kv53og73lpJ/ojrflj5bliLDmnIDmlrDnmoTlj6/nlKggaW5wdXQg5YWD57SgXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8g6I635Y+W5b2T5YmN5a655Zmo5YaF5omA5pyJ5Y+v55So55qEIGlucHV0XG4gICAgICAgIGNvbnN0IGlucHV0cyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQ6bm90KFtkaXNhYmxlZF0pOm5vdChbcmVhZG9ubHldKScpXG4gICAgICAgICkgYXMgSFRNTElucHV0RWxlbWVudFtdO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGlucHV0cy5pbmRleE9mKHRhcmdldCk7XG5cbiAgICAgICAgLy8g5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq77yM5bCx6IGa54Sm5Yiw5LiL5LiA5LiqXG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPCBpbnB1dHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGlucHV0c1tjdXJyZW50SW5kZXggKyAxXVxuXG4gICAgICAgICAgaWYgKGlucHV0RWxlbWVudC5jbG9zZXN0KCduei1zZWxlY3QsbnotY2FzY2FkZXInKSkge1xuICAgICAgICAgICAgaW5wdXRFbGVtZW50LmNsaWNrKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1lbnRlci1mb2N1cy1uZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vZW50ZXItZm9jdXMtbmV4dC9zb2xhci1hbmd1bGFyLXVpLXpvcnJvLWVudGVyLWZvY3VzLW5leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;AAGO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AACzC,IAAI;AACJ,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AACnC;AACA,QAAQ,IAAI,MAAM,YAAY,gBAAgB,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;AAC3E,YAAY,KAAK,CAAC,cAAc,EAAE;AAClC;AACA;AACA,YAAY,UAAU,CAAC,MAAM;AAC7B;AACA,gBAAgB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;AAC/H,gBAAgB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;AAC3D;AACA,gBAAgB,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACtD,oBAAoB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;AACjE,oBAAoB,IAAI,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;AACvE,wBAAwB,YAAY,CAAC,KAAK,EAAE;AAC5C,oBAAoB;AACpB,yBAAyB;AACzB,wBAAwB,YAAY,CAAC,KAAK,EAAE;AAC5C,oBAAoB;AACpB,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACnL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACnP;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,qBAAqB;AACnD,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,WAAW,EAAE;AACrC;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC1Cb;AACA;AACA;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormGroup, FormArray } from '@angular/forms';
|
|
2
2
|
import { button, textField, numberField, toggle, radioGroup, cascader, datePicker, dateRangePicker } from '@fluent-form/ui-zorro';
|
|
3
|
-
import { levels2tree, tree2list } from '@solar-kit/core';
|
|
3
|
+
import { levels2tree, toTreeNode, tree2list } from '@solar-kit/core';
|
|
4
|
+
import { parseWeight, formatWeight } from '@solar-kit/planets/earth';
|
|
4
5
|
import { form, headless, SchemaType } from '@fluent-form/core';
|
|
5
6
|
|
|
6
7
|
function searchButton() {
|
|
@@ -70,8 +71,8 @@ function genderRadioGroup(key = 'gender') {
|
|
|
70
71
|
function categoryCascader(key, channels, categories) {
|
|
71
72
|
return leafCascader(key).options(levels2tree([
|
|
72
73
|
entitiesToOptions(channels),
|
|
73
|
-
entitiesToOptions(categories)
|
|
74
|
-
]
|
|
74
|
+
entitiesToOptions(categories).map(o => toTreeNode(o, { parentId: 'channel' }))
|
|
75
|
+
]));
|
|
75
76
|
}
|
|
76
77
|
/**
|
|
77
78
|
* 叶子节点级联选择器
|
|
@@ -115,6 +116,19 @@ function datetimeRangePicker(key, format = 'yyyy-MM-dd HH:mm') {
|
|
|
115
116
|
.time({ nzFormat: 'HH:mm' })
|
|
116
117
|
.format(format);
|
|
117
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* 输入各种重量,输出克数
|
|
121
|
+
* @param key
|
|
122
|
+
* @param unit
|
|
123
|
+
*/
|
|
124
|
+
function weightField(key, unit) {
|
|
125
|
+
return numberField(key)
|
|
126
|
+
.affixes({ suffix: unit.fullName })
|
|
127
|
+
.mapper({
|
|
128
|
+
parser: (value) => value === null ? null : formatWeight(value, unit.id),
|
|
129
|
+
formatter: (value) => value === null ? null : parseWeight(value, unit.id)
|
|
130
|
+
});
|
|
131
|
+
}
|
|
118
132
|
|
|
119
133
|
/**
|
|
120
134
|
* 实体表单
|
|
@@ -213,5 +227,5 @@ function useValidationTipsPatchers() {
|
|
|
213
227
|
* Generated bundle index. Do not edit.
|
|
214
228
|
*/
|
|
215
229
|
|
|
216
|
-
export { addButton, categoryCascader, cellphoneField, datetimePicker, datetimeRangePicker, enabledToggle, entitiesToOptions, entityForm, entityToOption, finishedToggle, genderRadioGroup, integerField, leafCascader, saveButton, searchButton, submitButton, useAutoPlaceholderPatchers, useImprovedPickerPatchers, useValidationTipsPatchers };
|
|
230
|
+
export { addButton, categoryCascader, cellphoneField, datetimePicker, datetimeRangePicker, enabledToggle, entitiesToOptions, entityForm, entityToOption, finishedToggle, genderRadioGroup, integerField, leafCascader, saveButton, searchButton, submitButton, useAutoPlaceholderPatchers, useImprovedPickerPatchers, useValidationTipsPatchers, weightField };
|
|
217
231
|
//# sourceMappingURL=solar-angular-ui-zorro-fluent-form.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solar-angular-ui-zorro-fluent-form.mjs","sources":["../tmp-esm2022/fluent-form/components.js","../tmp-esm2022/fluent-form/helper.js","../tmp-esm2022/fluent-form/controls.js","../tmp-esm2022/fluent-form/form.js","../tmp-esm2022/fluent-form/patchers.js","../tmp-esm2022/fluent-form/solar-angular-ui-zorro-fluent-form.js"],"sourcesContent":["import { FormArray, FormGroup } from '@angular/forms';\nimport { button } from '@fluent-form/ui-zorro';\nexport function searchButton() {\n return button().icon('search').content('查询').type('primary');\n}\nexport function addButton() {\n return button().icon('plus').content('新增').type('primary').mode('button');\n}\nexport function submitButton() {\n return button()\n .content('提交')\n .type('primary')\n .variants({ block: true })\n .listeners({\n click: (event, context) => {\n const rootForm = context.control;\n updateValidityEach(rootForm);\n if (rootForm.invalid) {\n event.preventDefault();\n }\n }\n });\n}\n/**\n * Alias of {@link submitButton}\n */\nexport const saveButton = submitButton;\nfunction updateValidityEach(form) {\n for (const control of Object.values(form.controls)) {\n if (control instanceof FormGroup || control instanceof FormArray) {\n updateValidityEach(control);\n }\n else {\n if (control.invalid) {\n control.markAsDirty();\n control.updateValueAndValidity({ onlySelf: true });\n }\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsTUFBTSxFQUF5QixNQUFNLHVCQUF1QixDQUFDO0FBR3RFLE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPLE1BQU0sRUFBRTtTQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDYixJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ2YsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3pCLFNBQVMsQ0FBQztRQUNULEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBb0IsQ0FBQTtZQUM3QyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUM1QixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQUV2QyxTQUFTLGtCQUFrQixDQUFDLElBQTJCO0lBQ3JELEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNuRCxJQUFJLE9BQU8sWUFBWSxTQUFTLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRSxDQUFDO1lBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVW5zdGFibGVCdWlsZGVyIH0gZnJvbSAnQGZsdWVudC1mb3JtL2NvcmUnO1xuaW1wb3J0IHsgYnV0dG9uLCBCdXR0b25Db21wb25lbnRTY2hlbWEgfSBmcm9tICdAZmx1ZW50LWZvcm0vdWktem9ycm8nO1xuaW1wb3J0IHsgS2luZE9yS2V5IH0gZnJvbSAnLi90eXBpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoQnV0dG9uKCk6IFVuc3RhYmxlQnVpbGRlcjxCdXR0b25Db21wb25lbnRTY2hlbWEsIEtpbmRPcktleSB8ICdpY29uJyB8ICdjb250ZW50JyB8ICd0eXBlJz4ge1xuICByZXR1cm4gYnV0dG9uKCkuaWNvbignc2VhcmNoJykuY29udGVudCgn5p+l6K+iJykudHlwZSgncHJpbWFyeScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQnV0dG9uKCk6IFVuc3RhYmxlQnVpbGRlcjxCdXR0b25Db21wb25lbnRTY2hlbWEsIEtpbmRPcktleSB8ICdpY29uJyB8ICdjb250ZW50JyB8ICd0eXBlJyB8ICdtb2RlJz4ge1xuICByZXR1cm4gYnV0dG9uKCkuaWNvbigncGx1cycpLmNvbnRlbnQoJ+aWsOWinicpLnR5cGUoJ3ByaW1hcnknKS5tb2RlKCdidXR0b24nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1Ym1pdEJ1dHRvbigpOiBVbnN0YWJsZUJ1aWxkZXI8QnV0dG9uQ29tcG9uZW50U2NoZW1hLCBLaW5kT3JLZXkgfCAnY29udGVudCcgfCAndHlwZScgfCAndmFyaWFudHMnIHwgJ2xpc3RlbmVycyc+IHtcbiAgcmV0dXJuIGJ1dHRvbigpXG4gICAgLmNvbnRlbnQoJ+aPkOS6pCcpXG4gICAgLnR5cGUoJ3ByaW1hcnknKVxuICAgIC52YXJpYW50cyh7IGJsb2NrOiB0cnVlIH0pXG4gICAgLmxpc3RlbmVycyh7XG4gICAgICBjbGljazogKGV2ZW50LCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3RGb3JtID0gY29udGV4dC5jb250cm9sIGFzIEZvcm1Hcm91cFxuICAgICAgICB1cGRhdGVWYWxpZGl0eUVhY2gocm9vdEZvcm0pXG4gICAgICAgIGlmIChyb290Rm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbn1cblxuLyoqXG4gKiBBbGlhcyBvZiB7QGxpbmsgc3VibWl0QnV0dG9ufVxuICovXG5leHBvcnQgY29uc3Qgc2F2ZUJ1dHRvbiA9IHN1Ym1pdEJ1dHRvbjtcblxuZnVuY3Rpb24gdXBkYXRlVmFsaWRpdHlFYWNoKGZvcm06IEZvcm1Hcm91cCB8IEZvcm1BcnJheSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IGNvbnRyb2wgb2YgT2JqZWN0LnZhbHVlcyhmb3JtLmNvbnRyb2xzKSkge1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgIHVwZGF0ZVZhbGlkaXR5RWFjaChjb250cm9sKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19","export function entityToOption(entity) {\n return { label: entity.fullName, value: entity.id, ...entity };\n}\nexport function entitiesToOptions(entities) {\n return entities.map(entity => entityToOption(entity));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vZmx1ZW50LWZvcm0vaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sVUFBVSxjQUFjLENBQXNELE1BQVM7SUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBc0QsUUFBYTtJQUNsRyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9PcHRpb248VCBleHRlbmRzIHsgaWQ6IHN0cmluZyB8IG51bWJlciwgZnVsbE5hbWU6IHN0cmluZyB9PihlbnRpdHk6IFQpIHtcbiAgcmV0dXJuIHsgbGFiZWw6IGVudGl0eS5mdWxsTmFtZSwgdmFsdWU6IGVudGl0eS5pZCwgLi4uZW50aXR5IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnRpdGllc1RvT3B0aW9uczxUIGV4dGVuZHMgeyBpZDogc3RyaW5nIHwgbnVtYmVyLCBmdWxsTmFtZTogc3RyaW5nIH0+KGVudGl0aWVzOiBUW10pIHtcbiAgcmV0dXJuIGVudGl0aWVzLm1hcChlbnRpdHkgPT4gZW50aXR5VG9PcHRpb24oZW50aXR5KSk7XG59XG4iXX0=","import { cascader, datePicker, dateRangePicker, numberField, radioGroup, textField, toggle } from '@fluent-form/ui-zorro';\nimport { levels2tree, tree2list } from '@solar-kit/core';\nimport { entitiesToOptions } from './helper';\nexport function cellphoneField(key = 'cellphone', length = 11) {\n return textField(key).type('tel').length(length);\n}\nexport function integerField(key) {\n return numberField(key).precision(0);\n}\nexport function enabledToggle(key = 'enabled', defaultValue = true) {\n return toggle(key).placeholder(['有效', '无效']).defaultValue(defaultValue);\n}\nexport function finishedToggle(key = 'finished', defaultValue = false) {\n return toggle(key).placeholder(['已完成', '未完成']).defaultValue(defaultValue);\n}\nexport function genderRadioGroup(key = 'gender') {\n return radioGroup(key).options([\n { label: '女', value: 0 /* Gender.Woman */ },\n { label: '男', value: 1 /* Gender.Man */ }\n ]);\n}\nexport function categoryCascader(key, channels, categories) {\n return leafCascader(key).options(levels2tree([\n entitiesToOptions(channels),\n entitiesToOptions(categories)\n ], { id: 'value', pid: 'channel' }));\n}\n/**\n * 叶子节点级联选择器\n *\n * options 选项可以使用 `list2tree()` 或 `levels2tree()` 来构造\n *\n * @param key\n */\nexport function leafCascader(key) {\n let list;\n return cascader(key)\n .trigger('hover')\n .mapper({\n parser: (value, schema) => {\n if (!value)\n return null;\n // 如果输入的是叶子节点,我们需要转为 [父节点, ..., 叶子节点]\n list ??= tree2list(schema.options);\n // 找到选中的叶子节点\n let node = list.find(node => node.value === value && (!node.children || node.children.length === 0));\n const levels = [];\n while (node) {\n levels.unshift(node.value);\n node = node.parent;\n }\n return levels;\n },\n formatter: value => {\n // 输出的是节点数组,我们只要叶子节点\n return value?.[value.length - 1];\n }\n });\n}\nexport function datetimePicker(key, format = 'yyyy-MM-dd HH:mm') {\n return datePicker(key)\n .time({ nzFormat: 'HH:mm' })\n .format(format);\n}\nexport function datetimeRangePicker(key, format = 'yyyy-MM-dd HH:mm') {\n return dateRangePicker(key)\n .time({ nzFormat: 'HH:mm' })\n .format(format);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9jb250cm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdMLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hTLE9BQU8sRUFBWSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzdDLE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBRyxHQUFHLFdBQVcsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUMzRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQW9CO0lBQy9DLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUF1QixTQUFTLEVBQUUsWUFBWSxHQUFHLElBQUk7SUFDakYsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQXVCLFVBQVUsRUFBRSxZQUFZLEdBQUcsS0FBSztJQUNwRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsUUFBUTtJQUM3QyxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDN0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssc0JBQWMsRUFBRTtRQUNuQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxvQkFBWSxFQUFFO0tBQ2xDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBb0IsRUFBRSxRQUFtQixFQUFFLFVBQXNCO0lBQ2hHLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FDOUIsV0FBVyxDQUNUO1FBQ0UsaUJBQWlCLENBQUMsUUFBZ0UsQ0FBQztRQUNuRixpQkFBaUIsQ0FBQyxVQUFVLENBQUM7S0FDOUIsRUFDRCxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUNoQyxDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFvQjtJQUMvQyxJQUFJLElBQWtDLENBQUM7SUFFdkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEIsTUFBTSxDQUFDO1FBQ04sTUFBTSxFQUFFLENBQUMsS0FBdUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUV4QixxQ0FBcUM7WUFDckMsSUFBSSxLQUFLLFNBQVMsQ0FBRSxNQUFnQyxDQUFDLE9BQXVDLENBQUMsQ0FBQztZQUM5RixZQUFZO1lBQ1osSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFckcsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBRWxCLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3JCLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBQ0QsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLG9CQUFvQjtZQUNwQixPQUFPLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQVcsRUFBRSxNQUFNLEdBQUcsa0JBQWtCO0lBQ3JFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQztTQUNuQixJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsR0FBYyxFQUFFLE1BQU0sR0FBRyxrQkFBa0I7SUFDN0UsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDO1NBQ3hCLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjaGVtYUtleSwgU2luZ2xlU2NoZW1hS2V5LCBVbnN0YWJsZUJ1aWxkZXIgfSBmcm9tICdAZmx1ZW50LWZvcm0vY29yZSc7XG5pbXBvcnQgeyBDYXNjYWRlckNvbnRyb2xTY2hlbWEsIERhdGVQaWNrZXJDb250cm9sU2NoZW1hLCBEYXRlUmFuZ2VQaWNrZXJDb250cm9sU2NoZW1hLCBOdW1iZXJGaWVsZENvbnRyb2xTY2hlbWEsIFJhZGlvR3JvdXBDb250cm9sU2NoZW1hLCBUZXh0RmllbGRDb250cm9sU2NoZW1hLCBUb2dnbGVDb250cm9sU2NoZW1hLCBjYXNjYWRlciwgZGF0ZVBpY2tlciwgZGF0ZVJhbmdlUGlja2VyLCBudW1iZXJGaWVsZCwgcmFkaW9Hcm91cCwgdGV4dEZpZWxkLCB0b2dnbGUgfSBmcm9tICdAZmx1ZW50LWZvcm0vdWktem9ycm8nO1xuaW1wb3J0IHsgVHJlZU5vZGUsIGxldmVsczJ0cmVlLCB0cmVlMmxpc3QgfSBmcm9tICdAc29sYXIta2l0L2NvcmUnO1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENoYW5uZWwgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuaW1wb3J0IHsgR2VuZGVyIH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBOekNhc2NhZGVyT3B0aW9uIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jYXNjYWRlcic7XG5pbXBvcnQgeyBlbnRpdGllc1RvT3B0aW9ucyB9IGZyb20gJy4vaGVscGVyJztcbmltcG9ydCB7IEtpbmRPcktleSB9IGZyb20gJy4vdHlwaW5nJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNlbGxwaG9uZUZpZWxkKGtleSA9ICdjZWxscGhvbmUnLCBsZW5ndGggPSAxMSk6IFVuc3RhYmxlQnVpbGRlcjxUZXh0RmllbGRDb250cm9sU2NoZW1hLCBLaW5kT3JLZXkgfCAndHlwZScgfCAnbGVuZ3RoJz4ge1xuICByZXR1cm4gdGV4dEZpZWxkKGtleSkudHlwZSgndGVsJykubGVuZ3RoKGxlbmd0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ2VyRmllbGQoa2V5OiBTaW5nbGVTY2hlbWFLZXkpOiBVbnN0YWJsZUJ1aWxkZXI8TnVtYmVyRmllbGRDb250cm9sU2NoZW1hLCBLaW5kT3JLZXkgfCAncHJlY2lzaW9uJz4ge1xuICByZXR1cm4gbnVtYmVyRmllbGQoa2V5KS5wcmVjaXNpb24oMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVkVG9nZ2xlKGtleTogU2luZ2xlU2NoZW1hS2V5ID0gJ2VuYWJsZWQnLCBkZWZhdWx0VmFsdWUgPSB0cnVlKTogVW5zdGFibGVCdWlsZGVyPFRvZ2dsZUNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICdwbGFjZWhvbGRlcicgfCAnZGVmYXVsdFZhbHVlJz4ge1xuICByZXR1cm4gdG9nZ2xlKGtleSkucGxhY2Vob2xkZXIoWyfmnInmlYgnLCAn5peg5pWIJ10pLmRlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluaXNoZWRUb2dnbGUoa2V5OiBTaW5nbGVTY2hlbWFLZXkgPSAnZmluaXNoZWQnLCBkZWZhdWx0VmFsdWUgPSBmYWxzZSk6IFVuc3RhYmxlQnVpbGRlcjxUb2dnbGVDb250cm9sU2NoZW1hLCBLaW5kT3JLZXkgfCAncGxhY2Vob2xkZXInIHwgJ2RlZmF1bHRWYWx1ZSc+IHtcbiAgcmV0dXJuIHRvZ2dsZShrZXkpLnBsYWNlaG9sZGVyKFsn5bey5a6M5oiQJywgJ+acquWujOaIkCddKS5kZWZhdWx0VmFsdWUoZGVmYXVsdFZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmRlclJhZGlvR3JvdXAoa2V5ID0gJ2dlbmRlcicpOiBVbnN0YWJsZUJ1aWxkZXI8UmFkaW9Hcm91cENvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICdvcHRpb25zJz4ge1xuICByZXR1cm4gcmFkaW9Hcm91cChrZXkpLm9wdGlvbnMoW1xuICAgIHsgbGFiZWw6ICflpbMnLCB2YWx1ZTogR2VuZGVyLldvbWFuIH0sXG4gICAgeyBsYWJlbDogJ+eUtycsIHZhbHVlOiBHZW5kZXIuTWFuIH1cbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXRlZ29yeUNhc2NhZGVyKGtleTogU2luZ2xlU2NoZW1hS2V5LCBjaGFubmVsczogQ2hhbm5lbFtdLCBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdKTogVW5zdGFibGVCdWlsZGVyPENhc2NhZGVyQ29udHJvbFNjaGVtYTxTaW5nbGVTY2hlbWFLZXk+LCBLaW5kT3JLZXkgfCAnb3B0aW9ucycgfCAndHJpZ2dlcicgfCAnbWFwcGVyJz4ge1xuICByZXR1cm4gbGVhZkNhc2NhZGVyKGtleSkub3B0aW9ucyhcbiAgICBsZXZlbHMydHJlZShcbiAgICAgIFtcbiAgICAgICAgZW50aXRpZXNUb09wdGlvbnMoY2hhbm5lbHMgYXMgeyBpZDogbnVtYmVyLCBmdWxsTmFtZTogc3RyaW5nLCBjaGFubmVsPzogbnVtYmVyIH1bXSksXG4gICAgICAgIGVudGl0aWVzVG9PcHRpb25zKGNhdGVnb3JpZXMpXG4gICAgICBdLFxuICAgICAgeyBpZDogJ3ZhbHVlJywgcGlkOiAnY2hhbm5lbCcgfVxuICAgIClcbiAgKTtcbn1cblxuLyoqXG4gKiDlj7blrZDoioLngrnnuqfogZTpgInmi6nlmahcbiAqXG4gKiBvcHRpb25zIOmAiemhueWPr+S7peS9v+eUqCBgbGlzdDJ0cmVlKClgIOaIliBgbGV2ZWxzMnRyZWUoKWAg5p2l5p6E6YCgXG4gKlxuICogQHBhcmFtIGtleVxuICovXG5leHBvcnQgZnVuY3Rpb24gbGVhZkNhc2NhZGVyKGtleTogU2luZ2xlU2NoZW1hS2V5KTogVW5zdGFibGVCdWlsZGVyPENhc2NhZGVyQ29udHJvbFNjaGVtYTxTaW5nbGVTY2hlbWFLZXk+LCBLaW5kT3JLZXkgfCAndHJpZ2dlcicgfCAnbWFwcGVyJz4ge1xuICBsZXQgbGlzdDogVHJlZU5vZGU8TnpDYXNjYWRlck9wdGlvbj5bXTtcblxuICByZXR1cm4gY2FzY2FkZXIoa2V5KVxuICAgIC50cmlnZ2VyKCdob3ZlcicpXG4gICAgLm1hcHBlcih7XG4gICAgICBwYXJzZXI6ICh2YWx1ZTogTnpDYXNjYWRlck9wdGlvblsndmFsdWUnXSB8IG51bGwsIHNjaGVtYSkgPT4ge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAvLyDlpoLmnpzovpPlhaXnmoTmmK/lj7blrZDoioLngrnvvIzmiJHku6zpnIDopoHovazkuLogW+eItuiKgueCuSwgLi4uLCDlj7blrZDoioLngrldXG4gICAgICAgIGxpc3QgPz89IHRyZWUybGlzdCgoc2NoZW1hIGFzIENhc2NhZGVyQ29udHJvbFNjaGVtYSkub3B0aW9ucyBhcyBUcmVlTm9kZTxOekNhc2NhZGVyT3B0aW9uPltdKTtcbiAgICAgICAgLy8g5om+5Yiw6YCJ5Lit55qE5Y+25a2Q6IqC54K5XG4gICAgICAgIGxldCBub2RlID0gbGlzdC5maW5kKG5vZGUgPT4gbm9kZS52YWx1ZSA9PT0gdmFsdWUgJiYgKCFub2RlLmNoaWxkcmVuIHx8IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSk7XG5cbiAgICAgICAgY29uc3QgbGV2ZWxzID0gW107XG5cbiAgICAgICAgd2hpbGUgKG5vZGUpIHtcbiAgICAgICAgICBsZXZlbHMudW5zaGlmdChub2RlLnZhbHVlKTtcbiAgICAgICAgICBub2RlID0gbm9kZS5wYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbGV2ZWxzO1xuICAgICAgfSxcbiAgICAgIGZvcm1hdHRlcjogdmFsdWUgPT4ge1xuICAgICAgICAvLyDovpPlh7rnmoTmmK/oioLngrnmlbDnu4TvvIzmiJHku6zlj6ropoHlj7blrZDoioLngrlcbiAgICAgICAgcmV0dXJuIHZhbHVlPy5bdmFsdWUubGVuZ3RoIC0gMV07XG4gICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lUGlja2VyKGtleTogc3RyaW5nLCBmb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbScpOiBVbnN0YWJsZUJ1aWxkZXI8RGF0ZVBpY2tlckNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICd0aW1lJyB8ICdmb3JtYXQnPiB7XG4gIHJldHVybiBkYXRlUGlja2VyKGtleSlcbiAgICAudGltZSh7IG56Rm9ybWF0OiAnSEg6bW0nIH0pXG4gICAgLmZvcm1hdChmb3JtYXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZXRpbWVSYW5nZVBpY2tlcihrZXk6IFNjaGVtYUtleSwgZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW0nKTogVW5zdGFibGVCdWlsZGVyPERhdGVSYW5nZVBpY2tlckNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICd0aW1lJyB8ICdmb3JtYXQnPiB7XG4gIHJldHVybiBkYXRlUmFuZ2VQaWNrZXIoa2V5KVxuICAgIC50aW1lKHsgbnpGb3JtYXQ6ICdISDptbScgfSlcbiAgICAuZm9ybWF0KGZvcm1hdCk7XG59XG4iXX0=","import { form, headless } from '@fluent-form/core';\n/**\n * 实体表单\n *\n * 内置了一个 Headless ID 控件图示:`headless('id')`\n */\nexport function entityForm(composeFn) {\n return form(() => {\n headless('id');\n composeFn();\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEyQixJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHNUU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsU0FBMEI7SUFDbkQsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUdyb3VwU2NoZW1hLCBmb3JtLCBoZWFkbGVzcyB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbi8qKlxuICog5a6e5L2T6KGo5Y2VXG4gKlxuICog5YaF572u5LqG5LiA5LiqIEhlYWRsZXNzIElEIOaOp+S7tuWbvuekuu+8mmBoZWFkbGVzcygnaWQnKWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eUZvcm0oY29tcG9zZUZuOiAoKSA9PiBOelNhZmVBbnkpOiBTaWduYWw8QWJzdHJhY3RGb3JtR3JvdXBTY2hlbWE+IHtcbiAgcmV0dXJuIGZvcm0oKCkgPT4ge1xuICAgIGhlYWRsZXNzKCdpZCcpO1xuICAgIGNvbXBvc2VGbigpO1xuICB9KTtcbn1cbiJdfQ==","import { SchemaType } from '@fluent-form/core';\nfunction parseLabel(label) {\n if (typeof label === 'string') {\n // # 开头的是自定义模板\n if (label.startsWith('#')) {\n return '此字段';\n }\n return label;\n }\n return label.content ?? '';\n}\nfunction autoPlaceholder(schema, action) {\n const label = schema['label'];\n if (label && typeof label !== 'function') {\n schema['placeholder'] ??= action + parseLabel(label);\n }\n return schema;\n}\n/**\n * 为文本框字段自动添加 placeholder\n */\nexport function useAutoPlaceholderPatchers() {\n return [\n {\n selector: ['text-field', 'number-field'],\n patch: schema => autoPlaceholder(schema, '请输入')\n },\n {\n selector: 'text-area',\n patch: schema => autoPlaceholder(schema, '请填写')\n },\n {\n selector: ['date-picker', 'time-picker', 'select', 'cascader', 'tree-select'],\n patch: schema => autoPlaceholder(schema, '请选择')\n }\n ];\n}\n/**\n * 1. 自动为非必填字段添加清除按钮\n * 2. 为选择器添加搜索功能\n */\nexport function useImprovedPickerPatchers() {\n return [\n {\n selector: ['date-picker', 'date-range-picker', 'time-picker', 'select', 'cascader', 'tree-select'],\n patch: schema => {\n if (!schema['required']) {\n schema['clearable'] ??= true;\n }\n return schema;\n }\n },\n {\n selector: ['select', 'cascader', 'tree-select'],\n patch: schema => {\n schema['searchable'] ??= true;\n return schema;\n }\n }\n ];\n}\nexport function useValidationTipsPatchers() {\n return {\n selector: SchemaType.Control,\n patch: schema => {\n schema['tips'] ??= {};\n schema['tips'].auto = {\n default: {\n min: '输入数值过小',\n max: '输入数值过大',\n minlength: '输入内容过短',\n maxlength: '输入内容过长',\n email: '请输入正确的邮箱地址',\n pattern: '输入内容格式不正确',\n required: '请先填写' + (schema['label'] ? parseLabel(schema['label']) : '此字段')\n }\n };\n return schema;\n }\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9wYXRjaGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlELFNBQVMsVUFBVSxDQUFDLEtBQXFCO0lBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsY0FBYztRQUNkLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE1BQWtDLEVBQUUsTUFBYztJQUN6RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEMsTUFBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNoRDtRQUNEO1lBQ0UsUUFBUSxFQUFFLFdBQVc7WUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDaEQ7UUFDRDtZQUNFLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDN0UsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDaEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQztZQUNsRyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUN4QixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDO2dCQUMvQixDQUFDO2dCQUVELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDL0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNkLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7Z0JBRTlCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPO1FBQ0wsUUFBUSxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBQzVCLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksR0FBRztnQkFDcEIsT0FBTyxFQUFFO29CQUNQLEdBQUcsRUFBRSxRQUFRO29CQUNiLEdBQUcsRUFBRSxRQUFRO29CQUNiLFNBQVMsRUFBRSxRQUFRO29CQUNuQixTQUFTLEVBQUUsUUFBUTtvQkFDbkIsS0FBSyxFQUFFLFlBQVk7b0JBQ25CLE9BQU8sRUFBRSxXQUFXO29CQUNwQixRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDM0U7YUFDRixDQUFBO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NoZW1hUGF0Y2hlciwgU2NoZW1hVHlwZSB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Wm9ycm9Db250cm9sU2NoZW1hLCBMYWJlbCB9IGZyb20gJ0BmbHVlbnQtZm9ybS91aS16b3Jybyc7XG5cbmZ1bmN0aW9uIHBhcnNlTGFiZWwobGFiZWw6IHN0cmluZyB8IExhYmVsKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyAjIOW8gOWktOeahOaYr+iHquWumuS5ieaooeadv1xuICAgIGlmIChsYWJlbC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHJldHVybiAn5q2k5a2X5q61J1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICByZXR1cm4gbGFiZWwuY29udGVudCA/PyAnJztcbn1cblxuZnVuY3Rpb24gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYTogQWJzdHJhY3Rab3Jyb0NvbnRyb2xTY2hlbWEsIGFjdGlvbjogc3RyaW5nKSB7XG4gIGNvbnN0IGxhYmVsID0gc2NoZW1hWydsYWJlbCddO1xuXG4gIGlmIChsYWJlbCAmJiB0eXBlb2YgbGFiZWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAoc2NoZW1hIGFzIGFueSlbJ3BsYWNlaG9sZGVyJ10gPz89IGFjdGlvbiArIHBhcnNlTGFiZWwobGFiZWwpO1xuICB9XG5cbiAgcmV0dXJuIHNjaGVtYTtcbn1cblxuLyoqXG4gKiDkuLrmlofmnKzmoYblrZfmrrXoh6rliqjmt7vliqAgcGxhY2Vob2xkZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUF1dG9QbGFjZWhvbGRlclBhdGNoZXJzKCk6IFNjaGVtYVBhdGNoZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgc2VsZWN0b3I6IFsndGV4dC1maWVsZCcsICdudW1iZXItZmllbGQnXSxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYSwgJ+ivt+i+k+WFpScpXG4gICAgfSxcbiAgICB7XG4gICAgICBzZWxlY3RvcjogJ3RleHQtYXJlYScsXG4gICAgICBwYXRjaDogc2NoZW1hID0+IGF1dG9QbGFjZWhvbGRlcihzY2hlbWEsICfor7floavlhpknKVxuICAgIH0sXG4gICAge1xuICAgICAgc2VsZWN0b3I6IFsnZGF0ZS1waWNrZXInLCAndGltZS1waWNrZXInLCAnc2VsZWN0JywgJ2Nhc2NhZGVyJywgJ3RyZWUtc2VsZWN0J10sXG4gICAgICBwYXRjaDogc2NoZW1hID0+IGF1dG9QbGFjZWhvbGRlcihzY2hlbWEsICfor7fpgInmi6knKVxuICAgIH1cbiAgXTtcbn1cblxuLyoqXG4gKiAxLiDoh6rliqjkuLrpnZ7lv4XloavlrZfmrrXmt7vliqDmuIXpmaTmjInpkq5cbiAqIDIuIOS4uumAieaLqeWZqOa3u+WKoOaQnOe0ouWKn+iDvVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSW1wcm92ZWRQaWNrZXJQYXRjaGVycygpOiBTY2hlbWFQYXRjaGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHNlbGVjdG9yOiBbJ2RhdGUtcGlja2VyJywgJ2RhdGUtcmFuZ2UtcGlja2VyJywgJ3RpbWUtcGlja2VyJywgJ3NlbGVjdCcsICdjYXNjYWRlcicsICd0cmVlLXNlbGVjdCddLFxuICAgICAgcGF0Y2g6IHNjaGVtYSA9PiB7XG4gICAgICAgIGlmICghc2NoZW1hWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgc2NoZW1hWydjbGVhcmFibGUnXSA/Pz0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBzZWxlY3RvcjogWydzZWxlY3QnLCAnY2FzY2FkZXInLCAndHJlZS1zZWxlY3QnXSxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4ge1xuICAgICAgICBzY2hlbWFbJ3NlYXJjaGFibGUnXSA/Pz0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gc2NoZW1hO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVZhbGlkYXRpb25UaXBzUGF0Y2hlcnMoKTogU2NoZW1hUGF0Y2hlciB7XG4gIHJldHVybiB7XG4gICAgc2VsZWN0b3I6IFNjaGVtYVR5cGUuQ29udHJvbCxcbiAgICBwYXRjaDogc2NoZW1hID0+IHtcbiAgICAgIHNjaGVtYVsndGlwcyddID8/PSB7fVxuICAgICAgc2NoZW1hWyd0aXBzJ10uYXV0byA9IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIG1pbjogJ+i+k+WFpeaVsOWAvOi/h+WwjycsXG4gICAgICAgICAgbWF4OiAn6L6T5YWl5pWw5YC86L+H5aSnJyxcbiAgICAgICAgICBtaW5sZW5ndGg6ICfovpPlhaXlhoXlrrnov4fnn60nLFxuICAgICAgICAgIG1heGxlbmd0aDogJ+i+k+WFpeWGheWuuei/h+mVvycsXG4gICAgICAgICAgZW1haWw6ICfor7fovpPlhaXmraPnoa7nmoTpgq7nrrHlnLDlnYAnLFxuICAgICAgICAgIHBhdHRlcm46ICfovpPlhaXlhoXlrrnmoLzlvI/kuI3mraPnoa4nLFxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+35YWI5aGr5YaZJyArIChzY2hlbWFbJ2xhYmVsJ10gPyBwYXJzZUxhYmVsKHNjaGVtYVsnbGFiZWwnXSkgOiAn5q2k5a2X5q61JylcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHNjaGVtYTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1mbHVlbnQtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL3NvbGFyLWFuZ3VsYXItdWktem9ycm8tZmx1ZW50LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solar-angular-ui-zorro-fluent-form.mjs","sources":["../tmp-esm2022/fluent-form/components.js","../tmp-esm2022/fluent-form/helper.js","../tmp-esm2022/fluent-form/controls.js","../tmp-esm2022/fluent-form/form.js","../tmp-esm2022/fluent-form/patchers.js","../tmp-esm2022/fluent-form/solar-angular-ui-zorro-fluent-form.js"],"sourcesContent":["import { FormArray, FormGroup } from '@angular/forms';\nimport { button } from '@fluent-form/ui-zorro';\nexport function searchButton() {\n return button().icon('search').content('查询').type('primary');\n}\nexport function addButton() {\n return button().icon('plus').content('新增').type('primary').mode('button');\n}\nexport function submitButton() {\n return button()\n .content('提交')\n .type('primary')\n .variants({ block: true })\n .listeners({\n click: (event, context) => {\n const rootForm = context.control;\n updateValidityEach(rootForm);\n if (rootForm.invalid) {\n event.preventDefault();\n }\n }\n });\n}\n/**\n * Alias of {@link submitButton}\n */\nexport const saveButton = submitButton;\nfunction updateValidityEach(form) {\n for (const control of Object.values(form.controls)) {\n if (control instanceof FormGroup || control instanceof FormArray) {\n updateValidityEach(control);\n }\n else {\n if (control.invalid) {\n control.markAsDirty();\n control.updateValueAndValidity({ onlySelf: true });\n }\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsTUFBTSxFQUF5QixNQUFNLHVCQUF1QixDQUFDO0FBR3RFLE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPLE1BQU0sRUFBRTtTQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDYixJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ2YsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3pCLFNBQVMsQ0FBQztRQUNULEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBb0IsQ0FBQTtZQUM3QyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUM1QixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQUV2QyxTQUFTLGtCQUFrQixDQUFDLElBQTJCO0lBQ3JELEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNuRCxJQUFJLE9BQU8sWUFBWSxTQUFTLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRSxDQUFDO1lBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVW5zdGFibGVCdWlsZGVyIH0gZnJvbSAnQGZsdWVudC1mb3JtL2NvcmUnO1xuaW1wb3J0IHsgYnV0dG9uLCBCdXR0b25Db21wb25lbnRTY2hlbWEgfSBmcm9tICdAZmx1ZW50LWZvcm0vdWktem9ycm8nO1xuaW1wb3J0IHsgS2luZE9yS2V5IH0gZnJvbSAnLi90eXBpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoQnV0dG9uKCk6IFVuc3RhYmxlQnVpbGRlcjxCdXR0b25Db21wb25lbnRTY2hlbWEsIEtpbmRPcktleSB8ICdpY29uJyB8ICdjb250ZW50JyB8ICd0eXBlJz4ge1xuICByZXR1cm4gYnV0dG9uKCkuaWNvbignc2VhcmNoJykuY29udGVudCgn5p+l6K+iJykudHlwZSgncHJpbWFyeScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQnV0dG9uKCk6IFVuc3RhYmxlQnVpbGRlcjxCdXR0b25Db21wb25lbnRTY2hlbWEsIEtpbmRPcktleSB8ICdpY29uJyB8ICdjb250ZW50JyB8ICd0eXBlJyB8ICdtb2RlJz4ge1xuICByZXR1cm4gYnV0dG9uKCkuaWNvbigncGx1cycpLmNvbnRlbnQoJ+aWsOWinicpLnR5cGUoJ3ByaW1hcnknKS5tb2RlKCdidXR0b24nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1Ym1pdEJ1dHRvbigpOiBVbnN0YWJsZUJ1aWxkZXI8QnV0dG9uQ29tcG9uZW50U2NoZW1hLCBLaW5kT3JLZXkgfCAnY29udGVudCcgfCAndHlwZScgfCAndmFyaWFudHMnIHwgJ2xpc3RlbmVycyc+IHtcbiAgcmV0dXJuIGJ1dHRvbigpXG4gICAgLmNvbnRlbnQoJ+aPkOS6pCcpXG4gICAgLnR5cGUoJ3ByaW1hcnknKVxuICAgIC52YXJpYW50cyh7IGJsb2NrOiB0cnVlIH0pXG4gICAgLmxpc3RlbmVycyh7XG4gICAgICBjbGljazogKGV2ZW50LCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3RGb3JtID0gY29udGV4dC5jb250cm9sIGFzIEZvcm1Hcm91cFxuICAgICAgICB1cGRhdGVWYWxpZGl0eUVhY2gocm9vdEZvcm0pXG4gICAgICAgIGlmIChyb290Rm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbn1cblxuLyoqXG4gKiBBbGlhcyBvZiB7QGxpbmsgc3VibWl0QnV0dG9ufVxuICovXG5leHBvcnQgY29uc3Qgc2F2ZUJ1dHRvbiA9IHN1Ym1pdEJ1dHRvbjtcblxuZnVuY3Rpb24gdXBkYXRlVmFsaWRpdHlFYWNoKGZvcm06IEZvcm1Hcm91cCB8IEZvcm1BcnJheSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IGNvbnRyb2wgb2YgT2JqZWN0LnZhbHVlcyhmb3JtLmNvbnRyb2xzKSkge1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgIHVwZGF0ZVZhbGlkaXR5RWFjaChjb250cm9sKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19","export function entityToOption(entity) {\n return { label: entity.fullName, value: entity.id, ...entity };\n}\nexport function entitiesToOptions(entities) {\n return entities.map(entity => entityToOption(entity));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vZmx1ZW50LWZvcm0vaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sVUFBVSxjQUFjLENBQXNELE1BQVM7SUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBc0QsUUFBYTtJQUNsRyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9PcHRpb248VCBleHRlbmRzIHsgaWQ6IHN0cmluZyB8IG51bWJlciwgZnVsbE5hbWU6IHN0cmluZyB9PihlbnRpdHk6IFQpIHtcbiAgcmV0dXJuIHsgbGFiZWw6IGVudGl0eS5mdWxsTmFtZSwgdmFsdWU6IGVudGl0eS5pZCwgLi4uZW50aXR5IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnRpdGllc1RvT3B0aW9uczxUIGV4dGVuZHMgeyBpZDogc3RyaW5nIHwgbnVtYmVyLCBmdWxsTmFtZTogc3RyaW5nIH0+KGVudGl0aWVzOiBUW10pIHtcbiAgcmV0dXJuIGVudGl0aWVzLm1hcChlbnRpdHkgPT4gZW50aXR5VG9PcHRpb24oZW50aXR5KSk7XG59XG4iXX0=","import { cascader, datePicker, dateRangePicker, numberField, radioGroup, textField, toggle } from '@fluent-form/ui-zorro';\nimport { levels2tree, toTreeNode, tree2list } from '@solar-kit/core';\nimport { formatWeight, parseWeight } from '@solar-kit/planets/earth';\nimport { entitiesToOptions } from './helper';\nexport function cellphoneField(key = 'cellphone', length = 11) {\n return textField(key).type('tel').length(length);\n}\nexport function integerField(key) {\n return numberField(key).precision(0);\n}\nexport function enabledToggle(key = 'enabled', defaultValue = true) {\n return toggle(key).placeholder(['有效', '无效']).defaultValue(defaultValue);\n}\nexport function finishedToggle(key = 'finished', defaultValue = false) {\n return toggle(key).placeholder(['已完成', '未完成']).defaultValue(defaultValue);\n}\nexport function genderRadioGroup(key = 'gender') {\n return radioGroup(key).options([\n { label: '女', value: 0 /* Gender.Woman */ },\n { label: '男', value: 1 /* Gender.Man */ }\n ]);\n}\nexport function categoryCascader(key, channels, categories) {\n return leafCascader(key).options(levels2tree([\n entitiesToOptions(channels),\n entitiesToOptions(categories).map(o => toTreeNode(o, { parentId: 'channel' }))\n ]));\n}\n/**\n * 叶子节点级联选择器\n *\n * options 选项可以使用 `list2tree()` 或 `levels2tree()` 来构造\n *\n * @param key\n */\nexport function leafCascader(key) {\n let list;\n return cascader(key)\n .trigger('hover')\n .mapper({\n parser: (value, schema) => {\n if (!value)\n return null;\n // 如果输入的是叶子节点,我们需要转为 [父节点, ..., 叶子节点]\n list ??= tree2list(schema.options);\n // 找到选中的叶子节点\n let node = list.find(node => node.value === value && (!node.children || node.children.length === 0));\n const levels = [];\n while (node) {\n levels.unshift(node.value);\n node = node.parent;\n }\n return levels;\n },\n formatter: value => {\n // 输出的是节点数组,我们只要叶子节点\n return value?.[value.length - 1];\n }\n });\n}\nexport function datetimePicker(key, format = 'yyyy-MM-dd HH:mm') {\n return datePicker(key)\n .time({ nzFormat: 'HH:mm' })\n .format(format);\n}\nexport function datetimeRangePicker(key, format = 'yyyy-MM-dd HH:mm') {\n return dateRangePicker(key)\n .time({ nzFormat: 'HH:mm' })\n .format(format);\n}\n/**\n * 输入各种重量,输出克数\n * @param key\n * @param unit\n */\nexport function weightField(key, unit) {\n return numberField(key)\n .affixes({ suffix: unit.fullName })\n .mapper({\n parser: (value) => value === null ? null : formatWeight(value, unit.id),\n formatter: (value) => value === null ? null : parseWeight(value, unit.id)\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9jb250cm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdMLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hTLE9BQU8sRUFBWSxXQUFXLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9FLE9BQU8sRUFBMkIsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUc3QyxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQUcsR0FBRyxXQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUU7SUFDM0QsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFvQjtJQUMvQyxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBdUIsU0FBUyxFQUFFLFlBQVksR0FBRyxJQUFJO0lBQ2pGLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUF1QixVQUFVLEVBQUUsWUFBWSxHQUFHLEtBQUs7SUFDcEYs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QUUsSUFBVTtJQUMxRCxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUM7U0FDcEIsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNsQyxNQUFNLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0RixTQUFTLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztLQUN6RixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NoZW1hS2V5LCBTaW5nbGVTY2hlbWFLZXksIFVuc3RhYmxlQnVpbGRlciB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IENhc2NhZGVyQ29udHJvbFNjaGVtYSwgRGF0ZVBpY2tlckNvbnRyb2xTY2hlbWEsIERhdGVSYW5nZVBpY2tlckNvbnRyb2xTY2hlbWEsIE51bWJlckZpZWxkQ29udHJvbFNjaGVtYSwgUmFkaW9Hcm91cENvbnRyb2xTY2hlbWEsIFRleHRGaWVsZENvbnRyb2xTY2hlbWEsIFRvZ2dsZUNvbnRyb2xTY2hlbWEsIGNhc2NhZGVyLCBkYXRlUGlja2VyLCBkYXRlUmFuZ2VQaWNrZXIsIG51bWJlckZpZWxkLCByYWRpb0dyb3VwLCB0ZXh0RmllbGQsIHRvZ2dsZSB9IGZyb20gJ0BmbHVlbnQtZm9ybS91aS16b3Jybyc7XG5pbXBvcnQgeyBUcmVlTm9kZSwgbGV2ZWxzMnRyZWUsIHRvVHJlZU5vZGUsIHRyZWUybGlzdCB9IGZyb20gJ0Bzb2xhci1raXQvY29yZSc7XG5pbXBvcnQgeyBDYXRlZ29yeSwgQ2hhbm5lbCwgVW5pdCwgZm9ybWF0V2VpZ2h0LCBwYXJzZVdlaWdodCB9IGZyb20gJ0Bzb2xhci1raXQvcGxhbmV0cy9lYXJ0aCc7XG5pbXBvcnQgeyBHZW5kZXIgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvc3VuJztcbmltcG9ydCB7IE56Q2FzY2FkZXJPcHRpb24gfSBmcm9tICduZy16b3Jyby1hbnRkL2Nhc2NhZGVyJztcbmltcG9ydCB7IGVudGl0aWVzVG9PcHRpb25zIH0gZnJvbSAnLi9oZWxwZXInO1xuaW1wb3J0IHsgS2luZE9yS2V5IH0gZnJvbSAnLi90eXBpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2VsbHBob25lRmllbGQoa2V5ID0gJ2NlbGxwaG9uZScsIGxlbmd0aCA9IDExKTogVW5zdGFibGVCdWlsZGVyPFRleHRGaWVsZENvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICd0eXBlJyB8ICdsZW5ndGgnPiB7XG4gIHJldHVybiB0ZXh0RmllbGQoa2V5KS50eXBlKCd0ZWwnKS5sZW5ndGgobGVuZ3RoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVnZXJGaWVsZChrZXk6IFNpbmdsZVNjaGVtYUtleSk6IFVuc3RhYmxlQnVpbGRlcjxOdW1iZXJGaWVsZENvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICdwcmVjaXNpb24nPiB7XG4gIHJldHVybiBudW1iZXJGaWVsZChrZXkpLnByZWNpc2lvbigwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZWRUb2dnbGUoa2V5OiBTaW5nbGVTY2hlbWFLZXkgPSAnZW5hYmxlZCcsIGRlZmF1bHRWYWx1ZSA9IHRydWUpOiBVbnN0YWJsZUJ1aWxkZXI8VG9nZ2xlQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ3BsYWNlaG9sZGVyJyB8ICdkZWZhdWx0VmFsdWUnPiB7XG4gIHJldHVybiB0b2dnbGUoa2V5KS5wbGFjZWhvbGRlcihbJ+acieaViCcsICfml6DmlYgnXSkuZGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5pc2hlZFRvZ2dsZShrZXk6IFNpbmdsZVNjaGVtYUtleSA9ICdmaW5pc2hlZCcsIGRlZmF1bHRWYWx1ZSA9IGZhbHNlKTogVW5zdGFibGVCdWlsZGVyPFRvZ2dsZUNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICdwbGFjZWhvbGRlcicgfCAnZGVmYXVsdFZhbHVlJz4ge1xuICByZXR1cm4gdG9nZ2xlKGtleSkucGxhY2Vob2xkZXIoWyflt7LlrozmiJAnLCAn5pyq5a6M5oiQJ10pLmRlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZGVyUmFkaW9Hcm91cChrZXkgPSAnZ2VuZGVyJyk6IFVuc3RhYmxlQnVpbGRlcjxSYWRpb0dyb3VwQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ29wdGlvbnMnPiB7XG4gIHJldHVybiByYWRpb0dyb3VwKGtleSkub3B0aW9ucyhbXG4gICAgeyBsYWJlbDogJ+WlsycsIHZhbHVlOiBHZW5kZXIuV29tYW4gfSxcbiAgICB7IGxhYmVsOiAn55S3JywgdmFsdWU6IEdlbmRlci5NYW4gfVxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3J5Q2FzY2FkZXIoa2V5OiBTaW5nbGVTY2hlbWFLZXksIGNoYW5uZWxzOiBDaGFubmVsW10sIGNhdGVnb3JpZXM6IENhdGVnb3J5W10pOiBVbnN0YWJsZUJ1aWxkZXI8Q2FzY2FkZXJDb250cm9sU2NoZW1hPFNpbmdsZVNjaGVtYUtleT4sIEtpbmRPcktleSB8ICdvcHRpb25zJyB8ICd0cmlnZ2VyJyB8ICdtYXBwZXInPiB7XG4gIHJldHVybiBsZWFmQ2FzY2FkZXIoa2V5KS5vcHRpb25zKFxuICAgIGxldmVsczJ0cmVlKFtcbiAgICAgIGVudGl0aWVzVG9PcHRpb25zKGNoYW5uZWxzKSxcbiAgICAgIGVudGl0aWVzVG9PcHRpb25zKGNhdGVnb3JpZXMpLm1hcChvID0+IHRvVHJlZU5vZGUobywgeyBwYXJlbnRJZDogJ2NoYW5uZWwnIH0pKVxuICAgIF0pXG4gICk7XG59XG5cbi8qKlxuICog5Y+25a2Q6IqC54K557qn6IGU6YCJ5oup5ZmoXG4gKlxuICogb3B0aW9ucyDpgInpobnlj6/ku6Xkvb/nlKggYGxpc3QydHJlZSgpYCDmiJYgYGxldmVsczJ0cmVlKClgIOadpeaehOmAoFxuICpcbiAqIEBwYXJhbSBrZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxlYWZDYXNjYWRlcihrZXk6IFNpbmdsZVNjaGVtYUtleSk6IFVuc3RhYmxlQnVpbGRlcjxDYXNjYWRlckNvbnRyb2xTY2hlbWE8U2luZ2xlU2NoZW1hS2V5PiwgS2luZE9yS2V5IHwgJ3RyaWdnZXInIHwgJ21hcHBlcic+IHtcbiAgbGV0IGxpc3Q6IFRyZWVOb2RlPE56Q2FzY2FkZXJPcHRpb24+W107XG5cbiAgcmV0dXJuIGNhc2NhZGVyKGtleSlcbiAgICAudHJpZ2dlcignaG92ZXInKVxuICAgIC5tYXBwZXIoe1xuICAgICAgcGFyc2VyOiAodmFsdWU6IE56Q2FzY2FkZXJPcHRpb25bJ3ZhbHVlJ10gfCBudWxsLCBzY2hlbWEpID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgLy8g5aaC5p6c6L6T5YWl55qE5piv5Y+25a2Q6IqC54K577yM5oiR5Lus6ZyA6KaB6L2s5Li6IFvniLboioLngrksIC4uLiwg5Y+25a2Q6IqC54K5XVxuICAgICAgICBsaXN0ID8/PSB0cmVlMmxpc3QoKHNjaGVtYSBhcyBDYXNjYWRlckNvbnRyb2xTY2hlbWEpLm9wdGlvbnMgYXMgVHJlZU5vZGU8TnpDYXNjYWRlck9wdGlvbj5bXSk7XG4gICAgICAgIC8vIOaJvuWIsOmAieS4reeahOWPtuWtkOiKgueCuVxuICAgICAgICBsZXQgbm9kZSA9IGxpc3QuZmluZChub2RlID0+IG5vZGUudmFsdWUgPT09IHZhbHVlICYmICghbm9kZS5jaGlsZHJlbiB8fCBub2RlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkpO1xuXG4gICAgICAgIGNvbnN0IGxldmVscyA9IFtdO1xuXG4gICAgICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgICAgbGV2ZWxzLnVuc2hpZnQobm9kZS52YWx1ZSk7XG4gICAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxldmVscztcbiAgICAgIH0sXG4gICAgICBmb3JtYXR0ZXI6IHZhbHVlID0+IHtcbiAgICAgICAgLy8g6L6T5Ye655qE5piv6IqC54K55pWw57uE77yM5oiR5Lus5Y+q6KaB5Y+25a2Q6IqC54K5XG4gICAgICAgIHJldHVybiB2YWx1ZT8uW3ZhbHVlLmxlbmd0aCAtIDFdO1xuICAgICAgfVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRldGltZVBpY2tlcihrZXk6IHN0cmluZywgZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW0nKTogVW5zdGFibGVCdWlsZGVyPERhdGVQaWNrZXJDb250cm9sU2NoZW1hLCBLaW5kT3JLZXkgfCAndGltZScgfCAnZm9ybWF0Jz4ge1xuICByZXR1cm4gZGF0ZVBpY2tlcihrZXkpXG4gICAgLnRpbWUoeyBuekZvcm1hdDogJ0hIOm1tJyB9KVxuICAgIC5mb3JtYXQoZm9ybWF0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lUmFuZ2VQaWNrZXIoa2V5OiBTY2hlbWFLZXksIGZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIOm1tJyk6IFVuc3RhYmxlQnVpbGRlcjxEYXRlUmFuZ2VQaWNrZXJDb250cm9sU2NoZW1hLCBLaW5kT3JLZXkgfCAndGltZScgfCAnZm9ybWF0Jz4ge1xuICByZXR1cm4gZGF0ZVJhbmdlUGlja2VyKGtleSlcbiAgICAudGltZSh7IG56Rm9ybWF0OiAnSEg6bW0nIH0pXG4gICAgLmZvcm1hdChmb3JtYXQpO1xufVxuXG4vKipcbiAqIOi+k+WFpeWQhOenjemHjemHj++8jOi+k+WHuuWFi+aVsFxuICogQHBhcmFtIGtleVxuICogQHBhcmFtIHVuaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdlaWdodEZpZWxkKGtleTogU2luZ2xlU2NoZW1hS2V5LCB1bml0OiBVbml0KSB7XG4gIHJldHVybiBudW1iZXJGaWVsZChrZXkpXG4gICAgLmFmZml4ZXMoeyBzdWZmaXg6IHVuaXQuZnVsbE5hbWUgfSlcbiAgICAubWFwcGVyKHtcbiAgICAgIHBhcnNlcjogKHZhbHVlOiBudW1iZXIgfCBudWxsKSA9PiB2YWx1ZSA9PT0gbnVsbCA/IG51bGwgOiBmb3JtYXRXZWlnaHQodmFsdWUsIHVuaXQuaWQpLFxuICAgICAgZm9ybWF0dGVyOiAodmFsdWU6IG51bWJlciB8IG51bGwpID0+IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHBhcnNlV2VpZ2h0KHZhbHVlLCB1bml0LmlkKVxuICAgIH0pO1xufVxuIl19","import { form, headless } from '@fluent-form/core';\n/**\n * 实体表单\n *\n * 内置了一个 Headless ID 控件图示:`headless('id')`\n */\nexport function entityForm(composeFn) {\n return form(() => {\n headless('id');\n composeFn();\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEyQixJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHNUU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsU0FBMEI7SUFDbkQsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUdyb3VwU2NoZW1hLCBmb3JtLCBoZWFkbGVzcyB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbi8qKlxuICog5a6e5L2T6KGo5Y2VXG4gKlxuICog5YaF572u5LqG5LiA5LiqIEhlYWRsZXNzIElEIOaOp+S7tuWbvuekuu+8mmBoZWFkbGVzcygnaWQnKWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eUZvcm0oY29tcG9zZUZuOiAoKSA9PiBOelNhZmVBbnkpOiBTaWduYWw8QWJzdHJhY3RGb3JtR3JvdXBTY2hlbWE+IHtcbiAgcmV0dXJuIGZvcm0oKCkgPT4ge1xuICAgIGhlYWRsZXNzKCdpZCcpO1xuICAgIGNvbXBvc2VGbigpO1xuICB9KTtcbn1cbiJdfQ==","import { SchemaType } from '@fluent-form/core';\nfunction parseLabel(label) {\n if (typeof label === 'string') {\n // # 开头的是自定义模板\n if (label.startsWith('#')) {\n return '此字段';\n }\n return label;\n }\n return label.content ?? '';\n}\nfunction autoPlaceholder(schema, action) {\n const label = schema['label'];\n if (label && typeof label !== 'function') {\n schema['placeholder'] ??= action + parseLabel(label);\n }\n return schema;\n}\n/**\n * 为文本框字段自动添加 placeholder\n */\nexport function useAutoPlaceholderPatchers() {\n return [\n {\n selector: ['text-field', 'number-field'],\n patch: schema => autoPlaceholder(schema, '请输入')\n },\n {\n selector: 'text-area',\n patch: schema => autoPlaceholder(schema, '请填写')\n },\n {\n selector: ['date-picker', 'time-picker', 'select', 'cascader', 'tree-select'],\n patch: schema => autoPlaceholder(schema, '请选择')\n }\n ];\n}\n/**\n * 1. 自动为非必填字段添加清除按钮\n * 2. 为选择器添加搜索功能\n */\nexport function useImprovedPickerPatchers() {\n return [\n {\n selector: ['date-picker', 'date-range-picker', 'time-picker', 'select', 'cascader', 'tree-select'],\n patch: schema => {\n if (!schema['required']) {\n schema['clearable'] ??= true;\n }\n return schema;\n }\n },\n {\n selector: ['select', 'cascader', 'tree-select'],\n patch: schema => {\n schema['searchable'] ??= true;\n return schema;\n }\n }\n ];\n}\nexport function useValidationTipsPatchers() {\n return {\n selector: SchemaType.Control,\n patch: schema => {\n schema['tips'] ??= {};\n schema['tips'].auto = {\n default: {\n min: '输入数值过小',\n max: '输入数值过大',\n minlength: '输入内容过短',\n maxlength: '输入内容过长',\n email: '请输入正确的邮箱地址',\n pattern: '输入内容格式不正确',\n required: '请先填写' + (schema['label'] ? parseLabel(schema['label']) : '此字段')\n }\n };\n return schema;\n }\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9wYXRjaGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlELFNBQVMsVUFBVSxDQUFDLEtBQXFCO0lBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsY0FBYztRQUNkLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE1BQWtDLEVBQUUsTUFBYztJQUN6RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEMsTUFBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNoRDtRQUNEO1lBQ0UsUUFBUSxFQUFFLFdBQVc7WUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDaEQ7UUFDRDtZQUNFLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDN0UsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDaEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQztZQUNsRyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUN4QixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDO2dCQUMvQixDQUFDO2dCQUVELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDL0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNkLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7Z0JBRTlCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPO1FBQ0wsUUFBUSxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBQzVCLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksR0FBRztnQkFDcEIsT0FBTyxFQUFFO29CQUNQLEdBQUcsRUFBRSxRQUFRO29CQUNiLEdBQUcsRUFBRSxRQUFRO29CQUNiLFNBQVMsRUFBRSxRQUFRO29CQUNuQixTQUFTLEVBQUUsUUFBUTtvQkFDbkIsS0FBSyxFQUFFLFlBQVk7b0JBQ25CLE9BQU8sRUFBRSxXQUFXO29CQUNwQixRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDM0U7YUFDRixDQUFBO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NoZW1hUGF0Y2hlciwgU2NoZW1hVHlwZSB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Wm9ycm9Db250cm9sU2NoZW1hLCBMYWJlbCB9IGZyb20gJ0BmbHVlbnQtZm9ybS91aS16b3Jybyc7XG5cbmZ1bmN0aW9uIHBhcnNlTGFiZWwobGFiZWw6IHN0cmluZyB8IExhYmVsKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyAjIOW8gOWktOeahOaYr+iHquWumuS5ieaooeadv1xuICAgIGlmIChsYWJlbC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHJldHVybiAn5q2k5a2X5q61J1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICByZXR1cm4gbGFiZWwuY29udGVudCA/PyAnJztcbn1cblxuZnVuY3Rpb24gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYTogQWJzdHJhY3Rab3Jyb0NvbnRyb2xTY2hlbWEsIGFjdGlvbjogc3RyaW5nKSB7XG4gIGNvbnN0IGxhYmVsID0gc2NoZW1hWydsYWJlbCddO1xuXG4gIGlmIChsYWJlbCAmJiB0eXBlb2YgbGFiZWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAoc2NoZW1hIGFzIGFueSlbJ3BsYWNlaG9sZGVyJ10gPz89IGFjdGlvbiArIHBhcnNlTGFiZWwobGFiZWwpO1xuICB9XG5cbiAgcmV0dXJuIHNjaGVtYTtcbn1cblxuLyoqXG4gKiDkuLrmlofmnKzmoYblrZfmrrXoh6rliqjmt7vliqAgcGxhY2Vob2xkZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUF1dG9QbGFjZWhvbGRlclBhdGNoZXJzKCk6IFNjaGVtYVBhdGNoZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgc2VsZWN0b3I6IFsndGV4dC1maWVsZCcsICdudW1iZXItZmllbGQnXSxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYSwgJ+ivt+i+k+WFpScpXG4gICAgfSxcbiAgICB7XG4gICAgICBzZWxlY3RvcjogJ3RleHQtYXJlYScsXG4gICAgICBwYXRjaDogc2NoZW1hID0+IGF1dG9QbGFjZWhvbGRlcihzY2hlbWEsICfor7floavlhpknKVxuICAgIH0sXG4gICAge1xuICAgICAgc2VsZWN0b3I6IFsnZGF0ZS1waWNrZXInLCAndGltZS1waWNrZXInLCAnc2VsZWN0JywgJ2Nhc2NhZGVyJywgJ3RyZWUtc2VsZWN0J10sXG4gICAgICBwYXRjaDogc2NoZW1hID0+IGF1dG9QbGFjZWhvbGRlcihzY2hlbWEsICfor7fpgInmi6knKVxuICAgIH1cbiAgXTtcbn1cblxuLyoqXG4gKiAxLiDoh6rliqjkuLrpnZ7lv4XloavlrZfmrrXmt7vliqDmuIXpmaTmjInpkq5cbiAqIDIuIOS4uumAieaLqeWZqOa3u+WKoOaQnOe0ouWKn+iDvVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSW1wcm92ZWRQaWNrZXJQYXRjaGVycygpOiBTY2hlbWFQYXRjaGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHNlbGVjdG9yOiBbJ2RhdGUtcGlja2VyJywgJ2RhdGUtcmFuZ2UtcGlja2VyJywgJ3RpbWUtcGlja2VyJywgJ3NlbGVjdCcsICdjYXNjYWRlcicsICd0cmVlLXNlbGVjdCddLFxuICAgICAgcGF0Y2g6IHNjaGVtYSA9PiB7XG4gICAgICAgIGlmICghc2NoZW1hWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgc2NoZW1hWydjbGVhcmFibGUnXSA/Pz0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBzZWxlY3RvcjogWydzZWxlY3QnLCAnY2FzY2FkZXInLCAndHJlZS1zZWxlY3QnXSxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4ge1xuICAgICAgICBzY2hlbWFbJ3NlYXJjaGFibGUnXSA/Pz0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gc2NoZW1hO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVZhbGlkYXRpb25UaXBzUGF0Y2hlcnMoKTogU2NoZW1hUGF0Y2hlciB7XG4gIHJldHVybiB7XG4gICAgc2VsZWN0b3I6IFNjaGVtYVR5cGUuQ29udHJvbCxcbiAgICBwYXRjaDogc2NoZW1hID0+IHtcbiAgICAgIHNjaGVtYVsndGlwcyddID8/PSB7fVxuICAgICAgc2NoZW1hWyd0aXBzJ10uYXV0byA9IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIG1pbjogJ+i+k+WFpeaVsOWAvOi/h+WwjycsXG4gICAgICAgICAgbWF4OiAn6L6T5YWl5pWw5YC86L+H5aSnJyxcbiAgICAgICAgICBtaW5sZW5ndGg6ICfovpPlhaXlhoXlrrnov4fnn60nLFxuICAgICAgICAgIG1heGxlbmd0aDogJ+i+k+WFpeWGheWuuei/h+mVvycsXG4gICAgICAgICAgZW1haWw6ICfor7fovpPlhaXmraPnoa7nmoTpgq7nrrHlnLDlnYAnLFxuICAgICAgICAgIHBhdHRlcm46ICfovpPlhaXlhoXlrrnmoLzlvI/kuI3mraPnoa4nLFxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+35YWI5aGr5YaZJyArIChzY2hlbWFbJ2xhYmVsJ10gPyBwYXJzZUxhYmVsKHNjaGVtYVsnbGFiZWwnXSkgOiAn5q2k5a2X5q61JylcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHNjaGVtYTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1mbHVlbnQtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL3NvbGFyLWFuZ3VsYXItdWktem9ycm8tZmx1ZW50LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
package/fluent-form/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import * as _fluent_form_core from '@fluent-form/core';
|
|
1
2
|
import { UnstableBuilder, SingleSchemaKey, SchemaKey, AbstractFormGroupSchema, SchemaPatcher } from '@fluent-form/core';
|
|
2
3
|
import { ButtonComponentSchema, CascaderControlSchema, TextFieldControlSchema, DatePickerControlSchema, DateRangePickerControlSchema, ToggleControlSchema, RadioGroupControlSchema, NumberFieldControlSchema } from '@fluent-form/ui-zorro';
|
|
3
|
-
import { Channel, Category } from '@solar-kit/planets/earth';
|
|
4
|
+
import { Channel, Category, Unit } from '@solar-kit/planets/earth';
|
|
4
5
|
import { Signal } from '@angular/core';
|
|
5
6
|
import { NzSafeAny } from 'ng-zorro-antd/core/types';
|
|
6
7
|
|
|
@@ -30,6 +31,12 @@ declare function categoryCascader(key: SingleSchemaKey, channels: Channel[], cat
|
|
|
30
31
|
declare function leafCascader(key: SingleSchemaKey): UnstableBuilder<CascaderControlSchema<SingleSchemaKey>, KindOrKey | 'trigger' | 'mapper'>;
|
|
31
32
|
declare function datetimePicker(key: string, format?: string): UnstableBuilder<DatePickerControlSchema, KindOrKey | 'time' | 'format'>;
|
|
32
33
|
declare function datetimeRangePicker(key: SchemaKey, format?: string): UnstableBuilder<DateRangePickerControlSchema, KindOrKey | 'time' | 'format'>;
|
|
34
|
+
/**
|
|
35
|
+
* 输入各种重量,输出克数
|
|
36
|
+
* @param key
|
|
37
|
+
* @param unit
|
|
38
|
+
*/
|
|
39
|
+
declare function weightField(key: SingleSchemaKey, unit: Unit): _fluent_form_core.Builder<NumberFieldControlSchema<string | number, number>, keyof NumberFieldControlSchema<Key, number>, "kind", ("kind" | "key") | "affixes" | "mapper">;
|
|
33
40
|
|
|
34
41
|
/**
|
|
35
42
|
* 实体表单
|
|
@@ -64,4 +71,4 @@ declare function useAutoPlaceholderPatchers(): SchemaPatcher[];
|
|
|
64
71
|
declare function useImprovedPickerPatchers(): SchemaPatcher[];
|
|
65
72
|
declare function useValidationTipsPatchers(): SchemaPatcher;
|
|
66
73
|
|
|
67
|
-
export { addButton, categoryCascader, cellphoneField, datetimePicker, datetimeRangePicker, enabledToggle, entitiesToOptions, entityForm, entityToOption, finishedToggle, genderRadioGroup, integerField, leafCascader, saveButton, searchButton, submitButton, useAutoPlaceholderPatchers, useImprovedPickerPatchers, useValidationTipsPatchers };
|
|
74
|
+
export { addButton, categoryCascader, cellphoneField, datetimePicker, datetimeRangePicker, enabledToggle, entitiesToOptions, entityForm, entityToOption, finishedToggle, genderRadioGroup, integerField, leafCascader, saveButton, searchButton, submitButton, useAutoPlaceholderPatchers, useImprovedPickerPatchers, useValidationTipsPatchers, weightField };
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solar-angular/ui-zorro",
|
|
3
|
-
"version": "20.0.
|
|
3
|
+
"version": "20.0.2",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@solar-angular/core": "20.0.
|
|
10
|
-
"@solar-angular/planets": "20.0.
|
|
11
|
-
"@solar-angular/platform-browser": "20.0.
|
|
9
|
+
"@solar-angular/core": "20.0.2",
|
|
10
|
+
"@solar-angular/planets": "20.0.2",
|
|
11
|
+
"@solar-angular/platform-browser": "20.0.2",
|
|
12
12
|
"tslib": "^2.3.0"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@angular/core": ">=20.0.0",
|
|
18
18
|
"@angular/forms": ">=20.0.0",
|
|
19
19
|
"@angular/service-worker": ">=20.0.0",
|
|
20
|
-
"@solar-kit/core": "^1.0
|
|
20
|
+
"@solar-kit/core": "^2.1.0",
|
|
21
21
|
"@fluent-form/core": ">=0.30.0",
|
|
22
22
|
"@fluent-form/ui-zorro": ">=0.30.0",
|
|
23
23
|
"ng-zorro-antd": ">=20.0.0"
|
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
"types": "./crud/index.d.ts",
|
|
37
37
|
"default": "./fesm2022/solar-angular-ui-zorro-crud.mjs"
|
|
38
38
|
},
|
|
39
|
+
"./enter-focus-next": {
|
|
40
|
+
"types": "./enter-focus-next/index.d.ts",
|
|
41
|
+
"default": "./fesm2022/solar-angular-ui-zorro-enter-focus-next.mjs"
|
|
42
|
+
},
|
|
39
43
|
"./fan-popover": {
|
|
40
44
|
"types": "./fan-popover/index.d.ts",
|
|
41
45
|
"default": "./fesm2022/solar-angular-ui-zorro-fan-popover.mjs"
|