ngx-axis-appforge 0.0.37 → 0.0.38

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.
@@ -0,0 +1,5 @@
1
+ import { DesignConfig } from 'ngx-axis-appforge/core';
2
+
3
+ declare const Config: DesignConfig;
4
+
5
+ export { Config };
@@ -0,0 +1,20 @@
1
+ import * as i0 from '@angular/core';
2
+ import { AfterContentInit, OnDestroy, ElementRef } from '@angular/core';
3
+ import { DataOptions, Base } from 'ngx-axis-appforge/core';
4
+ import cytoscape from 'cytoscape';
5
+
6
+ declare class CytoscapeOptions extends DataOptions {
7
+ }
8
+
9
+ declare class Cytoscape extends Base<CytoscapeOptions> implements AfterContentInit, OnDestroy {
10
+ constructor();
11
+ options: CytoscapeOptions;
12
+ container: ElementRef;
13
+ cy?: cytoscape.Core;
14
+ ngAfterContentInit(): void;
15
+ ngOnDestroy(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<Cytoscape, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<Cytoscape, "axis-cytoscape", never, {}, {}, never, never, true, never>;
18
+ }
19
+
20
+ export { Cytoscape };
@@ -57,6 +57,7 @@ declare class TreeSelector extends ValueAccess<TreeSelectorOptions> {
57
57
  readonly selectValue: _angular_core.ModelSignal<any>;
58
58
  readonly treeNodeMap: _angular_core.Signal<Map<NzTreeNodeKey, NzTreeNodeOptions>>;
59
59
  readonly changeOn: (option: NzCascaderOption, level: number) => boolean;
60
+ setInitValue(value: any): void;
60
61
  writeValue(value: any): void;
61
62
  private buildTreeData;
62
63
  private valueToComponentValue;
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="630" height="630" viewBox="0, 0, 630, 630">
4
+ <defs>
5
+ <clipPath id="Clip_1">
6
+ <path d="M211.883,187.846 L602.946,187.846 L602.946,578.909 L211.883,578.909 z"/>
7
+ </clipPath>
8
+ </defs>
9
+ <g id="logo">
10
+ <path d="M0,0 L630,0 L630,630 L0,630 z" fill="#F7DF1E" id="background"/>
11
+ <path d="M166.65,524.784 L214.863,495.607 C224.164,512.098 232.625,526.051 252.92,526.051 C272.374,526.051 284.639,518.441 284.639,488.841 L284.639,287.541 L343.842,287.541 L343.842,489.678 C343.842,550.998 307.899,578.909 255.458,578.909 C208.096,578.909 180.605,554.381 166.65,524.779" fill="#000000" id="j" display="none"/>
12
+ <path d="M375,520.13 L423.206,492.219 C435.896,512.943 452.389,528.166 481.568,528.166 C506.099,528.166 521.741,515.901 521.741,498.985 C521.741,478.686 505.673,471.496 478.606,459.659 L463.809,453.311 C421.094,435.13 392.759,412.294 392.759,364.084 C392.759,319.68 426.59,285.846 479.454,285.846 C517.091,285.846 544.156,298.957 563.607,333.212 L517.511,362.814 C507.361,344.631 496.369,337.443 479.454,337.443 C462.115,337.443 451.119,348.438 451.119,362.814 C451.119,380.576 462.115,387.766 487.486,398.763 L502.286,405.105 C552.611,426.674 580.946,448.663 580.946,498.139 C580.946,551.426 539.08,580.604 482.836,580.604 C427.86,580.604 392.336,554.386 375,520.13" fill="#000000" id="s" display="none"/>
13
+ <g clip-path="url(#Clip_1)" id="cytoscape-logo">
14
+ <path d="M520.194,478.644 C547.125,478.644 568.966,500.488 568.966,527.419 C568.966,554.347 547.125,576.191 520.194,576.191 C493.263,576.191 471.419,554.347 471.419,527.419 C471.419,514.948 476.154,503.102 484.568,494.111 L462.669,450.403 C460.537,450.657 458.39,450.784 456.239,450.784 C445.315,450.784 434.77,447.509 425.847,441.408 L401.05,463.246 C401.22,464.527 401.301,465.82 401.301,467.121 C401.301,483.549 387.976,496.878 371.545,496.878 C355.114,496.878 341.785,483.549 341.785,467.121 C341.785,450.686 355.114,437.358 371.545,437.358 C374.38,437.358 377.186,437.762 379.891,438.55 L405.72,415.803 C404.404,412.307 403.462,408.683 402.902,404.987 L341.328,396.693 C332.904,412.349 316.476,422.354 298.37,422.354 C271.442,422.354 249.598,400.51 249.598,373.582 C249.598,346.65 271.442,324.81 298.37,324.81 C322.065,324.81 342.071,341.805 346.314,364.587 L407.874,372.884 C408.285,372.056 408.715,371.242 409.168,370.437 L362.13,322.405 C356.026,325.051 349.44,326.416 342.736,326.416 C315.805,326.416 293.964,304.575 293.964,277.644 C293.964,250.716 315.805,228.872 342.736,228.872 C359.265,228.872 374.484,237.208 383.436,250.765 L454.567,232.825 C457.761,208.908 478.259,190.564 502.909,190.564 C529.837,190.564 551.681,212.408 551.681,239.336 C551.681,265.599 530.909,287.02 504.907,288.069 L485.634,351.571 C500.83,361.446 510.196,378.395 510.196,396.827 C510.196,412.297 503.61,426.828 492.256,437.002 L513.357,479.123 C515.619,478.804 517.903,478.644 520.194,478.644 z M454.346,342.903 L473.882,278.53 C468.893,274.832 464.647,270.207 461.381,264.921 L391.257,282.607 C390.628,288.799 388.829,294.789 385.939,300.29 L432.85,348.192 C439.56,344.959 446.863,343.16 454.346,342.903 z" fill="#000000"/>
15
+ </g>
16
+ </g>
17
+ </svg>
@@ -0,0 +1,63 @@
1
+ import { FunFieldValueBase, baseFbConfig, baseFunField, BaseDesignSetting, FunField, DynamicDirective, OptionsNode, SimpleMenu } from 'ngx-axis-appforge/core';
2
+ import * as i0 from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import * as i4 from 'ng-zorro-antd/collapse';
7
+ import { NzCollapseModule } from 'ng-zorro-antd/collapse';
8
+ import * as i3 from 'ng-zorro-antd/form';
9
+ import { NzFormModule } from 'ng-zorro-antd/form';
10
+ import * as i2 from 'ng-zorro-antd/grid';
11
+
12
+ class Setting extends FunFieldValueBase {
13
+ fg = this.fb.group({
14
+ ...baseFbConfig,
15
+ data: []
16
+ });
17
+ funFields = {
18
+ ...baseFunField,
19
+ data: {
20
+ defaultValue: undefined
21
+ }
22
+ };
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: Setting, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: Setting, isStandalone: true, selector: "axis-design-text-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 \u914D\u7F6E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"data\" #dataFunField>\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],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"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i3.NzFormItemComponent, selector: "nz-form-item", 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", "nzDisabled", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i4.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition"], exportAs: ["nzCollapse"] }, { kind: "component", type: BaseDesignSetting, selector: "axis-base-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { 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: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: Setting, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'axis-design-text-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, DynamicDirective], 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 \u914D\u7F6E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"data\" #dataFunField>\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>" }]
29
+ }] });
30
+
31
+ const Config = {
32
+ componentName: "Cytoscape",
33
+ buildOptionsNodes(nextInfo) {
34
+ return {
35
+ treeNode: new OptionsNode({
36
+ parentId: nextInfo.parentId,
37
+ scopeId: nextInfo.scopeId,
38
+ name: "Cytoscape",
39
+ canSetting: true,
40
+ canDrag: true,
41
+ dragType: "component",
42
+ parentObj: nextInfo.parentObject,
43
+ indexOfParentObj: nextInfo.indexOfParent,
44
+ rootOptions: nextInfo.currentObject,
45
+ settingType: Setting,
46
+ contextMenu: SimpleMenu,
47
+ icon: "node-index"
48
+ })
49
+ };
50
+ },
51
+ bindElementsOptionsNode(element, options) {
52
+ return {
53
+ [options.id]: { element }
54
+ };
55
+ },
56
+ };
57
+
58
+ /**
59
+ * Generated bundle index. Do not edit.
60
+ */
61
+
62
+ export { Config };
63
+ //# sourceMappingURL=ngx-axis-appforge-axis-components-cytoscape-design.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-cytoscape-design.mjs","sources":["../../../axis-components/cytoscape/design/setting/setting.ts","../../../axis-components/cytoscape/design/setting/setting.html","../../../axis-components/cytoscape/design/config.ts","../../../axis-components/cytoscape/design/ngx-axis-appforge-axis-components-cytoscape-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 } from 'ngx-axis-appforge/core';\n\n@Component({\n selector: 'axis-design-text-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, DynamicDirective],\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 data: []\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n data: {\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\">\n 配置\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"data\" #dataFunField>\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, nameCode, SimpleMenu } from \"ngx-axis-appforge/core\";\nimport { Setting } from \"./setting/setting\";\n\nexport const Config: DesignConfig = {\n\n componentName: \"Cytoscape\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: \"Cytoscape\",\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: \"node-index\"\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":"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"}
@@ -0,0 +1,54 @@
1
+ import * as i0 from '@angular/core';
2
+ import { effect, ViewChild, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { DataOptions, Base } from 'ngx-axis-appforge/core';
4
+ import { CommonModule } from '@angular/common';
5
+ import cytoscape from 'cytoscape';
6
+
7
+ class CytoscapeOptions extends DataOptions {
8
+ }
9
+
10
+ class Cytoscape extends Base {
11
+ constructor() {
12
+ super();
13
+ effect(() => {
14
+ if (this.options.data() && this.container) {
15
+ this.cy?.destroy();
16
+ this.cy = cytoscape({
17
+ container: this.container.nativeElement,
18
+ ...this.options.data()
19
+ });
20
+ }
21
+ });
22
+ }
23
+ options = new CytoscapeOptions();
24
+ container;
25
+ cy;
26
+ ngAfterContentInit() {
27
+ if (this.options.data() && !this.cy) {
28
+ this.cy = cytoscape({
29
+ container: this.container.nativeElement,
30
+ ...this.options.data()
31
+ });
32
+ }
33
+ }
34
+ ngOnDestroy() {
35
+ super.ngOnDestroy();
36
+ this.cy?.destroy();
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: Cytoscape, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: Cytoscape, isStandalone: true, selector: "axis-cytoscape", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #container style=\"width: 100%;height: 100%;\"></div>", styles: [":host{display:block;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: Cytoscape, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'axis-cytoscape', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #container style=\"width: 100%;height: 100%;\"></div>", styles: [":host{display:block;height:100%}\n"] }]
44
+ }], ctorParameters: () => [], propDecorators: { container: [{
45
+ type: ViewChild,
46
+ args: ["container", { static: true }]
47
+ }] } });
48
+
49
+ /**
50
+ * Generated bundle index. Do not edit.
51
+ */
52
+
53
+ export { Cytoscape };
54
+ //# sourceMappingURL=ngx-axis-appforge-axis-components-cytoscape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-cytoscape.mjs","sources":["../../../axis-components/cytoscape/cytoscape.options.ts","../../../axis-components/cytoscape/cytoscape.ts","../../../axis-components/cytoscape/cytoscape.html","../../../axis-components/cytoscape/ngx-axis-appforge-axis-components-cytoscape.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { DataOptions } from \"ngx-axis-appforge/core\";\n\nexport class CytoscapeOptions extends DataOptions {\n}","import { AfterContentInit, ChangeDetectionStrategy, Component, effect, ElementRef, OnDestroy, ViewChild } from '@angular/core';\nimport { CytoscapeOptions } from './cytoscape.options';\nimport { Base } from 'ngx-axis-appforge/core';\nimport { CommonModule } from '@angular/common';\nimport cytoscape from 'cytoscape';\n\n@Component({\n selector: 'axis-cytoscape',\n imports: [CommonModule],\n templateUrl: './cytoscape.html',\n styleUrl: './cytoscape.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Cytoscape extends Base<CytoscapeOptions> implements AfterContentInit, OnDestroy {\n\n constructor() {\n super();\n effect(() => {\n if (this.options.data() && this.container) {\n this.cy?.destroy();\n this.cy = cytoscape({\n container: this.container.nativeElement,\n ...this.options.data()\n });\n }\n })\n }\n\n override options: CytoscapeOptions = new CytoscapeOptions();\n\n @ViewChild(\"container\", { static: true })\n container!: ElementRef;\n\n cy?: cytoscape.Core\n\n ngAfterContentInit(): void {\n if (this.options.data() && !this.cy) {\n this.cy = cytoscape({\n container: this.container.nativeElement,\n ...this.options.data()\n });\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this.cy?.destroy();\n }\n}\n","<div #container style=\"width: 100%;height: 100%;\"></div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './cytoscape';\n"],"names":[],"mappings":";;;;;;AAGM,MAAO,gBAAiB,SAAQ,WAAW,CAAA;AAChD;;ACSK,MAAO,SAAU,SAAQ,IAAsB,CAAA;AAEnD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;AACzC,gBAAA,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;AAClB,gBAAA,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;AAClB,oBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;AACvC,oBAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;AACrB,iBAAA,CAAC;;AAEN,SAAC,CAAC;;AAGK,IAAA,OAAO,GAAqB,IAAI,gBAAgB,EAAE;AAG3D,IAAA,SAAS;AAET,IAAA,EAAE;IAEF,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACnC,YAAA,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;AAClB,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;AACvC,gBAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;AACrB,aAAA,CAAC;;;IAIG,WAAW,GAAA;QAClB,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;;uGAjCT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbtB,4DAAwD,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDQ5C,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKX,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAAC,YAAY,CAAC,EAAA,eAAA,EAGN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4DAAA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA;wDAoB/C,SAAS,EAAA,CAAA;sBADR,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;AE9B1C;;AAEG;;;;"}
@@ -73,6 +73,9 @@ class Form extends ValueAccess {
73
73
  }
74
74
  reset(emitEvent = false) {
75
75
  this.fg.reset(this.oriValue, { emitEvent: emitEvent, onlySelf: true });
76
+ if (!emitEvent && this.options.emitInitEvent()) {
77
+ this.triggeEvents("valueChange", { value: this.fg.value }).subscribe();
78
+ }
76
79
  if (!emitEvent) {
77
80
  const { valid, dirty } = this.fg;
78
81
  this.triggeEvents("formStatusChange", { status: { valid, dirty } }).subscribe();
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-form.mjs","sources":["../../../axis-components/form/form.options.ts","../../../axis-components/form/form.ts","../../../axis-components/form/form.html","../../../axis-components/form/ngx-axis-appforge-axis-components-form.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class FormOptions extends ValueAccessOptions {\n\n readonly submitConfirm = signal(true);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, DynamicDirective, EventHandlerOptions, RegisteFormControlOptions, updateAndValidAll, ValueAccess } from 'ngx-axis-appforge/core';\nimport { FormOptions } from './form.options';\nimport { AbstractControl, FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { bufferWhen, debounceTime, map, Observable, of, Subject, tap } from 'rxjs';\nimport { NzModalModule, NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'axis-form',\n imports: [ReactiveFormsModule, DynamicDirective, NzModalModule],\n templateUrl: './form.html',\n styleUrl: './form.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXIS_FORM_REGISTE_CONTROL_TOKEN,\n useFactory: (form: Form) => {\n return form.registerControl.bind(form);\n },\n deps: [Form]\n }\n ]\n})\nexport class Form extends ValueAccess<FormOptions> implements OnInit {\n\n constructor() {\n super();\n this.addSubscribe(this.fg.valueChanges.subscribe(v => {\n this.value.set(v);\n this.onChange?.(v);\n }));\n this.addSubscribe(this.resetSubject.pipe(bufferWhen(() => this.resetSubject.pipe(debounceTime(50))), map(v => v.reduce((a, b) => a || b, false)))\n .subscribe(emitEvent => this.reset(emitEvent)));\n this.addSubscribe(this.fg.statusChanges.subscribe(_ => {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }))\n }\n\n override options: FormOptions = new FormOptions();\n private readonly fb = inject(FormBuilder);\n private readonly modal = inject(NzModalService);\n readonly fg: UntypedFormGroup = this.fb.group({});\n private oriFormValue: any;\n private oriValue: any;\n private resetSubject = new Subject<boolean>();\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.oriFormValue = value;\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (this.options.initValue() !== undefined) {\n this.oriFormValue = this.options.initValue();\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n }\n\n ngOnInit(): void {\n this.registeValueAccess?.({\n validFn: (control: AbstractControl) => {\n return updateAndValidAll(this.fg, { markAsDirty: control.dirty })\n }\n })\n }\n\n registerControl(opt: RegisteFormControlOptions) {\n if (opt.control) {\n const oldControl = this.fg.get(opt.name);\n if (oldControl?.value != undefined) {\n opt.control.setValue(oldControl.value);\n }\n this.fg.setControl(opt.name, opt.control, { emitEvent: false });\n }\n if (this.oriFormValue?.[opt.name] === undefined && opt.initValue !== undefined) {\n this.oriValue = Object.assign({}, this.oriValue, { [opt.name]: opt.initValue });\n this.registeValueAccess?.({\n initValue: this.oriValue\n });\n }\n if (!this.fg.dirty) {\n this.resetSubject.next(false);\n }\n }\n\n reset(emitEvent = false) {\n this.fg.reset(this.oriValue, { emitEvent: emitEvent, onlySelf: true });\n if (!emitEvent) {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }\n }\n\n override onEvents(e: EventHandlerOptions<any>): Observable<boolean> | undefined {\n const obs = super.onEvents(e);\n if (obs) {\n return;\n }\n switch (e.name) {\n case \"validForm\":\n if (updateAndValidAll(this.fg)) {\n if (this.options.submitConfirm()) {\n const subject = new Subject<boolean>();\n this.modal.confirm({\n nzTitle: \"确定提交吗?\",\n nzOnOk: () => {\n this.triggeEvents(\"formValid\", { formValue: this.fg.value }, e.triggeEvents).subscribe(subject);\n },\n nzOnCancel: () => {\n subject.next(false);\n subject.complete();\n }\n });\n return subject.asObservable();\n } else {\n return this.triggeEvents(\"formValid\", { formValue: this.fg.value }, e.triggeEvents);\n }\n }\n return of(false);\n case \"resetForm\":\n this.reset(true);\n return of(true);\n }\n return undefined;\n }\n\n}\n","<form [formGroup]=\"fg\">\n <ng-container [axisDynamic]=\"options.child()\"></ng-container>\n</form>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-form.mjs","sources":["../../../axis-components/form/form.options.ts","../../../axis-components/form/form.ts","../../../axis-components/form/form.html","../../../axis-components/form/ngx-axis-appforge-axis-components-form.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class FormOptions extends ValueAccessOptions {\n\n readonly submitConfirm = signal(true);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, DynamicDirective, EventHandlerOptions, RegisteFormControlOptions, updateAndValidAll, ValueAccess } from 'ngx-axis-appforge/core';\nimport { FormOptions } from './form.options';\nimport { AbstractControl, FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { bufferWhen, debounceTime, map, Observable, of, Subject } from 'rxjs';\nimport { NzModalModule, NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'axis-form',\n imports: [ReactiveFormsModule, DynamicDirective, NzModalModule],\n templateUrl: './form.html',\n styleUrl: './form.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXIS_FORM_REGISTE_CONTROL_TOKEN,\n useFactory: (form: Form) => {\n return form.registerControl.bind(form);\n },\n deps: [Form]\n }\n ]\n})\nexport class Form extends ValueAccess<FormOptions> implements OnInit {\n\n constructor() {\n super();\n this.addSubscribe(this.fg.valueChanges.subscribe(v => {\n this.value.set(v);\n this.onChange?.(v);\n }));\n this.addSubscribe(this.resetSubject.pipe(bufferWhen(() => this.resetSubject.pipe(debounceTime(50))), map(v => v.reduce((a, b) => a || b, false)))\n .subscribe(emitEvent => this.reset(emitEvent)));\n this.addSubscribe(this.fg.statusChanges.subscribe(_ => {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }))\n }\n\n override options: FormOptions = new FormOptions();\n private readonly fb = inject(FormBuilder);\n private readonly modal = inject(NzModalService);\n readonly fg: UntypedFormGroup = this.fb.group({});\n private oriFormValue: any;\n private oriValue: any;\n private resetSubject = new Subject<boolean>();\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.oriFormValue = value;\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (this.options.initValue() !== undefined) {\n this.oriFormValue = this.options.initValue();\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n }\n\n ngOnInit(): void {\n this.registeValueAccess?.({\n validFn: (control: AbstractControl) => {\n return updateAndValidAll(this.fg, { markAsDirty: control.dirty })\n }\n })\n }\n\n registerControl(opt: RegisteFormControlOptions) {\n if (opt.control) {\n const oldControl = this.fg.get(opt.name);\n if (oldControl?.value != undefined) {\n opt.control.setValue(oldControl.value);\n }\n this.fg.setControl(opt.name, opt.control, { emitEvent: false });\n }\n if (this.oriFormValue?.[opt.name] === undefined && opt.initValue !== undefined) {\n this.oriValue = Object.assign({}, this.oriValue, { [opt.name]: opt.initValue });\n this.registeValueAccess?.({\n initValue: this.oriValue\n });\n }\n if (!this.fg.dirty) {\n this.resetSubject.next(false);\n }\n }\n\n reset(emitEvent = false) {\n this.fg.reset(this.oriValue, { emitEvent: emitEvent, onlySelf: true });\n if (!emitEvent && this.options.emitInitEvent()) {\n this.triggeEvents(\"valueChange\", { value: this.fg.value }).subscribe();\n }\n if (!emitEvent) {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }\n }\n\n override onEvents(e: EventHandlerOptions<any>): Observable<boolean> | undefined {\n const obs = super.onEvents(e);\n if (obs) {\n return;\n }\n switch (e.name) {\n case \"validForm\":\n if (updateAndValidAll(this.fg)) {\n if (this.options.submitConfirm()) {\n const subject = new Subject<boolean>();\n this.modal.confirm({\n nzTitle: \"确定提交吗?\",\n nzOnOk: () => {\n this.triggeEvents(\"formValid\", { formValue: this.fg.value }, e.triggeEvents).subscribe(subject);\n },\n nzOnCancel: () => {\n subject.next(false);\n subject.complete();\n }\n });\n return subject.asObservable();\n } else {\n return this.triggeEvents(\"formValid\", { formValue: this.fg.value }, e.triggeEvents);\n }\n }\n return of(false);\n case \"resetForm\":\n this.reset(true);\n return of(true);\n }\n return undefined;\n }\n\n}\n","<form [formGroup]=\"fg\">\n <ng-container [axisDynamic]=\"options.child()\"></ng-container>\n</form>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form';\n"],"names":[],"mappings":"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"}
@@ -38,10 +38,21 @@ class Select extends ValueAccess {
38
38
  if (Array.isArray(data) && data.length) {
39
39
  untracked(() => {
40
40
  if (this.options.mode() == "default") {
41
- if (this.selectorValue() != null && !this.options.allowInvalidValue() && data.every(r => r[this.options.valueField()] != this.selectorValue()) && !this.options.defaultFirst()) {
42
- this.setInitValue(null);
41
+ let setFirst = false;
42
+ if (this.selectorValue() != null) {
43
+ if (!this.options.allowInvalidValue() && data.every(r => r[this.options.valueField()] != this.selectorValue())) {
44
+ if (this.options.defaultFirst()) {
45
+ setFirst = true;
46
+ }
47
+ else {
48
+ this.setInitValue(null);
49
+ }
50
+ }
51
+ }
52
+ else if (this.options.defaultFirst()) {
53
+ setFirst = true;
43
54
  }
44
- else if (this.selectorValue() == null && this.options.defaultFirst()) {
55
+ if (setFirst) {
45
56
  if (this.options.fullValue()) {
46
57
  this.setInitValue(data[0]);
47
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-select.mjs","sources":["../../../axis-components/select/select.options.ts","../../../axis-components/select/select.ts","../../../axis-components/select/select.html","../../../axis-components/select/ngx-axis-appforge-axis-components-select.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class SelectOptions extends ValueAccessOptions {\n\n readonly labelField = signal(\"title\");\n readonly valueField = signal(\"key\");\n readonly disabledField = signal(\"disabled\");\n readonly fullValue = signal(false);\n readonly allowInvalidValue = signal(false);\n readonly data = signal<any>(undefined);\n\n readonly mode = signal<'multiple' | 'tags' | 'default'>('default');\n readonly allowClear = signal(true);\n readonly defaultFirst = signal(false);\n readonly maxMultipleCount = signal(Infinity);\n\n readonly placeholder = signal(\"\");\n readonly variant = signal<'outlined' | 'borderless' | 'filled' | 'underlined'>('outlined');\n readonly dropdownMatchSelectWidth = signal(true);\n readonly size = signal<'large' | 'small' | 'default'>('default');\n readonly optionOverflowSize = signal(8);\n readonly selectOnTab = signal(false);\n readonly maxTagCount = signal(Infinity);\n\n readonly showSearch = signal(false);\n readonly serverSearch = signal(false);\n readonly autoClearSearchValue = signal(true);\n}","import { ChangeDetectionStrategy, Component, computed, effect, model, signal, untracked } from '@angular/core';\nimport { ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\nimport { SelectOptions } from './select.options';\n\n@Component({\n selector: 'axis-select',\n imports: [NzSelectModule, NzRadioModule, FormsModule],\n templateUrl: './select.html',\n styleUrl: './select.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Select extends ValueAccess<SelectOptions> {\n\n constructor() {\n super();\n effect(() => {\n const data = this.options.data();\n if (Array.isArray(data) && data.length) {\n untracked(() => {\n if (this.options.mode() == \"default\") {\n if (this.selectorValue() != null && !this.options.allowInvalidValue() && data.every(r => r[this.options.valueField()] != this.selectorValue()) && !this.options.defaultFirst()) {\n this.setInitValue(null);\n } else if (this.selectorValue() == null && this.options.defaultFirst()) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n }\n } else if (this.selectorValue()?.length && !this.options.allowInvalidValue()) {\n const next = data.filter(d => this.selectorValue()!.includes(d[this.options.valueField()]))\n if (next.length != this.selectorValue()!.length) {\n if (this.options.fullValue()) {\n this.setInitValue(next);\n } else {\n this.setInitValue(next.map(r => r[this.options.valueField()]));\n }\n }\n }\n })\n } else {\n this.setInitValue(null);\n }\n });\n }\n\n override options: SelectOptions = new SelectOptions();\n\n readonly displayValue = computed(() => this.buildDisplay());\n readonly selectorValue = model<any[]>();\n readonly searchText = signal<string>(\"\");\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToSelectorValue();\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.valueToSelectorValue();\n }\n\n private valueToSelectorValue() {\n if (this.value() != undefined) {\n if (this.options.mode() == \"default\") {\n if (this.options.fullValue()) {\n this.selectorValue.set(this.value()[this.options.valueField()]);\n } else {\n this.selectorValue.set(this.value());\n }\n if (this.options.allowInvalidValue()) {\n let data: any[] = this.options.data() ?? [];\n if (data.every((d: any) => d[this.options.valueField()] != this.selectorValue())) {\n data.push({\n [this.options.valueField()]: this.selectorValue(),\n [this.options.labelField()]: this.options.fullValue() ? this.value()[this.options.labelField()] : this.selectorValue()\n });\n }\n this.options.data.set(data);\n }\n return;\n } else if (Array.isArray(this.value())) {\n if (this.options.fullValue()) {\n this.selectorValue.set(this.value().map((r: any) => r[this.options.valueField()]));\n } else {\n this.selectorValue.set(this.value());\n }\n if (this.options.allowInvalidValue()) {\n let data: any[] = this.options.data() ?? [];\n this.selectorValue()!.forEach((v, i) => {\n if (data.every((d: any) => d[this.options.valueField()] != v)) {\n data.push({\n [this.options.valueField()]: this.selectorValue(),\n [this.options.labelField()]: this.options.fullValue() ? this.value()[i][this.options.labelField()] : this.selectorValue()\n });\n }\n });\n this.options.data.set(data);\n }\n return;\n }\n }\n this.selectorValue.set(this.value());\n }\n\n onSelectorChange(value: any) {\n if (this.options.fullValue()) {\n if (this.options.mode() == \"default\") {\n this.value.set(this.options.data().find((item: any) => item[this.options.valueField()] == value));\n } else {\n this.value.set(this.options.data().filter((item: any) => value.includes(item[this.options.valueField()])));\n }\n } else {\n this.value.set(value);\n }\n this.onChange?.(this.value());\n }\n\n private buildDisplay(): string {\n if (this.options.mode() != \"default\") {\n if (Array.isArray(this.value())) {\n if (this.options.fullValue()) {\n return this.value().map((r: any) => r[this.options.labelField()]).join(\";\");\n } else {\n return this.options.data().filter((r: any) => this.value().includes(r[this.options.valueField()])).map((r: any) => r[this.options.labelField()]).join(\";\");\n }\n }\n } else {\n if (this.options.fullValue()) {\n return this.value()[this.options.labelField()];\n } else {\n return this.options.data().find((r: any) => this.value() == r[this.options.valueField()])?.[this.options.labelField()];\n }\n }\n return \"\";\n }\n\n searchChange(input: string) {\n this.triggeEvents(\"search\", { searchText: input }).subscribe();\n }\n}\n","@if (options.readonly()) {\n{{displayValue()}}\n}@else {\n<nz-select [nzMode]=\"options.mode()\" [nzAllowClear]=\"options.allowClear()\"\n [nzMaxMultipleCount]=\"options.maxMultipleCount()\" [nzPlaceHolder]=\"options.placeholder()\"\n [nzVariant]=\"options.variant()\" [nzDropdownMatchSelectWidth]=\"options.dropdownMatchSelectWidth()\"\n [nzSize]=\"options.size()\" [nzOptionOverflowSize]=\"options.optionOverflowSize()\"\n [nzSelectOnTab]=\"options.selectOnTab()\" [nzMaxTagCount]=\"options.maxTagCount()\"\n [nzShowSearch]=\"options.showSearch()\" [nzServerSearch]=\"options.serverSearch()\"\n [nzAutoClearSearchValue]=\"options.autoClearSearchValue()\" [nzDisabled]=\"options.disabled()\"\n [(ngModel)]=\"selectorValue\" (ngModelChange)=\"onSelectorChange($event)\" (nzOnSearch)=\"searchChange($event)\">\n @for (o of options.data(); track o[options.valueField()]) {\n <nz-option [nzValue]=\"o[options.valueField()]\" [nzLabel]=\"o[options.labelField()]\"\n [nzDisabled]=\"o[options.disabledField()]\"></nz-option>\n }\n</nz-select>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './select';\n"],"names":[],"mappings":";;;;;;;;;AAGM,MAAO,aAAc,SAAQ,kBAAkB,CAAA;AAExC,IAAA,UAAU,GAAG,MAAM,CAAC,OAAO,sDAAC;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC;AAC1B,IAAA,aAAa,GAAG,MAAM,CAAC,UAAU,yDAAC;AAClC,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,qDAAC;AACzB,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,6DAAC;AACjC,IAAA,IAAI,GAAG,MAAM,CAAM,SAAS,gDAAC;AAE7B,IAAA,IAAI,GAAG,MAAM,CAAkC,SAAS,gDAAC;AACzD,IAAA,UAAU,GAAG,MAAM,CAAC,IAAI,sDAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,wDAAC;AAC5B,IAAA,gBAAgB,GAAG,MAAM,CAAC,QAAQ,4DAAC;AAEnC,IAAA,WAAW,GAAG,MAAM,CAAC,EAAE,uDAAC;AACxB,IAAA,OAAO,GAAG,MAAM,CAAsD,UAAU,mDAAC;AACjF,IAAA,wBAAwB,GAAG,MAAM,CAAC,IAAI,oEAAC;AACvC,IAAA,IAAI,GAAG,MAAM,CAAgC,SAAS,gDAAC;AACvD,IAAA,kBAAkB,GAAG,MAAM,CAAC,CAAC,8DAAC;AAC9B,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,uDAAC;AAC3B,IAAA,WAAW,GAAG,MAAM,CAAC,QAAQ,uDAAC;AAE9B,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC;AAC1B,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,wDAAC;AAC5B,IAAA,oBAAoB,GAAG,MAAM,CAAC,IAAI,gEAAC;AAC/C;;ACdK,MAAO,MAAO,SAAQ,WAA0B,CAAA;AAEpD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACtC,SAAS,CAAC,MAAK;oBACb,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE;wBACpC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE;AAC9K,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAClB,6BAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE;AACtE,4BAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;gCAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;iCACrB;AACL,gCAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;;;;AAGpD,yBAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;AAC5E,wBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,EAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBAC3F,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAG,CAAC,MAAM,EAAE;AAC/C,4BAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;AAC5B,gCAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;iCAClB;gCACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;;;;AAItE,iBAAC,CAAC;;iBACG;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAE3B,SAAC,CAAC;;AAGK,IAAA,OAAO,GAAkB,IAAI,aAAa,EAAE;IAE5C,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;IAClD,aAAa,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAS;AAC9B,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AAE/B,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE;;AAGpB,IAAA,YAAY,CAAC,KAAU,EAAA;AAC9B,QAAA,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,oBAAoB,EAAE;;IAGrB,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,SAAS,EAAE;YAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE;AACpC,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;AAC5B,oBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;;qBAC1D;oBACL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;AAEtC,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;oBACpC,IAAI,IAAI,GAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;oBAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;wBAChF,IAAI,CAAC,IAAI,CAAC;4BACR,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;AACjD,4BAAA,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa;AACrH,yBAAA,CAAC;;oBAEJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;;gBAE7B;;iBACK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AACtC,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;AAC5B,oBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;;qBAC7E;oBACL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;AAEtC,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;oBACpC,IAAI,IAAI,GAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;oBAC3C,IAAI,CAAC,aAAa,EAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;wBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,IAAI,CAAC;gCACR,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;AACjD,gCAAA,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa;AACxH,6BAAA,CAAC;;AAEN,qBAAC,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;;gBAE7B;;;QAGJ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;AAGtC,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE;AACpC,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;;iBAC5F;AACL,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;;;aAEvG;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;;QAEvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;;IAGvB,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AAC/B,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;oBAC5B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;qBACtE;oBACL,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;;aAGzJ;AACL,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;AAC5B,gBAAA,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;;iBACzC;AACL,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;;;AAG1H,QAAA,OAAO,EAAE;;AAGX,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE;;uGA/HrD,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAN,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAM,6SCdnB,sjCAgBC,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDPW,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,8BAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKzC,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPlB,SAAS;+BACE,aAAa,EAAA,OAAA,EACd,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,EAAA,eAAA,EAGpC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sjCAAA,EAAA,MAAA,EAAA,CAAA,wDAAA,CAAA,EAAA;;;AEZjD;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-select.mjs","sources":["../../../axis-components/select/select.options.ts","../../../axis-components/select/select.ts","../../../axis-components/select/select.html","../../../axis-components/select/ngx-axis-appforge-axis-components-select.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class SelectOptions extends ValueAccessOptions {\n\n readonly labelField = signal(\"title\");\n readonly valueField = signal(\"key\");\n readonly disabledField = signal(\"disabled\");\n readonly fullValue = signal(false);\n readonly allowInvalidValue = signal(false);\n readonly data = signal<any>(undefined);\n\n readonly mode = signal<'multiple' | 'tags' | 'default'>('default');\n readonly allowClear = signal(true);\n readonly defaultFirst = signal(false);\n readonly maxMultipleCount = signal(Infinity);\n\n readonly placeholder = signal(\"\");\n readonly variant = signal<'outlined' | 'borderless' | 'filled' | 'underlined'>('outlined');\n readonly dropdownMatchSelectWidth = signal(true);\n readonly size = signal<'large' | 'small' | 'default'>('default');\n readonly optionOverflowSize = signal(8);\n readonly selectOnTab = signal(false);\n readonly maxTagCount = signal(Infinity);\n\n readonly showSearch = signal(false);\n readonly serverSearch = signal(false);\n readonly autoClearSearchValue = signal(true);\n}","import { ChangeDetectionStrategy, Component, computed, effect, model, signal, untracked } from '@angular/core';\nimport { ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\nimport { SelectOptions } from './select.options';\n\n@Component({\n selector: 'axis-select',\n imports: [NzSelectModule, NzRadioModule, FormsModule],\n templateUrl: './select.html',\n styleUrl: './select.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Select extends ValueAccess<SelectOptions> {\n\n constructor() {\n super();\n effect(() => {\n const data = this.options.data();\n if (Array.isArray(data) && data.length) {\n untracked(() => {\n if (this.options.mode() == \"default\") {\n let setFirst = false;\n if (this.selectorValue() != null) {\n if (!this.options.allowInvalidValue() && data.every(r => r[this.options.valueField()] != this.selectorValue())) {\n if (this.options.defaultFirst()) {\n setFirst = true;\n } else {\n this.setInitValue(null);\n }\n }\n } else if (this.options.defaultFirst()) {\n setFirst = true;\n }\n if (setFirst) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n }\n } else if (this.selectorValue()?.length && !this.options.allowInvalidValue()) {\n const next = data.filter(d => this.selectorValue()!.includes(d[this.options.valueField()]))\n if (next.length != this.selectorValue()!.length) {\n if (this.options.fullValue()) {\n this.setInitValue(next);\n } else {\n this.setInitValue(next.map(r => r[this.options.valueField()]));\n }\n }\n }\n })\n } else {\n this.setInitValue(null);\n }\n });\n }\n\n override options: SelectOptions = new SelectOptions();\n\n readonly displayValue = computed(() => this.buildDisplay());\n readonly selectorValue = model<any[]>();\n readonly searchText = signal<string>(\"\");\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToSelectorValue();\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.valueToSelectorValue();\n }\n\n private valueToSelectorValue() {\n if (this.value() != undefined) {\n if (this.options.mode() == \"default\") {\n if (this.options.fullValue()) {\n this.selectorValue.set(this.value()[this.options.valueField()]);\n } else {\n this.selectorValue.set(this.value());\n }\n if (this.options.allowInvalidValue()) {\n let data: any[] = this.options.data() ?? [];\n if (data.every((d: any) => d[this.options.valueField()] != this.selectorValue())) {\n data.push({\n [this.options.valueField()]: this.selectorValue(),\n [this.options.labelField()]: this.options.fullValue() ? this.value()[this.options.labelField()] : this.selectorValue()\n });\n }\n this.options.data.set(data);\n }\n return;\n } else if (Array.isArray(this.value())) {\n if (this.options.fullValue()) {\n this.selectorValue.set(this.value().map((r: any) => r[this.options.valueField()]));\n } else {\n this.selectorValue.set(this.value());\n }\n if (this.options.allowInvalidValue()) {\n let data: any[] = this.options.data() ?? [];\n this.selectorValue()!.forEach((v, i) => {\n if (data.every((d: any) => d[this.options.valueField()] != v)) {\n data.push({\n [this.options.valueField()]: this.selectorValue(),\n [this.options.labelField()]: this.options.fullValue() ? this.value()[i][this.options.labelField()] : this.selectorValue()\n });\n }\n });\n this.options.data.set(data);\n }\n return;\n }\n }\n this.selectorValue.set(this.value());\n }\n\n onSelectorChange(value: any) {\n if (this.options.fullValue()) {\n if (this.options.mode() == \"default\") {\n this.value.set(this.options.data().find((item: any) => item[this.options.valueField()] == value));\n } else {\n this.value.set(this.options.data().filter((item: any) => value.includes(item[this.options.valueField()])));\n }\n } else {\n this.value.set(value);\n }\n this.onChange?.(this.value());\n }\n\n private buildDisplay(): string {\n if (this.options.mode() != \"default\") {\n if (Array.isArray(this.value())) {\n if (this.options.fullValue()) {\n return this.value().map((r: any) => r[this.options.labelField()]).join(\";\");\n } else {\n return this.options.data().filter((r: any) => this.value().includes(r[this.options.valueField()])).map((r: any) => r[this.options.labelField()]).join(\";\");\n }\n }\n } else {\n if (this.options.fullValue()) {\n return this.value()[this.options.labelField()];\n } else {\n return this.options.data().find((r: any) => this.value() == r[this.options.valueField()])?.[this.options.labelField()];\n }\n }\n return \"\";\n }\n\n searchChange(input: string) {\n this.triggeEvents(\"search\", { searchText: input }).subscribe();\n }\n}\n","@if (options.readonly()) {\n{{displayValue()}}\n}@else {\n<nz-select [nzMode]=\"options.mode()\" [nzAllowClear]=\"options.allowClear()\"\n [nzMaxMultipleCount]=\"options.maxMultipleCount()\" [nzPlaceHolder]=\"options.placeholder()\"\n [nzVariant]=\"options.variant()\" [nzDropdownMatchSelectWidth]=\"options.dropdownMatchSelectWidth()\"\n [nzSize]=\"options.size()\" [nzOptionOverflowSize]=\"options.optionOverflowSize()\"\n [nzSelectOnTab]=\"options.selectOnTab()\" [nzMaxTagCount]=\"options.maxTagCount()\"\n [nzShowSearch]=\"options.showSearch()\" [nzServerSearch]=\"options.serverSearch()\"\n [nzAutoClearSearchValue]=\"options.autoClearSearchValue()\" [nzDisabled]=\"options.disabled()\"\n [(ngModel)]=\"selectorValue\" (ngModelChange)=\"onSelectorChange($event)\" (nzOnSearch)=\"searchChange($event)\">\n @for (o of options.data(); track o[options.valueField()]) {\n <nz-option [nzValue]=\"o[options.valueField()]\" [nzLabel]=\"o[options.labelField()]\"\n [nzDisabled]=\"o[options.disabledField()]\"></nz-option>\n }\n</nz-select>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './select';\n"],"names":[],"mappings":"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"}
@@ -60,6 +60,9 @@ class SingleSelector extends ValueAccess {
60
60
  this.valueToSelectorValue();
61
61
  }
62
62
  setInitValue(value) {
63
+ if (this.options.id == "axis-components/tree-selector#3") {
64
+ debugger;
65
+ }
63
66
  super.setInitValue(value);
64
67
  this.valueToSelectorValue();
65
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-single-selector.mjs","sources":["../../../axis-components/single-selector/single-selector.options.ts","../../../axis-components/single-selector/single-selector.ts","../../../axis-components/single-selector/single-selector.html","../../../axis-components/single-selector/ngx-axis-appforge-axis-components-single-selector.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class SingleSelectorOptions extends ValueAccessOptions {\n\n readonly labelField = signal(\"title\");\n readonly valueField = signal(\"key\");\n readonly fullValue = signal(false);\n readonly defaultFirst = signal(false);\n readonly autofocus = signal(false);\n readonly data = signal<any>(undefined);\n\n readonly type = signal<\"selector\" | \"radio\" | \"button\">(\"selector\");\n readonly showAll = signal(false);\n readonly allowClear = signal(true);\n readonly placeholder = signal(\"\");\n\n readonly showSearch = signal(true);\n readonly selectOnSearch = signal(false);\n readonly backendSearch = signal(false);\n readonly searchLimitLength = signal<number | null>(null);\n}","import { ChangeDetectionStrategy, Component, effect, model, signal, untracked } from '@angular/core';\nimport { SingleSelectorOptions } from './single-selector.options';\nimport { ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axis-single-selector',\n imports: [NzSelectModule, NzRadioModule, FormsModule],\n templateUrl: './single-selector.html',\n styleUrl: './single-selector.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SingleSelector extends ValueAccess<SingleSelectorOptions> {\n\n constructor() {\n super();\n effect(() => {\n const data = this.options.data();\n if (Array.isArray(data) && data.length) {\n untracked(() => {\n if (this.selectorValue() != null && data.every(r => r[this.options.valueField()] != this.selectorValue()) && !this.options.defaultFirst()) {\n this.setInitValue(null);\n } else if (this.options.defaultFirst()) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n }\n })\n } else {\n this.setInitValue(null);\n }\n });\n }\n override options: SingleSelectorOptions = new SingleSelectorOptions();\n\n readonly displayValue = signal<any>(undefined);\n readonly loading = signal(false);\n readonly selectorValue = model<any>();\n readonly searchText = signal<string>(\"\");\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToSelectorValue();\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.valueToSelectorValue();\n }\n\n private valueToSelectorValue() {\n if (this.value() != undefined) {\n if (this.options.fullValue()) {\n this.selectorValue.set(this.value()[this.options.valueField()]);\n } else {\n this.selectorValue.set(this.value());\n }\n } else {\n this.selectorValue.set(undefined);\n }\n }\n\n onSelectorChange(value: any) {\n if (this.options.fullValue()) {\n this.value.set(this.options.data().find((item: any) => item[this.options.valueField()] == value));\n } else {\n this.value.set(value);\n }\n this.onChange?.(this.value());\n }\n\n searchChange(input: string) {\n\n }\n}\n","@if (options.readonly()) {\n{{displayValue()}}\n}@else {\n@if (options.type() == 'selector') {\n<nz-select #select [nzLoading]=\"loading()\" [nzAutoFocus]=\"options.autofocus()\" [nzShowSearch]=\"options.showSearch()\"\n [nzDisabled]=\"options.disabled()\" [nzPlaceHolder]=\"options.placeholder()\" [(ngModel)]=\"selectorValue\"\n (ngModelChange)=\"onSelectorChange($event)\" [nzAllowClear]=\"options.allowClear()\" (nzOnSearch)=\"searchChange($event)\"\n [nzDropdownStyle]=\"{display:(!options.showSearch() || !options.selectOnSearch() || (searchText() && searchText().length >= (options.searchLimitLength() || 1)))?'':'none'}\"\n [nzServerSearch]=\"options.backendSearch()\">\n @if (loading()) {\n <nz-option nzDisabled nzCustomContent>\n @if (searchText() && searchText().length >= (options.searchLimitLength() || 1)) {\n <span nz-icon nzType=\"loading\"></span>\n 加载中...\n }@else {\n <div style=\"color: rgba(0, 0, 0, 0.8);\">\n <span nz-icon nzType=\"info-circle\"></span>\n 至少输入{{options.searchLimitLength() || 1}}个字符\n </div>\n }\n </nz-option>\n }@else {\n @if (options.showAll()) {\n <nz-option nzValue=\"\" nzLabel=\"全部\"></nz-option>\n }\n @for (o of options.data(); track o[options.valueField()]) {\n <nz-option [nzValue]=\"o[options.valueField()]\" [nzLabel]=\"o[options.labelField()]\"></nz-option>\n }\n }\n</nz-select>\n}@else {\n<nz-radio-group [nzDisabled]=\"options.disabled()\" [(ngModel)]=\"selectorValue\" (ngModelChange)=\"onSelectorChange($event)\"\n nzButtonStyle=\"solid\">\n @if (options.type() == 'radio') {\n @if (options.showAll()) {\n <label nz-radio nzValue=\"\">全部</label>\n }\n @for (o of options.data(); track o[options.valueField()]) {\n <label nz-radio [nzValue]=\"o[options.valueField()]\">{{o[options.labelField()]}}</label>\n }\n }@else {\n @if (options.showAll()) {\n <label nz-radio-button nz-radio nzValue=\"\">全部</label>\n }\n @for (o of options.data(); track o[options.valueField()]) {\n <label nz-radio-button nz-radio [nzValue]=\"o[options.valueField()]\">{{o[options.labelField()]}}</label>\n }\n }\n</nz-radio-group>\n}\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './single-selector';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-single-selector.mjs","sources":["../../../axis-components/single-selector/single-selector.options.ts","../../../axis-components/single-selector/single-selector.ts","../../../axis-components/single-selector/single-selector.html","../../../axis-components/single-selector/ngx-axis-appforge-axis-components-single-selector.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class SingleSelectorOptions extends ValueAccessOptions {\n\n readonly labelField = signal(\"title\");\n readonly valueField = signal(\"key\");\n readonly fullValue = signal(false);\n readonly defaultFirst = signal(false);\n readonly autofocus = signal(false);\n readonly data = signal<any>(undefined);\n\n readonly type = signal<\"selector\" | \"radio\" | \"button\">(\"selector\");\n readonly showAll = signal(false);\n readonly allowClear = signal(true);\n readonly placeholder = signal(\"\");\n\n readonly showSearch = signal(true);\n readonly selectOnSearch = signal(false);\n readonly backendSearch = signal(false);\n readonly searchLimitLength = signal<number | null>(null);\n}","import { ChangeDetectionStrategy, Component, effect, model, signal, untracked } from '@angular/core';\nimport { SingleSelectorOptions } from './single-selector.options';\nimport { ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axis-single-selector',\n imports: [NzSelectModule, NzRadioModule, FormsModule],\n templateUrl: './single-selector.html',\n styleUrl: './single-selector.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SingleSelector extends ValueAccess<SingleSelectorOptions> {\n\n constructor() {\n super();\n effect(() => {\n const data = this.options.data();\n if (Array.isArray(data) && data.length) {\n untracked(() => {\n if (this.selectorValue() != null && data.every(r => r[this.options.valueField()] != this.selectorValue()) && !this.options.defaultFirst()) {\n this.setInitValue(null);\n } else if (this.options.defaultFirst()) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n }\n })\n } else {\n this.setInitValue(null);\n }\n });\n }\n override options: SingleSelectorOptions = new SingleSelectorOptions();\n\n readonly displayValue = signal<any>(undefined);\n readonly loading = signal(false);\n readonly selectorValue = model<any>();\n readonly searchText = signal<string>(\"\");\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToSelectorValue();\n }\n\n override setInitValue(value: any): void {\n if(this.options.id == \"axis-components/tree-selector#3\"){\n debugger\n }\n super.setInitValue(value);\n this.valueToSelectorValue();\n }\n\n private valueToSelectorValue() {\n if (this.value() != undefined) {\n if (this.options.fullValue()) {\n this.selectorValue.set(this.value()[this.options.valueField()]);\n } else {\n this.selectorValue.set(this.value());\n }\n } else {\n this.selectorValue.set(undefined);\n }\n }\n\n onSelectorChange(value: any) {\n if (this.options.fullValue()) {\n this.value.set(this.options.data().find((item: any) => item[this.options.valueField()] == value));\n } else {\n this.value.set(value);\n }\n this.onChange?.(this.value());\n }\n\n searchChange(input: string) {\n\n }\n}\n","@if (options.readonly()) {\n{{displayValue()}}\n}@else {\n@if (options.type() == 'selector') {\n<nz-select #select [nzLoading]=\"loading()\" [nzAutoFocus]=\"options.autofocus()\" [nzShowSearch]=\"options.showSearch()\"\n [nzDisabled]=\"options.disabled()\" [nzPlaceHolder]=\"options.placeholder()\" [(ngModel)]=\"selectorValue\"\n (ngModelChange)=\"onSelectorChange($event)\" [nzAllowClear]=\"options.allowClear()\" (nzOnSearch)=\"searchChange($event)\"\n [nzDropdownStyle]=\"{display:(!options.showSearch() || !options.selectOnSearch() || (searchText() && searchText().length >= (options.searchLimitLength() || 1)))?'':'none'}\"\n [nzServerSearch]=\"options.backendSearch()\">\n @if (loading()) {\n <nz-option nzDisabled nzCustomContent>\n @if (searchText() && searchText().length >= (options.searchLimitLength() || 1)) {\n <span nz-icon nzType=\"loading\"></span>\n 加载中...\n }@else {\n <div style=\"color: rgba(0, 0, 0, 0.8);\">\n <span nz-icon nzType=\"info-circle\"></span>\n 至少输入{{options.searchLimitLength() || 1}}个字符\n </div>\n }\n </nz-option>\n }@else {\n @if (options.showAll()) {\n <nz-option nzValue=\"\" nzLabel=\"全部\"></nz-option>\n }\n @for (o of options.data(); track o[options.valueField()]) {\n <nz-option [nzValue]=\"o[options.valueField()]\" [nzLabel]=\"o[options.labelField()]\"></nz-option>\n }\n }\n</nz-select>\n}@else {\n<nz-radio-group [nzDisabled]=\"options.disabled()\" [(ngModel)]=\"selectorValue\" (ngModelChange)=\"onSelectorChange($event)\"\n nzButtonStyle=\"solid\">\n @if (options.type() == 'radio') {\n @if (options.showAll()) {\n <label nz-radio nzValue=\"\">全部</label>\n }\n @for (o of options.data(); track o[options.valueField()]) {\n <label nz-radio [nzValue]=\"o[options.valueField()]\">{{o[options.labelField()]}}</label>\n }\n }@else {\n @if (options.showAll()) {\n <label nz-radio-button nz-radio nzValue=\"\">全部</label>\n }\n @for (o of options.data(); track o[options.valueField()]) {\n <label nz-radio-button nz-radio [nzValue]=\"o[options.valueField()]\">{{o[options.labelField()]}}</label>\n }\n }\n</nz-radio-group>\n}\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './single-selector';\n"],"names":[],"mappings":"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"}