@openli1115/lowcode-edit-pro-table 1.0.108 → 1.0.110
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/build/docs/404.html +3 -3
- package/build/docs/_demos/:uuid +3 -3
- package/build/docs/colorful-button.html +3 -3
- package/build/docs/colorful-input.html +3 -3
- package/build/docs/index.html +3 -3
- package/build/docs/umi.b94b6487.js +1 -0
- package/build/docs/~demos/:uuid.html +3 -3
- package/build/docs/~demos/colorful-button-demo.html +3 -3
- package/build/docs/~demos/colorful-input-demo.html +3 -3
- package/build/lowcode/assets-daily.json +13 -13
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +13 -13
- package/build/lowcode/meta.design.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +2 -2
- package/build/lowcode/view.js +2 -2
- package/dist/BizComps.js +2 -2
- package/dist/BizComps.js.map +1 -1
- package/es/components/ProCascaderSelect/index.js +1 -0
- package/es/components/ProCheckbox/index.d.ts +5 -0
- package/es/components/ProCheckbox/index.js +17 -5
- package/es/components/ProSearch/index.js +51 -16
- package/es/components/ProSelect/index.js +1 -0
- package/es/components/edit-pro-table/edit-pro-table.js +1 -0
- package/lib/components/ProCascaderSelect/index.js +1 -0
- package/lib/components/ProCheckbox/index.d.ts +5 -0
- package/lib/components/ProCheckbox/index.js +17 -5
- package/lib/components/ProSearch/index.js +62 -27
- package/lib/components/ProSelect/index.js +1 -0
- package/lib/components/edit-pro-table/edit-pro-table.js +1 -0
- package/lowcode_es/meta.js +1 -1
- package/lowcode_lib/meta.js +1 -1
- package/package.json +3 -3
- package/build/docs/umi.4ce4cbe7.js +0 -1
|
@@ -421,6 +421,7 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
|
421
421
|
return /*#__PURE__*/React.createElement("span", {
|
|
422
422
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
423
423
|
}, /*#__PURE__*/React.createElement(_CascaderSelect, _extends({}, props, {
|
|
424
|
+
hasClear: true,
|
|
424
425
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
425
426
|
disabled: disabledProp,
|
|
426
427
|
dataSource: cascaderOptions,
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Checkbox } from '@alifd/next';
|
|
2
2
|
/**
|
|
3
3
|
* ProCheckbox — 复选框(单框 checked)
|
|
4
|
+
*
|
|
5
|
+
* 值映射规则:
|
|
6
|
+
* - 选中时:提交 checkedValue 配置项的值(而非 true)
|
|
7
|
+
* - 取消选中时:提交 null(而非 false)
|
|
8
|
+
* - 判断是否选中:value === checkedValue(后端返回空值则不勾选)
|
|
4
9
|
*/
|
|
5
10
|
declare const ProCheckbox: typeof Checkbox;
|
|
6
11
|
export default ProCheckbox;
|
|
@@ -6,13 +6,19 @@ var createElement = window.React.createElement;
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* ProCheckbox — 复选框(单框 checked)
|
|
9
|
+
*
|
|
10
|
+
* 值映射规则:
|
|
11
|
+
* - 选中时:提交 checkedValue 配置项的值(而非 true)
|
|
12
|
+
* - 取消选中时:提交 null(而非 false)
|
|
13
|
+
* - 判断是否选中:value === checkedValue(后端返回空值则不勾选)
|
|
9
14
|
*/
|
|
10
15
|
var ProCheckbox = function ProCheckbox(props) {
|
|
11
16
|
var screen_structure = props.screen_structure,
|
|
12
17
|
screen_structure_field = props.screen_structure_field,
|
|
13
18
|
screen_inner_id = props.screen_inner_id,
|
|
14
19
|
range_inner_table = props.range_inner_table,
|
|
15
|
-
checkedValue = props.checkedValue,
|
|
20
|
+
_props$checkedValue = props.checkedValue,
|
|
21
|
+
checkedValue = _props$checkedValue === void 0 ? '1' : _props$checkedValue,
|
|
16
22
|
_checkedProp = props.checked,
|
|
17
23
|
disableEdit = props.disableEdit,
|
|
18
24
|
readOnlyProp = props.readOnly,
|
|
@@ -27,12 +33,18 @@ var ProCheckbox = function ProCheckbox(props) {
|
|
|
27
33
|
structureName = _resolveProScreenBind.structureName,
|
|
28
34
|
structureField = _resolveProScreenBind.structureField,
|
|
29
35
|
fieldPath = _resolveProScreenBind.fieldPath;
|
|
30
|
-
var _useProBoundValue = useProBoundValue(fieldPath,
|
|
36
|
+
var _useProBoundValue = useProBoundValue(fieldPath, null, null),
|
|
31
37
|
value = _useProBoundValue.value,
|
|
32
38
|
commit = _useProBoundValue.commit;
|
|
39
|
+
|
|
40
|
+
// 选中状态:当前值严格等于 checkedValue 时才勾选
|
|
41
|
+
// 后端返回空值(null / undefined / '')时不会匹配 checkedValue,因此不显示勾
|
|
42
|
+
var isChecked = value != null && value !== '' && String(value) === String(checkedValue);
|
|
33
43
|
var handleChange = function handleChange(checked) {
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
// 选中 → 提交配置项的值;取消选中 → 提交 null
|
|
45
|
+
var nextValue = checked ? checkedValue : null;
|
|
46
|
+
commit(nextValue);
|
|
47
|
+
schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(nextValue, structureName, structureField);
|
|
36
48
|
};
|
|
37
49
|
return /*#__PURE__*/React.createElement("span", {
|
|
38
50
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
@@ -40,7 +52,7 @@ var ProCheckbox = function ProCheckbox(props) {
|
|
|
40
52
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
41
53
|
disabled: disabledProp,
|
|
42
54
|
checkedValue: checkedValue,
|
|
43
|
-
checked:
|
|
55
|
+
checked: isChecked,
|
|
44
56
|
onChange: handleChange
|
|
45
57
|
})));
|
|
46
58
|
};
|
|
@@ -12,9 +12,6 @@ import { useState, useEffect } from 'react';
|
|
|
12
12
|
import { SearchOutlined } from '@ant-design/icons';
|
|
13
13
|
import moment from 'moment';
|
|
14
14
|
var OPTION_OPTIONS = [{
|
|
15
|
-
label: '(留空)',
|
|
16
|
-
value: ''
|
|
17
|
-
}, {
|
|
18
15
|
label: '等于',
|
|
19
16
|
value: 'EQ'
|
|
20
17
|
}, {
|
|
@@ -68,12 +65,20 @@ var newCondRow = function newCondRow(sign) {
|
|
|
68
65
|
return {
|
|
69
66
|
id: genId(),
|
|
70
67
|
sign: sign,
|
|
71
|
-
option: '',
|
|
68
|
+
option: 'EQ',
|
|
72
69
|
low: '',
|
|
73
70
|
high: ''
|
|
74
71
|
};
|
|
75
72
|
};
|
|
76
73
|
|
|
74
|
+
/** 根据 low/high 是否都有值,自动推断比较符:都有值 → BT,否则 EQ */
|
|
75
|
+
var autoAdjustOption = function autoAdjustOption(currentOpt, low, high) {
|
|
76
|
+
if (low && high) return 'BT';
|
|
77
|
+
// high 或 low 被清空时,若之前是 BT 则回退到 EQ
|
|
78
|
+
if (currentOpt === 'BT') return 'EQ';
|
|
79
|
+
return currentOpt;
|
|
80
|
+
};
|
|
81
|
+
|
|
77
82
|
// ConditionTable: multi-value rows inside the modal
|
|
78
83
|
var ConditionTable = function ConditionTable(_ref) {
|
|
79
84
|
var sign = _ref.sign,
|
|
@@ -82,7 +87,13 @@ var ConditionTable = function ConditionTable(_ref) {
|
|
|
82
87
|
var update = function update(id, key, val) {
|
|
83
88
|
return onChange(rows.map(function (r) {
|
|
84
89
|
var _extends2;
|
|
85
|
-
|
|
90
|
+
if (r.id !== id) return r;
|
|
91
|
+
var updated = _extends({}, r, (_extends2 = {}, _extends2[key] = val, _extends2));
|
|
92
|
+
// 修改 low/high 时自动调整比较符:都有值 → BT,否则回退 EQ
|
|
93
|
+
if (key === 'low' || key === 'high') {
|
|
94
|
+
updated.option = autoAdjustOption(r.option, updated.low, updated.high);
|
|
95
|
+
}
|
|
96
|
+
return updated;
|
|
86
97
|
}));
|
|
87
98
|
};
|
|
88
99
|
var remove = function remove(id) {
|
|
@@ -250,7 +261,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
250
261
|
var screenRows = [];
|
|
251
262
|
if (fv.conditions.length) {
|
|
252
263
|
fv.conditions.forEach(function (c) {
|
|
253
|
-
if (c.low || c.high
|
|
264
|
+
if (c.low || c.high) {
|
|
254
265
|
screenRows.push({
|
|
255
266
|
sign: c.sign,
|
|
256
267
|
option: c.option || 'EQ',
|
|
@@ -324,9 +335,9 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
324
335
|
var confirmModal = function confirmModal() {
|
|
325
336
|
if (!activeFieldId) return;
|
|
326
337
|
var conditions = [].concat(includeRows.filter(function (r) {
|
|
327
|
-
return r.low || r.
|
|
338
|
+
return r.low || r.high;
|
|
328
339
|
}), excludeRows.filter(function (r) {
|
|
329
|
-
return r.low || r.
|
|
340
|
+
return r.low || r.high;
|
|
330
341
|
}));
|
|
331
342
|
setFieldValues(function (prev) {
|
|
332
343
|
var _extends7;
|
|
@@ -408,14 +419,14 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
408
419
|
if (modalTab === 'include') {
|
|
409
420
|
setIncludeRows(function (prev) {
|
|
410
421
|
var base = prev.filter(function (r) {
|
|
411
|
-
return r.low || r.high
|
|
422
|
+
return r.low || r.high;
|
|
412
423
|
});
|
|
413
424
|
return base.length ? [].concat(base, newRows) : newRows;
|
|
414
425
|
});
|
|
415
426
|
} else {
|
|
416
427
|
setExcludeRows(function (prev) {
|
|
417
428
|
var base = prev.filter(function (r) {
|
|
418
|
-
return r.low || r.high
|
|
429
|
+
return r.low || r.high;
|
|
419
430
|
});
|
|
420
431
|
return base.length ? [].concat(base, newRows) : newRows;
|
|
421
432
|
});
|
|
@@ -447,7 +458,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
447
458
|
});
|
|
448
459
|
} else if (fv.low || fv.high) {
|
|
449
460
|
var _rows$push2;
|
|
450
|
-
rows.push((_rows$push2 = {}, _rows$push2[si + "-sign"] = 'I', _rows$push2[si + "-option"] = 'EQ', _rows$push2[si + "-low"] = fv.low, _rows$push2[si + "-high"] = fv.high, _rows$push2));
|
|
461
|
+
rows.push((_rows$push2 = {}, _rows$push2[si + "-sign"] = 'I', _rows$push2[si + "-option"] = fv.high ? 'BT' : 'EQ', _rows$push2[si + "-low"] = fv.low, _rows$push2[si + "-high"] = fv.high, _rows$push2));
|
|
451
462
|
}
|
|
452
463
|
if (rows.length) data[si] = rows;
|
|
453
464
|
|
|
@@ -458,7 +469,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
458
469
|
var screenRows = [];
|
|
459
470
|
if (fv.conditions.length) {
|
|
460
471
|
fv.conditions.forEach(function (c) {
|
|
461
|
-
if (c.low || c.high
|
|
472
|
+
if (c.low || c.high) {
|
|
462
473
|
screenRows.push({
|
|
463
474
|
sign: c.sign,
|
|
464
475
|
option: c.option || 'EQ',
|
|
@@ -494,8 +505,24 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
494
505
|
var val = displayCond ? key === 'low' ? displayCond.low : displayCond.high : fv[key];
|
|
495
506
|
var _onChange = function onChange(v) {
|
|
496
507
|
if (displayCond) {
|
|
497
|
-
//
|
|
498
|
-
|
|
508
|
+
// 将修改同步到多值弹窗的第一行对应字段,并自动调整比较符
|
|
509
|
+
var newLow = key === 'low' ? v : displayCond.low;
|
|
510
|
+
var newHigh = key === 'high' ? v : displayCond.high;
|
|
511
|
+
var newOpt = autoAdjustOption(displayCond.option, newLow, newHigh);
|
|
512
|
+
setFieldValues(function (prev) {
|
|
513
|
+
var _extends9;
|
|
514
|
+
var fv = prev[field.id] || {
|
|
515
|
+
low: '',
|
|
516
|
+
high: '',
|
|
517
|
+
conditions: []
|
|
518
|
+
};
|
|
519
|
+
return _extends({}, prev, (_extends9 = {}, _extends9[field.id] = _extends({}, fv, {
|
|
520
|
+
conditions: fv.conditions.map(function (c) {
|
|
521
|
+
var _extends8;
|
|
522
|
+
return c.id === displayCond.id ? _extends({}, c, (_extends8 = {}, _extends8[key] = v, _extends8.option = newOpt, _extends8)) : c;
|
|
523
|
+
})
|
|
524
|
+
}), _extends9));
|
|
525
|
+
});
|
|
499
526
|
} else {
|
|
500
527
|
updateVal(field.id, key, v);
|
|
501
528
|
}
|
|
@@ -593,6 +620,14 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
593
620
|
})
|
|
594
621
|
}, _sym);
|
|
595
622
|
}
|
|
623
|
+
// 无多值条件时:low 和 high 都有值 → 显示绿底"~"(介于)
|
|
624
|
+
if (fv.low && fv.high) {
|
|
625
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
626
|
+
style: _extends({}, badgeStyle, {
|
|
627
|
+
background: '#52c41a'
|
|
628
|
+
})
|
|
629
|
+
}, OPTION_SYMBOL['BT']);
|
|
630
|
+
}
|
|
596
631
|
return null;
|
|
597
632
|
};
|
|
598
633
|
var headerSize = {
|
|
@@ -603,10 +638,10 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
603
638
|
return f.id === activeFieldId;
|
|
604
639
|
});
|
|
605
640
|
var incCount = includeRows.filter(function (r) {
|
|
606
|
-
return r.low || r.
|
|
641
|
+
return r.low || r.high;
|
|
607
642
|
}).length;
|
|
608
643
|
var excCount = excludeRows.filter(function (r) {
|
|
609
|
-
return r.low || r.
|
|
644
|
+
return r.low || r.high;
|
|
610
645
|
}).length;
|
|
611
646
|
return /*#__PURE__*/React.createElement("div", {
|
|
612
647
|
style: {
|
|
@@ -34,6 +34,7 @@ var ProSelect = function ProSelect(props) {
|
|
|
34
34
|
return /*#__PURE__*/React.createElement("span", {
|
|
35
35
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
36
36
|
}, /*#__PURE__*/React.createElement(_Select, _extends({}, props, {
|
|
37
|
+
hasClear: true,
|
|
37
38
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
38
39
|
disabled: disabledProp,
|
|
39
40
|
dataSource: dataSource,
|
|
@@ -101,6 +101,7 @@ var EditProTable = function EditProTable(_ref) {
|
|
|
101
101
|
if (column.valueType === 'select') {
|
|
102
102
|
return /*#__PURE__*/React.createElement(_Select, {
|
|
103
103
|
disabled: disabled,
|
|
104
|
+
allowClear: true,
|
|
104
105
|
options: column.valueEnum ? Object.keys(column.valueEnum).map(function (key) {
|
|
105
106
|
return {
|
|
106
107
|
label: key,
|
|
@@ -426,6 +426,7 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
|
426
426
|
return /*#__PURE__*/React.createElement("span", {
|
|
427
427
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
428
428
|
}, /*#__PURE__*/React.createElement(_cascaderSelect["default"], (0, _extends2["default"])({}, props, {
|
|
429
|
+
hasClear: true,
|
|
429
430
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
430
431
|
disabled: disabledProp,
|
|
431
432
|
dataSource: cascaderOptions,
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Checkbox } from '@alifd/next';
|
|
2
2
|
/**
|
|
3
3
|
* ProCheckbox — 复选框(单框 checked)
|
|
4
|
+
*
|
|
5
|
+
* 值映射规则:
|
|
6
|
+
* - 选中时:提交 checkedValue 配置项的值(而非 true)
|
|
7
|
+
* - 取消选中时:提交 null(而非 false)
|
|
8
|
+
* - 判断是否选中:value === checkedValue(后端返回空值则不勾选)
|
|
4
9
|
*/
|
|
5
10
|
declare const ProCheckbox: typeof Checkbox;
|
|
6
11
|
export default ProCheckbox;
|
|
@@ -11,13 +11,19 @@ var createElement = window.React.createElement;
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* ProCheckbox — 复选框(单框 checked)
|
|
14
|
+
*
|
|
15
|
+
* 值映射规则:
|
|
16
|
+
* - 选中时:提交 checkedValue 配置项的值(而非 true)
|
|
17
|
+
* - 取消选中时:提交 null(而非 false)
|
|
18
|
+
* - 判断是否选中:value === checkedValue(后端返回空值则不勾选)
|
|
14
19
|
*/
|
|
15
20
|
var ProCheckbox = function ProCheckbox(props) {
|
|
16
21
|
var screen_structure = props.screen_structure,
|
|
17
22
|
screen_structure_field = props.screen_structure_field,
|
|
18
23
|
screen_inner_id = props.screen_inner_id,
|
|
19
24
|
range_inner_table = props.range_inner_table,
|
|
20
|
-
checkedValue = props.checkedValue,
|
|
25
|
+
_props$checkedValue = props.checkedValue,
|
|
26
|
+
checkedValue = _props$checkedValue === void 0 ? '1' : _props$checkedValue,
|
|
21
27
|
_checkedProp = props.checked,
|
|
22
28
|
disableEdit = props.disableEdit,
|
|
23
29
|
readOnlyProp = props.readOnly,
|
|
@@ -32,12 +38,18 @@ var ProCheckbox = function ProCheckbox(props) {
|
|
|
32
38
|
structureName = _resolveProScreenBind.structureName,
|
|
33
39
|
structureField = _resolveProScreenBind.structureField,
|
|
34
40
|
fieldPath = _resolveProScreenBind.fieldPath;
|
|
35
|
-
var _useProBoundValue = (0, _useProBoundValue2.useProBoundValue)(fieldPath,
|
|
41
|
+
var _useProBoundValue = (0, _useProBoundValue2.useProBoundValue)(fieldPath, null, null),
|
|
36
42
|
value = _useProBoundValue.value,
|
|
37
43
|
commit = _useProBoundValue.commit;
|
|
44
|
+
|
|
45
|
+
// 选中状态:当前值严格等于 checkedValue 时才勾选
|
|
46
|
+
// 后端返回空值(null / undefined / '')时不会匹配 checkedValue,因此不显示勾
|
|
47
|
+
var isChecked = value != null && value !== '' && String(value) === String(checkedValue);
|
|
38
48
|
var handleChange = function handleChange(checked) {
|
|
39
|
-
|
|
40
|
-
|
|
49
|
+
// 选中 → 提交配置项的值;取消选中 → 提交 null
|
|
50
|
+
var nextValue = checked ? checkedValue : null;
|
|
51
|
+
commit(nextValue);
|
|
52
|
+
schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(nextValue, structureName, structureField);
|
|
41
53
|
};
|
|
42
54
|
return /*#__PURE__*/React.createElement("span", {
|
|
43
55
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
@@ -45,7 +57,7 @@ var ProCheckbox = function ProCheckbox(props) {
|
|
|
45
57
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
46
58
|
disabled: disabledProp,
|
|
47
59
|
checkedValue: checkedValue,
|
|
48
|
-
checked:
|
|
60
|
+
checked: isChecked,
|
|
49
61
|
onChange: handleChange
|
|
50
62
|
})));
|
|
51
63
|
};
|
|
@@ -11,16 +11,13 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _button = _interopRequireDefault(require("antd/lib/button"));
|
|
12
12
|
var _input = _interopRequireDefault(require("antd/lib/input"));
|
|
13
13
|
var _select = _interopRequireDefault(require("antd/lib/select"));
|
|
14
|
-
var
|
|
14
|
+
var _extends0 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
16
|
var React = _react;
|
|
17
17
|
var _icons = require("@ant-design/icons");
|
|
18
18
|
var _moment = _interopRequireDefault(require("moment"));
|
|
19
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
20
20
|
var OPTION_OPTIONS = [{
|
|
21
|
-
label: '(留空)',
|
|
22
|
-
value: ''
|
|
23
|
-
}, {
|
|
24
21
|
label: '等于',
|
|
25
22
|
value: 'EQ'
|
|
26
23
|
}, {
|
|
@@ -74,12 +71,20 @@ var newCondRow = function newCondRow(sign) {
|
|
|
74
71
|
return {
|
|
75
72
|
id: genId(),
|
|
76
73
|
sign: sign,
|
|
77
|
-
option: '',
|
|
74
|
+
option: 'EQ',
|
|
78
75
|
low: '',
|
|
79
76
|
high: ''
|
|
80
77
|
};
|
|
81
78
|
};
|
|
82
79
|
|
|
80
|
+
/** 根据 low/high 是否都有值,自动推断比较符:都有值 → BT,否则 EQ */
|
|
81
|
+
var autoAdjustOption = function autoAdjustOption(currentOpt, low, high) {
|
|
82
|
+
if (low && high) return 'BT';
|
|
83
|
+
// high 或 low 被清空时,若之前是 BT 则回退到 EQ
|
|
84
|
+
if (currentOpt === 'BT') return 'EQ';
|
|
85
|
+
return currentOpt;
|
|
86
|
+
};
|
|
87
|
+
|
|
83
88
|
// ConditionTable: multi-value rows inside the modal
|
|
84
89
|
var ConditionTable = function ConditionTable(_ref) {
|
|
85
90
|
var sign = _ref.sign,
|
|
@@ -88,7 +93,13 @@ var ConditionTable = function ConditionTable(_ref) {
|
|
|
88
93
|
var update = function update(id, key, val) {
|
|
89
94
|
return onChange(rows.map(function (r) {
|
|
90
95
|
var _extends2;
|
|
91
|
-
|
|
96
|
+
if (r.id !== id) return r;
|
|
97
|
+
var updated = (0, _extends0["default"])({}, r, (_extends2 = {}, _extends2[key] = val, _extends2));
|
|
98
|
+
// 修改 low/high 时自动调整比较符:都有值 → BT,否则回退 EQ
|
|
99
|
+
if (key === 'low' || key === 'high') {
|
|
100
|
+
updated.option = autoAdjustOption(r.option, updated.low, updated.high);
|
|
101
|
+
}
|
|
102
|
+
return updated;
|
|
92
103
|
}));
|
|
93
104
|
};
|
|
94
105
|
var remove = function remove(id) {
|
|
@@ -256,7 +267,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
256
267
|
var screenRows = [];
|
|
257
268
|
if (fv.conditions.length) {
|
|
258
269
|
fv.conditions.forEach(function (c) {
|
|
259
|
-
if (c.low || c.high
|
|
270
|
+
if (c.low || c.high) {
|
|
260
271
|
screenRows.push({
|
|
261
272
|
sign: c.sign,
|
|
262
273
|
option: c.option || 'EQ',
|
|
@@ -284,7 +295,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
284
295
|
var updateVal = function updateVal(id, key, val) {
|
|
285
296
|
return setFieldValues(function (prev) {
|
|
286
297
|
var _extends3, _extends4;
|
|
287
|
-
return (0,
|
|
298
|
+
return (0, _extends0["default"])({}, prev, (_extends4 = {}, _extends4[id] = (0, _extends0["default"])({}, prev[id] || {
|
|
288
299
|
low: '',
|
|
289
300
|
high: '',
|
|
290
301
|
conditions: []
|
|
@@ -301,10 +312,10 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
301
312
|
high: '',
|
|
302
313
|
conditions: []
|
|
303
314
|
};
|
|
304
|
-
return (0,
|
|
315
|
+
return (0, _extends0["default"])({}, prev, (_extends6 = {}, _extends6[fieldId] = (0, _extends0["default"])({}, fv, {
|
|
305
316
|
conditions: fv.conditions.map(function (c) {
|
|
306
317
|
var _extends5;
|
|
307
|
-
return c.id === condId ? (0,
|
|
318
|
+
return c.id === condId ? (0, _extends0["default"])({}, c, (_extends5 = {}, _extends5[key] = val, _extends5)) : c;
|
|
308
319
|
})
|
|
309
320
|
}), _extends6));
|
|
310
321
|
});
|
|
@@ -330,13 +341,13 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
330
341
|
var confirmModal = function confirmModal() {
|
|
331
342
|
if (!activeFieldId) return;
|
|
332
343
|
var conditions = [].concat(includeRows.filter(function (r) {
|
|
333
|
-
return r.low || r.
|
|
344
|
+
return r.low || r.high;
|
|
334
345
|
}), excludeRows.filter(function (r) {
|
|
335
|
-
return r.low || r.
|
|
346
|
+
return r.low || r.high;
|
|
336
347
|
}));
|
|
337
348
|
setFieldValues(function (prev) {
|
|
338
349
|
var _extends7;
|
|
339
|
-
return (0,
|
|
350
|
+
return (0, _extends0["default"])({}, prev, (_extends7 = {}, _extends7[activeFieldId] = (0, _extends0["default"])({}, prev[activeFieldId] || {
|
|
340
351
|
low: '',
|
|
341
352
|
high: ''
|
|
342
353
|
}, {
|
|
@@ -414,14 +425,14 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
414
425
|
if (modalTab === 'include') {
|
|
415
426
|
setIncludeRows(function (prev) {
|
|
416
427
|
var base = prev.filter(function (r) {
|
|
417
|
-
return r.low || r.high
|
|
428
|
+
return r.low || r.high;
|
|
418
429
|
});
|
|
419
430
|
return base.length ? [].concat(base, newRows) : newRows;
|
|
420
431
|
});
|
|
421
432
|
} else {
|
|
422
433
|
setExcludeRows(function (prev) {
|
|
423
434
|
var base = prev.filter(function (r) {
|
|
424
|
-
return r.low || r.high
|
|
435
|
+
return r.low || r.high;
|
|
425
436
|
});
|
|
426
437
|
return base.length ? [].concat(base, newRows) : newRows;
|
|
427
438
|
});
|
|
@@ -453,7 +464,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
453
464
|
});
|
|
454
465
|
} else if (fv.low || fv.high) {
|
|
455
466
|
var _rows$push2;
|
|
456
|
-
rows.push((_rows$push2 = {}, _rows$push2[si + "-sign"] = 'I', _rows$push2[si + "-option"] = 'EQ', _rows$push2[si + "-low"] = fv.low, _rows$push2[si + "-high"] = fv.high, _rows$push2));
|
|
467
|
+
rows.push((_rows$push2 = {}, _rows$push2[si + "-sign"] = 'I', _rows$push2[si + "-option"] = fv.high ? 'BT' : 'EQ', _rows$push2[si + "-low"] = fv.low, _rows$push2[si + "-high"] = fv.high, _rows$push2));
|
|
457
468
|
}
|
|
458
469
|
if (rows.length) data[si] = rows;
|
|
459
470
|
|
|
@@ -464,7 +475,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
464
475
|
var screenRows = [];
|
|
465
476
|
if (fv.conditions.length) {
|
|
466
477
|
fv.conditions.forEach(function (c) {
|
|
467
|
-
if (c.low || c.high
|
|
478
|
+
if (c.low || c.high) {
|
|
468
479
|
screenRows.push({
|
|
469
480
|
sign: c.sign,
|
|
470
481
|
option: c.option || 'EQ',
|
|
@@ -500,22 +511,38 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
500
511
|
var val = displayCond ? key === 'low' ? displayCond.low : displayCond.high : fv[key];
|
|
501
512
|
var _onChange = function onChange(v) {
|
|
502
513
|
if (displayCond) {
|
|
503
|
-
//
|
|
504
|
-
|
|
514
|
+
// 将修改同步到多值弹窗的第一行对应字段,并自动调整比较符
|
|
515
|
+
var newLow = key === 'low' ? v : displayCond.low;
|
|
516
|
+
var newHigh = key === 'high' ? v : displayCond.high;
|
|
517
|
+
var newOpt = autoAdjustOption(displayCond.option, newLow, newHigh);
|
|
518
|
+
setFieldValues(function (prev) {
|
|
519
|
+
var _extends9;
|
|
520
|
+
var fv = prev[field.id] || {
|
|
521
|
+
low: '',
|
|
522
|
+
high: '',
|
|
523
|
+
conditions: []
|
|
524
|
+
};
|
|
525
|
+
return (0, _extends0["default"])({}, prev, (_extends9 = {}, _extends9[field.id] = (0, _extends0["default"])({}, fv, {
|
|
526
|
+
conditions: fv.conditions.map(function (c) {
|
|
527
|
+
var _extends8;
|
|
528
|
+
return c.id === displayCond.id ? (0, _extends0["default"])({}, c, (_extends8 = {}, _extends8[key] = v, _extends8.option = newOpt, _extends8)) : c;
|
|
529
|
+
})
|
|
530
|
+
}), _extends9));
|
|
531
|
+
});
|
|
505
532
|
} else {
|
|
506
533
|
updateVal(field.id, key, v);
|
|
507
534
|
}
|
|
508
535
|
};
|
|
509
536
|
|
|
510
537
|
// 将样式 tab 的所有属性直接应用于输入框
|
|
511
|
-
var inputStyle = style ? (0,
|
|
538
|
+
var inputStyle = style ? (0, _extends0["default"])({}, style) : {};
|
|
512
539
|
|
|
513
540
|
// IS_EMPTY / IS_NOT_EMPTY 时输入框置灰
|
|
514
541
|
var isEmptyOp = displayCond && (displayCond.option === 'IS_EMPTY' || displayCond.option === 'IS_NOT_EMPTY');
|
|
515
542
|
var isDisabled = !!isEmptyOp;
|
|
516
543
|
if (field.fieldType === 'date') {
|
|
517
544
|
return /*#__PURE__*/React.createElement(_datePicker["default"], {
|
|
518
|
-
style: (0,
|
|
545
|
+
style: (0, _extends0["default"])({
|
|
519
546
|
width: '100%'
|
|
520
547
|
}, inputStyle),
|
|
521
548
|
value: val ? (0, _moment["default"])(val) : null,
|
|
@@ -527,7 +554,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
527
554
|
}
|
|
528
555
|
if (field.fieldType === 'time') {
|
|
529
556
|
return /*#__PURE__*/React.createElement(_timePicker["default"], {
|
|
530
|
-
style: (0,
|
|
557
|
+
style: (0, _extends0["default"])({
|
|
531
558
|
width: '100%'
|
|
532
559
|
}, inputStyle),
|
|
533
560
|
value: val ? (0, _moment["default"])(val, 'HH:mm:ss') : null,
|
|
@@ -584,7 +611,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
584
611
|
var sym = OPTION_SYMBOL[opt];
|
|
585
612
|
if (!sym) return null;
|
|
586
613
|
return /*#__PURE__*/React.createElement("span", {
|
|
587
|
-
style: (0,
|
|
614
|
+
style: (0, _extends0["default"])({}, badgeStyle, {
|
|
588
615
|
background: '#52c41a'
|
|
589
616
|
})
|
|
590
617
|
}, sym);
|
|
@@ -594,11 +621,19 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
594
621
|
// 4.5.2:空 / EQ 也要显示红底 "=" ;其它按 OPTION_SYMBOL 显示
|
|
595
622
|
var _sym = _opt && OPTION_SYMBOL[_opt] || '=';
|
|
596
623
|
return /*#__PURE__*/React.createElement("span", {
|
|
597
|
-
style: (0,
|
|
624
|
+
style: (0, _extends0["default"])({}, badgeStyle, {
|
|
598
625
|
background: '#ff4d4f'
|
|
599
626
|
})
|
|
600
627
|
}, _sym);
|
|
601
628
|
}
|
|
629
|
+
// 无多值条件时:low 和 high 都有值 → 显示绿底"~"(介于)
|
|
630
|
+
if (fv.low && fv.high) {
|
|
631
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
632
|
+
style: (0, _extends0["default"])({}, badgeStyle, {
|
|
633
|
+
background: '#52c41a'
|
|
634
|
+
})
|
|
635
|
+
}, OPTION_SYMBOL['BT']);
|
|
636
|
+
}
|
|
602
637
|
return null;
|
|
603
638
|
};
|
|
604
639
|
var headerSize = {
|
|
@@ -609,10 +644,10 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
609
644
|
return f.id === activeFieldId;
|
|
610
645
|
});
|
|
611
646
|
var incCount = includeRows.filter(function (r) {
|
|
612
|
-
return r.low || r.
|
|
647
|
+
return r.low || r.high;
|
|
613
648
|
}).length;
|
|
614
649
|
var excCount = excludeRows.filter(function (r) {
|
|
615
|
-
return r.low || r.
|
|
650
|
+
return r.low || r.high;
|
|
616
651
|
}).length;
|
|
617
652
|
return /*#__PURE__*/React.createElement("div", {
|
|
618
653
|
style: {
|
|
@@ -623,7 +658,7 @@ var ProSearch = function ProSearch(_ref2) {
|
|
|
623
658
|
padding: '0 4px 8px 4px'
|
|
624
659
|
}
|
|
625
660
|
}, showHeader && /*#__PURE__*/React.createElement("div", {
|
|
626
|
-
style: (0,
|
|
661
|
+
style: (0, _extends0["default"])({
|
|
627
662
|
display: 'flex',
|
|
628
663
|
padding: '4px 8px',
|
|
629
664
|
gap: 6,
|
|
@@ -39,6 +39,7 @@ var ProSelect = function ProSelect(props) {
|
|
|
39
39
|
return /*#__PURE__*/React.createElement("span", {
|
|
40
40
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
41
41
|
}, /*#__PURE__*/React.createElement(_select["default"], (0, _extends2["default"])({}, props, {
|
|
42
|
+
hasClear: true,
|
|
42
43
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
43
44
|
disabled: disabledProp,
|
|
44
45
|
dataSource: dataSource,
|
|
@@ -106,6 +106,7 @@ var EditProTable = function EditProTable(_ref) {
|
|
|
106
106
|
if (column.valueType === 'select') {
|
|
107
107
|
return /*#__PURE__*/React.createElement(_select["default"], {
|
|
108
108
|
disabled: disabled,
|
|
109
|
+
allowClear: true,
|
|
109
110
|
options: column.valueEnum ? Object.keys(column.valueEnum).map(function (key) {
|
|
110
111
|
return {
|
|
111
112
|
label: key,
|
package/lowcode_es/meta.js
CHANGED
|
@@ -102,7 +102,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
|
|
|
102
102
|
packageName = '@openli1115/lowcode-edit-pro-table';
|
|
103
103
|
}
|
|
104
104
|
if (version === void 0) {
|
|
105
|
-
version = '1.0.
|
|
105
|
+
version = '1.0.110';
|
|
106
106
|
}
|
|
107
107
|
if (basicLibraryVersion === void 0) {
|
|
108
108
|
basicLibraryVersion = {
|
package/lowcode_lib/meta.js
CHANGED
|
@@ -107,7 +107,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
|
|
|
107
107
|
packageName = '@openli1115/lowcode-edit-pro-table';
|
|
108
108
|
}
|
|
109
109
|
if (version === void 0) {
|
|
110
|
-
version = '1.0.
|
|
110
|
+
version = '1.0.110';
|
|
111
111
|
}
|
|
112
112
|
if (basicLibraryVersion === void 0) {
|
|
113
113
|
basicLibraryVersion = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openli1115/lowcode-edit-pro-table",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.110",
|
|
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.
|
|
104
|
+
"materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.110/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.
|
|
109
|
+
"homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.110/build/index.html"
|
|
110
110
|
}
|