| @@ -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.__)("Please note that you are switching to WordPress default editor. Your current layout, design and content might break.", "elementor"), | |
| 85 | - headerMessage: (0, _wordpress_i18n.__)("Back to WordPress Editor", "elementor"), | |
| 86 | - strings: { | |
| 87 | - confirm: (0, _wordpress_i18n.__)("Continue", "elementor"), | |
| 88 | - cancel: (0, _wordpress_i18n.__)("Cancel", "elementor") | |
| 89 | - }, | |
| 90 | - defaultOption: "confirm", | |
| 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 |