From f4cf759924bed9722845cc5bb1711287666caf5a Mon Sep 17 00:00:00 2001 From: AnteSuvala Date: Tue, 17 Dec 2024 09:32:59 +0100 Subject: [PATCH 1/3] Add reset to default button in arrange columns #302 --- docs/docs/async-table.md | 1 + .../demo/src/OtherDemos/AsyncTableDemo.svelte | 1 + .../lib/src/async-table/async-table.wc.svelte | 25 +++++++++++++++---- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/docs/docs/async-table.md b/docs/docs/async-table.md index 146d29e4..f6be631d 100644 --- a/docs/docs/async-table.md +++ b/docs/docs/async-table.md @@ -18,6 +18,7 @@ import '../static/c/async-table.css'; | showArrangingColumns | | `boolean` | should the button for arranging columns be shown | | showExport | | `boolean` | should the button for export be shown | | dropdownMenuExport | | `boolean` | should the button for export download csv or can you have more download options | +| showResetToDefault | | `boolean` | should the button for reseting to default be shown |

**** diff --git a/packages/demo/src/OtherDemos/AsyncTableDemo.svelte b/packages/demo/src/OtherDemos/AsyncTableDemo.svelte index dbc3aa52..d5d916a3 100644 --- a/packages/demo/src/OtherDemos/AsyncTableDemo.svelte +++ b/packages/demo/src/OtherDemos/AsyncTableDemo.svelte @@ -120,6 +120,7 @@ asyncTable.height = '500px'; asyncTable.freezeFirstColumn = true; asyncTable.freezeLastColumn = true; + asyncTable.showResetToDefault = true; el.appendChild(asyncTable); }); diff --git a/packages/lib/src/async-table/async-table.wc.svelte b/packages/lib/src/async-table/async-table.wc.svelte index 00de5d1e..3446c2d3 100644 --- a/packages/lib/src/async-table/async-table.wc.svelte +++ b/packages/lib/src/async-table/async-table.wc.svelte @@ -23,7 +23,8 @@ LOADING: 'Loading', LOAD_MORE: 'Load more', PAGE_SIZE: 'Page size', - SAVE: 'Save' + SAVE: 'Save', + RESET: 'Reset' }; export let allowArrangeColumns = true; @@ -41,9 +42,11 @@ export let service: TableService; export let id: string; export let height: string | null = null; + export let showResetToDefault = true; let additionalExportTypes = []; let activeHeaders: TableHeader[] = []; + const defaultHeaders = headers; let isOpen = false; let resolved: string[] = []; @@ -134,7 +137,7 @@ const { key, fallback, pipes } = header; let value: any; - + try { value = get(row, key); } catch { @@ -489,11 +492,23 @@ exportDataGeneric(option); isOpen = false; }; + + function handleReset() { + headers = defaultHeaders; + headers.forEach((header) => { + header.disabled = false; + }); + }
{#if showArrangingColumns || showImport || showExport}