HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/remoteac/public_html/wp-content/plugins/wp-optimize/js/modal.js
/*
How to use the modal

wp_optimize.modal.open({
	className: 'a-class', // A class name, added to the main modal container
	events: {}, // An object containing the events added to the modal. See Backbonejs View events syntax.
	content: function() {
		return ''; // the Content method returns html or jQuery objects which will be added to the content area of the modal
	},
	... // Other methods used by the custom events
})
*/

var wp_optimize = window.wp_optimize || {};

(function($, wp) {
	'use strict';
	var modal = {};
	modal.views = {};

	/**
	 * Main modal View
	 */
	modal.views.modal = Backbone.View.extend({
		tagName: 'div',
		template: wp.template('wpo-modal'),
		/**
		 * Extend default values
		 */
		preinitialize: function() {
			this.events = _.extend(this.events || {}, {
				'click .wpo-modal--close': 'close'
			});
			this.className = this.className ? 'wpo-modal--container ' + this.className : 'wpo-modal--container ';
		},
		render: function() {
			this.$el.append(this.template());
			this.trigger('rendered');
		},
		initialize: function() {
			this.trigger('initialize');
			this.render();
			this.$content = this.$el.find('.wpo-modal--content');
			// Append the content area with the content provided by the child object
			if ('function' === typeof this.content) {
				this.$content.append(this.content());
			}
		},
		close: function() {
			$('body').removeClass('wpo-modal-is-opened');
			this.remove();
		}
	});

	/**
	 * Public method to create and open the modal
	 */
	modal.open = function(options) {
		var view_options = _.extend(options || {}, {});
		var modalView = modal.views.modal.extend(view_options);
		var m = new modalView();
		m.$el.appendTo('body');
		m.$('.wpo-modal').focus();
		$('body').addClass('wpo-modal-is-opened');
		return m;
	}

	wp_optimize.modal = modal;
})(jQuery, window.wp);