HEX
Server: Apache
System: Linux nc-ph-0707-26.instaforreviews.com 3.10.0-1160.119.1.el7.tuxcare.els13.x86_64 #1 SMP Fri Nov 22 06:29:45 UTC 2024 x86_64
User: qirgxuo4hkuv (1004)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: /home/qirgxuo4hkuv/public_html/shovago.com/wp-content/themes/ShovaGo copy/inc/meta-box/js/select.js
jQuery( function ( $ ) {
	'use strict';

	/**
	 * Object stores all necessary methods for select All/None actions
	 * Assign to global variable so we can access to this object from select advanced field
	 */
	var select = window.rwmbSelect = {
		/**
		 * Select all/none for select tag
		 *
		 * @param $input jQuery selector for input wrapper
		 *
		 * @return void
		 */
		selectAllNone: function ( $input ) {
			var $element = $input.find( 'select' );

			$input.on( 'click', '.rwmb-select-all-none a', function ( e ) {
				e.preventDefault();
				if ( 'all' == $( this ).data( 'type' ) ) {
					var selected = [];
					$element.find( 'option' ).each( function ( i, e ) {
						var $value = $( e ).attr( 'value' );

						if ( $value != '' ) {
							selected.push( $value );
						}
					} );
					$element.val( selected ).trigger( 'change' );
				}
				else {
					$element.val( '' );
				}
			} );
		},

		/**
		 * Add event listener for select all/none links when click
		 *
		 * @param $el jQuery element
		 *
		 * @return void
		 */
		bindEvents: function ( $el ) {
			var $input = $el.closest( '.rwmb-input' ),
				$clone = $input.find( '.rwmb-clone' );

			if ( $clone.length ) {
				$clone.each( function () {
					select.selectAllNone( $( this ) );
				} );
			}
			else {
				select.selectAllNone( $input );
			}
		}
	};

	/**
	 * Update select field when clicking clone button
	 *
	 * @return void
	 */
	function update() {
		select.bindEvents( $( this ) );
	}

	// Run for select field
	$( ':input.rwmb-select' ).each( update );
	$( '.rwmb-input' ).on( 'clone', ':input.rwmb-select', update );
} );