vxe-table 4.16.19 → 4.17.0-beta.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/grid/src/grid.js +8 -0
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/filter/hook.js +108 -58
- package/es/table/module/filter/panel.js +45 -25
- package/es/table/render/index.js +93 -9
- package/es/table/src/cell.js +9 -3
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +14 -6
- package/es/table/src/header.js +118 -3
- package/es/table/src/props.js +2 -0
- package/es/table/src/table.js +29 -26
- package/es/table/src/util.js +8 -5
- package/es/table/style.css +2 -1
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/vn.js +11 -0
- package/es/vxe-table/style.css +2 -1
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +12 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +525 -137
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/filter/hook.js +123 -66
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +59 -26
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/render/index.js +109 -8
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +15 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +18 -5
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/header.js +133 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +2 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +10 -10
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +18 -14
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +2 -1
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/vn.js +12 -0
- package/lib/ui/src/vn.min.js +1 -1
- package/lib/vxe-table/style/style.css +2 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +8 -0
- package/packages/table/module/filter/hook.ts +110 -64
- package/packages/table/module/filter/panel.ts +56 -28
- package/packages/table/render/index.ts +110 -15
- package/packages/table/src/cell.ts +9 -3
- package/packages/table/src/column.ts +2 -0
- package/packages/table/src/columnInfo.ts +19 -7
- package/packages/table/src/header.ts +137 -8
- package/packages/table/src/props.ts +2 -0
- package/packages/table/src/table.ts +30 -26
- package/packages/table/src/util.ts +8 -5
- package/packages/ui/index.ts +3 -0
- package/packages/ui/src/vn.ts +12 -0
- package/styles/components/table-module/filter.scss +4 -1
- /package/es/{iconfont.1758609514163.ttf → iconfont.1759031444881.ttf} +0 -0
- /package/es/{iconfont.1758609514163.woff → iconfont.1759031444881.woff} +0 -0
- /package/es/{iconfont.1758609514163.woff2 → iconfont.1759031444881.woff2} +0 -0
- /package/lib/{iconfont.1758609514163.ttf → iconfont.1759031444881.ttf} +0 -0
- /package/lib/{iconfont.1758609514163.woff → iconfont.1759031444881.woff} +0 -0
- /package/lib/{iconfont.1758609514163.woff2 → iconfont.1759031444881.woff2} +0 -0
|
@@ -151,9 +151,7 @@ export default defineVxeComponent({
|
|
|
151
151
|
isAllSelected: false,
|
|
152
152
|
isIndeterminate: false,
|
|
153
153
|
style: null,
|
|
154
|
-
options: [],
|
|
155
154
|
column: null,
|
|
156
|
-
multiple: false,
|
|
157
155
|
visible: false,
|
|
158
156
|
maxHeight: null
|
|
159
157
|
},
|
|
@@ -613,6 +611,10 @@ export default defineVxeComponent({
|
|
|
613
611
|
return Object.assign({}, getConfig().table.filterConfig, props.filterConfig) as VxeTablePropTypes.FilterOpts
|
|
614
612
|
})
|
|
615
613
|
|
|
614
|
+
const computeFloatingFilterOpts = computed(() => {
|
|
615
|
+
return Object.assign({}, getConfig().table.floatingFilterConfig, props.floatingFilterConfig)
|
|
616
|
+
})
|
|
617
|
+
|
|
616
618
|
const computeMouseOpts = computed(() => {
|
|
617
619
|
return Object.assign({}, getConfig().table.mouseConfig, props.mouseConfig) as VxeTablePropTypes.MouseOpts
|
|
618
620
|
})
|
|
@@ -910,6 +912,7 @@ export default defineVxeComponent({
|
|
|
910
912
|
computeEditOpts,
|
|
911
913
|
computeSortOpts,
|
|
912
914
|
computeFilterOpts,
|
|
915
|
+
computeFloatingFilterOpts,
|
|
913
916
|
computeMouseOpts,
|
|
914
917
|
computeAreaOpts,
|
|
915
918
|
computeKeyboardOpts,
|
|
@@ -1785,7 +1788,7 @@ export default defineVxeComponent({
|
|
|
1785
1788
|
fullColFieldData[field] = rest
|
|
1786
1789
|
} else {
|
|
1787
1790
|
if (storage && !type) {
|
|
1788
|
-
errLog('vxe.error.reqSupportProp', ['storage',
|
|
1791
|
+
errLog('vxe.error.reqSupportProp', ['storage', `[${type ? `type=${type}` : `title=${column.getTitle()}`}]field=?`])
|
|
1789
1792
|
}
|
|
1790
1793
|
if (columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
|
|
1791
1794
|
errLog('vxe.error.reqSupportProp', ['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag', `${column.getTitle() || type || ''} -> field=?`])
|
|
@@ -6372,7 +6375,7 @@ export default defineVxeComponent({
|
|
|
6372
6375
|
setFilterByEvent (evnt, fieldOrColumn, options) {
|
|
6373
6376
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn)
|
|
6374
6377
|
if (column && column.filters) {
|
|
6375
|
-
column.filters = toFilters(options || [])
|
|
6378
|
+
column.filters = toFilters(options || [], column.id)
|
|
6376
6379
|
return $xeTable.handleColumnConfirmFilter(column, evnt)
|
|
6377
6380
|
}
|
|
6378
6381
|
return nextTick()
|
|
@@ -6386,13 +6389,13 @@ export default defineVxeComponent({
|
|
|
6386
6389
|
const { column, visible } = filterStore
|
|
6387
6390
|
filterStore.isAllSelected = false
|
|
6388
6391
|
filterStore.isIndeterminate = false
|
|
6389
|
-
filterStore.options = []
|
|
6390
6392
|
filterStore.visible = false
|
|
6391
6393
|
if (visible) {
|
|
6394
|
+
const field = column ? column.field : null
|
|
6392
6395
|
dispatchEvent('filter-visible', {
|
|
6393
6396
|
column,
|
|
6394
|
-
property:
|
|
6395
|
-
field
|
|
6397
|
+
property: field,
|
|
6398
|
+
field,
|
|
6396
6399
|
filterList: () => $xeTable.getCheckedFilters(),
|
|
6397
6400
|
visible: false
|
|
6398
6401
|
}, null)
|
|
@@ -7457,7 +7460,7 @@ export default defineVxeComponent({
|
|
|
7457
7460
|
* 全局按下事件处理
|
|
7458
7461
|
*/
|
|
7459
7462
|
const handleGlobalMousedownEvent = (evnt: MouseEvent) => {
|
|
7460
|
-
const { editStore, ctxMenuStore,
|
|
7463
|
+
const { editStore, ctxMenuStore, customStore } = reactData
|
|
7461
7464
|
const { mouseConfig, editRules } = props
|
|
7462
7465
|
const el = refElem.value
|
|
7463
7466
|
const editOpts = computeEditOpts.value
|
|
@@ -7476,7 +7479,7 @@ export default defineVxeComponent({
|
|
|
7476
7479
|
// 如果点击筛选容器
|
|
7477
7480
|
} else {
|
|
7478
7481
|
if (!getEventTargetNode(evnt, document.body, 'vxe-table--ignore-clear').flag) {
|
|
7479
|
-
tablePrivateMethods.preventEvent(evnt, 'event.clearFilter',
|
|
7482
|
+
tablePrivateMethods.preventEvent(evnt, 'event.clearFilter', internalData._currFilterParams, tableMethods.closeFilter)
|
|
7480
7483
|
}
|
|
7481
7484
|
}
|
|
7482
7485
|
}
|
|
@@ -8972,24 +8975,25 @@ export default defineVxeComponent({
|
|
|
8972
8975
|
reactData.reColumnFlag++
|
|
8973
8976
|
},
|
|
8974
8977
|
handleFilterOptions (column) {
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8979
|
-
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
|
|
8983
|
-
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
|
|
8987
|
-
|
|
8988
|
-
|
|
8978
|
+
if (column) {
|
|
8979
|
+
const { filterStore } = reactData
|
|
8980
|
+
const { filterRender, filters } = column
|
|
8981
|
+
const filterOptions = filters || []
|
|
8982
|
+
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
|
|
8983
|
+
const frMethod = column.filterRecoverMethod || (compConf ? (compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod) : null)
|
|
8984
|
+
filterStore.column = column
|
|
8985
|
+
// 复原状态
|
|
8986
|
+
filterOptions.forEach((option: any) => {
|
|
8987
|
+
const { _checked, checked } = option
|
|
8988
|
+
option._checked = checked
|
|
8989
|
+
if (!checked && _checked !== checked) {
|
|
8990
|
+
if (frMethod) {
|
|
8991
|
+
frMethod({ option, column, $table: $xeTable })
|
|
8992
|
+
}
|
|
8989
8993
|
}
|
|
8990
|
-
}
|
|
8991
|
-
|
|
8992
|
-
|
|
8994
|
+
})
|
|
8995
|
+
$xeTable.checkFilterOptions()
|
|
8996
|
+
}
|
|
8993
8997
|
},
|
|
8994
8998
|
preventEvent (evnt, type, args, next, end) {
|
|
8995
8999
|
let evntList = interceptor.get(type)
|
|
@@ -408,11 +408,14 @@ function getElementMarginAndWidth (elem: HTMLElement | null) {
|
|
|
408
408
|
return 0
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
export function toFilters (filters: any) {
|
|
412
|
-
if (filters
|
|
413
|
-
|
|
414
|
-
return { label, value, data, resetValue, checked
|
|
415
|
-
|
|
411
|
+
export function toFilters (filters: any, colid?: string) {
|
|
412
|
+
if (filters) {
|
|
413
|
+
if (XEUtils.isArray(filters)) {
|
|
414
|
+
return filters.map(({ label, value, data, resetValue, checked }) => {
|
|
415
|
+
return { label, value, data, resetValue, checked: !!checked, _checked: !!checked, _colId: colid }
|
|
416
|
+
})
|
|
417
|
+
}
|
|
418
|
+
return []
|
|
416
419
|
}
|
|
417
420
|
return filters
|
|
418
421
|
}
|
package/packages/ui/index.ts
CHANGED
package/packages/ui/src/vn.ts
CHANGED
|
@@ -32,6 +32,18 @@ export function getChangeEvent (renderOpts: VxeGlobalRendererHandles.RenderOptio
|
|
|
32
32
|
return 'change'
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
export function hasInputType (renderOpts: VxeGlobalRendererHandles.RenderOptions) {
|
|
36
|
+
switch (renderOpts.name) {
|
|
37
|
+
case 'VxeInput':
|
|
38
|
+
case 'VxeNumberInput':
|
|
39
|
+
case 'VxeTextarea':
|
|
40
|
+
case '$input':
|
|
41
|
+
case '$textarea':
|
|
42
|
+
return true
|
|
43
|
+
}
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
|
|
35
47
|
export function getSlotVNs (vns: VxeComponentSlotType | VxeComponentSlotType[]) {
|
|
36
48
|
if (vns === null || vns === undefined) {
|
|
37
49
|
return []
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|