PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 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 All 452 releases
elementor / assets / js / gutenberg.js

gutenberg.js in Elementor Website Builder – more than just a page builder 4.3.0-beta3, at assets/js/gutenberg.js

130 lines 5.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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