UNPKG

@xmagic/nz-formly

Version:

基于ng-zorro-antd UI 扩展的ngx-formly组件库

1 lines 18 kB
{"version":3,"file":"xmagic-nz-formly-input.mjs","sources":["../../../lib/input/input.component.ts","../../../lib/input/input.module.ts","../../../lib/input/xmagic-nz-formly-input.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, OnInit, Optional } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\nimport { FormlyBoxTemplates, resolveTplName, hasTplNameValue } from '@xmagic/nz-formly/common';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'nz-formly-input',\n template: `\n <nz-input-group\n *ngIf=\"hasAddon; else inputTemplate\"\n [nzSize]=\"props.nzSize\"\n [nzSearch]=\"props.nzSearch\"\n [nzAddOnAfter]=\"nzAddOnAfter\"\n [nzAddOnBefore]=\"nzAddOnBefore\"\n [nzPrefix]=\"nzPrefix\"\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\n [nzPrefixIcon]=\"props.nzPrefixIcon\"\n [nzSuffix]=\"suffixTemplate\"\n [nzSuffixIcon]=\"props.nzSuffixIcon\"\n [nzCompact]=\"props.nzCompact === true\"\n (mouseenter)=\"onMouseenter($event)\"\n (mouseleave)=\"onMouseleave($event)\"\n >\n <ng-container *ngIf=\"props.showInput !== false\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n <ng-container *nzStringTemplateOutlet=\"content; context: { $implicit: field, options: props }\">\n <div [innerHTML]=\"content\"></div>\n </ng-container>\n </nz-input-group>\n\n <ng-template #suffixTemplate>\n <ng-container *ngIf=\"nzSuffix; else clearTemplate\">\n <ng-container *nzStringTemplateOutlet=\"nzSuffix; context: { $implicit: field, options: props }\">\n <div [innerHTML]=\"nzSuffix\"></div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template #clearTemplate>\n <i\n *ngIf=\"type === 'password'\"\n nz-icon\n style=\"cursor: pointer\"\n [nzType]=\"isPwdVisible ? 'eye-invisible' : 'eye'\"\n (click)=\"isPwdVisible = !isPwdVisible;props.type = isPwdVisible? 'text' : 'password'\"\n ></i>\n <div style=\"width: 14px\" *ngIf=\"type === 'text' && props.clearable && !isDisabled\">\n <i\n *ngIf=\"clearVisible && formControl.value\"\n nz-icon\n style=\"cursor: pointer\"\n [nzType]=\"props.nzClearIcon || 'close-circle'\"\n (click)=\"formControl.setValue(null)\"\n ></i>\n </div>\n </ng-template>\n\n <ng-template #inputTemplate>\n <ng-container *ngIf=\"props.type !== 'number'; else numberTmp\">\n <input\n *ngIf=\"!props.nzAutocomplete; else autoCompleteTemplate\"\n nz-input\n autocomplete=\"off\"\n [formControl]=\"$any(formControl)\"\n [type]=\"props.type || 'text'\"\n [formlyAttributes]=\"field\"\n [nzBorderless]=\"props.nzBorderless\"\n [nzStatus]=\"props.nzStatus\"\n [nzSize]=\"props.nzSize\"\n [readOnly]=\"props.nzReadOnly || props.readOnly\"\n [disabled]=\"isDisabled\"\n maxlength=\"\"\n ngDefaultControl\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </ng-container>\n </ng-template>\n\n <ng-template #autoCompleteTemplate>\n <input\n nz-input\n autocomplete=\"off\"\n [formControl]=\"$any(formControl)\"\n [type]=\"props.type || 'text'\"\n [formlyAttributes]=\"field\"\n [nzSize]=\"props.nzSize\"\n [nzAutocomplete]=\"auto\"\n [nzBorderless]=\"props.nzBorderless\"\n [nzStatus]=\"props.nzStatus\"\n [readOnly]=\"props.nzReadOnly || props.readOnly\"\n [disabled]=\"isDisabled\"\n maxlength=\"\"\n ngDefaultControl\n />\n </ng-template>\n\n <ng-template #numberTmp>\n <nz-input-number\n #instance\n style=\"width: 100%\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [nzMin]=\"props.min\"\n [nzMax]=\"props.max\"\n [nzDisabled]=\"isDisabled\"\n [nzPrecision]=\"props.nzPrecision\"\n [nzPrecisionMode]=\"props.nzPrecisionMode\"\n [nzSize]=\"props.nzSize\"\n [nzPlaceHolder]=\"props.nzPlaceHolder || props.placeholder\"\n [nzStep]=\"props.step\"\n [nzStatus]=\"props.nzStatus\"\n [nzReadOnly]=\"props.nzReadOnly || props.readOnly\"\n (nzFocus)=\"props.nzFocus?.($event, field, instance)\"\n (nzBlur)=\"props.nzBlur?.($event, field, instance)\"\n ngDefaultControl\n ></nz-input-number>\n </ng-template>\n\n <nz-autocomplete\n #auto\n [nzBackfill]=\"props.nzBackfill\"\n [nzDefaultActiveFirstOption]=\"props.nzDefaultActiveFirstOption\"\n [nzWidth]=\"props.nzWidth\"\n [nzOverlayClassName]=\"props.nzOverlayClassName\"\n [nzOverlayStyle]=\"props.nzOverlayStyle\"\n [compareWith]=\"props.compareWith\"\n >\n <ng-container\n *ngFor=\"let item of props.options | toAsync: $any(props) | async | filter: props.filterFn : formControl?.value\"\n >\n <nz-auto-option *ngIf=\"item.hide !== false\" [nzValue]=\"item.value\" [nzDisabled]=\"item.disabled\">\n <ng-container *ngIf=\"labelTemplate; else strLabelTpl\">\n <ng-container *nzStringTemplateOutlet=\"labelTemplate; context: { $implicit: item, field: field }\">\n <span>{{ labelTemplate }}</span>\n </ng-container>\n </ng-container>\n\n <ng-template #strLabelTpl>\n <span>{{ item.label }}</span>\n </ng-template>\n </nz-auto-option>\n </ng-container>\n </nz-autocomplete>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormlyFieldInputComponent extends FieldType implements OnInit {\n override defaultOptions = {\n props: {\n step: 1,\n enableHTML: false,\n clearable: true,\n nzDefaultActiveFirstOption: true,\n nzPrecisionMode: 'toFixed',\n filterFn: (item: NzSafeAny, query: string) => (query == null ? true : item.label.indexOf(query) > -1),\n compareWith: (o1: NzSafeAny, o2: NzSafeAny) => o1 === o2\n }\n };\n\n type = 'text';\n isPwdVisible = false;\n mouseEnter = false;\n inputFocus = false;\n\n get clearVisible() {\n return this.inputFocus || this.mouseEnter;\n }\n\n constructor(@Optional() public fieldTemplates: FormlyBoxTemplates) {\n super();\n }\n\n ngOnInit(): void {\n if (this.props.type) {\n this.type = this.props.type;\n }\n }\n\n get isDisabled() {\n return this.props.nzDisabled || this.props.disabled || this.formControl?.disabled\n }\n\n get hasAddon() {\n return (\n hasTplNameValue(this.props, 'nzAddOnAfter') ||\n hasTplNameValue(this.props, 'nzAddOnBefore') ||\n hasTplNameValue(this.props, 'nzPrefix') ||\n hasTplNameValue(this.props, 'nzSuffix') ||\n this.props.nzCompact === true ||\n this.props.nzSearch === true ||\n (!this.props.type || this.props.type === 'text' || this.props.type === 'password')\n );\n }\n\n get nzAddOnAfter() {\n return resolveTplName(this.props, this.fieldTemplates, 'nzAddOnAfter');\n }\n\n get nzAddOnBefore() {\n return resolveTplName(this.props, this.fieldTemplates, 'nzAddOnBefore');\n }\n\n get nzPrefix() {\n return resolveTplName(this.props, this.fieldTemplates, 'nzPrefix');\n }\n\n get nzSuffix() {\n return resolveTplName(this.props, this.fieldTemplates, 'nzSuffix');\n }\n get content() {\n return resolveTplName(this.props, this.fieldTemplates, 'content');\n }\n\n get labelTemplate() {\n return resolveTplName(this.props, this.fieldTemplates, 'labelTemplate');\n }\n\n onMouseenter(evt: MouseEvent) {\n this.mouseEnter = true;\n }\n onMouseleave(evt: MouseEvent) {\n this.mouseEnter = false;\n }\n\n onFocus(evt: FocusEvent) {\n this.inputFocus = true;\n }\n\n onBlur(evt: FocusEvent) {\n this.inputFocus = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlyFieldInputComponent } from './input.component';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';\nimport { NzxPipeModule } from '@xmagic/nzx-antd/pipe';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\nconst COMPONENT = FormlyFieldInputComponent;\n\n@NgModule({\n declarations: [COMPONENT],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzOutletModule,\n NzxPipeModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'input',\n component: COMPONENT,\n wrappers: ['field-wrapper']\n },\n {\n name: 'number',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number'\n }\n }\n },\n {\n name: 'autocomplete',\n extends: 'input',\n defaultOptions: {\n props: {\n nzAutocomplete: true\n }\n }\n }\n ]\n }),\n NzAutocompleteModule,\n NzxPipeModule,\n NzIconDirective\n ]\n})\nexport class FormlyNzInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}