ngx-axis-appforge 0.0.25 → 0.0.27
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/image/index.d.ts +2 -0
- package/axis-components/input-icon/index.d.ts +1 -0
- package/axis-components/upload/index.d.ts +23 -22
- package/core/index.d.ts +2 -1
- package/fesm2022/ngx-axis-appforge-axis-components-badge-design.mjs +2 -2
- package/fesm2022/ngx-axis-appforge-axis-components-badge-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-image.mjs +13 -4
- package/fesm2022/ngx-axis-appforge-axis-components-image.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-input-icon.mjs +13 -6
- package/fesm2022/ngx-axis-appforge-axis-components-input-icon.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-radio.mjs +10 -5
- package/fesm2022/ngx-axis-appforge-axis-components-radio.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-scope-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-select.mjs +10 -5
- package/fesm2022/ngx-axis-appforge-axis-components-select.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-steps-design.mjs +4 -4
- package/fesm2022/ngx-axis-appforge-axis-components-steps-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-table.mjs +2 -2
- package/fesm2022/ngx-axis-appforge-axis-components-table.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-text.mjs +2 -2
- package/fesm2022/ngx-axis-appforge-axis-components-text.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-upload-design.mjs +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-upload-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-upload.mjs +14 -5
- package/fesm2022/ngx-axis-appforge-axis-components-upload.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-core.mjs +6 -3
- package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
- package/package.json +93 -93
|
@@ -4,7 +4,7 @@ import * as i2 from 'ng-zorro-antd/form';
|
|
|
4
4
|
import { NzFormModule } from 'ng-zorro-antd/form';
|
|
5
5
|
import * as i3 from 'ng-zorro-antd/input';
|
|
6
6
|
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
7
|
-
import { ValueAccessOptions, ValueAccess, FormValidators, DynamicDirective } from 'ngx-axis-appforge/core';
|
|
7
|
+
import { ValueAccessOptions, ValueAccess, FormValidators, updateAndValidAll, DynamicDirective } from 'ngx-axis-appforge/core';
|
|
8
8
|
import * as i5 from '@angular/forms';
|
|
9
9
|
import { UntypedFormBuilder, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
10
10
|
import * as i4 from 'ng-zorro-antd/modal';
|
|
@@ -47,17 +47,24 @@ class InputIcon extends ValueAccess {
|
|
|
47
47
|
icon: undefined,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
this.value.set(
|
|
50
|
+
remove() {
|
|
51
|
+
this.value.set(null);
|
|
52
52
|
this.onChange?.(this.value());
|
|
53
|
-
this.
|
|
53
|
+
this.resetForm();
|
|
54
|
+
}
|
|
55
|
+
onOk() {
|
|
56
|
+
if (updateAndValidAll(this.fg)) {
|
|
57
|
+
this.value.set(this.preview());
|
|
58
|
+
this.onChange?.(this.value());
|
|
59
|
+
this.isVisible.set(false);
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: InputIcon, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: InputIcon, isStandalone: true, selector: "axis-input-icon", inputs: { isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isVisible: "isVisibleChange" }, usesInheritance: true, ngImport: i0, template: "@if (!options.readonly()) {\n<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"value()?.component? iconInp:undefined\"\n [nzSuffix]=\"iconSuffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.placeholder()\" readonly />\n</nz-input-group>\n<ng-template #iconInp>\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n</ng-template>\n<ng-template #iconSuffix>\n <i nz-icon nzType=\"right\" style=\"color:rgba(0, 0, 0, 0.25)\" nzTheme=\"outline\"></i>\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"options.modalTitle()\" (nzOnOk)=\"onOk()\"\n (nzOnCancel)=\"isVisible.set(false)\" (nzAfterClose)=\"resetForm()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u5E93</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"lib\">\n <label nz-radio-button nzValue=\"antdesign\">antdesign</label>\n <label nz-radio-button nzValue=\"iconfont\">iconfont</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @if (formValue() == undefined || formValue()?.lib == 'antdesign') {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u4E3B\u9898</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"theme\">\n <label nz-radio-button nzValue=\"outline\">outline</label>\n <label nz-radio-button nzValue=\"fill\">fill</label>\n <label nz-radio-button nzValue=\"twotone\">twotone</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n }\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-input-group style=\"max-width: 200px;\" [nzSuffix]=\"iconPreview\">\n <input autofocus placeholder=\"\u8F93\u5165\u56FE\u6807\u7C7B\u578B\uFF0C\u5982 edit\" nz-input formControlName=\"icon\" />\n </nz-input-group>\n <ng-template #iconPreview>\n <ng-container [axisDynamic]=\"preview()\" [standalone]=\"true\"></ng-container>\n </ng-template>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n antdesign \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\"\n href=\"https://ng.ant.design/components/icon/zh\">https://ng.ant.design/components/icon/zh</a>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n iconfont \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\" href=\"https://www.iconfont.cn/\">https://www.iconfont.cn/</a>\n </nz-form-control>\n </nz-form-item>\n </form>\n </ng-container>\n</nz-modal>\n}@else if(value()?.comonent){\n<ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n}", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i1.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: i1.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i2.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i2.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i2.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i3.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i3.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: NzModalModule }, { kind: "component", type: i4.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "directive", type: i4.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i6.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzRadioModule }, { kind: "component", type: i7.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i7.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: InputIcon, isStandalone: true, selector: "axis-input-icon", inputs: { isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isVisible: "isVisibleChange" }, usesInheritance: true, ngImport: i0, template: "@if (!options.readonly()) {\n<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"value()?.component? iconInp:undefined\"\n [nzSuffix]=\"iconSuffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.placeholder()\" readonly />\n</nz-input-group>\n<ng-template #iconInp>\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n</ng-template>\n<ng-template #iconSuffix>\n @if (value()) {\n <nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\n (click)=\"$event.stopPropagation();remove()\" />\n }@else {\n <i nz-icon nzType=\"right\" style=\"color:rgba(0, 0, 0, 0.25)\" nzTheme=\"outline\"></i>\n }\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"options.modalTitle()\" (nzOnOk)=\"onOk()\"\n (nzOnCancel)=\"isVisible.set(false)\" (nzAfterClose)=\"resetForm()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u5E93</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"lib\">\n <label nz-radio-button nzValue=\"antdesign\">antdesign</label>\n <label nz-radio-button nzValue=\"iconfont\">iconfont</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @if (formValue() == undefined || formValue()?.lib == 'antdesign') {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u4E3B\u9898</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"theme\">\n <label nz-radio-button nzValue=\"outline\">outline</label>\n <label nz-radio-button nzValue=\"fill\">fill</label>\n <label nz-radio-button nzValue=\"twotone\">twotone</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n }\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-input-group style=\"max-width: 200px;\" [nzSuffix]=\"iconPreview\">\n <input autofocus placeholder=\"\u8F93\u5165\u56FE\u6807\u7C7B\u578B\uFF0C\u5982 edit\" nz-input formControlName=\"icon\" />\n </nz-input-group>\n <ng-template #iconPreview>\n <ng-container [axisDynamic]=\"preview()\" [standalone]=\"true\"></ng-container>\n </ng-template>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n antdesign \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\"\n href=\"https://ng.ant.design/components/icon/zh\">https://ng.ant.design/components/icon/zh</a>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n iconfont \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\" href=\"https://www.iconfont.cn/\">https://www.iconfont.cn/</a>\n </nz-form-control>\n </nz-form-item>\n </form>\n </ng-container>\n</nz-modal>\n}@else if(value()?.comonent){\n<ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n}", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i1.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: i1.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i2.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i2.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i2.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i3.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i3.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: NzModalModule }, { kind: "component", type: i4.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "directive", type: i4.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i6.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzRadioModule }, { kind: "component", type: i7.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i7.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
57
64
|
}
|
|
58
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: InputIcon, decorators: [{
|
|
59
66
|
type: Component,
|
|
60
|
-
args: [{ selector: 'axis-input-icon', imports: [NzFormModule, NzInputModule, NzFormModule, DynamicDirective, NzModalModule, ReactiveFormsModule, NzIconModule, NzRadioModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!options.readonly()) {\n<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"value()?.component? iconInp:undefined\"\n [nzSuffix]=\"iconSuffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.placeholder()\" readonly />\n</nz-input-group>\n<ng-template #iconInp>\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n</ng-template>\n<ng-template #iconSuffix>\n <i nz-icon nzType=\"right\" style=\"color:rgba(0, 0, 0, 0.25)\" nzTheme=\"outline\"></i>\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"options.modalTitle()\" (nzOnOk)=\"onOk()\"\n (nzOnCancel)=\"isVisible.set(false)\" (nzAfterClose)=\"resetForm()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u5E93</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"lib\">\n <label nz-radio-button nzValue=\"antdesign\">antdesign</label>\n <label nz-radio-button nzValue=\"iconfont\">iconfont</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @if (formValue() == undefined || formValue()?.lib == 'antdesign') {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u4E3B\u9898</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"theme\">\n <label nz-radio-button nzValue=\"outline\">outline</label>\n <label nz-radio-button nzValue=\"fill\">fill</label>\n <label nz-radio-button nzValue=\"twotone\">twotone</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n }\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-input-group style=\"max-width: 200px;\" [nzSuffix]=\"iconPreview\">\n <input autofocus placeholder=\"\u8F93\u5165\u56FE\u6807\u7C7B\u578B\uFF0C\u5982 edit\" nz-input formControlName=\"icon\" />\n </nz-input-group>\n <ng-template #iconPreview>\n <ng-container [axisDynamic]=\"preview()\" [standalone]=\"true\"></ng-container>\n </ng-template>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n antdesign \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\"\n href=\"https://ng.ant.design/components/icon/zh\">https://ng.ant.design/components/icon/zh</a>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n iconfont \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\" href=\"https://www.iconfont.cn/\">https://www.iconfont.cn/</a>\n </nz-form-control>\n </nz-form-item>\n </form>\n </ng-container>\n</nz-modal>\n}@else if(value()?.comonent){\n<ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n}", styles: [":host{display:block;width:100%}\n"] }]
|
|
67
|
+
args: [{ selector: 'axis-input-icon', imports: [NzFormModule, NzInputModule, NzFormModule, DynamicDirective, NzModalModule, ReactiveFormsModule, NzIconModule, NzRadioModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!options.readonly()) {\n<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"value()?.component? iconInp:undefined\"\n [nzSuffix]=\"iconSuffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.placeholder()\" readonly />\n</nz-input-group>\n<ng-template #iconInp>\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n</ng-template>\n<ng-template #iconSuffix>\n @if (value()) {\n <nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\n (click)=\"$event.stopPropagation();remove()\" />\n }@else {\n <i nz-icon nzType=\"right\" style=\"color:rgba(0, 0, 0, 0.25)\" nzTheme=\"outline\"></i>\n }\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"options.modalTitle()\" (nzOnOk)=\"onOk()\"\n (nzOnCancel)=\"isVisible.set(false)\" (nzAfterClose)=\"resetForm()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u5E93</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"lib\">\n <label nz-radio-button nzValue=\"antdesign\">antdesign</label>\n <label nz-radio-button nzValue=\"iconfont\">iconfont</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @if (formValue() == undefined || formValue()?.lib == 'antdesign') {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807\u4E3B\u9898</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"theme\">\n <label nz-radio-button nzValue=\"outline\">outline</label>\n <label nz-radio-button nzValue=\"fill\">fill</label>\n <label nz-radio-button nzValue=\"twotone\">twotone</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n }\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\u56FE\u6807</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-input-group style=\"max-width: 200px;\" [nzSuffix]=\"iconPreview\">\n <input autofocus placeholder=\"\u8F93\u5165\u56FE\u6807\u7C7B\u578B\uFF0C\u5982 edit\" nz-input formControlName=\"icon\" />\n </nz-input-group>\n <ng-template #iconPreview>\n <ng-container [axisDynamic]=\"preview()\" [standalone]=\"true\"></ng-container>\n </ng-template>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n antdesign \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\"\n href=\"https://ng.ant.design/components/icon/zh\">https://ng.ant.design/components/icon/zh</a>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n iconfont \u56FE\u6807\u5E93\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\" href=\"https://www.iconfont.cn/\">https://www.iconfont.cn/</a>\n </nz-form-control>\n </nz-form-item>\n </form>\n </ng-container>\n</nz-modal>\n}@else if(value()?.comonent){\n<ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n}", styles: [":host{display:block;width:100%}\n"] }]
|
|
61
68
|
}] });
|
|
62
69
|
|
|
63
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-axis-appforge-axis-components-input-icon.mjs","sources":["../../../axis-components/input-icon/input-icon.options.ts","../../../axis-components/input-icon/input-icon.ts","../../../axis-components/input-icon/input-icon.html","../../../axis-components/input-icon/ngx-axis-appforge-axis-components-input-icon.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class InputIconOptions extends ValueAccessOptions {\n readonly placeholder = signal(\"设置图标\");\n readonly modalTitle = signal(\"设置图标\");\n}","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { InputIconOptions } from './input-icon.options';\nimport { FormsModule, ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';\nimport { DynamicDirective, FormValidators, ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'axis-input-icon',\n imports: [NzFormModule, NzInputModule, NzFormModule, DynamicDirective, NzModalModule, ReactiveFormsModule, NzIconModule, NzRadioModule, FormsModule],\n templateUrl: './input-icon.html',\n styleUrl: './input-icon.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputIcon extends ValueAccess<InputIconOptions> {\n protected override options: InputIconOptions = new InputIconOptions();\n\n private readonly fb = inject(UntypedFormBuilder);\n readonly fg = this.fb.group({\n lib: [\"antdesign\", FormValidators.required],\n theme: [\"outline\", FormValidators.required],\n icon: [undefined, FormValidators.required]\n });\n readonly formValue = toSignal(this.fg.valueChanges);\n readonly preview = computed(() => ({ component: \"axis-components/icon\", inuse: true, ...this.formValue() }))\n\n isVisible = model(false);\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.fg.reset(value ?? {\n lib: \"antdesign\",\n theme: \"outline\",\n icon: undefined,\n });\n }\n\n resetForm() {\n this.fg.reset({\n lib: \"antdesign\",\n theme: \"outline\",\n icon: undefined,\n });\n }\n\n onOk() {\n this.value.set(this.preview());\n this.onChange?.(this.value())\n this.isVisible.set(false);\n }\n}\n","@if (!options.readonly()) {\n<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"value()?.component? iconInp:undefined\"\n [nzSuffix]=\"iconSuffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.placeholder()\" readonly />\n</nz-input-group>\n<ng-template #iconInp>\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n</ng-template>\n<ng-template #iconSuffix>\n <i nz-icon nzType=\"right\" style=\"color:rgba(0, 0, 0, 0.25)\" nzTheme=\"outline\"></i>\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"options.modalTitle()\" (nzOnOk)=\"onOk()\"\n (nzOnCancel)=\"isVisible.set(false)\" (nzAfterClose)=\"resetForm()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>图标库</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"lib\">\n <label nz-radio-button nzValue=\"antdesign\">antdesign</label>\n <label nz-radio-button nzValue=\"iconfont\">iconfont</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @if (formValue() == undefined || formValue()?.lib == 'antdesign') {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>图标主题</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"theme\">\n <label nz-radio-button nzValue=\"outline\">outline</label>\n <label nz-radio-button nzValue=\"fill\">fill</label>\n <label nz-radio-button nzValue=\"twotone\">twotone</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n }\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>图标</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-input-group style=\"max-width: 200px;\" [nzSuffix]=\"iconPreview\">\n <input autofocus placeholder=\"输入图标类型,如 edit\" nz-input formControlName=\"icon\" />\n </nz-input-group>\n <ng-template #iconPreview>\n <ng-container [axisDynamic]=\"preview()\" [standalone]=\"true\"></ng-container>\n </ng-template>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n antdesign 图标库\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\"\n href=\"https://ng.ant.design/components/icon/zh\">https://ng.ant.design/components/icon/zh</a>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n iconfont 图标库\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\" href=\"https://www.iconfont.cn/\">https://www.iconfont.cn/</a>\n </nz-form-control>\n </nz-form-item>\n </form>\n </ng-container>\n</nz-modal>\n}@else if(value()?.comonent){\n<ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './input-icon';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-axis-appforge-axis-components-input-icon.mjs","sources":["../../../axis-components/input-icon/input-icon.options.ts","../../../axis-components/input-icon/input-icon.ts","../../../axis-components/input-icon/input-icon.html","../../../axis-components/input-icon/ngx-axis-appforge-axis-components-input-icon.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class InputIconOptions extends ValueAccessOptions {\n readonly placeholder = signal(\"设置图标\");\n readonly modalTitle = signal(\"设置图标\");\n}","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { InputIconOptions } from './input-icon.options';\nimport { FormsModule, ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';\nimport { DynamicDirective, FormValidators, updateAndValidAll, ValueAccess } from 'ngx-axis-appforge/core';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'axis-input-icon',\n imports: [NzFormModule, NzInputModule, NzFormModule, DynamicDirective, NzModalModule, ReactiveFormsModule, NzIconModule, NzRadioModule, FormsModule],\n templateUrl: './input-icon.html',\n styleUrl: './input-icon.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputIcon extends ValueAccess<InputIconOptions> {\n protected override options: InputIconOptions = new InputIconOptions();\n\n private readonly fb = inject(UntypedFormBuilder);\n readonly fg = this.fb.group({\n lib: [\"antdesign\", FormValidators.required],\n theme: [\"outline\", FormValidators.required],\n icon: [undefined, FormValidators.required]\n });\n readonly formValue = toSignal(this.fg.valueChanges);\n readonly preview = computed(() => ({ component: \"axis-components/icon\", inuse: true, ...this.formValue() }))\n\n isVisible = model(false);\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.fg.reset(value ?? {\n lib: \"antdesign\",\n theme: \"outline\",\n icon: undefined,\n });\n }\n\n resetForm() {\n this.fg.reset({\n lib: \"antdesign\",\n theme: \"outline\",\n icon: undefined,\n });\n }\n\n remove() {\n this.value.set(null);\n this.onChange?.(this.value());\n this.resetForm();\n }\n\n onOk() {\n if (updateAndValidAll(this.fg)) {\n this.value.set(this.preview());\n this.onChange?.(this.value());\n this.isVisible.set(false);\n }\n }\n}\n","@if (!options.readonly()) {\n<nz-input-group (click)=\"isVisible.set(!options.disabled())\" [nzPrefix]=\"value()?.component? iconInp:undefined\"\n [nzSuffix]=\"iconSuffix\">\n <input nz-input [disabled]=\"options.disabled()\" [placeholder]=\"options.placeholder()\" readonly />\n</nz-input-group>\n<ng-template #iconInp>\n <ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n</ng-template>\n<ng-template #iconSuffix>\n @if (value()) {\n <nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\n (click)=\"$event.stopPropagation();remove()\" />\n }@else {\n <i nz-icon nzType=\"right\" style=\"color:rgba(0, 0, 0, 0.25)\" nzTheme=\"outline\"></i>\n }\n</ng-template>\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"options.modalTitle()\" (nzOnOk)=\"onOk()\"\n (nzOnCancel)=\"isVisible.set(false)\" (nzAfterClose)=\"resetForm()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>图标库</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"lib\">\n <label nz-radio-button nzValue=\"antdesign\">antdesign</label>\n <label nz-radio-button nzValue=\"iconfont\">iconfont</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @if (formValue() == undefined || formValue()?.lib == 'antdesign') {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>图标主题</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"theme\">\n <label nz-radio-button nzValue=\"outline\">outline</label>\n <label nz-radio-button nzValue=\"fill\">fill</label>\n <label nz-radio-button nzValue=\"twotone\">twotone</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n }\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>图标</nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-input-group style=\"max-width: 200px;\" [nzSuffix]=\"iconPreview\">\n <input autofocus placeholder=\"输入图标类型,如 edit\" nz-input formControlName=\"icon\" />\n </nz-input-group>\n <ng-template #iconPreview>\n <ng-container [axisDynamic]=\"preview()\" [standalone]=\"true\"></ng-container>\n </ng-template>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n antdesign 图标库\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\"\n href=\"https://ng.ant.design/components/icon/zh\">https://ng.ant.design/components/icon/zh</a>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n iconfont 图标库\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <a target=\"_blank\" href=\"https://www.iconfont.cn/\">https://www.iconfont.cn/</a>\n </nz-form-control>\n </nz-form-item>\n </form>\n </ng-container>\n</nz-modal>\n}@else if(value()?.comonent){\n<ng-container [axisDynamic]=\"value()\" [standalone]=\"true\"></ng-container>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './input-icon';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,17 @@ class Radio extends ValueAccess {
|
|
|
26
26
|
if (untracked(this.options.defaultFirst)) {
|
|
27
27
|
const data = this.options.data();
|
|
28
28
|
untracked(() => {
|
|
29
|
-
if (data
|
|
30
|
-
if (
|
|
31
|
-
this.
|
|
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
|
+
}
|
|
32
37
|
}
|
|
33
38
|
else {
|
|
34
|
-
this.setInitValue(
|
|
39
|
+
this.setInitValue(null);
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
});
|
|
@@ -59,7 +64,7 @@ class Radio extends ValueAccess {
|
|
|
59
64
|
}
|
|
60
65
|
return;
|
|
61
66
|
}
|
|
62
|
-
this.radioValue.set(
|
|
67
|
+
this.radioValue.set(this.value());
|
|
63
68
|
}
|
|
64
69
|
onRadioChange(value) {
|
|
65
70
|
if (this.options.fullValue()) {
|
|
@@ -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 (data
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-axis-appforge-axis-components-scope-design.mjs","sources":["../../../axis-components/scope/design/setting/datasource-editor/datasource-editor.ts","../../../axis-components/scope/design/setting/datasource-editor/datasource-editor.html","../../../axis-components/scope/design/setting/setting.ts","../../../axis-components/scope/design/setting/setting.html","../../../axis-components/scope/design/config.ts","../../../axis-components/scope/design/ngx-axis-appforge-axis-components-scope-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, inject, input, model, signal } from \"@angular/core\";\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from \"@angular/forms\";\nimport { AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, copy, DataSourceOptions, DynamicDirective, FormValidators, FunField, FunFieldBase, FunFieldOptions, ScopeInfo, updateAndValidAll } from \"ngx-axis-appforge/core\";\nimport { NzGridModule } from \"ng-zorro-antd/grid\";\nimport { NzIconModule } from \"ng-zorro-antd/icon\";\nimport { NzListModule } from \"ng-zorro-antd/list\";\nimport { NzSpaceModule } from \"ng-zorro-antd/space\";\nimport { NzTagModule } from \"ng-zorro-antd/tag\";\nimport { NzEmptyModule } from \"ng-zorro-antd/empty\";\nimport { NzMessageService } from \"ng-zorro-antd/message\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\nimport { NzModalModule } from \"ng-zorro-antd/modal\";\nimport { NzCollapseModule } from \"ng-zorro-antd/collapse\";\nimport { NzFormModule } from \"ng-zorro-antd/form\";\nimport { NzRadioModule } from \"ng-zorro-antd/radio\";\nimport { NzSelectModule } from \"ng-zorro-antd/select\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\nimport { CommonModule } from \"@angular/common\";\nimport { BehaviorSubject, map, Subscription, tap } from \"rxjs\";\nimport { CdkDragDrop, CdkDropList, CdkDrag, moveItemInArray, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { NzFlexModule } from \"ng-zorro-antd/flex\";\n\n\n@Component({\n selector: 'axis-design-scope-setting-datasource-editor',\n imports: [NzListModule, NzTagModule, NzSpaceModule, NzGridModule, NzIconModule, NzEmptyModule, NzButtonModule, NzModalModule, DynamicDirective, FormsModule, NzCollapseModule, NzFormModule, ReactiveFormsModule, NzRadioModule, FunField, NzSelectModule, NzInputModule, NzSwitchModule, CommonModule, CdkDropList, CdkDrag, CdkDragHandle, NzFlexModule],\n templateUrl: './datasource-editor.html',\n styleUrl: './datasource-editor.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DataSourceEditor),\n multi: true\n },\n ]\n})\nexport class DataSourceEditor extends FunFieldBase implements ControlValueAccessor {\n\n constructor(private element: ElementRef) {\n super();\n effect(() => this.refreshCurrentScopeInfo());\n }\n\n readonly scopeId = input<string>();\n private readonly msg = inject(NzMessageService);\n readonly getScopeInfos = inject(AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN);\n readonly currentScopeInfo = signal<ScopeInfo | undefined>(undefined);\n readonly value = model<DataSourceOptions[]>();\n readonly ds = computed(() => this.buildDs());\n readonly internalDataSources = computed(() => this.buildInternalDataSources());\n readonly showDataSource = signal<any>(undefined);\n readonly showLine = signal(false);\n onChange: any;\n sub?: Subscription;\n\n override fg: UntypedFormGroup = this.fb.group({\n name: [undefined, [FormValidators.required, FormValidators.pattern(/^[a-zA-Z_][a-zA-Z_0-9@\\$]*$/)]],\n skipOnExists: [false, FormValidators.required],\n type: ['local', FormValidators.required],\n api: this.fb.group({\n url: [],\n method: [\"get\", FormValidators.required],\n body: [],\n }),\n data: [],\n injectField: [],\n cacheKey: [],\n });\n protected override funFields: FunFieldOptions = {\n api: {\n child: {\n url: {\n defaultValue: \"\",\n },\n method: {\n defaultValue: \"get\",\n },\n body: {\n defaultValue: null,\n },\n },\n },\n data: {\n defaultValue: undefined\n },\n cacheKey: {\n defaultValue: \"\",\n },\n };\n\n readonly showModal = model(false);\n editIndex = -1;\n oldDataSourceName?: string;\n dataSourceNameRepeat = signal(false);\n\n writeValue(v: any): void {\n this.value.set(v);\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void { }\n\n copySuccess() {\n this.msg.info(\"已复制\");\n }\n\n ngAfterViewInit(): void {\n if (this.element.nativeElement.nextElementSibling) {\n this.showLine.set(true);\n }\n }\n\n refreshCurrentScopeInfo() {\n this.sub?.unsubscribe();\n this.sub = this.getScopeInfos(this.scopeId()).pipe(map(sis => sis.find(scope => scope.scopeId == this.scopeId())))\n .subscribe(si => {\n this.currentScopeInfo.set(si);\n });\n }\n\n private buildDs(): any {\n const ds = this.currentScopeInfo() ? copy(this.currentScopeInfo()!.ds, true) : {};\n for (const d of this.value() ?? []) {\n if (!ds.hasOwnProperty(d.name)) {\n ds[d.name] = \"示例数据\";\n }\n }\n return ds;\n }\n\n private buildInternalDataSources(): DataSourceOptions[] {\n const list: DataSourceOptions[] = [];\n for (const name in this.currentScopeInfo()?.ds ?? {}) {\n if (!this.value()?.some(d => d.name == name)) {\n list.push({\n name: name,\n skipOnExists: false,\n type: \"local\",\n data: this.currentScopeInfo()!.ds[name]\n })\n }\n }\n return list;\n }\n\n openWithCreate() {\n this.editIndex = -1;\n this.oldDataSourceName = \"\";\n this.reset({\n name: \"\",\n skipOnExists: false,\n type: 'local'\n });\n this.changeType();\n this.showModal.set(true);\n }\n\n changeType() {\n const apiCtrl = this.fg.get(\"api\") as UntypedFormGroup;\n switch (this.fg.value.type) {\n case \"local\":\n apiCtrl.get(\"url\")?.setValidators([]);\n this.fg.get(\"injectField\")?.setValidators([]);\n this.fg.get(\"cacheKey\")?.setValidators([]);\n break;\n case \"api\":\n apiCtrl.get(\"url\")?.setValidators(FormValidators.requiredFun);\n this.fg.get(\"injectField\")?.setValidators([]);\n this.fg.get(\"cacheKey\")?.setValidators([]);\n break;\n case \"inject\":\n apiCtrl.get(\"url\")?.setValidators([]);\n this.fg.get(\"injectField\")?.setValidators([FormValidators.required]);\n this.fg.get(\"cacheKey\")?.setValidators([]);\n break;\n case \"cache\":\n apiCtrl.get(\"url\")?.setValidators([]);\n this.fg.get(\"injectField\")?.setValidators([]);\n this.fg.get(\"cacheKey\")?.setValidators([FormValidators.required]);\n break;\n }\n }\n\n doShowDataSource(name: string) {\n this.showDataSource.set({\n name: name,\n data: JSON.stringify(this.ds()[name], undefined, '\\t')\n });\n }\n\n updateDataSource(name: string) {\n this.editIndex = this.value()!.findIndex((e: any) => e.name == name);\n this.oldDataSourceName = name;\n this.reset(this.value()![this.editIndex]);\n this.changeType();\n this.showModal.set(true);\n }\n\n dataSourceValid(name: string) {\n const allDataSourceNames = new Set<string>();\n for (const ds of this.internalDataSources()) {\n allDataSourceNames.add(ds.name);\n }\n for (const ds of this.value() ?? []) {\n allDataSourceNames.add(ds.name);\n }\n this.dataSourceNameRepeat.set(!!name && name != this.oldDataSourceName && allDataSourceNames.has(name));\n }\n\n save() {\n if (updateAndValidAll(this.fg)) {\n const nextValue = copy(this.value() ?? [], true);\n const dataSource = this.recoverFunField(this.fg.value)\n if (this.editIndex == -1) {\n nextValue.push(dataSource);\n } else {\n nextValue[this.editIndex] = dataSource;\n }\n this.showModal.set(false);\n this.value.set(nextValue);\n this.onChange(this.value());\n }\n }\n\n deleteDataSource(name: string) {\n const index = this.value()!.findIndex((e: any) => e.name == name);\n if (index != -1) {\n this.value()!.splice(index, 1);\n this.value.set([...this.value()!]);\n this.onChange(this.value());\n }\n }\n\n onDsDrop(e: CdkDragDrop<string[]>) {\n if (e.previousIndex != e.currentIndex) {\n moveItemInArray(this.value()!, e.previousIndex, e.currentIndex);\n this.value.set([...this.value()!]);\n this.onChange(this.value());\n }\n }\n\n}","<nz-collapse [nzBordered]=\"false\">\n <ng-template #addButton>\n <a nz-button nzType=\"link\" style=\"float: right;\" (click)=\"$event.stopPropagation();openWithCreate()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n 添加\n </a>\n </ng-template>\n <nz-collapse-panel nzHeader=\"数据源设置\" nzActive [nzExtra]=\"addButton\">\n @if (!value()?.length && !internalDataSources().length) {\n <nz-empty nzNotFoundContent=\"暂无数据源\"></nz-empty>\n }@else{\n <div class=\"ds-list\" nz-flex nzVertical nzGap=\"8px\" style=\"padding: 6px;\" cdkDropList\n (cdkDropListDropped)=\"onDsDrop($event)\">\n @for (item of value()??[]; track item.name;) {\n <div class=\"ds-box\" nz-flex nzGap=\"8px\" cdkDrag cdkDragLockAxis=\"y\" style=\"background: #fafafa;\">\n <nz-icon nzType=\"holder\" cdkDragHandle></nz-icon>\n <div>@switch (item.type) {\n @case (\"api\") {\n <nz-tag nzColor=\"magenta\">接口</nz-tag>\n }\n @case (\"local\") {\n <nz-tag nzColor=\"blue\">本地</nz-tag>\n }\n @case (\"inject\") {\n <nz-tag nzColor=\"purple\">注入</nz-tag>\n }\n @case (\"cache\") {\n <nz-tag nzColor=\"volcano\">缓存</nz-tag>\n }\n }\n </div>\n <div style=\"flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">{{item.name}}</div>\n <div>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"doShowDataSource(item.name)\">\n <i nz-icon nzType=\"eye\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"updateDataSource(item.name)\">\n <i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" nzDanger (click)=\"deleteDataSource(item.name)\">\n <i nz-icon nzType=\"delete\" nzTheme=\"outline\"></i>\n </a>\n </div>\n </div>\n }\n @for (item of internalDataSources(); track item;) {\n <div class=\"ds-box\" nz-flex nzGap=\"8px\">\n <div style=\"width: 14px;\"></div>\n <div><nz-tag nzColor=\"blue\">本地</nz-tag></div>\n <div style=\"flex: 1;\">{{item.name}}</div>\n <div style=\"width: 72px;\">\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"doShowDataSource(item.name)\">\n <i nz-icon nzType=\"eye\" nzTheme=\"outline\"></i>\n </a>\n </div>\n </div>\n }\n </div>\n }\n </nz-collapse-panel>\n @if (showLine()) {\n <div></div>\n }\n</nz-collapse>\n\n<nz-modal nzWidth=\"800px\" [nzVisible]=\"!!showDataSource()\" [nzTitle]=\"'查看数据源-'+showDataSource()?.name\" [nzOkText]=\"null\"\n (nzOnCancel)=\"showDataSource.set(undefined)\" [nzBodyStyle]=\"{padding:'0'}\" nzCancelText=\"关闭\">\n <div *nzModalContent style=\"height: 400px;\" nz-flex>\n <ng-container [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:true}\"\n [ngModel]=\"showDataSource()?.data ??''\"></ng-container>\n </div>\n</nz-modal>\n\n<nz-modal [(nzVisible)]=\"showModal\" nzTitle=\"数据源\" nzWidth=\"450px\" (nzOnCancel)=\"showModal.set(false)\" (nzOnOk)=\"save()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\" nz-form>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 数据源名字\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <input formControlName=\"name\" nz-input (ngModelChange)=\"dataSourceValid($event)\" />\n @if (dataSourceNameRepeat()) {\n <div class=\"ant-form-item-explain-warning\">数据源名称重复</div>\n }\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 存在时忽略\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-switch formControlName=\"skipOnExists\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 数据源类型\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"type\" (ngModelChange)=\"changeType()\">\n <label nz-radio nzValue=\"local\">本地</label>\n <label nz-radio nzValue=\"api\">接口</label>\n <label nz-radio nzValue=\"inject\">注入</label>\n <label nz-radio nzValue=\"cache\">缓存</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @switch (fg.value.type) {\n @case (\"api\") {\n <ng-container formGroupName=\"api\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 接口地址\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"url\" [exclude]=\"[fg.value.name]\">\n <input ngModel [ngModelOptions]=\"{standalone:true}\" nz-input />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 请求方式\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"method\" [exclude]=\"[fg.value.name]\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzValue=\"get\" nzLabel=\"GET\"></nz-option>\n <nz-option nzValue=\"post\" nzLabel=\"POST\"></nz-option>\n <nz-option nzValue=\"put\" nzLabel=\"PUT\"></nz-option>\n <nz-option nzValue=\"delete\" nzLabel=\"DELETE\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n 请求数据体\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"body\" [exclude]=\"[fg.value.name]\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </ng-container>\n }\n @case (\"local\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n 数据\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"data\" [exclude]=\"[fg.value.name]\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"inject\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 字段名\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <input nz-input formControlName=\"injectField\" />\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"cache\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 缓存Key\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"cacheKey\" [exclude]=\"[fg.value.name]\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n }\n </form>\n </ng-container>\n</nz-modal>","import { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, FormValidators, FunFieldValueBase, FunFieldOptions, DataSourceOptions, InputTrigger } from 'ngx-axis-appforge/core';\nimport { DataSourceEditor } from './datasource-editor/datasource-editor';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\n\n@Component({\n selector: 'axis-design-scope-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, NzInputModule, DataSourceEditor, InputTrigger, NzSwitchModule],\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 scopeName: [\"未命名\", FormValidators.required],\n isRoot: [true, FormValidators.required],\n dataSources: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n };\n\n excludeDs = computed(() => this.value().dataSources?.map((e: DataSourceOptions) => e.name))\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\" nzRequired>\n 域名称\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <input nz-input formControlName=\"scopeName\" />\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 根域\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <nz-switch formControlName=\"isRoot\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-design-scope-setting-datasource-editor [scopeId]=\"value().id\"\n formControlName=\"dataSources\"></axis-design-scope-setting-datasource-editor>\n <axis-base-design-setting [fg]=\"fg\" [exclude]=\"excludeDs()\" [scopeId]=\"value().id\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'dataChange',title:'数据变化',noListen:false}]\"></axis-input-trigger>\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: \"组件域\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n const ds: any = {};\n for (const d of nextInfo.currentObject.dataSources ?? []) {\n if (d.type == \"local\" && d.data) {\n ds[d.name] = d.data;\n } else {\n ds[d.name] = \"示例数据\";\n }\n }\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.currentObject.id,\n name: nameCode(\"组件域\", nextInfo.currentObject.scopeName),\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n canDrop: true,\n dropType: \"component\",\n dropObj: nextInfo.currentObject,\n defaultDropIndex: \"child\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n children: [],\n contextMenu: SimpleMenu,\n settingType: Setting,\n icon: \"group\"\n }),\n next: [\n {\n parentObject: nextInfo.currentObject,\n indexOfParent: \"child\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.currentObject.id\n }\n ],\n newScopes: [\n {\n scopeId: nextInfo.currentObject.id,\n scopeName: nextInfo.currentObject.scopeName,\n parentScopeId: nextInfo.scopeId,\n ds: ds\n }\n ]\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element, dropElement: element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":["i1","i4","i5","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-axis-appforge-axis-components-scope-design.mjs","sources":["../../../axis-components/scope/design/setting/datasource-editor/datasource-editor.ts","../../../axis-components/scope/design/setting/datasource-editor/datasource-editor.html","../../../axis-components/scope/design/setting/setting.ts","../../../axis-components/scope/design/setting/setting.html","../../../axis-components/scope/design/config.ts","../../../axis-components/scope/design/ngx-axis-appforge-axis-components-scope-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, inject, input, model, signal } from \"@angular/core\";\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from \"@angular/forms\";\nimport { AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, copy, DataSourceOptions, DynamicDirective, FormValidators, FunField, FunFieldBase, FunFieldOptions, ScopeInfo, updateAndValidAll } from \"ngx-axis-appforge/core\";\nimport { NzGridModule } from \"ng-zorro-antd/grid\";\nimport { NzIconModule } from \"ng-zorro-antd/icon\";\nimport { NzListModule } from \"ng-zorro-antd/list\";\nimport { NzSpaceModule } from \"ng-zorro-antd/space\";\nimport { NzTagModule } from \"ng-zorro-antd/tag\";\nimport { NzEmptyModule } from \"ng-zorro-antd/empty\";\nimport { NzMessageService } from \"ng-zorro-antd/message\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\nimport { NzModalModule } from \"ng-zorro-antd/modal\";\nimport { NzCollapseModule } from \"ng-zorro-antd/collapse\";\nimport { NzFormModule } from \"ng-zorro-antd/form\";\nimport { NzRadioModule } from \"ng-zorro-antd/radio\";\nimport { NzSelectModule } from \"ng-zorro-antd/select\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\nimport { CommonModule } from \"@angular/common\";\nimport { BehaviorSubject, map, Subscription } from \"rxjs\";\nimport { CdkDragDrop, CdkDropList, CdkDrag, moveItemInArray, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { NzFlexModule } from \"ng-zorro-antd/flex\";\n\n\n@Component({\n selector: 'axis-design-scope-setting-datasource-editor',\n imports: [NzListModule, NzTagModule, NzSpaceModule, NzGridModule, NzIconModule, NzEmptyModule, NzButtonModule, NzModalModule, DynamicDirective, FormsModule, NzCollapseModule, NzFormModule, ReactiveFormsModule, NzRadioModule, FunField, NzSelectModule, NzInputModule, NzSwitchModule, CommonModule, CdkDropList, CdkDrag, CdkDragHandle, NzFlexModule],\n templateUrl: './datasource-editor.html',\n styleUrl: './datasource-editor.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DataSourceEditor),\n multi: true\n },\n ]\n})\nexport class DataSourceEditor extends FunFieldBase implements ControlValueAccessor {\n\n constructor(private element: ElementRef) {\n super();\n effect(() => this.refreshCurrentScopeInfo());\n }\n\n readonly scopeId = input<string>();\n private readonly msg = inject(NzMessageService);\n readonly getScopeInfos = inject(AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN);\n readonly currentScopeInfo = signal<ScopeInfo | undefined>(undefined);\n readonly value = model<DataSourceOptions[]>();\n readonly ds = computed(() => this.buildDs());\n readonly internalDataSources = computed(() => this.buildInternalDataSources());\n readonly showDataSource = signal<any>(undefined);\n readonly showLine = signal(false);\n onChange: any;\n sub?: Subscription;\n\n override fg: UntypedFormGroup = this.fb.group({\n name: [undefined, [FormValidators.required, FormValidators.pattern(/^[a-zA-Z_][a-zA-Z_0-9@\\$]*$/)]],\n skipOnExists: [false, FormValidators.required],\n type: ['local', FormValidators.required],\n api: this.fb.group({\n url: [],\n method: [\"get\", FormValidators.required],\n body: [],\n }),\n data: [],\n injectField: [],\n cacheKey: [],\n });\n protected override funFields: FunFieldOptions = {\n api: {\n child: {\n url: {\n defaultValue: \"\",\n },\n method: {\n defaultValue: \"get\",\n },\n body: {\n defaultValue: null,\n },\n },\n },\n data: {\n defaultValue: undefined\n },\n cacheKey: {\n defaultValue: \"\",\n },\n };\n\n readonly showModal = model(false);\n editIndex = -1;\n oldDataSourceName?: string;\n dataSourceNameRepeat = signal(false);\n\n writeValue(v: any): void {\n this.value.set(v);\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void { }\n\n copySuccess() {\n this.msg.info(\"已复制\");\n }\n\n ngAfterViewInit(): void {\n if (this.element.nativeElement.nextElementSibling) {\n this.showLine.set(true);\n }\n }\n\n refreshCurrentScopeInfo() {\n this.sub?.unsubscribe();\n this.sub = this.getScopeInfos(this.scopeId()).pipe(map(sis => sis.find(scope => scope.scopeId == this.scopeId())))\n .subscribe(si => {\n this.currentScopeInfo.set(si);\n });\n }\n\n private buildDs(): any {\n const ds = this.currentScopeInfo() ? copy(this.currentScopeInfo()!.ds, true) : {};\n for (const d of this.value() ?? []) {\n if (!ds.hasOwnProperty(d.name)) {\n ds[d.name] = \"示例数据\";\n }\n }\n return ds;\n }\n\n private buildInternalDataSources(): DataSourceOptions[] {\n const list: DataSourceOptions[] = [];\n for (const name in this.currentScopeInfo()?.ds ?? {}) {\n if (!this.value()?.some(d => d.name == name)) {\n list.push({\n name: name,\n skipOnExists: false,\n type: \"local\",\n data: this.currentScopeInfo()!.ds[name]\n })\n }\n }\n return list;\n }\n\n openWithCreate() {\n this.editIndex = -1;\n this.oldDataSourceName = \"\";\n this.reset({\n name: \"\",\n skipOnExists: false,\n type: 'local'\n });\n this.changeType();\n this.showModal.set(true);\n }\n\n changeType() {\n const apiCtrl = this.fg.get(\"api\") as UntypedFormGroup;\n switch (this.fg.value.type) {\n case \"local\":\n apiCtrl.get(\"url\")?.setValidators([]);\n this.fg.get(\"injectField\")?.setValidators([]);\n this.fg.get(\"cacheKey\")?.setValidators([]);\n break;\n case \"api\":\n apiCtrl.get(\"url\")?.setValidators(FormValidators.requiredFun);\n this.fg.get(\"injectField\")?.setValidators([]);\n this.fg.get(\"cacheKey\")?.setValidators([]);\n break;\n case \"inject\":\n apiCtrl.get(\"url\")?.setValidators([]);\n this.fg.get(\"injectField\")?.setValidators([FormValidators.required]);\n this.fg.get(\"cacheKey\")?.setValidators([]);\n break;\n case \"cache\":\n apiCtrl.get(\"url\")?.setValidators([]);\n this.fg.get(\"injectField\")?.setValidators([]);\n this.fg.get(\"cacheKey\")?.setValidators([FormValidators.required]);\n break;\n }\n }\n\n doShowDataSource(name: string) {\n this.showDataSource.set({\n name: name,\n data: JSON.stringify(this.ds()[name], undefined, '\\t')\n });\n }\n\n updateDataSource(name: string) {\n this.editIndex = this.value()!.findIndex((e: any) => e.name == name);\n this.oldDataSourceName = name;\n this.reset(this.value()![this.editIndex]);\n this.changeType();\n this.showModal.set(true);\n }\n\n dataSourceValid(name: string) {\n const allDataSourceNames = new Set<string>();\n for (const ds of this.internalDataSources()) {\n allDataSourceNames.add(ds.name);\n }\n for (const ds of this.value() ?? []) {\n allDataSourceNames.add(ds.name);\n }\n this.dataSourceNameRepeat.set(!!name && name != this.oldDataSourceName && allDataSourceNames.has(name));\n }\n\n save() {\n if (updateAndValidAll(this.fg)) {\n const nextValue = copy(this.value() ?? [], true);\n const dataSource = this.recoverFunField(this.fg.value)\n if (this.editIndex == -1) {\n nextValue.push(dataSource);\n } else {\n nextValue[this.editIndex] = dataSource;\n }\n this.showModal.set(false);\n this.value.set(nextValue);\n this.onChange(this.value());\n }\n }\n\n deleteDataSource(name: string) {\n const index = this.value()!.findIndex((e: any) => e.name == name);\n if (index != -1) {\n this.value()!.splice(index, 1);\n this.value.set([...this.value()!]);\n this.onChange(this.value());\n }\n }\n\n onDsDrop(e: CdkDragDrop<string[]>) {\n if (e.previousIndex != e.currentIndex) {\n moveItemInArray(this.value()!, e.previousIndex, e.currentIndex);\n this.value.set([...this.value()!]);\n this.onChange(this.value());\n }\n }\n\n}","<nz-collapse [nzBordered]=\"false\">\n <ng-template #addButton>\n <a nz-button nzType=\"link\" style=\"float: right;\" (click)=\"$event.stopPropagation();openWithCreate()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n 添加\n </a>\n </ng-template>\n <nz-collapse-panel nzHeader=\"数据源设置\" nzActive [nzExtra]=\"addButton\">\n @if (!value()?.length && !internalDataSources().length) {\n <nz-empty nzNotFoundContent=\"暂无数据源\"></nz-empty>\n }@else{\n <div class=\"ds-list\" nz-flex nzVertical nzGap=\"8px\" style=\"padding: 6px;\" cdkDropList\n (cdkDropListDropped)=\"onDsDrop($event)\">\n @for (item of value()??[]; track item.name;) {\n <div class=\"ds-box\" nz-flex nzGap=\"8px\" cdkDrag cdkDragLockAxis=\"y\" style=\"background: #fafafa;\">\n <nz-icon nzType=\"holder\" cdkDragHandle></nz-icon>\n <div>@switch (item.type) {\n @case (\"api\") {\n <nz-tag nzColor=\"magenta\">接口</nz-tag>\n }\n @case (\"local\") {\n <nz-tag nzColor=\"blue\">本地</nz-tag>\n }\n @case (\"inject\") {\n <nz-tag nzColor=\"purple\">注入</nz-tag>\n }\n @case (\"cache\") {\n <nz-tag nzColor=\"volcano\">缓存</nz-tag>\n }\n }\n </div>\n <div style=\"flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">{{item.name}}</div>\n <div>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"doShowDataSource(item.name)\">\n <i nz-icon nzType=\"eye\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"updateDataSource(item.name)\">\n <i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" nzDanger (click)=\"deleteDataSource(item.name)\">\n <i nz-icon nzType=\"delete\" nzTheme=\"outline\"></i>\n </a>\n </div>\n </div>\n }\n @for (item of internalDataSources(); track item;) {\n <div class=\"ds-box\" nz-flex nzGap=\"8px\">\n <div style=\"width: 14px;\"></div>\n <div><nz-tag nzColor=\"blue\">本地</nz-tag></div>\n <div style=\"flex: 1;\">{{item.name}}</div>\n <div style=\"width: 72px;\">\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"doShowDataSource(item.name)\">\n <i nz-icon nzType=\"eye\" nzTheme=\"outline\"></i>\n </a>\n </div>\n </div>\n }\n </div>\n }\n </nz-collapse-panel>\n @if (showLine()) {\n <div></div>\n }\n</nz-collapse>\n\n<nz-modal nzWidth=\"800px\" [nzVisible]=\"!!showDataSource()\" [nzTitle]=\"'查看数据源-'+showDataSource()?.name\" [nzOkText]=\"null\"\n (nzOnCancel)=\"showDataSource.set(undefined)\" [nzBodyStyle]=\"{padding:'0'}\" nzCancelText=\"关闭\">\n <div *nzModalContent style=\"height: 400px;\" nz-flex>\n <ng-container [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:true}\"\n [ngModel]=\"showDataSource()?.data ??''\"></ng-container>\n </div>\n</nz-modal>\n\n<nz-modal [(nzVisible)]=\"showModal\" nzTitle=\"数据源\" nzWidth=\"450px\" (nzOnCancel)=\"showModal.set(false)\" (nzOnOk)=\"save()\">\n <ng-container *nzModalContent>\n <form [formGroup]=\"fg\" nz-form>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 数据源名字\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <input formControlName=\"name\" nz-input (ngModelChange)=\"dataSourceValid($event)\" />\n @if (dataSourceNameRepeat()) {\n <div class=\"ant-form-item-explain-warning\">数据源名称重复</div>\n }\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 存在时忽略\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-switch formControlName=\"skipOnExists\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 数据源类型\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-radio-group formControlName=\"type\" (ngModelChange)=\"changeType()\">\n <label nz-radio nzValue=\"local\">本地</label>\n <label nz-radio nzValue=\"api\">接口</label>\n <label nz-radio nzValue=\"inject\">注入</label>\n <label nz-radio nzValue=\"cache\">缓存</label>\n </nz-radio-group>\n </nz-form-control>\n </nz-form-item>\n @switch (fg.value.type) {\n @case (\"api\") {\n <ng-container formGroupName=\"api\">\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 接口地址\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"url\" [exclude]=\"[fg.value.name]\">\n <input ngModel [ngModelOptions]=\"{standalone:true}\" nz-input />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 请求方式\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"method\" [exclude]=\"[fg.value.name]\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzValue=\"get\" nzLabel=\"GET\"></nz-option>\n <nz-option nzValue=\"post\" nzLabel=\"POST\"></nz-option>\n <nz-option nzValue=\"put\" nzLabel=\"PUT\"></nz-option>\n <nz-option nzValue=\"delete\" nzLabel=\"DELETE\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n 请求数据体\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"body\" [exclude]=\"[fg.value.name]\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </ng-container>\n }\n @case (\"local\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n 数据\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"data\" [exclude]=\"[fg.value.name]\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"inject\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 字段名\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <input nz-input formControlName=\"injectField\" />\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"cache\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n 缓存Key\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"cacheKey\" [exclude]=\"[fg.value.name]\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n }\n </form>\n </ng-container>\n</nz-modal>","import { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, FormValidators, FunFieldValueBase, FunFieldOptions, DataSourceOptions, InputTrigger } from 'ngx-axis-appforge/core';\nimport { DataSourceEditor } from './datasource-editor/datasource-editor';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\n\n@Component({\n selector: 'axis-design-scope-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, NzInputModule, DataSourceEditor, InputTrigger, NzSwitchModule],\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 scopeName: [\"未命名\", FormValidators.required],\n isRoot: [true, FormValidators.required],\n dataSources: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n };\n\n excludeDs = computed(() => this.value().dataSources?.map((e: DataSourceOptions) => e.name))\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\" nzRequired>\n 域名称\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <input nz-input formControlName=\"scopeName\" />\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 根域\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <nz-switch formControlName=\"isRoot\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-design-scope-setting-datasource-editor [scopeId]=\"value().id\"\n formControlName=\"dataSources\"></axis-design-scope-setting-datasource-editor>\n <axis-base-design-setting [fg]=\"fg\" [exclude]=\"excludeDs()\" [scopeId]=\"value().id\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'dataChange',title:'数据变化',noListen:false}]\"></axis-input-trigger>\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: \"组件域\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n const ds: any = {};\n for (const d of nextInfo.currentObject.dataSources ?? []) {\n if (d.type == \"local\" && d.data) {\n ds[d.name] = d.data;\n } else {\n ds[d.name] = \"示例数据\";\n }\n }\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.currentObject.id,\n name: nameCode(\"组件域\", nextInfo.currentObject.scopeName),\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n canDrop: true,\n dropType: \"component\",\n dropObj: nextInfo.currentObject,\n defaultDropIndex: \"child\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n children: [],\n contextMenu: SimpleMenu,\n settingType: Setting,\n icon: \"group\"\n }),\n next: [\n {\n parentObject: nextInfo.currentObject,\n indexOfParent: \"child\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.currentObject.id\n }\n ],\n newScopes: [\n {\n scopeId: nextInfo.currentObject.id,\n scopeName: nextInfo.currentObject.scopeName,\n parentScopeId: nextInfo.scopeId,\n ds: ds\n }\n ]\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element, dropElement: element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":["i1","i4","i5","i6"],"mappings":"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"}
|
|
@@ -36,12 +36,17 @@ class Select extends ValueAccess {
|
|
|
36
36
|
if (untracked(this.options.defaultFirst) && untracked(this.options.mode) == "default") {
|
|
37
37
|
const data = this.options.data();
|
|
38
38
|
untracked(() => {
|
|
39
|
-
if (data
|
|
40
|
-
if (
|
|
41
|
-
this.
|
|
39
|
+
if (Array.isArray(data)) {
|
|
40
|
+
if (data.length) {
|
|
41
|
+
if (this.options.fullValue()) {
|
|
42
|
+
this.setInitValue(data[0]);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.setInitValue(data[0][this.options.valueField()]);
|
|
46
|
+
}
|
|
42
47
|
}
|
|
43
48
|
else {
|
|
44
|
-
this.setInitValue(
|
|
49
|
+
this.setInitValue(null);
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
});
|
|
@@ -81,7 +86,7 @@ class Select extends ValueAccess {
|
|
|
81
86
|
return;
|
|
82
87
|
}
|
|
83
88
|
}
|
|
84
|
-
this.selectorValue.set(
|
|
89
|
+
this.selectorValue.set(this.value());
|
|
85
90
|
}
|
|
86
91
|
onSelectorChange(value) {
|
|
87
92
|
if (this.options.fullValue()) {
|
|
@@ -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 (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\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(undefined);\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\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()\" [nzShowSearch]=\"options.serverSearch()\"\n [nzAutoClearSearchValue]=\"options.autoClearSearchValue()\" [nzDisabled]=\"options.disabled()\"\n [(ngModel)]=\"selectorValue\" (ngModelChange)=\"onSelectorChange($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 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\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()\" [nzShowSearch]=\"options.serverSearch()\"\n [nzAutoClearSearchValue]=\"options.autoClearSearchValue()\" [nzDisabled]=\"options.disabled()\"\n [(ngModel)]=\"selectorValue\" (ngModelChange)=\"onSelectorChange($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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"}
|