ngx-axis-appforge 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/axis-components-covers/read-file.svg +26 -0
  2. package/fesm2022/ngx-axis-appforge-axis-components-checkbox.mjs +8 -3
  3. package/fesm2022/ngx-axis-appforge-axis-components-checkbox.mjs.map +1 -1
  4. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs +12 -6
  5. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs.map +1 -1
  6. package/fesm2022/ngx-axis-appforge-axis-components-edit-table.mjs +1 -1
  7. package/fesm2022/ngx-axis-appforge-axis-components-edit-table.mjs.map +1 -1
  8. package/fesm2022/ngx-axis-appforge-axis-components-flex.mjs +1 -1
  9. package/fesm2022/ngx-axis-appforge-axis-components-flex.mjs.map +1 -1
  10. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs +6 -2
  11. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs.map +1 -1
  12. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs +3 -2
  13. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs.map +1 -1
  14. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs +2 -2
  15. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs.map +1 -1
  16. package/fesm2022/ngx-axis-appforge-axis-components-loop-task.mjs +6 -6
  17. package/fesm2022/ngx-axis-appforge-axis-components-loop-task.mjs.map +1 -1
  18. package/fesm2022/ngx-axis-appforge-axis-components-read-file-design.mjs +116 -0
  19. package/fesm2022/ngx-axis-appforge-axis-components-read-file-design.mjs.map +1 -0
  20. package/fesm2022/ngx-axis-appforge-axis-components-read-file.mjs +114 -0
  21. package/fesm2022/ngx-axis-appforge-axis-components-read-file.mjs.map +1 -0
  22. package/fesm2022/ngx-axis-appforge-axis-components-scope.mjs +3 -3
  23. package/fesm2022/ngx-axis-appforge-axis-components-scope.mjs.map +1 -1
  24. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs +1 -1
  25. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs.map +1 -1
  26. package/fesm2022/ngx-axis-appforge-axis-components-transfer.mjs +1 -1
  27. package/fesm2022/ngx-axis-appforge-axis-components-transfer.mjs.map +1 -1
  28. package/fesm2022/ngx-axis-appforge-axis-components.mjs +17 -0
  29. package/fesm2022/ngx-axis-appforge-axis-components.mjs.map +1 -1
  30. package/fesm2022/ngx-axis-appforge-core.mjs +72 -10
  31. package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -1
  32. package/package.json +9 -1
  33. package/types/ngx-axis-appforge-axis-components-checkbox.d.ts +1 -0
  34. package/types/ngx-axis-appforge-axis-components-form-item.d.ts +1 -0
  35. package/types/ngx-axis-appforge-axis-components-read-file-design.d.ts +5 -0
  36. package/types/ngx-axis-appforge-axis-components-read-file.d.ts +37 -0
  37. package/types/ngx-axis-appforge-core.d.ts +5 -1
@@ -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, OnDestroy, OnInit, signal } from '@angular/core';\nimport { FormItemOptions } from './form-item.options';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, AXIS_FORM_UNREGISTE_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, OnDestroy {\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 override options: FormItemOptions = new FormItemOptions();\n private readonly registe = inject(AXIS_FORM_REGISTE_CONTROL_TOKEN, { optional: true });\n private readonly unregiste = inject(AXIS_FORM_UNREGISTE_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 override ngOnDestroy(): void {\n super.ngOnDestroy();\n this.unregiste?.(this.options.name);\n }\n\n}","@if (options.label()) {\n<nz-form-item style=\"width: 100%;display:flex\">\n <nz-form-label [style.width]=\"options.labelWidth()\" [nzRequired]=\"isRequired()\">\n {{options.label()}}\n </nz-form-label>\n <nz-form-control style=\"flex:1;overflow: hidden;\" [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<nz-form-item class=\"nolabel-item\">\n <nz-form-control [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}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form-item';\n"],"names":[],"mappings":"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"}
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 helpText = signal(\"\");\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, computed, effect, inject, model, OnDestroy, OnInit, signal } from '@angular/core';\nimport { FormItemOptions } from './form-item.options';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, AXIS_FORM_UNREGISTE_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, OnDestroy {\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 override options: FormItemOptions = new FormItemOptions();\n private readonly registe = inject(AXIS_FORM_REGISTE_CONTROL_TOKEN, { optional: true });\n private readonly unregiste = inject(AXIS_FORM_UNREGISTE_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 override ngOnDestroy(): void {\n super.ngOnDestroy();\n this.unregiste?.(this.options.name);\n }\n\n}","@if (options.label()) {\n<nz-form-item style=\"width: 100%;display:flex\">\n <nz-form-label [style.width]=\"options.labelWidth()\" [nzRequired]=\"isRequired()\"\n [nzTooltipTitle]=\"options.helpText()\">\n {{options.label()}}\n </nz-form-label>\n <nz-form-control style=\"flex:1;overflow: hidden;\" [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<nz-form-item class=\"nolabel-item\">\n <nz-form-control [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}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form-item';\n"],"names":[],"mappings":"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"}
@@ -102,7 +102,7 @@ class Form extends ValueAccess {
102
102
  this.modal.confirm({
103
103
  nzTitle: "确定提交吗?",
104
104
  nzOnOk: () => {
105
- this.triggeEvents("formValid", { formValue: this.fg.value }, e.triggeEvents).subscribe(subject);
105
+ this.triggeEvents("formValid", { ...e.tempDataSource, formValue: this.fg.value }, e.triggeEvents).subscribe(subject);
106
106
  },
107
107
  nzOnCancel: () => {
108
108
  subject.next(false);
@@ -112,7 +112,7 @@ class Form extends ValueAccess {
112
112
  return subject.asObservable();
113
113
  }
114
114
  else {
115
- return this.triggeEvents("formValid", { formValue: this.fg.value }, e.triggeEvents);
115
+ return this.triggeEvents("formValid", { ...e.tempDataSource, formValue: this.fg.value }, e.triggeEvents);
116
116
  }
117
117
  }
118
118
  return of(false);
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-form.mjs","sources":["../../../axis-components/form/form.options.ts","../../../axis-components/form/form.ts","../../../axis-components/form/form.html","../../../axis-components/form/ngx-axis-appforge-axis-components-form.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class FormOptions extends ValueAccessOptions {\n\n readonly submitConfirm = signal(true);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, AXIS_FORM_UNREGISTE_CONTROL_TOKEN, DynamicDirective, EventHandlerOptions, RegisteFormControlOptions, updateAndValidAll, ValueAccess } from 'ngx-axis-appforge/core';\nimport { FormOptions } from './form.options';\nimport { AbstractControl, FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { bufferWhen, debounceTime, map, Observable, of, Subject } from 'rxjs';\nimport { NzModalModule, NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'axis-form',\n imports: [ReactiveFormsModule, DynamicDirective, NzModalModule],\n templateUrl: './form.html',\n styleUrl: './form.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXIS_FORM_REGISTE_CONTROL_TOKEN,\n useFactory: (form: Form) => {\n return form.registerControl.bind(form);\n },\n deps: [Form]\n },\n {\n provide: AXIS_FORM_UNREGISTE_CONTROL_TOKEN,\n useFactory: (form: Form) => {\n return form.unregisterControl.bind(form);\n },\n deps: [Form]\n }\n ]\n})\nexport class Form extends ValueAccess<FormOptions> implements OnInit {\n\n constructor() {\n super();\n this.addSubscribe(this.fg.valueChanges.subscribe(v => {\n this.value.set(v);\n this.onChange?.(v);\n }));\n this.addSubscribe(this.resetSubject.pipe(bufferWhen(() => this.resetSubject.pipe(debounceTime(50))), map(v => v.reduce((a, b) => a || b, false)))\n .subscribe(emitEvent => this.reset(emitEvent)));\n this.addSubscribe(this.fg.statusChanges.subscribe(_ => {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }))\n }\n\n override options: FormOptions = new FormOptions();\n private readonly fb = inject(FormBuilder);\n private readonly modal = inject(NzModalService);\n readonly fg: UntypedFormGroup = this.fb.group({});\n private oriFormValue: any;\n private oriValue: any;\n private resetSubject = new Subject<boolean>();\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.oriFormValue = value;\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (this.options.initValue() !== undefined) {\n this.oriFormValue = this.options.initValue();\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n }\n\n ngOnInit(): void {\n this.registeValueAccess?.({\n validFn: (control: AbstractControl) => {\n return updateAndValidAll(this.fg, { markAsDirty: control.dirty })\n }\n })\n }\n\n registerControl(opt: RegisteFormControlOptions) {\n if (opt.control) {\n const oldControl = this.fg.get(opt.name);\n if (oldControl?.value != undefined) {\n opt.control.setValue(oldControl.value);\n }\n this.fg.setControl(opt.name, opt.control, { emitEvent: false });\n }\n if (this.fg.dirty) {\n if (opt.initValue !== undefined) {\n this.fg.patchValue({ [opt.name]: opt.initValue });\n }\n } else {\n if (this.oriFormValue?.[opt.name] === undefined && opt.initValue !== undefined) {\n this.oriValue = Object.assign({}, this.oriValue, { [opt.name]: opt.initValue });\n this.registeValueAccess?.({\n initValue: this.oriValue\n });\n }\n this.resetSubject.next(false);\n }\n }\n\n unregisterControl(name: string) {\n this.fg.removeControl(name, { emitEvent: false });\n }\n\n reset(emitEvent = false) {\n this.fg.reset(this.oriValue, { emitEvent: emitEvent, onlySelf: true });\n if (!emitEvent && this.options.emitInitEvent()) {\n this.triggeEvents(\"valueChange\", { value: this.fg.value }).subscribe();\n }\n if (!emitEvent) {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }\n }\n\n override onEvents(e: EventHandlerOptions<any>): Observable<boolean> | undefined {\n const obs = super.onEvents(e);\n if (obs) {\n return;\n }\n switch (e.name) {\n case \"validForm\":\n if (updateAndValidAll(this.fg)) {\n if (this.options.submitConfirm()) {\n const subject = new Subject<boolean>();\n this.modal.confirm({\n nzTitle: \"确定提交吗?\",\n nzOnOk: () => {\n this.triggeEvents(\"formValid\", { formValue: this.fg.value }, e.triggeEvents).subscribe(subject);\n },\n nzOnCancel: () => {\n subject.next(false);\n subject.complete();\n }\n });\n return subject.asObservable();\n } else {\n return this.triggeEvents(\"formValid\", { formValue: this.fg.value }, e.triggeEvents);\n }\n }\n return of(false);\n case \"resetForm\":\n this.reset(true);\n return of(true);\n }\n return undefined;\n }\n\n}\n","<form [formGroup]=\"fg\" style=\"height: 100%;\" (keydown.enter)=\"$event.preventDefault()\">\n <ng-container [axisDynamic]=\"options.child()\"></ng-container>\n</form>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-form.mjs","sources":["../../../axis-components/form/form.options.ts","../../../axis-components/form/form.ts","../../../axis-components/form/form.html","../../../axis-components/form/ngx-axis-appforge-axis-components-form.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class FormOptions extends ValueAccessOptions {\n\n readonly submitConfirm = signal(true);\n readonly child = signal<any>(undefined);\n\n}","import { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { AXIS_FORM_REGISTE_CONTROL_TOKEN, AXIS_FORM_UNREGISTE_CONTROL_TOKEN, DynamicDirective, EventHandlerOptions, RegisteFormControlOptions, updateAndValidAll, ValueAccess } from 'ngx-axis-appforge/core';\nimport { FormOptions } from './form.options';\nimport { AbstractControl, FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { bufferWhen, debounceTime, map, Observable, of, Subject } from 'rxjs';\nimport { NzModalModule, NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'axis-form',\n imports: [ReactiveFormsModule, DynamicDirective, NzModalModule],\n templateUrl: './form.html',\n styleUrl: './form.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXIS_FORM_REGISTE_CONTROL_TOKEN,\n useFactory: (form: Form) => {\n return form.registerControl.bind(form);\n },\n deps: [Form]\n },\n {\n provide: AXIS_FORM_UNREGISTE_CONTROL_TOKEN,\n useFactory: (form: Form) => {\n return form.unregisterControl.bind(form);\n },\n deps: [Form]\n }\n ]\n})\nexport class Form extends ValueAccess<FormOptions> implements OnInit {\n\n constructor() {\n super();\n this.addSubscribe(this.fg.valueChanges.subscribe(v => {\n this.value.set(v);\n this.onChange?.(v);\n }));\n this.addSubscribe(this.resetSubject.pipe(bufferWhen(() => this.resetSubject.pipe(debounceTime(50))), map(v => v.reduce((a, b) => a || b, false)))\n .subscribe(emitEvent => this.reset(emitEvent)));\n this.addSubscribe(this.fg.statusChanges.subscribe(_ => {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }))\n }\n\n override options: FormOptions = new FormOptions();\n private readonly fb = inject(FormBuilder);\n private readonly modal = inject(NzModalService);\n readonly fg: UntypedFormGroup = this.fb.group({});\n private oriFormValue: any;\n private oriValue: any;\n private resetSubject = new Subject<boolean>();\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.oriFormValue = value;\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (this.options.initValue() !== undefined) {\n this.oriFormValue = this.options.initValue();\n this.oriValue = this.oriFormValue;\n this.resetSubject.next(false);\n }\n }\n\n ngOnInit(): void {\n this.registeValueAccess?.({\n validFn: (control: AbstractControl) => {\n return updateAndValidAll(this.fg, { markAsDirty: control.dirty })\n }\n })\n }\n\n registerControl(opt: RegisteFormControlOptions) {\n if (opt.control) {\n const oldControl = this.fg.get(opt.name);\n if (oldControl?.value != undefined) {\n opt.control.setValue(oldControl.value);\n }\n this.fg.setControl(opt.name, opt.control, { emitEvent: false });\n }\n if (this.fg.dirty) {\n if (opt.initValue !== undefined) {\n this.fg.patchValue({ [opt.name]: opt.initValue });\n }\n } else {\n if (this.oriFormValue?.[opt.name] === undefined && opt.initValue !== undefined) {\n this.oriValue = Object.assign({}, this.oriValue, { [opt.name]: opt.initValue });\n this.registeValueAccess?.({\n initValue: this.oriValue\n });\n }\n this.resetSubject.next(false);\n }\n }\n\n unregisterControl(name: string) {\n this.fg.removeControl(name, { emitEvent: false });\n }\n\n reset(emitEvent = false) {\n this.fg.reset(this.oriValue, { emitEvent: emitEvent, onlySelf: true });\n if (!emitEvent && this.options.emitInitEvent()) {\n this.triggeEvents(\"valueChange\", { value: this.fg.value }).subscribe();\n }\n if (!emitEvent) {\n const { valid, dirty } = this.fg\n this.triggeEvents(\"formStatusChange\", { status: { valid, dirty } }).subscribe();\n }\n }\n\n override onEvents(e: EventHandlerOptions<any>): Observable<boolean> | undefined {\n const obs = super.onEvents(e);\n if (obs) {\n return;\n }\n switch (e.name) {\n case \"validForm\":\n if (updateAndValidAll(this.fg)) {\n if (this.options.submitConfirm()) {\n const subject = new Subject<boolean>();\n this.modal.confirm({\n nzTitle: \"确定提交吗?\",\n nzOnOk: () => {\n this.triggeEvents(\"formValid\", { ...e.tempDataSource, formValue: this.fg.value }, e.triggeEvents).subscribe(subject);\n },\n nzOnCancel: () => {\n subject.next(false);\n subject.complete();\n }\n });\n return subject.asObservable();\n } else {\n return this.triggeEvents(\"formValid\", { ...e.tempDataSource, formValue: this.fg.value }, e.triggeEvents);\n }\n }\n return of(false);\n case \"resetForm\":\n this.reset(true);\n return of(true);\n }\n return undefined;\n }\n\n}\n","<form [formGroup]=\"fg\" style=\"height: 100%;\" (keydown.enter)=\"$event.preventDefault()\">\n <ng-container [axisDynamic]=\"options.child()\"></ng-container>\n</form>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './form';\n"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ class LoopTask extends Base {
43
43
  if (!Array.isArray(e.data?.loopTarget)) {
44
44
  return of(false);
45
45
  }
46
- this.startLoopTask(e.data?.loopTarget);
46
+ this.startLoopTask(e);
47
47
  return of(true);
48
48
  case "breakLoopTask":
49
49
  this.breakLoop();
@@ -51,17 +51,17 @@ class LoopTask extends Base {
51
51
  }
52
52
  return undefined;
53
53
  }
54
- startLoopTask(target) {
54
+ startLoopTask(e) {
55
55
  this.inProgress.set(true);
56
- this.target.set(target);
56
+ this.target.set(e.data?.loopTarget || []);
57
57
  this.completed.set(0);
58
- this.addSubscribe(of(...target).pipe(concatMap((item, index) => {
59
- return this.triggeEvents("taskLoop", { loopIndex: index, loopItem: item }).pipe(tap(() => {
58
+ this.addSubscribe(of(...this.target()).pipe(concatMap((item, index) => {
59
+ return this.triggeEvents("taskLoop", { ...e.tempDataSource, loopIndex: index, loopItem: item }).pipe(tap(() => {
60
60
  this.completed.set(index + 1);
61
61
  }));
62
62
  }), finalize(() => {
63
63
  this.inProgress.set(false);
64
- this.triggeEvents("loopTaskEnd", { completedCount: this.completed(), totalCount: this.target().length }).subscribe();
64
+ this.triggeEvents("loopTaskEnd", { ...e.tempDataSource, completedCount: this.completed(), totalCount: this.target().length }).subscribe();
65
65
  })).subscribe(), "task_loop");
66
66
  }
67
67
  breakLoop() {
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-axis-appforge-axis-components-loop-task.mjs","sources":["../../../axis-components/loop-task/loop-task.options.ts","../../../axis-components/loop-task/loop-task.ts","../../../axis-components/loop-task/loop-task.html","../../../axis-components/loop-task/ngx-axis-appforge-axis-components-loop-task.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { DataOptions } from \"ngx-axis-appforge/core\";\n\nexport class LoopTaskOptions extends DataOptions {\n readonly showProgress = signal(true);\n readonly progressTip = signal(\"执行中\");\n readonly userBreak = signal(true);\n}","import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\nimport { Base, EventHandlerOptions } from 'ngx-axis-appforge/core';\nimport { LoopTaskOptions } from './loop-task.options';\nimport { NzProgressModule } from 'ng-zorro-antd/progress';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { concatMap, finalize, Observable, of, tap } from 'rxjs';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'axis-loop-task-component',\n imports: [NzProgressModule, NzButtonModule, NzIconModule],\n templateUrl: './loop-task.html',\n styleUrl: './loop-task.css',\n host: {\n '[style.display]': 'options.showProgress()&&inProgress()?\"flex\":\"none\"'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoopTask extends Base<LoopTaskOptions> {\n\n override options: LoopTaskOptions = new LoopTaskOptions();\n\n readonly inProgress = signal(false);\n readonly msg = inject(NzMessageService);\n private readonly completed = signal(0);\n private readonly target = signal<any[]>([]);\n readonly progress = computed(() => {\n if (this.target().length === 0) {\n return 0;\n }\n return Math.ceil((this.completed() * 100 / this.target().length))\n });\n\n override onEvents(e: EventHandlerOptions<any>): Observable<boolean> | undefined {\n const obs = super.onEvents?.(e);\n if (obs) {\n return;\n }\n switch (e.name) {\n case \"startLoopTask\":\n if (this.inProgress()) {\n this.msg.error(\"请勿重复操作\");\n return of(false);\n }\n if (!Array.isArray(e.data?.loopTarget)) {\n return of(false);\n }\n this.startLoopTask(e.data?.loopTarget);\n return of(true);\n case \"breakLoopTask\":\n this.breakLoop();\n return of(true);\n }\n return undefined;\n }\n\n private startLoopTask(target: any[]) {\n this.inProgress.set(true);\n this.target.set(target);\n this.completed.set(0);\n this.addSubscribe(of(...target).pipe(concatMap((item, index) => {\n return this.triggeEvents(\"taskLoop\", { loopIndex: index, loopItem: item }).pipe(tap(() => {\n this.completed.set(index + 1)\n }));\n }), finalize(() => {\n this.inProgress.set(false);\n this.triggeEvents(\"loopTaskEnd\", { completedCount: this.completed(), totalCount: this.target().length }).subscribe();\n })).subscribe(), \"task_loop\");\n }\n\n breakLoop() {\n this.unsubscribe([\"task_loop\"]);\n }\n\n}\n","@if(options.showProgress()){\n<div class=\"progress-box\">\n @if(options.userBreak()){\n <button style=\"position: absolute;right: 0;top: 0;\" nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\"\n (click)=\"breakLoop()\">\n <nz-icon nzType=\"close\"></nz-icon></button>\n }\n <nz-progress [nzPercent]=\"progress()\" [nzWidth]=\"60\" nzType=\"circle\"></nz-progress>\n @if (options.progressTip()) {\n <div>{{options.progressTip()}}</div>\n }\n</div>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './loop-task';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-loop-task.mjs","sources":["../../../axis-components/loop-task/loop-task.options.ts","../../../axis-components/loop-task/loop-task.ts","../../../axis-components/loop-task/loop-task.html","../../../axis-components/loop-task/ngx-axis-appforge-axis-components-loop-task.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { DataOptions } from \"ngx-axis-appforge/core\";\n\nexport class LoopTaskOptions extends DataOptions {\n readonly showProgress = signal(true);\n readonly progressTip = signal(\"执行中\");\n readonly userBreak = signal(true);\n}","import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\nimport { Base, EventHandlerOptions } from 'ngx-axis-appforge/core';\nimport { LoopTaskOptions } from './loop-task.options';\nimport { NzProgressModule } from 'ng-zorro-antd/progress';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { concatMap, finalize, Observable, of, tap } from 'rxjs';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'axis-loop-task-component',\n imports: [NzProgressModule, NzButtonModule, NzIconModule],\n templateUrl: './loop-task.html',\n styleUrl: './loop-task.css',\n host: {\n '[style.display]': 'options.showProgress()&&inProgress()?\"flex\":\"none\"'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoopTask extends Base<LoopTaskOptions> {\n\n override options: LoopTaskOptions = new LoopTaskOptions();\n\n readonly inProgress = signal(false);\n readonly msg = inject(NzMessageService);\n private readonly completed = signal(0);\n private readonly target = signal<any[]>([]);\n readonly progress = computed(() => {\n if (this.target().length === 0) {\n return 0;\n }\n return Math.ceil((this.completed() * 100 / this.target().length))\n });\n\n override onEvents(e: EventHandlerOptions<any>): Observable<boolean> | undefined {\n const obs = super.onEvents?.(e);\n if (obs) {\n return;\n }\n switch (e.name) {\n case \"startLoopTask\":\n if (this.inProgress()) {\n this.msg.error(\"请勿重复操作\");\n return of(false);\n }\n if (!Array.isArray(e.data?.loopTarget)) {\n return of(false);\n }\n this.startLoopTask(e);\n return of(true);\n case \"breakLoopTask\":\n this.breakLoop();\n return of(true);\n }\n return undefined;\n }\n\n private startLoopTask(e: EventHandlerOptions<any>) {\n this.inProgress.set(true);\n this.target.set(e.data?.loopTarget || []);\n this.completed.set(0);\n this.addSubscribe(of(...this.target()).pipe(concatMap((item, index) => {\n return this.triggeEvents(\"taskLoop\", { ...e.tempDataSource, loopIndex: index, loopItem: item }).pipe(tap(() => {\n this.completed.set(index + 1)\n }));\n }), finalize(() => {\n this.inProgress.set(false);\n this.triggeEvents(\"loopTaskEnd\", { ...e.tempDataSource, completedCount: this.completed(), totalCount: this.target().length }).subscribe();\n })).subscribe(), \"task_loop\");\n }\n\n breakLoop() {\n this.unsubscribe([\"task_loop\"]);\n }\n\n}\n","@if(options.showProgress()){\n<div class=\"progress-box\">\n @if(options.userBreak()){\n <button style=\"position: absolute;right: 0;top: 0;\" nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\"\n (click)=\"breakLoop()\">\n <nz-icon nzType=\"close\"></nz-icon></button>\n }\n <nz-progress [nzPercent]=\"progress()\" [nzWidth]=\"60\" nzType=\"circle\"></nz-progress>\n @if (options.progressTip()) {\n <div>{{options.progressTip()}}</div>\n }\n</div>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './loop-task';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { FunFieldValueBase, FormValidators, valueFbConfig, baseFbConfig, valueFunField, baseFunField, BaseDesignSetting, FunField, ValueDesignSetting, DynamicDirective, OptionsNode, SimpleMenu } from 'ngx-axis-appforge/core';
2
+ import * as i0 from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import * as i3 from 'ng-zorro-antd/form';
7
+ import { NzFormModule } from 'ng-zorro-antd/form';
8
+ import * as i4 from 'ng-zorro-antd/collapse';
9
+ import { NzCollapseModule } from 'ng-zorro-antd/collapse';
10
+ import * as i5 from 'ng-zorro-antd/input';
11
+ import { NzInputModule } from 'ng-zorro-antd/input';
12
+ import * as i6 from 'ng-zorro-antd/switch';
13
+ import { NzSwitchModule } from 'ng-zorro-antd/switch';
14
+ import * as i7 from 'ng-zorro-antd/input-number';
15
+ import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
16
+ import * as i8 from 'ng-zorro-antd/select';
17
+ import { NzSelectModule } from 'ng-zorro-antd/select';
18
+ import * as i9 from 'ng-zorro-antd/radio';
19
+ import { NzRadioModule } from 'ng-zorro-antd/radio';
20
+ import * as i10 from 'ng-zorro-antd/auto-complete';
21
+ import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';
22
+ import * as i2 from 'ng-zorro-antd/grid';
23
+
24
+ class Setting extends FunFieldValueBase {
25
+ fg = this.fb.group({
26
+ ...baseFbConfig,
27
+ ...valueFbConfig,
28
+ fileType: [undefined, FormValidators.requiredFun],
29
+ limitSize: [],
30
+ buttonType: [undefined, FormValidators.requiredFun],
31
+ buttonTitle: [],
32
+ buttonIcon: [{ component: 'axis-components/icon', inuse: true, icon: 'file-text' }],
33
+ buttonStyle: [undefined, FormValidators.requiredFun],
34
+ buttonSize: [undefined, FormValidators.requiredFun],
35
+ buttonBlock: [undefined, FormValidators.requiredFun],
36
+ buttonShape: [],
37
+ dropTitle: [],
38
+ dropTip: [],
39
+ });
40
+ funFields = {
41
+ ...baseFunField,
42
+ ...valueFunField,
43
+ fileType: {
44
+ defaultValue: "text/*"
45
+ },
46
+ limitSize: {
47
+ defaultValue: null
48
+ },
49
+ buttonType: {
50
+ defaultValue: "custom"
51
+ },
52
+ buttonTitle: {
53
+ defaultValue: "选择文件"
54
+ },
55
+ buttonStyle: {
56
+ defaultValue: "default"
57
+ },
58
+ buttonSize: {
59
+ defaultValue: "default"
60
+ },
61
+ buttonBlock: {
62
+ defaultValue: false
63
+ },
64
+ buttonShape: {
65
+ defaultValue: ""
66
+ },
67
+ dropTitle: {
68
+ defaultValue: "点击或拖拽文件"
69
+ },
70
+ dropTip: {
71
+ defaultValue: ""
72
+ },
73
+ };
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: Setting, deps: null, target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: Setting, isStandalone: true, selector: "axis-design-read-file-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u6587\u4EF6\u63A7\u5236\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6587\u4EF6\u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"fileType\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" [nzAutocomplete]=\"idAuto\" />\n <nz-autocomplete #idAuto nzBackfill>\n <nz-auto-option nzValue=\"*/*\">\n \u5168\u90E8\u7C7B\u578B\n </nz-auto-option>\n <nz-auto-option nzValue=\"application/json\">\n *.json\n </nz-auto-option>\n <nz-auto-option nzValue=\"text/javascript\">\n *.js\n </nz-auto-option>\n </nz-autocomplete>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u5927\u5C0F\u9650\u5236\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"limitSize\">\n <nz-input-number style=\"width: 100%;\" ngModel [ngModelOptions]=\"{standalone:true}\" [nzMin]=\"0\">\n <span nzInputAddonAfter>KB</span>\n </nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <nz-collapse-panel nzHeader=\"\u5916\u89C2\u8BBE\u7F6E\">\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u4E0A\u4F20\u6309\u94AE\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonType\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzValue=\"custom\" nzLabel=\"\u81EA\u5B9A\u4E49\"></nz-option>\n <nz-option nzValue=\"drag-file\" nzLabel=\"\u6587\u4EF6\u62D6\u62FD\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n @if (formValue()?.buttonType.funMode || formValue()?.buttonType.originValue === \"custom\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6309\u94AE\u6587\u672C\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonTitle\">\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 \u6309\u94AE\u56FE\u6807\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonIcon\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-icon',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6309\u94AE\u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonStyle\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzLabel=\"\u9ED8\u8BA4\" nzValue=\"default\"></nz-option>\n <nz-option nzLabel=\"\u4E3B\u8981\" nzValue=\"primary\"></nz-option>\n <nz-option nzLabel=\"\u865A\u7EBF\" nzValue=\"dashed\"></nz-option>\n <nz-option nzLabel=\"\u94FE\u63A5\" nzValue=\"link\"></nz-option>\n <nz-option nzLabel=\"\u6587\u672C\" nzValue=\"text\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6309\u94AE\u5927\u5C0F\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonSize\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\">\n <label nz-radio-button nzValue=\"large\">\u5927</label>\n <label nz-radio-button nzValue=\"default\">\u4E2D</label>\n <label nz-radio-button nzValue=\"small\">\u5C0F</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5BBD\u5EA6\u5C3D\u91CF\u5927\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonBlock\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6309\u94AE\u5F62\u72B6\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonShape\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzLabel=\"\u9ED8\u8BA4\" nzValue=\"\"></nz-option>\n <nz-option nzLabel=\"\u5706\u5F62\" nzValue=\"circle\"></nz-option>\n <nz-option nzLabel=\"\u80F6\u56CA\" nzValue=\"round\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }@else {\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u62D6\u62FD\u6807\u9898\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"dropTitle\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u62D6\u62FD\u63D0\u793A\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"dropTip\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>", styles: [":host{display:block}\n"], 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],[formArray],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", "nzSize", "nzVariant", "nzRequiredMark"], 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", "nzCollapsible"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i4.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition", "nzSize"], 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: "component", type: ValueDesignSetting, selector: "axis-value-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "directive", type: i5.NzInputAddonAfterDirective, selector: "[nzInputAddonAfter]" }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "component", type: i6.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "ngmodule", type: NzInputNumberModule }, { kind: "component", type: i7.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzId", "nzSize", "nzPlaceHolder", "nzStatus", "nzVariant", "nzStep", "nzMin", "nzMax", "nzPrecision", "nzParser", "nzFormatter", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzKeyboard", "nzControls", "nzChangeOnWheel", "nzPrefix", "nzSuffix", "nzAddonBefore", "nzAddonAfter"], outputs: ["nzBlur", "nzFocus", "nzOnStep"], exportAs: ["nzInputNumber"] }, { kind: "ngmodule", type: NzSelectModule }, { kind: "component", type: i8.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i8.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "ngmodule", type: NzRadioModule }, { kind: "component", type: i9.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i9.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "ngmodule", type: NzAutocompleteModule }, { kind: "component", type: i10.NzAutocompleteComponent, selector: "nz-autocomplete", inputs: ["nzWidth", "nzOverlayClassName", "nzOverlayStyle", "nzDefaultActiveFirstOption", "nzBackfill", "compareWith", "nzDataSource"], outputs: ["selectionChange"], exportAs: ["nzAutocomplete"] }, { kind: "component", type: i10.NzAutocompleteOptionComponent, selector: "nz-auto-option", inputs: ["nzValue", "nzLabel", "nzDisabled"], outputs: ["selectionChange", "mouseEntered"], exportAs: ["nzAutoOption"] }, { kind: "directive", type: i10.NzAutocompleteTriggerDirective, selector: "input[nzAutocomplete], textarea[nzAutocomplete]", inputs: ["nzAutocomplete"], exportAs: ["nzAutocompleteTrigger"] }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign", "forceRenderOnChange"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: Setting, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'axis-design-read-file-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, ValueDesignSetting, NzInputModule, NzSwitchModule, NzInputNumberModule, NzSelectModule, NzRadioModule, NzAutocompleteModule, DynamicDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u6587\u4EF6\u63A7\u5236\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6587\u4EF6\u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"fileType\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" [nzAutocomplete]=\"idAuto\" />\n <nz-autocomplete #idAuto nzBackfill>\n <nz-auto-option nzValue=\"*/*\">\n \u5168\u90E8\u7C7B\u578B\n </nz-auto-option>\n <nz-auto-option nzValue=\"application/json\">\n *.json\n </nz-auto-option>\n <nz-auto-option nzValue=\"text/javascript\">\n *.js\n </nz-auto-option>\n </nz-autocomplete>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u5927\u5C0F\u9650\u5236\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"limitSize\">\n <nz-input-number style=\"width: 100%;\" ngModel [ngModelOptions]=\"{standalone:true}\" [nzMin]=\"0\">\n <span nzInputAddonAfter>KB</span>\n </nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <nz-collapse-panel nzHeader=\"\u5916\u89C2\u8BBE\u7F6E\">\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u4E0A\u4F20\u6309\u94AE\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonType\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzValue=\"custom\" nzLabel=\"\u81EA\u5B9A\u4E49\"></nz-option>\n <nz-option nzValue=\"drag-file\" nzLabel=\"\u6587\u4EF6\u62D6\u62FD\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n @if (formValue()?.buttonType.funMode || formValue()?.buttonType.originValue === \"custom\") {\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u6309\u94AE\u6587\u672C\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonTitle\">\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 \u6309\u94AE\u56FE\u6807\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonIcon\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-icon',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6309\u94AE\u7C7B\u578B\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonStyle\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzLabel=\"\u9ED8\u8BA4\" nzValue=\"default\"></nz-option>\n <nz-option nzLabel=\"\u4E3B\u8981\" nzValue=\"primary\"></nz-option>\n <nz-option nzLabel=\"\u865A\u7EBF\" nzValue=\"dashed\"></nz-option>\n <nz-option nzLabel=\"\u94FE\u63A5\" nzValue=\"link\"></nz-option>\n <nz-option nzLabel=\"\u6587\u672C\" nzValue=\"text\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6309\u94AE\u5927\u5C0F\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonSize\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\">\n <label nz-radio-button nzValue=\"large\">\u5927</label>\n <label nz-radio-button nzValue=\"default\">\u4E2D</label>\n <label nz-radio-button nzValue=\"small\">\u5C0F</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u5BBD\u5EA6\u5C3D\u91CF\u5927\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonBlock\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n \u6309\u94AE\u5F62\u72B6\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonShape\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzLabel=\"\u9ED8\u8BA4\" nzValue=\"\"></nz-option>\n <nz-option nzLabel=\"\u5706\u5F62\" nzValue=\"circle\"></nz-option>\n <nz-option nzLabel=\"\u80F6\u56CA\" nzValue=\"round\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }@else {\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u62D6\u62FD\u6807\u9898\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"dropTitle\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u62D6\u62FD\u63D0\u793A\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"dropTip\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>", styles: [":host{display:block}\n"] }]
80
+ }] });
81
+
82
+ const Config = {
83
+ componentName: "文件读取",
84
+ buildOptionsNodes(nextInfo) {
85
+ return {
86
+ treeNode: new OptionsNode({
87
+ parentId: nextInfo.parentId,
88
+ scopeId: nextInfo.scopeId,
89
+ name: "文件读取",
90
+ canSetting: true,
91
+ canDrag: true,
92
+ dragType: "component",
93
+ parentObj: nextInfo.parentObject,
94
+ indexOfParentObj: nextInfo.indexOfParent,
95
+ rootOptions: nextInfo.currentObject,
96
+ settingType: Setting,
97
+ contextMenu: SimpleMenu,
98
+ icon: "file-text",
99
+ children: [],
100
+ }),
101
+ next: []
102
+ };
103
+ },
104
+ bindElementsOptionsNode(element, options) {
105
+ return {
106
+ [options.id]: { element }
107
+ };
108
+ },
109
+ };
110
+
111
+ /**
112
+ * Generated bundle index. Do not edit.
113
+ */
114
+
115
+ export { Config };
116
+ //# sourceMappingURL=ngx-axis-appforge-axis-components-read-file-design.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-read-file-design.mjs","sources":["../../../axis-components/read-file/design/setting/setting.ts","../../../axis-components/read-file/design/setting/setting.html","../../../axis-components/read-file/design/config.ts","../../../axis-components/read-file/design/ngx-axis-appforge-axis-components-read-file-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, DynamicDirective, FormValidators, FunField, FunFieldOptions, FunFieldValueBase, ValueDesignSetting, valueFbConfig, valueFunField } from 'ngx-axis-appforge/core';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';\n\n@Component({\n selector: 'axis-design-read-file-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, FunField, ValueDesignSetting, NzInputModule, NzSwitchModule, NzInputNumberModule, NzSelectModule, NzRadioModule, NzAutocompleteModule, DynamicDirective],\n templateUrl: './setting.html',\n styleUrl: './setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Setting extends FunFieldValueBase {\n override fg: UntypedFormGroup = this.fb.group({\n ...baseFbConfig,\n ...valueFbConfig,\n fileType: [undefined, FormValidators.requiredFun],\n limitSize: [],\n buttonType: [undefined, FormValidators.requiredFun],\n buttonTitle: [],\n buttonIcon: [{ component: 'axis-components/icon', inuse: true, icon: 'file-text' }],\n buttonStyle: [undefined, FormValidators.requiredFun],\n buttonSize: [undefined, FormValidators.requiredFun],\n buttonBlock: [undefined, FormValidators.requiredFun],\n buttonShape: [],\n dropTitle: [],\n dropTip: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n ...valueFunField,\n fileType: {\n defaultValue: \"text/*\"\n },\n limitSize: {\n defaultValue: null\n },\n buttonType: {\n defaultValue: \"custom\"\n },\n buttonTitle: {\n defaultValue: \"选择文件\"\n },\n buttonStyle: {\n defaultValue: \"default\"\n },\n buttonSize: {\n defaultValue: \"default\"\n },\n buttonBlock: {\n defaultValue: false\n },\n buttonShape: {\n defaultValue: \"\"\n },\n dropTitle: {\n defaultValue: \"点击或拖拽文件\"\n },\n dropTip: {\n defaultValue: \"\"\n },\n };\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"文件控制\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 文件类型\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"fileType\">\n <input nz-input ngModel [ngModelOptions]=\"{standalone:true}\" [nzAutocomplete]=\"idAuto\" />\n <nz-autocomplete #idAuto nzBackfill>\n <nz-auto-option nzValue=\"*/*\">\n 全部类型\n </nz-auto-option>\n <nz-auto-option nzValue=\"application/json\">\n *.json\n </nz-auto-option>\n <nz-auto-option nzValue=\"text/javascript\">\n *.js\n </nz-auto-option>\n </nz-autocomplete>\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=\"limitSize\">\n <nz-input-number style=\"width: 100%;\" ngModel [ngModelOptions]=\"{standalone:true}\" [nzMin]=\"0\">\n <span nzInputAddonAfter>KB</span>\n </nz-input-number>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <nz-collapse-panel nzHeader=\"外观设置\">\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=\"buttonType\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzValue=\"custom\" nzLabel=\"自定义\"></nz-option>\n <nz-option nzValue=\"drag-file\" nzLabel=\"文件拖拽\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n @if (formValue()?.buttonType.funMode || formValue()?.buttonType.originValue === \"custom\") {\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=\"buttonTitle\">\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=\"buttonIcon\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-icon',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\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=\"buttonStyle\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzLabel=\"默认\" nzValue=\"default\"></nz-option>\n <nz-option nzLabel=\"主要\" nzValue=\"primary\"></nz-option>\n <nz-option nzLabel=\"虚线\" nzValue=\"dashed\"></nz-option>\n <nz-option nzLabel=\"链接\" nzValue=\"link\"></nz-option>\n <nz-option nzLabel=\"文本\" nzValue=\"text\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 按钮大小\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonSize\">\n <nz-radio-group ngModel [ngModelOptions]=\"{standalone:true}\">\n <label nz-radio-button nzValue=\"large\">大</label>\n <label nz-radio-button nzValue=\"default\">中</label>\n <label nz-radio-button nzValue=\"small\">小</label>\n </nz-radio-group>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 宽度尽量大\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonBlock\">\n <nz-switch ngModel [ngModelOptions]=\"{standalone:true}\"></nz-switch>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\" nzRequired>\n 按钮形状\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"buttonShape\">\n <nz-select ngModel [ngModelOptions]=\"{standalone:true}\">\n <nz-option nzLabel=\"默认\" nzValue=\"\"></nz-option>\n <nz-option nzLabel=\"圆形\" nzValue=\"circle\"></nz-option>\n <nz-option nzLabel=\"胶囊\" nzValue=\"round\"></nz-option>\n </nz-select>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }@else {\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=\"dropTitle\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\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=\"dropTip\">\n <textarea nz-input ngModel [ngModelOptions]=\"{standalone:true}\"></textarea>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n }\n\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n </nz-collapse>\n</form>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, 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: \"文件读取\",\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n settingType: Setting,\n contextMenu: SimpleMenu,\n icon: \"file-text\",\n children: [],\n }),\n next: []\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, computed, model, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { ValueAccessOptions, ValueAccess, DynamicDirective } from 'ngx-axis-appforge/core';
4
+ import * as i1 from 'ng-zorro-antd/upload';
5
+ import { NzUploadModule } from 'ng-zorro-antd/upload';
6
+ import * as i2 from 'ng-zorro-antd/button';
7
+ import { NzButtonModule } from 'ng-zorro-antd/button';
8
+ import * as i5 from 'ng-zorro-antd/icon';
9
+ import { NzIconModule } from 'ng-zorro-antd/icon';
10
+ import { NzFlexModule } from 'ng-zorro-antd/flex';
11
+ import { fromPromise } from 'rxjs/internal/observable/innerFrom';
12
+ import * as i6 from 'ng-zorro-antd/modal';
13
+ import { NzModalModule } from 'ng-zorro-antd/modal';
14
+ import * as i7 from '@angular/forms';
15
+ import { FormsModule } from '@angular/forms';
16
+ import * as i3 from 'ng-zorro-antd/core/transition-patch';
17
+ import * as i4 from 'ng-zorro-antd/core/wave';
18
+
19
+ class ReadFileOptions extends ValueAccessOptions {
20
+ fileType = signal("text/*", ...(ngDevMode ? [{ debugName: "fileType" }] : /* istanbul ignore next */ []));
21
+ limitSize = signal(null, ...(ngDevMode ? [{ debugName: "limitSize" }] : /* istanbul ignore next */ []));
22
+ buttonType = signal("custom", ...(ngDevMode ? [{ debugName: "buttonType" }] : /* istanbul ignore next */ []));
23
+ buttonTitle = signal("选择文件", ...(ngDevMode ? [{ debugName: "buttonTitle" }] : /* istanbul ignore next */ []));
24
+ buttonIcon = signal({ component: 'axis-components/icon', inuse: true, icon: 'file-text' }, ...(ngDevMode ? [{ debugName: "buttonIcon" }] : /* istanbul ignore next */ []));
25
+ buttonStyle = signal("default", ...(ngDevMode ? [{ debugName: "buttonStyle" }] : /* istanbul ignore next */ []));
26
+ buttonSize = signal("default", ...(ngDevMode ? [{ debugName: "buttonSize" }] : /* istanbul ignore next */ []));
27
+ buttonBlock = signal(false, ...(ngDevMode ? [{ debugName: "buttonBlock" }] : /* istanbul ignore next */ []));
28
+ buttonShape = signal(null, ...(ngDevMode ? [{ debugName: "buttonShape" }] : /* istanbul ignore next */ []));
29
+ dropTitle = signal("点击或拖拽文件", ...(ngDevMode ? [{ debugName: "dropTitle" }] : /* istanbul ignore next */ []));
30
+ dropTip = signal("", ...(ngDevMode ? [{ debugName: "dropTip" }] : /* istanbul ignore next */ []));
31
+ }
32
+
33
+ class ReadFile extends ValueAccess {
34
+ options = new ReadFileOptions();
35
+ fileList = computed(() => this.updateFileList(), ...(ngDevMode ? [{ debugName: "fileList" }] : /* istanbul ignore next */ []));
36
+ previewModalVisible = model(false, ...(ngDevMode ? [{ debugName: "previewModalVisible" }] : /* istanbul ignore next */ []));
37
+ previewEditorMode = computed(() => {
38
+ switch (this.options.fileType()) {
39
+ case "application/json":
40
+ return "json";
41
+ case "text/javascript":
42
+ return "javascript";
43
+ default:
44
+ return "plain_text";
45
+ }
46
+ }, ...(ngDevMode ? [{ debugName: "previewEditorMode" }] : /* istanbul ignore next */ []));
47
+ setInitValue(value) {
48
+ super.setInitValue(value);
49
+ if (value !== undefined) {
50
+ }
51
+ }
52
+ writeValue(value) {
53
+ super.writeValue(value);
54
+ }
55
+ updateFileList() {
56
+ if (typeof this.value() == "string" && this.value()) {
57
+ let name = this.buildName(this.value());
58
+ return [{
59
+ uid: name,
60
+ name: name,
61
+ status: 'done',
62
+ response: {
63
+ content: this.value()
64
+ }
65
+ }];
66
+ }
67
+ else {
68
+ return [];
69
+ }
70
+ }
71
+ buildName(value) {
72
+ let name = value.trim();
73
+ if (value.length > 8) {
74
+ name = value.substring(0, 4) + "..." + value.substring(value.length - 4);
75
+ }
76
+ return name;
77
+ }
78
+ updateValue(fileList) {
79
+ let value = fileList[0]?.response?.content ?? null;
80
+ this.value.set(value);
81
+ this.onChange?.(this.value());
82
+ }
83
+ handlePreview = async (file) => {
84
+ this.previewModalVisible.set(true);
85
+ };
86
+ upload = (item) => {
87
+ return fromPromise(item.file.text()).subscribe(async (content) => {
88
+ item.onSuccess?.({ content }, item.file, null);
89
+ });
90
+ };
91
+ fileChange(e) {
92
+ switch (e.type) {
93
+ case "success":
94
+ this.updateValue(e.fileList);
95
+ break;
96
+ case "removed":
97
+ this.updateValue(e.fileList);
98
+ break;
99
+ }
100
+ }
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ReadFile, deps: null, target: i0.ɵɵFactoryTarget.Component });
102
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ReadFile, isStandalone: true, selector: "axis-read-file", inputs: { previewModalVisible: { classPropertyName: "previewModalVisible", publicName: "previewModalVisible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { previewModalVisible: "previewModalVisibleChange" }, usesInheritance: true, ngImport: i0, template: "<nz-upload [nzFileList]=\"fileList()\" [nzType]=\" options.buttonType()=='drag-file'?'drag':'select'\" [nzMaxCount]=\"1\"\n [nzAccept]=\"options.fileType()\" [nzSize]=\"options.limitSize()\" nzListType=\"text\" [nzDisabled]=\"options.disabled()\"\n [nzCustomRequest]=\"upload\" (nzChange)=\"fileChange($event)\" [nzShowButton]=\"!options.readonly()\"\n [nzPreview]=\"handlePreview\"\n [nzShowUploadList]=\"{showRemoveIcon:!this.options.readonly() && !this.options.disabled(),showPreviewIcon:true}\">\n @if (options.buttonType() == \"drag-file\") {\n <p class=\"ant-upload-drag-icon\">\n <nz-icon nzType=\"inbox\" />\n </p>\n <p class=\"ant-upload-text\">{{options.dropTitle()}}</p>\n @if (options.dropTip()) {\n <p class=\"ant-upload-hint\">\n {{options.dropTip()}}\n </p>\n }\n }@else {\n <button nz-button [nzSize]=\"options.buttonSize()\" [nzType]=\"options.buttonStyle()\" [nzBlock]=\"options.buttonBlock()\"\n [nzShape]=\"options.buttonShape()\">\n @if (options.buttonIcon()) {\n <ng-container [axisDynamic]=\"options.buttonIcon()\" [standalone]=\"true\"></ng-container>\n @if (options.buttonTitle()) {\n <span style=\"margin-right: 10px;\"></span>\n }\n }\n {{options.buttonTitle()}}\n </button>\n }\n</nz-upload>\n\n<nz-modal [(nzVisible)]=\"previewModalVisible\" nzTitle=\"\u6587\u4EF6\u9884\u89C8\" [nzOkText]=\"null\" nzCancelText=\"\u5173\u95ED\"\n (nzOnCancel)=\"previewModalVisible.set(false)\">\n <ng-container *nzModalContent>\n <ng-container\n [axisDynamic]=\"{component:'axis-components/editor',readonly:true,inuse:true,mode:previewEditorMode(),style:{height:'500px'}}\"\n [standalone]=\"true\" [ngModel]=\"value()\"></ng-container>\n </ng-container>\n</nz-modal>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: NzUploadModule }, { kind: "component", type: i1.NzUploadComponent, selector: "nz-upload", inputs: ["nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender", "nzMaxCount"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i2.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵ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: "directive", type: i4.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i5.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign", "forceRenderOnChange"], outputs: ["onRegisteValueAccess"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: NzModalModule }, { kind: "component", type: i6.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: i6.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ReadFile, decorators: [{
105
+ type: Component,
106
+ args: [{ selector: 'axis-read-file', imports: [NzUploadModule, NzButtonModule, NzIconModule, NzFlexModule, DynamicDirective, NzModalModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-upload [nzFileList]=\"fileList()\" [nzType]=\" options.buttonType()=='drag-file'?'drag':'select'\" [nzMaxCount]=\"1\"\n [nzAccept]=\"options.fileType()\" [nzSize]=\"options.limitSize()\" nzListType=\"text\" [nzDisabled]=\"options.disabled()\"\n [nzCustomRequest]=\"upload\" (nzChange)=\"fileChange($event)\" [nzShowButton]=\"!options.readonly()\"\n [nzPreview]=\"handlePreview\"\n [nzShowUploadList]=\"{showRemoveIcon:!this.options.readonly() && !this.options.disabled(),showPreviewIcon:true}\">\n @if (options.buttonType() == \"drag-file\") {\n <p class=\"ant-upload-drag-icon\">\n <nz-icon nzType=\"inbox\" />\n </p>\n <p class=\"ant-upload-text\">{{options.dropTitle()}}</p>\n @if (options.dropTip()) {\n <p class=\"ant-upload-hint\">\n {{options.dropTip()}}\n </p>\n }\n }@else {\n <button nz-button [nzSize]=\"options.buttonSize()\" [nzType]=\"options.buttonStyle()\" [nzBlock]=\"options.buttonBlock()\"\n [nzShape]=\"options.buttonShape()\">\n @if (options.buttonIcon()) {\n <ng-container [axisDynamic]=\"options.buttonIcon()\" [standalone]=\"true\"></ng-container>\n @if (options.buttonTitle()) {\n <span style=\"margin-right: 10px;\"></span>\n }\n }\n {{options.buttonTitle()}}\n </button>\n }\n</nz-upload>\n\n<nz-modal [(nzVisible)]=\"previewModalVisible\" nzTitle=\"\u6587\u4EF6\u9884\u89C8\" [nzOkText]=\"null\" nzCancelText=\"\u5173\u95ED\"\n (nzOnCancel)=\"previewModalVisible.set(false)\">\n <ng-container *nzModalContent>\n <ng-container\n [axisDynamic]=\"{component:'axis-components/editor',readonly:true,inuse:true,mode:previewEditorMode(),style:{height:'500px'}}\"\n [standalone]=\"true\" [ngModel]=\"value()\"></ng-container>\n </ng-container>\n</nz-modal>", styles: [":host{display:block}\n"] }]
107
+ }], propDecorators: { previewModalVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewModalVisible", required: false }] }, { type: i0.Output, args: ["previewModalVisibleChange"] }] } });
108
+
109
+ /**
110
+ * Generated bundle index. Do not edit.
111
+ */
112
+
113
+ export { ReadFile };
114
+ //# sourceMappingURL=ngx-axis-appforge-axis-components-read-file.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-read-file.mjs","sources":["../../../axis-components/read-file/read-file.options.ts","../../../axis-components/read-file/read-file.ts","../../../axis-components/read-file/read-file.html","../../../axis-components/read-file/ngx-axis-appforge-axis-components-read-file.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class ReadFileOptions extends ValueAccessOptions {\n\n readonly fileType = signal(\"text/*\");\n readonly limitSize = signal<number | null>(null);\n\n readonly buttonType = signal<\"drag-file\" | \"custom\">(\"custom\");\n readonly buttonTitle = signal<string>(\"选择文件\");\n readonly buttonIcon = signal<any>({ component: 'axis-components/icon', inuse: true, icon: 'file-text' });\n readonly buttonStyle = signal<\"default\" | \"primary\" | \"dashed\" | \"link\" | \"text\">(\"default\");\n readonly buttonSize = signal<\"large\" | \"small\" | \"default\">(\"default\");\n readonly buttonBlock = signal<boolean>(false);\n readonly buttonShape = signal<null | \"circle\" | \"round\">(null);\n readonly dropTitle = signal<string>(\"点击或拖拽文件\");\n readonly dropTip = signal<string>(\"\");\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { ReadFileOptions } from './read-file.options';\nimport { ValueAccess, DynamicDirective } from 'ngx-axis-appforge/core';\nimport { NzUploadFile, NzUploadModule, NzUploadChangeParam, NzUploadXHRArgs } from 'ng-zorro-antd/upload';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzFlexModule } from 'ng-zorro-antd/flex';\nimport { Subscription } from 'rxjs';\nimport { fromPromise } from 'rxjs/internal/observable/innerFrom';\nimport { NzModalModule } from \"ng-zorro-antd/modal\";\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axis-read-file',\n imports: [NzUploadModule, NzButtonModule, NzIconModule, NzFlexModule, DynamicDirective, NzModalModule, FormsModule],\n templateUrl: './read-file.html',\n styleUrl: './read-file.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ReadFile extends ValueAccess<ReadFileOptions> {\n\n override options: ReadFileOptions = new ReadFileOptions();\n\n readonly fileList = computed(() => this.updateFileList());\n readonly previewModalVisible = model(false);\n readonly previewEditorMode = computed(() => {\n switch (this.options.fileType()) {\n case \"application/json\":\n return \"json\";\n case \"text/javascript\":\n return \"javascript\";\n default:\n return \"plain_text\";\n }\n });\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n if (value !== undefined) {\n }\n }\n\n override writeValue(value: any): void {\n super.writeValue(value);\n }\n\n private updateFileList(): NzUploadFile[] {\n if (typeof this.value() == \"string\" && this.value()) {\n let name = this.buildName(this.value());\n return [{\n uid: name,\n name: name,\n status: 'done',\n response: {\n content: this.value()\n }\n }];\n } else {\n return [];\n }\n }\n\n private buildName(value: string) {\n let name = value.trim();\n if (value.length > 8) {\n name = value.substring(0, 4) + \"...\" + value.substring(value.length - 4);\n }\n return name;\n }\n\n private updateValue(fileList: NzUploadFile[]) {\n let value: any = fileList[0]?.response?.content ?? null;\n this.value.set(value);\n this.onChange?.(this.value());\n }\n\n handlePreview = async (file: NzUploadFile) => {\n this.previewModalVisible.set(true);\n };\n\n upload = (item: NzUploadXHRArgs): Subscription => {\n return fromPromise((item.file as any as File).text()).subscribe(async content => {\n item.onSuccess?.({ content }, item.file, null);\n })\n }\n\n fileChange(e: NzUploadChangeParam) {\n switch (e.type) {\n case \"success\":\n this.updateValue(e.fileList);\n break;\n case \"removed\":\n this.updateValue(e.fileList);\n break;\n }\n }\n}\n","<nz-upload [nzFileList]=\"fileList()\" [nzType]=\" options.buttonType()=='drag-file'?'drag':'select'\" [nzMaxCount]=\"1\"\n [nzAccept]=\"options.fileType()\" [nzSize]=\"options.limitSize()\" nzListType=\"text\" [nzDisabled]=\"options.disabled()\"\n [nzCustomRequest]=\"upload\" (nzChange)=\"fileChange($event)\" [nzShowButton]=\"!options.readonly()\"\n [nzPreview]=\"handlePreview\"\n [nzShowUploadList]=\"{showRemoveIcon:!this.options.readonly() && !this.options.disabled(),showPreviewIcon:true}\">\n @if (options.buttonType() == \"drag-file\") {\n <p class=\"ant-upload-drag-icon\">\n <nz-icon nzType=\"inbox\" />\n </p>\n <p class=\"ant-upload-text\">{{options.dropTitle()}}</p>\n @if (options.dropTip()) {\n <p class=\"ant-upload-hint\">\n {{options.dropTip()}}\n </p>\n }\n }@else {\n <button nz-button [nzSize]=\"options.buttonSize()\" [nzType]=\"options.buttonStyle()\" [nzBlock]=\"options.buttonBlock()\"\n [nzShape]=\"options.buttonShape()\">\n @if (options.buttonIcon()) {\n <ng-container [axisDynamic]=\"options.buttonIcon()\" [standalone]=\"true\"></ng-container>\n @if (options.buttonTitle()) {\n <span style=\"margin-right: 10px;\"></span>\n }\n }\n {{options.buttonTitle()}}\n </button>\n }\n</nz-upload>\n\n<nz-modal [(nzVisible)]=\"previewModalVisible\" nzTitle=\"文件预览\" [nzOkText]=\"null\" nzCancelText=\"关闭\"\n (nzOnCancel)=\"previewModalVisible.set(false)\">\n <ng-container *nzModalContent>\n <ng-container\n [axisDynamic]=\"{component:'axis-components/editor',readonly:true,inuse:true,mode:previewEditorMode(),style:{height:'500px'}}\"\n [standalone]=\"true\" [ngModel]=\"value()\"></ng-container>\n </ng-container>\n</nz-modal>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './read-file';\n"],"names":[],"mappings":"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"}