@dignite-ng/expand.dynamic-form 3.0.0-rc.3 → 3.0.0-rc.30

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 (78) hide show
  1. package/README.md +117 -13
  2. package/esm2022/dignite-ng-expand.dynamic-form.mjs +1 -1
  3. package/esm2022/lib/components/dynamic/dynamic-config.component.mjs +11 -0
  4. package/esm2022/lib/components/dynamic/dynamic-control.component.mjs +11 -0
  5. package/esm2022/lib/components/dynamic/dynamic-search.component.mjs +66 -0
  6. package/esm2022/lib/components/dynamic/dynamic-view.component.mjs +58 -0
  7. package/esm2022/lib/components/dynamic/dynamic.component.mjs +18 -13
  8. package/esm2022/lib/components/dynamic/index.mjs +5 -1
  9. package/esm2022/lib/components/form/date-edit/date-edit-config.component.mjs +5 -4
  10. package/esm2022/lib/components/form/date-edit/date-edit-config.mjs +1 -1
  11. package/esm2022/lib/components/form/date-edit/date-edit-control.component.mjs +3 -3
  12. package/esm2022/lib/components/form/date-edit/date-edit-view.component.mjs +40 -0
  13. package/esm2022/lib/components/form/date-edit/index.mjs +2 -1
  14. package/esm2022/lib/components/form/form-control-group.mjs +27 -19
  15. package/esm2022/lib/components/form/index.mjs +1 -1
  16. package/esm2022/lib/components/form/numeric-edit/index.mjs +1 -1
  17. package/esm2022/lib/components/form/numeric-edit/numberic-edit-config.component.mjs +5 -4
  18. package/esm2022/lib/components/form/numeric-edit/numberic-edit-config.mjs +4 -3
  19. package/esm2022/lib/components/form/numeric-edit/numberic-edit-control.component.mjs +13 -11
  20. package/esm2022/lib/components/form/numeric-edit/numeric-edit-search.component.mjs +107 -0
  21. package/esm2022/lib/components/form/numeric-edit/numeric-edit-view.component.mjs +39 -0
  22. package/esm2022/lib/components/form/select/index.mjs +3 -1
  23. package/esm2022/lib/components/form/select/select-config.component.mjs +23 -10
  24. package/esm2022/lib/components/form/select/select-config.mjs +1 -1
  25. package/esm2022/lib/components/form/select/select-control.component.mjs +24 -17
  26. package/esm2022/lib/components/form/select/select-search.component.mjs +94 -0
  27. package/esm2022/lib/components/form/select/select-view.component.mjs +44 -0
  28. package/esm2022/lib/components/form/switch/index.mjs +3 -1
  29. package/esm2022/lib/components/form/switch/switch-config.component.mjs +5 -4
  30. package/esm2022/lib/components/form/switch/switch-config.mjs +1 -1
  31. package/esm2022/lib/components/form/switch/switch-control.component.mjs +5 -5
  32. package/esm2022/lib/components/form/switch/switch-search.component.mjs +79 -0
  33. package/esm2022/lib/components/form/switch/switch-view.component.mjs +40 -0
  34. package/esm2022/lib/components/form/text-edit/index.mjs +3 -1
  35. package/esm2022/lib/components/form/text-edit/text-edit-config.component.mjs +5 -4
  36. package/esm2022/lib/components/form/text-edit/text-edit-config.mjs +1 -1
  37. package/esm2022/lib/components/form/text-edit/text-edit-search.component.mjs +81 -0
  38. package/esm2022/lib/components/form/text-edit/text-edit-view.component.mjs +39 -0
  39. package/esm2022/lib/components/form/text-edit/text-edit.component.mjs +5 -5
  40. package/esm2022/lib/components/index.mjs +1 -1
  41. package/esm2022/lib/dynamic-form.module.mjs +67 -7
  42. package/esm2022/lib/enums/date-edit-interfaces.mjs +1 -1
  43. package/esm2022/lib/enums/text-edit-mode.mjs +1 -1
  44. package/esm2022/lib/interfaces/form-config-interfaces.mjs +1 -1
  45. package/esm2022/lib/interfaces/index.mjs +1 -1
  46. package/esm2022/lib/services/df-api.service.mjs +1 -1
  47. package/esm2022/lib/services/form-control.service.mjs +33 -0
  48. package/esm2022/lib/services/index.mjs +1 -1
  49. package/esm2022/public-api.mjs +1 -1
  50. package/fesm2022/dignite-ng-expand.dynamic-form.mjs +833 -78
  51. package/fesm2022/dignite-ng-expand.dynamic-form.mjs.map +1 -1
  52. package/lib/components/dynamic/dynamic-config.component.d.ts +5 -0
  53. package/lib/components/dynamic/dynamic-control.component.d.ts +5 -0
  54. package/lib/components/dynamic/dynamic-search.component.d.ts +28 -0
  55. package/lib/components/dynamic/dynamic-view.component.d.ts +24 -0
  56. package/lib/components/dynamic/dynamic.component.d.ts +2 -0
  57. package/lib/components/dynamic/index.d.ts +4 -0
  58. package/lib/components/form/date-edit/date-edit-view.component.d.ts +17 -0
  59. package/lib/components/form/date-edit/index.d.ts +1 -0
  60. package/lib/components/form/form-control-group.d.ts +1 -2
  61. package/lib/components/form/numeric-edit/numberic-edit-control.component.d.ts +1 -1
  62. package/lib/components/form/numeric-edit/numeric-edit-search.component.d.ts +35 -0
  63. package/lib/components/form/numeric-edit/numeric-edit-view.component.d.ts +17 -0
  64. package/lib/components/form/select/index.d.ts +2 -0
  65. package/lib/components/form/select/select-config.component.d.ts +2 -0
  66. package/lib/components/form/select/select-search.component.d.ts +30 -0
  67. package/lib/components/form/select/select-view.component.d.ts +17 -0
  68. package/lib/components/form/switch/index.d.ts +2 -0
  69. package/lib/components/form/switch/switch-control.component.d.ts +1 -1
  70. package/lib/components/form/switch/switch-search.component.d.ts +28 -0
  71. package/lib/components/form/switch/switch-view.component.d.ts +17 -0
  72. package/lib/components/form/text-edit/index.d.ts +2 -0
  73. package/lib/components/form/text-edit/text-edit-search.component.d.ts +30 -0
  74. package/lib/components/form/text-edit/text-edit-view.component.d.ts +17 -0
  75. package/lib/dynamic-form.module.d.ts +19 -5
  76. package/lib/interfaces/form-config-interfaces.d.ts +8 -4
  77. package/lib/services/form-control.service.d.ts +9 -0
  78. package/package.json +11 -9
package/README.md CHANGED
@@ -1,24 +1,128 @@
1
- # DynamicForm
1
+ ## ℹ️ Description
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
3
+ ABP Framework is a complete open-source infrastructure to create modern web applications by following the best practices and conventions of software development. This package is a part of the [ABP Framework](https://abp.io) and contains client-side files.
4
+ For more information, check out the below links:
4
5
 
5
- ## Code scaffolding
6
+ 🔗Official Website: https://abp.io
6
7
 
7
- Run `ng generate component component-name --project dynamic-form` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project dynamic-form`.
8
- > Note: Don't forget to add `--project dynamic-form` or else it will be added to the default project in your `angular.json` file.
8
+ 🔗Commercial Demo: https://abp.io/demo
9
9
 
10
- ## Build
10
+ 🔗GitHub Repository: https://github.com/abpframework/abp
11
11
 
12
- Run `ng build dynamic-form` to build the project. The build artifacts will be stored in the `dist/` directory.
12
+ 🔗Official Theme: https://www.LeptonTheme.com
13
13
 
14
- ## Publishing
14
+ 🔗Documentation: https://abp.io/docs/latest/
15
15
 
16
- After building your library with `ng build dynamic-form`, go to the dist folder `cd dist/dynamic-form` and run `npm publish`.
16
+ 🔗Community: https://abp.io/community/
17
17
 
18
- ## Running unit tests
18
+ 🔗Blog: https://abp.io/blog/
19
19
 
20
- Run `ng test dynamic-form` to execute the unit tests via [Karma](https://karma-runner.github.io).
20
+ 🔗Books: https://abp.io/books
21
21
 
22
- ## Further help
22
+ 🔗Twitter: https://twitter.com/abpframework
23
23
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
24
+ 🔗Discord: https://abp.io/community/discord
25
+
26
+ 🔗Stackoverflow: https://stackoverflow.com/questions/tagged/abp
27
+
28
+ 🔗YouTube: https://www.youtube.com/@Volosoft
29
+
30
+
31
+ ## 🤔 Why ABP Platform?
32
+
33
+ Why should you use the ABP.IO Platform instead of creating a new solution from scratch?
34
+
35
+ You can find the answer here 👉🏻 [Why ABP Platform?](https://abp.io/docs/latest/others/why-abp-platform)
36
+
37
+
38
+ ## 🚀 Key Features of the ABP Framework
39
+
40
+ 🟡 Modularity
41
+
42
+ 🟡 Multi-Tenancy
43
+
44
+ 🟡 Bootstrap Tag Helpers
45
+
46
+ 🟡 Dynamic Forms
47
+
48
+ 🟡 Authentication
49
+
50
+ 🟡 Authorization
51
+
52
+ 🟡 Distributed Event Bus
53
+
54
+ 🟡 BLOB Storing
55
+
56
+ 🟡 Text Templating
57
+
58
+ 🟡 Tooling: ABP CLI
59
+
60
+ 🟡 Cross-Cutting Concerns
61
+
62
+ 🟡 Bundling & Minification
63
+
64
+ 🟡 Virtual File System
65
+
66
+ 🟡 Theming
67
+
68
+ 🟡 Background Jobs
69
+
70
+ 🟡 DDD Infrastructure
71
+
72
+ 🟡 Auto REST APIs
73
+
74
+ 🟡 Dynamic Client Proxies
75
+
76
+ 🟡 Multiple Database Providers
77
+
78
+ 🟡 Data filtering
79
+
80
+ 🟡 Test Infrastructure
81
+
82
+ 🟡 Audit Logging
83
+
84
+ 🟡 Object to Object Mapping
85
+
86
+ 🟡 Email & SMS Abstractions
87
+
88
+ 🟡 Localization
89
+
90
+ 🟡 Setting Management
91
+
92
+ 🟡 Extension Methods
93
+
94
+ 🟡 Aspect Oriented Programming
95
+
96
+ 🟡 Dependency Injection
97
+
98
+
99
+ ## 🧐 How It Works?
100
+
101
+ The following page explains how you use the ABP.IO Platform as a .NET developer 👉 [How it works?](https://abp.io/how-it-works)
102
+
103
+
104
+ ### 📘 Supported Database Providers
105
+
106
+ 🔵 Entity Framework Core
107
+
108
+ 🔵 MongoDB
109
+
110
+ 🔵 Dapper
111
+
112
+
113
+ ### 🎴 Supported UI Frameworks
114
+
115
+ 🔵 Angular
116
+
117
+ 🔵 Razor Pages
118
+
119
+ 🔵 Blazor Web Assembly
120
+
121
+ 🔵 Blazor Server
122
+
123
+ 🔵 MAUI with Blazor Hybrid
124
+
125
+
126
+ ## 📫 Bug & Support
127
+
128
+ Support for open-source ABP Framework client-side packages is available at [GitHub Issues](https://github.com/abpframework/abp/issues), and the commercial support is available at [abp.io/support](https://abp.io/support/questions).
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnbml0ZS1uZy1leHBhbmQuZHluYW1pYy1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9kaWduaXRlLW5nLWV4cGFuZC5keW5hbWljLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnbml0ZS1uZy1leHBhbmQuZHluYW1pYy1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9kaWduaXRlLW5nLWV4cGFuZC5keW5hbWljLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DynamicConfigComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DynamicConfigComponent, selector: "df-dynamic-config", ngImport: i0, template: "<p>dynamic-config works!</p>\r\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicConfigComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'df-dynamic-config', template: "<p>dynamic-config works!</p>\r\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2R5bmFtaWMtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQix5RENQbkMsa0NBQ0E7OzJGRE1hLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGYtZHluYW1pYy1jb25maWcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWNvbmZpZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtY29uZmlnLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbmZpZ0NvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxwPmR5bmFtaWMtY29uZmlnIHdvcmtzITwvcD5cclxuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DynamicControlComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DynamicControlComponent, selector: "df-dynamic-control", ngImport: i0, template: "<p>dynamic-control works!</p>\r\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicControlComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'df-dynamic-control', template: "<p>dynamic-control works!</p>\r\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2R5bmFtaWMtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7a0dBQXZCLHVCQUF1QiwwRENQcEMsbUNBQ0E7OzJGRE1hLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGYtZHluYW1pYy1jb250cm9sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZHluYW1pYy1jb250cm9sLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbnRyb2xDb21wb25lbnQge1xyXG5cclxufVxyXG4iLCI8cD5keW5hbWljLWNvbnRyb2wgd29ya3MhPC9wPlxyXG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { FormControlService } from '../../services/form-control.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/form-control.service";
5
+ export class DynamicSearchComponent {
6
+ constructor(_FormControlService) {
7
+ this._FormControlService = _FormControlService;
8
+ /**字段配置列表 */
9
+ this._fields = '';
10
+ }
11
+ set culture(v) {
12
+ this._culture = v;
13
+ }
14
+ set parentFiledName(v) {
15
+ this._parentFiledName = v;
16
+ }
17
+ set fields(v) {
18
+ this._fields = v;
19
+ }
20
+ set entity(v) {
21
+ if (v) {
22
+ this._entity = v;
23
+ }
24
+ }
25
+ ngAfterContentInit() {
26
+ //Called after ngOnInit when the component's or directive's content has been initialized.
27
+ //Add 'implements AfterContentInit' to the class.
28
+ if (this._fields && this._entity && this._culture) {
29
+ let _fieldControlGroup = this._FormControlService.AddFieldControlGroup();
30
+ let fieldControlItem = _fieldControlGroup.find(el => el.name === this._fields?.field?.formControlName);
31
+ this.loadComponent(fieldControlItem);
32
+ }
33
+ }
34
+ /**加载动态展示组件 */
35
+ loadComponent(FieldControlItem) {
36
+ //清空了容器中的所有组件
37
+ this.FormSearchTemplateRef?.clear();
38
+ if (!FieldControlItem || !FieldControlItem.fieldSearchComponent)
39
+ return;
40
+ //在容器中创建组件
41
+ const { instance } = this.FormSearchTemplateRef?.createComponent(FieldControlItem.fieldSearchComponent); //创建组件模板
42
+ /**向创建的组件模板中传值 */
43
+ instance.fields = this._fields;
44
+ instance.parentFiledName = this._parentFiledName;
45
+ instance.culture = this._culture;
46
+ instance.entity = this._entity;
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicSearchComponent, deps: [{ token: i1.FormControlService }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DynamicSearchComponent, selector: "df-dynamic-search", inputs: { culture: "culture", parentFiledName: "parentFiledName", fields: "fields", entity: "entity" }, viewQueries: [{ propertyName: "FormSearchTemplateRef", first: true, predicate: ["FormSearchTemplateRef"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<template #FormSearchTemplateRef></template>", styles: [""] }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicSearchComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'df-dynamic-search', template: "<template #FormSearchTemplateRef></template>" }]
54
+ }], ctorParameters: () => [{ type: i1.FormControlService }], propDecorators: { culture: [{
55
+ type: Input
56
+ }], parentFiledName: [{
57
+ type: Input
58
+ }], fields: [{
59
+ type: Input
60
+ }], entity: [{
61
+ type: Input
62
+ }], FormSearchTemplateRef: [{
63
+ type: ViewChild,
64
+ args: ['FormSearchTemplateRef', { read: ViewContainerRef, static: true }]
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQVN6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLG1CQUF1QztRQUF2Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBbUIzRCxZQUFZO1FBQ1osWUFBTyxHQUFRLEVBQUUsQ0FBQztJQW5CbEIsQ0FBQztJQU1ELElBQ1csT0FBTyxDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUlELElBQ1csZUFBZSxDQUFDLENBQU07UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBSUQsSUFDVyxNQUFNLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBR0QsSUFDVyxNQUFNLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFPRCxrQkFBa0I7UUFDaEIseUZBQXlGO1FBQ3pGLGlEQUFpRDtRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEQsSUFBSSxrQkFBa0IsR0FBVSxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNoRixJQUFJLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztJQUNkLGFBQWEsQ0FBQyxnQkFBOEM7UUFDMUQsYUFBYTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0I7WUFBRSxPQUFPO1FBQ3hFLFVBQVU7UUFDVixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQVEsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGVBQWUsQ0FDbkUsZ0JBQWdCLENBQUMsb0JBQW9CLENBQ3RDLENBQUMsQ0FBQyxRQUFRO1FBRVgsaUJBQWlCO1FBQ2pCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMvQixRQUFRLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNqRCxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDakMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pDLENBQUM7OEdBakVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDRRQXFDVyxnQkFBZ0IsMkNDL0M5RCw4Q0FBNEM7OzJGRFUvQixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1CO3VGQWFsQixPQUFPO3NCQURqQixLQUFLO2dCQVFLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBUUssTUFBTTtzQkFEaEIsS0FBSztnQkFPSyxNQUFNO3NCQURoQixLQUFLO2dCQVVOLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tY29udHJvbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmllbGRDb250cm9sR3JvdXBJbnRlcmZhY2VzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGYtZHluYW1pYy1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWFyY2hDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX0Zvcm1Db250cm9sU2VydmljZTogRm9ybUNvbnRyb2xTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuIFxyXG5cclxuICAvKiror63oqIAgKi9cclxuICBfY3VsdHVyZTogRm9ybUdyb3VwIHwgYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjdWx0dXJlKHY6IGFueSkge1xyXG4gICAgdGhpcy5fY3VsdHVyZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKirniLbnuqflrZfmrrXlkI3np7DvvIznlKjkuo7kuLrooajljZXorr7nva7mjqfku7botYvlgLwgKi9cclxuICBfcGFyZW50RmlsZWROYW1lOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBhcmVudEZpbGVkTmFtZSh2OiBhbnkpIHtcclxuICAgIHRoaXMuX3BhcmVudEZpbGVkTmFtZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cclxuICBfZmllbGRzOiBhbnkgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xyXG4gICAgdGhpcy5fZmllbGRzID0gdjtcclxuICB9XHJcbiAgLyoq6KGo5Y2V5a6e5L2TICovXHJcbiAgX2VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XHJcbiAgICBpZiAodikge1xyXG4gICAgICB0aGlzLl9lbnRpdHkgPSB2O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKuihqOWNleaOp+S7tuaooeadvy3liqjmgIHooajljZXphY3nva7nu4Tku7YgKi9cclxuICBAVmlld0NoaWxkKCdGb3JtU2VhcmNoVGVtcGxhdGVSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIEZvcm1TZWFyY2hUZW1wbGF0ZVJlZj86IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vQ2FsbGVkIGFmdGVyIG5nT25Jbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIG9yIGRpcmVjdGl2ZSdzIGNvbnRlbnQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXHJcbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0JyB0byB0aGUgY2xhc3MuXHJcbiAgICBpZiAodGhpcy5fZmllbGRzICYmIHRoaXMuX2VudGl0eSYmdGhpcy5fY3VsdHVyZSkge1xyXG4gICAgICBsZXQgX2ZpZWxkQ29udHJvbEdyb3VwOiBhbnlbXSA9IHRoaXMuX0Zvcm1Db250cm9sU2VydmljZS5BZGRGaWVsZENvbnRyb2xHcm91cCgpO1xyXG4gICAgICBsZXQgZmllbGRDb250cm9sSXRlbSA9IF9maWVsZENvbnRyb2xHcm91cC5maW5kKGVsID0+IGVsLm5hbWUgPT09IHRoaXMuX2ZpZWxkcz8uZmllbGQ/LmZvcm1Db250cm9sTmFtZSk7XHJcbiAgICAgIHRoaXMubG9hZENvbXBvbmVudChmaWVsZENvbnRyb2xJdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKuWKoOi9veWKqOaAgeWxleekuue7hOS7tiAqL1xyXG4gIGxvYWRDb21wb25lbnQoRmllbGRDb250cm9sSXRlbT86IEZpZWxkQ29udHJvbEdyb3VwSW50ZXJmYWNlcykge1xyXG4gICAgLy/muIXnqbrkuoblrrnlmajkuK3nmoTmiYDmnInnu4Tku7ZcclxuICAgIHRoaXMuRm9ybVNlYXJjaFRlbXBsYXRlUmVmPy5jbGVhcigpO1xyXG4gICAgaWYgKCFGaWVsZENvbnRyb2xJdGVtIHx8ICFGaWVsZENvbnRyb2xJdGVtLmZpZWxkU2VhcmNoQ29tcG9uZW50KSByZXR1cm47XHJcbiAgICAvL+WcqOWuueWZqOS4reWIm+W7uue7hOS7tlxyXG4gICAgY29uc3QgeyBpbnN0YW5jZSB9OiBhbnkgPSB0aGlzLkZvcm1TZWFyY2hUZW1wbGF0ZVJlZj8uY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBGaWVsZENvbnRyb2xJdGVtLmZpZWxkU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgKTsgLy/liJvlu7rnu4Tku7bmqKHmnb9cclxuICAgIFxyXG4gICAgLyoq5ZCR5Yib5bu655qE57uE5Lu25qih5p2/5Lit5Lyg5YC8ICovXHJcbiAgICBpbnN0YW5jZS5maWVsZHMgPSB0aGlzLl9maWVsZHM7XHJcbiAgICBpbnN0YW5jZS5wYXJlbnRGaWxlZE5hbWUgPSB0aGlzLl9wYXJlbnRGaWxlZE5hbWU7XHJcbiAgICBpbnN0YW5jZS5jdWx0dXJlID0gdGhpcy5fY3VsdHVyZTtcclxuICAgIGluc3RhbmNlLmVudGl0eSA9IHRoaXMuX2VudGl0eTtcclxuICB9XHJcbn1cclxuIiwiPHRlbXBsYXRlICNGb3JtU2VhcmNoVGVtcGxhdGVSZWY+PC90ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,58 @@
1
+ import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { FormControlService } from '../../services/form-control.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/form-control.service";
5
+ export class DynamicViewComponent {
6
+ constructor(_FormControlService) {
7
+ this._FormControlService = _FormControlService;
8
+ /**是否显示再列表 */
9
+ this.showInList = false;
10
+ /**表单控件Value */
11
+ this._value = '';
12
+ }
13
+ set value(v) {
14
+ this._value = v;
15
+ // if(this._value) this.dataLoaded();
16
+ }
17
+ ngAfterContentInit() {
18
+ //Called after ngOnInit when the component's or directive's content has been initialized.
19
+ //Add 'implements AfterContentInit' to the class.
20
+ if (this.type && this._value !== '') {
21
+ let _fieldControlGroup = this._FormControlService.AddFieldControlGroup();
22
+ let fieldControlItem = _fieldControlGroup.find(el => el.name === this.type);
23
+ this.loadViewComponent(fieldControlItem);
24
+ }
25
+ }
26
+ /**加载动态展示组件 */
27
+ loadViewComponent(FieldControlItem) {
28
+ //清空了容器中的所有组件
29
+ this.FormTemplateRef?.clear();
30
+ if (!FieldControlItem || !FieldControlItem.fieldViewComponent)
31
+ return;
32
+ //在容器中创建组件
33
+ const { instance } = this.FormTemplateRef?.createComponent(FieldControlItem.fieldViewComponent); //创建组件模板
34
+ /**向创建的组件模板中传值 */
35
+ instance.type = this.type;
36
+ instance.value = this._value;
37
+ instance.fields = this.fields;
38
+ instance.showInList = this.showInList;
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicViewComponent, deps: [{ token: i1.FormControlService }], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DynamicViewComponent, selector: "df-dynamic-view", inputs: { showInList: "showInList", fields: "fields", type: "type", value: "value" }, viewQueries: [{ propertyName: "FormTemplateRef", first: true, predicate: ["FormTemplateRef"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<template #FormTemplateRef></template>", styles: [""] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicViewComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'df-dynamic-view', template: "<template #FormTemplateRef></template>" }]
46
+ }], ctorParameters: () => [{ type: i1.FormControlService }], propDecorators: { showInList: [{
47
+ type: Input
48
+ }], fields: [{
49
+ type: Input
50
+ }], type: [{
51
+ type: Input
52
+ }], value: [{
53
+ type: Input
54
+ }], FormTemplateRef: [{
55
+ type: ViewChild,
56
+ args: ['FormTemplateRef', { read: ViewContainerRef, static: true }]
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2R5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQVF6RSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLG1CQUF1QztRQUF2Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBRTNELGFBQWE7UUFDSixlQUFVLEdBQVksS0FBSyxDQUFDO1FBT3JDLGVBQWU7UUFDZixXQUFNLEdBQVEsRUFBRSxDQUFDO0lBWDZDLENBQUM7SUFZL0QsSUFDVyxLQUFLLENBQUMsQ0FBTTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixxQ0FBcUM7SUFDdkMsQ0FBQztJQU1ELGtCQUFrQjtRQUNoQix5RkFBeUY7UUFDekYsaURBQWlEO1FBQ2pELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksa0JBQWtCLEdBQVUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEYsSUFBSSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDZCxpQkFBaUIsQ0FBQyxnQkFBOEM7UUFDOUQsYUFBYTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCO1lBQUUsT0FBTztRQUN0RSxVQUFVO1FBQ1YsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFRLElBQUksQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUM3RCxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDcEMsQ0FBQyxDQUFDLFFBQVE7UUFDWCxpQkFBaUI7UUFDakIsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM3QixRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUIsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hDLENBQUM7OEdBL0NVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRPQW9CTyxnQkFBZ0IsMkNDN0J4RCx3Q0FBc0M7OzJGRFN6QixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO3VGQVFsQixVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0ssS0FBSztzQkFEZixLQUFLO2dCQVFOLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tY29udHJvbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmllbGRDb250cm9sR3JvdXBJbnRlcmZhY2VzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RmLWR5bmFtaWMtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtdmlldy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVmlld0NvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfRm9ybUNvbnRyb2xTZXJ2aWNlOiBGb3JtQ29udHJvbFNlcnZpY2UpIHt9XHJcblxyXG4gIC8qKuaYr+WQpuaYvuekuuWGjeWIl+ihqCAqL1xyXG4gIEBJbnB1dCgpIHNob3dJbkxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKirooajljZXlrZfmrrXmlbDmja4gKi9cclxuICBASW5wdXQoKSBmaWVsZHM6IGFueTtcclxuXHJcbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXHJcbiAgQElucHV0KCkgdHlwZTogYW55O1xyXG5cclxuICAvKirooajljZXmjqfku7ZWYWx1ZSAqL1xyXG4gIF92YWx1ZTogYW55ID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgLy8gaWYodGhpcy5fdmFsdWUpIHRoaXMuZGF0YUxvYWRlZCgpO1xyXG4gIH1cclxuXHJcbiAgLyoq6KGo5Y2V5o6n5Lu25qih5p2/LeWKqOaAgeihqOWNlemFjee9rue7hOS7tiAqL1xyXG4gIEBWaWV3Q2hpbGQoJ0Zvcm1UZW1wbGF0ZVJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgRm9ybVRlbXBsYXRlUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdPbkluaXQgd2hlbiB0aGUgY29tcG9uZW50J3Mgb3IgZGlyZWN0aXZlJ3MgY29udGVudCBoYXMgYmVlbiBpbml0aWFsaXplZC5cclxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQnIHRvIHRoZSBjbGFzcy5cclxuICAgIGlmICh0aGlzLnR5cGUgJiYgdGhpcy5fdmFsdWUhPT0nJykge1xyXG4gICAgICBsZXQgX2ZpZWxkQ29udHJvbEdyb3VwOiBhbnlbXSA9IHRoaXMuX0Zvcm1Db250cm9sU2VydmljZS5BZGRGaWVsZENvbnRyb2xHcm91cCgpO1xyXG4gICAgICBsZXQgZmllbGRDb250cm9sSXRlbSA9IF9maWVsZENvbnRyb2xHcm91cC5maW5kKGVsID0+IGVsLm5hbWUgPT09IHRoaXMudHlwZSk7XHJcbiAgICAgIHRoaXMubG9hZFZpZXdDb21wb25lbnQoZmllbGRDb250cm9sSXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKirliqDovb3liqjmgIHlsZXnpLrnu4Tku7YgKi9cclxuICBsb2FkVmlld0NvbXBvbmVudChGaWVsZENvbnRyb2xJdGVtPzogRmllbGRDb250cm9sR3JvdXBJbnRlcmZhY2VzKSB7XHJcbiAgICAvL+a4heepuuS6huWuueWZqOS4reeahOaJgOaciee7hOS7tlxyXG4gICAgdGhpcy5Gb3JtVGVtcGxhdGVSZWY/LmNsZWFyKCk7XHJcbiAgICBpZiAoIUZpZWxkQ29udHJvbEl0ZW0gfHwgIUZpZWxkQ29udHJvbEl0ZW0uZmllbGRWaWV3Q29tcG9uZW50KSByZXR1cm47XHJcbiAgICAvL+WcqOWuueWZqOS4reWIm+W7uue7hOS7tlxyXG4gICAgY29uc3QgeyBpbnN0YW5jZSB9OiBhbnkgPSB0aGlzLkZvcm1UZW1wbGF0ZVJlZj8uY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBGaWVsZENvbnRyb2xJdGVtLmZpZWxkVmlld0NvbXBvbmVudCxcclxuICAgICk7IC8v5Yib5bu657uE5Lu25qih5p2/XHJcbiAgICAvKirlkJHliJvlu7rnmoTnu4Tku7bmqKHmnb/kuK3kvKDlgLwgKi9cclxuICAgIGluc3RhbmNlLnR5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICBpbnN0YW5jZS52YWx1ZSA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgaW5zdGFuY2UuZmllbGRzID0gdGhpcy5maWVsZHM7XHJcbiAgICBpbnN0YW5jZS5zaG93SW5MaXN0ID0gdGhpcy5zaG93SW5MaXN0O1xyXG4gIH1cclxufVxyXG4iLCI8dGVtcGxhdGUgI0Zvcm1UZW1wbGF0ZVJlZj48L3RlbXBsYXRlPiJdfQ==
@@ -1,11 +1,9 @@
1
- import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { getExcludeAssignControl } from '../form';
1
+ /* eslint-disable no-unsafe-optional-chaining */
2
+ /* eslint-disable @angular-eslint/component-selector */
3
+ import { Component, Inject, Input, ViewChild, ViewContainerRef } from '@angular/core';
4
+ import { AddFieldControlGroup, } from '../form';
3
5
  import * as i0 from "@angular/core";
4
6
  export class DynamicComponent {
5
- constructor() {
6
- /**字段配置列表 */
7
- this._fields = '';
8
- }
9
7
  set selected(v) {
10
8
  this._selected = v === undefined ? '' : v === null ? '' : v;
11
9
  }
@@ -29,19 +27,23 @@ export class DynamicComponent {
29
27
  this.dataLoaded(3);
30
28
  }
31
29
  }
30
+ constructor(mergedConfig) {
31
+ this.mergedConfig = mergedConfig;
32
+ /**字段配置列表 */
33
+ this._fields = '';
34
+ }
32
35
  /**数据加载完成 */
33
36
  async dataLoaded(val) {
34
- // let _fieldControlGroup:any[] = FieldControlGroup;
35
- let _fieldControlGroup = new Array(...await getExcludeAssignControl());
37
+ const _fieldControlGroup = AddFieldControlGroup(this.mergedConfig);
36
38
  if (this._entity) {
37
39
  //加载所有的动态表单组件
38
40
  if (this._type) {
39
- let fieldControlItem = _fieldControlGroup.find(el => el.name === this._type);
41
+ const fieldControlItem = _fieldControlGroup.find(el => el.name === this._type);
40
42
  this.loadfieldConfigComponent(fieldControlItem);
41
43
  }
42
44
  if (this._fields && this._parentFiledName && this._culture) {
43
45
  /**表单控件组中的项 */
44
- let fieldControlItem = _fieldControlGroup.find(el => el.name === this._fields.field.formControlName);
46
+ const fieldControlItem = _fieldControlGroup.find(el => el.name === this._fields?.field?.formControlName);
45
47
  this.loadfieldComponent(fieldControlItem);
46
48
  }
47
49
  }
@@ -75,13 +77,16 @@ export class DynamicComponent {
75
77
  instance.culture = this._culture;
76
78
  instance.entity = this._entity;
77
79
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicComponent, deps: [{ token: 'MERGED_FORM_CONFIG' }], target: i0.ɵɵFactoryTarget.Component }); }
79
81
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DynamicComponent, selector: "df-dynamic", inputs: { selected: "selected", type: "type", culture: "culture", parentFiledName: "parentFiledName", fields: "fields", entity: "entity" }, viewQueries: [{ propertyName: "FormControlRef", first: true, predicate: ["FormControlRef"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "FormComponentsRef", first: true, predicate: ["FormComponentsRef"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<template #FormControlRef></template>\n<template #FormComponentsRef></template>", styles: [""] }); }
80
82
  }
81
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DynamicComponent, decorators: [{
82
84
  type: Component,
83
85
  args: [{ selector: 'df-dynamic', template: "<template #FormControlRef></template>\n<template #FormComponentsRef></template>" }]
84
- }], propDecorators: { selected: [{
86
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
87
+ type: Inject,
88
+ args: ['MERGED_FORM_CONFIG']
89
+ }] }], propDecorators: { selected: [{
85
90
  type: Input
86
91
  }], type: [{
87
92
  type: Input
@@ -100,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
100
105
  type: ViewChild,
101
106
  args: ['FormComponentsRef', { read: ViewContainerRef, static: true }]
102
107
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvZHluYW1pYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvZHluYW1pYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQW1DRSxZQUFZO1FBQ1osWUFBTyxHQUFRLEVBQUUsQ0FBQztLQTBFbkI7SUF0R0MsSUFDVyxRQUFRLENBQUMsQ0FBTTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUlELElBQ1csSUFBSSxDQUFDLENBQVM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFHLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBSUQsSUFDVyxPQUFPLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBSUQsSUFDVyxlQUFlLENBQUMsQ0FBTTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcs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QztRQUNqQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQzs4R0F4R1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMlJBK0NVLGdCQUFnQiwrSEFJYixnQkFBZ0IsMkNDN0QxRCxpRkFDd0M7OzJGRFMzQixnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTs4QkFRWCxRQUFRO3NCQURsQixLQUFLO2dCQVFLLElBQUk7c0JBRGQsS0FBSztnQkFTSyxPQUFPO3NCQURqQixLQUFLO2dCQVFLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBUUssTUFBTTtzQkFEaEIsS0FBSztnQkFPSyxNQUFNO3NCQURoQixLQUFLO2dCQVVOLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtyRSxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xHcm91cEludGVyZmFjZXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZpZWxkQ29udHJvbEdyb3VwLCBnZXRFeGNsdWRlQXNzaWduQ29udHJvbCB9IGZyb20gJy4uL2Zvcm0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZi1keW5hbWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnQge1xuICAvKirpgInmi6nnmoTooajljZXkv6Hmga8gKi9cbiAgX3NlbGVjdGVkOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodjogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2ID09PSB1bmRlZmluZWQgPyAnJyA6IHYgPT09IG51bGwgPyAnJyA6IHY7XG4gIH1cblxuICAvKirooajljZXmjqfku7bnsbvlnosgKi9cbiAgX3R5cGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0eXBlKHY6IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2O1xuICAgIGlmKHRoaXMuX2VudGl0eSkgdGhpcy5kYXRhTG9hZGVkKDMpO1xuICB9XG5cbiAgLyoq6K+t6KiAICovXG4gIF9jdWx0dXJlOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY3VsdHVyZSh2OiBhbnkpIHtcbiAgICB0aGlzLl9jdWx0dXJlID0gdjtcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyZW50RmlsZWROYW1lKHY6IGFueSkge1xuICAgIHRoaXMuX3BhcmVudEZpbGVkTmFtZSA9IHY7XG4gIH1cblxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cbiAgX2ZpZWxkczogYW55ID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkcyA9IHY7XG4gIH1cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIF9lbnRpdHk6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XG4gICAgaWYgKHYpIHtcbiAgICAgIHRoaXMuX2VudGl0eSA9IHY7XG4gICAgICB0aGlzLmRhdGFMb2FkZWQoMyk7XG4gICAgfVxuICB9XG5cbiAgLyoq6KGo5Y2V5o6n5Lu25qih5p2/LeWKqOaAgeihqOWNlemFjee9rue7hOS7tiAqL1xuICBAVmlld0NoaWxkKCdGb3JtQ29udHJvbFJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIEZvcm1Db250cm9sUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKirooajljZXmjqfku7bmqKHmnb8t5Yqo5oCB6KGo5Y2V57uE5Lu2ICovXG4gIEBWaWV3Q2hpbGQoJ0Zvcm1Db21wb25lbnRzUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgRm9ybUNvbXBvbmVudHNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICBcblxuICAvKirmlbDmja7liqDovb3lrozmiJAgKi9cbiAgYXN5bmMgZGF0YUxvYWRlZCh2YWwpIHtcbiAgICAvLyBsZXQgX2ZpZWxkQ29udHJvbEdyb3VwOmFueVtdID0gRmllbGRDb250cm9sR3JvdXA7XG4gICAgbGV0IF9maWVsZENvbnRyb2xHcm91cDphbnlbXSA9IG5ldyBBcnJheSguLi5hd2FpdCBnZXRFeGNsdWRlQXNzaWduQ29udHJvbCgpKTtcbiAgICBpZiAodGhpcy5fZW50aXR5KSB7XG4gICAgICAvL+WKoOi9veaJgOacieeahOWKqOaAgeihqOWNlee7hOS7tlxuICAgICAgaWYgKHRoaXMuX3R5cGUpIHtcbiAgICAgICAgbGV0IGZpZWxkQ29udHJvbEl0ZW0gPSBfZmllbGRDb250cm9sR3JvdXAuZmluZChlbCA9PiBlbC5uYW1lID09PSB0aGlzLl90eXBlKTtcbiAgICAgICAgdGhpcy5sb2FkZmllbGRDb25maWdDb21wb25lbnQoZmllbGRDb250cm9sSXRlbSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZmllbGRzICYmIHRoaXMuX3BhcmVudEZpbGVkTmFtZSAmJiB0aGlzLl9jdWx0dXJlKSB7XG4gICAgICAgIC8qKuihqOWNleaOp+S7tue7hOS4reeahOmhuSAqL1xuICAgICAgICBsZXQgZmllbGRDb250cm9sSXRlbSA9IF9maWVsZENvbnRyb2xHcm91cC5maW5kKFxuICAgICAgICAgIGVsID0+IGVsLm5hbWUgPT09IHRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29udHJvbE5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5sb2FkZmllbGRDb21wb25lbnQoZmllbGRDb250cm9sSXRlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoq5Yqg6L295Yqo5oCB6KGo5Y2V6YWN572u57uE5Lu2ICovXG4gIGxvYWRmaWVsZENvbmZpZ0NvbXBvbmVudChGaWVsZENvbnRyb2xJdGVtPzogRmllbGRDb250cm9sR3JvdXBJbnRlcmZhY2VzKSB7XG4gICAgLy/muIXnqbrkuoblrrnlmajkuK3nmoTmiYDmnInnu4Tku7ZcbiAgICB0aGlzLkZvcm1Db250cm9sUmVmPy5jbGVhcigpO1xuICAgIGlmICghRmllbGRDb250cm9sSXRlbSB8fCAhRmllbGRDb250cm9sSXRlbS5maWVsZENvbmZpZ0NvbXBvbmVudCkgcmV0dXJuO1xuICAgIC8v5Zyo5a655Zmo5Lit5Yib5bu657uE5Lu2XG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gdGhpcy5Gb3JtQ29udHJvbFJlZj8uY3JlYXRlQ29tcG9uZW50KFxuICAgICAgRmllbGRDb250cm9sSXRlbS5maWVsZENvbmZpZ0NvbXBvbmVudFxuICAgICk7IC8v5Yib5bu657uE5Lu25qih5p2/XG4gICAgLyoq5ZCR5Yib5bu655qE57uE5Lu25qih5p2/5Lit5Lyg5YC8ICovXG4gICAgaW5zdGFuY2Uuc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZDtcbiAgICBpbnN0YW5jZS50eXBlID0gdGhpcy5fdHlwZTtcbiAgICBpbnN0YW5jZS5FbnRpdHkgPSB0aGlzLl9lbnRpdHk7XG4gIH1cblxuICAvKirliqDovb3liqjmgIHooajljZXnu4Tku7YgKi9cbiAgbG9hZGZpZWxkQ29tcG9uZW50KEZpZWxkQ29udHJvbEl0ZW0/OiBGaWVsZENvbnRyb2xHcm91cEludGVyZmFjZXMpIHtcbiAgICAvLyB0aGlzLkZvcm1Db250cm9sUmVmLmNsZWFyXG4gICAgLy/muIXnqbrkuoblrrnlmajkuK3nmoTmiYDmnInnu4Tku7ZcbiAgICB0aGlzLkZvcm1Db21wb25lbnRzUmVmPy5jbGVhcigpO1xuICAgIGlmICghRmllbGRDb250cm9sSXRlbSB8fCAhRmllbGRDb250cm9sSXRlbS5maWVsZENvbXBvbmVudCkgcmV0dXJuO1xuICAgIC8v5Zyo5a655Zmo5Lit5Yib5bu657uE5Lu2XG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gdGhpcy5Gb3JtQ29tcG9uZW50c1JlZj8uY3JlYXRlQ29tcG9uZW50KEZpZWxkQ29udHJvbEl0ZW0uZmllbGRDb21wb25lbnQpOyAvL+WIm+W7uue7hOS7tuaooeadv1xuICAgIC8qKuWQkeWIm+W7uueahOe7hOS7tuaooeadv+S4reS8oOWAvCAqL1xuICAgIGluc3RhbmNlLmZpZWxkcyA9IHRoaXMuX2ZpZWxkcztcbiAgICBpbnN0YW5jZS5wYXJlbnRGaWxlZE5hbWUgPSB0aGlzLl9wYXJlbnRGaWxlZE5hbWU7XG4gICAgaW5zdGFuY2Uuc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZDtcbiAgICBpbnN0YW5jZS5jdWx0dXJlID0gdGhpcy5fY3VsdHVyZTtcbiAgICBpbnN0YW5jZS5lbnRpdHkgPSB0aGlzLl9lbnRpdHk7XG4gIH1cbn1cbiIsIjx0ZW1wbGF0ZSAjRm9ybUNvbnRyb2xSZWY+PC90ZW1wbGF0ZT5cbjx0ZW1wbGF0ZSAjRm9ybUNvbXBvbmVudHNSZWY+PC90ZW1wbGF0ZT4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvZHluYW1pYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvZHluYW1pYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnREFBZ0Q7QUFDaEQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLG9CQUFvQixHQUFHLE1BQU0sU0FBUyxDQUFDOztBQU9oRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLElBQ1csUUFBUSxDQUFDLENBQU07UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFJRCxJQUNXLElBQUksQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUlELElBQ1csT0FBTyxDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUlELElBQ1csZUFBZSxDQUFDLENBQU07UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FB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QUFJLENBQUMsU0FBUyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFFakMsQ0FBQzs4R0E3R1UsZ0JBQWdCLGtCQXVEUCxvQkFBb0I7a0dBdkQ3QixnQkFBZ0IsMlJBZ0RVLGdCQUFnQiwrSEFJYixnQkFBZ0IsMkNDaEUxRCxpRkFDd0M7OzJGRFczQixnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTs7MEJBMkRULE1BQU07MkJBQUMsb0JBQW9CO3lDQWxEN0IsUUFBUTtzQkFEbEIsS0FBSztnQkFRSyxJQUFJO3NCQURkLEtBQUs7Z0JBU0ssT0FBTztzQkFEakIsS0FBSztnQkFRSyxlQUFlO3NCQUR6QixLQUFLO2dCQVFLLE1BQU07c0JBRGhCLEtBQUs7Z0JBT0ssTUFBTTtzQkFEaEIsS0FBSztnQkFVTixjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLckUsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnNhZmUtb3B0aW9uYWwtY2hhaW5pbmcgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xHcm91cEludGVyZmFjZXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFkZEZpZWxkQ29udHJvbEdyb3VwLCB9IGZyb20gJy4uL2Zvcm0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZi1keW5hbWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnQge1xuXG4gIC8qKumAieaLqeeahOihqOWNleS/oeaBryAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHYgPT09IHVuZGVmaW5lZCA/ICcnIDogdiA9PT0gbnVsbCA/ICcnIDogdjtcbiAgfVxuXG4gIC8qKuihqOWNleaOp+S7tuexu+WeiyAqL1xuICBfdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHR5cGUodjogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IHY7XG4gICAgaWYgKHRoaXMuX2VudGl0eSkgdGhpcy5kYXRhTG9hZGVkKDMpO1xuICB9XG5cbiAgLyoq6K+t6KiAICovXG4gIF9jdWx0dXJlOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY3VsdHVyZSh2OiBhbnkpIHtcbiAgICB0aGlzLl9jdWx0dXJlID0gdjtcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyZW50RmlsZWROYW1lKHY6IGFueSkge1xuICAgIHRoaXMuX3BhcmVudEZpbGVkTmFtZSA9IHY7XG4gIH1cblxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cbiAgX2ZpZWxkczogYW55ID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkcyA9IHY7XG4gIH1cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIF9lbnRpdHk6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XG4gICAgaWYgKHYpIHtcbiAgICAgIHRoaXMuX2VudGl0eSA9IHY7XG4gICAgICB0aGlzLmRhdGFMb2FkZWQoMyk7XG4gICAgfVxuICB9XG5cbiAgLyoq6KGo5Y2V5o6n5Lu25qih5p2/LeWKqOaAgeihqOWNlemFjee9rue7hOS7tiAqL1xuICBAVmlld0NoaWxkKCdGb3JtQ29udHJvbFJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIEZvcm1Db250cm9sUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKirooajljZXmjqfku7bmqKHmnb8t5Yqo5oCB6KGo5Y2V57uE5Lu2ICovXG4gIEBWaWV3Q2hpbGQoJ0Zvcm1Db21wb25lbnRzUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgRm9ybUNvbXBvbmVudHNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ01FUkdFRF9GT1JNX0NPTkZJRycpIHByaXZhdGUgbWVyZ2VkQ29uZmlnOiBhbnlbXSkge31cblxuICAvKirmlbDmja7liqDovb3lrozmiJAgKi9cbiAgYXN5bmMgZGF0YUxvYWRlZCh2YWwpIHtcbiAgICBjb25zdCBfZmllbGRDb250cm9sR3JvdXA6IGFueVtdID0gQWRkRmllbGRDb250cm9sR3JvdXAodGhpcy5tZXJnZWRDb25maWcpO1xuICAgIGlmICh0aGlzLl9lbnRpdHkpIHtcbiAgICAgIC8v5Yqg6L295omA5pyJ55qE5Yqo5oCB6KGo5Y2V57uE5Lu2XG4gICAgICBpZiAodGhpcy5fdHlwZSkge1xuICAgICAgICBjb25zdCBmaWVsZENvbnRyb2xJdGVtID0gX2ZpZWxkQ29udHJvbEdyb3VwLmZpbmQoZWwgPT4gZWwubmFtZSA9PT0gdGhpcy5fdHlwZSk7XG4gICAgICAgIHRoaXMubG9hZGZpZWxkQ29uZmlnQ29tcG9uZW50KGZpZWxkQ29udHJvbEl0ZW0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2ZpZWxkcyAmJiB0aGlzLl9wYXJlbnRGaWxlZE5hbWUgJiYgdGhpcy5fY3VsdHVyZSkge1xuICAgICAgXG4gICAgICAgIC8qKuihqOWNleaOp+S7tue7hOS4reeahOmhuSAqL1xuICAgICAgICBjb25zdCBmaWVsZENvbnRyb2xJdGVtID0gX2ZpZWxkQ29udHJvbEdyb3VwLmZpbmQoXG4gICAgICAgICAgZWwgPT4gZWwubmFtZSA9PT0gdGhpcy5fZmllbGRzPy5maWVsZD8uZm9ybUNvbnRyb2xOYW1lXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9hZGZpZWxkQ29tcG9uZW50KGZpZWxkQ29udHJvbEl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKuWKoOi9veWKqOaAgeihqOWNlemFjee9rue7hOS7tiAqL1xuICBsb2FkZmllbGRDb25maWdDb21wb25lbnQoRmllbGRDb250cm9sSXRlbT86IEZpZWxkQ29udHJvbEdyb3VwSW50ZXJmYWNlcykge1xuICAgXG4gICAgXG4gICAgLy/muIXnqbrkuoblrrnlmajkuK3nmoTmiYDmnInnu4Tku7ZcbiAgICB0aGlzLkZvcm1Db250cm9sUmVmPy5jbGVhcigpO1xuICAgIGlmICghRmllbGRDb250cm9sSXRlbSB8fCAhRmllbGRDb250cm9sSXRlbS5maWVsZENvbmZpZ0NvbXBvbmVudCkgcmV0dXJuO1xuICAgIC8v5Zyo5a655Zmo5Lit5Yib5bu657uE5Lu2XG4gICAgY29uc3QgeyBpbnN0YW5jZSB9OmFueSA9IHRoaXMuRm9ybUNvbnRyb2xSZWY/LmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIEZpZWxkQ29udHJvbEl0ZW0uZmllbGRDb25maWdDb21wb25lbnRcbiAgICApOyAvL+WIm+W7uue7hOS7tuaooeadv1xuICAgIC8qKuWQkeWIm+W7uueahOe7hOS7tuaooeadv+S4reS8oOWAvCAqL1xuICAgIGluc3RhbmNlLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgaW5zdGFuY2UudHlwZSA9IHRoaXMuX3R5cGU7XG4gICAgaW5zdGFuY2UuRW50aXR5ID0gdGhpcy5fZW50aXR5O1xuICB9XG5cbiAgLyoq5Yqg6L295Yqo5oCB6KGo5Y2V57uE5Lu2ICovXG4gIGxvYWRmaWVsZENvbXBvbmVudChGaWVsZENvbnRyb2xJdGVtPzogRmllbGRDb250cm9sR3JvdXBJbnRlcmZhY2VzKSB7XG4gICAgLy8gdGhpcy5Gb3JtQ29udHJvbFJlZi5jbGVhclxuICAgIC8v5riF56m65LqG5a655Zmo5Lit55qE5omA5pyJ57uE5Lu2XG4gICAgdGhpcy5Gb3JtQ29tcG9uZW50c1JlZj8uY2xlYXIoKTtcbiAgICBpZiAoIUZpZWxkQ29udHJvbEl0ZW0gfHwgIUZpZWxkQ29udHJvbEl0ZW0uZmllbGRDb21wb25lbnQpIHJldHVybjtcbiAgICAvL+WcqOWuueWZqOS4reWIm+W7uue7hOS7tlxuICAgIGNvbnN0IHsgaW5zdGFuY2UgfTphbnkgPSB0aGlzLkZvcm1Db21wb25lbnRzUmVmPy5jcmVhdGVDb21wb25lbnQoRmllbGRDb250cm9sSXRlbS5maWVsZENvbXBvbmVudCk7IC8v5Yib5bu657uE5Lu25qih5p2/XG4gICAgLyoq5ZCR5Yib5bu655qE57uE5Lu25qih5p2/5Lit5Lyg5YC8ICovXG4gICAgaW5zdGFuY2UuZmllbGRzID0gdGhpcy5fZmllbGRzO1xuICAgIGluc3RhbmNlLnBhcmVudEZpbGVkTmFtZSA9IHRoaXMuX3BhcmVudEZpbGVkTmFtZTtcbiAgICBpbnN0YW5jZS5zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGVkO1xuICAgIGluc3RhbmNlLmN1bHR1cmUgPSB0aGlzLl9jdWx0dXJlO1xuICAgIGluc3RhbmNlLmVudGl0eSA9IHRoaXMuX2VudGl0eTtcbiAgICBcbiAgfVxufVxuIiwiPHRlbXBsYXRlICNGb3JtQ29udHJvbFJlZj48L3RlbXBsYXRlPlxuPHRlbXBsYXRlICNGb3JtQ29tcG9uZW50c1JlZj48L3RlbXBsYXRlPiJdfQ==
@@ -1,2 +1,6 @@
1
1
  export * from './dynamic.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy5jb21wb25lbnQnIl19
2
+ export * from './dynamic-view.component';
3
+ export * from './dynamic-config.component';
4
+ export * from './dynamic-control.component';
5
+ export * from './dynamic-search.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb25maWcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbnRyb2wuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLXNlYXJjaC5jb21wb25lbnQnOyJdfQ==
@@ -1,4 +1,5 @@
1
- import { ChangeDetectorRef, Component, inject, Input, ViewChild } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, ElementRef, inject, Input, ViewChild } from '@angular/core';
2
+ import { FormBuilder, FormGroup } from '@angular/forms';
2
3
  import { DateEditConfig } from './date-edit-config';
3
4
  import { DateEditInterfaces } from '../../../enums/date-edit-interfaces';
4
5
  import { DatePipe } from '@angular/common';
@@ -72,11 +73,11 @@ export class DateEditConfigComponent {
72
73
  });
73
74
  }
74
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DateEditConfigComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DateEditConfigComponent, selector: "df-date-edit-config", inputs: { type: "type", selected: "selected", Entity: "Entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'DigniteAbpForms::DateEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Date\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault1\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::Date' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.DateTime\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault2\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'DigniteAbpForms::DateTime' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Month\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault3\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault3\">\n {{'DigniteAbpForms::Month' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'DigniteAbpForms::Min' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Min\">\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'DigniteAbpForms::Max' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Max\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DateEditConfigComponent, selector: "df-date-edit-config", inputs: { type: "type", selected: "selected", Entity: "Entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::DateEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Date\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault1\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'AbpDynamicForm::Date' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.DateTime\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault2\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'AbpDynamicForm::DateTime' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Month\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault3\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault3\">\n {{'AbpDynamicForm::Month' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::Min' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Min\">\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::Max' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Max\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] }); }
76
77
  }
77
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DateEditConfigComponent, decorators: [{
78
79
  type: Component,
79
- args: [{ selector: 'df-date-edit-config', template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'DigniteAbpForms::DateEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Date\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault1\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::Date' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.DateTime\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault2\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'DigniteAbpForms::DateTime' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Month\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault3\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault3\">\n {{'DigniteAbpForms::Month' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'DigniteAbpForms::Min' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Min\">\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'DigniteAbpForms::Max' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Max\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>" }]
80
+ args: [{ selector: 'df-date-edit-config', template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::DateEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Date\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault1\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'AbpDynamicForm::Date' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.DateTime\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault2\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'AbpDynamicForm::DateTime' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Month\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault3\" (change)=\"timeTypeChange()\">\n <label class=\"form-check-label\" for=\"flexRadioDefault3\">\n {{'AbpDynamicForm::Month' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::Min' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Min\">\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::Max' | abpLocalization}}</label>\n <input [type]=\"dateTimeType\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Max\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>" }]
80
81
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { type: [{
81
82
  type: Input
82
83
  }], selected: [{
@@ -87,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
87
88
  type: ViewChild,
88
89
  args: ['submitclick', { static: true }]
89
90
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1lZGl0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZGF0ZS1lZGl0L2RhdGUtZWRpdC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RhdGUtZWRpdC9kYXRlLWVkaXQtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFPM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLHdCQUFtQixHQUFHLGtCQUFrQixDQUFDO1FBc0J6QyxpQkFBWSxHQUFRLE1BQU0sQ0FBQztRQU1uQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUE5QkYsQ0FBQztJQUt2QyxJQUNXLElBQUksQ0FBQyxDQUFNO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFJRCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENB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UyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDaEMsY0FBYyxFQUFFLEdBQUc7WUFDbkIsY0FBYyxFQUFFLEdBQUc7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0ExRVUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsdVBDWHBDLGs0RUF1Q087OzJGRDVCTSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO2dGQVdwQixJQUFJO3NCQURkLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFPSyxNQUFNO3NCQURoQixLQUFLO2dCQVVzQyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZUVkaXRDb25maWcgfSBmcm9tICcuL2RhdGUtZWRpdC1jb25maWcnO1xuaW1wb3J0IHsgRGF0ZUVkaXRJbnRlcmZhY2VzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvZGF0ZS1lZGl0LWludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZi1kYXRlLWVkaXQtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZWRpdC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLWVkaXQtY29uZmlnLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVFZGl0Q29uZmlnQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XG4gIHByaXZhdGUgX2RhdGFQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcbiAgX0RhdGVFZGl0SW50ZXJmYWNlcyA9IERhdGVFZGl0SW50ZXJmYWNlcztcbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBhbnkpIHtcbiAgICB0aGlzLl90eXBlID0gdjtcbiAgfVxuXG4gIC8qKumAieaLqeeahOihqOWNleS/oeaBryAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gIH1cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIF9FbnRpdHk6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBFbnRpdHkodjogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5fRW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKTtcbiAgfVxuXG4gIGRhdGVUaW1lVHlwZTogYW55ID0gJ2RhdGUnO1xuICBnZXQgZm9ybUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX0VudGl0eS5nZXQoJ2Zvcm1Db25maWd1cmF0aW9uJykgYXMgRm9ybUdyb3VwO1xuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLl9FbnRpdHkgJiYgdGhpcy5fdHlwZSkge1xuICAgICAgYXdhaXQgdGhpcy5BZnRlckluaXQoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8g5omL5Yqo6Kem5Y+R5Y+Y5pu05qOA5rWLXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrPy5uYXRpdmVFbGVtZW50Py5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuX0VudGl0eS5zZXRDb250cm9sKCdmb3JtQ29uZmlndXJhdGlvbicsIHRoaXMuZmIuZ3JvdXAobmV3IERhdGVFZGl0Q29uZmlnKCkpKTtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCAmJiB0aGlzLl9zZWxlY3RlZC5mb3JtQ29udHJvbE5hbWUgPT0gdGhpcy5fdHlwZSkge1xuICAgICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIC4uLnRoaXMuX3NlbGVjdGVkLmZvcm1Db25maWd1cmF0aW9uLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lVHlwZUNoYW5nZSgpXG4gICAgICB9XG4gICAgICByZXNvbHZlKHRydWUpO1xuICAgIH0pO1xuICB9XG4gIC8qKuWIh+aNouaXtumXtOexu+WeiyAqL1xuICB0aW1lVHlwZUNoYW5nZSgpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24udmFsdWVbJ0RhdGVFZGl0LklucHV0TW9kZSddO1xuICAgIGxldCBNaW4gPSB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnZhbHVlWydEYXRlRWRpdC5NaW4nXTtcbiAgICBsZXQgTWF4ID0gdGhpcy5mb3JtQ29uZmlndXJhdGlvbi52YWx1ZVsnRGF0ZUVkaXQuTWF4J107XG4gICAgaWYgKHR5cGUgPT0gRGF0ZUVkaXRJbnRlcmZhY2VzLkRhdGUpIHtcbiAgICAgIHRoaXMuZGF0ZVRpbWVUeXBlID0gJ2RhdGUnO1xuICAgICAgTWluID0gdGhpcy5fZGF0YVBpcGUudHJhbnNmb3JtKE1pbiwgJ3l5eXktTU0tZGQnKTtcbiAgICAgIE1heCA9IHRoaXMuX2RhdGFQaXBlLnRyYW5zZm9ybShNYXgsICd5eXl5LU1NLWRkJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IERhdGVFZGl0SW50ZXJmYWNlcy5EYXRlVGltZSkge1xuICAgICAgdGhpcy5kYXRlVGltZVR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnO1xuICAgICAgTWluID0gdGhpcy5fZGF0YVBpcGUudHJhbnNmb3JtKE1pbiwgJ3l5eXktTU0tZGQgSEg6bW06c3MnKTtcbiAgICAgIE1heCA9IHRoaXMuX2RhdGFQaXBlLnRyYW5zZm9ybShNYXgsICd5eXl5LU1NLWRkIEhIOm1tOnNzJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IERhdGVFZGl0SW50ZXJmYWNlcy5Nb250aCkge1xuICAgICAgdGhpcy5kYXRlVGltZVR5cGUgPSAnbW9udGgnO1xuICAgICAgTWluID0gdGhpcy5fZGF0YVBpcGUudHJhbnNmb3JtKE1pbiwgJ3l5eXktTU0nKTtcbiAgICAgIE1heCA9IHRoaXMuX2RhdGFQaXBlLnRyYW5zZm9ybShNYXgsICd5eXl5LU1NJyk7XG4gICAgfVxuICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24ucGF0Y2hWYWx1ZSh7XG4gICAgICAnRGF0ZUVkaXQuTWluJzogTWluLFxuICAgICAgJ0RhdGVFZGl0Lk1heCc6IE1heCxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJfRW50aXR5XCI+XG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZm9ybUNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydEaWduaXRlQWJwRm9ybXM6OkRhdGVFZGl0TW9kZScgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiX0RhdGVFZGl0SW50ZXJmYWNlcy5EYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIkRhdGVFZGl0LklucHV0TW9kZVwiIGlkPVwiZmxleFJhZGlvRGVmYXVsdDFcIiAoY2hhbmdlKT1cInRpbWVUeXBlQ2hhbmdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhSYWRpb0RlZmF1bHQxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydEaWduaXRlQWJwRm9ybXM6OkRhdGUnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cIl9EYXRlRWRpdEludGVyZmFjZXMuRGF0ZVRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRGF0ZUVkaXQuSW5wdXRNb2RlXCIgaWQ9XCJmbGV4UmFkaW9EZWZhdWx0MlwiIChjaGFuZ2UpPVwidGltZVR5cGVDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleFJhZGlvRGVmYXVsdDJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0RpZ25pdGVBYnBGb3Jtczo6RGF0ZVRpbWUnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cIl9EYXRlRWRpdEludGVyZmFjZXMuTW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRGF0ZUVkaXQuSW5wdXRNb2RlXCIgaWQ9XCJmbGV4UmFkaW9EZWZhdWx0M1wiIChjaGFuZ2UpPVwidGltZVR5cGVDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleFJhZGlvRGVmYXVsdDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0RpZ25pdGVBYnBGb3Jtczo6TW9udGgnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydEaWduaXRlQWJwRm9ybXM6Ok1pbicgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgW3R5cGVdPVwiZGF0ZVRpbWVUeXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBzdGVwPVwiMVwiIGZvcm1Db250cm9sTmFtZT1cIkRhdGVFZGl0Lk1pblwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydEaWduaXRlQWJwRm9ybXM6Ok1heCcgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgW3R5cGVdPVwiZGF0ZVRpbWVUeXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBzdGVwPVwiMVwiIGZvcm1Db250cm9sTmFtZT1cIkRhdGVFZGl0Lk1heFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGFicEluaXQpPVwic3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKClcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCJcbiAgICAgICAgICAgICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1lZGl0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZGF0ZS1lZGl0L2RhdGUtZWRpdC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RhdGUtZWRpdC9kYXRlLWVkaXQtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxXQUFXLEVBQWUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFPM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLHdCQUFtQixHQUFHLGtCQUFrQixDQUFDO1FBc0J6QyxpQkFBWSxHQUFRLE1BQU0sQ0FBQztRQU1uQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUE5QkYsQ0FBQztJQUt2QyxJQUNXLElBQUksQ0FBQyxDQUFNO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7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Q0FBQyxDQUFDO1lBQy9DLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDaEMsY0FBYyxFQUFFLEdBQUc7WUFDbkIsY0FBYyxFQUFFLEdBQUc7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0ExRVUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsdVBDWHBDLDQzRUF1Q087OzJGRDVCTSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO2dGQVdwQixJQUFJO3NCQURkLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFPSyxNQUFNO3NCQURoQixLQUFLO2dCQVVzQyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZUVkaXRDb25maWcgfSBmcm9tICcuL2RhdGUtZWRpdC1jb25maWcnO1xuaW1wb3J0IHsgRGF0ZUVkaXRJbnRlcmZhY2VzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvZGF0ZS1lZGl0LWludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZi1kYXRlLWVkaXQtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZWRpdC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLWVkaXQtY29uZmlnLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVFZGl0Q29uZmlnQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XG4gIHByaXZhdGUgX2RhdGFQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcbiAgX0RhdGVFZGl0SW50ZXJmYWNlcyA9IERhdGVFZGl0SW50ZXJmYWNlcztcbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBhbnkpIHtcbiAgICB0aGlzLl90eXBlID0gdjtcbiAgfVxuXG4gIC8qKumAieaLqeeahOihqOWNleS/oeaBryAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gIH1cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIF9FbnRpdHk6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBFbnRpdHkodjogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5fRW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKTtcbiAgfVxuXG4gIGRhdGVUaW1lVHlwZTogYW55ID0gJ2RhdGUnO1xuICBnZXQgZm9ybUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX0VudGl0eS5nZXQoJ2Zvcm1Db25maWd1cmF0aW9uJykgYXMgRm9ybUdyb3VwO1xuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLl9FbnRpdHkgJiYgdGhpcy5fdHlwZSkge1xuICAgICAgYXdhaXQgdGhpcy5BZnRlckluaXQoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8g5omL5Yqo6Kem5Y+R5Y+Y5pu05qOA5rWLXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrPy5uYXRpdmVFbGVtZW50Py5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuX0VudGl0eS5zZXRDb250cm9sKCdmb3JtQ29uZmlndXJhdGlvbicsIHRoaXMuZmIuZ3JvdXAobmV3IERhdGVFZGl0Q29uZmlnKCkpKTtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCAmJiB0aGlzLl9zZWxlY3RlZC5mb3JtQ29udHJvbE5hbWUgPT0gdGhpcy5fdHlwZSkge1xuICAgICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIC4uLnRoaXMuX3NlbGVjdGVkLmZvcm1Db25maWd1cmF0aW9uLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lVHlwZUNoYW5nZSgpXG4gICAgICB9XG4gICAgICByZXNvbHZlKHRydWUpO1xuICAgIH0pO1xuICB9XG4gIC8qKuWIh+aNouaXtumXtOexu+WeiyAqL1xuICB0aW1lVHlwZUNoYW5nZSgpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24udmFsdWVbJ0RhdGVFZGl0LklucHV0TW9kZSddO1xuICAgIGxldCBNaW4gPSB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnZhbHVlWydEYXRlRWRpdC5NaW4nXTtcbiAgICBsZXQgTWF4ID0gdGhpcy5mb3JtQ29uZmlndXJhdGlvbi52YWx1ZVsnRGF0ZUVkaXQuTWF4J107XG4gICAgaWYgKHR5cGUgPT0gRGF0ZUVkaXRJbnRlcmZhY2VzLkRhdGUpIHtcbiAgICAgIHRoaXMuZGF0ZVRpbWVUeXBlID0gJ2RhdGUnO1xuICAgICAgTWluID0gdGhpcy5fZGF0YVBpcGUudHJhbnNmb3JtKE1pbiwgJ3l5eXktTU0tZGQnKTtcbiAgICAgIE1heCA9IHRoaXMuX2RhdGFQaXBlLnRyYW5zZm9ybShNYXgsICd5eXl5LU1NLWRkJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IERhdGVFZGl0SW50ZXJmYWNlcy5EYXRlVGltZSkge1xuICAgICAgdGhpcy5kYXRlVGltZVR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnO1xuICAgICAgTWluID0gdGhpcy5fZGF0YVBpcGUudHJhbnNmb3JtKE1pbiwgJ3l5eXktTU0tZGQgSEg6bW06c3MnKTtcbiAgICAgIE1heCA9IHRoaXMuX2RhdGFQaXBlLnRyYW5zZm9ybShNYXgsICd5eXl5LU1NLWRkIEhIOm1tOnNzJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IERhdGVFZGl0SW50ZXJmYWNlcy5Nb250aCkge1xuICAgICAgdGhpcy5kYXRlVGltZVR5cGUgPSAnbW9udGgnO1xuICAgICAgTWluID0gdGhpcy5fZGF0YVBpcGUudHJhbnNmb3JtKE1pbiwgJ3l5eXktTU0nKTtcbiAgICAgIE1heCA9IHRoaXMuX2RhdGFQaXBlLnRyYW5zZm9ybShNYXgsICd5eXl5LU1NJyk7XG4gICAgfVxuICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24ucGF0Y2hWYWx1ZSh7XG4gICAgICAnRGF0ZUVkaXQuTWluJzogTWluLFxuICAgICAgJ0RhdGVFZGl0Lk1heCc6IE1heCxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJfRW50aXR5XCI+XG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZm9ybUNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydBYnBEeW5hbWljRm9ybTo6RGF0ZUVkaXRNb2RlJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJfRGF0ZUVkaXRJbnRlcmZhY2VzLkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRGF0ZUVkaXQuSW5wdXRNb2RlXCIgaWQ9XCJmbGV4UmFkaW9EZWZhdWx0MVwiIChjaGFuZ2UpPVwidGltZVR5cGVDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleFJhZGlvRGVmYXVsdDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0FicER5bmFtaWNGb3JtOjpEYXRlJyB8IGFicExvY2FsaXphdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJfRGF0ZUVkaXRJbnRlcmZhY2VzLkRhdGVUaW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIkRhdGVFZGl0LklucHV0TW9kZVwiIGlkPVwiZmxleFJhZGlvRGVmYXVsdDJcIiAoY2hhbmdlKT1cInRpbWVUeXBlQ2hhbmdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhSYWRpb0RlZmF1bHQyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBYnBEeW5hbWljRm9ybTo6RGF0ZVRpbWUnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cIl9EYXRlRWRpdEludGVyZmFjZXMuTW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRGF0ZUVkaXQuSW5wdXRNb2RlXCIgaWQ9XCJmbGV4UmFkaW9EZWZhdWx0M1wiIChjaGFuZ2UpPVwidGltZVR5cGVDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleFJhZGlvRGVmYXVsdDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0FicER5bmFtaWNGb3JtOjpNb250aCcgfCBhYnBMb2NhbGl6YXRpb259fVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0FicER5bmFtaWNGb3JtOjpNaW4nIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IFt0eXBlXT1cImRhdGVUaW1lVHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgc3RlcD1cIjFcIiBmb3JtQ29udHJvbE5hbWU9XCJEYXRlRWRpdC5NaW5cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3snQWJwRHluYW1pY0Zvcm06Ok1heCcgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgW3R5cGVdPVwiZGF0ZVRpbWVUeXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBzdGVwPVwiMVwiIGZvcm1Db250cm9sTmFtZT1cIkRhdGVFZGl0Lk1heFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGFicEluaXQpPVwic3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKClcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCJcbiAgICAgICAgICAgICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT4iXX0=
@@ -9,4 +9,4 @@ export class DateEditConfig {
9
9
  this['DateEdit.Max'] = ['', []];
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1lZGl0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9kYXRlLWVkaXQvZGF0ZS1lZGl0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sY0FBYztJQVF2QjtRQVBBLFVBQVU7UUFDViwwQkFBb0IsR0FBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRCxTQUFTO1FBQ1Qsb0JBQWMsR0FBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQixTQUFTO1FBQ1Qsb0JBQWMsR0FBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUcvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEYXRlRWRpdEludGVyZmFjZXMgfSBmcm9tIFwiLi4vLi4vLi4vZW51bXMvZGF0ZS1lZGl0LWludGVyZmFjZXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRlRWRpdENvbmZpZyB7XHJcbiAgICAvKirml6XmnJ/moLzlvI8gKi9cclxuICAgICdEYXRlRWRpdC5JbnB1dE1vZGUnOiBhbnkgPSBbRGF0ZUVkaXRJbnRlcmZhY2VzLkRhdGUsIFtdXTtcclxuICAgIC8qKuacgOWwj+WAvCAqL1xyXG4gICAgJ0RhdGVFZGl0Lk1pbic6IGFueSA9IFsnJywgW11dO1xyXG4gICAgLyoq5pyA5aSn5YC8ICovXHJcbiAgICAnRGF0ZUVkaXQuTWF4JzogYW55ID0gWycnLCBbXV07XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcbn0iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1lZGl0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9kYXRlLWVkaXQvZGF0ZS1lZGl0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sY0FBYztJQVF2QjtRQVBBLFVBQVU7UUFDViwwQkFBb0IsR0FBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRCxTQUFTO1FBQ1Qsb0JBQWMsR0FBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQixTQUFTO1FBQ1Qsb0JBQWMsR0FBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUcvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEYXRlRWRpdEludGVyZmFjZXMgfSBmcm9tIFwiLi4vLi4vLi4vZW51bXMvZGF0ZS1lZGl0LWludGVyZmFjZXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRlRWRpdENvbmZpZyB7XHJcbiAgICAvKirml6XmnJ/moLzlvI8gKi9cclxuICAgICdEYXRlRWRpdC5JbnB1dE1vZGUnOiBhbnkgPSBbRGF0ZUVkaXRJbnRlcmZhY2VzLkRhdGUsIFtdXTtcclxuICAgIC8qKuacgOWwj+WAvCAqL1xyXG4gICAgJ0RhdGVFZGl0Lk1pbic6IGFueSA9IFsnJywgW11dO1xyXG4gICAgLyoq5pyA5aSn5YC8ICovXHJcbiAgICAnRGF0ZUVkaXQuTWF4JzogYW55ID0gWycnLCBbXV07XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcbn0iXX0=