# HG changeset patch # User Lennard de Rijk # Date 1246830357 -7200 # Node ID 087684992ab0a06eab80c88ce89e2e369220d860 # Parent 85ee43d4a6f5f96d00880448ea5bc01597eaa641 Renamed survey-take-090627.js to survey-take-090705.js. diff -r 85ee43d4a6f5 -r 087684992ab0 app/soc/content/js/survey-take-090627.js --- a/app/soc/content/js/survey-take-090627.js Sun Jul 05 23:43:57 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ -/* Copyright 2009 the Melange authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* -* -* @author Daniel Diniz -* @author James Levy -*/ - -(function ($) { - $(function () { - - /* - * == Setup Survey on Page Load == - * - */ - - var widget = $('div#survey_widget'); - widget.parents('td.formfieldvalue:first').css({ - 'float': 'left', - 'width': 200 - }); - - // TODO(ajaksu) survey below is unused, remove if no known use is predicted - var survey = widget.find('tbody:first'); - - if (widget.hasClass('create')) { - - /* - * == Set Custom Field Rules == - * - */ - widget.find('input').each( - function () { - $(this).preserveDefaultText($(this).val()); - } - ); - - widget.find('textarea').each( - function () { - $(this).preserveDefaultText($(this).val()).attr('overflow', 'auto') - .growfield(); - } - ); - } - - else { // survey has saved results - widget.find('textarea').each( - function () { - $(this).attr('overflow', 'auto').growfield(); - } - ).end() - .find('.pick_multi').each( - function () { - $(this).find('input').each( - function () { - // if $(this).attr('checked', 'true');}); - } - ); - } - ); - } - - /* - * == Configure Project == - * - */ - - // remember if form has been touched - $('input,textarea,select').change( - function () { - if ($(this).attr('id') === 'id_project') { - return; - } - $('form:first').data('touched', true); - } - ); - - // remember initially chosen project choice - $('select#id_project').blur( - function () { - $(this).data('selected', $(this).find('option:first')); - } - ).change( - function () { - if ($('form:first').data('touched') === true) { - // if form has been touched, send confirmation dialog - var save_check = confirm(["Switching projects will lose unsaved ", - "edits made to this survey."].join("")); - if (!save_check) { - $(this).data('selected').attr('selected', 'selected'); - return false; - } - } - - if ($(this).val() !== 'None') { - // redirect with new project GET param - window.location = [window.location.href.split('?')[0], "?project=", - $(this).val()].join(""); - } - } - ); - - // insert project link after project select field - $('div#project_link').insertAfter($('select#id_project')).show(); - - /* - * == Survey Submission Handler == - * - */ - - // validate form - $('input[type=submit]').bind( - 'click', - function (e) { - e.preventDefault(); - - // validate project and grade choice fields - if ($('select#id_project') && - $('select#id_project').val() === 'None') { - return alert('Please Choose a Project'); - } - - if ($('select#id_grade') && $('select#id_grade').val() === 'None') { - return alert('Please Choose a Grade'); - } - $('form').trigger('submit'); - - } - ); - - $('form').bind('submit', - function () { - $('input#id_s_html').val( - widget.find('div#survey_options').remove().end().html() - ); - } - ); - - /* - * == Customize Comment Appearance == - */ - - var comments = widget.find('td > .comment'); - comments.each(function(){ - $(this).parents('tr:first') - .css({'margin-top': '-10px', 'margin-bottom': '30px'}) - .prev().css({'margin-top': '-10px'}) - .find('label').css({'font-size': '11px'}); - }); - - }); -}(jQuery)); diff -r 85ee43d4a6f5 -r 087684992ab0 app/soc/content/js/survey-take-090705.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/soc/content/js/survey-take-090705.js Sun Jul 05 23:45:57 2009 +0200 @@ -0,0 +1,165 @@ +/* Copyright 2009 the Melange authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* +* +* @author Daniel Diniz +* @author James Levy +*/ + +(function ($) { + $(function () { + + /* + * == Setup Survey on Page Load == + * + */ + + var widget = $('div#survey_widget'); + widget.parents('td.formfieldvalue:first').css({ + 'float': 'left', + 'width': 200 + }); + + // TODO(ajaksu) survey below is unused, remove if no known use is predicted + var survey = widget.find('tbody:first'); + + if (widget.hasClass('create')) { + + /* + * == Set Custom Field Rules == + * + */ + widget.find('input').each( + function () { + $(this).preserveDefaultText($(this).val()); + } + ); + + widget.find('textarea').each( + function () { + $(this).preserveDefaultText($(this).val()).attr('overflow', 'auto') + .growfield(); + } + ); + } + + else { // survey has saved results + widget.find('textarea').each( + function () { + $(this).attr('overflow', 'auto').growfield(); + } + ).end() + .find('.pick_multi').each( + function () { + $(this).find('input').each( + function () { + // if $(this).attr('checked', 'true');}); + } + ); + } + ); + } + + /* + * == Configure Project == + * + */ + + // remember if form has been touched + $('input,textarea,select').change( + function () { + if ($(this).attr('id') === 'id_project') { + return; + } + $('form:first').data('touched', true); + } + ); + + // remember initially chosen project choice + $('select#id_project').blur( + function () { + $(this).data('selected', $(this).find('option:first')); + } + ).change( + function () { + if ($('form:first').data('touched') === true) { + // if form has been touched, send confirmation dialog + var save_check = confirm(["Switching projects will lose unsaved ", + "edits made to this survey."].join("")); + if (!save_check) { + $(this).data('selected').attr('selected', 'selected'); + return false; + } + } + + if ($(this).val() !== 'None') { + // redirect with new project GET param + window.location = [window.location.href.split('?')[0], "?project=", + $(this).val()].join(""); + } + } + ); + + // insert project link after project select field + $('div#project_link').insertAfter($('select#id_project')).show(); + + /* + * == Survey Submission Handler == + * + */ + + // validate form + $('input[type=submit]').bind( + 'click', + function (e) { + e.preventDefault(); + + // validate project and grade choice fields + if ($('select#id_project') && + $('select#id_project').val() === 'None') { + return alert('Please Choose a Project'); + } + + if ($('select#id_grade') && $('select#id_grade').val() === 'None') { + return alert('Please Choose a Grade'); + } + $('form').trigger('submit'); + + } + ); + + $('form').bind('submit', + function () { + $('input#id_s_html').val( + widget.find('div#survey_options').remove().end().html() + ); + } + ); + + /* + * == Customize Comment Appearance == + */ + + var comments = widget.find('td > .comment'); + comments.each(function(){ + $(this).parents('tr:first') + .css({'margin-top': '-10px', 'margin-bottom': '30px'}) + .prev().css({'margin-top': '-10px'}) + .find('label').css({'font-size': '11px'}); + }); + + }); +}(jQuery)); diff -r 85ee43d4a6f5 -r 087684992ab0 app/soc/templates/soc/survey/public.html --- a/app/soc/templates/soc/survey/public.html Sun Jul 05 23:43:57 2009 +0200 +++ b/app/soc/templates/soc/survey/public.html Sun Jul 05 23:45:57 2009 +0200 @@ -16,7 +16,7 @@ {% block scripts %} {{ block.super }} - + {% endblock %} diff -r 85ee43d4a6f5 -r 087684992ab0 app/soc/templates/soc/survey/take.html --- a/app/soc/templates/soc/survey/take.html Sun Jul 05 23:43:57 2009 +0200 +++ b/app/soc/templates/soc/survey/take.html Sun Jul 05 23:45:57 2009 +0200 @@ -16,7 +16,7 @@ {% block scripts %} {{ block.super }} - + {% endblock %}