From cec3eec1dac0edd6e416940a809e375227679242 Mon Sep 17 00:00:00 2001 From: mlmo Date: Fri, 7 Jun 2024 14:24:55 +0200 Subject: [PATCH] refactor --- packages/docs/components/Table.md | 4 +-- packages/oruga/src/components/table/Table.vue | 26 +++++++------------ .../src/components/table/TableColumn.vue | 4 +-- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/packages/docs/components/Table.md b/packages/docs/components/Table.md index a9f17e656..006e5deb3 100644 --- a/packages/docs/components/Table.md +++ b/packages/docs/components/Table.md @@ -172,9 +172,9 @@ title: Table | Prop name | Description | Type | Values | Default | | ---------------- | ---------------------------------------------------------------- | -------------------------------------------- | --------------------------- | ----------------------------------------------------------- | +| customSearch | Define a custom filter funtion for the search | (row: T, filter: string) => boolean | - | | +| customSort | Define a custom sort function | (a: T, b: T, isAsc: boolean) => number | - | | | display | Provide a display function to edit the output | (value: unknown, row: T) => string | - | | -| doSearch | Define a custom filter funtion for the search | (row: T, filter: string) => boolean | - | | -| doSort | Define a custom sort function | (a: T, b: T, isAsc: boolean) => number | - | | | field | Define an object property key if data is an object | string | - | | | headerSelectable | Make header selectable | boolean | - | false | | label | Define the column label | string | - | | diff --git a/packages/oruga/src/components/table/Table.vue b/packages/oruga/src/components/table/Table.vue index c37d578fb..f56ee3f7f 100644 --- a/packages/oruga/src/components/table/Table.vue +++ b/packages/oruga/src/components/table/Table.vue @@ -1013,8 +1013,8 @@ function isRowFiltered(row: T): boolean { // get column for filter const column = tableColumns.value.find((c) => c.field === key); // if column has onSearch return result - if (typeof column?.doSearch === "function") - return column.doSearch(row, filter); + if (typeof column?.customSearch === "function") + return column.customSearch(row, filter); const value = getValueByPath(row, key); if (value == null) return false; @@ -1124,8 +1124,8 @@ function sortByColumn(rows: TableRow[]): TableRow[] { return sortBy>( rows, column?.field ? "value." + column.field : undefined, - column?.doSort - ? (a, b, asc): number => column.doSort(a.value, b.value, asc) + column?.customSort + ? (a, b, asc): number => column.customSort(a.value, b.value, asc) : undefined, isAsc.value, ); @@ -1672,7 +1672,7 @@ defineExpose({ rows: tableData }); @@ -1793,9 +1791,7 @@ defineExpose({ rows: tableData });