vxe-table 4.16.18 → 4.16.20
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/style.css +1 -1
- package/es/table/module/filter/hook.js +21 -5
- package/es/table/module/filter/panel.js +4 -4
- package/es/table/module/menu/panel.js +27 -14
- package/es/table/src/cell.js +19 -10
- package/es/table/src/table.js +22 -22
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/index.umd.js +88 -28
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/filter/hook.js +21 -5
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +3 -3
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/menu/panel.js +15 -10
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/src/cell.js +24 -7
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +24 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -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/package.json +2 -2
- package/packages/table/module/filter/hook.ts +23 -6
- package/packages/table/module/filter/panel.ts +4 -4
- package/packages/table/module/menu/panel.ts +29 -16
- package/packages/table/src/cell.ts +19 -10
- package/packages/table/src/table.ts +22 -22
- /package/es/{iconfont.1758510533325.ttf → iconfont.1758850674944.ttf} +0 -0
- /package/es/{iconfont.1758510533325.woff → iconfont.1758850674944.woff} +0 -0
- /package/es/{iconfont.1758510533325.woff2 → iconfont.1758850674944.woff2} +0 -0
- /package/lib/{iconfont.1758510533325.ttf → iconfont.1758850674944.ttf} +0 -0
- /package/lib/{iconfont.1758510533325.woff → iconfont.1758850674944.woff} +0 -0
- /package/lib/{iconfont.1758510533325.woff2 → iconfont.1758850674944.woff2} +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "4.16.
|
|
16
|
+
const version = exports.version = "4.16.19";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.16.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.16.19",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},headerTooltipConfig:{enterable:!0},footerTooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},menuConfig:{destroyOnClose:!0},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{destroyOnClose:!0,multiple:!0,showIcon:!0},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{},gantt:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"4.16.
|
|
11
|
+
const version = `table v${"4.16.19"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.16.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.16.19",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.16.
|
|
3
|
+
"version": "4.16.20",
|
|
4
4
|
"description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"typescript": "~4.7.4",
|
|
67
67
|
"vue": "3.4.27",
|
|
68
68
|
"vue-router": "~4.5.1",
|
|
69
|
-
"vxe-gantt": "~4.0.
|
|
69
|
+
"vxe-gantt": "~4.0.14"
|
|
70
70
|
},
|
|
71
71
|
"vetur": {
|
|
72
72
|
"tags": "helper/vetur/tags.json",
|
|
@@ -13,6 +13,10 @@ const tableFilterMethodKeys: (keyof TableFilterMethods)[] = ['openFilter', 'setF
|
|
|
13
13
|
|
|
14
14
|
hooks.add('tableFilterModule', {
|
|
15
15
|
setupTable ($xeTable) {
|
|
16
|
+
const $xeGrid = $xeTable.xeGrid
|
|
17
|
+
const $xeGantt = $xeTable.xeGantt
|
|
18
|
+
const $xeGGWrapper = $xeGrid || $xeGantt
|
|
19
|
+
|
|
16
20
|
const { props, reactData, internalData } = $xeTable
|
|
17
21
|
const { refElem, refTableFilter } = $xeTable.getRefMaps()
|
|
18
22
|
const { computeFilterOpts, computeMouseOpts } = $xeTable.getComputeMaps()
|
|
@@ -78,12 +82,14 @@ hooks.add('tableFilterModule', {
|
|
|
78
82
|
if (filterStore.column === column && filterStore.visible) {
|
|
79
83
|
filterStore.visible = false
|
|
80
84
|
} else {
|
|
81
|
-
const
|
|
85
|
+
const tableEl = refElem.value
|
|
82
86
|
const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode()
|
|
83
87
|
const filterOpts = computeFilterOpts.value
|
|
84
88
|
const { transfer } = filterOpts
|
|
85
|
-
const tableRect =
|
|
89
|
+
const tableRect = tableEl.getBoundingClientRect()
|
|
86
90
|
const btnElem = evnt.currentTarget as HTMLDivElement
|
|
91
|
+
const filterRender = column ? column.filterRender : null
|
|
92
|
+
const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
|
|
87
93
|
$xeTable.handleFilterOptions(column)
|
|
88
94
|
internalData._currFilterParams = params
|
|
89
95
|
filterStore.style = null
|
|
@@ -106,7 +112,7 @@ hooks.add('tableFilterModule', {
|
|
|
106
112
|
const centerWidth = filterWidth / 2
|
|
107
113
|
let left = 0
|
|
108
114
|
let top = 0
|
|
109
|
-
let maxHeight = 0
|
|
115
|
+
let maxHeight: number = 0
|
|
110
116
|
if (transfer) {
|
|
111
117
|
left = btnRect.left - centerWidth + scrollLeft
|
|
112
118
|
top = btnRect.top + btnElem.clientHeight + scrollTop
|
|
@@ -119,17 +125,28 @@ hooks.add('tableFilterModule', {
|
|
|
119
125
|
} else {
|
|
120
126
|
left = btnRect.left - tableRect.left - centerWidth
|
|
121
127
|
top = btnRect.top - tableRect.top + btnElem.clientHeight
|
|
122
|
-
maxHeight = Math.max(40,
|
|
128
|
+
maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14)
|
|
123
129
|
if (left < 1) {
|
|
124
130
|
left = 1
|
|
125
|
-
} else if (left > (
|
|
126
|
-
left =
|
|
131
|
+
} else if (left > (tableEl.clientWidth - filterWidth - 1)) {
|
|
132
|
+
left = tableEl.clientWidth - filterWidth - 1
|
|
133
|
+
}
|
|
134
|
+
if ($xeGGWrapper) {
|
|
135
|
+
const wrapperEl = $xeGGWrapper.getRefMaps().refElem.value
|
|
136
|
+
if (wrapperEl) {
|
|
137
|
+
const wrapperRect = wrapperEl.getBoundingClientRect()
|
|
138
|
+
top += tableRect.top - wrapperRect.top
|
|
139
|
+
}
|
|
127
140
|
}
|
|
128
141
|
}
|
|
129
142
|
filterStore.style = {
|
|
130
143
|
top: toCssUnit(top),
|
|
131
144
|
left: toCssUnit(left)
|
|
132
145
|
}
|
|
146
|
+
// 筛选面板是自适应表格高度
|
|
147
|
+
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
148
|
+
maxHeight = 0
|
|
149
|
+
}
|
|
133
150
|
// 判断面板不能大于表格高度
|
|
134
151
|
filterStore.maxHeight = maxHeight
|
|
135
152
|
})
|
|
@@ -2,7 +2,7 @@ import { h, ref, computed, inject, Teleport } from 'vue'
|
|
|
2
2
|
import { defineVxeComponent } from '../../../ui/src/comp'
|
|
3
3
|
import { VxeUI } from '../../../ui'
|
|
4
4
|
import { formatText, isEnableConf } from '../../../ui/src/utils'
|
|
5
|
-
import { getPropClass } from '../../../ui/src/dom'
|
|
5
|
+
import { getPropClass, toCssUnit } from '../../../ui/src/dom'
|
|
6
6
|
import { getSlotVNs } from '../../../ui/src/vn'
|
|
7
7
|
import { warnLog } from '../../../ui/src/log'
|
|
8
8
|
import XEUtils from 'xe-utils'
|
|
@@ -122,7 +122,7 @@ export default defineVxeComponent({
|
|
|
122
122
|
class: 'vxe-table--filter-template',
|
|
123
123
|
style: maxHeight
|
|
124
124
|
? {
|
|
125
|
-
maxHeight:
|
|
125
|
+
maxHeight: toCssUnit(maxHeight)
|
|
126
126
|
}
|
|
127
127
|
: {}
|
|
128
128
|
}, $xeTable.callSlot(filterSlot, params))
|
|
@@ -133,7 +133,7 @@ export default defineVxeComponent({
|
|
|
133
133
|
class: 'vxe-table--filter-template',
|
|
134
134
|
style: maxHeight
|
|
135
135
|
? {
|
|
136
|
-
maxHeight:
|
|
136
|
+
maxHeight: toCssUnit(maxHeight)
|
|
137
137
|
}
|
|
138
138
|
: {}
|
|
139
139
|
}, getSlotVNs(rtFilter(filterRender, params)))
|
|
@@ -170,7 +170,7 @@ export default defineVxeComponent({
|
|
|
170
170
|
class: 'vxe-table--filter-body',
|
|
171
171
|
style: maxHeight
|
|
172
172
|
? {
|
|
173
|
-
maxHeight:
|
|
173
|
+
maxHeight: toCssUnit(maxHeight)
|
|
174
174
|
}
|
|
175
175
|
: {}
|
|
176
176
|
}, filterStore.options.map((item: any) => {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { h, Teleport, inject, ref, Ref } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../../ui/src/comp'
|
|
3
|
+
import XEUtils from 'xe-utils'
|
|
3
4
|
import { VxeUI } from '../../../ui'
|
|
4
5
|
import { getFuncText } from '../../../ui/src/utils'
|
|
5
|
-
import
|
|
6
|
+
import { getSlotVNs } from '../../../ui/src/vn'
|
|
6
7
|
|
|
7
8
|
import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods } from '../../../../types'
|
|
8
9
|
|
|
@@ -55,9 +56,11 @@ export default defineVxeComponent({
|
|
|
55
56
|
class: 'vxe-context-menu--option-wrapper',
|
|
56
57
|
key: gIndex
|
|
57
58
|
}, options.map((item, index) => {
|
|
58
|
-
const hasChildMenus = item.children && item.children.some((child
|
|
59
|
+
const hasChildMenus = item.children && item.children.some((child) => child.visible !== false)
|
|
59
60
|
const prefixOpts = Object.assign({}, item.prefixConfig)
|
|
61
|
+
const prefixIcon = prefixOpts.icon || item.prefixIcon
|
|
60
62
|
const suffixOpts = Object.assign({}, item.suffixConfig)
|
|
63
|
+
const suffixIcon = suffixOpts.icon || item.suffixIcon
|
|
61
64
|
const menuContent = getFuncText(item.name)
|
|
62
65
|
return item.visible === false
|
|
63
66
|
? renderEmptyElement($xeTable)
|
|
@@ -83,9 +86,11 @@ export default defineVxeComponent({
|
|
|
83
86
|
h('div', {
|
|
84
87
|
class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
|
|
85
88
|
}, [
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
prefixIcon && XEUtils.isFunction(prefixIcon)
|
|
90
|
+
? h('span', {}, getSlotVNs(prefixIcon({})))
|
|
91
|
+
: h('i', {
|
|
92
|
+
class: prefixIcon
|
|
93
|
+
}),
|
|
89
94
|
prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)
|
|
90
95
|
]),
|
|
91
96
|
h('div', {
|
|
@@ -95,20 +100,24 @@ export default defineVxeComponent({
|
|
|
95
100
|
h('div', {
|
|
96
101
|
class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
|
|
97
102
|
}, [
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
103
|
+
suffixIcon && XEUtils.isFunction(suffixIcon)
|
|
104
|
+
? h('span', {}, getSlotVNs(suffixIcon({})))
|
|
105
|
+
: h('i', {
|
|
106
|
+
class: suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
|
|
107
|
+
}),
|
|
101
108
|
suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
|
|
102
109
|
])
|
|
103
110
|
]),
|
|
104
|
-
hasChildMenus
|
|
111
|
+
hasChildMenus && item.children
|
|
105
112
|
? h('ul', {
|
|
106
113
|
class: ['vxe-table--context-menu-clild-wrapper', {
|
|
107
114
|
'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
|
|
108
115
|
}]
|
|
109
|
-
}, item.children.map((child
|
|
116
|
+
}, item.children.map((child, cIndex) => {
|
|
110
117
|
const childPrefixOpts = Object.assign({}, child.prefixConfig)
|
|
118
|
+
const childPrefixIcon = childPrefixOpts.icon || child.prefixIcon
|
|
111
119
|
const childSuffixOpts = Object.assign({}, child.suffixConfig)
|
|
120
|
+
const childSuffixIcon = childSuffixOpts.icon || child.suffixIcon
|
|
112
121
|
const childMenuContent = getFuncText(child.name)
|
|
113
122
|
return child.visible === false
|
|
114
123
|
? null
|
|
@@ -134,9 +143,11 @@ export default defineVxeComponent({
|
|
|
134
143
|
h('div', {
|
|
135
144
|
class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
|
|
136
145
|
}, [
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
146
|
+
childPrefixIcon && XEUtils.isFunction(childPrefixIcon)
|
|
147
|
+
? h('span', {}, getSlotVNs(childPrefixIcon({})))
|
|
148
|
+
: h('i', {
|
|
149
|
+
class: childPrefixIcon
|
|
150
|
+
}),
|
|
140
151
|
childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)
|
|
141
152
|
]),
|
|
142
153
|
h('div', {
|
|
@@ -146,9 +157,11 @@ export default defineVxeComponent({
|
|
|
146
157
|
h('div', {
|
|
147
158
|
class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
|
|
148
159
|
}, [
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
160
|
+
childSuffixIcon && XEUtils.isFunction(childSuffixIcon)
|
|
161
|
+
? h('span', {}, getSlotVNs(childSuffixIcon({})))
|
|
162
|
+
: h('i', {
|
|
163
|
+
class: childSuffixIcon
|
|
164
|
+
}),
|
|
152
165
|
childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
|
|
153
166
|
])
|
|
154
167
|
])
|
|
@@ -318,7 +318,7 @@ function renderCellHandle (params: VxeTableDefines.CellRenderBodyParams & {
|
|
|
318
318
|
case 'html':
|
|
319
319
|
return isDeepCell ? Cell.renderDeepHTMLCell(params) : Cell.renderHTMLCell(params)
|
|
320
320
|
}
|
|
321
|
-
if (isEnableConf(
|
|
321
|
+
if (editConfig && isEnableConf(editOpts) && editRender) {
|
|
322
322
|
return editOpts.mode === 'cell' ? (isDeepCell ? Cell.renderDeepCellEdit(params) : Cell.renderCellEdit(params)) : (isDeepCell ? Cell.renderDeepRowEdit(params) : Cell.renderRowEdit(params))
|
|
323
323
|
}
|
|
324
324
|
return isDeepCell ? Cell.renderDeepCell(params) : Cell.renderDefaultCell(params)
|
|
@@ -329,7 +329,9 @@ function renderHeaderHandle (params: VxeTableDefines.CellRenderHeaderParams & {
|
|
|
329
329
|
}) {
|
|
330
330
|
const { column, $table } = params
|
|
331
331
|
const tableProps = $table.props
|
|
332
|
+
const { computeEditOpts } = $table.getComputeMaps()
|
|
332
333
|
const { editConfig } = tableProps
|
|
334
|
+
const editOpts = computeEditOpts.value
|
|
333
335
|
const { type, filters, sortable, editRender } = column
|
|
334
336
|
switch (type) {
|
|
335
337
|
case 'seq':
|
|
@@ -348,7 +350,7 @@ function renderHeaderHandle (params: VxeTableDefines.CellRenderHeaderParams & {
|
|
|
348
350
|
}
|
|
349
351
|
break
|
|
350
352
|
}
|
|
351
|
-
if (editConfig && editRender) {
|
|
353
|
+
if (editConfig && isEnableConf(editOpts) && editRender) {
|
|
352
354
|
return Cell.renderEditHeader(params)
|
|
353
355
|
} else if (filters && sortable) {
|
|
354
356
|
return Cell.renderSortAndFilterHeader(params)
|
|
@@ -406,11 +408,15 @@ export const Cell = {
|
|
|
406
408
|
},
|
|
407
409
|
renderDefaultCell (params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
|
|
408
410
|
const { $table, row, column } = params
|
|
411
|
+
const tableProps = $table.props
|
|
409
412
|
const tableReactData = $table.reactData
|
|
410
413
|
const tableInternalData = $table.internalData
|
|
411
414
|
const { isRowGroupStatus } = tableReactData
|
|
415
|
+
const { computeEditOpts } = $table.getComputeMaps()
|
|
416
|
+
const { editConfig } = tableProps
|
|
417
|
+
const editOpts = computeEditOpts.value
|
|
412
418
|
const { field, slots, editRender, cellRender, rowGroupNode, aggFunc } = column
|
|
413
|
-
const renderOpts = editRender
|
|
419
|
+
const renderOpts = editConfig && isEnableConf(editOpts) && editRender ? editRender : cellRender
|
|
414
420
|
const defaultSlot = slots ? slots.default : null
|
|
415
421
|
const gcSlot = slots ? (slots.groupContent || slots['group-content']) : null
|
|
416
422
|
let cellValue: string | number | null = ''
|
|
@@ -1165,22 +1171,25 @@ export const Cell = {
|
|
|
1165
1171
|
}
|
|
1166
1172
|
let editIconVNs: VNode[] = []
|
|
1167
1173
|
if (isEnableConf(editConfig)) {
|
|
1174
|
+
const { showAsterisk, showIcon, icon } = editOpts
|
|
1168
1175
|
editIconVNs = [
|
|
1169
|
-
isRequired &&
|
|
1176
|
+
isRequired && showAsterisk
|
|
1170
1177
|
? h('span', {
|
|
1171
1178
|
class: 'vxe-cell--required-icon'
|
|
1172
1179
|
}, [
|
|
1173
1180
|
h('i')
|
|
1174
1181
|
])
|
|
1175
1182
|
: renderEmptyElement($table),
|
|
1176
|
-
isEnableConf(editRender) &&
|
|
1183
|
+
isEnableConf(editRender) && showIcon
|
|
1177
1184
|
? h('span', {
|
|
1178
1185
|
class: 'vxe-cell--edit-icon'
|
|
1179
|
-
},
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1186
|
+
}, XEUtils.isFunction(icon)
|
|
1187
|
+
? getSlotVNs(icon({}))
|
|
1188
|
+
: [
|
|
1189
|
+
h('i', {
|
|
1190
|
+
class: icon || getIcon().TABLE_EDIT
|
|
1191
|
+
})
|
|
1192
|
+
])
|
|
1184
1193
|
: renderEmptyElement($table)
|
|
1185
1194
|
]
|
|
1186
1195
|
}
|
|
@@ -11890,16 +11890,16 @@ export default defineVxeComponent({
|
|
|
11890
11890
|
}
|
|
11891
11891
|
|
|
11892
11892
|
// 检测对应模块是否安装
|
|
11893
|
-
'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name => {
|
|
11894
|
-
|
|
11895
|
-
|
|
11896
|
-
|
|
11897
|
-
})
|
|
11898
|
-
'clearValidate,fullValidate,validate'.split(',').forEach(name => {
|
|
11899
|
-
|
|
11900
|
-
|
|
11901
|
-
|
|
11902
|
-
})
|
|
11893
|
+
// 'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name => {
|
|
11894
|
+
// ($xeTable as any)[name] = function () {
|
|
11895
|
+
// errLog('vxe.error.reqModule', ['Export'])
|
|
11896
|
+
// }
|
|
11897
|
+
// })
|
|
11898
|
+
// 'clearValidate,fullValidate,validate'.split(',').forEach(name => {
|
|
11899
|
+
// ($xeTable as any)[name] = function () {
|
|
11900
|
+
// errLog('vxe.error.reqModule', ['Validator'])
|
|
11901
|
+
// }
|
|
11902
|
+
// })
|
|
11903
11903
|
|
|
11904
11904
|
Object.assign($xeTable, tableMethods, tablePrivateMethods)
|
|
11905
11905
|
|
|
@@ -13062,18 +13062,18 @@ export default defineVxeComponent({
|
|
|
13062
13062
|
// }
|
|
13063
13063
|
|
|
13064
13064
|
// 检查是否有安装需要的模块
|
|
13065
|
-
if (props.editConfig && !$xeTable.insert) {
|
|
13066
|
-
|
|
13067
|
-
}
|
|
13068
|
-
if (props.editRules && !$xeTable.validate) {
|
|
13069
|
-
|
|
13070
|
-
}
|
|
13071
|
-
if ((checkboxOpts.range || props.keyboardConfig || props.mouseConfig) && !$xeTable.handleCellMousedownEvent) {
|
|
13072
|
-
|
|
13073
|
-
}
|
|
13074
|
-
if ((props.printConfig || props.importConfig || props.exportConfig) && !$xeTable.exportData) {
|
|
13075
|
-
|
|
13076
|
-
}
|
|
13065
|
+
// if (props.editConfig && !$xeTable.insert) {
|
|
13066
|
+
// errLog('vxe.error.reqModule', ['Edit'])
|
|
13067
|
+
// }
|
|
13068
|
+
// if (props.editRules && !$xeTable.validate) {
|
|
13069
|
+
// errLog('vxe.error.reqModule', ['Validator'])
|
|
13070
|
+
// }
|
|
13071
|
+
// if ((checkboxOpts.range || props.keyboardConfig || props.mouseConfig) && !$xeTable.handleCellMousedownEvent) {
|
|
13072
|
+
// errLog('vxe.error.reqModule', ['Keyboard'])
|
|
13073
|
+
// }
|
|
13074
|
+
// if ((props.printConfig || props.importConfig || props.exportConfig) && !$xeTable.exportData) {
|
|
13075
|
+
// errLog('vxe.error.reqModule', ['Export'])
|
|
13076
|
+
// }
|
|
13077
13077
|
|
|
13078
13078
|
Object.assign(scrollYStore, {
|
|
13079
13079
|
startIndex: 0,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|