-
Notifications
You must be signed in to change notification settings - Fork 0
/
unpkg-plugin.html
71 lines (64 loc) · 2.24 KB
/
unpkg-plugin.html
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
67
68
69
70
71
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>browser test</title>
<style>
html,
body {
margin: 0;
}
#blocklyDiv {
height: 100vh;
width: 100vw;
}
</style>
<script src="https://unpkg.com/blockly/blockly.min.js"></script>
<script src="../../dist/multiselect.js"></script>
</head>
<body>
<div id="blocklyDiv"></div>
<script>
function createWorkspace(blocklyDiv, options) {
const pluginOptions = {
copyPasteToStorage: true, // Use local storage to persist copied blocks between sessions and across tabs
copyPasteToClipboard: true, // `false` prevents use of system clipboard
hideDisabledMenuItems: false, // `false` greys out disabled menu options, `true` hides them completely
enableBlockMenu: true, // Adds a custom context menu for blocks (only when multiselect is active)
blockScope: {
// movable: true,
},
enableWorkspaceMenu: true, // Replaces Blockly's default workspace context menu (only when multiselect is inactive)
workspaceScope: {
// select: false,
},
multiselectScope: {
// redo: true,
},
};
const workspace = Blockly.inject(blocklyDiv, options); // hardcoded blocklyDiv
const plugin = new multiselect.MultiselectPlugin(pluginOptions, workspace);
plugin.init();
return workspace;
}
document.addEventListener("DOMContentLoaded", function () {
const toolbox = {
"kind": "flyoutToolbox",
"contents": [
{
"kind": "block",
"type": "controls_if"
},
{
"kind": "block",
"type": "controls_whileUntil"
}
]
};
createWorkspace(document.getElementById("blocklyDiv"), {
toolbox: toolbox,
});
});
</script>
</body>
</html>