From d2a92e2c90b7a47bb986c81bb1eef79623dd06ff Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 17 May 2024 15:18:49 +0100 Subject: [PATCH] Fix show and hide all buttons --- .../grid/controls/HideColumnsButton.svelte | 26 ++++++------------- .../src/components/grid/stores/datasource.js | 4 +-- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte b/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte index f1c46d97f2..5b74e01958 100644 --- a/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte +++ b/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte @@ -11,30 +11,20 @@ $: anyHidden = $columns.some(col => !col.visible) $: text = getText($columns) - const toggleVisibility = async (column, visible) => { + const toggleColumn = async (column, visible) => { datasource.actions.addSchemaMutation(column.name, { visible }) await datasource.actions.saveSchemaMutations() dispatch(visible ? "show-column" : "hide-column") } - const showAll = async () => { + const toggleAll = async visible => { let mutations = {} - columns.forEach(column => { - mutations[column.name] = { visible: true } + $columns.forEach(column => { + mutations[column.name] = { visible } }) datasource.actions.addSchemaMutations(mutations) await datasource.actions.saveSchemaMutations() - dispatch("show-column") - } - - const hideAll = async () => { - let mutations = {} - columns.forEach(column => { - mutations[column.name] = { visible: false } - }) - datasource.actions.addSchemaMutations(mutations) - await datasource.actions.saveSchemaMutations() - dispatch("hide-column") + dispatch(visible ? "show-column" : "hide-column") } const getText = columns => { @@ -74,14 +64,14 @@ toggleVisibility(column, e.detail)} + on:change={e => toggleColumn(column, e.detail)} disabled={column.primaryDisplay} /> {/each}
- Show all - Hide all + toggleAll(true)}>Show all + toggleAll(false)}>Hide all
diff --git a/packages/frontend-core/src/components/grid/stores/datasource.js b/packages/frontend-core/src/components/grid/stores/datasource.js index 8c5142bd10..1fc973f171 100644 --- a/packages/frontend-core/src/components/grid/stores/datasource.js +++ b/packages/frontend-core/src/components/grid/stores/datasource.js @@ -47,7 +47,7 @@ export const deriveStores = context => { // prop and user overrides const enrichedSchema = derived( [schema, schemaOverrides, schemaMutations, columnWhitelist], - ([$schema, $schemaOverrides, schemaMutations, $columnWhitelist]) => { + ([$schema, $schemaOverrides, $schemaMutations, $columnWhitelist]) => { if (!$schema) { return null } @@ -60,7 +60,7 @@ export const deriveStores = context => { enrichedSchema[field] = { ...$schema[field], ...$schemaOverrides?.[field], - ...schemaMutations[field], + ...$schemaMutations[field], } }) return enrichedSchema