@kre-form/ant
Version:
748 lines • 86.4 kB
JavaScript
/**
* @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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