define(["sugar-web/activity/activity","activity/SpeakActivity","facepalette","speechpalette","languagepalette","activity/sax","activity/dom-js","activity/AIMLInterpreter","activity/Speech"], function (activity, speakActivity, facepalette, speechpalette, languagepalette) {
|
|
|
|
// Manipulate the DOM only when it is ready.
|
|
requirejs(['domReady!'], function (doc) {
|
|
|
|
// Initialize the activity.
|
|
activity.setup();
|
|
|
|
|
|
var datastoreObject = activity.getDatastoreObject();
|
|
var faceButton = document.getElementById("face-button");
|
|
|
|
var faceButtonPalette = new facepalette.ActivityPalette(
|
|
faceButton, datastoreObject);
|
|
|
|
var speechButton = document.getElementById("speech-button");
|
|
|
|
var speechButtonPalette = new speechpalette.ActivityPalette(
|
|
speechButton, datastoreObject);
|
|
|
|
var languageButton = document.getElementById("language-button");
|
|
|
|
var languagePalette = new languagepalette.ActivityPalette(
|
|
languageButton, datastoreObject);
|
|
|
|
|
|
//Loads talk history when instance is existing
|
|
activity.getDatastoreObject().loadAsText(function(error, metadata, data) {
|
|
if (error==null && data!=null) {
|
|
speakArray = JSON.parse(data);
|
|
removeExtra(speakArray); // Removes extra element and organizes list.
|
|
speakComboBox();
|
|
//console.log(speakArray);
|
|
}
|
|
});
|
|
|
|
// Saves talk history in Journal on Stop
|
|
document.getElementById("stop-button").addEventListener('click', function (event) {
|
|
console.log("writing...");
|
|
var jsonData = JSON.stringify(speakArray);
|
|
console.log(jsonData);
|
|
activity.getDatastoreObject().setDataAsText(jsonData);
|
|
activity.getDatastoreObject().save(function (error) {
|
|
if (error === null) {
|
|
console.log("write done.");
|
|
} else {
|
|
console.log("write failed.");
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
// Function that creates options for select tag. Value of options is equal to saved talk.
|
|
function speakComboBox() {
|
|
for (var i = 0; i < speakArray.length; i ++) {
|
|
var addUserInput = document.createElement("OPTION");
|
|
addUserInput.setAttribute("value", speakArray[i]);
|
|
addUserInput.text = speakArray[i];
|
|
document.getElementById("combo-box").appendChild(addUserInput);
|
|
}
|
|
}
|
|
|
|
//Function that removes extra elements in the select tag.
|
|
function removeExtra(element) {
|
|
element.sort();
|
|
for (var x = element.length-1; x--;) {
|
|
if (element[x] === element[x + 1]) {
|
|
element.splice(x, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|