Skip to content
Permalink
Newer
Older
100644 120 lines (102 sloc) 3.9 KB
August 7, 2013 12:31
1
define(function (require) {
2
var activity = require("sugar-web/activity/activity");
3
var radioButtonsGroup = require("sugar-web/graphics/radiobuttonsgroup");
August 7, 2013 16:17
4
require("gearsketch_main");
August 7, 2013 12:31
5
6
// Manipulate the DOM only when it is ready.
7
require(['domReady!'], function (doc) {
8
9
var gearSketch;
10
August 7, 2013 12:31
11
// Initialize the activity.
12
activity.setup();
13
14
var stopButton = document.getElementById("stop-button");
15
stopButton.addEventListener('click', function (event) {
16
console.log("writing...");
17
var jsonData = JSON.stringify(gearSketch.board);
18
activity.getDatastoreObject().setDataAsText(jsonData);
19
activity.getDatastoreObject().save(function (error) {
20
if (error === null) {
21
console.log("write done.");
22
}
23
else {
24
console.log("write failed.");
25
}
26
});
28
29
gearSketch = new window.gearsketch.GearSketch(false);
30
31
// Read from the datastore
32
var datastoreObject = activity.getDatastoreObject();
33
function onLoaded(error, metadata, jsonData) {
34
if (error === null) {
35
gearSketch.board = window.gearsketch.model.Board.
36
fromObject(JSON.parse(jsonData));
37
console.log("read done.");
38
}
39
else {
40
console.log("read failed.");
41
}
42
}
43
datastoreObject.loadAsText(onLoaded);
45
var radioButtons;
46
var gearButton = document.getElementById("gear-button");
47
var chainButton = document.getElementById("chain-button");
48
var momentumButton = document.getElementById("momentum-button");
49
var playButton = document.getElementById("play-button");
50
51
var buttonNames = {
52
"gearButton": gearButton,
53
"chainButton": chainButton,
54
"momentumButton": momentumButton,
55
"playButton": playButton
56
};
57
58
gearSketch.selectButton = function (buttonName) {
59
return this.selectedButton = buttonName;
60
}
61
62
// Gear button.
63
gearButton.addEventListener('click', function (event) {
64
if (gearSketch.isDemoPlaying) {
65
gearSketch.stopDemo();
66
}
67
gearSketch.selectButton("gearButton");
68
});
69
70
// Chain button.
71
chainButton.addEventListener('click', function (event) {
72
if (gearSketch.isDemoPlaying) {
73
gearSketch.stopDemo();
74
}
75
gearSketch.selectButton("chainButton");
76
});
77
78
// Momentum button.
79
momentumButton.addEventListener('click', function (event) {
80
if (gearSketch.isDemoPlaying) {
81
gearSketch.stopDemo();
82
}
83
gearSketch.selectButton("momentumButton");
86
// Play button.
87
playButton.addEventListener('click', function (event) {
88
if (gearSketch.isDemoPlaying) {
89
gearSketch.stopDemo();
90
}
91
gearSketch.selectButton("playButton");
92
});
93
94
radioButtons = new radioButtonsGroup.RadioButtonsGroup(
95
[gearButton, chainButton, momentumButton, playButton]);
96
97
// Clear button.
98
var clearButton = document.getElementById("clear-button");
99
clearButton.addEventListener('click', function (event) {
100
if (gearSketch.isDemoPlaying) {
August 8, 2013 23:04
101
gearSketch.showButtons = false;
102
gearSketch.stopDemo();
103
return;
104
}
105
gearSketch.board.clear();
106
});
107
108
// Help button.
109
var helpButton = document.getElementById("help-button");
110
helpButton.addEventListener('click', function (event) {
111
if (gearSketch.isDemoPlaying) {
112
gearSketch.stopDemo();
113
return;
114
}
115
gearSketch.playDemo();
116
});
August 7, 2013 16:17
117
August 7, 2013 12:31
118
});
119
120
});