-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.js
66 lines (56 loc) · 1.25 KB
/
main.js
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
const styles = require("./assets/styles.css");
const Vue = require("vue").default;
// const { Text, Rectangle, Color } = require("scenegraph");
// const commands = require("commands");
// const { editDocument } = require("application");
// const Clipboard = require("clipboard");
// const Viewport = require("viewport");
// Analytics
// var mixpanel = require("./mixpanel-tracks").default;
// window.analytics = {
// mixpanel: mixpanel,
// };
const index = require("./index.vue").default;
let panel;
function getPanel() {
if (panel == null) {
document.body.innerHTML = `<panel><div id="container"></div></panel>`;
panel = document.querySelector("panel");
var app4 = new Vue({
el: "#container",
components: {
index,
},
render(h) {
return h(index, {
props: {
panel,
},
});
},
});
}
return panel;
}
function show(event) {
if (!panel) {
let uiPanel = getPanel();
event.node.appendChild(uiPanel);
}
//how to do proper cleanup here ?
}
function hide(event) {
// anything needed here ?
}
async function update() {
// does anything should be done here ?
}
module.exports = {
panels: {
colors: {
show,
hide,
update,
},
},
};