PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.7
Elementor Website Builder – more than just a page builder v3.35.7
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 4.0.7 All 451 releases
elementor / assets / js / new-template.js

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

414 lines 15.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /******/ (() => { // webpackBootstrap
2 /******/ var __webpack_modules__ = ({
3
4 /***/ "../assets/dev/js/admin/new-template/behaviors/lock-pro.js":
5 /*!*****************************************************************!*\
6 !*** ../assets/dev/js/admin/new-template/behaviors/lock-pro.js ***!
7 \*****************************************************************/
8 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9
10 "use strict";
11
12
13 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
14 Object.defineProperty(exports, "__esModule", ({
15 value: true
16 }));
17 exports["default"] = void 0;
18 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
19 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
20 var LockPro = exports["default"] = /*#__PURE__*/function () {
21 function LockPro(elements) {
22 (0, _classCallCheck2.default)(this, LockPro);
23 this.elements = elements;
24 }
25 return (0, _createClass2.default)(LockPro, [{
26 key: "bindEvents",
27 value: function bindEvents() {
28 var _this$elements = this.elements,
29 form = _this$elements.form,
30 templateType = _this$elements.templateType;
31 form.addEventListener('submit', this.onFormSubmit.bind(this));
32 templateType.addEventListener('change', this.onTemplateTypeChange.bind(this));
33
34 // Force checking on render, to make sure that default values are also checked.
35 this.onTemplateTypeChange();
36 }
37 }, {
38 key: "onFormSubmit",
39 value: function onFormSubmit(e) {
40 var lockOptions = this.getCurrentLockOptions();
41 if (lockOptions.is_locked) {
42 e.preventDefault();
43 }
44 }
45 }, {
46 key: "onTemplateTypeChange",
47 value: function onTemplateTypeChange() {
48 var lockOptions = this.getCurrentLockOptions();
49 if (lockOptions.is_locked) {
50 this.lock(lockOptions);
51 } else {
52 this.unlock();
53 }
54 }
55 }, {
56 key: "getCurrentLockOptions",
57 value: function getCurrentLockOptions() {
58 var templateType = this.elements.templateType,
59 currentOption = templateType.options[templateType.selectedIndex];
60 return JSON.parse(currentOption.dataset.lock || '{}');
61 }
62 }, {
63 key: "lock",
64 value: function lock(lockOptions) {
65 this.showLockBadge(lockOptions.badge);
66 this.showLockButton(lockOptions.button);
67 this.hideSubmitButton();
68 }
69 }, {
70 key: "unlock",
71 value: function unlock() {
72 this.hideLockBadge();
73 this.hideLockButton();
74 this.showSubmitButton();
75 }
76 }, {
77 key: "showLockBadge",
78 value: function showLockBadge(badgeConfig) {
79 var _this$elements2 = this.elements,
80 lockBadge = _this$elements2.lockBadge,
81 lockBadgeText = _this$elements2.lockBadgeText,
82 lockBadgeIcon = _this$elements2.lockBadgeIcon;
83 lockBadgeText.innerText = badgeConfig.text;
84 lockBadgeIcon.className = badgeConfig.icon;
85 lockBadge.classList.remove('e-hidden');
86 }
87 }, {
88 key: "hideLockBadge",
89 value: function hideLockBadge() {
90 this.elements.lockBadge.classList.add('e-hidden');
91 }
92 }, {
93 key: "showLockButton",
94 value: function showLockButton(buttonConfig) {
95 var lockButton = this.elements.lockButton;
96 lockButton.href = this.replaceLockLinkPlaceholders(buttonConfig.url);
97 lockButton.innerText = buttonConfig.text;
98 lockButton.classList.remove('e-hidden');
99 }
100 }, {
101 key: "hideLockButton",
102 value: function hideLockButton() {
103 this.elements.lockButton.classList.add('e-hidden');
104 }
105 }, {
106 key: "showSubmitButton",
107 value: function showSubmitButton() {
108 this.elements.submitButton.classList.remove('e-hidden');
109 }
110 }, {
111 key: "hideSubmitButton",
112 value: function hideSubmitButton() {
113 this.elements.submitButton.classList.add('e-hidden');
114 }
115 }, {
116 key: "replaceLockLinkPlaceholders",
117 value: function replaceLockLinkPlaceholders(link) {
118 return link.replace(/%%utm_source%%/g, 'wp-add-new').replace(/%%utm_medium%%/g, 'wp-dash');
119 }
120 }]);
121 }();
122
123 /***/ }),
124
125 /***/ "../assets/dev/js/admin/new-template/layout.js":
126 /*!*****************************************************!*\
127 !*** ../assets/dev/js/admin/new-template/layout.js ***!
128 \*****************************************************/
129 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
130
131 "use strict";
132 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
133
134
135 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
136 var _lockPro = _interopRequireDefault(__webpack_require__(/*! ./behaviors/lock-pro */ "../assets/dev/js/admin/new-template/behaviors/lock-pro.js"));
137 var NewTemplateView = __webpack_require__(/*! elementor-admin/new-template/view */ "../assets/dev/js/admin/new-template/view.js");
138 module.exports = elementorModules.common.views.modal.Layout.extend({
139 getModalOptions: function getModalOptions() {
140 return {
141 id: 'elementor-new-template-modal'
142 };
143 },
144 getLogoOptions: function getLogoOptions() {
145 return {
146 title: __('New Template', 'elementor')
147 };
148 },
149 initialize: function initialize() {
150 elementorModules.common.views.modal.Layout.prototype.initialize.apply(this, arguments);
151 this.showLogo();
152 this.showContentView();
153 this.initElements();
154 this.lockProBehavior = new _lockPro.default(this.elements);
155 this.lockProBehavior.bindEvents();
156 this.setupDynamicControlsVisibility();
157 },
158 setupDynamicControlsVisibility: function setupDynamicControlsVisibility() {
159 // eslint-disable-next-line camelcase
160 var isFormControlsDefined = 'undefined' !== typeof elementor_new_template_form_controls;
161 if (!isFormControlsDefined) {
162 return;
163 }
164 var CONTROL_ID_PREFIX = 'elementor-new-template__form__';
165 var templateTypeSelectId = "".concat(CONTROL_ID_PREFIX, "template-type");
166 var dynamicControlsVisibilityListener = function dynamicControlsVisibilityListener() {
167 // eslint-disable-next-line camelcase
168 elementorAdmin.templateControls.setDynamicControlsVisibility(CONTROL_ID_PREFIX, elementor_new_template_form_controls);
169 };
170 this.getModal().onShow = function () {
171 dynamicControlsVisibilityListener();
172 document.getElementById(templateTypeSelectId).addEventListener('change', dynamicControlsVisibilityListener);
173 };
174 this.getModal().onHide = function () {
175 document.getElementById(templateTypeSelectId).removeEventListener('change', dynamicControlsVisibilityListener);
176 };
177 },
178 initElements: function initElements() {
179 var container = this.$el[0],
180 root = '#elementor-new-template__form';
181 this.elements = {
182 form: container.querySelector(root),
183 submitButton: container.querySelector("".concat(root, "__submit")),
184 lockButton: container.querySelector("".concat(root, "__lock_button")),
185 templateType: container.querySelector("".concat(root, "__template-type")),
186 lockBadge: container.querySelector("".concat(root, "__template-type-badge")),
187 lockBadgeText: container.querySelector("".concat(root, "__template-type-badge__text")),
188 lockBadgeIcon: container.querySelector("".concat(root, "__template-type-badge__icon"))
189 };
190 },
191 showContentView: function showContentView() {
192 this.modalContent.show(new NewTemplateView());
193 }
194 });
195
196 /***/ }),
197
198 /***/ "../assets/dev/js/admin/new-template/view.js":
199 /*!***************************************************!*\
200 !*** ../assets/dev/js/admin/new-template/view.js ***!
201 \***************************************************/
202 /***/ ((module) => {
203
204 "use strict";
205
206
207 module.exports = Marionette.ItemView.extend({
208 id: 'elementor-new-template-dialog-content',
209 template: '#tmpl-elementor-new-template',
210 ui: {},
211 events: {},
212 onRender: function onRender() {}
213 });
214
215 /***/ }),
216
217 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
218 /*!****************************************************************!*\
219 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
220 \****************************************************************/
221 /***/ ((module) => {
222
223 function _classCallCheck(a, n) {
224 if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
225 }
226 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
227
228 /***/ }),
229
230 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
231 /*!*************************************************************!*\
232 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
233 \*************************************************************/
234 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
235
236 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
237 function _defineProperties(e, r) {
238 for (var t = 0; t < r.length; t++) {
239 var o = r[t];
240 o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
241 }
242 }
243 function _createClass(e, r, t) {
244 return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
245 writable: !1
246 }), e;
247 }
248 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
249
250 /***/ }),
251
252 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
253 /*!***********************************************************************!*\
254 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
255 \***********************************************************************/
256 /***/ ((module) => {
257
258 function _interopRequireDefault(e) {
259 return e && e.__esModule ? e : {
260 "default": e
261 };
262 }
263 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
264
265 /***/ }),
266
267 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
268 /*!*************************************************************!*\
269 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
270 \*************************************************************/
271 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
272
273 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
274 function toPrimitive(t, r) {
275 if ("object" != _typeof(t) || !t) return t;
276 var e = t[Symbol.toPrimitive];
277 if (void 0 !== e) {
278 var i = e.call(t, r || "default");
279 if ("object" != _typeof(i)) return i;
280 throw new TypeError("@@toPrimitive must return a primitive value.");
281 }
282 return ("string" === r ? String : Number)(t);
283 }
284 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
285
286 /***/ }),
287
288 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
289 /*!***************************************************************!*\
290 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
291 \***************************************************************/
292 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
293
294 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
295 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
296 function toPropertyKey(t) {
297 var i = toPrimitive(t, "string");
298 return "symbol" == _typeof(i) ? i : i + "";
299 }
300 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
301
302 /***/ }),
303
304 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
305 /*!********************************************************!*\
306 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
307 \********************************************************/
308 /***/ ((module) => {
309
310 function _typeof(o) {
311 "@babel/helpers - typeof";
312
313 return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
314 return typeof o;
315 } : function (o) {
316 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
317 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
318 }
319 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
320
321 /***/ }),
322
323 /***/ "@wordpress/i18n":
324 /*!**************************!*\
325 !*** external "wp.i18n" ***!
326 \**************************/
327 /***/ ((module) => {
328
329 "use strict";
330 module.exports = wp.i18n;
331
332 /***/ })
333
334 /******/ });
335 /************************************************************************/
336 /******/ // The module cache
337 /******/ var __webpack_module_cache__ = {};
338 /******/
339 /******/ // The require function
340 /******/ function __webpack_require__(moduleId) {
341 /******/ // Check if module is in cache
342 /******/ var cachedModule = __webpack_module_cache__[moduleId];
343 /******/ if (cachedModule !== undefined) {
344 /******/ return cachedModule.exports;
345 /******/ }
346 /******/ // Create a new module (and put it into the cache)
347 /******/ var module = __webpack_module_cache__[moduleId] = {
348 /******/ // no module.id needed
349 /******/ // no module.loaded needed
350 /******/ exports: {}
351 /******/ };
352 /******/
353 /******/ // Execute the module function
354 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
355 /******/
356 /******/ // Return the exports of the module
357 /******/ return module.exports;
358 /******/ }
359 /******/
360 /************************************************************************/
361 var __webpack_exports__ = {};
362 // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
363 (() => {
364 "use strict";
365 /*!***********************************************************!*\
366 !*** ../assets/dev/js/admin/new-template/new-template.js ***!
367 \***********************************************************/
368
369
370 var NewTemplateLayout = __webpack_require__(/*! elementor-admin/new-template/layout */ "../assets/dev/js/admin/new-template/layout.js");
371 var NewTemplateModule = elementorModules.ViewModule.extend({
372 getDefaultSettings: function getDefaultSettings() {
373 return {
374 selectors: {
375 addButton: 'a.page-title-action[href*="post-new.php?post_type=elementor_library"], #elementor-template-library-add-new'
376 }
377 };
378 },
379 getDefaultElements: function getDefaultElements() {
380 var selectors = this.getSettings('selectors');
381 return {
382 $addButton: jQuery(selectors.addButton)
383 };
384 },
385 bindEvents: function bindEvents() {
386 this.elements.$addButton.on('click', this.onAddButtonClick);
387 elementorCommon.elements.$window.on('hashchange', this.showModalByHash.bind(this));
388 },
389 showModalByHash: function showModalByHash() {
390 if ('#add_new' === location.hash) {
391 var _this$layout;
392 (_this$layout = this.layout) === null || _this$layout === void 0 || _this$layout.showModal();
393 location.hash = '';
394 }
395 },
396 onInit: function onInit() {
397 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
398 this.layout = new NewTemplateLayout();
399 this.showModalByHash();
400 },
401 onAddButtonClick: function onAddButtonClick(event) {
402 var _this$layout2;
403 event.preventDefault();
404 (_this$layout2 = this.layout) === null || _this$layout2 === void 0 || _this$layout2.showModal();
405 }
406 });
407 jQuery(function () {
408 window.elementorNewTemplate = new NewTemplateModule();
409 });
410 })();
411
412 /******/ })()
413 ;
414 //# sourceMappingURL=new-template.js.map