@vxe-ui/core 1.0.12 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.en.md +31 -31
- package/README.md +31 -31
- package/README.zh-TW.md +31 -31
- package/es/src/core.js +1 -1
- package/es/src/log.js +1 -1
- package/es/src/permission.js +36 -14
- package/lib/index.umd.js +59 -34
- package/lib/index.umd.min.js +1 -1
- package/lib/src/clipboard.min.js +1 -1
- package/lib/src/commands.min.js +1 -1
- package/lib/src/core.js +1 -1
- package/lib/src/core.min.js +1 -1
- package/lib/src/event.min.js +1 -1
- package/lib/src/formats.min.js +1 -1
- package/lib/src/globalStore.min.js +1 -1
- package/lib/src/hooks.min.js +1 -1
- package/lib/src/i18n.min.js +1 -1
- package/lib/src/i18nStore.min.js +1 -1
- package/lib/src/iconStore.min.js +1 -1
- package/lib/src/interceptor.min.js +1 -1
- package/lib/src/log.js +1 -1
- package/lib/src/log.min.js +1 -1
- package/lib/src/menus.min.js +1 -1
- package/lib/src/permission.js +37 -15
- package/lib/src/permission.min.js +1 -1
- package/lib/src/renderer.min.js +1 -1
- package/lib/src/resize.min.js +1 -1
- package/lib/src/store.min.js +1 -1
- package/lib/src/themeStore.min.js +1 -1
- package/lib/src/useFns.min.js +1 -1
- package/lib/src/validators.min.js +1 -1
- package/package.json +78 -78
- package/packages/index.ts +4 -4
- package/packages/src/clipboard.ts +53 -53
- package/packages/src/commands.ts +62 -62
- package/packages/src/core.ts +167 -167
- package/packages/src/event.ts +113 -113
- package/packages/src/formats.ts +62 -62
- package/packages/src/globalStore.ts +8 -8
- package/packages/src/hooks.ts +5 -5
- package/packages/src/i18n.ts +19 -19
- package/packages/src/i18nStore.ts +11 -11
- package/packages/src/iconStore.ts +3 -3
- package/packages/src/interceptor.ts +65 -65
- package/packages/src/log.ts +19 -19
- package/packages/src/menus.ts +62 -62
- package/packages/src/permission.ts +61 -39
- package/packages/src/renderer.ts +50 -50
- package/packages/src/resize.ts +89 -89
- package/packages/src/store.ts +49 -49
- package/packages/src/themeStore.ts +7 -7
- package/packages/src/useFns.ts +34 -34
- package/packages/src/validators.ts +9 -9
- package/types/core/clipboard.d.ts +13 -13
- package/types/core/commands.d.ts +19 -19
- package/types/core/components.d.ts +4 -4
- package/types/core/formats.d.ts +19 -19
- package/types/core/global-config.d.ts +55 -55
- package/types/core/global-event.d.ts +39 -39
- package/types/core/global-icon.d.ts +6 -6
- package/types/core/global-lang.d.ts +1 -1
- package/types/core/global-resize.d.ts +3 -3
- package/types/core/global-theme.d.ts +1 -1
- package/types/core/hooks.d.ts +14 -14
- package/types/core/index.d.ts +224 -224
- package/types/core/interceptor.d.ts +22 -22
- package/types/core/log.d.ts +8 -8
- package/types/core/menus.d.ts +19 -19
- package/types/core/permission.d.ts +10 -10
- package/types/core/renderer.d.ts +14 -14
- package/types/core/useFn.d.ts +27 -27
- package/types/core/validators.d.ts +19 -19
- package/types/index.d.ts +10 -10
- package/types/tool/common.d.ts +99 -99
- package/types/tool/index.d.ts +2 -2
- package/types/tool/util.d.ts +4 -4
package/packages/src/renderer.ts
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import XEUtils from 'xe-utils'
|
|
2
|
-
import { log } from './log'
|
|
3
|
-
|
|
4
|
-
import { VxeGlobalRenderer, VxeGlobalRendererOptions } from '../../types'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 内置的组件渲染
|
|
8
|
-
*/
|
|
9
|
-
const renderMap: Record<string, VxeGlobalRendererOptions> = {}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* 全局渲染器
|
|
13
|
-
*/
|
|
14
|
-
export const renderer: VxeGlobalRenderer = {
|
|
15
|
-
mixin (opts) {
|
|
16
|
-
XEUtils.each(opts, (options, name) => renderer.add(name, options))
|
|
17
|
-
return renderer
|
|
18
|
-
},
|
|
19
|
-
get (name: string) {
|
|
20
|
-
return renderMap[name] || null
|
|
21
|
-
},
|
|
22
|
-
add (name, options) {
|
|
23
|
-
if (name && options) {
|
|
24
|
-
const renders: any = renderMap[name]
|
|
25
|
-
if (renders) {
|
|
26
|
-
// 检测是否覆盖
|
|
27
|
-
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
28
|
-
XEUtils.each(options, (val, key) => {
|
|
29
|
-
if (!XEUtils.eqNull(renders[key]) && renders[key] !== val) {
|
|
30
|
-
log.warn('vxe.error.coverProp', [`Renderer.${name}`, key])
|
|
31
|
-
}
|
|
32
|
-
})
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
Object.assign(renders, options)
|
|
36
|
-
} else {
|
|
37
|
-
renderMap[name] = options
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return renderer
|
|
41
|
-
},
|
|
42
|
-
forEach (callback) {
|
|
43
|
-
XEUtils.objectEach(renderMap, callback)
|
|
44
|
-
return renderer
|
|
45
|
-
},
|
|
46
|
-
delete (name) {
|
|
47
|
-
delete renderMap[name]
|
|
48
|
-
return renderer
|
|
49
|
-
}
|
|
50
|
-
}
|
|
1
|
+
import XEUtils from 'xe-utils'
|
|
2
|
+
import { log } from './log'
|
|
3
|
+
|
|
4
|
+
import { VxeGlobalRenderer, VxeGlobalRendererOptions } from '../../types'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 内置的组件渲染
|
|
8
|
+
*/
|
|
9
|
+
const renderMap: Record<string, VxeGlobalRendererOptions> = {}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* 全局渲染器
|
|
13
|
+
*/
|
|
14
|
+
export const renderer: VxeGlobalRenderer = {
|
|
15
|
+
mixin (opts) {
|
|
16
|
+
XEUtils.each(opts, (options, name) => renderer.add(name, options))
|
|
17
|
+
return renderer
|
|
18
|
+
},
|
|
19
|
+
get (name: string) {
|
|
20
|
+
return renderMap[name] || null
|
|
21
|
+
},
|
|
22
|
+
add (name, options) {
|
|
23
|
+
if (name && options) {
|
|
24
|
+
const renders: any = renderMap[name]
|
|
25
|
+
if (renders) {
|
|
26
|
+
// 检测是否覆盖
|
|
27
|
+
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
28
|
+
XEUtils.each(options, (val, key) => {
|
|
29
|
+
if (!XEUtils.eqNull(renders[key]) && renders[key] !== val) {
|
|
30
|
+
log.warn('vxe.error.coverProp', [`Renderer.${name}`, key])
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
Object.assign(renders, options)
|
|
36
|
+
} else {
|
|
37
|
+
renderMap[name] = options
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return renderer
|
|
41
|
+
},
|
|
42
|
+
forEach (callback) {
|
|
43
|
+
XEUtils.objectEach(renderMap, callback)
|
|
44
|
+
return renderer
|
|
45
|
+
},
|
|
46
|
+
delete (name) {
|
|
47
|
+
delete renderMap[name]
|
|
48
|
+
return renderer
|
|
49
|
+
}
|
|
50
|
+
}
|
package/packages/src/resize.ts
CHANGED
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import XEUtils from 'xe-utils'
|
|
2
|
-
import { globalConfigStore } from './globalStore'
|
|
3
|
-
|
|
4
|
-
import { VxeGlobalResize } from '../../types'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 监听 resize 事件
|
|
8
|
-
* 如果项目中已使用了 resize-observer-polyfill,那么只需要将方法定义全局,该组件就会自动使用
|
|
9
|
-
*/
|
|
10
|
-
let resizeTimeout: any
|
|
11
|
-
/* eslint-disable no-use-before-define */
|
|
12
|
-
const eventStore: XEResizeObserver[] = []
|
|
13
|
-
const defaultInterval = 500
|
|
14
|
-
|
|
15
|
-
function eventHandle () {
|
|
16
|
-
if (eventStore.length) {
|
|
17
|
-
eventStore.forEach((item) => {
|
|
18
|
-
item.tarList.forEach((observer) => {
|
|
19
|
-
const { target, width, heighe } = observer
|
|
20
|
-
const clientWidth = target.clientWidth
|
|
21
|
-
const clientHeight = target.clientHeight
|
|
22
|
-
const rWidth = clientWidth && width !== clientWidth
|
|
23
|
-
const rHeight = clientHeight && heighe !== clientHeight
|
|
24
|
-
if (rWidth || rHeight) {
|
|
25
|
-
observer.width = clientWidth
|
|
26
|
-
observer.heighe = clientHeight
|
|
27
|
-
setTimeout(item.callback)
|
|
28
|
-
}
|
|
29
|
-
})
|
|
30
|
-
})
|
|
31
|
-
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
32
|
-
eventListener()
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function eventListener () {
|
|
37
|
-
clearTimeout(resizeTimeout)
|
|
38
|
-
resizeTimeout = setTimeout(eventHandle, globalConfigStore.resizeInterval || defaultInterval)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
class XEResizeObserver {
|
|
42
|
-
tarList: {
|
|
43
|
-
target: Element;
|
|
44
|
-
width: number;
|
|
45
|
-
heighe: number;
|
|
46
|
-
}[] = []
|
|
47
|
-
|
|
48
|
-
callback: (...args: any[]) => void
|
|
49
|
-
|
|
50
|
-
constructor (callback: (...args: any[]) => void) {
|
|
51
|
-
this.callback = callback
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
observe (target: Element): void {
|
|
55
|
-
if (target) {
|
|
56
|
-
const { tarList } = this
|
|
57
|
-
if (!tarList.some(observer => observer.target === target)) {
|
|
58
|
-
tarList.push({
|
|
59
|
-
target,
|
|
60
|
-
width: target.clientWidth,
|
|
61
|
-
heighe: target.clientHeight
|
|
62
|
-
})
|
|
63
|
-
}
|
|
64
|
-
if (!eventStore.length) {
|
|
65
|
-
eventListener()
|
|
66
|
-
}
|
|
67
|
-
if (!eventStore.some((item) => item === this)) {
|
|
68
|
-
eventStore.push(this)
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
unobserve (target: Element): void {
|
|
74
|
-
XEUtils.remove(eventStore, item => item.tarList.some(observer => observer.target === target))
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
disconnect (): void {
|
|
78
|
-
XEUtils.remove(eventStore, item => item === this)
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export const globalResize: VxeGlobalResize = {
|
|
83
|
-
create (callback: (...args: any[]) => void) {
|
|
84
|
-
if (window.ResizeObserver) {
|
|
85
|
-
return new window.ResizeObserver(callback)
|
|
86
|
-
}
|
|
87
|
-
return new XEResizeObserver(callback)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
1
|
+
import XEUtils from 'xe-utils'
|
|
2
|
+
import { globalConfigStore } from './globalStore'
|
|
3
|
+
|
|
4
|
+
import { VxeGlobalResize } from '../../types'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 监听 resize 事件
|
|
8
|
+
* 如果项目中已使用了 resize-observer-polyfill,那么只需要将方法定义全局,该组件就会自动使用
|
|
9
|
+
*/
|
|
10
|
+
let resizeTimeout: any
|
|
11
|
+
/* eslint-disable no-use-before-define */
|
|
12
|
+
const eventStore: XEResizeObserver[] = []
|
|
13
|
+
const defaultInterval = 500
|
|
14
|
+
|
|
15
|
+
function eventHandle () {
|
|
16
|
+
if (eventStore.length) {
|
|
17
|
+
eventStore.forEach((item) => {
|
|
18
|
+
item.tarList.forEach((observer) => {
|
|
19
|
+
const { target, width, heighe } = observer
|
|
20
|
+
const clientWidth = target.clientWidth
|
|
21
|
+
const clientHeight = target.clientHeight
|
|
22
|
+
const rWidth = clientWidth && width !== clientWidth
|
|
23
|
+
const rHeight = clientHeight && heighe !== clientHeight
|
|
24
|
+
if (rWidth || rHeight) {
|
|
25
|
+
observer.width = clientWidth
|
|
26
|
+
observer.heighe = clientHeight
|
|
27
|
+
setTimeout(item.callback)
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
32
|
+
eventListener()
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function eventListener () {
|
|
37
|
+
clearTimeout(resizeTimeout)
|
|
38
|
+
resizeTimeout = setTimeout(eventHandle, globalConfigStore.resizeInterval || defaultInterval)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
class XEResizeObserver {
|
|
42
|
+
tarList: {
|
|
43
|
+
target: Element;
|
|
44
|
+
width: number;
|
|
45
|
+
heighe: number;
|
|
46
|
+
}[] = []
|
|
47
|
+
|
|
48
|
+
callback: (...args: any[]) => void
|
|
49
|
+
|
|
50
|
+
constructor (callback: (...args: any[]) => void) {
|
|
51
|
+
this.callback = callback
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
observe (target: Element): void {
|
|
55
|
+
if (target) {
|
|
56
|
+
const { tarList } = this
|
|
57
|
+
if (!tarList.some(observer => observer.target === target)) {
|
|
58
|
+
tarList.push({
|
|
59
|
+
target,
|
|
60
|
+
width: target.clientWidth,
|
|
61
|
+
heighe: target.clientHeight
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
if (!eventStore.length) {
|
|
65
|
+
eventListener()
|
|
66
|
+
}
|
|
67
|
+
if (!eventStore.some((item) => item === this)) {
|
|
68
|
+
eventStore.push(this)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
unobserve (target: Element): void {
|
|
74
|
+
XEUtils.remove(eventStore, item => item.tarList.some(observer => observer.target === target))
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
disconnect (): void {
|
|
78
|
+
XEUtils.remove(eventStore, item => item === this)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export const globalResize: VxeGlobalResize = {
|
|
83
|
+
create (callback: (...args: any[]) => void) {
|
|
84
|
+
if (window.ResizeObserver) {
|
|
85
|
+
return new window.ResizeObserver(callback)
|
|
86
|
+
}
|
|
87
|
+
return new XEResizeObserver(callback)
|
|
88
|
+
}
|
|
89
|
+
}
|
package/packages/src/store.ts
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { log } from './log'
|
|
2
|
-
import XEUtils from 'xe-utils'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* 创建数据仓库
|
|
6
|
-
*/
|
|
7
|
-
export class Store {
|
|
8
|
-
private store: any = {}
|
|
9
|
-
|
|
10
|
-
mixin (options: any): Store {
|
|
11
|
-
XEUtils.each(options, (item, key) => {
|
|
12
|
-
this.add(key, item)
|
|
13
|
-
})
|
|
14
|
-
return this
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
has (name: string): boolean {
|
|
18
|
-
return !!this.get(name)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
get (name: string): any {
|
|
22
|
-
return this.store[name]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
add (name: string, options: any): Store {
|
|
26
|
-
const conf = this.store[name]
|
|
27
|
-
// 检测是否覆盖
|
|
28
|
-
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
29
|
-
const confKeys = XEUtils.keys(conf)
|
|
30
|
-
XEUtils.each(options, (item, key) => {
|
|
31
|
-
if (confKeys.includes(key)) {
|
|
32
|
-
log.warn('vxe.error.coverProp', [name, key])
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
this.store[name] = conf ? XEUtils.merge(conf, options) : options
|
|
37
|
-
return this
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
delete (name: string): void {
|
|
41
|
-
delete this.store[name]
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
forEach (callback: any): void {
|
|
45
|
-
XEUtils.objectEach(this.store, callback)
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export default Store
|
|
1
|
+
import { log } from './log'
|
|
2
|
+
import XEUtils from 'xe-utils'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 创建数据仓库
|
|
6
|
+
*/
|
|
7
|
+
export class Store {
|
|
8
|
+
private store: any = {}
|
|
9
|
+
|
|
10
|
+
mixin (options: any): Store {
|
|
11
|
+
XEUtils.each(options, (item, key) => {
|
|
12
|
+
this.add(key, item)
|
|
13
|
+
})
|
|
14
|
+
return this
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
has (name: string): boolean {
|
|
18
|
+
return !!this.get(name)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
get (name: string): any {
|
|
22
|
+
return this.store[name]
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
add (name: string, options: any): Store {
|
|
26
|
+
const conf = this.store[name]
|
|
27
|
+
// 检测是否覆盖
|
|
28
|
+
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
29
|
+
const confKeys = XEUtils.keys(conf)
|
|
30
|
+
XEUtils.each(options, (item, key) => {
|
|
31
|
+
if (confKeys.includes(key)) {
|
|
32
|
+
log.warn('vxe.error.coverProp', [name, key])
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
this.store[name] = conf ? XEUtils.merge(conf, options) : options
|
|
37
|
+
return this
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
delete (name: string): void {
|
|
41
|
+
delete this.store[name]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
forEach (callback: any): void {
|
|
45
|
+
XEUtils.objectEach(this.store, callback)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default Store
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { VxeGlobalThemeName } from '../../types'
|
|
2
|
-
|
|
3
|
-
export const themeConfigStore: {
|
|
4
|
-
theme: VxeGlobalThemeName
|
|
5
|
-
} = {
|
|
6
|
-
theme: ''
|
|
7
|
-
}
|
|
1
|
+
import { VxeGlobalThemeName } from '../../types'
|
|
2
|
+
|
|
3
|
+
export const themeConfigStore: {
|
|
4
|
+
theme: VxeGlobalThemeName
|
|
5
|
+
} = {
|
|
6
|
+
theme: ''
|
|
7
|
+
}
|
package/packages/src/useFns.ts
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { computed, inject, provide, ComputedRef } from 'vue'
|
|
2
|
-
import { handleCheckInfo } from './permission'
|
|
3
|
-
|
|
4
|
-
import type { VxeComponentSizeType, VxeComponentPermissionCodeType, VxeComponentPermissionMethod } from '../../types'
|
|
5
|
-
|
|
6
|
-
export function useSize (props: {
|
|
7
|
-
size?: VxeComponentSizeType
|
|
8
|
-
}) {
|
|
9
|
-
// 组件尺寸上下文
|
|
10
|
-
const xeSizeInfo = inject('xeSizeInfo', null as ComputedRef<VxeComponentSizeType> | null)
|
|
11
|
-
const computeSize = computed(() => {
|
|
12
|
-
return props.size || (xeSizeInfo ? xeSizeInfo.value : null)
|
|
13
|
-
})
|
|
14
|
-
provide('xeSizeInfo', computeSize)
|
|
15
|
-
|
|
16
|
-
return { computeSize }
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function usePermission (props: {
|
|
20
|
-
permissionCode?: VxeComponentPermissionCodeType
|
|
21
|
-
permissionMethod?: VxeComponentPermissionMethod
|
|
22
|
-
}) {
|
|
23
|
-
const computePermissionInfo = computed(() => {
|
|
24
|
-
return handleCheckInfo(props.permissionCode, props.permissionMethod)
|
|
25
|
-
})
|
|
26
|
-
return {
|
|
27
|
-
computePermissionInfo
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export const useFns = {
|
|
32
|
-
useSize,
|
|
33
|
-
usePermission
|
|
34
|
-
}
|
|
1
|
+
import { computed, inject, provide, ComputedRef } from 'vue'
|
|
2
|
+
import { handleCheckInfo } from './permission'
|
|
3
|
+
|
|
4
|
+
import type { VxeComponentSizeType, VxeComponentPermissionCodeType, VxeComponentPermissionMethod } from '../../types'
|
|
5
|
+
|
|
6
|
+
export function useSize (props: {
|
|
7
|
+
size?: VxeComponentSizeType
|
|
8
|
+
}) {
|
|
9
|
+
// 组件尺寸上下文
|
|
10
|
+
const xeSizeInfo = inject('xeSizeInfo', null as ComputedRef<VxeComponentSizeType> | null)
|
|
11
|
+
const computeSize = computed(() => {
|
|
12
|
+
return props.size || (xeSizeInfo ? xeSizeInfo.value : null)
|
|
13
|
+
})
|
|
14
|
+
provide('xeSizeInfo', computeSize)
|
|
15
|
+
|
|
16
|
+
return { computeSize }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function usePermission (props: {
|
|
20
|
+
permissionCode?: VxeComponentPermissionCodeType
|
|
21
|
+
permissionMethod?: VxeComponentPermissionMethod
|
|
22
|
+
}) {
|
|
23
|
+
const computePermissionInfo = computed(() => {
|
|
24
|
+
return handleCheckInfo(props.permissionCode, props.permissionMethod)
|
|
25
|
+
})
|
|
26
|
+
return {
|
|
27
|
+
computePermissionInfo
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const useFns = {
|
|
32
|
+
useSize,
|
|
33
|
+
usePermission
|
|
34
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import VXEStore from './store'
|
|
2
|
-
|
|
3
|
-
import { VxeGlobalValidators } from '../../types'
|
|
4
|
-
|
|
5
|
-
export const validators = new VXEStore() as VxeGlobalValidators
|
|
6
|
-
|
|
7
|
-
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
8
|
-
Object.assign(validators, { _name: 'Validators' })
|
|
9
|
-
}
|
|
1
|
+
import VXEStore from './store'
|
|
2
|
+
|
|
3
|
+
import { VxeGlobalValidators } from '../../types'
|
|
4
|
+
|
|
5
|
+
export const validators = new VXEStore() as VxeGlobalValidators
|
|
6
|
+
|
|
7
|
+
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
8
|
+
Object.assign(validators, { _name: 'Validators' })
|
|
9
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export interface VxeGlobalClipboardCopyObj {
|
|
2
|
-
text: string
|
|
3
|
-
html: string
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 全局剪贴板
|
|
8
|
-
*/
|
|
9
|
-
export interface VxeGlobalClipboard {
|
|
10
|
-
getStore(): VxeGlobalClipboardCopyObj
|
|
11
|
-
setStore(data: VxeGlobalClipboardCopyObj): void
|
|
12
|
-
copy(content: string | number | VxeGlobalClipboardCopyObj): boolean
|
|
13
|
-
}
|
|
1
|
+
export interface VxeGlobalClipboardCopyObj {
|
|
2
|
+
text: string
|
|
3
|
+
html: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 全局剪贴板
|
|
8
|
+
*/
|
|
9
|
+
export interface VxeGlobalClipboard {
|
|
10
|
+
getStore(): VxeGlobalClipboardCopyObj
|
|
11
|
+
setStore(data: VxeGlobalClipboardCopyObj): void
|
|
12
|
+
copy(content: string | number | VxeGlobalClipboardCopyObj): boolean
|
|
13
|
+
}
|
package/types/core/commands.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/* eslint-disable no-use-before-define */
|
|
2
|
-
|
|
3
|
-
export namespace VxeGlobalCommandsHandles {
|
|
4
|
-
export interface CommandsOptions {}
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* 全局格式化
|
|
9
|
-
*/
|
|
10
|
-
export interface VxeGlobalCommands {
|
|
11
|
-
mixin(opts: {
|
|
12
|
-
[name: string]: VxeGlobalCommandsHandles.CommandsOptions | ((params: any, ...args: any[]) => void)
|
|
13
|
-
}): VxeGlobalCommands
|
|
14
|
-
has(name: string): boolean
|
|
15
|
-
get(name: string): VxeGlobalCommandsHandles.CommandsOptions
|
|
16
|
-
add(name: string, options: VxeGlobalCommandsHandles.CommandsOptions | ((params: any, ...args: any[]) => void)): VxeGlobalCommands
|
|
17
|
-
delete(name: string): void
|
|
18
|
-
forEach(callback: (options: VxeGlobalCommandsHandles.CommandsOptions, name: string) => void): void
|
|
19
|
-
}
|
|
1
|
+
/* eslint-disable no-use-before-define */
|
|
2
|
+
|
|
3
|
+
export namespace VxeGlobalCommandsHandles {
|
|
4
|
+
export interface CommandsOptions {}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 全局格式化
|
|
9
|
+
*/
|
|
10
|
+
export interface VxeGlobalCommands {
|
|
11
|
+
mixin(opts: {
|
|
12
|
+
[name: string]: VxeGlobalCommandsHandles.CommandsOptions | ((params: any, ...args: any[]) => void)
|
|
13
|
+
}): VxeGlobalCommands
|
|
14
|
+
has(name: string): boolean
|
|
15
|
+
get(name: string): VxeGlobalCommandsHandles.CommandsOptions
|
|
16
|
+
add(name: string, options: VxeGlobalCommandsHandles.CommandsOptions | ((params: any, ...args: any[]) => void)): VxeGlobalCommands
|
|
17
|
+
delete(name: string): void
|
|
18
|
+
forEach(callback: (options: VxeGlobalCommandsHandles.CommandsOptions, name: string) => void): void
|
|
19
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface VxeGlobalComponents {}
|
|
2
|
-
|
|
3
|
-
export type VxeGlobalComponentMethod = (comp: any) => void
|
|
4
|
-
export type VxeGlobalGetComponentMethod = <T = any>(name: keyof VxeGlobalComponents) => T
|
|
1
|
+
export interface VxeGlobalComponents {}
|
|
2
|
+
|
|
3
|
+
export type VxeGlobalComponentMethod = (comp: any) => void
|
|
4
|
+
export type VxeGlobalGetComponentMethod = <T = any>(name: keyof VxeGlobalComponents) => T
|
package/types/core/formats.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/* eslint-disable no-use-before-define */
|
|
2
|
-
|
|
3
|
-
export namespace VxeGlobalFormatsHandles {
|
|
4
|
-
export interface FormatsOptions {}
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* 全局格式化
|
|
9
|
-
*/
|
|
10
|
-
export interface VxeGlobalFormats {
|
|
11
|
-
mixin(opts: {
|
|
12
|
-
[name: string]: VxeGlobalFormatsHandles.FormatsOptions | ((params: any, ...args: any[]) => string | number)
|
|
13
|
-
}): VxeGlobalFormats
|
|
14
|
-
has(name: string): boolean
|
|
15
|
-
get(name: string): VxeGlobalFormatsHandles.FormatsOptions
|
|
16
|
-
add(name: string, options: VxeGlobalFormatsHandles.FormatsOptions | ((params: any, ...args: any[]) => string | number)): VxeGlobalFormats
|
|
17
|
-
delete(name: string): void
|
|
18
|
-
forEach(callback: (options: VxeGlobalFormatsHandles.FormatsOptions, name: string) => void): void
|
|
19
|
-
}
|
|
1
|
+
/* eslint-disable no-use-before-define */
|
|
2
|
+
|
|
3
|
+
export namespace VxeGlobalFormatsHandles {
|
|
4
|
+
export interface FormatsOptions {}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 全局格式化
|
|
9
|
+
*/
|
|
10
|
+
export interface VxeGlobalFormats {
|
|
11
|
+
mixin(opts: {
|
|
12
|
+
[name: string]: VxeGlobalFormatsHandles.FormatsOptions | ((params: any, ...args: any[]) => string | number)
|
|
13
|
+
}): VxeGlobalFormats
|
|
14
|
+
has(name: string): boolean
|
|
15
|
+
get(name: string): VxeGlobalFormatsHandles.FormatsOptions
|
|
16
|
+
add(name: string, options: VxeGlobalFormatsHandles.FormatsOptions | ((params: any, ...args: any[]) => string | number)): VxeGlobalFormats
|
|
17
|
+
delete(name: string): void
|
|
18
|
+
forEach(callback: (options: VxeGlobalFormatsHandles.FormatsOptions, name: string) => void): void
|
|
19
|
+
}
|