Files
api/web/composables/installPlugin.ts

41 lines
1023 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export interface InstallPluginPayload {
modalTitle: string;
pluginUrl: string;
update?: boolean;
}
const useInstallPlugin = () => {
const install = (payload: InstallPluginPayload) => {
try {
// @ts-ignore `openPlugin` will be included in 6.10.4+ DefaultPageLayout
if (typeof openPlugin === 'function') {
// @ts-ignore
openPlugin(
`plugin ${payload.update ? 'update' : 'install'} ${payload.pluginUrl}`,
payload.modalTitle,
'',
'refresh',
);
} else {
// `openBox()` is defined in the webgui's DefaultPageLayout.php and used when openPlugin is not available
// @ts-ignore
openBox(
`/plugins/dynamix.plugin.manager/scripts/plugin&arg1=install&arg2=${payload.pluginUrl}`,
payload.modalTitle,
600,
900,
true,
);
}
} catch (error) {
console.error(error);
}
};
return {
install,
};
};
export default useInstallPlugin;