ngx-axis-appforge 0.0.16 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/axis-components/edit-table/design/index.d.ts +5 -0
  2. package/axis-components/edit-table/index.d.ts +124 -0
  3. package/axis-components-covers/edit-table.png +0 -0
  4. package/core/index.d.ts +28 -1
  5. package/fesm2022/ngx-axis-appforge-axis-components-edit-table-design.mjs +287 -0
  6. package/fesm2022/ngx-axis-appforge-axis-components-edit-table-design.mjs.map +1 -0
  7. package/fesm2022/ngx-axis-appforge-axis-components-edit-table.mjs +361 -0
  8. package/fesm2022/ngx-axis-appforge-axis-components-edit-table.mjs.map +1 -0
  9. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs +9 -163
  10. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs.map +1 -1
  11. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs +3 -34
  12. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs.map +1 -1
  13. package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs +2 -3
  14. package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs.map +1 -1
  15. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs +2 -2
  16. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs.map +1 -1
  17. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector-design.mjs +4 -3
  18. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector-design.mjs.map +1 -1
  19. package/fesm2022/ngx-axis-appforge-axis-components.mjs +53 -2
  20. package/fesm2022/ngx-axis-appforge-axis-components.mjs.map +1 -1
  21. package/fesm2022/ngx-axis-appforge-core.mjs +176 -4
  22. package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
  23. package/package.json +78 -70
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-edit-table.mjs","sources":["../../../axis-components/edit-table/edit-table.options.ts","../../../axis-components/edit-table/select.ts","../../../axis-components/edit-table/edit-table.ts","../../../axis-components/edit-table/edit-table.html","../../../axis-components/edit-table/ngx-axis-appforge-axis-components-edit-table.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class EditTableOptions extends ValueAccessOptions {\n readonly disabledAppend = signal(false);\n readonly disabledRemove = signal(false);\n readonly disabledRemoveFn = signal(\"\");\n readonly maxLength = signal<number | null>(null);\n readonly addInitData = signal<any>(undefined);\n readonly size = signal<'middle' | 'small' | 'default'>(\"middle\");\n readonly showOrder = signal(true);\n readonly showDataSize = signal(true);\n readonly bordered = signal(false);\n readonly outerBordered = signal(false);\n readonly width = signal<string | undefined>(undefined);\n readonly showCheckbox = signal(false);\n readonly checkedFormName = signal<string>(\"checked\");\n readonly singleCheck = signal(false);\n readonly disableCheckboxFn = signal<string | undefined>(undefined);\n readonly defaultSelectFirstRow = signal(false);\n readonly showTotal = signal(false);\n readonly totalTitle = signal(\"合计\");\n readonly showSubTotal = signal(false);\n readonly showPagination = signal(true);\n readonly pageSize = signal(10);\n readonly showSizeChanger = signal(true);\n readonly pageSizeOptions = signal(\"10,20,50,100\");\n readonly fields = signal<any[]>([]);\n}\n\nexport class EditTableFieldOptions {\n readonly inuse = signal(true);\n readonly field = signal(\"unknown\");\n readonly title = signal(\"未命名\");\n readonly sortAble = signal(false);\n readonly sortOrder = signal<\"descend\" | \"ascend\" | null>(null);\n readonly sortPriority = signal<number | null>(null);\n readonly filterAble = signal(false);\n readonly filterMultiple = signal(false);\n readonly width = signal<number | null>(null);\n readonly align = signal<'left' | 'right' | 'center'>(\"left\");\n readonly freezeMode = signal<'none' | 'left' | 'right'>(\"none\");\n readonly totalAble = signal(false);\n readonly totalFn = signal<string | undefined>(undefined);\n readonly validators = signal<any[]>([]);\n readonly child = signal<any>(undefined);\n}","import { computed, Signal, signal } from \"@angular/core\";\nimport { fn, ScopeDirective } from 'ngx-axis-appforge/core';\nimport { EditTableOptions } from \"./edit-table.options\";\nimport { EditTableRowData } from \"./edit-table\";\n\nexport class Select {\n\n constructor(private options: EditTableOptions, private rowData: Signal<EditTableRowData[]>, private scope: ScopeDirective | null) { }\n\n readonly headerChecked = signal<\"checked\" | \"indeterminate\" | \"none\">(\"none\");\n setOfCheckedId = new Set();\n setOfIndeterminateId = new Set();\n setOfDisabledId = computed(() => this.buildDisabledId());\n\n private buildDisabledId(): Set<string> {\n if (this.options.disableCheckboxFn()) {\n const args = this.scope?.snapshotAll() ?? {};\n return new Set(this.rowData()?.filter(row => fn(this.options.disableCheckboxFn()!, Object.assign({}, args, { row }), true))\n .map(row => row.key));\n }\n return new Set<string>();\n }\n\n onAllChecked(checked: boolean) {\n this.rowData()?.filter(row => !this.setOfDisabledId().has(row.key))?.forEach(row => this.updateCheckedSet(row, checked));\n this.refreshCheckedStatus();\n this.refreshCheckedFormValue();\n }\n\n toggleChecked(row: EditTableRowData) {\n if (this.options.showCheckbox() && !this.setOfDisabledId().has(row.key)) {\n console.log(\"toggleChecked\");\n this.onItemChecked(row, !this.setOfCheckedId.has(row.key));\n }\n }\n\n onItemChecked(row: EditTableRowData, checked: boolean): void {\n this.updateCheckedSet(row, checked);\n this.refreshCheckedStatus();\n this.refreshCheckedFormValue();\n }\n\n updateCheckedSet(row: EditTableRowData, checked: boolean): void {\n const key = row.key;\n if (checked && !this.setOfCheckedId.has(key)) {\n if (this.options.singleCheck()) {\n this.setOfCheckedId.clear();\n }\n this.setOfCheckedId.add(key);\n } else if (!checked && this.setOfCheckedId.has(key)) {\n this.setOfCheckedId.delete(key);\n }\n }\n\n refreshCheckedStatus(): void {\n const listOfEnabledData = this.rowData()?.filter(row => !this.setOfDisabledId().has(row.key)) ?? [];\n const checked = listOfEnabledData.length > 0 && listOfEnabledData.every(row => this.setOfCheckedId.has(row.key) && !this.setOfIndeterminateId.has(row.key));\n if (checked) {\n this.headerChecked.set(\"checked\");\n } else {\n const indeterminate = listOfEnabledData.some(row => this.setOfCheckedId.has(row.key) || this.setOfIndeterminateId.has(row.key)) && !checked;\n this.headerChecked.set(indeterminate ? \"indeterminate\" : \"none\");\n }\n console.log(\"headerChecked\", this.headerChecked())\n }\n\n refreshCheckedFormValue() {\n this.rowData().forEach(row => {\n const v = this.setOfCheckedId.has(row.key);\n if (!!row.control.value[this.options.checkedFormName()] != v) {\n row.control.patchValue({ [this.options.checkedFormName()]: v });\n }\n });\n }\n\n getSelectedData(): EditTableRowData[] | undefined {\n return this.rowData()?.filter(row => this.setOfCheckedId.has(row.key));\n }\n}","import { ChangeDetectionStrategy, Component, computed, effect, inject, model, OnDestroy, OnInit, signal, WritableSignal } from '@angular/core';\nimport { buildValidators, DynamicDirective, fn, ScopeDirective, updateAndValidAll, ValueAccess } from 'ngx-axis-appforge/core';\nimport { EditTableFieldOptions, EditTableOptions } from './edit-table.options';\nimport { NzTableFilterList, NzTableModule } from 'ng-zorro-antd/table';\nimport { AbstractControl, FormArray, FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { Select } from './select';\nimport { NzResizableModule } from 'ng-zorro-antd/resizable';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\nimport { debounceTime, Subscription } from 'rxjs';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\n\n@Component({\n selector: 'axis-edit-table',\n templateUrl: './edit-table.html',\n imports: [NzTableModule, ReactiveFormsModule, NzFormModule, NzResizableModule, ScopeDirective, DynamicDirective, NzButtonModule, NzPopconfirmModule, NzIconModule, NzEmptyModule],\n styleUrl: './edit-table.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditTable extends ValueAccess<EditTableOptions> implements OnInit, OnDestroy {\n\n constructor() {\n effect(() => {\n this.fields().forEach((f, i) => {\n this.bindWithConfig(this.options.fields()[i], { options: f, tag: `bindField.${i}` });\n });\n });\n super();\n this.addSubscribe(this.fa.valueChanges.pipe(debounceTime(300)).subscribe(v => {\n this.formValueToValue();\n this.onChange?.(this.value());\n }));\n }\n\n protected override options: EditTableOptions = new EditTableOptions();\n private readonly fb = inject(FormBuilder);\n readonly fg: UntypedFormGroup = this.fb.group({\n values: this.fb.array([])\n });\n get fa(): FormArray<AbstractControl> {\n return this.fg.get(\"values\") as FormArray<AbstractControl>;\n }\n readonly rowData = signal<EditTableRowData[]>([]);\n readonly select = new Select(this.options, this.rowData, this.getScope());\n readonly pageSizeOptions = computed(() => this.options.pageSizeOptions().split(\",\").map(size => +size));\n readonly scroll = computed(() => this.buildScoll());\n readonly fields = computed(() => this.buildFields());\n readonly leaderFieldWidth = computed(() => this.buildLeaderFieldWidth());\n readonly fieldsControlsMap = computed(() => this.buildFieldControls());\n readonly setOfDisabledRemoveId = signal(new Set<string>());\n readonly disabledAppend = computed(() => this.options.readonly() || this.options.disabled() || this.options.disabledAppend() || (this.options.maxLength() != null && this.rowData().length >= this.options.maxLength()!));\n readonly disabledRemove = computed(() => this.options.readonly() || this.options.disabled() || this.options.disabledRemove());\n readonly pageIndex = model<number>(1);\n\n ngOnInit(): void {\n this.registeValueAccess?.({\n validFn: (control: AbstractControl) => {\n return updateAndValidAll(this.fg, { markAsDirty: control.dirty })\n }\n });\n }\n\n idRequired(field: EditTableFieldOptions): boolean {\n return field.validators()?.filter(v => !v.disabled).some(v => v.type == \"required\");\n }\n\n private buildFields(): EditTableFieldOptions[] {\n return this.options.fields().map(f => new EditTableFieldOptions());\n }\n\n private buildScoll() {\n let x = 0;\n if (this.options.showCheckbox()) {\n x += this.leaderFieldWidth();\n }\n if (this.options.showOrder()) {\n x += this.leaderFieldWidth();\n }\n this.fields().filter(f => f.inuse()).forEach(f => {\n if (f.width()) {\n x += f.width()!;\n } else {\n x += 120;\n }\n });\n return { x: x + \"px\", y: \"\" };\n }\n\n private buildLeaderFieldWidth(): number {\n switch (this.options.size()) {\n case \"small\":\n return 45;\n case \"middle\":\n return 50;\n default:\n return 65;\n }\n }\n\n private buildFieldControls(): { [field: string]: { sortFn?: any, filterItems?: NzTableFilterList, filterFn?: any } | undefined } {\n const res: { [field: string]: { sortFn?: any, filterItems?: NzTableFilterList, filterFn?: any } } = {};\n for (const field of this.fields().filter(f => f.inuse())) {\n res[field.field()] = {};\n if (field.filterAble()) {\n const valueSet = new Set<any>();\n for (const row of this.rowData() ?? []) {\n valueSet.add(row.control.value[field.field()]);\n }\n res[field.field()].filterItems = Array.from(valueSet).map(v => ({ text: v, value: v }));\n res[field.field()].filterFn = (fd: any[] | any, row: any) => {\n if (fd instanceof Array) {\n return fd.includes(row[field.field()]);\n } else {\n return fd == row[field.field()];\n }\n };\n }\n if (field.sortAble()) {\n if (this.rowData()?.some((r) => r.control.value[field.field()] != undefined && typeof (r.control.value) == \"number\")) {\n res[field.field()].sortFn = (a: any, b: any) => a[field.field()] - b[field.field()];\n } else {\n res[field.field()].sortFn = (a: any, b: any) => {\n return ((a[field.field()] || \"\") + \"\").localeCompare(b[field.field()])\n };\n }\n }\n }\n return res;\n }\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.valueToFormValue();\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.valueToFormValue();\n }\n\n valueToFormValue() {\n this.fa.clear({ emitEvent: false });\n const rowData: EditTableRowData[] = [];\n if (Array.isArray(this.value())) {\n for (const v of this.value()) {\n const row = this.buildRow();\n rowData.push(row);\n this.fa.push(row.control, { emitEvent: false });\n }\n this.fa.patchValue(this.value(), { emitEvent: false });\n for (const row of rowData) {\n this.refreshStatus(row);\n }\n }\n this.rowData.set(rowData);\n }\n\n formValueToValue() {\n this.value.set(this.rowData().filter(row => row.status() != \"ignore\").map((row) => row.control.value));\n }\n\n buildRow(): EditTableRowData {\n const group: any = {};\n if (this.options.showCheckbox() && this.options.checkedFormName()) {\n group[this.options.checkedFormName()] = [false];\n }\n this.fields().filter(r => r.field()).forEach(f => {\n group[f.field()] = [undefined];\n if (f.validators()) {\n const validators = buildValidators(f.validators());\n group[f.field()][1] = validators[0];\n }\n });\n const status = signal<'ignore' | 'invalid' | 'success'>(\"ignore\");\n const disabledRemove = signal(false);\n const control = this.fb.group(group);\n const rowData = {\n key: Math.random().toString().replace(/^\\d\\./, \"\"),\n status,\n control,\n subs: [\n control.valueChanges.pipe(debounceTime(300)).subscribe(v => {\n this.refreshStatus(rowData);\n })\n ],\n disabledRemove\n };\n return rowData;\n }\n\n addRow() {\n const row = this.buildRow();\n this.fa.push(row.control, { emitEvent: false });\n this.rowData().push(row);\n this.rowData.set([...this.rowData()]);\n if (this.options.addInitData()) {\n row.control.patchValue(this.options.addInitData());\n this.refreshStatus(row);\n }\n if (this.options.showPagination()) {\n this.pageIndex.set(Math.ceil(this.rowData().length / (this.options.pageSize() || 10)));\n }\n }\n\n removeRow(index: number) {\n this.fa.removeAt(index);\n this.rowData().splice(index, 1);\n this.rowData.set([...this.rowData()]);\n }\n\n refreshStatus(row: EditTableRowData) {\n const ignore = Object.entries(row.control.value).filter(en => !this.options.showCheckbox() || en[0] != this.options.checkedFormName() || en[1]).every(en => {\n if (en[1] == null) {\n return true;\n }\n if (en[1] instanceof Array) {\n return !en[1].length;\n }\n if (typeof (en[1]) == \"number\") {\n return false;\n }\n return !en[1];\n });\n if (!ignore) {\n row.status.set(row.control.invalid ? 'invalid' : 'success');\n row.disabledRemove.set(fn(this.options.disabledRemoveFn(), { row: row.control.value }));\n } else {\n row.status.set('ignore');\n row.disabledRemove.set(false);\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this.rowData().forEach(row => {\n row.subs.forEach(s => s.unsubscribe());\n });\n }\n\n}\n\n\nexport interface EditTableRowData {\n key: string;\n status: WritableSignal<'ignore' | 'invalid' | 'success'>;\n control: AbstractControl;\n subs: Subscription[];\n disabledRemove: WritableSignal<boolean>\n}","<form #form nz-form [formGroup]=\"fg\">\n <nz-table #table [nzSize]=\"options.size()\" [nzData]=\"rowData()\" [nzBordered]=\"options.bordered()\"\n [nzOuterBordered]=\"options.outerBordered()\" [nzShowPagination]=\"options.showPagination()\"\n [nzFrontPagination]=\"options.showPagination()\" [nzPageSize]=\"options.pageSize()\"\n [nzShowSizeChanger]=\"options.showSizeChanger()\" [nzPageSizeOptions]=\"pageSizeOptions()\"\n [nzShowTotal]=\"options.showDataSize()?totalRange:null\" [nzScroll]=\"scroll()\"\n [nzFooter]=\"!options.showPagination() && !disabledAppend() && rowData().length?footer:null\"\n [nzNoResult]=\"noResult\" [(nzPageIndex)]=\"pageIndex\">\n <thead>\n <tr>\n @if (options.showCheckbox()) {\n @if ( !options.singleCheck()) {\n <th nzLeft [nzChecked]=\"select.headerChecked()!='none'\"\n [nzIndeterminate]=\"select.headerChecked()=='indeterminate'\"\n (nzCheckedChange)=\"select.onAllChecked($event)\" nzAlign=\"center\"\n [nzWidth]=\"leaderFieldWidth()-10+'px'\">\n </th>\n }@else {\n <th nzLeft [nzWidth]=\"leaderFieldWidth()-10+'px'\"></th>\n }\n }\n <th nzWidth=\"0 !important\" nzLeft></th>\n @if (options.showOrder()) {\n <th nzAlign=\"center\" [nzWidth]=\"leaderFieldWidth()+'px'\">序号</th>\n }\n @for (f of fields(); track f.field();let i=$index) {\n @if (f.inuse()) {\n <th [attr.data-index]=\"i\" nz-resizable nzBounds=\"window\" [nzDisabled]=\"!f.width()\"\n [nzWidth]=\"f.width() == null ?null:f.width()+'px'\" (nzResize)=\"f.width.set($event.width??null)\"\n [nzShowSort]=\"f.sortAble()\" [nzSortFn]=\"fieldsControlsMap()[f.field()]?.sortFn\"\n [nzSortOrder]=\"f.sortOrder()\" [nzSortPriority]=\"f.sortPriority()??false\"\n [nzShowFilter]=\"f.filterAble()\" [nzFilters]=\"fieldsControlsMap()[f.field()]?.filterItems ?? []\"\n [nzFilterFn]=\"fieldsControlsMap()[f.field()]?.filterFn\" [nzFilterMultiple]=\"f.filterMultiple()\"\n [nzAlign]=\"f.align()\" [nzLeft]=\"f.freezeMode()=='left'\" [nzRight]=\"f.freezeMode()=='right'\">\n <nz-form-label [nzNoColon]=\"true\" [nzRequired]=\"idRequired(f)\">\n {{f.title()}}\n </nz-form-label>\n </th>\n }\n }\n @if(!options.disabledRemove()){\n <th nzRight nzAlign=\"center\" nzWidth=\"80\" data-rowactions>操作</th>\n }\n </tr>\n </thead>\n <tbody formArrayName=\"values\">\n @for (data of table.data; track data.key;let i=$index) {\n <tr [formGroupName]=\"(table.nzPageIndex-1) * table.nzPageSize + i\" [axisScope]=\"options.id+'.row'\"\n scopeName=\"可编辑表格行\" [dataSources]=\"[{name:'row',type:'local',data:data.control.value}]\">\n @if (options.showCheckbox()) {\n <td nzLeft [nzChecked]=\"select.setOfCheckedId.has(data.key)\"\n [nzIndeterminate]=\"select.setOfIndeterminateId.has(data.key)\"\n [nzDisabled]=\"select.setOfDisabledId().has(data.key)\"\n (nzCheckedChange)=\"select.onItemChecked(data, $event)\" nzAlign=\"center\"></td>\n }\n <td class=\"row-status\" nzLeft [class]=\"data.status()\"></td>\n @if (options.showOrder()) {\n <td nzAlign=\"center\">{{(table.nzPageIndex-1) * table.nzPageSize + i+1}}</td>\n }\n @for (f of fields(); track f.field();let i=$index) {\n @if (f.inuse()) {\n <td [nzLeft]=\"f.freezeMode()=='left'\" [attr.data-index]=\"i\" [nzRight]=\"f.freezeMode()=='right'\"\n [nzAlign]=\"f.align()\">\n <nz-form-item style=\"margin-bottom: 0;\">\n <nz-form-control>\n <ng-container [axisDynamic]=\"f.child()\" [formControlName]=\"f.field()\"></ng-container>\n </nz-form-control>\n </nz-form-item>\n </td>\n }\n }\n @if(!options.disabledRemove()){\n <td nzRight>\n <button nz-button nzDanger nzType=\"link\" nz-popconfirm nzPopconfirmTitle=\"确认删除?\"\n [nzCondition]=\"data.status()=='ignore'\" [disabled]=\"data.disabledRemove()\"\n (nzOnConfirm)=\"removeRow((table.nzPageIndex-1) * table.nzPageSize + i)\">删除</button>\n </td>\n }\n </tr>\n }\n </tbody>\n <ng-template #noResult>\n <nz-empty [nzNotFoundContent]=\"addbtn\"></nz-empty>\n <ng-template #addbtn>\n 暂无数据@if (!disabledAppend()) {,<a (click)=\"addRow()\">添加</a>}\n </ng-template>\n </ng-template>\n <ng-template #totalRange let-range=\"range\" let-total>\n @if (!disabledAppend()) {\n <a style=\"position:absolute;left:24px\" (click)=\"addRow()\"><span nz-icon nzType=\"plus\"\n nzTheme=\"outline\"></span>添加</a>\n }\n 共{{ total }}条数据,第{{ range[0] }}-{{ range[1] }}条\n </ng-template>\n <ng-template #footer>\n <a (click)=\"addRow()\"><span nz-icon nzType=\"plus\" nzTheme=\"outline\"></span>添加</a>\n </ng-template>\n </nz-table>\n</form>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './edit-table';\n"],"names":[],"mappings":"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"}
@@ -1,170 +1,16 @@
1
- import { FunFieldBase, FormValidators, updateAndValidAll, copy, FunField, FunFieldValueBase, baseFbConfig, baseFunField, BaseDesignSetting, OptionsNode, SimpleMenu, nameCode } from 'ngx-axis-appforge/core';
1
+ import { FunFieldValueBase, FormValidators, baseFbConfig, baseFunField, BaseDesignSetting, FunField, InputValidator, OptionsNode, SimpleMenu, nameCode } from 'ngx-axis-appforge/core';
2
2
  import * as i0 from '@angular/core';
3
- import { model, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
4
- import * as i8 from '@angular/forms';
5
- import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import * as i9 from 'ng-zorro-antd/collapse';
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
7
  import { NzCollapseModule } from 'ng-zorro-antd/collapse';
8
- import * as i10 from 'ng-zorro-antd/form';
8
+ import * as i3 from 'ng-zorro-antd/form';
9
9
  import { NzFormModule } from 'ng-zorro-antd/form';
10
- import * as i13 from 'ng-zorro-antd/switch';
11
10
  import { NzSwitchModule } from 'ng-zorro-antd/switch';
12
- import * as i12 from 'ng-zorro-antd/input';
11
+ import * as i5 from 'ng-zorro-antd/input';
13
12
  import { NzInputModule } from 'ng-zorro-antd/input';
14
13
  import * as i2 from 'ng-zorro-antd/grid';
15
- import { NzGridModule } from 'ng-zorro-antd/grid';
16
- import * as i3 from 'ng-zorro-antd/icon';
17
- import { NzIconModule } from 'ng-zorro-antd/icon';
18
- import { NzListModule } from 'ng-zorro-antd/list';
19
- import { NzSpaceModule } from 'ng-zorro-antd/space';
20
- import * as i1 from 'ng-zorro-antd/tag';
21
- import { NzTagModule } from 'ng-zorro-antd/tag';
22
- import * as i4 from 'ng-zorro-antd/empty';
23
- import { NzEmptyModule } from 'ng-zorro-antd/empty';
24
- import * as i5 from 'ng-zorro-antd/button';
25
- import { NzButtonModule } from 'ng-zorro-antd/button';
26
- import * as i7 from 'ng-zorro-antd/modal';
27
- import { NzModalModule } from 'ng-zorro-antd/modal';
28
- import * as i11 from 'ng-zorro-antd/select';
29
- import { NzSelectModule } from 'ng-zorro-antd/select';
30
- import { CommonModule } from '@angular/common';
31
- import * as i14 from 'ng-zorro-antd/flex';
32
- import { NzFlexModule } from 'ng-zorro-antd/flex';
33
- import * as i15 from 'ng-zorro-antd/input-number';
34
- import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
35
- import * as i6 from 'ng-zorro-antd/core/transition-patch';
36
-
37
- class InputValidator extends FunFieldBase {
38
- element;
39
- constructor(element) {
40
- super();
41
- this.element = element;
42
- }
43
- value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
44
- showLine = signal(false, ...(ngDevMode ? [{ debugName: "showLine" }] : []));
45
- onChange;
46
- editIndex = -1;
47
- showModal = model(false, ...(ngDevMode ? [{ debugName: "showModal" }] : []));
48
- validatorDesc = computed(() => this.buildValidatorsDesc(), ...(ngDevMode ? [{ debugName: "validatorDesc" }] : []));
49
- fg = this.fb.group({
50
- type: ["required", FormValidators.required],
51
- disabled: [undefined, FormValidators.requiredFun],
52
- minLength: [],
53
- maxLength: [],
54
- minValue: [],
55
- maxValue: [],
56
- pattern: [],
57
- });
58
- funFields = {
59
- disabled: {
60
- defaultValue: false
61
- },
62
- minLength: {
63
- defaultValue: null
64
- },
65
- maxLength: {
66
- defaultValue: null
67
- },
68
- minValue: {
69
- defaultValue: null
70
- },
71
- maxValue: {
72
- defaultValue: null
73
- },
74
- pattern: {
75
- defaultValue: ""
76
- }
77
- };
78
- writeValue(v) {
79
- this.value.set(v);
80
- }
81
- registerOnChange(fn) {
82
- this.onChange = fn;
83
- }
84
- registerOnTouched(fn) { }
85
- ngAfterViewInit() {
86
- if (this.element.nativeElement.nextElementSibling) {
87
- this.showLine.set(true);
88
- }
89
- }
90
- buildValidatorsDesc() {
91
- return this.value()?.map(v => {
92
- switch (v.type) {
93
- case "required":
94
- return "此项必填";
95
- case "length":
96
- return `长度范围:${this.wrapNumberField(v, "minLength")} ~ ${this.wrapNumberField(v, "maxLength")}`;
97
- case "value":
98
- return `值范围:${this.wrapNumberField(v, "minValue")} ~ ${this.wrapNumberField(v, "maxValue")}`;
99
- case "regex":
100
- return `表达式:${this.wrapFunField(v, "pattern")}`;
101
- default:
102
- return "";
103
- }
104
- });
105
- }
106
- wrapFunField(obj, field) {
107
- if (obj.hasOwnProperty(`$${field}`)) {
108
- return "[动态值]";
109
- }
110
- return obj[field];
111
- }
112
- wrapNumberField(obj, field) {
113
- const value = this.wrapFunField(obj, field);
114
- if (typeof value != "number" && !value) {
115
- return "[不限制]";
116
- }
117
- return value;
118
- }
119
- openWithCreate() {
120
- this.editIndex = -1;
121
- this.reset();
122
- this.showModal.set(true);
123
- }
124
- openWithUpdate(index) {
125
- this.editIndex = index;
126
- this.reset(this.value()[this.editIndex]);
127
- this.showModal.set(true);
128
- }
129
- save() {
130
- if (updateAndValidAll(this.fg)) {
131
- const nextValue = copy(this.value() ?? [], true);
132
- const validator = this.recoverFunField(this.fg.value);
133
- if (this.editIndex == -1) {
134
- nextValue.push(validator);
135
- }
136
- else {
137
- nextValue[this.editIndex] = validator;
138
- }
139
- this.showModal.set(false);
140
- this.value.set(nextValue);
141
- this.onChange(this.value());
142
- }
143
- }
144
- deleteValidator(index) {
145
- this.value().splice(index, 1);
146
- this.value.set([...this.value()]);
147
- this.onChange(this.value());
148
- }
149
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: InputValidator, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
150
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: InputValidator, isStandalone: true, selector: "axis-design-form-item-setting-input-validator", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showModal: { classPropertyName: "showModal", publicName: "showModal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", showModal: "showModalChange" }, providers: [
151
- {
152
- provide: NG_VALUE_ACCESSOR,
153
- useExisting: forwardRef(() => InputValidator),
154
- multi: true
155
- },
156
- ], usesInheritance: true, ngImport: i0, template: "<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 \u6DFB\u52A0\n </a>\n </ng-template>\n <nz-collapse-panel nzHeader=\"\u8868\u5355\u9879\u9A8C\u8BC1\" nzActive [nzExtra]=\"addButton\">\n @if (!value()?.length) {\n <nz-empty nzNotFoundContent=\"\u6682\u65E0\u9A8C\u8BC1\u5668\"></nz-empty>\n }@else{\n <div nz-flex nzVertical nzGap=\"8px\" style=\"padding: 6px;\">\n @for (item of value()??[]; track item;let i=$index) {\n <div nz-flex nzGap=\"8px\" nzAlign=\"center\">\n <div style=\"width: 64px;\">\n @switch (item.type) {\n @case (\"required\") {\n <nz-tag nzColor=\"magenta\">\u5FC5\u586B\u9A8C\u8BC1</nz-tag>\n }\n @case (\"length\") {\n <nz-tag nzColor=\"blue\">\u957F\u5EA6\u9A8C\u8BC1</nz-tag>\n }\n @case (\"value\") {\n <nz-tag nzColor=\"purple\">\u503C\u9A8C\u8BC1</nz-tag>\n }\n @case (\"regex\") {\n <nz-tag nzColor=\"cyan\">\u6B63\u5219\u9A8C\u8BC1</nz-tag>\n }\n }\n </div>\n <div class=\"validator-desc\">{{validatorDesc()?.[i]}}</div>\n <div>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"openWithUpdate(i)\">\n <i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" nzDanger (click)=\"deleteValidator(i)\">\n <i nz-icon nzType=\"delete\" 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 [(nzVisible)]=\"showModal\" nzTitle=\"\u9A8C\u8BC1\u5668\" 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 \u9A8C\u8BC1\u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-select formControlName=\"type\">\n <nz-option nzValue=\"required\" nzLabel=\"\u5FC5\u586B\u9A8C\u8BC1\"></nz-option>\n <nz-option nzValue=\"length\" nzLabel=\"\u957F\u5EA6\u9A8C\u8BC1\"></nz-option>\n <nz-option nzValue=\"value\" nzLabel=\"\u503C\u9A8C\u8BC1\"></nz-option>\n <nz-option nzValue=\"regex\" nzLabel=\"\u6B63\u5219\u9A8C\u8BC1\"></nz-option>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n \u7981\u7528\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\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 @switch (fg.value.type) {\n @case (\"length\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5C0F\u957F\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"minLength\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" nzMin=\"0\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5927\u957F\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"maxLength\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" nzMin=\"0\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"value\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5C0F\u503C\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"minValue\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5927\u503C\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"maxValue\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"regex\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6B63\u5219\u8868\u8FBE\u5F0F\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"pattern\">\n <input nz-input nzPlaceHolder=\"\u8F93\u5165\u6B63\u5219\u8868\u8FBE\u5F0F\" 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>", styles: [".validator-desc{flex:1;font-size:12px;color:#00000073;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: NzListModule }, { kind: "ngmodule", type: NzTagModule }, { kind: "component", type: i1.NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked", "nzBordered"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }, { kind: "ngmodule", type: NzSpaceModule }, { kind: "ngmodule", type: NzGridModule }, { 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: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "component", type: i4.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i5.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "ngmodule", type: NzModalModule }, { kind: "component", type: i7.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: i7.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzCollapseModule }, { kind: "component", type: i9.NzCollapsePanelComponent, selector: "nz-collapse-panel", inputs: ["nzActive", "nzDisabled", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i9.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition"], exportAs: ["nzCollapse"] }, { kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i10.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i10.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i10.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i10.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: NzSelectModule }, { kind: "component", type: i11.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i11.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: NzInputModule }, { kind: "directive", type: i12.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "component", type: i13.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i14.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzInputNumberModule }, { kind: "component", type: i15.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: InputValidator, decorators: [{
159
- type: Component,
160
- args: [{ selector: 'axis-design-form-item-setting-input-validator', imports: [NzListModule, NzTagModule, NzSpaceModule, NzGridModule, NzIconModule, NzEmptyModule, NzButtonModule, NzModalModule, FormsModule, NzCollapseModule, NzFormModule, ReactiveFormsModule, FunField, NzSelectModule, NzInputModule, NzSwitchModule, CommonModule, NzFlexModule, NzInputNumberModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
161
- {
162
- provide: NG_VALUE_ACCESSOR,
163
- useExisting: forwardRef(() => InputValidator),
164
- multi: true
165
- },
166
- ], template: "<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 \u6DFB\u52A0\n </a>\n </ng-template>\n <nz-collapse-panel nzHeader=\"\u8868\u5355\u9879\u9A8C\u8BC1\" nzActive [nzExtra]=\"addButton\">\n @if (!value()?.length) {\n <nz-empty nzNotFoundContent=\"\u6682\u65E0\u9A8C\u8BC1\u5668\"></nz-empty>\n }@else{\n <div nz-flex nzVertical nzGap=\"8px\" style=\"padding: 6px;\">\n @for (item of value()??[]; track item;let i=$index) {\n <div nz-flex nzGap=\"8px\" nzAlign=\"center\">\n <div style=\"width: 64px;\">\n @switch (item.type) {\n @case (\"required\") {\n <nz-tag nzColor=\"magenta\">\u5FC5\u586B\u9A8C\u8BC1</nz-tag>\n }\n @case (\"length\") {\n <nz-tag nzColor=\"blue\">\u957F\u5EA6\u9A8C\u8BC1</nz-tag>\n }\n @case (\"value\") {\n <nz-tag nzColor=\"purple\">\u503C\u9A8C\u8BC1</nz-tag>\n }\n @case (\"regex\") {\n <nz-tag nzColor=\"cyan\">\u6B63\u5219\u9A8C\u8BC1</nz-tag>\n }\n }\n </div>\n <div class=\"validator-desc\">{{validatorDesc()?.[i]}}</div>\n <div>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"openWithUpdate(i)\">\n <i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" nzDanger (click)=\"deleteValidator(i)\">\n <i nz-icon nzType=\"delete\" 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 [(nzVisible)]=\"showModal\" nzTitle=\"\u9A8C\u8BC1\u5668\" 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 \u9A8C\u8BC1\u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <nz-select formControlName=\"type\">\n <nz-option nzValue=\"required\" nzLabel=\"\u5FC5\u586B\u9A8C\u8BC1\"></nz-option>\n <nz-option nzValue=\"length\" nzLabel=\"\u957F\u5EA6\u9A8C\u8BC1\"></nz-option>\n <nz-option nzValue=\"value\" nzLabel=\"\u503C\u9A8C\u8BC1\"></nz-option>\n <nz-option nzValue=\"regex\" nzLabel=\"\u6B63\u5219\u9A8C\u8BC1\"></nz-option>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\" nzRequired>\n \u7981\u7528\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\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 @switch (fg.value.type) {\n @case (\"length\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5C0F\u957F\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"minLength\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" nzMin=\"0\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5927\u957F\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"maxLength\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" nzMin=\"0\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"value\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5C0F\u503C\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"minValue\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6700\u5927\u503C\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"maxValue\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"\u4E0D\u9650\u5236\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"regex\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"6\">\n \u6B63\u5219\u8868\u8FBE\u5F0F\n </nz-form-label>\n <nz-form-control nzSpan=\"18\">\n <axis-fun-field formControlName=\"pattern\">\n <input nz-input nzPlaceHolder=\"\u8F93\u5165\u6B63\u5219\u8868\u8FBE\u5F0F\" 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>", styles: [".validator-desc{flex:1;font-size:12px;color:#00000073;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
167
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
168
14
 
169
15
  class Setting extends FunFieldValueBase {
170
16
  fg = this.fb.group({
@@ -187,11 +33,11 @@ class Setting extends FunFieldValueBase {
187
33
  },
188
34
  };
189
35
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: Setting, deps: null, target: i0.ɵɵFactoryTarget.Component });
190
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: Setting, isStandalone: true, selector: "axis-design-form-item-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u8868\u5355\u9879\u540D\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"name\">\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\">\n \u8868\u5355\u9879\u6807\u7B7E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"label\">\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 \u6807\u7B7E\u5BBD\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"labelWidth\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-design-form-item-setting-input-validator\n formControlName=\"validators\"></axis-design-form-item-setting-input-validator>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.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: i10.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i10.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i10.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i10.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NzCollapseModule }, { kind: "component", type: i9.NzCollapsePanelComponent, selector: "nz-collapse-panel", inputs: ["nzActive", "nzDisabled", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i9.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition"], exportAs: ["nzCollapse"] }, { kind: "component", type: BaseDesignSetting, selector: "axis-base-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { kind: "component", type: FunField, selector: "axis-fun-field", inputs: ["scopes", "exclude", "scopeId", "onlyFun", "noListen", "disabled", "editTip", "value", "open", "showCreateListenModal", "createListenDataSourceName"], outputs: ["valueChange", "openChange", "showCreateListenModalChange", "createListenDataSourceNameChange"] }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i12.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: InputValidator, selector: "axis-design-form-item-setting-input-validator", inputs: ["value", "showModal"], outputs: ["valueChange", "showModalChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: Setting, isStandalone: true, selector: "axis-design-form-item-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u8868\u5355\u9879\u540D\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"name\">\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\">\n \u8868\u5355\u9879\u6807\u7B7E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"label\">\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 \u6807\u7B7E\u5BBD\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"labelWidth\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-input-validator formControlName=\"validators\"></axis-input-validator>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: "component", type: BaseDesignSetting, selector: "axis-base-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { kind: "component", type: FunField, selector: "axis-fun-field", inputs: ["scopes", "exclude", "scopeId", "onlyFun", "noListen", "disabled", "editTip", "value", "open", "showCreateListenModal", "createListenDataSourceName"], outputs: ["valueChange", "openChange", "showCreateListenModalChange", "createListenDataSourceNameChange"] }, { kind: "ngmodule", type: NzSwitchModule }, { 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: InputValidator, selector: "axis-input-validator", inputs: ["value", "showModal"], outputs: ["valueChange", "showModalChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
191
37
  }
192
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: Setting, decorators: [{
193
39
  type: Component,
194
- args: [{ selector: 'axis-design-form-item-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, NzSwitchModule, NzInputModule, InputValidator], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u8868\u5355\u9879\u540D\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"name\">\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\">\n \u8868\u5355\u9879\u6807\u7B7E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"label\">\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 \u6807\u7B7E\u5BBD\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"labelWidth\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-design-form-item-setting-input-validator\n formControlName=\"validators\"></axis-design-form-item-setting-input-validator>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>" }]
40
+ args: [{ selector: 'axis-design-form-item-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, NzSwitchModule, NzInputModule, InputValidator], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u8868\u5355\u9879\u540D\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"name\">\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\">\n \u8868\u5355\u9879\u6807\u7B7E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"label\">\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 \u6807\u7B7E\u5BBD\u5EA6\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"labelWidth\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-input-validator formControlName=\"validators\"></axis-input-validator>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>" }]
195
41
  }] });
196
42
 
197
43
  const Config = {
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-form-item-design.mjs","sources":["../../../axis-components/form-item/design/setting/input-validator/input-validator.ts","../../../axis-components/form-item/design/setting/input-validator/input-validator.html","../../../axis-components/form-item/design/setting/setting.ts","../../../axis-components/form-item/design/setting/setting.html","../../../axis-components/form-item/design/config.ts","../../../axis-components/form-item/design/ngx-axis-appforge-axis-components-form-item-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, model, signal } from \"@angular/core\";\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from \"@angular/forms\";\nimport { copy, FormValidators, FunField, FunFieldBase, FunFieldOptions, 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 { 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 { 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 { NzFlexModule } from \"ng-zorro-antd/flex\";\nimport { NzInputNumberModule } from \"ng-zorro-antd/input-number\";\n\n@Component({\n selector: 'axis-design-form-item-setting-input-validator',\n imports: [NzListModule, NzTagModule, NzSpaceModule, NzGridModule, NzIconModule, NzEmptyModule, NzButtonModule, NzModalModule, FormsModule, NzCollapseModule, NzFormModule, ReactiveFormsModule, FunField, NzSelectModule, NzInputModule, NzSwitchModule, CommonModule, NzFlexModule, NzInputNumberModule],\n templateUrl: './input-validator.html',\n styleUrl: './input-validator.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputValidator),\n multi: true\n },\n ]\n})\nexport class InputValidator extends FunFieldBase implements ControlValueAccessor {\n\n constructor(private element: ElementRef) {\n super();\n }\n\n readonly value = model<any[]>();\n readonly showLine = signal(false);\n onChange: any;\n editIndex = -1;\n readonly showModal = model(false);\n readonly validatorDesc = computed(() => this.buildValidatorsDesc());\n\n override fg: UntypedFormGroup = this.fb.group({\n type: [\"required\", FormValidators.required],\n disabled: [undefined, FormValidators.requiredFun],\n minLength: [],\n maxLength: [],\n minValue: [],\n maxValue: [],\n pattern: [],\n });\n\n protected override funFields: FunFieldOptions = {\n disabled: {\n defaultValue: false\n },\n minLength: {\n defaultValue: null\n },\n maxLength: {\n defaultValue: null\n },\n minValue: {\n defaultValue: null\n },\n maxValue: {\n defaultValue: null\n },\n pattern: {\n defaultValue: \"\"\n }\n };\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 ngAfterViewInit(): void {\n if (this.element.nativeElement.nextElementSibling) {\n this.showLine.set(true);\n }\n }\n\n private buildValidatorsDesc(): string[] | undefined {\n return this.value()?.map(v => {\n switch (v.type) {\n case \"required\":\n return \"此项必填\";\n case \"length\":\n return `长度范围:${this.wrapNumberField(v, \"minLength\")} ~ ${this.wrapNumberField(v, \"maxLength\")}`;\n case \"value\":\n return `值范围:${this.wrapNumberField(v, \"minValue\")} ~ ${this.wrapNumberField(v, \"maxValue\")}`;\n case \"regex\":\n return `表达式:${this.wrapFunField(v, \"pattern\")}`;\n default:\n return \"\";\n }\n })\n }\n\n private wrapFunField(obj: any, field: string): any {\n if (obj.hasOwnProperty(`$${field}`)) {\n return \"[动态值]\";\n }\n return obj[field];\n }\n\n private wrapNumberField(obj: any, field: string): any {\n const value = this.wrapFunField(obj, field);\n if (typeof value != \"number\" && !value) {\n return \"[不限制]\";\n }\n return value;\n }\n\n openWithCreate() {\n this.editIndex = -1;\n this.reset();\n this.showModal.set(true);\n }\n\n openWithUpdate(index: number) {\n this.editIndex = index;\n this.reset(this.value()![this.editIndex]);\n this.showModal.set(true);\n }\n\n save() {\n if (updateAndValidAll(this.fg)) {\n const nextValue = copy(this.value() ?? [], true);\n const validator = this.recoverFunField(this.fg.value)\n if (this.editIndex == -1) {\n nextValue.push(validator);\n } else {\n nextValue[this.editIndex] = validator;\n }\n this.showModal.set(false);\n this.value.set(nextValue);\n this.onChange(this.value());\n }\n }\n\n deleteValidator(index: number) {\n this.value()!.splice(index, 1);\n this.value.set([...this.value()!]);\n this.onChange(this.value());\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) {\n <nz-empty nzNotFoundContent=\"暂无验证器\"></nz-empty>\n }@else{\n <div nz-flex nzVertical nzGap=\"8px\" style=\"padding: 6px;\">\n @for (item of value()??[]; track item;let i=$index) {\n <div nz-flex nzGap=\"8px\" nzAlign=\"center\">\n <div style=\"width: 64px;\">\n @switch (item.type) {\n @case (\"required\") {\n <nz-tag nzColor=\"magenta\">必填验证</nz-tag>\n }\n @case (\"length\") {\n <nz-tag nzColor=\"blue\">长度验证</nz-tag>\n }\n @case (\"value\") {\n <nz-tag nzColor=\"purple\">值验证</nz-tag>\n }\n @case (\"regex\") {\n <nz-tag nzColor=\"cyan\">正则验证</nz-tag>\n }\n }\n </div>\n <div class=\"validator-desc\">{{validatorDesc()?.[i]}}</div>\n <div>\n <a nz-button nzType=\"link\" nzSize=\"small\" (click)=\"openWithUpdate(i)\">\n <i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>\n </a>\n <a nz-button nzType=\"link\" nzSize=\"small\" nzDanger (click)=\"deleteValidator(i)\">\n <i nz-icon nzType=\"delete\" 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 [(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 <nz-select formControlName=\"type\">\n <nz-option nzValue=\"required\" nzLabel=\"必填验证\"></nz-option>\n <nz-option nzValue=\"length\" nzLabel=\"长度验证\"></nz-option>\n <nz-option nzValue=\"value\" nzLabel=\"值验证\"></nz-option>\n <nz-option nzValue=\"regex\" nzLabel=\"正则验证\"></nz-option>\n </nz-select>\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=\"disabled\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n @switch (fg.value.type) {\n @case (\"length\") {\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=\"minLength\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"不限制\" nzMin=\"0\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\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=\"maxLength\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"不限制\" nzMin=\"0\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"value\") {\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=\"minValue\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"不限制\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\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=\"maxValue\">\n <nz-input-number style=\"width: 100%\" nzPlaceHolder=\"不限制\" ngModel\n [ngModelOptions]=\"{standalone:true}\"></nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n @case (\"regex\") {\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=\"pattern\">\n <input nz-input nzPlaceHolder=\"输入正则表达式\" 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 } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, FunFieldValueBase, FunFieldOptions, FormValidators, FunField } from 'ngx-axis-appforge/core';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { InputValidator } from \"./input-validator/input-validator\";\n\n@Component({\n selector: 'axis-design-form-item-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, NzSwitchModule, NzInputModule, InputValidator],\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 name: [],\n label: [],\n labelWidth: [undefined, FormValidators.requiredFun],\n validators: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n name: {\n defaultValue: \"unknown\",\n },\n label: {\n defaultValue: \"未命名\",\n },\n labelWidth: {\n defaultValue: \"120px\",\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\">\n 表单项名\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"name\">\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\">\n 表单项标签\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"label\">\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=\"labelWidth\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-design-form-item-setting-input-validator\n formControlName=\"validators\"></axis-design-form-item-setting-input-validator>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, nameCode, SimpleMenu } from \"ngx-axis-appforge/core\";\nimport { Setting } from \"./setting/setting\";\n\nexport const Config: DesignConfig = {\n\n componentName: \"表单项\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: nameCode(\"表单项\", nextInfo.currentObject.name),\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 settingType: Setting,\n contextMenu: SimpleMenu,\n icon: \"form\"\n }),\n next: [\n {\n parentObject: nextInfo.currentObject,\n indexOfParent: \"child\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.scopeId\n }\n ],\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element, dropElement: element.querySelector(\".ant-form-item-control-input-content\") as HTMLElement ?? element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":["i1","i4"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-form-item-design.mjs","sources":["../../../axis-components/form-item/design/setting/setting.ts","../../../axis-components/form-item/design/setting/setting.html","../../../axis-components/form-item/design/config.ts","../../../axis-components/form-item/design/ngx-axis-appforge-axis-components-form-item-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, FunFieldValueBase, FunFieldOptions, FormValidators, FunField, InputValidator } from 'ngx-axis-appforge/core';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\n@Component({\n selector: 'axis-design-form-item-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, NzSwitchModule, NzInputModule, InputValidator],\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 name: [],\n label: [],\n labelWidth: [undefined, FormValidators.requiredFun],\n validators: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n name: {\n defaultValue: \"unknown\",\n },\n label: {\n defaultValue: \"未命名\",\n },\n labelWidth: {\n defaultValue: \"120px\",\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\">\n 表单项名\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"name\">\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\">\n 表单项标签\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"label\">\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=\"labelWidth\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" />\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-input-validator formControlName=\"validators\"></axis-input-validator>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, nameCode, SimpleMenu } from \"ngx-axis-appforge/core\";\nimport { Setting } from \"./setting/setting\";\n\nexport const Config: DesignConfig = {\n\n componentName: \"表单项\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: nameCode(\"表单项\", nextInfo.currentObject.name),\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 settingType: Setting,\n contextMenu: SimpleMenu,\n icon: \"form\"\n }),\n next: [\n {\n parentObject: nextInfo.currentObject,\n indexOfParent: \"child\",\n parentId: nextInfo.currentObject.id,\n scopeId: nextInfo.scopeId\n }\n ],\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element, dropElement: element.querySelector(\".ant-form-item-control-input-content\") as HTMLElement ?? element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, effect, inject, model, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { BaseOptions, Base, AXIS_FORM_REGISTE_CONTROL_TOKEN, FormValidators, DynamicDirective } from 'ngx-axis-appforge/core';
3
+ import { BaseOptions, Base, AXIS_FORM_REGISTE_CONTROL_TOKEN, FormValidators, buildValidators, DynamicDirective } from 'ngx-axis-appforge/core';
4
4
  import * as i2 from 'ng-zorro-antd/form';
5
5
  import { NzFormModule } from 'ng-zorro-antd/form';
6
6
  import * as i3 from '@angular/forms';
@@ -63,42 +63,11 @@ class FormItem extends Base {
63
63
  return this.buildValidators(this.options.validators().map(v => this.getScope().snapshotOptions(v)));
64
64
  }
65
65
  buildValidators(validators) {
66
- const output = [];
66
+ let output = [];
67
67
  if (this.valueAccessValidFn) {
68
68
  output.push(this.valueAccessValidFn);
69
69
  }
70
- for (const v of validators) {
71
- if (v.disabled) {
72
- continue;
73
- }
74
- switch (v.type) {
75
- case "required":
76
- output.push(FormValidators.required);
77
- break;
78
- case "length":
79
- if (v.minLength || v.minLength == 0) {
80
- output.push(FormValidators.minLength(v.minLength));
81
- }
82
- if (v.maxLength || v.maxLength == 0) {
83
- output.push(FormValidators.maxLength(v.maxLength));
84
- }
85
- break;
86
- case "value":
87
- if (v.minValue || v.minValue == 0) {
88
- output.push(FormValidators.min(v.minValue));
89
- }
90
- if (v.maxValue || v.maxValue == 0) {
91
- output.push(FormValidators.max(v.maxValue));
92
- }
93
- break;
94
- case "regex":
95
- if (v.pattern) {
96
- output.push(FormValidators.pattern(v.pattern));
97
- }
98
- break;
99
- }
100
- }
101
- return output;
70
+ return output.concat(buildValidators(validators));
102
71
  }
103
72
  registeValueAccess(opt) {
104
73
  if (opt.initValue !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-form-item.mjs","sources":["../../../axis-components/form-item/form-item.options.ts","../../../axis-components/form-item/form-item.ts","../../../axis-components/form-item/form-item.html","../../../axis-components/form-item/ngx-axis-appforge-axis-components-form-item.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { BaseOptions } from \"ngx-axis-appforge/core\";\n\nexport class FormItemOptions extends BaseOptions {\n\n readonly name = \"\";\n readonly label = signal(\"\");\n readonly labelWidth = signal(\"120px\");\n readonly validators = signal<any[]>([]);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, computed, effect, inject, model, OnInit, signal } from '@angular/core';\nimport { FormItemOptions } from './form-item.options';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, Base, DynamicDirective, FormValidators, RegisteValueAccessOptions } from 'ngx-axis-appforge/core';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { FormBuilder, FormsModule, ValidatorFn } from '@angular/forms';\nimport { debounceTime, merge, NEVER } from 'rxjs';\n\n@Component({\n selector: 'axis-form-item',\n imports: [NzFormModule, DynamicDirective, FormsModule],\n templateUrl: './form-item.html',\n styleUrl: './form-item.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormItem extends Base<FormItemOptions> implements OnInit {\n\n constructor() {\n super();\n if (this.getScope()) {\n effect(() => {\n this.control.setValidators(this.validatorSignal() ?? null);\n });\n effect(() => {\n this.validatorSignal.set(this.buildSnapshotValidators());\n this.unsubscribe([\"validatorsChange\"]);\n this.addSubscribe(merge(...this.options.validators().map(v => this.getScope()!.dynamicOptions(v)?.obs ?? NEVER))\n .pipe(debounceTime(50))\n .subscribe(_ => {\n this.validatorSignal.set(this.buildSnapshotValidators());\n }), \"validatorsChange\");\n });\n }\n }\n\n protected override options: FormItemOptions = new FormItemOptions();\n private readonly registe = inject(AXIS_FORM_REGISTE_CONTROL_TOKEN, { optional: true });\n private readonly fb = inject(FormBuilder);\n readonly control = this.fb.control(undefined);\n readonly value = model<any>();\n readonly validatorSignal = signal<ValidatorFn[]>([]);\n readonly isRequired = computed(() => this.validatorSignal().includes(FormValidators.required));\n private valueAccessValidFn?: ValidatorFn;\n\n ngOnInit(): void {\n if (this.options.name) {\n this.control.registerOnChange((v: any) => {\n this.value.set(v);\n });\n this.registe?.({\n name: this.options.name,\n control: this.control,\n });\n }\n }\n\n onModelChange(value: any) {\n if (this.options.name) {\n this.control.markAsDirty();\n this.control.setValue(value);\n }\n }\n\n private buildSnapshotValidators(): ValidatorFn[] {\n return this.buildValidators(this.options.validators().map(v => this.getScope()!.snapshotOptions(v)));\n }\n\n private buildValidators(validators: any[]): ValidatorFn[] {\n const output: ValidatorFn[] = [];\n if (this.valueAccessValidFn) {\n output.push(this.valueAccessValidFn);\n }\n for (const v of validators) {\n if (v.disabled) {\n continue;\n }\n switch (v.type) {\n case \"required\":\n output.push(FormValidators.required);\n break;\n case \"length\":\n if (v.minLength || v.minLength == 0) {\n output.push(FormValidators.minLength(v.minLength));\n }\n if (v.maxLength || v.maxLength == 0) {\n output.push(FormValidators.maxLength(v.maxLength));\n }\n break;\n case \"value\":\n if (v.minValue || v.minValue == 0) {\n output.push(FormValidators.min(v.minValue));\n }\n if (v.maxValue || v.maxValue == 0) {\n output.push(FormValidators.max(v.maxValue));\n }\n break;\n case \"regex\":\n if (v.pattern) {\n output.push(FormValidators.pattern(v.pattern));\n }\n break;\n }\n }\n return output;\n }\n\n registeValueAccess(opt: RegisteValueAccessOptions) {\n if (opt.initValue !== undefined) {\n this.registe?.({\n name: this.options.name,\n initValue: opt.initValue\n });\n }\n if (opt.validFn) {\n this.valueAccessValidFn = (c) => opt.validFn!(c) ? null : { error: true };\n this.validatorSignal.set(this.buildSnapshotValidators());\n }\n }\n\n}","@if (options.label()) {\n<nz-form-item style=\"width: 100%;\">\n <nz-form-label [style.width]=\"options.labelWidth()\" [nzRequired]=\"isRequired()\">\n {{options.label()}}\n </nz-form-label>\n <nz-form-control style=\"flex:1\" [nzValidateStatus]=\"control\">\n <ng-container [axisDynamic]=\"options.child()\" (onRegisteValueAccess)=\"registeValueAccess($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onModelChange($event)\"></ng-container>\n </nz-form-control>\n</nz-form-item>\n}@else {\n<div>\n <ng-container [axisDynamic]=\"options.child()\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"></ng-container>\n</div>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form-item';\n"],"names":[],"mappings":";;;;;;;;;;AAGM,MAAO,eAAgB,SAAQ,WAAW,CAAA;IAEnC,IAAI,GAAG,EAAE;AACT,IAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAClB,IAAA,UAAU,GAAG,MAAM,CAAC,OAAO,sDAAC;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAQ,EAAE,sDAAC;AAC9B,IAAA,KAAK,GAAG,MAAM,CAAM,SAAS,iDAAC;AAE1C;;ACGK,MAAO,QAAS,SAAQ,IAAqB,CAAA;AAEjD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AACP,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,MAAM,CAAC,MAAK;AACV,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC;AAC5D,aAAC,CAAC;YACF,MAAM,CAAC,MAAK;gBACV,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AACxD,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC;AAC5G,qBAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;qBACrB,SAAS,CAAC,CAAC,IAAG;oBACb,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC1D,iBAAC,CAAC,EAAE,kBAAkB,CAAC;AAC3B,aAAC,CAAC;;;AAIa,IAAA,OAAO,GAAoB,IAAI,eAAe,EAAE;IAClD,OAAO,GAAG,MAAM,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACrE,IAAA,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACpC,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAO;AACpB,IAAA,eAAe,GAAG,MAAM,CAAgB,EAAE,2DAAC;AAC3C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,sDAAC;AACtF,IAAA,kBAAkB;IAE1B,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAM,KAAI;AACvC,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACnB,aAAC,CAAC;YACF,IAAI,CAAC,OAAO,GAAG;AACb,gBAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,aAAA,CAAC;;;AAIN,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;;;IAIxB,uBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;;AAG9F,IAAA,eAAe,CAAC,UAAiB,EAAA;QACvC,MAAM,MAAM,GAAkB,EAAE;AAChC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;;AAEtC,QAAA,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;AAC1B,YAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACd;;AAEF,YAAA,QAAQ,CAAC,CAAC,IAAI;AACZ,gBAAA,KAAK,UAAU;AACb,oBAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACpC;AACF,gBAAA,KAAK,QAAQ;oBACX,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE;AACnC,wBAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;;oBAEpD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE;AACnC,wBAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;;oBAEpD;AACF,gBAAA,KAAK,OAAO;oBACV,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE;AACjC,wBAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;;oBAE7C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE;AACjC,wBAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;;oBAE7C;AACF,gBAAA,KAAK,OAAO;AACV,oBAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,wBAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;;oBAEhD;;;AAGN,QAAA,OAAO,MAAM;;AAGf,IAAA,kBAAkB,CAAC,GAA8B,EAAA;AAC/C,QAAA,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG;AACb,gBAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,SAAS,EAAE,GAAG,CAAC;AAChB,aAAA,CAAC;;AAEJ,QAAA,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,OAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;YACzE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;;;uGApGjD,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,wQCdrB,mrBAeC,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDNW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,0KAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAK1C,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAPpB,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,YAAY,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAA,eAAA,EAGrC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mrBAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA;;;AEZjD;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-form-item.mjs","sources":["../../../axis-components/form-item/form-item.options.ts","../../../axis-components/form-item/form-item.ts","../../../axis-components/form-item/form-item.html","../../../axis-components/form-item/ngx-axis-appforge-axis-components-form-item.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { BaseOptions } from \"ngx-axis-appforge/core\";\n\nexport class FormItemOptions extends BaseOptions {\n\n readonly name = \"\";\n readonly label = signal(\"\");\n readonly labelWidth = signal(\"120px\");\n readonly validators = signal<any[]>([]);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, computed, effect, inject, model, OnInit, signal } from '@angular/core';\nimport { FormItemOptions } from './form-item.options';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, Base, buildValidators, DynamicDirective, FormValidators, RegisteValueAccessOptions } from 'ngx-axis-appforge/core';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { FormBuilder, FormsModule, ValidatorFn } from '@angular/forms';\nimport { debounceTime, merge, NEVER } from 'rxjs';\n\n@Component({\n selector: 'axis-form-item',\n imports: [NzFormModule, DynamicDirective, FormsModule],\n templateUrl: './form-item.html',\n styleUrl: './form-item.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormItem extends Base<FormItemOptions> implements OnInit {\n\n constructor() {\n super();\n if (this.getScope()) {\n effect(() => {\n this.control.setValidators(this.validatorSignal() ?? null);\n });\n effect(() => {\n this.validatorSignal.set(this.buildSnapshotValidators());\n this.unsubscribe([\"validatorsChange\"]);\n this.addSubscribe(merge(...this.options.validators().map(v => this.getScope()!.dynamicOptions(v)?.obs ?? NEVER))\n .pipe(debounceTime(50))\n .subscribe(_ => {\n this.validatorSignal.set(this.buildSnapshotValidators());\n }), \"validatorsChange\");\n });\n }\n }\n\n protected override options: FormItemOptions = new FormItemOptions();\n private readonly registe = inject(AXIS_FORM_REGISTE_CONTROL_TOKEN, { optional: true });\n private readonly fb = inject(FormBuilder);\n readonly control = this.fb.control(undefined);\n readonly value = model<any>();\n readonly validatorSignal = signal<ValidatorFn[]>([]);\n readonly isRequired = computed(() => this.validatorSignal().includes(FormValidators.required));\n private valueAccessValidFn?: ValidatorFn;\n\n ngOnInit(): void {\n if (this.options.name) {\n this.control.registerOnChange((v: any) => {\n this.value.set(v);\n });\n this.registe?.({\n name: this.options.name,\n control: this.control,\n });\n }\n }\n\n onModelChange(value: any) {\n if (this.options.name) {\n this.control.markAsDirty();\n this.control.setValue(value);\n }\n }\n\n private buildSnapshotValidators(): ValidatorFn[] {\n return this.buildValidators(this.options.validators().map(v => this.getScope()!.snapshotOptions(v)));\n }\n\n private buildValidators(validators: any[]): ValidatorFn[] {\n let output: ValidatorFn[] = [];\n if (this.valueAccessValidFn) {\n output.push(this.valueAccessValidFn);\n }\n return output.concat(buildValidators(validators));\n }\n\n registeValueAccess(opt: RegisteValueAccessOptions) {\n if (opt.initValue !== undefined) {\n this.registe?.({\n name: this.options.name,\n initValue: opt.initValue\n });\n }\n if (opt.validFn) {\n this.valueAccessValidFn = (c) => opt.validFn!(c) ? null : { error: true };\n this.validatorSignal.set(this.buildSnapshotValidators());\n }\n }\n\n}","@if (options.label()) {\n<nz-form-item style=\"width: 100%;\">\n <nz-form-label [style.width]=\"options.labelWidth()\" [nzRequired]=\"isRequired()\">\n {{options.label()}}\n </nz-form-label>\n <nz-form-control style=\"flex:1\" [nzValidateStatus]=\"control\">\n <ng-container [axisDynamic]=\"options.child()\" (onRegisteValueAccess)=\"registeValueAccess($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onModelChange($event)\"></ng-container>\n </nz-form-control>\n</nz-form-item>\n}@else {\n<div>\n <ng-container [axisDynamic]=\"options.child()\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"></ng-container>\n</div>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form-item';\n"],"names":[],"mappings":"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"}