WordPress/wp-includes/js/customize-controls.js
2012-03-06 02:15:22 +00:00

1 line
2.6 KiB
JavaScript

(function(a,c){var b=wp.customize;b.Previewer=b.Messenger.extend({refreshBuffer:250,initialize:function(e,d){c.extend(this,d||{});this.loaded=c.proxy(this.loaded,this);this.loaderUuid=0;this.refresh=(function(f){var g=f.refresh,i=function(){h=null;g.call(f)},h;return function(){if(typeof h!=="number"){if(f.loading){f.loading.remove();delete f.loading;f.loader()}else{return i()}}clearTimeout(h);h=setTimeout(i,f.refreshBuffer)}})(this);this.iframe=b.ensure(e.iframe);this.form=b.ensure(e.form);this.name=this.iframe.prop("name");this.container=this.iframe.parent();b.Messenger.prototype.initialize.call(this,e.url,{targetWindow:this.iframe[0].contentWindow});this._formOriginalProps={target:this.form.prop("target"),action:this.form.prop("action")};this.bind("url",function(f){if(this.url()==f||0!==f.indexOf(this.origin()+"/")||-1!==f.indexOf("wp-admin")){return}this.url(f);this.refresh()});this.refresh();this.form.on("keydown",function(f){if(13===f.which){f.preventDefault()}})},loader:function(){if(this.loading){return this.loading}this.loading=c("<iframe />",{name:this.name+"-loading-"+this.loaderUuid++}).appendTo(this.container);return this.loading},loaded:function(){this.iframe.remove();this.iframe=this.loading;delete this.loading;this.iframe.prop("name",this.name)},refresh:function(){this.loader().one("load",this.loaded);this.submit({target:this.loader().prop("name"),action:this.url()})},submit:function(d){if(d){this.form.prop(d)}this.form.submit();if(d){this.form.prop(this._formOriginalProps)}}});c(function(){if(!b.settings){return}var d=c('[name^="'+b.settings.prefix+'"]'),g,e,f;g=new b.Previewer({iframe:"#customize-preview iframe",form:"#customize-controls",url:b.settings.preview});c.each(b.settings.values,function(k,j){var i=d.filter('[name="'+b.settings.prefix+k+'"]'),h=b.set(k,j);h.control=new wp.customize.Element(i);h.control.link(h);h.link(h.control);h.bind(g.refresh)});c(".customize-section-title").click(function(){c(this).parents(".customize-section").toggleClass("open");return false});c("#save").click(function(){g.submit();return false});e=c(".color-picker");f=function(h){return/^[a-fA-F0-9]{3}([a-fA-F0-9]{3})?$/.test(h)?h:null};c(".farbtastic-placeholder",e).each(function(){var i=c(this),m=new b.Element(i.siblings("input")),j=i.parent(),h=j.siblings("a"),l=b(j.siblings("input").prop("name").replace(b.settings.prefix,"")),k,n;l.validate=f;m.link(l);l.link(m);k=c.farbtastic(this,function(o){l.set(o.replace("#",""))});n=function(o){o="#"+o;h.css("background",o);k.setColor(o)};l.bind(n);n(l())});c(".color-picker a").click(function(h){c(this).siblings("div").toggle()});c('[name^="'+b.settings.prefix+'"]').each(function(){})})})(wp,jQuery);