not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

79 lines
2.7 KiB

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);
}
}
}
});
});