diff options
Diffstat (limited to 'app/assets/javascripts/banners/jquery.tristate.js')
-rw-r--r-- | app/assets/javascripts/banners/jquery.tristate.js | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/app/assets/javascripts/banners/jquery.tristate.js b/app/assets/javascripts/banners/jquery.tristate.js deleted file mode 100644 index 2d2903d..0000000 --- a/app/assets/javascripts/banners/jquery.tristate.js +++ /dev/null @@ -1,94 +0,0 @@ -/********************************************************************************** - ** - ** jQuery Tristate Checkbox Plugin - ** version: 1.0 - ** - ** Dual licensed under the MIT and GPL licenses: - ** http://www.opensource.org/licenses/mit-license.php - ** http://www.gnu.org/licenses/gpl.html - ** - ** author: Jeff Leombruno - ** creation date: 09.20.2011 - ** dependencies: jQuery v1.6 or higher - ** - ** This file contains the functionality for implementing 3 state checkboxes. - ** Inspired by: - ** http://code.google.com/p/jquery-tristate-checkbox/ - ** http://css-tricks.com/13467-indeterminate-checkboxes/ - ** - **********************************************************************************/ - -(function($){ - $.fn.tristate = function(options){ - - var config = { - selector: $(this).selector, - checked: null, - container: null, - siblings: null - }; - var opts = $.extend(config, options); - - return this.each(function(){ - var obj = $(this); - - var triState = function() { - - var pub = {}; - - pub.init = function(){ - $('input[type="checkbox"]', obj).change(function(e) { - config.checked = $(this).prop("checked") - config.container = $(this).parent() - config.siblings = config.container.siblings(); - - config.container.find('input[type="checkbox"]').prop({ - indeterminate: false, - checked: config.checked - }); - - pub.checkSiblings(config.container); - }); - // run checkSiblings for every checked checkbox when the page loads - $('input[type=checkbox]:checked', obj).each( function() { - pub.checkSiblings($(this).parent()); - }); - }; - - pub.checkSiblings = function(el) { - var parent = el.parent().parent(); - var all = true; - - el.siblings().each(function() { - return all = ($(this).children('input[type="checkbox"]').prop("checked") === config.checked); - }); - - if (all && config.checked) { - parent.children('input[type="checkbox"]').prop({ - indeterminate: false, - checked: config.checked - }); - pub.checkSiblings(parent); - } else if (all && !config.checked) { - parent.children('input[type="checkbox"]').prop("checked", config.checked); - parent.children('input[type="checkbox"]').prop("indeterminate", (parent.find('input[type="checkbox"]:checked').length > 0)); - pub.checkSiblings(parent); - } else { - el.parents("li").children('input[type="checkbox"]').prop({ - indeterminate: true, - checked: false - }); - } - }; - - return pub; - - }(); - - triState.init(); - triState.checkSiblings(obj); - - - }); - }; -})(jQuery); |