|
|
@ -117,14 +117,16 @@ |
|
|
import { useI18n } from '/@/hooks/web/useI18n'; |
|
|
import { useI18n } from '/@/hooks/web/useI18n'; |
|
|
import { useTableContext } from '../../hooks/useTableContext'; |
|
|
import { useTableContext } from '../../hooks/useTableContext'; |
|
|
import { useDesign } from '/@/hooks/web/useDesign'; |
|
|
import { useDesign } from '/@/hooks/web/useDesign'; |
|
|
import { useSortable } from '/@/hooks/web/useSortable'; |
|
|
// import { useSortable } from '/@/hooks/web/useSortable'; |
|
|
import { isFunction, isNullAndUnDef } from '/@/utils/is'; |
|
|
import { isFunction, isNullAndUnDef } from '/@/utils/is'; |
|
|
import { getPopupContainer as getParentContainer } from '/@/utils'; |
|
|
import { getPopupContainer as getParentContainer } from '/@/utils'; |
|
|
import { cloneDeep, omit } from 'lodash-es'; |
|
|
import { cloneDeep, omit } from 'lodash-es'; |
|
|
|
|
|
import Sortablejs from 'sortablejs'; |
|
|
|
|
|
import type Sortable from 'sortablejs'; |
|
|
|
|
|
|
|
|
interface State { |
|
|
interface State { |
|
|
checkAll: boolean; |
|
|
checkAll: boolean; |
|
|
isInit: boolean; |
|
|
isInit?: boolean; |
|
|
checkedList: string[]; |
|
|
checkedList: string[]; |
|
|
defaultCheckList: string[]; |
|
|
defaultCheckList: string[]; |
|
|
} |
|
|
} |
|
|
@ -158,7 +160,7 @@ |
|
|
let inited = false; |
|
|
let inited = false; |
|
|
|
|
|
|
|
|
const cachePlainOptions = ref<Options[]>([]); |
|
|
const cachePlainOptions = ref<Options[]>([]); |
|
|
const plainOptions = ref<Options[]>([]); |
|
|
const plainOptions = ref<Options[] | any>([]); |
|
|
|
|
|
|
|
|
const plainSortOptions = ref<Options[]>([]); |
|
|
const plainSortOptions = ref<Options[]>([]); |
|
|
|
|
|
|
|
|
@ -267,9 +269,9 @@ |
|
|
}); |
|
|
}); |
|
|
setColumns(checkedList); |
|
|
setColumns(checkedList); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
let sortable = null; |
|
|
let sortable: Sortable; |
|
|
let sortableOrder = []; |
|
|
let sortableOrder: string[] = []; |
|
|
// reset columns |
|
|
// reset columns |
|
|
function reset() { |
|
|
function reset() { |
|
|
state.checkedList = [...state.defaultCheckList]; |
|
|
state.checkedList = [...state.defaultCheckList]; |
|
|
@ -289,7 +291,7 @@ |
|
|
const el = columnListEl.$el as any; |
|
|
const el = columnListEl.$el as any; |
|
|
if (!el) return; |
|
|
if (!el) return; |
|
|
// Drag and drop sort |
|
|
// Drag and drop sort |
|
|
sortable = Sortable.create(unref(el), { |
|
|
sortable = Sortablejs.create(unref(el), { |
|
|
animation: 500, |
|
|
animation: 500, |
|
|
delay: 400, |
|
|
delay: 400, |
|
|
delayOnTouchOnly: true, |
|
|
delayOnTouchOnly: true, |
|
|
@ -348,7 +350,7 @@ |
|
|
if (isFixed && !item.width) { |
|
|
if (isFixed && !item.width) { |
|
|
item.width = 100; |
|
|
item.width = 100; |
|
|
} |
|
|
} |
|
|
table.setCacheColumnsByField?.(item.dataIndex, { fixed: isFixed }); |
|
|
table.setCacheColumnsByField?.(item.dataIndex as string, { fixed: isFixed }); |
|
|
setColumns(columns); |
|
|
setColumns(columns); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|