$48 GRAYBYTE WORDPRESS FILE MANAGER $45

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/public_html/wp-includes/js/

HOME
Current File : /home/bravrvjk/public_html/wp-includes/js//customize-models.js
/**
 * @output wp-includes/js/customize-models.js
 */

/* global _wpCustomizeHeader */
(function( $, wp ) {
	var api = wp.customize;
	/** @namespace wp.customize.HeaderTool */
	api.HeaderTool = {};


	/**
	 * wp.customize.HeaderTool.ImageModel
	 *
	 * A header image. This is where saves via the Customizer API are
	 * abstracted away, plus our own Ajax calls to add images to and remove
	 * images from the user's recently uploaded images setting on the server.
	 * These calls are made regardless of whether the user actually saves new
	 * Customizer settings.
	 *
	 * @memberOf wp.customize.HeaderTool
	 * @alias wp.customize.HeaderTool.ImageModel
	 *
	 * @constructor
	 * @augments Backbone.Model
	 */
	api.HeaderTool.ImageModel = Backbone.Model.extend(/** @lends wp.customize.HeaderTool.ImageModel.prototype */{
		defaults: function() {
			return {
				header: {
					attachment_id: 0,
					url: '',
					timestamp: _.now(),
					thumbnail_url: ''
				},
				choice: '',
				selected: false,
				random: false
			};
		},

		initialize: function() {
			this.on('hide', this.hide, this);
		},

		hide: function() {
			this.set('choice', '');
			api('header_image').set('remove-header');
			api('header_image_data').set('remove-header');
		},

		destroy: function() {
			var data = this.get('header'),
				curr = api.HeaderTool.currentHeader.get('header').attachment_id;

			// If the image we're removing is also the current header,
			// unset the latter.
			if (curr && data.attachment_id === curr) {
				api.HeaderTool.currentHeader.trigger('hide');
			}

			wp.ajax.post( 'custom-header-remove', {
				nonce: _wpCustomizeHeader.nonces.remove,
				wp_customize: 'on',
				theme: api.settings.theme.stylesheet,
				attachment_id: data.attachment_id
			});

			this.trigger('destroy', this, this.collection);
		},

		save: function() {
			if (this.get('random')) {
				api('header_image').set(this.get('header').random);
				api('header_image_data').set(this.get('header').random);
			} else {
				if (this.get('header').defaultName) {
					api('header_image').set(this.get('header').url);
					api('header_image_data').set(this.get('header').defaultName);
				} else {
					api('header_image').set(this.get('header').url);
					api('header_image_data').set(this.get('header'));
				}
			}

			api.HeaderTool.combinedList.trigger('control:setImage', this);
		},

		importImage: function() {
			var data = this.get('header');
			if (data.attachment_id === undefined) {
				return;
			}

			wp.ajax.post( 'custom-header-add', {
				nonce: _wpCustomizeHeader.nonces.add,
				wp_customize: 'on',
				theme: api.settings.theme.stylesheet,
				attachment_id: data.attachment_id
			} );
		},

		shouldBeCropped: function() {
			if (this.get('themeFlexWidth') === true &&
						this.get('themeFlexHeight') === true) {
				return false;
			}

			if (this.get('themeFlexWidth') === true &&
				this.get('themeHeight') === this.get('imageHeight')) {
				return false;
			}

			if (this.get('themeFlexHeight') === true &&
				this.get('themeWidth') === this.get('imageWidth')) {
				return false;
			}

			if (this.get('themeWidth') === this.get('imageWidth') &&
				this.get('themeHeight') === this.get('imageHeight')) {
				return false;
			}

			if (this.get('imageWidth') <= this.get('themeWidth')) {
				return false;
			}

			return true;
		}
	});


	/**
	 * wp.customize.HeaderTool.ChoiceList
	 *
	 * @memberOf wp.customize.HeaderTool
	 * @alias wp.customize.HeaderTool.ChoiceList
	 *
	 * @constructor
	 * @augments Backbone.Collection
	 */
	api.HeaderTool.ChoiceList = Backbone.Collection.extend({
		model: api.HeaderTool.ImageModel,

		// Ordered from most recently used to least.
		comparator: function(model) {
			return -model.get('header').timestamp;
		},

		initialize: function() {
			var current = api.HeaderTool.currentHeader.get('choice').replace(/^https?:\/\//, ''),
				isRandom = this.isRandomChoice(api.get().header_image);

			// Overridable by an extending class.
			if (!this.type) {
				this.type = 'uploaded';
			}

			// Overridable by an extending class.
			if (typeof this.data === 'undefined') {
				this.data = _wpCustomizeHeader.uploads;
			}

			if (isRandom) {
				// So that when adding data we don't hide regular images.
				current = api.get().header_image;
			}

			this.on('control:setImage', this.setImage, this);
			this.on('control:removeImage', this.removeImage, this);
			this.on('add', this.maybeRemoveOldCrop, this);
			this.on('add', this.maybeAddRandomChoice, this);

			_.each(this.data, function(elt, index) {
				if (!elt.attachment_id) {
					elt.defaultName = index;
				}

				if (typeof elt.timestamp === 'undefined') {
					elt.timestamp = 0;
				}

				this.add({
					header: elt,
					choice: elt.url.split('/').pop(),
					selected: current === elt.url.replace(/^https?:\/\//, '')
				}, { silent: true });
			}, this);

			if (this.size() > 0) {
				this.addRandomChoice(current);
			}
		},

		maybeRemoveOldCrop: function( model ) {
			var newID = model.get( 'header' ).attachment_id || false,
			 	oldCrop;

			// Bail early if we don't have a new attachment ID.
			if ( ! newID ) {
				return;
			}

			oldCrop = this.find( function( item ) {
				return ( item.cid !== model.cid && item.get( 'header' ).attachment_id === newID );
			} );

			// If we found an old crop, remove it from the collection.
			if ( oldCrop ) {
				this.remove( oldCrop );
			}
		},

		maybeAddRandomChoice: function() {
			if (this.size() === 1) {
				this.addRandomChoice();
			}
		},

		addRandomChoice: function(initialChoice) {
			var isRandomSameType = RegExp(this.type).test(initialChoice),
				randomChoice = 'random-' + this.type + '-image';

			this.add({
				header: {
					timestamp: 0,
					random: randomChoice,
					width: 245,
					height: 41
				},
				choice: randomChoice,
				random: true,
				selected: isRandomSameType
			});
		},

		isRandomChoice: function(choice) {
			return (/^random-(uploaded|default)-image$/).test(choice);
		},

		shouldHideTitle: function() {
			return this.size() < 2;
		},

		setImage: function(model) {
			this.each(function(m) {
				m.set('selected', false);
			});

			if (model) {
				model.set('selected', true);
			}
		},

		removeImage: function() {
			this.each(function(m) {
				m.set('selected', false);
			});
		}
	});


	/**
	 * wp.customize.HeaderTool.DefaultsList
	 *
	 * @memberOf wp.customize.HeaderTool
	 * @alias wp.customize.HeaderTool.DefaultsList
	 *
	 * @constructor
	 * @augments wp.customize.HeaderTool.ChoiceList
	 * @augments Backbone.Collection
	 */
	api.HeaderTool.DefaultsList = api.HeaderTool.ChoiceList.extend({
		initialize: function() {
			this.type = 'default';
			this.data = _wpCustomizeHeader.defaults;
			api.HeaderTool.ChoiceList.prototype.initialize.apply(this);
		}
	});

})( jQuery, window.wp );


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 10.33 AM
bravrvjk / bravrvjk
0755
codemirror
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
crop
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
dist
--
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0755
imgareaselect
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
jcrop
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
jquery
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
mediaelement
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
plupload
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
swfupload
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
thickbox
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
tinymce
--
25 Feb 2026 7.13 AM
bravrvjk / bravrvjk
0755
wp-site
--
3 Apr 2026 11.24 PM
bravrvjk / bravrvjk
0755
admin-bar.js
10.3 KB
11 May 2024 10.28 PM
bravrvjk / bravrvjk
0644
admin-bar.min.js
3.405 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
api-request.js
3.246 KB
1 Dec 2020 8.44 AM
bravrvjk / bravrvjk
0644
api-request.min.js
0.999 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
autosave.js
21.949 KB
24 Jan 2025 4.54 AM
bravrvjk / bravrvjk
0644
autosave.min.js
5.671 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
backbone.js
78.506 KB
8 Aug 2024 11.37 PM
bravrvjk / bravrvjk
0644
backbone.min.js
23.731 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
clipboard.js
26.179 KB
4 Oct 2022 7.55 PM
bravrvjk / bravrvjk
0644
clipboard.min.js
8.798 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
colorpicker.js
28.401 KB
17 Nov 2012 8.11 PM
bravrvjk / bravrvjk
0644
colorpicker.min.js
16.111 KB
14 Dec 2024 12.06 AM
bravrvjk / bravrvjk
0644
comment-reply.js
12.22 KB
4 Sep 2024 12.36 AM
bravrvjk / bravrvjk
0644
comment-reply.min.js
2.955 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-base.js
25.217 KB
20 May 2023 2.19 PM
bravrvjk / bravrvjk
0644
customize-base.min.js
7.668 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-loader.js
7.718 KB
12 Apr 2024 9.47 PM
bravrvjk / bravrvjk
0644
customize-loader.min.js
3.468 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-models.js
6.661 KB
25 Jun 2020 4.43 PM
bravrvjk / bravrvjk
0644
customize-models.min.js
3.595 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-preview-nav-menus.js
14.672 KB
28 Jul 2020 3.35 AM
bravrvjk / bravrvjk
0644
customize-preview-nav-menus.min.js
4.915 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-preview-widgets.js
22.708 KB
20 Jun 2020 4.58 PM
bravrvjk / bravrvjk
0644
customize-preview-widgets.min.js
7.637 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-preview.js
27.927 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
customize-preview.min.js
10.753 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
customize-selective-refresh.js
32.554 KB
12 Apr 2024 9.47 PM
bravrvjk / bravrvjk
0644
customize-selective-refresh.min.js
10.442 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
customize-styles.js
5.19 MB
15 Nov 2024 6.41 AM
bravrvjk / bravrvjk
0644
customize-views.js
5.1 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
customize-views.min.js
2.507 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
heartbeat.js
23.488 KB
12 Sep 2024 3.09 AM
bravrvjk / bravrvjk
0644
heartbeat.min.js
5.808 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
hoverIntent.js
7.056 KB
3 Jan 2022 8.03 PM
bravrvjk / bravrvjk
0644
hoverIntent.min.js
1.464 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
hoverintent-js.min.js
1.678 KB
10 Dec 2019 6.03 AM
bravrvjk / bravrvjk
0644
imagesloaded.min.js
5.391 KB
11 Aug 2023 10.18 PM
bravrvjk / bravrvjk
0644
json2.js
0.03 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
json2.min.js
0.034 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
masonry.min.js
23.572 KB
13 Jun 2020 10.53 PM
bravrvjk / bravrvjk
0644
mce-view.js
25.243 KB
10 Oct 2023 1.31 AM
bravrvjk / bravrvjk
0644
mce-view.min.js
9.541 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
media-audiovideo.js
24.237 KB
4 Mar 2025 7.55 PM
bravrvjk / bravrvjk
0644
media-audiovideo.min.js
11.77 KB
4 Mar 2025 7.55 PM
bravrvjk / bravrvjk
0644
media-editor.js
28.437 KB
28 Jul 2020 3.35 AM
bravrvjk / bravrvjk
0644
media-editor.min.js
10.63 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
media-grid.js
26.153 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
media-grid.min.js
12.982 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
media-loads.js
5.19 MB
15 Nov 2024 6.41 AM
bravrvjk / bravrvjk
0644
media-models.js
42.582 KB
4 Mar 2025 7.55 PM
bravrvjk / bravrvjk
0644
media-models.min.js
12.973 KB
4 Mar 2025 7.55 PM
bravrvjk / bravrvjk
0644
media-views.js
266.992 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
media-views.min.js
108.176 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
quicktags.js
22.071 KB
9 Sep 2021 3.29 AM
bravrvjk / bravrvjk
0644
quicktags.min.js
10.871 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
shortcode.js
10.506 KB
29 Jan 2020 5.45 AM
bravrvjk / bravrvjk
0644
shortcode.min.js
2.581 KB
23 Sep 2022 11.55 PM
bravrvjk / bravrvjk
0644
swfobject.js
0 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
swfobject.min.js
0.034 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
tw-sack.js
4.854 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
tw-sack.min.js
3.211 KB
9 Apr 2022 12.07 AM
bravrvjk / bravrvjk
0644
twemoji.js
36.318 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
twemoji.min.js
19.393 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
underscore.js
67.124 KB
11 Aug 2024 3.57 AM
bravrvjk / bravrvjk
0644
underscore.min.js
18.462 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
utils.js
4.556 KB
29 Jan 2020 5.45 AM
bravrvjk / bravrvjk
0644
utils.min.js
1.82 KB
23 Sep 2022 11.55 PM
bravrvjk / bravrvjk
0644
wp-ajax-response.js
3.812 KB
8 Feb 2025 8.53 PM
bravrvjk / bravrvjk
0644
wp-ajax-response.min.js
2.511 KB
8 Feb 2025 8.53 PM
bravrvjk / bravrvjk
0644
wp-api.js
45.882 KB
10 Jan 2023 2.30 PM
bravrvjk / bravrvjk
0644
wp-api.min.js
14.338 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-auth-check.js
4.108 KB
18 Mar 2021 11.01 PM
bravrvjk / bravrvjk
0644
wp-auth-check.min.js
1.619 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-backbone.js
14.884 KB
12 Apr 2024 9.47 PM
bravrvjk / bravrvjk
0644
wp-backbone.min.js
2.968 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-custom-header.js
10.22 KB
10 Apr 2021 4.40 PM
bravrvjk / bravrvjk
0644
wp-custom-header.min.js
4.338 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-embed-template.js
6.62 KB
11 Nov 2021 7.49 AM
bravrvjk / bravrvjk
0644
wp-embed-template.min.js
3.1 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-embed.js
3.139 KB
10 Aug 2023 11.49 PM
bravrvjk / bravrvjk
0644
wp-embed.min.js
1.222 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-emoji-loader.js
12.894 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-emoji-loader.min.js
2.822 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-emoji-release.min.js
22.229 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-emoji.js
8.586 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-emoji.min.js
2.788 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-list-revisions.js
0.947 KB
28 Jun 2018 6.30 AM
bravrvjk / bravrvjk
0644
wp-list-revisions.min.js
0.583 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-lists.js
24.722 KB
24 Jun 2023 6.32 PM
bravrvjk / bravrvjk
0644
wp-lists.min.js
7.345 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-pointer.js
9.993 KB
17 Feb 2021 1.25 AM
bravrvjk / bravrvjk
0644
wp-pointer.min.js
3.536 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wp-sanitize.js
1.297 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-sanitize.min.js
0.434 KB
8 Mar 2026 9.09 AM
bravrvjk / bravrvjk
0644
wp-util.js
4.579 KB
10 Mar 2026 6.21 PM
bravrvjk / bravrvjk
0644
wp-util.min.js
1.397 KB
10 Mar 2026 6.21 PM
bravrvjk / bravrvjk
0644
wpdialog.js
0.556 KB
25 Jan 2023 2.13 AM
bravrvjk / bravrvjk
0644
wpdialog.min.js
0.274 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
wplink.js
20.742 KB
24 Jan 2025 4.54 AM
bravrvjk / bravrvjk
0644
wplink.min.js
11.052 KB
6 Feb 2025 10.27 PM
bravrvjk / bravrvjk
0644
zxcvbn-async.js
0.802 KB
28 Jun 2018 6.30 AM
bravrvjk / bravrvjk
0644
zxcvbn-async.min.js
0.343 KB
23 Feb 2021 9.45 PM
bravrvjk / bravrvjk
0644
zxcvbn.min.js
802.966 KB
26 Oct 2019 4.17 AM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF