UNPKG

fx-form-widget

Version:
91 lines (88 loc) 2.83 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _mobx = require("mobx"); var Schema = function Schema() { var _this = this; this.schemaData = []; this.globalData = { // 全局数据 displayType: 'row', labelWidth: 110, column: 1, unEditable: false // 判断是编辑还是详情状态 true详情/false编辑 }; this.dynamicForm = null; this.onSchemaChange = function (type, newSchemaData, dropId, position) { var schemaData = [].concat(_this.schemaData); var _index = -1, _insideIndex = -1, _idx = -1, _insideIdx = -1; //_index: 移动点在schemaData第一层的位置, _insideIndex: 移动点在schemaData第二层的位置, _idx: drop点schemaData第一层的位置, _insideIdx: drop点在schemaData children里的位置 if (['remove', 'edit', 'sort'].indexOf(type) > -1) { schemaData.forEach(function (schemaDataItem, index) { var pid = schemaDataItem.pid, _schemaDataItem$child = schemaDataItem.children, children = _schemaDataItem$child === void 0 ? [] : _schemaDataItem$child; if (pid === 3) { // 为布局组件时 _insideIndex = children.findIndex(function (item) { return item.wid === newSchemaData.wid; }); if (_insideIndex !== -1) { // 当在children里找到时 _index = index; } else { if (schemaDataItem.wid === newSchemaData.wid) _index = index; } } else { if (schemaDataItem.wid === newSchemaData.wid) _index = index; } }); } switch (type) { case 'edit': if (_insideIndex === -1) { // @ts-ignore schemaData.splice(_index, 1, newSchemaData); } else { // @ts-ignore schemaData[_index].children.splice(_insideIndex, 1, newSchemaData); } break; default: return; } _this.schemaData = schemaData; }; this.onGlobalDataChange = function (data) { if (data === void 0) { data = {}; } return _this.globalData = data; }; this.onSchemaDataChange = function (data) { if (data === void 0) { data = {}; } return _this.schemaData = data; }; this.onDynamicFormChange = function (data) { if (data === void 0) { data = null; } return _this.dynamicForm = data; }; this.updateState = function (params) { for (var _i = 0, _Object$entries = Object.entries(params); _i < _Object$entries.length; _i++) { var _Object$entries$_i = _Object$entries[_i], _key = _Object$entries$_i[0], value = _Object$entries$_i[1]; _this[_key] = value; } }; (0, _mobx.makeAutoObservable)(this); } // 组件数据 ; var _default = exports["default"] = new Schema();