vxe-table 3.7.0-beta.11 → 3.7.0-beta.12
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/lib/edit/src/mixin.js +5 -0
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.umd.js +67 -35
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +5 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +12 -12
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +40 -13
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +6 -0
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/commands.js +1 -1
- package/lib/v-x-e-table/src/commands.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +2 -2
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/formats.js +1 -1
- package/lib/v-x-e-table/src/formats.min.js +1 -1
- package/lib/v-x-e-table/src/menus.js +1 -1
- package/lib/v-x-e-table/src/menus.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +4 -4
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/package.json +3 -3
- package/packages/edit/src/mixin.js +5 -0
- package/packages/table/src/body.js +5 -5
- package/packages/table/src/cell.js +8 -7
- package/packages/table/src/methods.js +38 -9
- package/packages/table/src/table.js +6 -0
- package/packages/table/src/util.js +1 -1
- package/packages/v-x-e-table/src/commands.js +1 -1
- package/packages/v-x-e-table/src/conf.js +2 -2
- package/packages/v-x-e-table/src/formats.js +1 -1
- package/packages/v-x-e-table/src/menus.js +1 -1
- package/packages/v-x-e-table/src/renderer.js +4 -4
- package/types/table.d.ts +7 -1
- package/types/v-x-e-table/index.d.ts +1 -1
- /package/lib/icon/style/{iconfont.1691021948915.ttf → iconfont.1692433325378.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1691021948915.woff → iconfont.1692433325378.woff} +0 -0
- /package/lib/icon/style/{iconfont.1691021948915.woff2 → iconfont.1692433325378.woff2} +0 -0
- /package/lib/{iconfont.1691021948915.ttf → iconfont.1692433325378.ttf} +0 -0
- /package/lib/{iconfont.1691021948915.woff → iconfont.1692433325378.woff} +0 -0
- /package/lib/{iconfont.1691021948915.woff2 → iconfont.1692433325378.woff2} +0 -0
|
@@ -3080,8 +3080,25 @@ const Methods = {
|
|
|
3080
3080
|
}
|
|
3081
3081
|
},
|
|
3082
3082
|
triggerCheckRowEvent (evnt, params, value) {
|
|
3083
|
-
const {
|
|
3084
|
-
|
|
3083
|
+
const { checkboxOpts, afterFullData } = this
|
|
3084
|
+
const { checkMethod } = checkboxOpts
|
|
3085
|
+
const { row } = params
|
|
3086
|
+
if (checkboxOpts.isShiftKey && evnt.shiftKey && !this.treeConfig) {
|
|
3087
|
+
const checkboxRecords = this.getCheckboxRecords()
|
|
3088
|
+
if (checkboxRecords.length) {
|
|
3089
|
+
const firstRow = checkboxRecords[0]
|
|
3090
|
+
const _rowIndex = this.getVTRowIndex(row)
|
|
3091
|
+
const _firstRowIndex = this.getVTRowIndex(firstRow)
|
|
3092
|
+
if (_rowIndex !== _firstRowIndex) {
|
|
3093
|
+
this.setAllCheckboxRow(false)
|
|
3094
|
+
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1)
|
|
3095
|
+
this.handleCheckedCheckboxRow(rangeRows, true, false)
|
|
3096
|
+
this.emitEvent('checkbox-range-select', Object.assign({ rangeRecords: rangeRows }, params), evnt)
|
|
3097
|
+
return
|
|
3098
|
+
}
|
|
3099
|
+
}
|
|
3100
|
+
}
|
|
3101
|
+
if (!checkMethod || checkMethod({ row })) {
|
|
3085
3102
|
this.handleSelectRow(params, value)
|
|
3086
3103
|
this.emitEvent('checkbox-change', Object.assign({
|
|
3087
3104
|
records: this.getCheckboxRecords(),
|
|
@@ -3104,6 +3121,7 @@ const Methods = {
|
|
|
3104
3121
|
handleCheckedAllCheckboxRow (value, isForce) {
|
|
3105
3122
|
const { afterFullData, treeConfig, treeOpts, selectCheckboxRows, checkboxReserveRowMap, checkboxOpts } = this
|
|
3106
3123
|
const { checkField, reserve, checkStrictly, checkMethod } = checkboxOpts
|
|
3124
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
|
|
3107
3125
|
let selectRows = []
|
|
3108
3126
|
const beforeSelection = treeConfig ? [] : selectCheckboxRows.filter(row => this.findRowIndexOf(afterFullData, row) === -1)
|
|
3109
3127
|
if (checkStrictly) {
|
|
@@ -3121,6 +3139,9 @@ const Methods = {
|
|
|
3121
3139
|
}
|
|
3122
3140
|
XEUtils.set(row, checkField, value)
|
|
3123
3141
|
}
|
|
3142
|
+
if (treeConfig && indeterminateField) {
|
|
3143
|
+
XEUtils.set(row, indeterminateField, false)
|
|
3144
|
+
}
|
|
3124
3145
|
}
|
|
3125
3146
|
// 如果存在选中方法
|
|
3126
3147
|
// 如果方法成立,则更新值,否则忽略该数据
|
|
@@ -3206,7 +3227,8 @@ const Methods = {
|
|
|
3206
3227
|
},
|
|
3207
3228
|
checkSelectionStatus () {
|
|
3208
3229
|
const { afterFullData, selectCheckboxRows, treeIndeterminates, checkboxOpts, treeConfig } = this
|
|
3209
|
-
const { checkField,
|
|
3230
|
+
const { checkField, checkStrictly, checkMethod } = checkboxOpts
|
|
3231
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
|
|
3210
3232
|
if (!checkStrictly) {
|
|
3211
3233
|
const disableRows = []
|
|
3212
3234
|
const checkRows = []
|
|
@@ -3231,14 +3253,14 @@ const Methods = {
|
|
|
3231
3253
|
)
|
|
3232
3254
|
isAllSelected = isAllResolve && afterFullData.length !== disableRows.length
|
|
3233
3255
|
if (treeConfig) {
|
|
3234
|
-
if (
|
|
3235
|
-
isIndeterminate = !isAllSelected && afterFullData.some(row => XEUtils.get(row, checkField) || XEUtils.get(row,
|
|
3256
|
+
if (indeterminateField) {
|
|
3257
|
+
isIndeterminate = !isAllSelected && afterFullData.some(row => XEUtils.get(row, checkField) || XEUtils.get(row, indeterminateField) || this.findRowIndexOf(treeIndeterminates, row) > -1)
|
|
3236
3258
|
} else {
|
|
3237
3259
|
isIndeterminate = !isAllSelected && afterFullData.some(row => XEUtils.get(row, checkField) || this.findRowIndexOf(treeIndeterminates, row) > -1)
|
|
3238
3260
|
}
|
|
3239
3261
|
} else {
|
|
3240
|
-
if (
|
|
3241
|
-
isIndeterminate = !isAllSelected && afterFullData.some(row => XEUtils.get(row, checkField) || XEUtils.get(row,
|
|
3262
|
+
if (indeterminateField) {
|
|
3263
|
+
isIndeterminate = !isAllSelected && afterFullData.some(row => XEUtils.get(row, checkField) || XEUtils.get(row, indeterminateField))
|
|
3242
3264
|
} else {
|
|
3243
3265
|
isIndeterminate = !isAllSelected && afterFullData.some(row => XEUtils.get(row, checkField))
|
|
3244
3266
|
}
|
|
@@ -3411,11 +3433,18 @@ const Methods = {
|
|
|
3411
3433
|
clearCheckboxRow () {
|
|
3412
3434
|
const { tableFullData, treeConfig, treeOpts, checkboxOpts } = this
|
|
3413
3435
|
const { checkField, reserve } = checkboxOpts
|
|
3436
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
|
|
3414
3437
|
if (checkField) {
|
|
3438
|
+
const handleClearChecked = (item) => {
|
|
3439
|
+
if (treeConfig && indeterminateField) {
|
|
3440
|
+
XEUtils.set(item, indeterminateField, false)
|
|
3441
|
+
}
|
|
3442
|
+
XEUtils.set(item, checkField, false)
|
|
3443
|
+
}
|
|
3415
3444
|
if (treeConfig) {
|
|
3416
|
-
XEUtils.eachTree(tableFullData,
|
|
3445
|
+
XEUtils.eachTree(tableFullData, handleClearChecked, treeOpts)
|
|
3417
3446
|
} else {
|
|
3418
|
-
tableFullData.forEach(
|
|
3447
|
+
tableFullData.forEach(handleClearChecked)
|
|
3419
3448
|
}
|
|
3420
3449
|
}
|
|
3421
3450
|
if (reserve) {
|
|
@@ -885,6 +885,12 @@ export default {
|
|
|
885
885
|
if (this.editConfig && this.editOpts.activeMethod) {
|
|
886
886
|
warnLog('vxe.error.delProp', ['table.edit-config.activeMethod', 'table.edit-config.beforeEditMethod'])
|
|
887
887
|
}
|
|
888
|
+
if (this.treeConfig && this.checkboxOpts.isShiftKey) {
|
|
889
|
+
errLog('vxe.error.errConflicts', ['tree-config', 'checkbox-config.isShiftKey'])
|
|
890
|
+
}
|
|
891
|
+
if (this.checkboxOpts.halfField) {
|
|
892
|
+
warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
|
|
893
|
+
}
|
|
888
894
|
}
|
|
889
895
|
|
|
890
896
|
// 检查是否有安装需要的模块
|
|
@@ -160,7 +160,7 @@ function countTreeExpand (prevRow, params) {
|
|
|
160
160
|
const { treeOpts } = $table
|
|
161
161
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
162
162
|
const rowChildren = prevRow[childrenField]
|
|
163
|
-
if ($table.isTreeExpandByRow(prevRow)) {
|
|
163
|
+
if (rowChildren && $table.isTreeExpandByRow(prevRow)) {
|
|
164
164
|
for (let index = 0; index < rowChildren.length; index++) {
|
|
165
165
|
count += countTreeExpand(rowChildren[index], params)
|
|
166
166
|
}
|
|
@@ -22,7 +22,7 @@ class VXECommandsStore {
|
|
|
22
22
|
// 兼容
|
|
23
23
|
if (XEUtils.isFunction(render)) {
|
|
24
24
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
25
|
-
warnLog('vxe.error.delProp', ['callback', 'commandMethod'])
|
|
25
|
+
warnLog('vxe.error.delProp', ['commands -> callback', 'commandMethod'])
|
|
26
26
|
}
|
|
27
27
|
render = {
|
|
28
28
|
commandMethod: render
|
|
@@ -22,7 +22,7 @@ class VXEFormatsStore {
|
|
|
22
22
|
// 兼容
|
|
23
23
|
if (XEUtils.isFunction(render)) {
|
|
24
24
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
25
|
-
warnLog('vxe.error.delProp', ['callback', 'cellFormatMethod'])
|
|
25
|
+
warnLog('vxe.error.delProp', ['formats -> callback', 'cellFormatMethod'])
|
|
26
26
|
}
|
|
27
27
|
render = {
|
|
28
28
|
cellFormatMethod: render
|
|
@@ -22,7 +22,7 @@ class VXEMenusStore {
|
|
|
22
22
|
// 兼容
|
|
23
23
|
if (XEUtils.isFunction(render)) {
|
|
24
24
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
25
|
-
warnLog('vxe.error.delProp', ['callback', 'menuMethod'])
|
|
25
|
+
warnLog('vxe.error.delProp', ['menus -> callback', 'menuMethod'])
|
|
26
26
|
}
|
|
27
27
|
render = {
|
|
28
28
|
menuMethod: render
|
|
@@ -104,8 +104,8 @@ function getNativeOns (renderOpts, params) {
|
|
|
104
104
|
XEUtils.objectEach(nativeEvents, (func, key) => {
|
|
105
105
|
nativeOns[key] = function (...args) {
|
|
106
106
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
107
|
-
if (!XEUtils.isFunction(
|
|
108
|
-
errLog('vxe.error.errFunc', [
|
|
107
|
+
if (!XEUtils.isFunction(func)) {
|
|
108
|
+
errLog('vxe.error.errFunc', [func])
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
func(params, ...args)
|
|
@@ -123,8 +123,8 @@ function getOns (renderOpts, params, inputFunc, changeFunc) {
|
|
|
123
123
|
XEUtils.objectEach(events, (func, key) => {
|
|
124
124
|
ons[key] = function (...args) {
|
|
125
125
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
126
|
-
if (!XEUtils.isFunction(
|
|
127
|
-
errLog('vxe.error.errFunc', [
|
|
126
|
+
if (!XEUtils.isFunction(func)) {
|
|
127
|
+
errLog('vxe.error.errFunc', [func])
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
func(params, ...args)
|
package/types/table.d.ts
CHANGED
|
@@ -1340,7 +1340,7 @@ export interface TableCheckboxConfig {
|
|
|
1340
1340
|
reserve?: boolean;
|
|
1341
1341
|
labelField?: string;
|
|
1342
1342
|
checkField?: string;
|
|
1343
|
-
|
|
1343
|
+
indeterminateField?: string;
|
|
1344
1344
|
showHeader?: boolean;
|
|
1345
1345
|
checkAll?: boolean;
|
|
1346
1346
|
checkRowKeys?: string[] | number[];
|
|
@@ -1350,6 +1350,12 @@ export interface TableCheckboxConfig {
|
|
|
1350
1350
|
trigger?: 'default' | 'cell' | 'row' | '';
|
|
1351
1351
|
highlight?: boolean;
|
|
1352
1352
|
range?: boolean;
|
|
1353
|
+
|
|
1354
|
+
/**
|
|
1355
|
+
* 请使用 indeterminateField
|
|
1356
|
+
* @deprecated
|
|
1357
|
+
*/
|
|
1358
|
+
halfField?: string;
|
|
1353
1359
|
}
|
|
1354
1360
|
export type CheckboxConfig = TableCheckboxConfig
|
|
1355
1361
|
|
|
@@ -108,7 +108,7 @@ export interface VXETableCore {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
/**
|
|
111
|
-
* 一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON
|
|
111
|
+
* 一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式为低/零代码而设计...
|
|
112
112
|
*/
|
|
113
113
|
export const VXETable: VXETableCore
|
|
114
114
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|