PluginExtensions: Added onClick to link as a replacement for the command type (#65837)

* Added onClick to the link and made path optional.

* Added type to the import.

* revert(plugin-extensions): put back isPromise utility function

* Minor update to the isPromise function.

* added onClick in the panel menu item.

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
This commit is contained in:
Marcus Andersson
2023-04-03 17:27:55 +02:00
committed by GitHub
co-authored by Jack Westbrook Levente Balogh
parent bd29071a0d
commit 8b738d770c
13 changed files with 191 additions and 24 deletions
@@ -15,6 +15,17 @@ describe('Plugin Extensions / Utils', () => {
path: '...',
} as PluginExtension)
).toBe(true);
expect(
isPluginExtensionLink({
id: 'id',
pluginId: 'plugin-id',
type: PluginExtensionTypes.link,
title: 'Title',
description: 'Description',
onClick: () => {},
} as PluginExtension)
).toBe(true);
});
test('should return FALSE if the object is NOT a link extension', () => {
expect(
@@ -4,6 +4,5 @@ export function isPluginExtensionLink(extension: PluginExtension | undefined): e
if (!extension) {
return false;
}
return extension.type === PluginExtensionTypes.link && 'path' in extension;
return extension.type === PluginExtensionTypes.link && ('path' in extension || 'onClick' in extension);
}