diff --git a/packages/kotti-ui/source/kotti-table/logic/store.ts b/packages/kotti-ui/source/kotti-table/logic/store.ts index c8d10e8fe..12e37fa4a 100644 --- a/packages/kotti-ui/source/kotti-table/logic/store.ts +++ b/packages/kotti-ui/source/kotti-table/logic/store.ts @@ -108,7 +108,7 @@ export class TableStore { } } - emit(event: any, ...args: any) { + emit(event: T, ...args: Store.Emits[T]) { this.table.$emit(event, ...args) } } diff --git a/packages/kotti-ui/source/kotti-table/logic/types.ts b/packages/kotti-ui/source/kotti-table/logic/types.ts index cb5abdc40..af54eb58c 100644 --- a/packages/kotti-ui/source/kotti-table/logic/types.ts +++ b/packages/kotti-ui/source/kotti-table/logic/types.ts @@ -258,4 +258,33 @@ export module Store { ) => void ? P : never + + export type Emits = { + columnsChange: [ + Pick[], + ] + expandChange: [State['expanded']] + expand: [any, boolean] + hiddenChange: [State['hiddenColumns']] + orderChange: [ + // Likely can be refactored to KottiTable.Column.Ordered[] + Pick[], + ] + selectionChange: [State['selection']] + select: [State['selection'], any] + selectAll: [State['selection']] + sortChange: [ + { + // Likely can be refactored to KottiTable.Column.Sorted[] + sortedColumns: Pick< + State['sortedColumns'], + 'prop' | 'sortOrder' | 'sortBy' + >[] + column: any + prop: any // Likely string + sortBy: any // Likely KottiTable.SortBy | string + sortOrder: any // Likely KottiTable.SortOrder + }, + ] + } }