@kre-form/ant
Version:
1,038 lines (1,035 loc) • 98.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, Inject } from "@angular/core";
import { Guid, clone, } from "@kre-form/core";
import { KreToFormFieldService } from "./formFieldService";
import * as _ from "lodash";
export class KreTransferService {
/**
* @param {?} toFormField
*/
constructor(toFormField) {
this.toFormField = toFormField;
}
/**
* @param {?} form_fields
* @param {?} checkedFields
* @return {?}
*/
transferLineToForm(form_fields, checkedFields) {
/** @type {?} */
let obj = this.getFieldLineInfo();
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
form_fields.splice(checkedField.index + 1, 0, obj);
}
else {
form_fields.push(obj);
}
}
/**
* @param {?} form_fields
* @param {?} checkedFields
* @return {?}
*/
transferReferProcessToForm(form_fields, checkedFields) {
/** @type {?} */
let obj = this.getFieldReferProcessInfo();
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
form_fields.splice(checkedField.index + 1, 0, obj);
}
else {
form_fields.push(obj);
}
}
/**
* @param {?} form_fields
* @param {?} checkedFields
* @return {?}
*/
transferAnchorToForm(form_fields, checkedFields) {
/** @type {?} */
let obj = this.getFieldAnchorInfo();
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
form_fields.splice(checkedField.index + 1, 0, obj);
}
else {
form_fields.push(obj);
}
}
/**
* @param {?} form_fields
* @param {?} checkedFields
* @return {?}
*/
transferLabelToForm(form_fields, checkedFields) {
/** @type {?} */
let obj = this.getFieldRemarkInfo();
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
form_fields.splice(checkedField.index + 1, 0, obj);
}
else {
form_fields.push(obj);
}
}
/**
* @param {?} form_fields
* @param {?} checkedFields
* @param {?} tableCode
* @param {?=} businessTable
* @return {?}
*/
transferGroupToForm(form_fields, checkedFields, tableCode, businessTable) {
/** @type {?} */
let obj = this.getFieldGroupInfo(tableCode, businessTable);
obj.tableCode = tableCode;
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
form_fields.splice(checkedField.index + 1, 0, obj);
}
else {
form_fields.push(obj);
}
}
/**
* @param {?} form_fields
* @param {?} checkedFields
* @param {?} businessTable
* @param {?} obj
* @return {?}
*/
transferSelectFieldToForm(form_fields, checkedFields, businessTable, obj) {
/** @type {?} */
let selectFields = [];
/** @type {?} */
let tableFields = [];
/** @type {?} */
let addFields = [];
/** @type {?} */
let beginIndex = 0;
Object.getOwnPropertyNames(obj).forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (obj[item]) {
selectFields.push(item);
}
}));
if (!selectFields || selectFields.length < 1)
return;
tableFields = this.getTableFiledList(businessTable);
if (!tableFields || tableFields.length < 1)
return;
if (form_fields && form_fields.length > 0) {
beginIndex = form_fields.length;
}
selectFields.forEach((/**
* @param {?} key
* @return {?}
*/
(key) => {
/** @type {?} */
let tableField = this.getTableFiledInfo(key, tableFields);
if (tableField != null) {
/** @type {?} */
let formField = this.toFormField.getKreFiledFunction(tableField);
if (formField && formField != null) {
addFields.push(formField);
}
}
}));
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
beginIndex = checkedField.index + 1;
}
addFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
form_fields.splice(beginIndex + index, 0, item);
}));
}
/**
* @param {?} form_fields
* @param {?} field
* @param {?} type
* @return {?}
*/
groupFieldMoveUpOrDown(form_fields, field, type) {
this.clearGroupChecked(field);
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let cloneField = clone(field);
/** @type {?} */
let checkedFields = this.getGroupCheckFields(cloneField);
if (checkedFields) {
if (type === "up") {
checkedFields.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (item.index > 0) {
_.get(cloneField, "fieldArray.fieldGroup").splice(item.index, 1);
_.get(cloneField, "fieldArray.fieldGroup").splice(item.index - 1, 0, item.field);
}
}));
}
else if (type === "down") {
checkedFields.reverse().forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (item.index <
_.get(cloneField, "fieldArray.fieldGroup").length - 1) {
_.get(cloneField, "fieldArray.fieldGroup").splice(item.index, 1);
_.get(cloneField, "fieldArray.fieldGroup").splice(item.index + 1, 0, item.field);
}
}));
}
}
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === cloneField.key) {
item.fieldArray = cloneField.fieldArray;
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}
}));
return cloneFields;
}
/**
* @param {?} form_fields
* @param {?} field
* @return {?}
*/
groupTransferLineToForm(form_fields, field) {
this.clearGroupChecked(field);
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let cloneField = clone(field);
/** @type {?} */
let obj = this.getFieldLineInfo();
/** @type {?} */
let checkedFields = this.getGroupCheckFields(cloneField);
if (!cloneField)
return null;
if (!cloneField.fieldArray ||
!cloneField.fieldArray.fieldGroup ||
cloneField.fieldArray.fieldGroup.length < 1) {
_.get(cloneField, "fieldArray.fieldGroup", []);
}
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
_.get(checkedField, "checked", true);
_.get(cloneField, "fieldArray.fieldGroup").splice(checkedField.index + 1, 0, obj);
}
else {
_.get(cloneField, "fieldArray.fieldGroup").push(obj);
}
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === cloneField.key) {
item.fieldArray = cloneField.fieldArray;
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}
}));
return cloneFields;
}
/**
* @param {?} form_fields
* @param {?} field
* @return {?}
*/
groupTransferRemarkToForm(form_fields, field) {
this.clearGroupChecked(field);
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let cloneField = clone(field);
/** @type {?} */
let obj = this.getFieldRemarkInfo();
/** @type {?} */
let checkedFields = this.getGroupCheckFields(cloneField);
if (!cloneField)
return null;
if (!cloneField.fieldArray ||
!cloneField.fieldArray.fieldGroup ||
cloneField.fieldArray.fieldGroup.length < 1) {
_.get(cloneField, "fieldArray.fieldGroup", []);
}
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
_.get(checkedField, "checked", true);
_.get(cloneField, "fieldArray.fieldGroup").splice(checkedField.index + 1, 0, obj);
}
else {
_.get(cloneField, "fieldArray.fieldGroup").push(obj);
}
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === cloneField.key) {
item.fieldArray = cloneField.fieldArray;
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}
}));
return cloneFields;
}
/**
* @param {?} form_fields
* @param {?} groupField
* @param {?} checkedFields
* @param {?} businessTable
* @param {?} obj
* @return {?}
*/
groupTransferSelectFieldToForm(form_fields, groupField, checkedFields, businessTable, obj) {
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let cloneGroupField = clone(groupField);
/** @type {?} */
let selectFields = [];
/** @type {?} */
let tableFields = [];
/** @type {?} */
let addFields = [];
/** @type {?} */
let beginIndex = 0;
Object.getOwnPropertyNames(obj).forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (obj[item]) {
selectFields.push(item);
}
}));
if (!selectFields || selectFields.length < 1)
return;
tableFields = this.getTableFiledList(businessTable);
if (!tableFields || tableFields.length < 1)
return;
if (!cloneGroupField.fieldArray ||
!cloneGroupField.fieldArray.fieldGroup ||
cloneGroupField.fieldArray.fieldGroup.length < 1) {
//_.get(cloneGroupField, "fieldArray.fieldGroup", []);
if (cloneGroupField.fieldArray == undefined ||
cloneGroupField.fieldArray == null ||
cloneGroupField.fieldArray.fieldGroup == undefined ||
cloneGroupField.fieldArray.fieldGroup == null) {
cloneGroupField.fieldArray = {
fieldGroup: [],
};
}
}
if (cloneGroupField &&
cloneGroupField.fieldArray &&
cloneGroupField.fieldArray.fieldGroup &&
cloneGroupField.fieldArray.fieldGroup.length > 0) {
beginIndex = cloneGroupField.fieldArray.fieldGroup.length;
}
selectFields.forEach((/**
* @param {?} key
* @return {?}
*/
(key) => {
/** @type {?} */
let tableField = this.getTableFiledInfo(key, tableFields);
if (tableField != null) {
/** @type {?} */
let formField = this.toFormField.getKreFiledFunction(tableField);
if (formField && formField != null) {
addFields.push(formField);
}
}
}));
if (checkedFields && checkedFields.length > 0) {
/** @type {?} */
let checkedField = checkedFields[checkedFields.length - 1];
beginIndex = checkedField.index + 1;
}
else {
}
addFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
_.get(cloneGroupField, "fieldArray.fieldGroup").splice(beginIndex + index, 0, item);
}));
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === cloneGroupField.key) {
item.fieldArray = cloneGroupField.fieldArray;
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}
}));
return cloneFields;
}
/**
* @param {?} form_fields
* @param {?} field
* @return {?}
*/
groupTransferDeleteForm(form_fields, field) {
this.clearGroupChecked(field);
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let cloneField = clone(field);
/** @type {?} */
let checkedFields = this.getGroupCheckFields(cloneField);
if (!checkedFields || checkedFields == null || checkedFields.length < 1) {
return;
}
if (!cloneField.fieldArray ||
!cloneField.fieldArray.fieldGroup ||
cloneField.fieldArray.fieldGroup.length < 1) {
return;
}
checkedFields.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
_.get(cloneField, "fieldArray.fieldGroup").forEach((/**
* @param {?} field
* @param {?} index
* @param {?} object
* @return {?}
*/
(field, index, object) => {
if (field.key === item.field.key &&
(field.templateOptions == null ||
field.templateOptions.isButintin == undefined ||
field.templateOptions.isButintin == null ||
field.templateOptions.isButintin == false)) {
object.splice(index, 1);
}
}));
}));
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === cloneField.key) {
item.fieldArray = cloneField.fieldArray;
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}
}));
return cloneFields;
}
/*
groupTransferDeleteForm(
form_fields: KreFormFieldConfig[],
groupField: KreFormFieldConfig
) {
let cloneFields: KreFormFieldConfig[] = clone(form_fields);
let cloneGroupField: KreFormFieldConfig = clone(groupField);
let checkedFields: ICheckedField[] =
this.getGroupCheckFields(cloneGroupField);
if (!checkedFields || checkedFields == null || checkedFields.length < 1) {
return;
}
if (
!cloneGroupField.fieldArray ||
!cloneGroupField.fieldArray.fieldGroup ||
cloneGroupField.fieldArray.fieldGroup.length < 1
) {
return;
}
checkedFields.forEach((item: any) => {
_.get(cloneGroupField, "fieldArray.fieldGroup").forEach(
(field: any, index: any, object: any) => {
if (
field.key === item.field.key &&
(field.templateOptions == null ||
field.templateOptions.isButintin == undefined ||
field.templateOptions.isButintin == null ||
field.templateOptions.isButintin == false)
) {
object.splice(index, 1);
}
}
);
});
cloneFields.forEach((item: any, index: any, object: any) => {
if (item.key === cloneGroupField.key) {
item.fieldArray = cloneGroupField.fieldArray;
if (
item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat"
) {
delete item.fieldGroup;
}
}
});
return cloneFields;
}
*/
/**
* @param {?} form_fields
* @param {?} new_field
* @return {?}
*/
editFormFieldInfo(form_fields, new_field) {
if (!form_fields)
return;
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let groupKey = "";
cloneFields.forEach((/**
* @param {?} field
* @param {?} index
* @param {?} object
* @return {?}
*/
(field, index, object) => {
if (field.type === "repeat") {
if (field.key === new_field.key) {
if (field.templateOptions == undefined ||
field.templateOptions == null) {
field.templateOptions = {};
}
if (field.templateOptions &&
field.templateOptions != null &&
new_field.templateOptions &&
new_field.templateOptions != null &&
new_field.templateOptions.type &&
new_field.templateOptions.type != null) {
field.templateOptions.type = new_field.templateOptions.type;
}
if (field.templateOptions &&
field.templateOptions != null &&
new_field.templateOptions &&
new_field.templateOptions != null &&
new_field.templateOptions.maxLength &&
new_field.templateOptions.maxLength != null) {
field.templateOptions.maxLength =
new_field.templateOptions.maxLength;
}
field.show = new_field.show;
field.hide = new_field.hide;
}
if (field.fieldArray &&
field.fieldArray.fieldGroup &&
field.fieldArray.fieldGroup.length > 0) {
_.get(field, "fieldArray.fieldGroup").forEach((/**
* @param {?} groupField
* @param {?} groupIndex
* @param {?} groupObject
* @return {?}
*/
(groupField, groupIndex, groupObject) => {
if (groupField.key === new_field.key) {
groupKey = field.key;
groupObject.splice(groupIndex, 1);
groupObject.splice(groupIndex, 0, new_field);
}
}));
}
}
else {
if (field.key === new_field.key) {
object.splice(index, 1);
object.splice(index, 0, new_field);
}
}
}));
if (groupKey != null && groupKey != "") {
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}));
}
return {
groupKey: groupKey,
formFileds: cloneFields,
};
}
/**
* @param {?} form_fields
* @param {?} field
* @return {?}
*/
deleteFormFieldInfo(form_fields, field) {
/** @type {?} */
let cloneFields = clone(form_fields);
/** @type {?} */
let cloneField = clone(field);
/** @type {?} */
let groupKey;
if (cloneFields != undefined &&
cloneFields != null &&
cloneField != undefined &&
cloneField != null &&
cloneFields.length > 0) {
if (cloneField.key != undefined && cloneField.key != null) {
cloneFields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === cloneField.key) {
object.splice(index, 1);
}
if (item.fieldArray != undefined &&
item.fieldArray != null &&
item.fieldArray.fieldGroup != undefined &&
item.fieldArray.fieldGroup != null) {
/** @type {?} */
let res = this.deleteGroupFormFieldInfo(item, field);
if (res != null && res != "") {
groupKey = res;
if (item.hasOwnProperty("type") &&
item.hasOwnProperty("fieldGroup") &&
item.type === "repeat") {
delete item.fieldGroup;
}
}
}
}));
}
}
return {
groupKey: groupKey,
formFileds: cloneFields,
};
}
/**
* @private
* @param {?} fields
* @param {?} field
* @return {?}
*/
deleteGroupFormFieldInfo(fields, field) {
/** @type {?} */
let form_fields = [];
/** @type {?} */
let groupKey = "";
if (fields.fieldArray != undefined &&
fields.fieldArray != null &&
fields.fieldArray.fieldGroup != undefined &&
fields.fieldArray.fieldGroup != null) {
form_fields = fields.fieldArray.fieldGroup;
if (form_fields != undefined &&
form_fields != null &&
field != undefined &&
field != null &&
form_fields.length > 0) {
if (field.key != undefined && field.key != null) {
form_fields.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
(item, index, object) => {
if (item.key === field.key) {
if (fields.key != undefined && fields.key != null) {
groupKey = fields.key;
object.splice(index, 1);
}
}
}));
}
}
}
return groupKey;
}
/**
* @private
* @return {?}
*/
getFieldLineInfo() {
/** @type {?} */
let obj = {
key: Guid.create()["value"],
guid: Guid.create()["value"],
type: "line",
status: 1,
};
return obj;
}
/**
* @private
* @return {?}
*/
getFieldRemarkInfo() {
/** @type {?} */
let obj = {
key: Guid.create()["value"],
guid: Guid.create()["value"],
type: "htmlcontent",
templateOptions: {
description: "片段文本描述",
isNav: true,
},
status: 1,
};
return obj;
}
/**
* @private
* @return {?}
*/
getFieldAnchorInfo() {
/** @type {?} */
let obj = {
key: Guid.create()["value"],
guid: Guid.create()["value"],
type: "anchor",
status: 1,
};
return obj;
}
/**
* @private
* @return {?}
*/
getFieldReferProcessInfo() {
/** @type {?} */
let obj = {
key: "comprehensive$df_comprehensiveapply$associationprocess",
guid: Guid.create()["value"],
type: "referProcess",
status: 1,
templateOptions: {
showFieldButton: false,
type: "table",
label: "关联流程",
},
fieldArray: {
fieldGroup: [
{
key: "comprehensive$df_comprehensiveapply$associationprocessid",
type: "input",
editor: false,
show: true,
templateOptions: {
isButintin: false,
required: false,
description: "实例ID",
isNav: true,
hideLabel: false,
hiddenTree: false,
label: "实例ID",
placeholder: "",
lang: "",
},
editProperty: {
config: false,
},
id: `formly_17_select_comprehensive$df_comprehensiveapply$associationprocessid_${Math.random()}`,
hooks: {},
primitiveProperty: {},
},
{
key: "comprehensive$df_comprehensiveapply$associationprocessname",
type: "select",
editor: false,
show: true,
templateOptions: {
isButintin: false,
required: false,
description: "关联流程",
isNav: true,
hideLabel: false,
hiddenTree: false,
label: "关联流程",
placeholder: "",
lang: "",
},
editProperty: {
config: false,
},
id: `formly_17_select_comprehensive$df_comprehensiveapply$associationprocessname_${Math.random()}`,
hooks: {},
primitiveProperty: {},
},
],
},
};
return obj;
}
/**
* @private
* @param {?} tableCode
* @param {?} businessTable
* @return {?}
*/
getFieldGroupInfo(tableCode, businessTable) {
/** @type {?} */
let type = "card";
if (businessTable &&
businessTable.child &&
businessTable.child.multiple &&
businessTable.child.multiple.length > 0) {
businessTable.child.multiple.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (item.tableCode === tableCode &&
item.secondType !== undefined &&
item.secondType !== null &&
item.secondType !== "") {
type = item.secondType;
}
}));
}
/** @type {?} */
let obj = {
key: tableCode,
guid: Guid.create()["value"],
type: "repeat",
fieldArray: {
fieldGroup: [],
},
templateOptions: {
type: type,
maxLength: 10,
},
tableCode: "",
status: 1,
};
return obj;
}
//清空选中
/**
* @private
* @param {?} field
* @return {?}
*/
clearGroupChecked(field) {
if (!field ||
!field.fieldArray ||
!field.fieldArray.fieldGroup ||
!field.fieldGroup)
return;
field.fieldArray.fieldGroup.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
item.checked = false;
}));
}
//获取选中
/**
* @param {?} field
* @return {?}
*/
getGroupCheckFields(field) {
/** @type {?} */
let checkedField = [];
if (!field ||
!field.fieldArray ||
!field.fieldArray.fieldGroup ||
!field.fieldGroup ||
field.fieldGroup.length < 1) {
return checkedField;
}
_.get(field, "fieldGroup[0].fieldGroup").forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
if (item.checked) {
checkedField.push({ index: index, field: item });
_.get(field, "fieldArray.fieldGroup")[index].checked = true;
}
}));
return checkedField;
}
/**
* @private
* @param {?} businessTable
* @return {?}
*/
getTableFiledList(businessTable) {
/** @type {?} */
let tableFields = [];
if (businessTable) {
if (businessTable.primary &&
businessTable.primary != null &&
businessTable.primary.tableFields &&
businessTable.primary.tableFields != null &&
businessTable.primary.tableFields.length > 0) {
if (businessTable.primary.tableFields) {
businessTable.primary.tableFields.forEach((/**
* @param {?} el
* @return {?}
*/
(el) => {
el["tableCode"] = businessTable.primary.tableCode;
}));
tableFields = tableFields.concat(businessTable.primary.tableFields);
}
}
if (businessTable.child && businessTable.child != null) {
if (businessTable.child.single &&
businessTable.child.single != null &&
businessTable.child.single.length > 0) {
businessTable.child.single.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (item.tableFields) {
item.tableFields.forEach((/**
* @param {?} el
* @return {?}
*/
(el) => {
el["tableCode"] = (/** @type {?} */ (item)).tableCode;
}));
tableFields = tableFields.concat(item.tableFields);
}
}));
}
if (businessTable.child.multiple &&
businessTable.child.multiple != null &&
businessTable.child.multiple.length > 0) {
businessTable.child.multiple.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
if (item.tableFields) {
item.tableFields.forEach((/**
* @param {?} el
* @return {?}
*/
(el) => {
el["tableCode"] = (/** @type {?} */ (item)).tableCode;
}));
tableFields = tableFields.concat(item.tableFields);
}
}));
}
}
}
return tableFields;
}
/**
* @private
* @param {?} key
* @param {?} tableFields
* @return {?}
*/
getTableFiledInfo(key, tableFields) {
/** @type {?} */
let resValue = {};
if (key && tableFields && tableFields.length > 0) {
/** @type {?} */
let filterField = tableFields.filter((/**
* @param {?} item
* @return {?}
*/
(item) => {
return item["fieldCode"] === key;
}));
if (filterField && filterField.length > 0) {
return filterField[0];
}
return resValue;
}
return resValue;
}
}
KreTransferService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
KreTransferService.ctorParameters = () => [
{ type: KreToFormFieldService, decorators: [{ type: Inject, args: [KreToFormFieldService,] }] }
];
if (false) {
/**
* @type {?}
* @private
*/
KreTransferService.prototype.toFormField;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi90b29scy90cmFuc2ZlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFHTCxJQUFJLEVBQ0osS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0QsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFHNUIsTUFBTSxPQUFPLGtCQUFrQjs7OztJQUM3QixZQUVVLFdBQWtDO1FBQWxDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtJQUN6QyxDQUFDOzs7Ozs7SUFFSixrQkFBa0IsQ0FDaEIsV0FBaUMsRUFDakMsYUFBOEI7O1lBRTFCLEdBQUcsR0FBdUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3JELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOztnQkFDekMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMxRCxXQUFXLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7Ozs7OztJQUNELDBCQUEwQixDQUN4QixXQUFpQyxFQUNqQyxhQUE4Qjs7WUFFMUIsR0FBRyxHQUF1QixJQUFJLENBQUMsd0JBQXdCLEVBQUU7UUFDN0QsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2dCQUN6QyxZQUFZLEdBQUcs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