@solar-angular/ui-zorro 1.0.0

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.
Files changed (81) hide show
  1. package/README.md +7 -0
  2. package/crud/editor-drawer/editor-drawer.component.d.ts +9 -0
  3. package/crud/editor-drawer/index.d.ts +1 -0
  4. package/crud/editor.d.ts +35 -0
  5. package/crud/index.d.ts +4 -0
  6. package/crud/page.d.ts +52 -0
  7. package/crud/searcher.d.ts +8 -0
  8. package/esm2022/crud/editor-drawer/editor-drawer.component.mjs +34 -0
  9. package/esm2022/crud/editor-drawer/index.mjs +2 -0
  10. package/esm2022/crud/editor.mjs +65 -0
  11. package/esm2022/crud/index.mjs +5 -0
  12. package/esm2022/crud/page.mjs +69 -0
  13. package/esm2022/crud/searcher.mjs +9 -0
  14. package/esm2022/crud/solar-angular-ui-zorro-crud.mjs +5 -0
  15. package/esm2022/fluent-form/components.mjs +15 -0
  16. package/esm2022/fluent-form/controls.mjs +104 -0
  17. package/esm2022/fluent-form/form.mjs +15 -0
  18. package/esm2022/fluent-form/index.mjs +5 -0
  19. package/esm2022/fluent-form/patchers.mjs +57 -0
  20. package/esm2022/fluent-form/solar-angular-ui-zorro-fluent-form.mjs +5 -0
  21. package/esm2022/fluent-form/typing.mjs +2 -0
  22. package/esm2022/index.mjs +2 -0
  23. package/esm2022/media-uploader/index.mjs +2 -0
  24. package/esm2022/media-uploader/media-uploader.component.mjs +175 -0
  25. package/esm2022/media-uploader/solar-angular-ui-zorro-media-uploader.mjs +5 -0
  26. package/esm2022/message/index.mjs +2 -0
  27. package/esm2022/message/message.service.mjs +36 -0
  28. package/esm2022/message/solar-angular-ui-zorro-message.mjs +5 -0
  29. package/esm2022/page-forbidden/forbidden.page.mjs +25 -0
  30. package/esm2022/page-forbidden/index.mjs +4 -0
  31. package/esm2022/page-forbidden/solar-angular-ui-zorro-page-forbidden.mjs +5 -0
  32. package/esm2022/page-logout/index.mjs +4 -0
  33. package/esm2022/page-logout/logout.page.mjs +36 -0
  34. package/esm2022/page-logout/solar-angular-ui-zorro-page-logout.mjs +5 -0
  35. package/esm2022/page-not-found/index.mjs +4 -0
  36. package/esm2022/page-not-found/not-found.page.mjs +25 -0
  37. package/esm2022/page-not-found/solar-angular-ui-zorro-page-not-found.mjs +5 -0
  38. package/esm2022/solar-angular-ui-zorro.mjs +5 -0
  39. package/esm2022/updater/app-updater.mjs +27 -0
  40. package/esm2022/updater/index.mjs +3 -0
  41. package/esm2022/updater/solar-angular-ui-zorro-updater.mjs +5 -0
  42. package/esm2022/updater/updater.component.mjs +71 -0
  43. package/fesm2022/solar-angular-ui-zorro-crud.mjs +180 -0
  44. package/fesm2022/solar-angular-ui-zorro-crud.mjs.map +1 -0
  45. package/fesm2022/solar-angular-ui-zorro-fluent-form.mjs +196 -0
  46. package/fesm2022/solar-angular-ui-zorro-fluent-form.mjs.map +1 -0
  47. package/fesm2022/solar-angular-ui-zorro-media-uploader.mjs +182 -0
  48. package/fesm2022/solar-angular-ui-zorro-media-uploader.mjs.map +1 -0
  49. package/fesm2022/solar-angular-ui-zorro-message.mjs +43 -0
  50. package/fesm2022/solar-angular-ui-zorro-message.mjs.map +1 -0
  51. package/fesm2022/solar-angular-ui-zorro-page-forbidden.mjs +32 -0
  52. package/fesm2022/solar-angular-ui-zorro-page-forbidden.mjs.map +1 -0
  53. package/fesm2022/solar-angular-ui-zorro-page-logout.mjs +43 -0
  54. package/fesm2022/solar-angular-ui-zorro-page-logout.mjs.map +1 -0
  55. package/fesm2022/solar-angular-ui-zorro-page-not-found.mjs +32 -0
  56. package/fesm2022/solar-angular-ui-zorro-page-not-found.mjs.map +1 -0
  57. package/fesm2022/solar-angular-ui-zorro-updater.mjs +102 -0
  58. package/fesm2022/solar-angular-ui-zorro-updater.mjs.map +1 -0
  59. package/fesm2022/solar-angular-ui-zorro.mjs +6 -0
  60. package/fesm2022/solar-angular-ui-zorro.mjs.map +1 -0
  61. package/fluent-form/components.d.ts +6 -0
  62. package/fluent-form/controls.d.ts +45 -0
  63. package/fluent-form/form.d.ts +8 -0
  64. package/fluent-form/index.d.ts +4 -0
  65. package/fluent-form/patchers.d.ts +10 -0
  66. package/fluent-form/typing.d.ts +1 -0
  67. package/index.d.ts +2 -0
  68. package/media-uploader/index.d.ts +1 -0
  69. package/media-uploader/media-uploader.component.d.ts +53 -0
  70. package/message/index.d.ts +1 -0
  71. package/message/message.service.d.ts +13 -0
  72. package/package.json +85 -0
  73. package/page-forbidden/forbidden.page.d.ts +5 -0
  74. package/page-forbidden/index.d.ts +3 -0
  75. package/page-logout/index.d.ts +3 -0
  76. package/page-logout/logout.page.d.ts +10 -0
  77. package/page-not-found/index.d.ts +3 -0
  78. package/page-not-found/not-found.page.d.ts +5 -0
  79. package/updater/app-updater.d.ts +10 -0
  80. package/updater/index.d.ts +2 -0
  81. package/updater/updater.component.d.ts +14 -0
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # ui-zorro
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test ui-zorro` to execute the unit tests.
@@ -0,0 +1,9 @@
1
+ import { Editor } from '../editor';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SunEditorDrawer<T extends Record<string, any>> {
4
+ editor: Editor<T>;
5
+ width: string | number;
6
+ primaryKey: string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SunEditorDrawer<any>, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<SunEditorDrawer<any>, "sun-editor-drawer", never, { "editor": { "alias": "editor"; "required": false; }; "width": { "alias": "width"; "required": false; }; "primaryKey": { "alias": "primaryKey"; "required": false; }; }, {}, never, ["*"], true, never>;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './editor-drawer.component';
@@ -0,0 +1,35 @@
1
+ import { FormGroup } from '@angular/forms';
2
+ import { AbstractFormGroupSchema } from '@fluent-form/core';
3
+ import { Observable } from 'rxjs';
4
+ export declare class Editor<T> {
5
+ private _visible;
6
+ /** 模型初始值 */
7
+ originalModel: T;
8
+ model: T;
9
+ loading: boolean;
10
+ schema: AbstractFormGroupSchema;
11
+ /** 是否在保存完之后固定抽屉 */
12
+ pin: boolean;
13
+ form?: FormGroup;
14
+ get visible(): boolean;
15
+ set visible(value: boolean);
16
+ /**
17
+ * 自动控制 loading 状态
18
+ */
19
+ withLoading<X>(): (observable: Observable<X>) => Observable<X>;
20
+ /**
21
+ * next 时自动重置表单 或 收起编辑器
22
+ */
23
+ withAttach<X>(): (observable: Observable<X>) => Observable<X>;
24
+ /**
25
+ * 呈现编辑器
26
+ */
27
+ present(): void;
28
+ /**
29
+ * 关闭编辑器
30
+ */
31
+ dismiss(): void;
32
+ togglePin(): void;
33
+ reset(): void;
34
+ fill(model: T): void;
35
+ }
@@ -0,0 +1,4 @@
1
+ export * from './editor';
2
+ export * from './editor-drawer';
3
+ export * from './page';
4
+ export * from './searcher';
package/crud/page.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ import { MessageService } from '@solar-angular/ui-zorro/message';
2
+ import { Menu } from '@solar-kit/planets/earth';
3
+ import { Observable } from 'rxjs';
4
+ import { Editor } from './editor';
5
+ import { Searcher } from './searcher';
6
+ /**
7
+ * 增删改查页面
8
+ * @template T Searcher 的模型类型
9
+ * @template U Editor 的模型类型,默认为 T
10
+ * @template V Data 的模型类型,默认为 U
11
+ */
12
+ export declare abstract class CrudPage<T, U = T, V = U> {
13
+ protected data: V[];
14
+ protected pageSize: number;
15
+ protected pageNo: number;
16
+ protected loading: boolean;
17
+ protected searcher: Searcher<T>;
18
+ protected editor: Editor<U>;
19
+ /** 当前页面的菜单列 */
20
+ readonly menus$: Observable<Menu[]>;
21
+ readonly message: MessageService;
22
+ protected withTableLoading<X>(): (observable: Observable<X>) => Observable<X>;
23
+ /**
24
+ * {@link MessageService.withLoading()} 的快捷方式
25
+ * @param content
26
+ */
27
+ protected withLoading<X>(content?: string): (observable: Observable<X>) => Observable<X>;
28
+ /**
29
+ * {@link MessageService.withDeleteLoading()} 的快捷方式
30
+ * @param content
31
+ */
32
+ protected withDeleteLoading<X>(): (observable: Observable<X>) => Observable<X>;
33
+ /**
34
+ * {@link MessageService.withSaveLoading()} 的快捷方式
35
+ * @param content
36
+ */
37
+ protected withSaveLoading<X>(): (observable: Observable<X>) => Observable<X>;
38
+ /**
39
+ * 编辑
40
+ * @param entity
41
+ */
42
+ protected edit(entity: U): void;
43
+ }
44
+ /**
45
+ * 带分页的增删改查页面
46
+ * @template T Searcher 的模型类型
47
+ * @template U Editor 的模型类型,默认为 T
48
+ * @template V Data 的模型类型,默认为 U
49
+ */
50
+ export declare abstract class PagingCrudPage<T, U = T, V = U> extends CrudPage<T, U, V> {
51
+ protected totalSize: number;
52
+ }
@@ -0,0 +1,8 @@
1
+ import { FormGroup } from '@angular/forms';
2
+ import { AbstractFormGroupSchema } from '@fluent-form/core';
3
+ export declare class Searcher<T> {
4
+ form?: FormGroup;
5
+ model: Partial<T>;
6
+ schema: AbstractFormGroupSchema;
7
+ reset(): void;
8
+ }
@@ -0,0 +1,34 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NzDrawerModule } from 'ng-zorro-antd/drawer';
3
+ import { NzIconModule } from 'ng-zorro-antd/icon';
4
+ import { NzSpinModule } from 'ng-zorro-antd/spin';
5
+ import { NzTypographyModule } from 'ng-zorro-antd/typography';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ng-zorro-antd/drawer";
8
+ import * as i2 from "ng-zorro-antd/spin";
9
+ import * as i3 from "ng-zorro-antd/icon";
10
+ import * as i4 from "ng-zorro-antd/typography";
11
+ export class SunEditorDrawer {
12
+ constructor() {
13
+ this.width = 600;
14
+ this.primaryKey = 'id';
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SunEditorDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SunEditorDrawer, isStandalone: true, selector: "sun-editor-drawer", inputs: { editor: "editor", width: "width", primaryKey: "primaryKey" }, ngImport: i0, template: "<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzFooter]=\"editorFooter\"\n [(nzVisible)]=\"editor.visible\"\n (nzOnClose)=\"editor.visible = false\">\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 <span nz-icon nzType=\"pushpin\" [nzTheme]=\"editor.pin ? 'twotone' : 'outline'\" (click)=\"editor.togglePin()\"></span>\n</ng-template>\n\n<ng-template #editorFooter>\n <small nz-typography nzType=\"secondary\">\n \u6CE8\u610F\uFF1A\u6807\u7B7E\u4E0A\u5E26\u6709\n <span nz-typography nzType=\"danger\" style=\"font-family: SimSun, sans-serif\">*</span>\n \u7B26\u53F7\u7684\u9879\u76EE\u4E3A\u5FC5\u586B\u9879\n </small>\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]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTypographyModule }, { kind: "component", type: i4.NzTypographyComponent, selector: " nz-typography, [nz-typography], p[nz-paragraph], span[nz-text], h1[nz-title], h2[nz-title], h3[nz-title], h4[nz-title] ", inputs: ["nzCopyable", "nzEditable", "nzDisabled", "nzExpandable", "nzEllipsis", "nzCopyTooltips", "nzCopyIcons", "nzEditTooltip", "nzEditIcon", "nzContent", "nzEllipsisRows", "nzType", "nzCopyText", "nzSuffix"], outputs: ["nzContentChange", "nzCopy", "nzExpandChange", "nzOnEllipsis"], exportAs: ["nzTypography"] }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SunEditorDrawer, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'sun-editor-drawer', standalone: true, imports: [
22
+ NzDrawerModule,
23
+ NzSpinModule,
24
+ NzIconModule,
25
+ NzTypographyModule
26
+ ], template: "<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzFooter]=\"editorFooter\"\n [(nzVisible)]=\"editor.visible\"\n (nzOnClose)=\"editor.visible = false\">\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 <span nz-icon nzType=\"pushpin\" [nzTheme]=\"editor.pin ? 'twotone' : 'outline'\" (click)=\"editor.togglePin()\"></span>\n</ng-template>\n\n<ng-template #editorFooter>\n <small nz-typography nzType=\"secondary\">\n \u6CE8\u610F\uFF1A\u6807\u7B7E\u4E0A\u5E26\u6709\n <span nz-typography nzType=\"danger\" style=\"font-family: SimSun, sans-serif\">*</span>\n \u7B26\u53F7\u7684\u9879\u76EE\u4E3A\u5FC5\u586B\u9879\n </small>\n</ng-template>\n", styles: ["::ng-deep .sun-editor-drawer-wrapper .ant-drawer-title{display:flex;justify-content:space-between;align-items:center}\n"] }]
27
+ }], propDecorators: { editor: [{
28
+ type: Input
29
+ }], width: [{
30
+ type: Input
31
+ }], primaryKey: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvZWRpdG9yLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvZWRpdG9yLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBZTlELE1BQU0sT0FBTyxlQUFlO0lBWjVCO1FBY1csVUFBSyxHQUFvQixHQUFHLENBQUM7UUFDN0IsZUFBVSxHQUFHLElBQUksQ0FBQztLQUM1QjsrR0FKWSxlQUFlO21HQUFmLGVBQWUscUpDbkI1QixxN0JBMEJBLGdMRGZJLGNBQWMsK21CQUNkLFlBQVksMk1BQ1osWUFBWSxpTkFDWixrQkFBa0I7OzRGQUtULGVBQWU7a0JBWjNCLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixrQkFBa0I7cUJBQ25COzhCQUtRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE56RHJhd2VyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9kcmF3ZXInO1xuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcbmltcG9ydCB7IE56U3Bpbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc3Bpbic7XG5pbXBvcnQgeyBOelR5cG9ncmFwaHlNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3R5cG9ncmFwaHknO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnLi4vZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VuLWVkaXRvci1kcmF3ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTnpEcmF3ZXJNb2R1bGUsXG4gICAgTnpTcGluTW9kdWxlLFxuICAgIE56SWNvbk1vZHVsZSxcbiAgICBOelR5cG9ncmFwaHlNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZWRpdG9yLWRyYXdlci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgU3VuRWRpdG9yRHJhd2VyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gIEBJbnB1dCgpIGVkaXRvciE6IEVkaXRvcjxUPjtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDYwMDtcbiAgQElucHV0KCkgcHJpbWFyeUtleSA9ICdpZCc7XG59XG4iLCI8bnotZHJhd2VyXG4gIG56V3JhcENsYXNzTmFtZT1cInN1bi1lZGl0b3ItZHJhd2VyLXdyYXBwZXJcIlxuICBbbnpXaWR0aF09XCJ3aWR0aFwiXG4gIFtuekNsb3NhYmxlXT1cImZhbHNlXCJcbiAgW256VGl0bGVdPVwiZWRpdG9yVGl0bGVcIlxuICBbbnpGb290ZXJdPVwiZWRpdG9yRm9vdGVyXCJcbiAgWyhuelZpc2libGUpXT1cImVkaXRvci52aXNpYmxlXCJcbiAgKG56T25DbG9zZSk9XCJlZGl0b3IudmlzaWJsZSA9IGZhbHNlXCI+XG4gIDxuei1zcGluICpuekRyYXdlckNvbnRlbnQgW256U3Bpbm5pbmddPVwiZWRpdG9yLmxvYWRpbmdcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L256LXNwaW4+XG48L256LWRyYXdlcj5cblxuPG5nLXRlbXBsYXRlICNlZGl0b3JUaXRsZT5cbiAgPGRpdj57eyBlZGl0b3IubW9kZWxbcHJpbWFyeUtleV0gPyAn57yW6L6R5p2h55uuJyA6ICfmlrDlop7mnaHnm64nIH19PC9kaXY+XG5cbiAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJwdXNocGluXCIgW256VGhlbWVdPVwiZWRpdG9yLnBpbiA/ICd0d290b25lJyA6ICdvdXRsaW5lJ1wiIChjbGljayk9XCJlZGl0b3IudG9nZ2xlUGluKClcIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VkaXRvckZvb3Rlcj5cbiAgPHNtYWxsIG56LXR5cG9ncmFwaHkgbnpUeXBlPVwic2Vjb25kYXJ5XCI+XG4gICAg5rOo5oSP77ya5qCH562+5LiK5bim5pyJXG4gICAgPHNwYW4gbnotdHlwb2dyYXBoeSBuelR5cGU9XCJkYW5nZXJcIiBzdHlsZT1cImZvbnQtZmFtaWx5OiBTaW1TdW4sIHNhbnMtc2VyaWZcIj4qPC9zcGFuPlxuICAgIOespuWPt+eahOmhueebruS4uuW/heWhq+mhuVxuICA8L3NtYWxsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './editor-drawer.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2VkaXRvci1kcmF3ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLWRyYXdlci5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,65 @@
1
+ import { form } from '@fluent-form/core';
2
+ import { finalize, tap } from 'rxjs';
3
+ export class Editor {
4
+ constructor() {
5
+ this._visible = false;
6
+ /** 模型初始值 */
7
+ this.originalModel = {};
8
+ this.model = {};
9
+ this.loading = false;
10
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
11
+ this.schema = form(() => { });
12
+ /** 是否在保存完之后固定抽屉 */
13
+ this.pin = false;
14
+ }
15
+ get visible() {
16
+ return this._visible;
17
+ }
18
+ set visible(value) {
19
+ // 手动判断一下,因为双向绑定的原因,这里会被设置两次
20
+ if (this._visible !== value) {
21
+ if (!value) {
22
+ this.reset(); // 关闭的时候自动重置
23
+ }
24
+ }
25
+ this._visible = value;
26
+ }
27
+ /**
28
+ * 自动控制 loading 状态
29
+ */
30
+ withLoading() {
31
+ this.loading = true;
32
+ return (observable) => {
33
+ return observable.pipe(finalize(() => this.loading = false));
34
+ };
35
+ }
36
+ /**
37
+ * next 时自动重置表单 或 收起编辑器
38
+ */
39
+ withAttach() {
40
+ return (observable) => observable.pipe(tap(() => this.pin ? this.reset() : this.dismiss()));
41
+ }
42
+ /**
43
+ * 呈现编辑器
44
+ */
45
+ present() {
46
+ this.visible = true;
47
+ }
48
+ /**
49
+ * 关闭编辑器
50
+ */
51
+ dismiss() {
52
+ this.visible = false;
53
+ }
54
+ togglePin() {
55
+ this.pin = !this.pin;
56
+ }
57
+ reset() {
58
+ this.fill({});
59
+ }
60
+ fill(model) {
61
+ this.originalModel = model;
62
+ this.model = model;
63
+ }
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vY3J1ZC9lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEyQixJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQWMsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxNQUFNLE9BQU8sTUFBTTtJQUFuQjtRQUNVLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDekIsWUFBWTtRQUNaLGtCQUFhLEdBQU0sRUFBTyxDQUFDO1FBQzNCLFVBQUssR0FBTSxFQUFPLENBQUM7UUFDbkIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixnRUFBZ0U7UUFDaEUsV0FBTSxHQUE0QixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsbUJBQW1CO1FBQ25CLFFBQUcsR0FBRyxLQUFLLENBQUM7SUFnRWQsQ0FBQztJQTdEQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsWUFBWTtZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixPQUFPLENBQUMsVUFBeUIsRUFBRSxFQUFFO1lBQ25DLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FDcEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQ3JDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsT0FBTyxDQUFDLFVBQXlCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFPLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZvcm1Hcm91cFNjaGVtYSwgZm9ybSB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbmFsaXplLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEVkaXRvcjxUPiB7XG4gIHByaXZhdGUgX3Zpc2libGUgPSBmYWxzZTtcbiAgLyoqIOaooeWei+WIneWni+WAvCAqL1xuICBvcmlnaW5hbE1vZGVsOiBUID0ge30gYXMgVDtcbiAgbW9kZWw6IFQgPSB7fSBhcyBUO1xuICBsb2FkaW5nID0gZmFsc2U7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgc2NoZW1hOiBBYnN0cmFjdEZvcm1Hcm91cFNjaGVtYSA9IGZvcm0oKCkgPT4geyB9KTtcbiAgLyoqIOaYr+WQpuWcqOS/neWtmOWujOS5i+WQjuWbuuWumuaKveWxiSAqL1xuICBwaW4gPSBmYWxzZTtcbiAgZm9ybT86IEZvcm1Hcm91cDtcblxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgLy8g5omL5Yqo5Yik5pat5LiA5LiL77yM5Zug5Li65Y+M5ZCR57uR5a6a55qE5Y6f5Zug77yM6L+Z6YeM5Lya6KKr6K6+572u5Lik5qyhXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgIT09IHZhbHVlKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVzZXQoKTsgLy8g5YWz6Zet55qE5pe25YCZ6Ieq5Yqo6YeN572uXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDoh6rliqjmjqfliLYgbG9hZGluZyDnirbmgIFcbiAgICovXG4gIHdpdGhMb2FkaW5nPFg+KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgcmV0dXJuIChvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFg+KSA9PiB7XG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSlcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXh0IOaXtuiHquWKqOmHjee9ruihqOWNlSDmiJYg5pS26LW357yW6L6R5ZmoXG4gICAqL1xuICB3aXRoQXR0YWNoPFg+KCkge1xuICAgIHJldHVybiAob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxYPikgPT4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMucGluID8gdGhpcy5yZXNldCgpIDogdGhpcy5kaXNtaXNzKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlkYjnjrDnvJbovpHlmahcbiAgICovXG4gIHByZXNlbnQoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlhbPpl63nvJbovpHlmahcbiAgICovXG4gIGRpc21pc3MoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVQaW4oKSB7XG4gICAgdGhpcy5waW4gPSAhdGhpcy5waW47XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLmZpbGwoe30gYXMgVCk7XG4gIH1cblxuICBmaWxsKG1vZGVsOiBUKSB7XG4gICAgdGhpcy5vcmlnaW5hbE1vZGVsID0gbW9kZWw7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './editor';
2
+ export * from './editor-drawer';
3
+ export * from './page';
4
+ export * from './searcher';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci1kcmF3ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoZXInO1xuIl19
@@ -0,0 +1,69 @@
1
+ import { inject } from '@angular/core';
2
+ import { MenuService } from '@solar-angular/planets/earth';
3
+ import { MessageService } from '@solar-angular/ui-zorro/message';
4
+ import { finalize, shareReplay } from 'rxjs';
5
+ import { Editor } from './editor';
6
+ import { Searcher } from './searcher';
7
+ /**
8
+ * 增删改查页面
9
+ * @template T Searcher 的模型类型
10
+ * @template U Editor 的模型类型,默认为 T
11
+ * @template V Data 的模型类型,默认为 U
12
+ */
13
+ export class CrudPage {
14
+ constructor() {
15
+ this.data = [];
16
+ this.pageSize = 10;
17
+ this.pageNo = 1;
18
+ this.loading = false;
19
+ this.searcher = new Searcher();
20
+ this.editor = new Editor();
21
+ /** 当前页面的菜单列 */
22
+ this.menus$ = inject(MenuService).menus$.pipe(shareReplay(1));
23
+ this.message = inject(MessageService);
24
+ }
25
+ withTableLoading() {
26
+ return (observable) => {
27
+ this.loading = true;
28
+ return observable.pipe(finalize(() => this.loading = false));
29
+ };
30
+ }
31
+ /**
32
+ * {@link MessageService.withLoading()} 的快捷方式
33
+ * @param content
34
+ */
35
+ withLoading(content) {
36
+ return this.message.withLoading(content);
37
+ }
38
+ /**
39
+ * {@link MessageService.withDeleteLoading()} 的快捷方式
40
+ * @param content
41
+ */
42
+ withDeleteLoading() {
43
+ return this.message.withDeleteLoading();
44
+ }
45
+ /**
46
+ * {@link MessageService.withSaveLoading()} 的快捷方式
47
+ * @param content
48
+ */
49
+ withSaveLoading() {
50
+ return this.message.withSaveLoading();
51
+ }
52
+ /**
53
+ * 编辑
54
+ * @param entity
55
+ */
56
+ edit(entity) {
57
+ this.editor.fill(entity);
58
+ this.editor.present();
59
+ }
60
+ }
61
+ /**
62
+ * 带分页的增删改查页面
63
+ * @template T Searcher 的模型类型
64
+ * @template U Editor 的模型类型,默认为 T
65
+ * @template V Data 的模型类型,默认为 U
66
+ */
67
+ export class PagingCrudPage extends CrudPage {
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2NydWQvcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBYyxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixRQUFRO0lBQTlCO1FBQ1ksU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUVmLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRVgsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUssQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUssQ0FBQztRQUVuQyxlQUFlO1FBQ04sV0FBTSxHQUF1QixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBMkM1QyxDQUFDO0lBekNXLGdCQUFnQjtRQUN4QixPQUFPLENBQUMsVUFBeUIsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FDcEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQ3JDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sV0FBVyxDQUFJLE9BQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUksT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNPLElBQUksQ0FBQyxNQUFTO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGNBQWdDLFNBQVEsUUFBaUI7Q0FFOUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnQHNvbGFyLWFuZ3VsYXIvcGxhbmV0cy9lYXJ0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL3VpLXpvcnJvL21lc3NhZ2UnO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJ0Bzb2xhci1raXQvcGxhbmV0cy9lYXJ0aCc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IFNlYXJjaGVyIH0gZnJvbSAnLi9zZWFyY2hlcic7XG5cbi8qKlxuICog5aKe5Yig5pS55p+l6aG16Z2iXG4gKiBAdGVtcGxhdGUgVCBTZWFyY2hlciDnmoTmqKHlnovnsbvlnotcbiAqIEB0ZW1wbGF0ZSBVIEVkaXRvciDnmoTmqKHlnovnsbvlnovvvIzpu5jorqTkuLogVFxuICogQHRlbXBsYXRlIFYgRGF0YSDnmoTmqKHlnovnsbvlnovvvIzpu5jorqTkuLogVVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3J1ZFBhZ2U8VCwgVSA9IFQsIFYgPSBVPiB7XG4gIHByb3RlY3RlZCBkYXRhOiBWW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgcGFnZVNpemUgPSAxMDtcbiAgcHJvdGVjdGVkIHBhZ2VObyA9IDE7XG5cbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgc2VhcmNoZXIgPSBuZXcgU2VhcmNoZXI8VD4oKTtcbiAgcHJvdGVjdGVkIGVkaXRvciA9IG5ldyBFZGl0b3I8VT4oKTtcblxuICAvKiog5b2T5YmN6aG16Z2i55qE6I+c5Y2V5YiXICovXG4gIHJlYWRvbmx5IG1lbnVzJDogT2JzZXJ2YWJsZTxNZW51W10+ID0gaW5qZWN0KE1lbnVTZXJ2aWNlKS5tZW51cyQucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbmplY3QoTWVzc2FnZVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCB3aXRoVGFibGVMb2FkaW5nPFg+KCkge1xuICAgIHJldHVybiAob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxYPikgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBNZXNzYWdlU2VydmljZS53aXRoTG9hZGluZygpfSDnmoTlv6vmjbfmlrnlvI9cbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIHByb3RlY3RlZCB3aXRoTG9hZGluZzxYPihjb250ZW50Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZS53aXRoTG9hZGluZzxYPihjb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgTWVzc2FnZVNlcnZpY2Uud2l0aERlbGV0ZUxvYWRpbmcoKX0g55qE5b+r5o235pa55byPXG4gICAqIEBwYXJhbSBjb250ZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgd2l0aERlbGV0ZUxvYWRpbmc8WD4oKSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZS53aXRoRGVsZXRlTG9hZGluZzxYPigpO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBNZXNzYWdlU2VydmljZS53aXRoU2F2ZUxvYWRpbmcoKX0g55qE5b+r5o235pa55byPXG4gICAqIEBwYXJhbSBjb250ZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgd2l0aFNhdmVMb2FkaW5nPFg+KCkge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2Uud2l0aFNhdmVMb2FkaW5nPFg+KCk7XG4gIH1cblxuICAvKipcbiAgICog57yW6L6RXG4gICAqIEBwYXJhbSBlbnRpdHlcbiAgICovXG4gIHByb3RlY3RlZCBlZGl0KGVudGl0eTogVSkge1xuICAgIHRoaXMuZWRpdG9yLmZpbGwoZW50aXR5KTtcbiAgICB0aGlzLmVkaXRvci5wcmVzZW50KCk7XG4gIH1cbn1cblxuLyoqXG4gKiDluKbliIbpobXnmoTlop7liKDmlLnmn6XpobXpnaJcbiAqIEB0ZW1wbGF0ZSBUIFNlYXJjaGVyIOeahOaooeWei+exu+Wei1xuICogQHRlbXBsYXRlIFUgRWRpdG9yIOeahOaooeWei+exu+Wei++8jOm7mOiupOS4uiBUXG4gKiBAdGVtcGxhdGUgViBEYXRhIOeahOaooeWei+exu+Wei++8jOm7mOiupOS4uiBVXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYWdpbmdDcnVkUGFnZTxULCBVID0gVCwgViA9IFU+IGV4dGVuZHMgQ3J1ZFBhZ2U8VCwgVSwgVj4ge1xuICBwcm90ZWN0ZWQgdG90YWxTaXplITogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class Searcher {
2
+ constructor() {
3
+ this.model = {};
4
+ }
5
+ reset() {
6
+ this.form?.reset({});
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9jcnVkL3NlYXJjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBRUUsVUFBSyxHQUFlLEVBQUUsQ0FBQztJQU96QixDQUFDO0lBSEMsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUdyb3VwU2NoZW1hIH0gZnJvbSAnQGZsdWVudC1mb3JtL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgU2VhcmNoZXI8VD4ge1xuICBmb3JtPzogRm9ybUdyb3VwO1xuICBtb2RlbDogUGFydGlhbDxUPiA9IHt9O1xuXG4gIHNjaGVtYSE6IEFic3RyYWN0Rm9ybUdyb3VwU2NoZW1hO1xuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuZm9ybT8ucmVzZXQoe30pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vY3J1ZC9zb2xhci1hbmd1bGFyLXVpLXpvcnJvLWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { button } from '@fluent-form/ui-zorro';
2
+ export function searchButton() {
3
+ return button().icon('search').content('查询').type('primary');
4
+ }
5
+ export function addButton() {
6
+ return button().icon('plus').content('新增').type('primary').mode('button');
7
+ }
8
+ export function saveButton() {
9
+ return button()
10
+ .content('保存')
11
+ .type('primary')
12
+ .variants({ block: true })
13
+ .disabled(({ control }) => control.invalid);
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBeUIsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RSxNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUztJQUN2QixPQUFPLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxNQUFNLEVBQUU7U0FDWixPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNmLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN6QixRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUF3RixDQUFDO0FBQ3ZJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnN0YWJsZUJ1aWxkZXIgfSBmcm9tICdAZmx1ZW50LWZvcm0vY29yZSc7XG5pbXBvcnQgeyBidXR0b24sIEJ1dHRvbkNvbXBvbmVudFNjaGVtYSB9IGZyb20gJ0BmbHVlbnQtZm9ybS91aS16b3Jybyc7XG5pbXBvcnQgeyBLaW5kT3JLZXkgfSBmcm9tICcuL3R5cGluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hCdXR0b24oKTogVW5zdGFibGVCdWlsZGVyPEJ1dHRvbkNvbXBvbmVudFNjaGVtYSwgS2luZE9yS2V5IHwgJ2ljb24nIHwgJ2NvbnRlbnQnIHwgJ3R5cGUnPiB7XG4gIHJldHVybiBidXR0b24oKS5pY29uKCdzZWFyY2gnKS5jb250ZW50KCfmn6Xor6InKS50eXBlKCdwcmltYXJ5Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRCdXR0b24oKTogVW5zdGFibGVCdWlsZGVyPEJ1dHRvbkNvbXBvbmVudFNjaGVtYSwgS2luZE9yS2V5IHwgJ2ljb24nIHwgJ2NvbnRlbnQnIHwgJ3R5cGUnIHwgJ21vZGUnPiB7XG4gIHJldHVybiBidXR0b24oKS5pY29uKCdwbHVzJykuY29udGVudCgn5paw5aKeJykudHlwZSgncHJpbWFyeScpLm1vZGUoJ2J1dHRvbicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUJ1dHRvbigpOiBVbnN0YWJsZUJ1aWxkZXI8QnV0dG9uQ29tcG9uZW50U2NoZW1hLCBLaW5kT3JLZXkgfCAnY29udGVudCcgfCAndHlwZScgfCAnZGlzYWJsZWQnPiB7XG4gIHJldHVybiBidXR0b24oKVxuICAgIC5jb250ZW50KCfkv53lrZgnKVxuICAgIC50eXBlKCdwcmltYXJ5JylcbiAgICAudmFyaWFudHMoeyBibG9jazogdHJ1ZSB9KVxuICAgIC5kaXNhYmxlZCgoeyBjb250cm9sIH0pID0+IGNvbnRyb2wuaW52YWxpZCkgYXMgVW5zdGFibGVCdWlsZGVyPEJ1dHRvbkNvbXBvbmVudFNjaGVtYSwgS2luZE9yS2V5IHwgJ2NvbnRlbnQnIHwgJ3R5cGUnIHwgJ2Rpc2FibGVkJz47XG59XG4iXX0=
@@ -0,0 +1,104 @@
1
+ import { cascader, checkboxGroup, datePicker, dateRangePicker, number, radioGroup, select, text, toggle } from '@fluent-form/ui-zorro';
2
+ import { levels2tree, tree2list } from '@solar-angular/core';
3
+ export function cellphoneText(key = 'cellphone', length = 11) {
4
+ return text(key).type('tel').length(length);
5
+ }
6
+ export function integer(key) {
7
+ return number(key).precision(0);
8
+ }
9
+ export function enabledToggle(key = 'enabled', defaultValue = true) {
10
+ return toggle(key).placeholder(['有效', '无效']).defaultValue(defaultValue);
11
+ }
12
+ export function finishedToggle(key = 'finished', defaultValue = false) {
13
+ return toggle(key).placeholder(['已完成', '未完成']).defaultValue(defaultValue);
14
+ }
15
+ export function genderRadioGroup(key = 'gender') {
16
+ return radioGroup(key).options([
17
+ { label: '女', value: 0 /* Gender.Woman */ },
18
+ { label: '男', value: 1 /* Gender.Man */ }
19
+ ]);
20
+ }
21
+ export function categoryCascader(key, channels, categories) {
22
+ return entityCascader(key).options(levels2tree([channels, categories], 'channel'));
23
+ }
24
+ /**
25
+ * 通用的实体多选框
26
+ *
27
+ * 已经配置了 labelProperty: 'fullName', valueProperty: 'id'
28
+ * @param key
29
+ */
30
+ export function entityCheckboxGroup(key) {
31
+ return checkboxGroup(key).config({ labelProperty: 'fullName', valueProperty: 'id' });
32
+ }
33
+ /**
34
+ * 通用的实体单选框
35
+ *
36
+ * 已经配置了 labelProperty: 'fullName', valueProperty: 'id'
37
+ * @param key
38
+ */
39
+ export function entityRadioGroup(key) {
40
+ return radioGroup(key).config({ labelProperty: 'fullName', valueProperty: 'id' });
41
+ }
42
+ /**
43
+ * 通用的实体选择器
44
+ *
45
+ * 已经配置了 labelProperty: 'fullName', valueProperty: 'id'
46
+ * @param key
47
+ */
48
+ export function entitySelect(key) {
49
+ return select(key).config({ labelProperty: 'fullName', valueProperty: 'id' });
50
+ }
51
+ /**
52
+ * 通用的实体联级选择器
53
+ *
54
+ * - 多字段模式下不支持以下选项:
55
+ * - 不支持使用函数作为 options
56
+ * - 不支持 fetchOptions 选项
57
+ *
58
+ * options 选项可以使用 `list2tree()` 或 `levels2tree()` 来构造
59
+ *
60
+ * @param key
61
+ */
62
+ export function entityCascader(key) {
63
+ let list;
64
+ return cascader(key)
65
+ .trigger('hover')
66
+ .mapper({
67
+ parser: (value, schema) => {
68
+ if (!value)
69
+ return null;
70
+ // 如果输入的是数组,则说明当前是多字段模式,不需要做处理
71
+ if (Array.isArray(value))
72
+ return value;
73
+ // 如果输入的是叶子节点,我们需要转为 [父节点, ..., 叶子节点]
74
+ list ??= tree2list(schema.options);
75
+ // 找到选中的叶子节点
76
+ let node = list.find(node => node.id === value && node.isLeaf);
77
+ const levels = [];
78
+ while (node) {
79
+ levels.unshift(node.id);
80
+ node = node.parent;
81
+ }
82
+ return levels;
83
+ },
84
+ formatter: value => {
85
+ // 多字段模式,不需要处理
86
+ if (Array.isArray(key))
87
+ return value;
88
+ // 输出的是节点数组,我们只要叶子节点
89
+ return value?.[value.length - 1];
90
+ }
91
+ })
92
+ .config({ labelProperty: 'fullName', valueProperty: 'id' });
93
+ }
94
+ export function datetimePicker(key, format = 'yyyy-MM-dd HH:mm') {
95
+ return datePicker(key)
96
+ .time({ nzFormat: 'HH:mm' })
97
+ .format(format);
98
+ }
99
+ export function datetimeRangePicker(key, format = 'yyyy-MM-dd HH:mm') {
100
+ return dateRangePicker(key)
101
+ .time({ nzFormat: 'HH:mm' })
102
+ .format(format);
103
+ }
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9jb250cm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXVOLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNVYsT0FBTyxFQUFZLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RSxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQUcsR0FBRyxXQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUU7SUFDMUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFvQjtJQUMxQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBdUIsU0FBUyxFQUFFLFlBQVksR0FBRyxJQUFJO0lBQ2pGLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUF1QixVQUFVLEVBQUUsWUFBWSxHQUFHLEtBQUs7SUFDcEYsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFlB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QUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFXLEVBQUUsTUFBTSxHQUFHLGtCQUFrQjtJQUNyRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUM7U0FDbkIsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEdBQWMsRUFBRSxNQUFNLEdBQUcsa0JBQWtCO0lBQzdFLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztTQUN4QixJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2hlbWFLZXksIFNpbmdsZVNjaGVtYUtleSwgVW5zdGFibGVCdWlsZGVyIH0gZnJvbSAnQGZsdWVudC1mb3JtL2NvcmUnO1xuaW1wb3J0IHsgQ2FzY2FkZXJDb250cm9sU2NoZW1hLCBDaGVja2JveEdyb3VwQ29udHJvbFNjaGVtYSwgRGF0ZVBpY2tlckNvbnRyb2xTY2hlbWEsIERhdGVSYW5nZVBpY2tlckNvbnRyb2xTY2hlbWEsIE51bWJlckNvbnRyb2xTY2hlbWEsIFJhZGlvR3JvdXBDb250cm9sU2NoZW1hLCBTZWxlY3RDb250cm9sU2NoZW1hLCBUZXh0Q29udHJvbFNjaGVtYSwgVG9nZ2xlQ29udHJvbFNjaGVtYSwgY2FzY2FkZXIsIGNoZWNrYm94R3JvdXAsIGRhdGVQaWNrZXIsIGRhdGVSYW5nZVBpY2tlciwgbnVtYmVyLCByYWRpb0dyb3VwLCBzZWxlY3QsIHRleHQsIHRvZ2dsZSB9IGZyb20gJ0BmbHVlbnQtZm9ybS91aS16b3Jybyc7XG5pbXBvcnQgeyBUcmVlTm9kZSwgbGV2ZWxzMnRyZWUsIHRyZWUybGlzdCB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENoYW5uZWwgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuaW1wb3J0IHsgR2VuZGVyIH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBLaW5kT3JLZXkgfSBmcm9tICcuL3R5cGluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjZWxscGhvbmVUZXh0KGtleSA9ICdjZWxscGhvbmUnLCBsZW5ndGggPSAxMSk6IFVuc3RhYmxlQnVpbGRlcjxUZXh0Q29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ3R5cGUnIHwgJ2xlbmd0aCc+IHtcbiAgcmV0dXJuIHRleHQoa2V5KS50eXBlKCd0ZWwnKS5sZW5ndGgobGVuZ3RoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVnZXIoa2V5OiBTaW5nbGVTY2hlbWFLZXkpOiBVbnN0YWJsZUJ1aWxkZXI8TnVtYmVyQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ3ByZWNpc2lvbic+IHtcbiAgcmV0dXJuIG51bWJlcihrZXkpLnByZWNpc2lvbigwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZWRUb2dnbGUoa2V5OiBTaW5nbGVTY2hlbWFLZXkgPSAnZW5hYmxlZCcsIGRlZmF1bHRWYWx1ZSA9IHRydWUpOiBVbnN0YWJsZUJ1aWxkZXI8VG9nZ2xlQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ3BsYWNlaG9sZGVyJyB8ICdkZWZhdWx0VmFsdWUnPiB7XG4gIHJldHVybiB0b2dnbGUoa2V5KS5wbGFjZWhvbGRlcihbJ+acieaViCcsICfml6DmlYgnXSkuZGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5pc2hlZFRvZ2dsZShrZXk6IFNpbmdsZVNjaGVtYUtleSA9ICdmaW5pc2hlZCcsIGRlZmF1bHRWYWx1ZSA9IGZhbHNlKTogVW5zdGFibGVCdWlsZGVyPFRvZ2dsZUNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICdwbGFjZWhvbGRlcicgfCAnZGVmYXVsdFZhbHVlJz4ge1xuICByZXR1cm4gdG9nZ2xlKGtleSkucGxhY2Vob2xkZXIoWyflt7LlrozmiJAnLCAn5pyq5a6M5oiQJ10pLmRlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZGVyUmFkaW9Hcm91cChrZXkgPSAnZ2VuZGVyJyk6IFVuc3RhYmxlQnVpbGRlcjxSYWRpb0dyb3VwQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ29wdGlvbnMnPiB7XG4gIHJldHVybiByYWRpb0dyb3VwKGtleSkub3B0aW9ucyhbXG4gICAgeyBsYWJlbDogJ+WlsycsIHZhbHVlOiBHZW5kZXIuV29tYW4gfSxcbiAgICB7IGxhYmVsOiAn55S3JywgdmFsdWU6IEdlbmRlci5NYW4gfVxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3J5Q2FzY2FkZXIoa2V5OiBTY2hlbWFLZXksIGNoYW5uZWxzOiBDaGFubmVsW10sIGNhdGVnb3JpZXM6IENhdGVnb3J5W10pOiBVbnN0YWJsZUJ1aWxkZXI8Q2FzY2FkZXJDb250cm9sU2NoZW1hLCBLaW5kT3JLZXkgfCAnb3B0aW9ucycgfCAndHJpZ2dlcicgfCAnY29uZmlnJyB8ICdtYXBwZXInPiB7XG4gIHJldHVybiBlbnRpdHlDYXNjYWRlcihrZXkpLm9wdGlvbnMobGV2ZWxzMnRyZWUoW2NoYW5uZWxzLCBjYXRlZ29yaWVzXSwgJ2NoYW5uZWwnKSk7XG59XG5cbi8qKlxuICog6YCa55So55qE5a6e5L2T5aSa6YCJ5qGGXG4gKlxuICog5bey57uP6YWN572u5LqGIGxhYmVsUHJvcGVydHk6ICdmdWxsTmFtZScsIHZhbHVlUHJvcGVydHk6ICdpZCdcbiAqIEBwYXJhbSBrZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eUNoZWNrYm94R3JvdXAoa2V5OiBzdHJpbmcpOiBVbnN0YWJsZUJ1aWxkZXI8Q2hlY2tib3hHcm91cENvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICdjb25maWcnPiB7XG4gIHJldHVybiBjaGVja2JveEdyb3VwKGtleSkuY29uZmlnKHsgbGFiZWxQcm9wZXJ0eTogJ2Z1bGxOYW1lJywgdmFsdWVQcm9wZXJ0eTogJ2lkJyB9KTtcbn1cblxuLyoqXG4gKiDpgJrnlKjnmoTlrp7kvZPljZXpgInmoYZcbiAqXG4gKiDlt7Lnu4/phY3nva7kuoYgbGFiZWxQcm9wZXJ0eTogJ2Z1bGxOYW1lJywgdmFsdWVQcm9wZXJ0eTogJ2lkJ1xuICogQHBhcmFtIGtleVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5UmFkaW9Hcm91cChrZXk6IHN0cmluZyk6IFVuc3RhYmxlQnVpbGRlcjxSYWRpb0dyb3VwQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ2NvbmZpZyc+IHtcbiAgcmV0dXJuIHJhZGlvR3JvdXAoa2V5KS5jb25maWcoeyBsYWJlbFByb3BlcnR5OiAnZnVsbE5hbWUnLCB2YWx1ZVByb3BlcnR5OiAnaWQnIH0pO1xufVxuXG4vKipcbiAqIOmAmueUqOeahOWunuS9k+mAieaLqeWZqFxuICpcbiAqIOW3sue7j+mFjee9ruS6hiBsYWJlbFByb3BlcnR5OiAnZnVsbE5hbWUnLCB2YWx1ZVByb3BlcnR5OiAnaWQnXG4gKiBAcGFyYW0ga2V5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnRpdHlTZWxlY3Qoa2V5OiBTaW5nbGVTY2hlbWFLZXkpOiBVbnN0YWJsZUJ1aWxkZXI8U2VsZWN0Q29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ2NvbmZpZyc+IHtcbiAgcmV0dXJuIHNlbGVjdChrZXkpLmNvbmZpZyh7IGxhYmVsUHJvcGVydHk6ICdmdWxsTmFtZScsIHZhbHVlUHJvcGVydHk6ICdpZCcgfSk7XG59XG5cbi8qKlxuICog6YCa55So55qE5a6e5L2T6IGU57qn6YCJ5oup5ZmoXG4gKlxuICogLSDlpJrlrZfmrrXmqKHlvI/kuIvkuI3mlK/mjIHku6XkuIvpgInpobnvvJpcbiAqICAgLSDkuI3mlK/mjIHkvb/nlKjlh73mlbDkvZzkuLogb3B0aW9uc1xuICogICAtIOS4jeaUr+aMgSBmZXRjaE9wdGlvbnMg6YCJ6aG5XG4gKlxuICogb3B0aW9ucyDpgInpobnlj6/ku6Xkvb/nlKggYGxpc3QydHJlZSgpYCDmiJYgYGxldmVsczJ0cmVlKClgIOadpeaehOmAoFxuICpcbiAqIEBwYXJhbSBrZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eUNhc2NhZGVyKGtleTogU2NoZW1hS2V5KTogVW5zdGFibGVCdWlsZGVyPENhc2NhZGVyQ29udHJvbFNjaGVtYSwgS2luZE9yS2V5IHwgJ3RyaWdnZXInIHwgJ2NvbmZpZycgfCAnbWFwcGVyJz4ge1xuICBsZXQgbGlzdDogVHJlZU5vZGVbXTtcblxuICByZXR1cm4gY2FzY2FkZXIoa2V5KVxuICAgIC50cmlnZ2VyKCdob3ZlcicpXG4gICAgLm1hcHBlcih7XG4gICAgICBwYXJzZXI6ICh2YWx1ZTogVHJlZU5vZGVbJ2lkJ10gfCBUcmVlTm9kZVsnaWQnXVtdIHwgbnVsbCwgc2NoZW1hKSA9PiB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsO1xuXG4gICAgICAgIC8vIOWmguaenOi+k+WFpeeahOaYr+aVsOe7hO+8jOWImeivtOaYjuW9k+WJjeaYr+WkmuWtl+auteaooeW8j++8jOS4jemcgOimgeWBmuWkhOeQhlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB2YWx1ZTtcblxuICAgICAgICAvLyDlpoLmnpzovpPlhaXnmoTmmK/lj7blrZDoioLngrnvvIzmiJHku6zpnIDopoHovazkuLogW+eItuiKgueCuSwgLi4uLCDlj7blrZDoioLngrldXG4gICAgICAgIGxpc3QgPz89IHRyZWUybGlzdCgoc2NoZW1hIGFzIENhc2NhZGVyQ29udHJvbFNjaGVtYSkub3B0aW9ucyBhcyBUcmVlTm9kZVtdKTtcbiAgICAgICAgLy8g5om+5Yiw6YCJ5Lit55qE5Y+25a2Q6IqC54K5XG4gICAgICAgIGxldCBub2RlID0gbGlzdC5maW5kKG5vZGUgPT4gbm9kZS5pZCA9PT0gdmFsdWUgJiYgbm9kZS5pc0xlYWYpO1xuXG4gICAgICAgIGNvbnN0IGxldmVscyA9IFtdO1xuXG4gICAgICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgICAgbGV2ZWxzLnVuc2hpZnQobm9kZS5pZCk7XG4gICAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxldmVscztcbiAgICAgIH0sXG4gICAgICBmb3JtYXR0ZXI6IHZhbHVlID0+IHtcbiAgICAgICAgLy8g5aSa5a2X5q615qih5byP77yM5LiN6ZyA6KaB5aSE55CGXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGtleSkpIHJldHVybiB2YWx1ZTtcblxuICAgICAgICAvLyDovpPlh7rnmoTmmK/oioLngrnmlbDnu4TvvIzmiJHku6zlj6ropoHlj7blrZDoioLngrlcbiAgICAgICAgcmV0dXJuIHZhbHVlPy5bdmFsdWUubGVuZ3RoIC0gMV07XG4gICAgICB9XG4gICAgfSlcbiAgICAuY29uZmlnKHsgbGFiZWxQcm9wZXJ0eTogJ2Z1bGxOYW1lJywgdmFsdWVQcm9wZXJ0eTogJ2lkJyB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lUGlja2VyKGtleTogc3RyaW5nLCBmb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbScpOiBVbnN0YWJsZUJ1aWxkZXI8RGF0ZVBpY2tlckNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICd0aW1lJyB8ICdmb3JtYXQnPiB7XG4gIHJldHVybiBkYXRlUGlja2VyKGtleSlcbiAgICAudGltZSh7IG56Rm9ybWF0OiAnSEg6bW0nIH0pXG4gICAgLmZvcm1hdChmb3JtYXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZXRpbWVSYW5nZVBpY2tlcihrZXk6IFNjaGVtYUtleSwgZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW0nKTogVW5zdGFibGVCdWlsZGVyPERhdGVSYW5nZVBpY2tlckNvbnRyb2xTY2hlbWEsIEtpbmRPcktleSB8ICd0aW1lJyB8ICdmb3JtYXQnPiB7XG4gIHJldHVybiBkYXRlUmFuZ2VQaWNrZXIoa2V5KVxuICAgIC50aW1lKHsgbnpGb3JtYXQ6ICdISDptbScgfSlcbiAgICAuZm9ybWF0KGZvcm1hdCk7XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { form } from '@fluent-form/core';
2
+ import { headless } from '@fluent-form/ui-zorro';
3
+ /**
4
+ * 实体表单
5
+ *
6
+ * 内置了一个 Headless ID 控件图示:`headless('id')`
7
+ * @param schemas
8
+ */
9
+ export function entityForm(composeFn) {
10
+ return form(() => {
11
+ headless('id');
12
+ composeFn();
13
+ });
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdqRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsU0FBMEI7SUFDbkQsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtIH0gZnJvbSAnQGZsdWVudC1mb3JtL2NvcmUnO1xuaW1wb3J0IHsgaGVhZGxlc3MgfSBmcm9tICdAZmx1ZW50LWZvcm0vdWktem9ycm8nO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiDlrp7kvZPooajljZVcbiAqXG4gKiDlhoXnva7kuobkuIDkuKogSGVhZGxlc3MgSUQg5o6n5Lu25Zu+56S677yaYGhlYWRsZXNzKCdpZCcpYFxuICogQHBhcmFtIHNjaGVtYXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eUZvcm0oY29tcG9zZUZuOiAoKSA9PiBOelNhZmVBbnkpIHtcbiAgcmV0dXJuIGZvcm0oKCkgPT4ge1xuICAgIGhlYWRsZXNzKCdpZCcpO1xuICAgIGNvbXBvc2VGbigpO1xuICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './components';
2
+ export * from './controls';
3
+ export * from './form';
4
+ export * from './patchers';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGNoZXJzJztcbiJdfQ==
@@ -0,0 +1,57 @@
1
+ function parseLabel(label) {
2
+ if (typeof label === 'string') {
3
+ return label;
4
+ }
5
+ return label.content ?? '';
6
+ }
7
+ function autoPlaceholder(schema, action) {
8
+ const label = schema['label'];
9
+ if (label && typeof label !== 'function') {
10
+ schema['placeholder'] ??= action + parseLabel(label);
11
+ }
12
+ return schema;
13
+ }
14
+ /**
15
+ * 为文本框字段自动添加 placeholder
16
+ */
17
+ export function useAutoPlaceholderPatchers() {
18
+ return [
19
+ {
20
+ selector: ['text', 'number'],
21
+ patch: schema => autoPlaceholder(schema, '请输入')
22
+ },
23
+ {
24
+ selector: 'textarea',
25
+ patch: schema => autoPlaceholder(schema, '请填写')
26
+ },
27
+ {
28
+ selector: ['date-picker', 'time-picker', 'select', 'cascader', 'tree-select'],
29
+ patch: schema => autoPlaceholder(schema, '请选择')
30
+ }
31
+ ];
32
+ }
33
+ /**
34
+ * 1. 自动为非必填字段添加清除按钮
35
+ * 2. 为选择器添加搜索功能
36
+ */
37
+ export function useImprovedPickerPatchers() {
38
+ return [
39
+ {
40
+ selector: ['date-picker', 'time-picker', 'select', 'cascader', 'tree-select'],
41
+ patch: schema => {
42
+ if (!schema['required']) {
43
+ schema['clearable'] ??= true;
44
+ }
45
+ return schema;
46
+ }
47
+ },
48
+ {
49
+ selector: ['select', 'cascader', 'tree-select'],
50
+ patch: schema => {
51
+ schema['searchable'] ??= true;
52
+ return schema;
53
+ }
54
+ }
55
+ ];
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mbHVlbnQtZm9ybS9wYXRjaGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxTQUFTLFVBQVUsQ0FBQyxLQUFxQjtJQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE1BQWtDLEVBQUUsTUFBYztJQUN6RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEMsTUFBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUM1QixLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNoRDtRQUNEO1lBQ0UsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDaEQ7UUFDRDtZQUNFLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDN0UsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDaEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQztZQUM3RSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUN4QixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDO2dCQUMvQixDQUFDO2dCQUVELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDL0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNkLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7Z0JBRTlCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NoZW1hUGF0Y2hlciB9IGZyb20gJ0BmbHVlbnQtZm9ybS9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Wm9ycm9Db250cm9sU2NoZW1hLCBMYWJlbCB9IGZyb20gJ0BmbHVlbnQtZm9ybS91aS16b3Jybyc7XG5cbmZ1bmN0aW9uIHBhcnNlTGFiZWwobGFiZWw6IHN0cmluZyB8IExhYmVsKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICByZXR1cm4gbGFiZWwuY29udGVudCA/PyAnJztcbn1cblxuZnVuY3Rpb24gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYTogQWJzdHJhY3Rab3Jyb0NvbnRyb2xTY2hlbWEsIGFjdGlvbjogc3RyaW5nKSB7XG4gIGNvbnN0IGxhYmVsID0gc2NoZW1hWydsYWJlbCddO1xuXG4gIGlmIChsYWJlbCAmJiB0eXBlb2YgbGFiZWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAoc2NoZW1hIGFzIGFueSlbJ3BsYWNlaG9sZGVyJ10gPz89IGFjdGlvbiArIHBhcnNlTGFiZWwobGFiZWwpO1xuICB9XG5cbiAgcmV0dXJuIHNjaGVtYTtcbn1cblxuLyoqXG4gKiDkuLrmlofmnKzmoYblrZfmrrXoh6rliqjmt7vliqAgcGxhY2Vob2xkZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUF1dG9QbGFjZWhvbGRlclBhdGNoZXJzKCk6IFNjaGVtYVBhdGNoZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgc2VsZWN0b3I6IFsndGV4dCcsICdudW1iZXInXSxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYSwgJ+ivt+i+k+WFpScpXG4gICAgfSxcbiAgICB7XG4gICAgICBzZWxlY3RvcjogJ3RleHRhcmVhJyxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYSwgJ+ivt+Whq+WGmScpXG4gICAgfSxcbiAgICB7XG4gICAgICBzZWxlY3RvcjogWydkYXRlLXBpY2tlcicsICd0aW1lLXBpY2tlcicsICdzZWxlY3QnLCAnY2FzY2FkZXInLCAndHJlZS1zZWxlY3QnXSxcbiAgICAgIHBhdGNoOiBzY2hlbWEgPT4gYXV0b1BsYWNlaG9sZGVyKHNjaGVtYSwgJ+ivt+mAieaLqScpXG4gICAgfVxuICBdO1xufVxuXG4vKipcbiAqIDEuIOiHquWKqOS4uumdnuW/heWhq+Wtl+autea3u+WKoOa4hemZpOaMiemSrlxuICogMi4g5Li66YCJ5oup5Zmo5re75Yqg5pCc57Si5Yqf6IO9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VJbXByb3ZlZFBpY2tlclBhdGNoZXJzKCk6IFNjaGVtYVBhdGNoZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgc2VsZWN0b3I6IFsnZGF0ZS1waWNrZXInLCAndGltZS1waWNrZXInLCAnc2VsZWN0JywgJ2Nhc2NhZGVyJywgJ3RyZWUtc2VsZWN0J10sXG4gICAgICBwYXRjaDogc2NoZW1hID0+IHtcbiAgICAgICAgaWYgKCFzY2hlbWFbJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICBzY2hlbWFbJ2NsZWFyYWJsZSddID8/PSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNjaGVtYTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHNlbGVjdG9yOiBbJ3NlbGVjdCcsICdjYXNjYWRlcicsICd0cmVlLXNlbGVjdCddLFxuICAgICAgcGF0Y2g6IHNjaGVtYSA9PiB7XG4gICAgICAgIHNjaGVtYVsnc2VhcmNoYWJsZSddID8/PSB0cnVlO1xuXG4gICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1mbHVlbnQtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2ZsdWVudC1mb3JtL3NvbGFyLWFuZ3VsYXItdWktem9ycm8tZmx1ZW50LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vZmx1ZW50LWZvcm0vdHlwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBLaW5kT3JLZXkgPSAna2luZCcgfCAna2V5JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export default void 0;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLEtBQUssQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgdm9pZCAwXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './media-uploader.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9tZWRpYS11cGxvYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZWRpYS11cGxvYWRlci5jb21wb25lbnQnO1xuIl19