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 / new-template.js

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

303 lines 10.1 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 var __esmMin = (fn, res, err) => () => {
10 if (err) throw err[0];
11 try {
12 return fn && (res = fn(fn = 0)), res;
13 } catch (e) {
14 throw err = [e], e;
15 }
16 };
17 var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
18
19 //#endregion
20
21 //#region node_modules/@babel/runtime/helpers/esm/classCallCheck.js
22 function _classCallCheck(a, n) {
23 if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
24 }
25 var init_classCallCheck = __esmMin((() => {}));
26
27 //#endregion
28 //#region node_modules/@babel/runtime/helpers/esm/typeof.js
29 function _typeof(o) {
30 "@babel/helpers - typeof";
31 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
32 return typeof o;
33 } : function(o) {
34 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
35 }, _typeof(o);
36 }
37 var init_typeof = __esmMin((() => {}));
38
39 //#endregion
40 //#region node_modules/@babel/runtime/helpers/esm/toPrimitive.js
41 function toPrimitive(t, r) {
42 if ("object" != _typeof(t) || !t) return t;
43 var e = t[Symbol.toPrimitive];
44 if (void 0 !== e) {
45 var i = e.call(t, r || "default");
46 if ("object" != _typeof(i)) return i;
47 throw new TypeError("@@toPrimitive must return a primitive value.");
48 }
49 return ("string" === r ? String : Number)(t);
50 }
51 var init_toPrimitive = __esmMin((() => {
52 init_typeof();
53 }));
54
55 //#endregion
56 //#region node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
57 function toPropertyKey(t) {
58 var i = toPrimitive(t, "string");
59 return "symbol" == _typeof(i) ? i : i + "";
60 }
61 var init_toPropertyKey = __esmMin((() => {
62 init_typeof();
63 init_toPrimitive();
64 }));
65
66 //#endregion
67 //#region node_modules/@babel/runtime/helpers/esm/createClass.js
68 function _defineProperties(e, r) {
69 for (var t = 0; t < r.length; t++) {
70 var o = r[t];
71 o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
72 }
73 }
74 function _createClass(e, r, t) {
75 return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
76 }
77 var init_createClass = __esmMin((() => {
78 init_toPropertyKey();
79 }));
80
81 //#endregion
82 //#region assets/dev/js/admin/new-template/behaviors/lock-pro.js
83 var LockPro;
84 var init_lock_pro = __esmMin((() => {
85 init_classCallCheck();
86 init_createClass();
87 LockPro = /*#__PURE__*/ function() {
88 function LockPro(elements) {
89 _classCallCheck(this, LockPro);
90 this.elements = elements;
91 }
92 return _createClass(LockPro, [
93 {
94 key: "bindEvents",
95 value: function bindEvents() {
96 var _this$elements = this.elements;
97 var form = _this$elements.form;
98 var templateType = _this$elements.templateType;
99 form.addEventListener("submit", this.onFormSubmit.bind(this));
100 templateType.addEventListener("change", this.onTemplateTypeChange.bind(this));
101 this.onTemplateTypeChange();
102 }
103 },
104 {
105 key: "onFormSubmit",
106 value: function onFormSubmit(e) {
107 if (this.getCurrentLockOptions().is_locked) e.preventDefault();
108 }
109 },
110 {
111 key: "onTemplateTypeChange",
112 value: function onTemplateTypeChange() {
113 var lockOptions = this.getCurrentLockOptions();
114 if (lockOptions.is_locked) this.lock(lockOptions);
115 else this.unlock();
116 }
117 },
118 {
119 key: "getCurrentLockOptions",
120 value: function getCurrentLockOptions() {
121 var templateType = this.elements.templateType;
122 var currentOption = templateType.options[templateType.selectedIndex];
123 return JSON.parse(currentOption.dataset.lock || "{}");
124 }
125 },
126 {
127 key: "lock",
128 value: function lock(lockOptions) {
129 this.showLockBadge(lockOptions.badge);
130 this.showLockButton(lockOptions.button);
131 this.hideSubmitButton();
132 }
133 },
134 {
135 key: "unlock",
136 value: function unlock() {
137 this.hideLockBadge();
138 this.hideLockButton();
139 this.showSubmitButton();
140 }
141 },
142 {
143 key: "showLockBadge",
144 value: function showLockBadge(badgeConfig) {
145 var _this$elements2 = this.elements;
146 var lockBadge = _this$elements2.lockBadge;
147 var lockBadgeText = _this$elements2.lockBadgeText;
148 var lockBadgeIcon = _this$elements2.lockBadgeIcon;
149 lockBadgeText.innerText = badgeConfig.text;
150 lockBadgeIcon.className = badgeConfig.icon;
151 lockBadge.classList.remove("e-hidden");
152 }
153 },
154 {
155 key: "hideLockBadge",
156 value: function hideLockBadge() {
157 this.elements.lockBadge.classList.add("e-hidden");
158 }
159 },
160 {
161 key: "showLockButton",
162 value: function showLockButton(buttonConfig) {
163 var lockButton = this.elements.lockButton;
164 lockButton.href = this.replaceLockLinkPlaceholders(buttonConfig.url);
165 lockButton.innerText = buttonConfig.text;
166 lockButton.classList.remove("e-hidden");
167 }
168 },
169 {
170 key: "hideLockButton",
171 value: function hideLockButton() {
172 this.elements.lockButton.classList.add("e-hidden");
173 }
174 },
175 {
176 key: "showSubmitButton",
177 value: function showSubmitButton() {
178 this.elements.submitButton.classList.remove("e-hidden");
179 }
180 },
181 {
182 key: "hideSubmitButton",
183 value: function hideSubmitButton() {
184 this.elements.submitButton.classList.add("e-hidden");
185 }
186 },
187 {
188 key: "replaceLockLinkPlaceholders",
189 value: function replaceLockLinkPlaceholders(link) {
190 return link.replace(/%%utm_source%%/g, "wp-add-new").replace(/%%utm_medium%%/g, "wp-dash");
191 }
192 }
193 ]);
194 }();
195 }));
196
197 //#endregion
198 //#region assets/dev/js/admin/new-template/view.js
199 var require_view = /* @__PURE__ */ __commonJSMin(((exports, module) => {
200 module.exports = Marionette.ItemView.extend({
201 id: "elementor-new-template-dialog-content",
202 template: "#tmpl-elementor-new-template",
203 ui: {},
204 events: {},
205 onRender: function onRender() {}
206 });
207 }));
208
209 //#endregion
210 //#region assets/dev/js/admin/new-template/layout.js
211 var require_layout = /* @__PURE__ */ __commonJSMin(((exports, module) => {
212 init_lock_pro();
213 var NewTemplateView = require_view();
214 module.exports = elementorModules.common.views.modal.Layout.extend({
215 getModalOptions: function getModalOptions() {
216 return { id: "elementor-new-template-modal" };
217 },
218 getLogoOptions: function getLogoOptions() {
219 return { title: (0, _wordpress_i18n.__)("New Template", "elementor") };
220 },
221 initialize: function initialize() {
222 elementorModules.common.views.modal.Layout.prototype.initialize.apply(this, arguments);
223 this.showLogo();
224 this.showContentView();
225 this.initElements();
226 this.lockProBehavior = new LockPro(this.elements);
227 this.lockProBehavior.bindEvents();
228 this.setupDynamicControlsVisibility();
229 },
230 setupDynamicControlsVisibility: function setupDynamicControlsVisibility() {
231 if (!("undefined" !== typeof elementor_new_template_form_controls)) return;
232 var CONTROL_ID_PREFIX = "elementor-new-template__form__";
233 var templateTypeSelectId = "".concat(CONTROL_ID_PREFIX, "template-type");
234 var dynamicControlsVisibilityListener = function dynamicControlsVisibilityListener() {
235 elementorAdmin.templateControls.setDynamicControlsVisibility(CONTROL_ID_PREFIX, elementor_new_template_form_controls);
236 };
237 this.getModal().onShow = function() {
238 dynamicControlsVisibilityListener();
239 document.getElementById(templateTypeSelectId).addEventListener("change", dynamicControlsVisibilityListener);
240 };
241 this.getModal().onHide = function() {
242 document.getElementById(templateTypeSelectId).removeEventListener("change", dynamicControlsVisibilityListener);
243 };
244 },
245 initElements: function initElements() {
246 var container = this.$el[0];
247 var root = "#elementor-new-template__form";
248 this.elements = {
249 form: container.querySelector(root),
250 submitButton: container.querySelector("".concat(root, "__submit")),
251 lockButton: container.querySelector("".concat(root, "__lock_button")),
252 templateType: container.querySelector("".concat(root, "__template-type")),
253 lockBadge: container.querySelector("".concat(root, "__template-type-badge")),
254 lockBadgeText: container.querySelector("".concat(root, "__template-type-badge__text")),
255 lockBadgeIcon: container.querySelector("".concat(root, "__template-type-badge__icon"))
256 };
257 },
258 showContentView: function showContentView() {
259 this.modalContent.show(new NewTemplateView());
260 }
261 });
262 }));
263
264 //#endregion
265 //#region assets/dev/js/admin/new-template/new-template.js
266 var NewTemplateLayout = require_layout();
267 var NewTemplateModule = elementorModules.ViewModule.extend({
268 getDefaultSettings: function getDefaultSettings() {
269 return { selectors: { addButton: "a.page-title-action[href*=\"post-new.php?post_type=elementor_library\"], #elementor-template-library-add-new" } };
270 },
271 getDefaultElements: function getDefaultElements() {
272 var selectors = this.getSettings("selectors");
273 return { $addButton: jQuery(selectors.addButton) };
274 },
275 bindEvents: function bindEvents() {
276 this.elements.$addButton.on("click", this.onAddButtonClick);
277 elementorCommon.elements.$window.on("hashchange", this.showModalByHash.bind(this));
278 },
279 showModalByHash: function showModalByHash() {
280 if ("#add_new" === location.hash) {
281 var _this$layout;
282 (_this$layout = this.layout) === null || _this$layout === void 0 || _this$layout.showModal();
283 location.hash = "";
284 }
285 },
286 onInit: function onInit() {
287 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
288 this.layout = new NewTemplateLayout();
289 this.showModalByHash();
290 },
291 onAddButtonClick: function onAddButtonClick(event) {
292 var _this$layout2;
293 event.preventDefault();
294 (_this$layout2 = this.layout) === null || _this$layout2 === void 0 || _this$layout2.showModal();
295 }
296 });
297 jQuery(function() {
298 window.elementorNewTemplate = new NewTemplateModule();
299 });
300
301 //#endregion
302 })(wp.i18n);
303 //# sourceMappingURL=new-template.js.map