@dignite-ng/expand.cms 2.0.0-rc.1 → 2.0.0-rc.3

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 (142) hide show
  1. package/config/enums/route-names.d.ts +1 -2
  2. package/esm2022/config/cms-config.module.mjs +3 -2
  3. package/esm2022/config/enums/route-names.mjs +1 -2
  4. package/esm2022/config/providers/route.provider.mjs +1 -15
  5. package/esm2022/lib/cms-routing.module.mjs +1 -1
  6. package/esm2022/lib/cms.module.mjs +7 -14
  7. package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +5 -3
  8. package/esm2022/lib/components/admin/entries/create.component.mjs +7 -7
  9. package/esm2022/lib/components/admin/entries/edit.component.mjs +7 -7
  10. package/esm2022/lib/components/admin/entries/entries.component.mjs +13 -9
  11. package/esm2022/lib/components/admin/fields/create-field.component.mjs +2 -2
  12. package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +2 -2
  13. package/esm2022/lib/components/admin/fields/edit-field.component.mjs +2 -2
  14. package/esm2022/lib/components/admin/fields/field-group.component.mjs +2 -2
  15. package/esm2022/lib/components/admin/fields/fields.component.mjs +3 -2
  16. package/esm2022/lib/components/admin/sections/create-or-edit-sections-modal.component.mjs +5 -3
  17. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +3 -3
  18. package/esm2022/lib/components/admin/sections/sections.component.mjs +4 -3
  19. package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +9 -6
  20. package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +9 -5
  21. package/esm2022/lib/components/dynamic-form/form-control-group.mjs +2 -2
  22. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +5 -3
  23. package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +5 -3
  24. package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +5 -3
  25. package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +6 -4
  26. package/esm2022/lib/proxy/dignite/abp/regionalization-management/index.mjs +3 -0
  27. package/esm2022/lib/proxy/dignite/abp/regionalization-management/models.mjs +2 -0
  28. package/esm2022/lib/proxy/dignite/abp/regionalization-management/regionalization.service.mjs +27 -0
  29. package/esm2022/lib/proxy/dignite/cms/admin/dynamic-forms/form-admin.service.mjs +22 -0
  30. package/esm2022/lib/proxy/dignite/cms/admin/dynamic-forms/index.mjs +3 -0
  31. package/esm2022/lib/proxy/dignite/cms/admin/dynamic-forms/models.mjs +2 -0
  32. package/esm2022/lib/proxy/dignite/cms/admin/entries/entry-admin.service.mjs +70 -0
  33. package/esm2022/lib/proxy/dignite/cms/admin/entries/index.mjs +3 -0
  34. package/esm2022/lib/proxy/dignite/cms/admin/entries/models.mjs +2 -0
  35. package/esm2022/lib/proxy/dignite/cms/admin/fields/field-admin.service.mjs +45 -0
  36. package/esm2022/lib/proxy/dignite/cms/admin/fields/field-group-admin.service.mjs +41 -0
  37. package/esm2022/lib/proxy/dignite/cms/admin/fields/index.mjs +4 -0
  38. package/esm2022/lib/proxy/dignite/cms/admin/fields/models.mjs +2 -0
  39. package/esm2022/lib/proxy/dignite/cms/admin/sections/entry-type-admin.service.mjs +41 -0
  40. package/esm2022/lib/proxy/dignite/cms/admin/sections/index.mjs +4 -0
  41. package/esm2022/lib/proxy/dignite/cms/admin/sections/models.mjs +2 -0
  42. package/esm2022/lib/proxy/dignite/cms/admin/sections/section-admin.service.mjs +51 -0
  43. package/esm2022/lib/proxy/dignite/cms/entries/entry-status.enum.mjs +8 -0
  44. package/esm2022/lib/proxy/dignite/cms/entries/index.mjs +2 -0
  45. package/esm2022/lib/proxy/dignite/cms/fields/models.mjs +2 -0
  46. package/esm2022/lib/proxy/dignite/cms/sections/index.mjs +3 -0
  47. package/esm2022/lib/proxy/dignite/cms/sections/models.mjs +2 -0
  48. package/esm2022/lib/proxy/dignite/cms/sections/section-type.enum.mjs +9 -0
  49. package/esm2022/lib/services/cms-api.service.mjs +1 -1
  50. package/esm2022/lib/services/field-abstracts.service.mjs +3 -3
  51. package/esm2022/public-api.mjs +2 -1
  52. package/fesm2022/dignite-ng-expand.cms-config.mjs +4 -283
  53. package/fesm2022/dignite-ng-expand.cms-config.mjs.map +1 -1
  54. package/fesm2022/dignite-ng-expand.cms.mjs +123 -118
  55. package/fesm2022/dignite-ng-expand.cms.mjs.map +1 -1
  56. package/lib/cms.module.d.ts +7 -9
  57. package/lib/components/admin/entries/entries.component.d.ts +4 -4
  58. package/lib/components/admin/fields/create-field.component.d.ts +1 -1
  59. package/lib/components/admin/fields/create-or-edit-field.component.d.ts +1 -1
  60. package/lib/components/admin/fields/edit-field.component.d.ts +1 -1
  61. package/lib/components/admin/fields/field-group.component.d.ts +1 -1
  62. package/lib/components/admin/fields/fields.component.d.ts +1 -1
  63. package/lib/components/admin/sections/create-or-edit-sections-modal.component.d.ts +1 -1
  64. package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +2 -2
  65. package/lib/components/admin/sections/sections.component.d.ts +2 -2
  66. package/lib/components/dynamic-form/entry/entry-config.component.d.ts +3 -2
  67. package/lib/components/dynamic-form/entry/entry-control.component.d.ts +1 -0
  68. package/lib/components/dynamic-form/form-control-group.d.ts +1 -1
  69. package/lib/components/dynamic-form/matrix/matrix-config.component.d.ts +1 -0
  70. package/lib/components/dynamic-form/matrix/matrix-control.component.d.ts +1 -0
  71. package/lib/components/dynamic-form/table/table-config.component.d.ts +1 -0
  72. package/lib/components/dynamic-form/table/table-control.component.d.ts +1 -0
  73. package/lib/proxy/dignite/abp/regionalization-management/index.d.ts +2 -0
  74. package/lib/proxy/dignite/abp/regionalization-management/models.d.ts +8 -0
  75. package/lib/proxy/dignite/abp/regionalization-management/regionalization.service.d.ts +12 -0
  76. package/lib/proxy/{admin → dignite/cms/admin}/entries/models.d.ts +2 -2
  77. package/lib/proxy/{admin → dignite/cms/admin}/fields/models.d.ts +2 -2
  78. package/lib/proxy/{fields → dignite/cms/fields}/models.d.ts +1 -1
  79. package/lib/proxy/{sections → dignite/cms/sections}/models.d.ts +2 -2
  80. package/lib/services/field-abstracts.service.d.ts +2 -3
  81. package/package.json +1 -1
  82. package/public-api.d.ts +1 -0
  83. package/config/components/domains/domains.component.d.ts +0 -31
  84. package/config/components/site-language/site-language.component.d.ts +0 -30
  85. package/config/proxy/admin/domains/domain-admin.service.d.ts +0 -13
  86. package/config/proxy/admin/domains/index.d.ts +0 -2
  87. package/config/proxy/admin/domains/models.d.ts +0 -7
  88. package/config/proxy/dignite/cms/admin/sites/index.d.ts +0 -2
  89. package/config/proxy/dignite/cms/admin/sites/models.d.ts +0 -4
  90. package/config/proxy/dignite/cms/admin/sites/site-admin.service.d.ts +0 -13
  91. package/config/proxy/dignite/cms/sites/models.d.ts +0 -4
  92. package/esm2022/config/components/domains/domains.component.mjs +0 -118
  93. package/esm2022/config/components/site-language/site-language.component.mjs +0 -113
  94. package/esm2022/config/proxy/admin/domains/domain-admin.service.mjs +0 -32
  95. package/esm2022/config/proxy/admin/domains/index.mjs +0 -3
  96. package/esm2022/config/proxy/admin/domains/models.mjs +0 -2
  97. package/esm2022/config/proxy/dignite/cms/admin/sites/index.mjs +0 -3
  98. package/esm2022/config/proxy/dignite/cms/admin/sites/models.mjs +0 -2
  99. package/esm2022/config/proxy/dignite/cms/admin/sites/site-admin.service.mjs +0 -27
  100. package/esm2022/config/proxy/dignite/cms/sites/models.mjs +0 -2
  101. package/esm2022/lib/proxy/admin/dynamic-forms/form-admin.service.mjs +0 -22
  102. package/esm2022/lib/proxy/admin/dynamic-forms/index.mjs +0 -3
  103. package/esm2022/lib/proxy/admin/dynamic-forms/models.mjs +0 -2
  104. package/esm2022/lib/proxy/admin/entries/entry-admin.service.mjs +0 -70
  105. package/esm2022/lib/proxy/admin/entries/index.mjs +0 -3
  106. package/esm2022/lib/proxy/admin/entries/models.mjs +0 -2
  107. package/esm2022/lib/proxy/admin/fields/field-admin.service.mjs +0 -45
  108. package/esm2022/lib/proxy/admin/fields/field-group-admin.service.mjs +0 -41
  109. package/esm2022/lib/proxy/admin/fields/index.mjs +0 -4
  110. package/esm2022/lib/proxy/admin/fields/models.mjs +0 -2
  111. package/esm2022/lib/proxy/admin/sections/entry-type-admin.service.mjs +0 -41
  112. package/esm2022/lib/proxy/admin/sections/index.mjs +0 -4
  113. package/esm2022/lib/proxy/admin/sections/models.mjs +0 -2
  114. package/esm2022/lib/proxy/admin/sections/section-admin.service.mjs +0 -51
  115. package/esm2022/lib/proxy/admin/settings/index.mjs +0 -2
  116. package/esm2022/lib/proxy/admin/settings/site-settings-admin.service.mjs +0 -31
  117. package/esm2022/lib/proxy/entries/entry-status.enum.mjs +0 -8
  118. package/esm2022/lib/proxy/entries/index.mjs +0 -2
  119. package/esm2022/lib/proxy/fields/models.mjs +0 -2
  120. package/esm2022/lib/proxy/sections/index.mjs +0 -3
  121. package/esm2022/lib/proxy/sections/models.mjs +0 -2
  122. package/esm2022/lib/proxy/sections/section-type.enum.mjs +0 -9
  123. package/esm2022/lib/proxy/settings/models.mjs +0 -2
  124. package/lib/proxy/admin/settings/index.d.ts +0 -1
  125. package/lib/proxy/admin/settings/site-settings-admin.service.d.ts +0 -13
  126. package/lib/proxy/settings/models.d.ts +0 -5
  127. /package/lib/proxy/{admin → dignite/cms/admin}/dynamic-forms/form-admin.service.d.ts +0 -0
  128. /package/lib/proxy/{admin → dignite/cms/admin}/dynamic-forms/index.d.ts +0 -0
  129. /package/lib/proxy/{admin → dignite/cms/admin}/dynamic-forms/models.d.ts +0 -0
  130. /package/lib/proxy/{admin → dignite/cms/admin}/entries/entry-admin.service.d.ts +0 -0
  131. /package/lib/proxy/{admin → dignite/cms/admin}/entries/index.d.ts +0 -0
  132. /package/lib/proxy/{admin → dignite/cms/admin}/fields/field-admin.service.d.ts +0 -0
  133. /package/lib/proxy/{admin → dignite/cms/admin}/fields/field-group-admin.service.d.ts +0 -0
  134. /package/lib/proxy/{admin → dignite/cms/admin}/fields/index.d.ts +0 -0
  135. /package/lib/proxy/{admin → dignite/cms/admin}/sections/entry-type-admin.service.d.ts +0 -0
  136. /package/lib/proxy/{admin → dignite/cms/admin}/sections/index.d.ts +0 -0
  137. /package/lib/proxy/{admin → dignite/cms/admin}/sections/models.d.ts +0 -0
  138. /package/lib/proxy/{admin → dignite/cms/admin}/sections/section-admin.service.d.ts +0 -0
  139. /package/lib/proxy/{entries → dignite/cms/entries}/entry-status.enum.d.ts +0 -0
  140. /package/lib/proxy/{entries → dignite/cms/entries}/index.d.ts +0 -0
  141. /package/lib/proxy/{sections → dignite/cms/sections}/index.d.ts +0 -0
  142. /package/lib/proxy/{sections → dignite/cms/sections}/section-type.enum.d.ts +0 -0
@@ -20,18 +20,16 @@ import * as i17 from "./components/dynamic-form/entry/entry-control.component";
20
20
  import * as i18 from "./components/admin/sections/create-or-edit-sections-modal.component";
21
21
  import * as i19 from "@abp/ng.core";
22
22
  import * as i20 from "@abp/ng.theme.shared";
23
- import * as i21 from "@angular/forms";
24
- import * as i22 from "./cms-routing.module";
25
- import * as i23 from "@ng-bootstrap/ng-bootstrap";
26
- import * as i24 from "@abp/ng.components/page";
27
- import * as i25 from "ng-zorro-antd/select";
28
- import * as i26 from "@dignite-ng/expand.dynamic-form";
29
- import * as i27 from "@abp/ng.components/extensible";
30
- import * as i28 from "@dignite-ng/expand.core";
23
+ import * as i21 from "./cms-routing.module";
24
+ import * as i22 from "@ng-bootstrap/ng-bootstrap";
25
+ import * as i23 from "@abp/ng.components/page";
26
+ import * as i24 from "ng-zorro-antd/select";
27
+ import * as i25 from "@dignite-ng/expand.dynamic-form";
28
+ import * as i26 from "@abp/ng.components/extensible";
31
29
  export declare class CmsModule {
32
30
  static forChild(options?: any): ModuleWithProviders<CmsModule>;
33
31
  static forLazy(options?: any): NgModuleFactory<CmsModule>;
34
32
  static ɵfac: i0.ɵɵFactoryDeclaration<CmsModule, never>;
35
- static ɵmod: i0.ɵɵNgModuleDeclaration<CmsModule, [typeof i1.EntriesComponent, typeof i2.FieldsComponent, typeof i3.SectionsComponent, typeof i4.FieldGroupComponent, typeof i5.CreateFieldComponent, typeof i6.EditFieldComponent, typeof i7.CreateOrEditFieldComponent, typeof i8.CreateOrEditComponent, typeof i9.CreateComponent, typeof i10.EditComponent, typeof i11.CreateOrEditEntriesComponent, typeof i12.TableConfigComponent, typeof i13.TableControlComponent, typeof i14.MatrixConfigComponent, typeof i15.MatrixControlComponent, typeof i16.EntryConfigComponent, typeof i17.EntryControlComponent, typeof i18.CreateOrEditSectionsModalComponent], [typeof i19.CoreModule, typeof i20.ThemeSharedModule, typeof i21.FormsModule, typeof i22.CmsRoutingModule, typeof i23.NgbNavModule, typeof i23.NgbAccordionModule, typeof i23.NgbDropdownModule, typeof i24.PageModule, typeof i25.NzSelectModule, typeof i26.DynamicFormModule, typeof i27.ExtensibleModule, typeof i28.KeydownPreventDefaultDirective], [typeof i12.TableConfigComponent, typeof i13.TableControlComponent, typeof i14.MatrixConfigComponent, typeof i15.MatrixControlComponent, typeof i16.EntryConfigComponent, typeof i17.EntryControlComponent]>;
33
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CmsModule, [typeof i1.EntriesComponent, typeof i2.FieldsComponent, typeof i3.SectionsComponent, typeof i4.FieldGroupComponent, typeof i5.CreateFieldComponent, typeof i6.EditFieldComponent, typeof i7.CreateOrEditFieldComponent, typeof i8.CreateOrEditComponent, typeof i9.CreateComponent, typeof i10.EditComponent, typeof i11.CreateOrEditEntriesComponent, typeof i12.TableConfigComponent, typeof i13.TableControlComponent, typeof i14.MatrixConfigComponent, typeof i15.MatrixControlComponent, typeof i16.EntryConfigComponent, typeof i17.EntryControlComponent, typeof i18.CreateOrEditSectionsModalComponent], [typeof i19.CoreModule, typeof i20.ThemeSharedModule, typeof i21.CmsRoutingModule, typeof i22.NgbNavModule, typeof i22.NgbAccordionModule, typeof i22.NgbDropdownModule, typeof i23.PageModule, typeof i24.NzSelectModule, typeof i25.DynamicFormModule, typeof i25.DynamicFormModule, typeof i26.ExtensibleModule], [typeof i12.TableConfigComponent, typeof i13.TableControlComponent, typeof i14.MatrixConfigComponent, typeof i15.MatrixControlComponent, typeof i16.EntryConfigComponent, typeof i17.EntryControlComponent]>;
36
34
  static ɵinj: i0.ɵɵInjectorDeclaration<CmsModule>;
37
35
  }
@@ -4,8 +4,8 @@ import { OnInit } from "@angular/core";
4
4
  import { FormGroup } from "@angular/forms";
5
5
  import { Router } from "@angular/router";
6
6
  import { ColumnMode } from "@swimlane/ngx-datatable";
7
- import { EntryAdminService, EntryDto, GetEntriesInput } from "../../../proxy/admin/entries";
8
- import { SectionAdminService } from "../../../proxy/admin/sections";
7
+ import { EntryAdminService, EntryDto, GetEntriesInput } from "../../../proxy/dignite/cms/admin/entries";
8
+ import { SectionAdminService } from "../../../proxy/dignite/cms/admin/sections";
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class EntriesComponent implements OnInit {
11
11
  private _EntryAdminService;
@@ -29,7 +29,7 @@ export declare class EntriesComponent implements OnInit {
29
29
  /**版块下的条目类型列表 */
30
30
  entryTypeList: any[any];
31
31
  /**状态编码 */
32
- _entryStatusOptions: ABP.Option<typeof import("../../../proxy/entries").EntryStatus>[];
32
+ _entryStatusOptions: ABP.Option<typeof import("../../../proxy/dignite/cms/entries").EntryStatus>[];
33
33
  /**获取页面数据 */
34
34
  getPageDate(): Promise<void>;
35
35
  /**切换板块 */
@@ -41,7 +41,7 @@ export declare class EntriesComponent implements OnInit {
41
41
  /**获取版块下的条目类型 */
42
42
  getSectionOfEntryType(): void;
43
43
  private config;
44
- private _SiteSettingsAdminService;
44
+ private _RegionalizationService;
45
45
  /**获取版块下的语言列表 */
46
46
  getSectionLanguagesList(): Promise<unknown>;
47
47
  /**站点设置语言 */
@@ -3,8 +3,8 @@ import { ToasterService } from '@abp/ng.theme.shared';
3
3
  import { Location } from '@angular/common';
4
4
  import { ElementRef } from '@angular/core';
5
5
  import { FormBuilder, FormGroup } from '@angular/forms';
6
- import { FieldAdminService } from '../../../proxy/admin/fields';
7
6
  import { CmsApiService } from '../../../services';
7
+ import { FieldAdminService } from '../../../proxy/dignite/cms/admin/fields';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class CreateFieldComponent {
10
10
  private fb;
@@ -3,8 +3,8 @@ import { FieldAbstractsService } from '../../../services/field-abstracts.service
3
3
  import { AbstractControl, FormGroup, ValidationErrors } from '@angular/forms';
4
4
  import { CmsApiService } from '../../../services/cms-api.service';
5
5
  import { Observable } from 'rxjs';
6
- import { FieldAdminService } from '../../../proxy/admin/fields';
7
6
  import { LocalizationService } from '@abp/ng.core';
7
+ import { FieldAdminService } from '../../../proxy/dignite/cms/admin/fields';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class CreateOrEditFieldComponent {
10
10
  _FieldAbstractsService: FieldAbstractsService;
@@ -4,8 +4,8 @@ import { Location } from '@angular/common';
4
4
  import { OnInit, ElementRef } from '@angular/core';
5
5
  import { FormBuilder, FormGroup } from '@angular/forms';
6
6
  import { ActivatedRoute } from '@angular/router';
7
- import { FieldAdminService } from '../../../proxy/admin/fields';
8
7
  import { FieldAbstractsService, CmsApiService } from '../../../services';
8
+ import { FieldAdminService } from '../../../proxy/dignite/cms/admin/fields';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class EditFieldComponent implements OnInit {
11
11
  private fb;
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
- import { FieldGroupAdminService } from '../../../proxy/admin/fields';
4
3
  import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
5
4
  import { FieldAbstractsService } from '../../../services/field-abstracts.service';
6
5
  import { LocalizationService } from '@abp/ng.core';
6
+ import { FieldGroupAdminService } from '../../../proxy/dignite/cms/admin/fields';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class FieldGroupComponent implements OnInit {
9
9
  private fb;
@@ -3,7 +3,7 @@ import { ToasterService, ConfirmationService } from "@abp/ng.theme.shared";
3
3
  import { OnInit } from "@angular/core";
4
4
  import { Router } from "@angular/router";
5
5
  import { ColumnMode } from "@swimlane/ngx-datatable";
6
- import { FieldAdminService, FieldDto, GetFieldsInput } from "../../../proxy/admin/fields";
6
+ import { FieldAdminService, FieldDto, GetFieldsInput } from "../../../proxy/dignite/cms/admin/fields";
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class FieldsComponent implements OnInit {
9
9
  readonly list: ListService;
@@ -1,7 +1,7 @@
1
1
  import { ElementRef, EventEmitter } from '@angular/core';
2
2
  import { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';
3
- import { SectionType } from '../../../proxy/sections';
4
3
  import { Observable } from 'rxjs';
4
+ import { SectionType } from '../../../proxy/dignite/cms/sections';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class CreateOrEditSectionsModalComponent {
7
7
  private _LocalizationService;
@@ -3,10 +3,10 @@ import { ToasterService } from '@abp/ng.theme.shared';
3
3
  import { ElementRef, OnInit } from '@angular/core';
4
4
  import { FormGroup, FormArray } from '@angular/forms';
5
5
  import { ActivatedRoute } from '@angular/router';
6
- import { FieldGroupAdminService, FieldAdminService } from '../../../../proxy/admin/fields';
7
- import { EntryTypeAdminService } from '../../../../proxy/admin/sections';
8
6
  import { CmsApiService } from '../../../../services';
9
7
  import { Location } from '@angular/common';
8
+ import { FieldAdminService, FieldGroupAdminService } from '../../../../proxy/dignite/cms/admin/fields';
9
+ import { EntryTypeAdminService } from '../../../../proxy/dignite/cms/admin/sections';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare class CreateOrEditComponent implements OnInit {
12
12
  private toaster;
@@ -2,10 +2,10 @@ import { ABP, ListService, LocalizationService, PagedResultDto } from '@abp/ng.c
2
2
  import { OnInit } from '@angular/core';
3
3
  import { ToasterService, ConfirmationService } from '@abp/ng.theme.shared';
4
4
  import { FormBuilder, FormGroup } from '@angular/forms';
5
- import { SectionAdminService, EntryTypeAdminService, GetSectionsInput, SectionDto } from '../../../proxy/admin/sections';
6
5
  import { CmsApiService } from '../../../services';
7
6
  import { ColumnMode } from '@swimlane/ngx-datatable';
8
- import { SectionType } from '../../../proxy/sections';
7
+ import { EntryTypeAdminService, GetSectionsInput, SectionAdminService, SectionDto } from '../../../proxy/dignite/cms/admin/sections';
8
+ import { SectionType } from '../../../proxy/dignite/cms/sections';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class SectionsComponent implements OnInit {
11
11
  readonly list: ListService;
@@ -1,6 +1,6 @@
1
1
  import { AfterContentInit, ElementRef } from '@angular/core';
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
- import { SectionAdminService } from '../../../proxy/admin/sections';
3
+ import { SectionAdminService } from '../../../proxy/dignite/cms/admin/sections';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class EntryConfigComponent implements AfterContentInit {
6
6
  private fb;
@@ -27,7 +27,8 @@ export declare class EntryConfigComponent implements AfterContentInit {
27
27
  /**站点下的版块 */
28
28
  SiteOfSectionList: any[any];
29
29
  ngAfterContentInit(): void;
30
- dataLoaded(val: any): Promise<void>;
30
+ private cdr;
31
+ dataLoaded(): Promise<void>;
31
32
  AfterInit(): Promise<unknown>;
32
33
  /**获取站点列表 */
33
34
  /**获取站点下的版块 */
@@ -24,6 +24,7 @@ export declare class EntryControlComponent {
24
24
  extraProperties: FormGroup | undefined;
25
25
  /** */
26
26
  listOfOption: any[];
27
+ private cdr;
27
28
  dataLoaded(): Promise<void>;
28
29
  AfterInit(): Promise<unknown>;
29
30
  /**获取对应的条目 */
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * 表单控件分组-包含配置,控件,显示的数组
3
3
  */
4
- export declare const FieldControlGroup: any[];
4
+ export declare const cmsFieldControlGroup: any[];
@@ -19,6 +19,7 @@ export declare class MatrixConfigComponent {
19
19
  _Entity: FormGroup | undefined;
20
20
  set Entity(v: FormGroup);
21
21
  submitclick: ElementRef;
22
+ private cdr;
22
23
  dataLoaded(): Promise<void>;
23
24
  AfterInit(): Promise<unknown>;
24
25
  setSelectValue(): Promise<unknown>;
@@ -22,6 +22,7 @@ export declare class MatrixControlComponent {
22
22
  submitclick: ElementRef;
23
23
  /** 获取父级字段代表的表单组*/
24
24
  extraProperties: FormGroup | undefined;
25
+ private cdr;
25
26
  /**数据加载完成 */
26
27
  dataLoaded(): Promise<void>;
27
28
  formConfiguration: any;
@@ -21,6 +21,7 @@ export declare class TableConfigComponent {
21
21
  get formConfiguration(): FormGroup;
22
22
  get TableColumns(): FormArray;
23
23
  submitclick: ElementRef;
24
+ private cdr;
24
25
  dataLoaded(): Promise<void>;
25
26
  /**增加选项 */
26
27
  addTableColumns(): void;
@@ -22,6 +22,7 @@ export declare class TableControlComponent {
22
22
  submitclick: ElementRef;
23
23
  /** 获取父级字段代表的表单组*/
24
24
  extraProperties: FormGroup | undefined;
25
+ private cdr;
25
26
  /**数据加载完成 */
26
27
  dataLoaded(): Promise<void>;
27
28
  formConfiguration: any;
@@ -0,0 +1,2 @@
1
+ export * from './models';
2
+ export * from './regionalization.service';
@@ -0,0 +1,8 @@
1
+ export interface RegionalizationDto {
2
+ defaultCultureName?: string;
3
+ availableCultureNames: string[];
4
+ }
5
+ export interface UpdateRegionalizationInput {
6
+ defaultCultureName: string;
7
+ availableCultureNames: string[];
8
+ }
@@ -0,0 +1,12 @@
1
+ import type { RegionalizationDto, UpdateRegionalizationInput } from './models';
2
+ import { RestService, Rest } from '@abp/ng.core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RegionalizationService {
5
+ private restService;
6
+ apiName: string;
7
+ get: (config?: Partial<Rest.Config>) => import("rxjs").Observable<RegionalizationDto>;
8
+ update: (input: UpdateRegionalizationInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<RegionalizationDto>;
9
+ constructor(restService: RestService);
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<RegionalizationService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<RegionalizationService>;
12
+ }
@@ -1,7 +1,7 @@
1
- import type { CustomizableObject } from '../../dignite/abp/data/models';
1
+ import type { CustomizableObject } from '../../../abp/data/models';
2
2
  import type { ExtensibleAuditedEntityDto, PagedAndSortedResultRequestDto } from '@abp/ng.core';
3
3
  import type { EntryStatus } from '../../entries/entry-status.enum';
4
- import type { CmsUserDto } from '../../volo/cms-kit/users/models';
4
+ import type { CmsUserDto } from '../../../../volo/cms-kit/users/models';
5
5
  export interface CreateEntryInput extends CreateOrUpdateEntryInputBase {
6
6
  initialVersionId?: string;
7
7
  }
@@ -1,4 +1,4 @@
1
- import type { FieldDtoConfig } from '../../fields/models';
1
+ import type { FieldDtoen } from '../../fields/models';
2
2
  import type { EntityDto, PagedAndSortedResultRequestDto } from '@abp/ng.core';
3
3
  export interface CreateFieldInput extends CreateOrUpdateFieldInputBase {
4
4
  }
@@ -13,7 +13,7 @@ export interface CreateOrUpdateFieldInputBase {
13
13
  formControlName: string;
14
14
  formConfiguration: Record<string, object>;
15
15
  }
16
- export interface FieldDto extends FieldDtoConfig {
16
+ export interface FieldDto extends FieldDtoen {
17
17
  groupId?: string;
18
18
  groupName?: string;
19
19
  creationTime?: string;
@@ -1,5 +1,5 @@
1
1
  import type { EntityDto } from '@abp/ng.core';
2
- export interface FieldDtoConfig extends EntityDto<string> {
2
+ export interface FieldDtoen extends EntityDto<string> {
3
3
  name?: string;
4
4
  displayName?: string;
5
5
  description?: string;
@@ -1,7 +1,7 @@
1
- import type { FieldDtoConfig } from '../fields/models';
1
+ import type { FieldDtoen } from '../fields/models';
2
2
  export interface EntryFieldDto {
3
3
  fieldId?: string;
4
- field: FieldDtoConfig;
4
+ field: FieldDtoen;
5
5
  displayName?: string;
6
6
  required: boolean;
7
7
  showOnList: boolean;
@@ -1,6 +1,5 @@
1
- import { FieldGroupAdminService } from '../proxy/admin/fields/field-group-admin.service';
2
- import { FieldGroupDto } from '../proxy/admin/fields/models';
3
- import { FormAdminService } from '../proxy/admin/dynamic-forms';
1
+ import { FieldGroupAdminService, FieldGroupDto } from '../proxy/dignite/cms/admin/fields';
2
+ import { FormAdminService } from '../proxy/dignite/cms/admin/dynamic-forms';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class FieldAbstractsService {
6
5
  private _FieldGroupAdminService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dignite-ng/expand.cms",
3
- "version": "2.0.0-rc.01",
3
+ "version": "2.0.0-rc.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "~18.1.0",
6
6
  "@angular/core": "~18.1.0"
package/public-api.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './lib/cms.module';
2
+ export * from './lib/components/dynamic-form/form-control-group';
2
3
  export * from './lib/components/dynamic-form';
@@ -1,31 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { AbstractControl, FormGroup, ValidationErrors } from '@angular/forms';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class DomainsComponent implements OnInit {
6
- private toaster;
7
- private _DomainAdminService;
8
- private _LocalizationService;
9
- private _ValidatorsService;
10
- /**表单验证状态
11
- * {
12
- * title:true,
13
- * }
14
- */
15
- formValidation: any;
16
- /**表单实体 */
17
- newEntity: FormGroup | undefined;
18
- /**domain详情 */
19
- domainInfo: any;
20
- get domainNameInput(): AbstractControl<any, any>;
21
- ngOnInit(): Promise<void>;
22
- /**用于获取已绑定的域名 */
23
- getDomainsBound(): Promise<unknown>;
24
- repetitionAsyncValidator(): (ctrl: AbstractControl) => Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
25
- isSubmit: boolean;
26
- /**保存 */
27
- SaveSubmit(): void;
28
- reset(): void;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<DomainsComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<DomainsComponent, "cms-domains", never, {}, {}, never, never, true, never>;
31
- }
@@ -1,30 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { eCmsRouteNames } from '../../enums';
4
- import * as i0 from "@angular/core";
5
- export declare class SiteLanguageComponent implements OnInit {
6
- private fb;
7
- private toaster;
8
- private _LocalizationService;
9
- private configState;
10
- private _SiteAdminService;
11
- eCmsRouteNames: typeof eCmsRouteNames;
12
- /**表单实体 */
13
- newEntity: FormGroup | undefined;
14
- /**系统语言 */
15
- languagesSystem: any[];
16
- ngOnInit(): Promise<void>;
17
- /**获取配置的默认语言与选中语言 */
18
- getSiteLanguageSettings(): Promise<unknown>;
19
- /**语言改变 */
20
- setLanguagesChange(event: any, item: any): void;
21
- /**设置默认语言 */
22
- setDefault(items: any): void;
23
- /**设置表单中的语言 */
24
- setFromLangguages(): void;
25
- isSubmit: boolean;
26
- /**保存 */
27
- SaveSubmit(): void;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<SiteLanguageComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<SiteLanguageComponent, "app-site-language", never, {}, {}, never, never, true, never>;
30
- }
@@ -1,13 +0,0 @@
1
- import type { DomainDto, UpdateDomainInput } from './models';
2
- import { RestService, Rest } from '@abp/ng.core';
3
- import * as i0 from "@angular/core";
4
- export declare class DomainAdminService {
5
- private restService;
6
- apiName: string;
7
- getBound: (config?: Partial<Rest.Config>) => import("rxjs").Observable<DomainDto>;
8
- nameExists: (domainName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<boolean>;
9
- update: (input: UpdateDomainInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<DomainDto>;
10
- constructor(restService: RestService);
11
- static ɵfac: i0.ɵɵFactoryDeclaration<DomainAdminService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<DomainAdminService>;
13
- }
@@ -1,2 +0,0 @@
1
- export * from './domain-admin.service';
2
- export * from './models';
@@ -1,7 +0,0 @@
1
- import type { CreationAuditedEntityDto } from '@abp/ng.core';
2
- export interface DomainDto extends CreationAuditedEntityDto<string> {
3
- domainName?: string;
4
- }
5
- export interface UpdateDomainInput {
6
- domainName: string;
7
- }
@@ -1,2 +0,0 @@
1
- export * from './models';
2
- export * from './site-admin.service';
@@ -1,4 +0,0 @@
1
- export interface UpdateSiteInput {
2
- defaultLanguage: string;
3
- allLanguages: string[];
4
- }
@@ -1,13 +0,0 @@
1
- import type { UpdateSiteInput } from './models';
2
- import { RestService, Rest } from '@abp/ng.core';
3
- import type { SiteDto } from '../../sites/models';
4
- import * as i0 from "@angular/core";
5
- export declare class SiteAdminService {
6
- private restService;
7
- apiName: string;
8
- get: (config?: Partial<Rest.Config>) => import("rxjs").Observable<SiteDto>;
9
- update: (input: UpdateSiteInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<void>;
10
- constructor(restService: RestService);
11
- static ɵfac: i0.ɵɵFactoryDeclaration<SiteAdminService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<SiteAdminService>;
13
- }
@@ -1,4 +0,0 @@
1
- export interface SiteDto {
2
- defaultLanguage?: string;
3
- allLanguages: string[];
4
- }
@@ -1,118 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { FormControl, FormGroup, FormsModule, } from '@angular/forms';
3
- import { finalize } from 'rxjs';
4
- import { CoreModule, LocalizationService } from '@abp/ng.core';
5
- import { ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared';
6
- import { DomainAdminService } from '../../proxy/admin/domains';
7
- import { ValidatorsService } from '@dignite-ng/expand.core';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common";
10
- import * as i2 from "@angular/forms";
11
- import * as i3 from "@abp/ng.core";
12
- import * as i4 from "@ngx-validate/core";
13
- import * as i5 from "@abp/ng.theme.shared";
14
- // import { ValidatorsService } from '@dignite-ng/expand.core';
15
- export class DomainsComponent {
16
- constructor() {
17
- this.toaster = inject(ToasterService);
18
- this._DomainAdminService = inject(DomainAdminService);
19
- this._LocalizationService = inject(LocalizationService);
20
- this._ValidatorsService = inject(ValidatorsService);
21
- /**表单验证状态
22
- * {
23
- * title:true,
24
- * }
25
- */
26
- this.formValidation = '';
27
- /**domain详情 */
28
- this.domainInfo = '';
29
- this.isSubmit = false;
30
- }
31
- get domainNameInput() {
32
- return this.newEntity.get('domainName');
33
- }
34
- async ngOnInit() {
35
- //Called after the constructor, initializing input properties, and the first call to ngOnChanges.
36
- //Add 'implements OnInit' to the class.
37
- this.newEntity = new FormGroup({
38
- domainName: new FormControl('', {
39
- asyncValidators: this.repetitionAsyncValidator(),
40
- updateOn: 'change',
41
- }),
42
- });
43
- await this.getDomainsBound();
44
- }
45
- /**用于获取已绑定的域名 */
46
- getDomainsBound() {
47
- return new Promise((resolve, rejects) => {
48
- this._DomainAdminService.getBound().subscribe(res => {
49
- this.domainNameInput.patchValue(res?.domainName || '');
50
- this.domainInfo = res;
51
- resolve(res);
52
- });
53
- });
54
- }
55
- //检验域名是否已经绑定
56
- repetitionAsyncValidator() {
57
- return (ctrl) => {
58
- return new Promise(resolve => {
59
- let domainNameInput = this.domainNameInput.value;
60
- if (!domainNameInput) {
61
- resolve(null);
62
- return;
63
- }
64
- if (this.domainInfo?.domainName === domainNameInput) {
65
- resolve(null);
66
- return;
67
- }
68
- var patt = /^(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.[A-Za-z]{2,6}$/;
69
- if (!patt.test(domainNameInput)) {
70
- resolve({
71
- repetition: this._LocalizationService.instant(`AbpValidation::ThisFieldMustMatchTheRegularExpression{0}`, patt.toString()),
72
- });
73
- return;
74
- }
75
- this._DomainAdminService.nameExists(domainNameInput).subscribe(res => {
76
- if (res) {
77
- resolve({
78
- repetition: this._LocalizationService.instant(`Cms::DomainName{0}AlreadyExist`, ctrl.value),
79
- });
80
- }
81
- else {
82
- resolve(null);
83
- }
84
- });
85
- });
86
- };
87
- }
88
- /**保存 */
89
- SaveSubmit() {
90
- this.formValidation = this._ValidatorsService.getFormValidationStatus(this.newEntity);
91
- if (this._ValidatorsService.isCheckForm(this.formValidation, 'Cms'))
92
- return;
93
- if (this.isSubmit)
94
- return;
95
- this.isSubmit = true;
96
- let input = this.newEntity.value;
97
- this._DomainAdminService
98
- .update(input)
99
- .pipe(finalize(() => {
100
- this.reset();
101
- }))
102
- .subscribe(async (res) => {
103
- this.toaster.success(this._LocalizationService.instant(`AbpUi::SavedSuccessfully`));
104
- await this.getDomainsBound();
105
- });
106
- }
107
- reset() {
108
- this.isSubmit = false;
109
- this.formValidation = '';
110
- }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DomainsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DomainsComponent, isStandalone: true, selector: "cms-domains", ngImport: i0, template: "<form [formGroup]=\"newEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\n (submit)=\"SaveSubmit()\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{'Cms::Domain'|abpLocalization}}</h2>\n <abp-button buttonClass=\"btn btn-sm btn-primary\" iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\n </div>\n <hr class=\"my-3\" />\n <div class=\"mb-3\">\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"domainNameInput.errors?.repetition\">\n {{domainNameInput.errors?.repetition}}\n </div>\n <!-- <small class=\"form-text text-muted d-block\">\u6B64\u5904\u586B\u5199\u60A8\u7F51\u7AD9\u7684\u57DF\u540D\uFF0C\u7528\u4E8E\u8DF3\u8F6C\u524D\u53F0\u9875\u9762\u7B49\u64CD\u4F5C</small> -->\n </div>\n <hr class=\"my-3\" />\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i4.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i4.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: FormsModule }] }); }
113
- }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DomainsComponent, decorators: [{
115
- type: Component,
116
- args: [{ selector: 'cms-domains', standalone: true, imports: [CoreModule, ThemeSharedModule, FormsModule], template: "<form [formGroup]=\"newEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\n (submit)=\"SaveSubmit()\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{'Cms::Domain'|abpLocalization}}</h2>\n <abp-button buttonClass=\"btn btn-sm btn-primary\" iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\n </div>\n <hr class=\"my-3\" />\n <div class=\"mb-3\">\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"domainNameInput.errors?.repetition\">\n {{domainNameInput.errors?.repetition}}\n </div>\n <!-- <small class=\"form-text text-muted d-block\">\u6B64\u5904\u586B\u5199\u60A8\u7F51\u7AD9\u7684\u57DF\u540D\uFF0C\u7528\u4E8E\u8DF3\u8F6C\u524D\u53F0\u9875\u9762\u7B49\u64CD\u4F5C</small> -->\n </div>\n <hr class=\"my-3\" />\n</form>" }]
117
- }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWlucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvY29uZmlnL3NyYy9jb21wb25lbnRzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvY29uZmlnL3NyYy9jb21wb25lbnRzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEdBRVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBQzVELCtEQUErRDtBQVMvRCxNQUFNLE9BQU8sZ0JBQWdCO0lBUDdCO1FBUVUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqQyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqRCx5QkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RDs7OztXQUlHO1FBQ0gsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFLekIsY0FBYztRQUNkLGVBQVUs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QUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQzVFLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBRWpDLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNiLElBQUksQ0FDSCxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTlHVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix1RUN0QjdCLHFpQ0FnQk8seURESUssVUFBVSxzbkNBQUUsaUJBQWlCLHVpQkFBRSxXQUFXOzsyRkFFekMsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmluYWxpemUsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgRG9tYWluQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJveHkvYWRtaW4vZG9tYWlucyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJ0BkaWduaXRlLW5nL2V4cGFuZC5jb3JlJztcbi8vIGltcG9ydCB7IFZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnQGRpZ25pdGUtbmcvZXhwYW5kLmNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbXMtZG9tYWlucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb21haW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9tYWlucy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9tYWluc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgdG9hc3RlciA9IGluamVjdChUb2FzdGVyU2VydmljZSk7XG4gIHByaXZhdGUgX0RvbWFpbkFkbWluU2VydmljZSA9IGluamVjdChEb21haW5BZG1pblNlcnZpY2UpO1xuICBwcml2YXRlIF9Mb2NhbGl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KExvY2FsaXphdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIF9WYWxpZGF0b3JzU2VydmljZSA9IGluamVjdChWYWxpZGF0b3JzU2VydmljZSk7XG4gIC8qKuihqOWNlemqjOivgeeKtuaAgVxuICAgKiB7XG4gICAqICB0aXRsZTp0cnVlLFxuICAgKiB9XG4gICAqL1xuICBmb3JtVmFsaWRhdGlvbjogYW55ID0gJyc7XG5cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIG5ld0VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuXG4gIC8qKmRvbWFpbuivpuaDhSAqL1xuICBkb21haW5JbmZvOiBhbnkgPSAnJztcbiAgZ2V0IGRvbWFpbk5hbWVJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZXdFbnRpdHkuZ2V0KCdkb21haW5OYW1lJyk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvL0NhbGxlZCBhZnRlciB0aGUgY29uc3RydWN0b3IsIGluaXRpYWxpemluZyBpbnB1dCBwcm9wZXJ0aWVzLCBhbmQgdGhlIGZpcnN0IGNhbGwgdG8gbmdPbkNoYW5nZXMuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgT25Jbml0JyB0byB0aGUgY2xhc3MuXG4gICAgdGhpcy5uZXdFbnRpdHkgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGRvbWFpbk5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IHRoaXMucmVwZXRpdGlvbkFzeW5jVmFsaWRhdG9yKCksXG4gICAgICAgIHVwZGF0ZU9uOiAnY2hhbmdlJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuZ2V0RG9tYWluc0JvdW5kKCk7XG4gIH1cblxuICAvKirnlKjkuo7ojrflj5blt7Lnu5HlrprnmoTln5/lkI0gKi9cbiAgZ2V0RG9tYWluc0JvdW5kKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgdGhpcy5fRG9tYWluQWRtaW5TZXJ2aWNlLmdldEJvdW5kKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuZG9tYWluTmFtZUlucHV0LnBhdGNoVmFsdWUocmVzPy5kb21haW5OYW1lIHx8ICcnKTtcbiAgICAgICAgdGhpcy5kb21haW5JbmZvID0gcmVzO1xuICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8v5qOA6aqM5Z+f5ZCN5piv5ZCm5bey57uP57uR5a6aXG4gIHJlcGV0aXRpb25Bc3luY1ZhbGlkYXRvcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY3RybDogQWJzdHJhY3RDb250cm9sXG4gICAgKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgIGxldCBkb21haW5OYW1lSW5wdXQgPSB0aGlzLmRvbWFpbk5hbWVJbnB1dC52YWx1ZTtcbiAgICAgICAgaWYgKCFkb21haW5OYW1lSW5wdXQpIHtcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kb21haW5JbmZvPy5kb21haW5OYW1lID09PSBkb21haW5OYW1lSW5wdXQpIHtcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcGF0dCA9IC9eKD8hLSlbQS1aYS16MC05LV17MSw2M30oPzwhLSlcXC5bQS1aYS16XXsyLDZ9JC87XG4gICAgICAgIGlmICghcGF0dC50ZXN0KGRvbWFpbk5hbWVJbnB1dCkpIHtcbiAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgIHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgYEFicFZhbGlkYXRpb246OlRoaXNGaWVsZE11c3RNYXRjaFRoZVJlZ3VsYXJFeHByZXNzaW9uezB9YCxcbiAgICAgICAgICAgICAgcGF0dC50b1N0cmluZygpXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9Eb21haW5BZG1pblNlcnZpY2UubmFtZUV4aXN0cyhkb21haW5OYW1lSW5wdXQpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICByZXBldGl0aW9uOiB0aGlzLl9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgYENtczo6RG9tYWluTmFtZXswfUFscmVhZHlFeGlzdGAsXG4gICAgICAgICAgICAgICAgY3RybC52YWx1ZVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH1cblxuICBpc1N1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKuS/neWtmCAqL1xuICBTYXZlU3VibWl0KCkge1xuICAgIHRoaXMuZm9ybVZhbGlkYXRpb24gPSB0aGlzLl9WYWxpZGF0b3JzU2VydmljZS5nZXRGb3JtVmFsaWRhdGlvblN0YXR1cyh0aGlzLm5ld0VudGl0eSk7XG4gICAgaWYgKHRoaXMuX1ZhbGlkYXRvcnNTZXJ2aWNlLmlzQ2hlY2tGb3JtKHRoaXMuZm9ybVZhbGlkYXRpb24sICdDbXMnKSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmlzU3VibWl0KSByZXR1cm47XG4gICAgdGhpcy5pc1N1Ym1pdCA9IHRydWU7XG4gICAgbGV0IGlucHV0ID0gdGhpcy5uZXdFbnRpdHkudmFsdWU7XG5cbiAgICB0aGlzLl9Eb21haW5BZG1pblNlcnZpY2VcbiAgICAgIC51cGRhdGUoaW5wdXQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgcmVzID0+IHtcbiAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGBBYnBVaTo6U2F2ZWRTdWNjZXNzZnVsbHlgKSk7XG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0RG9tYWluc0JvdW5kKCk7XG4gICAgICB9KTtcbiAgfVxuICByZXNldCgpIHtcbiAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XG4gICAgdGhpcy5mb3JtVmFsaWRhdGlvbiA9ICcnO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIm5ld0VudGl0eVwiIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgW2NsYXNzXT1cInsnd2FzLXZhbGlkYXRlZCc6Zm9ybVZhbGlkYXRpb259XCJcbiAgICAoc3VibWl0KT1cIlNhdmVTdWJtaXQoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxoMj57eydDbXM6OkRvbWFpbid8YWJwTG9jYWxpemF0aW9ufX08L2gyPlxuICAgICAgICA8YWJwLWJ1dHRvbiBidXR0b25DbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiBpY29uQ2xhc3M9XCJmYSBmYS1zYXZlXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIFtsb2FkaW5nXT1cImlzU3VibWl0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdFwiPnt7J0FicFVpOjpTYXZlJ3xhYnBMb2NhbGl6YXRpb259fTwvYWJwLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aHIgY2xhc3M9XCJteS0zXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRvbWFpbk5hbWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyIGludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImRvbWFpbk5hbWVJbnB1dC5lcnJvcnM/LnJlcGV0aXRpb25cIj5cbiAgICAgICAgICAgIHt7ZG9tYWluTmFtZUlucHV0LmVycm9ycz8ucmVwZXRpdGlvbn19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIDxzbWFsbCBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIGQtYmxvY2tcIj7mraTlpITloavlhpnmgqjnvZHnq5nnmoTln5/lkI3vvIznlKjkuo7ot7PovazliY3lj7DpobXpnaLnrYnmk43kvZw8L3NtYWxsPiAtLT5cbiAgICA8L2Rpdj5cbiAgICA8aHIgY2xhc3M9XCJteS0zXCIgLz5cbjwvZm9ybT4iXX0=