ngx-axis-appforge 0.0.11 → 0.0.13
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/editor/design/index.d.ts +5 -0
- package/axis-components/modal/index.d.ts +1 -1
- package/axis-components/steps/design/index.d.ts +5 -0
- package/axis-components/steps/index.d.ts +38 -0
- package/axis-components/tabs/design/index.d.ts +5 -0
- package/axis-components/tabs/index.d.ts +38 -0
- package/axis-components-covers/badge.svg +1 -1
- package/axis-components-covers/editor.png +0 -0
- package/axis-components-covers/steps.svg +1 -0
- package/axis-components-covers/tabs.svg +1 -0
- package/core/index.d.ts +4 -3
- package/fesm2022/ngx-axis-appforge-axis-components-desc-design.mjs +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-desc-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs +2 -2
- package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-design.mjs +13 -8
- package/fesm2022/ngx-axis-appforge-axis-components-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-editor-design.mjs +75 -0
- package/fesm2022/ngx-axis-appforge-axis-components-editor-design.mjs.map +1 -0
- package/fesm2022/ngx-axis-appforge-axis-components-form.mjs +0 -1
- package/fesm2022/ngx-axis-appforge-axis-components-form.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-modal.mjs +3 -3
- package/fesm2022/ngx-axis-appforge-axis-components-modal.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs +2 -2
- package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-steps-design.mjs +197 -0
- package/fesm2022/ngx-axis-appforge-axis-components-steps-design.mjs.map +1 -0
- package/fesm2022/ngx-axis-appforge-axis-components-steps.mjs +61 -0
- package/fesm2022/ngx-axis-appforge-axis-components-steps.mjs.map +1 -0
- package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs +1 -2
- package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-tabs-design.mjs +260 -0
- package/fesm2022/ngx-axis-appforge-axis-components-tabs-design.mjs.map +1 -0
- package/fesm2022/ngx-axis-appforge-axis-components-tabs.mjs +69 -0
- package/fesm2022/ngx-axis-appforge-axis-components-tabs.mjs.map +1 -0
- package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs +3 -3
- package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components-tree-selector.mjs +4 -1
- package/fesm2022/ngx-axis-appforge-axis-components-tree-selector.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-axis-components.mjs +111 -4
- package/fesm2022/ngx-axis-appforge-axis-components.mjs.map +1 -1
- package/fesm2022/ngx-axis-appforge-core.mjs +12 -6
- package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
- package/package.json +88 -68
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { FunFieldValueBase, FormValidators, FunField, InputTrigger, baseFbConfig, baseFunField, BaseDesignSetting, BaseMenu, OptionsNode, SimpleMenu, nameCode } from 'ngx-axis-appforge/core';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
|
+
import * as i1 from '@angular/forms';
|
|
5
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import * as i4 from 'ng-zorro-antd/collapse';
|
|
7
|
+
import { NzCollapseModule } from 'ng-zorro-antd/collapse';
|
|
8
|
+
import * as i3 from 'ng-zorro-antd/form';
|
|
9
|
+
import { NzFormModule } from 'ng-zorro-antd/form';
|
|
10
|
+
import * as i5 from 'ng-zorro-antd/input';
|
|
11
|
+
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
12
|
+
import * as i6 from 'ng-zorro-antd/switch';
|
|
13
|
+
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
|
14
|
+
import * as i2 from 'ng-zorro-antd/grid';
|
|
15
|
+
import * as i6$1 from 'ng-zorro-antd/input-number';
|
|
16
|
+
import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
|
|
17
|
+
import * as i5$1 from 'ng-zorro-antd/select';
|
|
18
|
+
import { NzSelectModule } from 'ng-zorro-antd/select';
|
|
19
|
+
import * as i8 from 'ng-zorro-antd/radio';
|
|
20
|
+
import { NzRadioModule } from 'ng-zorro-antd/radio';
|
|
21
|
+
import * as i3$1 from 'ng-zorro-antd/divider';
|
|
22
|
+
import { NzDividerModule } from 'ng-zorro-antd/divider';
|
|
23
|
+
import * as i2$1 from 'ng-zorro-antd/dropdown';
|
|
24
|
+
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
|
|
25
|
+
import * as i4$1 from 'ng-zorro-antd/icon';
|
|
26
|
+
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
27
|
+
import * as i1$1 from 'ng-zorro-antd/menu';
|
|
28
|
+
|
|
29
|
+
class TabSetting extends FunFieldValueBase {
|
|
30
|
+
fg = this.fb.group({
|
|
31
|
+
name: ["", FormValidators.required],
|
|
32
|
+
inuse: [undefined, FormValidators.requiredFun],
|
|
33
|
+
title: [],
|
|
34
|
+
forceRender: [undefined, FormValidators.requiredFun],
|
|
35
|
+
disabled: [undefined, FormValidators.requiredFun],
|
|
36
|
+
triggeEvents: [],
|
|
37
|
+
});
|
|
38
|
+
funFields = {
|
|
39
|
+
inuse: {
|
|
40
|
+
defaultValue: true,
|
|
41
|
+
},
|
|
42
|
+
title: {
|
|
43
|
+
defaultValue: "",
|
|
44
|
+
},
|
|
45
|
+
forceRender: {
|
|
46
|
+
defaultValue: false,
|
|
47
|
+
},
|
|
48
|
+
disabled: {
|
|
49
|
+
defaultValue: false,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TabSetting, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: TabSetting, isStandalone: true, selector: "axis-design-tabs-tab-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u662F\u5426\u53EF\u7528\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"inuse\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6807\u7B7EID\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <input nz-input formControlName=\"name\" />\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6807\u9898\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"title\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5F3A\u5236\u6E32\u67D3\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"forceRender\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u7981\u7528\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"disabled\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'tabClick',title:'\u70B9\u51FB\u6807\u7B7E'}]\"></axis-input-trigger>\n </nz-collapse>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i3.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i3.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i3.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NzCollapseModule }, { kind: "component", type: i4.NzCollapsePanelComponent, selector: "nz-collapse-panel", inputs: ["nzActive", "nzDisabled", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i4.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition"], exportAs: ["nzCollapse"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: FunField, selector: "axis-fun-field", inputs: ["scopes", "exclude", "scopeId", "onlyFun", "noListen", "disabled", "editTip", "value", "open", "showCreateListenModal", "createListenDataSourceName"], outputs: ["valueChange", "openChange", "showCreateListenModalChange", "createListenDataSourceNameChange"] }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "component", type: i6.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "component", type: InputTrigger, selector: "axis-input-trigger", inputs: ["internalTriggers", "value", "eventDesc", "isVisibleHandlerModal", "editEventHandler"], outputs: ["valueChange", "isVisibleHandlerModalChange", "editEventHandlerChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TabSetting, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'axis-design-tabs-tab-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, NzInputModule, FunField, NzSwitchModule, InputTrigger], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u662F\u5426\u53EF\u7528\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"inuse\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6807\u7B7EID\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <input nz-input formControlName=\"name\" />\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6807\u9898\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"title\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5F3A\u5236\u6E32\u67D3\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"forceRender\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u7981\u7528\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"disabled\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'tabClick',title:'\u70B9\u51FB\u6807\u7B7E'}]\"></axis-input-trigger>\n </nz-collapse>\n</form>" }]
|
|
58
|
+
}] });
|
|
59
|
+
|
|
60
|
+
class TabsSetting extends FunFieldValueBase {
|
|
61
|
+
fg = this.fb.group({
|
|
62
|
+
...baseFbConfig,
|
|
63
|
+
current: [],
|
|
64
|
+
size: [undefined, FormValidators.requiredFun],
|
|
65
|
+
tabBarStyle: [],
|
|
66
|
+
tabPosition: [undefined, FormValidators.requiredFun],
|
|
67
|
+
type: [undefined, FormValidators.requiredFun],
|
|
68
|
+
tabBarGutter: [],
|
|
69
|
+
centered: [undefined, FormValidators.requiredFun],
|
|
70
|
+
destroyInactiveTabPane: [undefined, FormValidators.requiredFun],
|
|
71
|
+
});
|
|
72
|
+
funFields = {
|
|
73
|
+
...baseFunField,
|
|
74
|
+
current: {
|
|
75
|
+
defaultValue: ""
|
|
76
|
+
},
|
|
77
|
+
size: {
|
|
78
|
+
defaultValue: "default"
|
|
79
|
+
},
|
|
80
|
+
tabBarStyle: {
|
|
81
|
+
defaultValue: undefined
|
|
82
|
+
},
|
|
83
|
+
tabPosition: {
|
|
84
|
+
defaultValue: "top"
|
|
85
|
+
},
|
|
86
|
+
type: {
|
|
87
|
+
defaultValue: "line"
|
|
88
|
+
},
|
|
89
|
+
tabBarGutter: {
|
|
90
|
+
defaultValue: undefined
|
|
91
|
+
},
|
|
92
|
+
centered: {
|
|
93
|
+
defaultValue: false
|
|
94
|
+
},
|
|
95
|
+
destroyInactiveTabPane: {
|
|
96
|
+
defaultValue: false
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TabsSetting, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: TabsSetting, isStandalone: true, selector: "axis-design-tabs-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"type\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\">\n <label nz-radio-button nzValue=\"line\">\u7EBF\u6761</label>\n <label nz-radio-button nzValue=\"card\">\u5361\u7247</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6807\u7B7E\u4F4D\u7F6E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"tabPosition\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\" nzSize=\"small\">\n <label nz-radio-button nzValue=\"top\">\u4E0A</label>\n <label nz-radio-button nzValue=\"right\">\u53F3</label>\n <label nz-radio-button nzValue=\"bottom\">\u4E0B</label>\n <label nz-radio-button nzValue=\"left\">\u5DE6</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5927\u5C0F\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"size\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\" nzSize=\"small\">\n <label nz-radio-button nzValue=\"large\">\u5927</label>\n <label nz-radio-button nzValue=\"default\">\u4E2D</label>\n <label nz-radio-button nzValue=\"small\">\u5C0F</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u95F4\u9699\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"tabBarGutter\">\n <nz-input-number style=\"width: 100%;\" ngModel [ngModelOptions]=\"{standalone:true}\" [nzMin]=\"0\">\n <span nzInputAddonAfter>px</span>\n </nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5C45\u4E2D\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"centered\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u9690\u85CF\u65F6\u9500\u6BC1\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"destroyInactiveTabPane\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u5F53\u524D\u6807\u7B7E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"current\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\" nzAllowClear>\n @for (tabs of value().tabs; track tabs.name) {\n <nz-option [nzValue]=\"tabs.name\" [nzLabel]=\"tabs.title\"></nz-option>\n }\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'selectedChange',title:'\u6807\u7B7E\u9009\u62E9',ds:{tabName:'\u793A\u4F8B\u6570\u636E'}}]\"></axis-input-trigger>\n </nz-collapse>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i3.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i3.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i3.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NzCollapseModule }, { kind: "component", type: i4.NzCollapsePanelComponent, selector: "nz-collapse-panel", inputs: ["nzActive", "nzDisabled", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i4.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition"], exportAs: ["nzCollapse"] }, { kind: "component", type: BaseDesignSetting, selector: "axis-base-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { kind: "ngmodule", type: NzSelectModule }, { kind: "component", type: i5$1.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i5$1.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "ngmodule", type: NzInputNumberModule }, { kind: "component", type: i6$1.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzId", "nzSize", "nzPlaceHolder", "nzStatus", "nzVariant", "nzStep", "nzMin", "nzMax", "nzPrecision", "nzParser", "nzFormatter", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBordered", "nzKeyboard", "nzControls"], outputs: ["nzBlur", "nzFocus", "nzOnStep"], exportAs: ["nzInputNumber"] }, { kind: "directive", type: i5.NzInputAddonAfterDirective, selector: "[nzInputAddonAfter]" }, { kind: "ngmodule", type: NzInputModule }, { kind: "component", type: FunField, selector: "axis-fun-field", inputs: ["scopes", "exclude", "scopeId", "onlyFun", "noListen", "disabled", "editTip", "value", "open", "showCreateListenModal", "createListenDataSourceName"], outputs: ["valueChange", "openChange", "showCreateListenModalChange", "createListenDataSourceNameChange"] }, { kind: "ngmodule", type: NzRadioModule }, { kind: "component", type: i8.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i8.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "component", type: i6.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "component", type: InputTrigger, selector: "axis-input-trigger", inputs: ["internalTriggers", "value", "eventDesc", "isVisibleHandlerModal", "editEventHandler"], outputs: ["valueChange", "isVisibleHandlerModalChange", "editEventHandlerChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TabsSetting, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{ selector: 'axis-design-tabs-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, NzSelectModule, NzInputNumberModule, NzInputModule, FunField, NzRadioModule, NzSwitchModule, InputTrigger], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"type\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\">\n <label nz-radio-button nzValue=\"line\">\u7EBF\u6761</label>\n <label nz-radio-button nzValue=\"card\">\u5361\u7247</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6807\u7B7E\u4F4D\u7F6E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"tabPosition\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\" nzSize=\"small\">\n <label nz-radio-button nzValue=\"top\">\u4E0A</label>\n <label nz-radio-button nzValue=\"right\">\u53F3</label>\n <label nz-radio-button nzValue=\"bottom\">\u4E0B</label>\n <label nz-radio-button nzValue=\"left\">\u5DE6</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5927\u5C0F\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"size\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\" nzSize=\"small\">\n <label nz-radio-button nzValue=\"large\">\u5927</label>\n <label nz-radio-button nzValue=\"default\">\u4E2D</label>\n <label nz-radio-button nzValue=\"small\">\u5C0F</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u95F4\u9699\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"tabBarGutter\">\n <nz-input-number style=\"width: 100%;\" ngModel [ngModelOptions]=\"{standalone:true}\" [nzMin]=\"0\">\n <span nzInputAddonAfter>px</span>\n </nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5C45\u4E2D\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"centered\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u9690\u85CF\u65F6\u9500\u6BC1\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"destroyInactiveTabPane\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u5F53\u524D\u6807\u7B7E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"current\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\" nzAllowClear>\n @for (tabs of value().tabs; track tabs.name) {\n <nz-option [nzValue]=\"tabs.name\" [nzLabel]=\"tabs.title\"></nz-option>\n }\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'selectedChange',title:'\u6807\u7B7E\u9009\u62E9',ds:{tabName:'\u793A\u4F8B\u6570\u636E'}}]\"></axis-input-trigger>\n </nz-collapse>\n</form>" }]
|
|
105
|
+
}] });
|
|
106
|
+
|
|
107
|
+
class TabsMenu extends BaseMenu {
|
|
108
|
+
addTab() {
|
|
109
|
+
const name = `tab${this.optionsNodes.current.options.length + 1}`;
|
|
110
|
+
this.optionsNodes.current.options.push({
|
|
111
|
+
name: name,
|
|
112
|
+
title: "未命名",
|
|
113
|
+
inuse: true,
|
|
114
|
+
});
|
|
115
|
+
this.onChange?.({ nextNodeId: `${this.optionsNodes.current?.id}.${name}`, historyDesc: "添加标签" });
|
|
116
|
+
}
|
|
117
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TabsMenu, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: TabsMenu, isStandalone: true, selector: "axis-design-tabs-menu", usesInheritance: true, ngImport: i0, template: "<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item (click)=\"addTab()\">\n <i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span>\u6DFB\u52A0\u6807\u7B7E</span>\n </li>\n </ul>\n</nz-dropdown-menu>", styles: [""], dependencies: [{ kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i1$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i1$1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "component", type: i2$1.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: NzDividerModule }, { kind: "component", type: i3$1.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzVariant", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i4$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
119
|
+
}
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TabsMenu, decorators: [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{ selector: 'axis-design-tabs-menu', imports: [NzDropDownModule, NzDividerModule, NzIconModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item (click)=\"addTab()\">\n <i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span>\u6DFB\u52A0\u6807\u7B7E</span>\n </li>\n </ul>\n</nz-dropdown-menu>" }]
|
|
123
|
+
}] });
|
|
124
|
+
|
|
125
|
+
const Config = {
|
|
126
|
+
componentName: "标签页",
|
|
127
|
+
buildOptionsNodes(nextInfo) {
|
|
128
|
+
const next = [];
|
|
129
|
+
const tabsChildren = [];
|
|
130
|
+
const tabsNode = new OptionsNode({
|
|
131
|
+
id: nextInfo.currentObject.id + ".tabs",
|
|
132
|
+
parentId: nextInfo.currentObject.id,
|
|
133
|
+
scopeId: nextInfo.scopeId,
|
|
134
|
+
rootOptions: nextInfo.currentObject.tabs,
|
|
135
|
+
contextMenu: TabsMenu,
|
|
136
|
+
name: `标签[${nextInfo.currentObject.tabs?.length ?? 0}]`,
|
|
137
|
+
canDrop: true,
|
|
138
|
+
dropType: "axis-components/tabs/tab",
|
|
139
|
+
dropObj: nextInfo.currentObject.tabs,
|
|
140
|
+
defaultDropIndex: nextInfo.currentObject.tabs?.length ?? 0,
|
|
141
|
+
childDirection: ["left", "right"].includes(nextInfo.currentObject.tabPosition) ? 'vertical' : 'horizontal',
|
|
142
|
+
icon: "tablet",
|
|
143
|
+
children: tabsChildren
|
|
144
|
+
});
|
|
145
|
+
nextInfo.currentObject.tabs?.forEach((r, i) => {
|
|
146
|
+
next.push({
|
|
147
|
+
parentId: tabsNode.id + "." + r.name,
|
|
148
|
+
parentObject: r,
|
|
149
|
+
indexOfParent: "child",
|
|
150
|
+
scopeId: nextInfo.scopeId
|
|
151
|
+
});
|
|
152
|
+
tabsChildren.push(new OptionsNode({
|
|
153
|
+
id: tabsNode.id + "." + r.name,
|
|
154
|
+
updateId: (options) => `${tabsNode.id}.${options.name}`,
|
|
155
|
+
scopeId: tabsNode.scopeId,
|
|
156
|
+
parentId: tabsNode.id,
|
|
157
|
+
parentObj: tabsNode.options,
|
|
158
|
+
indexOfParentObj: i,
|
|
159
|
+
rootOptions: r,
|
|
160
|
+
name: nameCode("标签", r.title),
|
|
161
|
+
icon: "tablet",
|
|
162
|
+
canSetting: true,
|
|
163
|
+
settingType: TabSetting,
|
|
164
|
+
contextMenu: SimpleMenu,
|
|
165
|
+
canDrag: true,
|
|
166
|
+
dragType: "axis-components/tabs/tab",
|
|
167
|
+
canDrop: true,
|
|
168
|
+
dropType: "component",
|
|
169
|
+
dropObj: r,
|
|
170
|
+
defaultDropIndex: "child",
|
|
171
|
+
children: []
|
|
172
|
+
}));
|
|
173
|
+
});
|
|
174
|
+
const startExtraNode = new OptionsNode({
|
|
175
|
+
id: nextInfo.currentObject.id + ".startExtra",
|
|
176
|
+
parentId: nextInfo.currentObject.id,
|
|
177
|
+
scopeId: nextInfo.scopeId,
|
|
178
|
+
rootOptions: nextInfo.currentObject.tabBarExtraContentOnStart,
|
|
179
|
+
name: "附加头",
|
|
180
|
+
contextMenu: SimpleMenu,
|
|
181
|
+
canDrop: true,
|
|
182
|
+
dropType: "component",
|
|
183
|
+
dropObj: nextInfo.currentObject,
|
|
184
|
+
defaultDropIndex: "tabBarExtraContentOnStart",
|
|
185
|
+
icon: "control",
|
|
186
|
+
children: []
|
|
187
|
+
});
|
|
188
|
+
const endExtraNode = new OptionsNode({
|
|
189
|
+
id: nextInfo.currentObject.id + ".endExtra",
|
|
190
|
+
parentId: nextInfo.currentObject.id,
|
|
191
|
+
scopeId: nextInfo.scopeId,
|
|
192
|
+
rootOptions: nextInfo.currentObject.tabBarExtraContentOnEnd,
|
|
193
|
+
name: "附加尾",
|
|
194
|
+
contextMenu: SimpleMenu,
|
|
195
|
+
canDrop: true,
|
|
196
|
+
dropType: "component",
|
|
197
|
+
dropObj: nextInfo.currentObject,
|
|
198
|
+
defaultDropIndex: "tabBarExtraContentOnEnd",
|
|
199
|
+
icon: "control",
|
|
200
|
+
children: []
|
|
201
|
+
});
|
|
202
|
+
next.push({
|
|
203
|
+
parentId: startExtraNode.id,
|
|
204
|
+
parentObject: nextInfo.currentObject,
|
|
205
|
+
indexOfParent: "tabBarExtraContentOnStart",
|
|
206
|
+
scopeId: startExtraNode.scopeId
|
|
207
|
+
});
|
|
208
|
+
next.push({
|
|
209
|
+
parentId: endExtraNode.id,
|
|
210
|
+
parentObject: nextInfo.currentObject,
|
|
211
|
+
indexOfParent: "tabBarExtraContentOnEnd",
|
|
212
|
+
scopeId: endExtraNode.scopeId
|
|
213
|
+
});
|
|
214
|
+
return {
|
|
215
|
+
treeNode: new OptionsNode({
|
|
216
|
+
parentId: nextInfo.parentId,
|
|
217
|
+
scopeId: nextInfo.scopeId,
|
|
218
|
+
name: nameCode("标签页", nextInfo.currentObject.tabs.length),
|
|
219
|
+
canSetting: true,
|
|
220
|
+
canDrag: true,
|
|
221
|
+
dragType: "component",
|
|
222
|
+
parentObj: nextInfo.parentObject,
|
|
223
|
+
indexOfParentObj: nextInfo.indexOfParent,
|
|
224
|
+
rootOptions: nextInfo.currentObject,
|
|
225
|
+
settingType: TabsSetting,
|
|
226
|
+
contextMenu: SimpleMenu,
|
|
227
|
+
icon: "switcher",
|
|
228
|
+
children: [
|
|
229
|
+
tabsNode,
|
|
230
|
+
startExtraNode,
|
|
231
|
+
endExtraNode
|
|
232
|
+
],
|
|
233
|
+
}),
|
|
234
|
+
next: next
|
|
235
|
+
};
|
|
236
|
+
},
|
|
237
|
+
bindElementsOptionsNode(element, options) {
|
|
238
|
+
const tabsElement = element.querySelector(".ant-tabs-nav-list");
|
|
239
|
+
const res = {
|
|
240
|
+
[options.id]: { element },
|
|
241
|
+
[`${options.id}.tabs`]: { element: tabsElement, dropElement: tabsElement }
|
|
242
|
+
};
|
|
243
|
+
const tabs = tabsElement.querySelectorAll(".ant-tabs-tab-btn>span[data-name]");
|
|
244
|
+
for (const e of tabs) {
|
|
245
|
+
const name = e.dataset['name'];
|
|
246
|
+
res[`${options.id}.tabs.${name}`] = {
|
|
247
|
+
element: e.parentElement?.parentElement,
|
|
248
|
+
dropElement: element.querySelector(`.ant-tabs-tabpane>div[data-name="${name}"]`),
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
return res;
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Generated bundle index. Do not edit.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
export { Config };
|
|
260
|
+
//# sourceMappingURL=ngx-axis-appforge-axis-components-tabs-design.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-axis-appforge-axis-components-tabs-design.mjs","sources":["../../../axis-components/tabs/design/tab-setting/tab-setting.ts","../../../axis-components/tabs/design/tab-setting/tab-setting.html","../../../axis-components/tabs/design/tabs-setting/tabs-setting.ts","../../../axis-components/tabs/design/tabs-setting/tabs-setting.html","../../../axis-components/tabs/design/tabs-menu/tabs-menu.ts","../../../axis-components/tabs/design/tabs-menu/tabs-menu.html","../../../axis-components/tabs/design/config.ts","../../../axis-components/tabs/design/ngx-axis-appforge-axis-components-tabs-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FormValidators, FunField, FunFieldOptions, FunFieldValueBase, InputTrigger } from 'ngx-axis-appforge/core';\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\n\n@Component({\n selector: 'axis-design-tabs-tab-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, NzInputModule, FunField, NzSwitchModule, InputTrigger],\n templateUrl: './tab-setting.html',\n styleUrl: './tab-setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabSetting extends FunFieldValueBase {\n\n override fg: UntypedFormGroup = this.fb.group({\n name: [\"\", FormValidators.required],\n inuse: [undefined, FormValidators.requiredFun],\n title: [],\n forceRender: [undefined, FormValidators.requiredFun],\n disabled: [undefined, FormValidators.requiredFun],\n triggeEvents: [],\n });\n\n protected override funFields: FunFieldOptions = {\n inuse: {\n defaultValue: true,\n },\n title: {\n defaultValue: \"\",\n },\n forceRender: {\n defaultValue: false,\n },\n disabled: {\n defaultValue: false,\n },\n };\n\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"基本设置\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 是否可用\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"inuse\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 标签ID\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <input nz-input formControlName=\"name\" />\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 标题\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"title\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 强制渲染\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"forceRender\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 禁用\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"disabled\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'tabClick',title:'点击标签'}]\"></axis-input-trigger>\n </nz-collapse>\n</form>","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, FormValidators, FunField, FunFieldOptions, FunFieldValueBase, InputTrigger } from 'ngx-axis-appforge/core';\nimport { NzRadioModule } from \"ng-zorro-antd/radio\";\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\n\n@Component({\n selector: 'axis-design-tabs-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, NzSelectModule, NzInputNumberModule, NzInputModule, FunField, NzRadioModule, NzSwitchModule, InputTrigger],\n templateUrl: './tabs-setting.html',\n styleUrl: './tabs-setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsSetting extends FunFieldValueBase {\n\n override fg: UntypedFormGroup = this.fb.group({\n ...baseFbConfig,\n current: [],\n size: [undefined, FormValidators.requiredFun],\n tabBarStyle: [],\n tabPosition: [undefined, FormValidators.requiredFun],\n type: [undefined, FormValidators.requiredFun],\n tabBarGutter: [],\n centered: [undefined, FormValidators.requiredFun],\n destroyInactiveTabPane: [undefined, FormValidators.requiredFun],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n current: {\n defaultValue: \"\"\n },\n size: {\n defaultValue: \"default\"\n },\n tabBarStyle: {\n defaultValue: undefined\n },\n tabPosition: {\n defaultValue: \"top\"\n },\n type: {\n defaultValue: \"line\"\n },\n tabBarGutter: {\n defaultValue: undefined\n },\n centered: {\n defaultValue: false\n },\n destroyInactiveTabPane: {\n defaultValue: false\n },\n };\n\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"基本设置\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 类型\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"type\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\">\n <label nz-radio-button nzValue=\"line\">线条</label>\n <label nz-radio-button nzValue=\"card\">卡片</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 标签位置\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"tabPosition\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\" nzSize=\"small\">\n <label nz-radio-button nzValue=\"top\">上</label>\n <label nz-radio-button nzValue=\"right\">右</label>\n <label nz-radio-button nzValue=\"bottom\">下</label>\n <label nz-radio-button nzValue=\"left\">左</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 大小\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"size\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\" nzSize=\"small\">\n <label nz-radio-button nzValue=\"large\">大</label>\n <label nz-radio-button nzValue=\"default\">中</label>\n <label nz-radio-button nzValue=\"small\">小</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 间隙\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"tabBarGutter\">\n <nz-input-number style=\"width: 100%;\" ngModel [ngModelOptions]=\"{standalone:true}\" [nzMin]=\"0\">\n <span nzInputAddonAfter>px</span>\n </nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 居中\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"centered\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 隐藏时销毁\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"destroyInactiveTabPane\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 当前标签\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"current\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\" nzAllowClear>\n @for (tabs of value().tabs; track tabs.name) {\n <nz-option [nzValue]=\"tabs.name\" [nzLabel]=\"tabs.title\"></nz-option>\n }\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\"\n [eventDesc]=\"[{name:'selectedChange',title:'标签选择',ds:{tabName:'示例数据'}}]\"></axis-input-trigger>\n </nz-collapse>\n</form>","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { BaseMenu } from 'ngx-axis-appforge/core';\n\n@Component({\n selector: 'axis-design-tabs-menu',\n imports: [NzDropDownModule, NzDividerModule, NzIconModule],\n templateUrl: './tabs-menu.html',\n styleUrl: './tabs-menu.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsMenu extends BaseMenu {\n\n addTab() {\n const name = `tab${this.optionsNodes.current.options.length + 1}`;\n this.optionsNodes.current.options.push({\n name: name,\n title: \"未命名\",\n inuse: true,\n });\n this.onChange?.({ nextNodeId: `${this.optionsNodes.current?.id}.${name}`, historyDesc: \"添加标签\" });\n }\n}\n","<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item (click)=\"addTab()\">\n <i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span>添加标签</span>\n </li>\n </ul>\n</nz-dropdown-menu>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, nameCode, SimpleMenu } from \"ngx-axis-appforge/core\";\nimport { TabSetting } from \"./tab-setting/tab-setting\";\nimport { TabsSetting } from \"./tabs-setting/tabs-setting\";\nimport { TabsMenu } from \"./tabs-menu/tabs-menu\";\n\nexport const Config: DesignConfig = {\n\n componentName: \"标签页\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n const next: NextInfo[] = [];\n const tabsChildren: OptionsNode[] = [];\n const tabsNode = new OptionsNode({\n id: nextInfo.currentObject.id + \".tabs\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.scopeId,\n rootOptions: nextInfo.currentObject.tabs,\n contextMenu: TabsMenu,\n name: `标签[${nextInfo.currentObject.tabs?.length ?? 0}]`,\n canDrop: true,\n dropType: \"axis-components/tabs/tab\",\n dropObj: nextInfo.currentObject.tabs,\n defaultDropIndex: nextInfo.currentObject.tabs?.length ?? 0,\n childDirection: [\"left\", \"right\"].includes(nextInfo.currentObject.tabPosition) ? 'vertical' : 'horizontal',\n icon: \"tablet\",\n children: tabsChildren\n });\n nextInfo.currentObject.tabs?.forEach((r: any, i: number) => {\n next.push({\n parentId: tabsNode.id + \".\" + r.name,\n parentObject: r,\n indexOfParent: \"child\",\n scopeId: nextInfo.scopeId\n });\n tabsChildren.push(new OptionsNode({\n id: tabsNode.id + \".\" + r.name,\n updateId: (options) => `${tabsNode.id}.${options.name}`,\n scopeId: tabsNode.scopeId,\n parentId: tabsNode.id,\n parentObj: tabsNode.options,\n indexOfParentObj: i,\n rootOptions: r,\n name: nameCode(\"标签\", r.title),\n icon: \"tablet\",\n canSetting: true,\n settingType: TabSetting,\n contextMenu: SimpleMenu,\n canDrag: true,\n dragType: \"axis-components/tabs/tab\",\n canDrop: true,\n dropType: \"component\",\n dropObj: r,\n defaultDropIndex: \"child\",\n children: []\n }));\n });\n const startExtraNode = new OptionsNode({\n id: nextInfo.currentObject.id + \".startExtra\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.scopeId,\n rootOptions: nextInfo.currentObject.tabBarExtraContentOnStart,\n name: \"附加头\",\n contextMenu: SimpleMenu,\n canDrop: true,\n dropType: \"component\",\n dropObj: nextInfo.currentObject,\n defaultDropIndex: \"tabBarExtraContentOnStart\",\n icon: \"control\",\n children: []\n });\n const endExtraNode = new OptionsNode({\n id: nextInfo.currentObject.id + \".endExtra\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.scopeId,\n rootOptions: nextInfo.currentObject.tabBarExtraContentOnEnd,\n name: \"附加尾\",\n contextMenu: SimpleMenu,\n canDrop: true,\n dropType: \"component\",\n dropObj: nextInfo.currentObject,\n defaultDropIndex: \"tabBarExtraContentOnEnd\",\n icon: \"control\",\n children: []\n });\n next.push({\n parentId: startExtraNode.id,\n parentObject: nextInfo.currentObject,\n indexOfParent: \"tabBarExtraContentOnStart\",\n scopeId: startExtraNode.scopeId\n });\n next.push({\n parentId: endExtraNode.id,\n parentObject: nextInfo.currentObject,\n indexOfParent: \"tabBarExtraContentOnEnd\",\n scopeId: endExtraNode.scopeId\n });\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: nameCode(\"标签页\", nextInfo.currentObject.tabs.length),\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n settingType: TabsSetting,\n contextMenu: SimpleMenu,\n icon: \"switcher\",\n children: [\n tabsNode,\n startExtraNode,\n endExtraNode\n ],\n }),\n next: next\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n const tabsElement = element.querySelector(\".ant-tabs-nav-list\") as HTMLElement;\n const res: DesignBindElementsResult = {\n [options.id]: { element },\n [`${options.id}.tabs`]: { element: tabsElement, dropElement: tabsElement }\n };\n const tabs = tabsElement.querySelectorAll(\".ant-tabs-tab-btn>span[data-name]\");\n for (const e of tabs) {\n const name = (e as HTMLElement).dataset['name'];\n res[`${options.id}.tabs.${name}`] = {\n element: e.parentElement?.parentElement as HTMLElement,\n dropElement: element.querySelector(`.ant-tabs-tabpane>div[data-name=\"${name}\"]`) as HTMLElement,\n }\n }\n return res\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":["i5","i6","i7","i9","i1","i2","i4"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { signal, effect, computed, model, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { BaseOptions, Base, DynamicDirective } from 'ngx-axis-appforge/core';
|
|
4
|
+
import * as i1 from 'ng-zorro-antd/tabs';
|
|
5
|
+
import { NzTabsModule } from 'ng-zorro-antd/tabs';
|
|
6
|
+
|
|
7
|
+
class TabsOptions extends BaseOptions {
|
|
8
|
+
current = signal("", ...(ngDevMode ? [{ debugName: "current" }] : []));
|
|
9
|
+
size = signal("default", ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
10
|
+
tabBarStyle = signal(undefined, ...(ngDevMode ? [{ debugName: "tabBarStyle" }] : []));
|
|
11
|
+
tabPosition = signal("top", ...(ngDevMode ? [{ debugName: "tabPosition" }] : []));
|
|
12
|
+
type = signal("line", ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
13
|
+
tabBarGutter = signal(undefined, ...(ngDevMode ? [{ debugName: "tabBarGutter" }] : []));
|
|
14
|
+
centered = signal(false, ...(ngDevMode ? [{ debugName: "centered" }] : []));
|
|
15
|
+
destroyInactiveTabPane = signal(false, ...(ngDevMode ? [{ debugName: "destroyInactiveTabPane" }] : []));
|
|
16
|
+
tabBarExtraContentOnStart = signal(undefined, ...(ngDevMode ? [{ debugName: "tabBarExtraContentOnStart" }] : []));
|
|
17
|
+
tabBarExtraContentOnEnd = signal(undefined, ...(ngDevMode ? [{ debugName: "tabBarExtraContentOnEnd" }] : []));
|
|
18
|
+
tabs = signal([], ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
19
|
+
}
|
|
20
|
+
class TabOptions {
|
|
21
|
+
name = signal("", ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
22
|
+
inuse = signal(true, ...(ngDevMode ? [{ debugName: "inuse" }] : []));
|
|
23
|
+
title = signal("", ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
24
|
+
forceRender = signal(false, ...(ngDevMode ? [{ debugName: "forceRender" }] : []));
|
|
25
|
+
disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
26
|
+
triggeEvents = signal(undefined, ...(ngDevMode ? [{ debugName: "triggeEvents" }] : []));
|
|
27
|
+
child = signal(undefined, ...(ngDevMode ? [{ debugName: "child" }] : []));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
class Tabs extends Base {
|
|
31
|
+
constructor() {
|
|
32
|
+
super();
|
|
33
|
+
effect(() => {
|
|
34
|
+
this.tabs().forEach((p, i) => {
|
|
35
|
+
this.bindWithConfig(this.options.tabs()[i], { options: p, tag: `bindTabs.${i}` });
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
effect(() => {
|
|
39
|
+
if (this.options.current()) {
|
|
40
|
+
const index = this.displayTabs().findIndex(t => t.name() == this.options.current());
|
|
41
|
+
if (index >= 0) {
|
|
42
|
+
this.selectedIndex.set(index);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
options = new TabsOptions();
|
|
48
|
+
tabs = computed(() => this.options.tabs().map(_ => new TabOptions()), ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
49
|
+
displayTabs = computed(() => this.tabs().filter(s => s.inuse()), ...(ngDevMode ? [{ debugName: "displayTabs" }] : []));
|
|
50
|
+
selectedIndex = model(null, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
|
|
51
|
+
onSelectChange(index) {
|
|
52
|
+
const tab = this.displayTabs()[index];
|
|
53
|
+
this.triggeEvents("selectedChange", { tabName: tab.name() }).subscribe();
|
|
54
|
+
this.triggeEvents("tabClick", undefined, tab.triggeEvents()).subscribe();
|
|
55
|
+
}
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: Tabs, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: Tabs, isStandalone: true, selector: "axis-tabs", inputs: { selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange" }, usesInheritance: true, ngImport: i0, template: "<nz-tabs [(nzSelectedIndex)]=\"selectedIndex\" [nzSize]=\"options.size()\" [nzTabBarStyle]=\"options.tabBarStyle()\"\n [nzTabPosition]=\"options.tabPosition()\" [nzType]=\"options.type()\" [nzTabBarGutter]=\"options.tabBarGutter()\"\n [nzCentered]=\"options.centered()\" [nzDestroyInactiveTabPane]=\"options.destroyInactiveTabPane()\">\n <ng-container *nzTabBarExtraContent=\"'start'\" [axisDynamic]=\"options.tabBarExtraContentOnStart()\"></ng-container>\n @for (tab of displayTabs(); track tab.name()) {\n <nz-tab [nzTitle]=\"title\" [nzForceRender]=\"tab.forceRender()\" [nzDisabled]=\"tab.disabled()\">\n <ng-template #title>\n <span [attr.data-name]=\"tab.name()\">{{tab.title()}}</span>\n </ng-template>\n <div [attr.data-name]=\"tab.name()\">\n <ng-container [axisDynamic]=\"tab.child()\"></ng-container>\n </div>\n </nz-tab>\n }\n <ng-container *nzTabBarExtraContent=\"'end'\" [axisDynamic]=\"options.tabBarExtraContentOnEnd()\"></ng-container>\n</nz-tabs>", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: NzTabsModule }, { kind: "component", type: i1.NzTabsComponent, selector: "nz-tabs,nz-tabset", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact", "nzDestroyInactiveTabPane"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabs"] }, { kind: "component", type: i1.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "directive", type: i1.NzTabBarExtraContentDirective, selector: "[nzTabBarExtraContent]:not(nz-tabset):not(nz-tabs)", inputs: ["nzTabBarExtraContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: Tabs, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: 'axis-tabs', imports: [DynamicDirective, NzTabsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-tabs [(nzSelectedIndex)]=\"selectedIndex\" [nzSize]=\"options.size()\" [nzTabBarStyle]=\"options.tabBarStyle()\"\n [nzTabPosition]=\"options.tabPosition()\" [nzType]=\"options.type()\" [nzTabBarGutter]=\"options.tabBarGutter()\"\n [nzCentered]=\"options.centered()\" [nzDestroyInactiveTabPane]=\"options.destroyInactiveTabPane()\">\n <ng-container *nzTabBarExtraContent=\"'start'\" [axisDynamic]=\"options.tabBarExtraContentOnStart()\"></ng-container>\n @for (tab of displayTabs(); track tab.name()) {\n <nz-tab [nzTitle]=\"title\" [nzForceRender]=\"tab.forceRender()\" [nzDisabled]=\"tab.disabled()\">\n <ng-template #title>\n <span [attr.data-name]=\"tab.name()\">{{tab.title()}}</span>\n </ng-template>\n <div [attr.data-name]=\"tab.name()\">\n <ng-container [axisDynamic]=\"tab.child()\"></ng-container>\n </div>\n </nz-tab>\n }\n <ng-container *nzTabBarExtraContent=\"'end'\" [axisDynamic]=\"options.tabBarExtraContentOnEnd()\"></ng-container>\n</nz-tabs>", styles: [":host{display:block}\n"] }]
|
|
62
|
+
}], ctorParameters: () => [] });
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Generated bundle index. Do not edit.
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
export { Tabs };
|
|
69
|
+
//# sourceMappingURL=ngx-axis-appforge-axis-components-tabs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-axis-appforge-axis-components-tabs.mjs","sources":["../../../axis-components/tabs/tabs.options.ts","../../../axis-components/tabs/tabs.ts","../../../axis-components/tabs/tabs.html","../../../axis-components/tabs/ngx-axis-appforge-axis-components-tabs.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { BaseOptions, TriggeEventsOptions } from \"ngx-axis-appforge/core\";\n\nexport class TabsOptions extends BaseOptions {\n readonly current = signal(\"\");\n readonly size = signal<\"small\" | \"default\" | \"large\">(\"default\");\n readonly tabBarStyle = signal<any>(undefined);\n readonly tabPosition = signal<'top' | 'right' | 'bottom' | 'left'>(\"top\");\n readonly type = signal<'line' | 'card'>(\"line\");\n readonly tabBarGutter = signal<number | undefined>(undefined);\n readonly centered = signal(false);\n readonly destroyInactiveTabPane = signal(false);\n readonly tabBarExtraContentOnStart = signal(undefined);\n readonly tabBarExtraContentOnEnd = signal(undefined);\n readonly tabs = signal<any[]>([]);\n\n}\n\nexport class TabOptions {\n readonly name = signal(\"\");\n readonly inuse = signal(true);\n readonly title = signal(\"\");\n readonly forceRender = signal(false);\n readonly disabled = signal(false);\n readonly triggeEvents = signal<TriggeEventsOptions | undefined>(undefined);\n readonly child = signal<any>(undefined);\n}","import { ChangeDetectionStrategy, Component, computed, effect, model } from '@angular/core';\nimport { Base, DynamicDirective } from 'ngx-axis-appforge/core';\nimport { TabOptions, TabsOptions } from './tabs.options';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\n\n@Component({\n selector: 'axis-tabs',\n imports: [DynamicDirective, NzTabsModule],\n templateUrl: './tabs.html',\n styleUrl: './tabs.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Tabs extends Base<TabsOptions> {\n\n constructor() {\n super();\n effect(() => {\n this.tabs().forEach((p, i) => {\n this.bindWithConfig(this.options.tabs()[i], { options: p, tag: `bindTabs.${i}` });\n });\n });\n effect(() => {\n if (this.options.current()) {\n const index = this.displayTabs().findIndex(t => t.name() == this.options.current());\n if (index >= 0) {\n this.selectedIndex.set(index);\n }\n }\n });\n }\n override options: TabsOptions = new TabsOptions();\n readonly tabs = computed(() => this.options.tabs().map(_ => new TabOptions()));\n readonly displayTabs = computed(() => this.tabs().filter(s => s.inuse()));\n readonly selectedIndex = model<number | null>(null);\n\n onSelectChange(index: number) {\n const tab = this.displayTabs()[index];\n this.triggeEvents(\"selectedChange\", { tabName: tab.name() }).subscribe();\n this.triggeEvents(\"tabClick\", undefined, tab.triggeEvents()).subscribe();\n }\n\n}\n","<nz-tabs [(nzSelectedIndex)]=\"selectedIndex\" [nzSize]=\"options.size()\" [nzTabBarStyle]=\"options.tabBarStyle()\"\n [nzTabPosition]=\"options.tabPosition()\" [nzType]=\"options.type()\" [nzTabBarGutter]=\"options.tabBarGutter()\"\n [nzCentered]=\"options.centered()\" [nzDestroyInactiveTabPane]=\"options.destroyInactiveTabPane()\">\n <ng-container *nzTabBarExtraContent=\"'start'\" [axisDynamic]=\"options.tabBarExtraContentOnStart()\"></ng-container>\n @for (tab of displayTabs(); track tab.name()) {\n <nz-tab [nzTitle]=\"title\" [nzForceRender]=\"tab.forceRender()\" [nzDisabled]=\"tab.disabled()\">\n <ng-template #title>\n <span [attr.data-name]=\"tab.name()\">{{tab.title()}}</span>\n </ng-template>\n <div [attr.data-name]=\"tab.name()\">\n <ng-container [axisDynamic]=\"tab.child()\"></ng-container>\n </div>\n </nz-tab>\n }\n <ng-container *nzTabBarExtraContent=\"'end'\" [axisDynamic]=\"options.tabBarExtraContentOnEnd()\"></ng-container>\n</nz-tabs>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './tabs';\n"],"names":[],"mappings":"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"}
|