@nokecy/qc-ui 1.1.81 → 1.1.82
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.
|
@@ -653,6 +653,9 @@ var buildArrayTableColumns = exports.buildArrayTableColumns = function buildArra
|
|
|
653
653
|
// 懒挂载会把它降成「是/否」纯文本(点击才挂出开关),用户会以为开关消失。故可编辑态强制 eager。
|
|
654
654
|
// 只读态(下方 ① 路径)仍走「是/否」文本快路径不受影响。@author nokecy
|
|
655
655
|
var isInlineToggle = component === 'Switch' || component === 'Checkbox';
|
|
656
|
+
// ArrayTableIndex 靠「挂载时 useEffect 调 onChange(index+1)」把行号写进数据字段(如工艺路线的 sort)。
|
|
657
|
+
// 懒挂载只出文本、不挂真组件,effect 永远不执行,新增行的行号字段就是空的,故强制 eager。@author nokecy
|
|
658
|
+
var isIndexWriter = component === 'ArrayTableIndex';
|
|
656
659
|
|
|
657
660
|
// formatter 路径(只读快路径/懒挂载)经 AG-Grid params.value 取值,而 params.value 由 colDef.field(=name)驱动。
|
|
658
661
|
// 但设计器生成的 schema 里 Column key 多为随机 designable-id 且无 dataIndex,真实数据键在内层字段 name 上,
|
|
@@ -719,7 +722,7 @@ var buildArrayTableColumns = exports.buildArrayTableColumns = function buildArra
|
|
|
719
722
|
}
|
|
720
723
|
|
|
721
724
|
// ② 可编辑懒挂载(排除单击直控的 Switch/Checkbox:须 eager 出真控件)
|
|
722
|
-
if (!readOnly && formatter && !hasReactions && !forceEager && !isInlineToggle && canFastPath) {
|
|
725
|
+
if (!readOnly && formatter && !hasReactions && !forceEager && !isInlineToggle && !isIndexWriter && canFastPath) {
|
|
723
726
|
return emit(_objectSpread(_objectSpread(_objectSpread({}, base), valueGetter ? {
|
|
724
727
|
valueGetter: valueGetter
|
|
725
728
|
} : {}), {}, {
|
|
@@ -10,10 +10,12 @@ var _arrayBase = require("../array-table/arrayBase");
|
|
|
10
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
11
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
12
|
var _default = exports.default = function _default(props) {
|
|
13
|
-
var onChange = props.onChange
|
|
13
|
+
var onChange = props.onChange,
|
|
14
|
+
value = props.value;
|
|
14
15
|
var index = _arrayBase.ArrayBase.useIndex();
|
|
15
16
|
(0, _react.useEffect)(function () {
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
// 行号变了、或字段值被外部覆盖/清空(如 setValues、重置)而不等于行号时,重新写入
|
|
18
|
+
if (value !== index + 1) onChange(index + 1);
|
|
19
|
+
}, [index, value]);
|
|
18
20
|
return /*#__PURE__*/_react.default.createElement("span", props, "#", index + 1, ".");
|
|
19
21
|
};
|
|
@@ -644,6 +644,9 @@ var buildArrayTableColumns = function buildArrayTableColumns(dataSource, field,
|
|
|
644
644
|
// 懒挂载会把它降成「是/否」纯文本(点击才挂出开关),用户会以为开关消失。故可编辑态强制 eager。
|
|
645
645
|
// 只读态(下方 ① 路径)仍走「是/否」文本快路径不受影响。@author nokecy
|
|
646
646
|
var isInlineToggle = component === 'Switch' || component === 'Checkbox';
|
|
647
|
+
// ArrayTableIndex 靠「挂载时 useEffect 调 onChange(index+1)」把行号写进数据字段(如工艺路线的 sort)。
|
|
648
|
+
// 懒挂载只出文本、不挂真组件,effect 永远不执行,新增行的行号字段就是空的,故强制 eager。@author nokecy
|
|
649
|
+
var isIndexWriter = component === 'ArrayTableIndex';
|
|
647
650
|
|
|
648
651
|
// formatter 路径(只读快路径/懒挂载)经 AG-Grid params.value 取值,而 params.value 由 colDef.field(=name)驱动。
|
|
649
652
|
// 但设计器生成的 schema 里 Column key 多为随机 designable-id 且无 dataIndex,真实数据键在内层字段 name 上,
|
|
@@ -710,7 +713,7 @@ var buildArrayTableColumns = function buildArrayTableColumns(dataSource, field,
|
|
|
710
713
|
}
|
|
711
714
|
|
|
712
715
|
// ② 可编辑懒挂载(排除单击直控的 Switch/Checkbox:须 eager 出真控件)
|
|
713
|
-
if (!readOnly && formatter && !hasReactions && !forceEager && !isInlineToggle && canFastPath) {
|
|
716
|
+
if (!readOnly && formatter && !hasReactions && !forceEager && !isInlineToggle && !isIndexWriter && canFastPath) {
|
|
714
717
|
return emit(_objectSpread(_objectSpread(_objectSpread({}, base), valueGetter ? {
|
|
715
718
|
valueGetter: valueGetter
|
|
716
719
|
} : {}), {}, {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
2
|
import { ArrayBase } from "../array-table/arrayBase";
|
|
3
3
|
export default (function (props) {
|
|
4
|
-
var onChange = props.onChange
|
|
4
|
+
var onChange = props.onChange,
|
|
5
|
+
value = props.value;
|
|
5
6
|
var index = ArrayBase.useIndex();
|
|
6
7
|
useEffect(function () {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
// 行号变了、或字段值被外部覆盖/清空(如 setValues、重置)而不等于行号时,重新写入
|
|
9
|
+
if (value !== index + 1) onChange(index + 1);
|
|
10
|
+
}, [index, value]);
|
|
9
11
|
return /*#__PURE__*/React.createElement("span", props, "#", index + 1, ".");
|
|
10
12
|
});
|