diff --git a/frontend/src/lib/components/table/advanced-table.svelte b/frontend/src/lib/components/table/advanced-table.svelte index a4d33eb1..f67a4d59 100644 --- a/frontend/src/lib/components/table/advanced-table.svelte +++ b/frontend/src/lib/components/table/advanced-table.svelte @@ -166,6 +166,12 @@ return filters; } + function getPrimaryAction(item: T) { + if (!actions) return null; + const availableActions = actions(item).filter((a) => a.primary); + return availableActions.length > 0 ? () => availableActions[0].onClick(item) : null; + } + export async function refresh() { items = await fetchCallback(requestOptions); changePageState(items.pagination.currentPage); @@ -248,7 +254,13 @@ {#each items.data as item} - + {#if selectedIds} = { variant?: 'primary' | 'secondary' | 'danger' | 'outline' | 'ghost'; onClick: (item: T) => void; hidden?: boolean; + primary?: boolean; disabled?: boolean; }; diff --git a/frontend/src/routes/settings/admin/oidc-clients/oidc-client-list.svelte b/frontend/src/routes/settings/admin/oidc-clients/oidc-client-list.svelte index 6f2f9d40..1d9cac82 100644 --- a/frontend/src/routes/settings/admin/oidc-clients/oidc-client-list.svelte +++ b/frontend/src/routes/settings/admin/oidc-clients/oidc-client-list.svelte @@ -70,6 +70,7 @@ const actions: CreateAdvancedTableActions = (_) => [ { label: m.edit(), + primary: true, icon: LucidePencil, onClick: (client) => goto(`/settings/admin/oidc-clients/${client.id}`) }, diff --git a/frontend/src/routes/settings/admin/user-groups/user-group-list.svelte b/frontend/src/routes/settings/admin/user-groups/user-group-list.svelte index cb164c96..59f359df 100644 --- a/frontend/src/routes/settings/admin/user-groups/user-group-list.svelte +++ b/frontend/src/routes/settings/admin/user-groups/user-group-list.svelte @@ -41,6 +41,7 @@ const actions: CreateAdvancedTableActions = (group) => [ { label: m.edit(), + primary: true, icon: LucidePencil, variant: 'ghost', onClick: (group) => goto(`/settings/admin/user-groups/${group.id}`) diff --git a/frontend/src/routes/settings/admin/users/user-list.svelte b/frontend/src/routes/settings/admin/users/user-list.svelte index aa942940..fb22a2ab 100644 --- a/frontend/src/routes/settings/admin/users/user-list.svelte +++ b/frontend/src/routes/settings/admin/users/user-list.svelte @@ -143,6 +143,7 @@ }, { label: m.edit(), + primary: true, icon: LucidePencil, onClick: (u) => goto(`/settings/admin/users/${u.id}`) },