o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1364984303.07684: @value"ÿ{I" class:EFI"ProcessedAsset;FI"logical_path;FI"locomotive/toggle.js;TI" pathname;FI"\/Users/papipo/Projects/locomotive/engine/vendor/assets/javascripts/locomotive/toggle.js;TI"content_type;FI"application/javascript;FI" mtime;FI"2013-01-18T09:21:51+01:00;FI" length;FiÍI" digest;F"%2ec4d47ee26074928bddb39fd2df2189I" source;FI"Í/** * * Copyright (c) 2009 Tony Dewan (http://www.tonydewan.com/) * Licensed under the MIT License: * http://www.opensource.org/licenses/mit-license.php * * Project home: * http://www.tonydewan.com/code/checkToggle/ * */ (function($) { /** * Version 1.0 * Replaces checkboxes with a toggle switch. * usage: $("input[type='checkbox']").checkToggle(settings); * * @name checkToggle * @type jquery * @param Hash settings Settings * @param String settings[on_label] Text used for the left-side (on) label. Defaults to "On" * @param String settings[off_label] Text used for the right-side (off) label. Defaults to "Off" * @param String settings[on_bg_color] Hex background color for On state * @param String settings[off_bg_color] Hex background color for Off state * @param String settings[skin_dir] Document relative (or absolute) path to the skin directory * @param Bool settings[bypass_skin] Flags whether to bypass the inclusion of the skin.css file. Used if you've included the skin styles somewhere else already. */ $.fn.checkToggle = function(action, settings) { if (typeof(action) == 'object' || typeof(action) == 'undefined') { settings = action || {}; action = 'initialize'; } settings = $.extend({ toggle_width: 28, on_label : 'Yes', on_label_color : '#333333', on_bg_color : '#8FE38D', off_label : 'No', off_label_color : '#cccccc', off_bg_color: '#F8837C', skin_dir : "skin/", bypass_skin : false, on_callback : function(el) {}, off_callback : function(el) {} }, settings); // FIXME (Didier Lafforgue) it works but it doesn't scale if we handle another locale if (typeof window.locale != 'undefined' && window.locale == 'fr') { settings.on_label = 'Oui'; settings.off_label = 'Non'; } function showUncheckedState(element) { element.parent().prev().css("color",settings.off_label_color).removeClass('on'); element.parent().next().css("color",settings.on_label_color).addClass('on'); element.parent().css("background-color", settings.off_bg_color).removeClass('on'); element.parent().parent().prev().removeAttr("checked").trigger('change'); element.removeClass("left").addClass("right"); } function showCheckedState(element) { element.parent().prev().css("color",settings.on_label_color).addClass('on'); element.parent().next().css("color",settings.off_label_color).removeClass('on'); element.parent().css("background-color", settings.on_bg_color).addClass('on'); element.parent().parent().prev().attr("checked", "checked").trigger('change'); element.removeClass("right").addClass("left"); } function toggle(element){ var checked = $(element).parent().parent().prev().is(':checked'); // if it's set to on if(checked){ $(element).animate({marginLeft: '0px'}, 100, // callback function function(){ showUncheckedState($(element)); if (typeof $.fn.publish != 'undefined') $.publish('toggle.' + $(element).parent().parent().prev().attr('id') + '.unchecked', []); settings.off_callback(); }); } else { $(element).animate({marginLeft: settings.toggle_width + 'px'}, 100, // callback function function(){ showCheckedState($(element)); if (typeof $.fn.publish != 'undefined') $.publish('toggle.' + $(element).parent().parent().prev().attr('id') + '.checked', []); settings.on_callback(); }); } }; return this.each(function () { if (action == 'initialize') {// initialize the UI element if ($(this).hasClass('simple')) return; // hide the checkbox $(this).css('display','none'); // insert the new toggle markup if($(this).attr("checked") == "checked" || $(this).attr("checked") == true){ $(this).after('
'+settings.on_label+'<\/span>
<\/span><\/div>'+settings.off_label+'<\/span><\/div>'); }else{ $(this).after('
'+settings.on_label+'<\/span>
<\/span><\/div>'+settings.off_label+'<\/span><\/div>'); } // Bind the switchHandle click events to the internal toggle function $(this).next().find('div.switchArea').bind("click", function () { toggle($(this).find('.switchHandle')); }) } else if (action == 'sync') { element = $(this).next().find('.switchHandle'); if ($(this).is(':checked')) showCheckedState(element); else showUncheckedState(element); } else { console.log('unknown action for the checkToggle plugin') } }); }; })(jQuery); ;FI"dependency_digest;F"%5efd3734d0e19ff1b59bd4bda3c0bae0I"required_paths;F[I"\/Users/papipo/Projects/locomotive/engine/vendor/assets/javascripts/locomotive/toggle.js;TI"dependency_paths;F[{I" path;FI"\/Users/papipo/Projects/locomotive/engine/vendor/assets/javascripts/locomotive/toggle.js;TI" mtime;FI"2013-01-18T09:21:51+01:00;FI" digest;F"%7a033c0e2800c911504eb88fb57fcbe5I" _version;F"%6776f581a4329e299531e1d52aa59832