PluginProbe
Elementor Website Builder – more than just a page builder / 4.0.8
Elementor Website Builder – more than just a page builder v4.0.8
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
← All changes | assets/js/gutenberg.js +192 -125 4.3.0-beta34.0.8 View file →
@@ -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