diff --git a/src/lib/components/workflow/workflows-summary-configurable-table.svelte b/src/lib/components/workflow/workflows-summary-configurable-table.svelte index d8d134f26..d78fa46d7 100644 --- a/src/lib/components/workflow/workflows-summary-configurable-table.svelte +++ b/src/lib/components/workflow/workflows-summary-configurable-table.svelte @@ -1,5 +1,8 @@ @@ -35,7 +36,7 @@ /> - {:else if !pinned && columns.length === 0} + {:else if !pinned && totalColumnCount === 0} diff --git a/src/lib/stores/workflow-table-columns.ts b/src/lib/stores/workflow-table-columns.ts index a994d6471..8cd32f1d3 100644 --- a/src/lib/stores/workflow-table-columns.ts +++ b/src/lib/stores/workflow-table-columns.ts @@ -76,7 +76,7 @@ const DEFAULT_AVAILABLE_COLUMNS: WorkflowHeader[] = [ { label: 'Task Queue', pinned: false }, ]; -const getDefaultColumns = (): WorkflowHeader[] => { +export const getDefaultColumns = (): WorkflowHeader[] => { let columns: WorkflowHeader[]; try { // try to get the list of columns that was stored last time they interacted @@ -84,9 +84,10 @@ const getDefaultColumns = (): WorkflowHeader[] => { const stringifiedOldColumns = window.localStorage.getItem( 'workflow-table-columns', ); + const parsedOldColumns = JSON.parse(stringifiedOldColumns); - if (stringifiedOldColumns) { - columns = JSON.parse(stringifiedOldColumns); + if (stringifiedOldColumns && parsedOldColumns?.length) { + columns = parsedOldColumns; } else { columns = DEFAULT_COLUMNS; } @@ -106,13 +107,27 @@ export const workflowTableColumns: Readable = derived( [namespaces, persistedWorkflowTableColumns], ([$namespaces, $persistedWorkflowTableColumns]) => { const state: State = {}; + + const useOrAddDefaultTableColumnsToNamespace = ( + columns: State, + namespace: string, + ) => { + if (!columns?.[namespace]?.length) { + columns[namespace] = [...getDefaultColumns()]; + return columns[namespace]; + } + return columns[namespace]; + }; + return ( $namespaces?.reduce( (namespaceToColumnsMap, { namespaceInfo: { name } }) => { return { ...namespaceToColumnsMap, - [name]: - $persistedWorkflowTableColumns?.[name] ?? getDefaultColumns(), + [name]: useOrAddDefaultTableColumnsToNamespace( + $persistedWorkflowTableColumns, + name, + ), }; }, state,