Skip to content

Instantly share code, notes, and snippets.

Created June 4, 2012 07:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/2867033 to your computer and use it in GitHub Desktop.
Save anonymous/2867033 to your computer and use it in GitHub Desktop.
Which jQueryMX libraries to update?
/*! jQueryMX v1.7.1 javascriptmvc.com */
(function(d){var b={undHash:/_|-/,colons:/::/,words:/([A-Z]+)([A-Z][a-z])/g,lowUp:/([a-z\d])([A-Z])/g,dash:/([a-z\d])([A-Z])/g,replacer:/\{([^\}]+)\}/g,dot:/\./},f=function(i,h,g){return i[h]!==undefined?i[h]:(g&&(i[h]={}))},c=function(h){var g=typeof h;return g&&(g=="function"||g=="object")},a=function(l,q,r){var j=l?l.split(b.dot):[],h=j.length,g=d.isArray(q)?q:[q||window],m,n,k,p=0,o;if(h==0){return g[0]}while(m=g[p++]){for(k=0;k<h-1&&c(m);k++){m=f(m,j[k],r)}if(c(m)){n=f(m,j[k],r);if(n!==undefined){if(r===false){delete m[j[k]]}return n}}}},e=d.String=d.extend(d.String||{},{getObject:a,capitalize:function(h,g){return h.charAt(0).toUpperCase()+h.substr(1)},camelize:function(g){g=e.classize(g);return g.charAt(0).toLowerCase()+g.substr(1)},classize:function(h,k){var j=h.split(b.undHash),g=0;for(;g<j.length;g++){j[g]=e.capitalize(j[g])}return j.join(k||"")},niceName:function(g){return e.classize(g," ")},underscore:function(g){return g.replace(b.colons,"/").replace(b.words,"$1_$2").replace(b.lowUp,"$1_$2").replace(b.dash,"_").toLowerCase()},sub:function(h,i,g){var j=[];j.push(h.replace(b.replacer,function(n,k){var l=a(k,i,typeof g=="boolean"?!g:g),m=typeof l;if((m==="object"||m==="function")&&m!==null){j.push(l);return""}else{return""+l}}));return j.length<=1?j[0]:j},_regs:b})})(jQuery);(function(e){var f=false,a=e.makeArray,b=e.isFunction,g=e.isArray,h=e.extend,k=e.String.getObject,d=function(l,m){return l.concat(a(m))},i=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/,c=function(o,l,n){n=n||o;for(var m in o){n[m]=b(o[m])&&b(l[m])&&i.test(o[m])?(function(p,q){return function(){var s=this._super,r;this._super=l[p];r=q.apply(this,arguments);this._super=s;return r}})(m,o[m]):o[m]}},j="prototype";clss=e.Class=function(){if(arguments.length){clss.extend.apply(clss,arguments)}};h(clss,{proxy:function(m){var n=a(arguments),l;m=n.shift();if(!g(m)){m=[m]}l=this;return function o(){var t=d(n,arguments),p,r=m.length,s=0,q;for(;s<r;s++){q=m[s];if(!q){continue}p=typeof q=="string";if(p&&l._set_called){l.called=q}t=(p?l[q]:q).apply(l,t||[]);if(s<r-1){t=!g(t)||t._use_call?[t]:t}}return t}},newInstance:function(){var m=this.rawInstance(),l;if(m.setup){l=m.setup.apply(m,arguments)}if(m.init){m.init.apply(m,g(l)?l:arguments)}return m},setup:function(l,m){this.defaults=h(true,{},l.defaults,this.defaults);return arguments},rawInstance:function(){f=true;var l=new this();f=false;return l},extend:function(n,t,q){if(typeof n!="string"){q=t;t=n;n=null}if(!q){q=t;t=null}q=q||{};var r=this,x=this[j],m,v,o,w;f=true;w=new this();f=false;c(q,x,w);function l(){if(f){return}if(this.constructor!==l&&arguments.length){return arguments.callee.extend.apply(arguments.callee,arguments)}else{return this.Class.newInstance.apply(this.Class,arguments)}}for(m in this){if(this.hasOwnProperty(m)){l[m]=this[m]}}c(t,this,l);if(n){var p=n.split(/\./),v=p.pop(),s=k(p.join("."),window,true),o=s;s[v]=l}h(l,{prototype:w,namespace:o,shortName:v,constructor:l,fullName:n});l[j].Class=l[j].constructor=l;var u=l.setup.apply(l,d([r],arguments));if(l.init){l.init.apply(l,u||[])}return l}});clss.callback=clss[j].callback=clss[j].proxy=clss.proxy})(jQuery);(function(b){var a=jQuery.cleanData;b.cleanData=function(c){for(var d=0,e;(e=c[d])!==undefined;d++){b(e).triggerHandler("destroyed")}a(c)}})(jQuery);(function(g){var y=function(A,B,D){var C,i=A.bind&&A.unbind?A:g(b(A)?[A]:A);if(B.indexOf(">")===0){B=B.substr(1);C=function(E){if(E.target===A){D.apply(this,arguments)}}}i.bind(B,C||D);return function(){i.unbind(B,C||D);A=B=D=C=null}},m=g.makeArray,n=g.isArray,b=g.isFunction,s=g.extend,x=g.String,f=g.each,k="prototype",z="constructor",p=Array[k].slice,r=function(B,i,C,D){var A=B.delegate&&B.undelegate?B:g(b(B)?[B]:B);A.delegate(i,C,D);return function(){A.undelegate(i,C,D);A=B=C=D=i=null}},l=function(A,B,C,i){return i?r(A,i,B,C):y(A,B,C)},u=function u(A,i){var B=typeof i=="string"?A[i]:i;return function(){A.called=i;return B.apply(A,[this.nodeName?g(this):this].concat(p.call(arguments,0)))}},v=/\./g,h=/_?controllers?/ig,o=function(i){return x.underscore(i.replace("jQuery.","").replace(v,"_").replace(h,""))},j=/[^\w]/,e=/\{([^\}]+)\}/g,c=/^(?:(.*?)\s)?([\w\.\:>]+)$/,a,w=function(i,A){return g.data(i,"controllers",A)};g.Class("jQuery.Controller",{setup:function(){this._super.apply(this,arguments);if(!this.shortName||this.fullName=="jQuery.Controller"){return}this._fullName=o(this.fullName);this._shortName=o(this.shortName);var i=this,C=this.pluginName||this._fullName,A,B;if(!g.fn[C]){g.fn[C]=function(F){var E=m(arguments),G=typeof F=="string"&&b(i[k][F]),D=E[0];return this.each(function(){var I=w(this),H=I&&I[C];if(H){if(G){H[D].apply(H,E.slice(1))}else{H.update.apply(H,E)}}else{i.newInstance.apply(i,[this].concat(E))}})}}this.actions={};for(A in this[k]){if(A=="constructor"||!b(this[k][A])){continue}if(this._isAction(A)){this.actions[A]=this._action(A)}}},hookup:function(i){return new this(i)},_isAction:function(i){if(j.test(i)){return true}else{return g.inArray(i,this.listensTo)>-1||g.event.special[i]||t[i]}},_action:function(A,B){e.lastIndex=0;if(!B&&e.test(A)){return null}var C=B?x.sub(A,[B,window]):A,i=n(C),F=(i?C[1]:C).match(c),E=F[2],D=t[E]||a;return{processor:D,parts:F,delegate:i?C[0]:undefined}},processors:{},listensTo:[],defaults:{}},{setup:function(B,A){var D,C,i=this[z];B=B.jquery?B[0]:B;var E=i.pluginName||i._fullName;this.element=g(B).addClass(E);(w(B)||w(B,{}))[E]=this;this.options=s(s(true,{},i.defaults),A);this.called="init";this.bind();return this.element},bind:function(D,A,E){if(D===undefined){this._bindings=[];var i=this[z],G=this._bindings,F=i.actions,B=this.element;for(funcName in F){if(F.hasOwnProperty(funcName)){ready=F[funcName]||i._action(funcName,this.options);G.push(ready.processor(ready.delegate||B,ready.parts[2],ready.parts[1],funcName,this))}}var C=u(this,"destroy");B.bind("destroyed",C);G.push(function(H){g(H).unbind("destroyed",C)});return G.length}if(typeof D=="string"){E=A;A=D;D=this.element}return this._binder(D,A,E)},_binder:function(B,A,C,i){if(typeof C=="string"){C=u(this,C)}this._bindings.push(l(B,A,C,i));return this._bindings.length},_unbind:function(){var i=this.element[0];f(this._bindings,function(A,B){B(i)});this._bindings=[]},delegate:function(B,i,A,C){if(typeof B=="string"){C=A;A=i;i=B;B=this.element}return this._binder(B,A,C,i)},update:function(i){s(this.options,i);this._unbind();this.bind()},destroy:function(){if(this._destroyed){throw this[z].shortName+" controller already deleted"}var i=this,B=this[z].pluginName||this[z]._fullName,A;this._destroyed=true;this.element.removeClass(B);this._unbind();delete this._actions;delete this.element.data("controllers")[B];g(this).triggerHandler("destroyed");this.element=null},find:function(i){return this.element.find(i)},_set_called:true});var t=g.Controller.processors,a=function(C,D,i,B,A){return l(C,D,u(A,B),i)};f("change click contextmenu dblclick keydown keyup keypress mousedown mousemove mouseout mouseover mouseup reset resize scroll select submit focusin focusout mouseenter mouseleave".split(" "),function(B,A){t[A]=a});var q,d=function(i,A){for(q=0;q<A.length;q++){if(typeof A[q]=="string"?i[z]._shortName==A[q]:i instanceof A[q]){return true}}return false};g.fn.extend({controllers:function(){var D=m(arguments),B=[],A,C,i;this.each(function(){A=g.data(this,"controllers");for(i in A){if(A.hasOwnProperty(i)){C=A[i];if(!D.length||d(C,D)){B.push(C)}}}});return B},controller:function(i){return this.controllers.apply(this,arguments)[0]}})})(jQuery);(function(){var p=$.String.underscore,o=$.String.classize,h=$.isArray,f=$.makeArray,n=$.extend,b=$.each,k=/GET|POST|PUT|DELETE/i,j=function(y,C,D,A,w,z,B){var B=B||"json",t="",x;if(typeof y=="string"){var v=y.indexOf(" ");if(v>2&&v<7){x=y.substr(0,v);if(k.test(x)){z=x}else{B=x}t=y.substr(v+1)}else{t=y}}typeof C=="object"&&(!h(C))&&(C=n({},C));var u=$.String.sub(t,C,true);return $.ajax({url:u,data:C,success:D,error:A,type:z||"post",dataType:B,fixture:w})},q=function(t,x){var v=p(this.shortName),w="-"+v+(t||"");return $.fixture&&$.fixture[w]?w:x||"//"+p(this.fullName).replace(/\.models\..*/,"").replace(/\./g,"/")+"/fixtures/"+v+(t||"")+".json"},m=function(u,v){u=u||{};var t=this.id;if(u[t]&&u[t]!==v){u["new"+$.String.capitalize(v)]=u[t];delete u[t]}u[t]=v;return u},e=function(u){var t=u||$.Model.List||Array;return new t()},i=function(t){return t[t.constructor.id]},a=function(t){var v=[];for(var u=0;u<t.length;u++){if(!t[u]["__u Nique"]){v.push(t[u]);t[u]["__u Nique"]=true}}for(u=0;u<v.length;u++){delete v[u]["__u Nique"]}return v},l=function(A,w,y,x,t){var B=$.Deferred(),z=function(D){A[t||w+"d"](D);B.resolveWith(A,[A,D,w])},C=function(D){B.rejectWith(A,[D])},v=[A.serialize(),z,C],u=A.constructor;if(w=="destroy"){v.shift()}if(w!=="create"){v.unshift(i(A))}B.then(y);B.fail(x);u[w].apply(u,v);return B.promise()},g=function(t){return typeof t==="object"&&t!==null&&t},d=function(t){return function(u,v){$.fn[t].apply($([this]),arguments);return this}},s=d("bind"),c=d("unbind"),r="constructor";ajaxMethods={create:function(t){return function(v,w,u){return j(t,v,w,u,q.call(this,"Create","-restCreate"))}},update:function(t){return function(x,v,w,u){return j(t,m.call(this,v,x),w,u,q.call(this,"Update","-restUpdate"),"put")}},destroy:function(t){return function(x,w,v){var u={};u[this.id]=x;return j(t,u,w,v,q.call(this,"Destroy","-restDestroy"),"delete")}},findAll:function(t){return function(w,v,u){return j(t||this.shortName+"s.json",w,v,u,q.call(this,"s"),"get","json "+this._shortName+".models")}},findOne:function(t){return function(w,v,u){return j(t,w,v,u,q.call(this),"get","json "+this._shortName+".model")}}};jQuery.Class("jQuery.Model",{setup:function(x,w,y){var t=this;b(["attributes","associations","validations"],function(B,A){if(!t[A]||x[A]===t[A]){t[A]={}}});b(["convert","serialize"],function(B,A){if(x[A]!=t[A]){t[A]=n({},x[A],t[A])}});this._fullName=p(this.fullName.replace(/\./g,"_"));this._shortName=p(this.shortName);if(this.fullName.substr(0,7)=="jQuery."){return}if(this.listType){this.list=new this.listType([])}for(var u in ajaxMethods){if(typeof this[u]!=="function"){this[u]=ajaxMethods[u](this[u])}}var z={},v="* "+this._shortName+".model";z[v+"s"]=this.proxy("models");z[v]=this.proxy("model");$.ajaxSetup({converters:z})},attributes:{},model:function(t){if(!t){return null}if(t instanceof this){t=t.serialize()}return new this(g(t[this._shortName])||g(t.data)||g(t.attributes)||t)},models:function(x){if(!x){return null}var w=e(this.List),t=h(x),A=($.Model.List&&x instanceof $.Model.List),u=t?x:(A?x.serialize():x.data),y=u.length,v=0;w._use_call=true;for(;v<y;v++){w.push(this.model(u[v]))}if(!t){for(var z in x){if(z!=="data"){w[z]=x[z]}}}return w},id:"id",addAttr:function(u,t){var v;if(this.associations[u]){return}v=this.attributes[u]||(this.attributes[u]=t);return t},_models:{},publish:function(t,u){if(window.OpenAjax){OpenAjax.hub.publish(this._shortName+"."+t,u)}},guessType:function(){return"string"},convert:{date:function(u){var t=typeof u;if(t==="string"){return isNaN(Date.parse(u))?null:Date.parse(u)}else{if(t==="number"){return new Date(u)}else{return u}}},number:function(t){return parseFloat(t)},"boolean":function(t){return Boolean(t)},"default":function(y,u,x){var t=$.String.getObject(x),v=window,w;if(x.indexOf(".")>=0){w=x.substring(0,x.lastIndexOf("."));v=$.String.getObject(w)}return typeof t=="function"?t.call(v,y):y}},serialize:{"default":function(u,t){return g(u)&&u.serialize?u.serialize():u}},bind:s,unbind:c,_ajax:j},{setup:function(t){this._init=true;this.attrs(n({},this.constructor.defaults,t));delete this._init},update:function(u,v,t){this.attrs(u);return this.save(v,t)},errors:function(v){if(v){v=h(v)?v:f(arguments)}var y={},u=this,x=function(z,A){b(A,function(C,D){var B=D.call(u);if(B){if(!y.hasOwnProperty(z)){y[z]=[]}y[z].push(B)}})},w=this.constructor.validations;b(v||w||{},function(z,A){if(typeof z=="number"){z=A;A=w[z]}x(z,A||[])});for(var t in y){if(y.hasOwnProperty(t)){return y}}return null},attr:function(w,x,y,u){var v=o(w),t="get"+v;if(x!==undefined){this._setProperty(w,x,y,u,v);return this}return this[t]?this[t]():this[w]},bind:s,unbind:c,_setProperty:function(z,y,A,x,v){var w="set"+v,t=this[z],B=this,u=function(D){var C;C=x&&x.call(B,D);$(B).triggerHandler("error."+z,D)};if(this[w]&&(y=this[w](y,this.proxy("_updateProperty",z,y,t,A,u),u))===undefined){return}this._updateProperty(z,y,t,A,u)},_updateProperty:function(G,F,w,I,y){var t=this.constructor,v,D=t.attributes[G]||t.addAttr(G,t.guessType(F)),x=t.convert[D]||t.convert["default"],E=null,z="",u="updated.",C,B,H=I,A=t.list;v=this[G]=(F===null?null:x.call(t,F,function(){},D));if(!this._init){E=this.errors(G)}C=[v];B=[G,v,w];if(E){z=u="error.";H=y;B.splice(1,0,E);C.unshift(E)}if(w!==v&&!this._init){!E&&$(this).triggerHandler(z+G,C);$(this).triggerHandler(u+"attr",B)}H&&H.apply(this,C);if(G===t.id&&v!==null&&A){if(!w){A.push(this)}else{if(w!=v){A.remove(w);A.push(this)}}}},removeAttr:function(u){var v=this[u],t=false,w=this.constructor.attributes;if(this[u]){delete this[u]}if(w[u]){delete w[u];t=true}if(!this._init&&t&&v){$(this).triggerHandler("updated.attr",[u,null,v])}},attrs:function(u){var w,x=this.constructor,v=x.attributes;if(!u){u={};for(w in v){if(v.hasOwnProperty(w)){u[w]=this.attr(w)}}}else{var t=x.id;for(w in u){if(w!=t){this.attr(w,u[w])}}if(t in u){this.attr(t,u[t])}}return u},serialize:function(){var u=this.constructor,v=u.attributes,x,w,y={},t;attributes={};for(t in v){if(v.hasOwnProperty(t)){x=v[t];w=u.serialize[x]||u.serialize["default"];y[t]=w(this[t],x)}}return y},isNew:function(){var t=i(this);return(t===undefined||t===null)},save:function(u,t){return l(this,this.isNew()?"create":"update",u,t)},destroy:function(u,t){return l(this,"destroy",u,t,"destroyed")},identity:function(){var u=i(this),t=this.constructor;return(t._fullName+"_"+(t.escapeIdentity?encodeURIComponent(u):u)).replace(/ /g,"_")},elements:function(t){return $("."+this.identity(),t)},publish:function(t,u){this.constructor.publish(t,u||this)},hookup:function(u){var t=this.constructor._shortName,v=$.data(u,"models")||$.data(u,"models",{});$(u).addClass(t+" "+this.identity());v[t]=this}});b(["created","updated","destroyed"],function(t,u){$.Model.prototype[u]=function(v){var x,w=this.constructor;if(u==="destroyed"&&w.list){w.list.remove(i(this))}x=v&&typeof v=="object"&&this.attrs(v.attrs?v.attrs():v);$(this).triggerHandler(u);this.publish(u,this);$([w]).triggerHandler(u,this);return[this].concat(f(arguments))}});$.fn.models=function(v){var x=[],u,t,w;this.each(function(){b($.data(this,"models")||{},function(z,y){u=u===undefined?y.constructor.List||null:(y.constructor.List===u?u:null);x.push(y)})});t=e(u);t.push.apply(t,a(x));return t};$.fn.model=function(t){if(t&&t instanceof $.Model){t.hookup(this[0]);return this}else{return this.models.apply(this,arguments)[0]}}})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment