ngx-axis-appforge 1.0.16 → 1.0.18

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 (44) hide show
  1. package/fesm2022/ngx-axis-appforge-axis-components-badge.mjs +4 -4
  2. package/fesm2022/ngx-axis-appforge-axis-components-badge.mjs.map +1 -1
  3. package/fesm2022/ngx-axis-appforge-axis-components-cytoscape.mjs +5 -3
  4. package/fesm2022/ngx-axis-appforge-axis-components-cytoscape.mjs.map +1 -1
  5. package/fesm2022/ngx-axis-appforge-axis-components-date-picker-design.mjs +14 -4
  6. package/fesm2022/ngx-axis-appforge-axis-components-date-picker-design.mjs.map +1 -1
  7. package/fesm2022/ngx-axis-appforge-axis-components-date-picker.mjs +30 -3
  8. package/fesm2022/ngx-axis-appforge-axis-components-date-picker.mjs.map +1 -1
  9. package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs +4 -2
  10. package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs.map +1 -1
  11. package/fesm2022/ngx-axis-appforge-axis-components-design-design.mjs +98 -6
  12. package/fesm2022/ngx-axis-appforge-axis-components-design-design.mjs.map +1 -1
  13. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs +22 -3
  14. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs.map +1 -1
  15. package/fesm2022/ngx-axis-appforge-axis-components-image.mjs +4 -2
  16. package/fesm2022/ngx-axis-appforge-axis-components-image.mjs.map +1 -1
  17. package/fesm2022/ngx-axis-appforge-axis-components-loop-task.mjs +2 -2
  18. package/fesm2022/ngx-axis-appforge-axis-components-loop-task.mjs.map +1 -1
  19. package/fesm2022/ngx-axis-appforge-axis-components-table-helper.mjs +1 -1
  20. package/fesm2022/ngx-axis-appforge-axis-components-table-helper.mjs.map +1 -1
  21. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs +4 -2
  22. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs.map +1 -1
  23. package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs +5 -1
  24. package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs.map +1 -1
  25. package/fesm2022/ngx-axis-appforge-axis-components-text.mjs +4 -2
  26. package/fesm2022/ngx-axis-appforge-axis-components-text.mjs.map +1 -1
  27. package/fesm2022/ngx-axis-appforge-axis-components-video-design.mjs +1 -1
  28. package/fesm2022/ngx-axis-appforge-axis-components-video-design.mjs.map +1 -1
  29. package/fesm2022/ngx-axis-appforge-axis-components-video.mjs +5 -3
  30. package/fesm2022/ngx-axis-appforge-axis-components-video.mjs.map +1 -1
  31. package/fesm2022/ngx-axis-appforge-core.mjs +1 -6
  32. package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
  33. package/package.json +1 -1
  34. package/types/ngx-axis-appforge-axis-components-badge.d.ts +2 -2
  35. package/types/ngx-axis-appforge-axis-components-cytoscape.d.ts +3 -2
  36. package/types/ngx-axis-appforge-axis-components-date-picker.d.ts +5 -0
  37. package/types/ngx-axis-appforge-axis-components-desc.d.ts +3 -2
  38. package/types/ngx-axis-appforge-axis-components-design.d.ts +7 -0
  39. package/types/ngx-axis-appforge-axis-components-image.d.ts +6 -5
  40. package/types/ngx-axis-appforge-axis-components-loop-task.d.ts +2 -2
  41. package/types/ngx-axis-appforge-axis-components-table.d.ts +3 -2
  42. package/types/ngx-axis-appforge-axis-components-text.d.ts +3 -2
  43. package/types/ngx-axis-appforge-axis-components-video.d.ts +3 -2
  44. package/types/ngx-axis-appforge-core.d.ts +1 -5
@@ -1,10 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, effect, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { DataOptions, Base, DynamicDirective } from 'ngx-axis-appforge/core';
3
+ import { BaseOptions, Base, DynamicDirective } from 'ngx-axis-appforge/core';
4
4
  import * as i1 from 'ng-zorro-antd/descriptions';
5
5
  import { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';
6
6
 
7
- class DescOptions extends DataOptions {
7
+ class DescOptions extends BaseOptions {
8
+ data = signal(undefined, /* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
8
10
  title = signal("", /* @ts-ignore */
9
11
  ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
10
12
  column = signal(3, /* @ts-ignore */
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-desc.mjs","sources":["../../../axis-components/desc/desc.options.ts","../../../axis-components/desc/desc.ts","../../../axis-components/desc/desc.html","../../../axis-components/desc/ngx-axis-appforge-axis-components-desc.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { DataOptions } from \"ngx-axis-appforge/core\";\n\nexport class DescOptions extends DataOptions {\n\n readonly title = signal(\"\");\n readonly column = signal(3);\n readonly bordered = signal(false);\n readonly size = signal<'default' | 'middle' | 'small'>(\"default\");\n readonly colon = signal(true);\n readonly extra = signal<any>(undefined);\n readonly items = signal<DescItemOptions[]>([]);\n\n}\n\nexport class DescItemOptions {\n\n readonly inuse = signal(true);\n readonly title = signal(\"未命名\");\n readonly field = signal(\"\");\n readonly span = signal(1);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, computed, effect } from '@angular/core';\nimport { DescItemOptions, DescOptions } from './desc.options';\nimport { Base, DynamicDirective } from 'ngx-axis-appforge/core';\nimport { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';\n\n@Component({\n selector: 'axis-desc',\n imports: [NzDescriptionsModule, DynamicDirective],\n templateUrl: './desc.html',\n styleUrl: './desc.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Desc extends Base<DescOptions> {\n\n constructor() {\n super();\n effect(() => {\n this.items().forEach((p, i) => {\n p.inuse.set(false);\n this.bindWithConfig(this.options.items()[i], { options: p, tag: `bindItems.${i}` });\n });\n });\n }\n override options: DescOptions = new DescOptions();\n readonly items = computed(() => this.buildItems());\n\n private buildItems(): DescItemOptions[] {\n return this.options.items().map(_ => new DescItemOptions());\n }\n}\n","<nz-descriptions [nzTitle]=\"options.title()\" [nzColumn]=\"options.column()\" [nzBordered]=\"options.bordered()\"\n [nzSize]=\"options.size()\" [nzColon]=\"options.colon()\" [nzExtra]=\"extraTpl\">\n @for (item of items(); track item;let i=$index) {\n @if (item.inuse()) {\n <nz-descriptions-item [nzTitle]=\"item.title()\" [nzSpan]=\"item.span()\">\n <div style=\"display:contents;\" [attr.data-index]=\"i\">\n @if (item.child()) {\n <ng-container [axisDynamic]=\"item.child()\"></ng-container>\n }@else if(item.field()){\n {{options.data()?.[item.field()]}}\n }\n </div>\n </nz-descriptions-item>\n }\n }\n</nz-descriptions>\n<ng-template #extraTpl>\n <ng-container [axisDynamic]=\"options.extra()\"></ng-container>\n</ng-template>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './desc';\n"],"names":[],"mappings":";;;;;;AAGM,MAAO,WAAY,SAAQ,WAAW,CAAA;IAE/B,KAAK,GAAG,MAAM,CAAC,EAAE;8EAAC;IAClB,MAAM,GAAG,MAAM,CAAC,CAAC;+EAAC;IAClB,QAAQ,GAAG,MAAM,CAAC,KAAK;iFAAC;IACxB,IAAI,GAAG,MAAM,CAAiC,SAAS;6EAAC;IACxD,KAAK,GAAG,MAAM,CAAC,IAAI;8EAAC;IACpB,KAAK,GAAG,MAAM,CAAM,SAAS;8EAAC;IAC9B,KAAK,GAAG,MAAM,CAAoB,EAAE;8EAAC;AAEjD;MAEY,eAAe,CAAA;IAEf,KAAK,GAAG,MAAM,CAAC,IAAI;8EAAC;IACpB,KAAK,GAAG,MAAM,CAAC,KAAK;8EAAC;IACrB,KAAK,GAAG,MAAM,CAAC,EAAE;8EAAC;IAClB,IAAI,GAAG,MAAM,CAAC,CAAC;6EAAC;IAChB,KAAK,GAAG,MAAM,CAAM,SAAS;8EAAC;AAE1C;;ACXK,MAAO,IAAK,SAAQ,IAAiB,CAAA;AAEzC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,gBAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,EAAE,CAAC;AACrF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AACS,IAAA,OAAO,GAAgB,IAAI,WAAW,EAAE;IACxC,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;8EAAC;IAE1C,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;IAC7D;uGAhBW,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAJ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAI,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZjB,6zBAkBc,EAAA,MAAA,EAAA,CAAA,2HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXF,oBAAoB,8YAAE,gBAAgB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKrC,IAAI,EAAA,UAAA,EAAA,CAAA;kBAPhB,SAAS;+BACE,WAAW,EAAA,OAAA,EACZ,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAGhC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6zBAAA,EAAA,MAAA,EAAA,CAAA,2HAAA,CAAA,EAAA;;;AEVjD;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-desc.mjs","sources":["../../../axis-components/desc/desc.options.ts","../../../axis-components/desc/desc.ts","../../../axis-components/desc/desc.html","../../../axis-components/desc/ngx-axis-appforge-axis-components-desc.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { BaseOptions } from \"ngx-axis-appforge/core\";\n\nexport class DescOptions extends BaseOptions {\n\n readonly data = signal<any>(undefined);\n readonly title = signal(\"\");\n readonly column = signal(3);\n readonly bordered = signal(false);\n readonly size = signal<'default' | 'middle' | 'small'>(\"default\");\n readonly colon = signal(true);\n readonly extra = signal<any>(undefined);\n readonly items = signal<DescItemOptions[]>([]);\n\n}\n\nexport class DescItemOptions {\n\n readonly inuse = signal(true);\n readonly title = signal(\"未命名\");\n readonly field = signal(\"\");\n readonly span = signal(1);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, computed, effect } from '@angular/core';\nimport { DescItemOptions, DescOptions } from './desc.options';\nimport { Base, DynamicDirective } from 'ngx-axis-appforge/core';\nimport { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';\n\n@Component({\n selector: 'axis-desc',\n imports: [NzDescriptionsModule, DynamicDirective],\n templateUrl: './desc.html',\n styleUrl: './desc.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Desc extends Base<DescOptions> {\n\n constructor() {\n super();\n effect(() => {\n this.items().forEach((p, i) => {\n p.inuse.set(false);\n this.bindWithConfig(this.options.items()[i], { options: p, tag: `bindItems.${i}` });\n });\n });\n }\n override options: DescOptions = new DescOptions();\n readonly items = computed(() => this.buildItems());\n\n private buildItems(): DescItemOptions[] {\n return this.options.items().map(_ => new DescItemOptions());\n }\n}\n","<nz-descriptions [nzTitle]=\"options.title()\" [nzColumn]=\"options.column()\" [nzBordered]=\"options.bordered()\"\n [nzSize]=\"options.size()\" [nzColon]=\"options.colon()\" [nzExtra]=\"extraTpl\">\n @for (item of items(); track item;let i=$index) {\n @if (item.inuse()) {\n <nz-descriptions-item [nzTitle]=\"item.title()\" [nzSpan]=\"item.span()\">\n <div style=\"display:contents;\" [attr.data-index]=\"i\">\n @if (item.child()) {\n <ng-container [axisDynamic]=\"item.child()\"></ng-container>\n }@else if(item.field()){\n {{options.data()?.[item.field()]}}\n }\n </div>\n </nz-descriptions-item>\n }\n }\n</nz-descriptions>\n<ng-template #extraTpl>\n <ng-container [axisDynamic]=\"options.extra()\"></ng-container>\n</ng-template>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './desc';\n"],"names":[],"mappings":";;;;;;AAGM,MAAO,WAAY,SAAQ,WAAW,CAAA;IAE/B,IAAI,GAAG,MAAM,CAAM,SAAS;6EAAC;IAC7B,KAAK,GAAG,MAAM,CAAC,EAAE;8EAAC;IAClB,MAAM,GAAG,MAAM,CAAC,CAAC;+EAAC;IAClB,QAAQ,GAAG,MAAM,CAAC,KAAK;iFAAC;IACxB,IAAI,GAAG,MAAM,CAAiC,SAAS;6EAAC;IACxD,KAAK,GAAG,MAAM,CAAC,IAAI;8EAAC;IACpB,KAAK,GAAG,MAAM,CAAM,SAAS;8EAAC;IAC9B,KAAK,GAAG,MAAM,CAAoB,EAAE;8EAAC;AAEjD;MAEY,eAAe,CAAA;IAEf,KAAK,GAAG,MAAM,CAAC,IAAI;8EAAC;IACpB,KAAK,GAAG,MAAM,CAAC,KAAK;8EAAC;IACrB,KAAK,GAAG,MAAM,CAAC,EAAE;8EAAC;IAClB,IAAI,GAAG,MAAM,CAAC,CAAC;6EAAC;IAChB,KAAK,GAAG,MAAM,CAAM,SAAS;8EAAC;AAE1C;;ACZK,MAAO,IAAK,SAAQ,IAAiB,CAAA;AAEzC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,gBAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,EAAE,CAAC;AACrF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AACS,IAAA,OAAO,GAAgB,IAAI,WAAW,EAAE;IACxC,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;8EAAC;IAE1C,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;IAC7D;uGAhBW,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAJ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAI,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZjB,6zBAkBc,EAAA,MAAA,EAAA,CAAA,2HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXF,oBAAoB,8YAAE,gBAAgB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKrC,IAAI,EAAA,UAAA,EAAA,CAAA;kBAPhB,SAAS;+BACE,WAAW,EAAA,OAAA,EACZ,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAGhC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6zBAAA,EAAA,MAAA,EAAA,CAAA,2HAAA,CAAA,EAAA;;;AEVjD;;AAEG;;;;"}
@@ -1,4 +1,4 @@
1
- import { FunFieldValueBase, valueFbConfig, baseFbConfig, valueFunField, baseFunField, BaseDesignSetting, FunField, ValueDesignSetting, InputTrigger, DynamicDirective, OptionsNode, SimpleMenu } from 'ngx-axis-appforge/core';
1
+ import { FunFieldValueBase, valueFbConfig, baseFbConfig, valueFunField, baseFunField, BaseDesignSetting, FunField, ValueDesignSetting, InputTrigger, DynamicDirective, FormValidators, BaseMenu, CommonMenu, OptionsNode, SimpleMenu, nameCode } from 'ngx-axis-appforge/core';
2
2
  import * as i0 from '@angular/core';
3
3
  import { ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
@@ -10,6 +10,15 @@ import { NzFormModule } from 'ng-zorro-antd/form';
10
10
  import * as i5 from 'ng-zorro-antd/input';
11
11
  import { NzInputModule } from 'ng-zorro-antd/input';
12
12
  import * as i2 from 'ng-zorro-antd/grid';
13
+ import * as i6 from 'ng-zorro-antd/switch';
14
+ import { NzSwitchModule } from 'ng-zorro-antd/switch';
15
+ import * as i3$1 from 'ng-zorro-antd/divider';
16
+ import { NzDividerModule } from 'ng-zorro-antd/divider';
17
+ import * as i2$1 from 'ng-zorro-antd/dropdown';
18
+ import { NzDropdownModule } from 'ng-zorro-antd/dropdown';
19
+ import * as i4$1 from 'ng-zorro-antd/icon';
20
+ import { NzIconModule } from 'ng-zorro-antd/icon';
21
+ import * as i1$1 from 'ng-zorro-antd/menu';
13
22
 
14
23
  class Setting extends FunFieldValueBase {
15
24
  fg = this.fb.group({
@@ -48,9 +57,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
48
57
  args: [{ selector: 'axis-design-design-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, ValueDesignSetting, InputTrigger, DynamicDirective, NzInputModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"\u6CE8\u5165\u7684\u6570\u636E\u5BF9\u8C61\uFF0C\u683C\u5F0F\uFF1A{[\u6570\u636E\u540D]:\u6570\u636E}\">\n \u6570\u636E\u6CE8\u5165\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"injectData\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"\u6CE8\u5165\u7684\u51FD\u6570\u5BF9\u8C61\uFF0C\u683C\u5F0F\uFF1A{[\u51FD\u6570\u540D]:{func:\u51FD\u6570,type:\u7C7B\u578B\u7B7E\u540D}}\">\n \u51FD\u6570\u6CE8\u5165\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"injectFunc\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"\u53EF\u4EE5\u9009\u62E9\u7684\u6743\u9650\u5217\u8868\uFF0C\u683C\u5F0F\uFF1A{[\u6743\u9650\u7F16\u7801]:\u6743\u9650\u540D\u5B57}\">\n \u6743\u9650\u5217\u8868\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"allPermissions\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n HTTP\u4E0A\u4E0B\u6587\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"httpContextData\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6587\u4EF6\u57FA\u5730\u5740\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"fileBaseUrl\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\" [internalTriggers]=\"['valueChange']\"\n [eventDesc]=\"[{name:'forceRender',title:'\u5F3A\u5236\u6E32\u67D3'}]\"></axis-input-trigger>\n </nz-collapse>\n</form>" }]
49
58
  }] });
50
59
 
60
+ class DesignTabSetting extends FunFieldValueBase {
61
+ fg = this.fb.group({
62
+ title: [],
63
+ forceRender: [undefined, FormValidators.requiredFun],
64
+ });
65
+ funFields = {
66
+ title: {
67
+ defaultValue: "",
68
+ },
69
+ forceRender: {
70
+ defaultValue: false,
71
+ },
72
+ };
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DesignTabSetting, deps: null, target: i0.ɵɵFactoryTarget.Component });
74
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: DesignTabSetting, isStandalone: true, selector: "axis-design-tabs-design-tab-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6807\u9898\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"title\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5F3A\u5236\u6E32\u67D3\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"forceRender\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n </nz-collapse>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl", "nzXXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter", "nzWrap"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzSize", "nzVariant", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "component", type: i3.NzFormItemComponent, selector: "nz-form-item", inputs: ["nzLayout"], exportAs: ["nzFormItem"] }, { kind: "component", type: i3.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i3.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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: "ngmodule", type: NzCollapseModule }, { kind: "component", type: i4.NzCollapsePanelComponent, selector: "nz-collapse-panel", inputs: ["nzActive", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon", "nzCollapsible"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i4.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition", "nzSize"], exportAs: ["nzCollapse"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzVariant", "nzSize", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "component", type: FunField, selector: "axis-fun-field", inputs: ["scopes", "exclude", "scopeId", "onlyFun", "noListen", "disabled", "editTip", "value", "open", "showCreateListenModal", "createListenDataSourceName"], outputs: ["valueChange", "openChange", "showCreateListenModalChange", "createListenDataSourceNameChange"] }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "component", type: i6.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DesignTabSetting, decorators: [{
77
+ type: Component,
78
+ args: [{ selector: 'axis-design-tabs-design-tab-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, NzInputModule, FunField, NzSwitchModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6807\u9898\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"title\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5F3A\u5236\u6E32\u67D3\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"forceRender\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n </nz-collapse>\n</form>" }]
79
+ }] });
80
+
81
+ class DesignMenu extends BaseMenu {
82
+ addTab() {
83
+ this.optionsNodes.current.options.tabs ??= [];
84
+ this.optionsNodes.current.options.tabs.push({
85
+ title: "未命名",
86
+ });
87
+ this.onChange?.({ nextNodeId: `${this.optionsNodes.current?.id}.${this.optionsNodes.current.options.tabs.length - 1}`, historyDesc: "添加标签" });
88
+ }
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DesignMenu, deps: null, target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: DesignMenu, isStandalone: true, selector: "axis-design-design-menu", usesInheritance: true, ngImport: i0, template: "<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item (click)=\"addTab()\">\n <nz-icon nzType=\"plus\" nzTheme=\"outline\"></nz-icon>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span>\u6DFB\u52A0\u6807\u7B7E</span>\n </li>\n <axis-common-menu [baseMenu]=\"this\"></axis-common-menu>\n </ul>\n</nz-dropdown-menu>", styles: [""], dependencies: [{ kind: "ngmodule", type: NzDropdownModule }, { kind: "directive", type: i1$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i1$1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "component", type: i2$1.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: NzDividerModule }, { kind: "component", type: i3$1.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzVariant", "nzSize", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i4$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzType", "nzTheme", "nzTwotoneColor", "nzSpin", "nzRotate", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: CommonMenu, selector: "axis-common-menu", inputs: ["baseMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DesignMenu, decorators: [{
93
+ type: Component,
94
+ args: [{ selector: 'axis-design-design-menu', imports: [NzDropdownModule, NzDividerModule, NzIconModule, CommonMenu], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item (click)=\"addTab()\">\n <nz-icon nzType=\"plus\" nzTheme=\"outline\"></nz-icon>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span>\u6DFB\u52A0\u6807\u7B7E</span>\n </li>\n <axis-common-menu [baseMenu]=\"this\"></axis-common-menu>\n </ul>\n</nz-dropdown-menu>" }]
95
+ }] });
96
+
51
97
  const Config = {
52
98
  componentName: "低代码设计器",
53
99
  buildOptionsNodes(nextInfo) {
100
+ const next = [];
101
+ const children = [];
102
+ nextInfo.currentObject.tabs?.forEach((r, i) => {
103
+ next.push({
104
+ parentId: nextInfo.currentObject.id + "." + i,
105
+ parentObject: r,
106
+ indexOfParent: "child",
107
+ scopeId: nextInfo.scopeId
108
+ });
109
+ children.push(new OptionsNode({
110
+ id: nextInfo.currentObject.id + "." + i,
111
+ scopeId: nextInfo.scopeId,
112
+ parentId: nextInfo.currentObject.id,
113
+ parentObj: nextInfo.currentObject.tabs,
114
+ indexOfParentObj: i,
115
+ rootOptions: r,
116
+ name: nameCode("标签", r.title),
117
+ icon: "tablet",
118
+ canSetting: true,
119
+ settingType: DesignTabSetting,
120
+ contextMenu: SimpleMenu,
121
+ canDrag: true,
122
+ dragType: "axis-components/design/tab",
123
+ canDrop: true,
124
+ dropType: "component",
125
+ dropObj: r,
126
+ defaultDropIndex: "child",
127
+ children: [],
128
+ }));
129
+ });
54
130
  return {
55
131
  treeNode: new OptionsNode({
56
132
  parentId: nextInfo.parentId,
@@ -59,19 +135,35 @@ const Config = {
59
135
  canSetting: true,
60
136
  canDrag: true,
61
137
  dragType: "component",
138
+ canDrop: true,
139
+ dropType: "axis-components/design/tab",
140
+ defaultDropIndex: "tabs",
141
+ dropObj: nextInfo.currentObject.tabs,
142
+ childDirection: "horizontal",
62
143
  parentObj: nextInfo.parentObject,
63
144
  indexOfParentObj: nextInfo.indexOfParent,
64
145
  rootOptions: nextInfo.currentObject,
65
146
  settingType: Setting,
66
- contextMenu: SimpleMenu,
67
- icon: "deployment-unit"
68
- })
147
+ contextMenu: DesignMenu,
148
+ icon: "deployment-unit",
149
+ children: children
150
+ }),
151
+ next: next,
69
152
  };
70
153
  },
71
154
  bindElementsOptionsNode(element, options) {
72
- return {
73
- [options.id]: { element }
155
+ const res = {
156
+ [options.id]: { element },
74
157
  };
158
+ const tabs = element.querySelectorAll(".design-right-tabs .ant-tabs-tab-btn>span[data-index]");
159
+ for (const e of tabs) {
160
+ const index = e.dataset['index'];
161
+ res[`${options.id}.${index}`] = {
162
+ element: e.parentElement?.parentElement,
163
+ dropElement: element.querySelector(`.design-right-tabs .ant-tabs-tabpane>div[data-index="${index}"]`),
164
+ };
165
+ }
166
+ return res;
75
167
  },
76
168
  };
77
169
 
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-design-design.mjs","sources":["../../../axis-components/design/design/setting/setting.ts","../../../axis-components/design/design/setting/setting.html","../../../axis-components/design/design/config.ts","../../../axis-components/design/design/ngx-axis-appforge-axis-components-design-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, DynamicDirective, FunField, FunFieldOptions, FunFieldValueBase, InputTrigger, ValueDesignSetting, valueFbConfig, valueFunField } from 'ngx-axis-appforge/core';\nimport { NzInputModule } from \"ng-zorro-antd/input\";\n\n@Component({\n selector: 'axis-design-design-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, ValueDesignSetting, InputTrigger, DynamicDirective, NzInputModule],\n templateUrl: './setting.html',\n styleUrl: './setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Setting extends FunFieldValueBase {\n\n override fg: UntypedFormGroup = this.fb.group({\n ...baseFbConfig,\n ...valueFbConfig,\n injectData: [],\n injectFunc: [],\n allPermissions: [],\n httpContextData: [],\n fileBaseUrl: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n ...valueFunField,\n injectData: {\n defaultValue: {}\n },\n injectFunc: {\n defaultValue: undefined\n },\n allPermissions: {\n defaultValue: {}\n },\n httpContextData: {\n defaultValue: undefined\n },\n fileBaseUrl: {\n defaultValue: undefined\n },\n };\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"基本设置\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"注入的数据对象,格式:{[数据名]:数据}\">\n 数据注入\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"injectData\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"注入的函数对象,格式:{[函数名]:{func:函数,type:类型签名}}\">\n 函数注入\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"injectFunc\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"可以选择的权限列表,格式:{[权限编码]:权限名字}\">\n 权限列表\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"allPermissions\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n HTTP上下文\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"httpContextData\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 文件基地址\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"fileBaseUrl\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\" [internalTriggers]=\"['valueChange']\"\n [eventDesc]=\"[{name:'forceRender',title:'强制渲染'}]\"></axis-input-trigger>\n </nz-collapse>\n</form>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, SimpleMenu } from \"ngx-axis-appforge/core\";\nimport { Setting } from \"./setting/setting\";\n\nexport const Config: DesignConfig = {\n componentName: \"低代码设计器\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: \"低代码设计器\",\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n settingType: Setting,\n contextMenu: SimpleMenu,\n icon: \"deployment-unit\"\n })\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAcM,MAAO,OAAQ,SAAQ,iBAAiB,CAAA;AAEnC,IAAA,EAAE,GAAqB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AAC5C,QAAA,GAAG,YAAY;AACf,QAAA,GAAG,aAAa;AAChB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,WAAW,EAAE,EAAE;AAChB,KAAA,CAAC;AAEiB,IAAA,SAAS,GAAoB;AAC9C,QAAA,GAAG,YAAY;AACf,QAAA,GAAG,aAAa;AAChB,QAAA,UAAU,EAAE;AACV,YAAA,YAAY,EAAE;AACf,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,YAAY,EAAE;AACf,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,YAAY,EAAE;AACf,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,YAAY,EAAE;AACf,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,YAAY,EAAE;AACf,SAAA;KACF;uGA9BU,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdpB,u6HAmEO,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1DK,WAAW,y9BAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,+cAAE,iBAAiB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,uBAAA,EAAA,4BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,6BAAA,EAAA,kCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,4GAAE,YAAY,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,6BAAA,EAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAK/J,OAAO,EAAA,UAAA,EAAA,CAAA;kBAPnB,SAAS;+BACE,4BAA4B,EAAA,OAAA,EAC7B,CAAC,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAA,eAAA,EAG1J,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,u6HAAA,EAAA;;;AET1C,MAAM,MAAM,GAAiB;AAChC,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,iBAAiB,CAAC,QAAkB,EAAA;QAChC,OAAO;YACH,QAAQ,EAAE,IAAI,WAAW,CAAC;gBACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;AACzB,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,QAAQ,CAAC,YAAY;gBAChC,gBAAgB,EAAE,QAAQ,CAAC,aAAa;gBACxC,WAAW,EAAE,QAAQ,CAAC,aAAa;AACnC,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,IAAI,EAAE;aACT;SACJ;IACL,CAAC;IACD,uBAAuB,CAAC,OAAoB,EAAE,OAAY,EAAA;QACtD,OAAO;AACH,YAAA,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO;SAC1B;IACL,CAAC;;;AC3BL;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-design-design.mjs","sources":["../../../axis-components/design/design/setting/setting.ts","../../../axis-components/design/design/setting/setting.html","../../../axis-components/design/design/design-tab-setting/design-tab-setting.ts","../../../axis-components/design/design/design-tab-setting/design-tab-setting.html","../../../axis-components/design/design/design-menu/design-menu.ts","../../../axis-components/design/design/design-menu/design-menu.html","../../../axis-components/design/design/config.ts","../../../axis-components/design/design/ngx-axis-appforge-axis-components-design-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, DynamicDirective, FunField, FunFieldOptions, FunFieldValueBase, InputTrigger, ValueDesignSetting, valueFbConfig, valueFunField } from 'ngx-axis-appforge/core';\nimport { NzInputModule } from \"ng-zorro-antd/input\";\n\n@Component({\n selector: 'axis-design-design-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, ValueDesignSetting, InputTrigger, DynamicDirective, NzInputModule],\n templateUrl: './setting.html',\n styleUrl: './setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Setting extends FunFieldValueBase {\n\n override fg: UntypedFormGroup = this.fb.group({\n ...baseFbConfig,\n ...valueFbConfig,\n injectData: [],\n injectFunc: [],\n allPermissions: [],\n httpContextData: [],\n fileBaseUrl: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n ...valueFunField,\n injectData: {\n defaultValue: {}\n },\n injectFunc: {\n defaultValue: undefined\n },\n allPermissions: {\n defaultValue: {}\n },\n httpContextData: {\n defaultValue: undefined\n },\n fileBaseUrl: {\n defaultValue: undefined\n },\n };\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"基本设置\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"注入的数据对象,格式:{[数据名]:数据}\">\n 数据注入\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"injectData\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"注入的函数对象,格式:{[函数名]:{func:函数,type:类型签名}}\">\n 函数注入\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"injectFunc\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzTooltipTitle=\"可以选择的权限列表,格式:{[权限编码]:权限名字}\">\n 权限列表\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"allPermissions\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n HTTP上下文\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"httpContextData\">\n <ng-container ngModel [ngModelOptions]=\"{standalone:true}\"\n [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 文件基地址\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"fileBaseUrl\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\" [internalTriggers]=\"['valueChange']\"\n [eventDesc]=\"[{name:'forceRender',title:'强制渲染'}]\"></axis-input-trigger>\n </nz-collapse>\n</form>","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FormValidators, FunField, FunFieldOptions, FunFieldValueBase } from 'ngx-axis-appforge/core';\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\n\n@Component({\n selector: 'axis-design-tabs-design-tab-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, NzInputModule, FunField, NzSwitchModule],\n templateUrl: './design-tab-setting.html',\n styleUrl: './design-tab-setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DesignTabSetting extends FunFieldValueBase {\n\n override fg: UntypedFormGroup = this.fb.group({\n title: [],\n forceRender: [undefined, FormValidators.requiredFun],\n });\n\n protected override funFields: FunFieldOptions = {\n title: {\n defaultValue: \"\",\n },\n forceRender: {\n defaultValue: false,\n },\n };\n\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"基本设置\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 标题\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"title\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 强制渲染\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"forceRender\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n </nz-collapse>\n</form>","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzDropdownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { BaseMenu, CommonMenu } from 'ngx-axis-appforge/core';\n\n@Component({\n selector: 'axis-design-design-menu',\n imports: [NzDropdownModule, NzDividerModule, NzIconModule, CommonMenu],\n templateUrl: './design-menu.html',\n styleUrl: './design-menu.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DesignMenu extends BaseMenu {\n\n addTab() {\n this.optionsNodes.current.options.tabs ??= [];\n this.optionsNodes.current.options.tabs.push({\n title: \"未命名\",\n });\n this.onChange?.({ nextNodeId: `${this.optionsNodes.current?.id}.${this.optionsNodes.current.options.tabs.length - 1}`, historyDesc: \"添加标签\" });\n }\n}\n","<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item (click)=\"addTab()\">\n <nz-icon nzType=\"plus\" nzTheme=\"outline\"></nz-icon>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span>添加标签</span>\n </li>\n <axis-common-menu [baseMenu]=\"this\"></axis-common-menu>\n </ul>\n</nz-dropdown-menu>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, SimpleMenu, nameCode } from \"ngx-axis-appforge/core\";\nimport { Setting } from \"./setting/setting\";\nimport { DesignTabSetting } from \"./design-tab-setting/design-tab-setting\";\nimport { DesignMenu } from \"./design-menu/design-menu\";\n\nexport const Config: DesignConfig = {\n componentName: \"低代码设计器\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n const next: NextInfo[] = [];\n const children: OptionsNode[] = [];\n nextInfo.currentObject.tabs?.forEach((r: any, i: number) => {\n next.push({\n parentId: nextInfo.currentObject.id + \".\" + i,\n parentObject: r,\n indexOfParent: \"child\",\n scopeId: nextInfo.scopeId\n });\n children.push(new OptionsNode({\n id: nextInfo.currentObject.id + \".\" + i,\n scopeId: nextInfo.scopeId,\n parentId: nextInfo.currentObject.id,\n parentObj: nextInfo.currentObject.tabs,\n indexOfParentObj: i,\n rootOptions: r,\n name: nameCode(\"标签\", r.title),\n icon: \"tablet\",\n canSetting: true,\n settingType: DesignTabSetting,\n contextMenu: SimpleMenu,\n canDrag: true,\n dragType: \"axis-components/design/tab\",\n canDrop: true,\n dropType: \"component\",\n dropObj: r,\n defaultDropIndex: \"child\",\n children: [],\n }));\n });\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: \"低代码设计器\",\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n canDrop: true,\n dropType: \"axis-components/design/tab\",\n defaultDropIndex: \"tabs\",\n dropObj: nextInfo.currentObject.tabs,\n childDirection: \"horizontal\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n settingType: Setting,\n contextMenu: DesignMenu,\n icon: \"deployment-unit\",\n children: children\n }),\n next: next,\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n const res: DesignBindElementsResult = {\n [options.id]: { element },\n };\n const tabs = element.querySelectorAll(\".design-right-tabs .ant-tabs-tab-btn>span[data-index]\");\n for (const e of tabs) {\n const index = (e as HTMLElement).dataset['index'];\n res[`${options.id}.${index}`] = {\n element: e.parentElement?.parentElement as HTMLElement,\n dropElement: element.querySelector(`.design-right-tabs .ant-tabs-tabpane>div[data-index=\"${index}\"]`) as HTMLElement,\n }\n }\n return res;\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":["i3","i4"],"mappings":"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"}
@@ -1176,7 +1176,7 @@ class ShortcutKey {
1176
1176
  }
1177
1177
  cutNodeIds;
1178
1178
  onKeyPress(e) {
1179
- const isInput = e.target.matches('input:not([disabled]), textarea:not([disabled]), [contenteditable="true"]');
1179
+ const isInput = e.target.matches('input:not([disabled]), textarea:not([disabled]), [contenteditable="true"], .native-edit-context');
1180
1180
  if (isInput) {
1181
1181
  return;
1182
1182
  }
@@ -1309,6 +1309,16 @@ class DesignOptions extends ValueAccessOptions {
1309
1309
  ...(ngDevMode ? [{ debugName: "httpContextData" }] : /* istanbul ignore next */ []));
1310
1310
  fileBaseUrl = signal("", /* @ts-ignore */
1311
1311
  ...(ngDevMode ? [{ debugName: "fileBaseUrl" }] : /* istanbul ignore next */ []));
1312
+ tabs = signal([], /* @ts-ignore */
1313
+ ...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
1314
+ }
1315
+ class DesignTabOptions {
1316
+ title = signal("", /* @ts-ignore */
1317
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
1318
+ forceRender = signal(false, /* @ts-ignore */
1319
+ ...(ngDevMode ? [{ debugName: "forceRender" }] : /* istanbul ignore next */ []));
1320
+ child = signal(undefined, /* @ts-ignore */
1321
+ ...(ngDevMode ? [{ debugName: "child" }] : /* istanbul ignore next */ []));
1312
1322
  }
1313
1323
 
1314
1324
  class Toolbar {
@@ -1366,6 +1376,11 @@ class Design extends ValueAccess {
1366
1376
  this.addSubscribe(this.changeSubject
1367
1377
  .pipe(debounceTime(300))
1368
1378
  .subscribe((value) => this.onChangeOptionsConfig(value)));
1379
+ effect(() => {
1380
+ this.tabs().forEach((p, i) => {
1381
+ this.bindWithConfig(this.options.tabs()[i], { options: p, tag: `bindTabs.${i}` });
1382
+ });
1383
+ });
1369
1384
  }
1370
1385
  options = new DesignOptions();
1371
1386
  element = inject(ElementRef);
@@ -1406,6 +1421,8 @@ class Design extends ValueAccess {
1406
1421
  tree;
1407
1422
  codeEditor;
1408
1423
  tools;
1424
+ tabs = computed(() => this.options.tabs().map(_ => new DesignTabOptions()), /* @ts-ignore */
1425
+ ...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
1409
1426
  shortcutKey = new ShortcutKey(this);
1410
1427
  onKeyPress(e) {
1411
1428
  this.shortcutKey.onKeyPress(e);
@@ -1528,6 +1545,8 @@ class Design extends ValueAccess {
1528
1545
  }
1529
1546
  if (e.nextNodeId) {
1530
1547
  this.tree.selectByNodeIds([e.nextNodeId]);
1548
+ const expandIds = this.getAllParentNodes(e.nextNodeId).map(n => n.id);
1549
+ this.tree.expandByNodeIds(expandIds);
1531
1550
  this.preview.selectByNodeIds([e.nextNodeId]);
1532
1551
  if (e.sameSetting) {
1533
1552
  this.settingOptionsNodeId = e.nextNodeId;
@@ -1932,14 +1951,14 @@ class Design extends ValueAccess {
1932
1951
  }
1933
1952
  }
1934
1953
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Design, deps: [], target: i0.ɵɵFactoryTarget.Component });
1935
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: Design, isStandalone: true, selector: "axis-design", inputs: { chooseComponentVisible: { classPropertyName: "chooseComponentVisible", publicName: "chooseComponentVisible", isSignal: true, isRequired: false, transformFunction: null }, settingOptionsStr: { classPropertyName: "settingOptionsStr", publicName: "settingOptionsStr", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { chooseComponentVisible: "chooseComponentVisibleChange", settingOptionsStr: "settingOptionsStrChange" }, host: { attributes: { "tabindex": "-1", "autofocus": "true" }, listeners: { "keydown": "onKeyPress($event)" } }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "setting", first: true, predicate: ["setting"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true, static: true }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true, static: true }, { propertyName: "codeEditor", first: true, predicate: ["codeEditor"], descendants: true }, { propertyName: "tools", first: true, predicate: ["tools"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<nz-splitter (nzResize)=\"layoutEditor($event)\">\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[0]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\">\n <nz-tabs nzCentered>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u6811\">\n <axis-design-tree style=\"margin-bottom: 300px;\" #tree [node]=\"treeNode()\" [optionsNodes]=\"optionsNodes\"\n (onSelect)=\"onTreeSelect($event)\" (onChange)=\"onChangeOptionsConfig($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"></axis-design-tree>\n </nz-tab>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u5E93\">\n <axis-cmplib selectMode=\"drag\" (dragStart)=\"onCmplibDragStart($event.example,$event.element)\"\n (dragEnd)=\"onCmplibDragEnd()\"></axis-cmplib>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n <nz-splitter-panel>\n <div nz-flex nzVertical style=\"height: 100%;width: 100%;position: relative;\">\n <h2 style=\"text-align: center;margin-top: 4px;\">\u9884\u89C8</h2>\n <axis-toolbar #tools></axis-toolbar>\n <axis-design-preview #preview style=\"flex:1;overflow: auto;\" [loadAndOptions]=\"loadAndOptions()\"\n [optionsNodes]=\"optionsNodes\" [injectData]=\"injectDataObs\" [injectFunc]=\"injectFunc()\"\n [httpContextData]=\"options.httpContextData()\" [fileBaseUrl]=\"options.fileBaseUrl()\"\n (onChange)=\"onChangeOptionsConfig($event)\" (onSelect)=\"onPreviewSelect($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"\n (onForceRender)=\"triggeEvents('forceRender').subscribe()\"></axis-design-preview>\n </div>\n </nz-splitter-panel>\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[1]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\" style=\"position: relative;\">\n <nz-tabs nzCentered style=\"height: 100%;\">\n <nz-tab nzTitle=\"\u5C5E\u6027\u8BBE\u7F6E\" (nzClick)=\"syncToSetting()\">\n <ng-container #setting></ng-container>\n <div style=\"height: 300px;\"></div>\n @if (!settingOptionsStr()){\n <nz-empty style=\"height: 300px;\" nzNotFoundContent=\"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6\"></nz-empty>\n }\n </nz-tab>\n <nz-tab nzTitle=\"\u4EE3\u7801\" nzForceRender (nzSelect)=\"syncToCode();\">\n <ng-container #codeEditor=\"axisDynamic\"\n [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:!settingOptionsStr() && treeNode()!=null,otherOptions:{tabSize:2}}\"\n [standalone]=\"true\" [(ngModel)]=\"settingOptionsStr\"\n (ngModelChange)=\"onEditorChange($event)\"></ng-container>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n</nz-splitter>\n<ng-container #menu></ng-container>\n<nz-drawer [(nzVisible)]=\"chooseComponentVisible\" nzTitle=\"\u9009\u62E9\u7EC4\u4EF6\" [nzBodyStyle]=\"{padding:0}\"\n (nzOnClose)=\"chooseComponentVisible.set(false);chooseComponentSubject.next(undefined)\">\n <ng-container *nzDrawerContent>\n <axis-cmplib selectMode=\"click\" [tags]=\"chooseComponentTags()\"\n (clickExample)=\"chooseComponentVisible.set(false);chooseComponentSubject.next($event)\"></axis-cmplib>\n </ng-container>\n</nz-drawer>", styles: ["nz-tabs,::ng-deep .ant-tabs-content,::ng-deep .ant-tabs-tabpane{height:100%}::ng-deep .ant-tabs-content{overflow:auto}:host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: NzSplitterModule }, { kind: "component", type: i1$3.NzSplitterComponent, selector: "nz-splitter", inputs: ["nzLayout", "nzLazy"], outputs: ["nzResizeStart", "nzResize", "nzResizeEnd"], exportAs: ["nzSplitter"] }, { kind: "component", type: i1$3.NzSplitterPanelComponent, selector: "nz-splitter-panel", inputs: ["nzDefaultSize", "nzMin", "nzMax", "nzSize", "nzCollapsible", "nzResizable"], exportAs: ["nzSplitterPanel"] }, { kind: "ngmodule", type: NzTabsModule }, { kind: "component", type: i2$3.NzTabsComponent, selector: "nz-tabs", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact", "nzDestroyInactiveTabPane", "nzIndicator"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabs"] }, { kind: "component", type: i2$3.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "component", type: Preview, selector: "axis-design-preview", inputs: ["loadAndOptions", "optionsNodes", "injectData", "httpContextData", "fileBaseUrl", "injectFunc"], outputs: ["onChange", "onSelect", "onContextMenu", "onForceRender"] }, { kind: "component", type: Tree, selector: "axis-design-tree", inputs: ["node", "optionsNodes"], outputs: ["onChange", "onSelect", "onContextMenu"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$1.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "component", type: Cmplib, selector: "axis-cmplib", inputs: ["cmplib", "selectMode", "tags"], outputs: ["cmplibChange", "clickExample", "dragStart", "dragEnd"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "component", type: i9.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign", "forceRenderOnChange"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: NzDrawerModule }, { kind: "component", type: i6$2.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i6$2.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "component", type: Toolbar, selector: "axis-toolbar", inputs: ["shortcutKeysModal"], outputs: ["shortcutKeysModalChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1954
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: Design, isStandalone: true, selector: "axis-design", inputs: { chooseComponentVisible: { classPropertyName: "chooseComponentVisible", publicName: "chooseComponentVisible", isSignal: true, isRequired: false, transformFunction: null }, settingOptionsStr: { classPropertyName: "settingOptionsStr", publicName: "settingOptionsStr", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { chooseComponentVisible: "chooseComponentVisibleChange", settingOptionsStr: "settingOptionsStrChange" }, host: { attributes: { "tabindex": "-1", "autofocus": "true" }, listeners: { "keydown": "onKeyPress($event)" } }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "setting", first: true, predicate: ["setting"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true, static: true }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true, static: true }, { propertyName: "codeEditor", first: true, predicate: ["codeEditor"], descendants: true }, { propertyName: "tools", first: true, predicate: ["tools"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<nz-splitter (nzResize)=\"layoutEditor($event)\">\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[0]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\">\n <nz-tabs nzCentered>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u6811\">\n <axis-design-tree style=\"margin-bottom: 300px;\" #tree [node]=\"treeNode()\" [optionsNodes]=\"optionsNodes\"\n (onSelect)=\"onTreeSelect($event)\" (onChange)=\"onChangeOptionsConfig($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"></axis-design-tree>\n </nz-tab>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u5E93\">\n <axis-cmplib selectMode=\"drag\" (dragStart)=\"onCmplibDragStart($event.example,$event.element)\"\n (dragEnd)=\"onCmplibDragEnd()\"></axis-cmplib>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n <nz-splitter-panel>\n <div nz-flex nzVertical style=\"height: 100%;width: 100%;position: relative;\">\n <h2 style=\"text-align: center;margin-top: 4px;\">\u9884\u89C8</h2>\n <axis-toolbar #tools></axis-toolbar>\n <axis-design-preview #preview style=\"flex:1;overflow: auto;\" [loadAndOptions]=\"loadAndOptions()\"\n [optionsNodes]=\"optionsNodes\" [injectData]=\"injectDataObs\" [injectFunc]=\"injectFunc()\"\n [httpContextData]=\"options.httpContextData()\" [fileBaseUrl]=\"options.fileBaseUrl()\"\n (onChange)=\"onChangeOptionsConfig($event)\" (onSelect)=\"onPreviewSelect($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"\n (onForceRender)=\"triggeEvents('forceRender').subscribe()\"></axis-design-preview>\n </div>\n </nz-splitter-panel>\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[1]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\" style=\"position: relative;\">\n <nz-tabs class=\"design-right-tabs\" nzCentered style=\"height: 100%;\">\n <nz-tab nzTitle=\"\u5C5E\u6027\u8BBE\u7F6E\" (nzClick)=\"syncToSetting()\">\n <ng-container #setting></ng-container>\n <div style=\"height: 300px;\"></div>\n @if (!settingOptionsStr()){\n <nz-empty style=\"height: 300px;\" nzNotFoundContent=\"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6\"></nz-empty>\n }\n </nz-tab>\n <nz-tab nzTitle=\"\u4EE3\u7801\" nzForceRender (nzSelect)=\"syncToCode();\">\n <ng-container #codeEditor=\"axisDynamic\"\n [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:!settingOptionsStr() && treeNode()!=null,otherOptions:{tabSize:2}}\"\n [standalone]=\"true\" [(ngModel)]=\"settingOptionsStr\"\n (ngModelChange)=\"onEditorChange($event)\"></ng-container>\n </nz-tab>\n @for (tab of tabs(); track $index; let i = $index) {\n <nz-tab [nzTitle]=\"title\" [nzForceRender]=\"tab.forceRender()\">\n <ng-template #title>\n <span [attr.data-index]=\"i\">{{tab.title()}}</span>\n </ng-template>\n <div [attr.data-index]=\"i\" style=\"height: 100%;\">\n <ng-container [axisDynamic]=\"tab.child()\"></ng-container>\n </div>\n </nz-tab>\n }\n </nz-tabs>\n </nz-splitter-panel>\n</nz-splitter>\n<ng-container #menu></ng-container>\n<nz-drawer [(nzVisible)]=\"chooseComponentVisible\" nzTitle=\"\u9009\u62E9\u7EC4\u4EF6\" [nzBodyStyle]=\"{padding:0}\"\n (nzOnClose)=\"chooseComponentVisible.set(false);chooseComponentSubject.next(undefined)\">\n <ng-container *nzDrawerContent>\n <axis-cmplib selectMode=\"click\" [tags]=\"chooseComponentTags()\"\n (clickExample)=\"chooseComponentVisible.set(false);chooseComponentSubject.next($event)\"></axis-cmplib>\n </ng-container>\n</nz-drawer>", styles: ["nz-tabs,::ng-deep .ant-tabs-content,::ng-deep .ant-tabs-tabpane{height:100%}::ng-deep .ant-tabs-content{overflow:auto}:host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: NzSplitterModule }, { kind: "component", type: i1$3.NzSplitterComponent, selector: "nz-splitter", inputs: ["nzLayout", "nzLazy"], outputs: ["nzResizeStart", "nzResize", "nzResizeEnd"], exportAs: ["nzSplitter"] }, { kind: "component", type: i1$3.NzSplitterPanelComponent, selector: "nz-splitter-panel", inputs: ["nzDefaultSize", "nzMin", "nzMax", "nzSize", "nzCollapsible", "nzResizable"], exportAs: ["nzSplitterPanel"] }, { kind: "ngmodule", type: NzTabsModule }, { kind: "component", type: i2$3.NzTabsComponent, selector: "nz-tabs", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact", "nzDestroyInactiveTabPane", "nzIndicator"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabs"] }, { kind: "component", type: i2$3.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "component", type: Preview, selector: "axis-design-preview", inputs: ["loadAndOptions", "optionsNodes", "injectData", "httpContextData", "fileBaseUrl", "injectFunc"], outputs: ["onChange", "onSelect", "onContextMenu", "onForceRender"] }, { kind: "component", type: Tree, selector: "axis-design-tree", inputs: ["node", "optionsNodes"], outputs: ["onChange", "onSelect", "onContextMenu"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$1.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "component", type: Cmplib, selector: "axis-cmplib", inputs: ["cmplib", "selectMode", "tags"], outputs: ["cmplibChange", "clickExample", "dragStart", "dragEnd"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "component", type: i9.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign", "forceRenderOnChange"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: NzDrawerModule }, { kind: "component", type: i6$2.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i6$2.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "component", type: Toolbar, selector: "axis-toolbar", inputs: ["shortcutKeysModal"], outputs: ["shortcutKeysModalChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1936
1955
  }
1937
1956
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Design, decorators: [{
1938
1957
  type: Component,
1939
1958
  args: [{ selector: 'axis-design', imports: [NzSplitterModule, NzTabsModule, Preview, Tree, NzFlexModule, Cmplib, FormsModule, NzEmptyModule, DynamicDirective, NzDrawerModule, Toolbar], changeDetection: ChangeDetectionStrategy.OnPush, host: {
1940
1959
  tabindex: "-1",
1941
1960
  autofocus: "true",
1942
- }, template: "<nz-splitter (nzResize)=\"layoutEditor($event)\">\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[0]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\">\n <nz-tabs nzCentered>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u6811\">\n <axis-design-tree style=\"margin-bottom: 300px;\" #tree [node]=\"treeNode()\" [optionsNodes]=\"optionsNodes\"\n (onSelect)=\"onTreeSelect($event)\" (onChange)=\"onChangeOptionsConfig($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"></axis-design-tree>\n </nz-tab>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u5E93\">\n <axis-cmplib selectMode=\"drag\" (dragStart)=\"onCmplibDragStart($event.example,$event.element)\"\n (dragEnd)=\"onCmplibDragEnd()\"></axis-cmplib>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n <nz-splitter-panel>\n <div nz-flex nzVertical style=\"height: 100%;width: 100%;position: relative;\">\n <h2 style=\"text-align: center;margin-top: 4px;\">\u9884\u89C8</h2>\n <axis-toolbar #tools></axis-toolbar>\n <axis-design-preview #preview style=\"flex:1;overflow: auto;\" [loadAndOptions]=\"loadAndOptions()\"\n [optionsNodes]=\"optionsNodes\" [injectData]=\"injectDataObs\" [injectFunc]=\"injectFunc()\"\n [httpContextData]=\"options.httpContextData()\" [fileBaseUrl]=\"options.fileBaseUrl()\"\n (onChange)=\"onChangeOptionsConfig($event)\" (onSelect)=\"onPreviewSelect($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"\n (onForceRender)=\"triggeEvents('forceRender').subscribe()\"></axis-design-preview>\n </div>\n </nz-splitter-panel>\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[1]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\" style=\"position: relative;\">\n <nz-tabs nzCentered style=\"height: 100%;\">\n <nz-tab nzTitle=\"\u5C5E\u6027\u8BBE\u7F6E\" (nzClick)=\"syncToSetting()\">\n <ng-container #setting></ng-container>\n <div style=\"height: 300px;\"></div>\n @if (!settingOptionsStr()){\n <nz-empty style=\"height: 300px;\" nzNotFoundContent=\"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6\"></nz-empty>\n }\n </nz-tab>\n <nz-tab nzTitle=\"\u4EE3\u7801\" nzForceRender (nzSelect)=\"syncToCode();\">\n <ng-container #codeEditor=\"axisDynamic\"\n [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:!settingOptionsStr() && treeNode()!=null,otherOptions:{tabSize:2}}\"\n [standalone]=\"true\" [(ngModel)]=\"settingOptionsStr\"\n (ngModelChange)=\"onEditorChange($event)\"></ng-container>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n</nz-splitter>\n<ng-container #menu></ng-container>\n<nz-drawer [(nzVisible)]=\"chooseComponentVisible\" nzTitle=\"\u9009\u62E9\u7EC4\u4EF6\" [nzBodyStyle]=\"{padding:0}\"\n (nzOnClose)=\"chooseComponentVisible.set(false);chooseComponentSubject.next(undefined)\">\n <ng-container *nzDrawerContent>\n <axis-cmplib selectMode=\"click\" [tags]=\"chooseComponentTags()\"\n (clickExample)=\"chooseComponentVisible.set(false);chooseComponentSubject.next($event)\"></axis-cmplib>\n </ng-container>\n</nz-drawer>", styles: ["nz-tabs,::ng-deep .ant-tabs-content,::ng-deep .ant-tabs-tabpane{height:100%}::ng-deep .ant-tabs-content{overflow:auto}:host{display:block;width:100%;height:100%}\n"] }]
1961
+ }, template: "<nz-splitter (nzResize)=\"layoutEditor($event)\">\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[0]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\">\n <nz-tabs nzCentered>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u6811\">\n <axis-design-tree style=\"margin-bottom: 300px;\" #tree [node]=\"treeNode()\" [optionsNodes]=\"optionsNodes\"\n (onSelect)=\"onTreeSelect($event)\" (onChange)=\"onChangeOptionsConfig($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"></axis-design-tree>\n </nz-tab>\n <nz-tab nzTitle=\"\u7EC4\u4EF6\u5E93\">\n <axis-cmplib selectMode=\"drag\" (dragStart)=\"onCmplibDragStart($event.example,$event.element)\"\n (dragEnd)=\"onCmplibDragEnd()\"></axis-cmplib>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n <nz-splitter-panel>\n <div nz-flex nzVertical style=\"height: 100%;width: 100%;position: relative;\">\n <h2 style=\"text-align: center;margin-top: 4px;\">\u9884\u89C8</h2>\n <axis-toolbar #tools></axis-toolbar>\n <axis-design-preview #preview style=\"flex:1;overflow: auto;\" [loadAndOptions]=\"loadAndOptions()\"\n [optionsNodes]=\"optionsNodes\" [injectData]=\"injectDataObs\" [injectFunc]=\"injectFunc()\"\n [httpContextData]=\"options.httpContextData()\" [fileBaseUrl]=\"options.fileBaseUrl()\"\n (onChange)=\"onChangeOptionsConfig($event)\" (onSelect)=\"onPreviewSelect($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"\n (onForceRender)=\"triggeEvents('forceRender').subscribe()\"></axis-design-preview>\n </div>\n </nz-splitter-panel>\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[1]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\" style=\"position: relative;\">\n <nz-tabs class=\"design-right-tabs\" nzCentered style=\"height: 100%;\">\n <nz-tab nzTitle=\"\u5C5E\u6027\u8BBE\u7F6E\" (nzClick)=\"syncToSetting()\">\n <ng-container #setting></ng-container>\n <div style=\"height: 300px;\"></div>\n @if (!settingOptionsStr()){\n <nz-empty style=\"height: 300px;\" nzNotFoundContent=\"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6\"></nz-empty>\n }\n </nz-tab>\n <nz-tab nzTitle=\"\u4EE3\u7801\" nzForceRender (nzSelect)=\"syncToCode();\">\n <ng-container #codeEditor=\"axisDynamic\"\n [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:!settingOptionsStr() && treeNode()!=null,otherOptions:{tabSize:2}}\"\n [standalone]=\"true\" [(ngModel)]=\"settingOptionsStr\"\n (ngModelChange)=\"onEditorChange($event)\"></ng-container>\n </nz-tab>\n @for (tab of tabs(); track $index; let i = $index) {\n <nz-tab [nzTitle]=\"title\" [nzForceRender]=\"tab.forceRender()\">\n <ng-template #title>\n <span [attr.data-index]=\"i\">{{tab.title()}}</span>\n </ng-template>\n <div [attr.data-index]=\"i\" style=\"height: 100%;\">\n <ng-container [axisDynamic]=\"tab.child()\"></ng-container>\n </div>\n </nz-tab>\n }\n </nz-tabs>\n </nz-splitter-panel>\n</nz-splitter>\n<ng-container #menu></ng-container>\n<nz-drawer [(nzVisible)]=\"chooseComponentVisible\" nzTitle=\"\u9009\u62E9\u7EC4\u4EF6\" [nzBodyStyle]=\"{padding:0}\"\n (nzOnClose)=\"chooseComponentVisible.set(false);chooseComponentSubject.next(undefined)\">\n <ng-container *nzDrawerContent>\n <axis-cmplib selectMode=\"click\" [tags]=\"chooseComponentTags()\"\n (clickExample)=\"chooseComponentVisible.set(false);chooseComponentSubject.next($event)\"></axis-cmplib>\n </ng-container>\n</nz-drawer>", styles: ["nz-tabs,::ng-deep .ant-tabs-content,::ng-deep .ant-tabs-tabpane{height:100%}::ng-deep .ant-tabs-content{overflow:auto}:host{display:block;width:100%;height:100%}\n"] }]
1943
1962
  }], ctorParameters: () => [], propDecorators: { menu: [{
1944
1963
  type: ViewChild,
1945
1964
  args: ["menu", { static: true, read: ViewContainerRef }]