mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 21:21:44 +00:00
37 lines
1.4 KiB
TypeScript
37 lines
1.4 KiB
TypeScript
//@ts-nocheck
|
|
import { importTypes } from '@rancher/auto-import';
|
|
import { IPlugin } from '@shell/core/types';
|
|
import extensionRoutes from './routing/harvester-routing';
|
|
import harvesterCommonStore from './store/harvester-common';
|
|
import harvesterStore from './store/harvester-store';
|
|
import customValidators from './validators';
|
|
import { PRODUCT_NAME } from './config/harvester';
|
|
import { defineAsyncComponent } from 'vue';
|
|
|
|
// Init the package
|
|
export default function (plugin: IPlugin) {
|
|
const isDev = process.env.NODE_ENV !== 'production';
|
|
const isSingleVirtualCluster = process.env.rancherEnv === PRODUCT_NAME;
|
|
|
|
// Auto-import model, detail, edit from the folders
|
|
importTypes(plugin);
|
|
|
|
// Provide plugin metadata from package.json
|
|
plugin.metadata = require('./package.json');
|
|
|
|
// Built-in icon
|
|
plugin.metadata.icon = require('./icon.svg');
|
|
|
|
plugin.addProduct(require('./config/harvester-cluster'));
|
|
|
|
plugin.addDashboardStore(harvesterCommonStore.config.namespace, harvesterCommonStore.specifics, harvesterCommonStore.config);
|
|
plugin.addDashboardStore(harvesterStore.config.namespace, harvesterStore.specifics, harvesterStore.config, harvesterStore.init);
|
|
plugin.validators = customValidators;
|
|
|
|
plugin.addRoutes(extensionRoutes);
|
|
|
|
plugin.register('component', 'NavHeaderRight', defineAsyncComponent(() =>
|
|
import('./components/HarvesterUpgradeHeader.vue')
|
|
));
|
|
}
|