@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
51 lines (50 loc) • 1.92 kB
TypeScript
import { DataColumn, ColumnSettingSolution } from '../types';
export interface ColumnSettingSolutionAuth {
data: {
success: boolean;
errorMessage: string | null;
authOperationData: string | null;
authOrganizationData: string[] | null;
currentUserId: string | null;
};
}
export interface ColumnSettingResponse {
success?: boolean;
errorMessage?: string | null;
data: ColumnSettingSolution[] | null;
}
export interface ColumnSettingUpdateOptions {
belongId: string;
defaultId: string;
deleteIds: string[];
}
export declare function useColumnSetting(): {
createSolutionRequest: (solution: Partial<ColumnSettingSolution>) => Promise<void>;
loadRequest: (belongId: string) => Promise<ColumnSettingResponse>;
updateRequest: (solution: Partial<ColumnSettingSolution>, belongId: string) => Promise<void>;
batchUpdateRequest: (solutions: ColumnSettingUpdateOptions) => Promise<void>;
getAuthRequest: () => Promise<ColumnSettingSolutionAuth>;
transformColumns: (visibleColumns: DataColumn[]) => {
[x: string]: {
columnFormat: {
id: string | undefined;
title: string;
width: string | number;
align: "left" | "center" | "right";
halign: "left" | "center" | "right";
}[];
expandGroupRows: boolean;
groupField: never[];
sortInfo: {
sortName: never[];
sortOrder: never[];
};
viewColumns: string[];
};
};
getDefaultSolution: (visibleColumns: DataColumn[]) => Partial<ColumnSettingSolution>;
addSolution: (solution: Partial<ColumnSettingSolution>) => Promise<void>;
updateSolution: (solution: ColumnSettingSolution, belongId: string) => Promise<void>;
getFormId: () => string;
getLocaleName: () => any;
};