1 line
6.8 KiB
JavaScript
1 line
6.8 KiB
JavaScript
var jQuery;(function(a){mla.addTerm={init:function(c){var d=a(c);a(".categorydiv",d).each(function(){var h=a(this).attr("id"),g,i,f,e;f=h.split("-");f.shift();e=f.join("-");a("#new"+e,d).one("focus",function(){a(this).val("").removeClass("form-input-tip")});a("#new"+e,d).keypress(function(j){if(13===j.keyCode){j.preventDefault();a("#"+e+"-add-submit",d).click()}});a("#"+e+"-add-submit",d).click(function(){a("#new"+e,d).focus()});g=function(j){if(!a("#new"+e,d).val()){return false}j.data+="&"+a(":checked","#"+e+"-checklist",d).serialize();a("#"+e+"-add-submit",d).prop("disabled",true);return j};i=function(l,k){var j;a("#"+e+"-add-submit",d).prop("disabled",false);if("undefined"!=k.parsed.responses[0]&&(j=k.parsed.responses[0].supplemental.newcat_parent)){a(".edit-fields-div").each(function(){var m=a("#new"+e+"_parent",a(this));m.before(j);m.remove()})}};mla.mlaList.settings.context=d;a("#"+e+"checklist",d).mlaList({alt:"",context:d,response:"add-term-ajax-response",addBefore:g,addAfter:i});a("#"+e+"-add-toggle",d).off();a("#"+e+"-add-toggle",d).click(function(j){j.preventDefault();a("#"+e+"-adder",d).toggleClass("wp-hidden-children");a("#new"+e,d).focus();a("#"+e+"-searcher",d).addClass("wp-hidden-children");return false})})}};mla.mlaList={settings:{url:ajaxurl,type:"POST",context:null,response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:"#ffff33",confirm:null,addBefore:null,addAfter:null},nonce:function(e,f){var d=wpAjax.unserialize(e.attr("href")),c=a("#"+f.element,mla.mlaList.settings.context);return f.nonce||d._ajax_nonce||c.find('input[name="_ajax_nonce"]').val()||d._wpnonce||c.find('input[name="_wpnonce"]').val()||0},parseData:function(d,e){var g=[],f;try{f=a(d).data("wp-lists")||"";f=f.match(new RegExp(e+":[\\S]+"));if(f){g=f[0].split(":")}}catch(c){}return g},pre:function(g,e,f){var c,d,h;e=a.extend({},this.mlaList.settings,{element:null,nonce:0,target:g.get(0)},e||{});if(a.isFunction(e.confirm)){c=a("#"+e.element,mla.mlaList.settings.context);if("add"!==f){d=c.css("backgroundColor");c.css("backgroundColor","#ff9966")}h=e.confirm.call(this,g,e,f,d);if("add"!==f){c.css("backgroundColor",d)}if(!h){return false}}return e},ajaxAdd:function(g,e){var j=this,k=a(g,mla.mlaList.settings.context),f=mla.mlaList.parseData(k,"add"),i,c,h,d;e=e||{};e=mla.mlaList.pre.call(j,k,e,"add");e.element=f[2]||k.prop("id")||e.element||null;e.addColor=f[3]?"#"+f[3]:e.addColor;if(!e){return false}if(!k.is('[id="'+e.element+'-submit"]',mla.mlaList.settings.context)){return !mla.mlaList.add.call(j,k,e)}if(!e.element){return true}e.action="add-"+e.what;e.nonce=mla.mlaList.nonce(k,e);if(!wpAjax.validateForm(mla.mlaList.settings.context.selector+" #"+e.element)){return false}e.data=a.param(a.extend({_ajax_nonce:e.nonce,action:e.action},wpAjax.unserialize(f[4]||"")));i=a("#"+e.element+" :input",mla.mlaList.settings.context).not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]');c=a.isFunction(i.fieldSerialize)?i.fieldSerialize():i.serialize();if(c){e.data+="&"+c}if(a.isFunction(e.addBefore)){e=e.addBefore(e);if(!e){return true}}if(!e.data.match(/_ajax_nonce=[a-f0-9]+/)){return true}e.success=function(m){var l=mla.mlaList.settings.context.selector.substring(1);h=wpAjax.parseAjaxResponse(m,l+" #"+e.response,e.element);d=m;if(!h||h.errors){return false}if(true===h){return true}a.each(h.responses,function(){mla.mlaList.add.call(j,this.data,a.extend({},e,{position:this.position||0,id:this.id||0,oldId:this.oldId||null}))});j.mlaList.recolor();a(j).trigger("mlaListAddEnd",[e,j.mlaList]);mla.mlaList.clear.call(j,"#"+e.element)};e.complete=function(m,l){if(a.isFunction(e.addAfter)){e.addAfter(d,a.extend({xml:m,status:l,parsed:h},e))}};a.ajax(e);return false},getColor:function(c){return a(c).css("backgroundColor")||"#ffffff"},addToOtherLists:function(d,c,e){a(".edit-fields-div").each(function(){var m=a(this),i=m.attr("id"),l=e.context.selector.substring(1),h,k,j,g,f;if(l!==i){h=a("."+c.attr("id"),m);k=a(d);j=false;a("input",k).removeAttr("checked");if(e.oldId){j=a("#"+e.what+"-"+e.oldId,h)}if(e.id&&(e.id!==e.oldId||!j||!j.length)){a("#"+e.what+"-"+e.id,h).remove()}if(j&&j.length){j.before(k);j.remove()}else{if(isNaN(e.position)){g="after";if("-"===e.position.substr(0,1)){e.position=e.position.substr(1);g="before"}f=h.find("#"+e.position);if(1===f.length){f[g](k)}else{h.append(k)}}else{if("comment"!==e.what||0===a("#"+e.element,h).length){if(e.position<0){h.prepend(k)}else{h.append(k)}}}}}})},add:function(h,i){var g=a(this),f=a(h),e=false,d,c;if("string"===typeof i){i={what:i}}i=a.extend({position:0,id:0,oldId:null},this.mlaList.settings,i);if(!f.length||!i.what){return false}mla.mlaList.addToOtherLists(h,g,i);if(i.oldId){e=a("#"+i.what+"-"+i.oldId,i.context)}if(i.id&&(i.id!==i.oldId||!e||!e.length)){a("#"+i.what+"-"+i.id,i.context).remove()}if(e&&e.length){e.before(f);e.remove()}else{if(isNaN(i.position)){d="after";if("-"===i.position.substr(0,1)){i.position=i.position.substr(1);d="before"}c=g.find("#"+i.position);if(1===c.length){c[d](f)}else{g.append(f)}}else{if("comment"!==i.what||0===a("#"+i.element,mla.mlaList.settings.context).length){if(i.position<0){g.prepend(f)}else{g.append(f)}}}}if(i.alt){f.toggleClass(i.alt,(g.children(":visible").index(f[0])+i.altOffset)%2)}if("none"!==i.addColor){f.css("backgroundColor",i.addColor).animate({backgroundColor:mla.mlaList.getColor(f)},{complete:function(){a(this).css("backgroundColor","")}})}g.each(function(j,k){k.mlaList.process(f)});return f},clear:function(d){var g=this,c=a(d),f,e;if(g.mlaList&&c.parents("#"+g.id).length){return}c.find(":input").each(function(i,h){if(a(h).parents(".form-no-clear").length){return}f=h.type.toLowerCase();e=h.tagName.toLowerCase();if("text"===f||"password"===f||"textarea"===e){h.value=""}else{if("checkbox"===f||"radio"===f){h.checked=false}else{if("select"===e){h.selectedIndex=null}}}})},process:function(d){var e=this,c=a(d||document);c.on("submit",'form[data-wp-lists^="add:'+e.id+':"]',function(){return e.mlaList.add(this)});c.on("click",'a[data-wp-lists^="add:'+e.id+':"], input[data-wp-lists^="add:'+e.id+':"]',function(){return e.mlaList.add(this)})},recolor:function(){var d=this,e=[":even",":odd"],c;if(!d.mlaList.settings.alt){return}c=a(".list-item:visible",d);if(!c.length){c=a(d).children(":visible")}if(d.mlaList.settings.altOffset%2){e.reverse()}c.filter(e[0]).addClass(d.mlaList.settings.alt).end();c.filter(e[1]).removeClass(d.mlaList.settings.alt)},init:function(){var c=this;c.mlaList.process=function(d){c.each(function(){this.mlaList.process(d)})};c.mlaList.recolor=function(){c.each(function(){this.mlaList.recolor()})}}};var b={add:"ajaxAdd",process:"process",recolor:"recolor"};a.fn.mlaList=function(c){this.each(function(d,e){e.mlaList={settings:a.extend({},mla.mlaList.settings,{what:mla.mlaList.parseData(e,"list")[1]||""},c)};a.each(b,function(f,g){e.mlaList[f]=function(h,i){return mla.mlaList[g].call(e,h,i)}})});mla.mlaList.init.call(this);this.mlaList.process(c.context);return this}})(jQuery); |