UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

77 lines (76 loc) 3.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var factory_1 = require("./factory"); var helper_1 = require("./utils/helper"); // input-kv 实际上是 combo 的一种扩展 (0, factory_1.addSchemaFilter)(function (schema, renderer, props) { var _a, _b; if (schema && schema.type === 'input-kv') { return (0, tslib_1.__assign)((0, tslib_1.__assign)({ draggable: true }, schema), { multiple: true, pipeIn: function (value) { if (!(0, helper_1.isObject)(value)) { return []; } var arr = []; Object.keys(value).forEach(function (key) { var valueType = typeof value[key]; if (key.endsWith('___tmp')) { arr.push({ key: key.replace('___tmp', ''), value: '' }); } else { arr.push({ key: key || '', value: valueType === 'string' || valueType === 'number' || valueType === 'boolean' ? value[key] : JSON.stringify(value[key]) }); } }); return arr; }, pipeOut: function (value) { if (!Array.isArray(value)) { return value; } var obj = {}; value.forEach(function (item) { var _a, _b, _c; var key = (_a = item.key) !== null && _a !== void 0 ? _a : ''; var value = (_c = (_b = item.value) !== null && _b !== void 0 ? _b : schema.defaultValue) !== null && _c !== void 0 ? _c : ''; if (typeof value === 'string' && value.startsWith('{')) { try { value = JSON.parse(value); } catch (e) { } } // 如果先输入了 a 作为 key,想输入 aa 的时候会先进入这里,导致无法输入 aa,因此当遇到 key 相同的时候加个 ___tmp 后缀 if (key in obj) { obj[key + '___tmp'] = value; } else { obj[key] = value; } }); return obj; }, items: [ { placeholder: (_a = schema.keyPlaceholder) !== null && _a !== void 0 ? _a : 'Key', type: 'input-text', unique: true, name: 'key', required: true }, { placeholder: (_b = schema.valuePlaceholder) !== null && _b !== void 0 ? _b : 'Value', type: schema.valueType || 'input-text', name: 'value' } ] }); } return schema; }); //# sourceMappingURL=./schemaExtend.js.map