Skip to content

Commit

Permalink
releases 4.7.94
Browse files Browse the repository at this point in the history
  • Loading branch information
xuliangzhan committed Oct 22, 2024
1 parent 81cac95 commit 4de1bc8
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 22 deletions.
14 changes: 12 additions & 2 deletions examples/views/table/TableTest2.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
id="bbbbb"
:row-config="{useKey: true}"
:column-config="{useKey: true}"
:custom-config="{storage:true}"
:custom-config="customConfig"
:loading="demo1.loading"
:import-config="{modes: importModes}"
:export-config="{modes: exportModes}"
Expand Down Expand Up @@ -48,7 +48,7 @@

<script lang="ts" setup>
import { onMounted, ref, reactive, nextTick } from 'vue'
import { VxeColumnPropTypes, VxeTableInstance, VxeToolbarInstance } from '../../../types'
import { VxeColumnPropTypes, VxeTablePropTypes, VxeTableInstance, VxeToolbarInstance } from '../../../types'
interface RowVO {
[key: string]: any
Expand All @@ -69,6 +69,16 @@ const exportModes = ref([
{ label: 'current', value: 'current' }
])
const customConfig = reactive<VxeTablePropTypes.CustomConfig>({
storage: true,
checkMethod ({ column }) {
return column.type !== 'seq'
},
visibleMethod ({ column }) {
return column.field !== 'address'
}
})
const demo1 = reactive({
loading: false,
tableData: [] as any[],
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vxe-table",
"version": "4.7.93",
"version": "4.7.94",
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
"scripts": {
"update": "npm install --legacy-peer-deps",
Expand Down
47 changes: 28 additions & 19 deletions packages/table/module/custom/panel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -217,25 +217,33 @@ export default defineComponent({
const { customStore } = props
const { customColumnList } = reactData
const customOpts = computeCustomOpts.value
const { checkMethod } = customOpts
const { checkMethod, visibleMethod } = customOpts
const isAll = !customStore.isAll
if (customOpts.immediate) {
XEUtils.eachTree(customColumnList, (column) => {
if (!checkMethod || checkMethod({ column })) {
column.visible = isAll
column.renderVisible = isAll
column.halfVisible = false
if (visibleMethod && !visibleMethod({ column })) {
return
}
if (checkMethod && !checkMethod({ column })) {
return
}
column.visible = isAll
column.renderVisible = isAll
column.halfVisible = false
})
customStore.isAll = isAll
$xeTable.handleCustom()
$xeTable.saveCustomStore('update:visible')
} else {
XEUtils.eachTree(customColumnList, (column) => {
if (!checkMethod || checkMethod({ column })) {
column.renderVisible = isAll
column.halfVisible = false
if (visibleMethod && !visibleMethod({ column })) {
return
}
if (checkMethod && !checkMethod({ column })) {
return
}
column.renderVisible = isAll
column.halfVisible = false
})
customStore.isAll = isAll
}
Expand Down Expand Up @@ -386,6 +394,7 @@ export default defineComponent({
key: column.id,
colid: column.id,
class: ['vxe-table-custom--option', `level--${column.level}`, {
'is--hidden': isDisabled || isHidden,
'is--group': isColGroup
}],
onDragstart: sortDragstartEvent,
Expand Down Expand Up @@ -417,10 +426,10 @@ export default defineComponent({
}, [
h('span', {
class: ['vxe-table-custom--sort-btn', {
'is--disabled': isHidden
'is--disabled': isDisabled || isHidden
}],
title: getI18n('vxe.custom.setting.sortHelpTip'),
...(isHidden
...(isDisabled || isHidden
? {}
: {
onMousedown: sortMousedownEvent,
Expand Down Expand Up @@ -452,7 +461,7 @@ export default defineComponent({
mode: 'text',
icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
status: column.renderFixed === 'left' ? 'primary' : '',
disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
disabled: isDisabled || isHidden || (isMaxFixedColumn && !column.renderFixed),
title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
onClick: () => {
changeFixedOption(column, 'left')
Expand All @@ -464,7 +473,7 @@ export default defineComponent({
mode: 'text',
icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
status: column.renderFixed === 'right' ? 'primary' : '',
disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
disabled: isDisabled || isHidden || (isMaxFixedColumn && !column.renderFixed),
title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
onClick: () => {
changeFixedOption(column, 'right')
Expand Down Expand Up @@ -641,10 +650,10 @@ export default defineComponent({
column.level === 1
? h('span', {
class: ['vxe-table-custom-popup--column-sort-btn', {
'is--disabled': isHidden
'is--disabled': isDisabled || isHidden
}],
title: getI18n('vxe.custom.setting.sortHelpTip'),
...(isHidden
...(isDisabled || isHidden
? {}
: {
onMousedown: sortMousedownEvent,
Expand Down Expand Up @@ -683,7 +692,7 @@ export default defineComponent({
VxeUIInputComponent
? h(VxeUIInputComponent, {
type: 'integer',
disabled: isHidden,
disabled: isDisabled || isHidden,
modelValue: column.renderResizeWidth,
'onUpdate:modelValue' (value: any) {
column.renderResizeWidth = Math.max(0, Number(value))
Expand All @@ -705,11 +714,11 @@ export default defineComponent({
modelValue: column.renderFixed || '',
type: 'button',
size: 'mini',
disabled: isHidden,
disabled: isDisabled || isHidden,
options: [
{ label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isHidden || isMaxFixedColumn },
{ label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isHidden },
{ label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isHidden || isMaxFixedColumn }
{ label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isDisabled || isHidden || isMaxFixedColumn },
{ label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isDisabled || isHidden },
{ label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isDisabled || isHidden || isMaxFixedColumn }
],
'onUpdate:modelValue' (value: any) {
column.renderFixed = value
Expand Down

0 comments on commit 4de1bc8

Please sign in to comment.