1 | import Vue from 'vue'
|
2 |
|
3 | import { isSSR } from './plugins/Platform.js'
|
4 | import materialIcons from '../icon-set/material-icons.js'
|
5 |
|
6 | export default {
|
7 | install ($q, queues, iconSet) {
|
8 | const initialSet = iconSet || materialIcons
|
9 |
|
10 | this.set = (setObject, ssrContext) => {
|
11 | const def = { ...setObject }
|
12 |
|
13 | if (isSSR === true) {
|
14 | if (ssrContext === void 0) {
|
15 | console.error('SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)')
|
16 | return
|
17 | }
|
18 |
|
19 | def.set = ssrContext.$q.iconSet.set
|
20 | ssrContext.$q.iconSet = def
|
21 | }
|
22 | else {
|
23 | def.set = this.set
|
24 | $q.iconSet = def
|
25 | }
|
26 | }
|
27 |
|
28 | if (isSSR === true) {
|
29 | queues.server.push((q, ctx) => {
|
30 | q.iconSet = {}
|
31 | q.iconSet.set = setObject => {
|
32 | this.set(setObject, ctx.ssr)
|
33 | }
|
34 |
|
35 | q.iconSet.set(initialSet)
|
36 | })
|
37 | }
|
38 | else {
|
39 | Vue.util.defineReactive($q, 'iconMapFn', void 0)
|
40 | Vue.util.defineReactive($q, 'iconSet', {})
|
41 |
|
42 | this.set(initialSet)
|
43 | }
|
44 | }
|
45 | }
|