@jetlinks-web/components 3.1.14 → 3.2.0
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/es/EditTable/CellRender.js +69 -3
- package/es/EditTable/EditTable.js +108 -165
- package/es/EditTable/FormItem.js +234 -96
- package/es/EditTable/consts.js +13 -13
- package/es/EditTable/context.js +3 -2
- package/es/EditTable/fieldPool.js +166 -0
- package/es/EditTable/hooks/index.js +4 -2
- package/es/EditTable/hooks/useValidate.js +121 -51
- package/es/EditTable/hooks/useVirtualTreeTable.js +111 -0
- package/es/EditTable/index.js +0 -4
- package/es/EditTable/style/body.js +15 -2
- package/es/EditTable/style/form.js +2 -2
- package/es/EditTable/style/header.js +2 -2
- package/es/EditTable/style/table.js +2 -1
- package/es/Icon/icon.js +3 -3
- package/es/ProTable/Content.js +3 -4
- package/es/ProTable/ProTable.js +5 -0
- package/es/ProTable/setting.js +1 -1
- package/es/Search/Advanced/index.js +2 -1
- package/es/Search/Search.js +2 -1
- package/es/VirtualTable/Table.js +367 -0
- package/es/VirtualTable/VirtualBody.js +94 -0
- package/es/VirtualTable/data.js +43 -1
- package/es/VirtualTable/index.js +1 -1
- package/es/VirtualTable/style/index.js +6 -0
- package/es/VirtualTable/useTreeData.js +243 -0
- package/es/VirtualTable/useVirtualScroll.js +159 -0
- package/lib/EditTable/CellRender.js +69 -3
- package/lib/EditTable/EditTable.js +108 -165
- package/lib/EditTable/FormItem.js +234 -96
- package/lib/EditTable/consts.js +13 -13
- package/lib/EditTable/context.js +3 -2
- package/lib/EditTable/fieldPool.js +173 -0
- package/lib/EditTable/hooks/index.js +15 -2
- package/lib/EditTable/hooks/useValidate.js +120 -50
- package/lib/EditTable/hooks/useVirtualTreeTable.js +117 -0
- package/lib/EditTable/index.js +0 -4
- package/lib/EditTable/style/body.js +15 -2
- package/lib/EditTable/style/form.js +2 -2
- package/lib/EditTable/style/header.js +2 -2
- package/lib/EditTable/style/table.js +2 -1
- package/lib/Icon/icon.js +3 -3
- package/lib/ProTable/Content.js +3 -4
- package/lib/ProTable/ProTable.js +5 -0
- package/lib/ProTable/setting.js +1 -1
- package/lib/Search/Advanced/index.js +2 -1
- package/lib/Search/Search.js +2 -1
- package/lib/VirtualTable/Table.js +374 -0
- package/lib/VirtualTable/VirtualBody.js +100 -0
- package/lib/VirtualTable/data.js +44 -2
- package/lib/VirtualTable/index.js +4 -4
- package/lib/VirtualTable/style/index.js +6 -0
- package/lib/VirtualTable/useTreeData.js +250 -0
- package/lib/VirtualTable/useVirtualScroll.js +165 -0
- package/package.json +3 -3
- package/es/EditTable/Body.js +0 -312
- package/es/EditTable/Header.js +0 -164
- package/es/EditTable/HeaderRender.js +0 -12
- package/es/VirtualTable/VirtualTable.js +0 -407
- package/lib/EditTable/Body.js +0 -312
- package/lib/EditTable/Header.js +0 -164
- package/lib/EditTable/HeaderRender.js +0 -12
- package/lib/VirtualTable/VirtualTable.js +0 -407
|
@@ -54,13 +54,26 @@ Object.keys(_useGroup).forEach(function (key) {
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
+
var _useVirtualTreeTable = require("./useVirtualTreeTable");
|
|
58
|
+
Object.keys(_useVirtualTreeTable).forEach(function (key) {
|
|
59
|
+
if (key === "default" || key === "__esModule") return;
|
|
60
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
61
|
+
if (key in exports && exports[key] === _useVirtualTreeTable[key]) return;
|
|
62
|
+
Object.defineProperty(exports, key, {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function get() {
|
|
65
|
+
return _useVirtualTreeTable[key];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
57
69
|
var FormContextKey = 'form-context';
|
|
58
70
|
var useFormContext = exports.useFormContext = function useFormContext(options) {
|
|
59
71
|
(0, _vue.provide)(FormContextKey, options);
|
|
60
72
|
};
|
|
61
73
|
var useInjectForm = exports.useInjectForm = function useInjectForm() {
|
|
62
74
|
return (0, _vue.inject)(FormContextKey, {
|
|
63
|
-
addField: function addField(
|
|
75
|
+
addField: function addField() {},
|
|
76
|
+
removeField: function removeField() {},
|
|
64
77
|
dataSource: (0, _vue.computed)(function () {
|
|
65
78
|
return [];
|
|
66
79
|
}),
|
|
@@ -82,7 +95,7 @@ var useTableDataSource = exports.useTableDataSource = function useTableDataSourc
|
|
|
82
95
|
return (0, _vue.inject)(_consts.TABLE_DATA_SOURCE, []);
|
|
83
96
|
};
|
|
84
97
|
var useTableTool = exports.useTableTool = function useTableTool() {
|
|
85
|
-
return (0, _vue.inject)(_consts.TABLE_TOOL,
|
|
98
|
+
return (0, _vue.inject)(_consts.TABLE_TOOL, {});
|
|
86
99
|
};
|
|
87
100
|
var useFormItemError = exports.useFormItemError = function useFormItemError() {
|
|
88
101
|
return (0, _vue.inject)(_consts.TABLE_FORM_ITEM_ERROR);
|
|
@@ -6,89 +6,159 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.useValidate = void 0;
|
|
8
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
9
|
var _asyncValidator = _interopRequireDefault(require("async-validator"));
|
|
11
10
|
var _utils = require("../utils");
|
|
12
11
|
var _vue = require("vue");
|
|
12
|
+
/**
|
|
13
|
+
* 表单校验 Hook
|
|
14
|
+
* @param dataSource 数据源
|
|
15
|
+
* @param columns 列配置(可以是响应式的)
|
|
16
|
+
* @param rowKey 行唯一标识字段
|
|
17
|
+
* @param options 配置选项
|
|
18
|
+
*/
|
|
13
19
|
var useValidate = exports.useValidate = function useValidate(dataSource, columns, rowKey) {
|
|
14
20
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
15
21
|
var errorMap = (0, _vue.ref)({});
|
|
16
|
-
var schemaInstance;
|
|
17
22
|
var rules = (0, _vue.ref)({});
|
|
18
|
-
var
|
|
23
|
+
var schemaInstance = null;
|
|
24
|
+
var _options = (0, _objectSpread2.default)({
|
|
19
25
|
validateRowKey: false
|
|
20
26
|
}, options);
|
|
27
|
+
/**
|
|
28
|
+
* 获取列配置(处理响应式和非响应式情况)
|
|
29
|
+
*/
|
|
30
|
+
var getColumns = function getColumns() {
|
|
31
|
+
if ('value' in columns) {
|
|
32
|
+
return columns.value;
|
|
33
|
+
}
|
|
34
|
+
return columns;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* 创建/重新创建校验器
|
|
38
|
+
*/
|
|
39
|
+
var createValidator = function createValidator() {
|
|
40
|
+
var currentColumns = getColumns();
|
|
41
|
+
rules.value = (0, _utils.collectValidateRules)(currentColumns);
|
|
42
|
+
schemaInstance = new _asyncValidator.default(rules.value);
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* 校验单条数据
|
|
46
|
+
* @param data 要校验的数据
|
|
47
|
+
* @param index 数据索引
|
|
48
|
+
*/
|
|
21
49
|
var validateItem = function validateItem(data) {
|
|
22
50
|
var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
23
51
|
return new Promise(function (resolve, reject) {
|
|
24
|
-
schemaInstance
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
52
|
+
if (!schemaInstance) {
|
|
53
|
+
createValidator();
|
|
54
|
+
}
|
|
55
|
+
// 使用 toRaw 避免代理对象问题
|
|
56
|
+
var rawData = (0, _vue.toRaw)(data);
|
|
57
|
+
schemaInstance.validate(rawData, {
|
|
58
|
+
firstFields: true
|
|
59
|
+
}, function (errors) {
|
|
60
|
+
if (errors !== null && errors !== void 0 && errors.length) {
|
|
61
|
+
var mappedErrors = errors.map(function (item) {
|
|
62
|
+
var _rawData$__serial;
|
|
30
63
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
31
|
-
__serial:
|
|
32
|
-
__dataIndex: index
|
|
64
|
+
__serial: (_rawData$__serial = rawData.__serial) !== null && _rawData$__serial !== void 0 ? _rawData$__serial : index + 1,
|
|
65
|
+
__dataIndex: index,
|
|
66
|
+
fieldValue: rawData[item.field]
|
|
33
67
|
});
|
|
34
|
-
})
|
|
68
|
+
});
|
|
69
|
+
reject(mappedErrors);
|
|
35
70
|
} else {
|
|
36
|
-
resolve(
|
|
71
|
+
resolve(rawData);
|
|
37
72
|
}
|
|
38
73
|
});
|
|
39
74
|
});
|
|
40
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* 校验所有数据
|
|
78
|
+
*/
|
|
41
79
|
var validate = function validate() {
|
|
42
80
|
return new Promise(function (resolve, reject) {
|
|
43
81
|
var filterDataSource = dataSource.value;
|
|
44
82
|
var len = filterDataSource.length;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
83
|
+
// 空数据直接返回
|
|
84
|
+
if (len === 0) {
|
|
85
|
+
var _options$onSuccess;
|
|
86
|
+
(_options$onSuccess = _options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call(_options);
|
|
87
|
+
resolve([]);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
var errors = [];
|
|
91
|
+
var successItems = [];
|
|
92
|
+
var completedCount = 0;
|
|
93
|
+
var checkComplete = function checkComplete() {
|
|
94
|
+
completedCount += 1;
|
|
95
|
+
if (completedCount === len) {
|
|
96
|
+
var hasErrors = errors.length > 0;
|
|
97
|
+
if (hasErrors) {
|
|
57
98
|
var _options$onError;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (filterDataSource.length) {
|
|
65
|
-
filterDataSource.forEach(function (record, index) {
|
|
66
|
-
if (validateRowKey || record[rowKey]) {
|
|
67
|
-
validateItem(record, index).then(function (res) {
|
|
68
|
-
success.push((0, _utils.handlePureRecord)(res));
|
|
69
|
-
end();
|
|
70
|
-
}).catch(function (err) {
|
|
71
|
-
error.push(err);
|
|
72
|
-
end();
|
|
99
|
+
// 按 __dataIndex 排序错误
|
|
100
|
+
errors.sort(function (a, b) {
|
|
101
|
+
var _a$0$__dataIndex, _a$, _b$0$__dataIndex, _b$;
|
|
102
|
+
var aIndex = (_a$0$__dataIndex = (_a$ = a[0]) === null || _a$ === void 0 ? void 0 : _a$.__dataIndex) !== null && _a$0$__dataIndex !== void 0 ? _a$0$__dataIndex : 0;
|
|
103
|
+
var bIndex = (_b$0$__dataIndex = (_b$ = b[0]) === null || _b$ === void 0 ? void 0 : _b$.__dataIndex) !== null && _b$0$__dataIndex !== void 0 ? _b$0$__dataIndex : 0;
|
|
104
|
+
return aIndex - bIndex;
|
|
73
105
|
});
|
|
106
|
+
(_options$onError = _options.onError) === null || _options$onError === void 0 ? void 0 : _options$onError.call(_options, errors);
|
|
107
|
+
reject(errors);
|
|
74
108
|
} else {
|
|
75
|
-
|
|
109
|
+
var _options$onSuccess2;
|
|
110
|
+
(_options$onSuccess2 = _options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call(_options);
|
|
111
|
+
resolve(successItems);
|
|
76
112
|
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
var shouldValidateRow = _options.validateRowKey;
|
|
116
|
+
filterDataSource.forEach(function (record, index) {
|
|
117
|
+
// 判断是否需要校验该行
|
|
118
|
+
var hasRowKey = !!record[rowKey];
|
|
119
|
+
if (shouldValidateRow || hasRowKey) {
|
|
120
|
+
validateItem(record, index).then(function (res) {
|
|
121
|
+
successItems.push((0, _utils.handlePureRecord)(res));
|
|
122
|
+
checkComplete();
|
|
123
|
+
}).catch(function (err) {
|
|
124
|
+
errors.push(err);
|
|
125
|
+
checkComplete();
|
|
126
|
+
});
|
|
127
|
+
} else {
|
|
128
|
+
// 跳过没有 rowKey 的行
|
|
129
|
+
checkComplete();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
81
132
|
});
|
|
82
133
|
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
134
|
+
/**
|
|
135
|
+
* 清除所有错误
|
|
136
|
+
*/
|
|
137
|
+
var clearErrors = function clearErrors() {
|
|
138
|
+
errorMap.value = {};
|
|
86
139
|
};
|
|
87
|
-
|
|
140
|
+
/**
|
|
141
|
+
* 重新创建校验器(当列配置变化时调用)
|
|
142
|
+
*/
|
|
143
|
+
var recreateValidator = function recreateValidator() {
|
|
144
|
+
createValidator();
|
|
145
|
+
};
|
|
146
|
+
// 初始化校验器
|
|
147
|
+
createValidator();
|
|
148
|
+
// 如果 columns 是响应式的,监听其变化并重新创建校验器
|
|
149
|
+
if ('value' in columns) {
|
|
150
|
+
(0, _vue.watch)(function () {
|
|
151
|
+
return JSON.stringify(columns.value);
|
|
152
|
+
}, function () {
|
|
153
|
+
createValidator();
|
|
154
|
+
});
|
|
155
|
+
}
|
|
88
156
|
return {
|
|
89
157
|
validate: validate,
|
|
90
158
|
validateItem: validateItem,
|
|
91
159
|
errorMap: errorMap,
|
|
92
|
-
rules: rules
|
|
160
|
+
rules: rules,
|
|
161
|
+
recreateValidator: recreateValidator,
|
|
162
|
+
clearErrors: clearErrors
|
|
93
163
|
};
|
|
94
164
|
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useVirtualTreeTable = useVirtualTreeTable;
|
|
8
|
+
var _vue = require("vue");
|
|
9
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
10
|
+
var _vcVirtualList = _interopRequireDefault(require("ant-design-vue/lib/vc-virtual-list"));
|
|
11
|
+
function useVirtualTreeTable(options) {
|
|
12
|
+
var treeData = options.treeData,
|
|
13
|
+
columns = options.columns,
|
|
14
|
+
_options$rowKey = options.rowKey,
|
|
15
|
+
rowKey = _options$rowKey === void 0 ? 'key' : _options$rowKey,
|
|
16
|
+
_options$rowHeight = options.rowHeight,
|
|
17
|
+
rowHeight = _options$rowHeight === void 0 ? 48 : _options$rowHeight,
|
|
18
|
+
_options$scrollY = options.scrollY,
|
|
19
|
+
scrollY = _options$scrollY === void 0 ? 400 : _options$scrollY;
|
|
20
|
+
/** ----------------------------
|
|
21
|
+
* 展开状态
|
|
22
|
+
----------------------------- */
|
|
23
|
+
var expandedKeys = (0, _vue.ref)(new Set());
|
|
24
|
+
var toggleExpand = function toggleExpand(key) {
|
|
25
|
+
if (expandedKeys.value.has(key)) {
|
|
26
|
+
expandedKeys.value.delete(key);
|
|
27
|
+
} else {
|
|
28
|
+
expandedKeys.value.add(key);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/** ----------------------------
|
|
32
|
+
* Tree → Flat
|
|
33
|
+
----------------------------- */
|
|
34
|
+
function flattenTree(nodes) {
|
|
35
|
+
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
36
|
+
var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
37
|
+
var _iterator = (0, _createForOfIteratorHelper2.default)(nodes),
|
|
38
|
+
_step;
|
|
39
|
+
try {
|
|
40
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
41
|
+
var node = _step.value;
|
|
42
|
+
var key = node[rowKey];
|
|
43
|
+
var isLeaf = !node.children || node.children.length === 0;
|
|
44
|
+
result.push({
|
|
45
|
+
key: key,
|
|
46
|
+
record: node,
|
|
47
|
+
level: level,
|
|
48
|
+
isLeaf: isLeaf
|
|
49
|
+
});
|
|
50
|
+
if (!isLeaf && expandedKeys.value.has(key)) {
|
|
51
|
+
flattenTree(node.children, level + 1, result);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
} catch (err) {
|
|
55
|
+
_iterator.e(err);
|
|
56
|
+
} finally {
|
|
57
|
+
_iterator.f();
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
var flatData = (0, _vue.computed)(function () {
|
|
62
|
+
return flattenTree(treeData.value || []);
|
|
63
|
+
});
|
|
64
|
+
/** ----------------------------
|
|
65
|
+
* Virtual Body 工厂
|
|
66
|
+
----------------------------- */
|
|
67
|
+
var VirtualBody = (0, _vue.defineComponent)({
|
|
68
|
+
name: 'VirtualTableBody',
|
|
69
|
+
setup: function setup() {
|
|
70
|
+
return function () {
|
|
71
|
+
return (0, _vue.createVNode)(_vcVirtualList.default, {
|
|
72
|
+
"data": flatData.value,
|
|
73
|
+
"height": scrollY,
|
|
74
|
+
"itemHeight": rowHeight,
|
|
75
|
+
"itemKey": "key"
|
|
76
|
+
}, {
|
|
77
|
+
default: function _default(item) {
|
|
78
|
+
return (0, _vue.createVNode)("tr", null, [columns.value.map(function (col, index) {
|
|
79
|
+
if (index === 0) {
|
|
80
|
+
return (0, _vue.createVNode)("td", null, [(0, _vue.createVNode)("div", {
|
|
81
|
+
"style": {
|
|
82
|
+
paddingLeft: "".concat(item.level * 16, "px"),
|
|
83
|
+
display: 'flex',
|
|
84
|
+
alignItems: 'center'
|
|
85
|
+
}
|
|
86
|
+
}, [!item.isLeaf && (0, _vue.createVNode)("span", {
|
|
87
|
+
"style": {
|
|
88
|
+
cursor: 'pointer',
|
|
89
|
+
marginRight: '4px'
|
|
90
|
+
},
|
|
91
|
+
"onClick": function onClick() {
|
|
92
|
+
return toggleExpand(item.key);
|
|
93
|
+
}
|
|
94
|
+
}, [expandedKeys.value.has(item.key) ? '▼' : '▶']), (0, _vue.createVNode)("span", null, [item.record[col.dataIndex]])])]);
|
|
95
|
+
}
|
|
96
|
+
return (0, _vue.createVNode)("td", null, [item.record[col.dataIndex]]);
|
|
97
|
+
})]);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
/** ----------------------------
|
|
104
|
+
* 暴露给 Table 的 components
|
|
105
|
+
----------------------------- */
|
|
106
|
+
var components = {
|
|
107
|
+
body: {
|
|
108
|
+
wrapper: VirtualBody
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
return {
|
|
112
|
+
flatData: flatData,
|
|
113
|
+
expandedKeys: expandedKeys,
|
|
114
|
+
toggleExpand: toggleExpand,
|
|
115
|
+
components: components
|
|
116
|
+
};
|
|
117
|
+
}
|
package/lib/EditTable/index.js
CHANGED
|
@@ -6,13 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _EditTable = _interopRequireDefault(require("./EditTable.js"));
|
|
9
|
-
var _Body = _interopRequireDefault(require("./Body.js"));
|
|
10
|
-
var _Header = _interopRequireDefault(require("./Header.js"));
|
|
11
9
|
var _FormItem = _interopRequireDefault(require("./FormItem.js"));
|
|
12
10
|
_EditTable.default.install = function (app) {
|
|
13
11
|
app.component(_EditTable.default.name, _EditTable.default);
|
|
14
|
-
app.component(_Body.default.name, _Body.default);
|
|
15
|
-
app.component(_Header.default.name, _Header.default);
|
|
16
12
|
app.component(_FormItem.default.name, _FormItem.default);
|
|
17
13
|
};
|
|
18
14
|
var _default = exports.default = _EditTable.default;
|
|
@@ -9,7 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var genEditTableBodyStyle = exports.genEditTableBodyStyle = function genEditTableBodyStyle(config) {
|
|
10
10
|
var componentCls = config.componentCls,
|
|
11
11
|
token = config.token;
|
|
12
|
-
return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, '.jetlinks-edit-table-body-viewport', (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
12
|
+
return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, '.jetlinks-edit-table-body-viewport', (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
13
13
|
maxHeight: '100%',
|
|
14
14
|
width: '100%',
|
|
15
15
|
overflow: 'hidden auto',
|
|
@@ -56,5 +56,18 @@ var genEditTableBodyStyle = exports.genEditTableBodyStyle = function genEditTabl
|
|
|
56
56
|
width: '100%',
|
|
57
57
|
justifyContent: 'center',
|
|
58
58
|
paddingTop: 24
|
|
59
|
-
})
|
|
59
|
+
}), '.jetlinks-edit-table-body', (0, _defineProperty2.default)((0, _defineProperty2.default)({}, '.virtual-table-wrapper', (0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
60
|
+
height: '100%'
|
|
61
|
+
}, '.virtual-table-header', {
|
|
62
|
+
display: 'none' // 使用 EditTable 自己的 Header
|
|
63
|
+
}), '.virtual-table-body', {
|
|
64
|
+
height: '100%'
|
|
65
|
+
})), '.readonly-mask', {
|
|
66
|
+
position: 'absolute',
|
|
67
|
+
top: 0,
|
|
68
|
+
left: 0,
|
|
69
|
+
right: 0,
|
|
70
|
+
bottom: 0,
|
|
71
|
+
zIndex: 4
|
|
72
|
+
}));
|
|
60
73
|
};
|
|
@@ -11,8 +11,8 @@ var genEditTableFormItemStyle = exports.genEditTableFormItemStyle = function gen
|
|
|
11
11
|
token = config.token;
|
|
12
12
|
return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, '.jetlinks-table-form-error-target', {
|
|
13
13
|
position: 'absolute',
|
|
14
|
-
right: '
|
|
15
|
-
top: '
|
|
14
|
+
right: '0',
|
|
15
|
+
top: '0',
|
|
16
16
|
border: '16px solid transparent',
|
|
17
17
|
borderTopColor: token.colorError,
|
|
18
18
|
borderRightWidth: 0,
|
|
@@ -9,8 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var genEditTableHeaderStyle = exports.genEditTableHeaderStyle = function genEditTableHeaderStyle(config) {
|
|
10
10
|
var token = config.token;
|
|
11
11
|
return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, '.jetlinks-edit-table-header-container', (0, _defineProperty2.default)({
|
|
12
|
-
height: '100%'
|
|
13
|
-
position: 'relative'
|
|
12
|
+
height: '100%'
|
|
14
13
|
}, '.jetlinks-edit-table-header-cell', (0, _defineProperty2.default)({
|
|
15
14
|
height: '100%',
|
|
16
15
|
display: 'inline-flex',
|
|
@@ -18,6 +17,7 @@ var genEditTableHeaderStyle = exports.genEditTableHeaderStyle = function genEdit
|
|
|
18
17
|
float: 'left',
|
|
19
18
|
overflow: 'visible',
|
|
20
19
|
position: 'absolute',
|
|
20
|
+
background: '#fafafa',
|
|
21
21
|
top: 0
|
|
22
22
|
}, '.jetlinks-edit-table-header-cell-box', (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
23
23
|
padding: '0 12px',
|
|
@@ -24,7 +24,8 @@ var genTableStyle = exports.genTableStyle = function genTableStyle(config) {
|
|
|
24
24
|
overflow: 'auto hidden',
|
|
25
25
|
'.jetlinks-edit-table-header': {
|
|
26
26
|
overflow: 'hidden',
|
|
27
|
-
width: '100%'
|
|
27
|
+
width: '100%',
|
|
28
|
+
position: 'relative'
|
|
28
29
|
},
|
|
29
30
|
'.jetlinks-edit-table-body': {
|
|
30
31
|
backgroundColor: '#fff',
|
package/lib/Icon/icon.js
CHANGED
|
@@ -12,9 +12,9 @@ var _iconsVue = _interopRequireWildcard(require("@ant-design/icons-vue/lib/icons
|
|
|
12
12
|
var aIcon = _iconsVue;
|
|
13
13
|
var _constants = require("../utils/constants");
|
|
14
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
15
|
-
var MyIcon = (
|
|
16
|
-
|
|
17
|
-
}
|
|
15
|
+
var MyIcon = function MyIcon() {
|
|
16
|
+
return function () {};
|
|
17
|
+
};
|
|
18
18
|
var AntdIcon = function AntdIcon(props) {
|
|
19
19
|
return (0, _vue.createVNode)(aIcon[props.type]);
|
|
20
20
|
};
|
package/lib/ProTable/Content.js
CHANGED
|
@@ -169,14 +169,13 @@ const __sfc_main__ = _defineComponent({
|
|
|
169
169
|
]))
|
|
170
170
|
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
|
|
171
171
|
(props.type === 'TREE')
|
|
172
|
-
? (_openBlock(), _createBlock(_unref(JVirtualTable), {
|
|
173
|
-
key: 0,
|
|
172
|
+
? (_openBlock(), _createBlock(_unref(JVirtualTable), _mergeProps({ key: 0 }, props, {
|
|
174
173
|
rowKey: _ctx.rowKey,
|
|
175
174
|
"row-selection": __rowSelection.value,
|
|
176
175
|
dataSource: _ctx.dataSource,
|
|
177
176
|
columns: _columns.value,
|
|
178
177
|
height: _ctx.height
|
|
179
|
-
}, _createSlots({
|
|
178
|
+
}), _createSlots({
|
|
180
179
|
bodyCell: _withCtx(({ column, record, index }) => [
|
|
181
180
|
((_optionalChain([column, 'optionalAccess', _26 => _26.key]) || _optionalChain([column, 'optionalAccess', _27 => _27.dataIndex])) && _optionalChain([column, 'optionalAccess', _28 => _28.scopedSlots]) && (_optionalChain([_slots, 'access', _29 => _29.value, 'optionalAccess', _30 => _30[_optionalChain([column, 'optionalAccess', _31 => _31.dataIndex])]]) || _optionalChain([_slots, 'access', _32 => _32.value, 'optionalAccess', _33 => _33[_optionalChain([column, 'optionalAccess', _34 => _34.key])]])))
|
|
182
181
|
? _renderSlot(_ctx.$slots, _optionalChain([column, 'optionalAccess', _35 => _35.key]) || _optionalChain([column, 'optionalAccess', _36 => _36.dataIndex]), _mergeProps({ key: 0 }, record, {
|
|
@@ -204,7 +203,7 @@ const __sfc_main__ = _defineComponent({
|
|
|
204
203
|
])
|
|
205
204
|
};
|
|
206
205
|
})
|
|
207
|
-
]),
|
|
206
|
+
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["rowKey", "row-selection", "dataSource", "columns", "height"]))
|
|
208
207
|
: (_openBlock(), _createBlock(_unref(Table), _mergeProps({ key: 1 }, props, {
|
|
209
208
|
"row-selection": __rowSelection.value,
|
|
210
209
|
dataSource: _ctx.dataSource,
|
package/lib/ProTable/ProTable.js
CHANGED
|
@@ -299,6 +299,11 @@ const __sfc_main__ = _defineComponent({
|
|
|
299
299
|
watch(() => props.params, (newValue) => {
|
|
300
300
|
_debounceFn(newValue || {});
|
|
301
301
|
}, { deep: true, immediate: true });
|
|
302
|
+
watch(props.modeValue, (newValue) => {
|
|
303
|
+
if (newValue) {
|
|
304
|
+
_mode.value = newValue;
|
|
305
|
+
}
|
|
306
|
+
}, { immediate: true });
|
|
302
307
|
watch(() => props.dataSource, (newVal) => {
|
|
303
308
|
if (newVal && !props.request) {
|
|
304
309
|
handleSearch(props.params);
|
package/lib/ProTable/setting.js
CHANGED
|
@@ -137,7 +137,7 @@ const __sfc_main__ = _defineComponent({
|
|
|
137
137
|
default: undefined,
|
|
138
138
|
}
|
|
139
139
|
},
|
|
140
|
-
emits: ['search'],
|
|
140
|
+
emits: ['search', 'reset'],
|
|
141
141
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
142
142
|
const props = __props;
|
|
143
143
|
const emit = __emit;
|
|
@@ -203,6 +203,7 @@ const __sfc_main__ = _defineComponent({
|
|
|
203
203
|
target.value = null;
|
|
204
204
|
}
|
|
205
205
|
emit('search', { terms: [] });
|
|
206
|
+
emit('reset', { terms: [] });
|
|
206
207
|
};
|
|
207
208
|
/**
|
|
208
209
|
* 历史下拉单选
|
package/lib/Search/Search.js
CHANGED
|
@@ -55,7 +55,7 @@ const __sfc_main__ = _defineComponent({
|
|
|
55
55
|
props: {
|
|
56
56
|
...searchProps()
|
|
57
57
|
},
|
|
58
|
-
emits: ['search'],
|
|
58
|
+
emits: ['search', 'reset'],
|
|
59
59
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
60
60
|
const props = __props;
|
|
61
61
|
const emit = __emit;
|
|
@@ -80,6 +80,7 @@ const __sfc_main__ = _defineComponent({
|
|
|
80
80
|
};
|
|
81
81
|
const reset = () => {
|
|
82
82
|
initValues();
|
|
83
|
+
emit('reset');
|
|
83
84
|
};
|
|
84
85
|
const handleDefaultValues = (value) => {
|
|
85
86
|
const isObject = Object.prototype.toString.call(value) === '[object Object]';
|