PluginProbe
Elementor Website Builder – more than just a page builder / 3.8.0
Elementor Website Builder – more than just a page builder v3.8.0
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / assets / js / admin.js

admin.js in Elementor Website Builder – more than just a page builder 3.8.0, at assets/js/admin.js

2,013 lines 82.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.8.0 - 30-10-2022 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../assets/dev/js/admin/maintenance-mode.js":
6 /*!**************************************************!*\
7 !*** ../assets/dev/js/admin/maintenance-mode.js ***!
8 \**************************************************/
9 /***/ ((module) => {
10
11 "use strict";
12
13
14 module.exports = elementorModules.ViewModule.extend({
15 getDefaultSettings: function getDefaultSettings() {
16 return {
17 selectors: {
18 modeSelect: '.elementor_maintenance_mode_mode select',
19 maintenanceModeTable: '#tab-maintenance_mode table',
20 maintenanceModeDescriptions: '.elementor-maintenance-mode-description',
21 excludeModeSelect: '.elementor_maintenance_mode_exclude_mode select',
22 excludeRolesArea: '.elementor_maintenance_mode_exclude_roles',
23 templateSelect: '.elementor_maintenance_mode_template_id select',
24 editTemplateButton: '.elementor-edit-template',
25 maintenanceModeError: '.elementor-maintenance-mode-error'
26 },
27 classes: {
28 isEnabled: 'elementor-maintenance-mode-is-enabled'
29 }
30 };
31 },
32 getDefaultElements: function getDefaultElements() {
33 var elements = {},
34 selectors = this.getSettings('selectors');
35 elements.$modeSelect = jQuery(selectors.modeSelect);
36 elements.$maintenanceModeTable = elements.$modeSelect.parents(selectors.maintenanceModeTable);
37 elements.$excludeModeSelect = elements.$maintenanceModeTable.find(selectors.excludeModeSelect);
38 elements.$excludeRolesArea = elements.$maintenanceModeTable.find(selectors.excludeRolesArea);
39 elements.$templateSelect = elements.$maintenanceModeTable.find(selectors.templateSelect);
40 elements.$editTemplateButton = elements.$maintenanceModeTable.find(selectors.editTemplateButton);
41 elements.$maintenanceModeDescriptions = elements.$maintenanceModeTable.find(selectors.maintenanceModeDescriptions);
42 elements.$maintenanceModeError = elements.$maintenanceModeTable.find(selectors.maintenanceModeError);
43 return elements;
44 },
45 handleModeSelectChange: function handleModeSelectChange() {
46 var settings = this.getSettings(),
47 elements = this.elements;
48 elements.$maintenanceModeTable.toggleClass(settings.classes.isEnabled, !!elements.$modeSelect.val());
49 elements.$maintenanceModeDescriptions.hide();
50 elements.$maintenanceModeDescriptions.filter('[data-value="' + elements.$modeSelect.val() + '"]').show();
51 },
52 handleExcludeModeSelectChange: function handleExcludeModeSelectChange() {
53 var elements = this.elements;
54 elements.$excludeRolesArea.toggle('custom' === elements.$excludeModeSelect.val());
55 },
56 handleTemplateSelectChange: function handleTemplateSelectChange() {
57 var elements = this.elements;
58 var templateID = elements.$templateSelect.val();
59
60 if (!templateID) {
61 elements.$editTemplateButton.hide();
62 elements.$maintenanceModeError.show();
63 return;
64 }
65
66 var editUrl = elementorAdmin.config.home_url + '?p=' + templateID + '&elementor';
67 elements.$editTemplateButton.prop('href', editUrl).show();
68 elements.$maintenanceModeError.hide();
69 },
70 bindEvents: function bindEvents() {
71 var elements = this.elements;
72 elements.$modeSelect.on('change', this.handleModeSelectChange.bind(this));
73 elements.$excludeModeSelect.on('change', this.handleExcludeModeSelectChange.bind(this));
74 elements.$templateSelect.on('change', this.handleTemplateSelectChange.bind(this));
75 },
76 onAdminInit: function onAdminInit() {
77 this.handleModeSelectChange();
78 this.handleExcludeModeSelectChange();
79 this.handleTemplateSelectChange();
80 },
81 onInit: function onInit() {
82 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
83 elementorCommon.elements.$window.on('elementor/admin/init', this.onAdminInit);
84 }
85 });
86
87 /***/ }),
88
89 /***/ "../assets/dev/js/admin/menu-handler.js":
90 /*!**********************************************!*\
91 !*** ../assets/dev/js/admin/menu-handler.js ***!
92 \**********************************************/
93 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
94
95 "use strict";
96
97
98 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
99
100 Object.defineProperty(exports, "__esModule", ({
101 value: true
102 }));
103 exports["default"] = void 0;
104
105 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
106
107 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
108
109 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
110
111 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
112
113 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
114
115 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
116
117 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
118
119 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
120
121 var MenuHandler = /*#__PURE__*/function (_elementorModules$Vie) {
122 (0, _inherits2.default)(MenuHandler, _elementorModules$Vie);
123
124 var _super = _createSuper(MenuHandler);
125
126 function MenuHandler() {
127 (0, _classCallCheck2.default)(this, MenuHandler);
128 return _super.apply(this, arguments);
129 }
130
131 (0, _createClass2.default)(MenuHandler, [{
132 key: "getDefaultSettings",
133 value: function getDefaultSettings() {
134 return {
135 selectors: {
136 currentSubmenuItems: '#adminmenu .current'
137 }
138 };
139 }
140 }, {
141 key: "getDefaultElements",
142 value: function getDefaultElements() {
143 var settings = this.getSettings();
144 return {
145 $currentSubmenuItems: jQuery(settings.selectors.currentSubmenuItems),
146 $adminPageMenuLink: jQuery("a[href=\"".concat(settings.path, "\"]"))
147 };
148 } // This method highlights the currently visited submenu item for the slug provided as an argument to this handler.
149 // This method also accepts a jQuery instance of a custom submenu item to highlight. If provided, the provided
150 // item will be the one highlighted.
151
152 }, {
153 key: "highlightSubMenuItem",
154 value: function highlightSubMenuItem() {
155 var $element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
156 var $submenuItem = $element || this.elements.$adminPageMenuLink;
157
158 if (this.elements.$currentSubmenuItems.length) {
159 this.elements.$currentSubmenuItems.removeClass('current');
160 }
161
162 $submenuItem.addClass('current'); // Need to add the 'current' class to the link element's parent `<li>` element as well.
163
164 $submenuItem.parent().addClass('current');
165 }
166 }, {
167 key: "highlightTopLevelMenuItem",
168 value: function highlightTopLevelMenuItem($elementToHighlight) {
169 var $elementToRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
170 var activeClasses = 'wp-has-current-submenu wp-menu-open current';
171 $elementToHighlight.parent().addClass(activeClasses).removeClass('wp-not-current-submenu');
172
173 if ($elementToRemove) {
174 $elementToRemove.removeClass(activeClasses);
175 }
176 }
177 }, {
178 key: "onInit",
179 value: function onInit() {
180 (0, _get2.default)((0, _getPrototypeOf2.default)(MenuHandler.prototype), "onInit", this).call(this);
181 var settings = this.getSettings();
182
183 if (window.location.href.includes(settings.path)) {
184 this.highlightSubMenuItem();
185 }
186 }
187 }]);
188 return MenuHandler;
189 }(elementorModules.ViewModule);
190
191 exports["default"] = MenuHandler;
192
193 /***/ }),
194
195 /***/ "../assets/dev/js/admin/new-template/template-controls.js":
196 /*!****************************************************************!*\
197 !*** ../assets/dev/js/admin/new-template/template-controls.js ***!
198 \****************************************************************/
199 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
200
201 "use strict";
202
203
204 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
205
206 Object.defineProperty(exports, "__esModule", ({
207 value: true
208 }));
209 exports["default"] = void 0;
210
211 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
212
213 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
214
215 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
216
217 var TemplateControls = /*#__PURE__*/function () {
218 function TemplateControls() {
219 (0, _classCallCheck2.default)(this, TemplateControls);
220 }
221
222 (0, _createClass2.default)(TemplateControls, [{
223 key: "setDynamicControlsVisibility",
224 value: function setDynamicControlsVisibility(lookupControlIdPrefix, controls) {
225 if (undefined === controls) {
226 return;
227 }
228
229 var controlsArray = Object.entries(controls);
230
231 for (var _i = 0, _controlsArray = controlsArray; _i < _controlsArray.length; _i++) {
232 var _controlsArray$_i = (0, _slicedToArray2.default)(_controlsArray[_i], 2),
233 controlId = _controlsArray$_i[0],
234 controlSettings = _controlsArray$_i[1];
235
236 this.setVisibilityForControl(lookupControlIdPrefix, controlSettings, controlId);
237 }
238 }
239 }, {
240 key: "setVisibilityForControl",
241 value: function setVisibilityForControl(lookupControlIdPrefix, controlSettings, controlId) {
242 var _controlSettings$cond,
243 _this = this;
244
245 var conditions = Object.entries((_controlSettings$cond = controlSettings.conditions) !== null && _controlSettings$cond !== void 0 ? _controlSettings$cond : {});
246 conditions.forEach(function (condition) {
247 _this.changeVisibilityBasedOnCondition(lookupControlIdPrefix, condition, controlId);
248 });
249 }
250 }, {
251 key: "changeVisibilityBasedOnCondition",
252 value: function changeVisibilityBasedOnCondition(lookupControlIdPrefix, condition, controlId) {
253 var _condition = (0, _slicedToArray2.default)(condition, 2),
254 conditionKey = _condition[0],
255 conditionValue = _condition[1];
256
257 var targetControlWrapper = document.getElementById(lookupControlIdPrefix + controlId + '__wrapper');
258 var lookupControl = document.getElementById(lookupControlIdPrefix + conditionKey);
259 targetControlWrapper.classList.toggle('elementor-hidden', !lookupControl || conditionValue !== lookupControl.value);
260 }
261 }]);
262 return TemplateControls;
263 }();
264
265 exports["default"] = TemplateControls;
266
267 /***/ }),
268
269 /***/ "../assets/dev/js/editor/utils/files-upload-handler.js":
270 /*!*************************************************************!*\
271 !*** ../assets/dev/js/editor/utils/files-upload-handler.js ***!
272 \*************************************************************/
273 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
274
275 "use strict";
276 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
277
278
279 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
280
281 Object.defineProperty(exports, "__esModule", ({
282 value: true
283 }));
284 exports["default"] = void 0;
285
286 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
287
288 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
289
290 var FilesUploadHandler = /*#__PURE__*/function () {
291 function FilesUploadHandler() {
292 (0, _classCallCheck2.default)(this, FilesUploadHandler);
293 }
294
295 (0, _createClass2.default)(FilesUploadHandler, null, [{
296 key: "isUploadEnabled",
297 value: function isUploadEnabled(mediaType) {
298 var unfilteredFilesTypes = ['svg', 'application/json'];
299
300 if (!unfilteredFilesTypes.includes(mediaType)) {
301 return true;
302 }
303
304 return elementorCommon.config.filesUpload.unfilteredFiles;
305 }
306 }, {
307 key: "setUploadTypeCaller",
308 value: function setUploadTypeCaller(frame) {
309 frame.uploader.uploader.param('uploadTypeCaller', 'elementor-wp-media-upload');
310 }
311 }, {
312 key: "getUnfilteredFilesNotEnabledDialog",
313 value: function getUnfilteredFilesNotEnabledDialog(callback) {
314 var onConfirm = function onConfirm() {
315 elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {}, true);
316 elementorCommon.config.filesUpload.unfilteredFiles = true;
317 callback();
318 };
319
320 return elementor.helpers.getSimpleDialog('e-enable-unfiltered-files-dialog', __('Enable Unfiltered File Uploads', 'elementor'), __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor'), __('Enable', 'elementor'), onConfirm);
321 }
322 }, {
323 key: "getUnfilteredFilesNotEnabledImportTemplateDialog",
324 value: function getUnfilteredFilesNotEnabledImportTemplateDialog(callback) {
325 return elementorCommon.dialogsManager.createWidget('confirm', {
326 id: 'e-enable-unfiltered-files-dialog-import-template',
327 headerMessage: __('Enable Unfiltered File Uploads', 'elementor'),
328 message: __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor') + '<br /><br />' + __('If you do not enable uploading unfiltered files, any SVG or JSON (including lottie) files used in the uploaded template will not be imported.', 'elementor'),
329 position: {
330 my: 'center center',
331 at: 'center center'
332 },
333 strings: {
334 confirm: __('Enable and Import', 'elementor'),
335 cancel: __('Import Without Enabling', 'elementor')
336 },
337 onConfirm: function onConfirm() {
338 elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {
339 success: function success() {
340 // This utility is used in both the admin and the Editor.
341 elementorCommon.config.filesUpload.unfilteredFiles = true;
342 callback();
343 }
344 }, true);
345 },
346 onCancel: function onCancel() {
347 return callback();
348 }
349 });
350 }
351 }]);
352 return FilesUploadHandler;
353 }();
354
355 exports["default"] = FilesUploadHandler;
356
357 /***/ }),
358
359 /***/ "../assets/dev/js/utils/events.js":
360 /*!****************************************!*\
361 !*** ../assets/dev/js/utils/events.js ***!
362 \****************************************/
363 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
364
365 "use strict";
366
367
368 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
369
370 Object.defineProperty(exports, "__esModule", ({
371 value: true
372 }));
373 exports["default"] = exports.Events = void 0;
374
375 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
376
377 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
378
379 var Events = /*#__PURE__*/function () {
380 function Events() {
381 (0, _classCallCheck2.default)(this, Events);
382 }
383
384 (0, _createClass2.default)(Events, null, [{
385 key: "dispatch",
386 value:
387 /**
388 * Dispatch an Elementor event.
389 *
390 * Will dispatch both native event & jQuery event (as BC).
391 * By default, `bcEvent` is `null`.
392 *
393 * @param {Object} context - The context that will dispatch the event.
394 * @param {string} event - Event to dispatch.
395 * @param {*} data - Data to pass to the event, default to `null`.
396 * @param {string|null} bcEvent - BC event to dispatch, default to `null`.
397 *
398 * @return {void}
399 */
400 function dispatch(context, event) {
401 var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
402 var bcEvent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
403 // Make sure to use the native context if it's a jQuery instance.
404 context = context instanceof jQuery ? context[0] : context; // Dispatch the BC event only if exists.
405
406 if (bcEvent) {
407 context.dispatchEvent(new CustomEvent(bcEvent, {
408 detail: data
409 }));
410 } // jQuery's `.on()` listens also to native custom events, so there is no need
411 // to dispatch also a jQuery event.
412
413
414 context.dispatchEvent(new CustomEvent(event, {
415 detail: data
416 }));
417 }
418 }]);
419 return Events;
420 }();
421
422 exports.Events = Events;
423 var _default = Events;
424 exports["default"] = _default;
425
426 /***/ }),
427
428 /***/ "../core/common/assets/js/utils/environment.js":
429 /*!*****************************************************!*\
430 !*** ../core/common/assets/js/utils/environment.js ***!
431 \*****************************************************/
432 /***/ ((__unused_webpack_module, exports) => {
433
434 "use strict";
435
436
437 Object.defineProperty(exports, "__esModule", ({
438 value: true
439 }));
440 exports["default"] = void 0;
441
442 var matchUserAgent = function matchUserAgent(UserAgentStr) {
443 return userAgent.indexOf(UserAgentStr) >= 0;
444 },
445 userAgent = navigator.userAgent,
446 // Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
447 // Opera 8.0+
448 isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'),
449 // Firefox 1.0+
450 isFirefox = matchUserAgent('Firefox'),
451 // Safari 3.0+ "[object HTMLElementConstructor]"
452 isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || function (p) {
453 return '[object SafariRemoteNotification]' === p.toString();
454 }(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
455 // Internet Explorer 6-11
456 isIE = /Trident|MSIE/.test(userAgent) && (
457 /* @cc_on!@*/
458 false || !!document.documentMode),
459 // Edge 20+
460 isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
461 // Google Chrome (Not accurate)
462 isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
463 // Blink engine
464 isBlink = matchUserAgent('Chrome') && !!window.CSS,
465 // Apple Webkit engine
466 isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink,
467 environment = {
468 appleWebkit: isAppleWebkit,
469 blink: isBlink,
470 chrome: isChrome,
471 edge: isEdge,
472 firefox: isFirefox,
473 ie: isIE,
474 mac: matchUserAgent('Macintosh'),
475 opera: isOpera,
476 safari: isSafari,
477 webkit: matchUserAgent('AppleWebKit')
478 };
479
480 var _default = environment;
481 exports["default"] = _default;
482
483 /***/ }),
484
485 /***/ "../core/experiments/assets/js/admin/behaviors/experiments-dependency.js":
486 /*!*******************************************************************************!*\
487 !*** ../core/experiments/assets/js/admin/behaviors/experiments-dependency.js ***!
488 \*******************************************************************************/
489 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
490
491 "use strict";
492 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
493
494
495 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
496
497 Object.defineProperty(exports, "__esModule", ({
498 value: true
499 }));
500 exports["default"] = void 0;
501
502 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
503
504 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
505
506 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
507
508 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
509
510 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
511
512 var STATE_ACTIVE = 'active';
513 var STATE_INACTIVE = 'inactive';
514 var STATE_DEFAULT = 'default';
515
516 var ExperimentsDependency = /*#__PURE__*/function () {
517 function ExperimentsDependency(_ref) {
518 var selects = _ref.selects,
519 submit = _ref.submit;
520 (0, _classCallCheck2.default)(this, ExperimentsDependency);
521 (0, _defineProperty2.default)(this, "elements", {});
522 this.elements = {
523 /**
524 * @type {HTMLSelectElement[]}
525 */
526 selects: selects,
527
528 /**
529 * @type {HTMLInputElement}
530 */
531 submit: submit
532 };
533 }
534
535 (0, _createClass2.default)(ExperimentsDependency, [{
536 key: "bindEvents",
537 value: function bindEvents() {
538 var _this = this;
539
540 this.elements.selects.forEach(function (select) {
541 select.addEventListener('change', function (e) {
542 return _this.onExperimentStateChange(e);
543 });
544 });
545 }
546 }, {
547 key: "onExperimentStateChange",
548 value: function onExperimentStateChange(e) {
549 var experimentId = e.currentTarget.dataset.experimentId,
550 experimentNewState = this.getExperimentActualState(experimentId);
551
552 switch (experimentNewState) {
553 case STATE_ACTIVE:
554 if (this.shouldShowDependenciesDialog(experimentId)) {
555 this.showDependenciesDialog(experimentId);
556 }
557
558 break;
559
560 case STATE_INACTIVE:
561 this.deactivateDependantExperiments(experimentId);
562 break;
563
564 default:
565 break;
566 }
567 }
568 }, {
569 key: "getExperimentData",
570 value: function getExperimentData(experimentId) {
571 return elementorAdminConfig.experiments[experimentId];
572 }
573 }, {
574 key: "getExperimentDependencies",
575 value: function getExperimentDependencies(experimentId) {
576 var _this2 = this;
577
578 return this.getExperimentData(experimentId).dependencies.map(function (dependencyId) {
579 return _this2.getExperimentData(dependencyId);
580 });
581 }
582 }, {
583 key: "getExperimentSelect",
584 value: function getExperimentSelect(experimentId) {
585 return this.elements.selects.find(function (select) {
586 return select.matches("[data-experiment-id=\"".concat(experimentId, "\"]"));
587 });
588 }
589 }, {
590 key: "setExperimentState",
591 value: function setExperimentState(experimentId, state) {
592 this.getExperimentSelect(experimentId).value = state;
593 }
594 }, {
595 key: "getExperimentActualState",
596 value: function getExperimentActualState(experimentId) {
597 var state = this.getExperimentSelect(experimentId).value;
598
599 if (state !== STATE_DEFAULT) {
600 return state;
601 } // Normalize the "default" state to the actual state value.
602
603
604 return this.isExperimentActiveByDefault(experimentId) ? STATE_ACTIVE : STATE_INACTIVE;
605 }
606 }, {
607 key: "isExperimentActive",
608 value: function isExperimentActive(experimentId) {
609 return this.getExperimentActualState(experimentId) === STATE_ACTIVE;
610 }
611 }, {
612 key: "isExperimentActiveByDefault",
613 value: function isExperimentActiveByDefault(experimentId) {
614 return this.getExperimentData(experimentId).default === STATE_ACTIVE;
615 }
616 }, {
617 key: "areAllDependenciesActive",
618 value: function areAllDependenciesActive(dependencies) {
619 var _this3 = this;
620
621 return dependencies.every(function (dependency) {
622 return _this3.isExperimentActive(dependency.name);
623 });
624 }
625 }, {
626 key: "deactivateDependantExperiments",
627 value: function deactivateDependantExperiments(experimentId) {
628 var _this4 = this;
629
630 Object.entries(elementorAdminConfig.experiments).forEach(function (_ref2) {
631 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
632 id = _ref3[0],
633 experimentData = _ref3[1];
634
635 var isDependant = experimentData.dependencies.includes(experimentId);
636
637 if (isDependant) {
638 _this4.setExperimentState(id, STATE_INACTIVE);
639 }
640 });
641 }
642 }, {
643 key: "shouldShowDependenciesDialog",
644 value: function shouldShowDependenciesDialog(experimentId) {
645 var dependencies = this.getExperimentDependencies(experimentId);
646 return !this.areAllDependenciesActive(dependencies);
647 }
648 }, {
649 key: "showDependenciesDialog",
650 value: function showDependenciesDialog(experimentId) {
651 var _this5 = this;
652
653 var experiment = this.getExperimentData(experimentId),
654 dependencies = this.getExperimentDependencies(experimentId);
655 var dependenciesList = this.joinDepenednciesNames(dependencies.map(function (d) {
656 return d.title;
657 }), ', ', ' & '); // Translators: %1$s: Experiment title, %2$s: Experiment dependencies list
658
659 var message = __('In order to use %1$s, first you need to activate %2$s.', 'elementor').replace('%1$s', "<strong>".concat(experiment.title, "</strong>")).replace('%2$s', "<strong>".concat(dependenciesList, "</strong>"));
660
661 elementorCommon.dialogsManager.createWidget('confirm', {
662 id: 'e-experiments-dependency-dialog',
663 headerMessage: __('First, activate another experiment.', 'elementor'),
664 message: message,
665 position: {
666 my: 'center center',
667 at: 'center center'
668 },
669 strings: {
670 confirm: __('Activate', 'elementor'),
671 cancel: __('Cancel', 'elementor')
672 },
673 hide: {
674 onOutsideClick: false,
675 onBackgroundClick: false,
676 onEscKeyPress: false
677 },
678 onConfirm: function onConfirm() {
679 dependencies.forEach(function (dependency) {
680 _this5.setExperimentState(dependency.name, STATE_ACTIVE);
681 });
682
683 _this5.elements.submit.click();
684 },
685 onCancel: function onCancel() {
686 _this5.setExperimentState(experimentId, STATE_INACTIVE);
687 }
688 }).show();
689 }
690 }, {
691 key: "joinDepenednciesNames",
692 value: function joinDepenednciesNames(array, glue) {
693 var finalGlue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
694
695 if ('' === finalGlue) {
696 return array.join(glue);
697 }
698
699 if (!array.length) {
700 return '';
701 }
702
703 if (1 === array.length) {
704 return array[0];
705 }
706
707 var clone = (0, _toConsumableArray2.default)(array),
708 lastItem = clone.pop();
709 return clone.join(glue) + finalGlue + lastItem;
710 }
711 }]);
712 return ExperimentsDependency;
713 }();
714
715 exports["default"] = ExperimentsDependency;
716
717 /***/ }),
718
719 /***/ "../core/experiments/assets/js/admin/module.js":
720 /*!*****************************************************!*\
721 !*** ../core/experiments/assets/js/admin/module.js ***!
722 \*****************************************************/
723 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
724
725 "use strict";
726
727
728 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
729
730 Object.defineProperty(exports, "__esModule", ({
731 value: true
732 }));
733 exports["default"] = void 0;
734
735 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
736
737 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
738
739 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
740
741 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
742
743 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
744
745 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
746
747 var _experimentsDependency = _interopRequireDefault(__webpack_require__(/*! ./behaviors/experiments-dependency */ "../core/experiments/assets/js/admin/behaviors/experiments-dependency.js"));
748
749 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
750
751 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
752
753 var ExperimentsModule = /*#__PURE__*/function (_elementorModules$Vie) {
754 (0, _inherits2.default)(ExperimentsModule, _elementorModules$Vie);
755
756 var _super = _createSuper(ExperimentsModule);
757
758 function ExperimentsModule() {
759 (0, _classCallCheck2.default)(this, ExperimentsModule);
760 return _super.apply(this, arguments);
761 }
762
763 (0, _createClass2.default)(ExperimentsModule, [{
764 key: "getDefaultSettings",
765 value: function getDefaultSettings() {
766 return {
767 selectors: {
768 experimentIndicators: '.e-experiment__title__indicator',
769 experimentForm: '#elementor-settings-form',
770 experimentSelects: '.e-experiment__select',
771 experimentsButtons: '.e-experiment__button'
772 }
773 };
774 }
775 }, {
776 key: "getDefaultElements",
777 value: function getDefaultElements() {
778 var _this$getSettings = this.getSettings(),
779 selectors = _this$getSettings.selectors;
780
781 return {
782 $experimentIndicators: jQuery(selectors.experimentIndicators),
783 $experimentForm: jQuery(selectors.experimentForm),
784 $experimentSelects: jQuery(selectors.experimentSelects),
785 $experimentsButtons: jQuery(selectors.experimentsButtons)
786 };
787 }
788 }, {
789 key: "bindEvents",
790 value: function bindEvents() {
791 var _this = this;
792
793 this.elements.$experimentsButtons.on('click', function (event) {
794 return _this.onExperimentsButtonsClick(event);
795 });
796 }
797 }, {
798 key: "onExperimentsButtonsClick",
799 value: function onExperimentsButtonsClick(event) {
800 var submitButton = jQuery(event.currentTarget);
801 this.elements.$experimentSelects.val(submitButton.val());
802 this.elements.$experimentForm.find('#submit').trigger('click');
803 }
804 }, {
805 key: "addTipsy",
806 value: function addTipsy($element) {
807 $element.tipsy({
808 gravity: 's',
809 offset: 8,
810 title: function title() {
811 return this.getAttribute('data-tooltip');
812 }
813 });
814 }
815 }, {
816 key: "addIndicatorsTooltips",
817 value: function addIndicatorsTooltips() {
818 var _this2 = this;
819
820 this.elements.$experimentIndicators.each(function (index, experimentIndicator) {
821 return _this2.addTipsy(jQuery(experimentIndicator));
822 });
823 }
824 }, {
825 key: "onInit",
826 value: function onInit() {
827 var _this3 = this;
828
829 (0, _get2.default)((0, _getPrototypeOf2.default)(ExperimentsModule.prototype), "onInit", this).call(this);
830 this.experimentsDependency = new _experimentsDependency.default({
831 selects: this.elements.$experimentSelects.toArray(),
832 submit: this.elements.$experimentForm.find('#submit').get(0)
833 });
834 this.experimentsDependency.bindEvents();
835
836 if (this.elements.$experimentIndicators.length) {
837 import(
838 /* webpackIgnore: true */
839 "".concat(elementorCommon.config.urls.assets, "lib/tipsy/tipsy.min.js?ver=1.0.0")).then(function () {
840 return _this3.addIndicatorsTooltips();
841 });
842 }
843 }
844 }]);
845 return ExperimentsModule;
846 }(elementorModules.ViewModule);
847
848 exports["default"] = ExperimentsModule;
849
850 /***/ }),
851
852 /***/ "../modules/landing-pages/assets/js/admin/landing-pages.js":
853 /*!*****************************************************************!*\
854 !*** ../modules/landing-pages/assets/js/admin/landing-pages.js ***!
855 \*****************************************************************/
856 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
857
858 "use strict";
859
860
861 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
862
863 Object.defineProperty(exports, "__esModule", ({
864 value: true
865 }));
866 exports["default"] = void 0;
867
868 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
869
870 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
871
872 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
873
874 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
875
876 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
877
878 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
879
880 var _menuHandler = _interopRequireDefault(__webpack_require__(/*! elementor-admin/menu-handler */ "../assets/dev/js/admin/menu-handler.js"));
881
882 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
883
884 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
885
886 var LandingPagesHandler = /*#__PURE__*/function (_AdminMenuHandler) {
887 (0, _inherits2.default)(LandingPagesHandler, _AdminMenuHandler);
888
889 var _super = _createSuper(LandingPagesHandler);
890
891 function LandingPagesHandler() {
892 (0, _classCallCheck2.default)(this, LandingPagesHandler);
893 return _super.apply(this, arguments);
894 }
895
896 (0, _createClass2.default)(LandingPagesHandler, [{
897 key: "getDefaultSettings",
898 value: function getDefaultSettings() {
899 var pageName = 'e-landing-page',
900 adminMenuSelectors = {
901 // The escaping is done because jQuery requires it for selectors.
902 landingPagesTablePage: 'a[href="edit.php?post_type=' + pageName + '"]',
903 landingPagesAddNewPage: 'a[href="edit.php?post_type=elementor_library&page=' + pageName + '"]'
904 };
905 return {
906 selectors: {
907 addButton: '.page-title-action:first',
908 pagesMenuItemAndLink: '#menu-pages, #menu-pages > a',
909 landingPagesMenuItem: "".concat(adminMenuSelectors.landingPagesTablePage, ", ").concat(adminMenuSelectors.landingPagesAddNewPage),
910 templatesMenuItem: '.menu-icon-elementor_library'
911 }
912 };
913 }
914 }, {
915 key: "getDefaultElements",
916 value: function getDefaultElements() {
917 var selectors = this.getSettings('selectors'),
918 elements = (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "getDefaultElements", this).call(this);
919 elements.$landingPagesMenuItem = jQuery(selectors.landingPagesMenuItem);
920 elements.$templatesMenuItem = jQuery(selectors.templatesMenuItem);
921 elements.$pagesMenuItemAndLink = jQuery(selectors.pagesMenuItemAndLink);
922 return elements;
923 }
924 }, {
925 key: "onInit",
926 value: function onInit() {
927 (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "onInit", this).call(this);
928 var settings = this.getSettings(),
929 isLandingPagesTablePage = !!window.location.href.includes(settings.paths.landingPagesTablePage),
930 isLandingPagesTrashPage = !!window.location.href.includes(settings.paths.landingPagesTrashPage),
931 isLandingPagesCreateYourFirstPage = !!window.location.href.includes(settings.paths.landingPagesAddNewPage); // If the current page is a Landing Pages Page (the Posts Table page, "Create Your First.." page, or a native
932 // WordPress dashboard page edit screen when using WordPress' Classic Editor).
933
934 if (isLandingPagesTablePage || isLandingPagesTrashPage || isLandingPagesCreateYourFirstPage || settings.isLandingPageAdminEdit) {
935 // Make sure the active admin top level menu item is 'Templates', and not 'Pages'.
936 this.highlightTopLevelMenuItem(this.elements.$templatesMenuItem, this.elements.$pagesMenuItemAndLink);
937 this.highlightSubMenuItem(this.elements.$landingPagesMenuItem); // Overwrite the 'Add New' button at the top of the page to open in Elementor with the library module open.
938
939 jQuery(settings.selectors.addButton).attr('href', elementorAdminConfig.urls.addNewLandingPageUrl);
940 }
941 }
942 }]);
943 return LandingPagesHandler;
944 }(_menuHandler.default);
945
946 exports["default"] = LandingPagesHandler;
947
948 /***/ }),
949
950 /***/ "../modules/landing-pages/assets/js/admin/module.js":
951 /*!**********************************************************!*\
952 !*** ../modules/landing-pages/assets/js/admin/module.js ***!
953 \**********************************************************/
954 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
955
956 "use strict";
957
958
959 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
960
961 Object.defineProperty(exports, "__esModule", ({
962 value: true
963 }));
964 exports["default"] = void 0;
965
966 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
967
968 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
969
970 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
971
972 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
973
974 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
975
976 var _landingPages = _interopRequireDefault(__webpack_require__(/*! ./landing-pages */ "../modules/landing-pages/assets/js/admin/landing-pages.js"));
977
978 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
979
980 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
981
982 var _default = /*#__PURE__*/function (_elementorModules$Mod) {
983 (0, _inherits2.default)(_default, _elementorModules$Mod);
984
985 var _super = _createSuper(_default);
986
987 function _default() {
988 var _this;
989
990 (0, _classCallCheck2.default)(this, _default);
991 _this = _super.call(this);
992 elementorCommon.elements.$window.on('elementor/admin/init', function () {
993 _this.runHandler();
994 });
995 return _this;
996 }
997
998 (0, _createClass2.default)(_default, [{
999 key: "runHandler",
1000 value: function runHandler() {
1001 var _elementorAdmin$confi, _elementorAdmin$confi2;
1002
1003 var pageName = 'e-landing-page',
1004 paths = {
1005 landingPagesTablePage: 'edit.php?post_type=' + pageName,
1006 landingPagesAddNewPage: 'edit.php?post_type=elementor_library&page=' + pageName,
1007 landingPagesTrashPage: 'edit.php?post_status=trash&post_type=' + pageName
1008 },
1009 args = {
1010 path: (_elementorAdmin$confi = elementorAdmin.config.landingPages) !== null && _elementorAdmin$confi !== void 0 && _elementorAdmin$confi.landingPagesHasPages ? paths.landingPagesTablePage : paths.landingPagesAddNewPage,
1011 isLandingPageAdminEdit: (_elementorAdmin$confi2 = elementorAdmin.config.landingPages) === null || _elementorAdmin$confi2 === void 0 ? void 0 : _elementorAdmin$confi2.isLandingPageAdminEdit,
1012 paths: paths
1013 }; // This class modifies elements in the WordPress admin that are rendered "wrong" by the WordPress core
1014 // and could not be modified in the backend.
1015
1016 new _landingPages.default(args);
1017 }
1018 }]);
1019 return _default;
1020 }(elementorModules.Module);
1021
1022 exports["default"] = _default;
1023
1024 /***/ }),
1025
1026 /***/ "@wordpress/i18n":
1027 /*!**************************!*\
1028 !*** external "wp.i18n" ***!
1029 \**************************/
1030 /***/ ((module) => {
1031
1032 "use strict";
1033 module.exports = wp.i18n;
1034
1035 /***/ }),
1036
1037 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
1038 /*!******************************************************************!*\
1039 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
1040 \******************************************************************/
1041 /***/ ((module) => {
1042
1043 function _arrayLikeToArray(arr, len) {
1044 if (len == null || len > arr.length) len = arr.length;
1045
1046 for (var i = 0, arr2 = new Array(len); i < len; i++) {
1047 arr2[i] = arr[i];
1048 }
1049
1050 return arr2;
1051 }
1052
1053 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1054
1055 /***/ }),
1056
1057 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
1058 /*!****************************************************************!*\
1059 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
1060 \****************************************************************/
1061 /***/ ((module) => {
1062
1063 function _arrayWithHoles(arr) {
1064 if (Array.isArray(arr)) return arr;
1065 }
1066
1067 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
1068
1069 /***/ }),
1070
1071 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
1072 /*!*******************************************************************!*\
1073 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
1074 \*******************************************************************/
1075 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1076
1077 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
1078
1079 function _arrayWithoutHoles(arr) {
1080 if (Array.isArray(arr)) return arrayLikeToArray(arr);
1081 }
1082
1083 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
1084
1085 /***/ }),
1086
1087 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
1088 /*!***********************************************************************!*\
1089 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
1090 \***********************************************************************/
1091 /***/ ((module) => {
1092
1093 function _assertThisInitialized(self) {
1094 if (self === void 0) {
1095 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1096 }
1097
1098 return self;
1099 }
1100
1101 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
1102
1103 /***/ }),
1104
1105 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
1106 /*!****************************************************************!*\
1107 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
1108 \****************************************************************/
1109 /***/ ((module) => {
1110
1111 function _classCallCheck(instance, Constructor) {
1112 if (!(instance instanceof Constructor)) {
1113 throw new TypeError("Cannot call a class as a function");
1114 }
1115 }
1116
1117 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
1118
1119 /***/ }),
1120
1121 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
1122 /*!*************************************************************!*\
1123 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
1124 \*************************************************************/
1125 /***/ ((module) => {
1126
1127 function _defineProperties(target, props) {
1128 for (var i = 0; i < props.length; i++) {
1129 var descriptor = props[i];
1130 descriptor.enumerable = descriptor.enumerable || false;
1131 descriptor.configurable = true;
1132 if ("value" in descriptor) descriptor.writable = true;
1133 Object.defineProperty(target, descriptor.key, descriptor);
1134 }
1135 }
1136
1137 function _createClass(Constructor, protoProps, staticProps) {
1138 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1139 if (staticProps) _defineProperties(Constructor, staticProps);
1140 Object.defineProperty(Constructor, "prototype", {
1141 writable: false
1142 });
1143 return Constructor;
1144 }
1145
1146 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
1147
1148 /***/ }),
1149
1150 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
1151 /*!****************************************************************!*\
1152 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
1153 \****************************************************************/
1154 /***/ ((module) => {
1155
1156 function _defineProperty(obj, key, value) {
1157 if (key in obj) {
1158 Object.defineProperty(obj, key, {
1159 value: value,
1160 enumerable: true,
1161 configurable: true,
1162 writable: true
1163 });
1164 } else {
1165 obj[key] = value;
1166 }
1167
1168 return obj;
1169 }
1170
1171 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
1172
1173 /***/ }),
1174
1175 /***/ "../node_modules/@babel/runtime/helpers/get.js":
1176 /*!*****************************************************!*\
1177 !*** ../node_modules/@babel/runtime/helpers/get.js ***!
1178 \*****************************************************/
1179 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1180
1181 var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js");
1182
1183 function _get() {
1184 if (typeof Reflect !== "undefined" && Reflect.get) {
1185 module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
1186 } else {
1187 module.exports = _get = function _get(target, property, receiver) {
1188 var base = superPropBase(target, property);
1189 if (!base) return;
1190 var desc = Object.getOwnPropertyDescriptor(base, property);
1191
1192 if (desc.get) {
1193 return desc.get.call(arguments.length < 3 ? target : receiver);
1194 }
1195
1196 return desc.value;
1197 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1198 }
1199
1200 return _get.apply(this, arguments);
1201 }
1202
1203 module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
1204
1205 /***/ }),
1206
1207 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
1208 /*!****************************************************************!*\
1209 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
1210 \****************************************************************/
1211 /***/ ((module) => {
1212
1213 function _getPrototypeOf(o) {
1214 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
1215 return o.__proto__ || Object.getPrototypeOf(o);
1216 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1217 return _getPrototypeOf(o);
1218 }
1219
1220 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
1221
1222 /***/ }),
1223
1224 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
1225 /*!**********************************************************!*\
1226 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
1227 \**********************************************************/
1228 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1229
1230 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
1231
1232 function _inherits(subClass, superClass) {
1233 if (typeof superClass !== "function" && superClass !== null) {
1234 throw new TypeError("Super expression must either be null or a function");
1235 }
1236
1237 subClass.prototype = Object.create(superClass && superClass.prototype, {
1238 constructor: {
1239 value: subClass,
1240 writable: true,
1241 configurable: true
1242 }
1243 });
1244 Object.defineProperty(subClass, "prototype", {
1245 writable: false
1246 });
1247 if (superClass) setPrototypeOf(subClass, superClass);
1248 }
1249
1250 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
1251
1252 /***/ }),
1253
1254 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
1255 /*!***********************************************************************!*\
1256 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
1257 \***********************************************************************/
1258 /***/ ((module) => {
1259
1260 function _interopRequireDefault(obj) {
1261 return obj && obj.__esModule ? obj : {
1262 "default": obj
1263 };
1264 }
1265
1266 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
1267
1268 /***/ }),
1269
1270 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
1271 /*!*****************************************************************!*\
1272 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
1273 \*****************************************************************/
1274 /***/ ((module) => {
1275
1276 function _iterableToArray(iter) {
1277 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
1278 }
1279
1280 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1281
1282 /***/ }),
1283
1284 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
1285 /*!**********************************************************************!*\
1286 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
1287 \**********************************************************************/
1288 /***/ ((module) => {
1289
1290 function _iterableToArrayLimit(arr, i) {
1291 var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1292
1293 if (_i == null) return;
1294 var _arr = [];
1295 var _n = true;
1296 var _d = false;
1297
1298 var _s, _e;
1299
1300 try {
1301 for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
1302 _arr.push(_s.value);
1303
1304 if (i && _arr.length === i) break;
1305 }
1306 } catch (err) {
1307 _d = true;
1308 _e = err;
1309 } finally {
1310 try {
1311 if (!_n && _i["return"] != null) _i["return"]();
1312 } finally {
1313 if (_d) throw _e;
1314 }
1315 }
1316
1317 return _arr;
1318 }
1319
1320 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
1321
1322 /***/ }),
1323
1324 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
1325 /*!*****************************************************************!*\
1326 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
1327 \*****************************************************************/
1328 /***/ ((module) => {
1329
1330 function _nonIterableRest() {
1331 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1332 }
1333
1334 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
1335
1336 /***/ }),
1337
1338 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
1339 /*!*******************************************************************!*\
1340 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
1341 \*******************************************************************/
1342 /***/ ((module) => {
1343
1344 function _nonIterableSpread() {
1345 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1346 }
1347
1348 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
1349
1350 /***/ }),
1351
1352 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
1353 /*!***************************************************************************!*\
1354 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
1355 \***************************************************************************/
1356 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1357
1358 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
1359
1360 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
1361
1362 function _possibleConstructorReturn(self, call) {
1363 if (call && (_typeof(call) === "object" || typeof call === "function")) {
1364 return call;
1365 } else if (call !== void 0) {
1366 throw new TypeError("Derived constructors may only return object or undefined");
1367 }
1368
1369 return assertThisInitialized(self);
1370 }
1371
1372 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
1373
1374 /***/ }),
1375
1376 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
1377 /*!****************************************************************!*\
1378 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
1379 \****************************************************************/
1380 /***/ ((module) => {
1381
1382 function _setPrototypeOf(o, p) {
1383 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
1384 o.__proto__ = p;
1385 return o;
1386 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1387 return _setPrototypeOf(o, p);
1388 }
1389
1390 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
1391
1392 /***/ }),
1393
1394 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
1395 /*!***************************************************************!*\
1396 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
1397 \***************************************************************/
1398 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1399
1400 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
1401
1402 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
1403
1404 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
1405
1406 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
1407
1408 function _slicedToArray(arr, i) {
1409 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
1410 }
1411
1412 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1413
1414 /***/ }),
1415
1416 /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js":
1417 /*!***************************************************************!*\
1418 !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***!
1419 \***************************************************************/
1420 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1421
1422 var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js");
1423
1424 function _superPropBase(object, property) {
1425 while (!Object.prototype.hasOwnProperty.call(object, property)) {
1426 object = getPrototypeOf(object);
1427 if (object === null) break;
1428 }
1429
1430 return object;
1431 }
1432
1433 module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
1434
1435 /***/ }),
1436
1437 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
1438 /*!*******************************************************************!*\
1439 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
1440 \*******************************************************************/
1441 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1442
1443 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
1444
1445 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
1446
1447 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
1448
1449 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
1450
1451 function _toConsumableArray(arr) {
1452 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
1453 }
1454
1455 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1456
1457 /***/ }),
1458
1459 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
1460 /*!********************************************************!*\
1461 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
1462 \********************************************************/
1463 /***/ ((module) => {
1464
1465 function _typeof(obj) {
1466 "@babel/helpers - typeof";
1467
1468 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
1469 return typeof obj;
1470 } : function (obj) {
1471 return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1472 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
1473 }
1474
1475 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
1476
1477 /***/ }),
1478
1479 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
1480 /*!****************************************************************************!*\
1481 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
1482 \****************************************************************************/
1483 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1484
1485 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
1486
1487 function _unsupportedIterableToArray(o, minLen) {
1488 if (!o) return;
1489 if (typeof o === "string") return arrayLikeToArray(o, minLen);
1490 var n = Object.prototype.toString.call(o).slice(8, -1);
1491 if (n === "Object" && o.constructor) n = o.constructor.name;
1492 if (n === "Map" || n === "Set") return Array.from(o);
1493 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
1494 }
1495
1496 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1497
1498 /***/ })
1499
1500 /******/ });
1501 /************************************************************************/
1502 /******/ // The module cache
1503 /******/ var __webpack_module_cache__ = {};
1504 /******/
1505 /******/ // The require function
1506 /******/ function __webpack_require__(moduleId) {
1507 /******/ // Check if module is in cache
1508 /******/ var cachedModule = __webpack_module_cache__[moduleId];
1509 /******/ if (cachedModule !== undefined) {
1510 /******/ return cachedModule.exports;
1511 /******/ }
1512 /******/ // Create a new module (and put it into the cache)
1513 /******/ var module = __webpack_module_cache__[moduleId] = {
1514 /******/ // no module.id needed
1515 /******/ // no module.loaded needed
1516 /******/ exports: {}
1517 /******/ };
1518 /******/
1519 /******/ // Execute the module function
1520 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
1521 /******/
1522 /******/ // Return the exports of the module
1523 /******/ return module.exports;
1524 /******/ }
1525 /******/
1526 /************************************************************************/
1527 var __webpack_exports__ = {};
1528 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
1529 (() => {
1530 "use strict";
1531 /*!***************************************!*\
1532 !*** ../assets/dev/js/admin/admin.js ***!
1533 \***************************************/
1534 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1535
1536
1537 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1538
1539 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1540
1541 var _module = _interopRequireDefault(__webpack_require__(/*! elementor/modules/landing-pages/assets/js/admin/module */ "../modules/landing-pages/assets/js/admin/module.js"));
1542
1543 var _module2 = _interopRequireDefault(__webpack_require__(/*! elementor/core/experiments/assets/js/admin/module */ "../core/experiments/assets/js/admin/module.js"));
1544
1545 var _environment = _interopRequireDefault(__webpack_require__(/*! ../../../../core/common/assets/js/utils/environment */ "../core/common/assets/js/utils/environment.js"));
1546
1547 var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js"));
1548
1549 var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
1550
1551 var _templateControls = _interopRequireDefault(__webpack_require__(/*! ./new-template/template-controls.js */ "../assets/dev/js/admin/new-template/template-controls.js"));
1552
1553 (function ($) {
1554 var ElementorAdmin = elementorModules.ViewModule.extend({
1555 maintenanceMode: null,
1556 config: elementorAdminConfig,
1557 getDefaultElements: function getDefaultElements() {
1558 var elements = {
1559 $switchMode: $('#elementor-switch-mode'),
1560 $goToEditLink: $('#elementor-go-to-edit-page-link'),
1561 $switchModeInput: $('#elementor-switch-mode-input'),
1562 $switchModeButton: $('#elementor-switch-mode-button'),
1563 $elementorLoader: $('.elementor-loader'),
1564 $builderEditor: $('#elementor-editor'),
1565 $importButton: $('#elementor-import-template-trigger'),
1566 $importNowButton: $('#e-import-template-action'),
1567 $importArea: $('#elementor-import-template-area'),
1568 $importForm: $('#elementor-import-template-form'),
1569 $importFormFileInput: $('#elementor-import-template-form input[type="file"]'),
1570 $settingsForm: $('#elementor-settings-form'),
1571 $settingsTabsWrapper: $('#elementor-settings-tabs-wrapper'),
1572 $menuGetHelpLink: $('a[href="admin.php?page=go_knowledge_base_site"]'),
1573 $menuGoProLink: $('a[href="admin.php?page=go_elementor_pro"]'),
1574 $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button')
1575 };
1576 elements.$settingsFormPages = elements.$settingsForm.find('.elementor-settings-form-page');
1577 elements.$activeSettingsPage = elements.$settingsFormPages.filter('.elementor-active');
1578 elements.$settingsTabs = elements.$settingsTabsWrapper.children();
1579 elements.$activeSettingsTab = elements.$settingsTabs.filter('.nav-tab-active');
1580 return elements;
1581 },
1582 toggleStatus: function toggleStatus() {
1583 var isElementorMode = this.isElementorMode();
1584 elementorCommon.elements.$body.toggleClass('elementor-editor-active', isElementorMode).toggleClass('elementor-editor-inactive', !isElementorMode);
1585 },
1586 bindEvents: function bindEvents() {
1587 var self = this;
1588 self.elements.$switchModeButton.on('click', function (event) {
1589 event.preventDefault();
1590
1591 if (self.isElementorMode()) {
1592 elementorCommon.dialogsManager.createWidget('confirm', {
1593 message: __('Please note that you are switching to WordPress default editor. Your current layout, design and content might break.', 'elementor'),
1594 headerMessage: __('Back to WordPress Editor', 'elementor'),
1595 strings: {
1596 confirm: __('Continue', 'elementor'),
1597 cancel: __('Cancel', 'elementor')
1598 },
1599 defaultOption: 'confirm',
1600 onConfirm: function onConfirm() {
1601 self.elements.$switchModeInput.val('');
1602 self.toggleStatus();
1603 }
1604 }).show();
1605 } else {
1606 self.elements.$switchModeInput.val(true);
1607 var $wpTitle = $('#title');
1608
1609 if (!$wpTitle.val()) {
1610 $wpTitle.val('Elementor #' + $('#post_ID').val());
1611 }
1612
1613 if (wp.autosave) {
1614 wp.autosave.server.triggerSave();
1615 }
1616
1617 self.animateLoader();
1618 $(document).on('heartbeat-tick.autosave', function () {
1619 elementorCommon.elements.$window.off('beforeunload.edit-post');
1620 location.href = self.elements.$goToEditLink.attr('href');
1621 });
1622 self.toggleStatus();
1623 }
1624 });
1625 self.elements.$goToEditLink.on('click', function () {
1626 self.animateLoader();
1627 });
1628 $('.e-notice--dismissible').on('click', '.e-notice__dismiss, .e-notice-dismiss', function (event) {
1629 event.preventDefault();
1630 var $wrapperElm = $(this).closest('.e-notice--dismissible');
1631 $.post(ajaxurl, {
1632 action: 'elementor_set_admin_notice_viewed',
1633 notice_id: $wrapperElm.data('notice_id')
1634 });
1635 $wrapperElm.fadeTo(100, 0, function () {
1636 $wrapperElm.slideUp(100, function () {
1637 $wrapperElm.remove();
1638 });
1639 });
1640 });
1641 $('#elementor-clear-cache-button').on('click', function (event) {
1642 event.preventDefault();
1643 var $thisButton = $(this);
1644 $thisButton.removeClass('success').addClass('loading');
1645 $.post(ajaxurl, {
1646 action: 'elementor_clear_cache',
1647 _nonce: $thisButton.data('nonce')
1648 }).done(function () {
1649 $thisButton.removeClass('loading').addClass('success');
1650 });
1651 });
1652 $('#elementor-library-sync-button').on('click', function (event) {
1653 event.preventDefault();
1654 var $thisButton = $(this);
1655 $thisButton.removeClass('success').addClass('loading');
1656 $.post(ajaxurl, {
1657 action: 'elementor_reset_library',
1658 _nonce: $thisButton.data('nonce')
1659 }).done(function () {
1660 $thisButton.removeClass('loading').addClass('success');
1661 });
1662 });
1663 $('#elementor-recreate-kit-button').on('click', function (event) {
1664 event.preventDefault();
1665 var $thisButton = $(this);
1666 $thisButton.removeClass('success error').addClass('loading').next('.e-recreate-kit-error-message').remove();
1667 $.post(ajaxurl, {
1668 action: 'elementor_recreate_kit',
1669 _nonce: $thisButton.data('nonce')
1670 }).done(function () {
1671 $thisButton.removeClass('loading').addClass('success');
1672 }).fail(function (_ref) {
1673 var _responseJSON$data;
1674
1675 var responseJSON = _ref.responseJSON;
1676 $thisButton.removeClass('loading').addClass('error');
1677
1678 if ((_responseJSON$data = responseJSON.data) !== null && _responseJSON$data !== void 0 && _responseJSON$data.message) {
1679 $thisButton.after("<div class=\"e-recreate-kit-error-message\">".concat(responseJSON.data.message, "</div>"));
1680 }
1681 });
1682 });
1683 $('#elementor-replace-url-button').on('click', function (event) {
1684 event.preventDefault();
1685 var $this = $(this),
1686 $tr = $this.parents('tr'),
1687 $from = $tr.find('[name="from"]'),
1688 $to = $tr.find('[name="to"]');
1689 $this.removeClass('success').addClass('loading');
1690 $.post(ajaxurl, {
1691 action: 'elementor_replace_url',
1692 from: $from.val(),
1693 to: $to.val(),
1694 _nonce: $this.data('nonce')
1695 }).done(function (response) {
1696 $this.removeClass('loading');
1697
1698 if (response.success) {
1699 $this.addClass('success');
1700 }
1701
1702 elementorCommon.dialogsManager.createWidget('alert', {
1703 message: response.data
1704 }).show();
1705 });
1706 });
1707 $('#elementor_upgrade_fa_button').on('click', function (event) {
1708 event.preventDefault();
1709 var $updateButton = $(this);
1710 $updateButton.addClass('loading');
1711 elementorCommon.dialogsManager.createWidget('confirm', {
1712 id: 'confirm_fa_migration_admin_modal',
1713 message: __('I understand that by upgrading to Font Awesome 5,', 'elementor') + '<br>' + __('I acknowledge that some changes may affect my website and that this action cannot be undone.', 'elementor'),
1714 headerMessage: __('Font Awesome 5 Migration', 'elementor'),
1715 strings: {
1716 confirm: __('Continue', 'elementor'),
1717 cancel: __('Cancel', 'elementor')
1718 },
1719 defaultOption: 'confirm',
1720 onConfirm: function onConfirm() {
1721 $updateButton.removeClass('error').addClass('loading');
1722
1723 var _$updateButton$data = $updateButton.data(),
1724 _nonce = _$updateButton$data._nonce,
1725 action = _$updateButton$data.action,
1726 redirectUrl = _$updateButton$data.redirectUrl;
1727
1728 $.post(ajaxurl, {
1729 action: action,
1730 _nonce: _nonce
1731 }).done(function (response) {
1732 $updateButton.removeClass('loading').addClass('success');
1733 var messageElement = document.createElement('p');
1734 messageElement.appendChild(document.createTextNode(response.data.message));
1735 $('#elementor_upgrade_fa_button').parent().append(messageElement);
1736
1737 if (redirectUrl) {
1738 location.href = decodeURIComponent(redirectUrl);
1739 return;
1740 }
1741
1742 history.go(-1);
1743 }).fail(function () {
1744 $updateButton.removeClass('loading').addClass('error');
1745 });
1746 },
1747 onCancel: function onCancel() {
1748 $updateButton.removeClass('loading').addClass('error');
1749 }
1750 }).show();
1751 });
1752 self.elements.$settingsTabs.on({
1753 click: function click(event) {
1754 event.preventDefault();
1755 event.currentTarget.focus(); // Safari does not focus the tab automatically
1756 },
1757 focus: function focus() {
1758 // Using focus event to enable navigation by tab key
1759 var hrefWithoutHash = location.href.replace(/#.*/, '');
1760 history.pushState({}, '', hrefWithoutHash + this.hash);
1761 self.goToSettingsTabFromHash();
1762 }
1763 });
1764 $('select.elementor-rollback-select').on('change', function () {
1765 var $this = $(this),
1766 $rollbackButton = $this.next('.elementor-rollback-button'),
1767 placeholderText = $rollbackButton.data('placeholder-text'),
1768 placeholderUrl = $rollbackButton.data('placeholder-url');
1769 $rollbackButton.html(placeholderText.replace('{VERSION}', $this.val()));
1770 $rollbackButton.attr('href', placeholderUrl.replace('VERSION', $this.val()));
1771 }).trigger('change');
1772 $('.elementor-rollback-button').on('click', function (event) {
1773 event.preventDefault();
1774 var $this = $(this);
1775 elementorCommon.dialogsManager.createWidget('confirm', {
1776 headerMessage: __('Rollback to Previous Version', 'elementor'),
1777 message: __('Are you sure you want to reinstall previous version?', 'elementor'),
1778 strings: {
1779 confirm: __('Continue', 'elementor'),
1780 cancel: __('Cancel', 'elementor')
1781 },
1782 onConfirm: function onConfirm() {
1783 $this.addClass('loading');
1784 location.href = $this.attr('href');
1785 }
1786 }).show();
1787 });
1788 self.elements.$reMigrateGlobalsButton.on('click', function (event) {
1789 event.preventDefault();
1790 var $this = $(event.currentTarget);
1791 elementorCommon.dialogsManager.createWidget('confirm', {
1792 headerMessage: __('Migrate to v3.0', 'elementor'),
1793 message: __('Please note that this process will revert all changes made to Global Colors and Fonts since upgrading to v3.x.', 'elementor'),
1794 strings: {
1795 confirm: __('Continue', 'elementor'),
1796 cancel: __('Cancel', 'elementor')
1797 },
1798 onConfirm: function onConfirm() {
1799 $this.removeClass('success').addClass('loading');
1800 elementorCommon.ajax.addRequest('re_migrate_globals', {
1801 success: function success() {
1802 return $this.removeClass('loading').addClass('success');
1803 }
1804 });
1805 }
1806 }).show();
1807 });
1808 $('.elementor_css_print_method select').on('change', function () {
1809 var $descriptions = $('.elementor-css-print-method-description');
1810 $descriptions.hide();
1811 $descriptions.filter('[data-value="' + $(this).val() + '"]').show();
1812 }).trigger('change');
1813 },
1814 onInit: function onInit() {
1815 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
1816 this.initTemplatesImport();
1817 this.initMaintenanceMode();
1818 this.goToSettingsTabFromHash();
1819 this.openLinksInNewTab();
1820 this.addUserAgentClasses();
1821 this.roleManager.init();
1822
1823 if (elementorCommon.config.experimentalFeatures['landing-pages']) {
1824 new _module.default();
1825 }
1826
1827 this.templateControls = new _templateControls.default();
1828 new _module2.default();
1829 },
1830 addUserAgentClasses: function addUserAgentClasses() {
1831 var body = document.querySelector('body');
1832 Object.entries(_environment.default).forEach(function (_ref2) {
1833 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
1834 key = _ref3[0],
1835 value = _ref3[1];
1836
1837 if (!value) {
1838 return;
1839 }
1840
1841 body.classList.add('e--ua-' + key);
1842 });
1843 },
1844
1845 /**
1846 * Open Links in New Tab
1847 *
1848 * Adds a `target="_blank"` attribute to the Admin Dashboard menu items specified in the `elements` array,
1849 * if the elements are found in the DOM. The items in the `elements` array should be jQuery instances.
1850 *
1851 * @since 3.6.0
1852 */
1853 openLinksInNewTab: function openLinksInNewTab() {
1854 var elements = [this.elements.$menuGetHelpLink, this.elements.$menuGoProLink];
1855 elements.forEach(function ($element) {
1856 // Only add the attribute if the element is found.
1857 if ($element.length) {
1858 $element.attr('target', '_blank');
1859 }
1860 });
1861 },
1862 initTemplatesImport: function initTemplatesImport() {
1863 if (!elementorCommon.elements.$body.hasClass('post-type-elementor_library')) {
1864 return;
1865 }
1866
1867 var self = this,
1868 $importForm = self.elements.$importForm,
1869 $importButton = self.elements.$importButton,
1870 $importArea = self.elements.$importArea,
1871 $importNowButton = self.elements.$importNowButton,
1872 $importFormFileInput = self.elements.$importFormFileInput;
1873 self.elements.$formAnchor = $('.wp-header-end');
1874 $('#wpbody-content').find('.page-title-action').last().after($importButton);
1875 self.elements.$formAnchor.after($importArea);
1876 $importButton.on('click', function () {
1877 $('#elementor-import-template-area').toggle();
1878 });
1879 $importForm.on('submit', function (event) {
1880 $importNowButton[0].disabled = true;
1881 $importNowButton[0].value = __('Importing...', 'elementor');
1882
1883 if ($importFormFileInput[0].files.length && !elementorCommon.config.filesUpload.unfilteredFiles) {
1884 event.preventDefault();
1885
1886 var enableUnfilteredFilesModal = _filesUploadHandler.default.getUnfilteredFilesNotEnabledImportTemplateDialog(function () {
1887 $importForm.trigger('submit');
1888 });
1889
1890 enableUnfilteredFilesModal.show();
1891 }
1892 });
1893 },
1894 initMaintenanceMode: function initMaintenanceMode() {
1895 var MaintenanceMode = __webpack_require__(/*! elementor-admin/maintenance-mode */ "../assets/dev/js/admin/maintenance-mode.js");
1896
1897 this.maintenanceMode = new MaintenanceMode();
1898 },
1899 isElementorMode: function isElementorMode() {
1900 return !!this.elements.$switchModeInput.val();
1901 },
1902 animateLoader: function animateLoader() {
1903 this.elements.$goToEditLink.addClass('elementor-animate');
1904 },
1905 goToSettingsTabFromHash: function goToSettingsTabFromHash() {
1906 var hash = location.hash.slice(1);
1907
1908 if (hash) {
1909 this.goToSettingsTab(hash);
1910 }
1911 },
1912 goToSettingsTab: function goToSettingsTab(tabName) {
1913 var $pages = this.elements.$settingsFormPages;
1914
1915 if (!$pages.length) {
1916 return;
1917 }
1918
1919 var $activePage = $pages.filter('#' + tabName);
1920 this.elements.$activeSettingsPage.removeClass('elementor-active');
1921 this.elements.$activeSettingsTab.removeClass('nav-tab-active');
1922 var $activeTab = this.elements.$settingsTabs.filter('#elementor-settings-' + tabName);
1923 $activePage.addClass('elementor-active');
1924 $activeTab.addClass('nav-tab-active');
1925 this.elements.$settingsForm.attr('action', 'options.php#' + tabName);
1926 this.elements.$activeSettingsPage = $activePage;
1927 this.elements.$activeSettingsTab = $activeTab;
1928 },
1929 translate: function translate(stringKey, templateArgs) {
1930 return elementorCommon.translate(stringKey, null, templateArgs, this.config.i18n);
1931 },
1932 roleManager: {
1933 selectors: {
1934 body: 'elementor-role-manager',
1935 row: '.elementor-role-row',
1936 label: '.elementor-role-label',
1937 excludedIndicator: '.elementor-role-excluded-indicator',
1938 excludedField: 'input[name="elementor_exclude_user_roles[]"]',
1939 controlsContainer: '.elementor-role-controls',
1940 toggleHandle: '.elementor-role-toggle',
1941 arrowUp: 'dashicons-arrow-up',
1942 arrowDown: 'dashicons-arrow-down'
1943 },
1944 toggle: function toggle($trigger) {
1945 var self = this,
1946 $row = $trigger.closest(self.selectors.row),
1947 $toggleHandleIcon = $row.find(self.selectors.toggleHandle).find('.dashicons'),
1948 $controls = $row.find(self.selectors.controlsContainer);
1949 $controls.toggleClass('hidden');
1950
1951 if ($controls.hasClass('hidden')) {
1952 $toggleHandleIcon.removeClass(self.selectors.arrowUp).addClass(self.selectors.arrowDown);
1953 } else {
1954 $toggleHandleIcon.removeClass(self.selectors.arrowDown).addClass(self.selectors.arrowUp);
1955 }
1956
1957 self.updateLabel($row);
1958 },
1959 updateLabel: function updateLabel($row) {
1960 var self = this,
1961 $indicator = $row.find(self.selectors.excludedIndicator),
1962 excluded = $row.find(self.selectors.excludedField).is(':checked');
1963
1964 if (excluded) {
1965 $indicator.html($indicator.data('excluded-label'));
1966 } else {
1967 $indicator.html('');
1968 }
1969
1970 self.setAdvancedState($row, excluded);
1971 },
1972 setAdvancedState: function setAdvancedState($row, state) {
1973 var self = this,
1974 $controls = $row.find('input[type="checkbox"]').not(self.selectors.excludedField);
1975 $controls.each(function (index, input) {
1976 $(input).prop('disabled', state);
1977 });
1978 },
1979 bind: function bind() {
1980 var self = this;
1981 $(document).on('click', self.selectors.label + ',' + self.selectors.toggleHandle, function (event) {
1982 event.stopPropagation();
1983 event.preventDefault();
1984 self.toggle($(this));
1985 }).on('change', self.selectors.excludedField, function () {
1986 self.updateLabel($(this).closest(self.selectors.row));
1987 });
1988 },
1989 init: function init() {
1990 var self = this;
1991
1992 if (!$('body[class*="' + self.selectors.body + '"]').length) {
1993 return;
1994 }
1995
1996 self.bind();
1997 $(self.selectors.row).each(function (index, row) {
1998 self.updateLabel($(row));
1999 });
2000 }
2001 }
2002 });
2003 $(function () {
2004 window.elementorAdmin = new ElementorAdmin();
2005
2006 _events.default.dispatch(elementorCommon.elements.$window, 'elementor/admin/init');
2007 });
2008 })(jQuery);
2009 })();
2010
2011 /******/ })()
2012 ;
2013 //# sourceMappingURL=admin.js.map