vxe-table 3.5.9-beta.2 → 3.5.9-beta.5
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 +3 -3
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/form/src/form.js +12 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/grid/src/grid.js +11 -6
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.umd.js +104 -41
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +12 -7
- package/lib/list/src/list.min.js +1 -1
- package/lib/loading/index.js +19 -0
- package/lib/loading/index.min.js +1 -0
- package/lib/loading/src/loading.js +36 -0
- package/lib/loading/src/loading.min.js +1 -0
- package/lib/locale/lang/en-US.js +3 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +3 -0
- package/lib/locale/lang/ja-JP.js +3 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -0
- package/lib/locale/lang/zh-CN.js +3 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -0
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +3 -0
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +3 -0
- package/lib/locale/lang/zh-TC.js +3 -0
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +3 -0
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +3 -0
- package/lib/modal/src/modal.js +12 -7
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/select/style/style.css +0 -69
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/methods.js +5 -2
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +12 -8
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +0 -68
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/style/style.css +13 -10
- package/lib/toolbar/style/style.min.css +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/conf.js +4 -0
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/style/style.css +590 -0
- package/lib/v-x-e-table/style/style.min.css +1 -0
- package/package.json +1 -1
- package/packages/edit/src/mixin.js +3 -2
- package/packages/form/src/form.js +10 -9
- package/packages/grid/src/grid.js +7 -4
- package/packages/list/src/list.js +10 -9
- package/packages/loading/index.js +9 -0
- package/packages/loading/src/loading.js +31 -0
- package/packages/locale/lang/en-US.js +3 -0
- package/packages/locale/lang/ja-JP.js +3 -0
- package/packages/locale/lang/zh-CN.js +3 -0
- package/packages/locale/lang/zh-TC.js +3 -0
- package/packages/modal/src/modal.js +10 -9
- package/packages/table/src/methods.js +4 -2
- package/packages/table/src/table.js +10 -9
- package/packages/v-x-e-table/src/conf.js +4 -0
- package/styles/{base/loading.scss → loading.scss} +17 -4
- package/styles/modules.scss +1 -0
- package/styles/select.scss +0 -1
- package/styles/table.scss +0 -1
- package/styles/toolbar.scss +9 -5
- package/styles/v-x-e-table.scss +2 -0
- package/styles/variable.scss +0 -4
- package/types/table.d.ts +5 -0
|
@@ -226,7 +226,7 @@ export default {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
if (editConfig) {
|
|
229
|
-
tableProps.editConfig = Object.assign({}, editConfig, {
|
|
229
|
+
tableProps.editConfig = Object.assign({}, editConfig, { beforeEditMethod: this.handleBeforeEditMethod })
|
|
230
230
|
}
|
|
231
231
|
return tableProps
|
|
232
232
|
}
|
|
@@ -400,10 +400,13 @@ export default {
|
|
|
400
400
|
clss.push(rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : '')
|
|
401
401
|
return clss
|
|
402
402
|
},
|
|
403
|
-
|
|
403
|
+
handleBeforeEditMethod (params) {
|
|
404
404
|
const { editConfig } = this
|
|
405
|
-
const
|
|
406
|
-
|
|
405
|
+
const beforeEditMethod = editConfig ? (editConfig.beforeEditMethod || editConfig.activeMethod) : null
|
|
406
|
+
if (this.pendingRecords.indexOf(params.row) === -1) {
|
|
407
|
+
return !beforeEditMethod || beforeEditMethod({ ...params, $grid: this })
|
|
408
|
+
}
|
|
409
|
+
return false
|
|
407
410
|
},
|
|
408
411
|
initToolbar () {
|
|
409
412
|
this.$nextTick(() => {
|
|
@@ -4,6 +4,7 @@ import vSize from '../../mixins/size'
|
|
|
4
4
|
import { createResizeEvent } from '../../tools/resize'
|
|
5
5
|
import { GlobalEvent } from '../../tools/event'
|
|
6
6
|
import { browse } from '../../tools/dom'
|
|
7
|
+
import VxeLoading from '../../loading/index'
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
name: 'VxeList',
|
|
@@ -113,15 +114,15 @@ export default {
|
|
|
113
114
|
}
|
|
114
115
|
}, $scopedSlots.default ? $scopedSlots.default.call(this, { items, $list: this }, h) : [])
|
|
115
116
|
]),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
117
|
+
/**
|
|
118
|
+
* 加载中
|
|
119
|
+
*/
|
|
120
|
+
h(VxeLoading, {
|
|
121
|
+
class: 'vxe-list--loading',
|
|
122
|
+
props: {
|
|
123
|
+
loading
|
|
124
|
+
}
|
|
125
|
+
})
|
|
125
126
|
])
|
|
126
127
|
},
|
|
127
128
|
methods: {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
name: 'VxeLoading',
|
|
5
|
+
props: {
|
|
6
|
+
loading: Boolean
|
|
7
|
+
},
|
|
8
|
+
render (h) {
|
|
9
|
+
const icon = GlobalConfig.icon.LOADING
|
|
10
|
+
const loadingText = GlobalConfig.loadingText
|
|
11
|
+
const text = loadingText === null ? loadingText : GlobalConfig.i18n('vxe.loading.text')
|
|
12
|
+
return h('div', {
|
|
13
|
+
class: ['vxe-loading', {
|
|
14
|
+
'is--visible': this.loading
|
|
15
|
+
}]
|
|
16
|
+
}, [
|
|
17
|
+
h('div', {
|
|
18
|
+
class: 'vxe-loading--chunk'
|
|
19
|
+
}, [
|
|
20
|
+
icon ? h('i', {
|
|
21
|
+
class: icon
|
|
22
|
+
}) : h('div', {
|
|
23
|
+
class: 'vxe-loading--spinner'
|
|
24
|
+
}),
|
|
25
|
+
text ? h('div', {
|
|
26
|
+
class: 'vxe-loading--text'
|
|
27
|
+
}, `${text}`) : null
|
|
28
|
+
])
|
|
29
|
+
])
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -5,6 +5,7 @@ import UtilTools, { getFuncText } from '../../tools/utils'
|
|
|
5
5
|
import DomTools from '../../tools/dom'
|
|
6
6
|
import { GlobalEvent } from '../../tools/event'
|
|
7
7
|
import { errLog } from '../../tools/log'
|
|
8
|
+
import VxeLoading from '../../loading/index'
|
|
8
9
|
|
|
9
10
|
export const allActivedModals = []
|
|
10
11
|
export const msgQueue = []
|
|
@@ -203,15 +204,15 @@ export default {
|
|
|
203
204
|
h('div', {
|
|
204
205
|
class: 'vxe-modal--content'
|
|
205
206
|
}, defaultSlot ? (!inited || (destroyOnClose && !visible) ? [] : defaultSlot.call(this, { $modal: this }, h)) : getFuncText(content)),
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
207
|
+
/**
|
|
208
|
+
* 加载中
|
|
209
|
+
*/
|
|
210
|
+
!isMsg ? h(VxeLoading, {
|
|
211
|
+
class: 'vxe-modal--loading',
|
|
212
|
+
props: {
|
|
213
|
+
loading
|
|
214
|
+
}
|
|
215
|
+
}) : null
|
|
215
216
|
]),
|
|
216
217
|
showFooter ? h('div', {
|
|
217
218
|
class: 'vxe-modal--footer'
|
|
@@ -1312,8 +1312,9 @@ const Methods = {
|
|
|
1312
1312
|
* 根据行的唯一主键获取行
|
|
1313
1313
|
* @param {String/Number} rowid 行主键
|
|
1314
1314
|
*/
|
|
1315
|
-
getRowById (
|
|
1315
|
+
getRowById (cellValue) {
|
|
1316
1316
|
const fullDataRowIdData = this.fullDataRowIdData
|
|
1317
|
+
const rowid = XEUtils.eqNull(cellValue) ? '' : encodeURIComponent(cellValue)
|
|
1317
1318
|
return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].row : null
|
|
1318
1319
|
},
|
|
1319
1320
|
/**
|
|
@@ -2472,7 +2473,8 @@ const Methods = {
|
|
|
2472
2473
|
// }
|
|
2473
2474
|
// 如果是按下非功能键之外允许直接编辑
|
|
2474
2475
|
if (selected.column && selected.row && isEnableConf(selected.column.editRender)) {
|
|
2475
|
-
|
|
2476
|
+
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
|
|
2477
|
+
if (!beforeEditMethod || beforeEditMethod({ ...selected.args, $table: this })) {
|
|
2476
2478
|
if (editMethod) {
|
|
2477
2479
|
editMethod({
|
|
2478
2480
|
row: selected.row,
|
|
@@ -9,6 +9,7 @@ import { createResizeEvent } from '../../tools/resize'
|
|
|
9
9
|
import { GlobalEvent } from '../../tools/event'
|
|
10
10
|
import methods from './methods'
|
|
11
11
|
import { warnLog, errLog } from '../../tools/log'
|
|
12
|
+
import VxeLoading from '../../loading/index'
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* 渲染浮固定列
|
|
@@ -829,6 +830,9 @@ export default {
|
|
|
829
830
|
if (this.emptyRender && !XEUtils.isObject(this.emptyRender)) {
|
|
830
831
|
warnLog('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}'])
|
|
831
832
|
}
|
|
833
|
+
// if (this.editConfig && this.editConfig.activeMethod) {
|
|
834
|
+
// warnLog('vxe.error.delProp', ['table.edit-config.activeMethod', 'table.edit-config.beforeEditMethod'])
|
|
835
|
+
// }
|
|
832
836
|
}
|
|
833
837
|
|
|
834
838
|
// 检查是否有安装需要的模块
|
|
@@ -1083,15 +1087,12 @@ export default {
|
|
|
1083
1087
|
/**
|
|
1084
1088
|
* 加载中
|
|
1085
1089
|
*/
|
|
1086
|
-
h(
|
|
1087
|
-
class:
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
class: 'vxe-loading--spinner'
|
|
1093
|
-
})
|
|
1094
|
-
]),
|
|
1090
|
+
h(VxeLoading, {
|
|
1091
|
+
class: 'vxe-table--loading',
|
|
1092
|
+
props: {
|
|
1093
|
+
loading
|
|
1094
|
+
}
|
|
1095
|
+
}),
|
|
1095
1096
|
/**
|
|
1096
1097
|
* 筛选
|
|
1097
1098
|
*/
|
|
@@ -6,6 +6,7 @@ export default {
|
|
|
6
6
|
version: 0, // 版本号,对于某些带数据缓存的功能有用到,上升版本号可以用于重置数据
|
|
7
7
|
// resizeInterval: 500,
|
|
8
8
|
emptyCell: ' ',
|
|
9
|
+
loadingText: null, // 自定义loading提示内容,如果为null则不显示文本
|
|
9
10
|
table: {
|
|
10
11
|
fit: true,
|
|
11
12
|
showHeader: true,
|
|
@@ -123,6 +124,9 @@ export default {
|
|
|
123
124
|
types: {}
|
|
124
125
|
},
|
|
125
126
|
icon: {
|
|
127
|
+
// loading
|
|
128
|
+
// LOADING: iconPrefix + 'refresh roll vxe-loading--default-icon',
|
|
129
|
+
|
|
126
130
|
// table
|
|
127
131
|
TABLE_SORT_ASC: iconPrefix + 'caret-top',
|
|
128
132
|
TABLE_SORT_DESC: iconPrefix + 'caret-bottom',
|
|
@@ -12,13 +12,26 @@
|
|
|
12
12
|
&.is--visible {
|
|
13
13
|
display: block;
|
|
14
14
|
}
|
|
15
|
+
& > .vxe-loading--chunk {
|
|
16
|
+
width: 100%;
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 50%;
|
|
19
|
+
left: 0;
|
|
20
|
+
transform: translateY(-50%);
|
|
21
|
+
text-align: center;
|
|
22
|
+
color: $vxe-primary-color;
|
|
23
|
+
}
|
|
24
|
+
.vxe-loading--default-icon {
|
|
25
|
+
font-size: 1.2em;
|
|
26
|
+
}
|
|
27
|
+
.vxe-loading--text {
|
|
28
|
+
padding: 0.4em 0;
|
|
29
|
+
}
|
|
15
30
|
.vxe-loading--spinner {
|
|
31
|
+
display: inline-block;
|
|
32
|
+
position: relative;
|
|
16
33
|
width: 56px;
|
|
17
34
|
height: 56px;
|
|
18
|
-
position: absolute;
|
|
19
|
-
top: 50%;
|
|
20
|
-
left: 50%;
|
|
21
|
-
transform: translate(-50%, -50%);
|
|
22
35
|
&:before,
|
|
23
36
|
&:after {
|
|
24
37
|
content: "";
|
package/styles/modules.scss
CHANGED
package/styles/select.scss
CHANGED
package/styles/table.scss
CHANGED
package/styles/toolbar.scss
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
display: flex;
|
|
8
8
|
flex-direction: row;
|
|
9
9
|
align-items: center;
|
|
10
|
+
margin: 0.6em 0;
|
|
10
11
|
color: $vxe-font-color;
|
|
11
12
|
font-family: $vxe-font-family;
|
|
12
13
|
background-color: $vxe-toolbar-background-color;
|
|
@@ -64,12 +65,19 @@
|
|
|
64
65
|
justify-content: center;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
.vxe-buttons--wrapper,
|
|
67
69
|
.vxe-tools--wrapper,
|
|
68
70
|
.vxe-tools--operate {
|
|
69
71
|
display: flex;
|
|
70
|
-
flex-shrink: 0;
|
|
71
72
|
align-items: center;
|
|
72
73
|
}
|
|
74
|
+
.vxe-buttons--wrapper,
|
|
75
|
+
.vxe-tools--wrapper {
|
|
76
|
+
flex-wrap: wrap;
|
|
77
|
+
}
|
|
78
|
+
.vxe-tools--operate {
|
|
79
|
+
flex-shrink: 0;
|
|
80
|
+
}
|
|
73
81
|
.vxe-custom--wrapper {
|
|
74
82
|
position: relative;
|
|
75
83
|
margin-left: 0.8em;
|
|
@@ -171,7 +179,6 @@
|
|
|
171
179
|
|
|
172
180
|
.vxe-toolbar {
|
|
173
181
|
font-size: $vxe-font-size;
|
|
174
|
-
height: $vxe-toolbar-height-default;
|
|
175
182
|
.vxe-custom--option {
|
|
176
183
|
& > .vxe-checkbox--icon {
|
|
177
184
|
font-size: $vxe-checkbox-font-size-default;
|
|
@@ -179,7 +186,6 @@
|
|
|
179
186
|
}
|
|
180
187
|
&.size--medium {
|
|
181
188
|
font-size: $vxe-font-size-medium;
|
|
182
|
-
height: $vxe-toolbar-height-medium;
|
|
183
189
|
.vxe-custom--option {
|
|
184
190
|
& > .vxe-checkbox--icon {
|
|
185
191
|
font-size: $vxe-checkbox-font-size-medium;
|
|
@@ -188,7 +194,6 @@
|
|
|
188
194
|
}
|
|
189
195
|
&.size--small {
|
|
190
196
|
font-size: $vxe-font-size-small;
|
|
191
|
-
height: $vxe-toolbar-height-small;
|
|
192
197
|
.vxe-custom--option {
|
|
193
198
|
& > .vxe-checkbox--icon {
|
|
194
199
|
font-size: $vxe-checkbox-font-size-small;
|
|
@@ -197,7 +202,6 @@
|
|
|
197
202
|
}
|
|
198
203
|
&.size--mini {
|
|
199
204
|
font-size: $vxe-font-size-mini;
|
|
200
|
-
height: $vxe-toolbar-height-mini;
|
|
201
205
|
.vxe-custom--option {
|
|
202
206
|
& > .vxe-checkbox--icon {
|
|
203
207
|
font-size: $vxe-checkbox-font-size-mini;
|
package/styles/v-x-e-table.scss
CHANGED
package/styles/variable.scss
CHANGED
|
@@ -121,10 +121,6 @@ $vxe-grid-maximize-background-color: #fff !default;
|
|
|
121
121
|
|
|
122
122
|
/*toolbar*/
|
|
123
123
|
$vxe-toolbar-background-color: #fff !default;
|
|
124
|
-
$vxe-toolbar-height-default: 52px !default;
|
|
125
|
-
$vxe-toolbar-height-medium: 50px !default;
|
|
126
|
-
$vxe-toolbar-height-small: 48px !default;
|
|
127
|
-
$vxe-toolbar-height-mini: 46px !default;
|
|
128
124
|
$vxe-toolbar-custom-active-background-color: #D9DADB !default;
|
|
129
125
|
$vxe-toolbar-panel-background-color: #fff !default;
|
|
130
126
|
|
package/types/table.d.ts
CHANGED
|
@@ -1426,6 +1426,11 @@ export interface TableEditConfig {
|
|
|
1426
1426
|
/**
|
|
1427
1427
|
* 该方法的返回值用来决定该单元格是否允许编辑
|
|
1428
1428
|
*/
|
|
1429
|
+
beforeEditMethod?(params: { row: RowInfo, rowIndex: number, column: ColumnInfo, columnIndex: number }): boolean;
|
|
1430
|
+
/**
|
|
1431
|
+
* 请使用 beforeEditMethod
|
|
1432
|
+
* @deprecated
|
|
1433
|
+
*/
|
|
1429
1434
|
activeMethod?(params: { row: RowInfo, rowIndex: number, column: ColumnInfo, columnIndex: number }): boolean;
|
|
1430
1435
|
}
|
|
1431
1436
|
export interface EditConfig extends TableEditConfig {}
|