forked from quasarframework/quasar
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathicon-set.js
More file actions
45 lines (37 loc) · 1.03 KB
/
icon-set.js
File metadata and controls
45 lines (37 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import Vue from 'vue'
import { isSSR } from './plugins/Platform.js'
import materialIcons from '../icon-set/material-icons.js'
export default {
install ($q, queues, iconSet) {
const initialSet = iconSet || materialIcons
this.set = (setObject, ssrContext) => {
const def = { ...setObject }
if (isSSR === true) {
if (ssrContext === void 0) {
console.error('SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)')
return
}
def.set = ssrContext.$q.iconSet.set
ssrContext.$q.iconSet = def
}
else {
def.set = this.set
$q.iconSet = def
}
}
if (isSSR === true) {
queues.server.push((q, ctx) => {
q.iconSet = {}
q.iconSet.set = setObject => {
this.set(setObject, ctx.ssr)
}
q.iconSet.set(initialSet)
})
}
else {
Vue.util.defineReactive($q, 'iconMapFn', void 0)
Vue.util.defineReactive($q, 'iconSet', {})
this.set(initialSet)
}
}
}