refactor(webui): host-render function row actions

This commit is contained in:
2026-07-21 13:52:38 +02:00
parent 81e532fd54
commit df91c70491
2 changed files with 16 additions and 27 deletions

View File

@@ -22,7 +22,6 @@ import {
type AuthInfo,
type DataGridColumn,
type ModuleSubnavGroup,
type OrganizationFunctionActionContribution,
type OrganizationFunctionActionsUiCapability
} from "@govoplan/core-webui";
import {
@@ -919,20 +918,25 @@ export default function OrganizationsPage({
{
id: "actions",
header: "i18n:govoplan-organizations.actions.c3cd636a",
width: functionActionContributions.length ? 220 : 88,
width: 88 + (functionActionContributions.length * 40),
sticky: "end",
resizable: false,
align: "right",
render: (row) => (
<div className="organizations-row-actions">
<TableActionGroup actions={[{ id: "edit", label: "i18n:govoplan-organizations.edit.7dce1220", icon: <Edit3 size={16} aria-hidden="true" />, disabled: !canWriteFunctions || busy, onClick: () => editFunction(row) }]} />
{functionActionContributions.map((contribution) => (
<span className="organizations-contributed-action" key={contribution.id}>
{contribution.render({ settings, auth, function: row })}
</span>
))}
</div>
)
render: (row) => <TableActionGroup actions={[
{
id: "edit",
label: "i18n:govoplan-organizations.edit.7dce1220",
icon: <Edit3 size={16} aria-hidden="true" />,
disabled: !canWriteFunctions || busy,
onClick: () => editFunction(row)
},
...functionActionContributions.map((contribution) => ({
id: contribution.id,
label: contribution.label,
icon: contribution.icon,
onClick: () => contribution.onClick({ settings, auth, function: row })
}))
]} />
}
];