UNPKG

@kre-form/ant

Version:

748 lines 86.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ElementRef, } from "@angular/core"; import { NzMessageService } from "ng-zorro-antd/message"; import { FormGroup, FormBuilder, } from "@angular/forms"; import { KreFormCommonService, } from "@kre-form/core"; import { BehaviorSubject } from "rxjs"; import { KreSetFormFieldService } from "../../tools/setField.service"; import * as _ from "lodash"; import * as moment_ from "moment"; /** @type {?} */ var moment = moment_; var KreFormDSField = /** @class */ (function () { function KreFormDSField(message, fb, kreFormCommonService, kreSetFieldService, el) { this.message = message; this.fb = fb; this.kreFormCommonService = kreFormCommonService; this.kreSetFieldService = kreSetFieldService; this.el = el; this.formField = { key: "", type: "", templateOptions: { type: null, label: null, description: null, parameterId: null, maxLength: null, minLength: null, max: null, min: null, precision: null, placeholder: null, required: false, tips: null, pattern: null, rows: 4, hideSelect: null, selectType: "single", labelI18n: [], tipsI18n: [], }, fontProperty: { fontSize: 14, color: "#323232", fontWeight: false, fontStyle: false, }, defaultValue: null, editProperty: { config: true, }, show: true, hide: false, }; this.fontSizeList = []; this.defaultList = []; this.defaultValue = null; this.hideSelect = []; this._langConfig = []; this.limit = { maxLength: null, minLength: null, max: null, min: null, maxDate: null, minDate: null, }; this.modalType = "default"; this.form = new FormGroup({}); this.model = {}; // options = {}; this.formFildConfig = []; // multiple = 'default'; // multiple this.globalSubmit = new BehaviorSubject(String); this.tmp = 0; } Object.defineProperty(KreFormDSField.prototype, "langConfig", { get: /** * @return {?} */ function () { return this._langConfig; }, set: /** * @param {?} value * @return {?} */ function (value) { this._langConfig = value; }, enumerable: true, configurable: true }); Object.defineProperty(KreFormDSField.prototype, "field", { set: /** * @param {?} value * @return {?} */ function (value) { var _this = this; _.assignIn(this.formField, _.cloneDeep(value)); if (this.formField.type === "textarea" && this.formField.templateOptions) { if (this.formField.templateOptions.rows === undefined || this.formField.templateOptions.rows === null) { this.formField.templateOptions.rows = 4; } } if (this.formField.type === "datetime" && (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).type === "time" && !!this.formField.defaultValue) { this.formField.defaultValue = new Date(this.formField.defaultValue); } if (this.formField.type === "select") { if (this.formField.templateOptions.selectType === "multiple") { this.defaultValue = []; if (!_.isEmpty(this.formField.defaultValue)) { ((/** @type {?} */ (this.formField.defaultValue))).forEach((/** * @param {?} el * @return {?} */ function (el) { _this.defaultValue.push(el.value); })); } } else { this.defaultValue = null; if (!_.isEmpty(this.formField.defaultValue)) { this.defaultValue = this.formField.defaultValue[0].value; } } } if (this.formField.type === "select" && !_.isEmpty((/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).hideSelect)) { ((/** @type {?} */ ((/** @type {?} */ (this.formField.templateOptions)).hideSelect))).forEach((/** * @param {?} el * @return {?} */ function (el) { _this.hideSelect.push(el.value); })); } this.formField.hide = !this.formField["show"]; this.newPrimitive(this.formField); // if (!this.formField!.templateOptions!.labelI18n) { // this.formField!.templateOptions!.labelI18n = this.langConfig; // } // if (!this.formField!.templateOptions!.tipsI18n) { // this.formField!.templateOptions!.tipsI18n = this.langConfig; // } // if ( // !!this.formField!.templateOptions!.label && // !(this.formField!.templateOptions!.labelI18n as any[]).filter( // (el) => el.language === "zh-cn" // )[0].value // ) { // (this.formField!.templateOptions!.labelI18n as any[]).filter( // (el) => el.language === "zh-cn" // )[0].value = this.formField!.templateOptions!.label; // } this.limit.min = -999999; if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).min || (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).min === 0) { this.limit.min = (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).min; } this.limit.max = (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).max || 999999; this.limit.minLength = (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).minLength || 0; this.limit.maxLength = (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).maxLength || 500; this.limit.maxDate = (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).maxDate || "2050-12-31"; this.limit.minDate = (/** @type {?} */ ((/** @type {?} */ (this.formField)).primitiveProperty)).minDate || "1900-01-01"; }, enumerable: true, configurable: true }); /** * @param {?} value * @return {?} */ KreFormDSField.prototype.newPrimitive = /** * @param {?} value * @return {?} */ function (value) { if (value.primitiveProperty === null || value.primitiveProperty === undefined) { value.primitiveProperty = {}; } /** @type {?} */ var list = [ "maxLength", "minLength", "max", "min", "precision", "maxDate", "minDate", ]; list.forEach((/** * @param {?} key * @return {?} */ function (key) { if (value.primitiveProperty[key] === null || value.primitiveProperty[key] === undefined) { value.primitiveProperty[key] = value.templateOptions[key]; } })); // if ( // value.primitiveProperty.maxLength === null || // value.primitiveProperty.maxLength === undefined // ) { // value.primitiveProperty.maxLength = value.templateOptions.maxLength; // } // if ( // value.primitiveProperty.minLength === null || // value.primitiveProperty.minLength === undefined // ) { // value.primitiveProperty.minLength = value.templateOptions.minLength; // } // if ( // value.primitiveProperty.max === null || // value.primitiveProperty.max === undefined // ) { // value.primitiveProperty.max = value.templateOptions.max; // } // if ( // value.primitiveProperty.min === null || // value.primitiveProperty.min === undefined // ) { // value.primitiveProperty.min = value.templateOptions.min; // } // if ( // value.primitiveProperty.precision === null || // value.primitiveProperty.precision === undefined // ) { // value.primitiveProperty.precision = value.templateOptions.precision; // } // if ( // value.primitiveProperty.maxDate === null || // value.primitiveProperty.maxDate === undefined // ) { // value.primitiveProperty.maxDate = value.templateOptions.maxDate; // } // if ( // value.primitiveProperty.minDate === null || // value.primitiveProperty.minDate === undefined // ) { // value.primitiveProperty.minDate = value.templateOptions.minDate; // } }; Object.defineProperty(KreFormDSField.prototype, "options", { set: /** * @param {?} value * @return {?} */ function (value) { var _this = this; value.forEach((/** * @param {?} el * @return {?} */ function (el) { if (el.parameterId === (/** @type {?} */ (_this.formField.templateOptions)).parameterId) { _this.defaultList.push({ label: el.label, value: el.value, }); } })); }, enumerable: true, configurable: true }); /** * @return {?} */ KreFormDSField.prototype.ngOnInit = /** * @return {?} */ function () { for (var i = 12; i <= 20; i++) { this.fontSizeList.push(i); } }; /** * @param {?} changes * @return {?} */ KreFormDSField.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { }; /** * @param {?} e * @param {?} type * @return {?} */ KreFormDSField.prototype.defaultValueChange = /** * @param {?} e * @param {?} type * @return {?} */ function (e, type) { var _this = this; this.formField.defaultValue = []; if (type === "multiple") { if (!_.isEmpty((/** @type {?} */ (e)))) { (/** @type {?} */ (e)).forEach((/** * @param {?} el * @return {?} */ function (el) { _this.formField.defaultValue.push({ label: _this.defaultList.filter((/** * @param {?} ele * @return {?} */ function (ele) { return ele.value === el; }))[0]["label"], value: _this.defaultList.filter((/** * @param {?} ele * @return {?} */ function (ele) { return ele.value === el; }))[0]["value"], }); })); } } else { this.formField.defaultValue.push({ label: this.defaultList.filter((/** * @param {?} ele * @return {?} */ function (ele) { return ele.value === e; }))[0]["label"], value: this.defaultList.filter((/** * @param {?} ele * @return {?} */ function (ele) { return ele.value === e; }))[0]["value"], }); } }; /** * @param {?} e * @return {?} */ KreFormDSField.prototype.hideSelectChange = /** * @param {?} e * @return {?} */ function (e) { var _this = this; if (!_.isEmpty(e)) { (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).hideSelect = []; e.forEach((/** * @param {?} el * @return {?} */ function (el) { (/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ (_this.formField)).templateOptions)).hideSelect)).push({ label: _this.defaultList.filter((/** * @param {?} ele * @return {?} */ function (ele) { return ele.value === el; }))[0]["label"], value: _this.defaultList.filter((/** * @param {?} ele * @return {?} */ function (ele) { return ele.value === el; }))[0]["value"], }); })); } else { (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).hideSelect = null; } }; /** * @return {?} */ KreFormDSField.prototype.checkSave = /** * @return {?} */ function () { /** @type {?} */ var type = this.formField.type; if (type == "text" || type == "textarea") { if (_.get(this.formField, "templateOptions.minLength") >= _.get(this.formField, "templateOptions.maxLength")) { this.message.error("最大长度必须大于最小长度"); return false; } } if (type == "number") { if (_.get(this.formField, "templateOptions.min") >= _.get(this.formField, "templateOptions.max")) { this.message.error("最大值必须大于最小值"); return false; } } return true; }; /** * @param {?} caller * @param {?} callback * @return {?} */ KreFormDSField.prototype.initBehaviorSubject = /** * @param {?} caller * @param {?} callback * @return {?} */ function (caller, callback) { this.globalSubmit = new BehaviorSubject(String); if (callback != undefined && callback != null && callback != "") { callback.call(caller); } }; /** * @return {?} */ KreFormDSField.prototype.frmSubmit = /** * @return {?} */ function () { this.el.nativeElement.querySelector("#btn-basic-save").click(); if (this.form) { for (var i in this.form.controls) { this.form.controls[i].markAsDirty(); this.form.controls[i].updateValueAndValidity(); } if (this.form.valid) { this.tmp = this.tmp + 1; if (this.tmp == 1) { this.globalSubmit.next("OK"); this.getFieldInfo(this.formField); } } } }; /** * @return {?} */ KreFormDSField.prototype.ngOnDestroy = /** * @return {?} */ function () { this.globalSubmit.unsubscribe(); }; /** * @param {?} field * @return {?} */ KreFormDSField.prototype.getFieldInfo = /** * @param {?} field * @return {?} */ function (field) { if (this.model["editor"] != undefined) { field.editor = this.model["editor"]; } if (!this.model.hasOwnProperty("hide")) { field.hide = !this.model["show"]; } console.log(field.hide); if (this.model["hide"] != undefined && this.model["hide"] != null) { field.hide = this.model["hide"]; field.show != this.model["hide"]; } if (_.get(this.model, "templateOptions.description") != undefined) { field["templateOptions"]["description"] = _.get(this.model, "templateOptions.description"); } if (_.get(this.model, "templateOptions.maxLength") != undefined) { field.templateOptions.maxLength = _.get(this.model, "templateOptions.maxLength"); } if (_.get(this.model, "templateOptions.minLength") != undefined) { field.templateOptions.minLength = _.get(this.model, "templateOptions.minLength"); } if (_.get(this.model, "templateOptions.minLength") != undefined) { field.templateOptions.max = _.get(this.model, "templateOptions.max"); } if (_.get(this.model, "templateOptions.min")) { field.templateOptions.min = _.get(this.model, "templateOptions.min"); } if (_.get(this.model, "templateOptions.precision") != undefined) { field.templateOptions.precision = _.get(this.model, "templateOptions.precision"); } if (_.get(this.model, "templateOptions.placeholder") != undefined) { field.templateOptions.placeholder = _.get(this.model, "templateOptions.placeholder"); } if (_.get(this.model, "templateOptions.required") != undefined) { field.templateOptions.required = _.get(this.model, "templateOptions.required"); } if (_.get(this.model, "templateOptions.tips") != undefined) { field.templateOptions.tips = _.get(this.model, "templateOptions.tips"); } if (_.get(this.model, "templateOptions.pattern") != undefined) { field.templateOptions.pattern = _.get(this.model, "templateOptions.pattern"); } if (_.get(this.model, "templateOptions.rows") != undefined) { field.templateOptions.rows = _.get(this.model, "templateOptions.rows"); } }; /** * @param {?} e * @return {?} */ KreFormDSField.prototype.fieldHideChange = /** * @param {?} e * @return {?} */ function (e) { this.formField.show = !e; }; /** * @param {?} e * @return {?} */ KreFormDSField.prototype.nameChange = /** * @param {?} e * @return {?} */ function (e) { (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).labelI18n = e; (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).label = ((/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).labelI18n))).filter((/** * @param {?} el * @return {?} */ function (el) { return el.language === "zh-cn"; }))[0].value; }; /** * @param {?} e * @return {?} */ KreFormDSField.prototype.tipsChange = /** * @param {?} e * @return {?} */ function (e) { (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions)).tipsI18n = e; }; /** * @param {?} time * @param {?} type * @return {?} */ KreFormDSField.prototype.dateTimeChange = /** * @param {?} time * @param {?} type * @return {?} */ function (time, type) { if (time) { switch (type) { case "date": time = moment(time).format("YYYY/MM/DD 00:00:00"); break; case "year": time = moment(time).format("YYYY/01/01 00:00:00"); break; case "month": time = moment(time).format("YYYY/MM/01 00:00:00"); break; default: break; } } else { time = ""; } this.formField.defaultValue = time; }; /** * @return {?} */ KreFormDSField.prototype.nzDefaultValueMin = /** * @return {?} */ function () { if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"]) { return Math.max((/** @type {?} */ (this.limit))["min"], (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"]); } else { return (/** @type {?} */ (this.limit))["min"]; } }; /** * @return {?} */ KreFormDSField.prototype.nzDefaultValueMax = /** * @return {?} */ function () { if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"]) { return Math.min((/** @type {?} */ (this.limit))["max"], (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"]); } else { return (/** @type {?} */ (this.limit))["max"]; } }; /** * @return {?} */ KreFormDSField.prototype.nzMaxMin = /** * @return {?} */ function () { /** @type {?} */ var min = (/** @type {?} */ (this.limit))["min"]; if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"] && !!this.formField.defaultValue) { min = Math.max((/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"], this.formField.defaultValue); } else if (!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"] && !!this.formField.defaultValue) { min = this.formField.defaultValue; } else if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"] && !this.formField.defaultValue) { min = (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["min"]; } else { min = (/** @type {?} */ (this.limit))["min"]; } return min; }; /** * @return {?} */ KreFormDSField.prototype.nzMaxMax = /** * @return {?} */ function () { /** @type {?} */ var max = (/** @type {?} */ (this.limit))["max"]; return max; }; /** * @return {?} */ KreFormDSField.prototype.nzMinMin = /** * @return {?} */ function () { return (/** @type {?} */ (this.limit))["min"]; }; /** * @return {?} */ KreFormDSField.prototype.nzMinMax = /** * @return {?} */ function () { /** @type {?} */ var max = (/** @type {?} */ (this.limit))["max"]; if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"] && !!this.formField.defaultValue) { max = Math.min((/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"], this.formField.defaultValue); } else if (!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"] && !!this.formField.defaultValue) { max = this.formField.defaultValue; } else if (!!(/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"] && !this.formField.defaultValue) { max = (/** @type {?} */ ((/** @type {?} */ (this.formField)).templateOptions))["max"]; } else { max = (/** @type {?} */ (this.limit))["max"]; } return max; }; KreFormDSField.decorators = [ { type: Component, args: [{ selector: "kreform-ds_field", template: "<div class=\"builder-content\">\n <div class=\"content\">\n <div class=\"label\">\u5B57\u6BB5\u540D\u79F0</div>\n <div class=\"control\">\n {{ formField.key }}\n </div>\n </div>\n <div\n class=\"content\"\n *ngIf=\"\n formField.type != 'repeat' &&\n formField.type != 'tabular' &&\n formField.type != 'line' &&\n formField.type != 'htmlcontent' &&\n formField.type != 'anchor'\n \"\n >\n <div class=\"label\">\u663E\u793A\u540D\u79F0</div>\n <div class=\"control\">\n <!-- {{ formField!.templateOptions!.label }} -->\n\n <input\n nz-input\n placeholder=\"\u663E\u793A\u540D\u79F0\"\n [(ngModel)]=\"formField!.templateOptions!.label\"\n />\n <!-- <demo-text-en\n [lang]=\"lang\"\n [labelI18n]=\"formField!.templateOptions!.labelI18n\"\n (inputChange)=\"nameChange($event)\"\n ></demo-text-en> -->\n </div>\n </div>\n <ng-container\n *ngIf=\"\n formField.type != 'repeat' &&\n formField.type != 'tabular' &&\n formField.type != 'line' &&\n formField.type != 'avatar' &&\n formField.type != 'button'\n \"\n >\n <div class=\"content\">\n <div class=\"label\">\u5B57\u4F53\u5927\u5C0F</div>\n <div class=\"control\">\n <nz-select\n [(ngModel)]=\"formField!.fontProperty!.fontSize\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u5B57\u4F53\u5927\u5C0F\"\n >\n <nz-option\n *ngFor=\"let i of fontSizeList\"\n [nzValue]=\"i\"\n [nzLabel]=\"i\"\n ></nz-option>\n </nz-select>\n </div>\n </div>\n\n <div class=\"content\">\n <div class=\"label\">\u5B57\u4F53\u989C\u8272</div>\n <div class=\"control\">\n <nz-input-group [nzSuffix]=\"topbarTemplate\">\n <input\n type=\"text\"\n [(colorPicker)]=\"formField!.fontProperty!.color\"\n [(ngModel)]=\"formField!.fontProperty!.color\"\n [ngModelOptions]=\"{ standalone: true }\"\n nz-input\n placeholder=\"\"\n />\n </nz-input-group>\n <ng-template #topbarTemplate>\n <div\n class=\"color-rect\"\n [ngStyle]=\"{ 'background-color': formField!.fontProperty!.color }\"\n ></div>\n </ng-template>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"label\">\u662F\u5426\u52A0\u7C97</div>\n <div class=\"control\">\n <nz-switch\n [(ngModel)]=\"formField!.fontProperty!.fontWeight\"\n nzCheckedChildren=\"\u662F\"\n nzUnCheckedChildren=\"\u5426\"\n >\n </nz-switch>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"label\">\u662F\u5426\u503E\u659C</div>\n <div class=\"control\">\n <nz-switch\n [(ngModel)]=\"formField!.fontProperty!.fontStyle\"\n nzCheckedChildren=\"\u662F\"\n nzUnCheckedChildren=\"\u5426\"\n >\n </nz-switch>\n </div>\n </div>\n </ng-container>\n\n <div class=\"content\" *ngIf=\"formField.type === 'textarea'\">\n <div class=\"label\">\u663E\u793A\u884C\u6570</div>\n <div class=\"control\">\n <nz-input-number\n [nzMin]=\"1\"\n [nzStep]=\"1\"\n [nzPrecision]=\"0\"\n [(ngModel)]=\"formField!.templateOptions!['rows']\"\n >\n </nz-input-number>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"\n formField.type === 'select' ||\n formField.type === 'text' ||\n formField.type === 'numbers' ||\n formField.type === 'textarea' ||\n formField.type === 'datetime'\n \"\n >\n <div class=\"content\" [class.textarea]=\"formField.type === 'textarea'\">\n <div class=\"label\">\u9ED8\u8BA4\u503C</div>\n <div class=\"control\" *ngIf=\"formField.type === 'text'\">\n <input\n nz-input\n placeholder=\"\u9ED8\u8BA4\u503C\"\n [(ngModel)]=\"formField.defaultValue\"\n />\n </div>\n <div class=\"control\" *ngIf=\"formField.type === 'textarea'\">\n <textarea\n [rows]=\"formField!.templateOptions!['rows']\"\n nz-input\n wrap=\"hard\"\n placeholder=\"\u9ED8\u8BA4\u503C\"\n [(ngModel)]=\"formField.defaultValue\"\n ></textarea>\n </div>\n\n <div class=\"control\" *ngIf=\"formField.type === 'numbers'\">\n <nz-input-number\n [(ngModel)]=\"formField.defaultValue\"\n [nzMin]=\"nzDefaultValueMin()\"\n [nzMax]=\"nzDefaultValueMax()\"\n [nzPrecision]=\"formField!.templateOptions!['precision']\"\n >\n </nz-input-number>\n </div>\n\n <div class=\"control\" *ngIf=\"formField.type === 'select'\">\n <nz-select\n [(ngModel)]=\"defaultValue\"\n (ngModelChange)=\"\n defaultValueChange($event, formField!.templateOptions!.selectType)\n \"\n nzAllowClear\n [nzMode]=\"\n formField!.templateOptions!.selectType === 'multiple'\n ? 'multiple'\n : 'default'\n \"\n [nzMaxTagCount]=\"3\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u9ED8\u8BA4\u503C\"\n >\n <nz-option\n *ngFor=\"let i of defaultList\"\n [nzValue]=\"i.value\"\n [nzLabel]=\"i.label\"\n ></nz-option>\n </nz-select>\n </div>\n\n <div class=\"control\" *ngIf=\"formField.type === 'datetime'\">\n <ng-container [ngSwitch]=\"formField!.templateOptions!.type\">\n <ng-container *ngSwitchCase=\"'datetime'\">\n <nz-date-picker\n nzShowTime\n [nzShowTime]=\"{ nzFormat: 'HH:mm' }\"\n nzFormat=\"yyyy/MM/dd HH:mm\"\n [(ngModel)]=\"formField.defaultValue\"\n (ngModelChange)=\"dateTimeChange($event, 'datetime')\"\n ></nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <nz-date-picker\n nzFormat=\"yyyy/MM/dd\"\n [(ngModel)]=\"formField.defaultValue\"\n (ngModelChange)=\"dateTimeChange($event, 'date')\"\n ></nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'year'\">\n <nz-year-picker\n nzFormat=\"yyyy\"\n [(ngModel)]=\"formField.defaultValue\"\n (ngModelChange)=\"dateTimeChange($event, 'year')\"\n ></nz-year-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'month'\">\n <nz-month-picker\n nzFormat=\"yyyy/MM\"\n [(ngModel)]=\"formField.defaultValue\"\n (ngModelChange)=\"dateTimeChange($event, 'month')\"\n ></nz-month-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'time'\">\n <nz-time-picker\n nzFormat=\"HH:mm\"\n [(ngModel)]=\"formField.defaultValue\"\n nzClearText=\"\"\n ></nz-time-picker>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <nz-date-picker\n nzShowTime\n [nzShowTime]=\"{ nzFormat: 'HH:mm' }\"\n nzFormat=\"yyyy/MM/dd HH:mm\"\n [(ngModel)]=\"formField.defaultValue\"\n ></nz-date-picker>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"content\" *ngIf=\"formField.type === 'select'\">\n <div class=\"label\">\u9690\u85CF\u9009\u9879\u503C</div>\n <div class=\"control\">\n <nz-select\n [(ngModel)]=\"hideSelect\"\n (ngModelChange)=\"hideSelectChange($event)\"\n nzAllowClear\n nzMode=\"multiple\"\n [nzMaxTagCount]=\"3\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u9690\u85CF\u9009\u9879\u503C\"\n >\n <nz-option\n *ngFor=\"let i of defaultList\"\n [nzValue]=\"i.value\"\n [nzLabel]=\"i.label\"\n ></nz-option>\n </nz-select>\n </div>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"formField.type === 'text' || formField.type === 'textarea'\"\n >\n <div class=\"content\">\n <div class=\"label\">\u6700\u5927\u957F\u5EA6</div>\n <div class=\"control\">\n <nz-input-number\n [nzMin]=\"limit!['minLength']\"\n [nzMax]=\"limit!['maxLength']\"\n [nzStep]=\"1\"\n [nzPrecision]=\"0\"\n [(ngModel)]=\"formField!.templateOptions!['maxLength']\"\n >\n </nz-input-number>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"label\">\u6700\u5C0F\u957F\u5EA6</div>\n <div class=\"control\">\n <nz-input-number\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [nzPrecision]=\"0\"\n [nzMin]=\"limit!['minLength']\"\n [nzMax]=\"limit!['maxLength']\"\n [(ngModel)]=\"formField!.templateOptions!['minLength']\"\n ></nz-input-number>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"formField.type === 'numbers'\">\n <div class=\"content\">\n <div class=\"label\">\u6700\u5927\u503C</div>\n <div class=\"control\">\n <nz-input-number\n [nzStep]=\"1\"\n [nzPrecision]=\"formField!.templateOptions!['precision']\"\n [nzMin]=\"nzMaxMin()\"\n [nzMax]=\"nzMaxMax()\"\n [(ngModel)]=\"formField!.templateOptions!['max']\"\n >\n </nz-input-number>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"label\">\u6700\u5C0F\u503C</div>\n <div class=\"control\">\n <nz-input-number\n [nzStep]=\"1\"\n [nzPrecision]=\"formField!.templateOptions!['precision']\"\n [nzMin]=\"nzMinMin()\"\n [nzMax]=\"nzMinMax()\"\n [(ngModel)]=\"formField!.templateOptions!['min']\"\n >\n </nz-input-number>\n </div>\n </div>\n <div\n class=\"content\"\n *ngIf=\"formField!.primitiveProperty!['precision'] != 0\"\n >\n <div class=\"label\">\u7CBE\u5EA6</div>\n <div class=\"control\">\n <nz-input-number\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [nzPrecision]=\"0\"\n [nzMax]=\"formField!.primitiveProperty!['precision']\"\n [(ngModel)]=\"formField!.templateOptions!['precision']\"\n >\n </nz-input-number>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"formField!.editProperty!.hide !== false\">\n <div class=\"content\">\n <div class=\"label\">\u662F\u5426\u9690\u85CF</div>\n <div class=\"control\">\n <nz-switch\n [(ngModel)]=\"formField.hide\"\n (ngModelChange)=\"fieldHideChange($event)\"\n nzCheckedChildren=\"\u662F\"\n nzUnCheckedChildren=\"\u5426\"\n >\n </nz-switch>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"formField.type === 'htmlcontent'\">\n <div class=\"content\">\n <div class=\"label\">\u662F\u5426\u4F5C\u4E3A\u5BFC\u822A</div>\n <div class=\"control\">\n <nz-switch\n [(ngModel)]=\"formField!.templateOptions!.isNav\"\n nzCheckedChildren=\"\u662F\"\n nzUnCheckedChildren=\"\u5426\"\n >\n </nz-switch>\n </div>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n formField.type != 'repeat' &&\n formField.type != 'tabular' &&\n formField.type != 'line' &&\n formField.type != 'htmlcontent' &&\n formField.type != 'button' &&\n formField.type != 'anchor'\n \"\n >\n <div class=\"content\">\n <div class=\"label\">\u662F\u5426\u5FC5\u586B</div>\n <div class=\"control\">\n <nz-switch\n [(ngModel)]=\"formField!.templateOptions!['required']\"\n nzCheckedChildren=\"\u662F\"\n nzUnCheckedChildren=\"\u5426\"\n >\n </nz-switch>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"label\">\u662F\u5426\u53EF\u7F16\u8F91</div>\n <div class=\"control\">\n <nz-switch\n [(ngModel)]=\"formField!.editor\"\n nzCheckedChildren=\"\u662F\"\n nzUnCheckedChildren=\"\u5426\"\n >\n </nz-switch>\n </div>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n formField.type != 'repeat' &&\n formField.type != 'tabular' &&\n formField.type != 'line' &&\n formField.type != 'htmlcontent' &&\n formField.type != 'button' &&\n formField.type != 'anchor'\n \"\n >\n <div class=\"content\">\n <div class=\"label\">\u8BF4\u660Etips</div>\n <div class=\"control\">\n <input\n nz-input\n placeholder=\"\u8BF4\u660Etips\"\n [(ngModel)]=\"formField!.templateOptions!.tips\"\n />\n <!-- <demo-text-en\n [langConfig]=\"langConfig\"\n [labelI18n]=\"formField!.templateOptions!.tipsI18n\"\n (inputChange)=\"tipsChange($event)\"\n ></demo-text-en> -->\n </div>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"formField.type == 'repeat' || formField.type == 'tabular'\"\n >\n <div class=\"content\">\n <div class=\"label\">\u6700\u591A\u6761\u6570</div>\n <div class=\"control\">\n <nz-input-number\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [nzPrecision]=\"0\"\n [(ngModel)]=\"formField!.templateOptions!['maxLength']\"\n >\n </nz-input-number>\n </div>\n </div>\n <div\n class=\"content\"\n *ngIf=\"formField.type == 'repeat' || formField.type == 'tabular'\"\n >\n <div class=\"label\">\u663E\u793A\u65B9\u5F0F</div>\n <div class=\"control\">\n <nz-select\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u663E\u793A\u65B9\u5F0F\"\n [(ngModel)]=\"formField!.templateOptions!['type']\"\n >\n <nz-option [nzLabel]=\"'\u5757\u72B6'\" [nzValue]=\"'card'\"></nz-option>\n <nz-option [nzLabel]=\"'\u5217\u8868'\" [nzValue]=\"'table'\"></nz-option>\n </nz-select>\n </div>\n </div>\n </ng-container>\n <!-- <div class=\"content\">\n <div class=\"label\">\n \u5360\u4F4D\u7B26\n </div>\n <div class=\"control\">\n <input nz-input [(ngModel)]=\"formField.templateOptions['placeholder']\" readonly disabled />\n </div>\n </div>\n <div class=\"content textarea\">\n <div class=\"label\">\n \u63D0\u793A\u4FE1\u606F\n </div>\n <div class=\"control\">\n <textarea nz-input rows=\"3\" [(ngModel)]=\"formField.templateOptions['tips']\" readonly disabled> </textarea>\n </div>\n </div> -->\n <ng-container\n *ngIf=\"formField.type == 'htmlcontent' || formField.type == 'anchor'\"\n >\n <div class=\"content textarea\">\n <div class=\"label\">\u6587\u672C\u63CF\u8FF0</div>\n <div class=\"control\">\n <textarea\n nz-input\n rows=\"3\"\n wrap=\"hard\"\n [(ngModel)]=\"formField!.templateOptions!['description']\"\n ></textarea>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n formField.type != 'repeat' &&\n formField.type != 'tabular' &&\n formField.type != 'line' &&\n formField.type != 'htmlcontent' &&\n formField.type != 'anchor' &&\n formField.type != 'upload'\n \"\n >\n <div class=\"content textarea\">\n <div class=\"label\">\u6B63\u5219\u8868\u8FBE\u5F0F</div>\n <div class=\"control\">\n <textarea\n nz-input\n rows=\"3\"\n [(ngModel)]=\"formField!.templateOptions!['pattern']\"\n >\n </textarea>\n </div>\n </div>\n </ng-container>\n</div>\n<div class=\"vxbutton\" style=\"display: none\">\n <button id=\"btn-basic-save\" form=\"kreform\">SAVE</button>\n</div>\n", providers: [KreSetFormFieldService], styles: [":host ::ng-deep .builder-content{width:100%;padding:18px 0 0 12px;display:inline-block}:host ::ng-deep .builder-content .content{width:50%;float:left;margin:0 0 15px;min-height:45px;display:flex}:host ::ng-deep .builder-content .content .label{width:120px;text-align:right;padding:5px 10px 0 0}:host ::ng-deep .builder-content .content .control{flex:1;padding:0 15px 0 0}:host ::ng-deep .builder-content .content .control .ant-input-number,:host ::ng-deep .builder-content .content .control nz-select{width:100%!important}:host ::ng-deep .builder-content .content .color-rect{width:20px;height:20px}:host ::ng-deep .builder-content .textarea{width:100%}"] }] } ]; /** @nocollapse */ KreFormDSField.ctorParameters = function () { return [ { type: NzMessageService }, { type: FormBuilder }, { type: KreFormCommonService }, { type: KreSetFormFieldService }, { type: ElementRef } ]; }; KreFormDSField.propDecorators = { langConfig: [{ type: Input }], field: [{ type: Input }], modalType: [{ type: Input }], options: [{ type: Input }] }; return KreFormDSField; }()); export { KreFormDSField }; if (false) { /** @type {?} */ KreFormDSField.prototype.formField; /** @type {?} */ KreFormDSField.prototype.fontSizeList; /** @type {?} */ KreFormDSField.prototype.defaultList; /** @type {?} */ KreFormDSField.prototype.defaultValue; /** @type {?} */ KreFormDSField.prototype.hideSelect; /** @type {?} */ KreFormDSField.prototype._langConfig; /** @type {?} */ KreFormDSField.prototype.limit; /** @type {?} */ KreFormDSField.prototype.modalType; /** @type {?} */ KreFormDSField.prototype.form; /** @type {?} */ KreFormDSField.prototype.model; /** @type {?} */ KreFormDSField.prototype.formFildConfig; /** @type {?} */ KreFormDSField.prototype.globalSubmit; /** @type {?} */ KreFormDSField.prototype.tmp; /** @type {?} */ KreFormDSField.prototype.message; /** * @type {?} * @private */ KreFormDSField.prototype.fb; /** @type {?} */ KreFormDSField.prototype.kreFormCommonService; /** @type {?} */ KreFormDSField.prototype.kreSetFieldService; /** * @type {?} * @private */ KreFormDSField.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9kZXNpZ24vZmllbGQvaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFLTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBT0wsb0JBQW9CLEdBR3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7SUFDNUIsTUFBTSxHQUFHLE9BQU87QUFDdEI7SUE4T0Usd0JBQ1MsT0FBeUIsRUFDeEIsRUFBZSxFQUNoQixvQkFBMEMsRUFDMUMsa0JBQTBDLEVBQ3pDLEVBQWM7UUFKZixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN4QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2hCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QjtRQUN6QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBNU94QixjQUFTLEdBQVE7WUFDZixHQUFHLEVBQUUsRUFBRTtZQUNQLElBQUksRUFBRSxFQUFFO1lBQ1IsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxJQUFJO2dCQUNWLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixXQUFXLEVB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