ngx-axis-appforge 0.0.10 → 0.0.11
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.
- package/axis-components/single-selector/index.d.ts +1 -3
- package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs +10 -25
- package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-core.mjs +15 -13
- package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
- package/package.json +72 -72
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit } from '@angular/core';
|
|
3
2
|
import { ValueAccessOptions, ValueAccess } from 'ngx-axis-appforge/core';
|
|
4
3
|
|
|
5
4
|
declare class SingleSelectorOptions extends ValueAccessOptions {
|
|
@@ -19,7 +18,7 @@ declare class SingleSelectorOptions extends ValueAccessOptions {
|
|
|
19
18
|
readonly searchLimitLength: _angular_core.WritableSignal<number | null>;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
declare class SingleSelector extends ValueAccess<SingleSelectorOptions>
|
|
21
|
+
declare class SingleSelector extends ValueAccess<SingleSelectorOptions> {
|
|
23
22
|
constructor();
|
|
24
23
|
options: SingleSelectorOptions;
|
|
25
24
|
readonly displayValue: _angular_core.WritableSignal<any>;
|
|
@@ -29,7 +28,6 @@ declare class SingleSelector extends ValueAccess<SingleSelectorOptions> implemen
|
|
|
29
28
|
writeValue(value: any): void;
|
|
30
29
|
setInitValue(value: any): void;
|
|
31
30
|
private valueToSelectorValue;
|
|
32
|
-
ngOnInit(): void;
|
|
33
31
|
onSelectorChange(value: any): void;
|
|
34
32
|
searchChange(input: string): void;
|
|
35
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SingleSelector, never>;
|
|
@@ -7,8 +7,6 @@ import * as i2 from 'ng-zorro-antd/radio';
|
|
|
7
7
|
import { NzRadioModule } from 'ng-zorro-antd/radio';
|
|
8
8
|
import * as i3 from '@angular/forms';
|
|
9
9
|
import { FormsModule } from '@angular/forms';
|
|
10
|
-
import { take } from 'rxjs';
|
|
11
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
12
10
|
|
|
13
11
|
class SingleSelectorOptions extends ValueAccessOptions {
|
|
14
12
|
labelField = signal("title", ...(ngDevMode ? [{ debugName: "labelField" }] : []));
|
|
@@ -33,9 +31,16 @@ class SingleSelector extends ValueAccess {
|
|
|
33
31
|
effect(() => {
|
|
34
32
|
if (untracked(this.options.defaultFirst)) {
|
|
35
33
|
const data = this.options.data();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
untracked(() => {
|
|
35
|
+
if (data?.length) {
|
|
36
|
+
if (this.options.fullValue()) {
|
|
37
|
+
this.setInitValue(data[0]);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.setInitValue(data[0][this.options.valueField()]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
39
44
|
}
|
|
40
45
|
});
|
|
41
46
|
}
|
|
@@ -62,26 +67,6 @@ class SingleSelector extends ValueAccess {
|
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
|
-
ngOnInit() {
|
|
66
|
-
if (this.options.defaultFirst()) {
|
|
67
|
-
if (this.options.data() !== undefined) {
|
|
68
|
-
if (this.options.data()?.length) {
|
|
69
|
-
this.selectorValue.set(this.options.data()[0][this.options.valueField()]);
|
|
70
|
-
this.onSelectorChange(this.selectorValue());
|
|
71
|
-
this.registValueAccess({ initValue: this.options.data()[0][this.options.valueField()] });
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
this.addSubscribe(toObservable(this.options.data).pipe(take(1)).subscribe(data => {
|
|
76
|
-
if (data?.length) {
|
|
77
|
-
this.selectorValue.set(data[0][this.options.valueField()]);
|
|
78
|
-
this.onSelectorChange(this.selectorValue());
|
|
79
|
-
this.registValueAccess({ initValue: this.selectorValue() });
|
|
80
|
-
}
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
70
|
onSelectorChange(value) {
|
|
86
71
|
if (this.options.fullValue()) {
|
|
87
72
|
this.value.set(this.options.data().find((item) => item[this.options.valueField()] == value));
|
|
@@ -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, OnInit, 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';\nimport { take } from 'rxjs';\nimport { toObservable } from '@angular/core/rxjs-interop';\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> implements OnInit {\n\n constructor() {\n super();\n effect(() => {\n if (untracked(this.options.defaultFirst)) {\n const data = this.options.data();\n if (data?.length) {\n this.setInitValue(data[0][untracked(this.options.valueField)]);\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 }\n }\n\n ngOnInit(): void {\n if (this.options.defaultFirst()) {\n if (this.options.data() !== undefined) {\n if (this.options.data()?.length) {\n this.selectorValue.set(this.options.data()[0][this.options.valueField()]);\n this.onSelectorChange(this.selectorValue());\n this.registValueAccess({ initValue: this.options.data()[0][this.options.valueField()] })\n }\n } else {\n this.addSubscribe(toObservable(this.options.data).pipe(take(1)).subscribe(data => {\n if (data?.length) {\n this.selectorValue.set(data[0][this.options.valueField()]);\n this.onSelectorChange(this.selectorValue());\n this.registValueAccess({ initValue: this.selectorValue() });\n }\n }));\n }\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.labelField()]\">{{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 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 }\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.labelField()]\">{{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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"}
|
|
@@ -2131,22 +2131,24 @@ class FunField {
|
|
|
2131
2131
|
this.execFnSubject.next();
|
|
2132
2132
|
}
|
|
2133
2133
|
async buildImportDeclarations() {
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2134
|
+
if (this.editValue()) {
|
|
2135
|
+
const libs = [];
|
|
2136
|
+
for (const name in this.scripts) {
|
|
2137
|
+
if (this.editValue().fnValue?.imports?.includes(name)) {
|
|
2138
|
+
const filePath = this.scripts[name] + ".d.ts";
|
|
2139
|
+
const dtsContent = await loadScripts(filePath);
|
|
2140
|
+
libs.push({ content: dtsContent, filePath });
|
|
2141
|
+
}
|
|
2140
2142
|
}
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2143
|
+
const declaraMap = {};
|
|
2144
|
+
for (const name in this.funcs) {
|
|
2145
|
+
if (!(this.funcs[name] instanceof Function)) {
|
|
2146
|
+
declaraMap[name] = this.funcs[name].type;
|
|
2147
|
+
}
|
|
2146
2148
|
}
|
|
2149
|
+
libs.push({ content: generateDeclarations(this.ds(), declaraMap) });
|
|
2150
|
+
this.importDeclarations.set(libs);
|
|
2147
2151
|
}
|
|
2148
|
-
libs.push({ content: generateDeclarations(this.ds(), declaraMap) });
|
|
2149
|
-
this.importDeclarations.set(libs);
|
|
2150
2152
|
}
|
|
2151
2153
|
layoutEditor() {
|
|
2152
2154
|
this.funEditor?.onEvents?.({ name: "layout", target: "component" })?.subscribe();
|