diff --git a/root_import_survey.wgpkg b/root_import_survey.wgpkg index d663c54c0..9567630b4 100644 Binary files a/root_import_survey.wgpkg and b/root_import_survey.wgpkg differ diff --git a/www/extras/wobject/Survey/editsurvey/object.js b/www/extras/wobject/Survey/editsurvey/object.js index a6fc1a440..67ff56975 100644 --- a/www/extras/wobject/Survey/editsurvey/object.js +++ b/www/extras/wobject/Survey/editsurvey/object.js @@ -1,110 +1,73 @@ - -/*global Survey, YAHOO */ -if (typeof Survey === "undefined") { +if (typeof Survey == "undefined") { var Survey = {}; } -Survey.ObjectTemplate = (function(){ +Survey.ObjectTemplate = new function(){ - // Keep references to widgets here so that we can destory any instances before - // creating new ones (to avoid memory leaks) - var dialog; - var editor; + this.loadObject = function(html,type){ - return { - - unloadObject: function(){ - // First destory the editor.. - if (editor) { - editor.destroy(); - editor = null; - } - - // And then the Dialog that contains it. - if (dialog) { - dialog.destroy(); - dialog = null; - } - }, + document.getElementById('edit').innerHTML = html; - loadObject: function(html, type){ - // Make sure we purge any event listeners before overwrite innerHTML.. - YAHOO.util.Event.purgeElement('edit', true); - document.getElementById('edit').innerHTML = html; - - var btns = [{ - text: "Submit", - handler: function(){ - editor.saveHTML(); - this.submit(); - }, - isDefault: true - }, { - text: "Copy", - handler: function(){ - document.getElementById('copy').value = 1; - this.submit(); - } - }, { - text: "Cancel", - handler: function(){ - this.cancel(); - } - }, { - text: "Delete", - handler: function(){ - document.getElementById('delete').value = 1; - this.submit(); - } - }, { - text: "Preview", - handler: function(){ - if (type === 'answer') { - alert('Sorry, preview is only supported for Sections and Questions, not Answers'); - } - else { - var msg = 'This will delete any Survey responses you have made under this ' + - 'user account and redirect you to the Take Survey page starting at the selected item. ' + - "\n\nAre you sure you want to continue?"; - if (confirm(msg)) { - window.location.search = 'func=jumpTo;id=' + dialog.getData().id; - } - } - } - }]; - - dialog = new YAHOO.widget.Dialog(type, { - width: "600px", - context: [document.body, 'tr', 'tr'], - visible: false, - constraintoviewport: true, - buttons: btns - }); - - dialog.callback = Survey.Comm.callback; - dialog.render(); - - var textareaId = type + 'Text'; - var textarea = YAHOO.util.Dom.get(textareaId); - - var height = YAHOO.util.Dom.getStyle(textarea, 'height'); - if (!height) { - height = '300px'; - } + var myTextarea; - // N.B. SimpleEditor has a memory leak so this eats memory on every instantiation - editor = new YAHOO.widget.SimpleEditor(textareaId, { - height: height, - width: '100%', - dompath: false //Turns on the bar at the bottom - }); + var handleSubmit = function(){ + myTextarea.saveHTML(); + this.submit(); + } - if (editor.get('toolbar')) { - editor.get('toolbar').titlebar = false; - } - editor.render(); + var butts = [ + { text:"Submit", handler:handleSubmit, isDefault:true }, + { text:"Copy", handler:function(){document.getElementById('copy').value = 1; this.submit();}}, + { text:"Cancel", handler:function(){this.cancel();}}, + { text:"Delete", handler:function(){document.getElementById('delete').value = 1; this.submit();}} + ]; + + var form = new YAHOO.widget.Dialog(type, + { + width : "500px", + fixedcenter : true, + visible : false, + constraintoviewport : true, + buttons : butts + } ); + + form.callback = Survey.Comm.callback; + form.render(); + + if(type == 'question'){ + var resize = new YAHOO.util.Resize('resize_randomWords_formId'); + resize.on('resize', function(ev) { + YAHOO.util.Dom.setStyle('randomWords_formId', 'width', (ev.width - 6) + "px"); + YAHOO.util.Dom.setStyle('randomWords_formId', 'height', (ev.height - 6) + "px"); + }); + } + + if(type == 'answer'){ + var resize = new YAHOO.util.Resize('resize_gotoExpression_formId'); + resize.on('resize', function(ev) { + YAHOO.util.Dom.setStyle('gotoExpression_formId', 'width', (ev.width - 6) + "px"); + YAHOO.util.Dom.setStyle('gotoExpression_formId', 'height', (ev.height - 6) + "px"); + }); + } + + var textareaId = type+'Text'; + var textarea = YAHOO.util.Dom.get(textareaId); + var height = YAHOO.util.Dom.getStyle(textarea,'height'); + if (height == ''){ + height = '300px'; + } + var width = YAHOO.util.Dom.getStyle(textarea,'width'); + if (width == ''){ + width = '500px'; + } + myTextarea = new YAHOO.widget.SimpleEditor(textareaId, { + height: height, + width: width, + dompath: false //Turns on the bar at the bottom + }); + myTextarea.render(); + + form.show(); + } +}(); - dialog.show(); - } - }; -})();