source: extensions/GrumPluginClasses/js/ui.inputSwitchButton.min.js @ 12215

Last change on this file since 12215 was 12215, checked in by grum, 13 years ago

fix bugs
bug:2160 - CategorySelector : extended description are not managed
+add some functions to GPCCore

File size: 3.6 KB
Line 
1/* file: ui.inputSwitchButton.js - v1.0.0 | minified on 2011/09/21 with http://jscompress.com/ */
2(function(a){var b={init:function(b){return this.each(function(){var d=a(this),e=d.data("options"),f=d.data("objects"),g=d.data("properties"),h={values:{checked:"yes",unchecked:"no"},change:null,group:""};d.data("options",h).addClass("ui-inputSwitchButton ui-inputSwitchButton-unchecked");if(!g){d.data("properties",{initialized:false,checked:false});g=d.data("properties")}d.bind("click.inputSwitchButton",function(a){c.switchValue(d)});c.setOptions(d,b)})},destroy:function(){return this.each(function(){var a=this.data("properties");$this.unbind(".inputSwitchButton");this.removeClass("ui-inputSwitchButton")})},options:function(b){return this.each(function(){c.setOptions(a(this),b)})},disabled:function(b){if(b!=null){return this.each(function(){c.setDisabled(a(this),b)})}else{return c.getDisabled(a(this))}},values:function(b){if(value!=null){return this.each(function(){c.setValues(a(this),value)})}else{var d=this.data("options");return d.values}},switchValue:function(){return this.each(function(){c.switchValue(a(this))})},value:function(b){var d=this.data("properties");if(b!=null){return this.each(function(){c.setValue(a(this),b,true)})}else{var e=this.data("options");return d.checked?e.values.checked:e.values.unchecked}},group:function(b){var d=this.data("options");if(b!=null){return this.each(function(){c.setGroup(a(this),b)})}else{return d.group}},change:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventChange(a(this),b)})}else{var d=this.data("options");if(d){return d.change}else{return null}}}};var c={setOptions:function(b,d){var e=b.data("properties"),f=b.data("options");if(!a.isPlainObject(d))return false;e.initialized=false;c.setGroup(b,d.group!=null?d.group:f.group,true);c.setValue(b,d.value!=null?d.value:f.value,true);c.setEventChange(b,d.change!=null?d.change:f.change);e.initialized=true},setValues:function(a,b){var c=a.data("options");if(b.checked!=null)c.values.checked=b.checked;if(b.unchecked!=null)c.values.unchecked=b.unchecked;return c.values},setGroup:function(b,c){var d=b.data("options"),e=b.data("properties");if(d.group!=c){if(d.group!=""){var f=a(document).data("isbGroup_"+d.group),g=-1;if(f==null)f=[];g=a.inArray(b.attr("id"),f);if(g>-1)f.splice(g,1);a(document).data("isbGroup_"+d.group,f)}d.group=c;f=a(document).data("isbGroup_"+c);if(f==null)f=[];f.push(b.attr("id"));a(document).data("isbGroup_"+c,f)}},switchValue:function(a){var b=a.data("options"),d=a.data("properties");if(b.values.checked==d.checked){c.setValue(a,b.values.unchecked,true)}else{c.setValue(a,b.values.checked,true)}},setValue:function(b,c,d){var e=b.data("options"),f=b.data("properties");if(e.values.checked==c){if(e.group!=""){listGroup=a(document).data("isbGroup_"+e.group);if(listGroup==null)listGroup=[];for(i=0;i<listGroup.length;i++){if(listGroup[i]!=b.attr("id"))a("#"+listGroup[i]).inputSwitchButton("value",e.values.unchecked)}}b.addClass("ui-inputSwitchButton-checked").removeClass("ui-inputSwitchButton-unchecked");f.checked=c}else if(e.values.unchecked==c){b.addClass("ui-inputSwitchButton-unchecked").removeClass("ui-inputSwitchButton-checked");f.checked=c}if(e.change)b.trigger("inputSwitchButtonChange",{checked:c});return true},setEventChange:function(a,b){var c=a.data("options");c.change=b;a.unbind("inputSwitchButtonChange");if(b)a.bind("inputSwitchButtonChange",c.change);return c.change}};a.fn.inputSwitchButton=function(c){if(b[c]){return b[c].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof c==="object"||!c){return b.init.apply(this,arguments)}else{a.error("Method "+c+" does not exist on jQuery.inputSwitchButton")}}})(jQuery)
Note: See TracBrowser for help on using the repository browser.