ngx-axis-appforge 0.0.32 → 0.0.33

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 (28) hide show
  1. package/axis-components/checkbox/design/index.d.ts +5 -0
  2. package/axis-components/checkbox/index.d.ts +29 -0
  3. package/axis-components-covers/checkbox.svg +24 -0
  4. package/fesm2022/ngx-axis-appforge-axis-components-checkbox-design.mjs +88 -0
  5. package/fesm2022/ngx-axis-appforge-axis-components-checkbox-design.mjs.map +1 -0
  6. package/fesm2022/ngx-axis-appforge-axis-components-checkbox.mjs +107 -0
  7. package/fesm2022/ngx-axis-appforge-axis-components-checkbox.mjs.map +1 -0
  8. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs +4 -4
  9. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs.map +1 -1
  10. package/fesm2022/ngx-axis-appforge-axis-components-edit-table.mjs +2 -2
  11. package/fesm2022/ngx-axis-appforge-axis-components-edit-table.mjs.map +1 -1
  12. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs +2 -2
  13. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs.map +1 -1
  14. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs +7 -5
  15. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs.map +1 -1
  16. package/fesm2022/ngx-axis-appforge-axis-components-input-component.mjs +2 -2
  17. package/fesm2022/ngx-axis-appforge-axis-components-input-component.mjs.map +1 -1
  18. package/fesm2022/ngx-axis-appforge-axis-components-radio.mjs +12 -11
  19. package/fesm2022/ngx-axis-appforge-axis-components-radio.mjs.map +1 -1
  20. package/fesm2022/ngx-axis-appforge-axis-components-select.mjs +20 -6
  21. package/fesm2022/ngx-axis-appforge-axis-components-select.mjs.map +1 -1
  22. package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs +9 -3
  23. package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs.map +1 -1
  24. package/fesm2022/ngx-axis-appforge-axis-components.mjs +27 -0
  25. package/fesm2022/ngx-axis-appforge-axis-components.mjs.map +1 -1
  26. package/fesm2022/ngx-axis-appforge-core.mjs +5 -5
  27. package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
  28. package/package.json +89 -81
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-input-component.mjs","sources":["../../../axis-components/input-component/input-component.options.ts","../../../axis-components/input-component/input-component.ts","../../../axis-components/input-component/input-component.html","../../../axis-components/input-component/ngx-axis-appforge-axis-components-input-component.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class InputComponentOptions extends ValueAccessOptions {\n readonly injectData = signal<any>({});\n readonly allPermissions = signal<{ [permission: string]: string }>({});\n}","import { ChangeDetectionStrategy, Component, computed, ElementRef, model, ViewChild } from '@angular/core';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { InputComponentOptions } from './input-component.options';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DynamicDirective, ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'axis-input-component',\n imports: [NzFormModule, NzInputModule, NzFormModule, DynamicDirective, NzModalModule, ReactiveFormsModule, NzIconModule, FormsModule],\n templateUrl: './input-component.html',\n styleUrl: './input-component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputComponent extends ValueAccess<InputComponentOptions> {\n override options: InputComponentOptions = new InputComponentOptions();\n\n readonly isVisible = model(false);\n readonly designValue = model<any>();\n readonly designOptions = computed(() => ({ component: 'axis-components/design', inuse: true, injectData: this.options.injectData(), allPermissions: this.options.allPermissions() }));\n\n @ViewChild(\"content\")\n content?: ElementRef<HTMLElement>;\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.designValue.set(this.value());\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (this.value() !== undefined) {\n this.designValue.set(this.value());\n }\n }\n\n afterOpen() {\n setTimeout(() => {\n this.content?.nativeElement.focus();\n }, 100);\n }\n\n onOk() {\n this.value.set({ ...this.designValue() });\n this.onChange?.(this.value())\n this.isVisible.set(false);\n }\n}\n","<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"prefix\" [nzSuffix]=\"suffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.readonly()?'查看组件':'配置组件'\" readonly />\n</nz-input-group>\n<ng-template #prefix>\n <i nz-icon nzType=\"build\"></i>\n</ng-template>\n<ng-template #suffix>\n <i nz-icon [nzType]=\"options.readonly()?'eye':'edit'\"></i>\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" (nzOnOk)=\"onOk()\" (nzOnCancel)=\"isVisible.set(false)\" nzWidth=\"800\"\n [nzBodyStyle]=\"{padding:'0',height:'70vh',overflow:'hidden',position:'relative'}\" (nzAfterOpen)=\"afterOpen()\">\n <ng-container *nzModalTitle>\n <div tabindex=\"-1\" autofocus=\"true\" (keydown.escape)=\"isVisible.set(false)\">\n <i nz-icon nzType=\"build\"></i> {{options.readonly()?'查看组件':'配置组件'}}\n </div>\n </ng-container>\n <div *nzModalContent #content style=\"height: 100%;\" tabindex=\"-1\" autofocus=\"true\"\n (keydown.escape)=\"isVisible.set(false)\">\n @if (!options.readonly()) {\n <ng-container [axisDynamic]=\"designOptions()\" [standalone]=\"true\" [(ngModel)]=\"designValue\"></ng-container>\n }@else {\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n }\n </div>\n</nz-modal>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './input-component';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-input-component.mjs","sources":["../../../axis-components/input-component/input-component.options.ts","../../../axis-components/input-component/input-component.ts","../../../axis-components/input-component/input-component.html","../../../axis-components/input-component/ngx-axis-appforge-axis-components-input-component.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class InputComponentOptions extends ValueAccessOptions {\n readonly injectData = signal<any>({});\n readonly allPermissions = signal<{ [permission: string]: string }>({});\n}","import { ChangeDetectionStrategy, Component, computed, ElementRef, model, ViewChild } from '@angular/core';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { InputComponentOptions } from './input-component.options';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DynamicDirective, ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'axis-input-component',\n imports: [NzFormModule, NzInputModule, NzFormModule, DynamicDirective, NzModalModule, ReactiveFormsModule, NzIconModule, FormsModule],\n templateUrl: './input-component.html',\n styleUrl: './input-component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputComponent extends ValueAccess<InputComponentOptions> {\n override options: InputComponentOptions = new InputComponentOptions();\n\n readonly isVisible = model(false);\n readonly designValue = model<any>();\n readonly designOptions = computed(() => ({ component: 'axis-components/design', inuse: true, injectData: this.options.injectData(), allPermissions: this.options.allPermissions() }));\n\n @ViewChild(\"content\")\n content?: ElementRef<HTMLElement>;\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.designValue.set(this.value());\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (this.value() !== undefined) {\n this.designValue.set(this.value());\n }\n }\n\n afterOpen() {\n setTimeout(() => {\n this.content?.nativeElement.focus();\n }, 100);\n }\n\n onOk() {\n this.value.set({ ...this.designValue() });\n this.onChange?.(this.value())\n this.isVisible.set(false);\n }\n}\n","<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"prefix\" [nzSuffix]=\"suffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.readonly()?'查看组件':'配置组件'\" readonly />\n</nz-input-group>\n<ng-template #prefix>\n <i nz-icon nzType=\"build\"></i>\n</ng-template>\n<ng-template #suffix>\n <i nz-icon [nzType]=\"options.readonly()?'eye':'edit'\"></i>\n</ng-template>\n<nz-modal nzDraggable [(nzVisible)]=\"isVisible\" (nzOnOk)=\"onOk()\" (nzOnCancel)=\"isVisible.set(false)\" nzWidth=\"800\"\n [nzCancelText]=\"options.readonly()?null:'确定'\"\n [nzBodyStyle]=\"{padding:'0',height:'70vh',overflow:'hidden',position:'relative'}\" (nzAfterOpen)=\"afterOpen()\">\n <ng-container *nzModalTitle>\n <div tabindex=\"-1\" autofocus=\"true\" (keydown.escape)=\"isVisible.set(false)\">\n <i nz-icon nzType=\"build\"></i> {{options.readonly()?'查看组件':'配置组件'}}\n </div>\n </ng-container>\n <div *nzModalContent #content style=\"height: 100%;\" tabindex=\"-1\" autofocus=\"true\"\n (keydown.escape)=\"isVisible.set(false)\">\n @if (!options.readonly()) {\n <ng-container [axisDynamic]=\"designOptions()\" [standalone]=\"true\" [(ngModel)]=\"designValue\"></ng-container>\n }@else {\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n }\n </div>\n</nz-modal>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './input-component';\n"],"names":[],"mappings":"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"}
@@ -23,24 +23,25 @@ class Radio extends ValueAccess {
23
23
  constructor() {
24
24
  super();
25
25
  effect(() => {
26
- if (untracked(this.options.defaultFirst)) {
27
- const data = this.options.data();
26
+ const data = this.options.data();
27
+ if (Array.isArray(data) && data.length) {
28
28
  untracked(() => {
29
- if (Array.isArray(data)) {
30
- if (data.length) {
31
- if (this.options.fullValue()) {
32
- this.setInitValue(data[0]);
33
- }
34
- else {
35
- this.setInitValue(data[0][this.options.valueField()]);
36
- }
29
+ if (this.radioValue() != null && data.every(r => r[this.options.valueField()] != this.radioValue()) && !this.options.defaultFirst()) {
30
+ this.setInitValue(null);
31
+ }
32
+ else if (this.options.defaultFirst()) {
33
+ if (this.options.fullValue()) {
34
+ this.setInitValue(data[0]);
37
35
  }
38
36
  else {
39
- this.setInitValue(null);
37
+ this.setInitValue(data[0][this.options.valueField()]);
40
38
  }
41
39
  }
42
40
  });
43
41
  }
42
+ else {
43
+ this.setInitValue(null);
44
+ }
44
45
  });
45
46
  }
46
47
  options = new RadioOptions();
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-radio.mjs","sources":["../../../axis-components/radio/radio.options.ts","../../../axis-components/radio/radio.ts","../../../axis-components/radio/radio.html","../../../axis-components/radio/ngx-axis-appforge-axis-components-radio.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class RadioOptions 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 defaultFirst = signal(false);\n readonly data = signal<any>(undefined);\n\n readonly buttonMode = signal(false);\n readonly buttonStyle = signal<'outline' | 'solid'>(\"outline\");\n readonly size = signal<'large' | 'small' | 'default'>('default');\n readonly direction = signal<\"horizontal\" | \"vertical\">(\"horizontal\");\n\n}","import { ChangeDetectionStrategy, Component, computed, effect, model, untracked } from '@angular/core';\nimport { ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\nimport { RadioOptions } from './radio.options';\n\n@Component({\n selector: 'axis-radio',\n imports: [NzRadioModule, FormsModule],\n templateUrl: './radio.html',\n styleUrl: './radio.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Radio extends ValueAccess<RadioOptions> {\n\n constructor() {\n super();\n effect(() => {\n if (untracked(this.options.defaultFirst)) {\n const data = this.options.data();\n untracked(() => {\n if (Array.isArray(data)) {\n if (data.length) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n } else {\n this.setInitValue(null);\n }\n }\n })\n }\n });\n }\n\n override options: RadioOptions = new RadioOptions();\n\n readonly displayValue = computed(() => this.buildDisplay());\n readonly radioValue = model<any[]>();\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToRadioValue();\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.valueToRadioValue();\n }\n\n private valueToRadioValue() {\n if (this.value() != undefined) {\n if (this.options.fullValue()) {\n this.radioValue.set(this.value()[this.options.valueField()]);\n } else {\n this.radioValue.set(this.value());\n }\n return;\n }\n this.radioValue.set(this.value());\n }\n\n onRadioChange(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 private buildDisplay(): string {\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}\n","@if (options.readonly()) {\n{{displayValue()}}\n}@else {\n<nz-radio-group [(ngModel)]=\"radioValue\" (ngModelChange)=\"onRadioChange($event)\" [nzSize]=\"options.size()\"\n [nzDisabled]=\"options.disabled()\" [class]=\"options.direction()\" [nzButtonStyle]=\"options.buttonStyle()\">\n @for (item of options.data(); track item[options.valueField()]) {\n @if (options.buttonMode()) {\n <label nz-radio-button [nzValue]=\"item[options.valueField()]\"\n [nzDisabled]=\"item[options.disabledField()]\">{{item[options.labelField()]}}</label>\n }@else {\n <label nz-radio [nzValue]=\"item[options.valueField()]\"\n [nzDisabled]=\"item[options.disabledField()]\">{{item[options.labelField()]}}</label>\n }\n }\n</nz-radio-group>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './radio';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-radio.mjs","sources":["../../../axis-components/radio/radio.options.ts","../../../axis-components/radio/radio.ts","../../../axis-components/radio/radio.html","../../../axis-components/radio/ngx-axis-appforge-axis-components-radio.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class RadioOptions 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 defaultFirst = signal(false);\n readonly data = signal<any>(undefined);\n\n readonly buttonMode = signal(false);\n readonly buttonStyle = signal<'outline' | 'solid'>(\"outline\");\n readonly size = signal<'large' | 'small' | 'default'>('default');\n readonly direction = signal<\"horizontal\" | \"vertical\">(\"horizontal\");\n\n}","import { ChangeDetectionStrategy, Component, computed, effect, model, untracked } from '@angular/core';\nimport { ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\nimport { RadioOptions } from './radio.options';\n\n@Component({\n selector: 'axis-radio',\n imports: [NzRadioModule, FormsModule],\n templateUrl: './radio.html',\n styleUrl: './radio.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Radio extends ValueAccess<RadioOptions> {\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.radioValue() != null && data.every(r => r[this.options.valueField()] != this.radioValue()) && !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\n override options: RadioOptions = new RadioOptions();\n\n readonly displayValue = computed(() => this.buildDisplay());\n readonly radioValue = model<any[]>();\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToRadioValue();\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.valueToRadioValue();\n }\n\n private valueToRadioValue() {\n if (this.value() != undefined) {\n if (this.options.fullValue()) {\n this.radioValue.set(this.value()[this.options.valueField()]);\n } else {\n this.radioValue.set(this.value());\n }\n return;\n }\n this.radioValue.set(this.value());\n }\n\n onRadioChange(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 private buildDisplay(): string {\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}\n","@if (options.readonly()) {\n{{displayValue()}}\n}@else {\n<nz-radio-group [(ngModel)]=\"radioValue\" (ngModelChange)=\"onRadioChange($event)\" [nzSize]=\"options.size()\"\n [nzDisabled]=\"options.disabled()\" [class]=\"options.direction()\" [nzButtonStyle]=\"options.buttonStyle()\">\n @for (item of options.data(); track item[options.valueField()]) {\n @if (options.buttonMode()) {\n <label nz-radio-button [nzValue]=\"item[options.valueField()]\"\n [nzDisabled]=\"item[options.disabledField()]\">{{item[options.labelField()]}}</label>\n }@else {\n <label nz-radio [nzValue]=\"item[options.valueField()]\"\n [nzDisabled]=\"item[options.disabledField()]\">{{item[options.labelField()]}}</label>\n }\n }\n</nz-radio-group>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './radio';\n"],"names":[],"mappings":"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"}
@@ -33,11 +33,14 @@ class Select extends ValueAccess {
33
33
  constructor() {
34
34
  super();
35
35
  effect(() => {
36
- if (untracked(this.options.defaultFirst) && untracked(this.options.mode) == "default") {
37
- const data = this.options.data();
36
+ const data = this.options.data();
37
+ if (Array.isArray(data) && data.length) {
38
38
  untracked(() => {
39
- if (Array.isArray(data)) {
40
- if (data.length) {
39
+ if (this.options.mode() == "default") {
40
+ if (this.selectorValue() != null && data.every(r => r[this.options.valueField()] != this.selectorValue()) && !this.options.defaultFirst()) {
41
+ this.setInitValue(null);
42
+ }
43
+ else if (this.options.defaultFirst()) {
41
44
  if (this.options.fullValue()) {
42
45
  this.setInitValue(data[0]);
43
46
  }
@@ -45,12 +48,23 @@ class Select extends ValueAccess {
45
48
  this.setInitValue(data[0][this.options.valueField()]);
46
49
  }
47
50
  }
48
- else {
49
- this.setInitValue(null);
51
+ }
52
+ else if (this.selectorValue()?.length) {
53
+ const next = data.filter(d => this.selectorValue().includes(d[this.options.valueField()]));
54
+ if (next.length != this.selectorValue().length) {
55
+ if (this.options.fullValue()) {
56
+ this.setInitValue(next);
57
+ }
58
+ else {
59
+ this.setInitValue(next.map(r => r[this.options.valueField()]));
60
+ }
50
61
  }
51
62
  }
52
63
  });
53
64
  }
65
+ else {
66
+ this.setInitValue(null);
67
+ }
54
68
  });
55
69
  }
56
70
  options = new SelectOptions();
@@ -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 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 if (untracked(this.options.defaultFirst) && untracked(this.options.mode) == \"default\") {\n const data = this.options.data();\n untracked(() => {\n if (Array.isArray(data)) {\n if (data.length) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n } else {\n this.setInitValue(null);\n }\n }\n })\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 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 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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"}
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 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 && 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 } else if (this.selectorValue()?.length) {\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 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 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,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;;ACbK,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;AACpC,wBAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,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;AACzI,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAClB,6BAAA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE;AACtC,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,EAAE;AACvC,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;;gBAEtC;;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;;gBAEtC;;;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;;uGAzGrD,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;;;;"}
@@ -29,10 +29,13 @@ class SingleSelector extends ValueAccess {
29
29
  constructor() {
30
30
  super();
31
31
  effect(() => {
32
- if (untracked(this.options.defaultFirst)) {
33
- const data = this.options.data();
32
+ const data = this.options.data();
33
+ if (Array.isArray(data) && data.length) {
34
34
  untracked(() => {
35
- if (data?.length) {
35
+ if (this.selectorValue() != null && data.every(r => r[this.options.valueField()] != this.selectorValue()) && !this.options.defaultFirst()) {
36
+ this.setInitValue(null);
37
+ }
38
+ else if (this.options.defaultFirst()) {
36
39
  if (this.options.fullValue()) {
37
40
  this.setInitValue(data[0]);
38
41
  }
@@ -42,6 +45,9 @@ class SingleSelector extends ValueAccess {
42
45
  }
43
46
  });
44
47
  }
48
+ else {
49
+ this.setInitValue(null);
50
+ }
45
51
  });
46
52
  }
47
53
  options = new SingleSelectorOptions();
@@ -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 if (untracked(this.options.defaultFirst)) {\n const data = this.options.data();\n untracked(() => {\n if (data?.length) {\n if (this.options.fullValue()) {\n this.setInitValue(data[0]);\n } else {\n this.setInitValue(data[0][this.options.valueField()]);\n }\n }\n })\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 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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"}
@@ -67,6 +67,8 @@ const cmpMap = {
67
67
  "axis-components/radio/design": () => import('ngx-axis-appforge/axis-components/radio/design'),
68
68
  "axis-components/switch": () => import('ngx-axis-appforge/axis-components/switch'),
69
69
  "axis-components/switch/design": () => import('ngx-axis-appforge/axis-components/switch/design'),
70
+ "axis-components/checkbox": () => import('ngx-axis-appforge/axis-components/checkbox'),
71
+ "axis-components/checkbox/design": () => import('ngx-axis-appforge/axis-components/checkbox/design'),
70
72
  };
71
73
 
72
74
  const buttonExampleDesc = {
@@ -1178,6 +1180,30 @@ const switchExampleDesc = {
1178
1180
  }
1179
1181
  };
1180
1182
 
1183
+ const checkboxExampleDesc = {
1184
+ component: "多选框",
1185
+ coverImg: "assets/axis-components-covers/checkbox.svg",
1186
+ span: 12,
1187
+ height: 60,
1188
+ example: {
1189
+ options: {
1190
+ component: "axis-components/checkbox",
1191
+ id: "axis-components/checkbox#1",
1192
+ inuse: true,
1193
+ data: [
1194
+ {
1195
+ title: "选项1",
1196
+ key: "1"
1197
+ },
1198
+ {
1199
+ title: "选项2",
1200
+ key: "2"
1201
+ }
1202
+ ]
1203
+ },
1204
+ }
1205
+ };
1206
+
1181
1207
  const examples = [
1182
1208
  {
1183
1209
  groupName: "通用",
@@ -1205,6 +1231,7 @@ const examples = [
1205
1231
  selectExampleDesc,
1206
1232
  treeSelectorExampleDesc,
1207
1233
  radioExampleDesc,
1234
+ checkboxExampleDesc,
1208
1235
  switchExampleDesc,
1209
1236
  inputIconExampleDesc,
1210
1237
  textareaExampleDesc,