ivue-material-plus
Version:
A high quality UI components Library with Vue.js
218 lines (217 loc) • 9.3 kB
TypeScript
import type { Ref } from 'vue';
import type { Sort, Filter } from '../table/defaults';
import type { TableColumnCtx } from '../table-column/defaults';
interface WatcherPropsData {
data: Ref<any[]>;
rowKey: Ref<string>;
}
declare function useStore(): {
mutations: {
setData(states: any, data: any): void;
toggleAllSelection(): void;
setHoverRow(states: any, row: TableColumnCtx): void;
insertColumn(states: any, column: TableColumnCtx, parent: TableColumnCtx): void;
removeColumn(states: any, column: TableColumnCtx, parent: TableColumnCtx): void;
setCurrentRow(_states: any, row: any): void;
rowSelectedChanged(_states: any, row: any): void;
changeSortCondition(states: any, options: Sort): void;
sort(states: any, options: Sort): void;
filterChange(states: any, options: Filter): void;
};
commit: (name: "sort" | "setData" | "toggleAllSelection" | "setHoverRow" | "insertColumn" | "removeColumn" | "setCurrentRow" | "rowSelectedChanged" | "changeSortCondition" | "filterChange", ...args: any[]) => void;
updateTableScrollY: () => void;
_toggleAllSelection: () => void;
toggleAllSelection: () => void;
isRowKey: () => void;
updateSelectionByRowKey: () => void;
updateColumns: () => void;
scheduleLayout: (needUpdateColumns?: boolean, immediate?: boolean) => void;
updateCurrentRowData: () => void;
updateCurrentRow: (_currentRow: any) => void;
isSelected: (row: TableColumnCtx) => boolean;
toggleRowSelection: (row: any, selected?: any, emitChange?: boolean) => void;
updateAllSelected: () => void;
clearSelection: () => void;
cleanRedundantSelection: () => void;
handleExecQueryData: (filter?: boolean) => void;
updateSort: (column: any, prop: any, order: any) => void;
assertRowKey: () => void;
updateFilters: (columns: any, values: any) => any;
clearSort: () => void;
clearFilter: (columnKeys: any) => void;
getSelectionRows: () => {
id: string;
prop: string;
label: string;
width: string | number;
minWidth: string | number;
children?: any[];
isSubColumn: boolean;
type: string;
sortable: string | boolean;
property: string;
align: string;
headerAlign: string;
showOverflowTooltip: boolean;
filters: {
text: string;
value: string;
}[];
filterMethod: (value: any, row: any, column: TableColumnCtx) => void;
filterPlacement: string;
filterOpened?: boolean;
index: number | ((index: number) => number);
rawColumnKey: string;
renderHeader: (data: {
column: TableColumnCtx;
$index: number;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
renderCell: (data: any) => void;
formatter: (row: Record<string, any>, column: TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
columnWidth: number;
className: string;
fixed: string | boolean;
getColumnIndex: () => number;
currentIndex: number;
level: number;
rowSpan: number;
colSpan: number;
order: string;
labelClassName: string;
columns: any[];
resizable: boolean;
selectable: (row: any, index: string | number) => boolean;
reserveSelection: boolean;
sortOrders: ("descending" | "ascending")[];
sortBy: string | string[] | ((row: any, index: number) => string);
sortMethod: (a: any, b: any) => number;
columnKey: string;
filterable: boolean | ((value: any, row: any, column: TableColumnCtx) => void) | {
text: string;
value: string;
}[];
filterMultiple: boolean;
filteredValue: string[];
}[];
toggleRowExpansion: (row: any, expanded?: boolean) => void;
toggleRowExpansionAdapter: (row: TableColumnCtx, expanded: boolean) => void;
updateExpandRows: () => void;
setExpandRowKeysAdapter: (val: string[]) => void;
setCurrentRowKey: (key: string) => void;
isRowExpanded: (row: any) => boolean;
updateTreeData: any;
loadOrToggle: any;
states: any;
};
export default useStore;
declare class HelperStore {
Return: {
mutations: {
setData(states: any, data: any): void;
toggleAllSelection(): void;
setHoverRow(states: any, row: TableColumnCtx): void;
insertColumn(states: any, column: TableColumnCtx, parent: TableColumnCtx): void;
removeColumn(states: any, column: TableColumnCtx, parent: TableColumnCtx): void;
setCurrentRow(_states: any, row: any): void;
rowSelectedChanged(_states: any, row: any): void;
changeSortCondition(states: any, options: Sort): void;
sort(states: any, options: Sort): void;
filterChange(states: any, options: Filter): void;
};
commit: (name: "sort" | "setData" | "toggleAllSelection" | "setHoverRow" | "insertColumn" | "removeColumn" | "setCurrentRow" | "rowSelectedChanged" | "changeSortCondition" | "filterChange", ...args: any[]) => void;
updateTableScrollY: () => void;
_toggleAllSelection: () => void;
toggleAllSelection: () => void;
isRowKey: () => void;
updateSelectionByRowKey: () => void;
updateColumns: () => void;
scheduleLayout: (needUpdateColumns?: boolean, immediate?: boolean) => void;
updateCurrentRowData: () => void;
updateCurrentRow: (_currentRow: any) => void;
isSelected: (row: TableColumnCtx) => boolean;
toggleRowSelection: (row: any, selected?: any, emitChange?: boolean) => void;
updateAllSelected: () => void;
clearSelection: () => void;
cleanRedundantSelection: () => void;
handleExecQueryData: (filter?: boolean) => void;
updateSort: (column: any, prop: any, order: any) => void;
assertRowKey: () => void;
updateFilters: (columns: any, values: any) => any;
clearSort: () => void;
clearFilter: (columnKeys: any) => void;
getSelectionRows: () => {
id: string;
prop: string;
label: string;
width: string | number;
minWidth: string | number;
children?: any[];
isSubColumn: boolean;
type: string;
sortable: string | boolean;
property: string;
align: string;
headerAlign: string;
showOverflowTooltip: boolean;
filters: {
text: string;
value: string;
}[];
filterMethod: (value: any, row: any, column: TableColumnCtx) => void;
filterPlacement: string;
filterOpened?: boolean;
index: number | ((index: number) => number);
rawColumnKey: string;
renderHeader: (data: {
column: TableColumnCtx;
$index: number;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
renderCell: (data: any) => void;
formatter: (row: Record<string, any>, column: TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
columnWidth: number;
className: string;
fixed: string | boolean;
getColumnIndex: () => number;
currentIndex: number;
level: number;
rowSpan: number;
colSpan: number;
order: string;
labelClassName: string;
columns: any[];
resizable: boolean;
selectable: (row: any, index: string | number) => boolean;
reserveSelection: boolean;
sortOrders: ("descending" | "ascending")[];
sortBy: string | string[] | ((row: any, index: number) => string);
sortMethod: (a: any, b: any) => number;
columnKey: string;
filterable: boolean | ((value: any, row: any, column: TableColumnCtx) => void) | {
text: string;
value: string;
}[];
filterMultiple: boolean;
filteredValue: string[];
}[];
toggleRowExpansion: (row: any, expanded?: boolean) => void;
toggleRowExpansionAdapter: (row: TableColumnCtx, expanded: boolean) => void;
updateExpandRows: () => void;
setExpandRowKeysAdapter: (val: string[]) => void;
setCurrentRowKey: (key: string) => void;
isRowExpanded: (row: any) => boolean;
updateTreeData: any;
loadOrToggle: any;
states: any;
};
}
declare type Store = HelperStore['Return'];
declare type StoreFilter = Record<string, string[]>;
export type { Store, WatcherPropsData, StoreFilter };