From 8c5e23f7734427453c40097b5803527589fa4893 Mon Sep 17 00:00:00 2001 From: Nybkox Date: Tue, 7 Jan 2025 14:29:17 +0100 Subject: [PATCH] feat: show only 1 of disable/enable actions in events context menu --- .../src/appobj/DatabaseObjectAppObject.svelte | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/packages/web/src/appobj/DatabaseObjectAppObject.svelte b/packages/web/src/appobj/DatabaseObjectAppObject.svelte index 58702e440..fa60d760e 100644 --- a/packages/web/src/appobj/DatabaseObjectAppObject.svelte +++ b/packages/web/src/appobj/DatabaseObjectAppObject.svelte @@ -93,7 +93,7 @@ submenu?: DbObjMenuItem[]; } - function createMenusCore(objectTypeField, driver): DbObjMenuItem[] { + function createMenusCore(objectTypeField, driver, data): DbObjMenuItem[] { switch (objectTypeField) { case 'tables': return [ @@ -387,20 +387,27 @@ ...(driver?.getScriptTemplates?.('collections') || []), ]; case 'schedulerEvents': - return [ + const menu: DbObjMenuItem[] = [ ...defaultDatabaseObjectAppObjectActions['schedulerEvents'], { divider: true, }, - { + , + ]; + + if (data?.status === 'ENABLED') { + menu.push({ label: 'Disable', isDisableEvent: true, - }, - { + }); + } else { + menu.push({ label: 'Enable', isEnableEvent: true, - }, - ]; + }); + } + + return menu; } } @@ -672,8 +679,8 @@ } } - function createMenus(objectTypeField, driver): ReturnType { - return createMenusCore(objectTypeField, driver).filter(x => { + function createMenus(objectTypeField, driver, data): ReturnType { + return createMenusCore(objectTypeField, driver, data).filter(x => { if (x.scriptTemplate) { return hasPermission(`dbops/sql-template/${x.scriptTemplate}`); } @@ -890,7 +897,7 @@ const driver = findEngineDriver(data, getExtensions()); const { objectTypeField } = data; - return createMenus(objectTypeField, driver) + return createMenus(objectTypeField, driver, data) .filter(x => x) .map(menu => menuItemMapper(menu, data, connection)); }