mirror of
https://github.com/imdap/ruoyi-plus-vben5.git
synced 2026-04-23 08:48:35 +08:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import type { VbenPluginsOptions } from './types';
|
|
|
|
let globalPluginsOptions: null | VbenPluginsOptions = null;
|
|
|
|
export function providePluginsOptions(options: VbenPluginsOptions) {
|
|
if (!globalPluginsOptions) {
|
|
globalPluginsOptions = options;
|
|
return;
|
|
}
|
|
|
|
globalPluginsOptions = {
|
|
...globalPluginsOptions,
|
|
...options,
|
|
form:
|
|
globalPluginsOptions.form && options.form
|
|
? { ...globalPluginsOptions.form, ...options.form }
|
|
: globalPluginsOptions.form || options.form,
|
|
modal:
|
|
globalPluginsOptions.modal && options.modal
|
|
? { ...globalPluginsOptions.modal, ...options.modal }
|
|
: globalPluginsOptions.modal || options.modal,
|
|
message:
|
|
globalPluginsOptions.message && options.message
|
|
? { ...globalPluginsOptions.message, ...options.message }
|
|
: globalPluginsOptions.message || options.message,
|
|
components: {
|
|
...globalPluginsOptions.components,
|
|
...options.components,
|
|
},
|
|
};
|
|
}
|
|
|
|
export function injectPluginsOptions() {
|
|
return globalPluginsOptions;
|
|
}
|
|
|
|
export function resetPluginsOptions() {
|
|
globalPluginsOptions = null;
|
|
}
|