| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- import { VNode } from 'vue'
- import { VxeCore } from './src/core'
- import { setConfig, getConfig } from './src/config'
- import { globalStore } from './src/dataStore'
- import { setIcon, getIcon, renderGlobalIcon, renderCustomIcon } from './src/icon'
- import { setTheme, getTheme } from './src/theme'
- import { globalEvents, GLOBAL_EVENT_KEYS, createEvent } from './src/event'
- import { globalResize } from './src/resize'
- import { getI18n, setI18n, setLanguage, hasLanguage, getLanguage } from './src/i18n'
- import { renderer } from './src/renderer'
- import { validators } from './src/validators'
- import { menus } from './src/menus'
- import { formats } from './src/formats'
- import { commands } from './src/commands'
- import { interceptor } from './src/interceptor'
- import { clipboard } from './src/clipboard'
- import { permission } from './src/permission'
- import { log } from './src/log'
- import { globalMixins } from './src/mixins'
- import { getSlotVNs } from './src/vm'
- import XEUtils from 'xe-utils'
- import { VxeGlobalComponents, VxeUIPluginObject } from '../types'
- const installedPlugins: VxeUIPluginObject[] = []
- export function use (Plugin: VxeUIPluginObject, options: any[]) {
- if (Plugin && Plugin.install) {
- if (installedPlugins.indexOf(Plugin) === -1) {
- Plugin.install(VxeUI, options)
- installedPlugins.push(Plugin)
- }
- }
- return VxeUI
- }
- const components: Record<string, any> = {}
- export function getComponent (name: keyof VxeGlobalComponents) {
- return components[name] || null
- }
- export function component (comp: any) {
- if (comp && comp.name) {
- components[comp.name] = comp
- components[XEUtils.kebabCase(comp.name)] = comp
- }
- }
- export function hasComponent (name: keyof VxeGlobalComponents) {
- return !!components[name]
- }
- export function renderEmptyElement (_vm: any): VNode {
- const { _e } = _vm
- return _e()
- }
- export function checkVersion (version: string, pVersion: number, sVersion?: number) {
- if (version) {
- const vRest = `${version}`.match(/(\d+).(\d+).(\d+)/)
- if (vRest) {
- const pV = XEUtils.toNumber(vRest[1])
- if (sVersion) {
- const sV = XEUtils.toNumber(vRest[2])
- return pV >= pVersion && sV >= sVersion
- }
- return pV >= pVersion
- }
- }
- return false
- }
- export const VxeUI = Object.assign(VxeCore, {
- renderEmptyElement,
- setTheme,
- getTheme,
- setConfig,
- getConfig: getConfig as any,
- setIcon,
- getIcon: getIcon as any,
- renderGlobalIcon,
- renderCustomIcon,
- setLanguage,
- hasLanguage,
- getLanguage,
- setI18n,
- getI18n,
- globalEvents,
- GLOBAL_EVENT_KEYS,
- createEvent,
- globalResize,
- renderer,
- validators,
- menus,
- formats,
- commands,
- interceptor,
- clipboard,
- log,
- permission,
- globalStore,
- component,
- getComponent,
- hasComponent,
- globalMixins,
- getSlotVNs,
- checkVersion,
- use
- })
- setTheme()
- export * from './src/core'
- export * from './src/event'
- export * from './src/resize'
- export * from './src/config'
- export * from './src/i18n'
- export * from './src/icon'
- export * from './src/theme'
- export * from './src/renderer'
- export * from './src/validators'
- export * from './src/menus'
- export * from './src/formats'
- export * from './src/commands'
- export * from './src/interceptor'
- export * from './src/clipboard'
- export * from './src/permission'
- export * from './src/dataStore'
- export * from './src/mixins'
- export * from './src/vm'
- export * from './src/log'
- export default VxeUI
|