| 1 |
(function(_wordpress_i18n) { |
| 2 |
|
| 3 |
//#region \0rolldown/runtime.js |
| 4 |
var __defProp = Object.defineProperty; |
| 5 |
var __name = (target, value) => __defProp(target, "name", { |
| 6 |
value, |
| 7 |
configurable: true |
| 8 |
}); |
| 9 |
|
| 10 |
//#endregion |
| 11 |
|
| 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); |
| 127 |
|
| 128 |
//#endregion |
| 129 |
})(wp.i18n); |
| 130 |
//# sourceMappingURL=gutenberg.js.map |