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}`)
},