From c32be3e8275c11e5e229a330ee079c4809c01d75 Mon Sep 17 00:00:00 2001 From: bjorn Date: Fri, 15 Aug 2008 10:53:59 +0000 Subject: [PATCH] Change JS translation to replace existing output when a new translation is done. --- lib/javascript/translator.html | 5 ++++- lib/javascript/translator.js | 15 +++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/javascript/translator.html b/lib/javascript/translator.html index a7b03190a..5e39518fd 100644 --- a/lib/javascript/translator.html +++ b/lib/javascript/translator.html @@ -14,7 +14,10 @@ var input = document.getElementById('inputText').value; var fromLang = document.getElementById('fromLang').value; var toLang = document.getElementById('toLang').value; - addTranslation('output', grammar.translate(input, fromLang, toLang)); + var output = document.getElementById('output'); + var translation = grammar.translate(input, fromLang, toLang); + removeChildren(output); + output.appendChild(formatTranslation(translation)); } function populateLangs () { diff --git a/lib/javascript/translator.js b/lib/javascript/translator.js index c476e65d8..99bd8b191 100644 --- a/lib/javascript/translator.js +++ b/lib/javascript/translator.js @@ -1,7 +1,3 @@ -function addTranslation (outputID, translation) { - document.getElementById(outputID).appendChild(formatTranslation(translation)); -} - function formatTranslation (outputs) { var dl1 = document.createElement("dl"); for (var fromLang in outputs) { @@ -19,6 +15,8 @@ function formatTranslation (outputs) { return dl1; } +/* DOM utilities for specific tags */ + function addDefinition (dl, t, d) { var dt = document.createElement("dt"); dt.appendChild(t); @@ -40,3 +38,12 @@ function addOption (select, value, content) { option.appendChild(document.createTextNode(content)); select.appendChild(option); } + +/* General DOM utilities */ + +/* Removes all the children of a node */ +function removeChildren(node) { + while (node.hasChildNodes()) { + node.removeChild(node.firstChild); + } +}