diff --git a/dashboard/src/components/DockerRegistries.vue b/dashboard/src/components/DockerRegistries.vue index dc0117849..7a5438d18 100644 --- a/dashboard/src/components/DockerRegistries.vue +++ b/dashboard/src/components/DockerRegistries.vue @@ -5,7 +5,8 @@ const i18n = useI18n(); const t = i18n.t; import { ref, onMounted, useTemplateRef, inject } from 'vue'; -import { Button, Menu, TableView, InputDialog } from '@cloudron/pankow'; +import { Button, TableView, InputDialog } from '@cloudron/pankow'; +import ActionBar from '../components/ActionBar.vue'; import Section from '../components/Section.vue'; import DockerRegistryDialog from '../components/DockerRegistryDialog.vue'; import DockerRegistriesModel from '../models/DockerRegistriesModel.js'; @@ -28,25 +29,23 @@ const columns = { label: t('dockerRegistries.username'), sort: true }, - actions: {} + actions: { + width: '100px', + } }; -const actionMenuModel = ref([]); -const actionMenuElement = useTemplateRef('actionMenuElement'); -function onActionMenu(registry, event) { - actionMenuModel.value = [{ +function createActionMenu(registry) { + return [{ icon: 'fa-solid fa-pencil-alt', label: t('main.action.edit'), + quickAction: true, action: onEditOrAdd.bind(null, registry), - }, { - separator: true, }, { icon: 'fa-solid fa-trash-alt', label: t('main.action.remove'), + quickAction: true, action: onRemove.bind(null, registry), }]; - - actionMenuElement.value.open(event, event.currentTarget); } const features = inject('features'); @@ -94,7 +93,6 @@ onMounted(async () => {