golden hour
/var/www/nanshen/wp-includes/js
⬆️ Go Up
Upload
File/Folder
Size
Actions
admin-bar.js
10.88 KB
Del
OK
admin-bar.min.js
6.61 KB
Del
OK
autosave.js
15.78 KB
Del
OK
autosave.min.js
5.23 KB
Del
OK
backbone.min.js
18.59 KB
Del
OK
colorpicker.js
28.4 KB
Del
OK
colorpicker.min.js
16.14 KB
Del
OK
comment-reply.js
1.2 KB
Del
OK
comment-reply.min.js
755 B
Del
OK
crop
-
Del
OK
customize-base.js
15.25 KB
Del
OK
customize-base.min.js
6.45 KB
Del
OK
customize-loader.js
4.18 KB
Del
OK
customize-loader.min.js
2.48 KB
Del
OK
customize-models.js
5.74 KB
Del
OK
customize-models.min.js
3.36 KB
Del
OK
customize-preview-widgets.js
3.64 KB
Del
OK
customize-preview-widgets.min.js
1.74 KB
Del
OK
customize-preview.js
3.48 KB
Del
OK
customize-preview.min.js
1.82 KB
Del
OK
customize-views.js
5.34 KB
Del
OK
customize-views.min.js
2.88 KB
Del
OK
heartbeat.js
18.52 KB
Del
OK
heartbeat.min.js
4.75 KB
Del
OK
hoverIntent.js
4.82 KB
Del
OK
hoverIntent.min.js
1.06 KB
Del
OK
imgareaselect
-
Del
OK
jcrop
-
Del
OK
jquery
-
Del
OK
json2.js
17 KB
Del
OK
json2.min.js
2.87 KB
Del
OK
masonry.min.js
30.31 KB
Del
OK
mce-view.js
17 KB
Del
OK
mce-view.min.js
7.01 KB
Del
OK
media-audiovideo.js
21.93 KB
Del
OK
media-audiovideo.min.js
11.92 KB
Del
OK
media-editor.js
27.87 KB
Del
OK
media-editor.min.js
9.46 KB
Del
OK
media-models.js
34.55 KB
Del
OK
media-models.min.js
11.46 KB
Del
OK
media-views.js
157.75 KB
Del
OK
media-views.min.js
78.25 KB
Del
OK
mediaelement
-
Del
OK
plupload
-
Del
OK
quicktags.js
18.61 KB
Del
OK
quicktags.min.js
8.83 KB
Del
OK
shortcode.js
10.21 KB
Del
OK
shortcode.min.js
2.49 KB
Del
OK
swfobject.js
9.99 KB
Del
OK
swfupload
-
Del
OK
thickbox
-
Del
OK
tinymce
-
Del
OK
tw-sack.js
4.85 KB
Del
OK
tw-sack.min.js
3.19 KB
Del
OK
underscore.min.js
13.98 KB
Del
OK
utils.js
3.98 KB
Del
OK
utils.min.js
1.67 KB
Del
OK
wp-ajax-response.js
3.04 KB
Del
OK
wp-ajax-response.min.js
2 KB
Del
OK
wp-auth-check.js
3.01 KB
Del
OK
wp-auth-check.min.js
1.61 KB
Del
OK
wp-backbone.js
10.17 KB
Del
OK
wp-backbone.min.js
2.93 KB
Del
OK
wp-list-revisions.js
914 B
Del
OK
wp-list-revisions.min.js
562 B
Del
OK
wp-lists.js
10.91 KB
Del
OK
wp-lists.min.js
7.13 KB
Del
OK
wp-pointer.js
6.45 KB
Del
OK
wp-pointer.min.js
3.53 KB
Del
OK
wp-util.js
3.08 KB
Del
OK
wp-util.min.js
977 B
Del
OK
wpdialog.js
435 B
Del
OK
wpdialog.min.js
237 B
Del
OK
wplink.js
14.66 KB
Del
OK
wplink.min.js
8.06 KB
Del
OK
zxcvbn-async.js
502 B
Del
OK
zxcvbn-async.min.js
317 B
Del
OK
zxcvbn.min.js
682.35 KB
Del
OK
Edit: customize-base.js
window.wp = window.wp || {}; (function( exports, $ ){ var api, extend, ctor, inherits, slice = Array.prototype.slice; /* ===================================================================== * Micro-inheritance - thank you, backbone.js. * ===================================================================== */ extend = function( protoProps, classProps ) { var child = inherits( this, protoProps, classProps ); child.extend = this.extend; return child; }; // Shared empty constructor function to aid in prototype-chain creation. ctor = function() {}; // Helper function to correctly set up the prototype chain, for subclasses. // Similar to `goog.inherits`, but uses a hash of prototype properties and // class properties to be extended. inherits = function( parent, protoProps, staticProps ) { var child; // The constructor function for the new subclass is either defined by you // (the "constructor" property in your `extend` definition), or defaulted // by us to simply call `super()`. if ( protoProps && protoProps.hasOwnProperty( 'constructor' ) ) { child = protoProps.constructor; } else { child = function() { // Storing the result `super()` before returning the value // prevents a bug in Opera where, if the constructor returns // a function, Opera will reject the return value in favor of // the original object. This causes all sorts of trouble. var result = parent.apply( this, arguments ); return result; }; } // Inherit class (static) properties from parent. $.extend( child, parent ); // Set the prototype chain to inherit from `parent`, without calling // `parent`'s constructor function. ctor.prototype = parent.prototype; child.prototype = new ctor(); // Add prototype properties (instance properties) to the subclass, // if supplied. if ( protoProps ) $.extend( child.prototype, protoProps ); // Add static properties to the constructor function, if supplied. if ( staticProps ) $.extend( child, staticProps ); // Correctly set child's `prototype.constructor`. child.prototype.constructor = child; // Set a convenience property in case the parent's prototype is needed later. child.__super__ = parent.prototype; return child; }; api = {}; /* ===================================================================== * Base class. * ===================================================================== */ api.Class = function( applicator, argsArray, options ) { var magic, args = arguments; if ( applicator && argsArray && api.Class.applicator === applicator ) { args = argsArray; $.extend( this, options || {} ); } magic = this; if ( this.instance ) { magic = function() { return magic.instance.apply( magic, arguments ); }; $.extend( magic, this ); } magic.initialize.apply( magic, args ); return magic; }; api.Class.applicator = {}; api.Class.prototype.initialize = function() {}; /* * Checks whether a given instance extended a constructor. * * The magic surrounding the instance parameter causes the instanceof * keyword to return inaccurate results; it defaults to the function's * prototype instead of the constructor chain. Hence this function. */ api.Class.prototype.extended = function( constructor ) { var proto = this; while ( typeof proto.constructor !== 'undefined' ) { if ( proto.constructor === constructor ) return true; if ( typeof proto.constructor.__super__ === 'undefined' ) return false; proto = proto.constructor.__super__; } return false; }; api.Class.extend = extend; /* ===================================================================== * Events mixin. * ===================================================================== */ api.Events = { trigger: function( id ) { if ( this.topics && this.topics[ id ] ) this.topics[ id ].fireWith( this, slice.call( arguments, 1 ) ); return this; }, bind: function( id ) { this.topics = this.topics || {}; this.topics[ id ] = this.topics[ id ] || $.Callbacks(); this.topics[ id ].add.apply( this.topics[ id ], slice.call( arguments, 1 ) ); return this; }, unbind: function( id ) { if ( this.topics && this.topics[ id ] ) this.topics[ id ].remove.apply( this.topics[ id ], slice.call( arguments, 1 ) ); return this; } }; /* ===================================================================== * Observable values that support two-way binding. * ===================================================================== */ api.Value = api.Class.extend({ initialize: function( initial, options ) { this._value = initial; // @todo: potentially change this to a this.set() call. this.callbacks = $.Callbacks(); $.extend( this, options || {} ); this.set = $.proxy( this.set, this ); }, /* * Magic. Returns a function that will become the instance. * Set to null to prevent the instance from extending a function. */ instance: function() { return arguments.length ? this.set.apply( this, arguments ) : this.get(); }, get: function() { return this._value; }, set: function( to ) { var from = this._value; to = this._setter.apply( this, arguments ); to = this.validate( to ); // Bail if the sanitized value is null or unchanged. if ( null === to || this._value === to ) return this; this._value = to; this.callbacks.fireWith( this, [ to, from ] ); return this; }, _setter: function( to ) { return to; }, setter: function( callback ) { var from = this.get(); this._setter = callback; // Temporarily clear value so setter can decide if it's valid. this._value = null; this.set( from ); return this; }, resetSetter: function() { this._setter = this.constructor.prototype._setter; this.set( this.get() ); return this; }, validate: function( value ) { return value; }, bind: function() { this.callbacks.add.apply( this.callbacks, arguments ); return this; }, unbind: function() { this.callbacks.remove.apply( this.callbacks, arguments ); return this; }, link: function() { // values* var set = this.set; $.each( arguments, function() { this.bind( set ); }); return this; }, unlink: function() { // values* var set = this.set; $.each( arguments, function() { this.unbind( set ); }); return this; }, sync: function() { // values* var that = this; $.each( arguments, function() { that.link( this ); this.link( that ); }); return this; }, unsync: function() { // values* var that = this; $.each( arguments, function() { that.unlink( this ); this.unlink( that ); }); return this; } }); /* ===================================================================== * A collection of observable values. * ===================================================================== */ api.Values = api.Class.extend({ defaultConstructor: api.Value, initialize: function( options ) { $.extend( this, options || {} ); this._value = {}; this._deferreds = {}; }, instance: function( id ) { if ( arguments.length === 1 ) return this.value( id ); return this.when.apply( this, arguments ); }, value: function( id ) { return this._value[ id ]; }, has: function( id ) { return typeof this._value[ id ] !== 'undefined'; }, add: function( id, value ) { if ( this.has( id ) ) return this.value( id ); this._value[ id ] = value; value.parent = this; if ( value.extended( api.Value ) ) value.bind( this._change ); this.trigger( 'add', value ); if ( this._deferreds[ id ] ) this._deferreds[ id ].resolve(); return this._value[ id ]; }, create: function( id ) { return this.add( id, new this.defaultConstructor( api.Class.applicator, slice.call( arguments, 1 ) ) ); }, each: function( callback, context ) { context = typeof context === 'undefined' ? this : context; $.each( this._value, function( key, obj ) { callback.call( context, obj, key ); }); }, remove: function( id ) { var value; if ( this.has( id ) ) { value = this.value( id ); this.trigger( 'remove', value ); if ( value.extended( api.Value ) ) value.unbind( this._change ); delete value.parent; } delete this._value[ id ]; delete this._deferreds[ id ]; }, /** * Runs a callback once all requested values exist. * * when( ids*, [callback] ); * * For example: * when( id1, id2, id3, function( value1, value2, value3 ) {} ); * * @returns $.Deferred.promise(); */ when: function() { var self = this, ids = slice.call( arguments ), dfd = $.Deferred(); // If the last argument is a callback, bind it to .done() if ( $.isFunction( ids[ ids.length - 1 ] ) ) dfd.done( ids.pop() ); $.when.apply( $, $.map( ids, function( id ) { if ( self.has( id ) ) return; return self._deferreds[ id ] = self._deferreds[ id ] || $.Deferred(); })).done( function() { var values = $.map( ids, function( id ) { return self( id ); }); // If a value is missing, we've used at least one expired deferred. // Call Values.when again to generate a new deferred. if ( values.length !== ids.length ) { // ids.push( callback ); self.when.apply( self, ids ).done( function() { dfd.resolveWith( self, values ); }); return; } dfd.resolveWith( self, values ); }); return dfd.promise(); }, _change: function() { this.parent.trigger( 'change', this ); } }); $.extend( api.Values.prototype, api.Events ); /* ===================================================================== * An observable value that syncs with an element. * * Handles inputs, selects, and textareas by default. * ===================================================================== */ api.ensure = function( element ) { return typeof element == 'string' ? $( element ) : element; }; api.Element = api.Value.extend({ initialize: function( element, options ) { var self = this, synchronizer = api.Element.synchronizer.html, type, update, refresh; this.element = api.ensure( element ); this.events = ''; if ( this.element.is('input, select, textarea') ) { this.events += 'change'; synchronizer = api.Element.synchronizer.val; if ( this.element.is('input') ) { type = this.element.prop('type'); if ( api.Element.synchronizer[ type ] ) synchronizer = api.Element.synchronizer[ type ]; if ( 'text' === type || 'password' === type ) this.events += ' keyup'; } else if ( this.element.is('textarea') ) { this.events += ' keyup'; } } api.Value.prototype.initialize.call( this, null, $.extend( options || {}, synchronizer ) ); this._value = this.get(); update = this.update; refresh = this.refresh; this.update = function( to ) { if ( to !== refresh.call( self ) ) update.apply( this, arguments ); }; this.refresh = function() { self.set( refresh.call( self ) ); }; this.bind( this.update ); this.element.bind( this.events, this.refresh ); }, find: function( selector ) { return $( selector, this.element ); }, refresh: function() {}, update: function() {} }); api.Element.synchronizer = {}; $.each( [ 'html', 'val' ], function( i, method ) { api.Element.synchronizer[ method ] = { update: function( to ) { this.element[ method ]( to ); }, refresh: function() { return this.element[ method ](); } }; }); api.Element.synchronizer.checkbox = { update: function( to ) { this.element.prop( 'checked', to ); }, refresh: function() { return this.element.prop( 'checked' ); } }; api.Element.synchronizer.radio = { update: function( to ) { this.element.filter( function() { return this.value === to; }).prop( 'checked', true ); }, refresh: function() { return this.element.filter( ':checked' ).val(); } }; /* ===================================================================== * Messenger for postMessage. * ===================================================================== */ $.support.postMessage = !! window.postMessage; api.Messenger = api.Class.extend({ add: function( key, initial, options ) { return this[ key ] = new api.Value( initial, options ); }, /** * Initialize Messenger. * * @param {object} params Parameters to configure the messenger. * {string} .url The URL to communicate with. * {window} .targetWindow The window instance to communicate with. Default window.parent. * {string} .channel If provided, will send the channel with each message and only accept messages a matching channel. * @param {object} options Extend any instance parameter or method with this object. */ initialize: function( params, options ) { // Target the parent frame by default, but only if a parent frame exists. var defaultTarget = window.parent == window ? null : window.parent; $.extend( this, options || {} ); this.add( 'channel', params.channel ); this.add( 'url', params.url || '' ); this.add( 'targetWindow', params.targetWindow || defaultTarget ); this.add( 'origin', this.url() ).link( this.url ).setter( function( to ) { return to.replace( /([^:]+:\/\/[^\/]+).*/, '$1' ); }); // Since we want jQuery to treat the receive function as unique // to this instance, we give the function a new guid. // // This will prevent every Messenger's receive function from being // unbound when calling $.off( 'message', this.receive ); this.receive = $.proxy( this.receive, this ); this.receive.guid = $.guid++; $( window ).on( 'message', this.receive ); }, destroy: function() { $( window ).off( 'message', this.receive ); }, receive: function( event ) { var message; event = event.originalEvent; if ( ! this.targetWindow() ) return; // Check to make sure the origin is valid. if ( this.origin() && event.origin !== this.origin() ) return; // Ensure we have a string that's JSON.parse-able if ( typeof event.data !== 'string' || event.data[0] !== '{' ) { return; } message = JSON.parse( event.data ); // Check required message properties. if ( ! message || ! message.id || typeof message.data === 'undefined' ) return; // Check if channel names match. if ( ( message.channel || this.channel() ) && this.channel() !== message.channel ) return; this.trigger( message.id, message.data ); }, send: function( id, data ) { var message; data = typeof data === 'undefined' ? null : data; if ( ! this.url() || ! this.targetWindow() ) return; message = { id: id, data: data }; if ( this.channel() ) message.channel = this.channel(); this.targetWindow().postMessage( JSON.stringify( message ), this.origin() ); } }); // Add the Events mixin to api.Messenger. $.extend( api.Messenger.prototype, api.Events ); /* ===================================================================== * Core customize object. * ===================================================================== */ api = $.extend( new api.Values(), api ); api.get = function() { var result = {}; this.each( function( obj, key ) { result[ key ] = obj.get(); }); return result; }; // Expose the API to the world. exports.customize = api; })( wp, jQuery );
Save