123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import XEUtils from 'xe-utils/ctor'
- import GlobalConfig from '../conf'
- import interceptor from './src/interceptor'
- import renderer from './src/renderer'
- import commands from './src/commands'
- import menus from './src/menus'
- import formats from './src/formats'
- import setup from './src/setup'
- import { UtilTools } from '../tools'
- const installedPlugins = []
- function use (Plugin, options) {
- /* eslint-disable @typescript-eslint/no-use-before-define */
- if (Plugin && Plugin.install) {
- if (installedPlugins.indexOf(Plugin) === -1) {
- Plugin.install(VXETable, options)
- installedPlugins.push(Plugin)
- }
- }
- return VXETable
- }
- /**
- * 检测模块的安装顺序是否正确
- */
- function reg (key) {
- /* eslint-disable @typescript-eslint/no-use-before-define */
- if (VXETable.Table) {
- UtilTools.error('vxe.error.useErr', [key])
- }
- VXETable[`_${key}`] = 1
- }
- function _t (key, args) {
- return key ? XEUtils.toValueString(GlobalConfig.translate ? GlobalConfig.translate(key, args) : key) : ''
- }
- export const VXETable = {
- t: (key, args) => GlobalConfig.i18n(key, args),
- _t,
- v: 'v2',
- reg,
- use,
- types: {},
- setup,
- interceptor,
- renderer,
- commands,
- formats,
- menus
- }
- // v3.0 中废弃 buttons
- Object.defineProperty(VXETable, 'buttons', {
- get () {
- UtilTools.warn('vxe.error.delProp', ['buttons', 'commands'])
- return commands
- }
- })
- /**
- * 获取当前的 zIndex
- */
- Object.defineProperty(VXETable, 'zIndex', { get: UtilTools.getLastZIndex })
- /**
- * 获取下一个 zIndex
- */
- Object.defineProperty(VXETable, 'nextZIndex', { get: UtilTools.nextZIndex })
- function getExportOrImpotType (types, flag) {
- const rest = []
- XEUtils.objectEach(types, (val, type) => {
- if (val === 0 || val === flag) {
- rest.push(type)
- }
- })
- return rest
- }
- /**
- * 获取所有导出类型
- */
- Object.defineProperty(VXETable, 'exportTypes', {
- get () {
- return getExportOrImpotType(GlobalConfig.export.types, 1)
- }
- })
- /**
- * 获取所有导入类型
- */
- Object.defineProperty(VXETable, 'importTypes', {
- get () {
- return getExportOrImpotType(GlobalConfig.export.types, 2)
- }
- })
- export default VXETable
|