| 123456789101112131415161718192021222324252627282930313233343536 |
- import type { VbenPluginsOptions } from "./types";
- let globalPluginsOptions: VbenPluginsOptions | null = 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;
- }
|