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