Ticket #34101: 34101.2.diff
| File 34101.2.diff, 7.9 KB (added by , 11 years ago) |
|---|
-
src/wp-includes/js/jquery/jquery.serialize-object.js
1 /*! 2 * jQuery serializeObject - v0.2 - 1/20/2010 3 * http://benalman.com/projects/jquery-misc-plugins/ 4 * 5 * Copyright (c) 2010 "Cowboy" Ben Alman 6 * Dual licensed under the MIT and GPL licenses. 7 * http://benalman.com/about/license/ 1 /** 2 * jQuery serializeObject 3 * @copyright 2014, macek <paulmacek@gmail.com> 4 * @link https://github.com/macek/jquery-serialize-object 5 * @license BSD 6 * @version 2.5.0 8 7 */ 8 (function(root, factory) { 9 9 10 // Whereas .serializeArray() serializes a form into an array, .serializeObject() 11 // serializes a form into an (arguably more useful) object. 10 // AMD 11 if (typeof define === "function" && define.amd) { 12 define(["exports", "jquery"], function(exports, $) { 13 return factory(exports, $); 14 }); 15 } 12 16 13 (function($,undefined){ 14 '$:nomunge'; // Used by YUI compressor. 15 16 $.fn.serializeObject = function(){ 17 var obj = {}; 18 19 $.each( this.serializeArray(), function(i,o){ 20 var n = o.name, 21 v = o.value; 22 23 obj[n] = obj[n] === undefined ? v 24 : $.isArray( obj[n] ) ? obj[n].concat( v ) 25 : [ obj[n], v ]; 26 }); 27 28 return obj; 17 // CommonJS 18 else if (typeof exports !== "undefined") { 19 var $ = require("jquery"); 20 factory(exports, $); 21 } 22 23 // Browser 24 else { 25 factory(root, (root.jQuery || root.Zepto || root.ender || root.$)); 26 } 27 28 }(this, function(exports, $) { 29 30 var patterns = { 31 validate: /^[a-z_][a-z0-9_]*(?:\[(?:\d*|[a-z0-9_]+)\])*$/i, 32 key: /[a-z0-9_]+|(?=\[\])/gi, 33 push: /^$/, 34 fixed: /^\d+$/, 35 named: /^[a-z0-9_]+$/i 29 36 }; 30 31 })(jQuery); 37 38 function FormSerializer(helper, $form) { 39 40 // private variables 41 var data = {}, 42 pushes = {}; 43 44 // private API 45 function build(base, key, value) { 46 base[key] = value; 47 return base; 48 } 49 50 function makeObject(root, value) { 51 52 var keys = root.match(patterns.key), k; 53 54 // nest, nest, ..., nest 55 while ((k = keys.pop()) !== undefined) { 56 // foo[] 57 if (patterns.push.test(k)) { 58 var idx = incrementPush(root.replace(/\[\]$/, '')); 59 value = build([], idx, value); 60 } 61 62 // foo[n] 63 else if (patterns.fixed.test(k)) { 64 value = build([], k, value); 65 } 66 67 // foo; foo[bar] 68 else if (patterns.named.test(k)) { 69 value = build({}, k, value); 70 } 71 } 72 73 return value; 74 } 75 76 function incrementPush(key) { 77 if (pushes[key] === undefined) { 78 pushes[key] = 0; 79 } 80 return pushes[key]++; 81 } 82 83 function encode(pair) { 84 switch ($('[name="' + pair.name + '"]', $form).attr("type")) { 85 case "checkbox": 86 return pair.value === "on" ? true : pair.value; 87 default: 88 return pair.value; 89 } 90 } 91 92 function addPair(pair) { 93 if (!patterns.validate.test(pair.name)) return this; 94 var obj = makeObject(pair.name, encode(pair)); 95 data = helper.extend(true, data, obj); 96 return this; 97 } 98 99 function addPairs(pairs) { 100 if (!helper.isArray(pairs)) { 101 throw new Error("formSerializer.addPairs expects an Array"); 102 } 103 for (var i=0, len=pairs.length; i<len; i++) { 104 this.addPair(pairs[i]); 105 } 106 return this; 107 } 108 109 function serialize() { 110 return data; 111 } 112 113 function serializeJSON() { 114 return JSON.stringify(serialize()); 115 } 116 117 // public API 118 this.addPair = addPair; 119 this.addPairs = addPairs; 120 this.serialize = serialize; 121 this.serializeJSON = serializeJSON; 122 } 123 124 FormSerializer.patterns = patterns; 125 126 FormSerializer.serializeObject = function serializeObject() { 127 return new FormSerializer($, this). 128 addPairs(this.serializeArray()). 129 serialize(); 130 }; 131 132 FormSerializer.serializeJSON = function serializeJSON() { 133 return new FormSerializer($, this). 134 addPairs(this.serializeArray()). 135 serializeJSON(); 136 }; 137 138 if (typeof $.fn !== "undefined") { 139 $.fn.serializeObject = FormSerializer.serializeObject; 140 $.fn.serializeJSON = FormSerializer.serializeJSON; 141 } 142 143 exports.FormSerializer = FormSerializer; 144 145 return FormSerializer; 146 })); -
src/wp-includes/js/jquery/jquery.serialize-object.min.js
1 /** 2 * jQuery serializeObject 3 * @copyright 2014, macek <paulmacek@gmail.com> 4 * @link https://github.com/macek/jquery-serialize-object 5 * @license BSD 6 * @version 2.5.0 7 */ 8 !function(e,i){if("function"==typeof define&&define.amd)define(["exports","jquery"],function(e,r){return i(e,r)});else if("undefined"!=typeof exports){var r=require("jquery");i(exports,r)}else i(e,e.jQuery||e.Zepto||e.ender||e.$)}(this,function(e,i){function r(e,r){function n(e,i,r){return e[i]=r,e}function a(e,i){for(var r,a=e.match(t.key);void 0!==(r=a.pop());)if(t.push.test(r)){var u=s(e.replace(/\[\]$/,""));i=n([],u,i)}else t.fixed.test(r)?i=n([],r,i):t.named.test(r)&&(i=n({},r,i));return i}function s(e){return void 0===h[e]&&(h[e]=0),h[e]++}function u(e){switch(i('[name="'+e.name+'"]',r).attr("type")){case"checkbox":return"on"===e.value?!0:e.value;default:return e.value}}function f(i){if(!t.validate.test(i.name))return this;var r=a(i.name,u(i));return l=e.extend(!0,l,r),this}function d(i){if(!e.isArray(i))throw new Error("formSerializer.addPairs expects an Array");for(var r=0,t=i.length;t>r;r++)this.addPair(i[r]);return this}function o(){return l}function c(){return JSON.stringify(o())}var l={},h={};this.addPair=f,this.addPairs=d,this.serialize=o,this.serializeJSON=c}var t={validate:/^[a-z_][a-z0-9_]*(?:\[(?:\d*|[a-z0-9_]+)\])*$/i,key:/[a-z0-9_]+|(?=\[\])/gi,push:/^$/,fixed:/^\d+$/,named:/^[a-z0-9_]+$/i};return r.patterns=t,r.serializeObject=function(){return new r(i,this).addPairs(this.serializeArray()).serialize()},r.serializeJSON=function(){return new r(i,this).addPairs(this.serializeArray()).serializeJSON()},"undefined"!=typeof i.fn&&(i.fn.serializeObject=r.serializeObject,i.fn.serializeJSON=r.serializeJSON),e.FormSerializer=r,r}); -
src/wp-includes/script-loader.php
Property changes on: src/wp-includes/js/jquery/jquery.serialize-object.min.js ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property
237 237 $scripts->add( 'suggest', "/wp-includes/js/jquery/suggest$suffix.js", array('jquery'), '1.1-20110113', 1 ); 238 238 $scripts->add( 'schedule', '/wp-includes/js/jquery/jquery.schedule.js', array('jquery'), '20m', 1 ); 239 239 $scripts->add( 'jquery-query', "/wp-includes/js/jquery/jquery.query.js", array('jquery'), '2.1.7', 1 ); 240 $scripts->add( 'jquery-serialize-object', "/wp-includes/js/jquery/jquery.serialize-object .js", array('jquery'), '0.2', 1 );240 $scripts->add( 'jquery-serialize-object', "/wp-includes/js/jquery/jquery.serialize-object$suffix.js", array('jquery'), '0.2', 1 ); 241 241 $scripts->add( 'jquery-hotkeys', "/wp-includes/js/jquery/jquery.hotkeys$suffix.js", array('jquery'), '0.0.2m', 1 ); 242 242 $scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), false, 1 ); 243 243 $scripts->add( 'jquery-touch-punch', "/wp-includes/js/jquery/jquery.ui.touch-punch.js", array('jquery-ui-widget', 'jquery-ui-mouse'), '0.2.2', 1 );