OSDN Git Service

change readme
[bytom/Byone.git] / src / popup / components / spin / spin.js
1 import Vue from 'vue';
2 import Spin from './spin.vue';
3
4 Spin.newInstance = properties => {
5     const _props = properties || {};
6
7     const Instance = new Vue({
8         data: Object.assign({}, _props, {
9
10         }),
11         render (h) {
12             let vnode = '';
13             if (this.render) {
14                 vnode = h(Spin, {
15                     props: {
16                         fix: true,
17                         fullscreen: true
18                     }
19                 }, [this.render(h)]);
20             } else {
21                 vnode = h(Spin, {
22                     props: {
23                         size: 'large',
24                         fix: true,
25                         fullscreen: true
26                     }
27                 });
28             }
29             return h('div', {
30                 'class': 'ivu-spin-fullscreen ivu-spin-fullscreen-wrapper',
31                 'style': {
32                     'z-index': 999999
33                 }
34             }, [vnode]);
35         }
36     });
37
38     const component = Instance.$mount();
39     document.body.appendChild(component.$el);
40     const spin = Instance.$children[0];
41
42     return {
43         show () {
44             spin.visible = true;
45             // tIndex = handleGetIndex();
46         },
47         remove (cb) {
48             spin.visible = false;
49             setTimeout(function() {
50                 spin.$parent.$destroy();
51                 if (document.getElementsByClassName('ivu-spin-fullscreen')[0] !== undefined) {
52                     document.body.removeChild(document.getElementsByClassName('ivu-spin-fullscreen')[0]);
53                 }
54                 cb();
55             }, 500);
56         },
57         component: spin
58     };
59 };
60
61 export default Spin;