$50 GRAYBYTE WORDPRESS FILE MANAGER $90

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/dantho.rw/wp-content/plugins/wpforms-lite/assets/js/admin/builder/

HOME
Current File : /home/bravrvjk/dantho.rw/wp-content/plugins/wpforms-lite/assets/js/admin/builder//panel-loader.js
/* global wpforms_builder, wpf */

/**
 * Form Builder Panel Loader module.
 *
 * @since 1.8.6
 */

var WPForms = window.WPForms || {}; // eslint-disable-line no-var

WPForms.Admin = WPForms.Admin || {};
WPForms.Admin.Builder = WPForms.Admin.Builder || {};

WPForms.Admin.Builder.PanelLoader = WPForms.Admin.Builder.PanelLoader || ( function( document, window, $ ) {
	/**
	 * Elements holder.
	 *
	 * @since 1.8.6
	 *
	 * @type {Object}
	 */
	const el = {};

	/**
	 * Runtime variables.
	 *
	 * @since 1.8.6
	 *
	 * @type {Object}
	 */
	const vars = [];

	/**
	 * Public functions and properties.
	 *
	 * @since 1.8.6
	 *
	 * @type {Object}
	 */
	const app = {

		/**
		 * Start the engine.
		 *
		 * @since 1.8.6
		 */
		init() {
			$( app.ready );
		},

		/**
		 * DOM is fully loaded.
		 *
		 * @since 1.8.6
		 */
		ready() {
			app.setup();
			app.events();

			el.$builder.trigger( 'wpformsBuilderLoaderReady' );
		},

		/**
		 * Setup. Prepare some variables.
		 *
		 * @since 1.8.6
		 */
		setup() {
			// Cache DOM elements.
			el.$builder = $( '#wpforms-builder' );
			el.$form = $( '#wpforms-builder-form' );
			el.$panels = el.$builder.find( '.wpforms-panels' );

			// Init vars.
			vars.currentPanel = wpf.getQueryString( 'view' );
		},

		/**
		 * Bind events.
		 *
		 * @since 1.8.6
		 */
		events() {
			// Panel switching.
			el.$builder.on( 'wpformsPanelSwitch', function( e, panel ) {
				// Skip if the panel is still loading.
				if ( el.$builder.find( `.wpforms-panel-${ panel }-button .wpforms-loading-spinner` ).length ) {
					e.preventDefault();

					return;
				}

				// Open the panel if it is already loaded.
				if ( el.$panels.find( '#wpforms-panel-' + panel ).length ) {
					return;
				}

				// Load panel.
				e.preventDefault();
				app.loadPanel( panel );
			} );
		},

		/**
		 * Load panel.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} panel Panel name.
		 */
		loadPanel( panel ) {
			app.showSpinner( panel );

			// Load panel.
			$.post( wpforms_builder.ajax_url, {
				nonce: wpforms_builder.nonce,
				action: 'wpforms_builder_load_panel',
				panel,
				form_id: wpf.getQueryString( 'form_id' ), // eslint-disable-line camelcase
			} )
				.done( function( response ) {
					if ( ! response.success || ! response.data?.length ) {
						// Show an error message.
						app.displayErrorModal( `<p>${ wpforms_builder.error_load_templates }</p><p>${ wpforms_builder.error_contact_support }</p>` );

						return;
					}

					// Append panel to the DOM.
					app.embedPanel( panel, response.data );

					// Finalize switching to the panel.
					app.switchPanel( panel );

					// Trigger panel loaded event.
					el.$builder.trigger( 'wpformsBuilderPanelLoaded', [ panel ] );
				} )
				.fail( function() {
					// Show an error message.
					app.displayErrorModal( `<p>${ wpforms_builder.something_went_wrong }.</p><p>${ wpforms_builder.error_contact_support }</p>` );
				} )
				.always( function() {
					// Hide loading spinner.
					app.hideSpinner( panel );
				} );
		},

		/**
		 * Show spinner.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} panel Panel name.
		 */
		showSpinner( panel ) {
			const $button = $( `.wpforms-panel-${ panel }-button` );

			$button.find( `i.fa` ).addClass( 'wpforms-hidden' );
			$button.prepend( '<i class="wpforms-loading-spinner wpforms-loading-white"></i>' );
		},

		/**
		 * Hide spinner.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} panel Panel name.
		 */
		hideSpinner( panel ) {
			const $button = $( `.wpforms-panel-${ panel }-button` );

			$button.find( `i.fa` ).removeClass( 'wpforms-hidden' );
			$button.find( `i.wpforms-loading-spinner` ).remove();
		},

		/**
		 * Embed panel to DOM.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} panel     Panel slug.
		 * @param {string} panelHtml Panel HTML.
		 */
		embedPanel( panel, panelHtml ) {
			// Append panel to the DOM.
			el.$panels.append( panelHtml );
		},

		/**
		 * Finalize switching to the panel.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} panel Panel slug.
		 */
		switchPanel( panel ) {
			$( '#wpforms-panels-toggle' ).find( 'button' ).removeClass( 'active' );
			$( '.wpforms-panel' ).removeClass( 'active' );
			$( `.wpforms-panel-${ panel }-button` ).addClass( 'active' );
			$( `#wpforms-panel-${ panel }` ).addClass( 'active' );

			history.replaceState( {}, null, wpf.updateQueryString( 'view', panel ) );

			el.$builder.trigger( 'wpformsPanelSwitched', [ panel ] );
		},

		/**
		 * Display modal window with an error message.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} content Modal content.
		 */
		displayErrorModal( content ) {
			$.alert( {
				title  : wpforms_builder.uh_oh,
				content,
				icon   : 'fa fa-exclamation-circle',
				type   : 'red',
				buttons: {
					cancel: {
						text    : wpforms_builder.close,
						btnClass: 'btn-confirm',
						keys    : [ 'enter' ],
					},
				},
			} );
		},
	};

	// Provide access to public functions/properties.
	return app;
}( document, window, jQuery ) );

// Initialize.
WPForms.Admin.Builder.PanelLoader.init();


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
6 Nov 2025 10.43 AM
bravrvjk / bravrvjk
0755
fields
--
6 Nov 2025 10.43 AM
bravrvjk / bravrvjk
0755
themes
--
6 Nov 2025 10.43 AM
bravrvjk / bravrvjk
0755
admin-builder-providers.js
17.4 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
admin-builder-providers.min.js
8.256 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
admin-builder.js
300.243 KB
25 Sep 2025 3.01 PM
bravrvjk / bravrvjk
0644
admin-builder.min.js
136.797 KB
25 Sep 2025 3.01 PM
bravrvjk / bravrvjk
0644
chocolate-choices.js
2.279 KB
17 Jun 2025 1.49 PM
bravrvjk / bravrvjk
0644
chocolate-choices.min.js
0.459 KB
17 Jun 2025 1.49 PM
bravrvjk / bravrvjk
0644
choices-list.js
3.695 KB
17 Jun 2025 1.49 PM
bravrvjk / bravrvjk
0644
choices-list.min.js
0.697 KB
17 Jun 2025 1.49 PM
bravrvjk / bravrvjk
0644
context-menu.js
18.105 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
context-menu.min.js
7.991 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
drag-fields.js
24.146 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
drag-fields.min.js
9.427 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
dropdown-list.js
9.758 KB
24 Apr 2025 2.53 PM
bravrvjk / bravrvjk
0644
dropdown-list.min.js
3.772 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
email-template.js
5.023 KB
7 Nov 2024 5.15 PM
bravrvjk / bravrvjk
0644
email-template.min.js
1.414 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
field-map.js
6.438 KB
31 Jul 2025 2.13 PM
bravrvjk / bravrvjk
0644
field-map.min.js
2.316 KB
31 Jul 2025 2.13 PM
bravrvjk / bravrvjk
0644
form-templates.js
19.356 KB
7 Nov 2024 5.15 PM
bravrvjk / bravrvjk
0644
form-templates.min.js
8.106 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
help.js
11.301 KB
16 Jan 2025 5.57 PM
bravrvjk / bravrvjk
0644
help.min.js
4.898 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
image-upload.js
4.437 KB
11 Aug 2025 1.38 PM
bravrvjk / bravrvjk
0644
image-upload.min.js
1.973 KB
11 Aug 2025 1.38 PM
bravrvjk / bravrvjk
0644
panel-loader.js
4.952 KB
29 Feb 2024 5.17 PM
bravrvjk / bravrvjk
0644
panel-loader.min.js
2.199 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
payments-utils.js
3.411 KB
24 Apr 2025 2.53 PM
bravrvjk / bravrvjk
0644
payments-utils.min.js
1.917 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
providers.js
34.674 KB
31 Jul 2025 2.13 PM
bravrvjk / bravrvjk
0644
providers.min.js
12.491 KB
31 Jul 2025 2.13 PM
bravrvjk / bravrvjk
0644
search-fields.js
4.562 KB
29 Feb 2024 5.17 PM
bravrvjk / bravrvjk
0644
search-fields.min.js
2.449 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
settings.js
11.145 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
settings.min.js
4.707 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
setup.js
19.813 KB
7 Nov 2024 5.15 PM
bravrvjk / bravrvjk
0644
setup.min.js
9.322 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
smart-tags.js
44.823 KB
25 Sep 2025 3.01 PM
bravrvjk / bravrvjk
0644
smart-tags.min.js
14.917 KB
25 Sep 2025 3.01 PM
bravrvjk / bravrvjk
0644
templates.js
3.975 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
templates.min.js
1.054 KB
5 Jun 2025 4.54 PM
bravrvjk / bravrvjk
0644
wpforms-choicesjs.js
8.002 KB
14 Oct 2025 3.49 PM
bravrvjk / bravrvjk
0644
wpforms-choicesjs.min.js
2.569 KB
14 Oct 2025 3.49 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF