| 1 |
/*! elementor - v3.23.0 - 10-07-2024 */ |
| 2 |
/******/ (() => { // webpackBootstrap |
| 3 |
/******/ "use strict"; |
| 4 |
/******/ var __webpack_modules__ = ({ |
| 5 |
|
| 6 |
/***/ "@wordpress/i18n": |
| 7 |
/*!**************************!*\ |
| 8 |
!*** external "wp.i18n" ***! |
| 9 |
\**************************/ |
| 10 |
/***/ ((module) => { |
| 11 |
|
| 12 |
module.exports = wp.i18n; |
| 13 |
|
| 14 |
/***/ }) |
| 15 |
|
| 16 |
/******/ }); |
| 17 |
/************************************************************************/ |
| 18 |
/******/ // The module cache |
| 19 |
/******/ var __webpack_module_cache__ = {}; |
| 20 |
/******/ |
| 21 |
/******/ // The require function |
| 22 |
/******/ function __webpack_require__(moduleId) { |
| 23 |
/******/ // Check if module is in cache |
| 24 |
/******/ var cachedModule = __webpack_module_cache__[moduleId]; |
| 25 |
/******/ if (cachedModule !== undefined) { |
| 26 |
/******/ return cachedModule.exports; |
| 27 |
/******/ } |
| 28 |
/******/ // Create a new module (and put it into the cache) |
| 29 |
/******/ var module = __webpack_module_cache__[moduleId] = { |
| 30 |
/******/ // no module.id needed |
| 31 |
/******/ // no module.loaded needed |
| 32 |
/******/ exports: {} |
| 33 |
/******/ }; |
| 34 |
/******/ |
| 35 |
/******/ // Execute the module function |
| 36 |
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); |
| 37 |
/******/ |
| 38 |
/******/ // Return the exports of the module |
| 39 |
/******/ return module.exports; |
| 40 |
/******/ } |
| 41 |
/******/ |
| 42 |
/************************************************************************/ |
| 43 |
var __webpack_exports__ = {}; |
| 44 |
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. |
| 45 |
(() => { |
| 46 |
/*!*******************************************!*\ |
| 47 |
!*** ../assets/dev/js/admin/gutenberg.js ***! |
| 48 |
\*******************************************/ |
| 49 |
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; |
| 50 |
|
| 51 |
|
| 52 |
/* global ElementorGutenbergSettings */ |
| 53 |
(function ($) { |
| 54 |
'use strict'; |
| 55 |
|
| 56 |
var ElementorGutenbergApp = { |
| 57 |
cacheElements: function cacheElements() { |
| 58 |
var self = this; |
| 59 |
self.isElementorMode = ElementorGutenbergSettings.isElementorMode; |
| 60 |
self.cache = {}; |
| 61 |
self.cache.$gutenberg = $('#editor'); |
| 62 |
self.cache.$switchMode = $($('#elementor-gutenberg-button-switch-mode').html()); |
| 63 |
self.cache.$switchModeButton = self.cache.$switchMode.find('#elementor-switch-mode-button'); |
| 64 |
self.bindEvents(); |
| 65 |
self.toggleStatus(); |
| 66 |
wp.data.subscribe(function () { |
| 67 |
setTimeout(function () { |
| 68 |
self.buildPanel(); |
| 69 |
}, 1); |
| 70 |
}); |
| 71 |
}, |
| 72 |
buildPanel: function buildPanel() { |
| 73 |
var self = this; |
| 74 |
if (!self.cache.$gutenberg.find('#elementor-switch-mode').length) { |
| 75 |
self.cache.$gutenberg.find('.edit-post-header-toolbar').append(self.cache.$switchMode); |
| 76 |
} |
| 77 |
if (this.hasIframe()) { |
| 78 |
this.handleIframe(); |
| 79 |
} |
| 80 |
if (!$('#elementor-editor').length) { |
| 81 |
self.cache.$editorPanel = $($('#elementor-gutenberg-panel').html()); |
| 82 |
var editorButtonParent = self.cache.$gutenberg.find('.block-editor-writing-flow'); |
| 83 |
if (!editorButtonParent.length) { |
| 84 |
editorButtonParent = self.cache.$gutenberg.find('.is-desktop-preview'); |
| 85 |
} |
| 86 |
self.cache.$gurenbergBlockList = editorButtonParent; |
| 87 |
self.cache.$gurenbergBlockList.append(self.cache.$editorPanel); |
| 88 |
self.cache.$editorPanelButton = self.cache.$editorPanel.find('#elementor-go-to-edit-page-link'); |
| 89 |
self.cache.$editorPanelButton.on('click', function (event) { |
| 90 |
event.preventDefault(); |
| 91 |
self.handleEditButtonClick(); |
| 92 |
}); |
| 93 |
} |
| 94 |
}, |
| 95 |
handleIframe: function handleIframe() { |
| 96 |
this.hideIframeContent(); |
| 97 |
this.buildPanelTopBar(); |
| 98 |
}, |
| 99 |
// Sometimes Gutenberg uses iframe instead of div. |
| 100 |
hasIframe: function hasIframe() { |
| 101 |
return !!this.cache.$gutenberg.find('iframe[name="editor-canvas"]').length; |
| 102 |
}, |
| 103 |
hideIframeContent: function hideIframeContent() { |
| 104 |
if (!this.isElementorMode) { |
| 105 |
return; |
| 106 |
} |
| 107 |
var style = "<style>\n\t\t\t\t.editor-post-text-editor,\n\t\t\t\t.block-editor-block-list__layout {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\tbody {\n\t\t\t\t\tpadding: 0 !important;\n\t\t\t\t}\n\t\t\t</style>"; |
| 108 |
this.cache.$gutenberg.find('iframe[name="editor-canvas"]').contents().find('body').append(style); |
| 109 |
}, |
| 110 |
buildPanelTopBar: function buildPanelTopBar() { |
| 111 |
var self = this; |
| 112 |
if (!$('#elementor-edit-mode-button').length && this.isElementorMode) { |
| 113 |
self.cache.$editorBtnTop = $($('#elementor-gutenberg-button-tmpl').html()); |
| 114 |
self.cache.$gutenberg.find('.edit-post-header-toolbar').append(self.cache.$editorBtnTop); |
| 115 |
$('#elementor-edit-mode-button').on('click', function (event) { |
| 116 |
event.preventDefault(); |
| 117 |
self.handleEditButtonClick(false); |
| 118 |
}); |
| 119 |
} |
| 120 |
}, |
| 121 |
handleEditButtonClick: function handleEditButtonClick() { |
| 122 |
var withAnimation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; |
| 123 |
var self = this; |
| 124 |
if (withAnimation) { |
| 125 |
self.animateLoader(); |
| 126 |
} |
| 127 |
|
| 128 |
// A new post is initialized as an 'auto-draft'. |
| 129 |
// if the post is not a new post it should not save it to avoid some saving conflict between elementor and gutenberg. |
| 130 |
var isNewPost = 'auto-draft' === wp.data.select('core/editor').getCurrentPost().status; |
| 131 |
if (isNewPost) { |
| 132 |
var documentTitle = wp.data.select('core/editor').getEditedPostAttribute('title'); |
| 133 |
if (!documentTitle) { |
| 134 |
wp.data.dispatch('core/editor').editPost({ |
| 135 |
title: 'Elementor #' + $('#post_ID').val() |
| 136 |
}); |
| 137 |
} |
| 138 |
wp.data.dispatch('core/editor').savePost(); |
| 139 |
} |
| 140 |
self.redirectWhenSave(); |
| 141 |
}, |
| 142 |
bindEvents: function bindEvents() { |
| 143 |
var self = this; |
| 144 |
self.cache.$switchModeButton.on('click', function () { |
| 145 |
if (self.isElementorMode) { |
| 146 |
elementorCommon.dialogsManager.createWidget('confirm', { |
| 147 |
message: __('Please note that you are switching to WordPress default editor. Your current layout, design and content might break.', 'elementor'), |
| 148 |
headerMessage: __('Back to WordPress Editor', 'elementor'), |
| 149 |
strings: { |
| 150 |
confirm: __('Continue', 'elementor'), |
| 151 |
cancel: __('Cancel', 'elementor') |
| 152 |
}, |
| 153 |
defaultOption: 'confirm', |
| 154 |
onConfirm: function onConfirm() { |
| 155 |
var wpEditor = wp.data.dispatch('core/editor'); |
| 156 |
wpEditor.editPost({ |
| 157 |
gutenberg_elementor_mode: false |
| 158 |
}); |
| 159 |
wpEditor.savePost(); |
| 160 |
self.isElementorMode = !self.isElementorMode; |
| 161 |
self.toggleStatus(); |
| 162 |
} |
| 163 |
}).show(); |
| 164 |
} else { |
| 165 |
self.isElementorMode = !self.isElementorMode; |
| 166 |
self.toggleStatus(); |
| 167 |
self.cache.$editorPanelButton.trigger('click'); |
| 168 |
} |
| 169 |
}); |
| 170 |
}, |
| 171 |
redirectWhenSave: function redirectWhenSave() { |
| 172 |
var self = this; |
| 173 |
setTimeout(function () { |
| 174 |
if (wp.data.select('core/editor').isSavingPost()) { |
| 175 |
self.redirectWhenSave(); |
| 176 |
} else { |
| 177 |
location.href = ElementorGutenbergSettings.editLink; |
| 178 |
} |
| 179 |
}, 300); |
| 180 |
}, |
| 181 |
animateLoader: function animateLoader() { |
| 182 |
this.cache.$editorPanelButton.addClass('elementor-animate'); |
| 183 |
}, |
| 184 |
toggleStatus: function toggleStatus() { |
| 185 |
jQuery('body').toggleClass('elementor-editor-active', this.isElementorMode).toggleClass('elementor-editor-inactive', !this.isElementorMode); |
| 186 |
}, |
| 187 |
init: function init() { |
| 188 |
this.cacheElements(); |
| 189 |
} |
| 190 |
}; |
| 191 |
$(function () { |
| 192 |
ElementorGutenbergApp.init(); |
| 193 |
}); |
| 194 |
})(jQuery); |
| 195 |
})(); |
| 196 |
|
| 197 |
/******/ })() |
| 198 |
; |
| 199 |
//# sourceMappingURL=gutenberg.js.map |