-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
76 lines (63 loc) · 2.54 KB
/
index.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
72
73
74
75
76
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Statechart Editor</title>
<link rel="shortcut icon" href="./favicon.ico">
</head>
<body id="body" z-index="0">
<canvas id="palette" style="position:fixed; z-index:1;"></canvas>
<canvas id="canvas" style="position:absolute; z-index:0"></canvas>
<script src="JSAppFramework/base.js"></script>
<script src="JSAppFramework/collections.js"></script>
<script src="JSAppFramework/data_models.js"></script>
<script src="JSAppFramework/diagrams.js"></script>
<script src="JSAppFramework/geometry.js"></script>
<script src="statecharts.js"></script>
<script src="third_party/FileSaver.min.js"></script>
<script src="third_party/canvas2svg/canvas2svg.js"></script>
<script type="text/javascript" language="JavaScript">
'use strict';
(function() {
const body = document.getElementById('body'),
canvas = document.getElementById('canvas'),
palette = document.getElementById('palette'),
// TODO proper "document" handling.
statechartModel = { root: statechart_data },
theme = diagrams.theme.createDefault(), // or createBlueprint
canvasController = new diagrams.CanvasController(canvas, theme),
paletteController = new diagrams.CanvasController(palette, theme),
propertyGridController = new diagrams.PropertyGridController(body, theme),
statechartEditor = new statecharts.Editor(
theme, canvasController, paletteController, propertyGridController);
statechartEditor.initializeModel(statechartModel);
statechartEditor.setModel(statechartModel);
document.bgColor = theme.bgColor;
palette.style.backgroundColor = theme.altBgColor;
palette.style.borderColor = theme.strokeColor;
palette.style.borderStyle = 'solid';
palette.style.borderWidth = '0.25px';
canvas.style.backgroundColor = theme.bgColor;
canvasController.configure([statechartEditor]);
canvasController.setSize(window.innerWidth, window.innerHeight);
paletteController.configure([statechartEditor]);
paletteController.setSize(150, 100);
paletteController.draggable = true;
window.onbeforeunload = function() {
return "Are you sure you want to navigate away?";
}
window.onresize = function() {
paletteController.onWindowResize();
canvasController.onWindowResize();
}
document.addEventListener('keydown', function(e) {
// Handle any keyboard commands for the app window here.
canvasController.onKeyDown(e);
});
document.addEventListener('keyup', function(e) {
canvasController.onKeyUp(e);
});
})();
</script>
</body>
</html>