@nokecy/qc-ui 1.1.38 → 1.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +33 -20
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +37 -1
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +120 -79
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +52 -36
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +14 -3
- package/dist/cjs/array-table/arrayAddBtn.js +26 -17
- package/dist/cjs/array-table/hooks.d.ts +2 -1
- package/dist/cjs/array-table/hooks.js +23 -43
- package/dist/cjs/array-table/index.js +105 -25
- package/dist/cjs/array-table/preview.js +1 -1
- package/dist/cjs/array-table/readOnlyFormatters.d.ts +28 -0
- package/dist/cjs/array-table/readOnlyFormatters.js +113 -0
- package/dist/cjs/array-table/utils.d.ts +2 -2
- package/dist/cjs/array-table/utils.js +162 -11
- package/dist/cjs/editable/index.js +3 -1
- package/dist/cjs/formDesigner/FormDesigner.js +3 -2
- package/dist/cjs/formDesigner/preWidgets/index.d.ts +1 -10
- package/dist/cjs/formDesigner/preWidgets/index.js +1 -100
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty.d.ts +11 -0
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty.js +70 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +33 -20
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +37 -1
- package/dist/esm/ag-grid-plus/context/useSchemeManager.js +120 -79
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +52 -36
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +13 -0
- package/dist/esm/array-table/arrayAddBtn.js +26 -17
- package/dist/esm/array-table/hooks.d.ts +2 -1
- package/dist/esm/array-table/hooks.js +23 -43
- package/dist/esm/array-table/index.js +107 -27
- package/dist/esm/array-table/preview.js +2 -2
- package/dist/esm/array-table/readOnlyFormatters.d.ts +28 -0
- package/dist/esm/array-table/readOnlyFormatters.js +107 -0
- package/dist/esm/array-table/utils.d.ts +2 -2
- package/dist/esm/array-table/utils.js +162 -11
- package/dist/esm/editable/index.js +3 -1
- package/dist/esm/formDesigner/FormDesigner.js +3 -2
- package/dist/esm/formDesigner/preWidgets/index.d.ts +1 -10
- package/dist/esm/formDesigner/preWidgets/index.js +1 -10
- package/dist/esm/formDesigner/preWidgets/preDefineProperty.d.ts +11 -0
- package/dist/esm/formDesigner/preWidgets/{preDefineProperty1/preview.js → preDefineProperty.js} +49 -30
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/preview.js +0 -51
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/preview.js +0 -50
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.js +0 -43
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
var _excluded = ["hide", "sort", "sortIndex"];
|
|
2
|
+
var _excluded = ["hide", "sort", "sortIndex", "forceAgField"];
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -11,6 +11,7 @@ import React from 'react';
|
|
|
11
11
|
import { useField, useFieldSchema, RecursionField } from '@formily/react';
|
|
12
12
|
import { isArr } from '@formily/shared';
|
|
13
13
|
import ArrayBase from "./arrayBase";
|
|
14
|
+
import { getReadOnlyFormatter } from "./readOnlyFormatters";
|
|
14
15
|
var isColumnComponent = function isColumnComponent(schema) {
|
|
15
16
|
var _schema$xComponent;
|
|
16
17
|
return ((_schema$xComponent = schema['x-component']) === null || _schema$xComponent === void 0 ? void 0 : _schema$xComponent.indexOf('Column')) > -1;
|
|
@@ -102,24 +103,26 @@ var useArrayTableActions = function useArrayTableActions() {
|
|
|
102
103
|
return schema.properties ? parseSources(schema.properties['actions'] || {}) : [];
|
|
103
104
|
};
|
|
104
105
|
var AgField = function AgField(_ref) {
|
|
105
|
-
var _ref2, _node$rowIndex;
|
|
106
|
+
var _field$value$indexOf, _field$value, _field$value$indexOf2, _ref2, _node$rowIndex;
|
|
106
107
|
var value = _ref.value,
|
|
107
108
|
record = _ref.data,
|
|
108
109
|
dataSource = _ref.dataSource,
|
|
109
110
|
schema = _ref.schema,
|
|
110
111
|
field = _ref.field,
|
|
111
112
|
node = _ref.node;
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
|
|
113
|
+
// 数据序绑定:用 field.value.indexOf(record) 取数据数组下标(record === field.value 元素引用)。
|
|
114
|
+
// 排序/过滤后 node.rowIndex 是显示序 ≠ 数据序,会把单元格绑到别的行——故 indexOf 优先,
|
|
115
|
+
// 仅在未命中(理论不应发生)时才回退 rowIndex/dataSource。@author nokecy
|
|
116
|
+
var dataIndex = (_field$value$indexOf = field === null || field === void 0 || (_field$value = field.value) === null || _field$value === void 0 || (_field$value$indexOf2 = _field$value.indexOf) === null || _field$value$indexOf2 === void 0 ? void 0 : _field$value$indexOf2.call(_field$value, record)) !== null && _field$value$indexOf !== void 0 ? _field$value$indexOf : -1;
|
|
117
|
+
var index = dataIndex >= 0 ? dataIndex : (_ref2 = (_node$rowIndex = node === null || node === void 0 ? void 0 : node.rowIndex) !== null && _node$rowIndex !== void 0 ? _node$rowIndex : dataSource === null || dataSource === void 0 ? void 0 : dataSource.indexOf(record)) !== null && _ref2 !== void 0 ? _ref2 : -1;
|
|
115
118
|
var children =
|
|
116
119
|
/*#__PURE__*/
|
|
117
120
|
//@ts-ignore
|
|
118
121
|
React.createElement(ArrayBase.Item, {
|
|
119
122
|
index: index,
|
|
120
123
|
record: function record() {
|
|
121
|
-
var _field$
|
|
122
|
-
return (_field$
|
|
124
|
+
var _field$value2;
|
|
125
|
+
return (_field$value2 = field.value) === null || _field$value2 === void 0 ? void 0 : _field$value2[index];
|
|
123
126
|
},
|
|
124
127
|
schema: schema,
|
|
125
128
|
field: field
|
|
@@ -130,7 +133,108 @@ var AgField = function AgField(_ref) {
|
|
|
130
133
|
}));
|
|
131
134
|
return children;
|
|
132
135
|
};
|
|
133
|
-
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* 懒挂载单元格渲染器(可编辑列)。
|
|
139
|
+
*
|
|
140
|
+
* 已有行的可编辑格被 Editable 装饰器默认转成 readPretty 只读文本态(点击才进编辑),
|
|
141
|
+
* 但仍挂着完整 Formily 树——这是行多列多滚动卡的主因。本渲染器:
|
|
142
|
+
* - 新增行(_isNew,保持编辑态需即时校验) 或 已被激活(点击/导航进过)的格 -> 挂 AgField 全树;
|
|
143
|
+
* - 其余(存量行、没碰过) -> 只渲染廉价纯文本(复用 readOnlyFormatters),不挂 Formily 树。
|
|
144
|
+
*
|
|
145
|
+
* 激活态存放在 AG-Grid context.activeCells(Set),由 index.tsx 在点击/键盘导航时写入并 refreshCells。
|
|
146
|
+
* 「挂了不卸」:一旦激活保持挂载(直到行被虚拟化销毁),不做失焦退回,避开一堆边界。
|
|
147
|
+
*
|
|
148
|
+
* 校验安全:未碰过的存量格本就是 readPretty、本就不参与校验,不挂树校验语义零变化。@author nokecy
|
|
149
|
+
*/
|
|
150
|
+
var LazyAgField = function LazyAgField(params) {
|
|
151
|
+
var _context$activeCells, _context$activeCells$;
|
|
152
|
+
var value = params.value,
|
|
153
|
+
record = params.data,
|
|
154
|
+
dataSource = params.dataSource,
|
|
155
|
+
schema = params.schema,
|
|
156
|
+
field = params.field,
|
|
157
|
+
node = params.node,
|
|
158
|
+
colDef = params.colDef,
|
|
159
|
+
context = params.context,
|
|
160
|
+
formatter = params.formatter,
|
|
161
|
+
columnProps = params.columnProps,
|
|
162
|
+
fieldSchema = params.fieldSchema;
|
|
163
|
+
var key = "".concat(node === null || node === void 0 ? void 0 : node.id, ":").concat(colDef === null || colDef === void 0 ? void 0 : colDef.field);
|
|
164
|
+
var activated = (record === null || record === void 0 ? void 0 : record._isNew) === true || (context === null || context === void 0 || (_context$activeCells = context.activeCells) === null || _context$activeCells === void 0 || (_context$activeCells$ = _context$activeCells.has) === null || _context$activeCells$ === void 0 ? void 0 : _context$activeCells$.call(_context$activeCells, key)) === true;
|
|
165
|
+
if (activated) {
|
|
166
|
+
return /*#__PURE__*/React.createElement(AgField, {
|
|
167
|
+
value: value,
|
|
168
|
+
data: record,
|
|
169
|
+
dataSource: dataSource,
|
|
170
|
+
schema: schema,
|
|
171
|
+
field: field,
|
|
172
|
+
node: node
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
var text = formatter ? formatter(value, {
|
|
176
|
+
columnProps: columnProps,
|
|
177
|
+
fieldSchema: fieldSchema
|
|
178
|
+
}) : value == null ? '' : String(value);
|
|
179
|
+
// 纯文本占满单元格,点击交给 AG-Grid onCellClicked 激活;样式尽量贴近 Editable 只读态避免点开跳动
|
|
180
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
181
|
+
className: "ag-array-table-lazy-text",
|
|
182
|
+
style: {
|
|
183
|
+
display: 'inline-block',
|
|
184
|
+
width: '100%',
|
|
185
|
+
cursor: 'text'
|
|
186
|
+
}
|
|
187
|
+
}, text);
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
// 在 Column 的子 schema 里递归找到内层数据字段(可读 x-component / x-pattern / x-reactions / enum) @author nokecy
|
|
191
|
+
var findDataFieldSchema = function findDataFieldSchema(columnSchema, name) {
|
|
192
|
+
if (!columnSchema || !columnSchema.properties) return null;
|
|
193
|
+
var matched = null;
|
|
194
|
+
var firstField = null;
|
|
195
|
+
var walk = function walk(s) {
|
|
196
|
+
if (!s || !s.properties) return;
|
|
197
|
+
s.reduceProperties(function (_, child) {
|
|
198
|
+
if (matched) return _;
|
|
199
|
+
var comp = child === null || child === void 0 ? void 0 : child['x-component'];
|
|
200
|
+
// 兜底:记录第一个带 x-component 的叶子字段(排除 Column/Operations/Addition 等包裹组件)
|
|
201
|
+
if (!firstField && typeof comp === 'string' && !/Column|Operations|Addition/.test(comp)) {
|
|
202
|
+
firstField = child;
|
|
203
|
+
}
|
|
204
|
+
if ((child === null || child === void 0 ? void 0 : child.name) === name) {
|
|
205
|
+
matched = child;
|
|
206
|
+
return _;
|
|
207
|
+
}
|
|
208
|
+
walk(child);
|
|
209
|
+
return _;
|
|
210
|
+
}, null);
|
|
211
|
+
};
|
|
212
|
+
walk(columnSchema);
|
|
213
|
+
return matched || firstField;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* 判断某列是否可走「只读纯文本快路径」(不挂 Formily 树)。
|
|
218
|
+
*
|
|
219
|
+
* 安全不对称:误判「可编辑->只读」会丢编辑/校验/reaction 计算(灾难);
|
|
220
|
+
* 误判「只读->可编辑」只是没优化(无害)。所以仅在能证明永久只读时才放行,其余一律回退。
|
|
221
|
+
*
|
|
222
|
+
* @author nokecy
|
|
223
|
+
*/
|
|
224
|
+
var isColumnReadOnlyEligible = function isColumnReadOnlyEligible(arrayPattern, dataField, columnProps) {
|
|
225
|
+
if ((columnProps === null || columnProps === void 0 ? void 0 : columnProps.forceAgField) === true) return false;
|
|
226
|
+
// 有 x-reactions:可能运行时切 pattern 或计算字段值,静态判不准 -> 保守回退 AgField
|
|
227
|
+
if (dataField && dataField['x-reactions']) return false;
|
|
228
|
+
if (arrayPattern === 'readPretty') return true; // 整表只读(明细/详情页)
|
|
229
|
+
if (!dataField) return false;
|
|
230
|
+
if (dataField['x-pattern'] === 'readPretty') return true;
|
|
231
|
+
if (dataField['x-read-pretty'] === true) return true;
|
|
232
|
+
return false;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
// 重命名自 useArrayTableColumns:内部无任何 Hook 调用,use 前缀违反 Hook 命名约定且曾在 useMemo 内被调用 @author nokecy
|
|
236
|
+
var buildArrayTableColumns = function buildArrayTableColumns(dataSource, field, sources) {
|
|
237
|
+
var arrayPattern = field === null || field === void 0 ? void 0 : field.pattern;
|
|
134
238
|
return sources.reduce(function (buf, _ref3, key) {
|
|
135
239
|
var name = _ref3.name,
|
|
136
240
|
columnProps = _ref3.columnProps,
|
|
@@ -147,13 +251,60 @@ var useArrayTableColumns = function useArrayTableColumns(dataSource, field, sour
|
|
|
147
251
|
var hide = columnProps.hide,
|
|
148
252
|
sort = columnProps.sort,
|
|
149
253
|
sortIndex = columnProps.sortIndex,
|
|
254
|
+
forceAgField = columnProps.forceAgField,
|
|
150
255
|
safeColumnProps = _objectWithoutProperties(columnProps, _excluded);
|
|
151
|
-
|
|
256
|
+
var base = _objectSpread(_objectSpread({}, safeColumnProps), {}, {
|
|
152
257
|
// 保留 width 作为列的初始宽度
|
|
153
258
|
width: columnProps.width,
|
|
154
259
|
//@ts-ignore
|
|
155
260
|
headerName: columnProps.headerName || columnProps.title,
|
|
156
|
-
field: name
|
|
261
|
+
field: name
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
// 三分流渲染策略:@author nokecy
|
|
265
|
+
// ① 只读纯文本(永不可编辑):只读列 + 有格式化器 -> valueFormatter,不挂 Formily 树。
|
|
266
|
+
// ② 可编辑懒挂载:可编辑列 + 有格式化器 + 无 reactions + 未强制 eager -> LazyAgField,
|
|
267
|
+
// 存量格先出廉价文本、点击/导航才挂全树(挂了不卸)。
|
|
268
|
+
// ③ 兜底全树:其余(无格式化器/带 reactions/forceAgField/只读但无格式化器) -> AgField。
|
|
269
|
+
var dataField = findDataFieldSchema(schema, name);
|
|
270
|
+
var component = dataField === null || dataField === void 0 ? void 0 : dataField['x-component'];
|
|
271
|
+
var formatter = getReadOnlyFormatter(component);
|
|
272
|
+
var readOnly = isColumnReadOnlyEligible(arrayPattern, dataField, columnProps);
|
|
273
|
+
var hasReactions = !!(dataField && dataField['x-reactions']);
|
|
274
|
+
var forceEager = (columnProps === null || columnProps === void 0 ? void 0 : columnProps.forceAgField) === true;
|
|
275
|
+
|
|
276
|
+
// ① 只读纯文本
|
|
277
|
+
if (readOnly && formatter) {
|
|
278
|
+
return buf.concat(_objectSpread(_objectSpread({}, base), {}, {
|
|
279
|
+
// 显式清掉可能从 safeColumnProps 漏带的 cellRenderer(AG-Grid 中 renderer 优先级高于 formatter)
|
|
280
|
+
cellRenderer: undefined,
|
|
281
|
+
valueFormatter: function valueFormatter(params) {
|
|
282
|
+
return formatter(params.value, {
|
|
283
|
+
columnProps: columnProps,
|
|
284
|
+
fieldSchema: dataField
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}));
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// ② 可编辑懒挂载
|
|
291
|
+
if (!readOnly && formatter && !hasReactions && !forceEager) {
|
|
292
|
+
return buf.concat(_objectSpread(_objectSpread({}, base), {}, {
|
|
293
|
+
cellRenderer: LazyAgField,
|
|
294
|
+
cellRendererParams: {
|
|
295
|
+
dataSource: dataSource,
|
|
296
|
+
schema: schema,
|
|
297
|
+
field: field,
|
|
298
|
+
formatter: formatter,
|
|
299
|
+
columnProps: columnProps,
|
|
300
|
+
fieldSchema: dataField,
|
|
301
|
+
lazyEditable: true // 供 index.tsx 识别懒列(激活/导航用)
|
|
302
|
+
}
|
|
303
|
+
}));
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
// ③ 兜底全树
|
|
307
|
+
return buf.concat(_objectSpread(_objectSpread({}, base), {}, {
|
|
157
308
|
cellRendererParams: {
|
|
158
309
|
dataSource: dataSource,
|
|
159
310
|
schema: schema,
|
|
@@ -175,4 +326,4 @@ var useAddition = function useAddition() {
|
|
|
175
326
|
return addition;
|
|
176
327
|
}, null);
|
|
177
328
|
};
|
|
178
|
-
export { isColumnComponent, useArrayTableSources, useArrayTableActions,
|
|
329
|
+
export { isColumnComponent, useArrayTableSources, useArrayTableActions, buildArrayTableColumns, useAddition };
|
|
@@ -98,7 +98,9 @@ var InternalEditable = observer(function (props) {
|
|
|
98
98
|
var input = (_innerRef$current = innerRef.current) === null || _innerRef$current === void 0 ? void 0 : _innerRef$current.querySelector('input:not([readonly]):not([disabled]), textarea:not([readonly]):not([disabled])');
|
|
99
99
|
if (input) {
|
|
100
100
|
input.focus();
|
|
101
|
-
|
|
101
|
+
// setSelectionRange 仅 textarea 与 text/search/url/tel/password 类型 input 支持;
|
|
102
|
+
// checkbox/number/date 等会抛 InvalidStateError,故用白名单守卫。@author nokecy
|
|
103
|
+
if (input.tagName === 'TEXTAREA' || /^(text|search|url|tel|password)$/i.test(input.type || 'text')) {
|
|
102
104
|
var _input$value;
|
|
103
105
|
var length = ((_input$value = input.value) === null || _input$value === void 0 ? void 0 : _input$value.length) || 0;
|
|
104
106
|
setTimeout(function () {
|
|
@@ -54,7 +54,7 @@ var FormDesigner = function FormDesigner(props) {
|
|
|
54
54
|
}, [name]);
|
|
55
55
|
var getComponents = function getComponents() {
|
|
56
56
|
var components = {};
|
|
57
|
-
businessComponents.
|
|
57
|
+
businessComponents.forEach(function (x) {
|
|
58
58
|
var _x$Behavior;
|
|
59
59
|
if ((_x$Behavior = x.Behavior) !== null && _x$Behavior !== void 0 && (_x$Behavior = _x$Behavior[0]) !== null && _x$Behavior !== void 0 && _x$Behavior.name) {
|
|
60
60
|
components[x.Behavior[0].name] = x;
|
|
@@ -64,7 +64,7 @@ var FormDesigner = function FormDesigner(props) {
|
|
|
64
64
|
};
|
|
65
65
|
var getComponentGroups = function getComponentGroups() {
|
|
66
66
|
var groups = {};
|
|
67
|
-
businessComponents.
|
|
67
|
+
businessComponents.forEach(function (x) {
|
|
68
68
|
if (groups[x.GroupName ? x.GroupName : '其他']) {
|
|
69
69
|
groups[x.GroupName ? x.GroupName : '其他'].push(x);
|
|
70
70
|
} else {
|
|
@@ -114,6 +114,7 @@ var FormDesigner = function FormDesigner(props) {
|
|
|
114
114
|
sources: [PreDefineProperty1, PreDefineProperty2, PreDefineProperty3, PreDefineProperty4, PreDefineProperty5, PreDefineProperty6, PreDefineProperty7, PreDefineProperty8, PreDefineProperty9, PreDefineProperty10]
|
|
115
115
|
}), Object.keys(groupComponents).map(function (x) {
|
|
116
116
|
return /*#__PURE__*/React.createElement(ResourceWidget, {
|
|
117
|
+
key: x,
|
|
117
118
|
title: x,
|
|
118
119
|
sources: groupComponents[x]
|
|
119
120
|
});
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './preDefineProperty2';
|
|
3
|
-
export * from './preDefineProperty3';
|
|
4
|
-
export * from './preDefineProperty4';
|
|
5
|
-
export * from './preDefineProperty5';
|
|
6
|
-
export * from './preDefineProperty6';
|
|
7
|
-
export * from './preDefineProperty7';
|
|
8
|
-
export * from './preDefineProperty8';
|
|
9
|
-
export * from './preDefineProperty9';
|
|
10
|
-
export * from './preDefineProperty10';
|
|
1
|
+
export * from './preDefineProperty';
|
|
11
2
|
export * from './arrayTableIndex';
|
|
12
3
|
export * from './card';
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./preDefineProperty2";
|
|
3
|
-
export * from "./preDefineProperty3";
|
|
4
|
-
export * from "./preDefineProperty4";
|
|
5
|
-
export * from "./preDefineProperty5";
|
|
6
|
-
export * from "./preDefineProperty6";
|
|
7
|
-
export * from "./preDefineProperty7";
|
|
8
|
-
export * from "./preDefineProperty8";
|
|
9
|
-
export * from "./preDefineProperty9";
|
|
10
|
-
export * from "./preDefineProperty10";
|
|
1
|
+
export * from "./preDefineProperty";
|
|
11
2
|
export * from "./arrayTableIndex";
|
|
12
3
|
export * from "./card";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DnFC } from '@nokecy/designable-react';
|
|
2
|
+
export declare const PreDefineProperty1: DnFC<any>;
|
|
3
|
+
export declare const PreDefineProperty2: DnFC<any>;
|
|
4
|
+
export declare const PreDefineProperty3: DnFC<any>;
|
|
5
|
+
export declare const PreDefineProperty4: DnFC<any>;
|
|
6
|
+
export declare const PreDefineProperty5: DnFC<any>;
|
|
7
|
+
export declare const PreDefineProperty6: DnFC<any>;
|
|
8
|
+
export declare const PreDefineProperty7: DnFC<any>;
|
|
9
|
+
export declare const PreDefineProperty8: DnFC<any>;
|
|
10
|
+
export declare const PreDefineProperty9: DnFC<any>;
|
|
11
|
+
export declare const PreDefineProperty10: DnFC<any>;
|
package/dist/esm/formDesigner/preWidgets/{preDefineProperty1/preview.js → preDefineProperty.js}
RENAMED
|
@@ -8,37 +8,56 @@ import React from 'react';
|
|
|
8
8
|
import { Input } from '@formily/antd-v5';
|
|
9
9
|
import { createBehavior, createResource } from '@nokecy/designable-core';
|
|
10
10
|
import { AllSchemas, AllLocales } from '@nokecy/designable-formily-antd';
|
|
11
|
-
import { createFieldSchema } from "
|
|
11
|
+
import { createFieldSchema } from "./utils";
|
|
12
12
|
var FormilyInput = function FormilyInput(props) {
|
|
13
13
|
return /*#__PURE__*/React.createElement(Input, props);
|
|
14
14
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
|
|
16
|
+
// 10 个预定义字段仅编号不同,用工厂统一生成,替代原 preDefineProperty1~10 十份机械复制 @author nokecy
|
|
17
|
+
var createPreDefineProperty = function createPreDefineProperty(n) {
|
|
18
|
+
var fieldName = "preDefineProperty".concat(n);
|
|
19
|
+
var componentName = "PreDefineProperty".concat(n);
|
|
20
|
+
var title = "\u9884\u5B9A\u4E49\u5B57\u6BB5".concat(n);
|
|
21
|
+
var component = function component(props) {
|
|
22
|
+
return /*#__PURE__*/React.createElement(FormilyInput, props);
|
|
23
|
+
};
|
|
24
|
+
component.Behavior = createBehavior({
|
|
25
|
+
name: componentName,
|
|
26
|
+
extends: ['Field'],
|
|
27
|
+
selector: function selector(node) {
|
|
28
|
+
return node.props['x-component'] === 'Input' && node.props['name'] === fieldName;
|
|
29
|
+
},
|
|
30
|
+
designerProps: {
|
|
31
|
+
propsSchema: createFieldSchema(AllSchemas.Input)
|
|
32
|
+
},
|
|
33
|
+
designerLocales: _objectSpread(_objectSpread({}, AllLocales.Input), {}, {
|
|
34
|
+
'zh-CN': _objectSpread(_objectSpread({}, AllLocales.Input['zh-CN']), {}, {
|
|
35
|
+
title: title
|
|
36
|
+
})
|
|
29
37
|
})
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
38
|
+
});
|
|
39
|
+
component.Resource = createResource({
|
|
40
|
+
icon: 'InputSource',
|
|
41
|
+
elements: [{
|
|
42
|
+
componentName: 'Field',
|
|
43
|
+
props: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
name: fieldName,
|
|
46
|
+
title: title,
|
|
47
|
+
'x-decorator': 'FormItem',
|
|
48
|
+
'x-component': 'Input'
|
|
49
|
+
}
|
|
50
|
+
}]
|
|
51
|
+
});
|
|
52
|
+
return component;
|
|
53
|
+
};
|
|
54
|
+
export var PreDefineProperty1 = createPreDefineProperty(1);
|
|
55
|
+
export var PreDefineProperty2 = createPreDefineProperty(2);
|
|
56
|
+
export var PreDefineProperty3 = createPreDefineProperty(3);
|
|
57
|
+
export var PreDefineProperty4 = createPreDefineProperty(4);
|
|
58
|
+
export var PreDefineProperty5 = createPreDefineProperty(5);
|
|
59
|
+
export var PreDefineProperty6 = createPreDefineProperty(6);
|
|
60
|
+
export var PreDefineProperty7 = createPreDefineProperty(7);
|
|
61
|
+
export var PreDefineProperty8 = createPreDefineProperty(8);
|
|
62
|
+
export var PreDefineProperty9 = createPreDefineProperty(9);
|
|
63
|
+
export var PreDefineProperty10 = createPreDefineProperty(10);
|