From 620a37b23a1ea862302310539659a5d69e6d07fe Mon Sep 17 00:00:00 2001 From: ArthurClemens Date: Tue, 14 Dec 2010 21:03:59 +0000 Subject: [PATCH] Item10075: put check all/uncheck all functionality in foswiki.Form git-svn-id: http://svn.foswiki.org/trunk@10313 0b4bb1d4-4e5a-0410-9cc4-b2b747904278 --- PatternSkin/data/System/PatternSkin.txt | 1 + .../lib/Foswiki/Contrib/PatternSkin.pm | 2 +- .../lib/Foswiki/Contrib/PatternSkin/MANIFEST | 1 - PatternSkin/templates/renamebase.pattern.tmpl | 3 - .../templates/renamedelete.pattern.tmpl | 2 - .../System/JavascriptFiles/foswikiForm_src.js | 149 +++++++++--------- 6 files changed, 76 insertions(+), 82 deletions(-) delete mode 100644 PatternSkin/templates/renamedelete.pattern.tmpl diff --git a/PatternSkin/data/System/PatternSkin.txt b/PatternSkin/data/System/PatternSkin.txt index d5fd35b952..de39561ef6 100644 --- a/PatternSkin/data/System/PatternSkin.txt +++ b/PatternSkin/data/System/PatternSkin.txt @@ -168,6 +168,7 @@ For further troubleshooting and feedback, go to http://foswiki.org/Support/%TOPI | Version: | %$VERSION% | | Release: | %$RELEASE% | | History: |   | +| 14 Dec 2010: | v.5.4.4: Fix check all / uncheck all checkboxes on rename and delete topic pages. | | 12 Dec 2010: | v.5.4.3: Fix trimming and stripping spaces in web topic creator javascript. | | 09 Nov 2010: | v.5.4.2: Remove redundant files from repository. v.5.4.1: Revert usage of =$percent= back to =$percnt= | | 19 Aug 2010: | v.5.4 - Version for Foswiki 1.1. | diff --git a/PatternSkin/lib/Foswiki/Contrib/PatternSkin.pm b/PatternSkin/lib/Foswiki/Contrib/PatternSkin.pm index a15a7ba6a6..f9c7cfeb30 100644 --- a/PatternSkin/lib/Foswiki/Contrib/PatternSkin.pm +++ b/PatternSkin/lib/Foswiki/Contrib/PatternSkin.pm @@ -4,7 +4,7 @@ use strict; use warnings; our $VERSION = '$Rev$'; -our $RELEASE = '5.4.3'; +our $RELEASE = '5.4.4'; our $SHORTDESCRIPTION = 'Pattern skin provides a CSS based default look and feel - flexible and [[http://www.w3.org/][W3C]] compliant. Its layout and color scheme are designed to provide a nice, clean and productive editing environment'; diff --git a/PatternSkin/lib/Foswiki/Contrib/PatternSkin/MANIFEST b/PatternSkin/lib/Foswiki/Contrib/PatternSkin/MANIFEST index e1d5b0cee2..0cf1bf6ca2 100644 --- a/PatternSkin/lib/Foswiki/Contrib/PatternSkin/MANIFEST +++ b/PatternSkin/lib/Foswiki/Contrib/PatternSkin/MANIFEST @@ -157,7 +157,6 @@ templates/oops.pattern.tmpl 0444 templates/preview.pattern.tmpl 0444 templates/rdiff.pattern.tmpl 0444 templates/renamebase.pattern.tmpl 0444 -templates/renamedelete.pattern.tmpl 0444 templates/renamewebbase.pattern.tmpl 0444 templates/search.pattern.tmpl 0444 templates/searchbase.pattern.tmpl 0444 diff --git a/PatternSkin/templates/renamebase.pattern.tmpl b/PatternSkin/templates/renamebase.pattern.tmpl index cca171aa48..c2e8c9fba7 100644 --- a/PatternSkin/templates/renamebase.pattern.tmpl +++ b/PatternSkin/templates/renamebase.pattern.tmpl @@ -2,9 +2,6 @@ %TMPL:DEF{"logo"}%%TMPL:END% -%TMPL:DEF{"script:skintemplate"}%%TMPL:END% - - %TMPL:DEF{"bodyclassname"}%patternNoViewPage patternRenamePage%TMPL:END% diff --git a/PatternSkin/templates/renamedelete.pattern.tmpl b/PatternSkin/templates/renamedelete.pattern.tmpl deleted file mode 100644 index 080c1e51f0..0000000000 --- a/PatternSkin/templates/renamedelete.pattern.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -%TMPL:INCLUDE{"renamedelete"}% -%TMPL:DEF{"script:skintemplate"}%%TMPL:END% \ No newline at end of file diff --git a/core/pub/System/JavascriptFiles/foswikiForm_src.js b/core/pub/System/JavascriptFiles/foswikiForm_src.js index ed6f643be0..2eda9e53ef 100644 --- a/core/pub/System/JavascriptFiles/foswikiForm_src.js +++ b/core/pub/System/JavascriptFiles/foswikiForm_src.js @@ -53,13 +53,15 @@ As per the GPL, removal of this notice is prohibited. * @example * * var queryString = foswiki.Form.formData2QueryString( - * document.getElementById('myForm'), - * {collapseMulti:true} + * document.getElementById('myForm'), + * {collapseMulti:true} * ); * */ formData2QueryString:function (inForm, inFormatOptions) { - if (!inForm) return null; + if (!inForm) { + return null; + } var opts = inFormatOptions || {}; var str = ''; var formElem; @@ -70,82 +72,66 @@ As per the GPL, removal of this notice is prohibited. switch (formElem.type) { // Text fields, hidden form elements - case 'text': - case 'hidden': - case 'password': - case 'textarea': - case 'select-one': - str += formElem.name - + '=' - + encodeURI(formElem.value) - + foswiki.Form.KEYVALUEPAIR_DELIMITER; - break; + case 'text': + case 'hidden': + case 'password': + case 'textarea': + case 'select-one': + str += (formElem.name + '=' + encodeURI(formElem.value) + foswiki.Form.KEYVALUEPAIR_DELIMITER); + break; // Multi-option select - case 'select-multiple': - var isSet = false; - for(var j = 0; j < formElem.options.length; j++) { - var currOpt = formElem.options[j]; - if(currOpt.selected) { - if (opts.collapseMulti) { - if (isSet) { - str += ',' - + encodeURI(currOpt.text); - } else { - str += formElem.name - + '=' - + encodeURI(currOpt.text); - isSet = true; - } - } else { - str += formElem.name - + '=' - + encodeURI(currOpt.text) - + foswiki.Form.KEYVALUEPAIR_DELIMITER; - } - } - } - if (opts.collapseMulti) { - str += foswiki.Form.KEYVALUEPAIR_DELIMITER; - } - break; + case 'select-multiple': + var isSet = false; + for(var j = 0; j < formElem.options.length; j++) { + var currOpt = formElem.options[j]; + if(currOpt.selected) { + if (opts.collapseMulti) { + if (isSet) { + str += (',' + encodeURI(currOpt.text)); + } else { + str += (formElem.name + '=' + encodeURI(currOpt.text)); + isSet = true; + } + } else { + str += (formElem.name + '=' + encodeURI(currOpt.text) + foswiki.Form.KEYVALUEPAIR_DELIMITER); + } + } + } + if (opts.collapseMulti) { + str += foswiki.Form.KEYVALUEPAIR_DELIMITER; + } + break; // Radio buttons - case 'radio': - if (formElem.checked) { - str += formElem.name - + '=' - + encodeURI(formElem.value) - + foswiki.Form.KEYVALUEPAIR_DELIMITER; - } - break; + case 'radio': + if (formElem.checked) { + str += (formElem.name + '=' + encodeURI(formElem.value) + foswiki.Form.KEYVALUEPAIR_DELIMITER); + } + break; // Checkboxes - case 'checkbox': - if (formElem.checked) { - // Collapse multi-select into comma-separated list - if (opts.collapseMulti - && (formElem.name == lastElemName)) { + case 'checkbox': + if (formElem.checked) { + // Collapse multi-select into comma-separated list + if (opts.collapseMulti && (formElem.name === lastElemName)) { // Strip of end ampersand if there is one if (str.lastIndexOf('&') == str.length-1) { str = str.substr(0, str.length - 1); } // Append value as comma-delimited string - str += ',' - + encodeURI(formElem.value); - } - else { - str += formElem.name - + '=' - + encodeURI(formElem.value); - } - str += foswiki.Form.KEYVALUEPAIR_DELIMITER; - lastElemName = formElem.name; - } - break; + str += (',' + encodeURI(formElem.value)); + } + else { + str += (formElem.name + '=' + encodeURI(formElem.value)); + } + str += foswiki.Form.KEYVALUEPAIR_DELIMITER; + lastElemName = formElem.name; + } + break; - } // switch - } // for + } // switch + } // for // Remove trailing separator str = str.substr(0, str.length - 1); return str; @@ -158,20 +144,21 @@ As per the GPL, removal of this notice is prohibited. * @param inForm: (String) the form to make safe */ makeSafeForTableEntry:function(inForm) { - if (!inForm) + if (!inForm) { return null; + } var formElem; for (i = 0; i < inForm.elements.length; i++) { formElem = inForm.elements[i]; switch (formElem.type) { // Text fields, hidden form elements - case 'text': - case 'password': - case 'textarea': - formElem.value = foswiki.String.makeTextSafeForTableEntry( + case 'text': + case 'password': + case 'textarea': + formElem.value = foswiki.String.makeTextSafeForTableEntry( formElem.value); - break; + break; } } }, @@ -258,9 +245,9 @@ As per the GPL, removal of this notice is prohibited. jQuery(document).ready( function ($) { - $('input[type="text"].foswikiDefaultText') + $('input[type="text"].foswikiDefaultText') .each( - function(index, el) { + function(index, el) { foswiki.Form.initBeforeFocusText(this, this.title); }) .focus( @@ -271,5 +258,17 @@ jQuery(document).ready( function() { foswiki.Form.restoreBeforeFocusText(this); }); + $('.foswikiCheckAllOn').click( + function(e) { + var form = $(this).parents('form:first'); + $('.foswikiCheckBox', form).attr('checked', true); + } + ); + $('.foswikiCheckAllOff').click( + function(e) { + var form = $(this).parents('form:first'); + $('.foswikiCheckBox', form).attr('checked', false); + } + ); } );