@openli1115/lowcode-edit-pro-table 1.0.91 → 1.0.93

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.
@@ -198,11 +198,50 @@ function cascaderChangeToPath(newValue, extra) {
198
198
  return [String(newValue)];
199
199
  }
200
200
 
201
+ /**
202
+ * 范围内表回填形状:
203
+ * - customType 4:`structure.data` 为 `[{ low, high, sign, option, ... }]` → 取 `data[0].field`
204
+ * - 对象型:`structure.data` 为 `{ low: ... }` → 取 `data.field`
205
+ * - 扁平:`structure.field`(与 previewUtils expandInnerTableRangeEcho 一致)
206
+ */
207
+ function readRangeInnerEchoValue(values, structureName, structureField, flatPath) {
208
+ var dataBagPath = structureName ? structureName + ".data" : '';
209
+ var pathsTryFirst = [structureName && structureField ? structureName + ".data[0]." + structureField : '', structureName && structureField ? structureName + ".data." + structureField : '', flatPath].filter(Boolean);
210
+ for (var _iterator4 = _createForOfIteratorHelperLoose(pathsTryFirst), _step4; !(_step4 = _iterator4()).done;) {
211
+ var p = _step4.value;
212
+ var _v2 = get(values, p);
213
+ if (_v2 !== undefined && _v2 !== null) return _v2;
214
+ }
215
+ if (structureField && dataBagPath) {
216
+ var bag = get(values, dataBagPath);
217
+ if (Array.isArray(bag) && bag[0] && typeof bag[0] === 'object' && structureField in bag[0]) {
218
+ var v = bag[0][structureField];
219
+ if (v !== undefined && v !== null) return v;
220
+ }
221
+ if (bag && typeof bag === 'object' && !Array.isArray(bag) && structureField in bag) {
222
+ var _v = bag[structureField];
223
+ if (_v !== undefined && _v !== null) return _v;
224
+ }
225
+ }
226
+ return FORM_EMPTY_ARRAY;
227
+ }
228
+ function resolveRangeInnerWritePath(values, structureName, structureField, flatPath) {
229
+ if (!structureName || !structureField) return flatPath;
230
+ var dataBag = get(values, structureName + ".data");
231
+ if (Array.isArray(dataBag)) {
232
+ return structureName + ".data[0]." + structureField;
233
+ }
234
+ if (dataBag && typeof dataBag === 'object' && !Array.isArray(dataBag)) {
235
+ return structureName + ".data." + structureField;
236
+ }
237
+ return flatPath;
238
+ }
239
+
201
240
  /**
202
241
  * 与 ProInput 一致写入扁平路径 `structure.field`;读取时兼容接口把字段挂在 `structure.data.field`
203
242
  * 或多包一层对象的情况(与 previewUtils normalizeType3 一致)。
204
243
  */
205
- function useCascaderBoundValue(fieldPath, structureName, structureField, unboundInit) {
244
+ function useCascaderBoundValue(fieldPath, structureName, structureField, unboundInit, rangeInnerTable) {
206
245
  var FormCtx = getFormContext();
207
246
  var formContext = useContext(FormCtx);
208
247
  var _useState = useState(function () {
@@ -216,32 +255,40 @@ function useCascaderBoundValue(fieldPath, structureName, structureField, unbound
216
255
  var ctxValue = useMemo(function () {
217
256
  if (!bound || !(formContext !== null && formContext !== void 0 && formContext.initialized)) return FORM_EMPTY_ARRAY;
218
257
  var values = formContext.values;
219
- if (fieldPath && has(values, fieldPath)) {
220
- var v = get(values, fieldPath);
258
+ var tryRead = function tryRead(p) {
259
+ if (!p || !has(values, p)) return FORM_EMPTY_ARRAY;
260
+ var v = get(values, p);
221
261
  if (v !== undefined && v !== null) return v;
262
+ return FORM_EMPTY_ARRAY;
263
+ };
264
+ if (rangeInnerTable && structureName && structureField) {
265
+ var fromRange = readRangeInnerEchoValue(values, structureName, structureField, fieldPath);
266
+ if (fromRange !== FORM_EMPTY_ARRAY) return fromRange;
222
267
  }
223
- if (nestedFieldPath && has(values, nestedFieldPath)) {
224
- var _v = get(values, nestedFieldPath);
225
- if (_v !== undefined && _v !== null) return _v;
226
- }
268
+ var fromFlat = fieldPath ? tryRead(fieldPath) : FORM_EMPTY_ARRAY;
269
+ if (fromFlat !== FORM_EMPTY_ARRAY) return fromFlat;
270
+ var fromNested = nestedFieldPath ? tryRead(nestedFieldPath) : FORM_EMPTY_ARRAY;
271
+ if (fromNested !== FORM_EMPTY_ARRAY) return fromNested;
227
272
  if (structureField && dataBagPath && has(values, dataBagPath)) {
228
273
  var bag = get(values, dataBagPath);
229
274
  if (bag && typeof bag === 'object' && !Array.isArray(bag) && structureField in bag) {
230
- var _v2 = bag[structureField];
231
- if (_v2 !== undefined && _v2 !== null) return _v2;
275
+ var v = bag[structureField];
276
+ if (v !== undefined && v !== null) return v;
232
277
  }
233
278
  }
234
279
  return FORM_EMPTY_ARRAY;
235
- }, [bound, fieldPath, nestedFieldPath, dataBagPath, structureField, formContext]);
280
+ }, [bound, fieldPath, nestedFieldPath, dataBagPath, structureField, rangeInnerTable, structureName, formContext]);
236
281
  var value = bound ? ctxValue : localValue;
237
282
  var commit = useCallback(function (next) {
238
283
  if (bound) {
239
284
  if (!(formContext !== null && formContext !== void 0 && formContext.setFieldValue)) return;
240
- formContext.setFieldValue(fieldPath, next);
285
+ var vals = formContext.values || {};
286
+ var path = rangeInnerTable && structureName && structureField ? resolveRangeInnerWritePath(vals, structureName, structureField, fieldPath) : fieldPath;
287
+ formContext.setFieldValue(path, next);
241
288
  } else {
242
289
  setLocalValue(next);
243
290
  }
244
- }, [bound, fieldPath, formContext]);
291
+ }, [bound, fieldPath, formContext, rangeInnerTable, structureName, structureField]);
245
292
  return {
246
293
  value: value,
247
294
  commit: commit
@@ -270,8 +317,9 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
270
317
  structureName = _resolveProScreenBind.structureName,
271
318
  structureField = _resolveProScreenBind.structureField,
272
319
  fieldPath = _resolveProScreenBind.fieldPath;
320
+ var rangeInnerTable = Boolean(range_inner_table && String(range_inner_table).trim());
273
321
  var unboundInit = defaultValue != null && Array.isArray(defaultValue) ? defaultValue.slice() : FORM_EMPTY_ARRAY;
274
- var _useCascaderBoundValu = useCascaderBoundValue(fieldPath, structureName || '', structureField || '', unboundInit),
322
+ var _useCascaderBoundValu = useCascaderBoundValue(fieldPath, structureName || '', structureField || '', unboundInit, rangeInnerTable),
275
323
  value = _useCascaderBoundValu.value,
276
324
  commit = _useCascaderBoundValu.commit;
277
325
  // 优先 dataSource,兼容部分 schema 透传为 options;并转为 Fusion 可索引的树形
@@ -203,11 +203,50 @@ function cascaderChangeToPath(newValue, extra) {
203
203
  return [String(newValue)];
204
204
  }
205
205
 
206
+ /**
207
+ * 范围内表回填形状:
208
+ * - customType 4:`structure.data` 为 `[{ low, high, sign, option, ... }]` → 取 `data[0].field`
209
+ * - 对象型:`structure.data` 为 `{ low: ... }` → 取 `data.field`
210
+ * - 扁平:`structure.field`(与 previewUtils expandInnerTableRangeEcho 一致)
211
+ */
212
+ function readRangeInnerEchoValue(values, structureName, structureField, flatPath) {
213
+ var dataBagPath = structureName ? structureName + ".data" : '';
214
+ var pathsTryFirst = [structureName && structureField ? structureName + ".data[0]." + structureField : '', structureName && structureField ? structureName + ".data." + structureField : '', flatPath].filter(Boolean);
215
+ for (var _iterator4 = _createForOfIteratorHelperLoose(pathsTryFirst), _step4; !(_step4 = _iterator4()).done;) {
216
+ var p = _step4.value;
217
+ var _v2 = (0, _lodash.get)(values, p);
218
+ if (_v2 !== undefined && _v2 !== null) return _v2;
219
+ }
220
+ if (structureField && dataBagPath) {
221
+ var bag = (0, _lodash.get)(values, dataBagPath);
222
+ if (Array.isArray(bag) && bag[0] && typeof bag[0] === 'object' && structureField in bag[0]) {
223
+ var v = bag[0][structureField];
224
+ if (v !== undefined && v !== null) return v;
225
+ }
226
+ if (bag && typeof bag === 'object' && !Array.isArray(bag) && structureField in bag) {
227
+ var _v = bag[structureField];
228
+ if (_v !== undefined && _v !== null) return _v;
229
+ }
230
+ }
231
+ return _useComponentContext.FORM_EMPTY_ARRAY;
232
+ }
233
+ function resolveRangeInnerWritePath(values, structureName, structureField, flatPath) {
234
+ if (!structureName || !structureField) return flatPath;
235
+ var dataBag = (0, _lodash.get)(values, structureName + ".data");
236
+ if (Array.isArray(dataBag)) {
237
+ return structureName + ".data[0]." + structureField;
238
+ }
239
+ if (dataBag && typeof dataBag === 'object' && !Array.isArray(dataBag)) {
240
+ return structureName + ".data." + structureField;
241
+ }
242
+ return flatPath;
243
+ }
244
+
206
245
  /**
207
246
  * 与 ProInput 一致写入扁平路径 `structure.field`;读取时兼容接口把字段挂在 `structure.data.field`
208
247
  * 或多包一层对象的情况(与 previewUtils normalizeType3 一致)。
209
248
  */
210
- function useCascaderBoundValue(fieldPath, structureName, structureField, unboundInit) {
249
+ function useCascaderBoundValue(fieldPath, structureName, structureField, unboundInit, rangeInnerTable) {
211
250
  var FormCtx = (0, _FormProvider.getFormContext)();
212
251
  var formContext = useContext(FormCtx);
213
252
  var _useState = useState(function () {
@@ -221,32 +260,40 @@ function useCascaderBoundValue(fieldPath, structureName, structureField, unbound
221
260
  var ctxValue = useMemo(function () {
222
261
  if (!bound || !(formContext !== null && formContext !== void 0 && formContext.initialized)) return _useComponentContext.FORM_EMPTY_ARRAY;
223
262
  var values = formContext.values;
224
- if (fieldPath && (0, _lodash.has)(values, fieldPath)) {
225
- var v = (0, _lodash.get)(values, fieldPath);
263
+ var tryRead = function tryRead(p) {
264
+ if (!p || !(0, _lodash.has)(values, p)) return _useComponentContext.FORM_EMPTY_ARRAY;
265
+ var v = (0, _lodash.get)(values, p);
226
266
  if (v !== undefined && v !== null) return v;
267
+ return _useComponentContext.FORM_EMPTY_ARRAY;
268
+ };
269
+ if (rangeInnerTable && structureName && structureField) {
270
+ var fromRange = readRangeInnerEchoValue(values, structureName, structureField, fieldPath);
271
+ if (fromRange !== _useComponentContext.FORM_EMPTY_ARRAY) return fromRange;
227
272
  }
228
- if (nestedFieldPath && (0, _lodash.has)(values, nestedFieldPath)) {
229
- var _v = (0, _lodash.get)(values, nestedFieldPath);
230
- if (_v !== undefined && _v !== null) return _v;
231
- }
273
+ var fromFlat = fieldPath ? tryRead(fieldPath) : _useComponentContext.FORM_EMPTY_ARRAY;
274
+ if (fromFlat !== _useComponentContext.FORM_EMPTY_ARRAY) return fromFlat;
275
+ var fromNested = nestedFieldPath ? tryRead(nestedFieldPath) : _useComponentContext.FORM_EMPTY_ARRAY;
276
+ if (fromNested !== _useComponentContext.FORM_EMPTY_ARRAY) return fromNested;
232
277
  if (structureField && dataBagPath && (0, _lodash.has)(values, dataBagPath)) {
233
278
  var bag = (0, _lodash.get)(values, dataBagPath);
234
279
  if (bag && typeof bag === 'object' && !Array.isArray(bag) && structureField in bag) {
235
- var _v2 = bag[structureField];
236
- if (_v2 !== undefined && _v2 !== null) return _v2;
280
+ var v = bag[structureField];
281
+ if (v !== undefined && v !== null) return v;
237
282
  }
238
283
  }
239
284
  return _useComponentContext.FORM_EMPTY_ARRAY;
240
- }, [bound, fieldPath, nestedFieldPath, dataBagPath, structureField, formContext]);
285
+ }, [bound, fieldPath, nestedFieldPath, dataBagPath, structureField, rangeInnerTable, structureName, formContext]);
241
286
  var value = bound ? ctxValue : localValue;
242
287
  var commit = useCallback(function (next) {
243
288
  if (bound) {
244
289
  if (!(formContext !== null && formContext !== void 0 && formContext.setFieldValue)) return;
245
- formContext.setFieldValue(fieldPath, next);
290
+ var vals = formContext.values || {};
291
+ var path = rangeInnerTable && structureName && structureField ? resolveRangeInnerWritePath(vals, structureName, structureField, fieldPath) : fieldPath;
292
+ formContext.setFieldValue(path, next);
246
293
  } else {
247
294
  setLocalValue(next);
248
295
  }
249
- }, [bound, fieldPath, formContext]);
296
+ }, [bound, fieldPath, formContext, rangeInnerTable, structureName, structureField]);
250
297
  return {
251
298
  value: value,
252
299
  commit: commit
@@ -275,8 +322,9 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
275
322
  structureName = _resolveProScreenBind.structureName,
276
323
  structureField = _resolveProScreenBind.structureField,
277
324
  fieldPath = _resolveProScreenBind.fieldPath;
325
+ var rangeInnerTable = Boolean(range_inner_table && String(range_inner_table).trim());
278
326
  var unboundInit = defaultValue != null && Array.isArray(defaultValue) ? defaultValue.slice() : _useComponentContext.FORM_EMPTY_ARRAY;
279
- var _useCascaderBoundValu = useCascaderBoundValue(fieldPath, structureName || '', structureField || '', unboundInit),
327
+ var _useCascaderBoundValu = useCascaderBoundValue(fieldPath, structureName || '', structureField || '', unboundInit, rangeInnerTable),
280
328
  value = _useCascaderBoundValu.value,
281
329
  commit = _useCascaderBoundValu.commit;
282
330
  // 优先 dataSource,兼容部分 schema 透传为 options;并转为 Fusion 可索引的树形
@@ -101,7 +101,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
101
101
  packageName = '@openli1115/lowcode-edit-pro-table';
102
102
  }
103
103
  if (version === void 0) {
104
- version = '1.0.91';
104
+ version = '1.0.93';
105
105
  }
106
106
  if (basicLibraryVersion === void 0) {
107
107
  basicLibraryVersion = {
@@ -106,7 +106,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
106
106
  packageName = '@openli1115/lowcode-edit-pro-table';
107
107
  }
108
108
  if (version === void 0) {
109
- version = '1.0.91';
109
+ version = '1.0.93';
110
110
  }
111
111
  if (basicLibraryVersion === void 0) {
112
112
  basicLibraryVersion = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openli1115/lowcode-edit-pro-table",
3
- "version": "1.0.91",
3
+ "version": "1.0.93",
4
4
  "description": "@openli1115/lowcode-edit-pro-table",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -101,10 +101,10 @@
101
101
  },
102
102
  "componentConfig": {
103
103
  "isComponentLibrary": true,
104
- "materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.91/build/lowcode/assets-prod.json"
104
+ "materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.93/build/lowcode/assets-prod.json"
105
105
  },
106
106
  "lcMeta": {
107
107
  "type": "component"
108
108
  },
109
- "homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.91/build/index.html"
109
+ "homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.93/build/index.html"
110
110
  }