# HG changeset patch # User Nicholas Jillings # Date 1457962603 0 # Node ID c9b4baa764dc78cf915dd402723d2ed0d1bfff69 # Parent b4d6552aecb76ba6bea80e98fb2b66f254b5fe8e Test create fixes for #1594. Styling of survey entry options. Fixed survey entry leak. Removed "synchronous" attribute from page for now. diff -r b4d6552aecb7 -r c9b4baa764dc test-schema.xsd --- a/test-schema.xsd Mon Mar 14 12:34:36 2016 +0000 +++ b/test-schema.xsd Mon Mar 14 13:36:43 2016 +0000 @@ -70,7 +70,6 @@ - diff -r b4d6552aecb7 -r c9b4baa764dc test_create/style.css --- a/test_create/style.css Mon Mar 14 12:34:36 2016 +0000 +++ b/test_create/style.css Mon Mar 14 13:36:43 2016 +0000 @@ -132,4 +132,17 @@ } input:disabled+label{ text-decoration: line-through; +} + +div.survey-entry-attribute { + margin: 10px 0px; + border: 1px gray solid; + border-radius: 5px; + height: 40px; + line-height: 40px; + padding: 0px 10px; +} + +div.survey-entry-attribute span{ + margin-right: 10px; } \ No newline at end of file diff -r b4d6552aecb7 -r c9b4baa764dc test_create/test_core.js --- a/test_create/test_core.js Mon Mar 14 12:34:36 2016 +0000 +++ b/test_create/test_core.js Mon Mar 14 13:36:43 2016 +0000 @@ -728,10 +728,12 @@ this.dynamic.innerHTML = null; var statement = document.createElement("div"); var statementText = document.createElement("span"); - var statementEntry = document.createElement("textarea"); + var statementEntry = document.createElement("input"); statement.appendChild(statementText); statement.appendChild(statementEntry); + statement.className = "survey-entry-attribute"; statementText.textContent = "Statement/Question"; + statementEntry.style.width = "500px"; statementEntry.addEventListener("change",this,false); statementEntry.setAttribute("name","statement"); statementEntry.value = this.option.statement; @@ -742,6 +744,7 @@ var idEntry = document.createElement("input"); id.appendChild(idText); id.appendChild(idEntry); + id.className = "survey-entry-attribute"; idText.textContent = "ID: "; idEntry.addEventListener("change",this,false); idEntry.setAttribute("name","id"); @@ -776,6 +779,7 @@ boxsizeText.textContent = "Entry Size: "; boxsize.appendChild(boxsizeText); boxsize.appendChild(boxsizeSelect); + boxsize.className = "survey-entry-attribute"; this.dynamic.appendChild(boxsize); var mandatory = document.createElement("div"); @@ -784,6 +788,7 @@ mandatoryText.textContent = "Mandatory: "; mandatory.appendChild(mandatoryText); mandatory.appendChild(mandatoryInput); + mandatory.className = "survey-entry-attribute"; mandatoryInput.type = "checkbox"; if (this.option.mandatory) {mandatoryInput.checked = true;} else {mandatoryInput.checked = false;} mandatoryInput.setAttribute("name","mandatory"); @@ -799,6 +804,7 @@ mandatoryText.textContent = "Mandatory: "; mandatory.appendChild(mandatoryText); mandatory.appendChild(mandatoryInput); + mandatory.className = "survey-entry-attribute"; mandatoryInput.type = "checkbox"; if (this.option.mandatory) {mandatoryInput.checked = true;} else {mandatoryInput.checked = false;} mandatoryInput.setAttribute("name","mandatory"); @@ -811,6 +817,7 @@ minimumText.textContent = "Minimum: "; minimum.appendChild(minimumText); minimum.appendChild(minimumEntry); + minimum.className = "survey-entry-attribute"; minimumEntry.type = "number"; minimumEntry.setAttribute("name","min"); minimumEntry.addEventListener("change",this,false); @@ -823,6 +830,7 @@ maximumText.textContent = "Maximum: "; maximum.appendChild(maximumText); maximum.appendChild(maximumEntry); + maximum.className = "survey-entry-attribute"; maximumEntry.type = "number"; maximumEntry.setAttribute("name","max"); maximumEntry.addEventListener("change",this,false); @@ -914,23 +922,23 @@ this.handleEvent = function() { var name = event.currentTarget.getAttribute("name"); + var nodeName = event.currentTarget.nodeName; + if (name == "type" && nodeName == "SELECT") { + // If type has changed, we may need to rebuild the entire state node + if (event.currentTarget.value != this.option.name) + { + this.option.type = event.currentTarget.value; + this.generate(this.option,this.parent); + } + return; + } + var type = event.currentTarget.getAttribute("type"); switch(name) { - case "type": - // If type has changed, we may need to rebuild the entire state node - if (event.currentTarget.value != this.option.name) - { - this.option.type = event.currentTarget.value; - this.generate(this.option,this.parent); - } + case "checkbox": + eval("this.option."+name+" = event.currentTarget.checked"); break; - case "mandatory": - this.option.mandatory = event.currentTarget.checked; - break; - case "boxsize": - this.option.boxsize = event.currentTarget.value; - break; - case "statement": - this.option.statement = event.currentTarget.value; + default: + eval("this.option."+name+" = event.currentTarget.value"); break; } }