pro-design-vue 1.3.21 → 1.3.23
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/index.css +1 -1
- package/dist/index.full.js +1217 -1585
- package/dist/index.full.min.js +7 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1218 -1586
- package/es/components/config-provider/src/typing.d.ts +1 -0
- package/es/components/table/src/components/Body/Body.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/es/components/table/src/components/Body/BodyEditCell.d.ts +61 -0
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/es/components/table/src/components/InteralTable.vue.d.ts +314 -19
- package/es/components/table/src/components/Table.d.ts +51 -0
- package/es/components/table/src/components/context/TableContext.d.ts +4 -0
- package/es/components/table/src/components/interface.d.ts +290 -23
- package/es/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/es/components/table/src/hooks/useEdit.d.ts +24 -7
- package/es/components/table/src/utils/form-model.d.ts +25 -0
- package/es/components/table/src/utils/util.d.ts +1 -0
- package/es/index.d.ts +271 -5
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs +35 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs +129 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +292 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +63 -8
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +24 -18
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/{BodyCell.mjs → BodyTextCell.mjs} +25 -155
- package/es/packages/components/table/src/components/Body/BodyTextCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/InteralTable.vue.mjs +24 -25
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +36 -97
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +24 -20
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/context/TableContext.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +24 -0
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useCellProps.mjs +8 -0
- package/es/packages/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs +293 -18
- package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
- package/es/packages/components/table/src/utils/form-model.mjs +98 -0
- package/es/packages/components/table/src/utils/form-model.mjs.map +1 -0
- package/es/packages/components/table/src/utils/util.mjs +4 -1
- package/es/packages/components/table/src/utils/util.mjs.map +1 -1
- package/es/packages/utils/dom.mjs +15 -1
- package/es/packages/utils/dom.mjs.map +1 -1
- package/es/packages/utils/index.mjs +1 -1
- package/es/utils/dom.d.ts +2 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/config-provider/src/typing.d.ts +1 -0
- package/lib/components/table/src/components/Body/Body.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/lib/components/table/src/components/Body/BodyEditCell.d.ts +61 -0
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/lib/components/table/src/components/InteralTable.vue.d.ts +314 -19
- package/lib/components/table/src/components/Table.d.ts +51 -0
- package/lib/components/table/src/components/context/TableContext.d.ts +4 -0
- package/lib/components/table/src/components/interface.d.ts +290 -23
- package/lib/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/lib/components/table/src/hooks/useEdit.d.ts +24 -7
- package/lib/components/table/src/utils/form-model.d.ts +25 -0
- package/lib/components/table/src/utils/util.d.ts +1 -0
- package/lib/index.d.ts +271 -5
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js +39 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js +133 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +297 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +63 -8
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +22 -16
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/{BodyCell.js → BodyTextCell.js} +24 -154
- package/lib/packages/components/table/src/components/Body/BodyTextCell.js.map +1 -0
- package/lib/packages/components/table/src/components/InteralTable.vue.js +24 -25
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +36 -97
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +24 -20
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/context/TableContext.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +24 -0
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useCellProps.js +8 -0
- package/lib/packages/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js +292 -17
- package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
- package/lib/packages/components/table/src/utils/form-model.js +102 -0
- package/lib/packages/components/table/src/utils/form-model.js.map +1 -0
- package/lib/packages/components/table/src/utils/util.js +4 -0
- package/lib/packages/components/table/src/utils/util.js.map +1 -1
- package/lib/packages/utils/dom.js +16 -0
- package/lib/packages/utils/dom.js.map +1 -1
- package/lib/packages/utils/index.js +2 -0
- package/lib/packages/utils/index.js.map +1 -1
- package/lib/utils/dom.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +40 -2
- package/es/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs +0 -48
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs +0 -151
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs.map +0 -1
- package/lib/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/lib/packages/components/table/src/components/Body/BodyCell.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js +0 -52
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js +0 -155
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js.map +0 -1
package/dist/index.full.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Pro Design Vue v1.3.
|
|
1
|
+
/*! Pro Design Vue v1.3.23 */
|
|
2
2
|
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('ant-design-vue'), require('vue'), require('ant-design-vue/es/locale/zh_CN.js')) :
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
const DEFAULT_NAMESPACE = "pro";
|
|
33
33
|
const DEFAULT_LOCALE = "zh-CN";
|
|
34
34
|
|
|
35
|
-
const version$1 = "1.3.
|
|
35
|
+
const version$1 = "1.3.23";
|
|
36
36
|
|
|
37
37
|
const makeInstaller = (components = []) => {
|
|
38
38
|
const install = (app) => {
|
|
@@ -766,7 +766,7 @@
|
|
|
766
766
|
return newNode;
|
|
767
767
|
}
|
|
768
768
|
|
|
769
|
-
function _objectSpread$
|
|
769
|
+
function _objectSpread$v(target) {
|
|
770
770
|
for (var i = 1; i < arguments.length; i++) {
|
|
771
771
|
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
772
772
|
var ownKeys = Object.keys(source);
|
|
@@ -776,12 +776,12 @@
|
|
|
776
776
|
}));
|
|
777
777
|
}
|
|
778
778
|
ownKeys.forEach(function(key) {
|
|
779
|
-
_defineProperty$
|
|
779
|
+
_defineProperty$w(target, key, source[key]);
|
|
780
780
|
});
|
|
781
781
|
}
|
|
782
782
|
return target;
|
|
783
783
|
}
|
|
784
|
-
function _defineProperty$
|
|
784
|
+
function _defineProperty$w(obj, key, value) {
|
|
785
785
|
if (key in obj) {
|
|
786
786
|
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
787
787
|
} else {
|
|
@@ -802,13 +802,13 @@
|
|
|
802
802
|
}
|
|
803
803
|
function generate(node, key, rootProps) {
|
|
804
804
|
if (!rootProps) {
|
|
805
|
-
return vue.h(node.tag, _objectSpread$
|
|
805
|
+
return vue.h(node.tag, _objectSpread$v({
|
|
806
806
|
key
|
|
807
807
|
}, node.attrs), (node.children || []).map(function(child, index) {
|
|
808
808
|
return generate(child, "".concat(key, "-").concat(node.tag, "-").concat(index));
|
|
809
809
|
}));
|
|
810
810
|
}
|
|
811
|
-
return vue.h(node.tag, _objectSpread$
|
|
811
|
+
return vue.h(node.tag, _objectSpread$v({
|
|
812
812
|
key
|
|
813
813
|
}, rootProps, node.attrs), (node.children || []).map(function(child, index) {
|
|
814
814
|
return generate(child, "".concat(key, "-").concat(node.tag, "-").concat(index));
|
|
@@ -892,7 +892,7 @@
|
|
|
892
892
|
}
|
|
893
893
|
return target;
|
|
894
894
|
}
|
|
895
|
-
function _objectSpread$
|
|
895
|
+
function _objectSpread$u(target) {
|
|
896
896
|
for (var i = 1; i < arguments.length; i++) {
|
|
897
897
|
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
898
898
|
var ownKeys = Object.keys(source);
|
|
@@ -902,12 +902,12 @@
|
|
|
902
902
|
}));
|
|
903
903
|
}
|
|
904
904
|
ownKeys.forEach(function(key) {
|
|
905
|
-
_defineProperty$
|
|
905
|
+
_defineProperty$v(target, key, source[key]);
|
|
906
906
|
});
|
|
907
907
|
}
|
|
908
908
|
return target;
|
|
909
909
|
}
|
|
910
|
-
function _defineProperty$
|
|
910
|
+
function _defineProperty$v(obj, key, value) {
|
|
911
911
|
if (key in obj) {
|
|
912
912
|
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
913
913
|
} else {
|
|
@@ -927,10 +927,10 @@
|
|
|
927
927
|
twoToneColorPalette.calculated = !!secondaryColor;
|
|
928
928
|
}
|
|
929
929
|
function getTwoToneColors() {
|
|
930
|
-
return _objectSpread$
|
|
930
|
+
return _objectSpread$u({}, twoToneColorPalette);
|
|
931
931
|
}
|
|
932
932
|
var IconBase = function IconBase2(props, context) {
|
|
933
|
-
var _props$context$attrs = _objectSpread$
|
|
933
|
+
var _props$context$attrs = _objectSpread$u({}, props, context.attrs), icon = _props$context$attrs.icon, primaryColor = _props$context$attrs.primaryColor, secondaryColor = _props$context$attrs.secondaryColor, restProps = _objectWithoutProperties$2(_props$context$attrs, _excluded$2);
|
|
934
934
|
var colors = twoToneColorPalette;
|
|
935
935
|
if (primaryColor) {
|
|
936
936
|
colors = {
|
|
@@ -944,11 +944,11 @@
|
|
|
944
944
|
}
|
|
945
945
|
var target = icon;
|
|
946
946
|
if (target && typeof target.icon === "function") {
|
|
947
|
-
target = _objectSpread$
|
|
947
|
+
target = _objectSpread$u({}, target, {
|
|
948
948
|
icon: target.icon(colors.primaryColor, colors.secondaryColor)
|
|
949
949
|
});
|
|
950
950
|
}
|
|
951
|
-
return generate(target.icon, "svg-".concat(target.name), _objectSpread$
|
|
951
|
+
return generate(target.icon, "svg-".concat(target.name), _objectSpread$u({}, restProps, {
|
|
952
952
|
"data-icon": target.name,
|
|
953
953
|
width: "1em",
|
|
954
954
|
height: "1em",
|
|
@@ -1089,7 +1089,7 @@
|
|
|
1089
1089
|
function _arrayWithHoles(arr) {
|
|
1090
1090
|
if (Array.isArray(arr)) return arr;
|
|
1091
1091
|
}
|
|
1092
|
-
function _objectSpread$
|
|
1092
|
+
function _objectSpread$t(target) {
|
|
1093
1093
|
for (var i = 1; i < arguments.length; i++) {
|
|
1094
1094
|
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
1095
1095
|
var ownKeys = Object.keys(source);
|
|
@@ -1099,12 +1099,12 @@
|
|
|
1099
1099
|
}));
|
|
1100
1100
|
}
|
|
1101
1101
|
ownKeys.forEach(function(key) {
|
|
1102
|
-
_defineProperty$
|
|
1102
|
+
_defineProperty$u(target, key, source[key]);
|
|
1103
1103
|
});
|
|
1104
1104
|
}
|
|
1105
1105
|
return target;
|
|
1106
1106
|
}
|
|
1107
|
-
function _defineProperty$
|
|
1107
|
+
function _defineProperty$u(obj, key, value) {
|
|
1108
1108
|
if (key in obj) {
|
|
1109
1109
|
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
1110
1110
|
} else {
|
|
@@ -1142,9 +1142,9 @@
|
|
|
1142
1142
|
setTwoToneColor(blue.primary);
|
|
1143
1143
|
var Icon$1 = function Icon2(props, context) {
|
|
1144
1144
|
var _classObj;
|
|
1145
|
-
var _props$context$attrs = _objectSpread$
|
|
1145
|
+
var _props$context$attrs = _objectSpread$t({}, props, context.attrs), cls = _props$context$attrs["class"], icon = _props$context$attrs.icon, spin = _props$context$attrs.spin, rotate = _props$context$attrs.rotate, tabindex = _props$context$attrs.tabindex, twoToneColor = _props$context$attrs.twoToneColor, onClick = _props$context$attrs.onClick, restProps = _objectWithoutProperties$1(_props$context$attrs, _excluded$1);
|
|
1146
1146
|
var _useInjectIconContext = useInjectIconContext(), prefixCls = _useInjectIconContext.prefixCls, rootClassName = _useInjectIconContext.rootClassName;
|
|
1147
|
-
var classObj = (_classObj = {}, _defineProperty$
|
|
1147
|
+
var classObj = (_classObj = {}, _defineProperty$u(_classObj, rootClassName.value, !!rootClassName.value), _defineProperty$u(_classObj, prefixCls.value, true), _defineProperty$u(_classObj, "".concat(prefixCls.value, "-").concat(icon.name), Boolean(icon.name)), _defineProperty$u(_classObj, "".concat(prefixCls.value, "-spin"), !!spin || icon.name === "loading"), _classObj);
|
|
1148
1148
|
var iconTabIndex = tabindex;
|
|
1149
1149
|
if (iconTabIndex === void 0 && onClick) {
|
|
1150
1150
|
iconTabIndex = -1;
|
|
@@ -1154,7 +1154,7 @@
|
|
|
1154
1154
|
transform: "rotate(".concat(rotate, "deg)")
|
|
1155
1155
|
} : void 0;
|
|
1156
1156
|
var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor), _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2), primaryColor = _normalizeTwoToneColo2[0], secondaryColor = _normalizeTwoToneColo2[1];
|
|
1157
|
-
return vue.createVNode("span", _objectSpread$
|
|
1157
|
+
return vue.createVNode("span", _objectSpread$t({
|
|
1158
1158
|
"role": "img",
|
|
1159
1159
|
"aria-label": icon.name
|
|
1160
1160
|
}, restProps, {
|
|
@@ -1181,7 +1181,7 @@
|
|
|
1181
1181
|
|
|
1182
1182
|
var CaretDownOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z" } }] }, "name": "caret-down", "theme": "outlined" };
|
|
1183
1183
|
|
|
1184
|
-
function _objectSpread$
|
|
1184
|
+
function _objectSpread$s(target) {
|
|
1185
1185
|
for (var i = 1; i < arguments.length; i++) {
|
|
1186
1186
|
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
1187
1187
|
var ownKeys = Object.keys(source);
|
|
@@ -1191,12 +1191,12 @@
|
|
|
1191
1191
|
}));
|
|
1192
1192
|
}
|
|
1193
1193
|
ownKeys.forEach(function(key) {
|
|
1194
|
-
_defineProperty$
|
|
1194
|
+
_defineProperty$t(target, key, source[key]);
|
|
1195
1195
|
});
|
|
1196
1196
|
}
|
|
1197
1197
|
return target;
|
|
1198
1198
|
}
|
|
1199
|
-
function _defineProperty$
|
|
1199
|
+
function _defineProperty$t(obj, key, value) {
|
|
1200
1200
|
if (key in obj) {
|
|
1201
1201
|
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
1202
1202
|
} else {
|
|
@@ -1205,8 +1205,8 @@
|
|
|
1205
1205
|
return obj;
|
|
1206
1206
|
}
|
|
1207
1207
|
var CaretDownOutlined = function CaretDownOutlined2(props, context) {
|
|
1208
|
-
var p = _objectSpread$
|
|
1209
|
-
return vue.createVNode(Icon$1, _objectSpread$
|
|
1208
|
+
var p = _objectSpread$s({}, props, context.attrs);
|
|
1209
|
+
return vue.createVNode(Icon$1, _objectSpread$s({}, p, {
|
|
1210
1210
|
"icon": CaretDownOutlined$1
|
|
1211
1211
|
}), null);
|
|
1212
1212
|
};
|
|
@@ -1215,7 +1215,7 @@
|
|
|
1215
1215
|
|
|
1216
1216
|
var CaretUpOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z" } }] }, "name": "caret-up", "theme": "outlined" };
|
|
1217
1217
|
|
|
1218
|
-
function _objectSpread$
|
|
1218
|
+
function _objectSpread$r(target) {
|
|
1219
1219
|
for (var i = 1; i < arguments.length; i++) {
|
|
1220
1220
|
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
1221
1221
|
var ownKeys = Object.keys(source);
|
|
@@ -1225,12 +1225,12 @@
|
|
|
1225
1225
|
}));
|
|
1226
1226
|
}
|
|
1227
1227
|
ownKeys.forEach(function(key) {
|
|
1228
|
-
_defineProperty$
|
|
1228
|
+
_defineProperty$s(target, key, source[key]);
|
|
1229
1229
|
});
|
|
1230
1230
|
}
|
|
1231
1231
|
return target;
|
|
1232
1232
|
}
|
|
1233
|
-
function _defineProperty$
|
|
1233
|
+
function _defineProperty$s(obj, key, value) {
|
|
1234
1234
|
if (key in obj) {
|
|
1235
1235
|
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
1236
1236
|
} else {
|
|
@@ -1239,8 +1239,8 @@
|
|
|
1239
1239
|
return obj;
|
|
1240
1240
|
}
|
|
1241
1241
|
var CaretUpOutlined = function CaretUpOutlined2(props, context) {
|
|
1242
|
-
var p = _objectSpread$
|
|
1243
|
-
return vue.createVNode(Icon$1, _objectSpread$
|
|
1242
|
+
var p = _objectSpread$r({}, props, context.attrs);
|
|
1243
|
+
return vue.createVNode(Icon$1, _objectSpread$r({}, p, {
|
|
1244
1244
|
"icon": CaretUpOutlined$1
|
|
1245
1245
|
}), null);
|
|
1246
1246
|
};
|
|
@@ -1249,6 +1249,40 @@
|
|
|
1249
1249
|
|
|
1250
1250
|
var CheckCircleFilled$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z" } }] }, "name": "check-circle", "theme": "filled" };
|
|
1251
1251
|
|
|
1252
|
+
function _objectSpread$q(target) {
|
|
1253
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
1254
|
+
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
1255
|
+
var ownKeys = Object.keys(source);
|
|
1256
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
1257
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
1258
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
1259
|
+
}));
|
|
1260
|
+
}
|
|
1261
|
+
ownKeys.forEach(function(key) {
|
|
1262
|
+
_defineProperty$r(target, key, source[key]);
|
|
1263
|
+
});
|
|
1264
|
+
}
|
|
1265
|
+
return target;
|
|
1266
|
+
}
|
|
1267
|
+
function _defineProperty$r(obj, key, value) {
|
|
1268
|
+
if (key in obj) {
|
|
1269
|
+
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
1270
|
+
} else {
|
|
1271
|
+
obj[key] = value;
|
|
1272
|
+
}
|
|
1273
|
+
return obj;
|
|
1274
|
+
}
|
|
1275
|
+
var CheckCircleFilled = function CheckCircleFilled2(props, context) {
|
|
1276
|
+
var p = _objectSpread$q({}, props, context.attrs);
|
|
1277
|
+
return vue.createVNode(Icon$1, _objectSpread$q({}, p, {
|
|
1278
|
+
"icon": CheckCircleFilled$1
|
|
1279
|
+
}), null);
|
|
1280
|
+
};
|
|
1281
|
+
CheckCircleFilled.displayName = "CheckCircleFilled";
|
|
1282
|
+
CheckCircleFilled.inheritAttrs = false;
|
|
1283
|
+
|
|
1284
|
+
var CloseCircleFilled$1 = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z" } }] }, "name": "close-circle", "theme": "filled" };
|
|
1285
|
+
|
|
1252
1286
|
function _objectSpread$p(target) {
|
|
1253
1287
|
for (var i = 1; i < arguments.length; i++) {
|
|
1254
1288
|
var source = arguments[i] != null ? Object(arguments[i]) : {};
|
|
@@ -1272,14 +1306,14 @@
|
|
|
1272
1306
|
}
|
|
1273
1307
|
return obj;
|
|
1274
1308
|
}
|
|
1275
|
-
var
|
|
1309
|
+
var CloseCircleFilled = function CloseCircleFilled2(props, context) {
|
|
1276
1310
|
var p = _objectSpread$p({}, props, context.attrs);
|
|
1277
1311
|
return vue.createVNode(Icon$1, _objectSpread$p({}, p, {
|
|
1278
|
-
"icon":
|
|
1312
|
+
"icon": CloseCircleFilled$1
|
|
1279
1313
|
}), null);
|
|
1280
1314
|
};
|
|
1281
|
-
|
|
1282
|
-
|
|
1315
|
+
CloseCircleFilled.displayName = "CloseCircleFilled";
|
|
1316
|
+
CloseCircleFilled.inheritAttrs = false;
|
|
1283
1317
|
|
|
1284
1318
|
var CloseOutlined$1 = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z" } }] }, "name": "close", "theme": "outlined" };
|
|
1285
1319
|
|
|
@@ -2218,6 +2252,18 @@
|
|
|
2218
2252
|
function isObject$4(val) {
|
|
2219
2253
|
return val !== null && is$1(val, "Object");
|
|
2220
2254
|
}
|
|
2255
|
+
function isEmpty(val) {
|
|
2256
|
+
if (isArray$2(val) || isString$1(val)) {
|
|
2257
|
+
return val.length === 0;
|
|
2258
|
+
}
|
|
2259
|
+
if (val instanceof Map || val instanceof Set) {
|
|
2260
|
+
return val.size === 0;
|
|
2261
|
+
}
|
|
2262
|
+
if (isObject$4(val)) {
|
|
2263
|
+
return Object.keys(val).length === 0;
|
|
2264
|
+
}
|
|
2265
|
+
return false;
|
|
2266
|
+
}
|
|
2221
2267
|
const isNil = (value) => value === null || value === void 0;
|
|
2222
2268
|
function isNumber$2(val) {
|
|
2223
2269
|
return is$1(val, "Number");
|
|
@@ -2231,6 +2277,9 @@
|
|
|
2231
2277
|
function isFunction$2(val) {
|
|
2232
2278
|
return typeof val === "function";
|
|
2233
2279
|
}
|
|
2280
|
+
function isBoolean(val) {
|
|
2281
|
+
return is$1(val, "Boolean");
|
|
2282
|
+
}
|
|
2234
2283
|
function isArray$2(val) {
|
|
2235
2284
|
return val && Array.isArray(val);
|
|
2236
2285
|
}
|
|
@@ -23739,6 +23788,9 @@
|
|
|
23739
23788
|
function getColumnPos(index, pos) {
|
|
23740
23789
|
return pos ? `${pos}-${index}` : `${index}`;
|
|
23741
23790
|
}
|
|
23791
|
+
function getCellKey(rowKey, colKey) {
|
|
23792
|
+
return [rowKey, colKey].join("_");
|
|
23793
|
+
}
|
|
23742
23794
|
function objectToEmpty(obj) {
|
|
23743
23795
|
for (const key in obj) Object.prototype.hasOwnProperty.call(obj, key) && delete obj[key];
|
|
23744
23796
|
}
|
|
@@ -24059,6 +24111,10 @@
|
|
|
24059
24111
|
type: Boolean,
|
|
24060
24112
|
default: void 0
|
|
24061
24113
|
},
|
|
24114
|
+
selectRowByClick: {
|
|
24115
|
+
type: Boolean,
|
|
24116
|
+
default: void 0
|
|
24117
|
+
},
|
|
24062
24118
|
expandIcon: {
|
|
24063
24119
|
type: Function,
|
|
24064
24120
|
default: void 0
|
|
@@ -24121,6 +24177,14 @@
|
|
|
24121
24177
|
type: Function,
|
|
24122
24178
|
default: () => ({})
|
|
24123
24179
|
},
|
|
24180
|
+
editableKeys: {
|
|
24181
|
+
type: Array,
|
|
24182
|
+
default: void 0
|
|
24183
|
+
},
|
|
24184
|
+
rowEditable: {
|
|
24185
|
+
type: Object,
|
|
24186
|
+
default: void 0
|
|
24187
|
+
},
|
|
24124
24188
|
showHeader: {
|
|
24125
24189
|
type: Boolean,
|
|
24126
24190
|
default: true
|
|
@@ -24219,6 +24283,9 @@
|
|
|
24219
24283
|
type: Boolean,
|
|
24220
24284
|
default: void 0
|
|
24221
24285
|
},
|
|
24286
|
+
editableCellState: {
|
|
24287
|
+
type: Function
|
|
24288
|
+
},
|
|
24222
24289
|
paginationSticky: {
|
|
24223
24290
|
type: [Boolean, Object],
|
|
24224
24291
|
default: true
|
|
@@ -24272,6 +24339,15 @@
|
|
|
24272
24339
|
type: Function,
|
|
24273
24340
|
default: void 0
|
|
24274
24341
|
},
|
|
24342
|
+
onDataChange: {
|
|
24343
|
+
type: Function
|
|
24344
|
+
},
|
|
24345
|
+
onRowValidate: {
|
|
24346
|
+
type: Function
|
|
24347
|
+
},
|
|
24348
|
+
onValidate: {
|
|
24349
|
+
type: Function
|
|
24350
|
+
},
|
|
24275
24351
|
"onUpdate:pagination": {
|
|
24276
24352
|
type: Function
|
|
24277
24353
|
},
|
|
@@ -25024,41 +25100,305 @@
|
|
|
25024
25100
|
const ICON_TYPE_FORBID$1 = "ICON_TYPE_FORBID";
|
|
25025
25101
|
|
|
25026
25102
|
const EditKey = Symbol("edit");
|
|
25027
|
-
const useEditProvider = (
|
|
25103
|
+
const useEditProvider = (props, {
|
|
25104
|
+
rawData,
|
|
25105
|
+
getRowKey,
|
|
25106
|
+
getIndexsByKey,
|
|
25107
|
+
getRecordByKey
|
|
25108
|
+
}) => {
|
|
25109
|
+
var _a;
|
|
25028
25110
|
const editCellKeys = vue.shallowRef([]);
|
|
25029
|
-
const
|
|
25030
|
-
const
|
|
25111
|
+
const editRowsMap = vue.shallowRef({});
|
|
25112
|
+
const intl = useIntl();
|
|
25113
|
+
const editableType = vue.computed(() => {
|
|
25114
|
+
var _a2;
|
|
25115
|
+
return (_a2 = props.rowEditable) == null ? void 0 : _a2.type;
|
|
25116
|
+
});
|
|
25117
|
+
const [mergedEditableKeys, setMergedEditableKeys] = useMergedState$1([], {
|
|
25118
|
+
value: vue.computed(() => {
|
|
25119
|
+
var _a2;
|
|
25120
|
+
return props.editableKeys || ((_a2 = props.rowEditable) == null ? void 0 : _a2.editableKeys);
|
|
25121
|
+
}),
|
|
25122
|
+
onChange: ((_a = props.rowEditable) == null ? void 0 : _a.onChange) ? (keys) => {
|
|
25123
|
+
var _a2, _b, _c;
|
|
25124
|
+
(_c = (_a2 = props.rowEditable) == null ? void 0 : _a2.onChange) == null ? void 0 : _c.call(
|
|
25125
|
+
_a2,
|
|
25126
|
+
// 计算编辑的key
|
|
25127
|
+
keys != null ? keys : [],
|
|
25128
|
+
(_b = keys == null ? void 0 : keys.map((key) => editRowsMap.value[key])) != null ? _b : []
|
|
25129
|
+
);
|
|
25130
|
+
} : void 0
|
|
25131
|
+
});
|
|
25132
|
+
const editingCells = vue.ref({});
|
|
25133
|
+
const newLineRecordCache = vue.shallowRef({});
|
|
25134
|
+
const editableKeysSet = vue.computed(() => {
|
|
25135
|
+
var _a2;
|
|
25136
|
+
const keys = editableType.value === "single" ? (_a2 = mergedEditableKeys.value) == null ? void 0 : _a2.slice(0, 1) : mergedEditableKeys.value;
|
|
25137
|
+
return new Set(keys);
|
|
25138
|
+
});
|
|
25139
|
+
const isEditable = (recordKey) => {
|
|
25140
|
+
var _a2;
|
|
25141
|
+
if ((_a2 = mergedEditableKeys.value) == null ? void 0 : _a2.includes(recordKey)) return true;
|
|
25142
|
+
return false;
|
|
25143
|
+
};
|
|
25144
|
+
const isRowEdit = vue.computed(() => !!editableType.value);
|
|
25145
|
+
const openEditor = (key) => {
|
|
25031
25146
|
if (key) {
|
|
25147
|
+
const newKeys = [...editCellKeys.value];
|
|
25032
25148
|
if (Array.isArray(key)) {
|
|
25033
25149
|
editCellKeys.value = key;
|
|
25034
25150
|
} else {
|
|
25035
|
-
|
|
25151
|
+
newKeys.includes(key) || newKeys.push(key);
|
|
25036
25152
|
}
|
|
25037
|
-
|
|
25153
|
+
editCellKeys.value = newKeys;
|
|
25038
25154
|
}
|
|
25039
25155
|
};
|
|
25040
25156
|
const closeEditor = (key) => {
|
|
25041
|
-
|
|
25042
|
-
|
|
25043
|
-
|
|
25044
|
-
return;
|
|
25157
|
+
const closeKeys = editCellKeys.value.filter((cellKey) => cellKey !== key);
|
|
25158
|
+
const closeCells = closeKeys.map((key2) => editingCells.value[key2]).filter((cell) => {
|
|
25159
|
+
var _a2, _b;
|
|
25160
|
+
return cell && !((_b = (_a2 = cell.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.keepEditMode);
|
|
25161
|
+
});
|
|
25162
|
+
const list = closeCells.map(
|
|
25163
|
+
(cell) => new Promise((resolve) => {
|
|
25164
|
+
cell == null ? void 0 : cell.validateEdit().then((r) => {
|
|
25165
|
+
if (r === true) {
|
|
25166
|
+
const cellKey = getCellKey(cell.rowKey, cell.columnKey);
|
|
25167
|
+
resolve(cellKey);
|
|
25168
|
+
} else {
|
|
25169
|
+
resolve(null);
|
|
25170
|
+
}
|
|
25171
|
+
});
|
|
25172
|
+
})
|
|
25173
|
+
);
|
|
25174
|
+
Promise.all(list).then((keys) => {
|
|
25175
|
+
const closeKeys2 = keys.filter((key2) => !!key2);
|
|
25176
|
+
editCellKeys.value = editCellKeys.value.filter((key2) => !closeKeys2.includes(key2));
|
|
25177
|
+
});
|
|
25178
|
+
};
|
|
25179
|
+
const setEditingCell = (params, isEdit) => {
|
|
25180
|
+
const cellKey = getCellKey(params.rowKey, params.columnKey);
|
|
25181
|
+
if (isEdit) {
|
|
25182
|
+
editingCells.value[cellKey] = params;
|
|
25183
|
+
} else {
|
|
25184
|
+
delete editingCells.value[cellKey];
|
|
25045
25185
|
}
|
|
25046
|
-
|
|
25047
|
-
|
|
25048
|
-
|
|
25049
|
-
|
|
25186
|
+
};
|
|
25187
|
+
const getErrorListMapByErrors = (errors) => {
|
|
25188
|
+
const errorMap = {};
|
|
25189
|
+
errors.forEach(({ rowKey, columnKey, errorList }) => {
|
|
25190
|
+
const key = [rowKey, columnKey].join("__");
|
|
25191
|
+
if (errorList == null ? void 0 : errorList.length) {
|
|
25192
|
+
errorMap[key] = errorList;
|
|
25193
|
+
} else {
|
|
25194
|
+
delete errorMap[key];
|
|
25195
|
+
}
|
|
25196
|
+
});
|
|
25197
|
+
return errorMap;
|
|
25198
|
+
};
|
|
25199
|
+
const validateOneRowData = (recordKey) => {
|
|
25200
|
+
const cellKeys = Object.keys(editingCells.value);
|
|
25201
|
+
const rowCellKeys = cellKeys.filter((cellKey) => cellKey.startsWith(`${recordKey}_`));
|
|
25202
|
+
const list = rowCellKeys.map(
|
|
25203
|
+
(cellKey) => new Promise((resolve) => {
|
|
25204
|
+
const cell = editingCells.value[cellKey];
|
|
25205
|
+
cell == null ? void 0 : cell.validateEdit().then((r) => {
|
|
25206
|
+
if (r === true) {
|
|
25207
|
+
resolve({ ...cell, errorList: [] });
|
|
25208
|
+
} else {
|
|
25209
|
+
resolve({ ...cell, errorList: r });
|
|
25210
|
+
}
|
|
25211
|
+
});
|
|
25212
|
+
})
|
|
25213
|
+
);
|
|
25214
|
+
return new Promise((resolve, reject) => {
|
|
25215
|
+
Promise.all(list).then((errors) => {
|
|
25216
|
+
resolve({
|
|
25217
|
+
errors: errors.filter((t) => {
|
|
25218
|
+
var _a2;
|
|
25219
|
+
return (_a2 = t.errorList) == null ? void 0 : _a2.length;
|
|
25220
|
+
}),
|
|
25221
|
+
errorMap: getErrorListMapByErrors(errors)
|
|
25222
|
+
});
|
|
25223
|
+
}, reject);
|
|
25224
|
+
});
|
|
25225
|
+
};
|
|
25226
|
+
const validateRowData = (recordKey) => new Promise((resolve, reject) => {
|
|
25227
|
+
validateOneRowData(recordKey).then(({ errors, errorMap }) => {
|
|
25228
|
+
var _a2;
|
|
25229
|
+
(_a2 = props.onRowValidate) == null ? void 0 : _a2.call(props, { errors, errorMap });
|
|
25230
|
+
resolve({ errors, errorMap });
|
|
25231
|
+
}, reject);
|
|
25232
|
+
});
|
|
25233
|
+
const validateTableCellData = () => {
|
|
25234
|
+
const cellKeys = Object.keys(editingCells.value);
|
|
25235
|
+
const list = cellKeys.map(
|
|
25236
|
+
(cellKey) => new Promise((resolve) => {
|
|
25237
|
+
const cell = editingCells.value[cellKey];
|
|
25238
|
+
cell == null ? void 0 : cell.validateEdit().then((r) => {
|
|
25239
|
+
if (r === true) {
|
|
25240
|
+
resolve({ ...cell, errorList: [] });
|
|
25241
|
+
} else {
|
|
25242
|
+
resolve({ ...cell, errorList: r });
|
|
25243
|
+
}
|
|
25244
|
+
});
|
|
25245
|
+
})
|
|
25246
|
+
);
|
|
25247
|
+
return new Promise((resolve, reject) => {
|
|
25248
|
+
Promise.all(list).then((errors) => {
|
|
25249
|
+
resolve({
|
|
25250
|
+
errors: errors.filter((t) => {
|
|
25251
|
+
var _a2;
|
|
25252
|
+
return (_a2 = t.errorList) == null ? void 0 : _a2.length;
|
|
25253
|
+
}),
|
|
25254
|
+
errorMap: getErrorListMapByErrors(errors)
|
|
25255
|
+
});
|
|
25256
|
+
}, reject);
|
|
25050
25257
|
});
|
|
25051
25258
|
};
|
|
25259
|
+
const validateTableData = () => new Promise((resolve, reject) => {
|
|
25260
|
+
validateTableCellData().then(({ errors, errorMap }) => {
|
|
25261
|
+
var _a2;
|
|
25262
|
+
(_a2 = props.onValidate) == null ? void 0 : _a2.call(props, { errors, errorMap });
|
|
25263
|
+
resolve({ errors, errorMap, data: (errors == null ? void 0 : errors.length) ? void 0 : rawData.value });
|
|
25264
|
+
}, reject);
|
|
25265
|
+
});
|
|
25266
|
+
const addEditRecord = (recordValue, options) => {
|
|
25267
|
+
var _a2, _b, _c, _d;
|
|
25268
|
+
if (isRowEdit.value && ((_a2 = Object.keys(newLineRecordCache.value)) == null ? void 0 : _a2.length) && ((_b = props.rowEditable) == null ? void 0 : _b.onlyAddOneLineAlertMessage) !== false) {
|
|
25269
|
+
antDesignVue.message.warning(
|
|
25270
|
+
((_c = props.rowEditable) == null ? void 0 : _c.onlyAddOneLineAlertMessage) || intl.getMessage("editableTable.onlyAddOneLine", "\u53EA\u80FD\u65B0\u589E\u4E00\u884C")
|
|
25271
|
+
);
|
|
25272
|
+
return false;
|
|
25273
|
+
}
|
|
25274
|
+
if (isRowEdit.value && editableKeysSet.value.size > 0 && editableType.value === "single") {
|
|
25275
|
+
antDesignVue.message.warning(
|
|
25276
|
+
((_d = props.rowEditable) == null ? void 0 : _d.onlyOneLineEditorAlertMessage) || intl.getMessage("editableTable.onlyOneLineEditor", "\u53EA\u80FD\u540C\u65F6\u7F16\u8F91\u4E00\u884C")
|
|
25277
|
+
);
|
|
25278
|
+
return false;
|
|
25279
|
+
}
|
|
25280
|
+
const recordKey = getRowKey.value(recordValue, -1);
|
|
25281
|
+
if (!recordKey) {
|
|
25282
|
+
throw new Error("\u8BF7\u8BBE\u7F6E recordCreatorProps.record \u5E76\u8FD4\u56DE\u4E00\u4E2A\u552F\u4E00\u7684key");
|
|
25283
|
+
}
|
|
25284
|
+
if (isRowEdit.value) {
|
|
25285
|
+
editableKeysSet.value.add(recordKey);
|
|
25286
|
+
editRowsMap.value[recordKey] = cloneDeep(recordValue);
|
|
25287
|
+
setMergedEditableKeys(Array.from(editableKeysSet.value));
|
|
25288
|
+
vue.triggerRef(editRowsMap);
|
|
25289
|
+
}
|
|
25290
|
+
if ((options == null ? void 0 : options.position) === "top") {
|
|
25291
|
+
rawData.value.unshift(recordValue);
|
|
25292
|
+
} else {
|
|
25293
|
+
rawData.value.push(recordValue);
|
|
25294
|
+
}
|
|
25295
|
+
newLineRecordCache.value[recordKey] = {
|
|
25296
|
+
defaultValue: recordValue,
|
|
25297
|
+
options
|
|
25298
|
+
};
|
|
25299
|
+
vue.triggerRef(rawData);
|
|
25300
|
+
return true;
|
|
25301
|
+
};
|
|
25302
|
+
const startEditable = (recordKey, recordValue) => {
|
|
25303
|
+
var _a2;
|
|
25304
|
+
if (!isRowEdit.value) {
|
|
25305
|
+
return false;
|
|
25306
|
+
}
|
|
25307
|
+
if (editableKeysSet.value.size > 0 && editableType.value === "single") {
|
|
25308
|
+
antDesignVue.message.warning(
|
|
25309
|
+
((_a2 = props.rowEditable) == null ? void 0 : _a2.onlyOneLineEditorAlertMessage) || intl.getMessage("editableTable.onlyOneLineEditor", "\u53EA\u80FD\u540C\u65F6\u7F16\u8F91\u4E00\u884C")
|
|
25310
|
+
);
|
|
25311
|
+
return false;
|
|
25312
|
+
}
|
|
25313
|
+
editableKeysSet.value.add(recordKey);
|
|
25314
|
+
editRowsMap.value[recordKey] = cloneDeep(recordValue != null ? recordValue : getRecordByKey(recordKey));
|
|
25315
|
+
setMergedEditableKeys(Array.from(editableKeysSet.value));
|
|
25316
|
+
vue.triggerRef(editRowsMap);
|
|
25317
|
+
return true;
|
|
25318
|
+
};
|
|
25319
|
+
const cancelEditable = (recordKey) => {
|
|
25320
|
+
if (!isRowEdit.value) {
|
|
25321
|
+
return false;
|
|
25322
|
+
}
|
|
25323
|
+
const newLineRecord = newLineRecordCache.value[recordKey];
|
|
25324
|
+
if (newLineRecord) {
|
|
25325
|
+
delete newLineRecordCache.value[recordKey];
|
|
25326
|
+
const rowIndex = rawData.value.findIndex((item) => getRowKey.value(item, -1) === recordKey);
|
|
25327
|
+
rawData.value.splice(rowIndex, 1);
|
|
25328
|
+
vue.triggerRef(rawData);
|
|
25329
|
+
}
|
|
25330
|
+
editableKeysSet.value.delete(recordKey);
|
|
25331
|
+
delete editRowsMap.value[recordKey];
|
|
25332
|
+
setMergedEditableKeys(Array.from(editableKeysSet.value));
|
|
25333
|
+
return true;
|
|
25334
|
+
};
|
|
25335
|
+
const saveEditable = async (recordKey) => {
|
|
25336
|
+
var _a2, _b;
|
|
25337
|
+
if (!isRowEdit.value) {
|
|
25338
|
+
return false;
|
|
25339
|
+
}
|
|
25340
|
+
const { errors } = await validateRowData(recordKey);
|
|
25341
|
+
if (!!errors.length) {
|
|
25342
|
+
return false;
|
|
25343
|
+
}
|
|
25344
|
+
const editRow = editRowsMap.value[recordKey];
|
|
25345
|
+
const originRow = getRecordByKey(recordKey);
|
|
25346
|
+
const success = await ((_b = (_a2 = props.rowEditable) == null ? void 0 : _a2.onSave) == null ? void 0 : _b.call(_a2, recordKey, editRow, originRow));
|
|
25347
|
+
if (success === false) {
|
|
25348
|
+
return false;
|
|
25349
|
+
}
|
|
25350
|
+
upadteRowData(recordKey, editRow);
|
|
25351
|
+
const newLineRecord = newLineRecordCache.value[recordKey];
|
|
25352
|
+
if (newLineRecord) {
|
|
25353
|
+
delete newLineRecordCache.value[recordKey];
|
|
25354
|
+
}
|
|
25355
|
+
await cancelEditable(recordKey);
|
|
25356
|
+
return true;
|
|
25357
|
+
};
|
|
25358
|
+
const upadteRowData = (recordKey, editRow) => {
|
|
25359
|
+
const recordIndexs = getIndexsByKey(recordKey);
|
|
25360
|
+
const indexsLen = recordIndexs.length;
|
|
25361
|
+
if (indexsLen === 1) {
|
|
25362
|
+
rawData.value.splice(recordIndexs[0], 1, editRow);
|
|
25363
|
+
}
|
|
25364
|
+
if (indexsLen > 1) {
|
|
25365
|
+
let copyData = rawData.value;
|
|
25366
|
+
let item;
|
|
25367
|
+
const childrenColumnName = props.childrenColumnName || "children";
|
|
25368
|
+
for (let i = 0; i < indexsLen; i++) {
|
|
25369
|
+
item = copyData[recordIndexs[i]];
|
|
25370
|
+
if (i === indexsLen - 2) {
|
|
25371
|
+
const currentData = (item == null ? void 0 : item[childrenColumnName]) || [];
|
|
25372
|
+
currentData.splice(recordIndexs[indexsLen - 1], 1, editRow);
|
|
25373
|
+
break;
|
|
25374
|
+
}
|
|
25375
|
+
copyData = (item == null ? void 0 : item[childrenColumnName]) || [];
|
|
25376
|
+
}
|
|
25377
|
+
}
|
|
25378
|
+
vue.triggerRef(rawData);
|
|
25379
|
+
};
|
|
25052
25380
|
vue.provide(EditKey, {
|
|
25053
25381
|
editCellKeys,
|
|
25054
25382
|
openEditor,
|
|
25055
25383
|
closeEditor,
|
|
25056
|
-
oldValuesMap
|
|
25384
|
+
// oldValuesMap,
|
|
25385
|
+
editableType,
|
|
25386
|
+
mergedEditableKeys,
|
|
25387
|
+
isRowEdit,
|
|
25388
|
+
editRowsMap,
|
|
25389
|
+
setEditingCell
|
|
25057
25390
|
});
|
|
25058
25391
|
return {
|
|
25059
25392
|
editCellKeys,
|
|
25060
25393
|
openEditor,
|
|
25061
|
-
closeEditor
|
|
25394
|
+
closeEditor,
|
|
25395
|
+
cancelEditable,
|
|
25396
|
+
startEditable,
|
|
25397
|
+
saveEditable,
|
|
25398
|
+
isEditable,
|
|
25399
|
+
validateTableData,
|
|
25400
|
+
validateRowData,
|
|
25401
|
+
addEditRecord
|
|
25062
25402
|
};
|
|
25063
25403
|
};
|
|
25064
25404
|
const useEditInject = () => {
|
|
@@ -25068,7 +25408,13 @@
|
|
|
25068
25408
|
},
|
|
25069
25409
|
closeEditor: () => {
|
|
25070
25410
|
},
|
|
25071
|
-
oldValuesMap:
|
|
25411
|
+
// oldValuesMap: shallowRef({}),
|
|
25412
|
+
editRowsMap: vue.shallowRef({}),
|
|
25413
|
+
editableType: vue.computed(() => void 0),
|
|
25414
|
+
isRowEdit: vue.computed(() => false),
|
|
25415
|
+
mergedEditableKeys: vue.computed(() => []),
|
|
25416
|
+
setEditingCell: () => {
|
|
25417
|
+
}
|
|
25072
25418
|
});
|
|
25073
25419
|
};
|
|
25074
25420
|
|
|
@@ -25319,926 +25665,6 @@
|
|
|
25319
25665
|
return vue.inject(TableContextKey, {});
|
|
25320
25666
|
};
|
|
25321
25667
|
|
|
25322
|
-
const KeyCode = {
|
|
25323
|
-
TAB: 9,
|
|
25324
|
-
ENTER: 13,
|
|
25325
|
-
ESC: 27,
|
|
25326
|
-
LEFT: 37,
|
|
25327
|
-
UP: 38,
|
|
25328
|
-
RIGHT: 39,
|
|
25329
|
-
DOWN: 40,
|
|
25330
|
-
A: 65,
|
|
25331
|
-
C: 67};
|
|
25332
|
-
|
|
25333
|
-
const useCellNavigation = (params) => {
|
|
25334
|
-
const {
|
|
25335
|
-
getDisplayedColBefore,
|
|
25336
|
-
getDisplayedColAfter,
|
|
25337
|
-
allDisplayedColumns,
|
|
25338
|
-
setRangeToCell,
|
|
25339
|
-
focusCell,
|
|
25340
|
-
flattenData,
|
|
25341
|
-
getRowByFlattenIndex,
|
|
25342
|
-
allCellProps,
|
|
25343
|
-
tabGuardTopRef,
|
|
25344
|
-
tabGuardBottomRef
|
|
25345
|
-
} = params;
|
|
25346
|
-
const endFlattenIndex = vue.computed(
|
|
25347
|
-
() => {
|
|
25348
|
-
var _a;
|
|
25349
|
-
return (_a = flattenData.value[flattenData.value.length - 1]) == null ? void 0 : _a.flattenIndex;
|
|
25350
|
-
}
|
|
25351
|
-
);
|
|
25352
|
-
const startFlattenIndex = vue.computed(() => {
|
|
25353
|
-
var _a;
|
|
25354
|
-
return (_a = flattenData.value[0]) == null ? void 0 : _a.flattenIndex;
|
|
25355
|
-
});
|
|
25356
|
-
const getNextCellToFocus = (keyCode, focusedCell, ctrlPressed = false) => ctrlPressed ? h2(keyCode, focusedCell) : m(keyCode, focusedCell);
|
|
25357
|
-
const h2 = (keyCode, focusedCell) => {
|
|
25358
|
-
const isUp = keyCode === KeyCode.UP;
|
|
25359
|
-
const isDown = keyCode === KeyCode.DOWN;
|
|
25360
|
-
const isLeft = keyCode === KeyCode.LEFT;
|
|
25361
|
-
let column, rowIndex;
|
|
25362
|
-
if (isUp || isDown) {
|
|
25363
|
-
rowIndex = isUp ? startFlattenIndex.value : endFlattenIndex.value;
|
|
25364
|
-
column = focusedCell.column;
|
|
25365
|
-
} else {
|
|
25366
|
-
rowIndex = focusedCell.rowIndex;
|
|
25367
|
-
column = isLeft !== false ? allDisplayedColumns.value[0] : allDisplayedColumns.value[allDisplayedColumns.value.length - 1];
|
|
25368
|
-
}
|
|
25369
|
-
return { rowIndex, rowPinned: null, column };
|
|
25370
|
-
};
|
|
25371
|
-
const m = (keyCode, focusedCell) => {
|
|
25372
|
-
let cell = focusedCell;
|
|
25373
|
-
let o2 = false;
|
|
25374
|
-
for (; !o2; ) {
|
|
25375
|
-
switch (keyCode) {
|
|
25376
|
-
case KeyCode.UP:
|
|
25377
|
-
cell = getCellAbove(cell);
|
|
25378
|
-
break;
|
|
25379
|
-
case KeyCode.DOWN:
|
|
25380
|
-
case KeyCode.ENTER:
|
|
25381
|
-
cell = x(cell);
|
|
25382
|
-
break;
|
|
25383
|
-
case KeyCode.RIGHT:
|
|
25384
|
-
cell = w(cell);
|
|
25385
|
-
break;
|
|
25386
|
-
case KeyCode.LEFT:
|
|
25387
|
-
cell = g(cell);
|
|
25388
|
-
break;
|
|
25389
|
-
default:
|
|
25390
|
-
cell = null;
|
|
25391
|
-
console.warn("Table: unknown key for navigation " + keyCode);
|
|
25392
|
-
}
|
|
25393
|
-
o2 = !cell || y(cell);
|
|
25394
|
-
}
|
|
25395
|
-
return cell;
|
|
25396
|
-
}, y = (e3) => {
|
|
25397
|
-
let t2;
|
|
25398
|
-
switch (e3.rowPinned) {
|
|
25399
|
-
case "top":
|
|
25400
|
-
case "bottom":
|
|
25401
|
-
break;
|
|
25402
|
-
default:
|
|
25403
|
-
t2 = getRowByFlattenIndex(e3.rowIndex);
|
|
25404
|
-
}
|
|
25405
|
-
return !!t2;
|
|
25406
|
-
}, g = (e3) => {
|
|
25407
|
-
if (!e3) return null;
|
|
25408
|
-
const n2 = getDisplayedColBefore(e3.column);
|
|
25409
|
-
return n2 ? { rowIndex: e3.rowIndex, column: n2, rowPinned: e3.rowPinned } : null;
|
|
25410
|
-
}, w = (e3) => {
|
|
25411
|
-
if (!e3) return null;
|
|
25412
|
-
const t2 = getDisplayedColAfter(e3.column);
|
|
25413
|
-
return t2 ? { rowIndex: e3.rowIndex, column: t2, rowPinned: e3.rowPinned } : null;
|
|
25414
|
-
}, x = (e3) => {
|
|
25415
|
-
if (!e3) return null;
|
|
25416
|
-
const t2 = getRowBelow(e3);
|
|
25417
|
-
return t2 ? { rowIndex: t2.rowIndex, column: e3.column, rowPinned: t2.rowPinned } : null;
|
|
25418
|
-
}, getRowBelow = (e3) => {
|
|
25419
|
-
const t2 = e3.rowIndex, n2 = e3.rowPinned;
|
|
25420
|
-
return C(e3) ? null : { rowIndex: t2 + 1, rowPinned: n2 };
|
|
25421
|
-
}, C = (e3) => {
|
|
25422
|
-
const t2 = e3.rowIndex;
|
|
25423
|
-
return endFlattenIndex.value <= t2;
|
|
25424
|
-
}, getRowAbove = (e3) => {
|
|
25425
|
-
const t2 = e3.rowIndex, n2 = e3.rowPinned;
|
|
25426
|
-
return (n2 ? 0 === t2 : t2 === startFlattenIndex.value) ? null : { rowIndex: t2 - 1, rowPinned: n2 };
|
|
25427
|
-
}, getCellAbove = (e3) => {
|
|
25428
|
-
if (!e3) return null;
|
|
25429
|
-
const t2 = getRowAbove({
|
|
25430
|
-
rowIndex: e3.rowIndex,
|
|
25431
|
-
rowPinned: e3.rowPinned
|
|
25432
|
-
});
|
|
25433
|
-
return t2 ? { rowIndex: t2.rowIndex, column: e3.column, rowPinned: t2.rowPinned } : null;
|
|
25434
|
-
}, k = (e3) => e3.rowIndex >= startFlattenIndex.value && e3.rowIndex <= endFlattenIndex.value, getNextTabbedCell = (e3, t2) => t2 ? K(e3) : _(e3), _ = (e3) => {
|
|
25435
|
-
const t2 = allDisplayedColumns.value;
|
|
25436
|
-
let l2 = e3.rowIndex, r2 = e3.rowPinned, a2 = getDisplayedColAfter(e3.column);
|
|
25437
|
-
if (!a2) {
|
|
25438
|
-
a2 = t2[0];
|
|
25439
|
-
const n2 = getRowBelow(e3);
|
|
25440
|
-
if (!n2) return null;
|
|
25441
|
-
if (!n2.rowPinned && !k(n2)) return null;
|
|
25442
|
-
l2 = n2 ? n2.rowIndex : null, r2 = n2 ? n2.rowPinned : null;
|
|
25443
|
-
}
|
|
25444
|
-
return { rowIndex: l2, column: a2, rowPinned: r2 };
|
|
25445
|
-
}, K = (e3) => {
|
|
25446
|
-
const n2 = allDisplayedColumns.value;
|
|
25447
|
-
let l2 = e3.rowIndex, r2 = e3.rowPinned, a2 = getDisplayedColBefore(e3.column);
|
|
25448
|
-
if (!a2) {
|
|
25449
|
-
a2 = n2[n2.length - 1];
|
|
25450
|
-
const t2 = getRowAbove({
|
|
25451
|
-
rowIndex: e3.rowIndex,
|
|
25452
|
-
rowPinned: e3.rowPinned
|
|
25453
|
-
});
|
|
25454
|
-
if (!t2) return null;
|
|
25455
|
-
if (!t2.rowPinned && !k(t2)) return null;
|
|
25456
|
-
l2 = t2 ? t2.rowIndex : null, r2 = t2 ? t2.rowPinned : null;
|
|
25457
|
-
}
|
|
25458
|
-
return { rowIndex: l2, column: a2, rowPinned: r2 };
|
|
25459
|
-
}, O = (e3) => {
|
|
25460
|
-
const t2 = ((e4) => {
|
|
25461
|
-
let t3, n2;
|
|
25462
|
-
const l2 = null === (t3 = getRowByFlattenIndex(e4.rowIndex)) || void 0 === t3 ? void 0 : t3.rowKey, r2 = (((null === (n2 = allCellProps.value[l2]) || void 0 === n2 ? void 0 : n2[e4.column.columnKey]) || {}).props || {}).colSpan, a2 = [];
|
|
25463
|
-
if (r2 > 1) {
|
|
25464
|
-
const t4 = allDisplayedColumns.value.findIndex(
|
|
25465
|
-
(t5) => t5.columnKey === e4.column.columnKey
|
|
25466
|
-
);
|
|
25467
|
-
for (let e5 = 0; e5 < r2; e5++) a2.push(allDisplayedColumns.value[t4 + e5]);
|
|
25468
|
-
} else a2.push(e4.column);
|
|
25469
|
-
return a2.filter((e5) => !!e5);
|
|
25470
|
-
})(e3);
|
|
25471
|
-
return 1 === t2.length ? e3 : {
|
|
25472
|
-
rowIndex: e3.rowIndex,
|
|
25473
|
-
column: t2[t2.length - 1],
|
|
25474
|
-
rowPinned: e3.rowPinned
|
|
25475
|
-
};
|
|
25476
|
-
}, P = (e3) => {
|
|
25477
|
-
let t2;
|
|
25478
|
-
const n2 = getRowByFlattenIndex(e3.rowIndex), o2 = null == n2 ? void 0 : n2.rowKey, l2 = (((null === (t2 = allCellProps.value[o2]) || void 0 === t2 ? void 0 : t2[e3.column.columnKey]) || {}).props || {}).rowSpan;
|
|
25479
|
-
return !!n2 && 0 !== l2 && !n2.isExpandRow;
|
|
25480
|
-
}, tabToNextCellCommon = (e3, t2) => $(e3, t2), $ = (e3, t2) => {
|
|
25481
|
-
const n2 = T(e3, t2);
|
|
25482
|
-
return n2 && focusCell(n2), !!n2;
|
|
25483
|
-
}, T = (t2, n2) => {
|
|
25484
|
-
let o2 = t2;
|
|
25485
|
-
for (; o2 && (o2 === t2 || !P(o2)); ) n2 || (o2 = O(o2)), o2 = getNextTabbedCell(o2, n2);
|
|
25486
|
-
return o2 ? o2.rowIndex < 0 ? null : (params.ensureCellVisible(o2), setRangeToCell(o2), o2) : null;
|
|
25487
|
-
};
|
|
25488
|
-
return {
|
|
25489
|
-
getNextCellToFocus,
|
|
25490
|
-
getNextTabbedCell,
|
|
25491
|
-
getLastBodyCell: () => ({ rowIndex: endFlattenIndex.value, rowPinned: null }),
|
|
25492
|
-
navigateToNextCell: (t2, n2) => {
|
|
25493
|
-
const o2 = t2.keyCode;
|
|
25494
|
-
let r2 = n2, a2 = false;
|
|
25495
|
-
for (; r2 && (r2 === n2 || !P(r2)); )
|
|
25496
|
-
o2 === KeyCode.RIGHT && (r2 = O(r2)), r2 = getNextCellToFocus(o2, r2), a2 = !r2;
|
|
25497
|
-
a2 && t2 && o2 === KeyCode.UP && (r2 = { rowIndex: -1, rowPinned: null, column: n2.column }), r2 && (r2.rowIndex < 0 || (params.ensureCellVisible(r2), setRangeToCell(r2)));
|
|
25498
|
-
},
|
|
25499
|
-
onTabKeyDown: (e3, t2) => {
|
|
25500
|
-
let n2, o2;
|
|
25501
|
-
const l2 = t2.shiftKey;
|
|
25502
|
-
tabToNextCellCommon(e3, l2) || (l2 ? null === (n2 = tabGuardTopRef.value) || void 0 === n2 || n2.focus() : null === (o2 = tabGuardBottomRef.value) || void 0 === o2 || o2.focus()), t2.preventDefault();
|
|
25503
|
-
},
|
|
25504
|
-
tabToNextCellCommon,
|
|
25505
|
-
getFirstCellToFocus: (t2) => {
|
|
25506
|
-
const n2 = (() => {
|
|
25507
|
-
const e3 = getRowByFlattenIndex(startFlattenIndex.value), t3 = allDisplayedColumns.value[0];
|
|
25508
|
-
return e3 && t3 ? { rowIndex: e3.rowIndex, rowPinned: null, column: t3 } : null;
|
|
25509
|
-
})();
|
|
25510
|
-
P(n2) ? (params.ensureCellVisible(n2), setRangeToCell(n2)) : n2 && tabToNextCellCommon(n2, t2);
|
|
25511
|
-
},
|
|
25512
|
-
getLastCellToFocus: (t2) => {
|
|
25513
|
-
const n2 = (() => {
|
|
25514
|
-
const e3 = getRowByFlattenIndex(endFlattenIndex.value), t3 = allDisplayedColumns.value[allDisplayedColumns.value.length - 1];
|
|
25515
|
-
return e3 && t3 ? { rowIndex: e3.rowIndex, rowPinned: null, column: t3 } : null;
|
|
25516
|
-
})();
|
|
25517
|
-
P(n2) ? (params.ensureCellVisible(n2), setRangeToCell(n2)) : n2 && tabToNextCellCommon(n2, t2);
|
|
25518
|
-
},
|
|
25519
|
-
getRowAbove,
|
|
25520
|
-
getCellAbove,
|
|
25521
|
-
getRowBelow
|
|
25522
|
-
};
|
|
25523
|
-
};
|
|
25524
|
-
|
|
25525
|
-
const useAutoScroll = (params) => {
|
|
25526
|
-
const {
|
|
25527
|
-
scrollContainer,
|
|
25528
|
-
scrollAxis,
|
|
25529
|
-
onScrollCallback = () => {
|
|
25530
|
-
},
|
|
25531
|
-
showVerticalScrollbar,
|
|
25532
|
-
showHorizontalScrollbar
|
|
25533
|
-
} = params;
|
|
25534
|
-
let timer = null;
|
|
25535
|
-
let i = 0;
|
|
25536
|
-
let hasLeft = false;
|
|
25537
|
-
let hasRight = false;
|
|
25538
|
-
let hasTop = false;
|
|
25539
|
-
let hasBottom = false;
|
|
25540
|
-
const isXAxis = -1 !== scrollAxis.indexOf("x");
|
|
25541
|
-
const isYAxis = -1 !== scrollAxis.indexOf("y");
|
|
25542
|
-
const scrollByTick = vue.computed(() => {
|
|
25543
|
-
var _a, _b;
|
|
25544
|
-
return (_b = (_a = params.scrollByTick) == null ? void 0 : _a.value) != null ? _b : 20;
|
|
25545
|
-
});
|
|
25546
|
-
const exec = () => {
|
|
25547
|
-
if (null === timer) {
|
|
25548
|
-
timer = window.setInterval(handle, 100);
|
|
25549
|
-
i = 0;
|
|
25550
|
-
}
|
|
25551
|
-
};
|
|
25552
|
-
const handle = () => {
|
|
25553
|
-
i++;
|
|
25554
|
-
const boundary = i > 20 ? 200 : i > 10 ? 80 : 40;
|
|
25555
|
-
if (isYAxis) {
|
|
25556
|
-
const position = params.getVerticalPosition();
|
|
25557
|
-
hasTop && params.setVerticalPosition(position - boundary), hasBottom && params.setVerticalPosition(position + boundary);
|
|
25558
|
-
}
|
|
25559
|
-
if (isXAxis) {
|
|
25560
|
-
const position = params.getHorizontalPosition();
|
|
25561
|
-
hasLeft && params.setHorizontalPosition(position - boundary), hasRight && params.setHorizontalPosition(position + boundary);
|
|
25562
|
-
}
|
|
25563
|
-
onScrollCallback();
|
|
25564
|
-
};
|
|
25565
|
-
const clear = () => {
|
|
25566
|
-
if (timer) {
|
|
25567
|
-
window.clearInterval(timer);
|
|
25568
|
-
timer = null;
|
|
25569
|
-
}
|
|
25570
|
-
};
|
|
25571
|
-
return {
|
|
25572
|
-
check: (mouseEvent, forceSkipVerticalScroll = false) => {
|
|
25573
|
-
const hasVerticalScroll = forceSkipVerticalScroll || !showVerticalScrollbar.value;
|
|
25574
|
-
if (hasVerticalScroll && !showHorizontalScrollbar.value) return;
|
|
25575
|
-
const clientRect = scrollContainer.value.getBoundingClientRect();
|
|
25576
|
-
const tick = scrollByTick.value;
|
|
25577
|
-
hasLeft = mouseEvent.clientX < clientRect.left + tick;
|
|
25578
|
-
hasRight = mouseEvent.clientX > clientRect.right - tick;
|
|
25579
|
-
hasTop = mouseEvent.clientY < clientRect.top + tick && !hasVerticalScroll;
|
|
25580
|
-
hasBottom = mouseEvent.clientY > clientRect.bottom - tick && !hasVerticalScroll;
|
|
25581
|
-
return hasLeft || hasRight || hasTop || hasBottom ? exec() : clear();
|
|
25582
|
-
},
|
|
25583
|
-
ensureCleared: clear
|
|
25584
|
-
};
|
|
25585
|
-
};
|
|
25586
|
-
|
|
25587
|
-
const isOverFormFieldElement = (mouseEvent) => {
|
|
25588
|
-
var _a, _b;
|
|
25589
|
-
const tagName = (_b = (_a = mouseEvent.target) == null ? void 0 : _a.tagName) == null ? void 0 : _b.toLocaleLowerCase();
|
|
25590
|
-
return !!(tagName == null ? void 0 : tagName.match("^a$|textarea|input|select|button"));
|
|
25591
|
-
};
|
|
25592
|
-
const useDragSelection = (params) => {
|
|
25593
|
-
let dragging = false;
|
|
25594
|
-
let cacheStartTouch = null;
|
|
25595
|
-
let startTarget = null;
|
|
25596
|
-
let cacheTouch;
|
|
25597
|
-
const destroyHandlers = [];
|
|
25598
|
-
const batchEvent = (eventList) => {
|
|
25599
|
-
eventList.forEach((config) => {
|
|
25600
|
-
const { target, type, listener, options } = config;
|
|
25601
|
-
target.addEventListener(type, listener, options);
|
|
25602
|
-
});
|
|
25603
|
-
destroyHandlers.push(() => {
|
|
25604
|
-
eventList.forEach((config) => {
|
|
25605
|
-
const { target, type, listener, options } = config;
|
|
25606
|
-
target.removeEventListener(type, listener, options);
|
|
25607
|
-
});
|
|
25608
|
-
});
|
|
25609
|
-
};
|
|
25610
|
-
const getTouch = (touches) => {
|
|
25611
|
-
for (let i = 0; i < touches.length; i++) {
|
|
25612
|
-
if (touches[i].identifier === (cacheTouch == null ? void 0 : cacheTouch.identifier)) {
|
|
25613
|
-
return touches[i];
|
|
25614
|
-
}
|
|
25615
|
-
}
|
|
25616
|
-
return null;
|
|
25617
|
-
};
|
|
25618
|
-
const handleMouseMoveOrTouchMove = (event, cacheEvent) => {
|
|
25619
|
-
if (!dragging) {
|
|
25620
|
-
if (eventsClose(event, cacheEvent, DRAG_BUFF)) {
|
|
25621
|
-
return;
|
|
25622
|
-
}
|
|
25623
|
-
dragging = true;
|
|
25624
|
-
params.onDragStart(cacheEvent);
|
|
25625
|
-
}
|
|
25626
|
-
};
|
|
25627
|
-
const handleMouseUpOrToucheEnd = () => {
|
|
25628
|
-
if (dragging) {
|
|
25629
|
-
dragging = false;
|
|
25630
|
-
}
|
|
25631
|
-
cacheStartTouch = null;
|
|
25632
|
-
startTarget = null;
|
|
25633
|
-
cacheTouch = null;
|
|
25634
|
-
destroyHandlers.forEach((fn) => fn());
|
|
25635
|
-
destroyHandlers.length = 0;
|
|
25636
|
-
};
|
|
25637
|
-
const isOverForm = (event) => !isOverFormFieldElement(event);
|
|
25638
|
-
const mouseMoveHandler = (event) => {
|
|
25639
|
-
if (isOverForm(event)) {
|
|
25640
|
-
event.preventDefault();
|
|
25641
|
-
}
|
|
25642
|
-
handleMouseMoveOrTouchMove(event, cacheStartTouch);
|
|
25643
|
-
};
|
|
25644
|
-
const touchMoveHandler = (event) => {
|
|
25645
|
-
getTouch(event.touches) && handleMouseMoveOrTouchMove(event, cacheStartTouch);
|
|
25646
|
-
};
|
|
25647
|
-
const touchEndHandler = (event) => {
|
|
25648
|
-
getTouch(event.changedTouches) && handleMouseUpOrToucheEnd();
|
|
25649
|
-
};
|
|
25650
|
-
const onBodyMousedown = (e) => {
|
|
25651
|
-
var _a, _b;
|
|
25652
|
-
if (params.level !== ((_a = e.cellInfo) == null ? void 0 : _a.level)) return;
|
|
25653
|
-
if (isOverForm(e)) {
|
|
25654
|
-
e.preventDefault();
|
|
25655
|
-
}
|
|
25656
|
-
dragging = false;
|
|
25657
|
-
cacheStartTouch = e;
|
|
25658
|
-
startTarget = (_b = e.cellInfo) == null ? void 0 : _b.cellTarget;
|
|
25659
|
-
params.bodyElementRef.value;
|
|
25660
|
-
batchEvent([
|
|
25661
|
-
{
|
|
25662
|
-
target: document,
|
|
25663
|
-
type: "mousemove",
|
|
25664
|
-
listener: (e2) => mouseMoveHandler(e2)
|
|
25665
|
-
},
|
|
25666
|
-
{
|
|
25667
|
-
target: document,
|
|
25668
|
-
type: "mouseup",
|
|
25669
|
-
listener: () => {
|
|
25670
|
-
handleMouseUpOrToucheEnd();
|
|
25671
|
-
}
|
|
25672
|
-
},
|
|
25673
|
-
{
|
|
25674
|
-
target: document,
|
|
25675
|
-
type: "contextmenu",
|
|
25676
|
-
listener: (e2) => e2.preventDefault()
|
|
25677
|
-
}
|
|
25678
|
-
]);
|
|
25679
|
-
mouseMoveHandler(e);
|
|
25680
|
-
};
|
|
25681
|
-
let bodyTouchStartHandle;
|
|
25682
|
-
vue.watch(
|
|
25683
|
-
[() => params.bodyElementRef.value, params.enableRangeSelection],
|
|
25684
|
-
([bodyEl], [oldBodyEl]) => {
|
|
25685
|
-
if (oldBodyEl) {
|
|
25686
|
-
oldBodyEl.removeEventListener("mousedown", onBodyMousedown);
|
|
25687
|
-
if (bodyTouchStartHandle) {
|
|
25688
|
-
oldBodyEl.removeEventListener("touchstart", bodyTouchStartHandle);
|
|
25689
|
-
bodyTouchStartHandle = null;
|
|
25690
|
-
destroyHandlers.forEach((fn) => fn());
|
|
25691
|
-
destroyHandlers.length = 0;
|
|
25692
|
-
}
|
|
25693
|
-
}
|
|
25694
|
-
if (bodyEl && params.enableRangeSelection.value) {
|
|
25695
|
-
bodyEl.addEventListener("mousedown", onBodyMousedown);
|
|
25696
|
-
bodyTouchStartHandle = (e3) => {
|
|
25697
|
-
e3.cancelable && (e3.preventDefault(), e3.stopPropagation());
|
|
25698
|
-
};
|
|
25699
|
-
}
|
|
25700
|
-
}
|
|
25701
|
-
);
|
|
25702
|
-
return {
|
|
25703
|
-
onBodyMousedown,
|
|
25704
|
-
onBodyTouchstart: (touchEvent) => {
|
|
25705
|
-
dragging = false;
|
|
25706
|
-
const touch = touchEvent.touches[0];
|
|
25707
|
-
cacheTouch = touch;
|
|
25708
|
-
params.bodyElementRef.value;
|
|
25709
|
-
const endHandle = (event) => touchEndHandler(event);
|
|
25710
|
-
const target = touchEvent.target;
|
|
25711
|
-
const body = document.body;
|
|
25712
|
-
batchEvent([
|
|
25713
|
-
{
|
|
25714
|
-
target: body,
|
|
25715
|
-
type: "touchmove",
|
|
25716
|
-
listener: (e) => {
|
|
25717
|
-
e.cancelable && e.preventDefault();
|
|
25718
|
-
},
|
|
25719
|
-
options: { passive: false }
|
|
25720
|
-
},
|
|
25721
|
-
{
|
|
25722
|
-
target,
|
|
25723
|
-
type: "touchmove",
|
|
25724
|
-
listener: (e) => touchMoveHandler(e),
|
|
25725
|
-
options: { passive: true }
|
|
25726
|
-
},
|
|
25727
|
-
{
|
|
25728
|
-
target,
|
|
25729
|
-
type: "touchend",
|
|
25730
|
-
listener: endHandle,
|
|
25731
|
-
options: { passive: true }
|
|
25732
|
-
},
|
|
25733
|
-
{
|
|
25734
|
-
target,
|
|
25735
|
-
type: "touchcancel",
|
|
25736
|
-
listener: endHandle,
|
|
25737
|
-
options: { passive: true }
|
|
25738
|
-
}
|
|
25739
|
-
]);
|
|
25740
|
-
},
|
|
25741
|
-
getStartTarget: () => startTarget
|
|
25742
|
-
};
|
|
25743
|
-
};
|
|
25744
|
-
|
|
25745
|
-
function classNames(...args) {
|
|
25746
|
-
const classes = [];
|
|
25747
|
-
for (let i = 0; i < args.length; i++) {
|
|
25748
|
-
const value = args[i];
|
|
25749
|
-
if (!value) continue;
|
|
25750
|
-
if (isString(value)) {
|
|
25751
|
-
classes.push(value);
|
|
25752
|
-
} else if (isArray(value)) {
|
|
25753
|
-
for (let i2 = 0; i2 < value.length; i2++) {
|
|
25754
|
-
const inner = classNames(value[i2]);
|
|
25755
|
-
if (inner) {
|
|
25756
|
-
classes.push(inner);
|
|
25757
|
-
}
|
|
25758
|
-
}
|
|
25759
|
-
} else if (isObject(value)) {
|
|
25760
|
-
for (const name in value) {
|
|
25761
|
-
if (value[name]) {
|
|
25762
|
-
classes.push(name);
|
|
25763
|
-
}
|
|
25764
|
-
}
|
|
25765
|
-
}
|
|
25766
|
-
}
|
|
25767
|
-
return classes.join(" ");
|
|
25768
|
-
}
|
|
25769
|
-
|
|
25770
|
-
const RangeSymbolKey = Symbol("rangeSymbolKey");
|
|
25771
|
-
const useProvideRangeStore = (parmas) => {
|
|
25772
|
-
const {
|
|
25773
|
-
allColumns,
|
|
25774
|
-
flattenData,
|
|
25775
|
-
prefixCls,
|
|
25776
|
-
rangeSelection,
|
|
25777
|
-
getRowByFlattenIndex,
|
|
25778
|
-
rootRef,
|
|
25779
|
-
bodyRef,
|
|
25780
|
-
latestRangeStartCell,
|
|
25781
|
-
scrollLeft,
|
|
25782
|
-
scrollTop,
|
|
25783
|
-
scrollTo,
|
|
25784
|
-
showVerticalScrollbar,
|
|
25785
|
-
showHorizontalScrollbar,
|
|
25786
|
-
getIndexsByKey,
|
|
25787
|
-
formatRangeCellText,
|
|
25788
|
-
copyDelimiter
|
|
25789
|
-
} = parmas;
|
|
25790
|
-
const level = useInjectLevel();
|
|
25791
|
-
useAutoScroll({
|
|
25792
|
-
scrollContainer: bodyRef,
|
|
25793
|
-
scrollAxis: "xy",
|
|
25794
|
-
getVerticalPosition: () => scrollTop.value,
|
|
25795
|
-
setVerticalPosition: (pos) => {
|
|
25796
|
-
scrollTo(pos);
|
|
25797
|
-
},
|
|
25798
|
-
getHorizontalPosition: () => scrollLeft.value,
|
|
25799
|
-
setHorizontalPosition: (pos) => scrollTo({ left: pos }),
|
|
25800
|
-
showVerticalScrollbar,
|
|
25801
|
-
showHorizontalScrollbar
|
|
25802
|
-
});
|
|
25803
|
-
const enableRangeSelection = vue.computed(() => !!rangeSelection.value);
|
|
25804
|
-
const singleRangeSelection = vue.computed(() => "single" === rangeSelection.value);
|
|
25805
|
-
const rangeCellClass = vue.computed(() => `${prefixCls.value}-body-cell-range-selected`);
|
|
25806
|
-
const RangeSingleCellClass = vue.computed(() => `${prefixCls.value}-body-cell-range-single-cell`);
|
|
25807
|
-
const RangeTopClass = vue.computed(() => `${prefixCls.value}-body-cell-range-top`);
|
|
25808
|
-
const RangeRIghtClass = vue.computed(() => `${prefixCls.value}-body-cell-range-right`);
|
|
25809
|
-
const RangeBottomClass = vue.computed(() => `${prefixCls.value}-body-cell-range-bottom`);
|
|
25810
|
-
const RangeLeftClass = vue.computed(() => `${prefixCls.value}-body-cell-range-left`);
|
|
25811
|
-
const cellRanges = vue.shallowRef([]);
|
|
25812
|
-
const allDisplayedColumns = vue.computed(
|
|
25813
|
-
() => allColumns.value.filter((col) => !col.__Internal__Column__)
|
|
25814
|
-
);
|
|
25815
|
-
vue.watch(allDisplayedColumns, (newValue) => {
|
|
25816
|
-
cellRanges.value.forEach((cellRange) => {
|
|
25817
|
-
cellRange.columns = cellRange.columns.filter(
|
|
25818
|
-
(column) => newValue.find((item) => item.columnKey === column.columnKey)
|
|
25819
|
-
);
|
|
25820
|
-
});
|
|
25821
|
-
cellRanges.value = cellRanges.value.filter((cellRange) => cellRange.columns.length > 0);
|
|
25822
|
-
});
|
|
25823
|
-
vue.watch(flattenData, () => {
|
|
25824
|
-
const lastIndex = flattenData.value.length - 1;
|
|
25825
|
-
cellRanges.value.forEach((cellRange) => {
|
|
25826
|
-
const { startRow, endRow } = cellRange;
|
|
25827
|
-
if (startRow.rowIndex > lastIndex) {
|
|
25828
|
-
cellRange.startRow = null;
|
|
25829
|
-
}
|
|
25830
|
-
if (endRow.rowIndex > lastIndex) {
|
|
25831
|
-
cellRange.endRow = null;
|
|
25832
|
-
}
|
|
25833
|
-
});
|
|
25834
|
-
cellRanges.value = cellRanges.value.filter(
|
|
25835
|
-
(cellRange) => cellRange.startRow && cellRange.endRow
|
|
25836
|
-
);
|
|
25837
|
-
});
|
|
25838
|
-
const onDragStart = (mouseEvent) => {
|
|
25839
|
-
var _a;
|
|
25840
|
-
(_a = mouseEvent.cellInfo) == null ? void 0 : _a.level;
|
|
25841
|
-
if (!enableRangeSelection.value) return;
|
|
25842
|
-
const { ctrlKey, metaKey, shiftKey } = mouseEvent;
|
|
25843
|
-
const ctrlOrMetaKey = ctrlKey || metaKey;
|
|
25844
|
-
const isMultiple = !singleRangeSelection.value && ctrlOrMetaKey;
|
|
25845
|
-
const rangeLength = cellRanges.value.length;
|
|
25846
|
-
const isRangeSelected = shiftKey && rangeLength > 0;
|
|
25847
|
-
if (!(isMultiple || isRangeSelected)) {
|
|
25848
|
-
clearAllSelectedRange();
|
|
25849
|
-
}
|
|
25850
|
-
mouseEvent.cellInfo.cellPosition;
|
|
25851
|
-
return;
|
|
25852
|
-
};
|
|
25853
|
-
const onDragging = (mouseEvent) => {
|
|
25854
|
-
return;
|
|
25855
|
-
};
|
|
25856
|
-
const onDragStop = () => {
|
|
25857
|
-
};
|
|
25858
|
-
const isSelectedEmpty = vue.computed(() => 0 === cellRanges.value.length);
|
|
25859
|
-
const Y = vue.computed(() => {
|
|
25860
|
-
const length = cellRanges.value.length;
|
|
25861
|
-
if (0 === length) return false;
|
|
25862
|
-
if (length > 1) return true;
|
|
25863
|
-
const first = cellRanges.value[0];
|
|
25864
|
-
const n = le(first);
|
|
25865
|
-
const o = re2(first);
|
|
25866
|
-
return n.rowPinned !== o.rowPinned || n.rowIndex !== o.rowIndex || 1 !== (first == null ? void 0 : first.columns.length);
|
|
25867
|
-
});
|
|
25868
|
-
useDragSelection({
|
|
25869
|
-
onDragStart,
|
|
25870
|
-
onDragging,
|
|
25871
|
-
onDragStop,
|
|
25872
|
-
rootElementRef: rootRef,
|
|
25873
|
-
bodyElementRef: bodyRef,
|
|
25874
|
-
level,
|
|
25875
|
-
enableRangeSelection
|
|
25876
|
-
});
|
|
25877
|
-
const X = (startRow, endRow) => {
|
|
25878
|
-
switch (startRow.rowPinned) {
|
|
25879
|
-
case "top":
|
|
25880
|
-
if ("top" !== endRow.rowPinned) return true;
|
|
25881
|
-
break;
|
|
25882
|
-
case "bottom":
|
|
25883
|
-
if ("bottom" !== endRow.rowPinned) return false;
|
|
25884
|
-
break;
|
|
25885
|
-
default:
|
|
25886
|
-
if (endRow.rowPinned) {
|
|
25887
|
-
return "top" !== endRow.rowPinned;
|
|
25888
|
-
}
|
|
25889
|
-
}
|
|
25890
|
-
return startRow.rowIndex < endRow.rowIndex;
|
|
25891
|
-
};
|
|
25892
|
-
const q = (e3) => {
|
|
25893
|
-
let t2;
|
|
25894
|
-
return e3.forEach((e4) => {
|
|
25895
|
-
(void 0 === t2 || X(t2, e4)) && (t2 = e4);
|
|
25896
|
-
}), t2;
|
|
25897
|
-
};
|
|
25898
|
-
const Q = (e3) => {
|
|
25899
|
-
let t2;
|
|
25900
|
-
return e3.forEach((e4) => {
|
|
25901
|
-
(void 0 === t2 || X(e4, t2)) && (t2 = e4);
|
|
25902
|
-
}), t2;
|
|
25903
|
-
};
|
|
25904
|
-
const Z = (e3, t2) => !e3 && !t2 || !(e3 && !t2 || !e3 && t2) && e3.rowIndex === t2.rowIndex && e3.rowPinned == t2.rowPinned;
|
|
25905
|
-
const J = (e3, t2) => {
|
|
25906
|
-
let n, o;
|
|
25907
|
-
const l2 = e3 === t2 || e3.columnKey === t2.columnKey, r2 = allDisplayedColumns.value.findIndex((t3) => t3.columnKey === e3.columnKey);
|
|
25908
|
-
if (r2 < 0)
|
|
25909
|
-
return void console.warn(
|
|
25910
|
-
`Table: column ${null !== (n = e3.originColumn.key) && void 0 !== n ? n : e3.originColumn.dataIndex} is not valid`
|
|
25911
|
-
);
|
|
25912
|
-
const a2 = l2 ? r2 : allDisplayedColumns.value.findIndex((e4) => e4.columnKey === t2.columnKey);
|
|
25913
|
-
if (a2 < 0)
|
|
25914
|
-
return void console.warn(
|
|
25915
|
-
`Table: column ${null !== (o = t2.originColumn.key) && void 0 !== o ? o : t2.originColumn.dataIndex} is not valid`
|
|
25916
|
-
);
|
|
25917
|
-
if (l2) return [e3];
|
|
25918
|
-
const i2 = Math.min(r2, a2), s2 = i2 === r2 ? a2 : r2, u2 = [];
|
|
25919
|
-
for (let e4 = i2; e4 <= s2; e4++) u2.push(allDisplayedColumns.value[e4]);
|
|
25920
|
-
return u2;
|
|
25921
|
-
};
|
|
25922
|
-
const setRangeToCell = (e3, t2 = false) => {
|
|
25923
|
-
if (!enableRangeSelection.value) return;
|
|
25924
|
-
const n = J(e3.column, e3.column);
|
|
25925
|
-
if (!n) return;
|
|
25926
|
-
if (latestRangeStartCell.value === e3) return;
|
|
25927
|
-
!singleRangeSelection.value && t2 || (cellRanges.value = []);
|
|
25928
|
-
const o = { rowIndex: e3.rowIndex, rowPinned: e3.rowPinned }, l2 = { startRow: o, endRow: o, columns: n, startColumn: e3.column };
|
|
25929
|
-
cellRanges.value.push(l2), latestRangeStartCell.value = e3, vue.triggerRef(cellRanges);
|
|
25930
|
-
};
|
|
25931
|
-
const te = (e3, t2) => {
|
|
25932
|
-
const n = t2.column, o = J(e3.startColumn, n);
|
|
25933
|
-
o && !ne(e3, t2) && (e3.columns = o, e3.endRow = { rowIndex: t2.rowIndex, rowPinned: t2.rowPinned }, vue.triggerRef(cellRanges));
|
|
25934
|
-
};
|
|
25935
|
-
const ne = (e3, t2) => {
|
|
25936
|
-
const { startRow: n, endRow: o } = e3, l2 = X(n, o) ? o : n, r2 = t2.rowIndex === l2.rowIndex && t2.rowPinned === l2.rowPinned, a2 = e3.columns[0], i2 = e3.columns[e3.columns.length - 1], s2 = e3.startColumn === a2 ? i2 : a2;
|
|
25937
|
-
return t2.column === s2 && r2;
|
|
25938
|
-
};
|
|
25939
|
-
const oe = (e3, t2) => {
|
|
25940
|
-
const n = null !== t2.columns && t2.columns.find((t3) => t3.columnKey === e3.column.columnKey), o = ae2(e3.rowIndex, e3.rowPinned, t2);
|
|
25941
|
-
return n && o;
|
|
25942
|
-
};
|
|
25943
|
-
const le = (cellRange) => {
|
|
25944
|
-
var _a;
|
|
25945
|
-
if (cellRange.startRow && cellRange.endRow) {
|
|
25946
|
-
return X(cellRange.startRow, cellRange.endRow) ? cellRange.startRow : cellRange.endRow;
|
|
25947
|
-
}
|
|
25948
|
-
return { rowIndex: (_a = flattenData.value[0]) == null ? void 0 : _a.rowIndex, rowPinned: null };
|
|
25949
|
-
};
|
|
25950
|
-
const re2 = (e3) => {
|
|
25951
|
-
var _a;
|
|
25952
|
-
return e3.startRow && e3.endRow ? X(e3.startRow, e3.endRow) ? e3.endRow : e3.startRow : {
|
|
25953
|
-
rowIndex: (_a = flattenData.value[flattenData.value.length - 1]) == null ? void 0 : _a.rowIndex,
|
|
25954
|
-
rowPinned: null
|
|
25955
|
-
};
|
|
25956
|
-
};
|
|
25957
|
-
const ae2 = (e3, t2, n) => {
|
|
25958
|
-
const o = le(n), l2 = re2(n), r2 = { rowIndex: e3, rowPinned: t2 }, a2 = r2.rowIndex === o.rowIndex && r2.rowPinned == o.rowPinned, i2 = r2.rowIndex === l2.rowIndex && r2.rowPinned == l2.rowPinned;
|
|
25959
|
-
if (a2 || i2) return true;
|
|
25960
|
-
const s2 = !X(r2, o), u2 = X(r2, l2);
|
|
25961
|
-
return s2 && u2;
|
|
25962
|
-
};
|
|
25963
|
-
const getCellRangeCount = (cell2) => isSelectedEmpty.value ? 0 : cellRanges.value.filter((cellRange) => oe(cell2, cellRange)).length;
|
|
25964
|
-
const getDisplayedColBefore = (e3) => {
|
|
25965
|
-
const t2 = allDisplayedColumns.value, n = t2.findIndex((t3) => t3.columnKey === e3.columnKey);
|
|
25966
|
-
return n > 0 ? t2[n - 1] : null;
|
|
25967
|
-
};
|
|
25968
|
-
const getDisplayedColAfter = (e3) => {
|
|
25969
|
-
const t2 = allDisplayedColumns.value, n = t2.findIndex((t3) => t3.columnKey === e3.columnKey);
|
|
25970
|
-
return n < t2.length - 1 ? t2[n + 1] : null;
|
|
25971
|
-
};
|
|
25972
|
-
const ce2 = (e3) => {
|
|
25973
|
-
if (null == e3) return null;
|
|
25974
|
-
const t2 = allDisplayedColumns.value.find((t3) => t3.columnKey === e3);
|
|
25975
|
-
return t2 || console.warn("Table: could not find column " + e3), t2;
|
|
25976
|
-
};
|
|
25977
|
-
const de2 = () => cellRanges.value;
|
|
25978
|
-
const clearAllSelectedRange = () => {
|
|
25979
|
-
cellRanges.value = [];
|
|
25980
|
-
};
|
|
25981
|
-
const appendCellToSelectedRange = (e3) => {
|
|
25982
|
-
if (!enableRangeSelection.value) return;
|
|
25983
|
-
const t2 = ((e4) => {
|
|
25984
|
-
let t3, n = false;
|
|
25985
|
-
if (e4.columnsKey) t3 = e4.columnsKey.map((e5) => ce2(e5)).filter((e5) => e5);
|
|
25986
|
-
else {
|
|
25987
|
-
const o = ce2(e4.columnStartKey), l2 = ce2(e4.columnEndKey);
|
|
25988
|
-
if (!o || !l2) return;
|
|
25989
|
-
t3 = J(o, l2), t3 && t3.length && (n = t3[0] !== o);
|
|
25990
|
-
}
|
|
25991
|
-
if (!t3) return;
|
|
25992
|
-
return {
|
|
25993
|
-
startRow: null != e4.rowStartIndex ? { rowIndex: e4.rowStartIndex, rowPinned: null } : void 0,
|
|
25994
|
-
endRow: null != e4.rowEndIndex ? { rowIndex: e4.rowEndIndex, rowPinned: null } : void 0,
|
|
25995
|
-
columns: t3,
|
|
25996
|
-
startColumn: n ? t3[t3.length - 1] : t3[0]
|
|
25997
|
-
};
|
|
25998
|
-
})(e3);
|
|
25999
|
-
t2 && (t2.startRow && (latestRangeStartCell.value = {
|
|
26000
|
-
rowIndex: t2.startRow.rowIndex,
|
|
26001
|
-
rowPinned: t2.startRow.rowPinned,
|
|
26002
|
-
column: t2.startColumn
|
|
26003
|
-
}), cellRanges.value.push(t2));
|
|
26004
|
-
};
|
|
26005
|
-
const fe2 = (e3) => {
|
|
26006
|
-
enableRangeSelection.value && (clearAllSelectedRange(), appendCellToSelectedRange(e3));
|
|
26007
|
-
};
|
|
26008
|
-
const focusCell = (e3) => {
|
|
26009
|
-
let t2, n;
|
|
26010
|
-
const o = null === (t2 = getRowByFlattenIndex(e3.rowIndex)) || void 0 === t2 ? void 0 : t2.rowKey, l2 = null === (n = e3.column) || void 0 === n ? void 0 : n.columnKey;
|
|
26011
|
-
if (void 0 !== o && void 0 !== l2 && rootRef.value) {
|
|
26012
|
-
const e4 = rootRef.value.querySelector(
|
|
26013
|
-
`[data-row-key="${o}"] [data-column-key="${l2}"][data-level="${level}"]`
|
|
26014
|
-
);
|
|
26015
|
-
if (e4) {
|
|
26016
|
-
const t4 = e4.getElementsByTagName("input")[0];
|
|
26017
|
-
e4.focus();
|
|
26018
|
-
t4 && t4.focus();
|
|
26019
|
-
}
|
|
26020
|
-
}
|
|
26021
|
-
};
|
|
26022
|
-
const intersectLastRange = (fromMouseClick = false) => {
|
|
26023
|
-
if (singleRangeSelection.value) return;
|
|
26024
|
-
if (isSelectedEmpty.value) return;
|
|
26025
|
-
const lastCellRange2 = cellRanges.value[cellRanges.value.length - 1];
|
|
26026
|
-
const n = le(lastCellRange2);
|
|
26027
|
-
const o = re2(lastCellRange2);
|
|
26028
|
-
const l2 = [];
|
|
26029
|
-
cellRanges.value.slice(0, -1).forEach((e4) => {
|
|
26030
|
-
const r2 = le(e4), a2 = re2(e4), i2 = e4.columns, s2 = i2.filter((e5) => -1 === (lastCellRange2 == null ? void 0 : lastCellRange2.columns.indexOf(e5)));
|
|
26031
|
-
if (s2.length !== i2.length)
|
|
26032
|
-
if (X(o, r2) || X(a2, n)) l2.push(e4);
|
|
26033
|
-
else {
|
|
26034
|
-
if (X(r2, n)) {
|
|
26035
|
-
const e5 = {
|
|
26036
|
-
columns: [...i2],
|
|
26037
|
-
startColumn: lastCellRange2 == null ? void 0 : lastCellRange2.startColumn,
|
|
26038
|
-
startRow: Object.assign({}, r2),
|
|
26039
|
-
endRow: navigationService.getRowAbove(n)
|
|
26040
|
-
};
|
|
26041
|
-
l2.push(e5);
|
|
26042
|
-
}
|
|
26043
|
-
if (s2.length > 0) {
|
|
26044
|
-
const e5 = {
|
|
26045
|
-
columns: s2,
|
|
26046
|
-
startColumn: s2.find((e6) => e6.columnKey === (lastCellRange2 == null ? void 0 : lastCellRange2.startColumn.columnKey)) ? lastCellRange2 == null ? void 0 : lastCellRange2.startColumn : s2[0],
|
|
26047
|
-
startRow: q([Object.assign({}, n), Object.assign({}, r2)]),
|
|
26048
|
-
endRow: Q([Object.assign({}, o), Object.assign({}, a2)])
|
|
26049
|
-
};
|
|
26050
|
-
l2.push(e5);
|
|
26051
|
-
}
|
|
26052
|
-
X(o, a2) && l2.push({
|
|
26053
|
-
columns: [...i2],
|
|
26054
|
-
startColumn: lastCellRange2 == null ? void 0 : lastCellRange2.startColumn,
|
|
26055
|
-
startRow: navigationService.getRowBelow(o),
|
|
26056
|
-
endRow: Object.assign({}, a2)
|
|
26057
|
-
});
|
|
26058
|
-
}
|
|
26059
|
-
else l2.push(e4);
|
|
26060
|
-
}), cellRanges.value = l2;
|
|
26061
|
-
};
|
|
26062
|
-
vue.watch(latestRangeStartCell, () => {
|
|
26063
|
-
latestRangeStartCell.value && focusCell(latestRangeStartCell.value);
|
|
26064
|
-
});
|
|
26065
|
-
const ensureCellVisible = (cell2) => {
|
|
26066
|
-
parmas.ensureCellRowVisible(cell2);
|
|
26067
|
-
parmas.ensureCellColumnVisible(cell2);
|
|
26068
|
-
};
|
|
26069
|
-
const navigationService = useCellNavigation({
|
|
26070
|
-
getDisplayedColBefore,
|
|
26071
|
-
getDisplayedColAfter,
|
|
26072
|
-
allDisplayedColumns,
|
|
26073
|
-
setRangeToCell,
|
|
26074
|
-
focusCell,
|
|
26075
|
-
ensureCellVisible,
|
|
26076
|
-
...parmas
|
|
26077
|
-
});
|
|
26078
|
-
vue.provide(RangeSymbolKey, {
|
|
26079
|
-
cellRanges,
|
|
26080
|
-
extendLatestRangeToCell: (e3) => {
|
|
26081
|
-
if (isSelectedEmpty.value || !latestRangeStartCell.value) return;
|
|
26082
|
-
const t2 = cellRanges.value[cellRanges.value.length - 1];
|
|
26083
|
-
te(t2, e3);
|
|
26084
|
-
},
|
|
26085
|
-
setRangeToCell,
|
|
26086
|
-
onDragStart,
|
|
26087
|
-
onDragging,
|
|
26088
|
-
isCellInAnyRange: (cell2) => getCellRangeCount(cell2) > 0,
|
|
26089
|
-
getRangeCellClass: (e3) => {
|
|
26090
|
-
const t2 = getCellRangeCount(e3), n = ((e4) => {
|
|
26091
|
-
let t3 = false, n2 = false, o2 = false, l3 = false;
|
|
26092
|
-
const r3 = e4.column;
|
|
26093
|
-
let a3, i3;
|
|
26094
|
-
a3 = getDisplayedColBefore(r3), i3 = getDisplayedColAfter(r3);
|
|
26095
|
-
const s2 = cellRanges.value.filter((t4) => oe(e4, t4));
|
|
26096
|
-
a3 || (l3 = true), i3 || (n2 = true);
|
|
26097
|
-
for (let r4 = 0; r4 < s2.length && !(t3 && n2 && o2 && l3); r4++) {
|
|
26098
|
-
const u2 = s2[r4], c2 = le(u2), d = re2(u2);
|
|
26099
|
-
!t3 && Z(c2, e4) && (t3 = true), !o2 && Z(d, e4) && (o2 = true), !l3 && a3 && u2.columns.findIndex((e5) => e5.columnKey === a3.columnKey) < 0 && (l3 = true), !n2 && i3 && u2.columns.findIndex((e5) => e5.columnKey === i3.columnKey) < 0 && (n2 = true);
|
|
26100
|
-
}
|
|
26101
|
-
return { top: t3, right: n2, bottom: o2, left: l3 };
|
|
26102
|
-
})(e3), o = 1 === t2 && !Y.value, l2 = !o && n.top, r2 = !o && n.right, a2 = !o && n.bottom, i2 = !o && n.left;
|
|
26103
|
-
return classNames({
|
|
26104
|
-
[rangeCellClass.value]: 0 !== t2,
|
|
26105
|
-
[`${rangeCellClass.value}-1`]: 1 === t2,
|
|
26106
|
-
[`${rangeCellClass.value}-2`]: 2 === t2,
|
|
26107
|
-
[`${rangeCellClass.value}-3`]: 3 === t2,
|
|
26108
|
-
[`${rangeCellClass.value}-4`]: t2 >= 4,
|
|
26109
|
-
[RangeSingleCellClass.value]: o,
|
|
26110
|
-
[RangeTopClass.value]: l2,
|
|
26111
|
-
[RangeRIghtClass.value]: r2,
|
|
26112
|
-
[RangeBottomClass.value]: a2,
|
|
26113
|
-
[RangeLeftClass.value]: i2
|
|
26114
|
-
});
|
|
26115
|
-
},
|
|
26116
|
-
enableRangeSelection,
|
|
26117
|
-
singleRangeSelection,
|
|
26118
|
-
getDisplayedColBefore,
|
|
26119
|
-
getDisplayedColAfter,
|
|
26120
|
-
navigationService,
|
|
26121
|
-
extendLatestRangeInDirection: (e3) => {
|
|
26122
|
-
if (isSelectedEmpty.value || !latestRangeStartCell.value) return;
|
|
26123
|
-
const t2 = e3.keyCode, n = e3.ctrlKey || e3.metaKey, o = cellRanges.value[cellRanges.value.length - 1], l2 = latestRangeStartCell.value, r2 = o.columns[0], a2 = o.columns[o.columns.length - 1], i2 = o.endRow.rowIndex, s2 = o.endRow.rowPinned, u2 = {
|
|
26124
|
-
column: l2.column === r2 ? a2 : r2,
|
|
26125
|
-
rowIndex: i2,
|
|
26126
|
-
rowPinned: s2
|
|
26127
|
-
}, d = navigationService.getNextCellToFocus(t2, u2, n);
|
|
26128
|
-
return d ? (fe2({
|
|
26129
|
-
rowStartIndex: l2.rowIndex,
|
|
26130
|
-
rowEndIndex: d.rowIndex,
|
|
26131
|
-
columnStartKey: l2.column.columnKey,
|
|
26132
|
-
columnEndKey: d.column.columnKey
|
|
26133
|
-
}), d) : void 0;
|
|
26134
|
-
},
|
|
26135
|
-
allDisplayedColumns,
|
|
26136
|
-
focusCell,
|
|
26137
|
-
ensureCellVisible,
|
|
26138
|
-
getCellRangeCount,
|
|
26139
|
-
intersectLastRange,
|
|
26140
|
-
level
|
|
26141
|
-
});
|
|
26142
|
-
const copySelectedRange = () => {
|
|
26143
|
-
const e3 = de2(), t2 = [];
|
|
26144
|
-
let n = "";
|
|
26145
|
-
e3.forEach((e4) => {
|
|
26146
|
-
const { startRow: n2, endRow: o, columns: r2 } = e4, [a2, i2] = [n2.rowIndex, o.rowIndex].sort((e5, t3) => e5 - t3);
|
|
26147
|
-
let s2 = allDisplayedColumns.value.findIndex((e5) => {
|
|
26148
|
-
var _a;
|
|
26149
|
-
return e5.columnKey === ((_a = r2[0]) == null ? void 0 : _a.columnKey);
|
|
26150
|
-
}), u2 = allDisplayedColumns.value.findIndex(
|
|
26151
|
-
(e5) => {
|
|
26152
|
-
var _a;
|
|
26153
|
-
return e5.columnKey === ((_a = r2[r2.length - 1]) == null ? void 0 : _a.columnKey);
|
|
26154
|
-
}
|
|
26155
|
-
);
|
|
26156
|
-
[s2, u2] = [s2, u2].sort((e5, t3) => e5 - t3);
|
|
26157
|
-
const c2 = [];
|
|
26158
|
-
for (let e5 = a2; e5 <= i2; e5++) {
|
|
26159
|
-
const t3 = flattenData.value[e5];
|
|
26160
|
-
if (t3 && !t3.isExpandRow) {
|
|
26161
|
-
const n3 = t3.rowKey, o2 = [], l2 = getIndexsByKey(n3);
|
|
26162
|
-
for (let r3 = s2; r3 <= u2; r3++) {
|
|
26163
|
-
const originColumn = allDisplayedColumns.value[r3].originColumn;
|
|
26164
|
-
const i3 = originColumn.dataIndex ? getPathValue(t3.record, originColumn.dataIndex) : void 0;
|
|
26165
|
-
if (originColumn) {
|
|
26166
|
-
const r4 = {
|
|
26167
|
-
record: t3.record,
|
|
26168
|
-
column: originColumn,
|
|
26169
|
-
index: e5,
|
|
26170
|
-
recordIndexs: l2,
|
|
26171
|
-
key: n3,
|
|
26172
|
-
value: i3
|
|
26173
|
-
};
|
|
26174
|
-
o2.push(formatRangeCellText(r4));
|
|
26175
|
-
}
|
|
26176
|
-
}
|
|
26177
|
-
c2.push(o2.join(copyDelimiter.value));
|
|
26178
|
-
}
|
|
26179
|
-
}
|
|
26180
|
-
t2.push(c2);
|
|
26181
|
-
}), n = t2.map((e4) => e4.join("prefixCls\n")).join("prefixCls\n"), ((e4) => {
|
|
26182
|
-
let t3, n2;
|
|
26183
|
-
const o = document.activeElement, l2 = document.createElement("textarea");
|
|
26184
|
-
l2.style.position = "absolute", l2.style.opacity = "0", l2.style.width = "1px", l2.style.height = "1px", l2.value = e4 || " ", document.body.appendChild(l2), l2.select(), l2.focus({ preventScroll: true }), document.execCommand("copy") || console.warn("Table: copy failed, Browser did not allow document.execCommand('copy')"), document.body.removeChild(l2), null !== o && (null === (n2 = (t3 = o).focus) || void 0 === n2 || n2.call(t3, { preventScroll: true }));
|
|
26185
|
-
})(n);
|
|
26186
|
-
};
|
|
26187
|
-
return {
|
|
26188
|
-
getSelectedRange: () => {
|
|
26189
|
-
const e3 = de2(), t2 = [];
|
|
26190
|
-
return e3.forEach((e4) => {
|
|
26191
|
-
const { startColumn: n, startRow: o, endRow: r2, columns: a2 } = e4, i2 = flattenData.value[o.rowIndex], s2 = flattenData.value[r2.rowIndex], u2 = {
|
|
26192
|
-
startColumn: n.originColumn,
|
|
26193
|
-
startRow: {
|
|
26194
|
-
rowIndex: i2.rowIndex,
|
|
26195
|
-
recordIndexs: getIndexsByKey(i2.rowKey)
|
|
26196
|
-
},
|
|
26197
|
-
endRow: {
|
|
26198
|
-
rowIndex: s2.rowIndex,
|
|
26199
|
-
recordIndexs: getIndexsByKey(s2.rowKey)
|
|
26200
|
-
},
|
|
26201
|
-
columns: a2.map((e5) => e5.originColumn),
|
|
26202
|
-
flattenData: flattenData.value
|
|
26203
|
-
};
|
|
26204
|
-
t2.push(u2);
|
|
26205
|
-
}), t2;
|
|
26206
|
-
},
|
|
26207
|
-
appendCellToSelectedRange,
|
|
26208
|
-
clearAllSelectedRange,
|
|
26209
|
-
setCellRanges: (e3) => {
|
|
26210
|
-
enableRangeSelection.value && (cellRanges.value = e3);
|
|
26211
|
-
},
|
|
26212
|
-
getCellRangeCount,
|
|
26213
|
-
navigationService,
|
|
26214
|
-
copySelectedRange,
|
|
26215
|
-
onBodyKeydown: (e3) => {
|
|
26216
|
-
if (!e3.ctrlKey && !e3.metaKey || !enableRangeSelection.value) return;
|
|
26217
|
-
if (isOverFormFieldElement(e3)) return;
|
|
26218
|
-
switch (e3.keyCode) {
|
|
26219
|
-
case KeyCode.C:
|
|
26220
|
-
copySelectedRange();
|
|
26221
|
-
break;
|
|
26222
|
-
case KeyCode.A:
|
|
26223
|
-
(() => {
|
|
26224
|
-
if (!enableRangeSelection.value) return;
|
|
26225
|
-
const e4 = allDisplayedColumns.value;
|
|
26226
|
-
0 !== e4.length && fe2({
|
|
26227
|
-
rowStartIndex: 0,
|
|
26228
|
-
rowEndIndex: flattenData.value.length - 1,
|
|
26229
|
-
columnStartKey: e4[0].columnKey,
|
|
26230
|
-
columnEndKey: e4[e4.length - 1].columnKey
|
|
26231
|
-
});
|
|
26232
|
-
})();
|
|
26233
|
-
}
|
|
26234
|
-
e3.preventDefault();
|
|
26235
|
-
}
|
|
26236
|
-
};
|
|
26237
|
-
};
|
|
26238
|
-
const useInjectRangeStore = () => {
|
|
26239
|
-
return vue.inject(RangeSymbolKey, {});
|
|
26240
|
-
};
|
|
26241
|
-
|
|
26242
25668
|
var MapShim = (function() {
|
|
26243
25669
|
if (typeof Map !== "undefined") {
|
|
26244
25670
|
return Map;
|
|
@@ -28682,6 +28108,31 @@
|
|
|
28682
28108
|
return { data, pos };
|
|
28683
28109
|
}
|
|
28684
28110
|
|
|
28111
|
+
function classNames(...args) {
|
|
28112
|
+
const classes = [];
|
|
28113
|
+
for (let i = 0; i < args.length; i++) {
|
|
28114
|
+
const value = args[i];
|
|
28115
|
+
if (!value) continue;
|
|
28116
|
+
if (isString(value)) {
|
|
28117
|
+
classes.push(value);
|
|
28118
|
+
} else if (isArray(value)) {
|
|
28119
|
+
for (let i2 = 0; i2 < value.length; i2++) {
|
|
28120
|
+
const inner = classNames(value[i2]);
|
|
28121
|
+
if (inner) {
|
|
28122
|
+
classes.push(inner);
|
|
28123
|
+
}
|
|
28124
|
+
}
|
|
28125
|
+
} else if (isObject(value)) {
|
|
28126
|
+
for (const name in value) {
|
|
28127
|
+
if (value[name]) {
|
|
28128
|
+
classes.push(name);
|
|
28129
|
+
}
|
|
28130
|
+
}
|
|
28131
|
+
}
|
|
28132
|
+
}
|
|
28133
|
+
return classes.join(" ");
|
|
28134
|
+
}
|
|
28135
|
+
|
|
28685
28136
|
const useCellProps = ({
|
|
28686
28137
|
leftColumns,
|
|
28687
28138
|
rightColumns,
|
|
@@ -28694,6 +28145,10 @@
|
|
|
28694
28145
|
leftWidth,
|
|
28695
28146
|
centerWidth,
|
|
28696
28147
|
getRowHeight,
|
|
28148
|
+
cancelEditable,
|
|
28149
|
+
startEditable,
|
|
28150
|
+
saveEditable,
|
|
28151
|
+
isEditable,
|
|
28697
28152
|
customCell: contextCustomCell
|
|
28698
28153
|
}) => {
|
|
28699
28154
|
const allCellProps = vue.shallowRef({});
|
|
@@ -28716,6 +28171,10 @@
|
|
|
28716
28171
|
value,
|
|
28717
28172
|
record,
|
|
28718
28173
|
index: rowIndex,
|
|
28174
|
+
cancelEditable,
|
|
28175
|
+
startEditable,
|
|
28176
|
+
saveEditable,
|
|
28177
|
+
isEditable,
|
|
28719
28178
|
column: originColumn
|
|
28720
28179
|
});
|
|
28721
28180
|
if (customCellRender && isObject$4(customCellRender) && !isArray$2(customCellRender) && !vue.isVNode(customCellRender)) {
|
|
@@ -32193,114 +31652,6 @@
|
|
|
32193
31652
|
return vue.inject(BodyRowContextKey, {});
|
|
32194
31653
|
};
|
|
32195
31654
|
|
|
32196
|
-
const useCellSelection = () => {
|
|
32197
|
-
const {
|
|
32198
|
-
isCellInAnyRange,
|
|
32199
|
-
cellRanges,
|
|
32200
|
-
extendLatestRangeToCell,
|
|
32201
|
-
setRangeToCell,
|
|
32202
|
-
enableRangeSelection,
|
|
32203
|
-
getCellRangeCount,
|
|
32204
|
-
intersectLastRange,
|
|
32205
|
-
level
|
|
32206
|
-
} = useInjectRangeStore();
|
|
32207
|
-
return {
|
|
32208
|
-
onCellMousedown: (mouseEvent, cellPosition) => {
|
|
32209
|
-
const { ctrlKey, metaKey, shiftKey } = mouseEvent;
|
|
32210
|
-
if (!(!isCellInAnyRange(cellPosition) || 2 !== mouseEvent.button)) return;
|
|
32211
|
-
const isRanges = !cellRanges.value.length;
|
|
32212
|
-
if (shiftKey && isRanges) {
|
|
32213
|
-
mouseEvent.preventDefault();
|
|
32214
|
-
}
|
|
32215
|
-
if (shiftKey) {
|
|
32216
|
-
extendLatestRangeToCell(cellPosition);
|
|
32217
|
-
} else {
|
|
32218
|
-
setRangeToCell(cellPosition, ctrlKey || metaKey);
|
|
32219
|
-
}
|
|
32220
|
-
mouseEvent.cellInfo = {
|
|
32221
|
-
cellPosition,
|
|
32222
|
-
cellTarget: mouseEvent.currentTarget,
|
|
32223
|
-
level
|
|
32224
|
-
};
|
|
32225
|
-
},
|
|
32226
|
-
onCellMousemove: (mouseEvent, cellPosition) => {
|
|
32227
|
-
mouseEvent.cellInfo = {
|
|
32228
|
-
cellPosition,
|
|
32229
|
-
cellTarget: mouseEvent.currentTarget,
|
|
32230
|
-
level
|
|
32231
|
-
};
|
|
32232
|
-
},
|
|
32233
|
-
onCellClick: (mouseEvent, cellPosition) => {
|
|
32234
|
-
const mouseKey = mouseEvent.ctrlKey || mouseEvent.metaKey;
|
|
32235
|
-
enableRangeSelection.value && mouseKey && getCellRangeCount(cellPosition) > 1 && intersectLastRange(true);
|
|
32236
|
-
}
|
|
32237
|
-
};
|
|
32238
|
-
};
|
|
32239
|
-
|
|
32240
|
-
const useCellKeyboard = () => {
|
|
32241
|
-
const {
|
|
32242
|
-
enableRangeSelection,
|
|
32243
|
-
navigationService,
|
|
32244
|
-
extendLatestRangeInDirection,
|
|
32245
|
-
focusCell,
|
|
32246
|
-
ensureCellVisible
|
|
32247
|
-
} = useInjectRangeStore();
|
|
32248
|
-
const directionOrEnterHandle = (event, payload) => {
|
|
32249
|
-
if (!payload.isEditing) {
|
|
32250
|
-
event.shiftKey && enableRangeSelection.value ? selectRange(event) : navigationService.navigateToNextCell(event, payload.cellPosition);
|
|
32251
|
-
event.preventDefault();
|
|
32252
|
-
}
|
|
32253
|
-
};
|
|
32254
|
-
const { props } = useInjectTable();
|
|
32255
|
-
const selectRange = (event) => {
|
|
32256
|
-
const latestRange = extendLatestRangeInDirection(event);
|
|
32257
|
-
latestRange && ensureCellVisible(latestRange);
|
|
32258
|
-
};
|
|
32259
|
-
const escHandle = (_, payload) => {
|
|
32260
|
-
payload.isEditing && focusCell(payload.cellPosition);
|
|
32261
|
-
};
|
|
32262
|
-
const tabHandle = (event, payload) => {
|
|
32263
|
-
navigationService.onTabKeyDown(payload.cellPosition, event);
|
|
32264
|
-
};
|
|
32265
|
-
return {
|
|
32266
|
-
onCellKeydown: (event, payload) => {
|
|
32267
|
-
if (props.onCellKeydown && false === props.onCellKeydown(event, {
|
|
32268
|
-
isEditing: payload.isEditing,
|
|
32269
|
-
cellPosition: {
|
|
32270
|
-
column: payload.cellPosition.column.originColumn,
|
|
32271
|
-
rowIndex: payload.cellPosition.rowIndex
|
|
32272
|
-
}
|
|
32273
|
-
})) {
|
|
32274
|
-
return;
|
|
32275
|
-
}
|
|
32276
|
-
const { keyCode } = event;
|
|
32277
|
-
const target = event.target;
|
|
32278
|
-
switch (keyCode) {
|
|
32279
|
-
case KeyCode.RIGHT:
|
|
32280
|
-
case KeyCode.LEFT:
|
|
32281
|
-
if (!("INPUT" === (target == null ? void 0 : target.tagName) || "TEXTAREA" === (target == null ? void 0 : target.tagName) || (target == null ? void 0 : target.isContentEditable))) {
|
|
32282
|
-
directionOrEnterHandle(event, payload);
|
|
32283
|
-
}
|
|
32284
|
-
break;
|
|
32285
|
-
case KeyCode.DOWN:
|
|
32286
|
-
case KeyCode.UP:
|
|
32287
|
-
case KeyCode.ENTER:
|
|
32288
|
-
if (!((target2) => "TEXTAREA" === target2.tagName || target2.isContentEditable)(
|
|
32289
|
-
event.target
|
|
32290
|
-
)) {
|
|
32291
|
-
directionOrEnterHandle(event, payload);
|
|
32292
|
-
}
|
|
32293
|
-
break;
|
|
32294
|
-
case KeyCode.ESC:
|
|
32295
|
-
escHandle(event, payload);
|
|
32296
|
-
break;
|
|
32297
|
-
case KeyCode.TAB:
|
|
32298
|
-
tabHandle(event, payload);
|
|
32299
|
-
}
|
|
32300
|
-
}
|
|
32301
|
-
};
|
|
32302
|
-
};
|
|
32303
|
-
|
|
32304
31655
|
const eventCache = {};
|
|
32305
31656
|
const eventMap = {
|
|
32306
31657
|
select: "input",
|
|
@@ -32317,6 +31668,68 @@
|
|
|
32317
31668
|
return eventCache[eventName = "on" + eventName] = eventName in dom;
|
|
32318
31669
|
};
|
|
32319
31670
|
|
|
31671
|
+
const useAutoScroll = (params) => {
|
|
31672
|
+
const {
|
|
31673
|
+
scrollContainer,
|
|
31674
|
+
scrollAxis,
|
|
31675
|
+
onScrollCallback = () => {
|
|
31676
|
+
},
|
|
31677
|
+
showVerticalScrollbar,
|
|
31678
|
+
showHorizontalScrollbar
|
|
31679
|
+
} = params;
|
|
31680
|
+
let timer = null;
|
|
31681
|
+
let i = 0;
|
|
31682
|
+
let hasLeft = false;
|
|
31683
|
+
let hasRight = false;
|
|
31684
|
+
let hasTop = false;
|
|
31685
|
+
let hasBottom = false;
|
|
31686
|
+
const isXAxis = -1 !== scrollAxis.indexOf("x");
|
|
31687
|
+
const isYAxis = -1 !== scrollAxis.indexOf("y");
|
|
31688
|
+
const scrollByTick = vue.computed(() => {
|
|
31689
|
+
var _a, _b;
|
|
31690
|
+
return (_b = (_a = params.scrollByTick) == null ? void 0 : _a.value) != null ? _b : 20;
|
|
31691
|
+
});
|
|
31692
|
+
const exec = () => {
|
|
31693
|
+
if (null === timer) {
|
|
31694
|
+
timer = window.setInterval(handle, 100);
|
|
31695
|
+
i = 0;
|
|
31696
|
+
}
|
|
31697
|
+
};
|
|
31698
|
+
const handle = () => {
|
|
31699
|
+
i++;
|
|
31700
|
+
const boundary = i > 20 ? 200 : i > 10 ? 80 : 40;
|
|
31701
|
+
if (isYAxis) {
|
|
31702
|
+
const position = params.getVerticalPosition();
|
|
31703
|
+
hasTop && params.setVerticalPosition(position - boundary), hasBottom && params.setVerticalPosition(position + boundary);
|
|
31704
|
+
}
|
|
31705
|
+
if (isXAxis) {
|
|
31706
|
+
const position = params.getHorizontalPosition();
|
|
31707
|
+
hasLeft && params.setHorizontalPosition(position - boundary), hasRight && params.setHorizontalPosition(position + boundary);
|
|
31708
|
+
}
|
|
31709
|
+
onScrollCallback();
|
|
31710
|
+
};
|
|
31711
|
+
const clear = () => {
|
|
31712
|
+
if (timer) {
|
|
31713
|
+
window.clearInterval(timer);
|
|
31714
|
+
timer = null;
|
|
31715
|
+
}
|
|
31716
|
+
};
|
|
31717
|
+
return {
|
|
31718
|
+
check: (mouseEvent, forceSkipVerticalScroll = false) => {
|
|
31719
|
+
const hasVerticalScroll = forceSkipVerticalScroll || !showVerticalScrollbar.value;
|
|
31720
|
+
if (hasVerticalScroll && !showHorizontalScrollbar.value) return;
|
|
31721
|
+
const clientRect = scrollContainer.value.getBoundingClientRect();
|
|
31722
|
+
const tick = scrollByTick.value;
|
|
31723
|
+
hasLeft = mouseEvent.clientX < clientRect.left + tick;
|
|
31724
|
+
hasRight = mouseEvent.clientX > clientRect.right - tick;
|
|
31725
|
+
hasTop = mouseEvent.clientY < clientRect.top + tick && !hasVerticalScroll;
|
|
31726
|
+
hasBottom = mouseEvent.clientY > clientRect.bottom - tick && !hasVerticalScroll;
|
|
31727
|
+
return hasLeft || hasRight || hasTop || hasBottom ? exec() : clear();
|
|
31728
|
+
},
|
|
31729
|
+
ensureCleared: clear
|
|
31730
|
+
};
|
|
31731
|
+
};
|
|
31732
|
+
|
|
32320
31733
|
var _sfc_main$o = vue.defineComponent({
|
|
32321
31734
|
name: "RowDragHandler",
|
|
32322
31735
|
props: {
|
|
@@ -32840,188 +32253,6 @@
|
|
|
32840
32253
|
}
|
|
32841
32254
|
});
|
|
32842
32255
|
|
|
32843
|
-
var _sfc_main$n = vue.defineComponent({
|
|
32844
|
-
inheritAttrs: false,
|
|
32845
|
-
props: {
|
|
32846
|
-
prefixCls: { type: String },
|
|
32847
|
-
recordIndexs: { type: Array },
|
|
32848
|
-
rowKey: { type: [Number, String] },
|
|
32849
|
-
column: { type: Object, default: () => ({}) },
|
|
32850
|
-
record: { type: Object, default: () => ({}) },
|
|
32851
|
-
value: { validator: () => true },
|
|
32852
|
-
customEditable: { type: Boolean, default: false },
|
|
32853
|
-
multiple: { type: Boolean, default: false },
|
|
32854
|
-
autoHeight: { type: Boolean, default: false },
|
|
32855
|
-
cellKey: { type: String },
|
|
32856
|
-
getPopupContainer: Function,
|
|
32857
|
-
onCloseEditor: Function,
|
|
32858
|
-
onKeydown: Function
|
|
32859
|
-
},
|
|
32860
|
-
emits: ["closeEditor", "keydown"],
|
|
32861
|
-
setup(props, { expose, emit }) {
|
|
32862
|
-
var _a, _b, _c;
|
|
32863
|
-
const tableSlots = useInjectSlots();
|
|
32864
|
-
const popup = useInjectPopup();
|
|
32865
|
-
const oldValue = (_c = (_b = (_a = props.column) == null ? void 0 : _a.valueGetter) == null ? void 0 : _b.call(_a, {
|
|
32866
|
-
value: props.value,
|
|
32867
|
-
record: props.record,
|
|
32868
|
-
column: props.column,
|
|
32869
|
-
recordIndexs: props.recordIndexs
|
|
32870
|
-
})) != null ? _c : props.value;
|
|
32871
|
-
const modelValue = vue.ref(oldValue);
|
|
32872
|
-
const inputRef = vue.shallowRef(null);
|
|
32873
|
-
const tableContext = useInjectTable();
|
|
32874
|
-
vue.onMounted(() => {
|
|
32875
|
-
vue.nextTick(() => {
|
|
32876
|
-
var _a2, _b2, _c2, _d;
|
|
32877
|
-
if (inputRef.value && !props.multiple) {
|
|
32878
|
-
(_b2 = (_a2 = inputRef.value) == null ? void 0 : _a2.focus) == null ? void 0 : _b2.call(_a2);
|
|
32879
|
-
(_d = (_c2 = inputRef.value) == null ? void 0 : _c2.select) == null ? void 0 : _d.call(_c2);
|
|
32880
|
-
}
|
|
32881
|
-
});
|
|
32882
|
-
});
|
|
32883
|
-
expose({ value: modelValue, inputRef });
|
|
32884
|
-
const onInput = (e, val) => {
|
|
32885
|
-
var _a2, _b2;
|
|
32886
|
-
(_b2 = (_a2 = props.column).valueChange) == null ? void 0 : _b2.call(_a2, e, {
|
|
32887
|
-
column: props.column,
|
|
32888
|
-
record: props.record,
|
|
32889
|
-
recordIndexs: props.recordIndexs,
|
|
32890
|
-
newValue: val,
|
|
32891
|
-
oldValue
|
|
32892
|
-
});
|
|
32893
|
-
};
|
|
32894
|
-
const childrenColumnName = vue.computed(() => tableContext.props.childrenColumnName || "children");
|
|
32895
|
-
const save = () => {
|
|
32896
|
-
var _a2, _b2, _c2;
|
|
32897
|
-
const recordIndexs = props.recordIndexs;
|
|
32898
|
-
let dataSource = tableContext.props.dataSource || [];
|
|
32899
|
-
let record = {};
|
|
32900
|
-
recordIndexs.forEach((index) => {
|
|
32901
|
-
record = dataSource[index];
|
|
32902
|
-
dataSource = record[childrenColumnName.value] || [];
|
|
32903
|
-
});
|
|
32904
|
-
const value = (_c2 = (_b2 = (_a2 = props.column).valueParser) == null ? void 0 : _b2.call(_a2, {
|
|
32905
|
-
column: props.column,
|
|
32906
|
-
record,
|
|
32907
|
-
recordIndexs,
|
|
32908
|
-
newValue: modelValue.value,
|
|
32909
|
-
oldValue
|
|
32910
|
-
})) != null ? _c2 : modelValue.value;
|
|
32911
|
-
const valueSetter = props.column.valueSetter;
|
|
32912
|
-
if (valueSetter) {
|
|
32913
|
-
const result = valueSetter({
|
|
32914
|
-
column: props.column,
|
|
32915
|
-
record,
|
|
32916
|
-
recordIndexs,
|
|
32917
|
-
newValue: modelValue.value,
|
|
32918
|
-
oldValue
|
|
32919
|
-
});
|
|
32920
|
-
if (isPromise(result)) {
|
|
32921
|
-
result.then((res) => {
|
|
32922
|
-
res && emit("closeEditor", [props.cellKey]);
|
|
32923
|
-
}).catch(() => {
|
|
32924
|
-
});
|
|
32925
|
-
return;
|
|
32926
|
-
}
|
|
32927
|
-
result && emit("closeEditor", [props.cellKey]);
|
|
32928
|
-
} else {
|
|
32929
|
-
devWarning(
|
|
32930
|
-
void 0 !== props.column.dataIndex || null !== props.column.dataIndex,
|
|
32931
|
-
"Editable",
|
|
32932
|
-
"If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified."
|
|
32933
|
-
);
|
|
32934
|
-
set(record, props.column.dataIndex, value);
|
|
32935
|
-
emit("closeEditor", [props.cellKey]);
|
|
32936
|
-
}
|
|
32937
|
-
};
|
|
32938
|
-
let isKeyDown = false;
|
|
32939
|
-
const closeEditor = (key) => {
|
|
32940
|
-
emit("closeEditor", key != null ? key : [props.cellKey]);
|
|
32941
|
-
};
|
|
32942
|
-
return {
|
|
32943
|
-
modelValue,
|
|
32944
|
-
inputRef,
|
|
32945
|
-
handleInput: (e) => {
|
|
32946
|
-
var _a2;
|
|
32947
|
-
onInput(e, (_a2 = e.target) == null ? void 0 : _a2.value);
|
|
32948
|
-
},
|
|
32949
|
-
handleKeyDown: (e) => {
|
|
32950
|
-
const { which } = e;
|
|
32951
|
-
if (which === KeyCode.ENTER) {
|
|
32952
|
-
save();
|
|
32953
|
-
} else {
|
|
32954
|
-
if (which === KeyCode.ESC) {
|
|
32955
|
-
isKeyDown = true;
|
|
32956
|
-
emit("closeEditor", null);
|
|
32957
|
-
}
|
|
32958
|
-
emit("keydown", e);
|
|
32959
|
-
}
|
|
32960
|
-
},
|
|
32961
|
-
handleBlur: () => {
|
|
32962
|
-
isKeyDown || props.multiple || save();
|
|
32963
|
-
},
|
|
32964
|
-
tableSlots,
|
|
32965
|
-
popup,
|
|
32966
|
-
save,
|
|
32967
|
-
closeEditor,
|
|
32968
|
-
getCustomEditorProps: () => ({
|
|
32969
|
-
modelValue,
|
|
32970
|
-
save,
|
|
32971
|
-
onInput,
|
|
32972
|
-
closeEditor,
|
|
32973
|
-
column: props.column.originColumn,
|
|
32974
|
-
editorRef: inputRef,
|
|
32975
|
-
getPopupContainer: props.getPopupContainer,
|
|
32976
|
-
record: props.record,
|
|
32977
|
-
recordIndexs: props.recordIndexs
|
|
32978
|
-
})
|
|
32979
|
-
};
|
|
32980
|
-
}
|
|
32981
|
-
});
|
|
32982
|
-
|
|
32983
|
-
const _hoisted_1$8 = ["data-cell-auto"];
|
|
32984
|
-
function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
|
|
32985
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
32986
|
-
class: vue.normalizeClass(`${_ctx.prefixCls}-cell-edit-inner`),
|
|
32987
|
-
"data-cell-auto": _ctx.autoHeight
|
|
32988
|
-
}, [
|
|
32989
|
-
_ctx.customEditable ? (vue.openBlock(), vue.createElementBlock(
|
|
32990
|
-
vue.Fragment,
|
|
32991
|
-
{ key: 0 },
|
|
32992
|
-
[
|
|
32993
|
-
_ctx.tableSlots.cellEditor ? (vue.openBlock(), vue.createBlock(
|
|
32994
|
-
vue.resolveDynamicComponent(_ctx.tableSlots.cellEditor),
|
|
32995
|
-
vue.normalizeProps(vue.mergeProps({ key: 0 }, _ctx.getCustomEditorProps())),
|
|
32996
|
-
null,
|
|
32997
|
-
16
|
|
32998
|
-
/* FULL_PROPS */
|
|
32999
|
-
)) : vue.createCommentVNode("v-if", true)
|
|
33000
|
-
],
|
|
33001
|
-
64
|
|
33002
|
-
/* STABLE_FRAGMENT */
|
|
33003
|
-
)) : vue.withDirectives((vue.openBlock(), vue.createElementBlock(
|
|
33004
|
-
"input",
|
|
33005
|
-
{
|
|
33006
|
-
key: 1,
|
|
33007
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.modelValue = $event),
|
|
33008
|
-
ref: "inputRef",
|
|
33009
|
-
class: vue.normalizeClass(`${_ctx.prefixCls}-cell-edit-input`),
|
|
33010
|
-
type: "text",
|
|
33011
|
-
onInput: _cache[1] || (_cache[1] = (...args) => _ctx.handleInput && _ctx.handleInput(...args)),
|
|
33012
|
-
onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeyDown && _ctx.handleKeyDown(...args)),
|
|
33013
|
-
onBlur: _cache[3] || (_cache[3] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args))
|
|
33014
|
-
},
|
|
33015
|
-
null,
|
|
33016
|
-
34
|
|
33017
|
-
/* CLASS, NEED_HYDRATION */
|
|
33018
|
-
)), [
|
|
33019
|
-
[vue.vModelText, _ctx.modelValue]
|
|
33020
|
-
])
|
|
33021
|
-
], 10, _hoisted_1$8);
|
|
33022
|
-
}
|
|
33023
|
-
var EditInput = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$j]]);
|
|
33024
|
-
|
|
33025
32256
|
const cellProps = {
|
|
33026
32257
|
prefixCls: String,
|
|
33027
32258
|
rowIndex: { type: Number, required: true },
|
|
@@ -33038,41 +32269,30 @@
|
|
|
33038
32269
|
tooltipOpen: Boolean,
|
|
33039
32270
|
getPopupContainer: Function,
|
|
33040
32271
|
onCellLeave: Function,
|
|
33041
|
-
editCellKeys: Array,
|
|
33042
|
-
onOpenEditor: Function,
|
|
33043
|
-
onCloseEditor: Function,
|
|
33044
|
-
onMousedown: Function,
|
|
33045
|
-
onMousemove: Function,
|
|
33046
|
-
onKeydown: Function,
|
|
33047
32272
|
onClick: Function
|
|
33048
32273
|
};
|
|
33049
32274
|
let lastClickTime = 0;
|
|
32275
|
+
const hasSupportedDblclick = () => {
|
|
32276
|
+
if (!isIOSUserAgent() || isEventSupported("dblclick")) return false;
|
|
32277
|
+
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
32278
|
+
const is = now - lastClickTime < 200;
|
|
32279
|
+
lastClickTime = now;
|
|
32280
|
+
return is;
|
|
32281
|
+
};
|
|
33050
32282
|
const ValueStatusEnum = {
|
|
33051
32283
|
success: "#03bf64",
|
|
33052
32284
|
processing: "#315efb",
|
|
33053
32285
|
error: "#e8353e",
|
|
33054
32286
|
warning: "#eb8903"
|
|
33055
32287
|
};
|
|
33056
|
-
const BodyCell = (props, { slots, emit }) => {
|
|
32288
|
+
const BodyCell$1 = (props, { slots, emit }) => {
|
|
33057
32289
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
33058
32290
|
const { table } = useProConfigInject();
|
|
33059
32291
|
const tableSlotsContext = useInjectSlots();
|
|
33060
32292
|
const tableContext = useInjectTable();
|
|
33061
32293
|
const { onBodyCellContextmenu } = useInjectBody();
|
|
33062
|
-
const { getRangeCellClass } = useInjectRangeStore();
|
|
33063
32294
|
const level = useInjectLevel();
|
|
33064
|
-
const {
|
|
33065
|
-
const {
|
|
33066
|
-
prefixCls,
|
|
33067
|
-
column,
|
|
33068
|
-
wrapText,
|
|
33069
|
-
rowKey,
|
|
33070
|
-
item,
|
|
33071
|
-
rowIndex,
|
|
33072
|
-
hasAppendNode,
|
|
33073
|
-
tooltipOpen,
|
|
33074
|
-
editCellKeys
|
|
33075
|
-
} = props;
|
|
32295
|
+
const { prefixCls, column, wrapText, rowKey, item, rowIndex, hasAppendNode, tooltipOpen } = props;
|
|
33076
32296
|
const columnKey = column.columnKey;
|
|
33077
32297
|
const valueEnum = runFunction(column == null ? void 0 : column.valueEnum, props.item);
|
|
33078
32298
|
const rowDrag = typeof column.rowDrag == "function" ? column.rowDrag({ record: item, column: column.originColumn }) : !!column.rowDrag;
|
|
@@ -33082,22 +32302,8 @@
|
|
|
33082
32302
|
const sorterInfo = { sorterOrder };
|
|
33083
32303
|
const key = `${props.rowKey} ${columnKey}`;
|
|
33084
32304
|
const value = column.dataIndex ? column.renderText ? column.renderText(get(item, column.dataIndex), item, rowIndex) : get(item, column.dataIndex) : void 0;
|
|
33085
|
-
const valueStatus = runFunction(column == null ? void 0 : column.valueStatus, value, props.item);
|
|
32305
|
+
const valueStatus = runFunction(column == null ? void 0 : column.valueStatus, value, props.item, valueEnum == null ? void 0 : valueEnum[value]);
|
|
33086
32306
|
const recordIndexs = tableContext.getIndexsByKey(rowKey);
|
|
33087
|
-
let customEditable = false;
|
|
33088
|
-
let isEditing = editCellKeys == null ? void 0 : editCellKeys.includes(key);
|
|
33089
|
-
if (isEditing) {
|
|
33090
|
-
const editable = "function" == typeof column.editable && column.editable({
|
|
33091
|
-
record: item,
|
|
33092
|
-
column: column.originColumn,
|
|
33093
|
-
recordIndexs,
|
|
33094
|
-
value
|
|
33095
|
-
});
|
|
33096
|
-
customEditable = "cellEditorSlot" === column.editable || "cellEditorSlot" === editable;
|
|
33097
|
-
isEditing = isEditing && (customEditable && !!tableSlotsContext.cellEditor || true === column.editable || !!editable);
|
|
33098
|
-
}
|
|
33099
|
-
let { editableTrigger = ["dblClick"] } = column;
|
|
33100
|
-
editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger];
|
|
33101
32307
|
const cellInnerClass = { [`${prefixCls}-cell-inner`]: true };
|
|
33102
32308
|
const cellContentClass = {
|
|
33103
32309
|
[`${prefixCls}-cell-content`]: true,
|
|
@@ -33118,7 +32324,6 @@
|
|
|
33118
32324
|
const cellRender = ((_b = (_a = tableContext.allCellProps.value) == null ? void 0 : _a[rowKey]) == null ? void 0 : _b[column.columnKey]) || {};
|
|
33119
32325
|
const cellProps2 = cellRender.props || {};
|
|
33120
32326
|
const cellRowSpan = cellProps2.rowSpan;
|
|
33121
|
-
const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column };
|
|
33122
32327
|
const cellClass = {
|
|
33123
32328
|
[`${prefixCls}-cell`]: true,
|
|
33124
32329
|
[`${prefixCls}-first-cell`]: column.columnIndex === 0,
|
|
@@ -33126,60 +32331,7 @@
|
|
|
33126
32331
|
[`${prefixCls}-cell-multi`]: cellRowSpan > 1,
|
|
33127
32332
|
[`${prefixCls}-cell-hidden`]: cellRowSpan === 0,
|
|
33128
32333
|
[`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,
|
|
33129
|
-
[`${prefixCls}-with-append`]: hasAppendNode
|
|
33130
|
-
[`${prefixCls}-cell-inline-edit`]: isEditing,
|
|
33131
|
-
[getRangeCellClass(cellPosition)]: true
|
|
33132
|
-
};
|
|
33133
|
-
const openEditor = () => {
|
|
33134
|
-
var _a2, _b2, _c2, _d2, _e2, _f2, _g2;
|
|
33135
|
-
const oldValue = (_c2 = (_b2 = (_a2 = props.column) == null ? void 0 : _a2.valueGetter) == null ? void 0 : _b2.call(_a2, {
|
|
33136
|
-
value,
|
|
33137
|
-
record: item,
|
|
33138
|
-
column,
|
|
33139
|
-
recordIndexs
|
|
33140
|
-
})) != null ? _c2 : value;
|
|
33141
|
-
const beforeOpen = (_e2 = (_d2 = tableContext.props) == null ? void 0 : _d2.onBeforeOpenEditor) == null ? void 0 : _e2.call(_d2, cellRenderArgs);
|
|
33142
|
-
if (isPromise(beforeOpen)) {
|
|
33143
|
-
beforeOpen.then((res) => {
|
|
33144
|
-
var _a3, _b3;
|
|
33145
|
-
if (res) {
|
|
33146
|
-
emit("openEditor", key, { [key]: oldValue });
|
|
33147
|
-
(_b3 = (_a3 = tableContext.props) == null ? void 0 : _a3.onOpenEditor) == null ? void 0 : _b3.call(_a3, cellRenderArgs);
|
|
33148
|
-
}
|
|
33149
|
-
});
|
|
33150
|
-
} else {
|
|
33151
|
-
if (false !== beforeOpen) {
|
|
33152
|
-
emit("openEditor", key, { [key]: oldValue });
|
|
33153
|
-
(_g2 = (_f2 = tableContext.props) == null ? void 0 : _f2.onOpenEditor) == null ? void 0 : _g2.call(_f2, cellRenderArgs);
|
|
33154
|
-
}
|
|
33155
|
-
}
|
|
33156
|
-
};
|
|
33157
|
-
const closeEditor = (currentKey) => {
|
|
33158
|
-
var _a2, _b2, _c2, _d2;
|
|
33159
|
-
const beforeClose = (_b2 = (_a2 = tableContext.props) == null ? void 0 : _a2.onBeforeCloseEditor) == null ? void 0 : _b2.call(_a2, {
|
|
33160
|
-
...cellRenderArgs,
|
|
33161
|
-
oldValue: oldValuesMap.value[key]
|
|
33162
|
-
});
|
|
33163
|
-
if (isPromise(beforeClose)) {
|
|
33164
|
-
beforeClose.then((res) => {
|
|
33165
|
-
var _a3, _b3;
|
|
33166
|
-
if (res) {
|
|
33167
|
-
emit("closeEditor", currentKey != null ? currentKey : key);
|
|
33168
|
-
(_b3 = (_a3 = tableContext.props) == null ? void 0 : _a3.onCloseEditor) == null ? void 0 : _b3.call(_a3, {
|
|
33169
|
-
...cellRenderArgs,
|
|
33170
|
-
oldValue: oldValuesMap.value[key]
|
|
33171
|
-
});
|
|
33172
|
-
}
|
|
33173
|
-
});
|
|
33174
|
-
} else {
|
|
33175
|
-
if (false !== beforeClose) {
|
|
33176
|
-
emit("closeEditor", currentKey != null ? currentKey : key);
|
|
33177
|
-
(_d2 = (_c2 = tableContext.props) == null ? void 0 : _c2.onCloseEditor) == null ? void 0 : _d2.call(_c2, {
|
|
33178
|
-
...cellRenderArgs,
|
|
33179
|
-
oldValue: oldValuesMap.value[key]
|
|
33180
|
-
});
|
|
33181
|
-
}
|
|
33182
|
-
}
|
|
32334
|
+
[`${prefixCls}-with-append`]: hasAppendNode
|
|
33183
32335
|
};
|
|
33184
32336
|
const cellRenderArgs = {
|
|
33185
32337
|
record: item,
|
|
@@ -33190,8 +32342,10 @@
|
|
|
33190
32342
|
recordIndexs: tableContext.getIndexsByKey(rowKey),
|
|
33191
32343
|
key,
|
|
33192
32344
|
valueStatus,
|
|
33193
|
-
|
|
33194
|
-
|
|
32345
|
+
cancelEditable: tableContext.cancelEditable,
|
|
32346
|
+
startEditable: tableContext.startEditable,
|
|
32347
|
+
saveEditable: tableContext.saveEditable,
|
|
32348
|
+
isEditable: tableContext.isEditable
|
|
33195
32349
|
};
|
|
33196
32350
|
let bodyCell = recordIndexs && ((_c = tableSlotsContext.bodyCell) == null ? void 0 : _c.call(tableSlotsContext, cellRenderArgs)) || [];
|
|
33197
32351
|
const emptyText = tableContext.props.columnEmptyText !== false ? (_f = (_e = tableContext.props.columnEmptyText) != null ? _e : (_d = table == null ? void 0 : table.value) == null ? void 0 : _d.columnEmptyText) != null ? _f : "-" : "";
|
|
@@ -33310,27 +32464,6 @@
|
|
|
33310
32464
|
} else {
|
|
33311
32465
|
renderCellVNode = cellVNode;
|
|
33312
32466
|
}
|
|
33313
|
-
const onDblclick = () => {
|
|
33314
|
-
editableTrigger.includes("dblClick") && openEditor();
|
|
33315
|
-
};
|
|
33316
|
-
const editInputRender = isEditing ? vue.createVNode(
|
|
33317
|
-
EditInput,
|
|
33318
|
-
{
|
|
33319
|
-
prefixCls,
|
|
33320
|
-
recordIndexs,
|
|
33321
|
-
rowKey,
|
|
33322
|
-
cellKey: key,
|
|
33323
|
-
column,
|
|
33324
|
-
record: item,
|
|
33325
|
-
onCloseEditor: closeEditor,
|
|
33326
|
-
value,
|
|
33327
|
-
customEditable,
|
|
33328
|
-
getPopupContainer: props.getPopupContainer,
|
|
33329
|
-
multiple: editCellKeys.length > 1,
|
|
33330
|
-
autoHeight
|
|
33331
|
-
},
|
|
33332
|
-
null
|
|
33333
|
-
) : null;
|
|
33334
32467
|
return vue.createVNode(
|
|
33335
32468
|
"div",
|
|
33336
32469
|
vue.mergeProps(cellProps2, {
|
|
@@ -33342,39 +32475,25 @@
|
|
|
33342
32475
|
"data-column-key": columnKey,
|
|
33343
32476
|
class: cellClass,
|
|
33344
32477
|
onContextmenu: (e) => {
|
|
33345
|
-
if (
|
|
32478
|
+
if (tableContext.props.hasContextmenuPopup && 0 === e.button && e.ctrlKey) {
|
|
33346
32479
|
e.preventDefault();
|
|
33347
32480
|
} else {
|
|
33348
32481
|
onBodyCellContextmenu(e, cellRenderArgs, props.type);
|
|
33349
|
-
|
|
32482
|
+
emit("contextmenu", e);
|
|
33350
32483
|
}
|
|
33351
32484
|
},
|
|
33352
|
-
onDblclick
|
|
32485
|
+
onDblclick: (e) => {
|
|
32486
|
+
emit("dblClick", e);
|
|
32487
|
+
},
|
|
33353
32488
|
onClick: (e) => {
|
|
33354
32489
|
var _a2, _b2;
|
|
33355
32490
|
(_b2 = (_a2 = tableContext.props) == null ? void 0 : _a2.onCellClick) == null ? void 0 : _b2.call(_a2, e, cellRenderArgs);
|
|
33356
|
-
if ((
|
|
33357
|
-
|
|
33358
|
-
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
33359
|
-
const is = now - lastClickTime < 200;
|
|
33360
|
-
lastClickTime = now;
|
|
33361
|
-
return is;
|
|
33362
|
-
})()) {
|
|
33363
|
-
onDblclick();
|
|
32491
|
+
if (hasSupportedDblclick()) {
|
|
32492
|
+
emit("dblclick", e);
|
|
33364
32493
|
e.preventDefault();
|
|
33365
32494
|
return;
|
|
33366
32495
|
}
|
|
33367
|
-
emit("click", e
|
|
33368
|
-
editableTrigger.includes("click") && openEditor();
|
|
33369
|
-
},
|
|
33370
|
-
onMousedown: (e) => {
|
|
33371
|
-
emit("mousedown", e, cellPosition);
|
|
33372
|
-
},
|
|
33373
|
-
onMousemove: (e) => {
|
|
33374
|
-
emit("mousemove", e, cellPosition);
|
|
33375
|
-
},
|
|
33376
|
-
onKeydown: (e) => {
|
|
33377
|
-
emit("keydown", e, { cellPosition, isEditing });
|
|
32496
|
+
emit("click", e);
|
|
33378
32497
|
},
|
|
33379
32498
|
"data-level": level,
|
|
33380
32499
|
"aria-selected": "true"
|
|
@@ -33389,26 +32508,533 @@
|
|
|
33389
32508
|
},
|
|
33390
32509
|
{ label: () => bodyCell }
|
|
33391
32510
|
) : null,
|
|
33392
|
-
renderCellVNode
|
|
33393
|
-
autoHeight && editInputRender ? vue.createVNode(
|
|
33394
|
-
"label",
|
|
33395
|
-
{
|
|
33396
|
-
class: `${prefixCls}-cell-edit-wrapper`,
|
|
33397
|
-
onMousedown: (e) => e.stopPropagation()
|
|
33398
|
-
},
|
|
33399
|
-
[vue.withDirectives(editInputRender, [[cellResize, cellResizeValue]])]
|
|
33400
|
-
) : editInputRender ? vue.createVNode(
|
|
33401
|
-
"label",
|
|
33402
|
-
{
|
|
33403
|
-
class: `${prefixCls}-cell-edit-wrapper`,
|
|
33404
|
-
onMousedown: (e) => e.stopPropagation()
|
|
33405
|
-
},
|
|
33406
|
-
[editInputRender]
|
|
33407
|
-
) : null
|
|
32511
|
+
renderCellVNode
|
|
33408
32512
|
]
|
|
33409
32513
|
);
|
|
33410
32514
|
};
|
|
33411
|
-
BodyCell.props = cellProps;
|
|
32515
|
+
BodyCell$1.props = cellProps;
|
|
32516
|
+
|
|
32517
|
+
function getCharacterLength(str, maxCharacter) {
|
|
32518
|
+
const hasMaxCharacter = isNumber$2(maxCharacter);
|
|
32519
|
+
if (!str || str.length === 0) {
|
|
32520
|
+
if (hasMaxCharacter) {
|
|
32521
|
+
return {
|
|
32522
|
+
length: 0,
|
|
32523
|
+
characters: str
|
|
32524
|
+
};
|
|
32525
|
+
}
|
|
32526
|
+
return 0;
|
|
32527
|
+
}
|
|
32528
|
+
let len = 0;
|
|
32529
|
+
for (let i = 0; i < str.length; i++) {
|
|
32530
|
+
let currentStringLength = 0;
|
|
32531
|
+
if (str.charCodeAt(i) > 127) {
|
|
32532
|
+
currentStringLength = 2;
|
|
32533
|
+
} else {
|
|
32534
|
+
currentStringLength = 1;
|
|
32535
|
+
}
|
|
32536
|
+
if (hasMaxCharacter && len + currentStringLength > maxCharacter) {
|
|
32537
|
+
return {
|
|
32538
|
+
length: len,
|
|
32539
|
+
characters: str.slice(0, i)
|
|
32540
|
+
};
|
|
32541
|
+
}
|
|
32542
|
+
len += currentStringLength;
|
|
32543
|
+
}
|
|
32544
|
+
if (hasMaxCharacter) {
|
|
32545
|
+
return {
|
|
32546
|
+
length: len,
|
|
32547
|
+
characters: str
|
|
32548
|
+
};
|
|
32549
|
+
}
|
|
32550
|
+
return len;
|
|
32551
|
+
}
|
|
32552
|
+
function isValueEmpty(val) {
|
|
32553
|
+
const type = Object.prototype.toString.call(val);
|
|
32554
|
+
const typeMap = {
|
|
32555
|
+
Date: "[object Date]"
|
|
32556
|
+
};
|
|
32557
|
+
if (type === typeMap.Date) {
|
|
32558
|
+
return false;
|
|
32559
|
+
}
|
|
32560
|
+
return isObject$4(val) ? isEmpty(val) : ["", void 0, null].includes(val);
|
|
32561
|
+
}
|
|
32562
|
+
const VALIDATE_MAP = {
|
|
32563
|
+
required: (val) => !isValueEmpty(val),
|
|
32564
|
+
whitespace: (val) => !(/^\s+$/.test(val) || val === ""),
|
|
32565
|
+
boolean: (val) => isBoolean(val),
|
|
32566
|
+
max: (val, num) => isNumber$2(val) ? val <= num : getCharacterLength(val) <= num,
|
|
32567
|
+
min: (val, num) => isNumber$2(val) ? val >= num : getCharacterLength(val) >= num,
|
|
32568
|
+
len: (val, num) => getCharacterLength(String(val)) === num,
|
|
32569
|
+
number: (val) => isNumber$2(val),
|
|
32570
|
+
enum: (val, strs) => strs.includes(val),
|
|
32571
|
+
idcard: (val) => /^(\d{18,18}|\d{15,15}|\d{17,17}x)$/i.test(val),
|
|
32572
|
+
telnumber: (val) => /^1[3-9]\d{9}$/.test(val),
|
|
32573
|
+
pattern: (val, regexp) => regexp.test(val),
|
|
32574
|
+
// 自定义校验规则,可能是异步校验
|
|
32575
|
+
validator: (val, validate2) => validate2(val)
|
|
32576
|
+
};
|
|
32577
|
+
async function validateOneRule(value, rule) {
|
|
32578
|
+
let validateResult = { result: true };
|
|
32579
|
+
const keys = Object.keys(rule);
|
|
32580
|
+
let vOptions;
|
|
32581
|
+
let vValidateFun;
|
|
32582
|
+
for (let i = 0; i < keys.length; i++) {
|
|
32583
|
+
const key = keys[i];
|
|
32584
|
+
if (!rule.required && isValueEmpty(value) && !rule.validator) {
|
|
32585
|
+
return validateResult;
|
|
32586
|
+
}
|
|
32587
|
+
const validateRule = VALIDATE_MAP[key];
|
|
32588
|
+
if (validateRule && (rule[key] || rule[key] === 0)) {
|
|
32589
|
+
vOptions = rule[key] === true ? void 0 : rule[key];
|
|
32590
|
+
vValidateFun = validateRule;
|
|
32591
|
+
break;
|
|
32592
|
+
}
|
|
32593
|
+
}
|
|
32594
|
+
if (vValidateFun) {
|
|
32595
|
+
validateResult = await vValidateFun(value, vOptions);
|
|
32596
|
+
if (isBoolean(validateResult)) {
|
|
32597
|
+
return { ...rule, result: validateResult };
|
|
32598
|
+
}
|
|
32599
|
+
if (isObject$4(validateResult)) {
|
|
32600
|
+
return validateResult;
|
|
32601
|
+
}
|
|
32602
|
+
}
|
|
32603
|
+
return validateResult;
|
|
32604
|
+
}
|
|
32605
|
+
async function validate(value, rules) {
|
|
32606
|
+
const all = rules.map((rule) => validateOneRule(value, rule));
|
|
32607
|
+
const r = await Promise.all(all);
|
|
32608
|
+
return r;
|
|
32609
|
+
}
|
|
32610
|
+
|
|
32611
|
+
const parsingValueEnumToArray = (valueEnum) => {
|
|
32612
|
+
const enumArray = [];
|
|
32613
|
+
const valueKeys = Object.keys(valueEnum != null ? valueEnum : {});
|
|
32614
|
+
if (!(valueKeys == null ? void 0 : valueKeys.length)) {
|
|
32615
|
+
return;
|
|
32616
|
+
}
|
|
32617
|
+
valueKeys.forEach((key) => {
|
|
32618
|
+
const value = valueEnum[key];
|
|
32619
|
+
if (!value) {
|
|
32620
|
+
return;
|
|
32621
|
+
}
|
|
32622
|
+
if (typeof value === "object" && (value == null ? void 0 : value.text)) {
|
|
32623
|
+
enumArray.push({
|
|
32624
|
+
text: value == null ? void 0 : value.text,
|
|
32625
|
+
value: key,
|
|
32626
|
+
label: value == null ? void 0 : value.text,
|
|
32627
|
+
disabled: value.disabled
|
|
32628
|
+
});
|
|
32629
|
+
return;
|
|
32630
|
+
}
|
|
32631
|
+
enumArray.push({
|
|
32632
|
+
text: value,
|
|
32633
|
+
value: key,
|
|
32634
|
+
label: value
|
|
32635
|
+
});
|
|
32636
|
+
});
|
|
32637
|
+
return enumArray;
|
|
32638
|
+
};
|
|
32639
|
+
var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
32640
|
+
inheritAttrs: false,
|
|
32641
|
+
props: {
|
|
32642
|
+
prefixCls: String,
|
|
32643
|
+
rowIndex: {
|
|
32644
|
+
type: Number,
|
|
32645
|
+
required: true
|
|
32646
|
+
},
|
|
32647
|
+
flattenRowIndex: {
|
|
32648
|
+
type: Number,
|
|
32649
|
+
required: true
|
|
32650
|
+
},
|
|
32651
|
+
rowKey: {
|
|
32652
|
+
type: [Number, String]
|
|
32653
|
+
},
|
|
32654
|
+
column: {
|
|
32655
|
+
type: Object,
|
|
32656
|
+
default: () => ({})
|
|
32657
|
+
},
|
|
32658
|
+
item: {
|
|
32659
|
+
type: Object,
|
|
32660
|
+
default: () => ({})
|
|
32661
|
+
},
|
|
32662
|
+
isRowEdit: Boolean,
|
|
32663
|
+
editRow: {
|
|
32664
|
+
type: Object
|
|
32665
|
+
}
|
|
32666
|
+
},
|
|
32667
|
+
emits: ["closeEditor", "keydown"],
|
|
32668
|
+
setup(props) {
|
|
32669
|
+
const tableContext = useInjectTable();
|
|
32670
|
+
const level = useInjectLevel();
|
|
32671
|
+
const columnKey = vue.computed(() => props.column.columnKey);
|
|
32672
|
+
const recordIndexs = vue.computed(() => tableContext.getIndexsByKey(props.rowKey));
|
|
32673
|
+
const childrenColumnName = vue.computed(() => tableContext.props.childrenColumnName || "children");
|
|
32674
|
+
const valueEnum = vue.computed(() => {
|
|
32675
|
+
var _a;
|
|
32676
|
+
return parsingValueEnumToArray(runFunction((_a = props.column) == null ? void 0 : _a.valueEnum, props.item));
|
|
32677
|
+
});
|
|
32678
|
+
const errorList = vue.ref();
|
|
32679
|
+
const {
|
|
32680
|
+
editRowsMap,
|
|
32681
|
+
setEditingCell
|
|
32682
|
+
} = useEditInject();
|
|
32683
|
+
const cellValue = vue.computed(() => props.column.dataIndex ? get(!props.isRowEdit ? props.item : props.editRow, props.column.dataIndex) : void 0);
|
|
32684
|
+
const cellRender = vue.computed(() => {
|
|
32685
|
+
var _a, _b;
|
|
32686
|
+
return ((_b = (_a = tableContext.allCellProps.value) == null ? void 0 : _a[props.rowKey]) == null ? void 0 : _b[props.column.columnKey]) || {};
|
|
32687
|
+
});
|
|
32688
|
+
const cellProps = vue.computed(() => cellRender.value.props || {});
|
|
32689
|
+
const cellRowSpan = vue.computed(() => cellProps.value.rowSpan);
|
|
32690
|
+
const sorterState = vue.computed(() => tableContext.sorterStates.value.find(({
|
|
32691
|
+
key
|
|
32692
|
+
}) => key === columnKey.value));
|
|
32693
|
+
const sorterOrder = vue.computed(() => {
|
|
32694
|
+
var _a;
|
|
32695
|
+
return sorterState.value ? (_a = sorterState.value) == null ? void 0 : _a.sortOrder : null;
|
|
32696
|
+
});
|
|
32697
|
+
const cellClass = vue.computed(() => ({
|
|
32698
|
+
[`${props.prefixCls}-cell`]: true,
|
|
32699
|
+
[`${props.prefixCls}-first-cell`]: props.column.columnIndex === 0,
|
|
32700
|
+
[`${props.prefixCls}-body-cell`]: true,
|
|
32701
|
+
[`${props.prefixCls}-cell-multi`]: cellRowSpan.value > 1,
|
|
32702
|
+
[`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,
|
|
32703
|
+
[`${props.prefixCls}-column-sort`]: sorterOrder.value
|
|
32704
|
+
}));
|
|
32705
|
+
const rules = vue.computed(() => {
|
|
32706
|
+
var _a, _b;
|
|
32707
|
+
return (_b = runFunction((_a = props.column.edit) == null ? void 0 : _a.rules, {
|
|
32708
|
+
column: props.column,
|
|
32709
|
+
record: props.isRowEdit ? props.editRow : props.item,
|
|
32710
|
+
recordIndexs: recordIndexs.value,
|
|
32711
|
+
newValue: cellValue.value
|
|
32712
|
+
})) != null ? _b : [];
|
|
32713
|
+
});
|
|
32714
|
+
const validateEnabled = vue.computed(() => rules.value.length > 0);
|
|
32715
|
+
const editValue = vue.ref();
|
|
32716
|
+
const cellParams = vue.computed(() => ({
|
|
32717
|
+
column: props.column,
|
|
32718
|
+
record: !props.isRowEdit ? props.item : props.editRow,
|
|
32719
|
+
recordIndexs: recordIndexs.value,
|
|
32720
|
+
value: editValue.value
|
|
32721
|
+
}));
|
|
32722
|
+
const editOnListeners = vue.computed(() => {
|
|
32723
|
+
var _a, _b;
|
|
32724
|
+
return ((_b = (_a = props.column.edit) == null ? void 0 : _a.on) == null ? void 0 : _b.call(_a, {
|
|
32725
|
+
...cellParams.value
|
|
32726
|
+
})) || {};
|
|
32727
|
+
});
|
|
32728
|
+
const editProps = vue.computed(() => {
|
|
32729
|
+
const {
|
|
32730
|
+
edit = {}
|
|
32731
|
+
} = props.column;
|
|
32732
|
+
return isFunction$2(edit.props) ? edit.props(cellParams.value) : {
|
|
32733
|
+
...edit.props
|
|
32734
|
+
};
|
|
32735
|
+
});
|
|
32736
|
+
const options = vue.computed(() => {
|
|
32737
|
+
var _a, _b;
|
|
32738
|
+
return (_b = (_a = editProps.value) == null ? void 0 : _a.options) != null ? _b : valueEnum.value;
|
|
32739
|
+
});
|
|
32740
|
+
const componentProps = vue.computed(() => {
|
|
32741
|
+
const {
|
|
32742
|
+
edit
|
|
32743
|
+
} = props.column;
|
|
32744
|
+
if (!edit) return {};
|
|
32745
|
+
const tmpProps = {
|
|
32746
|
+
...editProps.value
|
|
32747
|
+
};
|
|
32748
|
+
delete tmpProps.onChange;
|
|
32749
|
+
delete tmpProps.value;
|
|
32750
|
+
delete tmpProps.options;
|
|
32751
|
+
return tmpProps;
|
|
32752
|
+
});
|
|
32753
|
+
const validateEdit = () => {
|
|
32754
|
+
return new Promise((resolve) => {
|
|
32755
|
+
if (!validateEnabled.value) {
|
|
32756
|
+
resolve(true);
|
|
32757
|
+
return true;
|
|
32758
|
+
}
|
|
32759
|
+
validate(editValue.value, rules.value).then((result) => {
|
|
32760
|
+
const list = result == null ? void 0 : result.filter((t) => !t.result);
|
|
32761
|
+
if (!list || !list.length) {
|
|
32762
|
+
errorList.value = [];
|
|
32763
|
+
resolve(true);
|
|
32764
|
+
} else {
|
|
32765
|
+
errorList.value = list;
|
|
32766
|
+
resolve(list);
|
|
32767
|
+
}
|
|
32768
|
+
});
|
|
32769
|
+
});
|
|
32770
|
+
};
|
|
32771
|
+
const onEditChange = (val, ...args) => {
|
|
32772
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
32773
|
+
const params = {
|
|
32774
|
+
column: props.column,
|
|
32775
|
+
record: props.isRowEdit ? props.editRow : props.item,
|
|
32776
|
+
recordIndexs: recordIndexs.value,
|
|
32777
|
+
newValue: cellValue.value
|
|
32778
|
+
};
|
|
32779
|
+
const value = (_c = (_b = (_a = props.column.edit) == null ? void 0 : _a.valueParser) == null ? void 0 : _b.call(_a, params)) != null ? _c : editValue.value;
|
|
32780
|
+
const valueSetter = (_d = props.column.edit) == null ? void 0 : _d.valueSetter;
|
|
32781
|
+
if (valueSetter) {
|
|
32782
|
+
valueSetter(params);
|
|
32783
|
+
} else {
|
|
32784
|
+
(_f = (_e = editProps.value) == null ? void 0 : _e.onChange) == null ? void 0 : _f.call(_e, val, ...args);
|
|
32785
|
+
(_h = (_g = editOnListeners.value) == null ? void 0 : _g.onChange) == null ? void 0 : _h.call(_g, params);
|
|
32786
|
+
if (props.isRowEdit) {
|
|
32787
|
+
const record = {
|
|
32788
|
+
...props.editRow
|
|
32789
|
+
};
|
|
32790
|
+
set(record, props.column.dataIndex, value);
|
|
32791
|
+
editRowsMap.value[props.rowKey] = record;
|
|
32792
|
+
vue.triggerRef(editRowsMap);
|
|
32793
|
+
} else {
|
|
32794
|
+
let record = {};
|
|
32795
|
+
let dataSource = tableContext.rawData.value || [];
|
|
32796
|
+
recordIndexs.value.forEach((index) => {
|
|
32797
|
+
record = dataSource[index];
|
|
32798
|
+
dataSource = record[childrenColumnName.value] || [];
|
|
32799
|
+
});
|
|
32800
|
+
set(record, props.column.dataIndex, value);
|
|
32801
|
+
vue.triggerRef(tableContext.rawData);
|
|
32802
|
+
}
|
|
32803
|
+
}
|
|
32804
|
+
validateEdit();
|
|
32805
|
+
};
|
|
32806
|
+
vue.watch(cellValue, (value) => {
|
|
32807
|
+
var _a, _b, _c;
|
|
32808
|
+
editValue.value = (_c = (_b = (_a = props.column.edit) == null ? void 0 : _a.valueGetter) == null ? void 0 : _b.call(_a, cellParams.value)) != null ? _c : value;
|
|
32809
|
+
}, {
|
|
32810
|
+
immediate: true
|
|
32811
|
+
});
|
|
32812
|
+
vue.onMounted(() => {
|
|
32813
|
+
setEditingCell({
|
|
32814
|
+
recordIndexs: recordIndexs.value,
|
|
32815
|
+
column: props.column,
|
|
32816
|
+
rowKey: props.rowKey,
|
|
32817
|
+
originRecord: props.item,
|
|
32818
|
+
rowIndex: props.rowIndex,
|
|
32819
|
+
columnKey: props.column.columnKey,
|
|
32820
|
+
validateEdit
|
|
32821
|
+
}, true);
|
|
32822
|
+
});
|
|
32823
|
+
vue.onUnmounted(() => {
|
|
32824
|
+
var _a, _b, _c;
|
|
32825
|
+
setEditingCell({
|
|
32826
|
+
recordIndexs: recordIndexs.value,
|
|
32827
|
+
column: props.column,
|
|
32828
|
+
rowKey: props.rowKey,
|
|
32829
|
+
originRecord: props.item,
|
|
32830
|
+
rowIndex: props.rowIndex,
|
|
32831
|
+
columnKey: props.column.columnKey,
|
|
32832
|
+
validateEdit
|
|
32833
|
+
}, false);
|
|
32834
|
+
(_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
|
|
32835
|
+
});
|
|
32836
|
+
return () => {
|
|
32837
|
+
var _a, _b, _c, _d;
|
|
32838
|
+
const Component = (_a = props.column.edit) == null ? void 0 : _a.component;
|
|
32839
|
+
const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
|
|
32840
|
+
const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
|
|
32841
|
+
const tmpEditOnListeners = {
|
|
32842
|
+
...editOnListeners.value
|
|
32843
|
+
};
|
|
32844
|
+
delete tmpEditOnListeners.onChange;
|
|
32845
|
+
return vue.createVNode("div", vue.mergeProps(cellProps.value, {
|
|
32846
|
+
"class": cellClass.value,
|
|
32847
|
+
"tabindex": "-1",
|
|
32848
|
+
"role": "cell",
|
|
32849
|
+
"data-column-key": columnKey.value,
|
|
32850
|
+
"data-level": level,
|
|
32851
|
+
"aria-selected": "true",
|
|
32852
|
+
"onClick": (e) => {
|
|
32853
|
+
e.stopPropagation();
|
|
32854
|
+
}
|
|
32855
|
+
}), [vue.createVNode("div", {
|
|
32856
|
+
"class": `${props.prefixCls}-cell-content`,
|
|
32857
|
+
"style": "width: 100%; position:relative"
|
|
32858
|
+
}, [vue.createVNode(Component, vue.mergeProps({
|
|
32859
|
+
"style": "width: 100%",
|
|
32860
|
+
"status": errorMessage ? "error" : void 0,
|
|
32861
|
+
"value": editValue.value,
|
|
32862
|
+
"onUpdate:value": ($event) => editValue.value = $event,
|
|
32863
|
+
"getPopupContainer": () => document.body
|
|
32864
|
+
}, componentProps.value, tmpEditOnListeners, {
|
|
32865
|
+
"options": options.value,
|
|
32866
|
+
"onChange": onEditChange
|
|
32867
|
+
}), null), errorMessage && (!inlineError ? vue.createVNode(antDesignVue.Popover, {
|
|
32868
|
+
"arrowPointAtCenter": true,
|
|
32869
|
+
"placement": "topRight",
|
|
32870
|
+
"getPopupContainer": () => document.body
|
|
32871
|
+
}, {
|
|
32872
|
+
default: () => [vue.createVNode("span", {
|
|
32873
|
+
"class": `${props.prefixCls}-cell-content-error`
|
|
32874
|
+
}, [vue.createVNode(CloseCircleFilled, null, null)])],
|
|
32875
|
+
content: () => {
|
|
32876
|
+
var _a2;
|
|
32877
|
+
return vue.createVNode("div", {
|
|
32878
|
+
"class": `${props.prefixCls}-cell-content-error-message`
|
|
32879
|
+
}, [(_a2 = errorList.value) == null ? void 0 : _a2.map((error) => vue.createVNode("div", {
|
|
32880
|
+
"key": error.message
|
|
32881
|
+
}, [error.message]))]);
|
|
32882
|
+
}
|
|
32883
|
+
}) : vue.createVNode("div", {
|
|
32884
|
+
"class": `${props.prefixCls}-cell-content-error-inline`
|
|
32885
|
+
}, [errorMessage]))])]);
|
|
32886
|
+
};
|
|
32887
|
+
}
|
|
32888
|
+
});
|
|
32889
|
+
|
|
32890
|
+
var _sfc_main$n = vue.defineComponent({
|
|
32891
|
+
inheritAttrs: false,
|
|
32892
|
+
props: {
|
|
32893
|
+
prefixCls: String,
|
|
32894
|
+
rowIndex: { type: Number, required: true },
|
|
32895
|
+
flattenRowIndex: { type: Number, required: true },
|
|
32896
|
+
rowKey: { type: [Number, String] },
|
|
32897
|
+
column: { type: Object, default: () => ({}) },
|
|
32898
|
+
item: { type: Object, default: () => ({}) },
|
|
32899
|
+
wrapText: { type: Boolean, default: false },
|
|
32900
|
+
type: { type: String },
|
|
32901
|
+
height: Number,
|
|
32902
|
+
hasAppendNode: Boolean,
|
|
32903
|
+
resizeObserver: { type: Object },
|
|
32904
|
+
editRow: { type: Object },
|
|
32905
|
+
calMaxHeight: Function,
|
|
32906
|
+
editCellKeys: Array,
|
|
32907
|
+
editableKeys: Array,
|
|
32908
|
+
isRowEdit: Boolean,
|
|
32909
|
+
tooltipOpen: Boolean,
|
|
32910
|
+
getPopupContainer: Function,
|
|
32911
|
+
onOpenEditor: Function,
|
|
32912
|
+
onCloseEditor: Function,
|
|
32913
|
+
onCellLeave: Function,
|
|
32914
|
+
onMouseenter: Function
|
|
32915
|
+
},
|
|
32916
|
+
emits: ["mouseenter", "cellLeave"],
|
|
32917
|
+
components: { BodyTextCell: BodyCell$1, BodyEditCell },
|
|
32918
|
+
setup(props) {
|
|
32919
|
+
const tableContext = useInjectTable();
|
|
32920
|
+
const isKeepEditMode = vue.computed(() => {
|
|
32921
|
+
var _a;
|
|
32922
|
+
return (_a = props.column.edit) == null ? void 0 : _a.keepEditMode;
|
|
32923
|
+
});
|
|
32924
|
+
const cellValue = vue.computed(
|
|
32925
|
+
() => props.column.dataIndex ? get(props.item, props.column.dataIndex) : void 0
|
|
32926
|
+
);
|
|
32927
|
+
const key = vue.computed(() => getCellKey(props.rowKey, props.column.columnKey));
|
|
32928
|
+
const cellParams = vue.computed(() => ({
|
|
32929
|
+
column: props.column,
|
|
32930
|
+
record: props.isRowEdit ? props.editRow : props.item,
|
|
32931
|
+
recordIndexs: tableContext.getIndexsByKey(props.rowKey),
|
|
32932
|
+
value: cellValue.value
|
|
32933
|
+
}));
|
|
32934
|
+
const editable = vue.computed(() => {
|
|
32935
|
+
var _a, _b, _c, _d;
|
|
32936
|
+
if (!((_a = props.column.edit) == null ? void 0 : _a.component)) {
|
|
32937
|
+
return false;
|
|
32938
|
+
}
|
|
32939
|
+
if (props.isRowEdit && !((_b = props.editableKeys) == null ? void 0 : _b.includes(props.rowKey))) {
|
|
32940
|
+
return false;
|
|
32941
|
+
}
|
|
32942
|
+
if (!((_c = props.column.edit) == null ? void 0 : _c.editable)) {
|
|
32943
|
+
return true;
|
|
32944
|
+
}
|
|
32945
|
+
const cellEditable = (_d = props.column.edit) == null ? void 0 : _d.editable(cellParams.value);
|
|
32946
|
+
return cellEditable;
|
|
32947
|
+
});
|
|
32948
|
+
const isEditing = vue.computed(() => {
|
|
32949
|
+
var _a, _b;
|
|
32950
|
+
if (props.isRowEdit) {
|
|
32951
|
+
return editable.value && ((_a = props.editableKeys) == null ? void 0 : _a.includes(props.rowKey));
|
|
32952
|
+
}
|
|
32953
|
+
if (!editable.value) {
|
|
32954
|
+
return false;
|
|
32955
|
+
}
|
|
32956
|
+
if (isKeepEditMode.value) {
|
|
32957
|
+
return true;
|
|
32958
|
+
}
|
|
32959
|
+
if ((_b = props.editCellKeys) == null ? void 0 : _b.includes(key.value)) {
|
|
32960
|
+
return true;
|
|
32961
|
+
}
|
|
32962
|
+
return false;
|
|
32963
|
+
});
|
|
32964
|
+
const editableTrigger = vue.computed(() => {
|
|
32965
|
+
var _a;
|
|
32966
|
+
let { editableTrigger: editableTrigger2 = ["click"] } = (_a = props.column.edit) != null ? _a : {};
|
|
32967
|
+
editableTrigger2 = Array.isArray(editableTrigger2) ? editableTrigger2 : [editableTrigger2];
|
|
32968
|
+
return editableTrigger2;
|
|
32969
|
+
});
|
|
32970
|
+
const onCellEvent = (e, trigger) => {
|
|
32971
|
+
var _a;
|
|
32972
|
+
if (editable.value && ((_a = editableTrigger.value) == null ? void 0 : _a.includes(trigger)) && !props.isRowEdit) {
|
|
32973
|
+
openEditor();
|
|
32974
|
+
closeEditor();
|
|
32975
|
+
e.stopPropagation();
|
|
32976
|
+
e.preventDefault();
|
|
32977
|
+
}
|
|
32978
|
+
};
|
|
32979
|
+
const openEditor = () => {
|
|
32980
|
+
var _a, _b, _c, _d;
|
|
32981
|
+
const oldValue = (_c = (_b = (_a = props.column.edit) == null ? void 0 : _a.valueGetter) == null ? void 0 : _b.call(_a, cellParams.value)) != null ? _c : cellValue.value;
|
|
32982
|
+
(_d = props.onOpenEditor) == null ? void 0 : _d.call(props, key.value, { [key.value]: oldValue });
|
|
32983
|
+
};
|
|
32984
|
+
const closeEditor = () => {
|
|
32985
|
+
var _a;
|
|
32986
|
+
(_a = props.onCloseEditor) == null ? void 0 : _a.call(props, key.value);
|
|
32987
|
+
};
|
|
32988
|
+
vue.watch(key, () => {
|
|
32989
|
+
var _a;
|
|
32990
|
+
if (((_a = props.column.edit) == null ? void 0 : _a.defaultEditable) && !props.isRowEdit) {
|
|
32991
|
+
openEditor();
|
|
32992
|
+
}
|
|
32993
|
+
});
|
|
32994
|
+
vue.onMounted(() => {
|
|
32995
|
+
var _a;
|
|
32996
|
+
if (((_a = props.column.edit) == null ? void 0 : _a.defaultEditable) && !props.isRowEdit) {
|
|
32997
|
+
openEditor();
|
|
32998
|
+
}
|
|
32999
|
+
});
|
|
33000
|
+
return {
|
|
33001
|
+
props,
|
|
33002
|
+
key,
|
|
33003
|
+
isEditing,
|
|
33004
|
+
editable,
|
|
33005
|
+
onCellEvent
|
|
33006
|
+
};
|
|
33007
|
+
}
|
|
33008
|
+
});
|
|
33009
|
+
|
|
33010
|
+
function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
|
|
33011
|
+
const _component_BodyEditCell = vue.resolveComponent("BodyEditCell");
|
|
33012
|
+
const _component_BodyTextCell = vue.resolveComponent("BodyTextCell");
|
|
33013
|
+
return _ctx.isEditing ? (vue.openBlock(), vue.createBlock(_component_BodyEditCell, {
|
|
33014
|
+
key: _ctx.key,
|
|
33015
|
+
prefixCls: _ctx.prefixCls,
|
|
33016
|
+
rowIndex: _ctx.rowIndex,
|
|
33017
|
+
flattenRowIndex: _ctx.flattenRowIndex,
|
|
33018
|
+
rowKey: _ctx.rowKey,
|
|
33019
|
+
column: _ctx.column,
|
|
33020
|
+
item: _ctx.item,
|
|
33021
|
+
"edit-row": _ctx.editRow,
|
|
33022
|
+
"editable-keys": _ctx.editableKeys,
|
|
33023
|
+
"is-row-edit": _ctx.isRowEdit
|
|
33024
|
+
}, null, 8, ["prefixCls", "rowIndex", "flattenRowIndex", "rowKey", "column", "item", "edit-row", "editable-keys", "is-row-edit"])) : (vue.openBlock(), vue.createBlock(_component_BodyTextCell, vue.mergeProps({ key: 1 }, _ctx.props, {
|
|
33025
|
+
style: { cursor: _ctx.editable ? "poiner" : "" },
|
|
33026
|
+
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.onCellEvent($event, "click")),
|
|
33027
|
+
onDblClick: _cache[1] || (_cache[1] = ($event) => _ctx.onCellEvent($event, "dblClick")),
|
|
33028
|
+
onContextmenu: _cache[2] || (_cache[2] = ($event) => _ctx.onCellEvent($event, "contextmenu"))
|
|
33029
|
+
}), {
|
|
33030
|
+
appendNode: vue.withCtx(() => [
|
|
33031
|
+
vue.renderSlot(_ctx.$slots, "appendNode")
|
|
33032
|
+
]),
|
|
33033
|
+
_: 3
|
|
33034
|
+
/* FORWARDED */
|
|
33035
|
+
}, 16, ["style"]));
|
|
33036
|
+
}
|
|
33037
|
+
var BodyCell = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$j]]);
|
|
33412
33038
|
|
|
33413
33039
|
var _sfc_main$m = vue.defineComponent({
|
|
33414
33040
|
name: "TableExpandedRow",
|
|
@@ -33488,7 +33114,7 @@
|
|
|
33488
33114
|
}
|
|
33489
33115
|
});
|
|
33490
33116
|
|
|
33491
|
-
const _hoisted_1$
|
|
33117
|
+
const _hoisted_1$8 = ["data-cell-auto"];
|
|
33492
33118
|
function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
|
|
33493
33119
|
const _component_RenderVNode = vue.resolveComponent("RenderVNode");
|
|
33494
33120
|
const _directive_cell_resize = vue.resolveDirective("cell-resize");
|
|
@@ -33520,7 +33146,7 @@
|
|
|
33520
33146
|
2
|
|
33521
33147
|
/* CLASS */
|
|
33522
33148
|
)
|
|
33523
|
-
], 10, _hoisted_1$
|
|
33149
|
+
], 10, _hoisted_1$8)), [
|
|
33524
33150
|
[_directive_cell_resize, _ctx.cellResizeBind]
|
|
33525
33151
|
])
|
|
33526
33152
|
],
|
|
@@ -33573,7 +33199,7 @@
|
|
|
33573
33199
|
}
|
|
33574
33200
|
});
|
|
33575
33201
|
|
|
33576
|
-
const _hoisted_1$
|
|
33202
|
+
const _hoisted_1$7 = ["aria-label"];
|
|
33577
33203
|
function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
|
|
33578
33204
|
return _ctx.expandIcon ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
33579
33205
|
key: 0,
|
|
@@ -33587,7 +33213,7 @@
|
|
|
33587
33213
|
class: vue.normalizeClass(_ctx.className),
|
|
33588
33214
|
"aria-label": _ctx.label,
|
|
33589
33215
|
onClick: _cache[1] || (_cache[1] = vue.withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
|
|
33590
|
-
}, null, 10, _hoisted_1$
|
|
33216
|
+
}, null, 10, _hoisted_1$7));
|
|
33591
33217
|
}
|
|
33592
33218
|
var ExpandIcon = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$h]]);
|
|
33593
33219
|
|
|
@@ -33786,8 +33412,8 @@
|
|
|
33786
33412
|
}
|
|
33787
33413
|
});
|
|
33788
33414
|
|
|
33789
|
-
const _hoisted_1$
|
|
33790
|
-
const _hoisted_2$
|
|
33415
|
+
const _hoisted_1$6 = ["data-level"];
|
|
33416
|
+
const _hoisted_2$2 = {
|
|
33791
33417
|
key: 2,
|
|
33792
33418
|
draggable: true
|
|
33793
33419
|
};
|
|
@@ -33845,12 +33471,12 @@
|
|
|
33845
33471
|
record: _ctx.record,
|
|
33846
33472
|
disabled: !_ctx.supportExpand,
|
|
33847
33473
|
onExpand: _ctx.onInternalTriggerExpand
|
|
33848
|
-
}, null, 8, ["prefix-cls", "expandIconType", "expanded", "record", "disabled", "onExpand"])) : _ctx.column.type === "draggable" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
33474
|
+
}, null, 8, ["prefix-cls", "expandIconType", "expanded", "record", "disabled", "onExpand"])) : _ctx.column.type === "draggable" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
|
|
33849
33475
|
vue.renderSlot(_ctx.$slots, "draggable-handle", {}, () => [
|
|
33850
33476
|
vue.createVNode(_component_MenuOutlined)
|
|
33851
33477
|
])
|
|
33852
33478
|
])) : vue.createCommentVNode("v-if", true)
|
|
33853
|
-
], 16, _hoisted_1$
|
|
33479
|
+
], 16, _hoisted_1$6);
|
|
33854
33480
|
}
|
|
33855
33481
|
var BodyExtraCell = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$g]]);
|
|
33856
33482
|
|
|
@@ -33862,7 +33488,8 @@
|
|
|
33862
33488
|
BodyCell,
|
|
33863
33489
|
ExpandedRow,
|
|
33864
33490
|
BodyExtraCell,
|
|
33865
|
-
RenderSlot
|
|
33491
|
+
RenderSlot,
|
|
33492
|
+
BodyTextCell: BodyCell$1
|
|
33866
33493
|
},
|
|
33867
33494
|
inheritAttrs: false,
|
|
33868
33495
|
props: {
|
|
@@ -33884,11 +33511,17 @@
|
|
|
33884
33511
|
const tableContext = useInjectTable();
|
|
33885
33512
|
const rowInstance = vue.getCurrentInstance();
|
|
33886
33513
|
const { table } = useProConfigInject();
|
|
33887
|
-
const { editCellKeys, closeEditor, openEditor } = useEditInject();
|
|
33514
|
+
const { editCellKeys, isRowEdit, mergedEditableKeys, editRowsMap, closeEditor, openEditor } = useEditInject();
|
|
33515
|
+
const editRow = vue.computed(() => editRowsMap.value[props.rowKey]);
|
|
33888
33516
|
let isUnmount = false;
|
|
33889
33517
|
const bodyRow = vue.ref();
|
|
33890
|
-
const
|
|
33891
|
-
|
|
33518
|
+
const isCurrentEditRow = vue.computed(() => {
|
|
33519
|
+
var _a;
|
|
33520
|
+
if (isRowEdit.value) {
|
|
33521
|
+
return (_a = mergedEditableKeys.value) == null ? void 0 : _a.includes(props.rowKey);
|
|
33522
|
+
}
|
|
33523
|
+
return true;
|
|
33524
|
+
});
|
|
33892
33525
|
const calMaxHeight = () => {
|
|
33893
33526
|
if (isUnmount) return;
|
|
33894
33527
|
let rowHeight = 0;
|
|
@@ -34090,6 +33723,7 @@
|
|
|
34090
33723
|
rowStyle,
|
|
34091
33724
|
cellClass,
|
|
34092
33725
|
tableContext,
|
|
33726
|
+
isCurrentEditRow,
|
|
34093
33727
|
mergedRowHeights,
|
|
34094
33728
|
handleCellBlur,
|
|
34095
33729
|
handleCellHover,
|
|
@@ -34117,29 +33751,29 @@
|
|
|
34117
33751
|
resizeObserver,
|
|
34118
33752
|
calMaxHeight,
|
|
34119
33753
|
bodyRow,
|
|
33754
|
+
editCellKeys,
|
|
33755
|
+
isRowEdit,
|
|
33756
|
+
editRow,
|
|
33757
|
+
mergedEditableKeys,
|
|
33758
|
+
openEditor,
|
|
33759
|
+
closeEditor,
|
|
34120
33760
|
hoverRowKey,
|
|
34121
33761
|
hoverColumnKey,
|
|
34122
33762
|
xVirtual: eagerComputed(() => tableContext.xVirtual.value),
|
|
34123
33763
|
getPopupContainer: () => popupContainer.value,
|
|
34124
|
-
|
|
34125
|
-
closeEditor,
|
|
34126
|
-
openEditor,
|
|
34127
|
-
mergedTooltipOpen,
|
|
34128
|
-
onCellMousedown,
|
|
34129
|
-
onCellKeydown,
|
|
34130
|
-
onCellMousemove,
|
|
34131
|
-
onCellClick
|
|
33764
|
+
mergedTooltipOpen
|
|
34132
33765
|
};
|
|
34133
33766
|
}
|
|
34134
33767
|
});
|
|
34135
33768
|
|
|
34136
|
-
const _hoisted_1$
|
|
34137
|
-
const _hoisted_2 = ["data-row-key"];
|
|
33769
|
+
const _hoisted_1$5 = ["data-row-key"];
|
|
33770
|
+
const _hoisted_2$1 = ["data-row-key"];
|
|
34138
33771
|
function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
|
|
34139
33772
|
const _component_ExpandedRow = vue.resolveComponent("ExpandedRow");
|
|
34140
33773
|
const _component_BodyExtraCell = vue.resolveComponent("BodyExtraCell");
|
|
34141
33774
|
const _component_ExpandIcon = vue.resolveComponent("ExpandIcon");
|
|
34142
33775
|
const _component_BodyCell = vue.resolveComponent("BodyCell");
|
|
33776
|
+
const _component_BodyTextCell = vue.resolveComponent("BodyTextCell");
|
|
34143
33777
|
const _component_RenderSlot = vue.resolveComponent("RenderSlot");
|
|
34144
33778
|
return _ctx.isExpandRow ? (vue.openBlock(), vue.createElementBlock(
|
|
34145
33779
|
vue.Fragment,
|
|
@@ -34161,7 +33795,7 @@
|
|
|
34161
33795
|
"resize-observer": _ctx.resizeObserver,
|
|
34162
33796
|
"cal-max-height": _ctx.calMaxHeight
|
|
34163
33797
|
}, null, 8, ["prefix-cls", "item", "row-key", "row-index", "resize-observer", "cal-max-height"])
|
|
34164
|
-
], 14, _hoisted_1$
|
|
33798
|
+
], 14, _hoisted_1$5)) : vue.createCommentVNode("v-if", true)
|
|
34165
33799
|
],
|
|
34166
33800
|
64
|
|
34167
33801
|
/* STABLE_FRAGMENT */
|
|
@@ -34179,7 +33813,7 @@
|
|
|
34179
33813
|
vue.Fragment,
|
|
34180
33814
|
null,
|
|
34181
33815
|
vue.renderList(_ctx.mergedColumns, (column, index) => {
|
|
34182
|
-
var _a;
|
|
33816
|
+
var _a, _b;
|
|
34183
33817
|
return vue.openBlock(), vue.createElementBlock(
|
|
34184
33818
|
vue.Fragment,
|
|
34185
33819
|
{
|
|
@@ -34199,7 +33833,7 @@
|
|
|
34199
33833
|
record: _ctx.record,
|
|
34200
33834
|
onMouseenter: ($event) => _ctx.handleCellHover(_ctx.rowKey, column.columnKey, _ctx.tableContext.draggingRowKey.value),
|
|
34201
33835
|
onMouseleave: _ctx.handleCellBlur
|
|
34202
|
-
}, null, 8, ["prefix-cls", "row-key", "row-index", "type", "column", "expanded", "expandIconType", "support-expand", "record", "onMouseenter", "onMouseleave"])) : column ? (vue.openBlock(), vue.createBlock(_component_BodyCell, {
|
|
33836
|
+
}, null, 8, ["prefix-cls", "row-key", "row-index", "type", "column", "expanded", "expandIconType", "support-expand", "record", "onMouseenter", "onMouseleave"])) : column && ((_b = column.edit) == null ? void 0 : _b.component) && _ctx.isCurrentEditRow ? (vue.openBlock(), vue.createBlock(_component_BodyCell, {
|
|
34203
33837
|
key: 1,
|
|
34204
33838
|
"prefix-cls": _ctx.prefixCls,
|
|
34205
33839
|
item: _ctx.record,
|
|
@@ -34216,14 +33850,68 @@
|
|
|
34216
33850
|
"get-popup-container": _ctx.getPopupContainer,
|
|
34217
33851
|
"tooltip-open": _ctx.mergedTooltipOpen && _ctx.hoverColumnKey === column.columnKey,
|
|
34218
33852
|
"edit-cell-keys": _ctx.editCellKeys,
|
|
33853
|
+
"editable-keys": _ctx.mergedEditableKeys,
|
|
33854
|
+
"is-row-edit": _ctx.isRowEdit,
|
|
33855
|
+
"edit-row": _ctx.editRow,
|
|
33856
|
+
onCloseEditor: _ctx.closeEditor,
|
|
33857
|
+
onOpenEditor: _ctx.openEditor,
|
|
33858
|
+
onMouseenter: ($event) => _ctx.handleCellHover(_ctx.rowKey, column.columnKey, _ctx.tableContext.draggingRowKey.value),
|
|
33859
|
+
onCellLeave: _ctx.handleCellBlur
|
|
33860
|
+
}, {
|
|
33861
|
+
appendNode: vue.withCtx(() => [
|
|
33862
|
+
vue.createElementVNode(
|
|
33863
|
+
"div",
|
|
33864
|
+
{
|
|
33865
|
+
class: vue.normalizeClass(`${_ctx.prefixCls}-append-node`)
|
|
33866
|
+
},
|
|
33867
|
+
[
|
|
33868
|
+
vue.createElementVNode(
|
|
33869
|
+
"span",
|
|
33870
|
+
{
|
|
33871
|
+
style: vue.normalizeStyle(`padding-left: ${(_ctx.indent || 0) * _ctx.indentSize}px`),
|
|
33872
|
+
class: vue.normalizeClass(`${_ctx.prefixCls}-row-indent indent-level-${_ctx.indent}`)
|
|
33873
|
+
},
|
|
33874
|
+
null,
|
|
33875
|
+
6
|
|
33876
|
+
/* CLASS, STYLE */
|
|
33877
|
+
),
|
|
33878
|
+
vue.createVNode(_component_ExpandIcon, {
|
|
33879
|
+
expanded: _ctx.expanded,
|
|
33880
|
+
expandIconType: _ctx.expandIconType,
|
|
33881
|
+
"prefix-cls": _ctx.prefixCls,
|
|
33882
|
+
expandable: _ctx.hasNestChildren,
|
|
33883
|
+
record: _ctx.record,
|
|
33884
|
+
disabled: !_ctx.mergedExpandable,
|
|
33885
|
+
onExpand: _ctx.onInternalTriggerExpand
|
|
33886
|
+
}, null, 8, ["expanded", "expandIconType", "prefix-cls", "expandable", "record", "disabled", "onExpand"])
|
|
33887
|
+
],
|
|
33888
|
+
2
|
|
33889
|
+
/* CLASS */
|
|
33890
|
+
)
|
|
33891
|
+
]),
|
|
33892
|
+
_: 1
|
|
33893
|
+
/* STABLE */
|
|
33894
|
+
}, 8, ["prefix-cls", "item", "row-key", "type", "row-index", "flatten-row-index", "wrap-text", "column", "resize-observer", "cal-max-height", "has-append-node", "height", "get-popup-container", "tooltip-open", "edit-cell-keys", "editable-keys", "is-row-edit", "edit-row", "onCloseEditor", "onOpenEditor", "onMouseenter", "onCellLeave"])) : column ? (vue.openBlock(), vue.createBlock(_component_BodyTextCell, {
|
|
33895
|
+
key: 2,
|
|
33896
|
+
"prefix-cls": _ctx.prefixCls,
|
|
33897
|
+
item: _ctx.record,
|
|
33898
|
+
"row-key": _ctx.rowKey,
|
|
33899
|
+
type: _ctx.type,
|
|
33900
|
+
"row-index": _ctx.rowIndex,
|
|
33901
|
+
"flatten-row-index": _ctx.flattenRowIndex,
|
|
33902
|
+
"wrap-text": _ctx.wrapText,
|
|
33903
|
+
column,
|
|
33904
|
+
"resize-observer": _ctx.resizeObserver,
|
|
33905
|
+
"cal-max-height": _ctx.calMaxHeight,
|
|
33906
|
+
"has-append-node": column.columnIndex === _ctx.expandIconColumnIndex && _ctx.nestExpandable,
|
|
33907
|
+
height: _ctx.cellHeight,
|
|
33908
|
+
"get-popup-container": _ctx.getPopupContainer,
|
|
33909
|
+
"tooltip-open": _ctx.mergedTooltipOpen && _ctx.hoverColumnKey === column.columnKey,
|
|
33910
|
+
"edit-cell-keys": _ctx.editCellKeys,
|
|
34219
33911
|
onCloseEditor: _ctx.closeEditor,
|
|
34220
33912
|
onOpenEditor: _ctx.openEditor,
|
|
34221
33913
|
onMouseenter: ($event) => _ctx.handleCellHover(_ctx.rowKey, column.columnKey, _ctx.tableContext.draggingRowKey.value),
|
|
34222
|
-
onCellLeave: _ctx.handleCellBlur
|
|
34223
|
-
onMousedown: _ctx.onCellMousedown,
|
|
34224
|
-
onMousemove: _ctx.onCellMousemove,
|
|
34225
|
-
onKeydown: _ctx.onCellKeydown,
|
|
34226
|
-
onClick: _ctx.onCellClick
|
|
33914
|
+
onCellLeave: _ctx.handleCellBlur
|
|
34227
33915
|
}, {
|
|
34228
33916
|
appendNode: vue.withCtx(() => [
|
|
34229
33917
|
vue.createElementVNode(
|
|
@@ -34258,7 +33946,7 @@
|
|
|
34258
33946
|
]),
|
|
34259
33947
|
_: 1
|
|
34260
33948
|
/* STABLE */
|
|
34261
|
-
}, 8, ["prefix-cls", "item", "row-key", "type", "row-index", "flatten-row-index", "wrap-text", "column", "resize-observer", "cal-max-height", "has-append-node", "height", "get-popup-container", "tooltip-open", "edit-cell-keys", "onCloseEditor", "onOpenEditor", "onMouseenter", "onCellLeave"
|
|
33949
|
+
}, 8, ["prefix-cls", "item", "row-key", "type", "row-index", "flatten-row-index", "wrap-text", "column", "resize-observer", "cal-max-height", "has-append-node", "height", "get-popup-container", "tooltip-open", "edit-cell-keys", "onCloseEditor", "onOpenEditor", "onMouseenter", "onCellLeave"])) : vue.createCommentVNode("v-if", true)
|
|
34262
33950
|
],
|
|
34263
33951
|
64
|
|
34264
33952
|
/* STABLE_FRAGMENT */
|
|
@@ -34281,7 +33969,7 @@
|
|
|
34281
33969
|
2
|
|
34282
33970
|
/* CLASS */
|
|
34283
33971
|
)) : vue.createCommentVNode("v-if", true)
|
|
34284
|
-
], 16, _hoisted_2));
|
|
33972
|
+
], 16, _hoisted_2$1));
|
|
34285
33973
|
}
|
|
34286
33974
|
var Row = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$f]]);
|
|
34287
33975
|
|
|
@@ -34924,7 +34612,7 @@
|
|
|
34924
34612
|
}
|
|
34925
34613
|
});
|
|
34926
34614
|
|
|
34927
|
-
const _hoisted_1$
|
|
34615
|
+
const _hoisted_1$4 = { style: {
|
|
34928
34616
|
width: "100%",
|
|
34929
34617
|
overflow: "hidden",
|
|
34930
34618
|
position: "relative",
|
|
@@ -35036,7 +34724,7 @@
|
|
|
35036
34724
|
onKeydown: _cache[9] || (_cache[9] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args))
|
|
35037
34725
|
},
|
|
35038
34726
|
[
|
|
35039
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
34727
|
+
vue.createElementVNode("div", _hoisted_1$4, [
|
|
35040
34728
|
vue.createElementVNode(
|
|
35041
34729
|
"div",
|
|
35042
34730
|
{
|
|
@@ -35508,7 +35196,8 @@
|
|
|
35508
35196
|
"expandedRowsChange",
|
|
35509
35197
|
"resizeColumn",
|
|
35510
35198
|
"update:dataSource",
|
|
35511
|
-
"cellKeydown"
|
|
35199
|
+
"cellKeydown",
|
|
35200
|
+
"data-change"
|
|
35512
35201
|
],
|
|
35513
35202
|
slots: {},
|
|
35514
35203
|
setup(props, { expose, emit, slots }) {
|
|
@@ -35520,7 +35209,6 @@
|
|
|
35520
35209
|
});
|
|
35521
35210
|
const popupContainer = vue.shallowRef(null);
|
|
35522
35211
|
const customUiCls = usePrefixCls("custom-ui");
|
|
35523
|
-
const { editCellKeys, openEditor, closeEditor } = useEditProvider();
|
|
35524
35212
|
useProvidePopup();
|
|
35525
35213
|
const getPopupContainer = vue.computed(() => props.getPopupContainer);
|
|
35526
35214
|
const { status, watermarkMsg } = useLicense();
|
|
@@ -35627,6 +35315,9 @@
|
|
|
35627
35315
|
},
|
|
35628
35316
|
{ immediate: true, deep: !!props.deepWatchColumns }
|
|
35629
35317
|
);
|
|
35318
|
+
vue.watch(rawData, (newData) => {
|
|
35319
|
+
emit("data-change", newData);
|
|
35320
|
+
});
|
|
35630
35321
|
const childrenColumnName = vue.computed(
|
|
35631
35322
|
() => {
|
|
35632
35323
|
var _a, _b, _c;
|
|
@@ -35662,6 +35353,20 @@
|
|
|
35662
35353
|
return { spinning: false };
|
|
35663
35354
|
}
|
|
35664
35355
|
});
|
|
35356
|
+
const {
|
|
35357
|
+
validateRowData,
|
|
35358
|
+
addEditRecord,
|
|
35359
|
+
cancelEditable,
|
|
35360
|
+
startEditable,
|
|
35361
|
+
saveEditable,
|
|
35362
|
+
isEditable,
|
|
35363
|
+
validateTableData
|
|
35364
|
+
} = useEditProvider(props, {
|
|
35365
|
+
getIndexsByKey,
|
|
35366
|
+
getRecordByKey,
|
|
35367
|
+
rawData,
|
|
35368
|
+
getRowKey
|
|
35369
|
+
});
|
|
35665
35370
|
vue.onActivated(() => {
|
|
35666
35371
|
scrollTo({ left: 0, top: 0 });
|
|
35667
35372
|
});
|
|
@@ -35971,7 +35676,11 @@
|
|
|
35971
35676
|
leftWidth,
|
|
35972
35677
|
centerWidth,
|
|
35973
35678
|
getRowHeight: cal.getRowHeight,
|
|
35974
|
-
customCell: vue.toRef(props, "customCell")
|
|
35679
|
+
customCell: vue.toRef(props, "customCell"),
|
|
35680
|
+
cancelEditable,
|
|
35681
|
+
startEditable,
|
|
35682
|
+
saveEditable,
|
|
35683
|
+
isEditable
|
|
35975
35684
|
});
|
|
35976
35685
|
vue.watch(
|
|
35977
35686
|
[realHeaderHeight, scrollLeft],
|
|
@@ -35985,6 +35694,10 @@
|
|
|
35985
35694
|
...cal,
|
|
35986
35695
|
...columns,
|
|
35987
35696
|
...cellProps,
|
|
35697
|
+
cancelEditable,
|
|
35698
|
+
startEditable,
|
|
35699
|
+
saveEditable,
|
|
35700
|
+
isEditable,
|
|
35988
35701
|
rootRef,
|
|
35989
35702
|
rawData,
|
|
35990
35703
|
getRowFlattenIndexByKey,
|
|
@@ -36202,99 +35915,22 @@
|
|
|
36202
35915
|
});
|
|
36203
35916
|
const tabGuardTopRef = vue.ref();
|
|
36204
35917
|
const tabGuardBottomRef = vue.ref();
|
|
36205
|
-
const {
|
|
36206
|
-
navigationService,
|
|
36207
|
-
getSelectedRange,
|
|
36208
|
-
clearAllSelectedRange,
|
|
36209
|
-
copySelectedRange,
|
|
36210
|
-
appendCellToSelectedRange,
|
|
36211
|
-
onBodyKeydown
|
|
36212
|
-
} = useProvideRangeStore({
|
|
36213
|
-
allColumns: columns.allColumns,
|
|
36214
|
-
flattenData,
|
|
36215
|
-
rangeSelection: vue.computed(() => props.rangeSelection),
|
|
36216
|
-
getRowByFlattenIndex,
|
|
36217
|
-
rootRef,
|
|
36218
|
-
prefixCls: vue.computed(() => props.prefixCls),
|
|
36219
|
-
allCellProps: cellProps.allCellProps,
|
|
36220
|
-
tabGuardTopRef,
|
|
36221
|
-
tabGuardBottomRef,
|
|
36222
|
-
ensureCellColumnVisible: (cell) => {
|
|
36223
|
-
if (!cell.column || cell.column.fixed) return;
|
|
36224
|
-
const sl = scrollLeft.value;
|
|
36225
|
-
const pos2 = columns.getColumnPositionByKey(cell.column.columnKey);
|
|
36226
|
-
if (pos2) {
|
|
36227
|
-
const { width, left } = pos2;
|
|
36228
|
-
const lw = leftWidth.value;
|
|
36229
|
-
const rw = rightWidth.value;
|
|
36230
|
-
left - lw < sl ? scrollLeft.value = left - lw : left + width > sl + bodyWidth.value - rw && (scrollLeft.value = left + width - bodyWidth.value + rw);
|
|
36231
|
-
}
|
|
36232
|
-
},
|
|
36233
|
-
ensureCellRowVisible: (cell) => {
|
|
36234
|
-
var _a;
|
|
36235
|
-
const { rowIndex } = cell;
|
|
36236
|
-
const st = scrollTop.value;
|
|
36237
|
-
const row = getRowByFlattenIndex(rowIndex);
|
|
36238
|
-
const pos2 = cal.getRowPositionByKey(row.rowKey);
|
|
36239
|
-
const cprops = (((_a = cellProps.allCellProps.value[row.rowKey]) == null ? void 0 : _a[cell.column.columnKey]) || {}).props || {};
|
|
36240
|
-
const height = cal.getRowHeight(rowIndex, cprops.rowSpan);
|
|
36241
|
-
if (pos2 !== void 0) {
|
|
36242
|
-
updateAnimate();
|
|
36243
|
-
if (pos2 < st) {
|
|
36244
|
-
scrollTop.value = pos2;
|
|
36245
|
-
} else {
|
|
36246
|
-
if (pos2 + height > st + bodyHeight.value) {
|
|
36247
|
-
scrollTop.value = pos2 + height - bodyHeight.value;
|
|
36248
|
-
}
|
|
36249
|
-
}
|
|
36250
|
-
}
|
|
36251
|
-
},
|
|
36252
|
-
latestRangeStartCell,
|
|
36253
|
-
bodyRef: vue.computed(() => {
|
|
36254
|
-
var _a;
|
|
36255
|
-
return (_a = bodyRef.value) == null ? void 0 : _a.bodyRef;
|
|
36256
|
-
}),
|
|
36257
|
-
scrollLeft,
|
|
36258
|
-
scrollTop,
|
|
36259
|
-
scrollTo,
|
|
36260
|
-
showVerticalScrollbar,
|
|
36261
|
-
showHorizontalScrollbar,
|
|
36262
|
-
getIndexsByKey,
|
|
36263
|
-
formatRangeCellText: (parmas) => {
|
|
36264
|
-
if (props.formatRangeCellText) {
|
|
36265
|
-
return props.formatRangeCellText(parmas);
|
|
36266
|
-
} else if (parmas.value) {
|
|
36267
|
-
return parmas.value;
|
|
36268
|
-
}
|
|
36269
|
-
return "";
|
|
36270
|
-
},
|
|
36271
|
-
editCellKeys,
|
|
36272
|
-
copyDelimiter: vue.computed(() => props.copyDelimiter)
|
|
36273
|
-
});
|
|
36274
35918
|
expose({
|
|
36275
35919
|
scrollTo,
|
|
36276
35920
|
scrollLeft,
|
|
36277
35921
|
scrollTop,
|
|
36278
35922
|
rootRef,
|
|
36279
35923
|
paginationRef,
|
|
35924
|
+
validateRowData,
|
|
35925
|
+
addEditRecord,
|
|
35926
|
+
cancelEditable,
|
|
35927
|
+
startEditable,
|
|
35928
|
+
saveEditable,
|
|
35929
|
+
validateTableData,
|
|
36280
35930
|
bodyRef: vue.computed(() => {
|
|
36281
35931
|
var _a;
|
|
36282
35932
|
return (_a = bodyRef.value) == null ? void 0 : _a.bodyRef;
|
|
36283
|
-
})
|
|
36284
|
-
getSelectedRange,
|
|
36285
|
-
clearAllSelectedRange,
|
|
36286
|
-
copySelectedRange,
|
|
36287
|
-
appendCellToSelectedRange,
|
|
36288
|
-
openEditor: (cellInfos) => {
|
|
36289
|
-
openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`));
|
|
36290
|
-
},
|
|
36291
|
-
closeEditor: (cellInfos) => {
|
|
36292
|
-
if (cellInfos) {
|
|
36293
|
-
closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`));
|
|
36294
|
-
} else {
|
|
36295
|
-
closeEditor();
|
|
36296
|
-
}
|
|
36297
|
-
}
|
|
35933
|
+
})
|
|
36298
35934
|
});
|
|
36299
35935
|
return {
|
|
36300
35936
|
bodyRef,
|
|
@@ -36306,7 +35942,6 @@
|
|
|
36306
35942
|
watermarkMsg,
|
|
36307
35943
|
rootStyle,
|
|
36308
35944
|
rootClass,
|
|
36309
|
-
onBodyKeydown,
|
|
36310
35945
|
watermarkStyle: vue.computed(() => ({
|
|
36311
35946
|
minWidth: "100px!important",
|
|
36312
35947
|
minHeight: "40px!important",
|
|
@@ -36351,12 +35986,6 @@
|
|
|
36351
35986
|
bottomPaginationHeight.value = e.detail.height;
|
|
36352
35987
|
},
|
|
36353
35988
|
popupContainer,
|
|
36354
|
-
handleGuardTopKeydown: (e) => {
|
|
36355
|
-
e.keyCode !== KeyCode.TAB || e.shiftKey || (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault());
|
|
36356
|
-
},
|
|
36357
|
-
handleGuardBottomKeydown: (e) => {
|
|
36358
|
-
e.keyCode === KeyCode.TAB && e.shiftKey && (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault());
|
|
36359
|
-
},
|
|
36360
35989
|
tabGuardTopRef,
|
|
36361
35990
|
tabGuardBottomRef,
|
|
36362
35991
|
onShowSizeChange,
|
|
@@ -36367,6 +35996,18 @@
|
|
|
36367
35996
|
}
|
|
36368
35997
|
});
|
|
36369
35998
|
|
|
35999
|
+
const _hoisted_1$3 = {
|
|
36000
|
+
ref: "tabGuardTopRef",
|
|
36001
|
+
role: "presentation",
|
|
36002
|
+
tabindex: "0",
|
|
36003
|
+
style: { position: "absolute", width: "0", height: "0" }
|
|
36004
|
+
};
|
|
36005
|
+
const _hoisted_2 = {
|
|
36006
|
+
ref: "tabGuardBottomRef",
|
|
36007
|
+
role: "presentation",
|
|
36008
|
+
tabindex: "0",
|
|
36009
|
+
style: { position: "absolute", width: "0", height: "0" }
|
|
36010
|
+
};
|
|
36370
36011
|
function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
36371
36012
|
const _component_Pagination = vue.resolveComponent("Pagination");
|
|
36372
36013
|
const _component_AutoHeightHeader = vue.resolveComponent("AutoHeightHeader");
|
|
@@ -36396,16 +36037,10 @@
|
|
|
36396
36037
|
}), null, 16, ["class", "onChange", "onShowSizeChange"])) : vue.createCommentVNode("v-if", true),
|
|
36397
36038
|
vue.createElementVNode(
|
|
36398
36039
|
"div",
|
|
36399
|
-
|
|
36400
|
-
ref: "tabGuardTopRef",
|
|
36401
|
-
role: "presentation",
|
|
36402
|
-
tabindex: "0",
|
|
36403
|
-
style: { position: "absolute", width: "0", height: "0" },
|
|
36404
|
-
onKeydown: _cache[0] || (_cache[0] = (...args) => _ctx.handleGuardTopKeydown && _ctx.handleGuardTopKeydown(...args))
|
|
36405
|
-
},
|
|
36040
|
+
_hoisted_1$3,
|
|
36406
36041
|
null,
|
|
36407
|
-
|
|
36408
|
-
/*
|
|
36042
|
+
512
|
|
36043
|
+
/* NEED_PATCH */
|
|
36409
36044
|
),
|
|
36410
36045
|
vue.createElementVNode(
|
|
36411
36046
|
"div",
|
|
@@ -36438,20 +36073,19 @@
|
|
|
36438
36073
|
vue.createVNode(_component_ProBody, {
|
|
36439
36074
|
ref: "bodyRef",
|
|
36440
36075
|
bodyScrollWidth: _ctx.bodyScrollWidth,
|
|
36441
|
-
"onUpdate:bodyScrollWidth": _cache[
|
|
36076
|
+
"onUpdate:bodyScrollWidth": _cache[0] || (_cache[0] = ($event) => _ctx.bodyScrollWidth = $event),
|
|
36442
36077
|
bodyWidth: _ctx.bodyWidth,
|
|
36443
|
-
"onUpdate:bodyWidth": _cache[
|
|
36078
|
+
"onUpdate:bodyWidth": _cache[1] || (_cache[1] = ($event) => _ctx.bodyWidth = $event),
|
|
36444
36079
|
bodyHeight: _ctx.bodyHeight,
|
|
36445
|
-
"onUpdate:bodyHeight": _cache[
|
|
36080
|
+
"onUpdate:bodyHeight": _cache[2] || (_cache[2] = ($event) => _ctx.bodyHeight = $event),
|
|
36446
36081
|
"prefix-cls": _ctx.prefixCls,
|
|
36447
36082
|
"wrap-text": _ctx.wrapText,
|
|
36448
36083
|
"scroll-x": _ctx.mergedScrollX,
|
|
36449
36084
|
height: _ctx.mergedScrollY,
|
|
36450
36085
|
"summary-fixed": _ctx.mergedSummaryFixed,
|
|
36451
36086
|
summary: _ctx.$slots.summary,
|
|
36452
|
-
"empty-text": _ctx.$slots.emptyText
|
|
36453
|
-
|
|
36454
|
-
}, null, 8, ["bodyScrollWidth", "bodyWidth", "bodyHeight", "prefix-cls", "wrap-text", "scroll-x", "height", "summary-fixed", "summary", "empty-text", "onKeydown"])
|
|
36087
|
+
"empty-text": _ctx.$slots.emptyText
|
|
36088
|
+
}, null, 8, ["bodyScrollWidth", "bodyWidth", "bodyHeight", "prefix-cls", "wrap-text", "scroll-x", "height", "summary-fixed", "summary", "empty-text"])
|
|
36455
36089
|
],
|
|
36456
36090
|
6
|
|
36457
36091
|
/* CLASS, STYLE */
|
|
@@ -36459,16 +36093,10 @@
|
|
|
36459
36093
|
vue.createVNode(_component_HorizontalScroll),
|
|
36460
36094
|
vue.createElementVNode(
|
|
36461
36095
|
"div",
|
|
36462
|
-
|
|
36463
|
-
ref: "tabGuardBottomRef",
|
|
36464
|
-
role: "presentation",
|
|
36465
|
-
tabindex: "0",
|
|
36466
|
-
style: { position: "absolute", width: "0", height: "0" },
|
|
36467
|
-
onKeydown: _cache[4] || (_cache[4] = (...args) => _ctx.handleGuardBottomKeydown && _ctx.handleGuardBottomKeydown(...args))
|
|
36468
|
-
},
|
|
36096
|
+
_hoisted_2,
|
|
36469
36097
|
null,
|
|
36470
|
-
|
|
36471
|
-
/*
|
|
36098
|
+
512
|
|
36099
|
+
/* NEED_PATCH */
|
|
36472
36100
|
),
|
|
36473
36101
|
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock(
|
|
36474
36102
|
"div",
|
|
@@ -36493,7 +36121,7 @@
|
|
|
36493
36121
|
ref: "paginationRef",
|
|
36494
36122
|
style: vue.normalizeStyle(_ctx.bottomPaginationStyle),
|
|
36495
36123
|
class: vue.normalizeClass(`${_ctx.prefixCls}-pagination-wrap ${_ctx.prefixCls}-pagination-wrap-${_ctx.size}`),
|
|
36496
|
-
onResizeheight: _cache[
|
|
36124
|
+
onResizeheight: _cache[3] || (_cache[3] = (...args) => _ctx.handlePaginationResize && _ctx.handlePaginationResize(...args))
|
|
36497
36125
|
},
|
|
36498
36126
|
[
|
|
36499
36127
|
vue.createVNode(_component_Pagination, vue.mergeProps({ class: _ctx.paginationClass }, _ctx.paginationProps, {
|
|
@@ -38278,6 +37906,30 @@
|
|
|
38278
37906
|
var _a2;
|
|
38279
37907
|
(_a2 = tableRef.value) == null ? void 0 : _a2.scrollTo(pos, behavior);
|
|
38280
37908
|
},
|
|
37909
|
+
validateRowData: (recordKey) => {
|
|
37910
|
+
var _a2;
|
|
37911
|
+
return (_a2 = tableRef.value) == null ? void 0 : _a2.validateRowData(recordKey);
|
|
37912
|
+
},
|
|
37913
|
+
validateTableData: () => {
|
|
37914
|
+
var _a2;
|
|
37915
|
+
return (_a2 = tableRef.value) == null ? void 0 : _a2.validateTableData();
|
|
37916
|
+
},
|
|
37917
|
+
addEditRecord: (recordValue, options) => {
|
|
37918
|
+
var _a2;
|
|
37919
|
+
return (_a2 = tableRef.value) == null ? void 0 : _a2.addEditRecord(recordValue, options);
|
|
37920
|
+
},
|
|
37921
|
+
startEditable: (recordKey, recordValue) => {
|
|
37922
|
+
var _a2;
|
|
37923
|
+
return (_a2 = tableRef.value) == null ? void 0 : _a2.startEditable(recordKey, recordValue);
|
|
37924
|
+
},
|
|
37925
|
+
cancelEditable: (recordValue, options) => {
|
|
37926
|
+
var _a2;
|
|
37927
|
+
return (_a2 = tableRef.value) == null ? void 0 : _a2.cancelEditable(recordValue, options);
|
|
37928
|
+
},
|
|
37929
|
+
saveEditable: (recordKey) => {
|
|
37930
|
+
var _a2;
|
|
37931
|
+
return (_a2 = tableRef.value) == null ? void 0 : _a2.saveEditable(recordKey);
|
|
37932
|
+
},
|
|
38281
37933
|
scrollLeft: vue.computed(() => {
|
|
38282
37934
|
var _a2;
|
|
38283
37935
|
return vue.unref((_a2 = tableRef.value) == null ? void 0 : _a2.scrollLeft);
|
|
@@ -38298,18 +37950,6 @@
|
|
|
38298
37950
|
var _a2;
|
|
38299
37951
|
return vue.unref((_a2 = tableRef.value) == null ? void 0 : _a2.paginationRef);
|
|
38300
37952
|
}),
|
|
38301
|
-
copySelectedRange: () => {
|
|
38302
|
-
var _a2;
|
|
38303
|
-
return (_a2 = tableRef.value) == null ? void 0 : _a2.copySelectedRange();
|
|
38304
|
-
},
|
|
38305
|
-
getSelectedRange: () => {
|
|
38306
|
-
var _a2;
|
|
38307
|
-
return (_a2 = tableRef.value) == null ? void 0 : _a2.getSelectedRange();
|
|
38308
|
-
},
|
|
38309
|
-
clearAllSelectedRange: () => {
|
|
38310
|
-
var _a2;
|
|
38311
|
-
return (_a2 = tableRef.value) == null ? void 0 : _a2.clearAllSelectedRange();
|
|
38312
|
-
},
|
|
38313
37953
|
clearDataSource: () => {
|
|
38314
37954
|
dataSource.value = [];
|
|
38315
37955
|
},
|
|
@@ -38319,14 +37959,6 @@
|
|
|
38319
37959
|
var _a2;
|
|
38320
37960
|
return (_a2 = tableRef.value) == null ? void 0 : _a2.appendCellToSelectedRange(params);
|
|
38321
37961
|
},
|
|
38322
|
-
openEditor: (cellInfos) => {
|
|
38323
|
-
var _a2;
|
|
38324
|
-
return (_a2 = tableRef.value) == null ? void 0 : _a2.openEditor(cellInfos);
|
|
38325
|
-
},
|
|
38326
|
-
closeEditor: (cellInfos) => {
|
|
38327
|
-
var _a2;
|
|
38328
|
-
return (_a2 = tableRef.value) == null ? void 0 : _a2.closeEditor(cellInfos);
|
|
38329
|
-
},
|
|
38330
37962
|
reload,
|
|
38331
37963
|
reset,
|
|
38332
37964
|
calcTableHeight,
|