37607 lines
1.0 MiB
Plaintext
37607 lines
1.0 MiB
Plaintext
/*! elementor - v3.0.11 - 30-09-2020 */
|
|
/******/ (function(modules) { // webpackBootstrap
|
|
/******/ // The module cache
|
|
/******/ var installedModules = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/
|
|
/******/ // Check if module is in cache
|
|
/******/ if(installedModules[moduleId]) {
|
|
/******/ return installedModules[moduleId].exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = installedModules[moduleId] = {
|
|
/******/ i: moduleId,
|
|
/******/ l: false,
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Flag the module as loaded
|
|
/******/ module.l = true;
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = modules;
|
|
/******/
|
|
/******/ // expose the module cache
|
|
/******/ __webpack_require__.c = installedModules;
|
|
/******/
|
|
/******/ // define getter function for harmony exports
|
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
/******/ }
|
|
/******/ };
|
|
/******/
|
|
/******/ // define __esModule on exports
|
|
/******/ __webpack_require__.r = function(exports) {
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
/******/ }
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
/******/ };
|
|
/******/
|
|
/******/ // create a fake namespace object
|
|
/******/ // mode & 1: value is a module id, require it
|
|
/******/ // mode & 2: merge all properties of value into the ns
|
|
/******/ // mode & 4: return value when already ns object
|
|
/******/ // mode & 8|1: behave like require
|
|
/******/ __webpack_require__.t = function(value, mode) {
|
|
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
/******/ if(mode & 8) return value;
|
|
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
/******/ var ns = Object.create(null);
|
|
/******/ __webpack_require__.r(ns);
|
|
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
/******/ return ns;
|
|
/******/ };
|
|
/******/
|
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
/******/ __webpack_require__.n = function(module) {
|
|
/******/ var getter = module && module.__esModule ?
|
|
/******/ function getDefault() { return module['default']; } :
|
|
/******/ function getModuleExports() { return module; };
|
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
/******/ return getter;
|
|
/******/ };
|
|
/******/
|
|
/******/ // Object.prototype.hasOwnProperty.call
|
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
/******/
|
|
/******/ // __webpack_public_path__
|
|
/******/ __webpack_require__.p = "";
|
|
/******/
|
|
/******/
|
|
/******/ // Load entry module and return exports
|
|
/******/ return __webpack_require__(__webpack_require__.s = 708);
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ([
|
|
/* 0 */
|
|
/***/ (function(module, exports) {
|
|
|
|
function _interopRequireDefault(obj) {
|
|
return obj && obj.__esModule ? obj : {
|
|
"default": obj
|
|
};
|
|
}
|
|
|
|
module.exports = _interopRequireDefault;
|
|
|
|
/***/ }),
|
|
/* 1 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(152);
|
|
|
|
/***/ }),
|
|
/* 2 */
|
|
/***/ (function(module, exports) {
|
|
|
|
function _classCallCheck(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) {
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
}
|
|
|
|
module.exports = _classCallCheck;
|
|
|
|
/***/ }),
|
|
/* 3 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
function _defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor) descriptor.writable = true;
|
|
|
|
_Object$defineProperty(target, descriptor.key, descriptor);
|
|
}
|
|
}
|
|
|
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
return Constructor;
|
|
}
|
|
|
|
module.exports = _createClass;
|
|
|
|
/***/ }),
|
|
/* 4 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$create = __webpack_require__(135);
|
|
|
|
var setPrototypeOf = __webpack_require__(133);
|
|
|
|
function _inherits(subClass, superClass) {
|
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
}
|
|
|
|
subClass.prototype = _Object$create(superClass && superClass.prototype, {
|
|
constructor: {
|
|
value: subClass,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
if (superClass) setPrototypeOf(subClass, superClass);
|
|
}
|
|
|
|
module.exports = _inherits;
|
|
|
|
/***/ }),
|
|
/* 5 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Reflect$construct = __webpack_require__(101);
|
|
|
|
var getPrototypeOf = __webpack_require__(16);
|
|
|
|
var isNativeReflectConstruct = __webpack_require__(141);
|
|
|
|
var possibleConstructorReturn = __webpack_require__(167);
|
|
|
|
function _createSuper(Derived) {
|
|
var hasNativeReflectConstruct = isNativeReflectConstruct();
|
|
return function _createSuperInternal() {
|
|
var Super = getPrototypeOf(Derived),
|
|
result;
|
|
|
|
if (hasNativeReflectConstruct) {
|
|
var NewTarget = getPrototypeOf(this).constructor;
|
|
result = _Reflect$construct(Super, arguments, NewTarget);
|
|
} else {
|
|
result = Super.apply(this, arguments);
|
|
}
|
|
|
|
return possibleConstructorReturn(this, result);
|
|
};
|
|
}
|
|
|
|
module.exports = _createSuper;
|
|
|
|
/***/ }),
|
|
/* 6 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var core = module.exports = { version: '2.6.11' };
|
|
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
|
|
|
|
|
/***/ }),
|
|
/* 7 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(8);
|
|
var core = __webpack_require__(6);
|
|
var ctx = __webpack_require__(31);
|
|
var hide = __webpack_require__(22);
|
|
var has = __webpack_require__(17);
|
|
var PROTOTYPE = 'prototype';
|
|
|
|
var $export = function (type, name, source) {
|
|
var IS_FORCED = type & $export.F;
|
|
var IS_GLOBAL = type & $export.G;
|
|
var IS_STATIC = type & $export.S;
|
|
var IS_PROTO = type & $export.P;
|
|
var IS_BIND = type & $export.B;
|
|
var IS_WRAP = type & $export.W;
|
|
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
|
var expProto = exports[PROTOTYPE];
|
|
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
|
|
var key, own, out;
|
|
if (IS_GLOBAL) source = name;
|
|
for (key in source) {
|
|
// contains in native
|
|
own = !IS_FORCED && target && target[key] !== undefined;
|
|
if (own && has(exports, key)) continue;
|
|
// export native or passed
|
|
out = own ? target[key] : source[key];
|
|
// prevent global pollution for namespaces
|
|
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
|
|
// bind timers to global for call from export context
|
|
: IS_BIND && own ? ctx(out, global)
|
|
// wrap global constructors for prevent change them in library
|
|
: IS_WRAP && target[key] == out ? (function (C) {
|
|
var F = function (a, b, c) {
|
|
if (this instanceof C) {
|
|
switch (arguments.length) {
|
|
case 0: return new C();
|
|
case 1: return new C(a);
|
|
case 2: return new C(a, b);
|
|
} return new C(a, b, c);
|
|
} return C.apply(this, arguments);
|
|
};
|
|
F[PROTOTYPE] = C[PROTOTYPE];
|
|
return F;
|
|
// make static versions for prototype methods
|
|
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
|
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
|
|
if (IS_PROTO) {
|
|
(exports.virtual || (exports.virtual = {}))[key] = out;
|
|
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
|
|
if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
|
|
}
|
|
}
|
|
};
|
|
// type bitmap
|
|
$export.F = 1; // forced
|
|
$export.G = 2; // global
|
|
$export.S = 4; // static
|
|
$export.P = 8; // proto
|
|
$export.B = 16; // bind
|
|
$export.W = 32; // wrap
|
|
$export.U = 64; // safe
|
|
$export.R = 128; // real proto method for `library`
|
|
module.exports = $export;
|
|
|
|
|
|
/***/ }),
|
|
/* 8 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
|
? window : typeof self != 'undefined' && self.Math == Math ? self
|
|
// eslint-disable-next-line no-new-func
|
|
: Function('return this')();
|
|
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
|
|
|
|
|
/***/ }),
|
|
/* 9 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (it) {
|
|
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 10 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var store = __webpack_require__(69)('wks');
|
|
var uid = __webpack_require__(54);
|
|
var Symbol = __webpack_require__(8).Symbol;
|
|
var USE_SYMBOL = typeof Symbol == 'function';
|
|
|
|
var $exports = module.exports = function (name) {
|
|
return store[name] || (store[name] =
|
|
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
|
};
|
|
|
|
$exports.store = store;
|
|
|
|
|
|
/***/ }),
|
|
/* 11 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(9);
|
|
module.exports = function (it) {
|
|
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 12 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = React;
|
|
|
|
/***/ }),
|
|
/* 13 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var store = __webpack_require__(76)('wks');
|
|
var uid = __webpack_require__(77);
|
|
var Symbol = __webpack_require__(18).Symbol;
|
|
var USE_SYMBOL = typeof Symbol == 'function';
|
|
|
|
var $exports = module.exports = function (name) {
|
|
return store[name] || (store[name] =
|
|
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
|
};
|
|
|
|
$exports.store = store;
|
|
|
|
|
|
/***/ }),
|
|
/* 14 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// Thank's IE8 for his funny defineProperty
|
|
module.exports = !__webpack_require__(21)(function () {
|
|
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 15 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var anObject = __webpack_require__(11);
|
|
var IE8_DOM_DEFINE = __webpack_require__(110);
|
|
var toPrimitive = __webpack_require__(67);
|
|
var dP = Object.defineProperty;
|
|
|
|
exports.f = __webpack_require__(14) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
|
anObject(O);
|
|
P = toPrimitive(P, true);
|
|
anObject(Attributes);
|
|
if (IE8_DOM_DEFINE) try {
|
|
return dP(O, P, Attributes);
|
|
} catch (e) { /* empty */ }
|
|
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
|
if ('value' in Attributes) O[P] = Attributes.value;
|
|
return O;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 16 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$getPrototypeOf = __webpack_require__(154);
|
|
|
|
var _Object$setPrototypeOf = __webpack_require__(111);
|
|
|
|
function _getPrototypeOf(o) {
|
|
module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {
|
|
return o.__proto__ || _Object$getPrototypeOf(o);
|
|
};
|
|
return _getPrototypeOf(o);
|
|
}
|
|
|
|
module.exports = _getPrototypeOf;
|
|
|
|
/***/ }),
|
|
/* 17 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var hasOwnProperty = {}.hasOwnProperty;
|
|
module.exports = function (it, key) {
|
|
return hasOwnProperty.call(it, key);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 18 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
|
? window : typeof self != 'undefined' && self.Math == Math ? self
|
|
// eslint-disable-next-line no-new-func
|
|
: Function('return this')();
|
|
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
|
|
|
|
|
/***/ }),
|
|
/* 19 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
|
var IObject = __webpack_require__(100);
|
|
var defined = __webpack_require__(65);
|
|
module.exports = function (it) {
|
|
return IObject(defined(it));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 20 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(30);
|
|
module.exports = function (it) {
|
|
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 21 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (exec) {
|
|
try {
|
|
return !!exec();
|
|
} catch (e) {
|
|
return true;
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 22 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var dP = __webpack_require__(15);
|
|
var createDesc = __webpack_require__(42);
|
|
module.exports = __webpack_require__(14) ? function (object, key, value) {
|
|
return dP.f(object, key, createDesc(1, value));
|
|
} : function (object, key, value) {
|
|
object[key] = value;
|
|
return object;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 23 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
var _regenerator = _interopRequireDefault(__webpack_require__(83));
|
|
|
|
__webpack_require__(150);
|
|
|
|
__webpack_require__(118);
|
|
|
|
__webpack_require__(79);
|
|
|
|
__webpack_require__(271);
|
|
|
|
var _promise = _interopRequireDefault(__webpack_require__(137));
|
|
|
|
var _isArray = _interopRequireDefault(__webpack_require__(85));
|
|
|
|
__webpack_require__(66);
|
|
|
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(84));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _argsObject = _interopRequireDefault(__webpack_require__(223));
|
|
|
|
var CommandBase = /*#__PURE__*/function (_ArgsObject) {
|
|
(0, _inherits2.default)(CommandBase, _ArgsObject);
|
|
|
|
var _super = (0, _createSuper2.default)(CommandBase);
|
|
|
|
(0, _createClass2.default)(CommandBase, null, [{
|
|
key: "getInstanceType",
|
|
value: function getInstanceType() {
|
|
return 'CommandBase';
|
|
}
|
|
/**
|
|
* Current component.
|
|
*
|
|
* @type {Component}
|
|
*/
|
|
|
|
}]);
|
|
|
|
/**
|
|
* Function constructor().
|
|
*
|
|
* Create Commands Base.
|
|
*
|
|
* @param [args={}]
|
|
* @param [commandsAPI={}]
|
|
*/
|
|
function CommandBase(args) {
|
|
var _this;
|
|
|
|
var commandsAPI = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : $e.commands;
|
|
(0, _classCallCheck2.default)(this, CommandBase);
|
|
_this = _super.call(this, args); // Acknowledge self about which command it run.
|
|
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "component", void 0);
|
|
_this.currentCommand = commandsAPI.getCurrentLast(); // Assign instance of current component.
|
|
|
|
_this.component = commandsAPI.getComponent(_this.currentCommand); // Who ever need do something before without `super` the constructor can use `initialize` method.
|
|
|
|
_this.initialize(args); // Refresh args, maybe the changed via `initialize`.
|
|
|
|
|
|
args = _this.args; // Validate args before run.
|
|
|
|
_this.validateArgs(args);
|
|
|
|
return _this;
|
|
}
|
|
/**
|
|
* Function requireContainer().
|
|
*
|
|
* Validate `arg.container` & `arg.containers`.
|
|
*
|
|
* @param {{}} args
|
|
*
|
|
* @throws {Error}
|
|
*/
|
|
|
|
|
|
(0, _createClass2.default)(CommandBase, [{
|
|
key: "requireContainer",
|
|
value: function requireContainer() {
|
|
var _this2 = this;
|
|
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.args;
|
|
|
|
if (!args.container && !args.containers) {
|
|
throw Error('container or containers are required.');
|
|
}
|
|
|
|
if (args.container && args.containers) {
|
|
throw Error('container and containers cannot go together please select one of them.');
|
|
}
|
|
|
|
var containers = args.containers || [args.container];
|
|
containers.forEach(function (container) {
|
|
_this2.requireArgumentInstance('container', elementorModules.editor.Container, {
|
|
container: container
|
|
});
|
|
});
|
|
}
|
|
/**
|
|
* Function initialize().
|
|
*
|
|
* Initialize command, called after construction.
|
|
*
|
|
* @param [args={}]
|
|
*/
|
|
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
} // eslint-disable-line no-unused-vars
|
|
|
|
/**
|
|
* Function validateArgs().
|
|
*
|
|
* Validate command arguments.
|
|
*
|
|
* @param [args={}]
|
|
*/
|
|
|
|
}, {
|
|
key: "validateArgs",
|
|
value: function validateArgs() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
} // eslint-disable-line no-unused-vars
|
|
|
|
/**
|
|
* Function isDataChanged().
|
|
*
|
|
* Whether the editor needs to set change flag on/off.
|
|
*
|
|
* @returns {boolean}
|
|
*/
|
|
|
|
}, {
|
|
key: "isDataChanged",
|
|
value: function isDataChanged() {
|
|
return false;
|
|
}
|
|
/**
|
|
* Function apply().
|
|
*
|
|
* Do the actual command.
|
|
*
|
|
* @param [args={}]
|
|
*
|
|
* @returns {*}
|
|
*/
|
|
|
|
}, {
|
|
key: "apply",
|
|
value: function apply() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
// eslint-disable-line no-unused-vars
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
/**
|
|
* Function run().
|
|
*
|
|
* Run command with history & hooks.
|
|
*
|
|
* @returns {*}
|
|
*/
|
|
|
|
}, {
|
|
key: "run",
|
|
value: function run() {
|
|
var result; // For UI Hooks.
|
|
|
|
this.onBeforeRun(this.args);
|
|
|
|
try {
|
|
// For Data hooks.
|
|
this.onBeforeApply(this.args);
|
|
result = this.apply(this.args);
|
|
} catch (e) {
|
|
this.onCatchApply(e); // Catch 'Hook-Break' that comes from hooks base.
|
|
|
|
if (e instanceof $e.modules.HookBreak) {
|
|
// Bypass.
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return this.runAfter(result);
|
|
}
|
|
}, {
|
|
key: "runAfter",
|
|
value: function runAfter(result) {
|
|
var _this3 = this;
|
|
|
|
var onAfter = function onAfter(_result) {
|
|
// Run Data hooks.
|
|
_this3.onAfterApply(_this3.args, _result); // TODO: Create Command-Base for Command-Document and apply it on after.
|
|
|
|
|
|
if (_this3.isDataChanged()) {
|
|
$e.internal('document/save/set-is-modified', {
|
|
status: true
|
|
});
|
|
} // For UI hooks.
|
|
|
|
|
|
_this3.onAfterRun(_this3.args, _result);
|
|
},
|
|
asyncOnAfter = /*#__PURE__*/function () {
|
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_result) {
|
|
var results, promises;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
// Run Data hooks.
|
|
results = _this3.onAfterApply(_this3.args, _result), promises = (0, _isArray.default)(results) ? results.flat().filter(function (filtered) {
|
|
return filtered instanceof _promise.default;
|
|
}) : [];
|
|
|
|
if (!promises.length) {
|
|
_context.next = 4;
|
|
break;
|
|
}
|
|
|
|
_context.next = 4;
|
|
return _promise.default.all(promises);
|
|
|
|
case 4:
|
|
if (_this3.isDataChanged()) {
|
|
// TODO: Create Command-Base for Command-Document and apply it on after.
|
|
$e.internal('document/save/set-is-modified', {
|
|
status: true
|
|
});
|
|
} // For UI hooks.
|
|
|
|
|
|
_this3.onAfterRun(_this3.args, _result);
|
|
|
|
case 6:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee);
|
|
}));
|
|
|
|
return function asyncOnAfter(_x) {
|
|
return _ref.apply(this, arguments);
|
|
};
|
|
}(); // TODO: Temp code determine if it's a jQuery deferred object.
|
|
|
|
|
|
if (result && 'object' === (0, _typeof2.default)(result) && result.promise && result.then && result.fail) {
|
|
result.fail(this.onCatchApply.bind(this));
|
|
result.done(onAfter);
|
|
} else if (result instanceof _promise.default) {
|
|
// Override initial result ( promise ) to await onAfter promises, first!.
|
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
while (1) {
|
|
switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
_context2.next = 2;
|
|
return result.catch(_this3.onCatchApply.bind(_this3));
|
|
|
|
case 2:
|
|
_context2.next = 4;
|
|
return result.then(function (_result) {
|
|
return asyncOnAfter(_result);
|
|
});
|
|
|
|
case 4:
|
|
return _context2.abrupt("return", result);
|
|
|
|
case 5:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}
|
|
}, _callee2);
|
|
}))();
|
|
} else {
|
|
onAfter(result);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
/**
|
|
* Function onBeforeRun.
|
|
*
|
|
* Called before run().
|
|
*
|
|
* @param [args={}]
|
|
*/
|
|
|
|
}, {
|
|
key: "onBeforeRun",
|
|
value: function onBeforeRun() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
$e.hooks.runUIBefore(this.currentCommand, args);
|
|
}
|
|
/**
|
|
* Function onAfterRun.
|
|
*
|
|
* Called after run().
|
|
*
|
|
* @param [args={}]
|
|
* @param [result={*}]
|
|
*/
|
|
|
|
}, {
|
|
key: "onAfterRun",
|
|
value: function onAfterRun() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var result = arguments.length > 1 ? arguments[1] : undefined;
|
|
$e.hooks.runUIAfter(this.currentCommand, args, result);
|
|
}
|
|
/**
|
|
* Function onBeforeApply.
|
|
*
|
|
* Called before apply().
|
|
*
|
|
* @param [args={}]
|
|
*/
|
|
|
|
}, {
|
|
key: "onBeforeApply",
|
|
value: function onBeforeApply() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
$e.hooks.runDataDependency(this.currentCommand, args);
|
|
}
|
|
/**
|
|
* Function onAfterApply.
|
|
*
|
|
* Called after apply().
|
|
*
|
|
* @param [args={}]
|
|
* @param [result={*}]
|
|
*/
|
|
|
|
}, {
|
|
key: "onAfterApply",
|
|
value: function onAfterApply() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var result = arguments.length > 1 ? arguments[1] : undefined;
|
|
return $e.hooks.runDataAfter(this.currentCommand, args, result);
|
|
}
|
|
/**
|
|
* Function onCatchApply.
|
|
*
|
|
* Called after apply() failed.
|
|
*
|
|
* @param {Error} e
|
|
*/
|
|
|
|
}, {
|
|
key: "onCatchApply",
|
|
value: function onCatchApply(e) {
|
|
$e.hooks.runDataCatch(this.currentCommand, this.args, e);
|
|
elementorCommon.helpers.consoleError(e);
|
|
$e.hooks.runUICatch(this.currentCommand, this.args, e);
|
|
}
|
|
}]);
|
|
return CommandBase;
|
|
}(_argsObject.default);
|
|
|
|
exports.default = CommandBase;
|
|
|
|
/***/ }),
|
|
/* 24 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$getOwnPropertyDescriptor = __webpack_require__(117);
|
|
|
|
var _Reflect$get = __webpack_require__(185);
|
|
|
|
var superPropBase = __webpack_require__(188);
|
|
|
|
function _get(target, property, receiver) {
|
|
if (typeof Reflect !== "undefined" && _Reflect$get) {
|
|
module.exports = _get = _Reflect$get;
|
|
} else {
|
|
module.exports = _get = function _get(target, property, receiver) {
|
|
var base = superPropBase(target, property);
|
|
if (!base) return;
|
|
|
|
var desc = _Object$getOwnPropertyDescriptor(base, property);
|
|
|
|
if (desc.get) {
|
|
return desc.get.call(receiver);
|
|
}
|
|
|
|
return desc.value;
|
|
};
|
|
}
|
|
|
|
return _get(target, property, receiver || target);
|
|
}
|
|
|
|
module.exports = _get;
|
|
|
|
/***/ }),
|
|
/* 25 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(201);
|
|
|
|
/***/ }),
|
|
/* 26 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
|
|
var $export = __webpack_require__(37);
|
|
var $find = __webpack_require__(189)(5);
|
|
var KEY = 'find';
|
|
var forced = true;
|
|
// Shouldn't skip holes
|
|
if (KEY in []) Array(1)[KEY](function () { forced = false; });
|
|
$export($export.P + $export.F * forced, 'Array', {
|
|
find: function find(callbackfn /* , that = undefined */) {
|
|
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
}
|
|
});
|
|
__webpack_require__(89)(KEY);
|
|
|
|
|
|
/***/ }),
|
|
/* 27 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// Thank's IE8 for his funny defineProperty
|
|
module.exports = !__webpack_require__(35)(function () {
|
|
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 28 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
function _defineProperty(obj, key, value) {
|
|
if (key in obj) {
|
|
_Object$defineProperty(obj, key, {
|
|
value: value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
|
|
return obj;
|
|
}
|
|
|
|
module.exports = _defineProperty;
|
|
|
|
/***/ }),
|
|
/* 29 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var dP = __webpack_require__(49);
|
|
var createDesc = __webpack_require__(106);
|
|
module.exports = __webpack_require__(27) ? function (object, key, value) {
|
|
return dP.f(object, key, createDesc(1, value));
|
|
} : function (object, key, value) {
|
|
object[key] = value;
|
|
return object;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 30 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (it) {
|
|
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 31 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// optional / simple context binding
|
|
var aFunction = __webpack_require__(34);
|
|
module.exports = function (fn, that, length) {
|
|
aFunction(fn);
|
|
if (that === undefined) return fn;
|
|
switch (length) {
|
|
case 1: return function (a) {
|
|
return fn.call(that, a);
|
|
};
|
|
case 2: return function (a, b) {
|
|
return fn.call(that, a, b);
|
|
};
|
|
case 3: return function (a, b, c) {
|
|
return fn.call(that, a, b, c);
|
|
};
|
|
}
|
|
return function (/* ...args */) {
|
|
return fn.apply(that, arguments);
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 32 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.1.13 ToObject(argument)
|
|
var defined = __webpack_require__(65);
|
|
module.exports = function (it) {
|
|
return Object(defined(it));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 33 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = {};
|
|
|
|
|
|
/***/ }),
|
|
/* 34 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (it) {
|
|
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 35 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (exec) {
|
|
try {
|
|
return !!exec();
|
|
} catch (e) {
|
|
return true;
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 36 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
|
var $keys = __webpack_require__(112);
|
|
var enumBugKeys = __webpack_require__(72);
|
|
|
|
module.exports = Object.keys || function keys(O) {
|
|
return $keys(O, enumBugKeys);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 37 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(18);
|
|
var core = __webpack_require__(57);
|
|
var hide = __webpack_require__(29);
|
|
var redefine = __webpack_require__(39);
|
|
var ctx = __webpack_require__(80);
|
|
var PROTOTYPE = 'prototype';
|
|
|
|
var $export = function (type, name, source) {
|
|
var IS_FORCED = type & $export.F;
|
|
var IS_GLOBAL = type & $export.G;
|
|
var IS_STATIC = type & $export.S;
|
|
var IS_PROTO = type & $export.P;
|
|
var IS_BIND = type & $export.B;
|
|
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
|
|
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
|
var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
|
|
var key, own, out, exp;
|
|
if (IS_GLOBAL) source = name;
|
|
for (key in source) {
|
|
// contains in native
|
|
own = !IS_FORCED && target && target[key] !== undefined;
|
|
// export native or passed
|
|
out = (own ? target : source)[key];
|
|
// bind timers to global for call from export context
|
|
exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
|
// extend global
|
|
if (target) redefine(target, key, out, type & $export.U);
|
|
// export
|
|
if (exports[key] != out) hide(exports, key, exp);
|
|
if (IS_PROTO && expProto[key] != out) expProto[key] = out;
|
|
}
|
|
};
|
|
global.core = core;
|
|
// type bitmap
|
|
$export.F = 1; // forced
|
|
$export.G = 2; // global
|
|
$export.S = 4; // static
|
|
$export.P = 8; // proto
|
|
$export.B = 16; // bind
|
|
$export.W = 32; // wrap
|
|
$export.U = 64; // safe
|
|
$export.R = 128; // real proto method for `library`
|
|
module.exports = $export;
|
|
|
|
|
|
/***/ }),
|
|
/* 38 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$getOwnPropertyDescriptor = __webpack_require__(117);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
var _typeof = __webpack_require__(47);
|
|
|
|
var _WeakMap = __webpack_require__(263);
|
|
|
|
function _getRequireWildcardCache() {
|
|
if (typeof _WeakMap !== "function") return null;
|
|
var cache = new _WeakMap();
|
|
|
|
_getRequireWildcardCache = function _getRequireWildcardCache() {
|
|
return cache;
|
|
};
|
|
|
|
return cache;
|
|
}
|
|
|
|
function _interopRequireWildcard(obj) {
|
|
if (obj && obj.__esModule) {
|
|
return obj;
|
|
}
|
|
|
|
if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {
|
|
return {
|
|
"default": obj
|
|
};
|
|
}
|
|
|
|
var cache = _getRequireWildcardCache();
|
|
|
|
if (cache && cache.has(obj)) {
|
|
return cache.get(obj);
|
|
}
|
|
|
|
var newObj = {};
|
|
var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor;
|
|
|
|
for (var key in obj) {
|
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null;
|
|
|
|
if (desc && (desc.get || desc.set)) {
|
|
_Object$defineProperty(newObj, key, desc);
|
|
} else {
|
|
newObj[key] = obj[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
newObj["default"] = obj;
|
|
|
|
if (cache) {
|
|
cache.set(obj, newObj);
|
|
}
|
|
|
|
return newObj;
|
|
}
|
|
|
|
module.exports = _interopRequireWildcard;
|
|
|
|
/***/ }),
|
|
/* 39 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(18);
|
|
var hide = __webpack_require__(29);
|
|
var has = __webpack_require__(64);
|
|
var SRC = __webpack_require__(77)('src');
|
|
var $toString = __webpack_require__(147);
|
|
var TO_STRING = 'toString';
|
|
var TPL = ('' + $toString).split(TO_STRING);
|
|
|
|
__webpack_require__(57).inspectSource = function (it) {
|
|
return $toString.call(it);
|
|
};
|
|
|
|
(module.exports = function (O, key, val, safe) {
|
|
var isFunction = typeof val == 'function';
|
|
if (isFunction) has(val, 'name') || hide(val, 'name', key);
|
|
if (O[key] === val) return;
|
|
if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
|
|
if (O === global) {
|
|
O[key] = val;
|
|
} else if (!safe) {
|
|
delete O[key];
|
|
hide(O, key, val);
|
|
} else if (O[key]) {
|
|
O[key] = val;
|
|
} else {
|
|
hide(O, key, val);
|
|
}
|
|
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
|
})(Function.prototype, TO_STRING, function toString() {
|
|
return typeof this == 'function' && this[SRC] || $toString.call(this);
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 40 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var dP = __webpack_require__(49).f;
|
|
var FProto = Function.prototype;
|
|
var nameRE = /^\s*function ([^ (]*)/;
|
|
var NAME = 'name';
|
|
|
|
// 19.2.4.2 name
|
|
NAME in FProto || __webpack_require__(27) && dP(FProto, NAME, {
|
|
configurable: true,
|
|
get: function () {
|
|
try {
|
|
return ('' + this).match(nameRE)[1];
|
|
} catch (e) {
|
|
return '';
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 41 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
/**
|
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
if (false) { var throwOnDirectAccess, ReactIs; } else {
|
|
// By explicitly using `prop-types` you are opting into new production behavior.
|
|
// http://fb.me/prop-types-in-prod
|
|
module.exports = __webpack_require__(325)();
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 42 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (bitmap, value) {
|
|
return {
|
|
enumerable: !(bitmap & 1),
|
|
configurable: !(bitmap & 2),
|
|
writable: !(bitmap & 4),
|
|
value: value
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 43 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// 7.2.1 RequireObjectCoercible(argument)
|
|
module.exports = function (it) {
|
|
if (it == undefined) throw TypeError("Can't call method on " + it);
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 44 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = true;
|
|
|
|
|
|
/***/ }),
|
|
/* 45 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.1.15 ToLength
|
|
var toInteger = __webpack_require__(59);
|
|
var min = Math.min;
|
|
module.exports = function (it) {
|
|
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 46 */
|
|
/***/ (function(module, exports) {
|
|
|
|
exports.f = {}.propertyIsEnumerable;
|
|
|
|
|
|
/***/ }),
|
|
/* 47 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Symbol$iterator = __webpack_require__(148);
|
|
|
|
var _Symbol = __webpack_require__(107);
|
|
|
|
function _typeof(obj) {
|
|
"@babel/helpers - typeof";
|
|
|
|
if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") {
|
|
module.exports = _typeof = function _typeof(obj) {
|
|
return typeof obj;
|
|
};
|
|
} else {
|
|
module.exports = _typeof = function _typeof(obj) {
|
|
return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj;
|
|
};
|
|
}
|
|
|
|
return _typeof(obj);
|
|
}
|
|
|
|
module.exports = _typeof;
|
|
|
|
/***/ }),
|
|
/* 48 */
|
|
/***/ (function(module, exports) {
|
|
|
|
function _assertThisInitialized(self) {
|
|
if (self === void 0) {
|
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
module.exports = _assertThisInitialized;
|
|
|
|
/***/ }),
|
|
/* 49 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var anObject = __webpack_require__(20);
|
|
var IE8_DOM_DEFINE = __webpack_require__(131);
|
|
var toPrimitive = __webpack_require__(124);
|
|
var dP = Object.defineProperty;
|
|
|
|
exports.f = __webpack_require__(27) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
|
anObject(O);
|
|
P = toPrimitive(P, true);
|
|
anObject(Attributes);
|
|
if (IE8_DOM_DEFINE) try {
|
|
return dP(O, P, Attributes);
|
|
} catch (e) { /* empty */ }
|
|
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
|
if ('value' in Attributes) O[P] = Attributes.value;
|
|
return O;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 50 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var toString = {}.toString;
|
|
|
|
module.exports = function (it) {
|
|
return toString.call(it).slice(8, -1);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 51 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var pIE = __webpack_require__(46);
|
|
var createDesc = __webpack_require__(42);
|
|
var toIObject = __webpack_require__(19);
|
|
var toPrimitive = __webpack_require__(67);
|
|
var has = __webpack_require__(17);
|
|
var IE8_DOM_DEFINE = __webpack_require__(110);
|
|
var gOPD = Object.getOwnPropertyDescriptor;
|
|
|
|
exports.f = __webpack_require__(14) ? gOPD : function getOwnPropertyDescriptor(O, P) {
|
|
O = toIObject(O);
|
|
P = toPrimitive(P, true);
|
|
if (IE8_DOM_DEFINE) try {
|
|
return gOPD(O, P);
|
|
} catch (e) { /* empty */ }
|
|
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 52 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
|
var anObject = __webpack_require__(11);
|
|
var dPs = __webpack_require__(132);
|
|
var enumBugKeys = __webpack_require__(72);
|
|
var IE_PROTO = __webpack_require__(68)('IE_PROTO');
|
|
var Empty = function () { /* empty */ };
|
|
var PROTOTYPE = 'prototype';
|
|
|
|
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
|
var createDict = function () {
|
|
// Thrash, waste and sodomy: IE GC bug
|
|
var iframe = __webpack_require__(87)('iframe');
|
|
var i = enumBugKeys.length;
|
|
var lt = '<';
|
|
var gt = '>';
|
|
var iframeDocument;
|
|
iframe.style.display = 'none';
|
|
__webpack_require__(129).appendChild(iframe);
|
|
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
|
// createDict = iframe.contentWindow.Object;
|
|
// html.removeChild(iframe);
|
|
iframeDocument = iframe.contentWindow.document;
|
|
iframeDocument.open();
|
|
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
|
iframeDocument.close();
|
|
createDict = iframeDocument.F;
|
|
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
|
return createDict();
|
|
};
|
|
|
|
module.exports = Object.create || function create(O, Properties) {
|
|
var result;
|
|
if (O !== null) {
|
|
Empty[PROTOTYPE] = anObject(O);
|
|
result = new Empty();
|
|
Empty[PROTOTYPE] = null;
|
|
// add "__proto__" for Object.getPrototypeOf polyfill
|
|
result[IE_PROTO] = O;
|
|
} else result = createDict();
|
|
return Properties === undefined ? result : dPs(result, Properties);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 53 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var def = __webpack_require__(15).f;
|
|
var has = __webpack_require__(17);
|
|
var TAG = __webpack_require__(10)('toStringTag');
|
|
|
|
module.exports = function (it, tag, stat) {
|
|
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 54 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var id = 0;
|
|
var px = Math.random();
|
|
module.exports = function (key) {
|
|
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 55 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var toString = {}.toString;
|
|
|
|
module.exports = function (it) {
|
|
return toString.call(it).slice(8, -1);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 56 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(226);
|
|
|
|
/***/ }),
|
|
/* 57 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var core = module.exports = { version: '2.6.11' };
|
|
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
|
|
|
|
|
/***/ }),
|
|
/* 58 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var $at = __webpack_require__(169)(true);
|
|
|
|
// 21.1.3.27 String.prototype[@@iterator]()
|
|
__webpack_require__(102)(String, 'String', function (iterated) {
|
|
this._t = String(iterated); // target
|
|
this._i = 0; // next index
|
|
// 21.1.5.2.1 %StringIteratorPrototype%.next()
|
|
}, function () {
|
|
var O = this._t;
|
|
var index = this._i;
|
|
var point;
|
|
if (index >= O.length) return { value: undefined, done: true };
|
|
point = $at(O, index);
|
|
this._i += point.length;
|
|
return { value: point, done: false };
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 59 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// 7.1.4 ToInteger
|
|
var ceil = Math.ceil;
|
|
var floor = Math.floor;
|
|
module.exports = function (it) {
|
|
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 60 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var anObject = __webpack_require__(20);
|
|
var toObject = __webpack_require__(99);
|
|
var toLength = __webpack_require__(45);
|
|
var toInteger = __webpack_require__(59);
|
|
var advanceStringIndex = __webpack_require__(108);
|
|
var regExpExec = __webpack_require__(97);
|
|
var max = Math.max;
|
|
var min = Math.min;
|
|
var floor = Math.floor;
|
|
var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g;
|
|
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g;
|
|
|
|
var maybeToString = function (it) {
|
|
return it === undefined ? it : String(it);
|
|
};
|
|
|
|
// @@replace logic
|
|
__webpack_require__(98)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {
|
|
return [
|
|
// `String.prototype.replace` method
|
|
// https://tc39.github.io/ecma262/#sec-string.prototype.replace
|
|
function replace(searchValue, replaceValue) {
|
|
var O = defined(this);
|
|
var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
|
|
return fn !== undefined
|
|
? fn.call(searchValue, O, replaceValue)
|
|
: $replace.call(String(O), searchValue, replaceValue);
|
|
},
|
|
// `RegExp.prototype[@@replace]` method
|
|
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
|
|
function (regexp, replaceValue) {
|
|
var res = maybeCallNative($replace, regexp, this, replaceValue);
|
|
if (res.done) return res.value;
|
|
|
|
var rx = anObject(regexp);
|
|
var S = String(this);
|
|
var functionalReplace = typeof replaceValue === 'function';
|
|
if (!functionalReplace) replaceValue = String(replaceValue);
|
|
var global = rx.global;
|
|
if (global) {
|
|
var fullUnicode = rx.unicode;
|
|
rx.lastIndex = 0;
|
|
}
|
|
var results = [];
|
|
while (true) {
|
|
var result = regExpExec(rx, S);
|
|
if (result === null) break;
|
|
results.push(result);
|
|
if (!global) break;
|
|
var matchStr = String(result[0]);
|
|
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
|
}
|
|
var accumulatedResult = '';
|
|
var nextSourcePosition = 0;
|
|
for (var i = 0; i < results.length; i++) {
|
|
result = results[i];
|
|
var matched = String(result[0]);
|
|
var position = max(min(toInteger(result.index), S.length), 0);
|
|
var captures = [];
|
|
// NOTE: This is equivalent to
|
|
// captures = result.slice(1).map(maybeToString)
|
|
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
|
|
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
|
|
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
|
|
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
|
|
var namedCaptures = result.groups;
|
|
if (functionalReplace) {
|
|
var replacerArgs = [matched].concat(captures, position, S);
|
|
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
|
|
var replacement = String(replaceValue.apply(undefined, replacerArgs));
|
|
} else {
|
|
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
|
|
}
|
|
if (position >= nextSourcePosition) {
|
|
accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
|
|
nextSourcePosition = position + matched.length;
|
|
}
|
|
}
|
|
return accumulatedResult + S.slice(nextSourcePosition);
|
|
}
|
|
];
|
|
|
|
// https://tc39.github.io/ecma262/#sec-getsubstitution
|
|
function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
|
|
var tailPos = position + matched.length;
|
|
var m = captures.length;
|
|
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
|
|
if (namedCaptures !== undefined) {
|
|
namedCaptures = toObject(namedCaptures);
|
|
symbols = SUBSTITUTION_SYMBOLS;
|
|
}
|
|
return $replace.call(replacement, symbols, function (match, ch) {
|
|
var capture;
|
|
switch (ch.charAt(0)) {
|
|
case '$': return '$';
|
|
case '&': return matched;
|
|
case '`': return str.slice(0, position);
|
|
case "'": return str.slice(tailPos);
|
|
case '<':
|
|
capture = namedCaptures[ch.slice(1, -1)];
|
|
break;
|
|
default: // \d\d?
|
|
var n = +ch;
|
|
if (n === 0) return match;
|
|
if (n > m) {
|
|
var f = floor(n / 10);
|
|
if (f === 0) return match;
|
|
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
|
|
return match;
|
|
}
|
|
capture = captures[n - 1];
|
|
}
|
|
return capture === undefined ? '' : capture;
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 61 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(171);
|
|
var global = __webpack_require__(8);
|
|
var hide = __webpack_require__(22);
|
|
var Iterators = __webpack_require__(33);
|
|
var TO_STRING_TAG = __webpack_require__(10)('toStringTag');
|
|
|
|
var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
|
|
'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
|
|
'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
|
|
'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
|
|
'TextTrackList,TouchList').split(',');
|
|
|
|
for (var i = 0; i < DOMIterables.length; i++) {
|
|
var NAME = DOMIterables[i];
|
|
var Collection = global[NAME];
|
|
var proto = Collection && Collection.prototype;
|
|
if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
|
|
Iterators[NAME] = Iterators.Array;
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 62 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
exports.f = __webpack_require__(10);
|
|
|
|
|
|
/***/ }),
|
|
/* 63 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
|
var has = __webpack_require__(17);
|
|
var toObject = __webpack_require__(32);
|
|
var IE_PROTO = __webpack_require__(68)('IE_PROTO');
|
|
var ObjectProto = Object.prototype;
|
|
|
|
module.exports = Object.getPrototypeOf || function (O) {
|
|
O = toObject(O);
|
|
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
|
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
|
return O.constructor.prototype;
|
|
} return O instanceof Object ? ObjectProto : null;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 64 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var hasOwnProperty = {}.hasOwnProperty;
|
|
module.exports = function (it, key) {
|
|
return hasOwnProperty.call(it, key);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 65 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// 7.2.1 RequireObjectCoercible(argument)
|
|
module.exports = function (it) {
|
|
if (it == undefined) throw TypeError("Can't call method on " + it);
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 66 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
/**
|
|
* Copyright (c) 2014-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
var runtime = (function (exports) {
|
|
"use strict";
|
|
|
|
var Op = Object.prototype;
|
|
var hasOwn = Op.hasOwnProperty;
|
|
var undefined; // More compressible than void 0.
|
|
var $Symbol = typeof Symbol === "function" ? Symbol : {};
|
|
var iteratorSymbol = $Symbol.iterator || "@@iterator";
|
|
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
|
|
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
|
|
|
|
function define(obj, key, value) {
|
|
Object.defineProperty(obj, key, {
|
|
value: value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
return obj[key];
|
|
}
|
|
try {
|
|
// IE 8 has a broken Object.defineProperty that only works on DOM objects.
|
|
define({}, "");
|
|
} catch (err) {
|
|
define = function(obj, key, value) {
|
|
return obj[key] = value;
|
|
};
|
|
}
|
|
|
|
function wrap(innerFn, outerFn, self, tryLocsList) {
|
|
// If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
|
|
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
|
|
var generator = Object.create(protoGenerator.prototype);
|
|
var context = new Context(tryLocsList || []);
|
|
|
|
// The ._invoke method unifies the implementations of the .next,
|
|
// .throw, and .return methods.
|
|
generator._invoke = makeInvokeMethod(innerFn, self, context);
|
|
|
|
return generator;
|
|
}
|
|
exports.wrap = wrap;
|
|
|
|
// Try/catch helper to minimize deoptimizations. Returns a completion
|
|
// record like context.tryEntries[i].completion. This interface could
|
|
// have been (and was previously) designed to take a closure to be
|
|
// invoked without arguments, but in all the cases we care about we
|
|
// already have an existing method we want to call, so there's no need
|
|
// to create a new function object. We can even get away with assuming
|
|
// the method takes exactly one argument, since that happens to be true
|
|
// in every case, so we don't have to touch the arguments object. The
|
|
// only additional allocation required is the completion record, which
|
|
// has a stable shape and so hopefully should be cheap to allocate.
|
|
function tryCatch(fn, obj, arg) {
|
|
try {
|
|
return { type: "normal", arg: fn.call(obj, arg) };
|
|
} catch (err) {
|
|
return { type: "throw", arg: err };
|
|
}
|
|
}
|
|
|
|
var GenStateSuspendedStart = "suspendedStart";
|
|
var GenStateSuspendedYield = "suspendedYield";
|
|
var GenStateExecuting = "executing";
|
|
var GenStateCompleted = "completed";
|
|
|
|
// Returning this object from the innerFn has the same effect as
|
|
// breaking out of the dispatch switch statement.
|
|
var ContinueSentinel = {};
|
|
|
|
// Dummy constructor functions that we use as the .constructor and
|
|
// .constructor.prototype properties for functions that return Generator
|
|
// objects. For full spec compliance, you may wish to configure your
|
|
// minifier not to mangle the names of these two functions.
|
|
function Generator() {}
|
|
function GeneratorFunction() {}
|
|
function GeneratorFunctionPrototype() {}
|
|
|
|
// This is a polyfill for %IteratorPrototype% for environments that
|
|
// don't natively support it.
|
|
var IteratorPrototype = {};
|
|
IteratorPrototype[iteratorSymbol] = function () {
|
|
return this;
|
|
};
|
|
|
|
var getProto = Object.getPrototypeOf;
|
|
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
|
|
if (NativeIteratorPrototype &&
|
|
NativeIteratorPrototype !== Op &&
|
|
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
|
|
// This environment has a native %IteratorPrototype%; use it instead
|
|
// of the polyfill.
|
|
IteratorPrototype = NativeIteratorPrototype;
|
|
}
|
|
|
|
var Gp = GeneratorFunctionPrototype.prototype =
|
|
Generator.prototype = Object.create(IteratorPrototype);
|
|
GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
|
|
GeneratorFunctionPrototype.constructor = GeneratorFunction;
|
|
GeneratorFunction.displayName = define(
|
|
GeneratorFunctionPrototype,
|
|
toStringTagSymbol,
|
|
"GeneratorFunction"
|
|
);
|
|
|
|
// Helper for defining the .next, .throw, and .return methods of the
|
|
// Iterator interface in terms of a single ._invoke method.
|
|
function defineIteratorMethods(prototype) {
|
|
["next", "throw", "return"].forEach(function(method) {
|
|
define(prototype, method, function(arg) {
|
|
return this._invoke(method, arg);
|
|
});
|
|
});
|
|
}
|
|
|
|
exports.isGeneratorFunction = function(genFun) {
|
|
var ctor = typeof genFun === "function" && genFun.constructor;
|
|
return ctor
|
|
? ctor === GeneratorFunction ||
|
|
// For the native GeneratorFunction constructor, the best we can
|
|
// do is to check its .name property.
|
|
(ctor.displayName || ctor.name) === "GeneratorFunction"
|
|
: false;
|
|
};
|
|
|
|
exports.mark = function(genFun) {
|
|
if (Object.setPrototypeOf) {
|
|
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
|
|
} else {
|
|
genFun.__proto__ = GeneratorFunctionPrototype;
|
|
define(genFun, toStringTagSymbol, "GeneratorFunction");
|
|
}
|
|
genFun.prototype = Object.create(Gp);
|
|
return genFun;
|
|
};
|
|
|
|
// Within the body of any async function, `await x` is transformed to
|
|
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
|
|
// `hasOwn.call(value, "__await")` to determine if the yielded value is
|
|
// meant to be awaited.
|
|
exports.awrap = function(arg) {
|
|
return { __await: arg };
|
|
};
|
|
|
|
function AsyncIterator(generator, PromiseImpl) {
|
|
function invoke(method, arg, resolve, reject) {
|
|
var record = tryCatch(generator[method], generator, arg);
|
|
if (record.type === "throw") {
|
|
reject(record.arg);
|
|
} else {
|
|
var result = record.arg;
|
|
var value = result.value;
|
|
if (value &&
|
|
typeof value === "object" &&
|
|
hasOwn.call(value, "__await")) {
|
|
return PromiseImpl.resolve(value.__await).then(function(value) {
|
|
invoke("next", value, resolve, reject);
|
|
}, function(err) {
|
|
invoke("throw", err, resolve, reject);
|
|
});
|
|
}
|
|
|
|
return PromiseImpl.resolve(value).then(function(unwrapped) {
|
|
// When a yielded Promise is resolved, its final value becomes
|
|
// the .value of the Promise<{value,done}> result for the
|
|
// current iteration.
|
|
result.value = unwrapped;
|
|
resolve(result);
|
|
}, function(error) {
|
|
// If a rejected Promise was yielded, throw the rejection back
|
|
// into the async generator function so it can be handled there.
|
|
return invoke("throw", error, resolve, reject);
|
|
});
|
|
}
|
|
}
|
|
|
|
var previousPromise;
|
|
|
|
function enqueue(method, arg) {
|
|
function callInvokeWithMethodAndArg() {
|
|
return new PromiseImpl(function(resolve, reject) {
|
|
invoke(method, arg, resolve, reject);
|
|
});
|
|
}
|
|
|
|
return previousPromise =
|
|
// If enqueue has been called before, then we want to wait until
|
|
// all previous Promises have been resolved before calling invoke,
|
|
// so that results are always delivered in the correct order. If
|
|
// enqueue has not been called before, then it is important to
|
|
// call invoke immediately, without waiting on a callback to fire,
|
|
// so that the async generator function has the opportunity to do
|
|
// any necessary setup in a predictable way. This predictability
|
|
// is why the Promise constructor synchronously invokes its
|
|
// executor callback, and why async functions synchronously
|
|
// execute code before the first await. Since we implement simple
|
|
// async functions in terms of async generators, it is especially
|
|
// important to get this right, even though it requires care.
|
|
previousPromise ? previousPromise.then(
|
|
callInvokeWithMethodAndArg,
|
|
// Avoid propagating failures to Promises returned by later
|
|
// invocations of the iterator.
|
|
callInvokeWithMethodAndArg
|
|
) : callInvokeWithMethodAndArg();
|
|
}
|
|
|
|
// Define the unified helper method that is used to implement .next,
|
|
// .throw, and .return (see defineIteratorMethods).
|
|
this._invoke = enqueue;
|
|
}
|
|
|
|
defineIteratorMethods(AsyncIterator.prototype);
|
|
AsyncIterator.prototype[asyncIteratorSymbol] = function () {
|
|
return this;
|
|
};
|
|
exports.AsyncIterator = AsyncIterator;
|
|
|
|
// Note that simple async functions are implemented on top of
|
|
// AsyncIterator objects; they just return a Promise for the value of
|
|
// the final result produced by the iterator.
|
|
exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
|
|
if (PromiseImpl === void 0) PromiseImpl = Promise;
|
|
|
|
var iter = new AsyncIterator(
|
|
wrap(innerFn, outerFn, self, tryLocsList),
|
|
PromiseImpl
|
|
);
|
|
|
|
return exports.isGeneratorFunction(outerFn)
|
|
? iter // If outerFn is a generator, return the full iterator.
|
|
: iter.next().then(function(result) {
|
|
return result.done ? result.value : iter.next();
|
|
});
|
|
};
|
|
|
|
function makeInvokeMethod(innerFn, self, context) {
|
|
var state = GenStateSuspendedStart;
|
|
|
|
return function invoke(method, arg) {
|
|
if (state === GenStateExecuting) {
|
|
throw new Error("Generator is already running");
|
|
}
|
|
|
|
if (state === GenStateCompleted) {
|
|
if (method === "throw") {
|
|
throw arg;
|
|
}
|
|
|
|
// Be forgiving, per 25.3.3.3.3 of the spec:
|
|
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
|
|
return doneResult();
|
|
}
|
|
|
|
context.method = method;
|
|
context.arg = arg;
|
|
|
|
while (true) {
|
|
var delegate = context.delegate;
|
|
if (delegate) {
|
|
var delegateResult = maybeInvokeDelegate(delegate, context);
|
|
if (delegateResult) {
|
|
if (delegateResult === ContinueSentinel) continue;
|
|
return delegateResult;
|
|
}
|
|
}
|
|
|
|
if (context.method === "next") {
|
|
// Setting context._sent for legacy support of Babel's
|
|
// function.sent implementation.
|
|
context.sent = context._sent = context.arg;
|
|
|
|
} else if (context.method === "throw") {
|
|
if (state === GenStateSuspendedStart) {
|
|
state = GenStateCompleted;
|
|
throw context.arg;
|
|
}
|
|
|
|
context.dispatchException(context.arg);
|
|
|
|
} else if (context.method === "return") {
|
|
context.abrupt("return", context.arg);
|
|
}
|
|
|
|
state = GenStateExecuting;
|
|
|
|
var record = tryCatch(innerFn, self, context);
|
|
if (record.type === "normal") {
|
|
// If an exception is thrown from innerFn, we leave state ===
|
|
// GenStateExecuting and loop back for another invocation.
|
|
state = context.done
|
|
? GenStateCompleted
|
|
: GenStateSuspendedYield;
|
|
|
|
if (record.arg === ContinueSentinel) {
|
|
continue;
|
|
}
|
|
|
|
return {
|
|
value: record.arg,
|
|
done: context.done
|
|
};
|
|
|
|
} else if (record.type === "throw") {
|
|
state = GenStateCompleted;
|
|
// Dispatch the exception by looping back around to the
|
|
// context.dispatchException(context.arg) call above.
|
|
context.method = "throw";
|
|
context.arg = record.arg;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// Call delegate.iterator[context.method](context.arg) and handle the
|
|
// result, either by returning a { value, done } result from the
|
|
// delegate iterator, or by modifying context.method and context.arg,
|
|
// setting context.delegate to null, and returning the ContinueSentinel.
|
|
function maybeInvokeDelegate(delegate, context) {
|
|
var method = delegate.iterator[context.method];
|
|
if (method === undefined) {
|
|
// A .throw or .return when the delegate iterator has no .throw
|
|
// method always terminates the yield* loop.
|
|
context.delegate = null;
|
|
|
|
if (context.method === "throw") {
|
|
// Note: ["return"] must be used for ES3 parsing compatibility.
|
|
if (delegate.iterator["return"]) {
|
|
// If the delegate iterator has a return method, give it a
|
|
// chance to clean up.
|
|
context.method = "return";
|
|
context.arg = undefined;
|
|
maybeInvokeDelegate(delegate, context);
|
|
|
|
if (context.method === "throw") {
|
|
// If maybeInvokeDelegate(context) changed context.method from
|
|
// "return" to "throw", let that override the TypeError below.
|
|
return ContinueSentinel;
|
|
}
|
|
}
|
|
|
|
context.method = "throw";
|
|
context.arg = new TypeError(
|
|
"The iterator does not provide a 'throw' method");
|
|
}
|
|
|
|
return ContinueSentinel;
|
|
}
|
|
|
|
var record = tryCatch(method, delegate.iterator, context.arg);
|
|
|
|
if (record.type === "throw") {
|
|
context.method = "throw";
|
|
context.arg = record.arg;
|
|
context.delegate = null;
|
|
return ContinueSentinel;
|
|
}
|
|
|
|
var info = record.arg;
|
|
|
|
if (! info) {
|
|
context.method = "throw";
|
|
context.arg = new TypeError("iterator result is not an object");
|
|
context.delegate = null;
|
|
return ContinueSentinel;
|
|
}
|
|
|
|
if (info.done) {
|
|
// Assign the result of the finished delegate to the temporary
|
|
// variable specified by delegate.resultName (see delegateYield).
|
|
context[delegate.resultName] = info.value;
|
|
|
|
// Resume execution at the desired location (see delegateYield).
|
|
context.next = delegate.nextLoc;
|
|
|
|
// If context.method was "throw" but the delegate handled the
|
|
// exception, let the outer generator proceed normally. If
|
|
// context.method was "next", forget context.arg since it has been
|
|
// "consumed" by the delegate iterator. If context.method was
|
|
// "return", allow the original .return call to continue in the
|
|
// outer generator.
|
|
if (context.method !== "return") {
|
|
context.method = "next";
|
|
context.arg = undefined;
|
|
}
|
|
|
|
} else {
|
|
// Re-yield the result returned by the delegate method.
|
|
return info;
|
|
}
|
|
|
|
// The delegate iterator is finished, so forget it and continue with
|
|
// the outer generator.
|
|
context.delegate = null;
|
|
return ContinueSentinel;
|
|
}
|
|
|
|
// Define Generator.prototype.{next,throw,return} in terms of the
|
|
// unified ._invoke helper method.
|
|
defineIteratorMethods(Gp);
|
|
|
|
define(Gp, toStringTagSymbol, "Generator");
|
|
|
|
// A Generator should always return itself as the iterator object when the
|
|
// @@iterator function is called on it. Some browsers' implementations of the
|
|
// iterator prototype chain incorrectly implement this, causing the Generator
|
|
// object to not be returned from this call. This ensures that doesn't happen.
|
|
// See https://github.com/facebook/regenerator/issues/274 for more details.
|
|
Gp[iteratorSymbol] = function() {
|
|
return this;
|
|
};
|
|
|
|
Gp.toString = function() {
|
|
return "[object Generator]";
|
|
};
|
|
|
|
function pushTryEntry(locs) {
|
|
var entry = { tryLoc: locs[0] };
|
|
|
|
if (1 in locs) {
|
|
entry.catchLoc = locs[1];
|
|
}
|
|
|
|
if (2 in locs) {
|
|
entry.finallyLoc = locs[2];
|
|
entry.afterLoc = locs[3];
|
|
}
|
|
|
|
this.tryEntries.push(entry);
|
|
}
|
|
|
|
function resetTryEntry(entry) {
|
|
var record = entry.completion || {};
|
|
record.type = "normal";
|
|
delete record.arg;
|
|
entry.completion = record;
|
|
}
|
|
|
|
function Context(tryLocsList) {
|
|
// The root entry object (effectively a try statement without a catch
|
|
// or a finally block) gives us a place to store values thrown from
|
|
// locations where there is no enclosing try statement.
|
|
this.tryEntries = [{ tryLoc: "root" }];
|
|
tryLocsList.forEach(pushTryEntry, this);
|
|
this.reset(true);
|
|
}
|
|
|
|
exports.keys = function(object) {
|
|
var keys = [];
|
|
for (var key in object) {
|
|
keys.push(key);
|
|
}
|
|
keys.reverse();
|
|
|
|
// Rather than returning an object with a next method, we keep
|
|
// things simple and return the next function itself.
|
|
return function next() {
|
|
while (keys.length) {
|
|
var key = keys.pop();
|
|
if (key in object) {
|
|
next.value = key;
|
|
next.done = false;
|
|
return next;
|
|
}
|
|
}
|
|
|
|
// To avoid creating an additional object, we just hang the .value
|
|
// and .done properties off the next function object itself. This
|
|
// also ensures that the minifier will not anonymize the function.
|
|
next.done = true;
|
|
return next;
|
|
};
|
|
};
|
|
|
|
function values(iterable) {
|
|
if (iterable) {
|
|
var iteratorMethod = iterable[iteratorSymbol];
|
|
if (iteratorMethod) {
|
|
return iteratorMethod.call(iterable);
|
|
}
|
|
|
|
if (typeof iterable.next === "function") {
|
|
return iterable;
|
|
}
|
|
|
|
if (!isNaN(iterable.length)) {
|
|
var i = -1, next = function next() {
|
|
while (++i < iterable.length) {
|
|
if (hasOwn.call(iterable, i)) {
|
|
next.value = iterable[i];
|
|
next.done = false;
|
|
return next;
|
|
}
|
|
}
|
|
|
|
next.value = undefined;
|
|
next.done = true;
|
|
|
|
return next;
|
|
};
|
|
|
|
return next.next = next;
|
|
}
|
|
}
|
|
|
|
// Return an iterator with no values.
|
|
return { next: doneResult };
|
|
}
|
|
exports.values = values;
|
|
|
|
function doneResult() {
|
|
return { value: undefined, done: true };
|
|
}
|
|
|
|
Context.prototype = {
|
|
constructor: Context,
|
|
|
|
reset: function(skipTempReset) {
|
|
this.prev = 0;
|
|
this.next = 0;
|
|
// Resetting context._sent for legacy support of Babel's
|
|
// function.sent implementation.
|
|
this.sent = this._sent = undefined;
|
|
this.done = false;
|
|
this.delegate = null;
|
|
|
|
this.method = "next";
|
|
this.arg = undefined;
|
|
|
|
this.tryEntries.forEach(resetTryEntry);
|
|
|
|
if (!skipTempReset) {
|
|
for (var name in this) {
|
|
// Not sure about the optimal order of these conditions:
|
|
if (name.charAt(0) === "t" &&
|
|
hasOwn.call(this, name) &&
|
|
!isNaN(+name.slice(1))) {
|
|
this[name] = undefined;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
stop: function() {
|
|
this.done = true;
|
|
|
|
var rootEntry = this.tryEntries[0];
|
|
var rootRecord = rootEntry.completion;
|
|
if (rootRecord.type === "throw") {
|
|
throw rootRecord.arg;
|
|
}
|
|
|
|
return this.rval;
|
|
},
|
|
|
|
dispatchException: function(exception) {
|
|
if (this.done) {
|
|
throw exception;
|
|
}
|
|
|
|
var context = this;
|
|
function handle(loc, caught) {
|
|
record.type = "throw";
|
|
record.arg = exception;
|
|
context.next = loc;
|
|
|
|
if (caught) {
|
|
// If the dispatched exception was caught by a catch block,
|
|
// then let that catch block handle the exception normally.
|
|
context.method = "next";
|
|
context.arg = undefined;
|
|
}
|
|
|
|
return !! caught;
|
|
}
|
|
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
var record = entry.completion;
|
|
|
|
if (entry.tryLoc === "root") {
|
|
// Exception thrown outside of any try block that could handle
|
|
// it, so set the completion value of the entire function to
|
|
// throw the exception.
|
|
return handle("end");
|
|
}
|
|
|
|
if (entry.tryLoc <= this.prev) {
|
|
var hasCatch = hasOwn.call(entry, "catchLoc");
|
|
var hasFinally = hasOwn.call(entry, "finallyLoc");
|
|
|
|
if (hasCatch && hasFinally) {
|
|
if (this.prev < entry.catchLoc) {
|
|
return handle(entry.catchLoc, true);
|
|
} else if (this.prev < entry.finallyLoc) {
|
|
return handle(entry.finallyLoc);
|
|
}
|
|
|
|
} else if (hasCatch) {
|
|
if (this.prev < entry.catchLoc) {
|
|
return handle(entry.catchLoc, true);
|
|
}
|
|
|
|
} else if (hasFinally) {
|
|
if (this.prev < entry.finallyLoc) {
|
|
return handle(entry.finallyLoc);
|
|
}
|
|
|
|
} else {
|
|
throw new Error("try statement without catch or finally");
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
abrupt: function(type, arg) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.tryLoc <= this.prev &&
|
|
hasOwn.call(entry, "finallyLoc") &&
|
|
this.prev < entry.finallyLoc) {
|
|
var finallyEntry = entry;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (finallyEntry &&
|
|
(type === "break" ||
|
|
type === "continue") &&
|
|
finallyEntry.tryLoc <= arg &&
|
|
arg <= finallyEntry.finallyLoc) {
|
|
// Ignore the finally entry if control is not jumping to a
|
|
// location outside the try/catch block.
|
|
finallyEntry = null;
|
|
}
|
|
|
|
var record = finallyEntry ? finallyEntry.completion : {};
|
|
record.type = type;
|
|
record.arg = arg;
|
|
|
|
if (finallyEntry) {
|
|
this.method = "next";
|
|
this.next = finallyEntry.finallyLoc;
|
|
return ContinueSentinel;
|
|
}
|
|
|
|
return this.complete(record);
|
|
},
|
|
|
|
complete: function(record, afterLoc) {
|
|
if (record.type === "throw") {
|
|
throw record.arg;
|
|
}
|
|
|
|
if (record.type === "break" ||
|
|
record.type === "continue") {
|
|
this.next = record.arg;
|
|
} else if (record.type === "return") {
|
|
this.rval = this.arg = record.arg;
|
|
this.method = "return";
|
|
this.next = "end";
|
|
} else if (record.type === "normal" && afterLoc) {
|
|
this.next = afterLoc;
|
|
}
|
|
|
|
return ContinueSentinel;
|
|
},
|
|
|
|
finish: function(finallyLoc) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.finallyLoc === finallyLoc) {
|
|
this.complete(entry.completion, entry.afterLoc);
|
|
resetTryEntry(entry);
|
|
return ContinueSentinel;
|
|
}
|
|
}
|
|
},
|
|
|
|
"catch": function(tryLoc) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.tryLoc === tryLoc) {
|
|
var record = entry.completion;
|
|
if (record.type === "throw") {
|
|
var thrown = record.arg;
|
|
resetTryEntry(entry);
|
|
}
|
|
return thrown;
|
|
}
|
|
}
|
|
|
|
// The context.catch method must only be called with a location
|
|
// argument that corresponds to a known catch block.
|
|
throw new Error("illegal catch attempt");
|
|
},
|
|
|
|
delegateYield: function(iterable, resultName, nextLoc) {
|
|
this.delegate = {
|
|
iterator: values(iterable),
|
|
resultName: resultName,
|
|
nextLoc: nextLoc
|
|
};
|
|
|
|
if (this.method === "next") {
|
|
// Deliberately forget the last sent value so that we don't
|
|
// accidentally pass it on to the delegate.
|
|
this.arg = undefined;
|
|
}
|
|
|
|
return ContinueSentinel;
|
|
}
|
|
};
|
|
|
|
// Regardless of whether this script is executing as a CommonJS module
|
|
// or not, return the runtime object so that we can declare the variable
|
|
// regeneratorRuntime in the outer scope, which allows this module to be
|
|
// injected easily by `bin/regenerator --include-runtime script.js`.
|
|
return exports;
|
|
|
|
}(
|
|
// If this script is executing as a CommonJS module, use module.exports
|
|
// as the regeneratorRuntime namespace. Otherwise create a new empty
|
|
// object. Either way, the resulting object will be used to initialize
|
|
// the regeneratorRuntime variable at the top of this file.
|
|
true ? module.exports : undefined
|
|
));
|
|
|
|
try {
|
|
regeneratorRuntime = runtime;
|
|
} catch (accidentalStrictMode) {
|
|
// This module should not be running in strict mode, so the above
|
|
// assignment should always work unless something is misconfigured. Just
|
|
// in case runtime.js accidentally runs in strict mode, we can escape
|
|
// strict mode using a global Function call. This could conceivably fail
|
|
// if a Content Security Policy forbids using Function, but in that case
|
|
// the proper solution is to fix the accidental strict mode problem. If
|
|
// you've misconfigured your bundler to force strict mode and applied a
|
|
// CSP to forbid Function, and you're not willing to fix either of those
|
|
// problems, please detail your unique predicament in a GitHub issue.
|
|
Function("r", "regeneratorRuntime = r")(runtime);
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 67 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.1.1 ToPrimitive(input [, PreferredType])
|
|
var isObject = __webpack_require__(9);
|
|
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
|
// and the second argument - flag - preferred type is a string
|
|
module.exports = function (it, S) {
|
|
if (!isObject(it)) return it;
|
|
var fn, val;
|
|
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
|
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
|
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
|
throw TypeError("Can't convert object to primitive value");
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 68 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var shared = __webpack_require__(69)('keys');
|
|
var uid = __webpack_require__(54);
|
|
module.exports = function (key) {
|
|
return shared[key] || (shared[key] = uid(key));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 69 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var core = __webpack_require__(6);
|
|
var global = __webpack_require__(8);
|
|
var SHARED = '__core-js_shared__';
|
|
var store = global[SHARED] || (global[SHARED] = {});
|
|
|
|
(module.exports = function (key, value) {
|
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
})('versions', []).push({
|
|
version: core.version,
|
|
mode: __webpack_require__(44) ? 'pure' : 'global',
|
|
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 70 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.1.15 ToLength
|
|
var toInteger = __webpack_require__(71);
|
|
var min = Math.min;
|
|
module.exports = function (it) {
|
|
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 71 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// 7.1.4 ToInteger
|
|
var ceil = Math.ceil;
|
|
var floor = Math.floor;
|
|
module.exports = function (it) {
|
|
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 72 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// IE 8- don't enum bug keys
|
|
module.exports = (
|
|
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
|
|
).split(',');
|
|
|
|
|
|
/***/ }),
|
|
/* 73 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(8);
|
|
var core = __webpack_require__(6);
|
|
var LIBRARY = __webpack_require__(44);
|
|
var wksExt = __webpack_require__(62);
|
|
var defineProperty = __webpack_require__(15).f;
|
|
module.exports = function (name) {
|
|
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
|
|
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 74 */
|
|
/***/ (function(module, exports) {
|
|
|
|
exports.f = Object.getOwnPropertySymbols;
|
|
|
|
|
|
/***/ }),
|
|
/* 75 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var META = __webpack_require__(54)('meta');
|
|
var isObject = __webpack_require__(9);
|
|
var has = __webpack_require__(17);
|
|
var setDesc = __webpack_require__(15).f;
|
|
var id = 0;
|
|
var isExtensible = Object.isExtensible || function () {
|
|
return true;
|
|
};
|
|
var FREEZE = !__webpack_require__(21)(function () {
|
|
return isExtensible(Object.preventExtensions({}));
|
|
});
|
|
var setMeta = function (it) {
|
|
setDesc(it, META, { value: {
|
|
i: 'O' + ++id, // object ID
|
|
w: {} // weak collections IDs
|
|
} });
|
|
};
|
|
var fastKey = function (it, create) {
|
|
// return primitive with prefix
|
|
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
|
|
if (!has(it, META)) {
|
|
// can't set metadata to uncaught frozen object
|
|
if (!isExtensible(it)) return 'F';
|
|
// not necessary to add metadata
|
|
if (!create) return 'E';
|
|
// add missing metadata
|
|
setMeta(it);
|
|
// return object ID
|
|
} return it[META].i;
|
|
};
|
|
var getWeak = function (it, create) {
|
|
if (!has(it, META)) {
|
|
// can't set metadata to uncaught frozen object
|
|
if (!isExtensible(it)) return true;
|
|
// not necessary to add metadata
|
|
if (!create) return false;
|
|
// add missing metadata
|
|
setMeta(it);
|
|
// return hash weak collections IDs
|
|
} return it[META].w;
|
|
};
|
|
// add metadata on freeze-family methods calling
|
|
var onFreeze = function (it) {
|
|
if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
|
|
return it;
|
|
};
|
|
var meta = module.exports = {
|
|
KEY: META,
|
|
NEED: false,
|
|
fastKey: fastKey,
|
|
getWeak: getWeak,
|
|
onFreeze: onFreeze
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 76 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var core = __webpack_require__(57);
|
|
var global = __webpack_require__(18);
|
|
var SHARED = '__core-js_shared__';
|
|
var store = global[SHARED] || (global[SHARED] = {});
|
|
|
|
(module.exports = function (key, value) {
|
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
})('versions', []).push({
|
|
version: core.version,
|
|
mode: __webpack_require__(114) ? 'pure' : 'global',
|
|
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 77 */
|
|
/***/ (function(module, exports) {
|
|
|
|
var id = 0;
|
|
var px = Math.random();
|
|
module.exports = function (key) {
|
|
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 78 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// most Object methods by ES6 should accept primitives
|
|
var $export = __webpack_require__(7);
|
|
var core = __webpack_require__(6);
|
|
var fails = __webpack_require__(21);
|
|
module.exports = function (KEY, exec) {
|
|
var fn = (core.Object || {})[KEY] || Object[KEY];
|
|
var exp = {};
|
|
exp[KEY] = exec(fn);
|
|
$export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 79 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 19.1.3.6 Object.prototype.toString()
|
|
var classof = __webpack_require__(116);
|
|
var test = {};
|
|
test[__webpack_require__(13)('toStringTag')] = 'z';
|
|
if (test + '' != '[object z]') {
|
|
__webpack_require__(39)(Object.prototype, 'toString', function toString() {
|
|
return '[object ' + classof(this) + ']';
|
|
}, true);
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 80 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// optional / simple context binding
|
|
var aFunction = __webpack_require__(95);
|
|
module.exports = function (fn, that, length) {
|
|
aFunction(fn);
|
|
if (that === undefined) return fn;
|
|
switch (length) {
|
|
case 1: return function (a) {
|
|
return fn.call(that, a);
|
|
};
|
|
case 2: return function (a, b) {
|
|
return fn.call(that, a, b);
|
|
};
|
|
case 3: return function (a, b, c) {
|
|
return fn.call(that, a, b, c);
|
|
};
|
|
}
|
|
return function (/* ...args */) {
|
|
return fn.apply(that, arguments);
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 81 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var isRegExp = __webpack_require__(123);
|
|
var anObject = __webpack_require__(20);
|
|
var speciesConstructor = __webpack_require__(180);
|
|
var advanceStringIndex = __webpack_require__(108);
|
|
var toLength = __webpack_require__(45);
|
|
var callRegExpExec = __webpack_require__(97);
|
|
var regexpExec = __webpack_require__(92);
|
|
var fails = __webpack_require__(35);
|
|
var $min = Math.min;
|
|
var $push = [].push;
|
|
var $SPLIT = 'split';
|
|
var LENGTH = 'length';
|
|
var LAST_INDEX = 'lastIndex';
|
|
var MAX_UINT32 = 0xffffffff;
|
|
|
|
// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
|
|
var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });
|
|
|
|
// @@split logic
|
|
__webpack_require__(98)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {
|
|
var internalSplit;
|
|
if (
|
|
'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
|
|
'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
|
|
'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
|
|
'.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
|
|
'.'[$SPLIT](/()()/)[LENGTH] > 1 ||
|
|
''[$SPLIT](/.?/)[LENGTH]
|
|
) {
|
|
// based on es5-shim implementation, need to rework it
|
|
internalSplit = function (separator, limit) {
|
|
var string = String(this);
|
|
if (separator === undefined && limit === 0) return [];
|
|
// If `separator` is not a regex, use native split
|
|
if (!isRegExp(separator)) return $split.call(string, separator, limit);
|
|
var output = [];
|
|
var flags = (separator.ignoreCase ? 'i' : '') +
|
|
(separator.multiline ? 'm' : '') +
|
|
(separator.unicode ? 'u' : '') +
|
|
(separator.sticky ? 'y' : '');
|
|
var lastLastIndex = 0;
|
|
var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
|
// Make `global` and avoid `lastIndex` issues by working with a copy
|
|
var separatorCopy = new RegExp(separator.source, flags + 'g');
|
|
var match, lastIndex, lastLength;
|
|
while (match = regexpExec.call(separatorCopy, string)) {
|
|
lastIndex = separatorCopy[LAST_INDEX];
|
|
if (lastIndex > lastLastIndex) {
|
|
output.push(string.slice(lastLastIndex, match.index));
|
|
if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
|
|
lastLength = match[0][LENGTH];
|
|
lastLastIndex = lastIndex;
|
|
if (output[LENGTH] >= splitLimit) break;
|
|
}
|
|
if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
|
|
}
|
|
if (lastLastIndex === string[LENGTH]) {
|
|
if (lastLength || !separatorCopy.test('')) output.push('');
|
|
} else output.push(string.slice(lastLastIndex));
|
|
return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
|
|
};
|
|
// Chakra, V8
|
|
} else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
|
|
internalSplit = function (separator, limit) {
|
|
return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);
|
|
};
|
|
} else {
|
|
internalSplit = $split;
|
|
}
|
|
|
|
return [
|
|
// `String.prototype.split` method
|
|
// https://tc39.github.io/ecma262/#sec-string.prototype.split
|
|
function split(separator, limit) {
|
|
var O = defined(this);
|
|
var splitter = separator == undefined ? undefined : separator[SPLIT];
|
|
return splitter !== undefined
|
|
? splitter.call(separator, O, limit)
|
|
: internalSplit.call(String(O), separator, limit);
|
|
},
|
|
// `RegExp.prototype[@@split]` method
|
|
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
|
|
//
|
|
// NOTE: This cannot be properly polyfilled in engines that don't support
|
|
// the 'y' flag.
|
|
function (regexp, limit) {
|
|
var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);
|
|
if (res.done) return res.value;
|
|
|
|
var rx = anObject(regexp);
|
|
var S = String(this);
|
|
var C = speciesConstructor(rx, RegExp);
|
|
|
|
var unicodeMatching = rx.unicode;
|
|
var flags = (rx.ignoreCase ? 'i' : '') +
|
|
(rx.multiline ? 'm' : '') +
|
|
(rx.unicode ? 'u' : '') +
|
|
(SUPPORTS_Y ? 'y' : 'g');
|
|
|
|
// ^(? + rx + ) is needed, in combination with some S slicing, to
|
|
// simulate the 'y' flag.
|
|
var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
|
|
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
|
if (lim === 0) return [];
|
|
if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
|
|
var p = 0;
|
|
var q = 0;
|
|
var A = [];
|
|
while (q < S.length) {
|
|
splitter.lastIndex = SUPPORTS_Y ? q : 0;
|
|
var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
|
|
var e;
|
|
if (
|
|
z === null ||
|
|
(e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
|
|
) {
|
|
q = advanceStringIndex(S, q, unicodeMatching);
|
|
} else {
|
|
A.push(S.slice(p, q));
|
|
if (A.length === lim) return A;
|
|
for (var i = 1; i <= z.length - 1; i++) {
|
|
A.push(z[i]);
|
|
if (A.length === lim) return A;
|
|
}
|
|
q = p = e;
|
|
}
|
|
}
|
|
A.push(S.slice(p));
|
|
return A;
|
|
}
|
|
];
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 82 */,
|
|
/* 83 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(66);
|
|
|
|
|
|
/***/ }),
|
|
/* 84 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Promise = __webpack_require__(137);
|
|
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
_Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
|
|
function _asyncToGenerator(fn) {
|
|
return function () {
|
|
var self = this,
|
|
args = arguments;
|
|
return new _Promise(function (resolve, reject) {
|
|
var gen = fn.apply(self, args);
|
|
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
}
|
|
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
}
|
|
|
|
_next(undefined);
|
|
});
|
|
};
|
|
}
|
|
|
|
module.exports = _asyncToGenerator;
|
|
|
|
/***/ }),
|
|
/* 85 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(220);
|
|
|
|
/***/ }),
|
|
/* 86 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(60);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
__webpack_require__(81);
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(105));
|
|
|
|
var _entries = _interopRequireDefault(__webpack_require__(91));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var ComponentBase = /*#__PURE__*/function (_elementorModules$Mod) {
|
|
(0, _inherits2.default)(ComponentBase, _elementorModules$Mod);
|
|
|
|
var _super = (0, _createSuper2.default)(ComponentBase);
|
|
|
|
function ComponentBase() {
|
|
(0, _classCallCheck2.default)(this, ComponentBase);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(ComponentBase, [{
|
|
key: "__construct",
|
|
value: function __construct() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
if (args.manager) {
|
|
this.manager = args.manager;
|
|
}
|
|
|
|
this.commands = this.defaultCommands();
|
|
this.commandsInternal = this.defaultCommandsInternal();
|
|
this.hooks = this.defaultHooks();
|
|
this.routes = this.defaultRoutes();
|
|
this.tabs = this.defaultTabs();
|
|
this.shortcuts = this.defaultShortcuts();
|
|
this.utils = this.defaultUtils();
|
|
this.data = this.defaultData();
|
|
this.defaultRoute = '';
|
|
this.currentTab = '';
|
|
}
|
|
}, {
|
|
key: "registerAPI",
|
|
value: function registerAPI() {
|
|
var _this = this;
|
|
|
|
(0, _entries.default)(this.getTabs()).forEach(function (tab) {
|
|
return _this.registerTabRoute(tab[0]);
|
|
});
|
|
(0, _entries.default)(this.getRoutes()).forEach(function (_ref) {
|
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
route = _ref2[0],
|
|
callback = _ref2[1];
|
|
|
|
return _this.registerRoute(route, callback);
|
|
});
|
|
(0, _entries.default)(this.getCommands()).forEach(function (_ref3) {
|
|
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
command = _ref4[0],
|
|
callback = _ref4[1];
|
|
|
|
return _this.registerCommand(command, callback);
|
|
});
|
|
(0, _entries.default)(this.getCommandsInternal()).forEach(function (_ref5) {
|
|
var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
|
|
command = _ref6[0],
|
|
callback = _ref6[1];
|
|
|
|
return _this.registerCommandInternal(command, callback);
|
|
});
|
|
(0, _values.default)(this.getHooks()).forEach(function (instance) {
|
|
return _this.registerHook(instance);
|
|
});
|
|
(0, _entries.default)(this.getData()).forEach(function (_ref7) {
|
|
var _ref8 = (0, _slicedToArray2.default)(_ref7, 2),
|
|
command = _ref8[0],
|
|
callback = _ref8[1];
|
|
|
|
return _this.registerData(command, callback);
|
|
});
|
|
}
|
|
/**
|
|
* @returns {string}
|
|
*/
|
|
|
|
}, {
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
}, {
|
|
key: "getRootContainer",
|
|
value: function getRootContainer() {
|
|
var parts = this.getNamespace().split('/');
|
|
return parts[0];
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultRoutes",
|
|
value: function defaultRoutes() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultCommandsInternal",
|
|
value: function defaultCommandsInternal() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultHooks",
|
|
value: function defaultHooks() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultUtils",
|
|
value: function defaultUtils() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "defaultData",
|
|
value: function defaultData() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "getCommands",
|
|
value: function getCommands() {
|
|
return this.commands;
|
|
}
|
|
}, {
|
|
key: "getCommandsInternal",
|
|
value: function getCommandsInternal() {
|
|
return this.commandsInternal;
|
|
}
|
|
}, {
|
|
key: "getHooks",
|
|
value: function getHooks() {
|
|
return this.hooks;
|
|
}
|
|
}, {
|
|
key: "getRoutes",
|
|
value: function getRoutes() {
|
|
return this.routes;
|
|
}
|
|
}, {
|
|
key: "getTabs",
|
|
value: function getTabs() {
|
|
return this.tabs;
|
|
}
|
|
}, {
|
|
key: "getShortcuts",
|
|
value: function getShortcuts() {
|
|
return this.shortcuts;
|
|
}
|
|
}, {
|
|
key: "getData",
|
|
value: function getData() {
|
|
return this.data;
|
|
}
|
|
}, {
|
|
key: "registerCommand",
|
|
value: function registerCommand(command, callback) {
|
|
$e.commands.register(this, command, callback);
|
|
}
|
|
/**
|
|
* @param {HookBase} instance
|
|
*/
|
|
|
|
}, {
|
|
key: "registerHook",
|
|
value: function registerHook(instance) {
|
|
return instance.register();
|
|
}
|
|
}, {
|
|
key: "registerCommandInternal",
|
|
value: function registerCommandInternal(command, callback) {
|
|
$e.commandsInternal.register(this, command, callback);
|
|
}
|
|
}, {
|
|
key: "registerRoute",
|
|
value: function registerRoute(route, callback) {
|
|
$e.routes.register(this, route, callback);
|
|
}
|
|
}, {
|
|
key: "registerData",
|
|
value: function registerData(command, callback) {
|
|
$e.data.register(this, command, callback);
|
|
}
|
|
}, {
|
|
key: "unregisterRoute",
|
|
value: function unregisterRoute(route) {
|
|
$e.routes.unregister(this, route);
|
|
}
|
|
}, {
|
|
key: "registerTabRoute",
|
|
value: function registerTabRoute(tab) {
|
|
var _this2 = this;
|
|
|
|
this.registerRoute(tab, function (args) {
|
|
return _this2.activateTab(tab, args);
|
|
});
|
|
}
|
|
}, {
|
|
key: "dependency",
|
|
value: function dependency() {
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "open",
|
|
value: function open() {
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "close",
|
|
value: function close() {
|
|
if (!this.isOpen) {
|
|
return false;
|
|
}
|
|
|
|
this.isOpen = false;
|
|
this.inactivate();
|
|
$e.routes.clearCurrent(this.getNamespace());
|
|
$e.routes.clearHistory(this.getRootContainer());
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "activate",
|
|
value: function activate() {
|
|
$e.components.activate(this.getNamespace());
|
|
}
|
|
}, {
|
|
key: "inactivate",
|
|
value: function inactivate() {
|
|
$e.components.inactivate(this.getNamespace());
|
|
}
|
|
}, {
|
|
key: "isActive",
|
|
value: function isActive() {
|
|
return $e.components.isActive(this.getNamespace());
|
|
}
|
|
}, {
|
|
key: "onRoute",
|
|
value: function onRoute(route) {
|
|
this.toggleRouteClass(route, true);
|
|
this.toggleHistoryClass();
|
|
this.activate();
|
|
this.trigger('route/open', route);
|
|
}
|
|
}, {
|
|
key: "onCloseRoute",
|
|
value: function onCloseRoute(route) {
|
|
this.toggleRouteClass(route, false);
|
|
this.inactivate();
|
|
this.trigger('route/close', route);
|
|
}
|
|
}, {
|
|
key: "setDefaultRoute",
|
|
value: function setDefaultRoute(route) {
|
|
this.defaultRoute = this.getNamespace() + '/' + route;
|
|
}
|
|
}, {
|
|
key: "getDefaultRoute",
|
|
value: function getDefaultRoute() {
|
|
return this.defaultRoute;
|
|
}
|
|
}, {
|
|
key: "removeTab",
|
|
value: function removeTab(tab) {
|
|
delete this.tabs[tab];
|
|
this.unregisterRoute(tab);
|
|
}
|
|
}, {
|
|
key: "hasTab",
|
|
value: function hasTab(tab) {
|
|
return !!this.tabs[tab];
|
|
}
|
|
}, {
|
|
key: "addTab",
|
|
value: function addTab(tab, args, position) {
|
|
var _this3 = this;
|
|
|
|
this.tabs[tab] = args; // It can be 0.
|
|
|
|
if ('undefined' !== typeof position) {
|
|
var newTabs = {};
|
|
var ids = (0, _keys.default)(this.tabs); // Remove new tab
|
|
|
|
ids.pop(); // Add it to position.
|
|
|
|
ids.splice(position, 0, tab);
|
|
ids.forEach(function (id) {
|
|
newTabs[id] = _this3.tabs[id];
|
|
});
|
|
this.tabs = newTabs;
|
|
}
|
|
|
|
this.registerTabRoute(tab);
|
|
}
|
|
}, {
|
|
key: "getTabsWrapperSelector",
|
|
value: function getTabsWrapperSelector() {
|
|
return '';
|
|
}
|
|
}, {
|
|
key: "getTabRoute",
|
|
value: function getTabRoute(tab) {
|
|
return this.getNamespace() + '/' + tab;
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab) {} // eslint-disable-line
|
|
|
|
}, {
|
|
key: "activateTab",
|
|
value: function activateTab(tab, args) {
|
|
var _this4 = this;
|
|
|
|
this.currentTab = tab;
|
|
this.renderTab(tab, args);
|
|
jQuery(this.getTabsWrapperSelector() + ' .elementor-component-tab').off('click').on('click', function (event) {
|
|
$e.route(_this4.getTabRoute(event.currentTarget.dataset.tab), args);
|
|
}).removeClass('elementor-active').filter('[data-tab="' + tab + '"]').addClass('elementor-active');
|
|
}
|
|
}, {
|
|
key: "getActiveTabConfig",
|
|
value: function getActiveTabConfig() {
|
|
return this.tabs[this.currentTab] || {};
|
|
}
|
|
}, {
|
|
key: "getBodyClass",
|
|
value: function getBodyClass(route) {
|
|
return 'e-route-' + route.replace(/\//g, '-');
|
|
}
|
|
/**
|
|
* If command includes uppercase character convert it to lowercase and add `-`.
|
|
* e.g: `CopyAll` is converted to `copy-all`.
|
|
*/
|
|
|
|
}, {
|
|
key: "normalizeCommandName",
|
|
value: function normalizeCommandName(commandName) {
|
|
return commandName.replace(/[A-Z]/g, function (match, offset) {
|
|
return (offset > 0 ? '-' : '') + match.toLowerCase();
|
|
});
|
|
}
|
|
}, {
|
|
key: "importCommands",
|
|
value: function importCommands(commandsFromImport) {
|
|
var _this5 = this;
|
|
|
|
var commands = {}; // Convert `Commands` to `ComponentBase` workable format.
|
|
|
|
(0, _entries.default)(commandsFromImport).forEach(function (_ref9) {
|
|
var _ref10 = (0, _slicedToArray2.default)(_ref9, 2),
|
|
className = _ref10[0],
|
|
Class = _ref10[1];
|
|
|
|
var command = _this5.normalizeCommandName(className);
|
|
|
|
commands[command] = function (args) {
|
|
return new Class(args).run();
|
|
}; // TODO: Temporary code, remove after merge with 'require-commands-base' branch.
|
|
// should not return callback, but Class or Instance without run ( gain performance ).
|
|
|
|
|
|
$e.commands.classes[_this5.getNamespace() + '/' + command] = Class;
|
|
});
|
|
return commands;
|
|
}
|
|
}, {
|
|
key: "importHooks",
|
|
value: function importHooks(hooksFromImport) {
|
|
var hooks = {};
|
|
|
|
for (var key in hooksFromImport) {
|
|
var hook = new hooksFromImport[key]();
|
|
hooks[hook.getId()] = hook;
|
|
}
|
|
|
|
return hooks;
|
|
}
|
|
}, {
|
|
key: "toggleRouteClass",
|
|
value: function toggleRouteClass(route, state) {
|
|
elementorCommon.elements.$body.toggleClass(this.getBodyClass(route), state);
|
|
}
|
|
}, {
|
|
key: "toggleHistoryClass",
|
|
value: function toggleHistoryClass() {
|
|
elementorCommon.elements.$body.toggleClass('e-routes-has-history', !!$e.routes.getHistory(this.getRootContainer()).length);
|
|
}
|
|
}]);
|
|
return ComponentBase;
|
|
}(elementorModules.Module);
|
|
|
|
exports.default = ComponentBase;
|
|
|
|
/***/ }),
|
|
/* 87 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(9);
|
|
var document = __webpack_require__(8).document;
|
|
// typeof document.createElement is 'object' in old IE
|
|
var is = isObject(document) && isObject(document.createElement);
|
|
module.exports = function (it) {
|
|
return is ? document.createElement(it) : {};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 88 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(22);
|
|
|
|
|
|
/***/ }),
|
|
/* 89 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 22.1.3.31 Array.prototype[@@unscopables]
|
|
var UNSCOPABLES = __webpack_require__(13)('unscopables');
|
|
var ArrayProto = Array.prototype;
|
|
if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(29)(ArrayProto, UNSCOPABLES, {});
|
|
module.exports = function (key) {
|
|
ArrayProto[UNSCOPABLES][key] = true;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 90 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var ctx = __webpack_require__(31);
|
|
var call = __webpack_require__(143);
|
|
var isArrayIter = __webpack_require__(144);
|
|
var anObject = __webpack_require__(11);
|
|
var toLength = __webpack_require__(70);
|
|
var getIterFn = __webpack_require__(115);
|
|
var BREAK = {};
|
|
var RETURN = {};
|
|
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
|
|
var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
|
|
var f = ctx(fn, that, entries ? 2 : 1);
|
|
var index = 0;
|
|
var length, step, iterator, result;
|
|
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
|
|
// fast case for arrays with default iterator
|
|
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
|
|
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
|
if (result === BREAK || result === RETURN) return result;
|
|
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
|
|
result = call(iterator, f, step.value, entries);
|
|
if (result === BREAK || result === RETURN) return result;
|
|
}
|
|
};
|
|
exports.BREAK = BREAK;
|
|
exports.RETURN = RETURN;
|
|
|
|
|
|
/***/ }),
|
|
/* 91 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(269);
|
|
|
|
/***/ }),
|
|
/* 92 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var regexpFlags = __webpack_require__(109);
|
|
|
|
var nativeExec = RegExp.prototype.exec;
|
|
// This always refers to the native implementation, because the
|
|
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
|
|
// which loads this file before patching the method.
|
|
var nativeReplace = String.prototype.replace;
|
|
|
|
var patchedExec = nativeExec;
|
|
|
|
var LAST_INDEX = 'lastIndex';
|
|
|
|
var UPDATES_LAST_INDEX_WRONG = (function () {
|
|
var re1 = /a/,
|
|
re2 = /b*/g;
|
|
nativeExec.call(re1, 'a');
|
|
nativeExec.call(re2, 'a');
|
|
return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;
|
|
})();
|
|
|
|
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
|
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
|
|
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;
|
|
|
|
if (PATCH) {
|
|
patchedExec = function exec(str) {
|
|
var re = this;
|
|
var lastIndex, reCopy, match, i;
|
|
|
|
if (NPCG_INCLUDED) {
|
|
reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
|
|
}
|
|
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];
|
|
|
|
match = nativeExec.call(re, str);
|
|
|
|
if (UPDATES_LAST_INDEX_WRONG && match) {
|
|
re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;
|
|
}
|
|
if (NPCG_INCLUDED && match && match.length > 1) {
|
|
// Fix browsers whose `exec` methods don't consistently return `undefined`
|
|
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
|
|
// eslint-disable-next-line no-loop-func
|
|
nativeReplace.call(match[0], reCopy, function () {
|
|
for (i = 1; i < arguments.length - 2; i++) {
|
|
if (arguments[i] === undefined) match[i] = undefined;
|
|
}
|
|
});
|
|
}
|
|
|
|
return match;
|
|
};
|
|
}
|
|
|
|
module.exports = patchedExec;
|
|
|
|
|
|
/***/ }),
|
|
/* 93 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.2.2 IsArray(argument)
|
|
var cof = __webpack_require__(55);
|
|
module.exports = Array.isArray || function isArray(arg) {
|
|
return cof(arg) == 'Array';
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 94 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
|
var $keys = __webpack_require__(112);
|
|
var hiddenKeys = __webpack_require__(72).concat('length', 'prototype');
|
|
|
|
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
|
return $keys(O, hiddenKeys);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 95 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (it) {
|
|
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 96 */
|
|
/***/ (function(module, exports) {
|
|
|
|
|
|
|
|
/***/ }),
|
|
/* 97 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var classof = __webpack_require__(116);
|
|
var builtinExec = RegExp.prototype.exec;
|
|
|
|
// `RegExpExec` abstract operation
|
|
// https://tc39.github.io/ecma262/#sec-regexpexec
|
|
module.exports = function (R, S) {
|
|
var exec = R.exec;
|
|
if (typeof exec === 'function') {
|
|
var result = exec.call(R, S);
|
|
if (typeof result !== 'object') {
|
|
throw new TypeError('RegExp exec method returned something other than an Object or null');
|
|
}
|
|
return result;
|
|
}
|
|
if (classof(R) !== 'RegExp') {
|
|
throw new TypeError('RegExp#exec called on incompatible receiver');
|
|
}
|
|
return builtinExec.call(R, S);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 98 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
__webpack_require__(196);
|
|
var redefine = __webpack_require__(39);
|
|
var hide = __webpack_require__(29);
|
|
var fails = __webpack_require__(35);
|
|
var defined = __webpack_require__(43);
|
|
var wks = __webpack_require__(13);
|
|
var regexpExec = __webpack_require__(92);
|
|
|
|
var SPECIES = wks('species');
|
|
|
|
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
|
|
// #replace needs built-in support for named groups.
|
|
// #match works fine because it just return the exec results, even if it has
|
|
// a "grops" property.
|
|
var re = /./;
|
|
re.exec = function () {
|
|
var result = [];
|
|
result.groups = { a: '7' };
|
|
return result;
|
|
};
|
|
return ''.replace(re, '$<a>') !== '7';
|
|
});
|
|
|
|
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
|
|
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
|
|
var re = /(?:)/;
|
|
var originalExec = re.exec;
|
|
re.exec = function () { return originalExec.apply(this, arguments); };
|
|
var result = 'ab'.split(re);
|
|
return result.length === 2 && result[0] === 'a' && result[1] === 'b';
|
|
})();
|
|
|
|
module.exports = function (KEY, length, exec) {
|
|
var SYMBOL = wks(KEY);
|
|
|
|
var DELEGATES_TO_SYMBOL = !fails(function () {
|
|
// String methods call symbol-named RegEp methods
|
|
var O = {};
|
|
O[SYMBOL] = function () { return 7; };
|
|
return ''[KEY](O) != 7;
|
|
});
|
|
|
|
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
|
|
// Symbol-named RegExp methods call .exec
|
|
var execCalled = false;
|
|
var re = /a/;
|
|
re.exec = function () { execCalled = true; return null; };
|
|
if (KEY === 'split') {
|
|
// RegExp[@@split] doesn't call the regex's exec method, but first creates
|
|
// a new one. We need to return the patched regex when creating the new one.
|
|
re.constructor = {};
|
|
re.constructor[SPECIES] = function () { return re; };
|
|
}
|
|
re[SYMBOL]('');
|
|
return !execCalled;
|
|
}) : undefined;
|
|
|
|
if (
|
|
!DELEGATES_TO_SYMBOL ||
|
|
!DELEGATES_TO_EXEC ||
|
|
(KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
|
|
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
|
|
) {
|
|
var nativeRegExpMethod = /./[SYMBOL];
|
|
var fns = exec(
|
|
defined,
|
|
SYMBOL,
|
|
''[KEY],
|
|
function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
|
|
if (regexp.exec === regexpExec) {
|
|
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
|
|
// The native String method already delegates to @@method (this
|
|
// polyfilled function), leasing to infinite recursion.
|
|
// We avoid it by directly calling the native @@method method.
|
|
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
|
|
}
|
|
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
|
|
}
|
|
return { done: false };
|
|
}
|
|
);
|
|
var strfn = fns[0];
|
|
var rxfn = fns[1];
|
|
|
|
redefine(String.prototype, KEY, strfn);
|
|
hide(RegExp.prototype, SYMBOL, length == 2
|
|
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
|
|
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
|
|
? function (string, arg) { return rxfn.call(string, this, arg); }
|
|
// 21.2.5.6 RegExp.prototype[@@match](string)
|
|
// 21.2.5.9 RegExp.prototype[@@search](string)
|
|
: function (string) { return rxfn.call(string, this); }
|
|
);
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 99 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.1.13 ToObject(argument)
|
|
var defined = __webpack_require__(43);
|
|
module.exports = function (it) {
|
|
return Object(defined(it));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 100 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
|
var cof = __webpack_require__(55);
|
|
// eslint-disable-next-line no-prototype-builtins
|
|
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
|
|
return cof(it) == 'String' ? it.split('') : Object(it);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 101 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(164);
|
|
|
|
/***/ }),
|
|
/* 102 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var LIBRARY = __webpack_require__(44);
|
|
var $export = __webpack_require__(7);
|
|
var redefine = __webpack_require__(88);
|
|
var hide = __webpack_require__(22);
|
|
var Iterators = __webpack_require__(33);
|
|
var $iterCreate = __webpack_require__(170);
|
|
var setToStringTag = __webpack_require__(53);
|
|
var getPrototypeOf = __webpack_require__(63);
|
|
var ITERATOR = __webpack_require__(10)('iterator');
|
|
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
|
|
var FF_ITERATOR = '@@iterator';
|
|
var KEYS = 'keys';
|
|
var VALUES = 'values';
|
|
|
|
var returnThis = function () { return this; };
|
|
|
|
module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
|
|
$iterCreate(Constructor, NAME, next);
|
|
var getMethod = function (kind) {
|
|
if (!BUGGY && kind in proto) return proto[kind];
|
|
switch (kind) {
|
|
case KEYS: return function keys() { return new Constructor(this, kind); };
|
|
case VALUES: return function values() { return new Constructor(this, kind); };
|
|
} return function entries() { return new Constructor(this, kind); };
|
|
};
|
|
var TAG = NAME + ' Iterator';
|
|
var DEF_VALUES = DEFAULT == VALUES;
|
|
var VALUES_BUG = false;
|
|
var proto = Base.prototype;
|
|
var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
|
|
var $default = $native || getMethod(DEFAULT);
|
|
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
|
|
var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
|
|
var methods, key, IteratorPrototype;
|
|
// Fix native
|
|
if ($anyNative) {
|
|
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
|
|
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
|
|
// Set @@toStringTag to native iterators
|
|
setToStringTag(IteratorPrototype, TAG, true);
|
|
// fix for some old engines
|
|
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
|
|
}
|
|
}
|
|
// fix Array#{values, @@iterator}.name in V8 / FF
|
|
if (DEF_VALUES && $native && $native.name !== VALUES) {
|
|
VALUES_BUG = true;
|
|
$default = function values() { return $native.call(this); };
|
|
}
|
|
// Define iterator
|
|
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
|
|
hide(proto, ITERATOR, $default);
|
|
}
|
|
// Plug for library
|
|
Iterators[NAME] = $default;
|
|
Iterators[TAG] = returnThis;
|
|
if (DEFAULT) {
|
|
methods = {
|
|
values: DEF_VALUES ? $default : getMethod(VALUES),
|
|
keys: IS_SET ? $default : getMethod(KEYS),
|
|
entries: $entries
|
|
};
|
|
if (FORCED) for (key in methods) {
|
|
if (!(key in proto)) redefine(proto, key, methods[key]);
|
|
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
|
|
}
|
|
return methods;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 103 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
|
var IObject = __webpack_require__(121);
|
|
var defined = __webpack_require__(43);
|
|
module.exports = function (it) {
|
|
return IObject(defined(it));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 104 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// getting tag from 19.1.3.6 Object.prototype.toString()
|
|
var cof = __webpack_require__(55);
|
|
var TAG = __webpack_require__(10)('toStringTag');
|
|
// ES3 wrong here
|
|
var ARG = cof(function () { return arguments; }()) == 'Arguments';
|
|
|
|
// fallback for IE11 Script Access Denied error
|
|
var tryGet = function (it, key) {
|
|
try {
|
|
return it[key];
|
|
} catch (e) { /* empty */ }
|
|
};
|
|
|
|
module.exports = function (it) {
|
|
var O, T, B;
|
|
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
|
// @@toStringTag case
|
|
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
|
|
// builtinTag case
|
|
: ARG ? cof(O)
|
|
// ES3 arguments fallback
|
|
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 105 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var arrayWithHoles = __webpack_require__(247);
|
|
|
|
var iterableToArrayLimit = __webpack_require__(248);
|
|
|
|
var unsupportedIterableToArray = __webpack_require__(193);
|
|
|
|
var nonIterableRest = __webpack_require__(251);
|
|
|
|
function _slicedToArray(arr, i) {
|
|
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
|
|
}
|
|
|
|
module.exports = _slicedToArray;
|
|
|
|
/***/ }),
|
|
/* 106 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (bitmap, value) {
|
|
return {
|
|
enumerable: !(bitmap & 1),
|
|
configurable: !(bitmap & 2),
|
|
writable: !(bitmap & 4),
|
|
value: value
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 107 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(173);
|
|
|
|
/***/ }),
|
|
/* 108 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var at = __webpack_require__(146)(true);
|
|
|
|
// `AdvanceStringIndex` abstract operation
|
|
// https://tc39.github.io/ecma262/#sec-advancestringindex
|
|
module.exports = function (S, index, unicode) {
|
|
return index + (unicode ? at(S, index).length : 1);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 109 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 21.2.5.3 get RegExp.prototype.flags
|
|
var anObject = __webpack_require__(20);
|
|
module.exports = function () {
|
|
var that = anObject(this);
|
|
var result = '';
|
|
if (that.global) result += 'g';
|
|
if (that.ignoreCase) result += 'i';
|
|
if (that.multiline) result += 'm';
|
|
if (that.unicode) result += 'u';
|
|
if (that.sticky) result += 'y';
|
|
return result;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 110 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = !__webpack_require__(14) && !__webpack_require__(21)(function () {
|
|
return Object.defineProperty(__webpack_require__(87)('div'), 'a', { get: function () { return 7; } }).a != 7;
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 111 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(157);
|
|
|
|
/***/ }),
|
|
/* 112 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var has = __webpack_require__(17);
|
|
var toIObject = __webpack_require__(19);
|
|
var arrayIndexOf = __webpack_require__(162)(false);
|
|
var IE_PROTO = __webpack_require__(68)('IE_PROTO');
|
|
|
|
module.exports = function (object, names) {
|
|
var O = toIObject(object);
|
|
var i = 0;
|
|
var result = [];
|
|
var key;
|
|
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
|
|
// Don't enum bug & hidden keys
|
|
while (names.length > i) if (has(O, key = names[i++])) {
|
|
~arrayIndexOf(result, key) || result.push(key);
|
|
}
|
|
return result;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 113 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(30);
|
|
var document = __webpack_require__(18).document;
|
|
// typeof document.createElement is 'object' in old IE
|
|
var is = isObject(document) && isObject(document.createElement);
|
|
module.exports = function (it) {
|
|
return is ? document.createElement(it) : {};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 114 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = false;
|
|
|
|
|
|
/***/ }),
|
|
/* 115 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var classof = __webpack_require__(104);
|
|
var ITERATOR = __webpack_require__(10)('iterator');
|
|
var Iterators = __webpack_require__(33);
|
|
module.exports = __webpack_require__(6).getIteratorMethod = function (it) {
|
|
if (it != undefined) return it[ITERATOR]
|
|
|| it['@@iterator']
|
|
|| Iterators[classof(it)];
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 116 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// getting tag from 19.1.3.6 Object.prototype.toString()
|
|
var cof = __webpack_require__(50);
|
|
var TAG = __webpack_require__(13)('toStringTag');
|
|
// ES3 wrong here
|
|
var ARG = cof(function () { return arguments; }()) == 'Arguments';
|
|
|
|
// fallback for IE11 Script Access Denied error
|
|
var tryGet = function (it, key) {
|
|
try {
|
|
return it[key];
|
|
} catch (e) { /* empty */ }
|
|
};
|
|
|
|
module.exports = function (it) {
|
|
var O, T, B;
|
|
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
|
// @@toStringTag case
|
|
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
|
|
// builtinTag case
|
|
: ARG ? cof(O)
|
|
// ES3 arguments fallback
|
|
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 117 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(183);
|
|
|
|
/***/ }),
|
|
/* 118 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var addToUnscopables = __webpack_require__(89);
|
|
var step = __webpack_require__(241);
|
|
var Iterators = __webpack_require__(119);
|
|
var toIObject = __webpack_require__(103);
|
|
|
|
// 22.1.3.4 Array.prototype.entries()
|
|
// 22.1.3.13 Array.prototype.keys()
|
|
// 22.1.3.29 Array.prototype.values()
|
|
// 22.1.3.30 Array.prototype[@@iterator]()
|
|
module.exports = __webpack_require__(197)(Array, 'Array', function (iterated, kind) {
|
|
this._t = toIObject(iterated); // target
|
|
this._i = 0; // next index
|
|
this._k = kind; // kind
|
|
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
|
|
}, function () {
|
|
var O = this._t;
|
|
var kind = this._k;
|
|
var index = this._i++;
|
|
if (!O || index >= O.length) {
|
|
this._t = undefined;
|
|
return step(1);
|
|
}
|
|
if (kind == 'keys') return step(0, index);
|
|
if (kind == 'values') return step(0, O[index]);
|
|
return step(0, [index, O[index]]);
|
|
}, 'values');
|
|
|
|
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
|
|
Iterators.Arguments = Iterators.Array;
|
|
|
|
addToUnscopables('keys');
|
|
addToUnscopables('values');
|
|
addToUnscopables('entries');
|
|
|
|
|
|
/***/ }),
|
|
/* 119 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = {};
|
|
|
|
|
|
/***/ }),
|
|
/* 120 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var anObject = __webpack_require__(20);
|
|
var toLength = __webpack_require__(45);
|
|
var advanceStringIndex = __webpack_require__(108);
|
|
var regExpExec = __webpack_require__(97);
|
|
|
|
// @@match logic
|
|
__webpack_require__(98)('match', 1, function (defined, MATCH, $match, maybeCallNative) {
|
|
return [
|
|
// `String.prototype.match` method
|
|
// https://tc39.github.io/ecma262/#sec-string.prototype.match
|
|
function match(regexp) {
|
|
var O = defined(this);
|
|
var fn = regexp == undefined ? undefined : regexp[MATCH];
|
|
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
|
|
},
|
|
// `RegExp.prototype[@@match]` method
|
|
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
|
|
function (regexp) {
|
|
var res = maybeCallNative($match, regexp, this);
|
|
if (res.done) return res.value;
|
|
var rx = anObject(regexp);
|
|
var S = String(this);
|
|
if (!rx.global) return regExpExec(rx, S);
|
|
var fullUnicode = rx.unicode;
|
|
rx.lastIndex = 0;
|
|
var A = [];
|
|
var n = 0;
|
|
var result;
|
|
while ((result = regExpExec(rx, S)) !== null) {
|
|
var matchStr = String(result[0]);
|
|
A[n] = matchStr;
|
|
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
|
n++;
|
|
}
|
|
return n === 0 ? null : A;
|
|
}
|
|
];
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 121 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
|
var cof = __webpack_require__(50);
|
|
// eslint-disable-next-line no-prototype-builtins
|
|
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
|
|
return cof(it) == 'String' ? it.split('') : Object(it);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 122 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(9);
|
|
module.exports = function (it, TYPE) {
|
|
if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
|
|
return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 123 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.2.8 IsRegExp(argument)
|
|
var isObject = __webpack_require__(30);
|
|
var cof = __webpack_require__(50);
|
|
var MATCH = __webpack_require__(13)('match');
|
|
module.exports = function (it) {
|
|
var isRegExp;
|
|
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 124 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.1.1 ToPrimitive(input [, PreferredType])
|
|
var isObject = __webpack_require__(30);
|
|
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
|
// and the second argument - flag - preferred type is a string
|
|
module.exports = function (it, S) {
|
|
if (!isObject(it)) return it;
|
|
var fn, val;
|
|
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
|
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
|
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
|
throw TypeError("Can't convert object to primitive value");
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 125 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (it, Constructor, name, forbiddenField) {
|
|
if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
|
|
throw TypeError(name + ': incorrect invocation!');
|
|
} return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 126 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var hide = __webpack_require__(22);
|
|
module.exports = function (target, src, safe) {
|
|
for (var key in src) {
|
|
if (safe && target[key]) target[key] = src[key];
|
|
else hide(target, key, src[key]);
|
|
} return target;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 127 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var ControlBaseView = __webpack_require__(281),
|
|
TagsBehavior = __webpack_require__(421),
|
|
Validator = __webpack_require__(300),
|
|
ControlBaseDataView;
|
|
|
|
ControlBaseDataView = ControlBaseView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseView.prototype.ui.apply(this, arguments);
|
|
|
|
_.extend(ui, {
|
|
input: 'input[data-setting][type!="checkbox"][type!="radio"]',
|
|
checkbox: 'input[data-setting][type="checkbox"]',
|
|
radio: 'input[data-setting][type="radio"]',
|
|
select: 'select[data-setting]',
|
|
textarea: 'textarea[data-setting]',
|
|
responsiveSwitchers: '.elementor-responsive-switcher',
|
|
contentEditable: '[contenteditable="true"]'
|
|
});
|
|
|
|
return ui;
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
var controlData = ControlBaseView.prototype.templateHelpers.apply(this, arguments);
|
|
controlData.data.controlValue = this.getControlValue();
|
|
return controlData;
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'input @ui.input': 'onBaseInputTextChange',
|
|
'change @ui.checkbox': 'onBaseInputChange',
|
|
'change @ui.radio': 'onBaseInputChange',
|
|
'input @ui.textarea': 'onBaseInputTextChange',
|
|
'change @ui.select': 'onBaseInputChange',
|
|
'input @ui.contentEditable': 'onBaseInputTextChange',
|
|
'click @ui.responsiveSwitchers': 'onResponsiveSwitchersClick'
|
|
};
|
|
},
|
|
behaviors: function behaviors() {
|
|
var behaviors = ControlBaseView.prototype.behaviors.apply(this, arguments),
|
|
dynamicSettings = this.options.model.get('dynamic');
|
|
|
|
if (dynamicSettings && dynamicSettings.active) {
|
|
var tags = _.filter(elementor.dynamicTags.getConfig('tags'), function (tag) {
|
|
return tag.editable && _.intersection(tag.categories, dynamicSettings.categories).length;
|
|
});
|
|
|
|
if (tags.length || elementor.config.user.is_administrator) {
|
|
behaviors.tags = {
|
|
behaviorClass: TagsBehavior,
|
|
tags: tags,
|
|
dynamicSettings: dynamicSettings
|
|
};
|
|
}
|
|
}
|
|
|
|
return behaviors;
|
|
},
|
|
initialize: function initialize() {
|
|
ControlBaseView.prototype.initialize.apply(this, arguments);
|
|
this.registerValidators(); // TODO: this.elementSettingsModel is deprecated since 2.8.0.
|
|
|
|
var settings = this.container ? this.container.settings : this.elementSettingsModel;
|
|
this.listenTo(settings, 'change:external:' + this.model.get('name'), this.onAfterExternalChange);
|
|
},
|
|
getControlValue: function getControlValue() {
|
|
return this.container.settings.get(this.model.get('name'));
|
|
},
|
|
getGlobalKey: function getGlobalKey() {
|
|
return this.container.globals.get(this.model.get('name'));
|
|
},
|
|
getGlobalValue: function getGlobalValue() {
|
|
return this.globalValue;
|
|
},
|
|
getGlobalDefault: function getGlobalDefault() {
|
|
var controlGlobalArgs = this.model.get('global');
|
|
|
|
if (controlGlobalArgs === null || controlGlobalArgs === void 0 ? void 0 : controlGlobalArgs.default) {
|
|
// If the control is a color/typography control and default colors/typography are disabled, don't return the global value.
|
|
if (!elementor.config.globals.defaults_enabled[this.getGlobalMeta().controlType]) {
|
|
return '';
|
|
}
|
|
|
|
var _$e$data$commandExtra = $e.data.commandExtractArgs(controlGlobalArgs.default),
|
|
command = _$e$data$commandExtra.command,
|
|
args = _$e$data$commandExtra.args,
|
|
result = $e.data.getCache($e.components.get('globals'), command, args.query);
|
|
|
|
return result === null || result === void 0 ? void 0 : result.value;
|
|
} // No global default.
|
|
|
|
|
|
return '';
|
|
},
|
|
getCurrentValue: function getCurrentValue() {
|
|
if (this.getGlobalKey() && !this.globalValue) {
|
|
return '';
|
|
}
|
|
|
|
if (this.globalValue) {
|
|
return this.globalValue;
|
|
}
|
|
|
|
var controlValue = this.getControlValue();
|
|
|
|
if (controlValue) {
|
|
return controlValue;
|
|
}
|
|
|
|
return this.getGlobalDefault();
|
|
},
|
|
isGlobalActive: function isGlobalActive() {
|
|
var _this$options$model$g;
|
|
|
|
return (_this$options$model$g = this.options.model.get('global')) === null || _this$options$model$g === void 0 ? void 0 : _this$options$model$g.active;
|
|
},
|
|
setValue: function setValue(value) {
|
|
this.setSettingsModel(value);
|
|
},
|
|
setSettingsModel: function setSettingsModel(value) {
|
|
var key = this.model.get('name');
|
|
$e.run('document/elements/settings', {
|
|
container: this.options.container,
|
|
settings: (0, _defineProperty2.default)({}, key, value)
|
|
});
|
|
this.triggerMethod('settings:change');
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
this.setInputValue('[data-setting="' + this.model.get('name') + '"]', this.getControlValue());
|
|
},
|
|
getEditSettings: function getEditSettings(setting) {
|
|
var settings = this.getOption('elementEditSettings').toJSON();
|
|
|
|
if (setting) {
|
|
return settings[setting];
|
|
}
|
|
|
|
return settings;
|
|
},
|
|
setEditSetting: function setEditSetting(settingKey, settingValue) {
|
|
var settings = this.getOption('elementEditSettings') || this.getOption('container').settings;
|
|
settings.set(settingKey, settingValue);
|
|
},
|
|
getInputValue: function getInputValue(input) {
|
|
var $input = this.$(input);
|
|
|
|
if ($input.is('[contenteditable="true"]')) {
|
|
return $input.html();
|
|
}
|
|
|
|
var inputValue = $input.val(),
|
|
inputType = $input.attr('type');
|
|
|
|
if (-1 !== ['radio', 'checkbox'].indexOf(inputType)) {
|
|
return $input.prop('checked') ? inputValue : '';
|
|
}
|
|
|
|
if ('number' === inputType && _.isFinite(inputValue)) {
|
|
return +inputValue;
|
|
} // Temp fix for jQuery (< 3.0) that return null instead of empty array
|
|
|
|
|
|
if ('SELECT' === input.tagName && $input.prop('multiple') && null === inputValue) {
|
|
inputValue = [];
|
|
}
|
|
|
|
return inputValue;
|
|
},
|
|
setInputValue: function setInputValue(input, value) {
|
|
var $input = this.$(input),
|
|
inputType = $input.attr('type');
|
|
|
|
if ('checkbox' === inputType) {
|
|
$input.prop('checked', !!value);
|
|
} else if ('radio' === inputType) {
|
|
$input.filter('[value="' + value + '"]').prop('checked', true);
|
|
} else {
|
|
$input.val(value);
|
|
}
|
|
},
|
|
addValidator: function addValidator(validator) {
|
|
this.validators.push(validator);
|
|
},
|
|
registerValidators: function registerValidators() {
|
|
this.validators = [];
|
|
var validationTerms = {};
|
|
|
|
if (this.model.get('required')) {
|
|
validationTerms.required = true;
|
|
}
|
|
|
|
if (!jQuery.isEmptyObject(validationTerms)) {
|
|
this.addValidator(new Validator({
|
|
validationTerms: validationTerms
|
|
}));
|
|
}
|
|
},
|
|
onRender: function onRender() {
|
|
ControlBaseView.prototype.onRender.apply(this, arguments);
|
|
|
|
if (this.model.get('responsive')) {
|
|
this.renderResponsiveSwitchers();
|
|
}
|
|
|
|
this.applySavedValue();
|
|
this.triggerMethod('ready');
|
|
this.toggleControlVisibility();
|
|
this.addTooltip();
|
|
},
|
|
onBaseInputTextChange: function onBaseInputTextChange(event) {
|
|
this.onBaseInputChange(event);
|
|
},
|
|
onBaseInputChange: function onBaseInputChange(event) {
|
|
clearTimeout(this.correctionTimeout);
|
|
var input = event.currentTarget,
|
|
value = this.getInputValue(input),
|
|
validators = this.validators.slice(0),
|
|
settingsValidators = this.container.settings.validators[this.model.get('name')];
|
|
|
|
if (settingsValidators) {
|
|
validators = validators.concat(settingsValidators);
|
|
}
|
|
|
|
if (validators) {
|
|
var oldValue = this.getControlValue(input.dataset.setting);
|
|
var isValidValue = validators.every(function (validator) {
|
|
return validator.isValid(value, oldValue);
|
|
});
|
|
|
|
if (!isValidValue) {
|
|
this.correctionTimeout = setTimeout(this.setInputValue.bind(this, input, oldValue), 1200);
|
|
return;
|
|
}
|
|
}
|
|
|
|
this.updateElementModel(value, input);
|
|
this.triggerMethod('input:change', event);
|
|
},
|
|
onResponsiveSwitchersClick: function onResponsiveSwitchersClick(event) {
|
|
var $switcher = jQuery(event.currentTarget),
|
|
device = $switcher.data('device'),
|
|
$switchersWrapper = this.ui.responsiveSwitchersWrapper,
|
|
selectedOption = $switcher.index();
|
|
$switchersWrapper.toggleClass('elementor-responsive-switchers-open');
|
|
$switchersWrapper[0].style.setProperty('--selected-option', selectedOption);
|
|
this.triggerMethod('responsive:switcher:click', device);
|
|
elementor.changeDeviceMode(device);
|
|
},
|
|
renderResponsiveSwitchers: function renderResponsiveSwitchers() {
|
|
var templateHtml = Marionette.Renderer.render('#tmpl-elementor-control-responsive-switchers', this.model.attributes);
|
|
this.ui.controlTitle.after(templateHtml);
|
|
this.ui.responsiveSwitchersWrapper = this.$el.find('.elementor-control-responsive-switchers');
|
|
},
|
|
onAfterExternalChange: function onAfterExternalChange() {
|
|
this.hideTooltip();
|
|
this.applySavedValue();
|
|
},
|
|
addTooltip: function addTooltip() {
|
|
this.ui.tooltipTargets = this.$el.find('.tooltip-target');
|
|
|
|
if (!this.ui.tooltipTargets.length) {
|
|
return;
|
|
} // Create tooltip on controls
|
|
|
|
|
|
this.ui.tooltipTargets.tipsy({
|
|
gravity: function gravity() {
|
|
// `n` for down, `s` for up
|
|
var gravity = jQuery(this).data('tooltip-pos');
|
|
|
|
if (undefined !== gravity) {
|
|
return gravity;
|
|
}
|
|
|
|
return 's';
|
|
},
|
|
title: function title() {
|
|
return this.getAttribute('data-tooltip');
|
|
}
|
|
});
|
|
},
|
|
hideTooltip: function hideTooltip() {
|
|
if (this.ui.tooltipTargets.length) {
|
|
this.ui.tooltipTargets.tipsy('hide');
|
|
}
|
|
},
|
|
updateElementModel: function updateElementModel(value) {
|
|
this.setValue(value);
|
|
}
|
|
}, {
|
|
// Static methods
|
|
getStyleValue: function getStyleValue(placeholder, controlValue, controlData) {
|
|
if ('DEFAULT' === placeholder) {
|
|
return controlData.default;
|
|
}
|
|
|
|
return controlValue;
|
|
},
|
|
onPasteStyle: function onPasteStyle() {
|
|
return true;
|
|
}
|
|
});
|
|
module.exports = ControlBaseDataView;
|
|
|
|
/***/ }),
|
|
/* 128 */,
|
|
/* 129 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var document = __webpack_require__(8).document;
|
|
module.exports = document && document.documentElement;
|
|
|
|
|
|
/***/ }),
|
|
/* 130 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// fast apply, http://jsperf.lnkit.com/fast-apply/5
|
|
module.exports = function (fn, args, that) {
|
|
var un = that === undefined;
|
|
switch (args.length) {
|
|
case 0: return un ? fn()
|
|
: fn.call(that);
|
|
case 1: return un ? fn(args[0])
|
|
: fn.call(that, args[0]);
|
|
case 2: return un ? fn(args[0], args[1])
|
|
: fn.call(that, args[0], args[1]);
|
|
case 3: return un ? fn(args[0], args[1], args[2])
|
|
: fn.call(that, args[0], args[1], args[2]);
|
|
case 4: return un ? fn(args[0], args[1], args[2], args[3])
|
|
: fn.call(that, args[0], args[1], args[2], args[3]);
|
|
} return fn.apply(that, args);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 131 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = !__webpack_require__(27) && !__webpack_require__(35)(function () {
|
|
return Object.defineProperty(__webpack_require__(113)('div'), 'a', { get: function () { return 7; } }).a != 7;
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 132 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var dP = __webpack_require__(15);
|
|
var anObject = __webpack_require__(11);
|
|
var getKeys = __webpack_require__(36);
|
|
|
|
module.exports = __webpack_require__(14) ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
anObject(O);
|
|
var keys = getKeys(Properties);
|
|
var length = keys.length;
|
|
var i = 0;
|
|
var P;
|
|
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
|
|
return O;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 133 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$setPrototypeOf = __webpack_require__(111);
|
|
|
|
function _setPrototypeOf(o, p) {
|
|
module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
o.__proto__ = p;
|
|
return o;
|
|
};
|
|
|
|
return _setPrototypeOf(o, p);
|
|
}
|
|
|
|
module.exports = _setPrototypeOf;
|
|
|
|
/***/ }),
|
|
/* 134 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var shared = __webpack_require__(76)('keys');
|
|
var uid = __webpack_require__(77);
|
|
module.exports = function (key) {
|
|
return shared[key] || (shared[key] = uid(key));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 135 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(160);
|
|
|
|
/***/ }),
|
|
/* 136 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// ECMAScript 6 symbols shim
|
|
var global = __webpack_require__(8);
|
|
var has = __webpack_require__(17);
|
|
var DESCRIPTORS = __webpack_require__(14);
|
|
var $export = __webpack_require__(7);
|
|
var redefine = __webpack_require__(88);
|
|
var META = __webpack_require__(75).KEY;
|
|
var $fails = __webpack_require__(21);
|
|
var shared = __webpack_require__(69);
|
|
var setToStringTag = __webpack_require__(53);
|
|
var uid = __webpack_require__(54);
|
|
var wks = __webpack_require__(10);
|
|
var wksExt = __webpack_require__(62);
|
|
var wksDefine = __webpack_require__(73);
|
|
var enumKeys = __webpack_require__(174);
|
|
var isArray = __webpack_require__(93);
|
|
var anObject = __webpack_require__(11);
|
|
var isObject = __webpack_require__(9);
|
|
var toObject = __webpack_require__(32);
|
|
var toIObject = __webpack_require__(19);
|
|
var toPrimitive = __webpack_require__(67);
|
|
var createDesc = __webpack_require__(42);
|
|
var _create = __webpack_require__(52);
|
|
var gOPNExt = __webpack_require__(175);
|
|
var $GOPD = __webpack_require__(51);
|
|
var $GOPS = __webpack_require__(74);
|
|
var $DP = __webpack_require__(15);
|
|
var $keys = __webpack_require__(36);
|
|
var gOPD = $GOPD.f;
|
|
var dP = $DP.f;
|
|
var gOPN = gOPNExt.f;
|
|
var $Symbol = global.Symbol;
|
|
var $JSON = global.JSON;
|
|
var _stringify = $JSON && $JSON.stringify;
|
|
var PROTOTYPE = 'prototype';
|
|
var HIDDEN = wks('_hidden');
|
|
var TO_PRIMITIVE = wks('toPrimitive');
|
|
var isEnum = {}.propertyIsEnumerable;
|
|
var SymbolRegistry = shared('symbol-registry');
|
|
var AllSymbols = shared('symbols');
|
|
var OPSymbols = shared('op-symbols');
|
|
var ObjectProto = Object[PROTOTYPE];
|
|
var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
|
|
var QObject = global.QObject;
|
|
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
|
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
|
|
|
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
|
|
var setSymbolDesc = DESCRIPTORS && $fails(function () {
|
|
return _create(dP({}, 'a', {
|
|
get: function () { return dP(this, 'a', { value: 7 }).a; }
|
|
})).a != 7;
|
|
}) ? function (it, key, D) {
|
|
var protoDesc = gOPD(ObjectProto, key);
|
|
if (protoDesc) delete ObjectProto[key];
|
|
dP(it, key, D);
|
|
if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
|
|
} : dP;
|
|
|
|
var wrap = function (tag) {
|
|
var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
|
|
sym._k = tag;
|
|
return sym;
|
|
};
|
|
|
|
var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
|
|
return typeof it == 'symbol';
|
|
} : function (it) {
|
|
return it instanceof $Symbol;
|
|
};
|
|
|
|
var $defineProperty = function defineProperty(it, key, D) {
|
|
if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
|
|
anObject(it);
|
|
key = toPrimitive(key, true);
|
|
anObject(D);
|
|
if (has(AllSymbols, key)) {
|
|
if (!D.enumerable) {
|
|
if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
|
|
it[HIDDEN][key] = true;
|
|
} else {
|
|
if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
|
|
D = _create(D, { enumerable: createDesc(0, false) });
|
|
} return setSymbolDesc(it, key, D);
|
|
} return dP(it, key, D);
|
|
};
|
|
var $defineProperties = function defineProperties(it, P) {
|
|
anObject(it);
|
|
var keys = enumKeys(P = toIObject(P));
|
|
var i = 0;
|
|
var l = keys.length;
|
|
var key;
|
|
while (l > i) $defineProperty(it, key = keys[i++], P[key]);
|
|
return it;
|
|
};
|
|
var $create = function create(it, P) {
|
|
return P === undefined ? _create(it) : $defineProperties(_create(it), P);
|
|
};
|
|
var $propertyIsEnumerable = function propertyIsEnumerable(key) {
|
|
var E = isEnum.call(this, key = toPrimitive(key, true));
|
|
if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
|
|
return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
|
|
};
|
|
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
|
|
it = toIObject(it);
|
|
key = toPrimitive(key, true);
|
|
if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
|
|
var D = gOPD(it, key);
|
|
if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
|
|
return D;
|
|
};
|
|
var $getOwnPropertyNames = function getOwnPropertyNames(it) {
|
|
var names = gOPN(toIObject(it));
|
|
var result = [];
|
|
var i = 0;
|
|
var key;
|
|
while (names.length > i) {
|
|
if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
|
|
} return result;
|
|
};
|
|
var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
|
|
var IS_OP = it === ObjectProto;
|
|
var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
|
|
var result = [];
|
|
var i = 0;
|
|
var key;
|
|
while (names.length > i) {
|
|
if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
|
|
} return result;
|
|
};
|
|
|
|
// 19.4.1.1 Symbol([description])
|
|
if (!USE_NATIVE) {
|
|
$Symbol = function Symbol() {
|
|
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
|
|
var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
|
|
var $set = function (value) {
|
|
if (this === ObjectProto) $set.call(OPSymbols, value);
|
|
if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
|
|
setSymbolDesc(this, tag, createDesc(1, value));
|
|
};
|
|
if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
|
|
return wrap(tag);
|
|
};
|
|
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
|
|
return this._k;
|
|
});
|
|
|
|
$GOPD.f = $getOwnPropertyDescriptor;
|
|
$DP.f = $defineProperty;
|
|
__webpack_require__(94).f = gOPNExt.f = $getOwnPropertyNames;
|
|
__webpack_require__(46).f = $propertyIsEnumerable;
|
|
$GOPS.f = $getOwnPropertySymbols;
|
|
|
|
if (DESCRIPTORS && !__webpack_require__(44)) {
|
|
redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
|
|
}
|
|
|
|
wksExt.f = function (name) {
|
|
return wrap(wks(name));
|
|
};
|
|
}
|
|
|
|
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
|
|
|
|
for (var es6Symbols = (
|
|
// 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
|
|
'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
|
|
).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
|
|
|
|
for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
|
|
|
|
$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
|
|
// 19.4.2.1 Symbol.for(key)
|
|
'for': function (key) {
|
|
return has(SymbolRegistry, key += '')
|
|
? SymbolRegistry[key]
|
|
: SymbolRegistry[key] = $Symbol(key);
|
|
},
|
|
// 19.4.2.5 Symbol.keyFor(sym)
|
|
keyFor: function keyFor(sym) {
|
|
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
|
|
for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
|
|
},
|
|
useSetter: function () { setter = true; },
|
|
useSimple: function () { setter = false; }
|
|
});
|
|
|
|
$export($export.S + $export.F * !USE_NATIVE, 'Object', {
|
|
// 19.1.2.2 Object.create(O [, Properties])
|
|
create: $create,
|
|
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
|
|
defineProperty: $defineProperty,
|
|
// 19.1.2.3 Object.defineProperties(O, Properties)
|
|
defineProperties: $defineProperties,
|
|
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
|
|
getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
|
|
// 19.1.2.7 Object.getOwnPropertyNames(O)
|
|
getOwnPropertyNames: $getOwnPropertyNames,
|
|
// 19.1.2.8 Object.getOwnPropertySymbols(O)
|
|
getOwnPropertySymbols: $getOwnPropertySymbols
|
|
});
|
|
|
|
// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
|
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
|
|
var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
|
|
|
|
$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
|
|
getOwnPropertySymbols: function getOwnPropertySymbols(it) {
|
|
return $GOPS.f(toObject(it));
|
|
}
|
|
});
|
|
|
|
// 24.3.2 JSON.stringify(value [, replacer [, space]])
|
|
$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
|
|
var S = $Symbol();
|
|
// MS Edge converts symbol values to JSON as {}
|
|
// WebKit converts symbol values to JSON as null
|
|
// V8 throws on boxed symbols
|
|
return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
|
|
})), 'JSON', {
|
|
stringify: function stringify(it) {
|
|
var args = [it];
|
|
var i = 1;
|
|
var replacer, $replacer;
|
|
while (arguments.length > i) args.push(arguments[i++]);
|
|
$replacer = replacer = args[1];
|
|
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
|
if (!isArray(replacer)) replacer = function (key, value) {
|
|
if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
|
|
if (!isSymbol(value)) return value;
|
|
};
|
|
args[1] = replacer;
|
|
return _stringify.apply($JSON, args);
|
|
}
|
|
});
|
|
|
|
// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
|
|
$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(22)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
|
|
// 19.4.3.5 Symbol.prototype[@@toStringTag]
|
|
setToStringTag($Symbol, 'Symbol');
|
|
// 20.2.1.9 Math[@@toStringTag]
|
|
setToStringTag(Math, 'Math', true);
|
|
// 24.3.3 JSON[@@toStringTag]
|
|
setToStringTag(global.JSON, 'JSON', true);
|
|
|
|
|
|
/***/ }),
|
|
/* 137 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(257);
|
|
|
|
/***/ }),
|
|
/* 138 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(288);
|
|
|
|
/***/ }),
|
|
/* 139 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// https://github.com/tc39/Array.prototype.includes
|
|
var $export = __webpack_require__(37);
|
|
var $includes = __webpack_require__(145)(true);
|
|
|
|
$export($export.P, 'Array', {
|
|
includes: function includes(el /* , fromIndex = 0 */) {
|
|
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
|
|
}
|
|
});
|
|
|
|
__webpack_require__(89)('includes');
|
|
|
|
|
|
/***/ }),
|
|
/* 140 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 0 -> Array#forEach
|
|
// 1 -> Array#map
|
|
// 2 -> Array#filter
|
|
// 3 -> Array#some
|
|
// 4 -> Array#every
|
|
// 5 -> Array#find
|
|
// 6 -> Array#findIndex
|
|
var ctx = __webpack_require__(31);
|
|
var IObject = __webpack_require__(100);
|
|
var toObject = __webpack_require__(32);
|
|
var toLength = __webpack_require__(70);
|
|
var asc = __webpack_require__(245);
|
|
module.exports = function (TYPE, $create) {
|
|
var IS_MAP = TYPE == 1;
|
|
var IS_FILTER = TYPE == 2;
|
|
var IS_SOME = TYPE == 3;
|
|
var IS_EVERY = TYPE == 4;
|
|
var IS_FIND_INDEX = TYPE == 6;
|
|
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
|
var create = $create || asc;
|
|
return function ($this, callbackfn, that) {
|
|
var O = toObject($this);
|
|
var self = IObject(O);
|
|
var f = ctx(callbackfn, that, 3);
|
|
var length = toLength(self.length);
|
|
var index = 0;
|
|
var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
|
var val, res;
|
|
for (;length > index; index++) if (NO_HOLES || index in self) {
|
|
val = self[index];
|
|
res = f(val, index, O);
|
|
if (TYPE) {
|
|
if (IS_MAP) result[index] = res; // map
|
|
else if (res) switch (TYPE) {
|
|
case 3: return true; // some
|
|
case 5: return val; // find
|
|
case 6: return index; // findIndex
|
|
case 2: result.push(val); // filter
|
|
} else if (IS_EVERY) return false; // every
|
|
}
|
|
}
|
|
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 141 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Reflect$construct = __webpack_require__(101);
|
|
|
|
function _isNativeReflectConstruct() {
|
|
if (typeof Reflect === "undefined" || !_Reflect$construct) return false;
|
|
if (_Reflect$construct.sham) return false;
|
|
if (typeof Proxy === "function") return true;
|
|
|
|
try {
|
|
Date.prototype.toString.call(_Reflect$construct(Date, [], function () {}));
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
module.exports = _isNativeReflectConstruct;
|
|
|
|
/***/ }),
|
|
/* 142 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (done, value) {
|
|
return { value: value, done: !!done };
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 143 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// call something on iterator step with safe closing on error
|
|
var anObject = __webpack_require__(11);
|
|
module.exports = function (iterator, fn, value, entries) {
|
|
try {
|
|
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
|
|
// 7.4.6 IteratorClose(iterator, completion)
|
|
} catch (e) {
|
|
var ret = iterator['return'];
|
|
if (ret !== undefined) anObject(ret.call(iterator));
|
|
throw e;
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 144 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// check on default Array iterator
|
|
var Iterators = __webpack_require__(33);
|
|
var ITERATOR = __webpack_require__(10)('iterator');
|
|
var ArrayProto = Array.prototype;
|
|
|
|
module.exports = function (it) {
|
|
return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 145 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// false -> Array#indexOf
|
|
// true -> Array#includes
|
|
var toIObject = __webpack_require__(103);
|
|
var toLength = __webpack_require__(45);
|
|
var toAbsoluteIndex = __webpack_require__(198);
|
|
module.exports = function (IS_INCLUDES) {
|
|
return function ($this, el, fromIndex) {
|
|
var O = toIObject($this);
|
|
var length = toLength(O.length);
|
|
var index = toAbsoluteIndex(fromIndex, length);
|
|
var value;
|
|
// Array#includes uses SameValueZero equality algorithm
|
|
// eslint-disable-next-line no-self-compare
|
|
if (IS_INCLUDES && el != el) while (length > index) {
|
|
value = O[index++];
|
|
// eslint-disable-next-line no-self-compare
|
|
if (value != value) return true;
|
|
// Array#indexOf ignores holes, Array#includes - not
|
|
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
|
|
if (O[index] === el) return IS_INCLUDES || index || 0;
|
|
} return !IS_INCLUDES && -1;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 146 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var toInteger = __webpack_require__(59);
|
|
var defined = __webpack_require__(43);
|
|
// true -> String#at
|
|
// false -> String#codePointAt
|
|
module.exports = function (TO_STRING) {
|
|
return function (that, pos) {
|
|
var s = String(defined(that));
|
|
var i = toInteger(pos);
|
|
var l = s.length;
|
|
var a, b;
|
|
if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
|
|
a = s.charCodeAt(i);
|
|
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
|
|
? TO_STRING ? s.charAt(i) : a
|
|
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 147 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(76)('native-function-to-string', Function.toString);
|
|
|
|
|
|
/***/ }),
|
|
/* 148 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(168);
|
|
|
|
/***/ }),
|
|
/* 149 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 25.4.1.5 NewPromiseCapability(C)
|
|
var aFunction = __webpack_require__(34);
|
|
|
|
function PromiseCapability(C) {
|
|
var resolve, reject;
|
|
this.promise = new C(function ($$resolve, $$reject) {
|
|
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
|
resolve = $$resolve;
|
|
reject = $$reject;
|
|
});
|
|
this.resolve = aFunction(resolve);
|
|
this.reject = aFunction(reject);
|
|
}
|
|
|
|
module.exports.f = function (C) {
|
|
return new PromiseCapability(C);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 150 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $iterators = __webpack_require__(118);
|
|
var getKeys = __webpack_require__(191);
|
|
var redefine = __webpack_require__(39);
|
|
var global = __webpack_require__(18);
|
|
var hide = __webpack_require__(29);
|
|
var Iterators = __webpack_require__(119);
|
|
var wks = __webpack_require__(13);
|
|
var ITERATOR = wks('iterator');
|
|
var TO_STRING_TAG = wks('toStringTag');
|
|
var ArrayValues = Iterators.Array;
|
|
|
|
var DOMIterables = {
|
|
CSSRuleList: true, // TODO: Not spec compliant, should be false.
|
|
CSSStyleDeclaration: false,
|
|
CSSValueList: false,
|
|
ClientRectList: false,
|
|
DOMRectList: false,
|
|
DOMStringList: false,
|
|
DOMTokenList: true,
|
|
DataTransferItemList: false,
|
|
FileList: false,
|
|
HTMLAllCollection: false,
|
|
HTMLCollection: false,
|
|
HTMLFormElement: false,
|
|
HTMLSelectElement: false,
|
|
MediaList: true, // TODO: Not spec compliant, should be false.
|
|
MimeTypeArray: false,
|
|
NamedNodeMap: false,
|
|
NodeList: true,
|
|
PaintRequestList: false,
|
|
Plugin: false,
|
|
PluginArray: false,
|
|
SVGLengthList: false,
|
|
SVGNumberList: false,
|
|
SVGPathSegList: false,
|
|
SVGPointList: false,
|
|
SVGStringList: false,
|
|
SVGTransformList: false,
|
|
SourceBufferList: false,
|
|
StyleSheetList: true, // TODO: Not spec compliant, should be false.
|
|
TextTrackCueList: false,
|
|
TextTrackList: false,
|
|
TouchList: false
|
|
};
|
|
|
|
for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
|
|
var NAME = collections[i];
|
|
var explicit = DOMIterables[NAME];
|
|
var Collection = global[NAME];
|
|
var proto = Collection && Collection.prototype;
|
|
var key;
|
|
if (proto) {
|
|
if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
|
|
if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
|
|
Iterators[NAME] = ArrayValues;
|
|
if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
|
|
}
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 151 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// IE 8- don't enum bug keys
|
|
module.exports = (
|
|
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
|
|
).split(',');
|
|
|
|
|
|
/***/ }),
|
|
/* 152 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(153);
|
|
var $Object = __webpack_require__(6).Object;
|
|
module.exports = function defineProperty(it, key, desc) {
|
|
return $Object.defineProperty(it, key, desc);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 153 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(7);
|
|
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
|
|
$export($export.S + $export.F * !__webpack_require__(14), 'Object', { defineProperty: __webpack_require__(15).f });
|
|
|
|
|
|
/***/ }),
|
|
/* 154 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(155);
|
|
|
|
/***/ }),
|
|
/* 155 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(156);
|
|
module.exports = __webpack_require__(6).Object.getPrototypeOf;
|
|
|
|
|
|
/***/ }),
|
|
/* 156 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.9 Object.getPrototypeOf(O)
|
|
var toObject = __webpack_require__(32);
|
|
var $getPrototypeOf = __webpack_require__(63);
|
|
|
|
__webpack_require__(78)('getPrototypeOf', function () {
|
|
return function getPrototypeOf(it) {
|
|
return $getPrototypeOf(toObject(it));
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 157 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(158);
|
|
module.exports = __webpack_require__(6).Object.setPrototypeOf;
|
|
|
|
|
|
/***/ }),
|
|
/* 158 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.3.19 Object.setPrototypeOf(O, proto)
|
|
var $export = __webpack_require__(7);
|
|
$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(159).set });
|
|
|
|
|
|
/***/ }),
|
|
/* 159 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
|
/* eslint-disable no-proto */
|
|
var isObject = __webpack_require__(9);
|
|
var anObject = __webpack_require__(11);
|
|
var check = function (O, proto) {
|
|
anObject(O);
|
|
if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
|
|
};
|
|
module.exports = {
|
|
set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
|
|
function (test, buggy, set) {
|
|
try {
|
|
set = __webpack_require__(31)(Function.call, __webpack_require__(51).f(Object.prototype, '__proto__').set, 2);
|
|
set(test, []);
|
|
buggy = !(test instanceof Array);
|
|
} catch (e) { buggy = true; }
|
|
return function setPrototypeOf(O, proto) {
|
|
check(O, proto);
|
|
if (buggy) O.__proto__ = proto;
|
|
else set(O, proto);
|
|
return O;
|
|
};
|
|
}({}, false) : undefined),
|
|
check: check
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 160 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(161);
|
|
var $Object = __webpack_require__(6).Object;
|
|
module.exports = function create(P, D) {
|
|
return $Object.create(P, D);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 161 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(7);
|
|
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
|
$export($export.S, 'Object', { create: __webpack_require__(52) });
|
|
|
|
|
|
/***/ }),
|
|
/* 162 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// false -> Array#indexOf
|
|
// true -> Array#includes
|
|
var toIObject = __webpack_require__(19);
|
|
var toLength = __webpack_require__(70);
|
|
var toAbsoluteIndex = __webpack_require__(163);
|
|
module.exports = function (IS_INCLUDES) {
|
|
return function ($this, el, fromIndex) {
|
|
var O = toIObject($this);
|
|
var length = toLength(O.length);
|
|
var index = toAbsoluteIndex(fromIndex, length);
|
|
var value;
|
|
// Array#includes uses SameValueZero equality algorithm
|
|
// eslint-disable-next-line no-self-compare
|
|
if (IS_INCLUDES && el != el) while (length > index) {
|
|
value = O[index++];
|
|
// eslint-disable-next-line no-self-compare
|
|
if (value != value) return true;
|
|
// Array#indexOf ignores holes, Array#includes - not
|
|
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
|
|
if (O[index] === el) return IS_INCLUDES || index || 0;
|
|
} return !IS_INCLUDES && -1;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 163 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var toInteger = __webpack_require__(71);
|
|
var max = Math.max;
|
|
var min = Math.min;
|
|
module.exports = function (index, length) {
|
|
index = toInteger(index);
|
|
return index < 0 ? max(index + length, 0) : min(index, length);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 164 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(165);
|
|
module.exports = __webpack_require__(6).Reflect.construct;
|
|
|
|
|
|
/***/ }),
|
|
/* 165 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
|
|
var $export = __webpack_require__(7);
|
|
var create = __webpack_require__(52);
|
|
var aFunction = __webpack_require__(34);
|
|
var anObject = __webpack_require__(11);
|
|
var isObject = __webpack_require__(9);
|
|
var fails = __webpack_require__(21);
|
|
var bind = __webpack_require__(166);
|
|
var rConstruct = (__webpack_require__(8).Reflect || {}).construct;
|
|
|
|
// MS Edge supports only 2 arguments and argumentsList argument is optional
|
|
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
|
|
var NEW_TARGET_BUG = fails(function () {
|
|
function F() { /* empty */ }
|
|
return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);
|
|
});
|
|
var ARGS_BUG = !fails(function () {
|
|
rConstruct(function () { /* empty */ });
|
|
});
|
|
|
|
$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
|
|
construct: function construct(Target, args /* , newTarget */) {
|
|
aFunction(Target);
|
|
anObject(args);
|
|
var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
|
|
if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
|
|
if (Target == newTarget) {
|
|
// w/o altered newTarget, optimization for 0-4 arguments
|
|
switch (args.length) {
|
|
case 0: return new Target();
|
|
case 1: return new Target(args[0]);
|
|
case 2: return new Target(args[0], args[1]);
|
|
case 3: return new Target(args[0], args[1], args[2]);
|
|
case 4: return new Target(args[0], args[1], args[2], args[3]);
|
|
}
|
|
// w/o altered newTarget, lot of arguments case
|
|
var $args = [null];
|
|
$args.push.apply($args, args);
|
|
return new (bind.apply(Target, $args))();
|
|
}
|
|
// with altered newTarget, not support built-in constructors
|
|
var proto = newTarget.prototype;
|
|
var instance = create(isObject(proto) ? proto : Object.prototype);
|
|
var result = Function.apply.call(Target, instance, args);
|
|
return isObject(result) ? result : instance;
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 166 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var aFunction = __webpack_require__(34);
|
|
var isObject = __webpack_require__(9);
|
|
var invoke = __webpack_require__(130);
|
|
var arraySlice = [].slice;
|
|
var factories = {};
|
|
|
|
var construct = function (F, len, args) {
|
|
if (!(len in factories)) {
|
|
for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';
|
|
// eslint-disable-next-line no-new-func
|
|
factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
|
|
} return factories[len](F, args);
|
|
};
|
|
|
|
module.exports = Function.bind || function bind(that /* , ...args */) {
|
|
var fn = aFunction(this);
|
|
var partArgs = arraySlice.call(arguments, 1);
|
|
var bound = function (/* args... */) {
|
|
var args = partArgs.concat(arraySlice.call(arguments));
|
|
return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
|
|
};
|
|
if (isObject(fn.prototype)) bound.prototype = fn.prototype;
|
|
return bound;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 167 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _typeof = __webpack_require__(47);
|
|
|
|
var assertThisInitialized = __webpack_require__(48);
|
|
|
|
function _possibleConstructorReturn(self, call) {
|
|
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
return call;
|
|
}
|
|
|
|
return assertThisInitialized(self);
|
|
}
|
|
|
|
module.exports = _possibleConstructorReturn;
|
|
|
|
/***/ }),
|
|
/* 168 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(58);
|
|
__webpack_require__(61);
|
|
module.exports = __webpack_require__(62).f('iterator');
|
|
|
|
|
|
/***/ }),
|
|
/* 169 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var toInteger = __webpack_require__(71);
|
|
var defined = __webpack_require__(65);
|
|
// true -> String#at
|
|
// false -> String#codePointAt
|
|
module.exports = function (TO_STRING) {
|
|
return function (that, pos) {
|
|
var s = String(defined(that));
|
|
var i = toInteger(pos);
|
|
var l = s.length;
|
|
var a, b;
|
|
if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
|
|
a = s.charCodeAt(i);
|
|
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
|
|
? TO_STRING ? s.charAt(i) : a
|
|
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 170 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var create = __webpack_require__(52);
|
|
var descriptor = __webpack_require__(42);
|
|
var setToStringTag = __webpack_require__(53);
|
|
var IteratorPrototype = {};
|
|
|
|
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
|
__webpack_require__(22)(IteratorPrototype, __webpack_require__(10)('iterator'), function () { return this; });
|
|
|
|
module.exports = function (Constructor, NAME, next) {
|
|
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
|
|
setToStringTag(Constructor, NAME + ' Iterator');
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 171 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var addToUnscopables = __webpack_require__(172);
|
|
var step = __webpack_require__(142);
|
|
var Iterators = __webpack_require__(33);
|
|
var toIObject = __webpack_require__(19);
|
|
|
|
// 22.1.3.4 Array.prototype.entries()
|
|
// 22.1.3.13 Array.prototype.keys()
|
|
// 22.1.3.29 Array.prototype.values()
|
|
// 22.1.3.30 Array.prototype[@@iterator]()
|
|
module.exports = __webpack_require__(102)(Array, 'Array', function (iterated, kind) {
|
|
this._t = toIObject(iterated); // target
|
|
this._i = 0; // next index
|
|
this._k = kind; // kind
|
|
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
|
|
}, function () {
|
|
var O = this._t;
|
|
var kind = this._k;
|
|
var index = this._i++;
|
|
if (!O || index >= O.length) {
|
|
this._t = undefined;
|
|
return step(1);
|
|
}
|
|
if (kind == 'keys') return step(0, index);
|
|
if (kind == 'values') return step(0, O[index]);
|
|
return step(0, [index, O[index]]);
|
|
}, 'values');
|
|
|
|
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
|
|
Iterators.Arguments = Iterators.Array;
|
|
|
|
addToUnscopables('keys');
|
|
addToUnscopables('values');
|
|
addToUnscopables('entries');
|
|
|
|
|
|
/***/ }),
|
|
/* 172 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function () { /* empty */ };
|
|
|
|
|
|
/***/ }),
|
|
/* 173 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(136);
|
|
__webpack_require__(96);
|
|
__webpack_require__(176);
|
|
__webpack_require__(177);
|
|
module.exports = __webpack_require__(6).Symbol;
|
|
|
|
|
|
/***/ }),
|
|
/* 174 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// all enumerable object keys, includes symbols
|
|
var getKeys = __webpack_require__(36);
|
|
var gOPS = __webpack_require__(74);
|
|
var pIE = __webpack_require__(46);
|
|
module.exports = function (it) {
|
|
var result = getKeys(it);
|
|
var getSymbols = gOPS.f;
|
|
if (getSymbols) {
|
|
var symbols = getSymbols(it);
|
|
var isEnum = pIE.f;
|
|
var i = 0;
|
|
var key;
|
|
while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
|
|
} return result;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 175 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
|
|
var toIObject = __webpack_require__(19);
|
|
var gOPN = __webpack_require__(94).f;
|
|
var toString = {}.toString;
|
|
|
|
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
|
? Object.getOwnPropertyNames(window) : [];
|
|
|
|
var getWindowNames = function (it) {
|
|
try {
|
|
return gOPN(it);
|
|
} catch (e) {
|
|
return windowNames.slice();
|
|
}
|
|
};
|
|
|
|
module.exports.f = function getOwnPropertyNames(it) {
|
|
return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 176 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(73)('asyncIterator');
|
|
|
|
|
|
/***/ }),
|
|
/* 177 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(73)('observable');
|
|
|
|
|
|
/***/ }),
|
|
/* 178 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var ITERATOR = __webpack_require__(10)('iterator');
|
|
var SAFE_CLOSING = false;
|
|
|
|
try {
|
|
var riter = [7][ITERATOR]();
|
|
riter['return'] = function () { SAFE_CLOSING = true; };
|
|
// eslint-disable-next-line no-throw-literal
|
|
Array.from(riter, function () { throw 2; });
|
|
} catch (e) { /* empty */ }
|
|
|
|
module.exports = function (exec, skipClosing) {
|
|
if (!skipClosing && !SAFE_CLOSING) return false;
|
|
var safe = false;
|
|
try {
|
|
var arr = [7];
|
|
var iter = arr[ITERATOR]();
|
|
iter.next = function () { return { done: safe = true }; };
|
|
arr[ITERATOR] = function () { return iter; };
|
|
exec(arr);
|
|
} catch (e) { /* empty */ }
|
|
return safe;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 179 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var def = __webpack_require__(49).f;
|
|
var has = __webpack_require__(64);
|
|
var TAG = __webpack_require__(13)('toStringTag');
|
|
|
|
module.exports = function (it, tag, stat) {
|
|
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 180 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
|
|
var anObject = __webpack_require__(20);
|
|
var aFunction = __webpack_require__(95);
|
|
var SPECIES = __webpack_require__(13)('species');
|
|
module.exports = function (O, D) {
|
|
var C = anObject(O).constructor;
|
|
var S;
|
|
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 181 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var DESCRIPTORS = __webpack_require__(14);
|
|
var getKeys = __webpack_require__(36);
|
|
var toIObject = __webpack_require__(19);
|
|
var isEnum = __webpack_require__(46).f;
|
|
module.exports = function (isEntries) {
|
|
return function (it) {
|
|
var O = toIObject(it);
|
|
var keys = getKeys(O);
|
|
var length = keys.length;
|
|
var i = 0;
|
|
var result = [];
|
|
var key;
|
|
while (length > i) {
|
|
key = keys[i++];
|
|
if (!DESCRIPTORS || isEnum.call(O, key)) {
|
|
result.push(isEntries ? [key, O[key]] : O[key]);
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 182 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
// 21.1.3.7 String.prototype.includes(searchString, position = 0)
|
|
|
|
var $export = __webpack_require__(37);
|
|
var context = __webpack_require__(204);
|
|
var INCLUDES = 'includes';
|
|
|
|
$export($export.P + $export.F * __webpack_require__(205)(INCLUDES), 'String', {
|
|
includes: function includes(searchString /* , position = 0 */) {
|
|
return !!~context(this, searchString, INCLUDES)
|
|
.indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 183 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(184);
|
|
var $Object = __webpack_require__(6).Object;
|
|
module.exports = function getOwnPropertyDescriptor(it, key) {
|
|
return $Object.getOwnPropertyDescriptor(it, key);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 184 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
|
|
var toIObject = __webpack_require__(19);
|
|
var $getOwnPropertyDescriptor = __webpack_require__(51).f;
|
|
|
|
__webpack_require__(78)('getOwnPropertyDescriptor', function () {
|
|
return function getOwnPropertyDescriptor(it, key) {
|
|
return $getOwnPropertyDescriptor(toIObject(it), key);
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 185 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(186);
|
|
|
|
/***/ }),
|
|
/* 186 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(187);
|
|
module.exports = __webpack_require__(6).Reflect.get;
|
|
|
|
|
|
/***/ }),
|
|
/* 187 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 26.1.6 Reflect.get(target, propertyKey [, receiver])
|
|
var gOPD = __webpack_require__(51);
|
|
var getPrototypeOf = __webpack_require__(63);
|
|
var has = __webpack_require__(17);
|
|
var $export = __webpack_require__(7);
|
|
var isObject = __webpack_require__(9);
|
|
var anObject = __webpack_require__(11);
|
|
|
|
function get(target, propertyKey /* , receiver */) {
|
|
var receiver = arguments.length < 3 ? target : arguments[2];
|
|
var desc, proto;
|
|
if (anObject(target) === receiver) return target[propertyKey];
|
|
if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')
|
|
? desc.value
|
|
: desc.get !== undefined
|
|
? desc.get.call(receiver)
|
|
: undefined;
|
|
if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
|
|
}
|
|
|
|
$export($export.S, 'Reflect', { get: get });
|
|
|
|
|
|
/***/ }),
|
|
/* 188 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var getPrototypeOf = __webpack_require__(16);
|
|
|
|
function _superPropBase(object, property) {
|
|
while (!Object.prototype.hasOwnProperty.call(object, property)) {
|
|
object = getPrototypeOf(object);
|
|
if (object === null) break;
|
|
}
|
|
|
|
return object;
|
|
}
|
|
|
|
module.exports = _superPropBase;
|
|
|
|
/***/ }),
|
|
/* 189 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 0 -> Array#forEach
|
|
// 1 -> Array#map
|
|
// 2 -> Array#filter
|
|
// 3 -> Array#some
|
|
// 4 -> Array#every
|
|
// 5 -> Array#find
|
|
// 6 -> Array#findIndex
|
|
var ctx = __webpack_require__(80);
|
|
var IObject = __webpack_require__(121);
|
|
var toObject = __webpack_require__(99);
|
|
var toLength = __webpack_require__(45);
|
|
var asc = __webpack_require__(216);
|
|
module.exports = function (TYPE, $create) {
|
|
var IS_MAP = TYPE == 1;
|
|
var IS_FILTER = TYPE == 2;
|
|
var IS_SOME = TYPE == 3;
|
|
var IS_EVERY = TYPE == 4;
|
|
var IS_FIND_INDEX = TYPE == 6;
|
|
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
|
var create = $create || asc;
|
|
return function ($this, callbackfn, that) {
|
|
var O = toObject($this);
|
|
var self = IObject(O);
|
|
var f = ctx(callbackfn, that, 3);
|
|
var length = toLength(self.length);
|
|
var index = 0;
|
|
var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
|
var val, res;
|
|
for (;length > index; index++) if (NO_HOLES || index in self) {
|
|
val = self[index];
|
|
res = f(val, index, O);
|
|
if (TYPE) {
|
|
if (IS_MAP) result[index] = res; // map
|
|
else if (res) switch (TYPE) {
|
|
case 3: return true; // some
|
|
case 5: return val; // find
|
|
case 6: return index; // findIndex
|
|
case 2: result.push(val); // filter
|
|
} else if (IS_EVERY) return false; // every
|
|
}
|
|
}
|
|
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 190 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
__webpack_require__(280);
|
|
var anObject = __webpack_require__(20);
|
|
var $flags = __webpack_require__(109);
|
|
var DESCRIPTORS = __webpack_require__(27);
|
|
var TO_STRING = 'toString';
|
|
var $toString = /./[TO_STRING];
|
|
|
|
var define = function (fn) {
|
|
__webpack_require__(39)(RegExp.prototype, TO_STRING, fn, true);
|
|
};
|
|
|
|
// 21.2.5.14 RegExp.prototype.toString()
|
|
if (__webpack_require__(35)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
|
|
define(function toString() {
|
|
var R = anObject(this);
|
|
return '/'.concat(R.source, '/',
|
|
'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
|
|
});
|
|
// FF44- RegExp#toString has a wrong name
|
|
} else if ($toString.name != TO_STRING) {
|
|
define(function toString() {
|
|
return $toString.call(this);
|
|
});
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 191 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
|
var $keys = __webpack_require__(219);
|
|
var enumBugKeys = __webpack_require__(151);
|
|
|
|
module.exports = Object.keys || function keys(O) {
|
|
return $keys(O, enumBugKeys);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 192 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var $defineProperty = __webpack_require__(15);
|
|
var createDesc = __webpack_require__(42);
|
|
|
|
module.exports = function (object, index, value) {
|
|
if (index in object) $defineProperty.f(object, index, createDesc(0, value));
|
|
else object[index] = value;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 193 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Array$from = __webpack_require__(200);
|
|
|
|
var arrayLikeToArray = __webpack_require__(199);
|
|
|
|
function _unsupportedIterableToArray(o, minLen) {
|
|
if (!o) return;
|
|
if (typeof o === "string") return arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
if (n === "Map" || n === "Set") return _Array$from(o);
|
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
|
|
}
|
|
|
|
module.exports = _unsupportedIterableToArray;
|
|
|
|
/***/ }),
|
|
/* 194 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$assign = __webpack_require__(138);
|
|
|
|
function _extends() {
|
|
module.exports = _extends = _Object$assign || function (target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i];
|
|
|
|
for (var key in source) {
|
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
target[key] = source[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
return target;
|
|
};
|
|
|
|
return _extends.apply(this, arguments);
|
|
}
|
|
|
|
module.exports = _extends;
|
|
|
|
/***/ }),
|
|
/* 195 */,
|
|
/* 196 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var regexpExec = __webpack_require__(92);
|
|
__webpack_require__(37)({
|
|
target: 'RegExp',
|
|
proto: true,
|
|
forced: regexpExec !== /./.exec
|
|
}, {
|
|
exec: regexpExec
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 197 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var LIBRARY = __webpack_require__(114);
|
|
var $export = __webpack_require__(37);
|
|
var redefine = __webpack_require__(39);
|
|
var hide = __webpack_require__(29);
|
|
var Iterators = __webpack_require__(119);
|
|
var $iterCreate = __webpack_require__(242);
|
|
var setToStringTag = __webpack_require__(179);
|
|
var getPrototypeOf = __webpack_require__(244);
|
|
var ITERATOR = __webpack_require__(13)('iterator');
|
|
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
|
|
var FF_ITERATOR = '@@iterator';
|
|
var KEYS = 'keys';
|
|
var VALUES = 'values';
|
|
|
|
var returnThis = function () { return this; };
|
|
|
|
module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
|
|
$iterCreate(Constructor, NAME, next);
|
|
var getMethod = function (kind) {
|
|
if (!BUGGY && kind in proto) return proto[kind];
|
|
switch (kind) {
|
|
case KEYS: return function keys() { return new Constructor(this, kind); };
|
|
case VALUES: return function values() { return new Constructor(this, kind); };
|
|
} return function entries() { return new Constructor(this, kind); };
|
|
};
|
|
var TAG = NAME + ' Iterator';
|
|
var DEF_VALUES = DEFAULT == VALUES;
|
|
var VALUES_BUG = false;
|
|
var proto = Base.prototype;
|
|
var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
|
|
var $default = $native || getMethod(DEFAULT);
|
|
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
|
|
var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
|
|
var methods, key, IteratorPrototype;
|
|
// Fix native
|
|
if ($anyNative) {
|
|
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
|
|
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
|
|
// Set @@toStringTag to native iterators
|
|
setToStringTag(IteratorPrototype, TAG, true);
|
|
// fix for some old engines
|
|
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
|
|
}
|
|
}
|
|
// fix Array#{values, @@iterator}.name in V8 / FF
|
|
if (DEF_VALUES && $native && $native.name !== VALUES) {
|
|
VALUES_BUG = true;
|
|
$default = function values() { return $native.call(this); };
|
|
}
|
|
// Define iterator
|
|
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
|
|
hide(proto, ITERATOR, $default);
|
|
}
|
|
// Plug for library
|
|
Iterators[NAME] = $default;
|
|
Iterators[TAG] = returnThis;
|
|
if (DEFAULT) {
|
|
methods = {
|
|
values: DEF_VALUES ? $default : getMethod(VALUES),
|
|
keys: IS_SET ? $default : getMethod(KEYS),
|
|
entries: $entries
|
|
};
|
|
if (FORCED) for (key in methods) {
|
|
if (!(key in proto)) redefine(proto, key, methods[key]);
|
|
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
|
|
}
|
|
return methods;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 198 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var toInteger = __webpack_require__(59);
|
|
var max = Math.max;
|
|
var min = Math.min;
|
|
module.exports = function (index, length) {
|
|
index = toInteger(index);
|
|
return index < 0 ? max(index + length, 0) : min(index, length);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 199 */
|
|
/***/ (function(module, exports) {
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
if (len == null || len > arr.length) len = arr.length;
|
|
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
arr2[i] = arr[i];
|
|
}
|
|
|
|
return arr2;
|
|
}
|
|
|
|
module.exports = _arrayLikeToArray;
|
|
|
|
/***/ }),
|
|
/* 200 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(230);
|
|
|
|
/***/ }),
|
|
/* 201 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(202);
|
|
module.exports = __webpack_require__(6).Object.keys;
|
|
|
|
|
|
/***/ }),
|
|
/* 202 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.14 Object.keys(O)
|
|
var toObject = __webpack_require__(32);
|
|
var $keys = __webpack_require__(36);
|
|
|
|
__webpack_require__(78)('keys', function () {
|
|
return function keys(it) {
|
|
return $keys(toObject(it));
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 203 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var CommandInternalBase = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(CommandInternalBase, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(CommandInternalBase);
|
|
|
|
(0, _createClass2.default)(CommandInternalBase, null, [{
|
|
key: "getInstanceType",
|
|
value: function getInstanceType() {
|
|
return 'CommandInternalBase';
|
|
}
|
|
}]);
|
|
|
|
function CommandInternalBase(args) {
|
|
var commandsAPI = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : $e.commandsInternal;
|
|
(0, _classCallCheck2.default)(this, CommandInternalBase);
|
|
return _super.call(this, args, commandsAPI);
|
|
}
|
|
|
|
return CommandInternalBase;
|
|
}(_commandBase.default);
|
|
|
|
exports.default = CommandInternalBase;
|
|
|
|
/***/ }),
|
|
/* 204 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// helper for String#{startsWith, endsWith, includes}
|
|
var isRegExp = __webpack_require__(123);
|
|
var defined = __webpack_require__(43);
|
|
|
|
module.exports = function (that, searchString, NAME) {
|
|
if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
|
|
return String(defined(that));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 205 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var MATCH = __webpack_require__(13)('match');
|
|
module.exports = function (KEY) {
|
|
var re = /./;
|
|
try {
|
|
'/./'[KEY](re);
|
|
} catch (e) {
|
|
try {
|
|
re[MATCH] = false;
|
|
return !'/./'[KEY](re);
|
|
} catch (f) { /* empty */ }
|
|
} return true;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 206 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(316);
|
|
|
|
/***/ }),
|
|
/* 207 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
|
|
var anObject = __webpack_require__(11);
|
|
var aFunction = __webpack_require__(34);
|
|
var SPECIES = __webpack_require__(10)('species');
|
|
module.exports = function (O, D) {
|
|
var C = anObject(O).constructor;
|
|
var S;
|
|
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 208 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var ctx = __webpack_require__(31);
|
|
var invoke = __webpack_require__(130);
|
|
var html = __webpack_require__(129);
|
|
var cel = __webpack_require__(87);
|
|
var global = __webpack_require__(8);
|
|
var process = global.process;
|
|
var setTask = global.setImmediate;
|
|
var clearTask = global.clearImmediate;
|
|
var MessageChannel = global.MessageChannel;
|
|
var Dispatch = global.Dispatch;
|
|
var counter = 0;
|
|
var queue = {};
|
|
var ONREADYSTATECHANGE = 'onreadystatechange';
|
|
var defer, channel, port;
|
|
var run = function () {
|
|
var id = +this;
|
|
// eslint-disable-next-line no-prototype-builtins
|
|
if (queue.hasOwnProperty(id)) {
|
|
var fn = queue[id];
|
|
delete queue[id];
|
|
fn();
|
|
}
|
|
};
|
|
var listener = function (event) {
|
|
run.call(event.data);
|
|
};
|
|
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
|
if (!setTask || !clearTask) {
|
|
setTask = function setImmediate(fn) {
|
|
var args = [];
|
|
var i = 1;
|
|
while (arguments.length > i) args.push(arguments[i++]);
|
|
queue[++counter] = function () {
|
|
// eslint-disable-next-line no-new-func
|
|
invoke(typeof fn == 'function' ? fn : Function(fn), args);
|
|
};
|
|
defer(counter);
|
|
return counter;
|
|
};
|
|
clearTask = function clearImmediate(id) {
|
|
delete queue[id];
|
|
};
|
|
// Node.js 0.8-
|
|
if (__webpack_require__(55)(process) == 'process') {
|
|
defer = function (id) {
|
|
process.nextTick(ctx(run, id, 1));
|
|
};
|
|
// Sphere (JS game engine) Dispatch API
|
|
} else if (Dispatch && Dispatch.now) {
|
|
defer = function (id) {
|
|
Dispatch.now(ctx(run, id, 1));
|
|
};
|
|
// Browsers with MessageChannel, includes WebWorkers
|
|
} else if (MessageChannel) {
|
|
channel = new MessageChannel();
|
|
port = channel.port2;
|
|
channel.port1.onmessage = listener;
|
|
defer = ctx(port.postMessage, port, 1);
|
|
// Browsers with postMessage, skip WebWorkers
|
|
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
|
} else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
|
|
defer = function (id) {
|
|
global.postMessage(id + '', '*');
|
|
};
|
|
global.addEventListener('message', listener, false);
|
|
// IE8-
|
|
} else if (ONREADYSTATECHANGE in cel('script')) {
|
|
defer = function (id) {
|
|
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
|
|
html.removeChild(this);
|
|
run.call(id);
|
|
};
|
|
};
|
|
// Rest old browsers
|
|
} else {
|
|
defer = function (id) {
|
|
setTimeout(ctx(run, id, 1), 0);
|
|
};
|
|
}
|
|
}
|
|
module.exports = {
|
|
set: setTask,
|
|
clear: clearTask
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 209 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (exec) {
|
|
try {
|
|
return { e: false, v: exec() };
|
|
} catch (e) {
|
|
return { e: true, v: e };
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 210 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var anObject = __webpack_require__(11);
|
|
var isObject = __webpack_require__(9);
|
|
var newPromiseCapability = __webpack_require__(149);
|
|
|
|
module.exports = function (C, x) {
|
|
anObject(C);
|
|
if (isObject(x) && x.constructor === C) return x;
|
|
var promiseCapability = newPromiseCapability.f(C);
|
|
var resolve = promiseCapability.resolve;
|
|
resolve(x);
|
|
return promiseCapability.promise;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 211 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(232);
|
|
|
|
/***/ }),
|
|
/* 212 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 19.1.2.1 Object.assign(target, source, ...)
|
|
var DESCRIPTORS = __webpack_require__(14);
|
|
var getKeys = __webpack_require__(36);
|
|
var gOPS = __webpack_require__(74);
|
|
var pIE = __webpack_require__(46);
|
|
var toObject = __webpack_require__(32);
|
|
var IObject = __webpack_require__(100);
|
|
var $assign = Object.assign;
|
|
|
|
// should work with symbols and should have deterministic property order (V8 bug)
|
|
module.exports = !$assign || __webpack_require__(21)(function () {
|
|
var A = {};
|
|
var B = {};
|
|
// eslint-disable-next-line no-undef
|
|
var S = Symbol();
|
|
var K = 'abcdefghijklmnopqrst';
|
|
A[S] = 7;
|
|
K.split('').forEach(function (k) { B[k] = k; });
|
|
return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
|
|
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
|
|
var T = toObject(target);
|
|
var aLen = arguments.length;
|
|
var index = 1;
|
|
var getSymbols = gOPS.f;
|
|
var isEnum = pIE.f;
|
|
while (aLen > index) {
|
|
var S = IObject(arguments[index++]);
|
|
var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
|
|
var length = keys.length;
|
|
var j = 0;
|
|
var key;
|
|
while (length > j) {
|
|
key = keys[j++];
|
|
if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
|
|
}
|
|
} return T;
|
|
} : $assign;
|
|
|
|
|
|
/***/ }),
|
|
/* 213 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(282);
|
|
|
|
/***/ }),
|
|
/* 214 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
var _Object$defineProperties = __webpack_require__(290);
|
|
|
|
var _Object$getOwnPropertyDescriptors = __webpack_require__(303);
|
|
|
|
var _Object$getOwnPropertyDescriptor = __webpack_require__(117);
|
|
|
|
var _Object$getOwnPropertySymbols = __webpack_require__(307);
|
|
|
|
var _Object$keys = __webpack_require__(25);
|
|
|
|
var defineProperty = __webpack_require__(28);
|
|
|
|
function ownKeys(object, enumerableOnly) {
|
|
var keys = _Object$keys(object);
|
|
|
|
if (_Object$getOwnPropertySymbols) {
|
|
var symbols = _Object$getOwnPropertySymbols(object);
|
|
|
|
if (enumerableOnly) symbols = symbols.filter(function (sym) {
|
|
return _Object$getOwnPropertyDescriptor(object, sym).enumerable;
|
|
});
|
|
keys.push.apply(keys, symbols);
|
|
}
|
|
|
|
return keys;
|
|
}
|
|
|
|
function _objectSpread2(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
|
|
if (i % 2) {
|
|
ownKeys(Object(source), true).forEach(function (key) {
|
|
defineProperty(target, key, source[key]);
|
|
});
|
|
} else if (_Object$getOwnPropertyDescriptors) {
|
|
_Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source));
|
|
} else {
|
|
ownKeys(Object(source)).forEach(function (key) {
|
|
_Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
}
|
|
|
|
return target;
|
|
}
|
|
|
|
module.exports = _objectSpread2;
|
|
|
|
/***/ }),
|
|
/* 215 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _helperBc = _interopRequireDefault(__webpack_require__(370));
|
|
|
|
// TODO: this file should be deleted.
|
|
var Helper = /*#__PURE__*/function (_BackwardsCompatibili) {
|
|
(0, _inherits2.default)(Helper, _BackwardsCompatibili);
|
|
|
|
var _super = (0, _createSuper2.default)(Helper);
|
|
|
|
function Helper() {
|
|
(0, _classCallCheck2.default)(this, Helper);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Helper, null, [{
|
|
key: "isValidChild",
|
|
// TODO: This is not the right place for this function
|
|
value: function isValidChild(childModel, parentModel) {
|
|
var parentElType = parentModel.get('elType'),
|
|
draggedElType = childModel.get('elType'),
|
|
parentIsInner = parentModel.get('isInner'),
|
|
draggedIsInner = childModel.get('isInner'); // Block's inner-section at inner-section column.
|
|
|
|
if (draggedIsInner && 'section' === draggedElType && parentIsInner && 'column' === parentElType) {
|
|
return false;
|
|
}
|
|
|
|
if (draggedElType === parentElType) {
|
|
return false;
|
|
}
|
|
|
|
if ('section' === draggedElType && !draggedIsInner && 'column' === parentElType) {
|
|
return false;
|
|
}
|
|
|
|
var childTypes = elementor.helpers.getElementChildType(parentElType);
|
|
return childTypes && -1 !== childTypes.indexOf(childModel.get('elType'));
|
|
} // TODO: This is not the right place for this function
|
|
|
|
}, {
|
|
key: "isValidGrandChild",
|
|
value: function isValidGrandChild(childModel, targetContainer) {
|
|
var result;
|
|
var childElType = childModel.get('elType');
|
|
|
|
switch (targetContainer.model.get('elType')) {
|
|
case 'document':
|
|
result = true;
|
|
break;
|
|
|
|
case 'section':
|
|
result = 'widget' === childElType;
|
|
break;
|
|
|
|
default:
|
|
result = false;
|
|
}
|
|
|
|
return result;
|
|
} // TODO: This is not the right place for this function
|
|
|
|
}, {
|
|
key: "isSameElement",
|
|
value: function isSameElement(sourceModel, targetContainer) {
|
|
var targetElType = targetContainer.model.get('elType'),
|
|
sourceElType = sourceModel.get('elType');
|
|
|
|
if (targetElType !== sourceElType) {
|
|
return false;
|
|
}
|
|
|
|
if ('column' === targetElType && 'column' === sourceElType) {
|
|
return true;
|
|
}
|
|
|
|
return targetContainer.model.get('isInner') === sourceModel.get('isInner');
|
|
} // TODO: This is not the right place for this function
|
|
|
|
}, {
|
|
key: "getPasteOptions",
|
|
value: function getPasteOptions(sourceModel, targetContainer) {
|
|
var result = {};
|
|
result.isValidChild = this.isValidChild(sourceModel, targetContainer.model);
|
|
result.isSameElement = this.isSameElement(sourceModel, targetContainer);
|
|
result.isValidGrandChild = this.isValidGrandChild(sourceModel, targetContainer);
|
|
return result;
|
|
} // TODO: This is not the right place for this function
|
|
|
|
}, {
|
|
key: "isPasteEnabled",
|
|
value: function isPasteEnabled(targetContainer) {
|
|
var storage = elementorCommon.storage.get('clipboard'); // No storage? no paste.
|
|
|
|
if (!storage || !storage[0]) {
|
|
return false;
|
|
}
|
|
|
|
if (!(storage[0] instanceof Backbone.Model)) {
|
|
storage[0] = new Backbone.Model(storage[0]);
|
|
}
|
|
|
|
var pasteOptions = this.getPasteOptions(storage[0], targetContainer);
|
|
return (0, _values.default)(pasteOptions).some(function (opt) {
|
|
return !!opt;
|
|
});
|
|
}
|
|
}]);
|
|
return Helper;
|
|
}(_helperBc.default);
|
|
|
|
exports.default = Helper;
|
|
|
|
/***/ }),
|
|
/* 216 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
|
|
var speciesConstructor = __webpack_require__(217);
|
|
|
|
module.exports = function (original, length) {
|
|
return new (speciesConstructor(original))(length);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 217 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(30);
|
|
var isArray = __webpack_require__(218);
|
|
var SPECIES = __webpack_require__(13)('species');
|
|
|
|
module.exports = function (original) {
|
|
var C;
|
|
if (isArray(original)) {
|
|
C = original.constructor;
|
|
// cross-realm fallback
|
|
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
|
if (isObject(C)) {
|
|
C = C[SPECIES];
|
|
if (C === null) C = undefined;
|
|
}
|
|
} return C === undefined ? Array : C;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 218 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 7.2.2 IsArray(argument)
|
|
var cof = __webpack_require__(50);
|
|
module.exports = Array.isArray || function isArray(arg) {
|
|
return cof(arg) == 'Array';
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 219 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var has = __webpack_require__(64);
|
|
var toIObject = __webpack_require__(103);
|
|
var arrayIndexOf = __webpack_require__(145)(false);
|
|
var IE_PROTO = __webpack_require__(134)('IE_PROTO');
|
|
|
|
module.exports = function (object, names) {
|
|
var O = toIObject(object);
|
|
var i = 0;
|
|
var result = [];
|
|
var key;
|
|
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
|
|
// Don't enum bug & hidden keys
|
|
while (names.length > i) if (has(O, key = names[i++])) {
|
|
~arrayIndexOf(result, key) || result.push(key);
|
|
}
|
|
return result;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 220 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(221);
|
|
module.exports = __webpack_require__(6).Array.isArray;
|
|
|
|
|
|
/***/ }),
|
|
/* 221 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
|
|
var $export = __webpack_require__(7);
|
|
|
|
$export($export.S, 'Array', { isArray: __webpack_require__(93) });
|
|
|
|
|
|
/***/ }),
|
|
/* 222 */,
|
|
/* 223 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _instanceType = _interopRequireDefault(__webpack_require__(252));
|
|
|
|
var ArgsObject = /*#__PURE__*/function (_InstanceType) {
|
|
(0, _inherits2.default)(ArgsObject, _InstanceType);
|
|
|
|
var _super = (0, _createSuper2.default)(ArgsObject);
|
|
|
|
(0, _createClass2.default)(ArgsObject, null, [{
|
|
key: "getInstanceType",
|
|
value: function getInstanceType() {
|
|
return 'ArgsObject';
|
|
}
|
|
/**
|
|
* Function constructor().
|
|
*
|
|
* Create ArgsObject.
|
|
*
|
|
* @param {{}} args
|
|
*/
|
|
|
|
}]);
|
|
|
|
function ArgsObject(args) {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, ArgsObject);
|
|
_this = _super.call(this);
|
|
_this.args = args;
|
|
return _this;
|
|
}
|
|
/**
|
|
* Function requireArgument().
|
|
*
|
|
* Validate property in args.
|
|
*
|
|
* @param {string} property
|
|
* @param {{}} args
|
|
*
|
|
* @throws {Error}
|
|
*
|
|
*/
|
|
|
|
|
|
(0, _createClass2.default)(ArgsObject, [{
|
|
key: "requireArgument",
|
|
value: function requireArgument(property) {
|
|
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.args;
|
|
|
|
if (!args.hasOwnProperty(property)) {
|
|
throw Error("".concat(property, " is required."));
|
|
}
|
|
}
|
|
/**
|
|
* Function requireArgumentType().
|
|
*
|
|
* Validate property in args using `type === typeof(args.whatever)`.
|
|
*
|
|
* @param {string} property
|
|
* @param {string} type
|
|
* @param {{}} args
|
|
*
|
|
* @throws {Error}
|
|
*
|
|
*/
|
|
|
|
}, {
|
|
key: "requireArgumentType",
|
|
value: function requireArgumentType(property, type) {
|
|
var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
|
|
this.requireArgument(property, args);
|
|
|
|
if ((0, _typeof2.default)(args[property]) !== type) {
|
|
throw Error("".concat(property, " invalid type: ").concat(type, "."));
|
|
}
|
|
}
|
|
/**
|
|
* Function requireArgumentInstance().
|
|
*
|
|
* Validate property in args using `args.whatever instanceof instance`.
|
|
*
|
|
* @param {string} property
|
|
* @param {instanceof} instance
|
|
* @param {{}} args
|
|
*
|
|
* @throws {Error}
|
|
*
|
|
*/
|
|
|
|
}, {
|
|
key: "requireArgumentInstance",
|
|
value: function requireArgumentInstance(property, instance) {
|
|
var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
|
|
this.requireArgument(property, args);
|
|
|
|
if (!(args[property] instanceof instance)) {
|
|
throw Error("".concat(property, " invalid instance."));
|
|
}
|
|
}
|
|
/**
|
|
* Function requireArgumentConstructor().
|
|
*
|
|
* Validate property in args using `type === args.whatever.constructor`.
|
|
*
|
|
* @param {string} property
|
|
* @param {*} type
|
|
* @param {{}} args
|
|
*
|
|
* @throws {Error}
|
|
*
|
|
*/
|
|
|
|
}, {
|
|
key: "requireArgumentConstructor",
|
|
value: function requireArgumentConstructor(property, type) {
|
|
var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
|
|
this.requireArgument(property, args);
|
|
|
|
if (args[property].constructor !== type) {
|
|
throw Error("".concat(property, " invalid constructor type."));
|
|
}
|
|
}
|
|
}]);
|
|
return ArgsObject;
|
|
}(_instanceType.default);
|
|
|
|
exports.default = ArgsObject;
|
|
|
|
/***/ }),
|
|
/* 224 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.After = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _base = _interopRequireDefault(__webpack_require__(286));
|
|
|
|
var After = /*#__PURE__*/function (_Base) {
|
|
(0, _inherits2.default)(After, _Base);
|
|
|
|
var _super = (0, _createSuper2.default)(After);
|
|
|
|
function After() {
|
|
(0, _classCallCheck2.default)(this, After);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(After, [{
|
|
key: "register",
|
|
value: function register() {
|
|
$e.hooks.registerDataAfter(this);
|
|
}
|
|
}]);
|
|
return After;
|
|
}(_base.default);
|
|
|
|
exports.After = After;
|
|
var _default = After;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 225 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var global = __webpack_require__(8);
|
|
var core = __webpack_require__(6);
|
|
var dP = __webpack_require__(15);
|
|
var DESCRIPTORS = __webpack_require__(14);
|
|
var SPECIES = __webpack_require__(10)('species');
|
|
|
|
module.exports = function (KEY) {
|
|
var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
|
|
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
|
|
configurable: true,
|
|
get: function () { return this; }
|
|
});
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 226 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(227);
|
|
module.exports = __webpack_require__(6).Object.values;
|
|
|
|
|
|
/***/ }),
|
|
/* 227 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// https://github.com/tc39/proposal-object-values-entries
|
|
var $export = __webpack_require__(7);
|
|
var $values = __webpack_require__(181)(false);
|
|
|
|
$export($export.S, 'Object', {
|
|
values: function values(it) {
|
|
return $values(it);
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 228 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
|
var anObject = __webpack_require__(20);
|
|
var dPs = __webpack_require__(243);
|
|
var enumBugKeys = __webpack_require__(151);
|
|
var IE_PROTO = __webpack_require__(134)('IE_PROTO');
|
|
var Empty = function () { /* empty */ };
|
|
var PROTOTYPE = 'prototype';
|
|
|
|
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
|
var createDict = function () {
|
|
// Thrash, waste and sodomy: IE GC bug
|
|
var iframe = __webpack_require__(113)('iframe');
|
|
var i = enumBugKeys.length;
|
|
var lt = '<';
|
|
var gt = '>';
|
|
var iframeDocument;
|
|
iframe.style.display = 'none';
|
|
__webpack_require__(229).appendChild(iframe);
|
|
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
|
// createDict = iframe.contentWindow.Object;
|
|
// html.removeChild(iframe);
|
|
iframeDocument = iframe.contentWindow.document;
|
|
iframeDocument.open();
|
|
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
|
iframeDocument.close();
|
|
createDict = iframeDocument.F;
|
|
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
|
return createDict();
|
|
};
|
|
|
|
module.exports = Object.create || function create(O, Properties) {
|
|
var result;
|
|
if (O !== null) {
|
|
Empty[PROTOTYPE] = anObject(O);
|
|
result = new Empty();
|
|
Empty[PROTOTYPE] = null;
|
|
// add "__proto__" for Object.getPrototypeOf polyfill
|
|
result[IE_PROTO] = O;
|
|
} else result = createDict();
|
|
return Properties === undefined ? result : dPs(result, Properties);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 229 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var document = __webpack_require__(18).document;
|
|
module.exports = document && document.documentElement;
|
|
|
|
|
|
/***/ }),
|
|
/* 230 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(58);
|
|
__webpack_require__(231);
|
|
module.exports = __webpack_require__(6).Array.from;
|
|
|
|
|
|
/***/ }),
|
|
/* 231 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var ctx = __webpack_require__(31);
|
|
var $export = __webpack_require__(7);
|
|
var toObject = __webpack_require__(32);
|
|
var call = __webpack_require__(143);
|
|
var isArrayIter = __webpack_require__(144);
|
|
var toLength = __webpack_require__(70);
|
|
var createProperty = __webpack_require__(192);
|
|
var getIterFn = __webpack_require__(115);
|
|
|
|
$export($export.S + $export.F * !__webpack_require__(178)(function (iter) { Array.from(iter); }), 'Array', {
|
|
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
|
|
from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
|
|
var O = toObject(arrayLike);
|
|
var C = typeof this == 'function' ? this : Array;
|
|
var aLen = arguments.length;
|
|
var mapfn = aLen > 1 ? arguments[1] : undefined;
|
|
var mapping = mapfn !== undefined;
|
|
var index = 0;
|
|
var iterFn = getIterFn(O);
|
|
var length, result, step, iterator;
|
|
if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
|
|
// if object isn't iterable or it's array with default iterator - use simple case
|
|
if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
|
|
for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
|
|
createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
|
|
}
|
|
} else {
|
|
length = toLength(O.length);
|
|
for (result = new C(length); length > index; index++) {
|
|
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
|
|
}
|
|
}
|
|
result.length = index;
|
|
return result;
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 232 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(61);
|
|
__webpack_require__(58);
|
|
module.exports = __webpack_require__(233);
|
|
|
|
|
|
/***/ }),
|
|
/* 233 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var classof = __webpack_require__(104);
|
|
var ITERATOR = __webpack_require__(10)('iterator');
|
|
var Iterators = __webpack_require__(33);
|
|
module.exports = __webpack_require__(6).isIterable = function (it) {
|
|
var O = Object(it);
|
|
return O[ITERATOR] !== undefined
|
|
|| '@@iterator' in O
|
|
// eslint-disable-next-line no-prototype-builtins
|
|
|| Iterators.hasOwnProperty(classof(O));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 234 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var global = __webpack_require__(8);
|
|
var $export = __webpack_require__(7);
|
|
var meta = __webpack_require__(75);
|
|
var fails = __webpack_require__(21);
|
|
var hide = __webpack_require__(22);
|
|
var redefineAll = __webpack_require__(126);
|
|
var forOf = __webpack_require__(90);
|
|
var anInstance = __webpack_require__(125);
|
|
var isObject = __webpack_require__(9);
|
|
var setToStringTag = __webpack_require__(53);
|
|
var dP = __webpack_require__(15).f;
|
|
var each = __webpack_require__(140)(0);
|
|
var DESCRIPTORS = __webpack_require__(14);
|
|
|
|
module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
|
|
var Base = global[NAME];
|
|
var C = Base;
|
|
var ADDER = IS_MAP ? 'set' : 'add';
|
|
var proto = C && C.prototype;
|
|
var O = {};
|
|
if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
|
|
new C().entries().next();
|
|
}))) {
|
|
// create collection constructor
|
|
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
|
|
redefineAll(C.prototype, methods);
|
|
meta.NEED = true;
|
|
} else {
|
|
C = wrapper(function (target, iterable) {
|
|
anInstance(target, C, NAME, '_c');
|
|
target._c = new Base();
|
|
if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
|
|
});
|
|
each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
|
|
var IS_ADDER = KEY == 'add' || KEY == 'set';
|
|
if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
|
|
anInstance(this, C, KEY);
|
|
if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
|
|
var result = this._c[KEY](a === 0 ? 0 : a, b);
|
|
return IS_ADDER ? this : result;
|
|
});
|
|
});
|
|
IS_WEAK || dP(C.prototype, 'size', {
|
|
get: function () {
|
|
return this._c.size;
|
|
}
|
|
});
|
|
}
|
|
|
|
setToStringTag(C, NAME);
|
|
|
|
O[NAME] = C;
|
|
$export($export.G + $export.W + $export.F, O);
|
|
|
|
if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
|
|
|
|
return C;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 235 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
var $export = __webpack_require__(7);
|
|
|
|
module.exports = function (COLLECTION) {
|
|
$export($export.S, COLLECTION, { of: function of() {
|
|
var length = arguments.length;
|
|
var A = new Array(length);
|
|
while (length--) A[length] = arguments[length];
|
|
return new this(A);
|
|
} });
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 236 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
var $export = __webpack_require__(7);
|
|
var aFunction = __webpack_require__(34);
|
|
var ctx = __webpack_require__(31);
|
|
var forOf = __webpack_require__(90);
|
|
|
|
module.exports = function (COLLECTION) {
|
|
$export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
|
|
var mapFn = arguments[1];
|
|
var mapping, A, n, cb;
|
|
aFunction(this);
|
|
mapping = mapFn !== undefined;
|
|
if (mapping) aFunction(mapFn);
|
|
if (source == undefined) return new this();
|
|
A = [];
|
|
if (mapping) {
|
|
n = 0;
|
|
cb = ctx(mapFn, arguments[2], 2);
|
|
forOf(source, false, function (nextItem) {
|
|
A.push(cb(nextItem, n++));
|
|
});
|
|
} else {
|
|
forOf(source, false, A.push, A);
|
|
}
|
|
return new this(A);
|
|
} });
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 237 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
|
|
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
|
|
|
|
|
/***/ }),
|
|
/* 238 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(249);
|
|
|
|
/***/ }),
|
|
/* 239 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlBaseMultipleItemView;
|
|
|
|
ControlBaseMultipleItemView = ControlBaseDataView.extend({
|
|
applySavedValue: function applySavedValue() {
|
|
var values = this.getControlValue(),
|
|
$inputs = this.$('[data-setting]'),
|
|
self = this;
|
|
|
|
_.each(values, function (value, key) {
|
|
var $input = $inputs.filter(function () {
|
|
return key === this.dataset.setting;
|
|
});
|
|
self.setInputValue($input, value);
|
|
});
|
|
},
|
|
getControlValue: function getControlValue(key) {
|
|
var values = this.container.settings.get(this.model.get('name'));
|
|
|
|
if (!jQuery.isPlainObject(values)) {
|
|
return {};
|
|
}
|
|
|
|
if (key) {
|
|
var value = values[key];
|
|
|
|
if (undefined === value) {
|
|
value = '';
|
|
}
|
|
|
|
return value;
|
|
}
|
|
|
|
return elementorCommon.helpers.cloneObject(values);
|
|
},
|
|
setValue: function setValue(key, value) {
|
|
var values = this.getControlValue();
|
|
|
|
if ('object' === (0, _typeof2.default)(key)) {
|
|
_.each(key, function (internalValue, internalKey) {
|
|
values[internalKey] = internalValue;
|
|
});
|
|
} else {
|
|
values[key] = value;
|
|
}
|
|
|
|
this.setSettingsModel(values);
|
|
},
|
|
updateElementModel: function updateElementModel(value, input) {
|
|
var key = input.dataset.setting;
|
|
this.setValue(key, value);
|
|
}
|
|
}, {
|
|
// Static methods
|
|
getStyleValue: function getStyleValue(placeholder, controlValue) {
|
|
if (!_.isObject(controlValue)) {
|
|
return ''; // invalid
|
|
}
|
|
|
|
return controlValue[placeholder.toLowerCase()];
|
|
}
|
|
});
|
|
module.exports = ControlBaseMultipleItemView;
|
|
|
|
/***/ }),
|
|
/* 240 */,
|
|
/* 241 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (done, value) {
|
|
return { value: value, done: !!done };
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 242 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var create = __webpack_require__(228);
|
|
var descriptor = __webpack_require__(106);
|
|
var setToStringTag = __webpack_require__(179);
|
|
var IteratorPrototype = {};
|
|
|
|
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
|
__webpack_require__(29)(IteratorPrototype, __webpack_require__(13)('iterator'), function () { return this; });
|
|
|
|
module.exports = function (Constructor, NAME, next) {
|
|
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
|
|
setToStringTag(Constructor, NAME + ' Iterator');
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 243 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var dP = __webpack_require__(49);
|
|
var anObject = __webpack_require__(20);
|
|
var getKeys = __webpack_require__(191);
|
|
|
|
module.exports = __webpack_require__(27) ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
anObject(O);
|
|
var keys = getKeys(Properties);
|
|
var length = keys.length;
|
|
var i = 0;
|
|
var P;
|
|
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
|
|
return O;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 244 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
|
var has = __webpack_require__(64);
|
|
var toObject = __webpack_require__(99);
|
|
var IE_PROTO = __webpack_require__(134)('IE_PROTO');
|
|
var ObjectProto = Object.prototype;
|
|
|
|
module.exports = Object.getPrototypeOf || function (O) {
|
|
O = toObject(O);
|
|
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
|
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
|
return O.constructor.prototype;
|
|
} return O instanceof Object ? ObjectProto : null;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 245 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
|
|
var speciesConstructor = __webpack_require__(246);
|
|
|
|
module.exports = function (original, length) {
|
|
return new (speciesConstructor(original))(length);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 246 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(9);
|
|
var isArray = __webpack_require__(93);
|
|
var SPECIES = __webpack_require__(10)('species');
|
|
|
|
module.exports = function (original) {
|
|
var C;
|
|
if (isArray(original)) {
|
|
C = original.constructor;
|
|
// cross-realm fallback
|
|
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
|
if (isObject(C)) {
|
|
C = C[SPECIES];
|
|
if (C === null) C = undefined;
|
|
}
|
|
} return C === undefined ? Array : C;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 247 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Array$isArray = __webpack_require__(85);
|
|
|
|
function _arrayWithHoles(arr) {
|
|
if (_Array$isArray(arr)) return arr;
|
|
}
|
|
|
|
module.exports = _arrayWithHoles;
|
|
|
|
/***/ }),
|
|
/* 248 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _getIterator = __webpack_require__(238);
|
|
|
|
var _isIterable = __webpack_require__(211);
|
|
|
|
var _Symbol = __webpack_require__(107);
|
|
|
|
function _iterableToArrayLimit(arr, i) {
|
|
if (typeof _Symbol === "undefined" || !_isIterable(Object(arr))) return;
|
|
var _arr = [];
|
|
var _n = true;
|
|
var _d = false;
|
|
var _e = undefined;
|
|
|
|
try {
|
|
for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
|
|
_arr.push(_s.value);
|
|
|
|
if (i && _arr.length === i) break;
|
|
}
|
|
} catch (err) {
|
|
_d = true;
|
|
_e = err;
|
|
} finally {
|
|
try {
|
|
if (!_n && _i["return"] != null) _i["return"]();
|
|
} finally {
|
|
if (_d) throw _e;
|
|
}
|
|
}
|
|
|
|
return _arr;
|
|
}
|
|
|
|
module.exports = _iterableToArrayLimit;
|
|
|
|
/***/ }),
|
|
/* 249 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(61);
|
|
__webpack_require__(58);
|
|
module.exports = __webpack_require__(250);
|
|
|
|
|
|
/***/ }),
|
|
/* 250 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var anObject = __webpack_require__(11);
|
|
var get = __webpack_require__(115);
|
|
module.exports = __webpack_require__(6).getIterator = function (it) {
|
|
var iterFn = get(it);
|
|
if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
|
|
return anObject(iterFn.call(it));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 251 */
|
|
/***/ (function(module, exports) {
|
|
|
|
function _nonIterableRest() {
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
|
|
module.exports = _nonIterableRest;
|
|
|
|
/***/ }),
|
|
/* 252 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _isArray = _interopRequireDefault(__webpack_require__(85));
|
|
|
|
var _hasInstance = _interopRequireDefault(__webpack_require__(253));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var InstanceType = /*#__PURE__*/function () {
|
|
(0, _createClass2.default)(InstanceType, null, [{
|
|
key: _hasInstance.default,
|
|
value: function value(target) {
|
|
/**
|
|
* This is function extending being called each time JS uses instanceOf, since babel use it each time it create new class
|
|
* its give's opportunity to mange capabilities of instanceOf operator.
|
|
* saving current class each time will give option later to handle instanceOf manually.
|
|
*/
|
|
var result = (0, _get2.default)((0, _getPrototypeOf2.default)(InstanceType), _hasInstance.default, this).call(this, target); // Act normal when validate a class, which does not have instance type.
|
|
|
|
if (target && !target.constructor.getInstanceType) {
|
|
return result;
|
|
}
|
|
|
|
if (target) {
|
|
if (!target.instanceTypes) {
|
|
target.instanceTypes = [];
|
|
}
|
|
|
|
if (!result) {
|
|
if (this.getInstanceType() === target.constructor.getInstanceType()) {
|
|
result = true;
|
|
}
|
|
}
|
|
|
|
if (result) {
|
|
var name = this.getInstanceType === InstanceType.getInstanceType ? 'BaseInstanceType' : this.getInstanceType();
|
|
|
|
if (-1 === target.instanceTypes.indexOf(name)) {
|
|
target.instanceTypes.push(name);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!result && target) {
|
|
// Check if the given 'target', is instance of known types.
|
|
result = target.instanceTypes && (0, _isArray.default)(target.instanceTypes) && -1 !== target.instanceTypes.indexOf(this.getInstanceType());
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}]);
|
|
|
|
function InstanceType() {
|
|
var _this = this;
|
|
|
|
(0, _classCallCheck2.default)(this, InstanceType);
|
|
// Since anonymous classes sometimes do not get validated by babel, do it manually.
|
|
var target = this instanceof InstanceType ? this.constructor : void 0;
|
|
var prototypes = [];
|
|
|
|
while (target.__proto__ && target.__proto__.name) {
|
|
prototypes.push(target.__proto__);
|
|
target = target.__proto__;
|
|
}
|
|
|
|
prototypes.reverse().forEach(function (proto) {
|
|
return _this instanceof proto;
|
|
});
|
|
}
|
|
|
|
(0, _createClass2.default)(InstanceType, null, [{
|
|
key: "getInstanceType",
|
|
value: function getInstanceType() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
}]);
|
|
return InstanceType;
|
|
}();
|
|
|
|
exports.default = InstanceType;
|
|
|
|
/***/ }),
|
|
/* 253 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(254);
|
|
|
|
/***/ }),
|
|
/* 254 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(255);
|
|
module.exports = __webpack_require__(62).f('hasInstance');
|
|
|
|
|
|
/***/ }),
|
|
/* 255 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var isObject = __webpack_require__(9);
|
|
var getPrototypeOf = __webpack_require__(63);
|
|
var HAS_INSTANCE = __webpack_require__(10)('hasInstance');
|
|
var FunctionProto = Function.prototype;
|
|
// 19.2.3.6 Function.prototype[@@hasInstance](V)
|
|
if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(15).f(FunctionProto, HAS_INSTANCE, { value: function (O) {
|
|
if (typeof this != 'function' || !isObject(O)) return false;
|
|
if (!isObject(this.prototype)) return O instanceof this;
|
|
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
|
|
while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
|
|
return false;
|
|
} });
|
|
|
|
|
|
/***/ }),
|
|
/* 256 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _inline = _interopRequireDefault(__webpack_require__(373));
|
|
|
|
var BaseElementView = __webpack_require__(297);
|
|
|
|
var DEFAULT_INNER_SECTION_COLUMNS = 2,
|
|
DEFAULT_MIN_COLUMN_SIZE = 2,
|
|
DEFAULT_MAX_COLUMNS = 10;
|
|
var SectionView = BaseElementView.extend({
|
|
childViewContainer: function childViewContainer() {
|
|
return elementor.config.legacyMode.elementWrappers ? '> .elementor-container > .elementor-row' : '> .elementor-container';
|
|
},
|
|
template: Marionette.TemplateCache.get('#tmpl-elementor-section-content'),
|
|
addSectionView: null,
|
|
_checkIsFull: function _checkIsFull() {
|
|
this.toggleSectionIsFull();
|
|
elementorCommon.helpers.softDeprecated('_checkIsFull', '2.9.0', 'toggleSectionIsFull()');
|
|
},
|
|
toggleSectionIsFull: function toggleSectionIsFull() {
|
|
this.$el.toggleClass('elementor-section-filled', this.isCollectionFilled());
|
|
},
|
|
addChildModel: function addChildModel(model) {
|
|
/// TODO: maybe should be part of $e.hooks.
|
|
var isModelInstance = model instanceof Backbone.Model,
|
|
isInner = this.isInner();
|
|
|
|
if (isModelInstance) {
|
|
// TODO: change to command.
|
|
model.set('isInner', isInner);
|
|
} else {
|
|
model.isInner = isInner;
|
|
}
|
|
|
|
return BaseElementView.prototype.addChildModel.apply(this, arguments);
|
|
},
|
|
className: function className() {
|
|
var classes = BaseElementView.prototype.className.apply(this, arguments),
|
|
type = this.isInner() ? 'inner' : 'top';
|
|
return classes + ' elementor-section elementor-' + type + '-section';
|
|
},
|
|
tagName: function tagName() {
|
|
return this.model.getSetting('html_tag') || 'section';
|
|
},
|
|
behaviors: function behaviors() {
|
|
var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
|
|
|
|
_.extend(behaviors, {
|
|
Sortable: {
|
|
behaviorClass: __webpack_require__(298),
|
|
elChildType: 'column'
|
|
}
|
|
});
|
|
|
|
return elementor.hooks.applyFilters('elements/section/behaviors', behaviors, this);
|
|
},
|
|
initialize: function initialize() {
|
|
BaseElementView.prototype.initialize.apply(this, arguments);
|
|
this.model.get('editSettings').set('defaultEditRoute', 'layout');
|
|
},
|
|
getEditButtons: function getEditButtons() {
|
|
var elementData = elementor.getElementData(this.model),
|
|
editTools = {};
|
|
|
|
if (!this.isInner()) {
|
|
editTools.add = {
|
|
title: elementor.translate('add_element', [elementData.title]),
|
|
icon: 'plus'
|
|
};
|
|
}
|
|
|
|
editTools.edit = {
|
|
title: elementor.translate('edit_element', [elementData.title]),
|
|
icon: 'handle'
|
|
};
|
|
|
|
if (elementor.getPreferences('edit_buttons')) {
|
|
editTools.duplicate = {
|
|
title: elementor.translate('duplicate_element', [elementData.title]),
|
|
icon: 'clone'
|
|
};
|
|
}
|
|
|
|
editTools.remove = {
|
|
title: elementor.translate('delete_element', [elementData.title]),
|
|
icon: 'close'
|
|
};
|
|
return editTools;
|
|
},
|
|
getContextMenuGroups: function getContextMenuGroups() {
|
|
var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments),
|
|
transferGroupIndex = groups.indexOf(_.findWhere(groups, {
|
|
name: 'clipboard'
|
|
}));
|
|
groups.splice(transferGroupIndex + 1, 0, {
|
|
name: 'save',
|
|
actions: [{
|
|
name: 'save',
|
|
title: elementor.translate('save_as_block'),
|
|
callback: this.save.bind(this)
|
|
}]
|
|
});
|
|
return groups;
|
|
},
|
|
getSortableOptions: function getSortableOptions() {
|
|
var sectionConnectClass = this.isInner() ? '.elementor-inner-section' : '.elementor-top-section';
|
|
return {
|
|
connectWith: sectionConnectClass + this.childViewContainer(),
|
|
handle: '> .elementor-element-overlay .elementor-editor-element-edit',
|
|
items: '> .elementor-column',
|
|
forcePlaceholderSize: true,
|
|
tolerance: 'pointer'
|
|
};
|
|
},
|
|
getColumnPercentSize: function getColumnPercentSize(element, size) {
|
|
return +(size / element.parent().width() * 100).toFixed(3);
|
|
},
|
|
getDefaultStructure: function getDefaultStructure() {
|
|
return this.collection.length + '0';
|
|
},
|
|
getStructure: function getStructure() {
|
|
return this.model.getSetting('structure');
|
|
},
|
|
getColumnAt: function getColumnAt(index) {
|
|
var model = this.collection.at(index);
|
|
return model ? this.children.findByModelCid(model.cid) : null;
|
|
},
|
|
getNextColumn: function getNextColumn(columnView) {
|
|
return this.getColumnAt(this.collection.indexOf(columnView.model) + 1);
|
|
},
|
|
getPreviousColumn: function getPreviousColumn(columnView) {
|
|
return this.getColumnAt(this.collection.indexOf(columnView.model) - 1);
|
|
},
|
|
getNeighborContainer: function getNeighborContainer(container) {
|
|
var parentView = container.parent.view,
|
|
nextView = parentView.getNextColumn(container.view) || parentView.getPreviousColumn(container.view);
|
|
|
|
if (!nextView) {
|
|
return false;
|
|
}
|
|
|
|
return nextView.getContainer();
|
|
},
|
|
setStructure: function setStructure(structure) {
|
|
var shouldAdjustColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
var parsedStructure = elementor.presetsFactory.getParsedStructure(structure);
|
|
|
|
if (+parsedStructure.columnsCount !== this.collection.length) {
|
|
throw new TypeError('The provided structure doesn\'t match the columns count.');
|
|
}
|
|
|
|
$e.run('document/elements/settings', {
|
|
container: this.getContainer(),
|
|
settings: {
|
|
structure: structure
|
|
},
|
|
options: {
|
|
external: true
|
|
}
|
|
});
|
|
|
|
if (shouldAdjustColumns) {
|
|
this.adjustColumns();
|
|
}
|
|
},
|
|
adjustColumns: function adjustColumns() {
|
|
var preset = elementor.presetsFactory.getPresetByStructure(this.getStructure());
|
|
this.children.each(function (columnView, index) {
|
|
var container = columnView.getContainer();
|
|
$e.run('document/elements/settings', {
|
|
container: container,
|
|
settings: {
|
|
_column_size: preset.preset[index],
|
|
_inline_size: null
|
|
}
|
|
});
|
|
});
|
|
},
|
|
resetLayout: function resetLayout() {
|
|
var shouldAdjustColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
this.setStructure(this.getDefaultStructure(), shouldAdjustColumns);
|
|
},
|
|
resetColumnsCustomSize: function resetColumnsCustomSize() {
|
|
this.children.each(function (columnView) {
|
|
$e.run('document/elements/settings', {
|
|
container: columnView.getContainer(),
|
|
settings: {
|
|
_inline_size: null
|
|
},
|
|
options: {
|
|
external: true
|
|
}
|
|
});
|
|
});
|
|
},
|
|
isCollectionFilled: function isCollectionFilled() {
|
|
return DEFAULT_MAX_COLUMNS <= this.collection.length;
|
|
},
|
|
showChildrenPercentsTooltip: function showChildrenPercentsTooltip(columnView, nextColumnView) {
|
|
columnView.ui.percentsTooltip.show();
|
|
columnView.ui.percentsTooltip.attr('data-side', elementorCommon.config.isRTL ? 'right' : 'left');
|
|
nextColumnView.ui.percentsTooltip.show();
|
|
nextColumnView.ui.percentsTooltip.attr('data-side', elementorCommon.config.isRTL ? 'left' : 'right');
|
|
},
|
|
hideChildrenPercentsTooltip: function hideChildrenPercentsTooltip(columnView, nextColumnView) {
|
|
columnView.ui.percentsTooltip.hide();
|
|
nextColumnView.ui.percentsTooltip.hide();
|
|
},
|
|
destroyAddSectionView: function destroyAddSectionView() {
|
|
if (this.addSectionView && !this.addSectionView.isDestroyed) {
|
|
this.addSectionView.destroy();
|
|
}
|
|
},
|
|
onRender: function onRender() {
|
|
BaseElementView.prototype.onRender.apply(this, arguments);
|
|
this.toggleSectionIsFull();
|
|
},
|
|
onAddButtonClick: function onAddButtonClick() {
|
|
if (this.addSectionView && !this.addSectionView.isDestroyed) {
|
|
this.addSectionView.fadeToDeath();
|
|
return;
|
|
}
|
|
|
|
var addSectionView = new _inline.default({
|
|
at: this.model.collection.indexOf(this.model)
|
|
});
|
|
addSectionView.render();
|
|
this.$el.before(addSectionView.$el);
|
|
addSectionView.$el.hide(); // Delaying the slide down for slow-render browsers (such as FF)
|
|
|
|
setTimeout(function () {
|
|
addSectionView.$el.slideDown(null, function () {
|
|
// Remove inline style, for preview mode.
|
|
jQuery(this).css('display', '');
|
|
});
|
|
});
|
|
this.addSectionView = addSectionView;
|
|
},
|
|
onChildviewRequestResizeStart: function onChildviewRequestResizeStart(columnView) {
|
|
var nextColumnView = this.getNextColumn(columnView);
|
|
|
|
if (!nextColumnView) {
|
|
return;
|
|
}
|
|
|
|
this.showChildrenPercentsTooltip(columnView, nextColumnView);
|
|
var $iframes = columnView.$el.find('iframe').add(nextColumnView.$el.find('iframe'));
|
|
elementor.helpers.disableElementEvents($iframes);
|
|
},
|
|
onChildviewRequestResizeStop: function onChildviewRequestResizeStop(columnView) {
|
|
var nextColumnView = this.getNextColumn(columnView);
|
|
|
|
if (!nextColumnView) {
|
|
return;
|
|
}
|
|
|
|
this.hideChildrenPercentsTooltip(columnView, nextColumnView);
|
|
var $iframes = columnView.$el.find('iframe').add(nextColumnView.$el.find('iframe'));
|
|
elementor.helpers.enableElementEvents($iframes);
|
|
},
|
|
onChildviewRequestResize: function onChildviewRequestResize(columnView, ui) {
|
|
ui.element.css({
|
|
width: '',
|
|
left: 'initial' // Fix for RTL resizing
|
|
|
|
});
|
|
$e.run('document/elements/settings', {
|
|
container: columnView.getContainer(),
|
|
settings: {
|
|
_inline_size: this.getColumnPercentSize(ui.element, ui.size.width)
|
|
}
|
|
});
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
BaseElementView.prototype.onDestroy.apply(this, arguments);
|
|
this.destroyAddSectionView();
|
|
}
|
|
});
|
|
module.exports = SectionView;
|
|
module.exports.DEFAULT_INNER_SECTION_COLUMNS = DEFAULT_INNER_SECTION_COLUMNS;
|
|
module.exports.DEFAULT_MIN_COLUMN_SIZE = DEFAULT_MIN_COLUMN_SIZE;
|
|
module.exports.DEFAULT_MAX_COLUMNS = DEFAULT_MAX_COLUMNS;
|
|
|
|
/***/ }),
|
|
/* 257 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(96);
|
|
__webpack_require__(58);
|
|
__webpack_require__(61);
|
|
__webpack_require__(258);
|
|
__webpack_require__(261);
|
|
__webpack_require__(262);
|
|
module.exports = __webpack_require__(6).Promise;
|
|
|
|
|
|
/***/ }),
|
|
/* 258 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var LIBRARY = __webpack_require__(44);
|
|
var global = __webpack_require__(8);
|
|
var ctx = __webpack_require__(31);
|
|
var classof = __webpack_require__(104);
|
|
var $export = __webpack_require__(7);
|
|
var isObject = __webpack_require__(9);
|
|
var aFunction = __webpack_require__(34);
|
|
var anInstance = __webpack_require__(125);
|
|
var forOf = __webpack_require__(90);
|
|
var speciesConstructor = __webpack_require__(207);
|
|
var task = __webpack_require__(208).set;
|
|
var microtask = __webpack_require__(259)();
|
|
var newPromiseCapabilityModule = __webpack_require__(149);
|
|
var perform = __webpack_require__(209);
|
|
var userAgent = __webpack_require__(260);
|
|
var promiseResolve = __webpack_require__(210);
|
|
var PROMISE = 'Promise';
|
|
var TypeError = global.TypeError;
|
|
var process = global.process;
|
|
var versions = process && process.versions;
|
|
var v8 = versions && versions.v8 || '';
|
|
var $Promise = global[PROMISE];
|
|
var isNode = classof(process) == 'process';
|
|
var empty = function () { /* empty */ };
|
|
var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
|
|
var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
|
|
|
|
var USE_NATIVE = !!function () {
|
|
try {
|
|
// correct subclassing with @@species support
|
|
var promise = $Promise.resolve(1);
|
|
var FakePromise = (promise.constructor = {})[__webpack_require__(10)('species')] = function (exec) {
|
|
exec(empty, empty);
|
|
};
|
|
// unhandled rejections tracking support, NodeJS Promise without it fails @@species test
|
|
return (isNode || typeof PromiseRejectionEvent == 'function')
|
|
&& promise.then(empty) instanceof FakePromise
|
|
// v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
|
|
// we can't detect it synchronously, so just check versions
|
|
&& v8.indexOf('6.6') !== 0
|
|
&& userAgent.indexOf('Chrome/66') === -1;
|
|
} catch (e) { /* empty */ }
|
|
}();
|
|
|
|
// helpers
|
|
var isThenable = function (it) {
|
|
var then;
|
|
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
|
|
};
|
|
var notify = function (promise, isReject) {
|
|
if (promise._n) return;
|
|
promise._n = true;
|
|
var chain = promise._c;
|
|
microtask(function () {
|
|
var value = promise._v;
|
|
var ok = promise._s == 1;
|
|
var i = 0;
|
|
var run = function (reaction) {
|
|
var handler = ok ? reaction.ok : reaction.fail;
|
|
var resolve = reaction.resolve;
|
|
var reject = reaction.reject;
|
|
var domain = reaction.domain;
|
|
var result, then, exited;
|
|
try {
|
|
if (handler) {
|
|
if (!ok) {
|
|
if (promise._h == 2) onHandleUnhandled(promise);
|
|
promise._h = 1;
|
|
}
|
|
if (handler === true) result = value;
|
|
else {
|
|
if (domain) domain.enter();
|
|
result = handler(value); // may throw
|
|
if (domain) {
|
|
domain.exit();
|
|
exited = true;
|
|
}
|
|
}
|
|
if (result === reaction.promise) {
|
|
reject(TypeError('Promise-chain cycle'));
|
|
} else if (then = isThenable(result)) {
|
|
then.call(result, resolve, reject);
|
|
} else resolve(result);
|
|
} else reject(value);
|
|
} catch (e) {
|
|
if (domain && !exited) domain.exit();
|
|
reject(e);
|
|
}
|
|
};
|
|
while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
|
|
promise._c = [];
|
|
promise._n = false;
|
|
if (isReject && !promise._h) onUnhandled(promise);
|
|
});
|
|
};
|
|
var onUnhandled = function (promise) {
|
|
task.call(global, function () {
|
|
var value = promise._v;
|
|
var unhandled = isUnhandled(promise);
|
|
var result, handler, console;
|
|
if (unhandled) {
|
|
result = perform(function () {
|
|
if (isNode) {
|
|
process.emit('unhandledRejection', value, promise);
|
|
} else if (handler = global.onunhandledrejection) {
|
|
handler({ promise: promise, reason: value });
|
|
} else if ((console = global.console) && console.error) {
|
|
console.error('Unhandled promise rejection', value);
|
|
}
|
|
});
|
|
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
|
|
promise._h = isNode || isUnhandled(promise) ? 2 : 1;
|
|
} promise._a = undefined;
|
|
if (unhandled && result.e) throw result.v;
|
|
});
|
|
};
|
|
var isUnhandled = function (promise) {
|
|
return promise._h !== 1 && (promise._a || promise._c).length === 0;
|
|
};
|
|
var onHandleUnhandled = function (promise) {
|
|
task.call(global, function () {
|
|
var handler;
|
|
if (isNode) {
|
|
process.emit('rejectionHandled', promise);
|
|
} else if (handler = global.onrejectionhandled) {
|
|
handler({ promise: promise, reason: promise._v });
|
|
}
|
|
});
|
|
};
|
|
var $reject = function (value) {
|
|
var promise = this;
|
|
if (promise._d) return;
|
|
promise._d = true;
|
|
promise = promise._w || promise; // unwrap
|
|
promise._v = value;
|
|
promise._s = 2;
|
|
if (!promise._a) promise._a = promise._c.slice();
|
|
notify(promise, true);
|
|
};
|
|
var $resolve = function (value) {
|
|
var promise = this;
|
|
var then;
|
|
if (promise._d) return;
|
|
promise._d = true;
|
|
promise = promise._w || promise; // unwrap
|
|
try {
|
|
if (promise === value) throw TypeError("Promise can't be resolved itself");
|
|
if (then = isThenable(value)) {
|
|
microtask(function () {
|
|
var wrapper = { _w: promise, _d: false }; // wrap
|
|
try {
|
|
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
|
|
} catch (e) {
|
|
$reject.call(wrapper, e);
|
|
}
|
|
});
|
|
} else {
|
|
promise._v = value;
|
|
promise._s = 1;
|
|
notify(promise, false);
|
|
}
|
|
} catch (e) {
|
|
$reject.call({ _w: promise, _d: false }, e); // wrap
|
|
}
|
|
};
|
|
|
|
// constructor polyfill
|
|
if (!USE_NATIVE) {
|
|
// 25.4.3.1 Promise(executor)
|
|
$Promise = function Promise(executor) {
|
|
anInstance(this, $Promise, PROMISE, '_h');
|
|
aFunction(executor);
|
|
Internal.call(this);
|
|
try {
|
|
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
|
|
} catch (err) {
|
|
$reject.call(this, err);
|
|
}
|
|
};
|
|
// eslint-disable-next-line no-unused-vars
|
|
Internal = function Promise(executor) {
|
|
this._c = []; // <- awaiting reactions
|
|
this._a = undefined; // <- checked in isUnhandled reactions
|
|
this._s = 0; // <- state
|
|
this._d = false; // <- done
|
|
this._v = undefined; // <- value
|
|
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
|
|
this._n = false; // <- notify
|
|
};
|
|
Internal.prototype = __webpack_require__(126)($Promise.prototype, {
|
|
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
|
|
then: function then(onFulfilled, onRejected) {
|
|
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
|
|
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
|
|
reaction.fail = typeof onRejected == 'function' && onRejected;
|
|
reaction.domain = isNode ? process.domain : undefined;
|
|
this._c.push(reaction);
|
|
if (this._a) this._a.push(reaction);
|
|
if (this._s) notify(this, false);
|
|
return reaction.promise;
|
|
},
|
|
// 25.4.5.1 Promise.prototype.catch(onRejected)
|
|
'catch': function (onRejected) {
|
|
return this.then(undefined, onRejected);
|
|
}
|
|
});
|
|
OwnPromiseCapability = function () {
|
|
var promise = new Internal();
|
|
this.promise = promise;
|
|
this.resolve = ctx($resolve, promise, 1);
|
|
this.reject = ctx($reject, promise, 1);
|
|
};
|
|
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
|
|
return C === $Promise || C === Wrapper
|
|
? new OwnPromiseCapability(C)
|
|
: newGenericPromiseCapability(C);
|
|
};
|
|
}
|
|
|
|
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
|
|
__webpack_require__(53)($Promise, PROMISE);
|
|
__webpack_require__(225)(PROMISE);
|
|
Wrapper = __webpack_require__(6)[PROMISE];
|
|
|
|
// statics
|
|
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
|
|
// 25.4.4.5 Promise.reject(r)
|
|
reject: function reject(r) {
|
|
var capability = newPromiseCapability(this);
|
|
var $$reject = capability.reject;
|
|
$$reject(r);
|
|
return capability.promise;
|
|
}
|
|
});
|
|
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
|
|
// 25.4.4.6 Promise.resolve(x)
|
|
resolve: function resolve(x) {
|
|
return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
|
|
}
|
|
});
|
|
$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(178)(function (iter) {
|
|
$Promise.all(iter)['catch'](empty);
|
|
})), PROMISE, {
|
|
// 25.4.4.1 Promise.all(iterable)
|
|
all: function all(iterable) {
|
|
var C = this;
|
|
var capability = newPromiseCapability(C);
|
|
var resolve = capability.resolve;
|
|
var reject = capability.reject;
|
|
var result = perform(function () {
|
|
var values = [];
|
|
var index = 0;
|
|
var remaining = 1;
|
|
forOf(iterable, false, function (promise) {
|
|
var $index = index++;
|
|
var alreadyCalled = false;
|
|
values.push(undefined);
|
|
remaining++;
|
|
C.resolve(promise).then(function (value) {
|
|
if (alreadyCalled) return;
|
|
alreadyCalled = true;
|
|
values[$index] = value;
|
|
--remaining || resolve(values);
|
|
}, reject);
|
|
});
|
|
--remaining || resolve(values);
|
|
});
|
|
if (result.e) reject(result.v);
|
|
return capability.promise;
|
|
},
|
|
// 25.4.4.4 Promise.race(iterable)
|
|
race: function race(iterable) {
|
|
var C = this;
|
|
var capability = newPromiseCapability(C);
|
|
var reject = capability.reject;
|
|
var result = perform(function () {
|
|
forOf(iterable, false, function (promise) {
|
|
C.resolve(promise).then(capability.resolve, reject);
|
|
});
|
|
});
|
|
if (result.e) reject(result.v);
|
|
return capability.promise;
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 259 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(8);
|
|
var macrotask = __webpack_require__(208).set;
|
|
var Observer = global.MutationObserver || global.WebKitMutationObserver;
|
|
var process = global.process;
|
|
var Promise = global.Promise;
|
|
var isNode = __webpack_require__(55)(process) == 'process';
|
|
|
|
module.exports = function () {
|
|
var head, last, notify;
|
|
|
|
var flush = function () {
|
|
var parent, fn;
|
|
if (isNode && (parent = process.domain)) parent.exit();
|
|
while (head) {
|
|
fn = head.fn;
|
|
head = head.next;
|
|
try {
|
|
fn();
|
|
} catch (e) {
|
|
if (head) notify();
|
|
else last = undefined;
|
|
throw e;
|
|
}
|
|
} last = undefined;
|
|
if (parent) parent.enter();
|
|
};
|
|
|
|
// Node.js
|
|
if (isNode) {
|
|
notify = function () {
|
|
process.nextTick(flush);
|
|
};
|
|
// browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
|
|
} else if (Observer && !(global.navigator && global.navigator.standalone)) {
|
|
var toggle = true;
|
|
var node = document.createTextNode('');
|
|
new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
|
|
notify = function () {
|
|
node.data = toggle = !toggle;
|
|
};
|
|
// environments with maybe non-completely correct, but existent Promise
|
|
} else if (Promise && Promise.resolve) {
|
|
// Promise.resolve without an argument throws an error in LG WebOS 2
|
|
var promise = Promise.resolve(undefined);
|
|
notify = function () {
|
|
promise.then(flush);
|
|
};
|
|
// for other environments - macrotask based on:
|
|
// - setImmediate
|
|
// - MessageChannel
|
|
// - window.postMessag
|
|
// - onreadystatechange
|
|
// - setTimeout
|
|
} else {
|
|
notify = function () {
|
|
// strange IE + webpack dev server bug - use .call(global)
|
|
macrotask.call(global, flush);
|
|
};
|
|
}
|
|
|
|
return function (fn) {
|
|
var task = { fn: fn, next: undefined };
|
|
if (last) last.next = task;
|
|
if (!head) {
|
|
head = task;
|
|
notify();
|
|
} last = task;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 260 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(8);
|
|
var navigator = global.navigator;
|
|
|
|
module.exports = navigator && navigator.userAgent || '';
|
|
|
|
|
|
/***/ }),
|
|
/* 261 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
// https://github.com/tc39/proposal-promise-finally
|
|
|
|
var $export = __webpack_require__(7);
|
|
var core = __webpack_require__(6);
|
|
var global = __webpack_require__(8);
|
|
var speciesConstructor = __webpack_require__(207);
|
|
var promiseResolve = __webpack_require__(210);
|
|
|
|
$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
|
|
var C = speciesConstructor(this, core.Promise || global.Promise);
|
|
var isFunction = typeof onFinally == 'function';
|
|
return this.then(
|
|
isFunction ? function (x) {
|
|
return promiseResolve(C, onFinally()).then(function () { return x; });
|
|
} : onFinally,
|
|
isFunction ? function (e) {
|
|
return promiseResolve(C, onFinally()).then(function () { throw e; });
|
|
} : onFinally
|
|
);
|
|
} });
|
|
|
|
|
|
/***/ }),
|
|
/* 262 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// https://github.com/tc39/proposal-promise-try
|
|
var $export = __webpack_require__(7);
|
|
var newPromiseCapability = __webpack_require__(149);
|
|
var perform = __webpack_require__(209);
|
|
|
|
$export($export.S, 'Promise', { 'try': function (callbackfn) {
|
|
var promiseCapability = newPromiseCapability.f(this);
|
|
var result = perform(callbackfn);
|
|
(result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
|
|
return promiseCapability.promise;
|
|
} });
|
|
|
|
|
|
/***/ }),
|
|
/* 263 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(264);
|
|
|
|
/***/ }),
|
|
/* 264 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(96);
|
|
__webpack_require__(61);
|
|
__webpack_require__(265);
|
|
__webpack_require__(267);
|
|
__webpack_require__(268);
|
|
module.exports = __webpack_require__(6).WeakMap;
|
|
|
|
|
|
/***/ }),
|
|
/* 265 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var global = __webpack_require__(8);
|
|
var each = __webpack_require__(140)(0);
|
|
var redefine = __webpack_require__(88);
|
|
var meta = __webpack_require__(75);
|
|
var assign = __webpack_require__(212);
|
|
var weak = __webpack_require__(266);
|
|
var isObject = __webpack_require__(9);
|
|
var validate = __webpack_require__(122);
|
|
var NATIVE_WEAK_MAP = __webpack_require__(122);
|
|
var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
|
|
var WEAK_MAP = 'WeakMap';
|
|
var getWeak = meta.getWeak;
|
|
var isExtensible = Object.isExtensible;
|
|
var uncaughtFrozenStore = weak.ufstore;
|
|
var InternalMap;
|
|
|
|
var wrapper = function (get) {
|
|
return function WeakMap() {
|
|
return get(this, arguments.length > 0 ? arguments[0] : undefined);
|
|
};
|
|
};
|
|
|
|
var methods = {
|
|
// 23.3.3.3 WeakMap.prototype.get(key)
|
|
get: function get(key) {
|
|
if (isObject(key)) {
|
|
var data = getWeak(key);
|
|
if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);
|
|
return data ? data[this._i] : undefined;
|
|
}
|
|
},
|
|
// 23.3.3.5 WeakMap.prototype.set(key, value)
|
|
set: function set(key, value) {
|
|
return weak.def(validate(this, WEAK_MAP), key, value);
|
|
}
|
|
};
|
|
|
|
// 23.3 WeakMap Objects
|
|
var $WeakMap = module.exports = __webpack_require__(234)(WEAK_MAP, wrapper, methods, weak, true, true);
|
|
|
|
// IE11 WeakMap frozen keys fix
|
|
if (NATIVE_WEAK_MAP && IS_IE11) {
|
|
InternalMap = weak.getConstructor(wrapper, WEAK_MAP);
|
|
assign(InternalMap.prototype, methods);
|
|
meta.NEED = true;
|
|
each(['delete', 'has', 'get', 'set'], function (key) {
|
|
var proto = $WeakMap.prototype;
|
|
var method = proto[key];
|
|
redefine(proto, key, function (a, b) {
|
|
// store frozen objects on internal weakmap shim
|
|
if (isObject(a) && !isExtensible(a)) {
|
|
if (!this._f) this._f = new InternalMap();
|
|
var result = this._f[key](a, b);
|
|
return key == 'set' ? this : result;
|
|
// store all the rest on native weakmap
|
|
} return method.call(this, a, b);
|
|
});
|
|
});
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 266 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var redefineAll = __webpack_require__(126);
|
|
var getWeak = __webpack_require__(75).getWeak;
|
|
var anObject = __webpack_require__(11);
|
|
var isObject = __webpack_require__(9);
|
|
var anInstance = __webpack_require__(125);
|
|
var forOf = __webpack_require__(90);
|
|
var createArrayMethod = __webpack_require__(140);
|
|
var $has = __webpack_require__(17);
|
|
var validate = __webpack_require__(122);
|
|
var arrayFind = createArrayMethod(5);
|
|
var arrayFindIndex = createArrayMethod(6);
|
|
var id = 0;
|
|
|
|
// fallback for uncaught frozen keys
|
|
var uncaughtFrozenStore = function (that) {
|
|
return that._l || (that._l = new UncaughtFrozenStore());
|
|
};
|
|
var UncaughtFrozenStore = function () {
|
|
this.a = [];
|
|
};
|
|
var findUncaughtFrozen = function (store, key) {
|
|
return arrayFind(store.a, function (it) {
|
|
return it[0] === key;
|
|
});
|
|
};
|
|
UncaughtFrozenStore.prototype = {
|
|
get: function (key) {
|
|
var entry = findUncaughtFrozen(this, key);
|
|
if (entry) return entry[1];
|
|
},
|
|
has: function (key) {
|
|
return !!findUncaughtFrozen(this, key);
|
|
},
|
|
set: function (key, value) {
|
|
var entry = findUncaughtFrozen(this, key);
|
|
if (entry) entry[1] = value;
|
|
else this.a.push([key, value]);
|
|
},
|
|
'delete': function (key) {
|
|
var index = arrayFindIndex(this.a, function (it) {
|
|
return it[0] === key;
|
|
});
|
|
if (~index) this.a.splice(index, 1);
|
|
return !!~index;
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
|
|
var C = wrapper(function (that, iterable) {
|
|
anInstance(that, C, NAME, '_i');
|
|
that._t = NAME; // collection type
|
|
that._i = id++; // collection id
|
|
that._l = undefined; // leak store for uncaught frozen objects
|
|
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
|
});
|
|
redefineAll(C.prototype, {
|
|
// 23.3.3.2 WeakMap.prototype.delete(key)
|
|
// 23.4.3.3 WeakSet.prototype.delete(value)
|
|
'delete': function (key) {
|
|
if (!isObject(key)) return false;
|
|
var data = getWeak(key);
|
|
if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);
|
|
return data && $has(data, this._i) && delete data[this._i];
|
|
},
|
|
// 23.3.3.4 WeakMap.prototype.has(key)
|
|
// 23.4.3.4 WeakSet.prototype.has(value)
|
|
has: function has(key) {
|
|
if (!isObject(key)) return false;
|
|
var data = getWeak(key);
|
|
if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);
|
|
return data && $has(data, this._i);
|
|
}
|
|
});
|
|
return C;
|
|
},
|
|
def: function (that, key, value) {
|
|
var data = getWeak(anObject(key), true);
|
|
if (data === true) uncaughtFrozenStore(that).set(key, value);
|
|
else data[that._i] = value;
|
|
return that;
|
|
},
|
|
ufstore: uncaughtFrozenStore
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 267 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of
|
|
__webpack_require__(235)('WeakMap');
|
|
|
|
|
|
/***/ }),
|
|
/* 268 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from
|
|
__webpack_require__(236)('WeakMap');
|
|
|
|
|
|
/***/ }),
|
|
/* 269 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(270);
|
|
module.exports = __webpack_require__(6).Object.entries;
|
|
|
|
|
|
/***/ }),
|
|
/* 270 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// https://github.com/tc39/proposal-object-values-entries
|
|
var $export = __webpack_require__(7);
|
|
var $entries = __webpack_require__(181)(true);
|
|
|
|
$export($export.S, 'Object', {
|
|
entries: function entries(it) {
|
|
return $entries(it);
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 271 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var $at = __webpack_require__(146)(true);
|
|
|
|
// 21.1.3.27 String.prototype[@@iterator]()
|
|
__webpack_require__(197)(String, 'String', function (iterated) {
|
|
this._t = String(iterated); // target
|
|
this._i = 0; // next index
|
|
// 21.1.5.2.1 %StringIteratorPrototype%.next()
|
|
}, function () {
|
|
var O = this._t;
|
|
var index = this._i;
|
|
var point;
|
|
if (index >= O.length) return { value: undefined, done: true };
|
|
point = $at(O, index);
|
|
this._i += point.length;
|
|
return { value: point, done: false };
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 272 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
var userAgent = navigator.userAgent;
|
|
var _default = {
|
|
webkit: -1 !== userAgent.indexOf('AppleWebKit'),
|
|
firefox: -1 !== userAgent.indexOf('Firefox'),
|
|
ie: /Trident|MSIE/.test(userAgent),
|
|
edge: -1 !== userAgent.indexOf('Edge'),
|
|
mac: -1 !== userAgent.indexOf('Macintosh'),
|
|
safari: /^((?!chrome|android).)*safari/i.test(userAgent)
|
|
};
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 273 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _base = _interopRequireDefault(__webpack_require__(296));
|
|
|
|
var ContextMenu = __webpack_require__(372);
|
|
|
|
module.exports = Marionette.Behavior.extend({
|
|
defaults: {
|
|
groups: [],
|
|
eventTargets: ['el']
|
|
},
|
|
events: function events() {
|
|
var events = {};
|
|
this.getOption('eventTargets').forEach(function (eventTarget) {
|
|
var eventName = 'contextmenu';
|
|
|
|
if ('el' !== eventTarget) {
|
|
eventName += ' ' + eventTarget;
|
|
}
|
|
|
|
events[eventName] = 'onContextMenu';
|
|
});
|
|
return events;
|
|
},
|
|
initialize: function initialize() {
|
|
this.listenTo(this.view.options.model, 'request:contextmenu', this.onRequestContextMenu);
|
|
},
|
|
initContextMenu: function initContextMenu() {
|
|
var _this = this;
|
|
|
|
var contextMenuGroups = this.getOption('groups'),
|
|
deleteGroup = _.findWhere(contextMenuGroups, {
|
|
name: 'delete'
|
|
}),
|
|
afterGroupIndex = contextMenuGroups.indexOf(deleteGroup);
|
|
|
|
if (-1 === afterGroupIndex) {
|
|
afterGroupIndex = contextMenuGroups.length;
|
|
}
|
|
|
|
contextMenuGroups.splice(afterGroupIndex, 0, {
|
|
name: 'tools',
|
|
actions: [{
|
|
name: 'navigator',
|
|
title: elementor.translate('navigator'),
|
|
callback: function callback() {
|
|
return $e.route('navigator', {
|
|
reOpen: true,
|
|
model: _this.view.model
|
|
});
|
|
}
|
|
}]
|
|
});
|
|
this.contextMenu = new ContextMenu({
|
|
groups: contextMenuGroups
|
|
});
|
|
this.contextMenu.getModal().on('hide', this.onContextMenuHide);
|
|
},
|
|
getContextMenu: function getContextMenu() {
|
|
if (!this.contextMenu) {
|
|
this.initContextMenu();
|
|
}
|
|
|
|
return this.contextMenu;
|
|
},
|
|
onContextMenu: function onContextMenu(event) {
|
|
if ($e.shortcuts.isControlEvent(event)) {
|
|
return;
|
|
}
|
|
|
|
var isAddSectionView = this.view instanceof _base.default;
|
|
|
|
if (!isAddSectionView && (!this.view.container || !this.view.container.isDesignable())) {
|
|
return;
|
|
}
|
|
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
this.getContextMenu().show(event);
|
|
elementor.channels.editor.reply('contextMenu:targetView', this.view);
|
|
},
|
|
onRequestContextMenu: function onRequestContextMenu(event) {
|
|
var modal = this.getContextMenu().getModal(),
|
|
iframe = modal.getSettings('iframe'),
|
|
toolsGroup = _.findWhere(this.contextMenu.getSettings('groups'), {
|
|
name: 'tools'
|
|
});
|
|
|
|
toolsGroup.isVisible = false;
|
|
modal.setSettings('iframe', null);
|
|
this.onContextMenu(event);
|
|
toolsGroup.isVisible = true;
|
|
modal.setSettings('iframe', iframe);
|
|
},
|
|
onContextMenuHide: function onContextMenuHide() {
|
|
elementor.channels.editor.reply('contextMenu:targetView', null);
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
if (this.contextMenu) {
|
|
this.contextMenu.destroy();
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 274 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlSelect2ItemView;
|
|
|
|
ControlSelect2ItemView = ControlBaseDataView.extend({
|
|
getSelect2Placeholder: function getSelect2Placeholder() {
|
|
return this.ui.select.children('option:first[value=""]').text();
|
|
},
|
|
getSelect2DefaultOptions: function getSelect2DefaultOptions() {
|
|
return {
|
|
allowClear: true,
|
|
placeholder: this.getSelect2Placeholder(),
|
|
dir: elementorCommon.config.isRTL ? 'rtl' : 'ltr'
|
|
};
|
|
},
|
|
getSelect2Options: function getSelect2Options() {
|
|
return jQuery.extend(this.getSelect2DefaultOptions(), this.model.get('select2options'));
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
ControlBaseDataView.prototype.applySavedValue.apply(this, arguments);
|
|
var select2Instance = this.ui.select.data('select2');
|
|
|
|
if (!select2Instance) {
|
|
this.ui.select.select2(this.getSelect2Options());
|
|
} else {
|
|
this.ui.select.trigger('change');
|
|
}
|
|
},
|
|
onReady: function onReady() {
|
|
elementorCommon.helpers.softDeprecated('onReady', '3.0.0');
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
// We always destroy the select2 instance because there are cases where the DOM element's data cache
|
|
// itself has been destroyed but the select2 instance on it still exists
|
|
this.ui.select.select2('destroy');
|
|
this.$el.remove();
|
|
}
|
|
});
|
|
module.exports = ControlSelect2ItemView;
|
|
|
|
/***/ }),
|
|
/* 275 */,
|
|
/* 276 */,
|
|
/* 277 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
|
|
|
|
var $export = __webpack_require__(37);
|
|
var toLength = __webpack_require__(45);
|
|
var context = __webpack_require__(204);
|
|
var STARTS_WITH = 'startsWith';
|
|
var $startsWith = ''[STARTS_WITH];
|
|
|
|
$export($export.P + $export.F * __webpack_require__(205)(STARTS_WITH), 'String', {
|
|
startsWith: function startsWith(searchString /* , position = 0 */) {
|
|
var that = context(this, searchString, STARTS_WITH);
|
|
var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));
|
|
var search = String(searchString);
|
|
return $startsWith
|
|
? $startsWith.call(that, search, index)
|
|
: that.slice(index, index + search.length) === search;
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 278 */,
|
|
/* 279 */,
|
|
/* 280 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 21.2.5.3 get RegExp.prototype.flags()
|
|
if (__webpack_require__(27) && /./g.flags != 'g') __webpack_require__(49).f(RegExp.prototype, 'flags', {
|
|
configurable: true,
|
|
get: __webpack_require__(109)
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 281 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _defineProperty = _interopRequireDefault(__webpack_require__(1));
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var ControlBaseView;
|
|
ControlBaseView = Marionette.CompositeView.extend({
|
|
ui: function ui() {
|
|
return {
|
|
controlTitle: '.elementor-control-title'
|
|
};
|
|
},
|
|
behaviors: function behaviors() {
|
|
var behaviors = {};
|
|
return elementor.hooks.applyFilters('controls/base/behaviors', behaviors, this);
|
|
},
|
|
getBehavior: function getBehavior(name) {
|
|
return this._behaviors[(0, _keys.default)(this.behaviors()).indexOf(name)];
|
|
},
|
|
className: function className() {
|
|
// TODO: Any better classes for that?
|
|
var classes = 'elementor-control elementor-control-' + this.model.get('name') + ' elementor-control-type-' + this.model.get('type'),
|
|
modelClasses = this.model.get('classes'),
|
|
responsive = this.model.get('responsive');
|
|
|
|
if (!_.isEmpty(modelClasses)) {
|
|
classes += ' ' + modelClasses;
|
|
}
|
|
|
|
if (!_.isEmpty(responsive)) {
|
|
classes += ' elementor-control-responsive-' + responsive.max;
|
|
}
|
|
|
|
return classes;
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
var controlData = {
|
|
_cid: this.model.cid
|
|
};
|
|
return {
|
|
view: this,
|
|
data: _.extend({}, this.model.toJSON(), controlData)
|
|
};
|
|
},
|
|
getTemplate: function getTemplate() {
|
|
return Marionette.TemplateCache.get('#tmpl-elementor-control-' + this.model.get('type') + '-content');
|
|
},
|
|
initialize: function initialize(options) {
|
|
var label = this.model.get('label'); // TODO: Temp backwards compatibility. since 2.8.0.
|
|
|
|
(0, _defineProperty.default)(this, 'container', {
|
|
get: function get() {
|
|
if (!options.container) {
|
|
var settingsModel = options.elementSettingsModel,
|
|
view = $e.components.get('document').utils.findViewById(settingsModel.id); // Element control.
|
|
|
|
if (view && view.getContainer) {
|
|
options.container = view.getContainer();
|
|
} else {
|
|
if (!settingsModel.id) {
|
|
settingsModel.id = 'bc-' + elementorCommon.helpers.getUniqueId();
|
|
} // Document/General/Other control.
|
|
|
|
|
|
options.container = new elementorModules.editor.Container({
|
|
type: 'bc-container',
|
|
id: settingsModel.id,
|
|
model: settingsModel,
|
|
settings: settingsModel,
|
|
label: label,
|
|
view: false,
|
|
renderer: false,
|
|
controls: settingsModel.options.controls
|
|
});
|
|
}
|
|
}
|
|
|
|
return options.container;
|
|
}
|
|
}); // Use `defineProperty` because `get elementSettingsModel()` fails during the `Marionette.CompositeView.extend`.
|
|
|
|
(0, _defineProperty.default)(this, 'elementSettingsModel', {
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementSettingsModel', '2.8.0', 'container.settings');
|
|
return options.container ? options.container.settings : options.elementSettingsModel;
|
|
}
|
|
});
|
|
var controlType = this.model.get('type'),
|
|
controlSettings = jQuery.extend(true, {}, elementor.config.controls[controlType], this.model.attributes);
|
|
this.model.set(controlSettings); // TODO: this.elementSettingsModel is deprecated since 2.8.0.
|
|
|
|
var settings = this.container ? this.container.settings : this.elementSettingsModel;
|
|
this.listenTo(settings, 'change', this.toggleControlVisibility);
|
|
},
|
|
toggleControlVisibility: function toggleControlVisibility() {
|
|
// TODO: this.elementSettingsModel is deprecated since 2.8.0.
|
|
var settings = this.container ? this.container.settings : this.elementSettingsModel;
|
|
var isVisible = elementor.helpers.isActiveControl(this.model, settings.attributes);
|
|
this.$el.toggleClass('elementor-hidden-control', !isVisible);
|
|
elementor.getPanelView().updateScrollbar();
|
|
},
|
|
onRender: function onRender() {
|
|
var layoutType = this.model.get('label_block') ? 'block' : 'inline',
|
|
showLabel = this.model.get('show_label'),
|
|
elClasses = 'elementor-label-' + layoutType;
|
|
elClasses += ' elementor-control-separator-' + this.model.get('separator');
|
|
|
|
if (!showLabel) {
|
|
elClasses += ' elementor-control-hidden-label';
|
|
}
|
|
|
|
this.$el.addClass(elClasses);
|
|
this.toggleControlVisibility();
|
|
}
|
|
});
|
|
module.exports = ControlBaseView;
|
|
|
|
/***/ }),
|
|
/* 282 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(283);
|
|
module.exports = __webpack_require__(6).parseInt;
|
|
|
|
|
|
/***/ }),
|
|
/* 283 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(7);
|
|
var $parseInt = __webpack_require__(284);
|
|
// 18.2.5 parseInt(string, radix)
|
|
$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
|
|
|
|
|
|
/***/ }),
|
|
/* 284 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $parseInt = __webpack_require__(8).parseInt;
|
|
var $trim = __webpack_require__(285).trim;
|
|
var ws = __webpack_require__(237);
|
|
var hex = /^[-+]?0[xX]/;
|
|
|
|
module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
|
|
var string = $trim(String(str), 3);
|
|
return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
|
|
} : $parseInt;
|
|
|
|
|
|
/***/ }),
|
|
/* 285 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(7);
|
|
var defined = __webpack_require__(65);
|
|
var fails = __webpack_require__(21);
|
|
var spaces = __webpack_require__(237);
|
|
var space = '[' + spaces + ']';
|
|
var non = '\u200b\u0085';
|
|
var ltrim = RegExp('^' + space + space + '*');
|
|
var rtrim = RegExp(space + space + '*$');
|
|
|
|
var exporter = function (KEY, exec, ALIAS) {
|
|
var exp = {};
|
|
var FORCE = fails(function () {
|
|
return !!spaces[KEY]() || non[KEY]() != non;
|
|
});
|
|
var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
|
|
if (ALIAS) exp[ALIAS] = fn;
|
|
$export($export.P + $export.F * FORCE, 'String', exp);
|
|
};
|
|
|
|
// 1 -> String#trimLeft
|
|
// 2 -> String#trimRight
|
|
// 3 -> String#trim
|
|
var trim = exporter.trim = function (string, TYPE) {
|
|
string = String(defined(string));
|
|
if (TYPE & 1) string = string.replace(ltrim, '');
|
|
if (TYPE & 2) string = string.replace(rtrim, '');
|
|
return string;
|
|
};
|
|
|
|
module.exports = exporter;
|
|
|
|
|
|
/***/ }),
|
|
/* 286 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Base = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _hookBase = _interopRequireDefault(__webpack_require__(294));
|
|
|
|
var Base = /*#__PURE__*/function (_HookBase) {
|
|
(0, _inherits2.default)(Base, _HookBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Base);
|
|
|
|
function Base() {
|
|
(0, _classCallCheck2.default)(this, Base);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Base, [{
|
|
key: "getType",
|
|
value: function getType() {
|
|
return 'data';
|
|
}
|
|
}]);
|
|
return Base;
|
|
}(_hookBase.default);
|
|
|
|
exports.Base = Base;
|
|
var _default = Base;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 287 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(321));
|
|
|
|
var ComponentModalBase = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(ComponentModalBase, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(ComponentModalBase);
|
|
|
|
function ComponentModalBase() {
|
|
(0, _classCallCheck2.default)(this, ComponentModalBase);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(ComponentModalBase, [{
|
|
key: "registerAPI",
|
|
value: function registerAPI() {
|
|
var _this = this;
|
|
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(ComponentModalBase.prototype), "registerAPI", this).call(this);
|
|
$e.shortcuts.register('esc', {
|
|
scopes: [this.getNamespace()],
|
|
callback: function callback() {
|
|
return _this.close();
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultRoutes",
|
|
value: function defaultRoutes() {
|
|
return {
|
|
'': function _() {
|
|
/* Nothing to do, it's already rendered. */
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "open",
|
|
value: function open() {
|
|
var _this2 = this;
|
|
|
|
if (!this.layout) {
|
|
var layout = this.getModalLayout();
|
|
this.layout = new layout({
|
|
component: this
|
|
});
|
|
this.layout.getModal().on('hide', function () {
|
|
return _this2.close();
|
|
});
|
|
}
|
|
|
|
this.layout.showModal();
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "close",
|
|
value: function close() {
|
|
if (!(0, _get2.default)((0, _getPrototypeOf2.default)(ComponentModalBase.prototype), "close", this).call(this)) {
|
|
return false;
|
|
}
|
|
|
|
this.layout.getModal().hide();
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "getModalLayout",
|
|
value: function getModalLayout() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
}]);
|
|
return ComponentModalBase;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = ComponentModalBase;
|
|
|
|
/***/ }),
|
|
/* 288 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(289);
|
|
module.exports = __webpack_require__(6).Object.assign;
|
|
|
|
|
|
/***/ }),
|
|
/* 289 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.3.1 Object.assign(target, source)
|
|
var $export = __webpack_require__(7);
|
|
|
|
$export($export.S + $export.F, 'Object', { assign: __webpack_require__(212) });
|
|
|
|
|
|
/***/ }),
|
|
/* 290 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(291);
|
|
|
|
/***/ }),
|
|
/* 291 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(292);
|
|
var $Object = __webpack_require__(6).Object;
|
|
module.exports = function defineProperties(T, D) {
|
|
return $Object.defineProperties(T, D);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 292 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(7);
|
|
// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
|
|
$export($export.S + $export.F * !__webpack_require__(14), 'Object', { defineProperties: __webpack_require__(132) });
|
|
|
|
|
|
/***/ }),
|
|
/* 293 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
__webpack_require__(295);
|
|
|
|
__webpack_require__(120);
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var Stylesheet = __webpack_require__(332),
|
|
ControlsCSSParser;
|
|
|
|
ControlsCSSParser = elementorModules.ViewModule.extend({
|
|
stylesheet: null,
|
|
getDefaultSettings: function getDefaultSettings() {
|
|
return {
|
|
id: 0,
|
|
context: null,
|
|
settingsModel: null,
|
|
dynamicParsing: {}
|
|
};
|
|
},
|
|
getDefaultElements: function getDefaultElements() {
|
|
var id = "elementor-style-".concat(this.getSettings('id'));
|
|
var $stylesheet = elementor.$previewContents.find("#".concat(id));
|
|
|
|
if (!$stylesheet.length) {
|
|
$stylesheet = jQuery('<style>', {
|
|
id: id
|
|
});
|
|
}
|
|
|
|
return {
|
|
$stylesheetElement: $stylesheet
|
|
};
|
|
},
|
|
initStylesheet: function initStylesheet() {
|
|
var breakpoints = elementorFrontend.config.breakpoints;
|
|
this.stylesheet = new Stylesheet();
|
|
this.stylesheet.addDevice('mobile', 0).addDevice('tablet', breakpoints.md).addDevice('desktop', breakpoints.lg);
|
|
},
|
|
addStyleRules: function addStyleRules(styleControls, values, controls, placeholders, replacements) {
|
|
var _this = this;
|
|
|
|
// If the current element contains dynamic values, parse these values
|
|
var dynamicParsedValues = this.getSettings('settingsModel').parseDynamicSettings(values, this.getSettings('dynamicParsing'), styleControls);
|
|
|
|
_.each(styleControls, function (control) {
|
|
var _control$dynamic, _values$__dynamic__;
|
|
|
|
if (control.styleFields && control.styleFields.length) {
|
|
_this.addRepeaterControlsStyleRules(values[control.name], control.styleFields, control.fields, placeholders, replacements);
|
|
} // If a dynamic tag includes controls with CSS implementations, Take their CSS and apply it.
|
|
|
|
|
|
if (((_control$dynamic = control.dynamic) === null || _control$dynamic === void 0 ? void 0 : _control$dynamic.active) && ((_values$__dynamic__ = values.__dynamic__) === null || _values$__dynamic__ === void 0 ? void 0 : _values$__dynamic__[control.name])) {
|
|
_this.addDynamicControlStyleRules(values.__dynamic__[control.name], control);
|
|
}
|
|
|
|
if (!control.selectors) {
|
|
return;
|
|
}
|
|
|
|
var context = _this.getSettings('context');
|
|
|
|
var globalKeys;
|
|
|
|
if (context) {
|
|
globalKeys = context.model.get('settings').get('__globals__');
|
|
}
|
|
|
|
_this.addControlStyleRules(control, dynamicParsedValues, controls, placeholders, replacements, globalKeys);
|
|
});
|
|
},
|
|
addControlStyleRules: function addControlStyleRules(control, values, controls, placeholders, replacements, globalKeys) {
|
|
var _this2 = this;
|
|
|
|
var globalKey;
|
|
|
|
if (globalKeys) {
|
|
var controlGlobalKey = control.name;
|
|
|
|
if (control.groupType) {
|
|
controlGlobalKey = control.groupPrefix + control.groupType;
|
|
}
|
|
|
|
globalKey = globalKeys[controlGlobalKey];
|
|
}
|
|
|
|
var value;
|
|
|
|
if (!globalKey) {
|
|
value = this.getStyleControlValue(control, values);
|
|
|
|
if (undefined === value) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
_.each(control.selectors, function (cssProperty, selector) {
|
|
var outputCssProperty;
|
|
|
|
if (globalKey) {
|
|
var selectorGlobalValue = _this2.getSelectorGlobalValue(control, globalKey);
|
|
|
|
if (selectorGlobalValue) {
|
|
if ('font' === control.type) {
|
|
$e.data.get(globalKey).then(function (response) {
|
|
elementor.helpers.enqueueFont(response.data.value.typography_font_family);
|
|
});
|
|
} // This regex handles a case where a control's selector property value includes more than one CSS selector.
|
|
// Example: 'selector' => 'background: {{VALUE}}; background-color: {{VALUE}};'.
|
|
|
|
|
|
outputCssProperty = cssProperty.replace(/(:)[^;]+(;?)/g, '$1' + selectorGlobalValue + '$2');
|
|
}
|
|
} else {
|
|
try {
|
|
outputCssProperty = cssProperty.replace(/{{(?:([^.}]+)\.)?([^}| ]*)(?: *\|\| *(?:([^.}]+)\.)?([^}| ]*) *)*}}/g, function (originalPhrase, controlName, placeholder, fallbackControlName, fallbackValue) {
|
|
var externalControlMissing = controlName && !controls[controlName];
|
|
var parsedValue = '';
|
|
|
|
if (!externalControlMissing) {
|
|
parsedValue = _this2.parsePropertyPlaceholder(control, value, controls, values, placeholder, controlName);
|
|
}
|
|
|
|
if (!parsedValue && 0 !== parsedValue) {
|
|
if (fallbackValue) {
|
|
parsedValue = fallbackValue;
|
|
var stringValueMatches = parsedValue.match(/^(['"])(.*)\1$/);
|
|
|
|
if (stringValueMatches) {
|
|
parsedValue = stringValueMatches[2];
|
|
} else if (!isFinite(parsedValue)) {
|
|
if (fallbackControlName && !controls[fallbackControlName]) {
|
|
return '';
|
|
}
|
|
|
|
parsedValue = _this2.parsePropertyPlaceholder(control, value, controls, values, fallbackValue, fallbackControlName);
|
|
}
|
|
}
|
|
|
|
if (!parsedValue && 0 !== parsedValue) {
|
|
if (externalControlMissing) {
|
|
return '';
|
|
}
|
|
|
|
throw '';
|
|
}
|
|
}
|
|
|
|
if ('font' === control.type) {
|
|
elementor.helpers.enqueueFont(parsedValue);
|
|
}
|
|
|
|
return parsedValue;
|
|
});
|
|
} catch (e) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (_.isEmpty(outputCssProperty)) {
|
|
return;
|
|
}
|
|
|
|
var devicePattern = /^(?:\([^)]+\)){1,2}/,
|
|
deviceRules = selector.match(devicePattern),
|
|
query = {};
|
|
|
|
if (deviceRules) {
|
|
deviceRules = deviceRules[0];
|
|
selector = selector.replace(devicePattern, '');
|
|
var pureDevicePattern = /\(([^)]+)\)/g,
|
|
pureDeviceRules = [],
|
|
matches;
|
|
matches = pureDevicePattern.exec(deviceRules);
|
|
|
|
while (matches) {
|
|
pureDeviceRules.push(matches[1]);
|
|
matches = pureDevicePattern.exec(deviceRules);
|
|
}
|
|
|
|
_.each(pureDeviceRules, function (deviceRule) {
|
|
if ('desktop' === deviceRule) {
|
|
return;
|
|
}
|
|
|
|
var device = deviceRule.replace(/\+$/, ''),
|
|
endPoint = device === deviceRule ? 'max' : 'min';
|
|
query[endPoint] = device;
|
|
});
|
|
}
|
|
|
|
_.each(placeholders, function (placeholder, index) {
|
|
// Check if it's a RegExp
|
|
var regexp = placeholder.source ? placeholder.source : placeholder,
|
|
placeholderPattern = new RegExp(regexp, 'g');
|
|
selector = selector.replace(placeholderPattern, replacements[index]);
|
|
});
|
|
|
|
if (!(0, _keys.default)(query).length && control.responsive) {
|
|
query = _.pick(elementorCommon.helpers.cloneObject(control.responsive), ['min', 'max']);
|
|
|
|
if ('desktop' === query.max) {
|
|
delete query.max;
|
|
}
|
|
}
|
|
|
|
_this2.stylesheet.addRules(selector, outputCssProperty, query);
|
|
});
|
|
},
|
|
parsePropertyPlaceholder: function parsePropertyPlaceholder(control, value, controls, values, placeholder, parserControlName) {
|
|
if (parserControlName) {
|
|
control = _.findWhere(controls, {
|
|
name: parserControlName
|
|
});
|
|
value = this.getStyleControlValue(control, values);
|
|
}
|
|
|
|
return elementor.getControlView(control.type).getStyleValue(placeholder, value, control);
|
|
},
|
|
getStyleControlValue: function getStyleControlValue(control, values) {
|
|
var _values$__globals__;
|
|
|
|
if ((_values$__globals__ = values.__globals__) === null || _values$__globals__ === void 0 ? void 0 : _values$__globals__[control.name]) {
|
|
// When the control itself has no global value, but it refers to another control global value
|
|
return this.getSelectorGlobalValue(control, values.__globals__[control.name]);
|
|
}
|
|
|
|
var value = values[control.name];
|
|
|
|
if (control.selectors_dictionary) {
|
|
value = control.selectors_dictionary[value] || value;
|
|
}
|
|
|
|
if (!_.isNumber(value) && _.isEmpty(value)) {
|
|
return;
|
|
}
|
|
|
|
return value;
|
|
},
|
|
getSelectorGlobalValue: function getSelectorGlobalValue(control, globalKey) {
|
|
var globalArgs = $e.data.commandExtractArgs(globalKey),
|
|
data = $e.data.getCache($e.components.get('globals'), globalArgs.command, globalArgs.args.query);
|
|
|
|
if (!(data === null || data === void 0 ? void 0 : data.value)) {
|
|
return;
|
|
}
|
|
|
|
var id = data.id;
|
|
var value; // it's a global settings with additional controls in group.
|
|
|
|
if (control.groupType) {
|
|
var propertyName = control.name.replace(control.groupPrefix, '').replace(/(_tablet|_mobile)$/, '');
|
|
|
|
if (!data.value[elementor.config.kit_config.typography_prefix + propertyName]) {
|
|
return;
|
|
}
|
|
|
|
propertyName = propertyName.replace('_', '-');
|
|
value = "var( --e-global-".concat(control.groupType, "-").concat(id, "-").concat(propertyName, " )");
|
|
} else {
|
|
value = "var( --e-global-".concat(control.type, "-").concat(id, " )");
|
|
}
|
|
|
|
return value;
|
|
},
|
|
addRepeaterControlsStyleRules: function addRepeaterControlsStyleRules(repeaterValues, repeaterControlsItems, controls, placeholders, replacements) {
|
|
var _this3 = this;
|
|
|
|
repeaterControlsItems.forEach(function (item, index) {
|
|
var itemModel = repeaterValues.models[index];
|
|
|
|
_this3.addStyleRules(item, itemModel.attributes, controls, placeholders.concat(['{{CURRENT_ITEM}}']), replacements.concat(['.elementor-repeater-item-' + itemModel.get('_id')]));
|
|
});
|
|
},
|
|
addDynamicControlStyleRules: function addDynamicControlStyleRules(value, control) {
|
|
var self = this;
|
|
elementor.dynamicTags.parseTagsText(value, control.dynamic, function (id, name, settings) {
|
|
var tag = elementor.dynamicTags.createTag(id, name, settings);
|
|
|
|
if (!tag) {
|
|
return;
|
|
}
|
|
|
|
var tagSettingsModel = tag.model,
|
|
styleControls = tagSettingsModel.getStyleControls();
|
|
|
|
if (!styleControls.length) {
|
|
return;
|
|
}
|
|
|
|
self.addStyleRules(tagSettingsModel.getStyleControls(), tagSettingsModel.attributes, tagSettingsModel.controls, ['{{WRAPPER}}'], ['#elementor-tag-' + id]);
|
|
});
|
|
},
|
|
addStyleToDocument: function addStyleToDocument(position) {
|
|
var $head = elementor.$previewContents.find('head');
|
|
var insertMethod = 'append',
|
|
$insertBy = $head;
|
|
|
|
if (position) {
|
|
var $targetElement = $head.children(position.of);
|
|
|
|
if ($targetElement.length) {
|
|
insertMethod = position.at;
|
|
$insertBy = $targetElement;
|
|
}
|
|
}
|
|
|
|
$insertBy[insertMethod](this.elements.$stylesheetElement);
|
|
var extraCSS = elementor.hooks.applyFilters('editor/style/styleText', '', this.getSettings('context'));
|
|
this.elements.$stylesheetElement.text(this.stylesheet + extraCSS);
|
|
},
|
|
removeStyleFromDocument: function removeStyleFromDocument() {
|
|
this.elements.$stylesheetElement.remove();
|
|
},
|
|
onInit: function onInit() {
|
|
elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
|
|
this.initStylesheet();
|
|
}
|
|
});
|
|
module.exports = ControlsCSSParser;
|
|
|
|
/***/ }),
|
|
/* 294 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var HookBase = /*#__PURE__*/function () {
|
|
/**
|
|
* Callback type, eg ( hook, event ).
|
|
*
|
|
* @type {string}
|
|
*/
|
|
|
|
/**
|
|
* Full command address, that will hook the callback.
|
|
*
|
|
* @type (string)
|
|
*/
|
|
|
|
/**
|
|
* Unique id of the callback.
|
|
*
|
|
* @type {string}
|
|
*/
|
|
|
|
/**
|
|
* Function constructor().
|
|
*
|
|
* Create callback base.
|
|
*/
|
|
function HookBase() {
|
|
(0, _classCallCheck2.default)(this, HookBase);
|
|
(0, _defineProperty2.default)(this, "type", void 0);
|
|
(0, _defineProperty2.default)(this, "command", void 0);
|
|
(0, _defineProperty2.default)(this, "id", void 0);
|
|
this.initialize();
|
|
this.type = this.getType();
|
|
this.command = this.getCommand();
|
|
this.id = this.getId();
|
|
}
|
|
/**
|
|
* Function initialize().
|
|
*
|
|
* Called after creation of the base, used for initialize extras.
|
|
* Without expending constructor.
|
|
*/
|
|
|
|
|
|
(0, _createClass2.default)(HookBase, [{
|
|
key: "initialize",
|
|
value: function initialize() {}
|
|
/**
|
|
* Function register().
|
|
*
|
|
* Used to register the callback.
|
|
*
|
|
* @throws {Error}
|
|
*/
|
|
|
|
}, {
|
|
key: "register",
|
|
value: function register() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
/**
|
|
* Function getType().
|
|
*
|
|
* Get type eg: ( hook, event, etc ... ).
|
|
*
|
|
* @returns {string}
|
|
*
|
|
* @throws {Error}
|
|
*/
|
|
|
|
}, {
|
|
key: "getType",
|
|
value: function getType() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
/**
|
|
* Function getCommand().
|
|
*
|
|
* Returns the full command path for callback binding.
|
|
*
|
|
* Supports array of strings ( commands ).
|
|
*
|
|
* @returns {string}
|
|
*
|
|
* @throws {Error}
|
|
*/
|
|
|
|
}, {
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
/**
|
|
* Function getId().
|
|
*
|
|
* Returns command id for the hook (should be unique).
|
|
*
|
|
* @returns {string}
|
|
*
|
|
* @throws {Error}
|
|
*/
|
|
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
/**
|
|
* Function getContainerType().
|
|
*
|
|
* Bind eContainer type to callback.
|
|
*
|
|
* Used to gain performance.
|
|
*
|
|
* @return {string} type
|
|
*/
|
|
|
|
}, {
|
|
key: "getContainerType",
|
|
value: function getContainerType() {}
|
|
/**
|
|
* Function getConditions().
|
|
*
|
|
* Condition for running the callback, if true, call to apply().
|
|
*
|
|
* @param [args={}]
|
|
* @param [result=*]
|
|
*
|
|
* @returns {boolean}
|
|
*/
|
|
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var result = arguments.length > 1 ? arguments[1] : undefined;
|
|
// eslint-disable-line no-unused-vars
|
|
return true;
|
|
}
|
|
/**
|
|
* Function apply().
|
|
*
|
|
* Apply the callback, ( The actual affect of the callback ).
|
|
*
|
|
* @param [args={}]
|
|
*
|
|
* @returns {*}
|
|
*/
|
|
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
// eslint-disable-line no-unused-vars
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
/**
|
|
* Function run().
|
|
*
|
|
* Run the callback.
|
|
*
|
|
* @param {*} args
|
|
*
|
|
* @returns {*}
|
|
*/
|
|
|
|
}, {
|
|
key: "run",
|
|
value: function run() {
|
|
var _ref = arguments.length <= 0 ? undefined : arguments[0],
|
|
_ref$options = _ref.options,
|
|
options = _ref$options === void 0 ? {} : _ref$options; // Disable callback if requested by args.options.
|
|
|
|
|
|
if (options.callbacks && false === options.callbacks[this.id]) {
|
|
return true;
|
|
}
|
|
|
|
if (this.getConditions.apply(this, arguments)) {
|
|
if ($e.devTools) {
|
|
$e.devTools.log.callbacks().active(this.type, this.command, this.id);
|
|
}
|
|
|
|
return this.apply.apply(this, arguments);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}]);
|
|
return HookBase;
|
|
}();
|
|
|
|
exports.default = HookBase;
|
|
|
|
/***/ }),
|
|
/* 295 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(18);
|
|
var inheritIfRequired = __webpack_require__(310);
|
|
var dP = __webpack_require__(49).f;
|
|
var gOPN = __webpack_require__(312).f;
|
|
var isRegExp = __webpack_require__(123);
|
|
var $flags = __webpack_require__(109);
|
|
var $RegExp = global.RegExp;
|
|
var Base = $RegExp;
|
|
var proto = $RegExp.prototype;
|
|
var re1 = /a/g;
|
|
var re2 = /a/g;
|
|
// "new" creates a new object, old webkit buggy here
|
|
var CORRECT_NEW = new $RegExp(re1) !== re1;
|
|
|
|
if (__webpack_require__(27) && (!CORRECT_NEW || __webpack_require__(35)(function () {
|
|
re2[__webpack_require__(13)('match')] = false;
|
|
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
|
return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
|
|
}))) {
|
|
$RegExp = function RegExp(p, f) {
|
|
var tiRE = this instanceof $RegExp;
|
|
var piRE = isRegExp(p);
|
|
var fiU = f === undefined;
|
|
return !tiRE && piRE && p.constructor === $RegExp && fiU ? p
|
|
: inheritIfRequired(CORRECT_NEW
|
|
? new Base(piRE && !fiU ? p.source : p, f)
|
|
: Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)
|
|
, tiRE ? this : proto, $RegExp);
|
|
};
|
|
var proxy = function (key) {
|
|
key in $RegExp || dP($RegExp, key, {
|
|
configurable: true,
|
|
get: function () { return Base[key]; },
|
|
set: function (it) { Base[key] = it; }
|
|
});
|
|
};
|
|
for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);
|
|
proto.constructor = $RegExp;
|
|
$RegExp.prototype = proto;
|
|
__webpack_require__(39)(global, 'RegExp', $RegExp);
|
|
}
|
|
|
|
__webpack_require__(309)('RegExp');
|
|
|
|
|
|
/***/ }),
|
|
/* 296 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _assign = _interopRequireDefault(__webpack_require__(138));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _helper = _interopRequireDefault(__webpack_require__(215));
|
|
|
|
var AddSectionBase = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(AddSectionBase, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(AddSectionBase);
|
|
|
|
function AddSectionBase() {
|
|
(0, _classCallCheck2.default)(this, AddSectionBase);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(AddSectionBase, [{
|
|
key: "template",
|
|
value: function template() {
|
|
return Marionette.TemplateCache.get('#tmpl-elementor-add-section');
|
|
}
|
|
}, {
|
|
key: "attributes",
|
|
value: function attributes() {
|
|
return {
|
|
'data-view': 'choose-action'
|
|
};
|
|
}
|
|
}, {
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
addNewSection: '.elementor-add-new-section',
|
|
closeButton: '.elementor-add-section-close',
|
|
addSectionButton: '.elementor-add-section-button',
|
|
addTemplateButton: '.elementor-add-template-button',
|
|
selectPreset: '.elementor-select-preset',
|
|
presets: '.elementor-preset'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.addSectionButton': 'onAddSectionButtonClick',
|
|
'click @ui.addTemplateButton': 'onAddTemplateButtonClick',
|
|
'click @ui.closeButton': 'onCloseButtonClick',
|
|
'click @ui.presets': 'onPresetSelected'
|
|
};
|
|
}
|
|
}, {
|
|
key: "behaviors",
|
|
value: function behaviors() {
|
|
return {
|
|
contextMenu: {
|
|
behaviorClass: __webpack_require__(273),
|
|
groups: this.getContextMenuGroups()
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "className",
|
|
value: function className() {
|
|
return 'elementor-add-section elementor-visible-desktop';
|
|
}
|
|
}, {
|
|
key: "setView",
|
|
value: function setView(view) {
|
|
this.$el.attr('data-view', view);
|
|
}
|
|
}, {
|
|
key: "showSelectPresets",
|
|
value: function showSelectPresets() {
|
|
this.setView('select-preset');
|
|
}
|
|
}, {
|
|
key: "closeSelectPresets",
|
|
value: function closeSelectPresets() {
|
|
this.setView('choose-action');
|
|
}
|
|
}, {
|
|
key: "getTemplatesModalOptions",
|
|
value: function getTemplatesModalOptions() {
|
|
return {
|
|
importOptions: {
|
|
at: this.getOption('at')
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "getContextMenuGroups",
|
|
value: function getContextMenuGroups() {
|
|
var _this = this;
|
|
|
|
var hasContent = function hasContent() {
|
|
return elementor.elements.length > 0;
|
|
};
|
|
|
|
return [{
|
|
name: 'paste',
|
|
actions: [{
|
|
name: 'paste',
|
|
title: elementor.translate('paste'),
|
|
isEnabled: function isEnabled() {
|
|
return _helper.default.isPasteEnabled(elementor.getPreviewContainer());
|
|
},
|
|
callback: function callback() {
|
|
return $e.run('document/ui/paste', {
|
|
container: elementor.getPreviewContainer(),
|
|
options: {
|
|
at: _this.getOption('at'),
|
|
rebuild: true
|
|
},
|
|
onAfter: function onAfter() {
|
|
return _this.onAfterPaste();
|
|
}
|
|
});
|
|
}
|
|
}]
|
|
}, {
|
|
name: 'content',
|
|
actions: [{
|
|
name: 'copy_all_content',
|
|
title: elementor.translate('copy_all_content'),
|
|
isEnabled: hasContent,
|
|
callback: function callback() {
|
|
return $e.run('document/elements/copy-all');
|
|
}
|
|
}, {
|
|
name: 'delete_all_content',
|
|
title: elementor.translate('delete_all_content'),
|
|
isEnabled: hasContent,
|
|
callback: function callback() {
|
|
return $e.run('document/elements/empty');
|
|
}
|
|
}]
|
|
}];
|
|
}
|
|
}, {
|
|
key: "onAddSectionButtonClick",
|
|
value: function onAddSectionButtonClick() {
|
|
this.showSelectPresets();
|
|
}
|
|
}, {
|
|
key: "onAddTemplateButtonClick",
|
|
value: function onAddTemplateButtonClick() {
|
|
$e.run('library/open', this.getTemplatesModalOptions());
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
this.$el.html5Droppable({
|
|
axis: ['vertical'],
|
|
groups: ['elementor-element'],
|
|
placeholder: false,
|
|
currentElementClass: 'elementor-html5dnd-current-element',
|
|
hasDraggingOnChildClass: 'elementor-dragging-on-child',
|
|
onDropping: this.onDropping.bind(this)
|
|
});
|
|
}
|
|
}, {
|
|
key: "onPresetSelected",
|
|
value: function onPresetSelected(event) {
|
|
this.closeSelectPresets();
|
|
var selectedStructure = event.currentTarget.dataset.structure,
|
|
parsedStructure = elementor.presetsFactory.getParsedStructure(selectedStructure);
|
|
$e.run('document/elements/create', {
|
|
model: {
|
|
elType: 'section'
|
|
},
|
|
container: elementor.getPreviewContainer(),
|
|
columns: parsedStructure.columnsCount,
|
|
structure: selectedStructure,
|
|
options: (0, _assign.default)({}, this.options)
|
|
});
|
|
}
|
|
}, {
|
|
key: "onDropping",
|
|
value: function onDropping() {
|
|
if (elementor.helpers.maybeDisableWidget()) {
|
|
return;
|
|
}
|
|
|
|
var selectedElement = elementor.channels.panelElements.request('element:selected'),
|
|
historyId = $e.internal('document/history/start-log', {
|
|
type: 'add',
|
|
title: elementor.helpers.getModelLabel(selectedElement.model)
|
|
}),
|
|
eSection = $e.run('document/elements/create', {
|
|
model: {
|
|
elType: 'section'
|
|
},
|
|
container: elementor.getPreviewContainer(),
|
|
columns: 1,
|
|
options: {
|
|
at: this.getOption('at'),
|
|
// BC: Deprecated since 2.8.0 - use `$e.hooks`.
|
|
trigger: {
|
|
beforeAdd: 'section:before:drop',
|
|
afterAdd: 'section:after:drop'
|
|
}
|
|
}
|
|
}); // Create the element in column.
|
|
|
|
eSection.view.children.findByIndex(0).addElementFromPanel();
|
|
$e.internal('document/history/end-log', {
|
|
id: historyId
|
|
});
|
|
}
|
|
}, {
|
|
key: "onAfterPaste",
|
|
value: function onAfterPaste() {}
|
|
}]);
|
|
return AddSectionBase;
|
|
}(Marionette.ItemView);
|
|
|
|
var _default = AddSectionBase;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 297 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _isArray = _interopRequireDefault(__webpack_require__(85));
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
var _parseInt2 = _interopRequireDefault(__webpack_require__(213));
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _environment = _interopRequireDefault(__webpack_require__(272));
|
|
|
|
var _helper = _interopRequireDefault(__webpack_require__(215));
|
|
|
|
var ControlsCSSParser = __webpack_require__(293),
|
|
Validator = __webpack_require__(300),
|
|
BaseContainer = __webpack_require__(333),
|
|
BaseElementView;
|
|
|
|
BaseElementView = BaseContainer.extend({
|
|
tagName: 'div',
|
|
controlsCSSParser: null,
|
|
allowRender: true,
|
|
toggleEditTools: false,
|
|
renderAttributes: {},
|
|
className: function className() {
|
|
var classes = 'elementor-element elementor-element-edit-mode ' + this.getElementUniqueID();
|
|
|
|
if (this.toggleEditTools) {
|
|
classes += ' elementor-element--toggle-edit-tools';
|
|
}
|
|
|
|
return classes;
|
|
},
|
|
attributes: function attributes() {
|
|
return {
|
|
'data-id': this.getID(),
|
|
'data-element_type': this.model.get('elType')
|
|
};
|
|
},
|
|
ui: function ui() {
|
|
return {
|
|
tools: '> .elementor-element-overlay > .elementor-editor-element-settings',
|
|
editButton: '> .elementor-element-overlay .elementor-editor-element-edit',
|
|
duplicateButton: '> .elementor-element-overlay .elementor-editor-element-duplicate',
|
|
addButton: '> .elementor-element-overlay .elementor-editor-element-add',
|
|
removeButton: '> .elementor-element-overlay .elementor-editor-element-remove'
|
|
};
|
|
},
|
|
behaviors: function behaviors() {
|
|
var groups = elementor.hooks.applyFilters('elements/' + this.options.model.get('elType') + '/contextMenuGroups', this.getContextMenuGroups(), this);
|
|
var behaviors = {
|
|
contextMenu: {
|
|
behaviorClass: __webpack_require__(273),
|
|
groups: groups
|
|
}
|
|
};
|
|
return elementor.hooks.applyFilters('elements/base/behaviors', behaviors, this);
|
|
},
|
|
getBehavior: function getBehavior(name) {
|
|
return this._behaviors[(0, _keys.default)(this.behaviors()).indexOf(name)];
|
|
},
|
|
events: function events() {
|
|
return {
|
|
mousedown: 'onMouseDown',
|
|
'click @ui.editButton': 'onEditButtonClick',
|
|
'click @ui.duplicateButton': 'onDuplicateButtonClick',
|
|
'click @ui.addButton': 'onAddButtonClick',
|
|
'click @ui.removeButton': 'onRemoveButtonClick'
|
|
};
|
|
},
|
|
getElementType: function getElementType() {
|
|
return this.model.get('elType');
|
|
},
|
|
getIDInt: function getIDInt() {
|
|
return (0, _parseInt2.default)(this.getID(), 16);
|
|
},
|
|
getChildType: function getChildType() {
|
|
return elementor.helpers.getElementChildType(this.getElementType());
|
|
},
|
|
getChildView: function getChildView(model) {
|
|
var ChildView;
|
|
var elType = model.get('elType');
|
|
|
|
if ('section' === elType) {
|
|
ChildView = __webpack_require__(256);
|
|
} else if ('column' === elType) {
|
|
ChildView = __webpack_require__(374);
|
|
} else {
|
|
ChildView = elementor.modules.elements.views.Widget;
|
|
}
|
|
|
|
return elementor.hooks.applyFilters('element/view', ChildView, model, this);
|
|
},
|
|
getTemplateType: function getTemplateType() {
|
|
return 'js';
|
|
},
|
|
getEditModel: function getEditModel() {
|
|
return this.model;
|
|
},
|
|
getContainer: function getContainer() {
|
|
var _this = this;
|
|
|
|
if (!this.container) {
|
|
var settingsModel = this.model.get('settings');
|
|
this.container = new elementorModules.editor.Container({
|
|
type: this.model.get('elType'),
|
|
id: this.model.id,
|
|
model: this.model,
|
|
settings: settingsModel,
|
|
view: this,
|
|
parent: this._parent ? this._parent.getContainer() : {},
|
|
children: [],
|
|
label: elementor.helpers.getModelLabel(this.model),
|
|
controls: settingsModel.options.controls
|
|
});
|
|
|
|
if ((0, _keys.default)(this.container.parent).length) {
|
|
this.container.parent.children[this._index] = this.container;
|
|
this.on('destroy', function () {
|
|
delete _this.container.parent.children[_this._index];
|
|
_this.container.parent.children = _this.container.parent.children.filter(function (child) {
|
|
return null !== child;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
return this.container;
|
|
},
|
|
getContextMenuGroups: function getContextMenuGroups() {
|
|
var _this2 = this;
|
|
|
|
var controlSign = _environment.default.mac ? '⌘' : '^';
|
|
return [{
|
|
name: 'general',
|
|
actions: [{
|
|
name: 'edit',
|
|
icon: 'eicon-edit',
|
|
title: elementor.translate('edit_element', [this.options.model.getTitle()]),
|
|
callback: function callback() {
|
|
return $e.run('panel/editor/open', {
|
|
model: _this2.options.model,
|
|
// Todo: remove on merge router
|
|
view: _this2,
|
|
// Todo: remove on merge router
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}, {
|
|
name: 'duplicate',
|
|
icon: 'eicon-clone',
|
|
title: elementor.translate('duplicate'),
|
|
shortcut: controlSign + '+D',
|
|
callback: function callback() {
|
|
return $e.run('document/elements/duplicate', {
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}]
|
|
}, {
|
|
name: 'clipboard',
|
|
actions: [{
|
|
name: 'copy',
|
|
title: elementor.translate('copy'),
|
|
shortcut: controlSign + '+C',
|
|
callback: function callback() {
|
|
return $e.run('document/elements/copy', {
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}, {
|
|
name: 'paste',
|
|
title: elementor.translate('paste'),
|
|
shortcut: controlSign + '+V',
|
|
isEnabled: function isEnabled() {
|
|
return _helper.default.isPasteEnabled(_this2.getContainer());
|
|
},
|
|
callback: function callback() {
|
|
return $e.run('document/ui/paste', {
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}, {
|
|
name: 'pasteStyle',
|
|
title: elementor.translate('paste_style'),
|
|
shortcut: controlSign + '+⇧+V',
|
|
isEnabled: function isEnabled() {
|
|
return !!elementorCommon.storage.get('clipboard');
|
|
},
|
|
callback: function callback() {
|
|
return $e.run('document/elements/paste-style', {
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}, {
|
|
name: 'resetStyle',
|
|
title: elementor.translate('reset_style'),
|
|
callback: function callback() {
|
|
return $e.run('document/elements/reset-style', {
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}]
|
|
}, {
|
|
name: 'delete',
|
|
actions: [{
|
|
name: 'delete',
|
|
icon: 'eicon-trash',
|
|
title: elementor.translate('delete'),
|
|
shortcut: '⌦',
|
|
callback: function callback() {
|
|
return $e.run('document/elements/delete', {
|
|
container: _this2.getContainer()
|
|
});
|
|
}
|
|
}]
|
|
}];
|
|
},
|
|
getEditButtons: function getEditButtons() {
|
|
return {};
|
|
},
|
|
initialize: function initialize() {
|
|
var _this3 = this;
|
|
|
|
BaseContainer.prototype.initialize.apply(this, arguments);
|
|
var editModel = this.getEditModel();
|
|
|
|
if (this.collection && this.onCollectionChanged) {
|
|
elementorCommon.helpers.softDeprecated('onCollectionChanged', '2.8.0', '$e.hooks');
|
|
this.listenTo(this.collection, 'add remove reset', this.onCollectionChanged, this);
|
|
}
|
|
|
|
if (this.onSettingsChanged) {
|
|
elementorCommon.helpers.softDeprecated('onSettingsChanged', '2.8.0', '$e.hooks');
|
|
this.listenTo(editModel.get('settings'), 'change', this.onSettingsChanged);
|
|
}
|
|
|
|
this.listenTo(editModel.get('editSettings'), 'change', this.onEditSettingsChanged).listenTo(this.model, 'request:edit', this.onEditRequest).listenTo(this.model, 'request:toggleVisibility', this.toggleVisibility);
|
|
this.initControlsCSSParser();
|
|
|
|
_.defer(function () {
|
|
// Init container. Defer - in order to init the container after the element is fully initialized, and properties like `_parent` are available.
|
|
_this3.getContainer();
|
|
});
|
|
},
|
|
getHandlesOverlay: function getHandlesOverlay() {
|
|
var $handlesOverlay = jQuery('<div>', {
|
|
class: 'elementor-element-overlay'
|
|
}),
|
|
$overlayList = jQuery('<ul>', {
|
|
class: "elementor-editor-element-settings elementor-editor-".concat(this.getElementType(), "-settings")
|
|
});
|
|
jQuery.each(this.getEditButtons(), function (toolName, tool) {
|
|
var $item = jQuery('<li>', {
|
|
class: "elementor-editor-element-setting elementor-editor-element-".concat(toolName),
|
|
title: tool.title
|
|
}),
|
|
$icon = jQuery('<i>', {
|
|
class: "eicon-".concat(tool.icon),
|
|
'aria-hidden': true
|
|
}),
|
|
$a11y = jQuery('<span>', {
|
|
class: 'elementor-screen-only'
|
|
});
|
|
$a11y.text(tool.title);
|
|
$item.append($icon, $a11y);
|
|
$overlayList.append($item);
|
|
});
|
|
$handlesOverlay.append($overlayList);
|
|
return $handlesOverlay;
|
|
},
|
|
attachElContent: function attachElContent(html) {
|
|
this.$el.empty().append(this.getHandlesOverlay(), html);
|
|
},
|
|
startTransport: function startTransport() {
|
|
elementorCommon.helpers.softDeprecated('element.startTransport', '2.8.0', "$e.run( 'document/elements/copy' )");
|
|
$e.run('document/elements/copy', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
copy: function copy() {
|
|
elementorCommon.helpers.softDeprecated('element.copy', '2.8.0', "$e.run( 'document/elements/copy' )");
|
|
$e.run('document/elements/copy', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
cut: function cut() {
|
|
elementorCommon.helpers.softDeprecated('element.cut', '2.8.0');
|
|
},
|
|
paste: function paste() {
|
|
elementorCommon.helpers.softDeprecated('element.paste', '2.8.0', "$e.run( 'document/elements/paste' )");
|
|
$e.run('document/elements/paste', {
|
|
container: this.getContainer(),
|
|
at: this._parent.collection.indexOf(this.model)
|
|
});
|
|
},
|
|
duplicate: function duplicate() {
|
|
elementorCommon.helpers.softDeprecated('element.duplicate', '2.8.0', "$e.run( 'document/elements/duplicate' )");
|
|
$e.run('document/elements/duplicate', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
pasteStyle: function pasteStyle() {
|
|
elementorCommon.helpers.softDeprecated('element.pasteStyle', '2.8.0', "$e.run( 'document/elements/paste-style' )");
|
|
$e.run('document/elements/paste-style', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
resetStyle: function resetStyle() {
|
|
elementorCommon.helpers.softDeprecated('element.resetStyle', '2.8.0', "$e.run( 'document/elements/reset-style' )");
|
|
$e.run('document/elements/reset-style', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
isStyleTransferControl: function isStyleTransferControl(control) {
|
|
if (undefined !== control.style_transfer) {
|
|
return control.style_transfer;
|
|
}
|
|
|
|
return 'content' !== control.tab || control.selectors || control.prefix_class;
|
|
},
|
|
toggleVisibility: function toggleVisibility() {
|
|
this.model.set('hidden', !this.model.get('hidden'));
|
|
this.toggleVisibilityClass();
|
|
},
|
|
toggleVisibilityClass: function toggleVisibilityClass() {
|
|
this.$el.toggleClass('elementor-edit-hidden', !!this.model.get('hidden'));
|
|
},
|
|
addElementFromPanel: function addElementFromPanel(options) {
|
|
options = options || {};
|
|
var elementView = elementor.channels.panelElements.request('element:selected'),
|
|
model = {
|
|
elType: elementView.model.get('elType')
|
|
};
|
|
|
|
if (elementor.helpers.maybeDisableWidget()) {
|
|
return;
|
|
}
|
|
|
|
if ('widget' === model.elType) {
|
|
model.widgetType = elementView.model.get('widgetType');
|
|
} else if ('section' === model.elType) {
|
|
model.isInner = true;
|
|
} else {
|
|
return;
|
|
}
|
|
|
|
var customData = elementView.model.get('custom');
|
|
|
|
if (customData) {
|
|
jQuery.extend(model, customData);
|
|
}
|
|
|
|
return $e.run('document/elements/create', {
|
|
container: this.getContainer(),
|
|
model: model,
|
|
options: options
|
|
});
|
|
},
|
|
// TODO: Unused function.
|
|
addControlValidator: function addControlValidator(controlName, validationCallback) {
|
|
validationCallback = validationCallback.bind(this);
|
|
var validator = new Validator({
|
|
customValidationMethod: validationCallback
|
|
}),
|
|
validators = this.getEditModel().get('settings').validators;
|
|
|
|
if (!validators[controlName]) {
|
|
validators[controlName] = [];
|
|
}
|
|
|
|
validators[controlName].push(validator);
|
|
},
|
|
addRenderAttribute: function addRenderAttribute(element, key, value, overwrite) {
|
|
var self = this;
|
|
|
|
if ('object' === (0, _typeof2.default)(element)) {
|
|
jQuery.each(element, function (elementKey, elementValue) {
|
|
self.addRenderAttribute(elementKey, elementValue, null, overwrite);
|
|
});
|
|
return self;
|
|
}
|
|
|
|
if ('object' === (0, _typeof2.default)(key)) {
|
|
jQuery.each(key, function (attributeKey, attributeValue) {
|
|
self.addRenderAttribute(element, attributeKey, attributeValue, overwrite);
|
|
});
|
|
return self;
|
|
}
|
|
|
|
if (!self.renderAttributes[element]) {
|
|
self.renderAttributes[element] = {};
|
|
}
|
|
|
|
if (!self.renderAttributes[element][key]) {
|
|
self.renderAttributes[element][key] = [];
|
|
}
|
|
|
|
if (!(0, _isArray.default)(value)) {
|
|
value = [value];
|
|
}
|
|
|
|
if (overwrite) {
|
|
self.renderAttributes[element][key] = value;
|
|
} else {
|
|
self.renderAttributes[element][key] = self.renderAttributes[element][key].concat(value);
|
|
}
|
|
},
|
|
getRenderAttributeString: function getRenderAttributeString(element) {
|
|
if (!this.renderAttributes[element]) {
|
|
return '';
|
|
}
|
|
|
|
var renderAttributes = this.renderAttributes[element],
|
|
attributes = [];
|
|
jQuery.each(renderAttributes, function (attributeKey, attributeValue) {
|
|
attributes.push(attributeKey + '="' + _.escape(attributeValue.join(' ')) + '"');
|
|
});
|
|
return attributes.join(' ');
|
|
},
|
|
isInner: function isInner() {
|
|
return !!this.model.get('isInner');
|
|
},
|
|
initControlsCSSParser: function initControlsCSSParser() {
|
|
this.controlsCSSParser = new ControlsCSSParser({
|
|
id: this.model.get('id'),
|
|
context: this,
|
|
settingsModel: this.getEditModel().get('settings'),
|
|
dynamicParsing: this.getDynamicParsingSettings()
|
|
});
|
|
},
|
|
enqueueFonts: function enqueueFonts() {
|
|
var editModel = this.getEditModel(),
|
|
settings = editModel.get('settings'); // Enqueue Icon Fonts
|
|
|
|
jQuery.each(settings.getIconsControls(), function (index, control) {
|
|
var iconType = editModel.getSetting(control.name);
|
|
|
|
if (!iconType || !iconType.library) {
|
|
return;
|
|
}
|
|
|
|
elementor.helpers.enqueueIconFonts(iconType.library);
|
|
});
|
|
},
|
|
renderStyles: function renderStyles(settings) {
|
|
if (!settings) {
|
|
settings = this.getEditModel().get('settings');
|
|
}
|
|
|
|
this.controlsCSSParser.stylesheet.empty();
|
|
this.controlsCSSParser.addStyleRules(settings.getStyleControls(), settings.attributes, this.getEditModel().get('settings').controls, [/{{ID}}/g, /{{WRAPPER}}/g], [this.getID(), '.elementor-' + elementor.config.document.id + ' .elementor-element.' + this.getElementUniqueID()]);
|
|
this.controlsCSSParser.addStyleToDocument();
|
|
},
|
|
renderCustomClasses: function renderCustomClasses() {
|
|
var self = this;
|
|
var settings = self.getEditModel().get('settings'),
|
|
classControls = settings.getClassControls(); // Remove all previous classes
|
|
|
|
_.each(classControls, function (control) {
|
|
var previousClassValue = settings.previous(control.name);
|
|
|
|
if (control.classes_dictionary) {
|
|
if (undefined !== control.classes_dictionary[previousClassValue]) {
|
|
previousClassValue = control.classes_dictionary[previousClassValue];
|
|
}
|
|
}
|
|
|
|
self.$el.removeClass(control.prefix_class + previousClassValue);
|
|
}); // Add new classes
|
|
|
|
|
|
_.each(classControls, function (control) {
|
|
var value = settings.attributes[control.name];
|
|
var classValue = value;
|
|
|
|
if (control.classes_dictionary) {
|
|
if (undefined !== control.classes_dictionary[value]) {
|
|
classValue = control.classes_dictionary[value];
|
|
}
|
|
}
|
|
|
|
var isVisible = elementor.helpers.isActiveControl(control, settings.attributes);
|
|
|
|
if (isVisible && (classValue || 0 === classValue)) {
|
|
self.$el.addClass(control.prefix_class + classValue);
|
|
}
|
|
});
|
|
|
|
self.$el.addClass(_.result(self, 'className'));
|
|
self.toggleVisibilityClass();
|
|
},
|
|
renderCustomElementID: function renderCustomElementID() {
|
|
var customElementID = this.getEditModel().get('settings').get('_element_id');
|
|
this.$el.attr('id', customElementID);
|
|
},
|
|
renderUI: function renderUI() {
|
|
this.renderStyles();
|
|
this.renderCustomClasses();
|
|
this.renderCustomElementID();
|
|
this.enqueueFonts();
|
|
},
|
|
runReadyTrigger: function runReadyTrigger() {
|
|
var self = this;
|
|
|
|
_.defer(function () {
|
|
elementorFrontend.elementsHandler.runReadyTrigger(self.el);
|
|
|
|
if (!elementorFrontend.isEditMode()) {
|
|
return;
|
|
} // In edit mode - handle an external elements that loaded by another elements like shortcode etc.
|
|
|
|
|
|
self.$el.find('.elementor-element.elementor-' + self.model.get('elType') + ':not(.elementor-element-edit-mode)').each(function () {
|
|
elementorFrontend.elementsHandler.runReadyTrigger(this);
|
|
});
|
|
});
|
|
},
|
|
getID: function getID() {
|
|
return this.model.get('id');
|
|
},
|
|
getElementUniqueID: function getElementUniqueID() {
|
|
return 'elementor-element-' + this.getID();
|
|
},
|
|
renderHTML: function renderHTML() {
|
|
var templateType = this.getTemplateType(),
|
|
editModel = this.getEditModel();
|
|
|
|
if ('js' === templateType) {
|
|
this.getEditModel().setHtmlCache();
|
|
this.render();
|
|
editModel.renderOnLeave = true;
|
|
} else {
|
|
editModel.renderRemoteServer();
|
|
}
|
|
},
|
|
renderOnChange: function renderOnChange(settings) {
|
|
if (!this.allowRender) {
|
|
return;
|
|
} // Make sure is correct model
|
|
|
|
|
|
if (settings instanceof elementorModules.editor.elements.models.BaseSettings) {
|
|
var hasChanged = settings.hasChanged();
|
|
var isContentChanged = !hasChanged,
|
|
isRenderRequired = !hasChanged;
|
|
|
|
_.each(settings.changedAttributes(), function (settingValue, settingKey) {
|
|
var control = settings.getControl(settingKey);
|
|
|
|
if ('_column_size' === settingKey) {
|
|
isRenderRequired = true;
|
|
return;
|
|
}
|
|
|
|
if (!control) {
|
|
isRenderRequired = true;
|
|
isContentChanged = true;
|
|
return;
|
|
}
|
|
|
|
if ('none' !== control.render_type) {
|
|
isRenderRequired = true;
|
|
}
|
|
|
|
if (-1 !== ['none', 'ui'].indexOf(control.render_type)) {
|
|
return;
|
|
}
|
|
|
|
if ('template' === control.render_type || !settings.isStyleControl(settingKey) && !settings.isClassControl(settingKey) && '_element_id' !== settingKey) {
|
|
isContentChanged = true;
|
|
}
|
|
});
|
|
|
|
if (!isRenderRequired) {
|
|
return;
|
|
}
|
|
|
|
if (!isContentChanged) {
|
|
this.renderUI();
|
|
return;
|
|
}
|
|
} // Re-render the template
|
|
|
|
|
|
this.renderHTML();
|
|
},
|
|
getDynamicParsingSettings: function getDynamicParsingSettings() {
|
|
var self = this;
|
|
return {
|
|
onServerRequestStart: function onServerRequestStart() {
|
|
self.$el.addClass('elementor-loading');
|
|
},
|
|
onServerRequestEnd: function onServerRequestEnd() {
|
|
self.render();
|
|
self.$el.removeClass('elementor-loading');
|
|
}
|
|
};
|
|
},
|
|
serializeData: function serializeData() {
|
|
var data = BaseContainer.prototype.serializeData.apply(this, arguments);
|
|
data.settings = this.getEditModel().get('settings').parseDynamicSettings(data.settings, this.getDynamicParsingSettings());
|
|
return data;
|
|
},
|
|
save: function save() {
|
|
$e.route('library/save-template', {
|
|
model: this.model
|
|
});
|
|
},
|
|
onBeforeRender: function onBeforeRender() {
|
|
this.renderAttributes = {};
|
|
},
|
|
onRender: function onRender() {
|
|
this.renderUI();
|
|
this.runReadyTrigger();
|
|
|
|
if (this.toggleEditTools) {
|
|
var editButton = this.ui.editButton; // Since this.ui.tools does not exist while testing.
|
|
|
|
if (this.ui.tools) {
|
|
this.ui.tools.hoverIntent(function () {
|
|
editButton.addClass('elementor-active');
|
|
}, function () {
|
|
editButton.removeClass('elementor-active');
|
|
}, {
|
|
timeout: 500
|
|
});
|
|
}
|
|
}
|
|
},
|
|
onEditSettingsChanged: function onEditSettingsChanged(changedModel) {
|
|
elementor.channels.editor.trigger('change:editSettings', changedModel, this);
|
|
},
|
|
onEditButtonClick: function onEditButtonClick() {
|
|
this.model.trigger('request:edit');
|
|
},
|
|
onEditRequest: function onEditRequest() {
|
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
if (!this.container.isEditable()) {
|
|
return;
|
|
}
|
|
|
|
var model = this.getEditModel(),
|
|
panel = elementor.getPanelView();
|
|
|
|
if ($e.routes.isPartOf('panel/editor') && panel.getCurrentPageView().model === model) {
|
|
return;
|
|
}
|
|
|
|
if (options.scrollIntoView) {
|
|
elementor.helpers.scrollToView(this.$el, 200);
|
|
}
|
|
|
|
$e.run('panel/editor/open', {
|
|
model: model,
|
|
view: this
|
|
});
|
|
},
|
|
onDuplicateButtonClick: function onDuplicateButtonClick(event) {
|
|
event.stopPropagation();
|
|
$e.run('document/elements/duplicate', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
onRemoveButtonClick: function onRemoveButtonClick(event) {
|
|
event.stopPropagation();
|
|
$e.run('document/elements/delete', {
|
|
container: this.getContainer()
|
|
});
|
|
},
|
|
|
|
/* jQuery ui sortable preventing any `mousedown` event above any element, and as a result is preventing the `blur`
|
|
* event on the currently active element. Therefor, we need to blur the active element manually.
|
|
*/
|
|
onMouseDown: function onMouseDown(event) {
|
|
if (jQuery(event.target).closest('.elementor-inline-editing').length) {
|
|
return;
|
|
}
|
|
|
|
elementorFrontend.elements.window.document.activeElement.blur();
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
this.controlsCSSParser.removeStyleFromDocument();
|
|
this.getEditModel().get('settings').validators = {};
|
|
elementor.channels.data.trigger('element:destroy', this.model);
|
|
}
|
|
});
|
|
module.exports = BaseElementView;
|
|
|
|
/***/ }),
|
|
/* 298 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var SortableBehavior;
|
|
SortableBehavior = Marionette.Behavior.extend({
|
|
defaults: {
|
|
elChildType: 'widget'
|
|
},
|
|
events: {
|
|
sortstart: 'onSortStart',
|
|
sortreceive: 'onSortReceive',
|
|
sortupdate: 'onSortUpdate',
|
|
sortover: 'onSortOver',
|
|
sortout: 'onSortOut'
|
|
},
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeSwitched).listenTo(this.view.options.model, 'request:sort:start', this.startSort).listenTo(this.view.options.model, 'request:sort:update', this.updateSort).listenTo(this.view.options.model, 'request:sort:receive', this.receiveSort);
|
|
},
|
|
onEditModeSwitched: function onEditModeSwitched(activeMode) {
|
|
if ('edit' === activeMode) {
|
|
this.activate();
|
|
} else {
|
|
this.deactivate();
|
|
}
|
|
},
|
|
onRender: function onRender() {
|
|
var self = this;
|
|
|
|
_.defer(function () {
|
|
self.onEditModeSwitched(elementor.channels.dataEditMode.request('activeMode'));
|
|
});
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
this.deactivate();
|
|
},
|
|
activate: function activate() {
|
|
if (!elementor.userCan('design')) {
|
|
return;
|
|
}
|
|
|
|
if (this.getChildViewContainer().sortable('instance')) {
|
|
return;
|
|
}
|
|
|
|
var $childViewContainer = this.getChildViewContainer(),
|
|
defaultSortableOptions = {
|
|
connectWith: $childViewContainer.selector,
|
|
placeholder: 'elementor-sortable-placeholder elementor-' + this.getOption('elChildType') + '-placeholder',
|
|
cursorAt: {
|
|
top: 20,
|
|
left: 25
|
|
},
|
|
helper: this._getSortableHelper.bind(this),
|
|
cancel: 'input, textarea, button, select, option, .elementor-inline-editing, .elementor-tab-title'
|
|
},
|
|
sortableOptions = _.extend(defaultSortableOptions, this.view.getSortableOptions());
|
|
|
|
$childViewContainer.sortable(sortableOptions);
|
|
},
|
|
_getSortableHelper: function _getSortableHelper(event, $item) {
|
|
var model = this.view.collection.get({
|
|
cid: $item.data('model-cid')
|
|
});
|
|
return '<div style="height: 84px; width: 125px;" class="elementor-sortable-helper elementor-sortable-helper-' + model.get('elType') + '"><div class="icon"><i class="' + model.getIcon() + '"></i></div><div class="elementor-element-title-wrapper"><div class="title">' + model.getTitle() + '</div></div></div>';
|
|
},
|
|
getChildViewContainer: function getChildViewContainer() {
|
|
return this.view.getChildViewContainer(this.view);
|
|
},
|
|
getSortedElementNewIndex: function getSortedElementNewIndex($element) {
|
|
var draggedModel = elementor.channels.data.request('dragging:model'),
|
|
draggedElType = draggedModel.get('elType');
|
|
var newIndex = $element.index();
|
|
|
|
if ('widget' === draggedElType && !elementor.config.legacyMode.elementWrappers) {
|
|
newIndex--;
|
|
}
|
|
|
|
return newIndex;
|
|
},
|
|
deactivate: function deactivate() {
|
|
var childViewContainer = this.getChildViewContainer();
|
|
|
|
if (childViewContainer.sortable('instance')) {
|
|
childViewContainer.sortable('destroy');
|
|
}
|
|
},
|
|
startSort: function startSort(event, ui) {
|
|
event.stopPropagation();
|
|
var container = elementor.getContainer(ui.item.attr('data-id'));
|
|
elementor.channels.data.reply('dragging:model', container.model).reply('dragging:view', container.view).reply('dragging:parent:view', this.view).trigger('drag:start', container.model).trigger(container.model.get('elType') + ':drag:start');
|
|
},
|
|
// On sorting element
|
|
updateSort: function updateSort(ui) {
|
|
$e.run('document/elements/move', {
|
|
container: elementor.channels.data.request('dragging:view').getContainer(),
|
|
target: this.view.getContainer(),
|
|
options: {
|
|
at: this.getSortedElementNewIndex(ui.item)
|
|
}
|
|
});
|
|
},
|
|
// On receiving element from another container
|
|
receiveSort: function receiveSort(event, ui) {
|
|
event.stopPropagation();
|
|
|
|
if (this.view.isCollectionFilled()) {
|
|
jQuery(ui.sender).sortable('cancel');
|
|
return;
|
|
}
|
|
|
|
var model = elementor.channels.data.request('dragging:model'),
|
|
draggedElType = model.get('elType'),
|
|
draggedIsInnerSection = 'section' === draggedElType && model.get('isInner'),
|
|
targetIsInnerColumn = 'column' === this.view.getElementType() && this.view.isInner();
|
|
|
|
if (draggedIsInnerSection && targetIsInnerColumn) {
|
|
jQuery(ui.sender).sortable('cancel');
|
|
return;
|
|
}
|
|
|
|
$e.run('document/elements/move', {
|
|
container: elementor.channels.data.request('dragging:view').getContainer(),
|
|
target: this.view.getContainer(),
|
|
options: {
|
|
at: this.getSortedElementNewIndex(ui.item)
|
|
}
|
|
});
|
|
},
|
|
onSortStart: function onSortStart(event, ui) {
|
|
if ('column' === this.options.elChildType) {
|
|
var uiData = ui.item.data('sortableItem'),
|
|
uiItems = uiData.items,
|
|
itemHeight = 0;
|
|
uiItems.forEach(function (item) {
|
|
if (item.item[0] === ui.item[0]) {
|
|
itemHeight = item.height;
|
|
return false;
|
|
}
|
|
});
|
|
ui.placeholder.height(itemHeight);
|
|
}
|
|
|
|
this.startSort(event, ui);
|
|
},
|
|
onSortOver: function onSortOver(event) {
|
|
event.stopPropagation();
|
|
var model = elementor.channels.data.request('dragging:model');
|
|
jQuery(event.target).addClass('elementor-draggable-over').attr({
|
|
'data-dragged-element': model.get('elType'),
|
|
'data-dragged-is-inner': model.get('isInner')
|
|
});
|
|
this.$el.addClass('elementor-dragging-on-child');
|
|
},
|
|
onSortOut: function onSortOut(event) {
|
|
event.stopPropagation();
|
|
jQuery(event.target).removeClass('elementor-draggable-over').removeAttr('data-dragged-element data-dragged-is-inner');
|
|
this.$el.removeClass('elementor-dragging-on-child');
|
|
},
|
|
onSortReceive: function onSortReceive(event, ui) {
|
|
this.receiveSort(event, ui);
|
|
},
|
|
onSortUpdate: function onSortUpdate(event, ui) {
|
|
event.stopPropagation();
|
|
|
|
if (this.getChildViewContainer()[0] !== ui.item.parent()[0]) {
|
|
return;
|
|
}
|
|
|
|
this.updateSort(ui);
|
|
},
|
|
onAddChild: function onAddChild(view) {
|
|
view.$el.attr('data-model-cid', view.model.cid);
|
|
}
|
|
});
|
|
module.exports = SortableBehavior;
|
|
|
|
/***/ }),
|
|
/* 299 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var arrayWithoutHoles = __webpack_require__(317);
|
|
|
|
var iterableToArray = __webpack_require__(318);
|
|
|
|
var unsupportedIterableToArray = __webpack_require__(193);
|
|
|
|
var nonIterableSpread = __webpack_require__(319);
|
|
|
|
function _toConsumableArray(arr) {
|
|
return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
|
|
}
|
|
|
|
module.exports = _toConsumableArray;
|
|
|
|
/***/ }),
|
|
/* 300 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = elementorModules.Module.extend({
|
|
errors: [],
|
|
__construct: function __construct(settings) {
|
|
var customValidationMethod = settings.customValidationMethod;
|
|
|
|
if (customValidationMethod) {
|
|
this.validationMethod = customValidationMethod;
|
|
}
|
|
},
|
|
getDefaultSettings: function getDefaultSettings() {
|
|
return {
|
|
validationTerms: {}
|
|
};
|
|
},
|
|
isValid: function isValid() {
|
|
var validationErrors = this.validationMethod.apply(this, arguments);
|
|
|
|
if (validationErrors.length) {
|
|
this.errors = validationErrors;
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
},
|
|
validationMethod: function validationMethod(newValue) {
|
|
var validationTerms = this.getSettings('validationTerms'),
|
|
errors = [];
|
|
|
|
if (validationTerms.required) {
|
|
if (!('' + newValue).length) {
|
|
errors.push('Required value is empty');
|
|
}
|
|
}
|
|
|
|
return errors;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 301 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(190);
|
|
|
|
__webpack_require__(79);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var ColorPicker = /*#__PURE__*/function (_elementorModules$Mod) {
|
|
(0, _inherits2.default)(ColorPicker, _elementorModules$Mod);
|
|
|
|
var _super = (0, _createSuper2.default)(ColorPicker);
|
|
|
|
function ColorPicker() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, ColorPicker);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
|
|
_this.createPicker();
|
|
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(ColorPicker, [{
|
|
key: "getDefaultSettings",
|
|
value: function getDefaultSettings() {
|
|
return {
|
|
picker: {
|
|
theme: 'monolith',
|
|
position: 'bottom-' + (elementorCommon.config.isRTL ? 'end' : 'start'),
|
|
components: {
|
|
opacity: true,
|
|
hue: true,
|
|
interaction: {
|
|
input: true
|
|
}
|
|
}
|
|
},
|
|
classes: {
|
|
active: 'elementor-active',
|
|
pickerHeader: 'elementor-color-picker__header',
|
|
pickerToolsContainer: 'e-color-picker__tools',
|
|
pickerTool: 'e-control-tool',
|
|
clearButton: 'e-color-picker__clear',
|
|
plusIcon: 'eicon-plus'
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "createPicker",
|
|
value: function createPicker() {
|
|
var _this2 = this;
|
|
|
|
var pickerSettings = this.getSettings('picker');
|
|
pickerSettings.default = pickerSettings.default || null;
|
|
this.picker = new Pickr(pickerSettings); // Set a default palette. It doesn't affect the selected value.
|
|
|
|
this.picker.setColor(pickerSettings.default || '#020101');
|
|
this.color = this.processColor();
|
|
this.picker.on('change', function () {
|
|
return _this2.onPickerChange();
|
|
}).on('clear', function () {
|
|
return _this2.onPickerClear();
|
|
}).on('show', function () {
|
|
return _this2.onPickerShow();
|
|
});
|
|
this.$pickerAppContainer = jQuery(this.picker.getRoot().app);
|
|
this.createPickerHeader();
|
|
}
|
|
}, {
|
|
key: "addTipsyToClearButton",
|
|
value: function addTipsyToClearButton() {
|
|
this.$clearButton.tipsy({
|
|
title: function title() {
|
|
return elementor.translate('clear');
|
|
},
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "processColor",
|
|
value: function processColor() {
|
|
var color = this.picker.getColor();
|
|
var colorRepresentation;
|
|
|
|
if (1 === color.a) {
|
|
colorRepresentation = color.toHEXA();
|
|
} else {
|
|
colorRepresentation = color.toRGBA();
|
|
}
|
|
|
|
return colorRepresentation.toString();
|
|
}
|
|
}, {
|
|
key: "getColor",
|
|
value: function getColor() {
|
|
return this.color;
|
|
}
|
|
}, {
|
|
key: "createPickerHeader",
|
|
value: function createPickerHeader() {
|
|
var _this$getSettings = this.getSettings(),
|
|
classes = _this$getSettings.classes,
|
|
$pickerHeader = jQuery('<div>', {
|
|
class: classes.pickerHeader
|
|
}).text(elementor.translate('color_picker')),
|
|
$pickerToolsContainer = jQuery('<div>', {
|
|
class: classes.pickerToolsContainer
|
|
}),
|
|
addButton = this.getSettings('addButton');
|
|
|
|
this.$pickerToolsContainer = $pickerToolsContainer;
|
|
|
|
if (addButton) {
|
|
this.createAddButton();
|
|
}
|
|
|
|
this.createClearButton();
|
|
$pickerToolsContainer.append(this.$clearButton, this.$addButton);
|
|
$pickerHeader.append($pickerToolsContainer);
|
|
this.$pickerAppContainer.prepend($pickerHeader);
|
|
}
|
|
}, {
|
|
key: "createAddButton",
|
|
value: function createAddButton() {
|
|
var _this3 = this;
|
|
|
|
var _this$getSettings2 = this.getSettings(),
|
|
classes = _this$getSettings2.classes;
|
|
|
|
this.$addButton = jQuery('<button>', {
|
|
class: classes.pickerTool
|
|
}).html(jQuery('<i>', {
|
|
class: classes.plusIcon
|
|
}));
|
|
this.$addButton.on('click', function () {
|
|
return _this3.onAddButtonClick();
|
|
});
|
|
this.$addButton.tipsy({
|
|
title: function title() {
|
|
return elementor.translate('create_global_color');
|
|
},
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
} // Move the clear button from Pickr's default location into the Color Picker header.
|
|
|
|
}, {
|
|
key: "createClearButton",
|
|
value: function createClearButton() {
|
|
var _this4 = this;
|
|
|
|
var _this$getSettings3 = this.getSettings(),
|
|
classes = _this$getSettings3.classes;
|
|
|
|
this.$clearButton = jQuery('<div>', {
|
|
class: classes.clearButton + ' ' + classes.pickerTool
|
|
}).html('<i class="eicon-undo"></i>');
|
|
this.$clearButton.on('click', function () {
|
|
return _this4.picker._clearColor();
|
|
});
|
|
this.addTipsyToClearButton();
|
|
}
|
|
}, {
|
|
key: "destroy",
|
|
value: function destroy() {
|
|
this.picker.destroyAndRemove();
|
|
} // TODO: CHECK IF THIS IS STILL NECESSARY
|
|
|
|
}, {
|
|
key: "fixTipsyForFF",
|
|
value: function fixTipsyForFF($button) {
|
|
// There's a bug in FireFox about hiding the tooltip after the button was clicked,
|
|
// So let's force it to hide.
|
|
$button.data('tipsy').hide();
|
|
}
|
|
}, {
|
|
key: "introductionViewed",
|
|
value: function introductionViewed() {
|
|
return ColorPicker.droppingIntroductionViewed || elementor.config.user.introduction.colorPickerDropping;
|
|
}
|
|
}, {
|
|
key: "toggleClearButtonState",
|
|
value: function toggleClearButtonState(active) {
|
|
this.$clearButton.toggleClass('e-control-tool-disabled', !active);
|
|
}
|
|
}, {
|
|
key: "onPickerChange",
|
|
value: function onPickerChange() {
|
|
this.picker.applyColor();
|
|
var newColor = this.processColor();
|
|
|
|
if (newColor === this.color) {
|
|
return;
|
|
}
|
|
|
|
this.color = newColor;
|
|
var onChange = this.getSettings('onChange');
|
|
|
|
if (onChange) {
|
|
onChange();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onPickerClear",
|
|
value: function onPickerClear() {
|
|
this.color = '';
|
|
var onClear = this.getSettings('onClear');
|
|
|
|
if (onClear) {
|
|
onClear();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onPickerShow",
|
|
value: function onPickerShow() {
|
|
var _this5 = this;
|
|
|
|
var resultInput = this.picker.getRoot().interaction.result;
|
|
setTimeout(function () {
|
|
resultInput.select();
|
|
_this5.picker._recalc = true;
|
|
}, 100);
|
|
}
|
|
}, {
|
|
key: "onAddButtonClick",
|
|
value: function onAddButtonClick() {
|
|
this.picker.hide();
|
|
var onPickerAddButtonClick = this.getSettings('onAddButtonClick');
|
|
|
|
if (onPickerAddButtonClick) {
|
|
onPickerAddButtonClick();
|
|
}
|
|
|
|
this.fixTipsyForFF(this.$addButton);
|
|
}
|
|
}]);
|
|
return ColorPicker;
|
|
}(elementorModules.Module);
|
|
|
|
exports.default = ColorPicker;
|
|
|
|
/***/ }),
|
|
/* 302 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
|
|
var $export = __webpack_require__(37);
|
|
var $find = __webpack_require__(189)(6);
|
|
var KEY = 'findIndex';
|
|
var forced = true;
|
|
// Shouldn't skip holes
|
|
if (KEY in []) Array(1)[KEY](function () { forced = false; });
|
|
$export($export.P + $export.F * forced, 'Array', {
|
|
findIndex: function findIndex(callbackfn /* , that = undefined */) {
|
|
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
}
|
|
});
|
|
__webpack_require__(89)(KEY);
|
|
|
|
|
|
/***/ }),
|
|
/* 303 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(304);
|
|
|
|
/***/ }),
|
|
/* 304 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(305);
|
|
module.exports = __webpack_require__(6).Object.getOwnPropertyDescriptors;
|
|
|
|
|
|
/***/ }),
|
|
/* 305 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// https://github.com/tc39/proposal-object-getownpropertydescriptors
|
|
var $export = __webpack_require__(7);
|
|
var ownKeys = __webpack_require__(306);
|
|
var toIObject = __webpack_require__(19);
|
|
var gOPD = __webpack_require__(51);
|
|
var createProperty = __webpack_require__(192);
|
|
|
|
$export($export.S, 'Object', {
|
|
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
|
|
var O = toIObject(object);
|
|
var getDesc = gOPD.f;
|
|
var keys = ownKeys(O);
|
|
var result = {};
|
|
var i = 0;
|
|
var key, desc;
|
|
while (keys.length > i) {
|
|
desc = getDesc(O, key = keys[i++]);
|
|
if (desc !== undefined) createProperty(result, key, desc);
|
|
}
|
|
return result;
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 306 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// all object keys, includes non-enumerable and symbols
|
|
var gOPN = __webpack_require__(94);
|
|
var gOPS = __webpack_require__(74);
|
|
var anObject = __webpack_require__(11);
|
|
var Reflect = __webpack_require__(8).Reflect;
|
|
module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
|
|
var keys = gOPN.f(anObject(it));
|
|
var getSymbols = gOPS.f;
|
|
return getSymbols ? keys.concat(getSymbols(it)) : keys;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 307 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
module.exports = __webpack_require__(308);
|
|
|
|
/***/ }),
|
|
/* 308 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(136);
|
|
module.exports = __webpack_require__(6).Object.getOwnPropertySymbols;
|
|
|
|
|
|
/***/ }),
|
|
/* 309 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var global = __webpack_require__(18);
|
|
var dP = __webpack_require__(49);
|
|
var DESCRIPTORS = __webpack_require__(27);
|
|
var SPECIES = __webpack_require__(13)('species');
|
|
|
|
module.exports = function (KEY) {
|
|
var C = global[KEY];
|
|
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
|
|
configurable: true,
|
|
get: function () { return this; }
|
|
});
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 310 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var isObject = __webpack_require__(30);
|
|
var setPrototypeOf = __webpack_require__(330).set;
|
|
module.exports = function (that, target, C) {
|
|
var S = target.constructor;
|
|
var P;
|
|
if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
|
|
setPrototypeOf(that, P);
|
|
} return that;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 311 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var pIE = __webpack_require__(331);
|
|
var createDesc = __webpack_require__(106);
|
|
var toIObject = __webpack_require__(103);
|
|
var toPrimitive = __webpack_require__(124);
|
|
var has = __webpack_require__(64);
|
|
var IE8_DOM_DEFINE = __webpack_require__(131);
|
|
var gOPD = Object.getOwnPropertyDescriptor;
|
|
|
|
exports.f = __webpack_require__(27) ? gOPD : function getOwnPropertyDescriptor(O, P) {
|
|
O = toIObject(O);
|
|
P = toPrimitive(P, true);
|
|
if (IE8_DOM_DEFINE) try {
|
|
return gOPD(O, P);
|
|
} catch (e) { /* empty */ }
|
|
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 312 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
|
var $keys = __webpack_require__(219);
|
|
var hiddenKeys = __webpack_require__(151).concat('length', 'prototype');
|
|
|
|
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
|
return $keys(O, hiddenKeys);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 313 */,
|
|
/* 314 */,
|
|
/* 315 */,
|
|
/* 316 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var core = __webpack_require__(6);
|
|
var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });
|
|
module.exports = function stringify(it) { // eslint-disable-line no-unused-vars
|
|
return $JSON.stringify.apply($JSON, arguments);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 317 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Array$isArray = __webpack_require__(85);
|
|
|
|
var arrayLikeToArray = __webpack_require__(199);
|
|
|
|
function _arrayWithoutHoles(arr) {
|
|
if (_Array$isArray(arr)) return arrayLikeToArray(arr);
|
|
}
|
|
|
|
module.exports = _arrayWithoutHoles;
|
|
|
|
/***/ }),
|
|
/* 318 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _Array$from = __webpack_require__(200);
|
|
|
|
var _isIterable = __webpack_require__(211);
|
|
|
|
var _Symbol = __webpack_require__(107);
|
|
|
|
function _iterableToArray(iter) {
|
|
if (typeof _Symbol !== "undefined" && _isIterable(Object(iter))) return _Array$from(iter);
|
|
}
|
|
|
|
module.exports = _iterableToArray;
|
|
|
|
/***/ }),
|
|
/* 319 */
|
|
/***/ (function(module, exports) {
|
|
|
|
function _nonIterableSpread() {
|
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
|
|
module.exports = _nonIterableSpread;
|
|
|
|
/***/ }),
|
|
/* 320 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _manager = _interopRequireDefault(__webpack_require__(427));
|
|
|
|
var _manager2 = _interopRequireDefault(__webpack_require__(429));
|
|
|
|
/**
|
|
* TODO: Wrong class name + location, conflict with 'editor.js'.
|
|
*/
|
|
var Editor = function Editor() {
|
|
(0, _classCallCheck2.default)(this, Editor);
|
|
(0, _defineProperty2.default)(this, "status", 'closed');
|
|
(0, _defineProperty2.default)(this, "isSaving", false);
|
|
(0, _defineProperty2.default)(this, "isChanged", false);
|
|
(0, _defineProperty2.default)(this, "isChangedDuringSave", false);
|
|
(0, _defineProperty2.default)(this, "isSaved", true);
|
|
(0, _defineProperty2.default)(this, "lastSaveHistoryId", 0);
|
|
};
|
|
|
|
var Document = /*#__PURE__*/function () {
|
|
/**
|
|
* Document id.
|
|
*
|
|
* @type {number|null}
|
|
*/
|
|
|
|
/**
|
|
* History of the document.
|
|
*
|
|
* @type {HistoryManager}
|
|
*/
|
|
|
|
/**
|
|
* Revisions of the document.
|
|
*
|
|
* @type {RevisionsManager}
|
|
*/
|
|
|
|
/**
|
|
* Current container.
|
|
*
|
|
* @type {Container}
|
|
*/
|
|
|
|
/**
|
|
* Editor Settings.
|
|
*
|
|
* @type {Editor}
|
|
*/
|
|
|
|
/**
|
|
* Function constructor().
|
|
*
|
|
* Create document.
|
|
*
|
|
* @param {{}} config
|
|
*/
|
|
function Document(config) {
|
|
(0, _classCallCheck2.default)(this, Document);
|
|
(0, _defineProperty2.default)(this, "id", null);
|
|
(0, _defineProperty2.default)(this, "history", null);
|
|
(0, _defineProperty2.default)(this, "revisions", null);
|
|
(0, _defineProperty2.default)(this, "container", null);
|
|
(0, _defineProperty2.default)(this, "editor", new Editor());
|
|
this.config = config;
|
|
this.id = config.id;
|
|
this.history = new _manager.default(this);
|
|
this.revisions = new _manager2.default(this);
|
|
}
|
|
|
|
(0, _createClass2.default)(Document, [{
|
|
key: "isDraft",
|
|
value: function isDraft() {
|
|
return this.config.revisions.current_id !== this.config.id;
|
|
}
|
|
}]);
|
|
return Document;
|
|
}();
|
|
|
|
exports.default = Document;
|
|
|
|
/***/ }),
|
|
/* 321 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Close", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _close.Close;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Toggle", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _toggle.Toggle;
|
|
}
|
|
});
|
|
|
|
var _close = __webpack_require__(322);
|
|
|
|
var _open = __webpack_require__(323);
|
|
|
|
var _toggle = __webpack_require__(324);
|
|
|
|
/***/ }),
|
|
/* 322 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Close = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Close = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Close, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Close);
|
|
|
|
function Close() {
|
|
(0, _classCallCheck2.default)(this, Close);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Close, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
this.component.close();
|
|
}
|
|
}]);
|
|
return Close;
|
|
}(_commandBase.default);
|
|
|
|
exports.Close = Close;
|
|
var _default = Close;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 323 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
$e.route(this.component.getNamespace());
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 324 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Toggle = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Toggle = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Toggle, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Toggle);
|
|
|
|
function Toggle() {
|
|
(0, _classCallCheck2.default)(this, Toggle);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Toggle, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
if (this.component.isOpen) {
|
|
this.component.close();
|
|
} else {
|
|
$e.route(this.component.getNamespace());
|
|
}
|
|
}
|
|
}]);
|
|
return Toggle;
|
|
}(_commandBase.default);
|
|
|
|
exports.Toggle = Toggle;
|
|
var _default = Toggle;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 325 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/**
|
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
|
|
|
|
var ReactPropTypesSecret = __webpack_require__(326);
|
|
|
|
function emptyFunction() {}
|
|
function emptyFunctionWithReset() {}
|
|
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
|
|
|
module.exports = function() {
|
|
function shim(props, propName, componentName, location, propFullName, secret) {
|
|
if (secret === ReactPropTypesSecret) {
|
|
// It is still safe when called from React.
|
|
return;
|
|
}
|
|
var err = new Error(
|
|
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
'Use PropTypes.checkPropTypes() to call them. ' +
|
|
'Read more at http://fb.me/use-check-prop-types'
|
|
);
|
|
err.name = 'Invariant Violation';
|
|
throw err;
|
|
};
|
|
shim.isRequired = shim;
|
|
function getShim() {
|
|
return shim;
|
|
};
|
|
// Important!
|
|
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
|
var ReactPropTypes = {
|
|
array: shim,
|
|
bool: shim,
|
|
func: shim,
|
|
number: shim,
|
|
object: shim,
|
|
string: shim,
|
|
symbol: shim,
|
|
|
|
any: shim,
|
|
arrayOf: getShim,
|
|
element: shim,
|
|
elementType: shim,
|
|
instanceOf: getShim,
|
|
node: shim,
|
|
objectOf: getShim,
|
|
oneOf: getShim,
|
|
oneOfType: getShim,
|
|
shape: getShim,
|
|
exact: getShim,
|
|
|
|
checkPropTypes: emptyFunctionWithReset,
|
|
resetWarningCache: emptyFunction
|
|
};
|
|
|
|
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
|
|
return ReactPropTypes;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 326 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/**
|
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
|
|
|
|
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
|
|
module.exports = ReactPropTypesSecret;
|
|
|
|
|
|
/***/ }),
|
|
/* 327 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = ReactDOM;
|
|
|
|
/***/ }),
|
|
/* 328 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(150);
|
|
|
|
__webpack_require__(118);
|
|
|
|
__webpack_require__(79);
|
|
|
|
var _controlsStack = _interopRequireDefault(__webpack_require__(368));
|
|
|
|
module.exports = Marionette.CompositeView.extend({
|
|
template: Marionette.TemplateCache.get('#tmpl-elementor-repeater-row'),
|
|
className: 'elementor-repeater-fields',
|
|
ui: {
|
|
duplicateButton: '.elementor-repeater-tool-duplicate',
|
|
editButton: '.elementor-repeater-tool-edit',
|
|
removeButton: '.elementor-repeater-tool-remove',
|
|
itemTitle: '.elementor-repeater-row-item-title'
|
|
},
|
|
behaviors: {
|
|
HandleInnerTabs: {
|
|
behaviorClass: __webpack_require__(329)
|
|
}
|
|
},
|
|
triggers: {
|
|
'click @ui.removeButton': 'click:remove',
|
|
'click @ui.duplicateButton': 'click:duplicate',
|
|
'click @ui.itemTitle': 'click:edit'
|
|
},
|
|
modelEvents: {
|
|
change: 'onModelChange'
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
return {
|
|
itemIndex: this.getOption('itemIndex'),
|
|
itemActions: this.getOption('itemActions')
|
|
};
|
|
},
|
|
childViewContainer: '.elementor-repeater-row-controls',
|
|
getChildView: function getChildView(item) {
|
|
var controlType = item.get('type');
|
|
return elementor.getControlView(controlType);
|
|
},
|
|
childViewOptions: function childViewOptions() {
|
|
return {
|
|
container: this.options.container
|
|
};
|
|
},
|
|
updateIndex: function updateIndex(newIndex) {
|
|
this.itemIndex = newIndex;
|
|
},
|
|
setTitle: function setTitle() {
|
|
var titleField = this.getOption('titleField');
|
|
var title = '';
|
|
|
|
if (titleField) {
|
|
title = Marionette.TemplateCache.prototype.compileTemplate(titleField)(this.model.parseDynamicSettings());
|
|
}
|
|
|
|
if (!title) {
|
|
title = elementor.translate('Item #%s', [this.getOption('itemIndex')]);
|
|
}
|
|
|
|
this.ui.itemTitle.html(title);
|
|
},
|
|
toggleSort: function toggleSort(enable) {
|
|
this.$el.toggleClass('elementor-repeater-row--disable-sort', !enable);
|
|
},
|
|
initialize: function initialize(options) {
|
|
this.itemIndex = 0; // Collection for Controls list
|
|
|
|
this.collection = new Backbone.Collection(_.values(elementor.mergeControlsSettings(options.controlFields)));
|
|
},
|
|
onRender: function onRender() {
|
|
this.setTitle();
|
|
|
|
_controlsStack.default.handlePopovers(this);
|
|
},
|
|
onModelChange: function onModelChange() {
|
|
if (this.getOption('titleField')) {
|
|
this.setTitle();
|
|
}
|
|
},
|
|
onChildviewResponsiveSwitcherClick: function onChildviewResponsiveSwitcherClick(childView, device) {
|
|
if ('desktop' === device) {
|
|
elementor.getPanelView().getCurrentPageView().$el.toggleClass('elementor-responsive-switchers-open');
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 329 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(26);
|
|
|
|
var InnerTabsBehavior;
|
|
InnerTabsBehavior = Marionette.Behavior.extend({
|
|
onRenderCollection: function onRenderCollection() {
|
|
this.handleInnerTabs(this.view);
|
|
},
|
|
handleInnerTabs: function handleInnerTabs(parent) {
|
|
var closedClass = 'elementor-tab-close',
|
|
activeClass = 'elementor-tab-active',
|
|
tabsWrappers = parent.children.filter(function (view) {
|
|
return 'tabs' === view.model.get('type');
|
|
});
|
|
|
|
_.each(tabsWrappers, function (view) {
|
|
view.$el.find('.elementor-control-content').remove();
|
|
var tabsId = view.model.get('name'),
|
|
tabs = parent.children.filter(function (childView) {
|
|
return 'tab' === childView.model.get('type') && childView.model.get('tabs_wrapper') === tabsId;
|
|
});
|
|
|
|
_.each(tabs, function (childView, index) {
|
|
view._addChildView(childView);
|
|
|
|
var tabId = childView.model.get('name'),
|
|
controlsUnderTab = parent.children.filter(function (controlView) {
|
|
return tabId === controlView.model.get('inner_tab');
|
|
});
|
|
|
|
if (0 === index) {
|
|
childView.$el.addClass(activeClass);
|
|
} else {
|
|
_.each(controlsUnderTab, function (controlView) {
|
|
controlView.$el.addClass(closedClass);
|
|
});
|
|
}
|
|
});
|
|
});
|
|
},
|
|
onChildviewControlTabClicked: function onChildviewControlTabClicked(childView) {
|
|
var closedClass = 'elementor-tab-close',
|
|
activeClass = 'elementor-tab-active',
|
|
tabClicked = childView.model.get('name'),
|
|
childrenUnderTab = this.view.children.filter(function (view) {
|
|
return 'tab' !== view.model.get('type') && childView.model.get('tabs_wrapper') === view.model.get('tabs_wrapper');
|
|
}),
|
|
siblingTabs = this.view.children.filter(function (view) {
|
|
return 'tab' === view.model.get('type') && childView.model.get('tabs_wrapper') === view.model.get('tabs_wrapper');
|
|
});
|
|
|
|
_.each(siblingTabs, function (view) {
|
|
view.$el.removeClass(activeClass);
|
|
});
|
|
|
|
childView.$el.addClass(activeClass);
|
|
|
|
_.each(childrenUnderTab, function (view) {
|
|
if (view.model.get('inner_tab') === tabClicked) {
|
|
view.$el.removeClass(closedClass);
|
|
} else {
|
|
view.$el.addClass(closedClass);
|
|
}
|
|
});
|
|
|
|
elementor.getPanelView().updateScrollbar();
|
|
}
|
|
});
|
|
module.exports = InnerTabsBehavior;
|
|
|
|
/***/ }),
|
|
/* 330 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
|
/* eslint-disable no-proto */
|
|
var isObject = __webpack_require__(30);
|
|
var anObject = __webpack_require__(20);
|
|
var check = function (O, proto) {
|
|
anObject(O);
|
|
if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
|
|
};
|
|
module.exports = {
|
|
set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
|
|
function (test, buggy, set) {
|
|
try {
|
|
set = __webpack_require__(80)(Function.call, __webpack_require__(311).f(Object.prototype, '__proto__').set, 2);
|
|
set(test, []);
|
|
buggy = !(test instanceof Array);
|
|
} catch (e) { buggy = true; }
|
|
return function setPrototypeOf(O, proto) {
|
|
check(O, proto);
|
|
if (buggy) O.__proto__ = proto;
|
|
else set(O, proto);
|
|
return O;
|
|
};
|
|
}({}, false) : undefined),
|
|
check: check
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 331 */
|
|
/***/ (function(module, exports) {
|
|
|
|
exports.f = {}.propertyIsEnumerable;
|
|
|
|
|
|
/***/ }),
|
|
/* 332 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(190);
|
|
|
|
__webpack_require__(79);
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(120);
|
|
|
|
__webpack_require__(81);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
(function ($) {
|
|
var Stylesheet = function Stylesheet() {
|
|
var self = this,
|
|
rules = {},
|
|
rawCSS = {},
|
|
devices = {};
|
|
|
|
var getDeviceMaxValue = function getDeviceMaxValue(deviceName) {
|
|
var deviceNames = (0, _keys.default)(devices),
|
|
deviceNameIndex = deviceNames.indexOf(deviceName),
|
|
nextIndex = deviceNameIndex + 1;
|
|
|
|
if (nextIndex >= deviceNames.length) {
|
|
throw new RangeError('Max value for this device is out of range.');
|
|
}
|
|
|
|
return devices[deviceNames[nextIndex]] - 1;
|
|
};
|
|
|
|
var queryToHash = function queryToHash(query) {
|
|
var hash = [];
|
|
$.each(query, function (endPoint) {
|
|
hash.push(endPoint + '_' + this);
|
|
});
|
|
return hash.join('-');
|
|
};
|
|
|
|
var hashToQuery = function hashToQuery(hash) {
|
|
var query = {};
|
|
hash = hash.split('-').filter(String);
|
|
hash.forEach(function (singleQuery) {
|
|
var queryParts = singleQuery.split('_'),
|
|
endPoint = queryParts[0],
|
|
deviceName = queryParts[1];
|
|
query[endPoint] = 'max' === endPoint ? getDeviceMaxValue(deviceName) : devices[deviceName];
|
|
});
|
|
return query;
|
|
};
|
|
|
|
var addQueryHash = function addQueryHash(queryHash) {
|
|
rules[queryHash] = {};
|
|
var hashes = (0, _keys.default)(rules);
|
|
|
|
if (hashes.length < 2) {
|
|
return;
|
|
} // Sort the devices from narrowest to widest
|
|
|
|
|
|
hashes.sort(function (a, b) {
|
|
if ('all' === a) {
|
|
return -1;
|
|
}
|
|
|
|
if ('all' === b) {
|
|
return 1;
|
|
}
|
|
|
|
var aQuery = hashToQuery(a),
|
|
bQuery = hashToQuery(b);
|
|
return bQuery.max - aQuery.max;
|
|
});
|
|
var sortedRules = {};
|
|
hashes.forEach(function (deviceName) {
|
|
sortedRules[deviceName] = rules[deviceName];
|
|
});
|
|
rules = sortedRules;
|
|
};
|
|
|
|
var getQueryHashStyleFormat = function getQueryHashStyleFormat(queryHash) {
|
|
var query = hashToQuery(queryHash),
|
|
styleFormat = [];
|
|
$.each(query, function (endPoint) {
|
|
styleFormat.push('(' + endPoint + '-width:' + this + 'px)');
|
|
});
|
|
return '@media' + styleFormat.join(' and ');
|
|
};
|
|
|
|
this.addDevice = function (newDeviceName, deviceValue) {
|
|
devices[newDeviceName] = deviceValue;
|
|
var deviceNames = (0, _keys.default)(devices);
|
|
|
|
if (deviceNames.length < 2) {
|
|
return self;
|
|
} // Sort the devices from narrowest to widest
|
|
|
|
|
|
deviceNames.sort(function (a, b) {
|
|
return devices[a] - devices[b];
|
|
});
|
|
var sortedDevices = {};
|
|
deviceNames.forEach(function (deviceName) {
|
|
sortedDevices[deviceName] = devices[deviceName];
|
|
});
|
|
devices = sortedDevices;
|
|
return self;
|
|
};
|
|
|
|
this.addRawCSS = function (key, css) {
|
|
rawCSS[key] = css;
|
|
};
|
|
|
|
this.addRules = function (selector, styleRules, query) {
|
|
var queryHash = 'all';
|
|
|
|
if (!_.isEmpty(query)) {
|
|
queryHash = queryToHash(query);
|
|
}
|
|
|
|
if (!rules[queryHash]) {
|
|
addQueryHash(queryHash);
|
|
}
|
|
|
|
if (!styleRules) {
|
|
var parsedRules = selector.match(/[^{]+\{[^}]+}/g);
|
|
$.each(parsedRules, function () {
|
|
var parsedRule = this.match(/([^{]+)\{([^}]+)}/);
|
|
|
|
if (parsedRule) {
|
|
self.addRules(parsedRule[1].trim(), parsedRule[2].trim(), query);
|
|
}
|
|
});
|
|
return;
|
|
}
|
|
|
|
if (!rules[queryHash][selector]) {
|
|
rules[queryHash][selector] = {};
|
|
}
|
|
|
|
if ('string' === typeof styleRules) {
|
|
styleRules = styleRules.split(';').filter(String);
|
|
var orderedRules = {};
|
|
|
|
try {
|
|
$.each(styleRules, function () {
|
|
var property = this.split(/:(.*)?/);
|
|
orderedRules[property[0].trim()] = property[1].trim().replace(';', '');
|
|
});
|
|
} catch (error) {
|
|
// At least one of the properties is incorrect
|
|
return;
|
|
}
|
|
|
|
styleRules = orderedRules;
|
|
}
|
|
|
|
$.extend(rules[queryHash][selector], styleRules);
|
|
return self;
|
|
};
|
|
|
|
this.getRules = function () {
|
|
return rules;
|
|
};
|
|
|
|
this.empty = function () {
|
|
rules = {};
|
|
rawCSS = {};
|
|
};
|
|
|
|
this.toString = function () {
|
|
var styleText = '';
|
|
$.each(rules, function (queryHash) {
|
|
var deviceText = Stylesheet.parseRules(this);
|
|
|
|
if ('all' !== queryHash) {
|
|
deviceText = getQueryHashStyleFormat(queryHash) + '{' + deviceText + '}';
|
|
}
|
|
|
|
styleText += deviceText;
|
|
});
|
|
$.each(rawCSS, function () {
|
|
styleText += this;
|
|
});
|
|
return styleText;
|
|
};
|
|
};
|
|
|
|
Stylesheet.parseRules = function (rules) {
|
|
var parsedRules = '';
|
|
$.each(rules, function (selector) {
|
|
var selectorContent = Stylesheet.parseProperties(this);
|
|
|
|
if (selectorContent) {
|
|
parsedRules += selector + '{' + selectorContent + '}';
|
|
}
|
|
});
|
|
return parsedRules;
|
|
};
|
|
|
|
Stylesheet.parseProperties = function (properties) {
|
|
var parsedProperties = '';
|
|
$.each(properties, function (propertyKey) {
|
|
if (this) {
|
|
parsedProperties += propertyKey + ':' + this + ';';
|
|
}
|
|
});
|
|
return parsedProperties;
|
|
};
|
|
|
|
module.exports = Stylesheet;
|
|
})(jQuery);
|
|
|
|
/***/ }),
|
|
/* 333 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
module.exports = Marionette.CompositeView.extend({
|
|
templateHelpers: function templateHelpers() {
|
|
return {
|
|
view: this
|
|
};
|
|
},
|
|
getBehavior: function getBehavior(name) {
|
|
return this._behaviors[(0, _keys.default)(this.behaviors()).indexOf(name)];
|
|
},
|
|
initialize: function initialize() {
|
|
this.collection = this.model.get('elements');
|
|
},
|
|
addChildModel: function addChildModel(model, options) {
|
|
return this.collection.add(model, options, true);
|
|
},
|
|
addElement: function addElement(data, options) {
|
|
if (this.isCollectionFilled()) {
|
|
return;
|
|
}
|
|
|
|
options = jQuery.extend({
|
|
trigger: false,
|
|
edit: true,
|
|
onBeforeAdd: null,
|
|
onAfterAdd: null
|
|
}, options);
|
|
var childTypes = this.getChildType();
|
|
var newItem, elType;
|
|
|
|
if (data instanceof Backbone.Model) {
|
|
newItem = data;
|
|
elType = newItem.get('elType');
|
|
} else {
|
|
newItem = {
|
|
id: elementorCommon.helpers.getUniqueId(),
|
|
elType: childTypes[0],
|
|
settings: {},
|
|
elements: []
|
|
};
|
|
|
|
if (data) {
|
|
jQuery.extend(newItem, data);
|
|
}
|
|
|
|
elType = newItem.elType;
|
|
}
|
|
|
|
if (-1 === childTypes.indexOf(elType)) {
|
|
return this.children.last().addElement(newItem, options);
|
|
}
|
|
|
|
if (options.clone) {
|
|
newItem = this.cloneItem(newItem);
|
|
}
|
|
|
|
if (options.trigger) {
|
|
elementor.channels.data.trigger(options.trigger.beforeAdd, newItem);
|
|
}
|
|
|
|
if (options.onBeforeAdd) {
|
|
options.onBeforeAdd();
|
|
}
|
|
|
|
var newModel = this.addChildModel(newItem, {
|
|
at: options.at
|
|
}),
|
|
newView = this.children.findByModel(newModel);
|
|
|
|
if (options.onAfterAdd) {
|
|
options.onAfterAdd(newModel, newView);
|
|
}
|
|
|
|
if (options.trigger) {
|
|
elementor.channels.data.trigger(options.trigger.afterAdd, newItem);
|
|
}
|
|
|
|
if (options.edit && elementor.documents.getCurrent().history.getActive()) {
|
|
// Ensure container is created. TODO: Open editor via UI hook after `document/elements/create`.
|
|
newView.getContainer();
|
|
newModel.trigger('request:edit');
|
|
}
|
|
|
|
return newView;
|
|
},
|
|
addChildElement: function addChildElement(data, options) {
|
|
elementorCommon.helpers.softDeprecated('addChildElement', '2.8.0', "$e.run( 'document/elements/create' )");
|
|
|
|
if (Object !== data.constructor) {
|
|
data = jQuery.extend({}, data);
|
|
}
|
|
|
|
$e.run('document/elements/create', {
|
|
container: this.getContainer(),
|
|
model: data,
|
|
options: options
|
|
});
|
|
},
|
|
cloneItem: function cloneItem(item) {
|
|
var self = this;
|
|
|
|
if (item instanceof Backbone.Model) {
|
|
return item.clone();
|
|
}
|
|
|
|
item.id = elementorCommon.helpers.getUniqueId();
|
|
item.settings._element_id = '';
|
|
item.elements.forEach(function (childItem, index) {
|
|
item.elements[index] = self.cloneItem(childItem);
|
|
});
|
|
return item;
|
|
},
|
|
lookup: function lookup() {
|
|
var element = this;
|
|
|
|
if (element.isDisconnected()) {
|
|
element = $e.components.get('document').utils.findViewById(element.model.id);
|
|
}
|
|
|
|
return element;
|
|
},
|
|
isDisconnected: function isDisconnected() {
|
|
return this.isDestroyed || !this.el.isConnected;
|
|
},
|
|
isCollectionFilled: function isCollectionFilled() {
|
|
return false;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 334 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var anObject = __webpack_require__(20);
|
|
var sameValue = __webpack_require__(386);
|
|
var regExpExec = __webpack_require__(97);
|
|
|
|
// @@search logic
|
|
__webpack_require__(98)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {
|
|
return [
|
|
// `String.prototype.search` method
|
|
// https://tc39.github.io/ecma262/#sec-string.prototype.search
|
|
function search(regexp) {
|
|
var O = defined(this);
|
|
var fn = regexp == undefined ? undefined : regexp[SEARCH];
|
|
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
|
|
},
|
|
// `RegExp.prototype[@@search]` method
|
|
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
|
|
function (regexp) {
|
|
var res = maybeCallNative($search, regexp, this);
|
|
if (res.done) return res.value;
|
|
var rx = anObject(regexp);
|
|
var S = String(this);
|
|
var previousLastIndex = rx.lastIndex;
|
|
if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
|
|
var result = regExpExec(rx, S);
|
|
if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
|
|
return result === null ? -1 : result.index;
|
|
}
|
|
];
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 335 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlsCSSParser = __webpack_require__(293);
|
|
|
|
module.exports = elementorModules.ViewModule.extend({
|
|
model: null,
|
|
hasChange: false,
|
|
changeCallbacks: {},
|
|
addChangeCallback: function addChangeCallback(attribute, callback) {
|
|
this.changeCallbacks[attribute] = callback;
|
|
},
|
|
bindEvents: function bindEvents() {
|
|
elementor.on('document:loaded', this.onElementorDocumentLoaded);
|
|
this.model.on('change', this.onModelChange);
|
|
},
|
|
unbindEvents: function unbindEvents() {
|
|
elementor.off('document:loaded', this.onElementorDocumentLoaded);
|
|
},
|
|
addPanelPage: function addPanelPage() {
|
|
var name = this.getSettings('name');
|
|
elementor.getPanelView().addPage(name + '_settings', {
|
|
view: elementor.settings.panelPages[name] || elementor.settings.panelPages.base,
|
|
title: this.getSettings('panelPage.title'),
|
|
options: {
|
|
editedView: this.getEditedView(),
|
|
model: this.model,
|
|
controls: this.model.controls,
|
|
name: name
|
|
}
|
|
});
|
|
},
|
|
getContainerId: function getContainerId() {
|
|
return this.getSettings('name') + '_settings';
|
|
},
|
|
// Emulate an element view/model structure with the parts needed for a container.
|
|
getEditedView: function getEditedView() {
|
|
var id = this.getContainerId(),
|
|
editModel = new Backbone.Model({
|
|
id: id,
|
|
elType: id,
|
|
settings: this.model
|
|
});
|
|
var container = new elementorModules.editor.Container({
|
|
type: id,
|
|
id: editModel.id,
|
|
model: editModel,
|
|
settings: editModel.get('settings'),
|
|
view: false,
|
|
label: this.getSettings('panelPage').title,
|
|
controls: this.model.controls,
|
|
document: this.getDocument(),
|
|
renderer: false
|
|
});
|
|
return {
|
|
getContainer: function getContainer() {
|
|
return container;
|
|
},
|
|
getEditModel: function getEditModel() {
|
|
return editModel;
|
|
},
|
|
model: editModel
|
|
};
|
|
},
|
|
getDocument: function getDocument() {
|
|
return false;
|
|
},
|
|
updateStylesheet: function updateStylesheet(keepOldEntries) {
|
|
var controlsCSS = this.getControlsCSS();
|
|
|
|
if (!keepOldEntries) {
|
|
controlsCSS.stylesheet.empty();
|
|
}
|
|
|
|
this.model.handleRepeaterData(this.model.attributes);
|
|
controlsCSS.addStyleRules(this.model.getStyleControls(), this.model.attributes, this.model.controls, [/{{WRAPPER}}/g], [this.getSettings('cssWrapperSelector')]);
|
|
controlsCSS.addStyleToDocument({
|
|
// Ensures we don't override default global style
|
|
at: 'before',
|
|
of: '#elementor-style-e-global-style'
|
|
});
|
|
},
|
|
initModel: function initModel() {
|
|
this.model = new elementorModules.editor.elements.models.BaseSettings(this.getSettings('settings'), {
|
|
controls: this.getSettings('controls')
|
|
});
|
|
},
|
|
getStyleId: function getStyleId() {
|
|
return this.getSettings('name');
|
|
},
|
|
initControlsCSSParser: function initControlsCSSParser() {
|
|
var controlsCSS;
|
|
|
|
this.destroyControlsCSS = function () {
|
|
controlsCSS.removeStyleFromDocument();
|
|
};
|
|
|
|
this.getControlsCSS = function () {
|
|
if (!controlsCSS) {
|
|
controlsCSS = new ControlsCSSParser({
|
|
id: this.getStyleId(),
|
|
settingsModel: this.model,
|
|
context: this.getEditedView()
|
|
});
|
|
}
|
|
|
|
return controlsCSS;
|
|
};
|
|
},
|
|
getDataToSave: function getDataToSave(data) {
|
|
return data;
|
|
},
|
|
save: function save(callback) {
|
|
var self = this;
|
|
|
|
if (!self.hasChange) {
|
|
return;
|
|
}
|
|
|
|
var settings = this.model.toJSON({
|
|
remove: ['default']
|
|
}),
|
|
data = this.getDataToSave({
|
|
data: settings
|
|
});
|
|
|
|
if (!elementorCommonConfig.isTesting) {
|
|
NProgress.start();
|
|
}
|
|
|
|
elementorCommon.ajax.addRequest('save_' + this.getSettings('name') + '_settings', {
|
|
data: data,
|
|
success: function success() {
|
|
if (!elementorCommonConfig.isTesting) {
|
|
NProgress.done();
|
|
}
|
|
|
|
self.setSettings('settings', settings);
|
|
self.hasChange = false;
|
|
|
|
if (callback) {
|
|
callback.apply(self, arguments);
|
|
}
|
|
},
|
|
error: function error() {
|
|
alert('An error occurred');
|
|
}
|
|
});
|
|
},
|
|
onInit: function onInit() {
|
|
this.initModel();
|
|
this.initControlsCSSParser();
|
|
this.addPanelMenuItem();
|
|
this.debounceSave = _.debounce(this.save, 3000);
|
|
elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
|
|
},
|
|
|
|
/**
|
|
* BC for custom settings without a JS component.
|
|
*/
|
|
addPanelMenuItem: function addPanelMenuItem() {
|
|
var menuSettings = this.getSettings('panelPage.menu');
|
|
|
|
if (!menuSettings) {
|
|
return;
|
|
}
|
|
|
|
var namespace = 'panel/' + this.getSettings('name') + '-settings',
|
|
menuItemOptions = {
|
|
icon: menuSettings.icon,
|
|
title: this.getSettings('panelPage.title'),
|
|
type: 'page',
|
|
pageName: this.getSettings('name') + '_settings',
|
|
callback: function callback() {
|
|
return $e.route("".concat(namespace, "/settings"));
|
|
}
|
|
};
|
|
$e.bc.ensureTab(namespace, 'settings', menuItemOptions.pageName);
|
|
elementor.modules.layouts.panel.pages.menu.Menu.addItem(menuItemOptions, 'settings', menuSettings.beforeItem);
|
|
},
|
|
onModelChange: function onModelChange(model) {
|
|
var self = this;
|
|
self.hasChange = true;
|
|
this.getControlsCSS().stylesheet.empty();
|
|
|
|
_.each(model.changed, function (value, key) {
|
|
if (self.changeCallbacks[key]) {
|
|
self.changeCallbacks[key].call(self, value);
|
|
}
|
|
});
|
|
|
|
self.updateStylesheet(true);
|
|
self.debounceSave();
|
|
},
|
|
onElementorDocumentLoaded: function onElementorDocumentLoaded() {
|
|
this.updateStylesheet();
|
|
this.addPanelPage();
|
|
},
|
|
destroy: function destroy() {
|
|
this.unbindEvents();
|
|
this.model.destroy();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 336 */,
|
|
/* 337 */,
|
|
/* 338 */,
|
|
/* 339 */,
|
|
/* 340 */,
|
|
/* 341 */,
|
|
/* 342 */,
|
|
/* 343 */,
|
|
/* 344 */,
|
|
/* 345 */,
|
|
/* 346 */,
|
|
/* 347 */,
|
|
/* 348 */,
|
|
/* 349 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(442));
|
|
|
|
var _component2 = _interopRequireDefault(__webpack_require__(443));
|
|
|
|
var _component3 = _interopRequireDefault(__webpack_require__(444));
|
|
|
|
var _panelPage = _interopRequireDefault(__webpack_require__(450));
|
|
|
|
var Manager = /*#__PURE__*/function () {
|
|
function Manager() {
|
|
(0, _classCallCheck2.default)(this, Manager);
|
|
elementorCommon.elements.$window.on('elementor:loaded', this.init);
|
|
}
|
|
|
|
(0, _createClass2.default)(Manager, [{
|
|
key: "init",
|
|
value: function init() {
|
|
$e.components.register(new _component.default());
|
|
$e.components.register(new _component2.default());
|
|
$e.components.register(new _component3.default());
|
|
elementor.on('panel:init', function () {
|
|
elementor.getPanelView().addPage('historyPage', {
|
|
view: _panelPage.default,
|
|
title: elementor.translate('history')
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "history",
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementor.history.history', '2.9.0', 'elementor.documents.getCurrent().history');
|
|
return elementor.documents.getCurrent().history;
|
|
}
|
|
}, {
|
|
key: "revisions",
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementor.history.revisions', '2.9.0', 'elementor.documents.getCurrent().revisions');
|
|
return elementor.documents.getCurrent().revisions;
|
|
}
|
|
}]);
|
|
return Manager;
|
|
}();
|
|
|
|
exports.default = Manager;
|
|
|
|
/***/ }),
|
|
/* 350 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Do", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _do.Do;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Redo", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _redo.Redo;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Undo", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _undo.Undo;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "UndoAll", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _undoAll.UndoAll;
|
|
}
|
|
});
|
|
|
|
var _do = __webpack_require__(351);
|
|
|
|
var _redo = __webpack_require__(352);
|
|
|
|
var _undo = __webpack_require__(353);
|
|
|
|
var _undoAll = __webpack_require__(354);
|
|
|
|
/***/ }),
|
|
/* 351 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Do = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Do = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Do, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Do);
|
|
|
|
function Do() {
|
|
(0, _classCallCheck2.default)(this, Do);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Do, [{
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var index = args.index;
|
|
return elementor.documents.getCurrent().history.doItem(index);
|
|
}
|
|
}]);
|
|
return Do;
|
|
}(_commandBase.default);
|
|
|
|
exports.Do = Do;
|
|
var _default = Do;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 352 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Redo = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Redo = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Redo, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Redo);
|
|
|
|
function Redo() {
|
|
(0, _classCallCheck2.default)(this, Redo);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Redo, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementor.documents.getCurrent().history.navigate(true);
|
|
}
|
|
}]);
|
|
return Redo;
|
|
}(_commandBase.default);
|
|
|
|
exports.Redo = Redo;
|
|
var _default = Redo;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 353 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Undo = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Undo = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Undo, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Undo);
|
|
|
|
function Undo() {
|
|
(0, _classCallCheck2.default)(this, Undo);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Undo, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementor.documents.getCurrent().history.navigate();
|
|
}
|
|
}]);
|
|
return Undo;
|
|
}(_commandBase.default);
|
|
|
|
exports.Undo = Undo;
|
|
var _default = Undo;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 354 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.UndoAll = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var UndoAll = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(UndoAll, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(UndoAll);
|
|
|
|
function UndoAll() {
|
|
(0, _classCallCheck2.default)(this, UndoAll);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(UndoAll, [{
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var document = args.document;
|
|
document.history.doItem(document.history.getItems().length - 1);
|
|
}
|
|
}]);
|
|
return UndoAll;
|
|
}(_commandBase.default);
|
|
|
|
exports.UndoAll = UndoAll;
|
|
var _default = UndoAll;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 355 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _header = _interopRequireDefault(__webpack_require__(356));
|
|
|
|
var _logo = _interopRequireDefault(__webpack_require__(357));
|
|
|
|
var _loading = _interopRequireDefault(__webpack_require__(358));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$LayoutVie) {
|
|
(0, _inherits2.default)(_default, _Marionette$LayoutVie);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "el",
|
|
value: function el() {
|
|
return this.getModal().getElements('widget');
|
|
}
|
|
}, {
|
|
key: "regions",
|
|
value: function regions() {
|
|
return {
|
|
modalHeader: '.dialog-header',
|
|
modalContent: '.dialog-lightbox-content',
|
|
modalLoading: '.dialog-lightbox-loading'
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
this.modalHeader.show(new _header.default(this.getHeaderOptions()));
|
|
}
|
|
}, {
|
|
key: "getModal",
|
|
value: function getModal() {
|
|
if (!this.modal) {
|
|
this.initModal();
|
|
}
|
|
|
|
return this.modal;
|
|
}
|
|
}, {
|
|
key: "initModal",
|
|
value: function initModal() {
|
|
var modalOptions = {
|
|
className: 'elementor-templates-modal',
|
|
closeButton: false,
|
|
draggable: false,
|
|
hide: {
|
|
onOutsideClick: false,
|
|
onEscKeyPress: false
|
|
}
|
|
};
|
|
jQuery.extend(true, modalOptions, this.getModalOptions());
|
|
this.modal = elementorCommon.dialogsManager.createWidget('lightbox', modalOptions);
|
|
this.modal.getElements('message').append(this.modal.addElement('content'), this.modal.addElement('loading'));
|
|
|
|
if (modalOptions.draggable) {
|
|
this.draggableModal();
|
|
}
|
|
}
|
|
}, {
|
|
key: "showModal",
|
|
value: function showModal() {
|
|
this.getModal().show();
|
|
}
|
|
}, {
|
|
key: "hideModal",
|
|
value: function hideModal() {
|
|
this.getModal().hide();
|
|
}
|
|
}, {
|
|
key: "draggableModal",
|
|
value: function draggableModal() {
|
|
var $modalWidgetContent = this.getModal().getElements('widgetContent');
|
|
$modalWidgetContent.draggable({
|
|
containment: 'parent',
|
|
stop: function stop() {
|
|
$modalWidgetContent.height('');
|
|
}
|
|
});
|
|
$modalWidgetContent.css('position', 'absolute');
|
|
}
|
|
}, {
|
|
key: "getModalOptions",
|
|
value: function getModalOptions() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "getLogoOptions",
|
|
value: function getLogoOptions() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "getHeaderOptions",
|
|
value: function getHeaderOptions() {
|
|
return {
|
|
closeType: 'normal'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getHeaderView",
|
|
value: function getHeaderView() {
|
|
return this.modalHeader.currentView;
|
|
}
|
|
}, {
|
|
key: "showLoadingView",
|
|
value: function showLoadingView() {
|
|
this.modalLoading.show(new _loading.default());
|
|
this.modalLoading.$el.show();
|
|
this.modalContent.$el.hide();
|
|
}
|
|
}, {
|
|
key: "hideLoadingView",
|
|
value: function hideLoadingView() {
|
|
this.modalContent.$el.show();
|
|
this.modalLoading.$el.hide();
|
|
}
|
|
}, {
|
|
key: "showLogo",
|
|
value: function showLogo() {
|
|
this.getHeaderView().logoArea.show(new _logo.default(this.getLogoOptions()));
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.LayoutView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 356 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$LayoutVie) {
|
|
(0, _inherits2.default)(_default, _Marionette$LayoutVie);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "className",
|
|
value: function className() {
|
|
return 'elementor-templates-modal__header';
|
|
}
|
|
}, {
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-templates-modal__header';
|
|
}
|
|
}, {
|
|
key: "regions",
|
|
value: function regions() {
|
|
return {
|
|
logoArea: '.elementor-templates-modal__header__logo-area',
|
|
tools: '#elementor-template-library-header-tools',
|
|
menuArea: '.elementor-templates-modal__header__menu-area'
|
|
};
|
|
}
|
|
}, {
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
closeModal: '.elementor-templates-modal__header__close'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.closeModal': 'onCloseModalClick'
|
|
};
|
|
}
|
|
}, {
|
|
key: "templateHelpers",
|
|
value: function templateHelpers() {
|
|
return {
|
|
closeType: this.getOption('closeType')
|
|
};
|
|
}
|
|
}, {
|
|
key: "onCloseModalClick",
|
|
value: function onCloseModalClick() {
|
|
this._parent._parent._parent.hideModal();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.LayoutView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 357 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-templates-modal__header__logo';
|
|
}
|
|
}, {
|
|
key: "className",
|
|
value: function className() {
|
|
return 'elementor-templates-modal__header__logo';
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
click: 'onClick'
|
|
};
|
|
}
|
|
}, {
|
|
key: "templateHelpers",
|
|
value: function templateHelpers() {
|
|
return {
|
|
title: this.getOption('title')
|
|
};
|
|
}
|
|
}, {
|
|
key: "onClick",
|
|
value: function onClick() {
|
|
var clickCallback = this.getOption('click');
|
|
|
|
if (clickCallback) {
|
|
clickCallback();
|
|
}
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 358 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-template-library-loading';
|
|
}
|
|
}, {
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-template-library-loading';
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 359 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _group = _interopRequireDefault(__webpack_require__(473));
|
|
|
|
var MenuPageView = /*#__PURE__*/function (_Marionette$Composite) {
|
|
(0, _inherits2.default)(MenuPageView, _Marionette$Composite);
|
|
|
|
var _super = (0, _createSuper2.default)(MenuPageView);
|
|
|
|
function MenuPageView() {
|
|
(0, _classCallCheck2.default)(this, MenuPageView);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(MenuPageView, [{
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-panel-page-menu';
|
|
}
|
|
}, {
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-panel-menu';
|
|
}
|
|
}, {
|
|
key: "getChildView",
|
|
value: function getChildView() {
|
|
return _group.default;
|
|
}
|
|
}, {
|
|
key: "childViewContainer",
|
|
value: function childViewContainer() {
|
|
return '#elementor-panel-page-menu-content';
|
|
} // Remove empty groups that exist for BC.
|
|
|
|
}, {
|
|
key: "filter",
|
|
value: function filter(child) {
|
|
return child.get('items').length;
|
|
}
|
|
}]);
|
|
return MenuPageView;
|
|
}(Marionette.CompositeView);
|
|
|
|
exports.default = MenuPageView;
|
|
|
|
MenuPageView.addItem = function (groups, itemData, groupName, before) {
|
|
var group = groups.findWhere({
|
|
name: groupName
|
|
});
|
|
|
|
if (!group) {
|
|
return;
|
|
}
|
|
|
|
var items = group.get('items'),
|
|
exists = _.findWhere(items, {
|
|
name: itemData.name
|
|
}); // Remove if exist.
|
|
|
|
|
|
var beforeItem;
|
|
|
|
if (exists) {
|
|
items.splice(items.indexOf(exists), 1);
|
|
}
|
|
|
|
if (before) {
|
|
beforeItem = _.findWhere(items, {
|
|
name: before
|
|
});
|
|
}
|
|
|
|
if (beforeItem) {
|
|
items.splice(items.indexOf(beforeItem), 0, itemData);
|
|
} else {
|
|
items.push(itemData);
|
|
}
|
|
};
|
|
|
|
/***/ }),
|
|
/* 360 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.BaseGlobalsUpdate = void 0;
|
|
|
|
var _assign = _interopRequireDefault(__webpack_require__(138));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var BaseGlobalsUpdate = /*#__PURE__*/function (_$e$modules$hookData$) {
|
|
(0, _inherits2.default)(BaseGlobalsUpdate, _$e$modules$hookData$);
|
|
|
|
var _super = (0, _createSuper2.default)(BaseGlobalsUpdate);
|
|
|
|
function BaseGlobalsUpdate() {
|
|
(0, _classCallCheck2.default)(this, BaseGlobalsUpdate);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(BaseGlobalsUpdate, [{
|
|
key: "getContainerType",
|
|
value: function getContainerType() {
|
|
return 'document';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
return $e.routes.isPartOf('panel/global');
|
|
}
|
|
}, {
|
|
key: "getRepeaterName",
|
|
value: function getRepeaterName() {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
}, {
|
|
key: "applyModel",
|
|
value: function applyModel(model, id, value) {
|
|
elementorModules.ForceMethodImplementation();
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args, result) {
|
|
var _this = this;
|
|
|
|
var _args$containers = args.containers,
|
|
containers = _args$containers === void 0 ? [args.container] : _args$containers,
|
|
model = (0, _assign.default)({}, result.data);
|
|
var id = model.id,
|
|
value = model.value;
|
|
delete model.id;
|
|
delete model.value;
|
|
model._id = id;
|
|
this.applyModel(model, value);
|
|
containers.forEach(function (container) {
|
|
$e.run('document/repeater/insert', {
|
|
container: container,
|
|
model: model,
|
|
name: _this.getRepeaterName()
|
|
});
|
|
});
|
|
}
|
|
}]);
|
|
return BaseGlobalsUpdate;
|
|
}($e.modules.hookData.After);
|
|
|
|
exports.BaseGlobalsUpdate = BaseGlobalsUpdate;
|
|
var _default = BaseGlobalsUpdate;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 361 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var BaseOpenClose = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
|
|
(0, _inherits2.default)(BaseOpenClose, _$e$modules$hookUI$Af);
|
|
|
|
var _super = (0, _createSuper2.default)(BaseOpenClose);
|
|
|
|
function BaseOpenClose() {
|
|
(0, _classCallCheck2.default)(this, BaseOpenClose);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(BaseOpenClose, [{
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
var _this = this;
|
|
|
|
elementor.on('preview:loaded', function () {
|
|
_this.component = $e.components.get('panel/global');
|
|
});
|
|
}
|
|
}]);
|
|
return BaseOpenClose;
|
|
}($e.modules.hookUI.After);
|
|
|
|
exports.default = BaseOpenClose;
|
|
|
|
/***/ }),
|
|
/* 362 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var LIBRARY = __webpack_require__(114);
|
|
var global = __webpack_require__(18);
|
|
var ctx = __webpack_require__(80);
|
|
var classof = __webpack_require__(116);
|
|
var $export = __webpack_require__(37);
|
|
var isObject = __webpack_require__(30);
|
|
var aFunction = __webpack_require__(95);
|
|
var anInstance = __webpack_require__(493);
|
|
var forOf = __webpack_require__(494);
|
|
var speciesConstructor = __webpack_require__(180);
|
|
var task = __webpack_require__(363).set;
|
|
var microtask = __webpack_require__(499)();
|
|
var newPromiseCapabilityModule = __webpack_require__(364);
|
|
var perform = __webpack_require__(500);
|
|
var userAgent = __webpack_require__(501);
|
|
var promiseResolve = __webpack_require__(365);
|
|
var PROMISE = 'Promise';
|
|
var TypeError = global.TypeError;
|
|
var process = global.process;
|
|
var versions = process && process.versions;
|
|
var v8 = versions && versions.v8 || '';
|
|
var $Promise = global[PROMISE];
|
|
var isNode = classof(process) == 'process';
|
|
var empty = function () { /* empty */ };
|
|
var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
|
|
var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
|
|
|
|
var USE_NATIVE = !!function () {
|
|
try {
|
|
// correct subclassing with @@species support
|
|
var promise = $Promise.resolve(1);
|
|
var FakePromise = (promise.constructor = {})[__webpack_require__(13)('species')] = function (exec) {
|
|
exec(empty, empty);
|
|
};
|
|
// unhandled rejections tracking support, NodeJS Promise without it fails @@species test
|
|
return (isNode || typeof PromiseRejectionEvent == 'function')
|
|
&& promise.then(empty) instanceof FakePromise
|
|
// v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
|
|
// we can't detect it synchronously, so just check versions
|
|
&& v8.indexOf('6.6') !== 0
|
|
&& userAgent.indexOf('Chrome/66') === -1;
|
|
} catch (e) { /* empty */ }
|
|
}();
|
|
|
|
// helpers
|
|
var isThenable = function (it) {
|
|
var then;
|
|
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
|
|
};
|
|
var notify = function (promise, isReject) {
|
|
if (promise._n) return;
|
|
promise._n = true;
|
|
var chain = promise._c;
|
|
microtask(function () {
|
|
var value = promise._v;
|
|
var ok = promise._s == 1;
|
|
var i = 0;
|
|
var run = function (reaction) {
|
|
var handler = ok ? reaction.ok : reaction.fail;
|
|
var resolve = reaction.resolve;
|
|
var reject = reaction.reject;
|
|
var domain = reaction.domain;
|
|
var result, then, exited;
|
|
try {
|
|
if (handler) {
|
|
if (!ok) {
|
|
if (promise._h == 2) onHandleUnhandled(promise);
|
|
promise._h = 1;
|
|
}
|
|
if (handler === true) result = value;
|
|
else {
|
|
if (domain) domain.enter();
|
|
result = handler(value); // may throw
|
|
if (domain) {
|
|
domain.exit();
|
|
exited = true;
|
|
}
|
|
}
|
|
if (result === reaction.promise) {
|
|
reject(TypeError('Promise-chain cycle'));
|
|
} else if (then = isThenable(result)) {
|
|
then.call(result, resolve, reject);
|
|
} else resolve(result);
|
|
} else reject(value);
|
|
} catch (e) {
|
|
if (domain && !exited) domain.exit();
|
|
reject(e);
|
|
}
|
|
};
|
|
while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
|
|
promise._c = [];
|
|
promise._n = false;
|
|
if (isReject && !promise._h) onUnhandled(promise);
|
|
});
|
|
};
|
|
var onUnhandled = function (promise) {
|
|
task.call(global, function () {
|
|
var value = promise._v;
|
|
var unhandled = isUnhandled(promise);
|
|
var result, handler, console;
|
|
if (unhandled) {
|
|
result = perform(function () {
|
|
if (isNode) {
|
|
process.emit('unhandledRejection', value, promise);
|
|
} else if (handler = global.onunhandledrejection) {
|
|
handler({ promise: promise, reason: value });
|
|
} else if ((console = global.console) && console.error) {
|
|
console.error('Unhandled promise rejection', value);
|
|
}
|
|
});
|
|
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
|
|
promise._h = isNode || isUnhandled(promise) ? 2 : 1;
|
|
} promise._a = undefined;
|
|
if (unhandled && result.e) throw result.v;
|
|
});
|
|
};
|
|
var isUnhandled = function (promise) {
|
|
return promise._h !== 1 && (promise._a || promise._c).length === 0;
|
|
};
|
|
var onHandleUnhandled = function (promise) {
|
|
task.call(global, function () {
|
|
var handler;
|
|
if (isNode) {
|
|
process.emit('rejectionHandled', promise);
|
|
} else if (handler = global.onrejectionhandled) {
|
|
handler({ promise: promise, reason: promise._v });
|
|
}
|
|
});
|
|
};
|
|
var $reject = function (value) {
|
|
var promise = this;
|
|
if (promise._d) return;
|
|
promise._d = true;
|
|
promise = promise._w || promise; // unwrap
|
|
promise._v = value;
|
|
promise._s = 2;
|
|
if (!promise._a) promise._a = promise._c.slice();
|
|
notify(promise, true);
|
|
};
|
|
var $resolve = function (value) {
|
|
var promise = this;
|
|
var then;
|
|
if (promise._d) return;
|
|
promise._d = true;
|
|
promise = promise._w || promise; // unwrap
|
|
try {
|
|
if (promise === value) throw TypeError("Promise can't be resolved itself");
|
|
if (then = isThenable(value)) {
|
|
microtask(function () {
|
|
var wrapper = { _w: promise, _d: false }; // wrap
|
|
try {
|
|
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
|
|
} catch (e) {
|
|
$reject.call(wrapper, e);
|
|
}
|
|
});
|
|
} else {
|
|
promise._v = value;
|
|
promise._s = 1;
|
|
notify(promise, false);
|
|
}
|
|
} catch (e) {
|
|
$reject.call({ _w: promise, _d: false }, e); // wrap
|
|
}
|
|
};
|
|
|
|
// constructor polyfill
|
|
if (!USE_NATIVE) {
|
|
// 25.4.3.1 Promise(executor)
|
|
$Promise = function Promise(executor) {
|
|
anInstance(this, $Promise, PROMISE, '_h');
|
|
aFunction(executor);
|
|
Internal.call(this);
|
|
try {
|
|
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
|
|
} catch (err) {
|
|
$reject.call(this, err);
|
|
}
|
|
};
|
|
// eslint-disable-next-line no-unused-vars
|
|
Internal = function Promise(executor) {
|
|
this._c = []; // <- awaiting reactions
|
|
this._a = undefined; // <- checked in isUnhandled reactions
|
|
this._s = 0; // <- state
|
|
this._d = false; // <- done
|
|
this._v = undefined; // <- value
|
|
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
|
|
this._n = false; // <- notify
|
|
};
|
|
Internal.prototype = __webpack_require__(502)($Promise.prototype, {
|
|
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
|
|
then: function then(onFulfilled, onRejected) {
|
|
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
|
|
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
|
|
reaction.fail = typeof onRejected == 'function' && onRejected;
|
|
reaction.domain = isNode ? process.domain : undefined;
|
|
this._c.push(reaction);
|
|
if (this._a) this._a.push(reaction);
|
|
if (this._s) notify(this, false);
|
|
return reaction.promise;
|
|
},
|
|
// 25.4.5.1 Promise.prototype.catch(onRejected)
|
|
'catch': function (onRejected) {
|
|
return this.then(undefined, onRejected);
|
|
}
|
|
});
|
|
OwnPromiseCapability = function () {
|
|
var promise = new Internal();
|
|
this.promise = promise;
|
|
this.resolve = ctx($resolve, promise, 1);
|
|
this.reject = ctx($reject, promise, 1);
|
|
};
|
|
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
|
|
return C === $Promise || C === Wrapper
|
|
? new OwnPromiseCapability(C)
|
|
: newGenericPromiseCapability(C);
|
|
};
|
|
}
|
|
|
|
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
|
|
__webpack_require__(179)($Promise, PROMISE);
|
|
__webpack_require__(309)(PROMISE);
|
|
Wrapper = __webpack_require__(57)[PROMISE];
|
|
|
|
// statics
|
|
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
|
|
// 25.4.4.5 Promise.reject(r)
|
|
reject: function reject(r) {
|
|
var capability = newPromiseCapability(this);
|
|
var $$reject = capability.reject;
|
|
$$reject(r);
|
|
return capability.promise;
|
|
}
|
|
});
|
|
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
|
|
// 25.4.4.6 Promise.resolve(x)
|
|
resolve: function resolve(x) {
|
|
return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
|
|
}
|
|
});
|
|
$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(503)(function (iter) {
|
|
$Promise.all(iter)['catch'](empty);
|
|
})), PROMISE, {
|
|
// 25.4.4.1 Promise.all(iterable)
|
|
all: function all(iterable) {
|
|
var C = this;
|
|
var capability = newPromiseCapability(C);
|
|
var resolve = capability.resolve;
|
|
var reject = capability.reject;
|
|
var result = perform(function () {
|
|
var values = [];
|
|
var index = 0;
|
|
var remaining = 1;
|
|
forOf(iterable, false, function (promise) {
|
|
var $index = index++;
|
|
var alreadyCalled = false;
|
|
values.push(undefined);
|
|
remaining++;
|
|
C.resolve(promise).then(function (value) {
|
|
if (alreadyCalled) return;
|
|
alreadyCalled = true;
|
|
values[$index] = value;
|
|
--remaining || resolve(values);
|
|
}, reject);
|
|
});
|
|
--remaining || resolve(values);
|
|
});
|
|
if (result.e) reject(result.v);
|
|
return capability.promise;
|
|
},
|
|
// 25.4.4.4 Promise.race(iterable)
|
|
race: function race(iterable) {
|
|
var C = this;
|
|
var capability = newPromiseCapability(C);
|
|
var reject = capability.reject;
|
|
var result = perform(function () {
|
|
forOf(iterable, false, function (promise) {
|
|
C.resolve(promise).then(capability.resolve, reject);
|
|
});
|
|
});
|
|
if (result.e) reject(result.v);
|
|
return capability.promise;
|
|
}
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 363 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var ctx = __webpack_require__(80);
|
|
var invoke = __webpack_require__(498);
|
|
var html = __webpack_require__(229);
|
|
var cel = __webpack_require__(113);
|
|
var global = __webpack_require__(18);
|
|
var process = global.process;
|
|
var setTask = global.setImmediate;
|
|
var clearTask = global.clearImmediate;
|
|
var MessageChannel = global.MessageChannel;
|
|
var Dispatch = global.Dispatch;
|
|
var counter = 0;
|
|
var queue = {};
|
|
var ONREADYSTATECHANGE = 'onreadystatechange';
|
|
var defer, channel, port;
|
|
var run = function () {
|
|
var id = +this;
|
|
// eslint-disable-next-line no-prototype-builtins
|
|
if (queue.hasOwnProperty(id)) {
|
|
var fn = queue[id];
|
|
delete queue[id];
|
|
fn();
|
|
}
|
|
};
|
|
var listener = function (event) {
|
|
run.call(event.data);
|
|
};
|
|
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
|
if (!setTask || !clearTask) {
|
|
setTask = function setImmediate(fn) {
|
|
var args = [];
|
|
var i = 1;
|
|
while (arguments.length > i) args.push(arguments[i++]);
|
|
queue[++counter] = function () {
|
|
// eslint-disable-next-line no-new-func
|
|
invoke(typeof fn == 'function' ? fn : Function(fn), args);
|
|
};
|
|
defer(counter);
|
|
return counter;
|
|
};
|
|
clearTask = function clearImmediate(id) {
|
|
delete queue[id];
|
|
};
|
|
// Node.js 0.8-
|
|
if (__webpack_require__(50)(process) == 'process') {
|
|
defer = function (id) {
|
|
process.nextTick(ctx(run, id, 1));
|
|
};
|
|
// Sphere (JS game engine) Dispatch API
|
|
} else if (Dispatch && Dispatch.now) {
|
|
defer = function (id) {
|
|
Dispatch.now(ctx(run, id, 1));
|
|
};
|
|
// Browsers with MessageChannel, includes WebWorkers
|
|
} else if (MessageChannel) {
|
|
channel = new MessageChannel();
|
|
port = channel.port2;
|
|
channel.port1.onmessage = listener;
|
|
defer = ctx(port.postMessage, port, 1);
|
|
// Browsers with postMessage, skip WebWorkers
|
|
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
|
} else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
|
|
defer = function (id) {
|
|
global.postMessage(id + '', '*');
|
|
};
|
|
global.addEventListener('message', listener, false);
|
|
// IE8-
|
|
} else if (ONREADYSTATECHANGE in cel('script')) {
|
|
defer = function (id) {
|
|
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
|
|
html.removeChild(this);
|
|
run.call(id);
|
|
};
|
|
};
|
|
// Rest old browsers
|
|
} else {
|
|
defer = function (id) {
|
|
setTimeout(ctx(run, id, 1), 0);
|
|
};
|
|
}
|
|
}
|
|
module.exports = {
|
|
set: setTask,
|
|
clear: clearTask
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 364 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// 25.4.1.5 NewPromiseCapability(C)
|
|
var aFunction = __webpack_require__(95);
|
|
|
|
function PromiseCapability(C) {
|
|
var resolve, reject;
|
|
this.promise = new C(function ($$resolve, $$reject) {
|
|
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
|
resolve = $$resolve;
|
|
reject = $$reject;
|
|
});
|
|
this.resolve = aFunction(resolve);
|
|
this.reject = aFunction(reject);
|
|
}
|
|
|
|
module.exports.f = function (C) {
|
|
return new PromiseCapability(C);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 365 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var anObject = __webpack_require__(20);
|
|
var isObject = __webpack_require__(30);
|
|
var newPromiseCapability = __webpack_require__(364);
|
|
|
|
module.exports = function (C, x) {
|
|
anObject(C);
|
|
if (isObject(x) && x.constructor === C) return x;
|
|
var promiseCapability = newPromiseCapability.f(C);
|
|
var resolve = promiseCapability.resolve;
|
|
resolve(x);
|
|
return promiseCapability.promise;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 366 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
// https://github.com/tc39/proposal-promise-finally
|
|
|
|
var $export = __webpack_require__(37);
|
|
var core = __webpack_require__(57);
|
|
var global = __webpack_require__(18);
|
|
var speciesConstructor = __webpack_require__(180);
|
|
var promiseResolve = __webpack_require__(365);
|
|
|
|
$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
|
|
var C = speciesConstructor(this, core.Promise || global.Promise);
|
|
var isFunction = typeof onFinally == 'function';
|
|
return this.then(
|
|
isFunction ? function (x) {
|
|
return promiseResolve(C, onFinally()).then(function () { return x; });
|
|
} : onFinally,
|
|
isFunction ? function (e) {
|
|
return promiseResolve(C, onFinally()).then(function () { throw e; });
|
|
} : onFinally
|
|
);
|
|
} });
|
|
|
|
|
|
/***/ }),
|
|
/* 367 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
RepeaterRowView = __webpack_require__(328),
|
|
ControlRepeaterItemView;
|
|
|
|
ControlRepeaterItemView = ControlBaseDataView.extend({
|
|
ui: {
|
|
btnAddRow: '.elementor-repeater-add',
|
|
fieldContainer: '.elementor-repeater-fields-wrapper'
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'click @ui.btnAddRow': 'onButtonAddRowClick',
|
|
'sortstart @ui.fieldContainer': 'onSortStart',
|
|
'sortupdate @ui.fieldContainer': 'onSortUpdate',
|
|
'sortstop @ui.fieldContainer': 'onSortStop'
|
|
};
|
|
},
|
|
childView: RepeaterRowView,
|
|
childViewContainer: '.elementor-repeater-fields-wrapper',
|
|
templateHelpers: function templateHelpers() {
|
|
return {
|
|
itemActions: this.model.get('item_actions'),
|
|
data: _.extend({}, this.model.toJSON(), {
|
|
controlValue: []
|
|
})
|
|
};
|
|
},
|
|
childViewOptions: function childViewOptions(rowModel, index) {
|
|
var elementContainer = this.getOption('container');
|
|
return {
|
|
container: elementContainer.repeaters[this.model.get('name')].children[index],
|
|
controlFields: this.model.get('fields'),
|
|
titleField: this.model.get('title_field'),
|
|
itemActions: this.model.get('item_actions')
|
|
};
|
|
},
|
|
createItemModel: function createItemModel(attrs, options, controlView) {
|
|
options.controls = controlView.model.get('fields');
|
|
return new elementorModules.editor.elements.models.BaseSettings(attrs, options);
|
|
},
|
|
fillCollection: function fillCollection() {
|
|
// TODO: elementSettingsModel is deprecated since 2.8.0.
|
|
var settings = this.container ? this.container.settings : this.elementSettingsModel;
|
|
var controlName = this.model.get('name');
|
|
this.collection = settings.get(controlName); // Hack for history redo/undo
|
|
|
|
if (!(this.collection instanceof Backbone.Collection)) {
|
|
this.collection = new Backbone.Collection(this.collection, {
|
|
// Use `partial` to supply the `this` as an argument, but not as context
|
|
// the `_` is a place holder for original arguments: `attrs` & `options`
|
|
model: _.partial(this.createItemModel, _, _, this)
|
|
}); // Set the value silent
|
|
|
|
settings.set(controlName, this.collection, {
|
|
silent: true
|
|
});
|
|
}
|
|
},
|
|
initialize: function initialize() {
|
|
ControlBaseDataView.prototype.initialize.apply(this, arguments);
|
|
this.fillCollection();
|
|
this.listenTo(this.collection, 'reset', this.resetContainer.bind(this));
|
|
this.listenTo(this.collection, 'add', this.updateContainer.bind(this));
|
|
},
|
|
editRow: function editRow(rowView) {
|
|
if (this.currentEditableChild) {
|
|
var currentEditable = this.currentEditableChild.getChildViewContainer(this.currentEditableChild);
|
|
currentEditable.removeClass('editable'); // If the repeater contains TinyMCE editors, fire the `hide` trigger to hide floated toolbars
|
|
|
|
currentEditable.find('.elementor-wp-editor').each(function () {
|
|
tinymce.get(this.id).fire('hide');
|
|
});
|
|
}
|
|
|
|
if (this.currentEditableChild === rowView) {
|
|
delete this.currentEditableChild;
|
|
return;
|
|
}
|
|
|
|
rowView.getChildViewContainer(rowView).addClass('editable');
|
|
this.currentEditableChild = rowView;
|
|
this.updateActiveRow();
|
|
},
|
|
toggleMinRowsClass: function toggleMinRowsClass() {
|
|
if (!this.model.get('prevent_empty')) {
|
|
return;
|
|
}
|
|
|
|
this.$el.toggleClass('elementor-repeater-has-minimum-rows', 1 >= this.collection.length);
|
|
},
|
|
updateActiveRow: function updateActiveRow() {
|
|
var activeItemIndex = 1;
|
|
|
|
if (this.currentEditableChild) {
|
|
activeItemIndex = this.currentEditableChild.itemIndex;
|
|
}
|
|
|
|
this.setEditSetting('activeItemIndex', activeItemIndex);
|
|
},
|
|
updateChildIndexes: function updateChildIndexes() {
|
|
var collection = this.collection;
|
|
this.children.each(function (view) {
|
|
view.updateIndex(collection.indexOf(view.model) + 1);
|
|
view.setTitle();
|
|
});
|
|
},
|
|
onRender: function onRender() {
|
|
ControlBaseDataView.prototype.onRender.apply(this, arguments);
|
|
|
|
if (this.model.get('item_actions').sort) {
|
|
this.ui.fieldContainer.sortable({
|
|
axis: 'y',
|
|
handle: '.elementor-repeater-row-tools',
|
|
items: ' > :not(.elementor-repeater-row--disable-sort)'
|
|
});
|
|
}
|
|
|
|
this.toggleMinRowsClass();
|
|
},
|
|
onSortStart: function onSortStart(event, ui) {
|
|
ui.item.data('oldIndex', ui.item.index());
|
|
},
|
|
onSortStop: function onSortStop(event, ui) {
|
|
// Reload TinyMCE editors (if exist), it's a bug that TinyMCE content is missing after stop dragging
|
|
var self = this,
|
|
sortedIndex = ui.item.index();
|
|
|
|
if (-1 === sortedIndex) {
|
|
return;
|
|
}
|
|
|
|
var sortedRowView = self.children.findByIndex(ui.item.index()),
|
|
rowControls = sortedRowView.children._views;
|
|
jQuery.each(rowControls, function () {
|
|
if ('wysiwyg' === this.model.get('type')) {
|
|
sortedRowView.render();
|
|
delete self.currentEditableChild;
|
|
return false;
|
|
}
|
|
});
|
|
},
|
|
onSortUpdate: function onSortUpdate(event, ui) {
|
|
var oldIndex = ui.item.data('oldIndex'),
|
|
newIndex = ui.item.index();
|
|
$e.run('document/repeater/move', {
|
|
container: this.options.container,
|
|
name: this.model.get('name'),
|
|
sourceIndex: oldIndex,
|
|
targetIndex: newIndex
|
|
});
|
|
},
|
|
onAddChild: function onAddChild() {
|
|
this.updateChildIndexes();
|
|
this.updateActiveRow();
|
|
},
|
|
// BC since 3.0.0, ensure a new child is appear in container children.
|
|
updateContainer: function updateContainer(model) {
|
|
var container = this.options.container.repeaters[this.model.get('name')],
|
|
isInChildren = container.children.filter(function (child) {
|
|
return child.id === model.get('_id');
|
|
});
|
|
|
|
if (!isInChildren.length) {
|
|
elementorCommon.helpers.softDeprecated('Don\'t add models directly to the repeater.', '3.0.0', '$e.run( \'document/repeater/insert\' )');
|
|
this.options.container.addRepeaterItem(this.model.get('name'), model, model.collection.indexOf(model));
|
|
}
|
|
},
|
|
// BC since 3.0.0, ensure a container children are reset on collection reset.
|
|
resetContainer: function resetContainer() {
|
|
elementorCommon.helpers.softDeprecated('Don\'t reset repeater collection directly.', '3.0.0', '$e.run( \'document/repeater/remove\' )');
|
|
this.options.container.repeaters[this.model.get('name')].children = [];
|
|
},
|
|
getDefaults: function getDefaults() {
|
|
var defaults = {}; // Get default fields.
|
|
|
|
_.each(this.model.get('fields'), function (field) {
|
|
defaults[field.name] = field.default;
|
|
});
|
|
|
|
return defaults;
|
|
},
|
|
onButtonAddRowClick: function onButtonAddRowClick() {
|
|
var newModel = $e.run('document/repeater/insert', {
|
|
container: this.options.container,
|
|
name: this.model.get('name'),
|
|
model: this.getDefaults()
|
|
});
|
|
var newChild = this.children.findByModel(newModel);
|
|
this.editRow(newChild);
|
|
this.toggleMinRowsClass();
|
|
},
|
|
onChildviewClickRemove: function onChildviewClickRemove(childView) {
|
|
if (childView === this.currentEditableChild) {
|
|
delete this.currentEditableChild;
|
|
}
|
|
|
|
$e.run('document/repeater/remove', {
|
|
container: this.options.container,
|
|
name: this.model.get('name'),
|
|
index: childView._index
|
|
});
|
|
this.updateActiveRow();
|
|
this.updateChildIndexes();
|
|
this.toggleMinRowsClass();
|
|
},
|
|
onChildviewClickDuplicate: function onChildviewClickDuplicate(childView) {
|
|
$e.run('document/repeater/duplicate', {
|
|
container: this.options.container,
|
|
name: this.model.get('name'),
|
|
index: childView._index
|
|
});
|
|
this.toggleMinRowsClass();
|
|
},
|
|
onChildviewClickEdit: function onChildviewClickEdit(childView) {
|
|
this.editRow(childView);
|
|
},
|
|
onAfterExternalChange: function onAfterExternalChange() {
|
|
// Update the collection with current value
|
|
this.fillCollection();
|
|
ControlBaseDataView.prototype.onAfterExternalChange.apply(this, arguments);
|
|
}
|
|
});
|
|
module.exports = ControlRepeaterItemView;
|
|
|
|
/***/ }),
|
|
/* 368 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(150);
|
|
|
|
__webpack_require__(118);
|
|
|
|
__webpack_require__(79);
|
|
|
|
var _controlsPopover = _interopRequireDefault(__webpack_require__(369));
|
|
|
|
var ControlsStack;
|
|
ControlsStack = Marionette.CompositeView.extend({
|
|
classes: {
|
|
popover: 'elementor-controls-popover'
|
|
},
|
|
activeTab: null,
|
|
activeSection: null,
|
|
className: function className() {
|
|
return 'elementor-controls-stack';
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
return {
|
|
elementData: elementor.getElementData(this.model)
|
|
};
|
|
},
|
|
childViewOptions: function childViewOptions() {
|
|
return {
|
|
// TODO: elementSettingsModel is deprecated since 2.8.0.
|
|
elementSettingsModel: this.model
|
|
};
|
|
},
|
|
ui: function ui() {
|
|
return {
|
|
tabs: '.elementor-panel-navigation-tab',
|
|
reloadButton: '.elementor-update-preview-button'
|
|
};
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'click @ui.reloadButton': 'onReloadButtonClick'
|
|
};
|
|
},
|
|
modelEvents: {
|
|
destroy: 'onModelDestroy'
|
|
},
|
|
behaviors: {
|
|
HandleInnerTabs: {
|
|
behaviorClass: __webpack_require__(329)
|
|
}
|
|
},
|
|
initialize: function initialize(options) {
|
|
this.initCollection();
|
|
|
|
if (options.tab) {
|
|
this.activeTab = options.tab;
|
|
this.activateFirstSection();
|
|
}
|
|
|
|
this.listenTo(elementor.channels.deviceMode, 'change', this.onDeviceModeChange);
|
|
},
|
|
initCollection: function initCollection() {
|
|
this.collection = new Backbone.Collection(_.values(elementor.mergeControlsSettings(this.getOption('controls'))));
|
|
},
|
|
filter: function filter(controlModel) {
|
|
if (controlModel.get('tab') !== this.activeTab) {
|
|
return false;
|
|
}
|
|
|
|
if ('section' === controlModel.get('type')) {
|
|
return true;
|
|
}
|
|
|
|
var section = controlModel.get('section');
|
|
return !section || section === this.activeSection;
|
|
},
|
|
getControlViewByModel: function getControlViewByModel(model) {
|
|
return this.children.findByModelCid(model.cid);
|
|
},
|
|
getControlViewByName: function getControlViewByName(name) {
|
|
return this.getControlViewByModel(this.getControlModel(name));
|
|
},
|
|
getControlModel: function getControlModel(name) {
|
|
return this.collection.findWhere({
|
|
name: name
|
|
});
|
|
},
|
|
isVisibleSectionControl: function isVisibleSectionControl(sectionControlModel) {
|
|
return this.activeTab === sectionControlModel.get('tab');
|
|
},
|
|
activateTab: function activateTab(tab) {
|
|
this.activeTab = tab;
|
|
this.activateFirstSection();
|
|
|
|
this._renderChildren();
|
|
|
|
return this;
|
|
},
|
|
activateSection: function activateSection(sectionName) {
|
|
this.activeSection = sectionName;
|
|
return this;
|
|
},
|
|
activateFirstSection: function activateFirstSection() {
|
|
var self = this;
|
|
var sectionControls = self.collection.filter(function (controlModel) {
|
|
return 'section' === controlModel.get('type') && self.isVisibleSectionControl(controlModel);
|
|
});
|
|
|
|
if (!sectionControls[0]) {
|
|
return;
|
|
}
|
|
|
|
var preActivatedSection = sectionControls.filter(function (controlModel) {
|
|
return self.activeSection === controlModel.get('name');
|
|
});
|
|
|
|
if (preActivatedSection[0]) {
|
|
return;
|
|
}
|
|
|
|
self.activateSection(sectionControls[0].get('name'));
|
|
return this;
|
|
},
|
|
getChildView: function getChildView(item) {
|
|
var controlType = item.get('type');
|
|
return elementor.getControlView(controlType);
|
|
},
|
|
getNamespaceArray: function getNamespaceArray() {
|
|
return [elementor.getPanelView().getCurrentPageName()];
|
|
},
|
|
openActiveSection: function openActiveSection() {
|
|
var activeSection = this.activeSection,
|
|
activeSectionView = this.children.filter(function (view) {
|
|
return activeSection === view.model.get('name');
|
|
});
|
|
|
|
if (activeSectionView[0]) {
|
|
activeSectionView[0].$el.addClass('elementor-open');
|
|
var eventNamespace = this.getNamespaceArray();
|
|
eventNamespace.push(activeSection, 'activated');
|
|
elementor.channels.editor.trigger(eventNamespace.join(':'), this);
|
|
}
|
|
},
|
|
onRenderCollection: function onRenderCollection() {
|
|
this.openActiveSection();
|
|
ControlsStack.handlePopovers(this);
|
|
},
|
|
onModelDestroy: function onModelDestroy() {
|
|
this.destroy();
|
|
},
|
|
onReloadButtonClick: function onReloadButtonClick() {
|
|
elementor.reloadPreview();
|
|
},
|
|
onDeviceModeChange: function onDeviceModeChange() {
|
|
if ('desktop' === elementor.channels.deviceMode.request('currentMode')) {
|
|
this.$el.removeClass('elementor-responsive-switchers-open');
|
|
}
|
|
},
|
|
onChildviewControlSectionClicked: function onChildviewControlSectionClicked(childView) {
|
|
var isSectionOpen = childView.$el.hasClass('elementor-open');
|
|
this.activateSection(isSectionOpen ? null : childView.model.get('name'));
|
|
|
|
this._renderChildren();
|
|
},
|
|
onChildviewResponsiveSwitcherClick: function onChildviewResponsiveSwitcherClick(childView, device) {
|
|
if ('desktop' === device) {
|
|
this.$el.toggleClass('elementor-responsive-switchers-open');
|
|
}
|
|
}
|
|
}, {
|
|
handlePopovers: function handlePopovers(view) {
|
|
var popover;
|
|
view.popovers = [];
|
|
this.removePopovers(view);
|
|
view.children.each(function (control) {
|
|
if (popover) {
|
|
popover.addChild(control);
|
|
}
|
|
|
|
var popoverData = control.model.get('popover');
|
|
|
|
if (!popoverData) {
|
|
return;
|
|
}
|
|
|
|
if (popoverData.start) {
|
|
popover = new _controlsPopover.default(control);
|
|
view.popovers.push(popover);
|
|
}
|
|
|
|
if (popoverData.end) {
|
|
popover = null;
|
|
}
|
|
});
|
|
},
|
|
removePopovers: function removePopovers(view) {
|
|
view.popovers.forEach(function (popover) {
|
|
return popover.destroy();
|
|
});
|
|
}
|
|
});
|
|
module.exports = ControlsStack;
|
|
|
|
/***/ }),
|
|
/* 369 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var ControlsPopover = /*#__PURE__*/function () {
|
|
function ControlsPopover(child) {
|
|
(0, _classCallCheck2.default)(this, ControlsPopover);
|
|
this.child = child;
|
|
this.$popover = jQuery('<div>', {
|
|
class: 'elementor-controls-popover'
|
|
});
|
|
child.$el.before(this.$popover);
|
|
this.$popover.append(child.$el);
|
|
this.popoverToggleView = child._parent.children.findByIndex(child._index - 1); // Add the "Typography" header to the popover
|
|
|
|
if ('typography' === this.child.model.attributes.groupType) {
|
|
this.createPopoverHeader();
|
|
}
|
|
}
|
|
|
|
(0, _createClass2.default)(ControlsPopover, [{
|
|
key: "addChild",
|
|
value: function addChild(child) {
|
|
this.$popover.append(child.$el);
|
|
}
|
|
}, {
|
|
key: "createPopoverHeader",
|
|
value: function createPopoverHeader() {
|
|
var _this = this;
|
|
|
|
var $popoverToggleControl = this.$popover.prev(),
|
|
// Get the existing reset button.
|
|
$resetLabel = $popoverToggleControl.find('.elementor-control-popover-toggle-reset-label');
|
|
this.$popoverHeader = jQuery('<div>', {
|
|
class: 'e-group-control-header'
|
|
}).html('<span>' + elementor.translate('typography') + '</span>');
|
|
this.$headerControlsWrapper = jQuery('<div>', {
|
|
class: 'e-control-tools'
|
|
}); // Give the reset button the control tool styling, and add a click event so clicking on it closes the popover.
|
|
|
|
$resetLabel.addClass('e-control-tool').on('click', function () {
|
|
return _this.onResetButtonClick();
|
|
}); // Move the popover toggle reset button into the popover header.
|
|
|
|
this.$headerControlsWrapper.append($resetLabel);
|
|
this.$popoverHeader.append(this.$headerControlsWrapper);
|
|
var globalConfig = this.popoverToggleView.model.get('global');
|
|
|
|
if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.active) {
|
|
this.createAddButton();
|
|
}
|
|
|
|
this.$popover.prepend(this.$popoverHeader).addClass('e-controls-popover--typography');
|
|
}
|
|
}, {
|
|
key: "onResetButtonClick",
|
|
value: function onResetButtonClick() {
|
|
this.$popover.hide();
|
|
var groupControlName = this.child.model.get('groupPrefix') + 'typography',
|
|
args = {
|
|
container: this.child.options.container,
|
|
settings: (0, _defineProperty2.default)({}, groupControlName, '')
|
|
};
|
|
|
|
if (this.child.options.container.globals.get(groupControlName)) {
|
|
// The Disable Globals command applies global settings locally,
|
|
// so disabling the global shouldn't actually change the appearance of the widget.
|
|
$e.run('document/globals/disable', args);
|
|
} else {
|
|
$e.run('document/elements/settings', args);
|
|
}
|
|
}
|
|
}, {
|
|
key: "onAddButtonClick",
|
|
value: function onAddButtonClick() {
|
|
this.popoverToggleView.onAddGlobalButtonClick();
|
|
}
|
|
}, {
|
|
key: "createAddButton",
|
|
value: function createAddButton() {
|
|
var _this2 = this;
|
|
|
|
this.$addButton = jQuery('<button>', {
|
|
class: 'e-control-tool'
|
|
}).html(jQuery('<i>', {
|
|
class: 'eicon-plus'
|
|
}));
|
|
this.$headerControlsWrapper.append(this.$addButton);
|
|
this.$addButton.on('click', function () {
|
|
return _this2.onAddButtonClick();
|
|
});
|
|
this.$addButton.tipsy({
|
|
title: function title() {
|
|
return elementor.translate('create_global_font');
|
|
},
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "destroy",
|
|
value: function destroy() {
|
|
this.$popover.remove();
|
|
}
|
|
}]);
|
|
return ControlsPopover;
|
|
}();
|
|
|
|
exports.default = ControlsPopover;
|
|
|
|
/***/ }),
|
|
/* 370 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var BackwardsCompatibility = /*#__PURE__*/function () {
|
|
function BackwardsCompatibility() {
|
|
(0, _classCallCheck2.default)(this, BackwardsCompatibility);
|
|
}
|
|
|
|
(0, _createClass2.default)(BackwardsCompatibility, null, [{
|
|
key: "findViewRecursive",
|
|
value: function findViewRecursive(parent, key, value) {
|
|
var multiple = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
elementorCommon.helpers.softDeprecated('findViewRecursive', '2.9.0', "$e.components.get( 'document' ).utils.findViewRecursive( parent, key, value, multiple )");
|
|
return $e.components.get('document').utils.findViewRecursive(parent, key, value, multiple);
|
|
}
|
|
}, {
|
|
key: "findViewById",
|
|
value: function findViewById(id) {
|
|
elementorCommon.helpers.softDeprecated('findViewById', '2.9.0', "$e.components.get( 'document' ).utils.findViewById( id )");
|
|
return $e.components.get('document').utils.findViewById(id);
|
|
}
|
|
}, {
|
|
key: "findContainerById",
|
|
value: function findContainerById(id) {
|
|
elementorCommon.helpers.softDeprecated('findContainerById', '2.9.0', "$e.components.get( 'document' ).utils.findContainerById( id )");
|
|
return $e.components.get('document').utils.findContainerById(id);
|
|
}
|
|
}]);
|
|
return BackwardsCompatibility;
|
|
}();
|
|
|
|
exports.default = BackwardsCompatibility;
|
|
|
|
/***/ }),
|
|
/* 371 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
module.exports = Marionette.Region.extend({
|
|
storage: null,
|
|
storageSizeKeys: null,
|
|
constructor: function constructor() {
|
|
Marionette.Region.prototype.constructor.apply(this, arguments);
|
|
var savedStorage = elementorCommon.storage.get(this.getStorageKey());
|
|
this.storage = savedStorage ? savedStorage : this.getDefaultStorage();
|
|
this.storageSizeKeys = (0, _keys.default)(this.storage.size);
|
|
},
|
|
saveStorage: function saveStorage(key, value) {
|
|
this.storage[key] = value;
|
|
elementorCommon.storage.set(this.getStorageKey(), this.storage);
|
|
},
|
|
saveSize: function saveSize(size) {
|
|
if (!size) {
|
|
size = elementor.helpers.getElementInlineStyle(this.$el, this.storageSizeKeys);
|
|
}
|
|
|
|
this.saveStorage('size', size);
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 372 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(40);
|
|
|
|
module.exports = elementorModules.Module.extend({
|
|
getDefaultSettings: function getDefaultSettings() {
|
|
return {
|
|
actions: {},
|
|
classes: {
|
|
list: 'elementor-context-menu-list',
|
|
group: 'elementor-context-menu-list__group',
|
|
groupPrefix: 'elementor-context-menu-list__group-',
|
|
item: 'elementor-context-menu-list__item',
|
|
itemTypePrefix: 'elementor-context-menu-list__item-',
|
|
itemTitle: 'elementor-context-menu-list__item__title',
|
|
itemShortcut: 'elementor-context-menu-list__item__shortcut',
|
|
iconShortcut: 'elementor-context-menu-list__item__icon',
|
|
itemDisabled: 'elementor-context-menu-list__item--disabled',
|
|
divider: 'elementor-context-menu-list__divider',
|
|
hidden: 'elementor-hidden'
|
|
}
|
|
};
|
|
},
|
|
buildActionItem: function buildActionItem(action) {
|
|
var self = this,
|
|
classes = self.getSettings('classes'),
|
|
$item = jQuery('<div>', {
|
|
class: classes.item + ' ' + classes.itemTypePrefix + action.name
|
|
}),
|
|
$itemTitle = jQuery('<div>', {
|
|
class: classes.itemTitle
|
|
}).text(action.title),
|
|
$itemIcon = jQuery('<div>', {
|
|
class: classes.iconShortcut
|
|
});
|
|
|
|
if (action.icon) {
|
|
$itemIcon.html(jQuery('<i>', {
|
|
class: action.icon
|
|
}));
|
|
}
|
|
|
|
$item.append($itemIcon, $itemTitle);
|
|
|
|
if (action.shortcut) {
|
|
var $itemShortcut = jQuery('<div>', {
|
|
class: classes.itemShortcut
|
|
}).html(action.shortcut);
|
|
$item.append($itemShortcut);
|
|
}
|
|
|
|
if (action.callback) {
|
|
$item.on('click', function () {
|
|
self.runAction(action);
|
|
});
|
|
}
|
|
|
|
action.$item = $item;
|
|
return $item;
|
|
},
|
|
buildActionsList: function buildActionsList() {
|
|
var self = this,
|
|
classes = self.getSettings('classes'),
|
|
groups = self.getSettings('groups'),
|
|
$list = jQuery('<div>', {
|
|
class: classes.list
|
|
});
|
|
groups.forEach(function (group) {
|
|
var $group = jQuery('<div>', {
|
|
class: classes.group + ' ' + classes.groupPrefix + group.name
|
|
});
|
|
group.actions.forEach(function (action) {
|
|
$group.append(self.buildActionItem(action));
|
|
});
|
|
$list.append($group);
|
|
group.$item = $group;
|
|
});
|
|
return $list;
|
|
},
|
|
toggleGroupVisibility: function toggleGroupVisibility(group, state) {
|
|
group.$item.toggleClass(this.getSettings('classes.hidden'), !state);
|
|
},
|
|
toggleActionVisibility: function toggleActionVisibility(action, state) {
|
|
action.$item.toggleClass(this.getSettings('classes.hidden'), !state);
|
|
},
|
|
toggleActionUsability: function toggleActionUsability(action, state) {
|
|
action.$item.toggleClass(this.getSettings('classes.itemDisabled'), !state);
|
|
},
|
|
isActionEnabled: function isActionEnabled(action) {
|
|
if (!action.callback && !action.groups) {
|
|
return false;
|
|
}
|
|
|
|
return action.isEnabled ? action.isEnabled() : true;
|
|
},
|
|
runAction: function runAction(action) {
|
|
if (!this.isActionEnabled(action)) {
|
|
return;
|
|
}
|
|
|
|
action.callback();
|
|
this.getModal().hide();
|
|
},
|
|
initModal: function initModal() {
|
|
var modal;
|
|
|
|
this.getModal = function () {
|
|
if (!modal) {
|
|
modal = elementorCommon.dialogsManager.createWidget('simple', {
|
|
className: 'elementor-context-menu',
|
|
message: this.buildActionsList(),
|
|
iframe: elementor.$preview,
|
|
effects: {
|
|
hide: 'hide',
|
|
show: 'show'
|
|
},
|
|
hide: {
|
|
onOutsideContextMenu: true
|
|
},
|
|
position: {
|
|
my: (elementorCommon.config.isRTL ? 'right' : 'left') + ' top',
|
|
collision: 'fit'
|
|
}
|
|
});
|
|
}
|
|
|
|
return modal;
|
|
};
|
|
},
|
|
show: function show(event) {
|
|
var self = this,
|
|
modal = self.getModal();
|
|
modal.setSettings('position', {
|
|
of: event
|
|
});
|
|
self.getSettings('groups').forEach(function (group) {
|
|
var isGroupVisible = false !== group.isVisible;
|
|
self.toggleGroupVisibility(group, isGroupVisible);
|
|
|
|
if (isGroupVisible) {
|
|
group.actions.forEach(function (action) {
|
|
var isActionVisible = false !== action.isVisible;
|
|
self.toggleActionVisibility(action, isActionVisible);
|
|
|
|
if (isActionVisible) {
|
|
self.toggleActionUsability(action, self.isActionEnabled(action));
|
|
}
|
|
});
|
|
}
|
|
});
|
|
modal.show();
|
|
},
|
|
destroy: function destroy() {
|
|
this.getModal().destroy();
|
|
},
|
|
onInit: function onInit() {
|
|
this.initModal();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 373 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _base = _interopRequireDefault(__webpack_require__(296));
|
|
|
|
var AddSectionView = /*#__PURE__*/function (_BaseAddSectionView) {
|
|
(0, _inherits2.default)(AddSectionView, _BaseAddSectionView);
|
|
|
|
var _super = (0, _createSuper2.default)(AddSectionView);
|
|
|
|
function AddSectionView() {
|
|
(0, _classCallCheck2.default)(this, AddSectionView);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(AddSectionView, [{
|
|
key: "className",
|
|
value: function className() {
|
|
return (0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "className", this).call(this) + ' elementor-add-section-inline';
|
|
}
|
|
}, {
|
|
key: "fadeToDeath",
|
|
value: function fadeToDeath() {
|
|
var self = this;
|
|
self.$el.slideUp(function () {
|
|
self.destroy();
|
|
});
|
|
}
|
|
}, {
|
|
key: "onAfterPaste",
|
|
value: function onAfterPaste() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onAfterPaste", this).call(this);
|
|
this.destroy();
|
|
}
|
|
}, {
|
|
key: "onCloseButtonClick",
|
|
value: function onCloseButtonClick() {
|
|
this.fadeToDeath();
|
|
}
|
|
}, {
|
|
key: "onPresetSelected",
|
|
value: function onPresetSelected(event) {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onPresetSelected", this).call(this, event);
|
|
this.destroy();
|
|
}
|
|
}, {
|
|
key: "onAddTemplateButtonClick",
|
|
value: function onAddTemplateButtonClick() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onAddTemplateButtonClick", this).call(this);
|
|
this.destroy();
|
|
}
|
|
}, {
|
|
key: "onDropping",
|
|
value: function onDropping() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onDropping", this).call(this);
|
|
this.destroy();
|
|
}
|
|
}]);
|
|
return AddSectionView;
|
|
}(_base.default);
|
|
|
|
var _default = AddSectionView;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 374 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _section = __webpack_require__(256);
|
|
|
|
var BaseElementView = __webpack_require__(297),
|
|
ColumnEmptyView = __webpack_require__(375),
|
|
ColumnView;
|
|
|
|
ColumnView = BaseElementView.extend({
|
|
template: Marionette.TemplateCache.get('#tmpl-elementor-column-content'),
|
|
emptyView: ColumnEmptyView,
|
|
childViewContainer: elementor.config.legacyMode.elementWrappers ? '> .elementor-column-wrap > .elementor-widget-wrap' : '> .elementor-widget-wrap',
|
|
toggleEditTools: true,
|
|
behaviors: function behaviors() {
|
|
var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
|
|
|
|
_.extend(behaviors, {
|
|
Sortable: {
|
|
behaviorClass: __webpack_require__(298),
|
|
elChildType: 'widget'
|
|
},
|
|
Resizable: {
|
|
behaviorClass: __webpack_require__(376)
|
|
}
|
|
});
|
|
|
|
return elementor.hooks.applyFilters('elements/column/behaviors', behaviors, this);
|
|
},
|
|
className: function className() {
|
|
var classes = BaseElementView.prototype.className.apply(this, arguments),
|
|
type = this.isInner() ? 'inner' : 'top';
|
|
return classes + ' elementor-column elementor-' + type + '-column';
|
|
},
|
|
tagName: function tagName() {
|
|
return this.model.getSetting('html_tag') || 'div';
|
|
},
|
|
ui: function ui() {
|
|
var ui = BaseElementView.prototype.ui.apply(this, arguments);
|
|
ui.columnInner = elementor.config.legacyMode.elementWrappers ? '> .elementor-column-wrap' : '> .elementor-widget-wrap';
|
|
ui.percentsTooltip = '> .elementor-element-overlay .elementor-column-percents-tooltip';
|
|
return ui;
|
|
},
|
|
getEditButtons: function getEditButtons() {
|
|
var elementData = elementor.getElementData(this.model),
|
|
editTools = {};
|
|
editTools.edit = {
|
|
title: elementor.translate('edit_element', [elementData.title]),
|
|
icon: 'column'
|
|
};
|
|
|
|
if (elementor.getPreferences('edit_buttons')) {
|
|
editTools.duplicate = {
|
|
title: elementor.translate('duplicate_element', [elementData.title]),
|
|
icon: 'clone'
|
|
};
|
|
editTools.add = {
|
|
title: elementor.translate('add_element', [elementData.title]),
|
|
icon: 'plus'
|
|
};
|
|
editTools.remove = {
|
|
title: elementor.translate('delete_element', [elementData.title]),
|
|
icon: 'close'
|
|
};
|
|
}
|
|
|
|
return editTools;
|
|
},
|
|
initialize: function initialize() {
|
|
BaseElementView.prototype.initialize.apply(this, arguments);
|
|
this.model.get('editSettings').set('defaultEditRoute', 'layout');
|
|
},
|
|
attachElContent: function attachElContent() {
|
|
BaseElementView.prototype.attachElContent.apply(this, arguments);
|
|
var $tooltip = jQuery('<div>', {
|
|
class: 'elementor-column-percents-tooltip'
|
|
});
|
|
this.$el.children('.elementor-element-overlay').append($tooltip);
|
|
},
|
|
getContextMenuGroups: function getContextMenuGroups() {
|
|
var self = this,
|
|
groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments),
|
|
generalGroupIndex = groups.indexOf(_.findWhere(groups, {
|
|
name: 'general'
|
|
}));
|
|
groups.splice(generalGroupIndex + 1, 0, {
|
|
name: 'addNew',
|
|
actions: [{
|
|
name: 'addNew',
|
|
icon: 'eicon-plus',
|
|
title: elementor.translate('new_column'),
|
|
callback: this.addNewColumn.bind(this),
|
|
isEnabled: function isEnabled() {
|
|
return self.model.collection.length < _section.DEFAULT_MAX_COLUMNS;
|
|
}
|
|
}]
|
|
});
|
|
return groups;
|
|
},
|
|
isDroppingAllowed: function isDroppingAllowed() {
|
|
// Don't allow dragging items to document which is not editable.
|
|
if (!this.getContainer().isEditable()) {
|
|
return false;
|
|
}
|
|
|
|
var elementView = elementor.channels.panelElements.request('element:selected');
|
|
|
|
if (!elementView) {
|
|
return false;
|
|
}
|
|
|
|
var elType = elementView.model.get('elType');
|
|
|
|
if ('section' === elType) {
|
|
return !this.isInner();
|
|
}
|
|
|
|
return 'widget' === elType;
|
|
},
|
|
getPercentsForDisplay: function getPercentsForDisplay() {
|
|
var inlineSize = +this.model.getSetting('_inline_size') || this.getPercentSize();
|
|
return inlineSize.toFixed(1) + '%';
|
|
},
|
|
changeSizeUI: function changeSizeUI() {
|
|
var self = this,
|
|
columnSize = self.model.getSetting('_column_size');
|
|
self.$el.attr('data-col', columnSize);
|
|
|
|
_.defer(function () {
|
|
// Wait for the column size to be applied
|
|
if (self.ui.percentsTooltip) {
|
|
self.ui.percentsTooltip.text(self.getPercentsForDisplay());
|
|
}
|
|
});
|
|
},
|
|
getPercentSize: function getPercentSize(size) {
|
|
if (!size) {
|
|
size = this.el.getBoundingClientRect().width;
|
|
}
|
|
|
|
return +(size / this.$el.parent().width() * 100).toFixed(3);
|
|
},
|
|
getSortableOptions: function getSortableOptions() {
|
|
return {
|
|
connectWith: '.elementor-widget-wrap',
|
|
items: '> .elementor-element'
|
|
};
|
|
},
|
|
changeChildContainerClasses: function changeChildContainerClasses() {
|
|
var emptyClass = 'elementor-element-empty',
|
|
populatedClass = 'elementor-element-populated';
|
|
|
|
if (this.ui.columnInner) {
|
|
if (this.collection.isEmpty()) {
|
|
this.ui.columnInner.removeClass(populatedClass).addClass(emptyClass);
|
|
} else {
|
|
this.ui.columnInner.removeClass(emptyClass).addClass(populatedClass);
|
|
}
|
|
}
|
|
},
|
|
addNewColumn: function addNewColumn() {
|
|
$e.run('document/elements/create', {
|
|
model: {
|
|
elType: 'column'
|
|
},
|
|
container: this.getContainer().parent,
|
|
options: {
|
|
at: this.$el.index() + 1
|
|
}
|
|
});
|
|
},
|
|
onRender: function onRender() {
|
|
var _this = this;
|
|
|
|
var isLegacyMode = elementor.config.legacyMode.elementWrappers;
|
|
var itemsClasses = '';
|
|
|
|
if (isLegacyMode) {
|
|
itemsClasses = ' > .elementor-column-wrap > .elementor-widget-wrap > .elementor-element, >.elementor-column-wrap > .elementor-widget-wrap > .elementor-empty-view > .elementor-first-add';
|
|
} else {
|
|
itemsClasses = ' > .elementor-widget-wrap > .elementor-element, >.elementor-widget-wrap > .elementor-empty-view > .elementor-first-add';
|
|
}
|
|
|
|
BaseElementView.prototype.onRender.apply(this, arguments);
|
|
this.changeChildContainerClasses();
|
|
this.changeSizeUI();
|
|
this.$el.html5Droppable({
|
|
items: itemsClasses,
|
|
axis: ['vertical'],
|
|
groups: ['elementor-element'],
|
|
isDroppingAllowed: this.isDroppingAllowed.bind(this),
|
|
currentElementClass: 'elementor-html5dnd-current-element',
|
|
placeholderClass: 'elementor-sortable-placeholder elementor-widget-placeholder',
|
|
hasDraggingOnChildClass: 'elementor-dragging-on-child',
|
|
onDropping: function onDropping(side, event) {
|
|
event.stopPropagation(); // Triggering drag end manually, since it won't fired above iframe
|
|
|
|
elementor.getPreviewView().onPanelElementDragEnd();
|
|
var newIndex = jQuery(event.currentTarget).index(); // Since 3.0.0, the `.elementor-background-overlay` element sit at the same level as widgets
|
|
|
|
if ('bottom' === side && isLegacyMode) {
|
|
newIndex++;
|
|
} else if ('top' === side && !isLegacyMode) {
|
|
newIndex--;
|
|
}
|
|
|
|
_this.addElementFromPanel({
|
|
at: newIndex
|
|
});
|
|
}
|
|
});
|
|
},
|
|
onAddButtonClick: function onAddButtonClick(event) {
|
|
event.stopPropagation();
|
|
this.addNewColumn();
|
|
}
|
|
});
|
|
module.exports = ColumnView;
|
|
|
|
/***/ }),
|
|
/* 375 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _helper = _interopRequireDefault(__webpack_require__(215));
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-empty-preview',
|
|
className: 'elementor-empty-view',
|
|
events: {
|
|
click: 'onClickAdd'
|
|
},
|
|
behaviors: function behaviors() {
|
|
return {
|
|
contextMenu: {
|
|
behaviorClass: __webpack_require__(273),
|
|
groups: this.getContextMenuGroups()
|
|
}
|
|
};
|
|
},
|
|
getContextMenuGroups: function getContextMenuGroups() {
|
|
var _this = this;
|
|
|
|
return [{
|
|
name: 'general',
|
|
actions: [{
|
|
name: 'paste',
|
|
title: elementor.translate('paste'),
|
|
isEnabled: function isEnabled() {
|
|
return _helper.default.isPasteEnabled(_this._parent.getContainer());
|
|
},
|
|
callback: function callback() {
|
|
return $e.run('document/ui/paste', {
|
|
container: _this._parent.getContainer()
|
|
});
|
|
}
|
|
}]
|
|
}];
|
|
},
|
|
onClickAdd: function onClickAdd() {
|
|
$e.route('panel/elements/categories');
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 376 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ResizableBehavior;
|
|
ResizableBehavior = Marionette.Behavior.extend({
|
|
defaults: {
|
|
handles: elementorCommon.config.isRTL ? 'w' : 'e'
|
|
},
|
|
events: {
|
|
resizestart: 'onResizeStart',
|
|
resizestop: 'onResizeStop',
|
|
resize: 'onResize'
|
|
},
|
|
initialize: function initialize() {
|
|
Marionette.Behavior.prototype.initialize.apply(this, arguments);
|
|
this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeSwitched);
|
|
},
|
|
active: function active() {
|
|
if (!elementor.userCan('design')) {
|
|
return;
|
|
}
|
|
|
|
this.deactivate();
|
|
|
|
var options = _.clone(this.options);
|
|
|
|
delete options.behaviorClass;
|
|
|
|
var $childViewContainer = this.getChildViewContainer(),
|
|
defaultResizableOptions = {},
|
|
resizableOptions = _.extend(defaultResizableOptions, options);
|
|
|
|
$childViewContainer.resizable(resizableOptions);
|
|
},
|
|
deactivate: function deactivate() {
|
|
if (this.getChildViewContainer().resizable('instance')) {
|
|
this.getChildViewContainer().resizable('destroy');
|
|
}
|
|
},
|
|
onEditModeSwitched: function onEditModeSwitched(activeMode) {
|
|
if ('edit' === activeMode) {
|
|
this.active();
|
|
} else {
|
|
this.deactivate();
|
|
}
|
|
},
|
|
onRender: function onRender() {
|
|
var self = this;
|
|
|
|
_.defer(function () {
|
|
self.onEditModeSwitched(elementor.channels.dataEditMode.request('activeMode'));
|
|
});
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
this.deactivate();
|
|
},
|
|
onResizeStart: function onResizeStart(event) {
|
|
event.stopPropagation();
|
|
this.view.$el.data('originalWidth', this.view.el.getBoundingClientRect().width);
|
|
this.view.triggerMethod('request:resize:start', event);
|
|
},
|
|
onResizeStop: function onResizeStop(event) {
|
|
event.stopPropagation();
|
|
this.view.triggerMethod('request:resize:stop');
|
|
},
|
|
onResize: function onResize(event, ui) {
|
|
event.stopPropagation();
|
|
this.view.triggerMethod('request:resize', ui, event);
|
|
},
|
|
getChildViewContainer: function getChildViewContainer() {
|
|
return this.$el;
|
|
}
|
|
});
|
|
module.exports = ResizableBehavior;
|
|
|
|
/***/ }),
|
|
/* 377 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlChooseItemView;
|
|
|
|
ControlChooseItemView = ControlBaseDataView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
|
|
ui.inputs = '[type="radio"]';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
|
|
'mousedown label': 'onMouseDownLabel',
|
|
'click @ui.inputs': 'onClickInput',
|
|
'change @ui.inputs': 'onBaseInputChange'
|
|
});
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
var currentValue = this.getControlValue();
|
|
|
|
if (currentValue) {
|
|
this.ui.inputs.filter('[value="' + currentValue + '"]').prop('checked', true);
|
|
} else {
|
|
this.ui.inputs.filter(':checked').prop('checked', false);
|
|
}
|
|
},
|
|
onMouseDownLabel: function onMouseDownLabel(event) {
|
|
var $clickedLabel = this.$(event.currentTarget),
|
|
$selectedInput = this.$('#' + $clickedLabel.attr('for'));
|
|
$selectedInput.data('checked', $selectedInput.prop('checked'));
|
|
},
|
|
onClickInput: function onClickInput(event) {
|
|
if (!this.model.get('toggle')) {
|
|
return;
|
|
}
|
|
|
|
var $selectedInput = this.$(event.currentTarget);
|
|
|
|
if ($selectedInput.data('checked')) {
|
|
$selectedInput.prop('checked', false).trigger('change');
|
|
}
|
|
}
|
|
}, {
|
|
onPasteStyle: function onPasteStyle(control, clipboardValue) {
|
|
return '' === clipboardValue || undefined !== control.options[clipboardValue];
|
|
}
|
|
});
|
|
module.exports = ControlChooseItemView;
|
|
|
|
/***/ }),
|
|
/* 378 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var InsertTemplateHandler;
|
|
InsertTemplateHandler = Marionette.Behavior.extend({
|
|
ui: {
|
|
insertButton: '.elementor-template-library-template-insert'
|
|
},
|
|
events: {
|
|
'click @ui.insertButton': 'onInsertButtonClick'
|
|
},
|
|
onInsertButtonClick: function onInsertButtonClick() {
|
|
var args = {
|
|
model: this.view.model
|
|
};
|
|
|
|
if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
|
|
$e.route('library/connect', args);
|
|
return;
|
|
}
|
|
|
|
$e.run('library/insert-template', args);
|
|
}
|
|
});
|
|
module.exports = InsertTemplateHandler;
|
|
|
|
/***/ }),
|
|
/* 379 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryInsertTemplateBehavior = __webpack_require__(378),
|
|
TemplateLibraryTemplateView;
|
|
|
|
TemplateLibraryTemplateView = Marionette.ItemView.extend({
|
|
className: function className() {
|
|
var classes = 'elementor-template-library-template',
|
|
source = this.model.get('source');
|
|
classes += ' elementor-template-library-template-' + source;
|
|
|
|
if ('remote' === source) {
|
|
classes += ' elementor-template-library-template-' + this.model.get('type');
|
|
}
|
|
|
|
if (this.model.get('isPro')) {
|
|
classes += ' elementor-template-library-pro-template';
|
|
}
|
|
|
|
return classes;
|
|
},
|
|
ui: function ui() {
|
|
return {
|
|
previewButton: '.elementor-template-library-template-preview'
|
|
};
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'click @ui.previewButton': 'onPreviewButtonClick'
|
|
};
|
|
},
|
|
behaviors: {
|
|
insertTemplate: {
|
|
behaviorClass: TemplateLibraryInsertTemplateBehavior
|
|
}
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryTemplateView;
|
|
|
|
/***/ }),
|
|
/* 380 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _colorPicker = _interopRequireDefault(__webpack_require__(301));
|
|
|
|
var ControlMultipleBaseItemView = __webpack_require__(239),
|
|
ControlBoxShadowItemView;
|
|
|
|
ControlBoxShadowItemView = ControlMultipleBaseItemView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments);
|
|
ui.sliders = '.elementor-slider';
|
|
ui.colorPickerPlaceholder = '.elementor-color-picker-placeholder';
|
|
return ui;
|
|
},
|
|
initSliders: function initSliders() {
|
|
var _this = this;
|
|
|
|
var value = this.getControlValue();
|
|
this.ui.sliders.each(function (index, slider) {
|
|
var $input = jQuery(slider).next('.elementor-slider-input').find('input');
|
|
var sliderInstance = noUiSlider.create(slider, {
|
|
start: [value[slider.dataset.input]],
|
|
step: 1,
|
|
range: {
|
|
min: +$input.attr('min'),
|
|
max: +$input.attr('max')
|
|
},
|
|
format: {
|
|
to: function to(sliderValue) {
|
|
return +sliderValue.toFixed(1);
|
|
},
|
|
from: function from(sliderValue) {
|
|
return +sliderValue;
|
|
}
|
|
}
|
|
});
|
|
sliderInstance.on('slide', function (values) {
|
|
var type = sliderInstance.target.dataset.input;
|
|
$input.val(values[0]);
|
|
|
|
_this.setValue(type, values[0]);
|
|
});
|
|
});
|
|
},
|
|
initColors: function initColors() {
|
|
var _this2 = this;
|
|
|
|
this.colorPicker = new _colorPicker.default({
|
|
picker: {
|
|
el: this.ui.colorPickerPlaceholder[0],
|
|
default: this.getControlValue('color')
|
|
},
|
|
onChange: function onChange() {
|
|
_this2.setValue('color', _this2.colorPicker.getColor());
|
|
},
|
|
onClear: function onClear() {
|
|
_this2.setValue('color', '');
|
|
}
|
|
});
|
|
},
|
|
onInputChange: function onInputChange(event) {
|
|
var type = event.currentTarget.dataset.setting,
|
|
$slider = this.ui.sliders.filter('[data-input="' + type + '"]');
|
|
$slider[0].noUiSlider.set(this.getControlValue(type));
|
|
},
|
|
onReady: function onReady() {
|
|
this.initSliders();
|
|
this.initColors();
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
this.colorPicker.destroy();
|
|
}
|
|
});
|
|
module.exports = ControlBoxShadowItemView;
|
|
|
|
/***/ }),
|
|
/* 381 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseMultipleItemView = __webpack_require__(239),
|
|
ControlBaseUnitsItemView;
|
|
|
|
ControlBaseUnitsItemView = ControlBaseMultipleItemView.extend({
|
|
getCurrentRange: function getCurrentRange() {
|
|
return this.getUnitRange(this.getControlValue('unit'));
|
|
},
|
|
getUnitRange: function getUnitRange(unit) {
|
|
var ranges = this.model.get('range');
|
|
|
|
if (!ranges || !ranges[unit]) {
|
|
return false;
|
|
}
|
|
|
|
return ranges[unit];
|
|
}
|
|
});
|
|
module.exports = ControlBaseUnitsItemView;
|
|
|
|
/***/ }),
|
|
/* 382 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(139);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var FilesUploadHandler = /*#__PURE__*/function () {
|
|
function FilesUploadHandler() {
|
|
(0, _classCallCheck2.default)(this, FilesUploadHandler);
|
|
}
|
|
|
|
(0, _createClass2.default)(FilesUploadHandler, null, [{
|
|
key: "isUploadEnabled",
|
|
value: function isUploadEnabled(mediaType) {
|
|
var unfilteredFilesTypes = ['svg', 'application/json'];
|
|
|
|
if (!unfilteredFilesTypes.includes(mediaType)) {
|
|
return true;
|
|
}
|
|
|
|
return elementor.config.filesUpload.unfilteredFiles;
|
|
}
|
|
}, {
|
|
key: "setUploadTypeCaller",
|
|
value: function setUploadTypeCaller(frame) {
|
|
frame.uploader.uploader.param('uploadTypeCaller', 'elementor-editor-upload');
|
|
}
|
|
}, {
|
|
key: "getUnfilteredFilesNotEnabledDialog",
|
|
value: function getUnfilteredFilesNotEnabledDialog(callback) {
|
|
var onConfirm = function onConfirm() {
|
|
elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {}, true);
|
|
elementor.config.filesUpload.unfilteredFiles = true;
|
|
callback();
|
|
};
|
|
|
|
return elementor.helpers.getSimpleDialog('e-enable-unfiltered-files-dialog', elementor.translate('enable_unfiltered_files_upload'), elementor.translate('dialog_confirm_enable_unfiltered_files_upload'), elementor.translate('enable'), onConfirm);
|
|
}
|
|
}]);
|
|
return FilesUploadHandler;
|
|
}();
|
|
|
|
exports.default = FilesUploadHandler;
|
|
|
|
/***/ }),
|
|
/* 383 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(81);
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
var ColumnSettingsModel = __webpack_require__(583),
|
|
ElementModel;
|
|
|
|
ElementModel = Backbone.Model.extend({
|
|
defaults: {
|
|
id: '',
|
|
elType: '',
|
|
isInner: false,
|
|
settings: {},
|
|
defaultEditSettings: {
|
|
defaultEditRoute: 'content'
|
|
}
|
|
},
|
|
remoteRender: false,
|
|
_htmlCache: null,
|
|
_jqueryXhr: null,
|
|
renderOnLeave: false,
|
|
initialize: function initialize(options) {
|
|
var elType = this.get('elType'),
|
|
elements = this.get('elements');
|
|
|
|
if (undefined !== elements) {
|
|
var ElementsCollection = __webpack_require__(384);
|
|
|
|
this.set('elements', new ElementsCollection(elements));
|
|
}
|
|
|
|
if ('widget' === elType) {
|
|
this.remoteRender = true;
|
|
this.setHtmlCache(options.htmlCache || '');
|
|
} // No need this variable anymore
|
|
|
|
|
|
delete options.htmlCache; // Make call to remote server as throttle function
|
|
|
|
this.renderRemoteServer = _.throttle(this.renderRemoteServer, 1000);
|
|
this.initSettings();
|
|
this.initEditSettings();
|
|
this.on({
|
|
destroy: this.onDestroy,
|
|
'editor:close': this.onCloseEditor
|
|
});
|
|
},
|
|
initSettings: function initSettings() {
|
|
var elType = this.get('elType'),
|
|
settings = this.get('settings'),
|
|
settingModels = {
|
|
column: ColumnSettingsModel
|
|
},
|
|
SettingsModel = settingModels[elType] || elementorModules.editor.elements.models.BaseSettings;
|
|
|
|
if (jQuery.isEmptyObject(settings)) {
|
|
settings = elementorCommon.helpers.cloneObject(settings);
|
|
}
|
|
|
|
if ('widget' === elType) {
|
|
settings.widgetType = this.get('widgetType');
|
|
}
|
|
|
|
settings.elType = elType;
|
|
settings.isInner = this.get('isInner');
|
|
settings = new SettingsModel(settings, {
|
|
controls: elementor.getElementControls(this)
|
|
});
|
|
this.set('settings', settings);
|
|
elementorFrontend.config.elements.data[this.cid] = settings;
|
|
},
|
|
initEditSettings: function initEditSettings() {
|
|
var editSettings = new Backbone.Model(this.get('defaultEditSettings'));
|
|
this.set('editSettings', editSettings);
|
|
elementorFrontend.config.elements.editSettings[this.cid] = editSettings;
|
|
},
|
|
setSetting: function setSetting(key, value) {
|
|
var settings = this.get('settings');
|
|
|
|
if ('object' !== (0, _typeof2.default)(key)) {
|
|
var keyParts = key.split('.'),
|
|
isRepeaterKey = 3 === keyParts.length;
|
|
key = keyParts[0];
|
|
|
|
if (isRepeaterKey) {
|
|
settings = settings.get(key).models[keyParts[1]];
|
|
key = keyParts[2];
|
|
}
|
|
}
|
|
|
|
settings.setExternalChange(key, value);
|
|
},
|
|
getSetting: function getSetting(key) {
|
|
var keyParts = key.split('.'),
|
|
isRepeaterKey = 3 === keyParts.length,
|
|
settings = this.get('settings');
|
|
key = keyParts[0];
|
|
var value = settings.get(key);
|
|
|
|
if (undefined === value) {
|
|
return '';
|
|
}
|
|
|
|
if (isRepeaterKey) {
|
|
value = value.models[keyParts[1]].get(keyParts[2]);
|
|
}
|
|
|
|
return value;
|
|
},
|
|
setHtmlCache: function setHtmlCache(htmlCache) {
|
|
this._htmlCache = htmlCache;
|
|
},
|
|
getHtmlCache: function getHtmlCache() {
|
|
return this._htmlCache;
|
|
},
|
|
getDefaultTitle: function getDefaultTitle() {
|
|
return elementor.getElementData(this).title;
|
|
},
|
|
getTitle: function getTitle() {
|
|
var title = this.getSetting('_title');
|
|
|
|
if (!title) {
|
|
title = this.getDefaultTitle();
|
|
}
|
|
|
|
return title;
|
|
},
|
|
getIcon: function getIcon() {
|
|
return elementor.getElementData(this).icon;
|
|
},
|
|
createRemoteRenderRequest: function createRemoteRenderRequest() {
|
|
var data = this.toJSON();
|
|
return elementorCommon.ajax.addRequest('render_widget', {
|
|
unique_id: this.cid,
|
|
data: {
|
|
data: data
|
|
},
|
|
success: this.onRemoteGetHtml.bind(this)
|
|
}, true).jqXhr;
|
|
},
|
|
renderRemoteServer: function renderRemoteServer() {
|
|
if (!this.remoteRender) {
|
|
return;
|
|
}
|
|
|
|
this.renderOnLeave = false;
|
|
this.trigger('before:remote:render');
|
|
|
|
if (this.isRemoteRequestActive()) {
|
|
this._jqueryXhr.abort();
|
|
}
|
|
|
|
this._jqueryXhr = this.createRemoteRenderRequest();
|
|
},
|
|
isRemoteRequestActive: function isRemoteRequestActive() {
|
|
return this._jqueryXhr && 4 !== this._jqueryXhr.readyState;
|
|
},
|
|
onRemoteGetHtml: function onRemoteGetHtml(data) {
|
|
this.setHtmlCache(data.render);
|
|
this.trigger('remote:render');
|
|
},
|
|
clone: function clone() {
|
|
var newModel = new this.constructor(elementorCommon.helpers.cloneObject(this.attributes));
|
|
newModel.set('id', elementorCommon.helpers.getUniqueId());
|
|
newModel.setHtmlCache(this.getHtmlCache());
|
|
var elements = this.get('elements');
|
|
|
|
if (!_.isEmpty(elements)) {
|
|
newModel.set('elements', elements.clone());
|
|
}
|
|
|
|
return newModel;
|
|
},
|
|
toJSON: function toJSON(options) {
|
|
options = options || {}; // Call parent's toJSON method
|
|
|
|
var data = Backbone.Model.prototype.toJSON.call(this);
|
|
|
|
_.each(data, function (attribute, key) {
|
|
if (attribute && attribute.toJSON) {
|
|
data[key] = attribute.toJSON(options);
|
|
}
|
|
});
|
|
|
|
if (options.copyHtmlCache) {
|
|
data.htmlCache = this.getHtmlCache();
|
|
} else {
|
|
delete data.htmlCache;
|
|
}
|
|
|
|
if (options.remove) {
|
|
options.remove.forEach(function (key) {
|
|
return delete data[key];
|
|
});
|
|
}
|
|
|
|
return data;
|
|
},
|
|
onCloseEditor: function onCloseEditor() {
|
|
if (this.renderOnLeave) {
|
|
this.renderRemoteServer();
|
|
}
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
// Clean the memory for all use instances
|
|
var settings = this.get('settings'),
|
|
elements = this.get('elements');
|
|
|
|
if (undefined !== elements) {
|
|
_.each(_.clone(elements.models), function (model) {
|
|
model.destroy();
|
|
});
|
|
}
|
|
|
|
settings.destroy();
|
|
}
|
|
});
|
|
ElementModel.prototype.sync = ElementModel.prototype.fetch = ElementModel.prototype.save = _.noop;
|
|
module.exports = ElementModel;
|
|
|
|
/***/ }),
|
|
/* 384 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ElementModel = __webpack_require__(383);
|
|
|
|
var ElementsCollection = Backbone.Collection.extend({
|
|
add: function add(models, options, isCorrectSet) {
|
|
if ((!options || !options.silent) && !isCorrectSet) {
|
|
throw 'Call Error: Adding model to element collection is allowed only by the dedicated addChildModel() method.';
|
|
}
|
|
|
|
return Backbone.Collection.prototype.add.call(this, models, options);
|
|
},
|
|
model: function model(attrs, options) {
|
|
var ModelClass = Backbone.Model;
|
|
|
|
if (attrs.elType) {
|
|
ModelClass = elementor.hooks.applyFilters('element/model', ElementModel, attrs);
|
|
}
|
|
|
|
return new ModelClass(attrs, options);
|
|
},
|
|
clone: function clone() {
|
|
var tempCollection = Backbone.Collection.prototype.clone.apply(this, arguments),
|
|
newCollection = new ElementsCollection();
|
|
tempCollection.forEach(function (model) {
|
|
newCollection.add(model.clone(), null, true);
|
|
});
|
|
return newCollection;
|
|
}
|
|
});
|
|
ElementsCollection.prototype.sync = ElementsCollection.prototype.fetch = ElementsCollection.prototype.save = _.noop;
|
|
module.exports = ElementsCollection;
|
|
|
|
/***/ }),
|
|
/* 385 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(334);
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-global',
|
|
id: 'elementor-panel-global',
|
|
initialize: function initialize() {
|
|
elementor.getPanelView().getCurrentPageView().search.reset();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 386 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// 7.2.9 SameValue(x, y)
|
|
module.exports = Object.is || function is(x, y) {
|
|
// eslint-disable-next-line no-self-compare
|
|
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 387 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(60);
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-element-library-element',
|
|
className: function className() {
|
|
var className = 'elementor-element-wrapper';
|
|
|
|
if (!this.isEditable()) {
|
|
className += ' elementor-element--promotion';
|
|
}
|
|
|
|
return className;
|
|
},
|
|
events: function events() {
|
|
var events = {};
|
|
|
|
if (!this.isEditable()) {
|
|
events.mousedown = 'onMouseDown';
|
|
}
|
|
|
|
return events;
|
|
},
|
|
ui: {
|
|
element: '.elementor-element'
|
|
},
|
|
isEditable: function isEditable() {
|
|
return false !== this.model.get('editable');
|
|
},
|
|
onRender: function onRender() {
|
|
var _this = this;
|
|
|
|
if (!elementor.userCan('design') || !this.isEditable()) {
|
|
return;
|
|
}
|
|
|
|
this.ui.element.html5Draggable({
|
|
onDragStart: function onDragStart() {
|
|
elementor.channels.panelElements.reply('element:selected', _this).trigger('element:drag:start');
|
|
},
|
|
onDragEnd: function onDragEnd() {
|
|
elementor.channels.panelElements.trigger('element:drag:end');
|
|
},
|
|
groups: ['elementor-element']
|
|
});
|
|
},
|
|
onMouseDown: function onMouseDown() {
|
|
elementor.promotion.showDialog({
|
|
headerMessage: elementor.translate('element_promotion_dialog_header', [this.model.get('title')]),
|
|
message: elementor.translate('element_promotion_dialog_message', [this.model.get('title')]),
|
|
top: '-7',
|
|
element: this.el,
|
|
actionURL: elementor.config.elementPromotionURL.replace('%s', this.model.get('name'))
|
|
});
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 388 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
|
|
* that, lowest priority hooks are fired first.
|
|
*/
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _parseInt2 = _interopRequireDefault(__webpack_require__(213));
|
|
|
|
var EventManager = function EventManager() {
|
|
var slice = Array.prototype.slice,
|
|
MethodsAvailable;
|
|
/**
|
|
* Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat"
|
|
* object literal such that looking up the hook utilizes the native object literal hash.
|
|
*/
|
|
|
|
var STORAGE = {
|
|
actions: {},
|
|
filters: {}
|
|
};
|
|
/**
|
|
* Removes the specified hook by resetting the value of it.
|
|
*
|
|
* @param type Type of hook, either 'actions' or 'filters'
|
|
* @param hook The hook (namespace.identifier) to remove
|
|
*
|
|
* @private
|
|
*/
|
|
|
|
function _removeHook(type, hook, callback, context) {
|
|
var handlers, handler, i;
|
|
|
|
if (!STORAGE[type][hook]) {
|
|
return;
|
|
}
|
|
|
|
if (!callback) {
|
|
STORAGE[type][hook] = [];
|
|
} else {
|
|
handlers = STORAGE[type][hook];
|
|
|
|
if (!context) {
|
|
for (i = handlers.length; i--;) {
|
|
if (handlers[i].callback === callback) {
|
|
handlers.splice(i, 1);
|
|
}
|
|
}
|
|
} else {
|
|
for (i = handlers.length; i--;) {
|
|
handler = handlers[i];
|
|
|
|
if (handler.callback === callback && handler.context === context) {
|
|
handlers.splice(i, 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster
|
|
* than bubble sort, etc: http://jsperf.com/javascript-sort
|
|
*
|
|
* @param hooks The custom array containing all of the appropriate hooks to perform an insert sort on.
|
|
* @private
|
|
*/
|
|
|
|
|
|
function _hookInsertSort(hooks) {
|
|
var tmpHook, j, prevHook;
|
|
|
|
for (var i = 1, len = hooks.length; i < len; i++) {
|
|
tmpHook = hooks[i];
|
|
j = i;
|
|
|
|
while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) {
|
|
hooks[j] = hooks[j - 1];
|
|
--j;
|
|
}
|
|
|
|
hooks[j] = tmpHook;
|
|
}
|
|
|
|
return hooks;
|
|
}
|
|
/**
|
|
* Adds the hook to the appropriate storage container
|
|
*
|
|
* @param type 'actions' or 'filters'
|
|
* @param hook The hook (namespace.identifier) to add to our event manager
|
|
* @param callback The function that will be called when the hook is executed.
|
|
* @param priority The priority of this hook. Must be an integer.
|
|
* @param [context] A value to be used for this
|
|
* @private
|
|
*/
|
|
|
|
|
|
function _addHook(type, hook, callback, priority, context) {
|
|
var hookObject = {
|
|
callback: callback,
|
|
priority: priority,
|
|
context: context
|
|
}; // Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19
|
|
|
|
var hooks = STORAGE[type][hook];
|
|
|
|
if (hooks) {
|
|
// TEMP FIX BUG
|
|
var hasSameCallback = false;
|
|
jQuery.each(hooks, function () {
|
|
if (this.callback === callback) {
|
|
hasSameCallback = true;
|
|
return false;
|
|
}
|
|
});
|
|
|
|
if (hasSameCallback) {
|
|
return;
|
|
} // END TEMP FIX BUG
|
|
|
|
|
|
hooks.push(hookObject);
|
|
hooks = _hookInsertSort(hooks);
|
|
} else {
|
|
hooks = [hookObject];
|
|
}
|
|
|
|
STORAGE[type][hook] = hooks;
|
|
}
|
|
/**
|
|
* Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.
|
|
*
|
|
* @param type 'actions' or 'filters'
|
|
* @param hook The hook ( namespace.identifier ) to be ran.
|
|
* @param args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.
|
|
* @private
|
|
*/
|
|
|
|
|
|
function _runHook(type, hook, args) {
|
|
var handlers = STORAGE[type][hook],
|
|
i,
|
|
len;
|
|
|
|
if (!handlers) {
|
|
return 'filters' === type ? args[0] : false;
|
|
}
|
|
|
|
len = handlers.length;
|
|
|
|
if ('filters' === type) {
|
|
for (i = 0; i < len; i++) {
|
|
args[0] = handlers[i].callback.apply(handlers[i].context, args);
|
|
}
|
|
} else {
|
|
for (i = 0; i < len; i++) {
|
|
handlers[i].callback.apply(handlers[i].context, args);
|
|
}
|
|
}
|
|
|
|
return 'filters' === type ? args[0] : true;
|
|
}
|
|
/**
|
|
* Adds an action to the event manager.
|
|
*
|
|
* @param action Must contain namespace.identifier
|
|
* @param callback Must be a valid callback function before this action is added
|
|
* @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
|
|
* @param [context] Supply a value to be used for this
|
|
*/
|
|
|
|
|
|
function addAction(action, callback, priority, context) {
|
|
if ('string' === typeof action && 'function' === typeof callback) {
|
|
priority = (0, _parseInt2.default)(priority || 10, 10);
|
|
|
|
_addHook('actions', action, callback, priority, context);
|
|
}
|
|
|
|
return MethodsAvailable;
|
|
}
|
|
/**
|
|
* Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
|
|
* that the first argument must always be the action.
|
|
*/
|
|
|
|
|
|
function doAction()
|
|
/* action, arg1, arg2, ... */
|
|
{
|
|
var args = slice.call(arguments);
|
|
var action = args.shift();
|
|
|
|
if ('string' === typeof action) {
|
|
_runHook('actions', action, args);
|
|
}
|
|
|
|
return MethodsAvailable;
|
|
}
|
|
/**
|
|
* Removes the specified action if it contains a namespace.identifier & exists.
|
|
*
|
|
* @param action The action to remove
|
|
* @param [callback] Callback function to remove
|
|
*/
|
|
|
|
|
|
function removeAction(action, callback) {
|
|
if ('string' === typeof action) {
|
|
_removeHook('actions', action, callback);
|
|
}
|
|
|
|
return MethodsAvailable;
|
|
}
|
|
/**
|
|
* Adds a filter to the event manager.
|
|
*
|
|
* @param filter Must contain namespace.identifier
|
|
* @param callback Must be a valid callback function before this action is added
|
|
* @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
|
|
* @param [context] Supply a value to be used for this
|
|
*/
|
|
|
|
|
|
function addFilter(filter, callback, priority, context) {
|
|
if ('string' === typeof filter && 'function' === typeof callback) {
|
|
priority = (0, _parseInt2.default)(priority || 10, 10);
|
|
|
|
_addHook('filters', filter, callback, priority, context);
|
|
}
|
|
|
|
return MethodsAvailable;
|
|
}
|
|
/**
|
|
* Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
|
|
* the first argument must always be the filter.
|
|
*/
|
|
|
|
|
|
function applyFilters()
|
|
/* filter, filtered arg, arg2, ... */
|
|
{
|
|
var args = slice.call(arguments);
|
|
var filter = args.shift();
|
|
|
|
if ('string' === typeof filter) {
|
|
return _runHook('filters', filter, args);
|
|
}
|
|
|
|
return MethodsAvailable;
|
|
}
|
|
/**
|
|
* Removes the specified filter if it contains a namespace.identifier & exists.
|
|
*
|
|
* @param filter The action to remove
|
|
* @param [callback] Callback function to remove
|
|
*/
|
|
|
|
|
|
function removeFilter(filter, callback) {
|
|
if ('string' === typeof filter) {
|
|
_removeHook('filters', filter, callback);
|
|
}
|
|
|
|
return MethodsAvailable;
|
|
}
|
|
/**
|
|
* Maintain a reference to the object scope so our public methods never get confusing.
|
|
*/
|
|
|
|
|
|
MethodsAvailable = {
|
|
removeFilter: removeFilter,
|
|
applyFilters: applyFilters,
|
|
addFilter: addFilter,
|
|
removeAction: removeAction,
|
|
doAction: doAction,
|
|
addAction: addAction
|
|
}; // return all of the publicly available methods
|
|
|
|
return MethodsAvailable;
|
|
};
|
|
|
|
module.exports = EventManager;
|
|
|
|
/***/ }),
|
|
/* 389 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsElementModel;
|
|
PanelElementsElementModel = Backbone.Model.extend({
|
|
defaults: {
|
|
title: '',
|
|
categories: [],
|
|
keywords: [],
|
|
icon: '',
|
|
elType: 'widget',
|
|
widgetType: ''
|
|
}
|
|
});
|
|
module.exports = PanelElementsElementModel;
|
|
|
|
/***/ }),
|
|
/* 390 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsElementModel = __webpack_require__(389),
|
|
PanelElementsElementsCollection;
|
|
|
|
PanelElementsElementsCollection = Backbone.Collection.extend({
|
|
model: PanelElementsElementModel
|
|
/*,
|
|
comparator: 'title'*/
|
|
|
|
});
|
|
module.exports = PanelElementsElementsCollection;
|
|
|
|
/***/ }),
|
|
/* 391 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var childViewTypes = {
|
|
color: __webpack_require__(624),
|
|
typography: __webpack_require__(625)
|
|
},
|
|
PanelSchemeBaseView;
|
|
PanelSchemeBaseView = Marionette.CompositeView.extend({
|
|
id: function id() {
|
|
return 'elementor-panel-scheme-' + this.getType();
|
|
},
|
|
className: function className() {
|
|
return 'elementor-panel-scheme elementor-panel-scheme-' + this.getUIType();
|
|
},
|
|
childViewContainer: '.elementor-panel-scheme-items',
|
|
getTemplate: function getTemplate() {
|
|
return Marionette.TemplateCache.get('#tmpl-elementor-panel-schemes-' + this.getType());
|
|
},
|
|
getChildView: function getChildView() {
|
|
return childViewTypes[this.getUIType()];
|
|
},
|
|
getUIType: function getUIType() {
|
|
return this.getType();
|
|
},
|
|
ui: function ui() {
|
|
return {
|
|
saveButton: '.elementor-panel-scheme-save .elementor-button',
|
|
discardButton: '.elementor-panel-scheme-discard .elementor-button',
|
|
resetButton: '.elementor-panel-scheme-reset .elementor-button'
|
|
};
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'click @ui.saveButton': 'saveScheme',
|
|
'click @ui.discardButton': 'discardScheme',
|
|
'click @ui.resetButton': 'setDefaultScheme'
|
|
};
|
|
},
|
|
initialize: function initialize() {
|
|
this.model = new Backbone.Model();
|
|
this.resetScheme();
|
|
},
|
|
getType: function getType() {},
|
|
getScheme: function getScheme() {
|
|
return elementor.schemes.getScheme(this.getType());
|
|
},
|
|
changeChildrenUIValues: function changeChildrenUIValues(schemeItems) {
|
|
var self = this;
|
|
|
|
_.each(schemeItems, function (value, key) {
|
|
var model = self.collection.findWhere({
|
|
key: key
|
|
}),
|
|
childView = self.children.findByModelCid(model.cid);
|
|
childView.changeUIValue(value);
|
|
});
|
|
},
|
|
discardScheme: function discardScheme() {
|
|
elementor.schemes.resetSchemes(this.getType());
|
|
this.onSchemeChange();
|
|
this.ui.saveButton.prop('disabled', true);
|
|
|
|
this._renderChildren();
|
|
},
|
|
setSchemeValue: function setSchemeValue(key, value) {
|
|
elementor.schemes.setSchemeValue(this.getType(), key, value);
|
|
this.onSchemeChange();
|
|
},
|
|
saveScheme: function saveScheme() {
|
|
NProgress.start();
|
|
elementor.schemes.saveScheme(this.getType()).done(NProgress.done);
|
|
this.ui.saveButton.prop('disabled', true);
|
|
this.resetScheme();
|
|
|
|
this._renderChildren();
|
|
},
|
|
setDefaultScheme: function setDefaultScheme() {
|
|
var defaultScheme = elementor.config.default_schemes[this.getType()].items;
|
|
this.changeChildrenUIValues(defaultScheme);
|
|
},
|
|
resetItems: function resetItems() {
|
|
this.model.set('items', this.getScheme().items);
|
|
},
|
|
resetCollection: function resetCollection() {
|
|
var self = this,
|
|
items = self.model.get('items');
|
|
self.collection = new Backbone.Collection();
|
|
|
|
_.each(items, function (item, key) {
|
|
item.type = self.getType();
|
|
item.key = key;
|
|
self.collection.add(item);
|
|
});
|
|
},
|
|
resetScheme: function resetScheme() {
|
|
this.resetItems();
|
|
this.resetCollection();
|
|
},
|
|
onSchemeChange: function onSchemeChange() {
|
|
elementor.schemes.printSchemesStyle();
|
|
},
|
|
onChildviewValueChange: function onChildviewValueChange(childView, newValue) {
|
|
this.ui.saveButton.removeProp('disabled');
|
|
this.setSchemeValue(childView.model.get('key'), newValue);
|
|
}
|
|
});
|
|
module.exports = PanelSchemeBaseView;
|
|
|
|
/***/ }),
|
|
/* 392 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelSchemeItemView;
|
|
PanelSchemeItemView = Marionette.ItemView.extend({
|
|
getTemplate: function getTemplate() {
|
|
return Marionette.TemplateCache.get('#tmpl-elementor-panel-scheme-' + this.getUIType() + '-item');
|
|
},
|
|
className: function className() {
|
|
return 'elementor-panel-scheme-item';
|
|
}
|
|
});
|
|
module.exports = PanelSchemeItemView;
|
|
|
|
/***/ }),
|
|
/* 393 */,
|
|
/* 394 */,
|
|
/* 395 */,
|
|
/* 396 */,
|
|
/* 397 */,
|
|
/* 398 */,
|
|
/* 399 */,
|
|
/* 400 */,
|
|
/* 401 */,
|
|
/* 402 */,
|
|
/* 403 */,
|
|
/* 404 */,
|
|
/* 405 */,
|
|
/* 406 */,
|
|
/* 407 */,
|
|
/* 408 */,
|
|
/* 409 */,
|
|
/* 410 */,
|
|
/* 411 */,
|
|
/* 412 */,
|
|
/* 413 */,
|
|
/* 414 */,
|
|
/* 415 */,
|
|
/* 416 */,
|
|
/* 417 */,
|
|
/* 418 */,
|
|
/* 419 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty2 = __webpack_require__(1);
|
|
|
|
_Object$defineProperty2(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(1));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty3 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _color = _interopRequireDefault(__webpack_require__(420));
|
|
|
|
var _dateTime = _interopRequireDefault(__webpack_require__(425));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(426));
|
|
|
|
var _environment = _interopRequireDefault(__webpack_require__(272));
|
|
|
|
var _module = _interopRequireDefault(__webpack_require__(349));
|
|
|
|
var _hotkeys = _interopRequireDefault(__webpack_require__(458));
|
|
|
|
var _iconsManager = _interopRequireDefault(__webpack_require__(462));
|
|
|
|
var _menu = _interopRequireDefault(__webpack_require__(472));
|
|
|
|
var _promotion = _interopRequireDefault(__webpack_require__(475));
|
|
|
|
var _manager = _interopRequireDefault(__webpack_require__(476));
|
|
|
|
var _navigator = _interopRequireDefault(__webpack_require__(514));
|
|
|
|
var _noticeBar = _interopRequireDefault(__webpack_require__(524));
|
|
|
|
var _preview = _interopRequireDefault(__webpack_require__(525));
|
|
|
|
var _popoverToggle = _interopRequireDefault(__webpack_require__(529));
|
|
|
|
/* global ElementorConfig */
|
|
var DEFAULT_DEVICE_MODE = 'desktop';
|
|
|
|
var EditorBase = /*#__PURE__*/function (_Marionette$Applicati) {
|
|
(0, _inherits2.default)(EditorBase, _Marionette$Applicati);
|
|
|
|
var _super = (0, _createSuper2.default)(EditorBase);
|
|
|
|
function EditorBase() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, EditorBase);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "widgetsCache", {});
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "config", {});
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "loaded", false);
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "previewLoadedOnce", false);
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "helpers", __webpack_require__(530));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "imagesManager", __webpack_require__(534));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "schemes", __webpack_require__(535));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "presetsFactory", __webpack_require__(536));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "templates", __webpack_require__(537));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "ajax", elementorCommon.ajax);
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "conditions", __webpack_require__(557));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "history", __webpack_require__(349));
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "channels", {
|
|
editor: Backbone.Radio.channel('ELEMENTOR:editor'),
|
|
data: Backbone.Radio.channel('ELEMENTOR:data'),
|
|
panelElements: Backbone.Radio.channel('ELEMENTOR:panelElements'),
|
|
dataEditMode: Backbone.Radio.channel('ELEMENTOR:editmode'),
|
|
deviceMode: Backbone.Radio.channel('ELEMENTOR:deviceMode'),
|
|
templates: Backbone.Radio.channel('ELEMENTOR:templates')
|
|
});
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "modules", {
|
|
// TODO: Deprecated alias since 2.3.0
|
|
get Module() {
|
|
elementorCommon.helpers.hardDeprecated('elementor.modules.Module', '2.3.0', 'elementorModules.Module');
|
|
return elementorModules.Module;
|
|
},
|
|
|
|
components: {
|
|
templateLibrary: {
|
|
views: {
|
|
// TODO: Deprecated alias since 2.4.0
|
|
get BaseModalLayout() {
|
|
elementorCommon.helpers.hardDeprecated('elementor.modules.components.templateLibrary.views.BaseModalLayout', '2.4.0', 'elementorModules.common.views.modal.Layout');
|
|
return elementorModules.common.views.modal.Layout;
|
|
}
|
|
|
|
}
|
|
},
|
|
saver: {
|
|
behaviors: {
|
|
FooterSaver: __webpack_require__(558)
|
|
}
|
|
}
|
|
},
|
|
saver: {
|
|
get footerBehavior() {
|
|
elementorCommon.helpers.softDeprecated('elementor.modules.saver.footerBehavior.', '2.9.0', 'elementor.modules.components.saver.behaviors.FooterSaver');
|
|
return elementor.modules.components.saver.behaviors.FooterSaver;
|
|
}
|
|
|
|
},
|
|
controls: {
|
|
Animation: __webpack_require__(274),
|
|
Base: __webpack_require__(281),
|
|
BaseData: __webpack_require__(127),
|
|
BaseMultiple: __webpack_require__(239),
|
|
Box_shadow: __webpack_require__(380),
|
|
Button: __webpack_require__(559),
|
|
Choose: __webpack_require__(377),
|
|
Code: __webpack_require__(560),
|
|
Color: _color.default,
|
|
Date_time: _dateTime.default,
|
|
Dimensions: __webpack_require__(561),
|
|
Exit_animation: __webpack_require__(274),
|
|
Font: __webpack_require__(564),
|
|
Gallery: __webpack_require__(565),
|
|
Hidden: __webpack_require__(566),
|
|
Hover_animation: __webpack_require__(274),
|
|
Icon: __webpack_require__(567),
|
|
Icons: __webpack_require__(568),
|
|
Image_dimensions: __webpack_require__(569),
|
|
Media: __webpack_require__(570),
|
|
Number: __webpack_require__(571),
|
|
Order: __webpack_require__(573),
|
|
Popover_toggle: _popoverToggle.default,
|
|
Repeater: __webpack_require__(367),
|
|
RepeaterRow: __webpack_require__(328),
|
|
Section: __webpack_require__(574),
|
|
Select: __webpack_require__(575),
|
|
Select2: __webpack_require__(274),
|
|
Slider: __webpack_require__(576),
|
|
Structure: __webpack_require__(577),
|
|
Switcher: __webpack_require__(578),
|
|
Tab: __webpack_require__(579),
|
|
Text_shadow: __webpack_require__(380),
|
|
Url: __webpack_require__(580),
|
|
Wp_widget: __webpack_require__(581),
|
|
Wysiwyg: __webpack_require__(582)
|
|
},
|
|
elements: {
|
|
models: {
|
|
// TODO: Deprecated alias since 2.4.0
|
|
get BaseSettings() {
|
|
elementorCommon.helpers.hardDeprecated('elementor.modules.elements.models.BaseSettings', '2.4.0', 'elementorModules.editor.elements.models.BaseSettings');
|
|
return elementorModules.editor.elements.models.BaseSettings;
|
|
},
|
|
|
|
Element: __webpack_require__(383)
|
|
},
|
|
views: {
|
|
Widget: __webpack_require__(584)
|
|
}
|
|
},
|
|
layouts: {
|
|
panel: {
|
|
pages: {
|
|
elements: {
|
|
views: {
|
|
Global: __webpack_require__(385),
|
|
Elements: __webpack_require__(588)
|
|
}
|
|
},
|
|
menu: {
|
|
Menu: _menu.default
|
|
}
|
|
}
|
|
}
|
|
},
|
|
views: {
|
|
// TODO: Deprecated alias since 2.4.0
|
|
get ControlsStack() {
|
|
elementorCommon.helpers.hardDeprecated('elementor.modules.views.ControlsStack', '2.4.0', 'elementorModules.editor.views.ControlsStack');
|
|
return elementorModules.editor.views.ControlsStack;
|
|
}
|
|
|
|
}
|
|
});
|
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "backgroundClickListeners", {
|
|
popover: {
|
|
element: '.elementor-controls-popover',
|
|
ignore: '.elementor-control-popover-toggle-toggle, .elementor-control-popover-toggle-toggle-label, .select2-container, .pcr-app'
|
|
},
|
|
globalControlsSelect: {
|
|
element: '.e-global__popover',
|
|
ignore: '.e-global__popover-toggle'
|
|
},
|
|
tagsList: {
|
|
element: '.elementor-tags-list',
|
|
ignore: '.elementor-control-dynamic-switcher'
|
|
},
|
|
panelFooterSubMenus: {
|
|
element: '.elementor-panel-footer-tool.elementor-toggle-state',
|
|
ignore: '.elementor-panel-footer-tool.elementor-toggle-state, #elementor-panel-saver-button-publish-label',
|
|
callback: function callback($elementsToHide) {
|
|
$elementsToHide.removeClass('elementor-open');
|
|
}
|
|
},
|
|
panelResponsiveSwitchers: {
|
|
element: '.elementor-control-responsive-switchers',
|
|
callback: function callback($elementsToHide) {
|
|
$elementsToHide.removeClass('elementor-responsive-switchers-open');
|
|
}
|
|
},
|
|
promotion: {
|
|
ignore: '.elementor-panel-category-items',
|
|
callback: function callback() {
|
|
var dialog = elementor.promotion.dialog;
|
|
|
|
if (dialog) {
|
|
dialog.hide();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(EditorBase, [{
|
|
key: "userCan",
|
|
value: function userCan(capability) {
|
|
return -1 === this.config.user.restrictions.indexOf(capability);
|
|
}
|
|
}, {
|
|
key: "addControlView",
|
|
value: function addControlView(controlID, ControlView) {
|
|
this.modules.controls[elementorCommon.helpers.upperCaseWords(controlID)] = ControlView;
|
|
}
|
|
}, {
|
|
key: "checkEnvCompatibility",
|
|
value: function checkEnvCompatibility() {
|
|
return _environment.default.firefox || _environment.default.webkit;
|
|
}
|
|
}, {
|
|
key: "getElementData",
|
|
value: function getElementData(model) {
|
|
var elType = model.get('elType');
|
|
|
|
if ('widget' === elType) {
|
|
var widgetType = model.get('widgetType');
|
|
|
|
if (!this.widgetsCache[widgetType]) {
|
|
return false;
|
|
}
|
|
|
|
if (!this.widgetsCache[widgetType].commonMerged) {
|
|
jQuery.extend(this.widgetsCache[widgetType].controls, this.widgetsCache.common.controls);
|
|
this.widgetsCache[widgetType].commonMerged = true;
|
|
}
|
|
|
|
return this.widgetsCache[widgetType];
|
|
}
|
|
|
|
if (!this.config.elements[elType]) {
|
|
return false;
|
|
}
|
|
|
|
var elementConfig = elementorCommon.helpers.cloneObject(this.config.elements[elType]);
|
|
|
|
if ('section' === elType && model.get('isInner')) {
|
|
elementConfig.title = this.translate('inner_section');
|
|
}
|
|
|
|
return elementConfig;
|
|
}
|
|
}, {
|
|
key: "getElementControls",
|
|
value: function getElementControls(modelElement) {
|
|
var elementData = this.getElementData(modelElement);
|
|
|
|
if (!elementData) {
|
|
return false;
|
|
}
|
|
|
|
var isInner = modelElement.get('isInner'),
|
|
controls = {};
|
|
|
|
_.each(elementData.controls, function (controlData, controlKey) {
|
|
if (isInner && controlData.hide_in_inner || !isInner && controlData.hide_in_top) {
|
|
return;
|
|
}
|
|
|
|
controls[controlKey] = controlData;
|
|
});
|
|
|
|
return controls;
|
|
}
|
|
}, {
|
|
key: "mergeControlsSettings",
|
|
value: function mergeControlsSettings(controls) {
|
|
var _this2 = this;
|
|
|
|
_.each(controls, function (controlData, controlKey) {
|
|
controls[controlKey] = jQuery.extend(true, {}, _this2.config.controls[controlData.type], controlData);
|
|
});
|
|
|
|
return controls;
|
|
}
|
|
}, {
|
|
key: "getControlView",
|
|
value: function getControlView(controlID) {
|
|
var capitalizedControlName = elementorCommon.helpers.upperCaseWords(controlID);
|
|
var View = this.modules.controls[capitalizedControlName];
|
|
|
|
if (!View) {
|
|
var controlData = this.config.controls[controlID],
|
|
isUIControl = controlData && -1 !== controlData.features.indexOf('ui');
|
|
View = this.modules.controls[isUIControl ? 'Base' : 'BaseData'];
|
|
}
|
|
|
|
return View;
|
|
}
|
|
}, {
|
|
key: "getPanelView",
|
|
value: function getPanelView() {
|
|
return this.panel.currentView;
|
|
}
|
|
}, {
|
|
key: "getPreviewView",
|
|
value: function getPreviewView() {
|
|
return this.previewView;
|
|
}
|
|
}, {
|
|
key: "getPreviewContainer",
|
|
value: function getPreviewContainer() {
|
|
return this.getPreviewView().getContainer();
|
|
}
|
|
}, {
|
|
key: "getContainer",
|
|
value: function getContainer(id) {
|
|
if ('document' === id) {
|
|
return this.getPreviewContainer();
|
|
}
|
|
|
|
return $e.components.get('document').utils.findContainerById(id);
|
|
}
|
|
}, {
|
|
key: "initComponents",
|
|
value: function initComponents() {
|
|
var EventManager = __webpack_require__(388),
|
|
DynamicTags = __webpack_require__(589),
|
|
Settings = __webpack_require__(591),
|
|
Notifications = __webpack_require__(596);
|
|
|
|
this.hooks = new EventManager();
|
|
this.settings = new Settings();
|
|
this.dynamicTags = new DynamicTags();
|
|
this.initDialogsManager();
|
|
this.notifications = new Notifications();
|
|
this.kitManager = new _manager.default();
|
|
this.hotkeysScreen = new _hotkeys.default();
|
|
this.iconManager = new _iconsManager.default();
|
|
this.noticeBar = new _noticeBar.default();
|
|
this.history = new _module.default();
|
|
this.promotion = new _promotion.default();
|
|
this.documents = $e.components.register(new _component.default());
|
|
elementorCommon.elements.$window.trigger('elementor:init-components');
|
|
} // TODO: BC method since 2.3.0
|
|
|
|
}, {
|
|
key: "initDialogsManager",
|
|
value: function initDialogsManager() {
|
|
this.dialogsManager = elementorCommon.dialogsManager;
|
|
}
|
|
}, {
|
|
key: "initElements",
|
|
value: function initElements() {
|
|
var ElementCollection = __webpack_require__(384);
|
|
|
|
var config = this.config.document.elements; // If it's an reload, use the not-saved data
|
|
|
|
if (this.elements && this.elements.length && this.config.document.id === this.config.initial_document.id) {
|
|
config = this.elements.toJSON();
|
|
}
|
|
|
|
this.elements = new ElementCollection(config);
|
|
this.elementsModel = new Backbone.Model({
|
|
elements: this.elements
|
|
});
|
|
}
|
|
}, {
|
|
key: "initPreview",
|
|
value: function initPreview() {
|
|
var $ = jQuery,
|
|
previewIframeId = 'elementor-preview-iframe';
|
|
this.$previewWrapper = $('#elementor-preview');
|
|
this.$previewResponsiveWrapper = $('#elementor-preview-responsive-wrapper'); // Make sure the iFrame does not exist.
|
|
|
|
if (!this.$preview) {
|
|
this.$preview = $('<iframe>', {
|
|
id: previewIframeId,
|
|
src: this.config.initial_document.urls.preview,
|
|
allowfullscreen: 1
|
|
});
|
|
this.$previewResponsiveWrapper.append(this.$preview);
|
|
}
|
|
|
|
this.$preview.on('load', this.onPreviewLoaded.bind(this));
|
|
}
|
|
}, {
|
|
key: "initPreviewView",
|
|
value: function initPreviewView(document) {
|
|
elementor.trigger('document:before:preview', document);
|
|
var preview = new _preview.default({
|
|
el: document.$element[0],
|
|
model: elementor.elementsModel
|
|
});
|
|
preview.$el.empty(); // In order to force rendering of children
|
|
|
|
preview.isRendered = true;
|
|
|
|
preview._renderChildren();
|
|
|
|
preview.triggerMethod('render');
|
|
this.previewView = preview;
|
|
}
|
|
}, {
|
|
key: "initFrontend",
|
|
value: function initFrontend() {
|
|
var frontendWindow = this.$preview[0].contentWindow;
|
|
window.elementorFrontend = frontendWindow.elementorFrontend;
|
|
frontendWindow.elementor = this;
|
|
frontendWindow.elementorCommon = elementorCommon;
|
|
elementorFrontend.init();
|
|
this.trigger('frontend:init');
|
|
}
|
|
}, {
|
|
key: "initClearPageDialog",
|
|
value: function initClearPageDialog() {
|
|
var dialog;
|
|
|
|
this.getClearPageDialog = function () {
|
|
if (dialog) {
|
|
return dialog;
|
|
}
|
|
|
|
dialog = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
id: 'elementor-clear-page-dialog',
|
|
headerMessage: elementor.translate('clear_page'),
|
|
message: elementor.translate('dialog_confirm_clear_page'),
|
|
position: {
|
|
my: 'center center',
|
|
at: 'center center'
|
|
},
|
|
strings: {
|
|
confirm: elementor.translate('delete'),
|
|
cancel: elementor.translate('cancel')
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
return $e.run('document/elements/empty', {
|
|
force: true
|
|
});
|
|
}
|
|
});
|
|
return dialog;
|
|
};
|
|
}
|
|
}, {
|
|
key: "getCurrentElement",
|
|
value: function getCurrentElement() {
|
|
var isPreview = -1 !== ['BODY', 'IFRAME'].indexOf(document.activeElement.tagName) && 'BODY' === elementorFrontend.elements.window.document.activeElement.tagName;
|
|
|
|
if (!isPreview && !elementorCommonConfig.isTesting) {
|
|
return false;
|
|
}
|
|
|
|
var targetElement = elementor.channels.editor.request('contextMenu:targetView');
|
|
|
|
if (!targetElement) {
|
|
var panel = elementor.getPanelView();
|
|
|
|
if ($e.routes.isPartOf('panel/editor')) {
|
|
targetElement = panel.getCurrentPageView().getOption('editedElementView');
|
|
}
|
|
}
|
|
|
|
if (!targetElement) {
|
|
targetElement = elementor.getPreviewView();
|
|
}
|
|
|
|
return targetElement;
|
|
}
|
|
}, {
|
|
key: "initPanel",
|
|
value: function initPanel() {
|
|
this.addRegions({
|
|
panel: __webpack_require__(597)
|
|
});
|
|
this.trigger('panel:init');
|
|
}
|
|
}, {
|
|
key: "initNavigator",
|
|
value: function initNavigator() {
|
|
this.addRegions({
|
|
navigator: {
|
|
el: '#elementor-navigator',
|
|
regionClass: _navigator.default
|
|
}
|
|
});
|
|
this.trigger('navigator:init');
|
|
}
|
|
}, {
|
|
key: "setAjax",
|
|
value: function setAjax() {
|
|
elementorCommon.ajax.addRequestConstant('editor_post_id', this.config.document.id);
|
|
elementorCommon.ajax.addRequestConstant('initial_document_id', this.config.initial_document.id);
|
|
elementorCommon.ajax.on('request:unhandledError', function (xmlHttpRequest) {
|
|
elementor.notifications.showToast({
|
|
message: elementor.createAjaxErrorMessage(xmlHttpRequest)
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "createAjaxErrorMessage",
|
|
value: function createAjaxErrorMessage(xmlHttpRequest) {
|
|
var message;
|
|
|
|
if (4 === xmlHttpRequest.readyState) {
|
|
message = this.translate('server_error');
|
|
|
|
if (200 !== xmlHttpRequest.status) {
|
|
message += ' (' + xmlHttpRequest.status + ' ' + xmlHttpRequest.statusText + ')';
|
|
}
|
|
} else if (0 === xmlHttpRequest.readyState) {
|
|
message = this.translate('server_connection_lost');
|
|
} else {
|
|
message = this.translate('unknown_error');
|
|
}
|
|
|
|
return message + '.';
|
|
}
|
|
}, {
|
|
key: "preventClicksInsideEditor",
|
|
value: function preventClicksInsideEditor() {
|
|
this.$previewContents.on('submit', function (event) {
|
|
return event.preventDefault();
|
|
}); // Cannot use arrow function here since it use `this.contains`.
|
|
|
|
this.$previewContents.on('click', function (event) {
|
|
var _elementor$documents$;
|
|
|
|
var $target = jQuery(event.target),
|
|
isClickInsideElementor = !!$target.closest('.elementor-edit-area, .pen-menu').length,
|
|
isTargetInsideDocument = this.contains($target[0]);
|
|
|
|
if ($target.closest('a:not(.elementor-clickable)').length) {
|
|
event.preventDefault();
|
|
}
|
|
|
|
if (isClickInsideElementor && elementor.getPreviewContainer().isEditable() || !isTargetInsideDocument) {
|
|
return;
|
|
} // It's a click on the preview area, not in the edit area,
|
|
// and a document is open and has an edit area.
|
|
|
|
|
|
if (!isClickInsideElementor && ((_elementor$documents$ = elementor.documents.getCurrent()) === null || _elementor$documents$ === void 0 ? void 0 : _elementor$documents$.$element)) {
|
|
$e.internal('panel/open-default');
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "addBackgroundClickArea",
|
|
value: function addBackgroundClickArea(element) {
|
|
element.addEventListener('click', this.onBackgroundClick.bind(this), true);
|
|
}
|
|
}, {
|
|
key: "addBackgroundClickListener",
|
|
value: function addBackgroundClickListener(key, listener) {
|
|
this.backgroundClickListeners[key] = listener;
|
|
}
|
|
}, {
|
|
key: "removeBackgroundClickListener",
|
|
value: function removeBackgroundClickListener(key) {
|
|
delete this.backgroundClickListeners[key];
|
|
}
|
|
}, {
|
|
key: "showFatalErrorDialog",
|
|
value: function showFatalErrorDialog(options) {
|
|
var defaultOptions = {
|
|
id: 'elementor-fatal-error-dialog',
|
|
headerMessage: '',
|
|
message: '',
|
|
position: {
|
|
my: 'center center',
|
|
at: 'center center'
|
|
},
|
|
strings: {
|
|
confirm: this.translate('learn_more'),
|
|
cancel: this.translate('go_back')
|
|
},
|
|
onConfirm: null,
|
|
onCancel: function onCancel() {
|
|
return parent.history.go(-1);
|
|
},
|
|
hide: {
|
|
onBackgroundClick: false,
|
|
onButtonClick: false
|
|
}
|
|
};
|
|
options = jQuery.extend(true, defaultOptions, options);
|
|
elementorCommon.dialogsManager.createWidget('confirm', options).show();
|
|
}
|
|
}, {
|
|
key: "showFlexBoxAttentionDialog",
|
|
value: function showFlexBoxAttentionDialog() {
|
|
var _this3 = this;
|
|
|
|
var introduction = new elementorModules.editor.utils.Introduction({
|
|
introductionKey: 'flexbox',
|
|
dialogType: 'confirm',
|
|
dialogOptions: {
|
|
id: 'elementor-flexbox-attention-dialog',
|
|
headerMessage: this.translate('flexbox_attention_header'),
|
|
message: this.translate('flexbox_attention_message'),
|
|
position: {
|
|
my: 'center center',
|
|
at: 'center center'
|
|
},
|
|
strings: {
|
|
confirm: this.translate('learn_more'),
|
|
cancel: this.translate('got_it')
|
|
},
|
|
hide: {
|
|
onButtonClick: false
|
|
},
|
|
onCancel: function onCancel() {
|
|
introduction.setViewed();
|
|
introduction.getDialog().hide();
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
return open(_this3.config.help_flexbox_bc_url, '_blank');
|
|
}
|
|
}
|
|
});
|
|
introduction.show();
|
|
}
|
|
}, {
|
|
key: "checkPageStatus",
|
|
value: function checkPageStatus() {
|
|
if (elementor.documents.getCurrent().isDraft()) {
|
|
this.notifications.showToast({
|
|
message: this.translate('working_on_draft_notification'),
|
|
buttons: [{
|
|
name: 'view_revisions',
|
|
text: elementor.translate('view_all_revisions'),
|
|
callback: function callback() {
|
|
return $e.route('panel/history/revisions');
|
|
}
|
|
}]
|
|
});
|
|
}
|
|
}
|
|
}, {
|
|
key: "enterPreviewMode",
|
|
value: function enterPreviewMode(hidePanel) {
|
|
var $elements = elementorFrontend.elements.$body;
|
|
|
|
if (hidePanel) {
|
|
$elements = $elements.add(elementorCommon.elements.$body);
|
|
}
|
|
|
|
$elements.removeClass('elementor-editor-active').addClass('elementor-editor-preview');
|
|
var $element = this.documents.getCurrent().$element;
|
|
|
|
if ($element) {
|
|
$element.removeClass('elementor-edit-area-active');
|
|
}
|
|
|
|
if (hidePanel) {
|
|
// Handle panel resize
|
|
this.$previewWrapper.css(elementorCommon.config.isRTL ? 'right' : 'left', '');
|
|
this.panel.$el.css('width', '');
|
|
}
|
|
}
|
|
}, {
|
|
key: "exitPreviewMode",
|
|
value: function exitPreviewMode() {
|
|
elementorFrontend.elements.$body.add(elementorCommon.elements.$body).removeClass('elementor-editor-preview').addClass('elementor-editor-active');
|
|
|
|
if (elementor.config.document.panel.has_elements) {
|
|
this.documents.getCurrent().$element.addClass('elementor-edit-area-active');
|
|
}
|
|
}
|
|
}, {
|
|
key: "changeEditMode",
|
|
value: function changeEditMode(newMode) {
|
|
var dataEditMode = elementor.channels.dataEditMode,
|
|
oldEditMode = dataEditMode.request('activeMode');
|
|
dataEditMode.reply('activeMode', newMode);
|
|
|
|
if (newMode !== oldEditMode) {
|
|
dataEditMode.trigger('switch', newMode);
|
|
}
|
|
}
|
|
}, {
|
|
key: "reloadPreview",
|
|
value: function reloadPreview() {
|
|
// TODO: Should be command?
|
|
jQuery('#elementor-preview-loading').show();
|
|
this.$preview[0].contentWindow.location.reload(true);
|
|
}
|
|
}, {
|
|
key: "changeDeviceMode",
|
|
value: function changeDeviceMode(newDeviceMode) {
|
|
var oldDeviceMode = this.channels.deviceMode.request('currentMode');
|
|
|
|
if (oldDeviceMode === newDeviceMode) {
|
|
return;
|
|
}
|
|
|
|
elementorCommon.elements.$body.removeClass('elementor-device-' + oldDeviceMode).addClass('elementor-device-' + newDeviceMode);
|
|
this.channels.deviceMode.reply('previousMode', oldDeviceMode).reply('currentMode', newDeviceMode).trigger('change');
|
|
}
|
|
}, {
|
|
key: "translate",
|
|
value: function translate(stringKey, templateArgs, i18nStack) {
|
|
// TODO: BC since 2.3.0, it always should be `this.config.i18n`
|
|
if (!i18nStack) {
|
|
i18nStack = this.config.i18n;
|
|
}
|
|
|
|
return elementorCommon.translate(stringKey, null, templateArgs, i18nStack);
|
|
}
|
|
}, {
|
|
key: "logSite",
|
|
value: function logSite() {
|
|
var text = '',
|
|
style = '';
|
|
|
|
if (_environment.default.firefox) {
|
|
var asciiText = [' ;;;;;;;;;;;;;;; ', ';;; ;; ;;;', ';;; ;;;;;;;;;;;;', ';;; ;;;;;;;;;;;;', ';;; ;; ;;;', ';;; ;;;;;;;;;;;;', ';;; ;;;;;;;;;;;;', ';;; ;; ;;;', ' ;;;;;;;;;;;;;;; '];
|
|
text += '%c' + asciiText.join('\n') + '\n';
|
|
style = 'color: #C42961';
|
|
} else {
|
|
text += '%c00';
|
|
style = 'font-size: 22px; background-image: url("' + elementorCommon.config.urls.assets + 'images/logo-icon.png"); color: transparent; background-repeat: no-repeat';
|
|
}
|
|
|
|
setTimeout(console.log.bind(console, text, style)); // eslint-disable-line
|
|
|
|
text = '%cLove using Elementor? Join our growing community of Elementor developers: %chttps://github.com/elementor/elementor';
|
|
setTimeout(console.log.bind(console, text, 'color: #9B0A46', '')); // eslint-disable-line
|
|
}
|
|
}, {
|
|
key: "requestWidgetsConfig",
|
|
value: function requestWidgetsConfig() {
|
|
var _this4 = this;
|
|
|
|
var excludeWidgets = {};
|
|
jQuery.each(this.widgetsCache, function (widgetName, widgetConfig) {
|
|
if (widgetConfig.controls) {
|
|
excludeWidgets[widgetName] = true;
|
|
}
|
|
});
|
|
elementorCommon.ajax.addRequest('get_widgets_config', {
|
|
data: {
|
|
exclude: excludeWidgets
|
|
},
|
|
success: function success(data) {
|
|
_this4.addWidgetsCache(data);
|
|
|
|
if (_this4.loaded) {
|
|
_this4.kitManager.renderGlobalsDefaultCSS();
|
|
|
|
$e.internal('panel/state-ready');
|
|
} else {
|
|
_this4.once('panel:init', function () {
|
|
$e.internal('panel/state-ready');
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "getPreferences",
|
|
value: function getPreferences(key) {
|
|
var settings = elementor.settings.editorPreferences.model.attributes;
|
|
|
|
if (key) {
|
|
return settings[key];
|
|
}
|
|
|
|
return settings;
|
|
}
|
|
}, {
|
|
key: "getConfig",
|
|
value: function getConfig() {
|
|
return ElementorConfig;
|
|
}
|
|
}, {
|
|
key: "onStart",
|
|
value: function onStart() {
|
|
this.config = this.getConfig();
|
|
Backbone.Radio.DEBUG = false;
|
|
Backbone.Radio.tuneIn('ELEMENTOR');
|
|
this.initComponents();
|
|
|
|
if (!this.checkEnvCompatibility()) {
|
|
this.onEnvNotCompatible();
|
|
}
|
|
|
|
this.initPreview();
|
|
this.requestWidgetsConfig();
|
|
this.channels.dataEditMode.reply('activeMode', 'edit');
|
|
this.listenTo(this.channels.dataEditMode, 'switch', this.onEditModeSwitched);
|
|
this.initClearPageDialog();
|
|
this.addBackgroundClickArea(document);
|
|
this.addDeprecatedConfigProperties();
|
|
elementorCommon.elements.$window.trigger('elementor:loaded');
|
|
$e.run('editor/documents/open', {
|
|
id: this.config.initial_document.id
|
|
}).then(function () {
|
|
elementorCommon.elements.$window.trigger('elementor:init');
|
|
});
|
|
this.initNavigator();
|
|
this.logSite();
|
|
}
|
|
}, {
|
|
key: "onPreviewLoaded",
|
|
value: function onPreviewLoaded() {
|
|
var previewWindow = this.$preview[0].contentWindow;
|
|
|
|
if (!previewWindow.elementorFrontend) {
|
|
this.onPreviewLoadingError();
|
|
return;
|
|
}
|
|
|
|
this.$previewContents = this.$preview.contents();
|
|
this.initFrontend();
|
|
this.schemes.init();
|
|
this.preventClicksInsideEditor();
|
|
this.addBackgroundClickArea(elementorFrontend.elements.window.document);
|
|
|
|
if (!this.previewLoadedOnce) {
|
|
this.onFirstPreviewLoaded();
|
|
}
|
|
|
|
this.$previewContents.children().addClass('elementor-html');
|
|
var $frontendBody = elementorFrontend.elements.$body;
|
|
$frontendBody.addClass('elementor-editor-active');
|
|
|
|
if (!elementor.userCan('design')) {
|
|
$frontendBody.addClass('elementor-editor-content-only');
|
|
}
|
|
|
|
this.changeDeviceMode(DEFAULT_DEVICE_MODE);
|
|
|
|
_.defer(function () {
|
|
elementorFrontend.elements.window.jQuery.holdReady(false);
|
|
});
|
|
|
|
$e.shortcuts.bindListener(elementorFrontend.elements.$window);
|
|
this.trigger('preview:loaded', !this.loaded
|
|
/* isFirst */
|
|
);
|
|
$e.internal('editor/documents/attach-preview').then(function () {
|
|
return jQuery('#elementor-loading, #elementor-preview-loading').fadeOut(600);
|
|
});
|
|
this.loaded = true;
|
|
}
|
|
}, {
|
|
key: "onFirstPreviewLoaded",
|
|
value: function onFirstPreviewLoaded() {
|
|
this.initPanel();
|
|
this.previewLoadedOnce = true;
|
|
}
|
|
}, {
|
|
key: "onEditModeSwitched",
|
|
value: function onEditModeSwitched() {
|
|
var activeMode = this.channels.dataEditMode.request('activeMode');
|
|
|
|
if ('edit' === activeMode) {
|
|
this.exitPreviewMode();
|
|
} else {
|
|
this.enterPreviewMode('preview' === activeMode);
|
|
}
|
|
}
|
|
}, {
|
|
key: "onEnvNotCompatible",
|
|
value: function onEnvNotCompatible() {
|
|
var _this5 = this;
|
|
|
|
this.showFatalErrorDialog({
|
|
headerMessage: this.translate('device_incompatible_header'),
|
|
message: this.translate('device_incompatible_message'),
|
|
strings: {
|
|
confirm: elementor.translate('proceed_anyway')
|
|
},
|
|
hide: {
|
|
onButtonClick: true
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
return _this5.hide();
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "onPreviewLoadingError",
|
|
value: function onPreviewLoadingError() {
|
|
var _this6 = this;
|
|
|
|
var debugUrl = this.config.document.urls.preview + '&preview-debug',
|
|
previewDebugLinkText = this.config.i18n.preview_debug_link_text,
|
|
previewDebugLink = '<div id="elementor-preview-debug-link-text"><a href="' + debugUrl + '" target="_blank">' + previewDebugLinkText + '</a></div>',
|
|
debugData = elementor.config.preview.debug_data,
|
|
dialogOptions = {
|
|
className: 'elementor-preview-loading-error',
|
|
headerMessage: debugData.header,
|
|
message: debugData.message + previewDebugLink,
|
|
onConfirm: function onConfirm() {
|
|
return open(debugData.doc_url, '_blank');
|
|
}
|
|
};
|
|
|
|
if (debugData.error) {
|
|
this.showFatalErrorDialog(dialogOptions);
|
|
return;
|
|
}
|
|
|
|
jQuery.get(debugUrl, function () {
|
|
_this6.showFatalErrorDialog(dialogOptions);
|
|
}).fail(function (response) {
|
|
//Iframe can't be loaded
|
|
_this6.showFatalErrorDialog({
|
|
className: 'elementor-preview-loading-error',
|
|
headerMessage: debugData.header,
|
|
message: response.statusText + ' ' + response.status + ' ' + previewDebugLink,
|
|
onConfirm: function onConfirm() {
|
|
var url = 500 <= response.status ? elementor.config.preview.help_preview_http_error_500_url : elementor.config.preview.help_preview_http_error_url;
|
|
open(url, '_blank');
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "onPreviewElNotFound",
|
|
value: function onPreviewElNotFound() {
|
|
var args = this.$preview[0].contentWindow.elementorPreviewErrorArgs;
|
|
|
|
if (!args) {
|
|
args = {
|
|
headerMessage: this.translate('preview_el_not_found_header'),
|
|
message: this.translate('preview_el_not_found_message'),
|
|
confirmURL: elementor.config.help_the_content_url
|
|
};
|
|
}
|
|
|
|
args.onConfirm = function () {
|
|
return open(args.confirmURL, '_blank');
|
|
};
|
|
|
|
this.showFatalErrorDialog(args);
|
|
}
|
|
}, {
|
|
key: "onBackgroundClick",
|
|
value: function onBackgroundClick(event) {
|
|
jQuery.each(this.backgroundClickListeners, function (index, config) {
|
|
var $clickedTarget = jQuery(event.target); // If it's a label that associated with an input
|
|
|
|
if ($clickedTarget[0].control) {
|
|
$clickedTarget = $clickedTarget.add($clickedTarget[0].control);
|
|
}
|
|
|
|
if (config.ignore && $clickedTarget.closest(config.ignore).length) {
|
|
return;
|
|
}
|
|
|
|
var $clickedTargetClosestElement = $clickedTarget.closest(config.element),
|
|
$elementsToHide = jQuery(config.element).not($clickedTargetClosestElement);
|
|
|
|
if (config.callback) {
|
|
config.callback($elementsToHide);
|
|
return;
|
|
}
|
|
|
|
$elementsToHide.hide();
|
|
});
|
|
}
|
|
}, {
|
|
key: "compileTemplate",
|
|
value: function compileTemplate(template, data) {
|
|
return Marionette.TemplateCache.prototype.compileTemplate(template)(data);
|
|
}
|
|
}, {
|
|
key: "addWidgetsCache",
|
|
value: function addWidgetsCache(widgets) {
|
|
var _this7 = this;
|
|
|
|
jQuery.each(widgets, function (widgetName, widgetConfig) {
|
|
_this7.widgetsCache[widgetName] = jQuery.extend(true, {}, _this7.widgetsCache[widgetName], widgetConfig);
|
|
});
|
|
}
|
|
}, {
|
|
key: "addDeprecatedConfigProperties",
|
|
value: function addDeprecatedConfigProperties() {
|
|
var _this8 = this;
|
|
|
|
var map = {
|
|
data: {
|
|
replacement: 'elements',
|
|
value: function value() {
|
|
return elementor.config.document.elements;
|
|
}
|
|
},
|
|
current_user_can_publish: {
|
|
replacement: 'user.can_publish',
|
|
value: function value() {
|
|
return elementor.config.document.user.can_publish;
|
|
}
|
|
},
|
|
locked_user: {
|
|
replacement: '',
|
|
value: function value() {
|
|
return elementor.config.document.user.locked;
|
|
}
|
|
},
|
|
revisions_enabled: {
|
|
replacement: 'revisions.enabled',
|
|
value: function value() {
|
|
return elementor.config.document.revisions.enabled;
|
|
}
|
|
},
|
|
current_revision_id: {
|
|
replacement: 'revisions.current_id',
|
|
value: function value() {
|
|
return elementor.config.document.revisions.current_id;
|
|
}
|
|
}
|
|
};
|
|
jQuery.each(map, function (key, data) {
|
|
// Use `defineProperty` because `get property()` fails during the `Marionette...extend`.
|
|
(0, _defineProperty2.default)(_this8.config, key, {
|
|
get: function get() {
|
|
var replacement = data.replacement ? 'elementor.config.document.' + data.replacement : '';
|
|
elementorCommon.helpers.softDeprecated('elementor.config.' + key, '2.9.0', replacement); // return from current document.
|
|
|
|
return data.value();
|
|
},
|
|
set: function set() {
|
|
elementorCommon.helpers.softDeprecated('elementor.config.' + key, '2.9.0', 'elementor.config.document.' + data.replacement);
|
|
throw Error('Deprecated');
|
|
}
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)(this.config.settings, 'page', {
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementor.config.settings.page', '2.9.0', 'elementor.config.document.settings');
|
|
return elementor.config.document.settings;
|
|
}
|
|
});
|
|
(0, _defineProperty2.default)(this.config, 'widgets', {
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementor.config.widgets', '2.9.0', 'elementor.widgetsCache');
|
|
return elementor.widgetsCache;
|
|
}
|
|
});
|
|
(0, _defineProperty2.default)(this, '$previewElementorEl', {
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementor.$previewElementorEl', '2.9.4', 'elementor.documents.getCurrent().$element');
|
|
return elementor.documents.getCurrent().$element;
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "toggleDocumentCssFiles",
|
|
value: function toggleDocumentCssFiles(document, state) {
|
|
var selectors = ["#elementor-post-".concat(document.config.id, "-css"), "#elementor-preview-".concat(document.config.revisions.current_id)],
|
|
$files = this.$previewContents.find(selectors.join(',')),
|
|
type = state ? 'text/css' : 'elementor/disabled-css';
|
|
$files.attr({
|
|
type: type
|
|
});
|
|
}
|
|
}, {
|
|
key: "debug",
|
|
get: function get() {
|
|
elementorCommon.helpers.softDeprecated('elementor.debug', '3.0.0', 'elementorCommon.debug');
|
|
return elementorCommon.debug;
|
|
}
|
|
/**
|
|
* Exporting modules that can be used externally
|
|
* TODO: All of the following entries should move to `elementorModules.editor`
|
|
*/
|
|
|
|
}]);
|
|
return EditorBase;
|
|
}(Marionette.Application);
|
|
|
|
exports.default = EditorBase;
|
|
|
|
/***/ }),
|
|
/* 420 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(190);
|
|
|
|
var _regenerator = _interopRequireDefault(__webpack_require__(83));
|
|
|
|
__webpack_require__(66);
|
|
|
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(84));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
__webpack_require__(150);
|
|
|
|
__webpack_require__(118);
|
|
|
|
__webpack_require__(79);
|
|
|
|
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(299));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _baseData = _interopRequireDefault(__webpack_require__(127));
|
|
|
|
var _colorPicker = _interopRequireDefault(__webpack_require__(301));
|
|
|
|
var _default = /*#__PURE__*/function (_ControlBaseDataView) {
|
|
(0, _inherits2.default)(_default, _ControlBaseDataView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
var ui = (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "ui", this).call(this);
|
|
ui.pickerContainer = '.elementor-color-picker-placeholder';
|
|
return ui;
|
|
}
|
|
}, {
|
|
key: "applySavedValue",
|
|
value: function applySavedValue() {
|
|
// Gets the current OR default value of the control.
|
|
var currentValue = this.getCurrentValue();
|
|
|
|
if (this.colorPicker) {
|
|
// When there is a global set on the control but there is no value/it doesn't exist, don't show a value.
|
|
if (currentValue) {
|
|
var _this$colorPicker$pic;
|
|
|
|
// Set the picker color without triggering the 'onChange' event.
|
|
var parsedColor = this.colorPicker.picker._parseLocalColor(currentValue);
|
|
|
|
(_this$colorPicker$pic = this.colorPicker.picker).setHSVA.apply(_this$colorPicker$pic, (0, _toConsumableArray2.default)(parsedColor.values).concat([false]));
|
|
} else {
|
|
this.colorPicker.picker._clearColor(true);
|
|
}
|
|
} else {
|
|
this.initPicker();
|
|
}
|
|
|
|
this.$el.toggleClass('e-control-color--no-value', !currentValue);
|
|
}
|
|
}, {
|
|
key: "initPicker",
|
|
value: function initPicker() {
|
|
var _this$model$get,
|
|
_this = this;
|
|
|
|
var options = {
|
|
picker: {
|
|
el: this.ui.pickerContainer[0],
|
|
default: this.getCurrentValue(),
|
|
components: {
|
|
opacity: this.model.get('alpha')
|
|
},
|
|
defaultRepresentation: 'HEX'
|
|
},
|
|
// Don't create the add button in the Global Settings color pickers.
|
|
addButton: (_this$model$get = this.model.get('global')) === null || _this$model$get === void 0 ? void 0 : _this$model$get.active,
|
|
onChange: function onChange() {
|
|
return _this.onPickerChange();
|
|
},
|
|
onClear: function onClear() {
|
|
return _this.onPickerClear();
|
|
},
|
|
onAddButtonClick: function onAddButtonClick() {
|
|
return _this.onAddGlobalButtonClick();
|
|
}
|
|
};
|
|
this.colorPicker = new _colorPicker.default(options);
|
|
this.$pickerButton = jQuery(this.colorPicker.picker.getRoot().button);
|
|
this.addTipsyToPickerButton();
|
|
this.$pickerButton.on('click', function () {
|
|
return _this.onPickerButtonClick();
|
|
});
|
|
jQuery(this.colorPicker.picker.getRoot().root).addClass('elementor-control-unit-1 elementor-control-tag-area');
|
|
}
|
|
}, {
|
|
key: "addTipsyToPickerButton",
|
|
value: function addTipsyToPickerButton() {
|
|
var _this2 = this;
|
|
|
|
this.$pickerButton.tipsy({
|
|
title: function title() {
|
|
var currentValue = _this2.getCurrentValue(); // If there is a global enabled for the control, but the global has no value.
|
|
|
|
|
|
if (_this2.getGlobalKey() && !currentValue) {
|
|
currentValue = "".concat(elementor.translate('invalid'), " ").concat(elementor.translate('global_color'));
|
|
}
|
|
|
|
return currentValue || '';
|
|
},
|
|
offset: 4,
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "getGlobalMeta",
|
|
value: function getGlobalMeta() {
|
|
return {
|
|
commandName: this.getGlobalCommand(),
|
|
key: this.model.get('name'),
|
|
controlType: 'colors',
|
|
route: 'panel/global/global-colors'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getNameAlreadyExistsMessage",
|
|
value: function getNameAlreadyExistsMessage() {
|
|
return '<i class="eicon-info-circle"></i> ' + elementor.translate('global_color_already_exists');
|
|
}
|
|
}, {
|
|
key: "getConfirmTextMessage",
|
|
value: function getConfirmTextMessage() {
|
|
return elementor.translate('global_color_confirm_text');
|
|
}
|
|
}, {
|
|
key: "getAddGlobalConfirmMessage",
|
|
value: function getAddGlobalConfirmMessage(globalColors) {
|
|
var colorTitle = elementor.translate('new_global_color'),
|
|
currentValue = this.getCurrentValue(),
|
|
$message = jQuery('<div>', {
|
|
class: 'e-global__confirm-message'
|
|
}),
|
|
$messageText = jQuery('<div>', {
|
|
class: 'e-global__confirm-message-text'
|
|
}),
|
|
$inputWrapper = jQuery('<div>', {
|
|
class: 'e-global__confirm-input-wrapper'
|
|
}),
|
|
$colorPreview = this.createColorPreviewBox(currentValue),
|
|
$input = jQuery('<input>', {
|
|
type: 'text',
|
|
name: 'global-name',
|
|
placeholder: colorTitle
|
|
}).val(colorTitle);
|
|
var messageContent; // Check if the color already exists in the global colors, and display an appropriate message.
|
|
|
|
for (var _i = 0, _Object$values = (0, _values.default)(globalColors); _i < _Object$values.length; _i++) {
|
|
var globalColor = _Object$values[_i];
|
|
|
|
if (currentValue === globalColor.value) {
|
|
messageContent = this.getNameAlreadyExistsMessage();
|
|
break;
|
|
} else if (colorTitle === globalColor.title) {
|
|
messageContent = this.getConfirmTextMessage();
|
|
break;
|
|
} else {
|
|
messageContent = elementor.translate('global_color_confirm_text');
|
|
}
|
|
}
|
|
|
|
$messageText.html(messageContent);
|
|
$inputWrapper.append($colorPreview, $input);
|
|
$message.append($messageText, $inputWrapper);
|
|
return $message;
|
|
}
|
|
}, {
|
|
key: "getGlobalCommand",
|
|
value: function getGlobalCommand() {
|
|
return 'globals/colors';
|
|
} // The globalData parameter is received from the Data API.
|
|
|
|
}, {
|
|
key: "createGlobalItemMarkup",
|
|
value: function createGlobalItemMarkup(globalData) {
|
|
var $color = jQuery('<div>', {
|
|
class: 'e-global__preview-item e-global__color',
|
|
'data-global-id': globalData.id
|
|
}),
|
|
$colorPreview = this.createColorPreviewBox(globalData.value),
|
|
$colorTitle = jQuery('<span>', {
|
|
class: 'e-global__color-title'
|
|
}).html(globalData.title),
|
|
$colorHex = jQuery('<span>', {
|
|
class: 'e-global__color-hex'
|
|
}).html(globalData.value);
|
|
$color.append($colorPreview, $colorTitle, $colorHex);
|
|
return $color;
|
|
}
|
|
}, {
|
|
key: "createColorPreviewBox",
|
|
value: function createColorPreviewBox(color) {
|
|
var $colorPreviewContainer = jQuery('<div>', {
|
|
class: 'e-global__color-preview-container'
|
|
}),
|
|
$colorPreviewColor = jQuery('<div>', {
|
|
class: 'e-global__color-preview-color',
|
|
style: 'background-color: ' + color
|
|
}),
|
|
$colorPreviewBg = jQuery('<div>', {
|
|
class: 'e-global__color-preview-transparent-bg'
|
|
});
|
|
$colorPreviewContainer.append($colorPreviewBg, $colorPreviewColor);
|
|
return $colorPreviewContainer;
|
|
}
|
|
}, {
|
|
key: "getGlobalsList",
|
|
value: function () {
|
|
var _getGlobalsList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
var result;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return $e.data.get(this.getGlobalCommand());
|
|
|
|
case 2:
|
|
result = _context.sent;
|
|
return _context.abrupt("return", result.data);
|
|
|
|
case 4:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
|
|
function getGlobalsList() {
|
|
return _getGlobalsList.apply(this, arguments);
|
|
}
|
|
|
|
return getGlobalsList;
|
|
}() // Create the markup for the colors in the global select dropdown.
|
|
|
|
}, {
|
|
key: "buildGlobalsList",
|
|
value: function buildGlobalsList(globalColors, $globalPreviewItemsContainer) {
|
|
var _this3 = this;
|
|
|
|
(0, _values.default)(globalColors).forEach(function (color) {
|
|
if (!color.value) {
|
|
return;
|
|
}
|
|
|
|
var $color = _this3.createGlobalItemMarkup(color);
|
|
|
|
$globalPreviewItemsContainer.append($color);
|
|
});
|
|
}
|
|
}, {
|
|
key: "onPickerChange",
|
|
value: function onPickerChange() {
|
|
this.setValue(this.colorPicker.picker.getColor().toHEXA().toString());
|
|
|
|
if (!this.isCustom) {
|
|
this.triggerMethod('value:type:change');
|
|
this.colorPicker.toggleClearButtonState(true);
|
|
|
|
if (this.$el.hasClass('e-control-color--no-value')) {
|
|
this.$el.removeClass('e-control-color--no-value');
|
|
}
|
|
|
|
this.isCustom = true;
|
|
}
|
|
}
|
|
}, {
|
|
key: "onPickerClear",
|
|
value: function onPickerClear() {
|
|
this.isCustom = false; // Empty the value saved in the control.
|
|
|
|
this.setValue(''); // Adjust the Global select box text according to the cleared value.
|
|
|
|
this.triggerMethod('value:type:change');
|
|
this.applySavedValue();
|
|
this.colorPicker.toggleClearButtonState(false);
|
|
}
|
|
}, {
|
|
key: "onPickerButtonClick",
|
|
value: function onPickerButtonClick() {
|
|
if (this.getGlobalKey()) {
|
|
this.triggerMethod('unset:global:value');
|
|
} else if (this.isGlobalActive() && !this.getControlValue() && this.getGlobalDefault()) {
|
|
this.triggerMethod('unlink:global:default');
|
|
} // If there is a value in the control, set the clear button to active, if not, deactivate it.
|
|
|
|
|
|
this.colorPicker.toggleClearButtonState(!!this.getCurrentValue());
|
|
}
|
|
}, {
|
|
key: "onAddGlobalButtonClick",
|
|
value: function onAddGlobalButtonClick() {
|
|
var _this4 = this;
|
|
|
|
this.getGlobalsList().then(function (globalsList) {
|
|
_this4.globalsList = globalsList;
|
|
|
|
_this4.triggerMethod('add:global:to:list', _this4.getAddGlobalConfirmMessage(globalsList));
|
|
});
|
|
}
|
|
}, {
|
|
key: "onBeforeDestroy",
|
|
value: function onBeforeDestroy() {
|
|
if (this.colorPicker) {
|
|
this.colorPicker.destroy();
|
|
}
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(_baseData.default);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 421 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var TagPanelView = __webpack_require__(422);
|
|
|
|
module.exports = Marionette.Behavior.extend({
|
|
tagView: null,
|
|
listenerAttached: false,
|
|
initialize: function initialize() {
|
|
if (!this.listenerAttached) {
|
|
this.listenTo(this.view.options.container.settings, 'change:external:__dynamic__', this.onAfterExternalChange);
|
|
this.listenerAttached = true;
|
|
}
|
|
},
|
|
renderTools: function renderTools() {
|
|
var _this = this;
|
|
|
|
if (this.getOption('dynamicSettings').default) {
|
|
return;
|
|
}
|
|
|
|
var $dynamicSwitcher = jQuery(Marionette.Renderer.render('#tmpl-elementor-control-dynamic-switcher'));
|
|
$dynamicSwitcher.on('click', function (event) {
|
|
return _this.onDynamicSwitcherClick(event);
|
|
});
|
|
this.$el.find('.elementor-control-dynamic-switcher-wrapper').append($dynamicSwitcher);
|
|
this.ui.dynamicSwitcher = $dynamicSwitcher;
|
|
|
|
if ('color' === this.view.model.get('type')) {
|
|
if (this.view.colorPicker) {
|
|
this.moveDynamicSwitcherToColorPicker();
|
|
} else {
|
|
setTimeout(function () {
|
|
return _this.moveDynamicSwitcherToColorPicker();
|
|
});
|
|
}
|
|
} // Add a Tipsy Tooltip to the Dynamic Switcher
|
|
|
|
|
|
this.ui.dynamicSwitcher.tipsy({
|
|
title: function title() {
|
|
return this.getAttribute('data-tooltip');
|
|
},
|
|
gravity: 's'
|
|
});
|
|
},
|
|
moveDynamicSwitcherToColorPicker: function moveDynamicSwitcherToColorPicker() {
|
|
var $colorPickerToolsContainer = this.view.colorPicker.$pickerToolsContainer;
|
|
this.ui.dynamicSwitcher.removeClass('elementor-control-unit-1').addClass('e-control-tool');
|
|
$colorPickerToolsContainer.append(this.ui.dynamicSwitcher);
|
|
},
|
|
toggleDynamicClass: function toggleDynamicClass() {
|
|
this.$el.toggleClass('elementor-control-dynamic-value', this.isDynamicMode());
|
|
},
|
|
isDynamicMode: function isDynamicMode() {
|
|
var dynamicSettings = this.view.container.settings.get('__dynamic__');
|
|
return !!(dynamicSettings && dynamicSettings[this.view.model.get('name')]);
|
|
},
|
|
createTagsList: function createTagsList() {
|
|
var tags = _.groupBy(this.getOption('tags'), 'group'),
|
|
groups = elementor.dynamicTags.getConfig('groups'),
|
|
$tagsList = this.ui.tagsList = jQuery('<div>', {
|
|
class: 'elementor-tags-list'
|
|
}),
|
|
$tagsListInner = jQuery('<div>', {
|
|
class: 'elementor-tags-list__inner'
|
|
});
|
|
|
|
$tagsList.append($tagsListInner);
|
|
jQuery.each(groups, function (groupName) {
|
|
var groupTags = tags[groupName];
|
|
|
|
if (!groupTags) {
|
|
return;
|
|
}
|
|
|
|
var group = this,
|
|
$groupTitle = jQuery('<div>', {
|
|
class: 'elementor-tags-list__group-title'
|
|
}).text(group.title);
|
|
$tagsListInner.append($groupTitle);
|
|
groupTags.forEach(function (tag) {
|
|
var $tag = jQuery('<div>', {
|
|
class: 'elementor-tags-list__item'
|
|
});
|
|
$tag.text(tag.title).attr('data-tag-name', tag.name);
|
|
$tagsListInner.append($tag);
|
|
});
|
|
}); // Create and inject pro dynamic teaser template if Pro is not installed
|
|
|
|
if (!elementor.helpers.hasPro() && (0, _keys.default)(tags).length) {
|
|
var proTeaser = Marionette.Renderer.render('#tmpl-elementor-dynamic-tags-promo');
|
|
$tagsListInner.append(proTeaser);
|
|
}
|
|
|
|
$tagsListInner.on('click', '.elementor-tags-list__item', this.onTagsListItemClick.bind(this));
|
|
elementorCommon.elements.$body.append($tagsList);
|
|
},
|
|
getTagsList: function getTagsList() {
|
|
if (!this.ui.tagsList) {
|
|
this.createTagsList();
|
|
}
|
|
|
|
return this.ui.tagsList;
|
|
},
|
|
toggleTagsList: function toggleTagsList() {
|
|
var $tagsList = this.getTagsList();
|
|
|
|
if ($tagsList.is(':visible')) {
|
|
$tagsList.hide();
|
|
return;
|
|
}
|
|
|
|
var direction = elementorCommon.config.isRTL ? 'left' : 'right';
|
|
$tagsList.show().position({
|
|
my: "".concat(direction, " top"),
|
|
at: "".concat(direction, " bottom+5"),
|
|
of: this.ui.dynamicSwitcher
|
|
});
|
|
},
|
|
setTagView: function setTagView(id, name, settings) {
|
|
if (this.tagView) {
|
|
this.tagView.destroy();
|
|
}
|
|
|
|
var tagView = this.tagView = new TagPanelView({
|
|
id: id,
|
|
name: name,
|
|
settings: settings,
|
|
controlName: this.view.model.get('name'),
|
|
dynamicSettings: this.getOption('dynamicSettings')
|
|
}),
|
|
elementContainer = this.view.options.container,
|
|
tagViewLabel = elementContainer.controls[tagView.options.controlName].label;
|
|
tagView.options.container = new elementorModules.editor.Container({
|
|
type: 'dynamic',
|
|
id: id,
|
|
model: tagView.model,
|
|
settings: tagView.model,
|
|
view: tagView,
|
|
parent: elementContainer,
|
|
label: elementContainer.label + ' ' + tagViewLabel,
|
|
controls: tagView.model.options.controls,
|
|
renderer: elementContainer
|
|
});
|
|
tagView.render();
|
|
this.$el.find('.elementor-control-tag-area').after(tagView.el);
|
|
this.listenTo(tagView, 'remove', this.onTagViewRemove.bind(this));
|
|
},
|
|
setDefaultTagView: function setDefaultTagView() {
|
|
var tagData = elementor.dynamicTags.tagTextToTagData(this.getDynamicValue());
|
|
this.setTagView(tagData.id, tagData.name, tagData.settings);
|
|
},
|
|
tagViewToTagText: function tagViewToTagText() {
|
|
var tagView = this.tagView;
|
|
return elementor.dynamicTags.tagDataToTagText(tagView.getOption('id'), tagView.getOption('name'), tagView.model);
|
|
},
|
|
getDynamicValue: function getDynamicValue() {
|
|
return this.view.container.dynamic.get(this.view.model.get('name'));
|
|
},
|
|
destroyTagView: function destroyTagView() {
|
|
if (this.tagView) {
|
|
this.tagView.destroy();
|
|
this.tagView = null;
|
|
}
|
|
},
|
|
showPromotion: function showPromotion() {
|
|
var message = elementor.translate('dynamic_promotion_message');
|
|
elementor.promotion.showDialog({
|
|
headerMessage: elementor.translate('dynamic_content'),
|
|
message: message,
|
|
top: '-10',
|
|
element: this.ui.dynamicSwitcher,
|
|
actionURL: elementor.config.dynamicPromotionURL
|
|
});
|
|
},
|
|
onRender: function onRender() {
|
|
this.$el.addClass('elementor-control-dynamic');
|
|
this.renderTools();
|
|
this.toggleDynamicClass();
|
|
|
|
if (this.isDynamicMode()) {
|
|
this.setDefaultTagView();
|
|
}
|
|
},
|
|
onDynamicSwitcherClick: function onDynamicSwitcherClick(event) {
|
|
event.stopPropagation();
|
|
|
|
if (this.getOption('tags').length) {
|
|
this.toggleTagsList();
|
|
} else {
|
|
this.showPromotion();
|
|
}
|
|
},
|
|
onTagsListItemClick: function onTagsListItemClick(event) {
|
|
var $tag = jQuery(event.currentTarget);
|
|
this.setTagView(elementorCommon.helpers.getUniqueId(), $tag.data('tagName'), {}); // If an element has an active global value, disable it before applying the dynamic value.
|
|
|
|
if (this.view.getGlobalKey()) {
|
|
this.view.triggerMethod('unset:global:value');
|
|
}
|
|
|
|
if (this.isDynamicMode()) {
|
|
$e.run('document/dynamic/settings', {
|
|
container: this.view.options.container,
|
|
settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText())
|
|
});
|
|
} else {
|
|
$e.run('document/dynamic/enable', {
|
|
container: this.view.options.container,
|
|
settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText())
|
|
});
|
|
}
|
|
|
|
this.toggleDynamicClass();
|
|
this.toggleTagsList();
|
|
|
|
if (this.tagView.getTagConfig().settings_required) {
|
|
this.tagView.showSettingsPopup();
|
|
}
|
|
},
|
|
onTagViewRemove: function onTagViewRemove() {
|
|
$e.run('document/dynamic/disable', {
|
|
container: this.view.options.container,
|
|
settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText())
|
|
});
|
|
this.toggleDynamicClass();
|
|
},
|
|
onAfterExternalChange: function onAfterExternalChange() {
|
|
this.destroyTagView();
|
|
|
|
if (this.isDynamicMode()) {
|
|
this.setDefaultTagView();
|
|
}
|
|
|
|
this.toggleDynamicClass();
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
this.destroyTagView();
|
|
|
|
if (this.ui.tagsList) {
|
|
this.ui.tagsList.remove();
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 422 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var TagControlsStack = __webpack_require__(423);
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
className: 'elementor-dynamic-cover elementor-input-style',
|
|
tagControlsStack: null,
|
|
templateHelpers: function templateHelpers() {
|
|
var helpers = {};
|
|
|
|
if (this.model) {
|
|
helpers.controls = this.model.options.controls;
|
|
}
|
|
|
|
return helpers;
|
|
},
|
|
ui: {
|
|
remove: '.elementor-dynamic-cover__remove'
|
|
},
|
|
events: function events() {
|
|
var events = {
|
|
'click @ui.remove': 'onRemoveClick'
|
|
};
|
|
|
|
if (this.hasSettings()) {
|
|
events.click = 'onClick';
|
|
}
|
|
|
|
return events;
|
|
},
|
|
getTemplate: function getTemplate() {
|
|
var config = this.getTagConfig(),
|
|
templateFunction = Marionette.TemplateCache.get('#tmpl-elementor-control-dynamic-cover'),
|
|
renderedTemplate = Marionette.Renderer.render(templateFunction, {
|
|
hasSettings: this.hasSettings(),
|
|
isRemovable: !this.getOption('dynamicSettings').default,
|
|
title: config.title,
|
|
content: config.panel_template
|
|
});
|
|
return Marionette.TemplateCache.prototype.compileTemplate(renderedTemplate.trim());
|
|
},
|
|
getTagConfig: function getTagConfig() {
|
|
return elementor.dynamicTags.getConfig('tags.' + this.getOption('name'));
|
|
},
|
|
initSettingsPopup: function initSettingsPopup() {
|
|
var settingsPopupOptions = {
|
|
className: 'elementor-tag-settings-popup',
|
|
position: {
|
|
my: 'left top+5',
|
|
at: 'left bottom',
|
|
of: this.$el,
|
|
autoRefresh: true
|
|
}
|
|
};
|
|
var settingsPopup = elementorCommon.dialogsManager.createWidget('buttons', settingsPopupOptions);
|
|
|
|
this.getSettingsPopup = function () {
|
|
return settingsPopup;
|
|
};
|
|
},
|
|
hasSettings: function hasSettings() {
|
|
return !!(0, _values.default)(this.getTagConfig().controls).length;
|
|
},
|
|
showSettingsPopup: function showSettingsPopup() {
|
|
if (!this.tagControlsStack) {
|
|
this.initTagControlsStack();
|
|
}
|
|
|
|
var settingsPopup = this.getSettingsPopup();
|
|
|
|
if (settingsPopup.isVisible()) {
|
|
return;
|
|
}
|
|
|
|
settingsPopup.show();
|
|
},
|
|
initTagControlsStack: function initTagControlsStack() {
|
|
this.tagControlsStack = new TagControlsStack({
|
|
model: this.model,
|
|
controls: this.model.controls,
|
|
name: this.options.name,
|
|
controlName: this.options.controlName,
|
|
container: this.options.container,
|
|
el: this.getSettingsPopup().getElements('message')[0]
|
|
});
|
|
this.tagControlsStack.render();
|
|
},
|
|
initModel: function initModel() {
|
|
this.model = new elementorModules.editor.elements.models.BaseSettings(this.getOption('settings'), {
|
|
controls: this.getTagConfig().controls
|
|
});
|
|
},
|
|
initialize: function initialize() {
|
|
// The `model` should always be available.
|
|
this.initModel();
|
|
|
|
if (!this.hasSettings()) {
|
|
return;
|
|
}
|
|
|
|
this.initSettingsPopup();
|
|
this.listenTo(this.model, 'change', this.render);
|
|
},
|
|
onClick: function onClick() {
|
|
this.showSettingsPopup();
|
|
},
|
|
onRemoveClick: function onRemoveClick(event) {
|
|
event.stopPropagation();
|
|
this.destroy();
|
|
this.trigger('remove');
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
if (this.hasSettings()) {
|
|
this.getSettingsPopup().destroy();
|
|
}
|
|
|
|
if (this.tagControlsStack) {
|
|
this.tagControlsStack.destroy();
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 423 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var EmptyView = __webpack_require__(424);
|
|
|
|
module.exports = elementorModules.editor.views.ControlsStack.extend({
|
|
activeTab: 'content',
|
|
template: _.noop,
|
|
emptyView: EmptyView,
|
|
isEmpty: function isEmpty() {
|
|
// Ignore the section control
|
|
return this.collection.length < 2;
|
|
},
|
|
childViewOptions: function childViewOptions() {
|
|
return {
|
|
container: this.options.container
|
|
};
|
|
},
|
|
getNamespaceArray: function getNamespaceArray() {
|
|
var currentPageView = elementor.getPanelView().getCurrentPageView(),
|
|
eventNamespace = currentPageView.getNamespaceArray();
|
|
eventNamespace.push(currentPageView.activeSection);
|
|
eventNamespace.push(this.getOption('controlName'));
|
|
eventNamespace.push(this.getOption('name'));
|
|
return eventNamespace;
|
|
},
|
|
onRenderTemplate: function onRenderTemplate() {
|
|
this.activateFirstSection();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 424 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
className: 'elementor-tag-controls-stack-empty',
|
|
template: '#tmpl-elementor-tag-controls-stack-empty'
|
|
});
|
|
|
|
/***/ }),
|
|
/* 425 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var ControlBaseDataView = __webpack_require__(127);
|
|
|
|
var _default = /*#__PURE__*/function (_ControlBaseDataView) {
|
|
(0, _inherits2.default)(_default, _ControlBaseDataView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "onReady",
|
|
value: function onReady() {
|
|
var options = _.extend({
|
|
enableTime: true,
|
|
minuteIncrement: 1
|
|
}, this.model.get('picker_options'));
|
|
|
|
this.ui.input.flatpickr(options);
|
|
}
|
|
}, {
|
|
key: "onBeforeDestroy",
|
|
value: function onBeforeDestroy() {
|
|
this.ui.input.flatpickr().destroy();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(ControlBaseDataView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 426 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _parseInt2 = _interopRequireDefault(__webpack_require__(213));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var _document = _interopRequireDefault(__webpack_require__(320));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(432));
|
|
|
|
var internalCommands = _interopRequireWildcard(__webpack_require__(437));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "__construct",
|
|
value: function __construct() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "__construct", this).call(this, args);
|
|
/**
|
|
* All the documents.
|
|
*
|
|
* @type {Object.<Document>}
|
|
*/
|
|
|
|
this.documents = {};
|
|
/**
|
|
* Current document.
|
|
*
|
|
* @type {Document}
|
|
*/
|
|
|
|
this.currentDocument = null;
|
|
this.saveInitialDocumentToCache();
|
|
}
|
|
}, {
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'editor/documents';
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultCommandsInternal",
|
|
value: function defaultCommandsInternal() {
|
|
return this.importCommands(internalCommands);
|
|
}
|
|
/**
|
|
* Function add().
|
|
*
|
|
* Add's document to the manager.
|
|
*
|
|
* @param {Document} document
|
|
*
|
|
* @returns {Document}
|
|
*/
|
|
|
|
}, {
|
|
key: "add",
|
|
value: function add(document) {
|
|
var id = document.id; // Save the document.
|
|
|
|
this.documents[id] = document;
|
|
return document;
|
|
}
|
|
/**
|
|
* Function addDocumentByConfig().
|
|
*
|
|
* Add document to manager by config.
|
|
*
|
|
* @param {{}} config
|
|
*
|
|
* @returns {Document}
|
|
*/
|
|
|
|
}, {
|
|
key: "addDocumentByConfig",
|
|
value: function addDocumentByConfig(config) {
|
|
return this.add(new _document.default(config));
|
|
}
|
|
/**
|
|
* Function get().
|
|
*
|
|
* Get document by id.
|
|
*
|
|
* @param {number} id
|
|
*
|
|
* @returns {Document|boolean}
|
|
*/
|
|
|
|
}, {
|
|
key: "get",
|
|
value: function get(id) {
|
|
if (undefined !== this.documents[id]) {
|
|
return this.documents[id];
|
|
}
|
|
|
|
return false;
|
|
}
|
|
/**
|
|
* Function getCurrent().
|
|
*
|
|
* Return's current document.
|
|
*
|
|
* @returns {Document}
|
|
*/
|
|
|
|
}, {
|
|
key: "getCurrent",
|
|
value: function getCurrent() {
|
|
return this.currentDocument;
|
|
}
|
|
/**
|
|
* Function getCurrentId().
|
|
*
|
|
* Return's current document id.
|
|
*
|
|
* @returns {number}
|
|
*/
|
|
|
|
}, {
|
|
key: "getCurrentId",
|
|
value: function getCurrentId() {
|
|
return this.currentDocument.id;
|
|
}
|
|
/**
|
|
* Function setCurrent().
|
|
*
|
|
* set current document by document instance.
|
|
*
|
|
* @param {Document} document
|
|
*/
|
|
|
|
}, {
|
|
key: "setCurrent",
|
|
value: function setCurrent(document) {
|
|
if (undefined === this.documents[document.id]) {
|
|
throw Error("The document with id: '".concat(document.id, "' does not exist/loaded"));
|
|
}
|
|
|
|
if (this.currentDocument) {
|
|
this.currentDocument.editor.status = 'closed';
|
|
}
|
|
|
|
this.currentDocument = this.documents[document.id];
|
|
this.currentDocument.editor.status = 'open';
|
|
elementorCommon.ajax.addRequestConstant('editor_post_id', document.id);
|
|
}
|
|
}, {
|
|
key: "isCurrent",
|
|
value: function isCurrent(id) {
|
|
return (0, _parseInt2.default)(id) === this.currentDocument.id;
|
|
}
|
|
}, {
|
|
key: "unsetCurrent",
|
|
value: function unsetCurrent() {
|
|
this.currentDocument = null;
|
|
elementorCommon.ajax.addRequestConstant('editor_post_id', null);
|
|
}
|
|
}, {
|
|
key: "request",
|
|
value: function request(id) {
|
|
return elementorCommon.ajax.load(this.getRequestArgs(id), true);
|
|
}
|
|
}, {
|
|
key: "invalidateCache",
|
|
value: function invalidateCache(id) {
|
|
elementorCommon.ajax.invalidateCache(this.getRequestArgs(id));
|
|
}
|
|
}, {
|
|
key: "getRequestArgs",
|
|
value: function getRequestArgs(id) {
|
|
id = (0, _parseInt2.default)(id);
|
|
return {
|
|
action: 'get_document_config',
|
|
unique_id: "document-".concat(id),
|
|
data: {
|
|
id: id
|
|
},
|
|
success: function success(config) {
|
|
return config;
|
|
},
|
|
error: function error(data) {
|
|
var message;
|
|
|
|
if (_.isString(data)) {
|
|
message = data;
|
|
} else if (data.statusText) {
|
|
message = elementor.createAjaxErrorMessage(data);
|
|
|
|
if (0 === data.readyState) {
|
|
message += ' ' + elementor.translate('Cannot load editor');
|
|
}
|
|
} else if (data[0] && data[0].code) {
|
|
message = elementor.translate('server_error') + ' ' + data[0].code;
|
|
}
|
|
|
|
alert(message);
|
|
}
|
|
};
|
|
}
|
|
/**
|
|
* Temp: Don't request initial document via ajax.
|
|
* Keep the event `elementor:init` before `preview:loaded`.
|
|
*/
|
|
|
|
}, {
|
|
key: "saveInitialDocumentToCache",
|
|
value: function saveInitialDocumentToCache() {
|
|
var document = elementor.config.initial_document;
|
|
elementorCommon.ajax.addRequestCache(this.getRequestArgs(document.id), document);
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 427 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _isArray = _interopRequireDefault(__webpack_require__(85));
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _itemModel = _interopRequireDefault(__webpack_require__(428));
|
|
|
|
/**
|
|
* TODO: consider refactor this class.
|
|
* TODO: should be `Document/History` component.
|
|
* TODO: should be attached to elementor.history.history + BC.
|
|
*/
|
|
var HistoryManager = /*#__PURE__*/function () {
|
|
function HistoryManager(document) {
|
|
(0, _classCallCheck2.default)(this, HistoryManager);
|
|
(0, _defineProperty2.default)(this, "currentItemID", null);
|
|
(0, _defineProperty2.default)(this, "items", new Backbone.Collection([], {
|
|
model: _itemModel.default
|
|
}));
|
|
(0, _defineProperty2.default)(this, "active", true);
|
|
(0, _defineProperty2.default)(this, "translations", {
|
|
add: elementor.translate('added'),
|
|
change: elementor.translate('edited'),
|
|
disable: elementor.translate('disabled'),
|
|
duplicate: elementor.translate('duplicate'),
|
|
enable: elementor.translate('enabled'),
|
|
move: elementor.translate('moved'),
|
|
paste: elementor.translate('pasted'),
|
|
paste_style: elementor.translate('style_pasted'),
|
|
remove: elementor.translate('removed'),
|
|
reset_style: elementor.translate('style_reset'),
|
|
reset_settings: elementor.translate('settings_reset')
|
|
});
|
|
this.document = document;
|
|
this.currentItem = new Backbone.Model({
|
|
id: 0
|
|
});
|
|
}
|
|
|
|
(0, _createClass2.default)(HistoryManager, [{
|
|
key: "getActionLabel",
|
|
value: function getActionLabel(itemData) {
|
|
// TODO: this function should be static.
|
|
if (this.translations[itemData.type]) {
|
|
return this.translations[itemData.type];
|
|
}
|
|
|
|
return itemData.type;
|
|
}
|
|
}, {
|
|
key: "navigate",
|
|
value: function navigate(isRedo) {
|
|
var currentItem = this.items.find(function (model) {
|
|
return 'not_applied' === model.get('status');
|
|
}),
|
|
currentItemIndex = this.items.indexOf(currentItem),
|
|
requiredIndex = isRedo ? currentItemIndex - 1 : currentItemIndex + 1;
|
|
|
|
if (!isRedo && !currentItem || requiredIndex < 0 || requiredIndex >= this.items.length) {
|
|
return;
|
|
}
|
|
|
|
this.doItem(requiredIndex);
|
|
}
|
|
}, {
|
|
key: "setActive",
|
|
value: function setActive(value) {
|
|
this.active = value;
|
|
}
|
|
}, {
|
|
key: "getActive",
|
|
value: function getActive(value) {
|
|
return this.active;
|
|
}
|
|
}, {
|
|
key: "getItems",
|
|
value: function getItems() {
|
|
return this.items;
|
|
}
|
|
}, {
|
|
key: "startItem",
|
|
value: function startItem(itemData) {
|
|
this.currentItemID = this.addItem(itemData);
|
|
return this.currentItemID;
|
|
}
|
|
}, {
|
|
key: "endItem",
|
|
value: function endItem(id) {
|
|
if (this.currentItemID !== id) {
|
|
return;
|
|
}
|
|
|
|
this.currentItemID = null;
|
|
}
|
|
}, {
|
|
key: "deleteItem",
|
|
value: function deleteItem(id) {
|
|
var item = this.items.findWhere({
|
|
id: id
|
|
});
|
|
this.items.remove(item);
|
|
this.currentItemID = null;
|
|
}
|
|
}, {
|
|
key: "isItemStarted",
|
|
value: function isItemStarted() {
|
|
return null !== this.currentItemID;
|
|
}
|
|
}, {
|
|
key: "getCurrentId",
|
|
value: function getCurrentId() {
|
|
return this.currentItemID;
|
|
}
|
|
}, {
|
|
key: "addItem",
|
|
value: function addItem(itemData) {
|
|
if (!this.getActive()) {
|
|
return;
|
|
}
|
|
|
|
if (!this.items.length) {
|
|
this.items.add({
|
|
status: 'not_applied',
|
|
title: elementor.translate('editing_started'),
|
|
subTitle: '',
|
|
action: '',
|
|
editing_started: true
|
|
});
|
|
} // Remove old applied items from top of list
|
|
|
|
|
|
while (this.items.length && 'applied' === this.items.first().get('status')) {
|
|
this.items.shift();
|
|
}
|
|
|
|
var id = this.currentItemID ? this.currentItemID : new Date().getTime();
|
|
var currentItem = this.items.findWhere({
|
|
id: id
|
|
});
|
|
|
|
if (!currentItem) {
|
|
currentItem = new _itemModel.default({
|
|
id: id,
|
|
title: itemData.title,
|
|
subTitle: itemData.subTitle,
|
|
action: this.getActionLabel(itemData),
|
|
type: itemData.type
|
|
});
|
|
this.startItemTitle = '';
|
|
this.startItemAction = '';
|
|
}
|
|
|
|
currentItem.get('items').add(itemData, {
|
|
at: 0
|
|
});
|
|
this.items.add(currentItem, {
|
|
at: 0
|
|
});
|
|
this.updateCurrentItem(currentItem);
|
|
return id;
|
|
}
|
|
}, {
|
|
key: "doItem",
|
|
value: function doItem(index) {
|
|
// Don't track while restoring the item
|
|
this.setActive(false);
|
|
var item = this.items.at(index);
|
|
|
|
if ('not_applied' === item.get('status')) {
|
|
this.undoItem(index);
|
|
} else {
|
|
this.redoItem(index);
|
|
}
|
|
|
|
this.setActive(true);
|
|
var panel = elementor.getPanelView(),
|
|
panelPage = panel.getCurrentPageView(),
|
|
editedElementView = panelPage.getOption('editedElementView');
|
|
var viewToScroll;
|
|
|
|
if ($e.routes.isPartOf('panel/editor') && editedElementView) {
|
|
if (editedElementView.isDestroyed) {
|
|
// If the the element isn't exist - show the history panel
|
|
$e.route('panel/history/actions');
|
|
} else {
|
|
// If element exist - render again, maybe the settings has been changed
|
|
viewToScroll = editedElementView;
|
|
}
|
|
} else if (item instanceof Backbone.Model && item.get('items').length) {
|
|
var historyItem = item.get('items').first();
|
|
|
|
if (historyItem.get('restore')) {
|
|
var container = 'sub-add' === historyItem.get('type') ? historyItem.get('data').containerToRestore : historyItem.get('container') || historyItem.get('containers');
|
|
|
|
if ((0, _isArray.default)(container)) {
|
|
container = container[0];
|
|
}
|
|
|
|
if (container) {
|
|
viewToScroll = container.lookup().view;
|
|
}
|
|
}
|
|
}
|
|
|
|
$e.internal('document/save/set-is-modified', {
|
|
status: item.get('id') !== this.document.editor.lastSaveHistoryId
|
|
});
|
|
this.updateCurrentItem(item);
|
|
|
|
if (viewToScroll && !elementor.helpers.isInViewport(viewToScroll.$el[0], elementor.$previewContents.find('html')[0])) {
|
|
elementor.helpers.scrollToView(viewToScroll.$el);
|
|
}
|
|
}
|
|
}, {
|
|
key: "undoItem",
|
|
value: function undoItem(index) {
|
|
for (var stepNum = 0; stepNum < index; stepNum++) {
|
|
var item = this.items.at(stepNum);
|
|
|
|
if ('not_applied' === item.get('status')) {
|
|
item.get('items').each(function (subItem) {
|
|
var restore = subItem.get('restore');
|
|
|
|
if (restore) {
|
|
restore(subItem);
|
|
}
|
|
});
|
|
item.set('status', 'applied');
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
key: "redoItem",
|
|
value: function redoItem(index) {
|
|
for (var stepNum = this.items.length - 1; stepNum >= index; stepNum--) {
|
|
var item = this.items.at(stepNum);
|
|
|
|
if ('applied' === item.get('status')) {
|
|
var reversedSubItems = _.toArray(item.get('items').models).reverse();
|
|
|
|
_(reversedSubItems).each(function (subItem) {
|
|
var restore = subItem.get('restore');
|
|
|
|
if (restore) {
|
|
restore(subItem, true);
|
|
}
|
|
});
|
|
|
|
item.set('status', 'not_applied');
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
key: "updateCurrentItem",
|
|
value: function updateCurrentItem(item) {
|
|
// Save last selected item.
|
|
this.currentItem = item;
|
|
this.updatePanelPageCurrentItem();
|
|
}
|
|
}, {
|
|
key: "updatePanelPageCurrentItem",
|
|
value: function updatePanelPageCurrentItem() {
|
|
if ($e.routes.is('panel/history/actions')) {
|
|
elementor.getPanelView().getCurrentPageView().getCurrentTab().updateCurrentItem();
|
|
}
|
|
}
|
|
}]);
|
|
return HistoryManager;
|
|
}();
|
|
|
|
exports.default = HistoryManager;
|
|
|
|
/***/ }),
|
|
/* 428 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Backbone.Model.extend({
|
|
defaults: {
|
|
id: 0,
|
|
type: '',
|
|
status: 'not_applied',
|
|
title: '',
|
|
subTitle: '',
|
|
action: '',
|
|
history: {}
|
|
},
|
|
initialize: function initialize() {
|
|
this.set('items', new Backbone.Collection());
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 429 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var RevisionsCollection = __webpack_require__(430);
|
|
/**
|
|
* TODO: consider refactor this class.
|
|
* TODO: Rename to RevisionsModule.
|
|
*/
|
|
|
|
|
|
var RevisionsManager = /*#__PURE__*/function () {
|
|
function RevisionsManager(document) {
|
|
(0, _classCallCheck2.default)(this, RevisionsManager);
|
|
(0, _defineProperty2.default)(this, "document", void 0);
|
|
(0, _defineProperty2.default)(this, "revisions", void 0);
|
|
this.document = document;
|
|
}
|
|
|
|
(0, _createClass2.default)(RevisionsManager, [{
|
|
key: "getItems",
|
|
value: function getItems() {
|
|
return this.revisions;
|
|
}
|
|
}, {
|
|
key: "requestRevisions",
|
|
value: function requestRevisions(callback) {
|
|
var _this = this;
|
|
|
|
if (this.revisions) {
|
|
callback(this.revisions);
|
|
return;
|
|
}
|
|
|
|
elementorCommon.ajax.addRequest('get_revisions', {
|
|
success: function success(data) {
|
|
_this.revisions = new RevisionsCollection(data);
|
|
|
|
_this.revisions.on('update', _this.onRevisionsUpdate.bind(_this));
|
|
|
|
callback(_this.revisions);
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "setEditorData",
|
|
value: function setEditorData(data) {
|
|
var collection = elementor.getPreviewView().collection;
|
|
collection.reset(data);
|
|
}
|
|
}, {
|
|
key: "getRevisionDataAsync",
|
|
value: function getRevisionDataAsync(id, options) {
|
|
_.extend(options, {
|
|
data: {
|
|
id: id
|
|
}
|
|
});
|
|
|
|
return elementorCommon.ajax.addRequest('get_revision_data', options);
|
|
}
|
|
}, {
|
|
key: "addRevisions",
|
|
value: function addRevisions(items) {
|
|
var _this2 = this;
|
|
|
|
this.requestRevisions(function () {
|
|
items.forEach(function (item) {
|
|
var existedModel = _this2.revisions.findWhere({
|
|
id: item.id
|
|
});
|
|
|
|
if (existedModel) {
|
|
_this2.revisions.remove(existedModel, {
|
|
silent: true
|
|
});
|
|
}
|
|
|
|
_this2.revisions.add(item, {
|
|
silent: true
|
|
});
|
|
});
|
|
|
|
_this2.revisions.trigger('update');
|
|
});
|
|
}
|
|
}, {
|
|
key: "deleteRevision",
|
|
value: function deleteRevision(revisionModel, options) {
|
|
var params = {
|
|
data: {
|
|
id: revisionModel.get('id')
|
|
},
|
|
success: function success() {
|
|
if (options.success) {
|
|
options.success();
|
|
}
|
|
|
|
revisionModel.destroy();
|
|
}
|
|
};
|
|
|
|
if (options.error) {
|
|
params.error = options.error;
|
|
}
|
|
|
|
elementorCommon.ajax.addRequest('delete_revision', params);
|
|
}
|
|
}, {
|
|
key: "onRevisionsUpdate",
|
|
value: function onRevisionsUpdate() {
|
|
if ($e.routes.is('panel/history/revisions')) {
|
|
$e.routes.refreshContainer('panel');
|
|
}
|
|
}
|
|
}]);
|
|
return RevisionsManager;
|
|
}();
|
|
|
|
exports.default = RevisionsManager;
|
|
|
|
/***/ }),
|
|
/* 430 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var RevisionModel = __webpack_require__(431);
|
|
|
|
module.exports = Backbone.Collection.extend({
|
|
model: RevisionModel,
|
|
comparator: function comparator(model) {
|
|
return -model.get('timestamp');
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 431 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var RevisionModel;
|
|
RevisionModel = Backbone.Model.extend();
|
|
|
|
RevisionModel.prototype.sync = function () {
|
|
return null;
|
|
};
|
|
|
|
module.exports = RevisionModel;
|
|
|
|
/***/ }),
|
|
/* 432 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Close", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _close.Close;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Preview", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _preview.Preview;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Switch", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _switch.Switch;
|
|
}
|
|
});
|
|
|
|
var _close = __webpack_require__(433);
|
|
|
|
var _open = __webpack_require__(434);
|
|
|
|
var _preview = __webpack_require__(435);
|
|
|
|
var _switch = __webpack_require__(436);
|
|
|
|
/***/ }),
|
|
/* 433 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Close = void 0;
|
|
|
|
var _regenerator = _interopRequireDefault(__webpack_require__(83));
|
|
|
|
__webpack_require__(66);
|
|
|
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(84));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Close = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Close, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Close);
|
|
|
|
function Close() {
|
|
(0, _classCallCheck2.default)(this, Close);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Close, [{
|
|
key: "validateArgs",
|
|
value: function validateArgs(args) {
|
|
this.requireArgument('id', args);
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function () {
|
|
var _apply = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(args) {
|
|
var id, mode, onClose, document, deferred;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
id = args.id, mode = args.mode, onClose = args.onClose, document = elementor.documents.get(id); // Already closed.
|
|
|
|
if (!('closed' === document.editor.status)) {
|
|
_context.next = 3;
|
|
break;
|
|
}
|
|
|
|
return _context.abrupt("return", jQuery.Deferred().resolve());
|
|
|
|
case 3:
|
|
if (!(!mode && (document.editor.isChanged || document.isDraft()))) {
|
|
_context.next = 7;
|
|
break;
|
|
}
|
|
|
|
deferred = jQuery.Deferred();
|
|
this.getConfirmDialog(deferred).show();
|
|
return _context.abrupt("return", deferred.promise());
|
|
|
|
case 7:
|
|
_context.t0 = mode;
|
|
_context.next = _context.t0 === 'autosave' ? 10 : _context.t0 === 'save' ? 13 : _context.t0 === 'discard' ? 16 : 19;
|
|
break;
|
|
|
|
case 10:
|
|
_context.next = 12;
|
|
return $e.run('document/save/auto');
|
|
|
|
case 12:
|
|
return _context.abrupt("break", 19);
|
|
|
|
case 13:
|
|
_context.next = 15;
|
|
return $e.run('document/save/update');
|
|
|
|
case 15:
|
|
return _context.abrupt("break", 19);
|
|
|
|
case 16:
|
|
_context.next = 18;
|
|
return $e.run('document/save/discard', {
|
|
document: document
|
|
});
|
|
|
|
case 18:
|
|
return _context.abrupt("break", 19);
|
|
|
|
case 19:
|
|
$e.internal('editor/documents/unload', {
|
|
document: document
|
|
});
|
|
|
|
if (!onClose) {
|
|
_context.next = 23;
|
|
break;
|
|
}
|
|
|
|
_context.next = 23;
|
|
return onClose(document);
|
|
|
|
case 23:
|
|
return _context.abrupt("return", jQuery.Deferred().resolve());
|
|
|
|
case 24:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
|
|
function apply(_x) {
|
|
return _apply.apply(this, arguments);
|
|
}
|
|
|
|
return apply;
|
|
}()
|
|
}, {
|
|
key: "getConfirmDialog",
|
|
value: function getConfirmDialog(deferred) {
|
|
var _this = this;
|
|
|
|
if (this.confirmDialog) {
|
|
return this.confirmDialog;
|
|
}
|
|
|
|
this.confirmDialog = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
id: 'elementor-document-save-on-close',
|
|
headerMessage: elementor.translate('Save Changes'),
|
|
message: elementor.translate('Would you like to save the changes you\'ve made?'),
|
|
position: {
|
|
my: 'center center',
|
|
at: 'center center'
|
|
},
|
|
strings: {
|
|
confirm: elementor.translate('Save'),
|
|
cancel: elementor.translate('Discard')
|
|
},
|
|
onHide: function onHide() {
|
|
// If still not action chosen. use `defer` because onHide is called before onConfirm/onCancel.
|
|
_.defer(function () {
|
|
if (!_this.args.mode) {
|
|
deferred.reject('Close document has been canceled.');
|
|
}
|
|
});
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
_this.args.mode = 'save'; // Re-run with same args.
|
|
|
|
$e.run('editor/documents/close', _this.args).then(function () {
|
|
deferred.resolve();
|
|
});
|
|
},
|
|
onCancel: function onCancel() {
|
|
_this.args.mode = 'discard'; // Re-run with same args.
|
|
|
|
$e.run('editor/documents/close', _this.args).then(function () {
|
|
deferred.resolve();
|
|
});
|
|
}
|
|
});
|
|
return this.confirmDialog;
|
|
}
|
|
}]);
|
|
return Close;
|
|
}(_commandBase.default);
|
|
|
|
exports.Close = Close;
|
|
var _default = Close;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 434 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "validateArgs",
|
|
value: function validateArgs(args) {
|
|
this.requireArgument('id', args);
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var id = args.id,
|
|
currentDocument = elementor.documents.getCurrent(); // Already opened.
|
|
|
|
if (currentDocument && id === currentDocument.id) {
|
|
return jQuery.Deferred().resolve();
|
|
} // TODO: move to $e.hooks.ui.
|
|
|
|
|
|
if (elementor.loaded) {
|
|
elementor.$previewContents.find(".elementor-".concat(id)).addClass('loading');
|
|
}
|
|
|
|
return elementor.documents.request(id).then(function (config) {
|
|
elementorCommon.elements.$body.addClass("elementor-editor-".concat(config.type)); // Tell the editor to load the document.
|
|
|
|
$e.internal('editor/documents/load', {
|
|
config: config
|
|
});
|
|
}).always(function () {
|
|
// TODO: move to $e.hooks.ui.
|
|
if (elementor.loaded) {
|
|
elementor.$previewContents.find(".elementor-".concat(id)).removeClass('loading');
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 435 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Preview = void 0;
|
|
|
|
var _regenerator = _interopRequireDefault(__webpack_require__(83));
|
|
|
|
__webpack_require__(66);
|
|
|
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(84));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Preview = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Preview, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Preview);
|
|
|
|
function Preview() {
|
|
(0, _classCallCheck2.default)(this, Preview);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Preview, [{
|
|
key: "validateArgs",
|
|
value: function validateArgs(args) {
|
|
this.requireArgument('id', args);
|
|
} // TODO: Check if blocking is required.
|
|
|
|
}, {
|
|
key: "apply",
|
|
value: function () {
|
|
var _apply = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(args) {
|
|
var id, _$e$components$get, footerSaver, document;
|
|
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
id = args.id, _$e$components$get = $e.components.get('document/save'), footerSaver = _$e$components$get.footerSaver, document = elementor.documents.get(id);
|
|
|
|
if (!document.editor.isChanged) {
|
|
_context.next = 4;
|
|
break;
|
|
}
|
|
|
|
_context.next = 4;
|
|
return $e.run('document/save/auto', {
|
|
force: true
|
|
});
|
|
|
|
case 4:
|
|
// Open immediately in order to avoid popup blockers.
|
|
footerSaver.previewWindow = open(document.config.urls.wp_preview, "wp-preview-".concat(document.id));
|
|
|
|
case 5:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee);
|
|
}));
|
|
|
|
function apply(_x) {
|
|
return _apply.apply(this, arguments);
|
|
}
|
|
|
|
return apply;
|
|
}()
|
|
}]);
|
|
return Preview;
|
|
}(_commandBase.default);
|
|
|
|
exports.Preview = Preview;
|
|
var _default = Preview;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 436 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Switch = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Switch = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Switch, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Switch);
|
|
|
|
function Switch() {
|
|
(0, _classCallCheck2.default)(this, Switch);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Switch, [{
|
|
key: "validateArgs",
|
|
value: function validateArgs(args) {
|
|
this.requireArgument('id', args);
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var id = args.id,
|
|
mode = args.mode,
|
|
onClose = args.onClose;
|
|
return $e.run('editor/documents/close', {
|
|
id: elementor.documents.getCurrentId(),
|
|
mode: mode,
|
|
onClose: onClose
|
|
}).then(function () {
|
|
return $e.run('editor/documents/open', {
|
|
id: id
|
|
});
|
|
});
|
|
}
|
|
}]);
|
|
return Switch;
|
|
}(_commandBase.default);
|
|
|
|
exports.Switch = Switch;
|
|
var _default = Switch;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 437 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "AttachPreview", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _attachPreview.AttachPreview;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Load", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _load.Load;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Unload", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _unload.Unload;
|
|
}
|
|
});
|
|
|
|
var _attachPreview = __webpack_require__(438);
|
|
|
|
var _load = __webpack_require__(439);
|
|
|
|
var _unload = __webpack_require__(441);
|
|
|
|
/***/ }),
|
|
/* 438 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.AttachPreview = void 0;
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _promise = _interopRequireDefault(__webpack_require__(137));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandInternalBase = _interopRequireDefault(__webpack_require__(203));
|
|
|
|
var AttachPreview = /*#__PURE__*/function (_CommandInternalBaseB) {
|
|
(0, _inherits2.default)(AttachPreview, _CommandInternalBaseB);
|
|
|
|
var _super = (0, _createSuper2.default)(AttachPreview);
|
|
|
|
function AttachPreview() {
|
|
(0, _classCallCheck2.default)(this, AttachPreview);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(AttachPreview, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
var _this = this;
|
|
|
|
var document = elementor.documents.getCurrent();
|
|
return $e.data.get('globals/index').then(function () {
|
|
elementor.trigger('globals:loaded');
|
|
return _this.attachDocumentToPreview(document);
|
|
}).then(function () {
|
|
elementor.toggleDocumentCssFiles(document, false);
|
|
elementor.onEditModeSwitched();
|
|
elementor.checkPageStatus();
|
|
elementor.trigger('document:loaded', document);
|
|
$e.internal('panel/open-default', {
|
|
refresh: true
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "attachDocumentToPreview",
|
|
value: function attachDocumentToPreview(document) {
|
|
return new _promise.default(function (resolve, reject) {
|
|
// Not yet loaded.
|
|
if (!document) {
|
|
return reject();
|
|
}
|
|
|
|
if (!document.config.elements) {
|
|
return resolve();
|
|
}
|
|
|
|
document.$element = elementor.$previewContents.find('.elementor-' + document.id);
|
|
|
|
if (!document.$element.length) {
|
|
elementor.onPreviewElNotFound();
|
|
return reject();
|
|
}
|
|
|
|
document.$element.addClass('elementor-edit-area elementor-edit-mode'); // If not the same document.
|
|
|
|
if (document.id !== elementor.config.initial_document.id) {
|
|
elementor.$previewElementorEl.addClass('elementor-embedded-editor');
|
|
}
|
|
|
|
elementor.initElements();
|
|
elementor.initPreviewView(document);
|
|
document.container.view = elementor.getPreviewView();
|
|
document.container.model.attributes.elements = elementor.elements;
|
|
elementor.helpers.scrollToView(document.$element);
|
|
document.$element.addClass('elementor-edit-area-active').removeClass('elementor-editor-preview');
|
|
resolve();
|
|
});
|
|
}
|
|
}]);
|
|
return AttachPreview;
|
|
}(_commandInternalBase.default);
|
|
|
|
exports.AttachPreview = AttachPreview;
|
|
var _default = AttachPreview;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 439 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Load = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandInternalBase = _interopRequireDefault(__webpack_require__(203));
|
|
|
|
var _document = _interopRequireDefault(__webpack_require__(320));
|
|
|
|
var _heartbeat = _interopRequireDefault(__webpack_require__(440));
|
|
|
|
var Load = /*#__PURE__*/function (_CommandInternalBase) {
|
|
(0, _inherits2.default)(Load, _CommandInternalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Load);
|
|
|
|
function Load() {
|
|
(0, _classCallCheck2.default)(this, Load);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Load, [{
|
|
key: "validateArgs",
|
|
value: function validateArgs() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
this.requireArgument('config', args);
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var config = args.config;
|
|
elementor.config.document = config;
|
|
elementor.setAjax();
|
|
elementor.addWidgetsCache(config.widgets);
|
|
elementor.templates.init();
|
|
var document = new _document.default(config);
|
|
elementor.documents.add(document); // Must set current before create a container.
|
|
|
|
elementor.documents.setCurrent(document);
|
|
elementor.settings.page = new elementor.settings.modules.page(config.settings);
|
|
document.container = elementor.settings.page.getEditedView().getContainer(); // Reference container back to document.
|
|
|
|
document.container.document = document;
|
|
elementor.heartbeat = new _heartbeat.default(document);
|
|
var isOldPageVersion = elementor.config.document.version && elementor.helpers.compareVersions(elementor.config.document.version, '2.5.0', '<');
|
|
|
|
if (!elementor.config.user.introduction.flexbox && isOldPageVersion) {
|
|
elementor.showFlexBoxAttentionDialog();
|
|
}
|
|
|
|
if (elementor.loaded) {
|
|
// TODO: Find better solution - Fix issue when globals does not render after saving from kit.
|
|
// The issue is that the css-parser is depends upon cache and cache is not available during this time.
|
|
$e.data.get('globals/index').then(function () {
|
|
return $e.internal('editor/documents/attach-preview');
|
|
});
|
|
}
|
|
|
|
return document;
|
|
}
|
|
}]);
|
|
return Load;
|
|
}(_commandInternalBase.default);
|
|
|
|
exports.Load = Load;
|
|
var _default = Load;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 440 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var Heartbeat = /*#__PURE__*/function () {
|
|
function Heartbeat(document) {
|
|
var _this = this;
|
|
|
|
(0, _classCallCheck2.default)(this, Heartbeat);
|
|
(0, _defineProperty2.default)(this, "modal", null);
|
|
(0, _defineProperty2.default)(this, "document", null);
|
|
(0, _defineProperty2.default)(this, "getModal", function () {
|
|
if (!_this.modal) {
|
|
_this.modal = _this.initModal();
|
|
}
|
|
|
|
return _this.modal;
|
|
});
|
|
this.document = document;
|
|
this.onSend = this.onSend.bind(this);
|
|
this.onTick = this.onTick.bind(this);
|
|
this.onRefreshNonce = this.onRefreshNonce.bind(this);
|
|
this.bindEvents();
|
|
wp.heartbeat.connectNow();
|
|
}
|
|
|
|
(0, _createClass2.default)(Heartbeat, [{
|
|
key: "initModal",
|
|
value: function initModal() {
|
|
var modal = elementorCommon.dialogsManager.createWidget('lightbox', {
|
|
headerMessage: elementor.translate('take_over')
|
|
});
|
|
modal.addButton({
|
|
name: 'go_back',
|
|
text: elementor.translate('go_back'),
|
|
callback: function callback() {
|
|
parent.history.go(-1);
|
|
}
|
|
});
|
|
modal.addButton({
|
|
name: 'take_over',
|
|
text: elementor.translate('take_over'),
|
|
callback: function callback() {
|
|
wp.heartbeat.enqueue('elementor_force_post_lock', true);
|
|
wp.heartbeat.connectNow();
|
|
}
|
|
});
|
|
return modal;
|
|
}
|
|
}, {
|
|
key: "showLockMessage",
|
|
value: function showLockMessage(lockedUser) {
|
|
var modal = this.getModal();
|
|
modal.setMessage(elementor.translate('dialog_user_taken_over', [lockedUser])).show();
|
|
}
|
|
}, {
|
|
key: "onSend",
|
|
value: function onSend(event, data) {
|
|
data.elementor_post_lock = {
|
|
post_ID: this.document.id
|
|
};
|
|
}
|
|
}, {
|
|
key: "onTick",
|
|
value: function onTick(event, response) {
|
|
if (response.locked_user) {
|
|
if (this.document.editor.isChanged) {
|
|
$e.run('document/save/auto', {
|
|
document: this.document
|
|
});
|
|
}
|
|
|
|
this.showLockMessage(response.locked_user);
|
|
} else {
|
|
this.getModal().hide();
|
|
}
|
|
|
|
elementorCommon.ajax.addRequestConstant('_nonce', response.elementorNonce);
|
|
}
|
|
}, {
|
|
key: "onRefreshNonce",
|
|
value: function onRefreshNonce(event, response) {
|
|
var nonces = response['elementor-refresh-nonces'];
|
|
|
|
if (nonces) {
|
|
if (nonces.heartbeatNonce) {
|
|
elementorCommon.ajax.addRequestConstant('_nonce', nonces.elementorNonce);
|
|
}
|
|
|
|
if (nonces.heartbeatNonce) {
|
|
window.heartbeatSettings.nonce = nonces.heartbeatNonce;
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
key: "bindEvents",
|
|
value: function bindEvents() {
|
|
jQuery(document).on({
|
|
'heartbeat-send': this.onSend,
|
|
'heartbeat-tick': this.onTick,
|
|
'heartbeat-tick.wp-refresh-nonces': this.onRefreshNonce
|
|
});
|
|
}
|
|
}, {
|
|
key: "destroy",
|
|
value: function destroy() {
|
|
jQuery(document).off({
|
|
'heartbeat-send': this.onSend,
|
|
'heartbeat-tick': this.onTick,
|
|
'heartbeat-tick.wp-refresh-nonces': this.onRefreshNonce
|
|
});
|
|
}
|
|
}]);
|
|
return Heartbeat;
|
|
}();
|
|
|
|
exports.default = Heartbeat;
|
|
|
|
/***/ }),
|
|
/* 441 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Unload = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandInternalBase = _interopRequireDefault(__webpack_require__(203));
|
|
|
|
var _document = _interopRequireDefault(__webpack_require__(320));
|
|
|
|
var Unload = /*#__PURE__*/function (_CommandInternalBase) {
|
|
(0, _inherits2.default)(Unload, _CommandInternalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Unload);
|
|
|
|
function Unload() {
|
|
(0, _classCallCheck2.default)(this, Unload);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Unload, [{
|
|
key: "validateArgs",
|
|
value: function validateArgs() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
this.requireArgumentConstructor('document', _document.default, args);
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var document = args.document;
|
|
|
|
if (document.id !== elementor.config.document.id) {
|
|
return;
|
|
}
|
|
|
|
elementor.elements = [];
|
|
elementor.saver.stopAutoSave(document);
|
|
elementor.channels.dataEditMode.trigger('switch', 'preview');
|
|
|
|
if (document.$element) {
|
|
document.$element.removeClass('elementor-edit-area-active elementor-edit-mode').addClass('elementor-editor-preview');
|
|
}
|
|
|
|
elementorCommon.elements.$body.removeClass("elementor-editor-".concat(document.config.type));
|
|
elementor.settings.page.destroy();
|
|
elementor.heartbeat.destroy();
|
|
document.editor.status = 'closed';
|
|
elementor.config.document = {};
|
|
elementor.documents.unsetCurrent();
|
|
elementor.trigger('document:unloaded', document);
|
|
}
|
|
}]);
|
|
return Unload;
|
|
}(_commandInternalBase.default);
|
|
|
|
exports.Unload = Unload;
|
|
var _default = Unload;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 442 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/history';
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {
|
|
actions: {
|
|
title: elementor.translate('actions')
|
|
},
|
|
revisions: {
|
|
title: elementor.translate('revisions')
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
actions: {
|
|
keys: 'ctrl+shift+h'
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab) {
|
|
elementor.getPanelView().setPage('historyPage').showView(tab);
|
|
}
|
|
}, {
|
|
key: "activate",
|
|
value: function activate() {
|
|
// Activate the tab component itself.
|
|
$e.components.activate(this.getTabRoute(this.currentTab));
|
|
}
|
|
}, {
|
|
key: "getTabsWrapperSelector",
|
|
value: function getTabsWrapperSelector() {
|
|
return '#elementor-panel-elements-navigation';
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 443 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(350));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/history/actions';
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
undo: {
|
|
keys: 'ctrl+z',
|
|
exclude: ['input'],
|
|
scopes: ['panel', 'navigator']
|
|
},
|
|
redo: {
|
|
keys: 'ctrl+shift+z, ctrl+y',
|
|
exclude: ['input'],
|
|
scopes: ['panel', 'navigator']
|
|
}
|
|
};
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 444 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(445));
|
|
|
|
var hooks = _interopRequireWildcard(__webpack_require__(448));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/history/revisions';
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultHooks",
|
|
value: function defaultHooks() {
|
|
return this.importHooks(hooks);
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
up: {
|
|
keys: 'up',
|
|
scopes: [this.getNamespace()]
|
|
},
|
|
down: {
|
|
keys: 'down',
|
|
scopes: [this.getNamespace()]
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "navigate",
|
|
value: function navigate(up) {
|
|
if (elementor.documents.getCurrent().revisions.getItems().length > 1) {
|
|
elementor.getPanelView().getCurrentPageView().currentTab.navigate(up);
|
|
}
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 445 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Down", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _down.Down;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Up", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _up.Up;
|
|
}
|
|
});
|
|
|
|
var _down = __webpack_require__(446);
|
|
|
|
var _up = __webpack_require__(447);
|
|
|
|
/***/ }),
|
|
/* 446 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Down = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Down = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Down, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Down);
|
|
|
|
function Down() {
|
|
(0, _classCallCheck2.default)(this, Down);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Down, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
this.component.navigate();
|
|
}
|
|
}]);
|
|
return Down;
|
|
}(_commandBase.default);
|
|
|
|
exports.Down = Down;
|
|
var _default = Down;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 447 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Up = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Up = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Up, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Up);
|
|
|
|
function Up() {
|
|
(0, _classCallCheck2.default)(this, Up);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Up, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
this.component.navigate(true);
|
|
}
|
|
}]);
|
|
return Up;
|
|
}(_commandBase.default);
|
|
|
|
exports.Up = Up;
|
|
var _default = Up;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 448 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "RevisionsAfterSave", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _save.RevisionsAfterSave;
|
|
}
|
|
});
|
|
|
|
var _save = __webpack_require__(449);
|
|
|
|
/***/ }),
|
|
/* 449 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.RevisionsAfterSave = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _after = _interopRequireDefault(__webpack_require__(224));
|
|
|
|
var RevisionsAfterSave = /*#__PURE__*/function (_HookDataAfter) {
|
|
(0, _inherits2.default)(RevisionsAfterSave, _HookDataAfter);
|
|
|
|
var _super = (0, _createSuper2.default)(RevisionsAfterSave);
|
|
|
|
function RevisionsAfterSave() {
|
|
(0, _classCallCheck2.default)(this, RevisionsAfterSave);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(RevisionsAfterSave, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'document/save/save';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'revisions-after-save';
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args, result) {
|
|
var data = result.data,
|
|
revisionsModule = elementor.documents.getCurrent().revisions;
|
|
|
|
if (data.latest_revisions) {
|
|
revisionsModule.addRevisions(data.latest_revisions);
|
|
}
|
|
|
|
revisionsModule.requestRevisions(function () {
|
|
if (data.revisions_ids) {
|
|
var revisionsToKeep = revisionsModule.revisions.filter(function (revision) {
|
|
return -1 !== data.revisions_ids.indexOf(revision.get('id'));
|
|
});
|
|
revisionsModule.revisions.reset(revisionsToKeep);
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return RevisionsAfterSave;
|
|
}(_after.default);
|
|
|
|
exports.RevisionsAfterSave = RevisionsAfterSave;
|
|
var _default = RevisionsAfterSave;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 450 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _loading = _interopRequireDefault(__webpack_require__(451));
|
|
|
|
var _tab = _interopRequireDefault(__webpack_require__(452));
|
|
|
|
var _empty = _interopRequireDefault(__webpack_require__(454));
|
|
|
|
var TabHistoryView = __webpack_require__(455);
|
|
|
|
module.exports = Marionette.LayoutView.extend({
|
|
template: '#tmpl-elementor-panel-history-page',
|
|
regions: {
|
|
content: '#elementor-panel-history-content'
|
|
},
|
|
ui: {
|
|
tabs: '.elementor-panel-navigation-tab'
|
|
},
|
|
regionViews: {},
|
|
currentTab: null,
|
|
|
|
/**
|
|
* @type {Document}
|
|
*/
|
|
document: null,
|
|
initialize: function initialize(options) {
|
|
this.document = options.document || elementor.documents.getCurrent();
|
|
this.initRegionViews();
|
|
},
|
|
initRegionViews: function initRegionViews() {
|
|
var _this = this;
|
|
|
|
var historyItems = this.document.history.getItems();
|
|
this.regionViews = {
|
|
actions: {
|
|
view: function view() {
|
|
return TabHistoryView;
|
|
},
|
|
options: {
|
|
collection: historyItems,
|
|
history: this.document.history
|
|
}
|
|
},
|
|
revisions: {
|
|
view: function view() {
|
|
var revisionsItems = _this.document.revisions.getItems();
|
|
|
|
if (!revisionsItems) {
|
|
return _loading.default;
|
|
}
|
|
|
|
if (1 === revisionsItems.length && 'current' === revisionsItems.models[0].get('type')) {
|
|
return _empty.default;
|
|
}
|
|
|
|
return _tab.default;
|
|
},
|
|
options: {
|
|
document: this.document
|
|
}
|
|
}
|
|
};
|
|
},
|
|
getCurrentTab: function getCurrentTab() {
|
|
return this.currentTab;
|
|
},
|
|
showView: function showView(viewName) {
|
|
var viewDetails = this.regionViews[viewName],
|
|
options = viewDetails.options || {},
|
|
View = viewDetails.view();
|
|
|
|
if (this.currentTab && this.currentTab.constructor === View) {
|
|
return;
|
|
}
|
|
|
|
this.currentTab = new View(options);
|
|
this.content.show(this.currentTab);
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 451 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-panel-revisions-loading';
|
|
}
|
|
}, {
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-panel-revisions-loading';
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
this.options.document.revisions.requestRevisions(function () {
|
|
setTimeout(function () {
|
|
return $e.routes.refreshContainer('panel');
|
|
});
|
|
});
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 452 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.CompositeView.extend({
|
|
id: 'elementor-panel-revisions',
|
|
template: '#tmpl-elementor-panel-revisions',
|
|
childView: __webpack_require__(453),
|
|
childViewContainer: '#elementor-revisions-list',
|
|
ui: {
|
|
discard: '.elementor-panel-scheme-discard .elementor-button',
|
|
apply: '.elementor-panel-scheme-save .elementor-button'
|
|
},
|
|
events: {
|
|
'click @ui.discard': 'onDiscardClick',
|
|
'click @ui.apply': 'onApplyClick'
|
|
},
|
|
isRevisionApplied: false,
|
|
currentPreviewId: null,
|
|
currentPreviewItem: null,
|
|
document: null,
|
|
initialize: function initialize(options) {
|
|
this.document = options.document;
|
|
this.collection = this.document.revisions.getItems();
|
|
this.listenTo(elementor.channels.editor, 'saved', this.onEditorSaved);
|
|
this.currentPreviewId = elementor.config.document.revisions.current_id;
|
|
},
|
|
getRevisionViewData: function getRevisionViewData(revisionView) {
|
|
var _this = this;
|
|
|
|
this.document.revisions.getRevisionDataAsync(revisionView.model.get('id'), {
|
|
success: function success(data) {
|
|
if (_this.document.config.panel.has_elements) {
|
|
_this.document.revisions.setEditorData(data.elements);
|
|
}
|
|
|
|
elementor.settings.page.model.set(data.settings);
|
|
|
|
_this.setRevisionsButtonsActive(true);
|
|
|
|
revisionView.$el.removeClass('elementor-revision-item-loading');
|
|
|
|
_this.enterReviewMode();
|
|
},
|
|
error: function error(errorMessage) {
|
|
revisionView.$el.removeClass('elementor-revision-item-loading');
|
|
_this.currentPreviewItem = null;
|
|
_this.currentPreviewId = null;
|
|
alert(errorMessage);
|
|
}
|
|
});
|
|
},
|
|
setRevisionsButtonsActive: function setRevisionsButtonsActive(active) {
|
|
// Check the tab is open.
|
|
if (!this.isDestroyed) {
|
|
this.ui.apply.add(this.ui.discard).prop('disabled', !active);
|
|
}
|
|
},
|
|
deleteRevision: function deleteRevision(revisionView) {
|
|
var _this2 = this;
|
|
|
|
revisionView.$el.addClass('elementor-revision-item-loading');
|
|
this.document.revisions.deleteRevision(revisionView.model, {
|
|
success: function success() {
|
|
if (revisionView.model.get('id') === _this2.currentPreviewId) {
|
|
_this2.onDiscardClick();
|
|
}
|
|
|
|
_this2.currentPreviewId = null;
|
|
},
|
|
error: function error() {
|
|
revisionView.$el.removeClass('elementor-revision-item-loading');
|
|
alert('An error occurred');
|
|
}
|
|
});
|
|
},
|
|
enterReviewMode: function enterReviewMode() {
|
|
elementor.changeEditMode('review');
|
|
},
|
|
exitReviewMode: function exitReviewMode() {
|
|
elementor.changeEditMode('edit');
|
|
},
|
|
navigate: function navigate(reverse) {
|
|
if (!this.currentPreviewId || !this.currentPreviewItem || this.children.length <= 1) {
|
|
return;
|
|
}
|
|
|
|
var currentPreviewItemIndex = this.collection.indexOf(this.currentPreviewItem.model),
|
|
requiredIndex = reverse ? currentPreviewItemIndex - 1 : currentPreviewItemIndex + 1;
|
|
|
|
if (requiredIndex < 0) {
|
|
requiredIndex = this.collection.length - 1;
|
|
}
|
|
|
|
if (requiredIndex >= this.collection.length) {
|
|
requiredIndex = 0;
|
|
}
|
|
|
|
this.children.findByIndex(requiredIndex).ui.detailsArea.trigger('click');
|
|
},
|
|
onEditorSaved: function onEditorSaved() {
|
|
this.exitReviewMode();
|
|
this.setRevisionsButtonsActive(false);
|
|
this.currentPreviewId = elementor.config.document.revisions.current_id;
|
|
},
|
|
onApplyClick: function onApplyClick() {
|
|
$e.internal('document/save/set-is-modified', {
|
|
status: true
|
|
});
|
|
$e.run('document/save/auto', {
|
|
force: true
|
|
});
|
|
this.isRevisionApplied = true;
|
|
this.currentPreviewId = null;
|
|
this.document.history.getItems().reset();
|
|
},
|
|
onDiscardClick: function onDiscardClick() {
|
|
if (this.document.config.panel.has_elements) {
|
|
this.document.revisions.setEditorData(elementor.config.document.elements);
|
|
}
|
|
|
|
$e.internal('document/save/set-is-modified', {
|
|
status: this.isRevisionApplied
|
|
});
|
|
this.isRevisionApplied = false;
|
|
this.setRevisionsButtonsActive(false);
|
|
this.currentPreviewId = null;
|
|
this.exitReviewMode();
|
|
|
|
if (this.currentPreviewItem) {
|
|
this.currentPreviewItem.$el.removeClass('elementor-revision-current-preview');
|
|
}
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
if (this.currentPreviewId && this.currentPreviewId !== elementor.config.document.revisions.current_id) {
|
|
this.onDiscardClick();
|
|
}
|
|
},
|
|
onRenderCollection: function onRenderCollection() {
|
|
if (!this.currentPreviewId) {
|
|
return;
|
|
}
|
|
|
|
var currentPreviewModel = this.collection.findWhere({
|
|
id: this.currentPreviewId
|
|
}); // Ensure the model is exist and not deleted during a save.
|
|
|
|
if (currentPreviewModel) {
|
|
this.currentPreviewItem = this.children.findByModelCid(currentPreviewModel.cid);
|
|
this.currentPreviewItem.$el.addClass('elementor-revision-current-preview');
|
|
}
|
|
},
|
|
onChildviewDetailsAreaClick: function onChildviewDetailsAreaClick(childView) {
|
|
var _this3 = this;
|
|
|
|
var revisionID = childView.model.get('id');
|
|
|
|
if (revisionID === this.currentPreviewId) {
|
|
return;
|
|
}
|
|
|
|
if (this.currentPreviewItem) {
|
|
this.currentPreviewItem.$el.removeClass('elementor-revision-current-preview elementor-revision-item-loading');
|
|
}
|
|
|
|
childView.$el.addClass('elementor-revision-current-preview elementor-revision-item-loading');
|
|
var revision = null === this.currentPreviewId || elementor.config.document.revisions.current_id === this.currentPreviewId;
|
|
|
|
if (revision && elementor.saver.isEditorChanged()) {
|
|
// TODO: Change to 'document/save/auto' ?.
|
|
$e.internal('document/save/save', {
|
|
status: 'autosave',
|
|
onSuccess: function onSuccess() {
|
|
_this3.getRevisionViewData(childView);
|
|
}
|
|
});
|
|
} else {
|
|
this.getRevisionViewData(childView);
|
|
}
|
|
|
|
this.currentPreviewItem = childView;
|
|
this.currentPreviewId = revisionID;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 453 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-revisions-revision-item',
|
|
className: 'elementor-revision-item',
|
|
ui: {
|
|
detailsArea: '.elementor-revision-item__details'
|
|
},
|
|
triggers: {
|
|
'click @ui.detailsArea': 'detailsArea:click'
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 454 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-revisions-no-revisions',
|
|
id: 'elementor-panel-revisions-no-revisions',
|
|
className: 'elementor-nerd-box'
|
|
});
|
|
|
|
/***/ }),
|
|
/* 455 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(302);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _itemView = _interopRequireDefault(__webpack_require__(456));
|
|
|
|
var _empty = _interopRequireDefault(__webpack_require__(457));
|
|
|
|
module.exports = Marionette.CompositeView.extend({
|
|
id: 'elementor-panel-history',
|
|
template: '#tmpl-elementor-panel-history-tab',
|
|
childView: _itemView.default,
|
|
childViewContainer: '#elementor-history-list',
|
|
emptyView: _empty.default,
|
|
currentItem: null,
|
|
updateCurrentItem: function updateCurrentItem() {
|
|
var _this = this;
|
|
|
|
if (this.children.length <= 1) {
|
|
return;
|
|
}
|
|
|
|
_.defer(function () {
|
|
// Set current item - the first not applied item
|
|
var currentItem = _this.collection.find(function (model) {
|
|
return 'not_applied' === model.get('status');
|
|
}),
|
|
currentView = _this.children.findByModel(currentItem);
|
|
|
|
if (!currentView) {
|
|
return;
|
|
}
|
|
|
|
var currentItemClass = 'elementor-history-item-current';
|
|
|
|
if (_this.currentItem) {
|
|
_this.currentItem.removeClass(currentItemClass);
|
|
}
|
|
|
|
_this.currentItem = currentView.$el;
|
|
|
|
_this.currentItem.addClass(currentItemClass);
|
|
});
|
|
},
|
|
onRender: function onRender() {
|
|
this.updateCurrentItem();
|
|
},
|
|
onRenderEmpty: function onRenderEmpty() {
|
|
this.$el.addClass('elementor-empty');
|
|
},
|
|
onChildviewClick: function onChildviewClick(childView, event) {
|
|
if (childView.$el === this.currentItem) {
|
|
return;
|
|
}
|
|
|
|
var collection = event.model.collection,
|
|
index = collection.findIndex(event.model);
|
|
$e.run('panel/history/actions/do', {
|
|
index: index
|
|
});
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 456 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-panel-history-item';
|
|
}
|
|
}, {
|
|
key: "className",
|
|
value: function className() {
|
|
return 'elementor-history-item elementor-history-item-' + this.model.get('status');
|
|
}
|
|
}, {
|
|
key: "triggers",
|
|
value: function triggers() {
|
|
return {
|
|
click: 'click'
|
|
};
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 457 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-panel-history-no-items';
|
|
}
|
|
}, {
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-panel-history-no-items';
|
|
}
|
|
}, {
|
|
key: "onDestroy",
|
|
value: function onDestroy() {
|
|
this._parent.$el.removeClass('elementor-empty');
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 458 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(459));
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$Mod) {
|
|
(0, _inherits2.default)(_default, _elementorModules$Mod);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "onInit",
|
|
value: function onInit() {
|
|
$e.components.register(new _component.default({
|
|
manager: this
|
|
}));
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.Module);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 459 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentModalBase = _interopRequireDefault(__webpack_require__(287));
|
|
|
|
var _modalLayout = _interopRequireDefault(__webpack_require__(460));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentModalBase) {
|
|
(0, _inherits2.default)(Component, _ComponentModalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'shortcuts';
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
'': {
|
|
keys: 'ctrl+?'
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "getModalLayout",
|
|
value: function getModalLayout() {
|
|
return _modalLayout.default;
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentModalBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 460 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get3 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _modalContent = _interopRequireDefault(__webpack_require__(461));
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$com) {
|
|
(0, _inherits2.default)(_default, _elementorModules$com);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getModalOptions",
|
|
value: function getModalOptions() {
|
|
return {
|
|
id: 'elementor-hotkeys__modal'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getLogoOptions",
|
|
value: function getLogoOptions() {
|
|
return {
|
|
title: elementor.translate('keyboard_shortcuts')
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
var _get2;
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
(_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this)).call.apply(_get2, [this].concat(args));
|
|
|
|
this.showLogo();
|
|
this.showContentView();
|
|
}
|
|
}, {
|
|
key: "showContentView",
|
|
value: function showContentView() {
|
|
this.modalContent.show(new _modalContent.default());
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.common.views.modal.Layout);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 461 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _environment = _interopRequireDefault(__webpack_require__(272));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$LayoutVie) {
|
|
(0, _inherits2.default)(_default, _Marionette$LayoutVie);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-hotkeys';
|
|
}
|
|
}, {
|
|
key: "templateHelpers",
|
|
value: function templateHelpers() {
|
|
return {
|
|
environment: _environment.default
|
|
};
|
|
}
|
|
}, {
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-hotkeys';
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.LayoutView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 462 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(60);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _modalLayout = _interopRequireDefault(__webpack_require__(463));
|
|
|
|
var _iconManager = __webpack_require__(464);
|
|
|
|
var _iconLibrary = _interopRequireDefault(__webpack_require__(470));
|
|
|
|
var _store = _interopRequireDefault(__webpack_require__(471));
|
|
|
|
var _reactDom = __webpack_require__(327);
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$Mod) {
|
|
(0, _inherits2.default)(_default, _elementorModules$Mod);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "onInit",
|
|
value: function onInit() {
|
|
// Init icon library helper
|
|
this.library = new _iconLibrary.default(); // Init Icon library Storage helper
|
|
|
|
this.store = new _store.default(); // Fetch fa4 to fa5 migration data
|
|
|
|
elementor.helpers.fetchFa4ToFa5Mapping();
|
|
this.cache = {};
|
|
}
|
|
}, {
|
|
key: "getLayout",
|
|
value: function getLayout() {
|
|
var _this = this;
|
|
|
|
if (!this.layout) {
|
|
this.layout = new _modalLayout.default();
|
|
var layoutModal = this.layout.getModal();
|
|
layoutModal.addButton({
|
|
name: 'insert_icon',
|
|
text: elementor.translate('Insert'),
|
|
classes: 'elementor-button elementor-button-success',
|
|
callback: function callback() {
|
|
_this.updateControlValue();
|
|
|
|
_this.unMountIconManager();
|
|
}
|
|
});
|
|
layoutModal.on('show', this.onPickerShow.bind(this)).on('hide', this.unMountIconManager);
|
|
}
|
|
|
|
return this.layout;
|
|
}
|
|
}, {
|
|
key: "getDefaultSettings",
|
|
value: function getDefaultSettings() {
|
|
return {
|
|
selectedIcon: {}
|
|
};
|
|
}
|
|
}, {
|
|
key: "unMountIconManager",
|
|
value: function unMountIconManager() {
|
|
var containerElement = document.querySelector('#elementor-icons-manager-modal .dialog-content');
|
|
(0, _reactDom.unmountComponentAtNode)(containerElement);
|
|
}
|
|
}, {
|
|
key: "loadIconLibraries",
|
|
value: function loadIconLibraries() {
|
|
if (!this.cache.loaded) {
|
|
elementor.config.icons.libraries.forEach(function (library) {
|
|
if ('all' === library.name) {
|
|
return;
|
|
}
|
|
|
|
elementor.iconManager.library.initIconType(library);
|
|
});
|
|
this.cache.loaded = true;
|
|
}
|
|
}
|
|
}, {
|
|
key: "onPickerShow",
|
|
value: function onPickerShow() {
|
|
var controlView = this.getSettings('controlView'),
|
|
loaded = {
|
|
GoPro: true
|
|
},
|
|
iconManagerConfig = {
|
|
recommended: controlView.model.get('recommended') || false
|
|
};
|
|
var selected = controlView.getControlValue(),
|
|
icons = elementor.config.icons.libraries;
|
|
|
|
if (!selected.library || !selected.value) {
|
|
selected = {
|
|
value: '',
|
|
library: ''
|
|
};
|
|
}
|
|
|
|
iconManagerConfig.selected = selected;
|
|
this.setSettings('selectedIcon', selected);
|
|
|
|
if (iconManagerConfig.recommended) {
|
|
var hasRecommended = false;
|
|
icons.forEach(function (library, index) {
|
|
if ('recommended' === library.name) {
|
|
hasRecommended = true;
|
|
icons[index].icons = iconManagerConfig.recommended;
|
|
}
|
|
});
|
|
|
|
if (!hasRecommended) {
|
|
icons.unshift({
|
|
name: 'recommended',
|
|
label: 'Recommended',
|
|
icons: iconManagerConfig.recommended,
|
|
labelIcon: 'eicon-star-o',
|
|
native: true
|
|
});
|
|
}
|
|
} else {
|
|
icons = icons.filter(function (library) {
|
|
return 'recommended' !== library.name;
|
|
});
|
|
}
|
|
|
|
icons.forEach(function (tab, index) {
|
|
if (-1 === ['all', 'recommended'].indexOf(tab.name)) {
|
|
elementor.iconManager.library.initIconType(tab, function (lib) {
|
|
icons[index] = lib;
|
|
});
|
|
}
|
|
|
|
loaded[tab.name] = true;
|
|
});
|
|
iconManagerConfig.loaded = loaded;
|
|
iconManagerConfig.icons = icons; // Set active tab
|
|
|
|
var activeTab = selected.library || icons[0].name;
|
|
|
|
if ('svg' === selected.library) {
|
|
activeTab = icons[0].name;
|
|
} // selected Library exists
|
|
|
|
|
|
if (!(0, _keys.default)(icons).some(function (library) {
|
|
return library === activeTab;
|
|
})) {
|
|
activeTab = icons[0].name;
|
|
} // Show recommended tab if selected from it
|
|
|
|
|
|
if (iconManagerConfig.recommended && '' !== selected.library && '' !== selected.value && iconManagerConfig.recommended.hasOwnProperty(selected.library)) {
|
|
var iconLibrary = icons.filter(function (library) {
|
|
return selected.library === library.name;
|
|
});
|
|
var selectedIconName = selected.value.replace(iconLibrary[0].displayPrefix + ' ' + iconLibrary[0].prefix, '');
|
|
|
|
if (iconManagerConfig.recommended[selected.library].some(function (icon) {
|
|
return -1 < icon.indexOf(selectedIconName);
|
|
})) {
|
|
activeTab = icons[0].name;
|
|
}
|
|
}
|
|
|
|
iconManagerConfig.customIconsURL = elementor.config.customIconsURL;
|
|
iconManagerConfig.activeTab = activeTab;
|
|
return (0, _iconManager.renderIconManager)(iconManagerConfig);
|
|
}
|
|
}, {
|
|
key: "updateControlValue",
|
|
value: function updateControlValue() {
|
|
var settings = this.getSettings();
|
|
settings.controlView.setValue(settings.selectedIcon);
|
|
settings.controlView.applySavedValue();
|
|
}
|
|
}, {
|
|
key: "show",
|
|
value: function show(options) {
|
|
this.setSettings('controlView', options.view);
|
|
this.getLayout().showModal(options);
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.Module);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 463 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get3 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _layout = _interopRequireDefault(__webpack_require__(355));
|
|
|
|
var _default = /*#__PURE__*/function (_BaseModalLayout) {
|
|
(0, _inherits2.default)(_default, _BaseModalLayout);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getModalOptions",
|
|
value: function getModalOptions() {
|
|
return {
|
|
id: 'elementor-icons-manager-modal'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getLogoOptions",
|
|
value: function getLogoOptions() {
|
|
return {
|
|
title: elementor.translate('icon_library')
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
var _get2;
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
(_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this)).call.apply(_get2, [this].concat(args));
|
|
|
|
this.showLogo();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(_layout.default);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 464 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.renderIconManager = exports.default = void 0;
|
|
|
|
var _react = _interopRequireWildcard(__webpack_require__(12));
|
|
|
|
var _extends2 = _interopRequireDefault(__webpack_require__(194));
|
|
|
|
var _objectSpread2 = _interopRequireDefault(__webpack_require__(214));
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _propTypes = _interopRequireDefault(__webpack_require__(41));
|
|
|
|
var _reactDom = __webpack_require__(327);
|
|
|
|
var _tab = _interopRequireDefault(__webpack_require__(465));
|
|
|
|
var _iconsGoPro = _interopRequireDefault(__webpack_require__(469));
|
|
|
|
var IconsManager = /*#__PURE__*/function (_Component) {
|
|
(0, _inherits2.default)(IconsManager, _Component);
|
|
|
|
var _super = (0, _createSuper2.default)(IconsManager);
|
|
|
|
function IconsManager() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, IconsManager);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "scrollViewRef", (0, _react.createRef)());
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
activeTab: _this.props.activeTab,
|
|
selected: {
|
|
library: '',
|
|
value: ''
|
|
},
|
|
iconTabs: elementor.config.icons.libraries,
|
|
loaded: _this.props.loaded,
|
|
filter: ''
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "cache", {});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loadAllTabs", function () {
|
|
var loaded = _this.state.loaded;
|
|
var icons = _this.props.icons;
|
|
icons.forEach(function (tabSettings) {
|
|
if (loaded[tabSettings.name]) {
|
|
return;
|
|
}
|
|
|
|
if (-1 < ['all', 'recommended'].indexOf(tabSettings.name)) {
|
|
return;
|
|
}
|
|
|
|
elementor.iconManager.library.initIconType((0, _objectSpread2.default)({}, tabSettings), function (library) {
|
|
_this.cache[library.name] = library;
|
|
loaded[tabSettings.name] = true;
|
|
});
|
|
});
|
|
loaded.all = true;
|
|
loaded.recommended = true;
|
|
|
|
_this.setState({
|
|
loaded: loaded
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getActiveTab", function () {
|
|
var activeTab = _this.state.activeTab;
|
|
var loaded = _this.state.loaded,
|
|
icons = _this.props.icons;
|
|
|
|
if (!activeTab) {
|
|
if (_this.props.activeTab) {
|
|
activeTab = _this.props.activeTab;
|
|
}
|
|
}
|
|
|
|
if ('GoPro' === activeTab) {
|
|
return activeTab;
|
|
}
|
|
|
|
if (!loaded[activeTab]) {
|
|
return false;
|
|
}
|
|
|
|
var tabSettings = (0, _objectSpread2.default)({}, icons.filter(function (tab) {
|
|
return tab.name === activeTab;
|
|
})[0]);
|
|
|
|
if (loaded[activeTab]) {
|
|
return (0, _objectSpread2.default)({}, tabSettings);
|
|
}
|
|
|
|
if ('all' === tabSettings.name && !loaded.all) {
|
|
return _this.loadAllTabs();
|
|
}
|
|
|
|
elementor.iconManager.library.initIconType((0, _objectSpread2.default)({}, tabSettings), function (library) {
|
|
_this.cache[library.name] = library;
|
|
|
|
_this.updateLoaded(library.name);
|
|
});
|
|
return false;
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getIconTabsLinks", function () {
|
|
var native = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
return _this.props.icons.map(function (tab) {
|
|
if (native ^ _this.isNativeTab(tab)) {
|
|
return '';
|
|
}
|
|
|
|
var isCurrentTab = tab.name === _this.state.activeTab;
|
|
var className = 'elementor-icons-manager__tab-link';
|
|
|
|
if (isCurrentTab) {
|
|
className += ' elementor-active';
|
|
}
|
|
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
className: className,
|
|
key: tab.name,
|
|
onClick: function onClick() {
|
|
if (isCurrentTab) {
|
|
return;
|
|
}
|
|
|
|
_this.setState({
|
|
activeTab: tab.name
|
|
});
|
|
}
|
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
className: tab.labelIcon
|
|
}), tab.label);
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getActiveTabIcons", function (activeTab) {
|
|
if (activeTab.name) {
|
|
return _this.getActiveTabIcons(activeTab.name);
|
|
}
|
|
|
|
if (_this.cache[activeTab]) {
|
|
return _this.cache[activeTab].icons;
|
|
}
|
|
|
|
if ('recommended' === activeTab) {
|
|
return _this.state.iconTabs[0].icons;
|
|
}
|
|
|
|
if ('all' === activeTab) {
|
|
return _this.getAllIcons();
|
|
}
|
|
|
|
if (!_this.state.loaded[activeTab]) {
|
|
var librarySettings = _this.props.icons.filter(function (library) {
|
|
return activeTab === library.name;
|
|
});
|
|
|
|
return elementor.iconManager.library.initIconType((0, _objectSpread2.default)({}, librarySettings[0]), function (library) {
|
|
_this.cache[library.name] = library;
|
|
|
|
_this.updateLoaded(library.name);
|
|
});
|
|
}
|
|
|
|
return elementor.iconManager.store.getIcons(activeTab);
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getAllIcons", function () {
|
|
if (_this.cache.all) {
|
|
return _this.cache.all.icons;
|
|
}
|
|
|
|
var icons = {};
|
|
|
|
_this.props.icons.forEach(function (tabSettings) {
|
|
if ('all' === tabSettings.name || 'recommended' === tabSettings.name) {
|
|
return;
|
|
}
|
|
|
|
icons[tabSettings.name] = _this.getActiveTabIcons(tabSettings.name);
|
|
});
|
|
|
|
_this.cache.all = {
|
|
icons: icons
|
|
};
|
|
return icons;
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSearch", function (event) {
|
|
var filter = event.target.value;
|
|
|
|
if (filter && '' !== filter) {
|
|
filter = filter.toLocaleLowerCase();
|
|
|
|
if (_this.state.filter === filter) {
|
|
return;
|
|
}
|
|
} else {
|
|
filter = '';
|
|
}
|
|
|
|
_this.setState({
|
|
filter: filter
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setSelected", function (selected) {
|
|
elementor.iconManager.setSettings('selectedIcon', selected);
|
|
|
|
_this.setState({
|
|
selected: selected
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getSelected", function () {
|
|
var selected = _this.state.selected;
|
|
|
|
if ('' === selected.value && _this.props.selected && _this.props.selected.value) {
|
|
selected = {
|
|
value: _this.props.selected.value,
|
|
library: _this.props.selected.library
|
|
};
|
|
}
|
|
|
|
return selected;
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () {
|
|
var activeTab = _this.getActiveTab(),
|
|
activeTabName = activeTab.name ? activeTab.name : activeTab,
|
|
_this$props$showSearc = _this.props.showSearch,
|
|
showSearch = _this$props$showSearc === void 0 ? true : _this$props$showSearc,
|
|
filter = _this.state.filter,
|
|
selected = _this.getSelected();
|
|
|
|
if ('GoPro' !== activeTab) {
|
|
if (!activeTabName || !_this.state.loaded[activeTabName]) {
|
|
return 'Loading';
|
|
}
|
|
|
|
if (activeTab) {
|
|
activeTab.icons = _this.getActiveTabIcons(activeTab);
|
|
}
|
|
}
|
|
|
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__sidebar",
|
|
className: 'elementor-templates-modal__sidebar'
|
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__tab-links"
|
|
}, _this.getIconTabsLinks(), _this.getUploadCustomButton(), _this.getIconTabsLinks(false))), /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__main",
|
|
className: 'elementor-templates-modal__content'
|
|
}, 'GoPro' === activeTabName ? /*#__PURE__*/_react.default.createElement(_iconsGoPro.default, null) : /*#__PURE__*/_react.default.createElement(_react.Fragment, null, showSearch ? _this.getSearchHTML() : '', /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__tab__wrapper",
|
|
ref: _this.scrollViewRef
|
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__tab__title"
|
|
}, activeTab.label), /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__tab__content_wrapper"
|
|
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
type: "hidden",
|
|
name: "icon_value",
|
|
id: "icon_value",
|
|
value: selected.value
|
|
}), /*#__PURE__*/_react.default.createElement("input", {
|
|
type: "hidden",
|
|
name: "icon_type",
|
|
id: "icon_type",
|
|
value: selected.library
|
|
}), _this.state.loaded[activeTab.name] ? /*#__PURE__*/_react.default.createElement(_tab.default, (0, _extends2.default)({
|
|
setSelected: _this.setSelected,
|
|
selected: selected,
|
|
filter: filter,
|
|
key: activeTab.name,
|
|
parentRef: _this.scrollViewRef
|
|
}, activeTab)) : 'Loading')))));
|
|
});
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(IconsManager, [{
|
|
key: "updateLoaded",
|
|
value: function updateLoaded(libraryName) {
|
|
var loaded = this.state.loaded;
|
|
loaded[libraryName] = true;
|
|
this.setState({
|
|
loaded: loaded
|
|
});
|
|
}
|
|
}, {
|
|
key: "isNativeTab",
|
|
value: function isNativeTab(tab) {
|
|
return ('all' === tab.name || 'recommended' === tab.name || 'fa-' === tab.name.substr(0, 3)) && tab.native;
|
|
}
|
|
}, {
|
|
key: "getUploadCustomButton",
|
|
value: function getUploadCustomButton() {
|
|
var _this2 = this;
|
|
|
|
var onClick = function onClick() {
|
|
if ('GoPro' === _this2.state.activeTab) {
|
|
return;
|
|
}
|
|
|
|
_this2.setState({
|
|
activeTab: 'GoPro'
|
|
});
|
|
};
|
|
|
|
if (this.props.customIconsURL) {
|
|
onClick = function onClick() {
|
|
window.open(_this2.props.customIconsURL, '_blank');
|
|
};
|
|
}
|
|
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__upload"
|
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__upload__title"
|
|
}, elementor.translate('my_libraries')), /*#__PURE__*/_react.default.createElement("button", {
|
|
id: "elementor-icons-manager__upload__button",
|
|
className: "elementor-button elementor-button-default",
|
|
onClick: onClick
|
|
}, elementor.translate('upload')));
|
|
}
|
|
}, {
|
|
key: "getSearchHTML",
|
|
value: function getSearchHTML() {
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__search"
|
|
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
placeholder: 'Filter by name...',
|
|
onInput: this.handleSearch
|
|
}), /*#__PURE__*/_react.default.createElement("i", {
|
|
className: 'eicon-search'
|
|
}));
|
|
}
|
|
}]);
|
|
return IconsManager;
|
|
}(_react.Component);
|
|
|
|
var _default = IconsManager;
|
|
exports.default = _default;
|
|
|
|
var renderIconManager = function renderIconManager(props) {
|
|
var containerElement = document.querySelector('#elementor-icons-manager-modal .dialog-content');
|
|
return (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(IconsManager, (0, _extends2.default)({}, props, {
|
|
containerElement: containerElement
|
|
})), containerElement);
|
|
};
|
|
|
|
exports.renderIconManager = renderIconManager;
|
|
IconsManager.propTypes = {
|
|
activeTab: _propTypes.default.any,
|
|
customIconsURL: _propTypes.default.string,
|
|
icons: _propTypes.default.any,
|
|
loaded: _propTypes.default.any,
|
|
modalView: _propTypes.default.any,
|
|
recommended: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
|
|
selected: _propTypes.default.any,
|
|
showSearch: _propTypes.default.bool
|
|
};
|
|
|
|
/***/ }),
|
|
/* 465 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _react = _interopRequireWildcard(__webpack_require__(12));
|
|
|
|
__webpack_require__(139);
|
|
|
|
__webpack_require__(182);
|
|
|
|
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(105));
|
|
|
|
__webpack_require__(150);
|
|
|
|
__webpack_require__(118);
|
|
|
|
__webpack_require__(79);
|
|
|
|
var _createForOfIteratorHelper2 = _interopRequireDefault(__webpack_require__(466));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(299));
|
|
|
|
var _entries = _interopRequireDefault(__webpack_require__(91));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _propTypes = _interopRequireDefault(__webpack_require__(41));
|
|
|
|
var _iconList = _interopRequireDefault(__webpack_require__(467));
|
|
|
|
var _icon = _interopRequireDefault(__webpack_require__(468));
|
|
|
|
var Tab = /*#__PURE__*/function (_Component) {
|
|
(0, _inherits2.default)(Tab, _Component);
|
|
|
|
var _super = (0, _createSuper2.default)(Tab);
|
|
|
|
function Tab() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, Tab);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "componentDidMount", function () {
|
|
if (_this.props.selected && _this.props.selected.value) {
|
|
setTimeout(function () {
|
|
var element = document.querySelector('.elementor-selected');
|
|
|
|
if (element) {
|
|
element.scrollIntoView(false);
|
|
}
|
|
}, 0);
|
|
}
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleFullIconList", function () {
|
|
var fullIconList = [];
|
|
(0, _entries.default)(_this.props.icons).forEach(function (library) {
|
|
if ('recommended' !== library[0]) {
|
|
fullIconList = [].concat((0, _toConsumableArray2.default)(fullIconList), (0, _toConsumableArray2.default)(_this.getIconsOfType(library[0], library[1])));
|
|
}
|
|
});
|
|
return fullIconList.sort(function (a, b) {
|
|
return a.filter === b.filter ? 0 : +(a.filter > b.filter) || -1;
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getLibrary", function (libraryName) {
|
|
var icons = elementor.config.icons.libraries.filter(function (library) {
|
|
return libraryName === library.name;
|
|
});
|
|
return icons;
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleRecommendedList", function () {
|
|
var recommendedIconList = [];
|
|
(0, _entries.default)(_this.props.icons).forEach(function (library) {
|
|
var iconLibrary = _this.getLibrary(library[0]),
|
|
iconsOfType = iconLibrary[0].icons,
|
|
recommendedIconsOfType = {};
|
|
|
|
library[1].forEach(function (iconName) {
|
|
if (iconsOfType[iconName]) {
|
|
recommendedIconsOfType[iconName] = iconsOfType[iconName];
|
|
}
|
|
});
|
|
recommendedIconList = [].concat((0, _toConsumableArray2.default)(recommendedIconList), (0, _toConsumableArray2.default)(_this.getIconsOfType(library[0], recommendedIconsOfType)));
|
|
});
|
|
return recommendedIconList;
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getIconsComponentList", function () {
|
|
var iconsToShow = [];
|
|
var _this$props = _this.props,
|
|
name = _this$props.name,
|
|
icons = _this$props.icons,
|
|
filter = _this$props.filter;
|
|
|
|
switch (name) {
|
|
case 'all':
|
|
iconsToShow = _this.handleFullIconList();
|
|
break;
|
|
|
|
case 'recommended':
|
|
iconsToShow = _this.handleRecommendedList();
|
|
break;
|
|
|
|
default:
|
|
iconsToShow = _this.getIconsOfType(name, icons);
|
|
break;
|
|
}
|
|
|
|
if (filter) {
|
|
iconsToShow = (0, _values.default)(iconsToShow).filter(function (icon) {
|
|
return icon.props.data.name.toLowerCase().indexOf(filter) > -1;
|
|
});
|
|
}
|
|
|
|
return iconsToShow;
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () {
|
|
var icons = _this.getIconsComponentList();
|
|
|
|
var selectedIndex = -1;
|
|
|
|
var _iterator = (0, _createForOfIteratorHelper2.default)(icons.entries()),
|
|
_step;
|
|
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
|
|
index = _step$value[0],
|
|
icon = _step$value[1];
|
|
|
|
if (icon.props.containerClass.includes('elementor-selected')) {
|
|
selectedIndex = index;
|
|
break;
|
|
}
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err);
|
|
} finally {
|
|
_iterator.f();
|
|
}
|
|
|
|
return /*#__PURE__*/_react.default.createElement(_iconList.default, {
|
|
selectedIndex: selectedIndex,
|
|
items: icons,
|
|
parentRef: _this.props.parentRef
|
|
});
|
|
});
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(Tab, [{
|
|
key: "getIconsOfType",
|
|
value: function getIconsOfType(type, icons) {
|
|
var _this2 = this;
|
|
|
|
var _this$props2 = this.props,
|
|
selected = _this$props2.selected,
|
|
filter = _this$props2.filter;
|
|
return (0, _entries.default)(icons).map(function (icon) {
|
|
var iconData = icon[1],
|
|
iconName = icon[0],
|
|
className = iconData.displayPrefix + ' ' + iconData.selector;
|
|
var containerClass = 'elementor-icons-manager__tab__item';
|
|
|
|
if (selected.value === className) {
|
|
containerClass += ' elementor-selected';
|
|
}
|
|
|
|
var key = containerClass + type + '-' + iconName + filter;
|
|
return /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
key: key,
|
|
library: type,
|
|
keyID: iconName,
|
|
containerClass: containerClass,
|
|
className: className,
|
|
setSelectedHandler: _this2.props.setSelected,
|
|
data: iconData
|
|
});
|
|
});
|
|
}
|
|
}]);
|
|
return Tab;
|
|
}(_react.Component);
|
|
|
|
Tab.propTypes = {
|
|
data: _propTypes.default.any,
|
|
filter: _propTypes.default.any,
|
|
icons: _propTypes.default.object,
|
|
name: _propTypes.default.string,
|
|
selected: _propTypes.default.object,
|
|
setSelected: _propTypes.default.func,
|
|
parentRef: _propTypes.default.any
|
|
};
|
|
var _default = Tab;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 466 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var _getIterator = __webpack_require__(238);
|
|
|
|
var _Array$isArray = __webpack_require__(85);
|
|
|
|
var _Symbol$iterator = __webpack_require__(148);
|
|
|
|
var _Symbol = __webpack_require__(107);
|
|
|
|
var unsupportedIterableToArray = __webpack_require__(193);
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it;
|
|
|
|
if (typeof _Symbol === "undefined" || o[_Symbol$iterator] == null) {
|
|
if (_Array$isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
if (it) o = it;
|
|
var i = 0;
|
|
|
|
var F = function F() {};
|
|
|
|
return {
|
|
s: F,
|
|
n: function n() {
|
|
if (i >= o.length) return {
|
|
done: true
|
|
};
|
|
return {
|
|
done: false,
|
|
value: o[i++]
|
|
};
|
|
},
|
|
e: function e(_e) {
|
|
throw _e;
|
|
},
|
|
f: F
|
|
};
|
|
}
|
|
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
|
|
var normalCompletion = true,
|
|
didErr = false,
|
|
err;
|
|
return {
|
|
s: function s() {
|
|
it = _getIterator(o);
|
|
},
|
|
n: function n() {
|
|
var step = it.next();
|
|
normalCompletion = step.done;
|
|
return step;
|
|
},
|
|
e: function e(_e2) {
|
|
didErr = true;
|
|
err = _e2;
|
|
},
|
|
f: function f() {
|
|
try {
|
|
if (!normalCompletion && it["return"] != null) it["return"]();
|
|
} finally {
|
|
if (didErr) throw err;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
module.exports = _createForOfIteratorHelper;
|
|
|
|
/***/ }),
|
|
/* 467 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _propTypes = _interopRequireDefault(__webpack_require__(41));
|
|
|
|
var _react = _interopRequireWildcard(__webpack_require__(12));
|
|
|
|
var LazyIconList = /*#__PURE__*/function (_Component) {
|
|
(0, _inherits2.default)(LazyIconList, _Component);
|
|
|
|
var _super = (0, _createSuper2.default)(LazyIconList);
|
|
|
|
function LazyIconList() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, LazyIconList);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
itemSize: {
|
|
width: 0,
|
|
height: 0
|
|
},
|
|
wrapperSize: {
|
|
width: 0,
|
|
height: 0
|
|
},
|
|
firstRowInView: 0
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectors", {
|
|
item: '.elementor-icons-manager__tab__item',
|
|
wrapper: 'elementor-icons-manager__tab__wrapper'
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "attachScrollListener", function () {
|
|
var element = document.getElementById(_this.selectors.wrapper);
|
|
|
|
if (element) {
|
|
element.addEventListener('scroll', _this.handleScroll);
|
|
}
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "maybeMeasureItem", function () {
|
|
if (_this.state.itemSize.width) {
|
|
return;
|
|
} // CSS Item Padding
|
|
|
|
|
|
var itemPadding = 20,
|
|
wrapper = document.getElementById(_this.selectors.wrapper),
|
|
testElement = document.querySelector(_this.selectors.item);
|
|
|
|
if (!testElement) {
|
|
return;
|
|
}
|
|
|
|
var newState = {
|
|
itemSize: {
|
|
width: testElement.offsetWidth + itemPadding,
|
|
height: testElement.offsetHeight + itemPadding
|
|
},
|
|
wrapperSize: {
|
|
width: wrapper.offsetWidth,
|
|
height: wrapper.clientHeight
|
|
}
|
|
};
|
|
return _this.setState(newState, function () {
|
|
_this.maybeScrollToSelected();
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "maybeScrollToSelected", function () {
|
|
if (!_this.hasSelected()) {
|
|
return;
|
|
}
|
|
|
|
var selectedIndex = _this.props.selectedIndex,
|
|
_this$state = _this.state,
|
|
wrapperSize = _this$state.wrapperSize,
|
|
itemSize = _this$state.itemSize,
|
|
itemsInRow = Math.floor(wrapperSize.width / itemSize.width),
|
|
selectedItemRow = Math.ceil(selectedIndex / itemsInRow) - 1,
|
|
scrollTop = selectedItemRow * itemSize.height;
|
|
setTimeout(function () {
|
|
_this.props.parentRef.current.scrollTo({
|
|
top: scrollTop,
|
|
left: 0,
|
|
behavior: 'auto'
|
|
});
|
|
}, 0);
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleScroll", function () {
|
|
_this.clearDebounceScrollCallback();
|
|
|
|
_this._debounce = setTimeout(function () {
|
|
var element = document.getElementById(_this.selectors.wrapper);
|
|
var itemSize = _this.state.itemSize;
|
|
|
|
_this.setState({
|
|
firstRowInView: Math.floor(element.scrollTop / itemSize.height)
|
|
});
|
|
}, 10);
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () {
|
|
var _this$state2 = _this.state,
|
|
itemSize = _this$state2.itemSize,
|
|
wrapperSize = _this$state2.wrapperSize;
|
|
var firstRowInView = _this.state.firstRowInView;
|
|
|
|
if (!itemSize.width) {
|
|
return _this.renderFirstElementForMeasurement();
|
|
}
|
|
|
|
var items = _this.props.items,
|
|
itemsInRow = Math.floor(wrapperSize.width / itemSize.width),
|
|
totalRows = Math.ceil(items.length / itemsInRow),
|
|
spareRows = 4;
|
|
var rowsInView = Math.ceil(wrapperSize.height / itemSize.height) + spareRows;
|
|
|
|
if (rowsInView > totalRows) {
|
|
rowsInView = totalRows;
|
|
} // Prevent scroll overflow
|
|
|
|
|
|
if (firstRowInView > totalRows - rowsInView) {
|
|
firstRowInView = totalRows - rowsInView;
|
|
}
|
|
|
|
var tailRows = totalRows - firstRowInView - rowsInView,
|
|
firstItemIndexInWindow = firstRowInView * itemsInRow,
|
|
lastItemIndexInWindow = (firstRowInView + rowsInView) * itemsInRow - 1,
|
|
itemsInView = items.slice(firstItemIndexInWindow, lastItemIndexInWindow + 1),
|
|
offsetStyle = {
|
|
height: "".concat(firstRowInView * itemSize.height, "px")
|
|
},
|
|
tailStyle = {
|
|
height: "".concat(tailRows * itemSize.height, "px")
|
|
};
|
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
className: 'elementor-icons-manager__tab__content__offset',
|
|
style: offsetStyle
|
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
id: 'elementor-icons-manager__tab__content'
|
|
}, itemsInView), /*#__PURE__*/_react.default.createElement("div", {
|
|
className: 'elementor-icons-manager__tab__content__tail',
|
|
style: tailStyle
|
|
}));
|
|
});
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(LazyIconList, [{
|
|
key: "componentDidMount",
|
|
value: function componentDidMount() {
|
|
this.attachScrollListener();
|
|
this.maybeMeasureItem();
|
|
}
|
|
}, {
|
|
key: "componentWillUnmount",
|
|
value: function componentWillUnmount() {
|
|
this.clearDebounceScrollCallback();
|
|
var element = document.getElementById(this.selectors.wrapper);
|
|
|
|
if (element) {
|
|
element.removeEventListener('scroll', this.handleScroll);
|
|
}
|
|
}
|
|
}, {
|
|
key: "clearDebounceScrollCallback",
|
|
value: function clearDebounceScrollCallback() {
|
|
clearTimeout(this._debounce);
|
|
}
|
|
}, {
|
|
key: "renderFirstElementForMeasurement",
|
|
value: function renderFirstElementForMeasurement() {
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
id: 'elementor-icons-manager__tab__content'
|
|
}, this.props.items[0]);
|
|
}
|
|
}, {
|
|
key: "hasSelected",
|
|
value: function hasSelected() {
|
|
return -1 !== this.props.selectedIndex;
|
|
}
|
|
}]);
|
|
return LazyIconList;
|
|
}(_react.Component);
|
|
|
|
var _default = LazyIconList;
|
|
exports.default = _default;
|
|
LazyIconList.propTypes = {
|
|
items: _propTypes.default.array,
|
|
selectedIndex: _propTypes.default.number,
|
|
parentRef: _propTypes.default.any
|
|
};
|
|
|
|
/***/ }),
|
|
/* 468 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _react = _interopRequireWildcard(__webpack_require__(12));
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _propTypes = _interopRequireDefault(__webpack_require__(41));
|
|
|
|
var Icon = /*#__PURE__*/function (_Component) {
|
|
(0, _inherits2.default)(Icon, _Component);
|
|
|
|
var _super = (0, _createSuper2.default)(Icon);
|
|
|
|
function Icon() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, Icon);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setSelected", function () {
|
|
_this.props.setSelectedHandler({
|
|
value: _this.props.data.displayPrefix + ' ' + _this.props.data.selector,
|
|
library: _this.props.library
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () {
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
className: _this.props.containerClass,
|
|
key: _this.props.keyID,
|
|
onClick: _this.setSelected,
|
|
filter: _this.props.data.filter
|
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
className: "elementor-icons-manager__tab__item__content"
|
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
className: 'elementor-icons-manager__tab__item__icon ' + _this.props.className
|
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
className: 'elementor-icons-manager__tab__item__name',
|
|
title: _this.props.data.name
|
|
}, _this.props.data.name)));
|
|
});
|
|
return _this;
|
|
}
|
|
|
|
return Icon;
|
|
}(_react.Component);
|
|
|
|
exports.default = Icon;
|
|
Icon.propTypes = {
|
|
className: _propTypes.default.string,
|
|
containerClass: _propTypes.default.string,
|
|
data: _propTypes.default.object,
|
|
keyID: _propTypes.default.string,
|
|
library: _propTypes.default.string,
|
|
selector: _propTypes.default.string,
|
|
setSelectedHandler: _propTypes.default.func
|
|
};
|
|
|
|
/***/ }),
|
|
/* 469 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _react = _interopRequireWildcard(__webpack_require__(12));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var IconsGoPro = /*#__PURE__*/function (_Component) {
|
|
(0, _inherits2.default)(IconsGoPro, _Component);
|
|
|
|
var _super = (0, _createSuper2.default)(IconsGoPro);
|
|
|
|
function IconsGoPro() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, IconsGoPro);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () {
|
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__promotion"
|
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
id: "elementor-icons-manager__promotion__icon",
|
|
className: "eicon-nerd"
|
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
id: "elementor-icons-manager__promotion__text"
|
|
}, elementor.translate('icons_promotion')), /*#__PURE__*/_react.default.createElement("a", {
|
|
href: elementor.config.icons.goProURL,
|
|
id: "elementor-icons-manager__promotion__link",
|
|
className: "elementor-button elementor-button-default elementor-button-go-pro",
|
|
target: "_blank",
|
|
rel: "noopener noreferrer"
|
|
}, elementor.translate('go_pro')));
|
|
});
|
|
return _this;
|
|
}
|
|
|
|
return IconsGoPro;
|
|
}(_react.Component);
|
|
|
|
var _default = IconsGoPro;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 470 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(81);
|
|
|
|
var _entries = _interopRequireDefault(__webpack_require__(91));
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _default = /*#__PURE__*/function () {
|
|
function _default() {
|
|
var _this = this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
(0, _defineProperty2.default)(this, "loaded", {});
|
|
(0, _defineProperty2.default)(this, "notifyCallback", null);
|
|
(0, _defineProperty2.default)(this, "fetchIcons", function (library) {
|
|
fetch(library.fetchJson, {
|
|
mode: 'cors'
|
|
}).then(function (res) {
|
|
return res.json();
|
|
}).then(function (json) {
|
|
library.icons = json.icons;
|
|
return _this.normalizeIconList(library);
|
|
});
|
|
});
|
|
(0, _defineProperty2.default)(this, "runCallback", function (library) {
|
|
if ('function' !== typeof _this.notifyCallback) {
|
|
return library;
|
|
}
|
|
|
|
return _this.notifyCallback(library);
|
|
});
|
|
(0, _defineProperty2.default)(this, "initIconType", function (libraryConfig, callback) {
|
|
_this.notifyCallback = callback;
|
|
var store = elementor.iconManager.store;
|
|
|
|
if (_this.loaded[libraryConfig.name]) {
|
|
libraryConfig.icons = store.getIcons(libraryConfig);
|
|
return _this.runCallback(libraryConfig);
|
|
} // Enqueue CSS
|
|
|
|
|
|
if (libraryConfig.enqueue) {
|
|
libraryConfig.enqueue.forEach(function (assetURL) {
|
|
elementor.helpers.enqueueEditorStylesheet(assetURL);
|
|
});
|
|
}
|
|
|
|
if (libraryConfig.url) {
|
|
elementor.helpers.enqueueEditorStylesheet(libraryConfig.url);
|
|
} //already saved an stored
|
|
|
|
|
|
if (store.isValid(libraryConfig)) {
|
|
var data = store.get(store.getKey(libraryConfig));
|
|
return _this.normalizeIconList(data);
|
|
} // comes with icons
|
|
|
|
|
|
if (libraryConfig.icons && libraryConfig.icons.length) {
|
|
return _this.normalizeIconList(libraryConfig);
|
|
} // Get icons from via ajax
|
|
|
|
|
|
if (libraryConfig.fetchJson) {
|
|
return _this.fetchIcons(libraryConfig);
|
|
} // @todo: error handling
|
|
|
|
});
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "normalizeIconList",
|
|
value: function normalizeIconList(library) {
|
|
var icons = {};
|
|
var name;
|
|
jQuery.each(library.icons, function (index, icon) {
|
|
name = icon;
|
|
|
|
if ('object' === (0, _typeof2.default)(name)) {
|
|
name = (0, _entries.default)(name)[0][0];
|
|
}
|
|
|
|
if (!name) {
|
|
return;
|
|
}
|
|
|
|
icons[name] = {
|
|
prefix: library.prefix,
|
|
selector: library.prefix + name.trim(':'),
|
|
name: elementorCommon.helpers.upperCaseWords(name).trim(':').split('-').join(' '),
|
|
filter: name.trim(':'),
|
|
displayPrefix: library.displayPrefix || library.prefix.replace('-', '')
|
|
};
|
|
});
|
|
|
|
if ((0, _keys.default)(icons).length) {
|
|
library.icons = icons;
|
|
this.loaded[library.name] = true;
|
|
elementor.iconManager.store.save(library);
|
|
this.runCallback(library);
|
|
}
|
|
}
|
|
}]);
|
|
return _default;
|
|
}();
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 471 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var Store = /*#__PURE__*/function () {
|
|
function Store() {
|
|
(0, _classCallCheck2.default)(this, Store);
|
|
}
|
|
|
|
(0, _createClass2.default)(Store, [{
|
|
key: "save",
|
|
value: function save(library) {
|
|
elementorCommon.storage.set(Store.getKey(library), library);
|
|
}
|
|
}, {
|
|
key: "getIcons",
|
|
value: function getIcons(library) {
|
|
var data = this.get(Store.getKey(library));
|
|
|
|
if (data && data.icons) {
|
|
return data.icons;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}, {
|
|
key: "get",
|
|
value: function get(key) {
|
|
return elementorCommon.storage.get(key);
|
|
}
|
|
}, {
|
|
key: "isValid",
|
|
value: function isValid(library) {
|
|
var saved = this.get(Store.getKey(library));
|
|
|
|
if (!saved) {
|
|
return false;
|
|
}
|
|
|
|
if (saved.ver !== library.ver) {
|
|
// @todo: delete from localStorage if version is invalid
|
|
return false;
|
|
}
|
|
|
|
return saved.icons && saved.icons.length;
|
|
}
|
|
}], [{
|
|
key: "getKey",
|
|
value: function getKey(library) {
|
|
var name = library.name ? library.name : library;
|
|
return "elementor_".concat(name, "_icons");
|
|
}
|
|
}]);
|
|
return Store;
|
|
}();
|
|
|
|
var _default = Store;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 472 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _base = _interopRequireDefault(__webpack_require__(359));
|
|
|
|
var PanelMenu = /*#__PURE__*/function (_MenuPageView) {
|
|
(0, _inherits2.default)(PanelMenu, _MenuPageView);
|
|
|
|
var _super = (0, _createSuper2.default)(PanelMenu);
|
|
|
|
function PanelMenu() {
|
|
(0, _classCallCheck2.default)(this, PanelMenu);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(PanelMenu, [{
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
this.collection = PanelMenu.getGroups();
|
|
}
|
|
}, {
|
|
key: "getArrowClass",
|
|
value: function getArrowClass() {
|
|
return 'eicon-chevron-' + (elementorCommon.config.isRTL ? 'right' : 'left');
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
elementor.getPanelView().getHeaderView().ui.menuIcon.removeClass('eicon-menu-bar').addClass(this.getArrowClass());
|
|
}
|
|
}, {
|
|
key: "onDestroy",
|
|
value: function onDestroy() {
|
|
elementor.getPanelView().getHeaderView().ui.menuIcon.removeClass(this.getArrowClass()).addClass('eicon-menu-bar');
|
|
}
|
|
}]);
|
|
return PanelMenu;
|
|
}(_base.default);
|
|
|
|
exports.default = PanelMenu;
|
|
PanelMenu.groups = null;
|
|
|
|
PanelMenu.initGroups = function () {
|
|
PanelMenu.groups = new Backbone.Collection([]); // Keep the old `more` for BC, since 3.0.0.
|
|
|
|
PanelMenu.groups.add({
|
|
name: 'more',
|
|
title: elementor.translate('more'),
|
|
items: []
|
|
});
|
|
PanelMenu.groups.add({
|
|
name: 'navigate_from_page',
|
|
title: elementor.translate('navigate_from_page'),
|
|
items: [// Todo: internal command.
|
|
{
|
|
name: 'view-page',
|
|
icon: 'eicon-preview-thin',
|
|
title: elementor.translate('view_page'),
|
|
type: 'link',
|
|
link: elementor.config.document.urls.permalink
|
|
}, // Todo: internal command.
|
|
{
|
|
name: 'exit-to-dashboard',
|
|
icon: 'eicon-wordpress-light',
|
|
title: elementor.translate('exit_to_dashboard'),
|
|
type: 'link',
|
|
link: elementor.config.document.urls.exit_to_dashboard
|
|
}]
|
|
});
|
|
|
|
if (elementor.config.user.is_administrator) {
|
|
PanelMenu.addAdminMenu();
|
|
}
|
|
};
|
|
|
|
PanelMenu.addAdminMenu = function () {
|
|
PanelMenu.groups.add({
|
|
name: 'style',
|
|
title: elementor.translate('settings'),
|
|
items: [{
|
|
name: 'editor-preferences',
|
|
icon: 'eicon-user-preferences',
|
|
title: elementor.translate('user_preferences'),
|
|
type: 'page',
|
|
callback: function callback() {
|
|
return $e.route('panel/editor-preferences');
|
|
}
|
|
}]
|
|
}, {
|
|
at: 0
|
|
});
|
|
PanelMenu.addItem({
|
|
name: 'finder',
|
|
icon: 'eicon-search',
|
|
title: elementorCommon.translate('finder', 'finder'),
|
|
callback: function callback() {
|
|
return $e.route('finder');
|
|
}
|
|
}, 'navigate_from_page', 'view-page');
|
|
};
|
|
|
|
PanelMenu.getGroups = function () {
|
|
if (!PanelMenu.groups) {
|
|
PanelMenu.initGroups();
|
|
}
|
|
|
|
return PanelMenu.groups;
|
|
};
|
|
|
|
PanelMenu.addItem = function (itemData, groupName, before) {
|
|
_base.default.addItem(PanelMenu.getGroups(), itemData, groupName, before);
|
|
};
|
|
|
|
/***/ }),
|
|
/* 473 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelMenuItemView = __webpack_require__(474);
|
|
|
|
module.exports = Marionette.CompositeView.extend({
|
|
template: '#tmpl-elementor-panel-menu-group',
|
|
className: 'elementor-panel-menu-group',
|
|
childView: PanelMenuItemView,
|
|
childViewContainer: '.elementor-panel-menu-items',
|
|
initialize: function initialize() {
|
|
this.collection = new Backbone.Collection(this.model.get('items'));
|
|
},
|
|
onChildviewClick: function onChildviewClick(childView) {
|
|
var callback = childView.model.get('callback');
|
|
|
|
if (_.isFunction(callback)) {
|
|
callback.call(childView);
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 474 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-menu-item',
|
|
className: function className() {
|
|
return 'elementor-panel-menu-item elementor-panel-menu-item-' + this.model.get('name');
|
|
},
|
|
triggers: {
|
|
click: {
|
|
event: 'click',
|
|
preventDefault: false
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 475 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$Mod) {
|
|
(0, _inherits2.default)(_default, _elementorModules$Mod);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
_this = _super.call(this);
|
|
|
|
_this.initDialog();
|
|
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "initDialog",
|
|
value: function initDialog() {
|
|
var _this2 = this;
|
|
|
|
this.dialog = elementor.dialogsManager.createWidget('buttons', {
|
|
id: 'elementor-element--promotion__dialog',
|
|
effects: {
|
|
show: 'show',
|
|
hide: 'hide'
|
|
},
|
|
hide: {
|
|
onOutsideClick: false
|
|
},
|
|
position: {
|
|
my: (elementorCommon.config.isRTL ? 'right' : 'left') + '+5 top'
|
|
}
|
|
});
|
|
this.dialog.addButton({
|
|
name: 'action',
|
|
text: elementor.translate('see_it_in_action'),
|
|
callback: function callback() {
|
|
open(_this2.actionURL, '_blank');
|
|
}
|
|
});
|
|
this.dialog.getElements('action').addClass('elementor-button elementor-button-success');
|
|
var $promotionTitle = jQuery('<div>', {
|
|
id: 'elementor-element--promotion__dialog__title'
|
|
}),
|
|
$proIcon = jQuery('<i>', {
|
|
class: 'eicon-pro-icon'
|
|
}),
|
|
$closeButton = jQuery('<i>', {
|
|
class: 'eicon-close'
|
|
});
|
|
$closeButton.on('click', function () {
|
|
return _this2.dialog.hide();
|
|
});
|
|
this.dialog.getElements('header').append($promotionTitle, $proIcon, $closeButton);
|
|
this.$promotionTitle = $promotionTitle;
|
|
}
|
|
}, {
|
|
key: "showDialog",
|
|
value: function showDialog(options) {
|
|
if (!this.dialog) {
|
|
this.initDialog();
|
|
}
|
|
|
|
this.actionURL = options.actionURL;
|
|
this.$promotionTitle.text(options.headerMessage);
|
|
this.dialog.setMessage(options.message).setSettings('position', {
|
|
of: options.element,
|
|
at: (elementorCommon.config.isRTL ? 'left' : 'right') + ' top' + options.top
|
|
});
|
|
return this.dialog.show();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.Module);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 476 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(40);
|
|
|
|
var _objectSpread2 = _interopRequireDefault(__webpack_require__(214));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(477));
|
|
|
|
var _panel = _interopRequireDefault(__webpack_require__(506));
|
|
|
|
var _panelMenu = _interopRequireDefault(__webpack_require__(508));
|
|
|
|
var _panelHeaderBehavior = _interopRequireDefault(__webpack_require__(509));
|
|
|
|
var _repeater = _interopRequireDefault(__webpack_require__(511));
|
|
|
|
var _globalSelectBehavior = _interopRequireDefault(__webpack_require__(513));
|
|
|
|
var _controlsCssParser = _interopRequireDefault(__webpack_require__(293));
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$edi) {
|
|
(0, _inherits2.default)(_default, _elementorModules$edi);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loadingTriggers", {
|
|
preview: false,
|
|
globals: false
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "variablesCSS", null);
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "addPanelPages",
|
|
value: function addPanelPages() {
|
|
elementor.getPanelView().addPage('kit_settings', {
|
|
view: _panel.default,
|
|
title: elementor.translate('site_settings')
|
|
});
|
|
elementor.getPanelView().addPage('kit_menu', {
|
|
view: _panelMenu.default,
|
|
title: elementor.translate('site_settings')
|
|
});
|
|
}
|
|
}, {
|
|
key: "addPanelMenuItem",
|
|
value: function addPanelMenuItem() {
|
|
var menu = elementor.modules.layouts.panel.pages.menu.Menu;
|
|
menu.addItem({
|
|
name: 'global-settings',
|
|
icon: 'eicon-global-settings',
|
|
title: elementor.translate('site_settings'),
|
|
type: 'page',
|
|
callback: function callback() {
|
|
$e.run('panel/global/open', {
|
|
route: $e.routes.getHistory('panel').reverse()[0].route
|
|
});
|
|
}
|
|
}, 'style', 'editor-preferences');
|
|
menu.addItem({
|
|
name: 'site-editor',
|
|
icon: 'eicon-theme-builder',
|
|
title: elementor.translate('theme_builder'),
|
|
type: 'page',
|
|
callback: function callback() {
|
|
return $e.run('app/open');
|
|
}
|
|
}, 'style', 'editor-preferences');
|
|
}
|
|
}, {
|
|
key: "addHeaderBehavior",
|
|
value: function addHeaderBehavior(behaviors) {
|
|
behaviors.kit = {
|
|
behaviorClass: _panelHeaderBehavior.default
|
|
};
|
|
return behaviors;
|
|
}
|
|
}, {
|
|
key: "addGlobalsBehavior",
|
|
value: function addGlobalsBehavior(behaviors, view) {
|
|
// The view can be a UI control which does not have this method.
|
|
if (!view.isGlobalActive) {
|
|
return;
|
|
}
|
|
|
|
var isGlobalActive = view.isGlobalActive();
|
|
|
|
if ('color' === view.options.model.get('type') && isGlobalActive) {
|
|
behaviors.globals = {
|
|
behaviorClass: _globalSelectBehavior.default,
|
|
popoverTitle: elementor.translate('global_colors_title'),
|
|
manageButtonText: elementor.translate('manage_global_colors'),
|
|
tooltipText: elementor.translate('global_colors_info'),
|
|
newGlobalConfirmTitle: elementor.translate('create_global_color')
|
|
};
|
|
}
|
|
|
|
if ('popover_toggle' === view.options.model.get('type') && 'typography' === view.options.model.get('groupType') && isGlobalActive) {
|
|
behaviors.globals = {
|
|
behaviorClass: _globalSelectBehavior.default,
|
|
popoverTitle: elementor.translate('global_fonts_title'),
|
|
manageButtonText: elementor.translate('manage_global_fonts'),
|
|
tooltipText: elementor.translate('global_fonts_info'),
|
|
newGlobalConfirmTitle: elementor.translate('create_global_font')
|
|
};
|
|
}
|
|
|
|
return behaviors;
|
|
}
|
|
/**
|
|
* In case there is a new global color/typography convert current globals to CSS variables.
|
|
*/
|
|
|
|
}, {
|
|
key: "renderGlobalVariables",
|
|
value: function renderGlobalVariables() {
|
|
var _this2 = this;
|
|
|
|
if (!this.variablesCSS) {
|
|
this.variablesCSS = new _controlsCssParser.default({
|
|
id: 'e-kit-variables',
|
|
settingsModel: new elementorModules.editor.elements.models.BaseSettings({}, {})
|
|
});
|
|
} // The kit document has its own CSS.
|
|
|
|
|
|
if ('kit' === elementor.documents.getCurrent().config.type) {
|
|
this.variablesCSS.removeStyleFromDocument();
|
|
return;
|
|
}
|
|
|
|
$e.data.get('globals/index').then(function (_ref) {
|
|
var data = _ref.data;
|
|
|
|
if (data.colors) {
|
|
(0, _values.default)(data.colors).forEach(function (item) {
|
|
var controls = elementor.config.kit_config.design_system_controls.colors,
|
|
values = {
|
|
_id: item.id,
|
|
color: item.value
|
|
};
|
|
|
|
_this2.variablesCSS.addStyleRules(controls, values, controls, ['{{WRAPPER}}'], ['body']);
|
|
});
|
|
}
|
|
|
|
if (data.typography) {
|
|
(0, _values.default)(data.typography).forEach(function (item) {
|
|
var controls = elementor.config.kit_config.design_system_controls.typography,
|
|
values = (0, _objectSpread2.default)({
|
|
_id: item.id
|
|
}, item.value); // Enqueue fonts.
|
|
|
|
if (item.value.typography_font_family) {
|
|
elementor.helpers.enqueueFont(item.value.typography_font_family);
|
|
}
|
|
|
|
_this2.variablesCSS.addStyleRules(controls, values, controls, ['{{WRAPPER}}'], ['body']);
|
|
});
|
|
}
|
|
|
|
_this2.variablesCSS.addStyleToDocument();
|
|
});
|
|
} // Use the Controls CSS Parser to add the global defaults CSS to the page.
|
|
|
|
}, {
|
|
key: "renderGlobalsDefaultCSS",
|
|
value: function renderGlobalsDefaultCSS() {
|
|
if (!this.loadingTriggers.preview || !this.loadingTriggers.globals) {
|
|
return;
|
|
}
|
|
|
|
var cssParser = new _controlsCssParser.default({
|
|
id: 'e-global-style'
|
|
}),
|
|
defaultColorsEnabled = elementor.config.globals.defaults_enabled.colors,
|
|
defaultTypographyEnabled = elementor.config.globals.defaults_enabled.typography; // If both default colors and typography are disabled, there is no need to render schemes and default global css.
|
|
|
|
if (!defaultColorsEnabled && !defaultTypographyEnabled) {
|
|
return;
|
|
}
|
|
|
|
(0, _values.default)(elementor.widgetsCache).forEach(function (widget) {
|
|
if (!widget.controls) {
|
|
return;
|
|
}
|
|
|
|
var globalControls = [],
|
|
globalValues = {};
|
|
(0, _values.default)(widget.controls).forEach(function (control) {
|
|
var _control$global, _globalControl$global;
|
|
|
|
var isColorControl = 'color' === control.type,
|
|
isTypographyControl = 'typography' === control.groupType;
|
|
|
|
if (isColorControl && !defaultColorsEnabled || isTypographyControl && !defaultTypographyEnabled) {
|
|
return;
|
|
}
|
|
|
|
var globalControl = control;
|
|
|
|
if (control.groupType) {
|
|
globalControl = widget.controls[control.groupPrefix + control.groupType];
|
|
}
|
|
|
|
if ((_control$global = control.global) === null || _control$global === void 0 ? void 0 : _control$global.default) {
|
|
globalValues[control.name] = globalControl.global.default;
|
|
}
|
|
|
|
if ((_globalControl$global = globalControl.global) === null || _globalControl$global === void 0 ? void 0 : _globalControl$global.default) {
|
|
globalControls.push(control);
|
|
}
|
|
});
|
|
globalControls.forEach(function (control) {
|
|
cssParser.addControlStyleRules(control, widget.controls, // values
|
|
widget.controls, // controls
|
|
['{{WRAPPER}}'], ['.elementor-widget-' + widget.widget_type], globalValues);
|
|
});
|
|
});
|
|
cssParser.addStyleToDocument();
|
|
}
|
|
}, {
|
|
key: "onInit",
|
|
value: function onInit() {
|
|
var _this3 = this;
|
|
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "onInit", this).call(this);
|
|
elementorCommon.elements.$window.on('elementor:loaded', function () {
|
|
if (!elementor.config.initial_document.panel.support_kit) {
|
|
return;
|
|
}
|
|
|
|
if (!elementor.config.user.can_edit_kit) {
|
|
return;
|
|
}
|
|
|
|
$e.components.register(new _component.default({
|
|
manager: _this3
|
|
}));
|
|
elementor.addControlView('global-style-repeater', _repeater.default);
|
|
elementor.hooks.addFilter('panel/header/behaviors', _this3.addHeaderBehavior);
|
|
elementor.hooks.addFilter('controls/base/behaviors', _this3.addGlobalsBehavior);
|
|
elementor.on('preview:loaded', function () {
|
|
_this3.loadingTriggers.preview = true;
|
|
|
|
_this3.renderGlobalsDefaultCSS();
|
|
});
|
|
elementor.on('document:loaded', function () {
|
|
_this3.renderGlobalVariables();
|
|
});
|
|
elementor.once('globals:loaded', function () {
|
|
_this3.loadingTriggers.globals = true;
|
|
|
|
_this3.renderGlobalsDefaultCSS();
|
|
});
|
|
elementor.on('panel:init', function () {
|
|
_this3.addPanelPages();
|
|
|
|
_this3.addPanelMenuItem();
|
|
});
|
|
});
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.editor.utils.Module);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 477 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var hooks = _interopRequireWildcard(__webpack_require__(478));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(490));
|
|
|
|
var _default = /*#__PURE__*/function (_$e$modules$Component) {
|
|
(0, _inherits2.default)(_default, _$e$modules$Component);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pages", {});
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/global';
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {
|
|
'global-colors': {
|
|
title: elementor.translate('global_colors'),
|
|
icon: 'eicon-global-colors',
|
|
helpUrl: 'https://go.elementor.com/global-colors'
|
|
},
|
|
'global-typography': {
|
|
title: elementor.translate('global_fonts'),
|
|
icon: 'eicon-t-letter',
|
|
helpUrl: 'https://go.elementor.com/global-fonts'
|
|
},
|
|
'theme-style-typography': {
|
|
title: elementor.translate('typography'),
|
|
icon: 'eicon-typography-1',
|
|
helpUrl: 'https://go.elementor.com/global-theme-style-typography'
|
|
},
|
|
'theme-style-buttons': {
|
|
title: elementor.translate('buttons'),
|
|
icon: 'eicon-button',
|
|
helpUrl: 'https://go.elementor.com/global-theme-style-buttons'
|
|
},
|
|
'theme-style-images': {
|
|
title: elementor.translate('images'),
|
|
icon: 'eicon-image',
|
|
helpUrl: 'https://go.elementor.com/global-theme-style-images'
|
|
},
|
|
'theme-style-form-fields': {
|
|
title: elementor.translate('form_fields'),
|
|
icon: 'eicon-form-horizontal',
|
|
helpUrl: 'https://go.elementor.com/global-theme-style-form-fields'
|
|
},
|
|
'settings-site-identity': {
|
|
title: elementor.translate('site_identity'),
|
|
icon: 'eicon-site-identity',
|
|
helpUrl: 'https://go.elementor.com/global-site-identity'
|
|
},
|
|
'settings-background': {
|
|
title: elementor.translate('background'),
|
|
icon: 'eicon-background',
|
|
helpUrl: 'https://go.elementor.com/global-background'
|
|
},
|
|
'settings-layout': {
|
|
title: elementor.translate('layout'),
|
|
icon: 'eicon-layout-settings',
|
|
helpUrl: 'https://go.elementor.com/global-layout'
|
|
},
|
|
'settings-lightbox': {
|
|
title: elementor.translate('lightbox'),
|
|
icon: 'eicon-lightbox-expand',
|
|
helpUrl: 'https://go.elementor.com/global-lightbox'
|
|
},
|
|
'settings-custom-css': {
|
|
title: elementor.translate('custom_css'),
|
|
icon: 'eicon-custom-css',
|
|
helpUrl: 'https://go.elementor.com/global-custom-css'
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultRoutes",
|
|
value: function defaultRoutes() {
|
|
return {
|
|
menu: function menu() {
|
|
elementor.getPanelView().setPage('kit_menu');
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
back: {
|
|
keys: 'esc',
|
|
scopes: ['panel'],
|
|
dependency: function dependency() {
|
|
return elementor.documents.isCurrent(elementor.config.kit_id) && !jQuery('.dialog-widget:visible').length;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultHooks",
|
|
value: function defaultHooks() {
|
|
return this.importHooks(hooks);
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab) {
|
|
elementor.getPanelView().setPage('kit_settings').content.currentView.activateTab(tab);
|
|
}
|
|
}]);
|
|
return _default;
|
|
}($e.modules.ComponentBase);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 478 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitGlobalsUpdateColors", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _globalsUpdateColors.KitGlobalsUpdateColors;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitGlobalsUpdateTypography", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _globalsUpdateTypography.KitGlobalsUpdateTypography;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitDeleteGlobalsCache", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _deleteGlobalsCache.KitDeleteGlobalsCache;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitAfterSave", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _after.KitAfterSave;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitUpdateLightboxPreview", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _updateLightboxPreview.KitUpdateLightboxPreview;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitUpdateStretchContainer", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _updateStretchContainer.KitUpdateStretchContainer;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitSaveRouteHistory", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _saveRouteHistory.KitSaveRouteHistory;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitRemoveEditorActiveCSSDocumentsOpen", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _removeEditorActiveCss.KitRemoveEditorActiveCSSDocumentsOpen;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitRemoveEditorActiveCSSPanelOpen", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _removeEditorActiveCss2.KitRemoveEditorActiveCSSPanelOpen;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitBackToRouteHistory", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _backToRouteHistory.KitBackToRouteHistory;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "KitRemovePreviewDeletedVariables", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _removePreviewDeletedVariables.KitRemovePreviewDeletedVariables;
|
|
}
|
|
});
|
|
|
|
var _globalsUpdateColors = __webpack_require__(479);
|
|
|
|
var _globalsUpdateTypography = __webpack_require__(480);
|
|
|
|
var _deleteGlobalsCache = __webpack_require__(481);
|
|
|
|
var _after = __webpack_require__(482);
|
|
|
|
var _updateLightboxPreview = __webpack_require__(483);
|
|
|
|
var _updateStretchContainer = __webpack_require__(484);
|
|
|
|
var _saveRouteHistory = __webpack_require__(485);
|
|
|
|
var _removeEditorActiveCss = __webpack_require__(486);
|
|
|
|
var _removeEditorActiveCss2 = __webpack_require__(487);
|
|
|
|
var _backToRouteHistory = __webpack_require__(488);
|
|
|
|
var _removePreviewDeletedVariables = __webpack_require__(489);
|
|
|
|
/***/ }),
|
|
/* 479 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitGlobalsUpdateColors = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _baseGlobalsUpdate = _interopRequireDefault(__webpack_require__(360));
|
|
|
|
var KitGlobalsUpdateColors = /*#__PURE__*/function (_BaseGlobalsUpdate) {
|
|
(0, _inherits2.default)(KitGlobalsUpdateColors, _BaseGlobalsUpdate);
|
|
|
|
var _super = (0, _createSuper2.default)(KitGlobalsUpdateColors);
|
|
|
|
function KitGlobalsUpdateColors() {
|
|
(0, _classCallCheck2.default)(this, KitGlobalsUpdateColors);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitGlobalsUpdateColors, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'globals/colors/create';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'globals-update-colors-/globals/colors/create';
|
|
}
|
|
}, {
|
|
key: "getRepeaterName",
|
|
value: function getRepeaterName() {
|
|
return 'custom_colors';
|
|
}
|
|
}, {
|
|
key: "applyModel",
|
|
value: function applyModel(model, value) {
|
|
model.color = value;
|
|
}
|
|
}]);
|
|
return KitGlobalsUpdateColors;
|
|
}(_baseGlobalsUpdate.default);
|
|
|
|
exports.KitGlobalsUpdateColors = KitGlobalsUpdateColors;
|
|
var _default = KitGlobalsUpdateColors;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 480 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitGlobalsUpdateTypography = void 0;
|
|
|
|
var _assign = _interopRequireDefault(__webpack_require__(138));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _baseGlobalsUpdate = _interopRequireDefault(__webpack_require__(360));
|
|
|
|
var KitGlobalsUpdateTypography = /*#__PURE__*/function (_BaseGlobalsUpdate) {
|
|
(0, _inherits2.default)(KitGlobalsUpdateTypography, _BaseGlobalsUpdate);
|
|
|
|
var _super = (0, _createSuper2.default)(KitGlobalsUpdateTypography);
|
|
|
|
function KitGlobalsUpdateTypography() {
|
|
(0, _classCallCheck2.default)(this, KitGlobalsUpdateTypography);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitGlobalsUpdateTypography, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'globals/typography/create';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'globals-update-typography-/globals/typography/create';
|
|
}
|
|
}, {
|
|
key: "getRepeaterName",
|
|
value: function getRepeaterName() {
|
|
return 'custom_typography';
|
|
}
|
|
}, {
|
|
key: "applyModel",
|
|
value: function applyModel(model, value) {
|
|
(0, _assign.default)(model, value);
|
|
}
|
|
}]);
|
|
return KitGlobalsUpdateTypography;
|
|
}(_baseGlobalsUpdate.default);
|
|
|
|
exports.KitGlobalsUpdateTypography = KitGlobalsUpdateTypography;
|
|
var _default = KitGlobalsUpdateTypography;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 481 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitDeleteGlobalsCache = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _after = _interopRequireDefault(__webpack_require__(224));
|
|
|
|
var KitDeleteGlobalsCache = /*#__PURE__*/function (_After) {
|
|
(0, _inherits2.default)(KitDeleteGlobalsCache, _After);
|
|
|
|
var _super = (0, _createSuper2.default)(KitDeleteGlobalsCache);
|
|
|
|
function KitDeleteGlobalsCache() {
|
|
(0, _classCallCheck2.default)(this, KitDeleteGlobalsCache);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitDeleteGlobalsCache, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'document/save/save';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions(args) {
|
|
var status = args.status,
|
|
_args$document = args.document,
|
|
document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
|
|
return 'publish' === status && 'kit' === document.config.type;
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'document/save/save::update-globals-cache';
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply() {
|
|
// After kit updates - remove globals from cache and force re-request from server.
|
|
$e.components.get('globals').refreshGlobalData();
|
|
}
|
|
}]);
|
|
return KitDeleteGlobalsCache;
|
|
}(_after.default);
|
|
|
|
exports.KitDeleteGlobalsCache = KitDeleteGlobalsCache;
|
|
var _default = KitDeleteGlobalsCache;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 482 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitAfterSave = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _after = _interopRequireDefault(__webpack_require__(224));
|
|
|
|
var KitAfterSave = /*#__PURE__*/function (_After) {
|
|
(0, _inherits2.default)(KitAfterSave, _After);
|
|
|
|
var _super = (0, _createSuper2.default)(KitAfterSave);
|
|
|
|
function KitAfterSave() {
|
|
(0, _classCallCheck2.default)(this, KitAfterSave);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitAfterSave, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'document/save/save';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions(args) {
|
|
var status = args.status,
|
|
_args$document = args.document,
|
|
document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
|
|
return 'publish' === status && 'kit' === document.config.type;
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'kit-footer-saver-after-save';
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
if ('publish' === args.status) {
|
|
elementor.notifications.showToast({
|
|
message: elementor.translate('kit_changes_updated'),
|
|
buttons: [{
|
|
name: 'back_to_editor',
|
|
text: elementor.translate('back_to_editor'),
|
|
callback: function callback() {
|
|
$e.run('panel/global/close');
|
|
}
|
|
}]
|
|
});
|
|
}
|
|
}
|
|
}]);
|
|
return KitAfterSave;
|
|
}(_after.default);
|
|
|
|
exports.KitAfterSave = KitAfterSave;
|
|
var _default = KitAfterSave;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 483 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitUpdateLightboxPreview = void 0;
|
|
|
|
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(105));
|
|
|
|
var _entries = _interopRequireDefault(__webpack_require__(91));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
/**
|
|
* On change kit lightbox settings - update the lightbox preview config.
|
|
*/
|
|
var KitUpdateLightboxPreview = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
|
|
(0, _inherits2.default)(KitUpdateLightboxPreview, _$e$modules$hookUI$Af);
|
|
|
|
var _super = (0, _createSuper2.default)(KitUpdateLightboxPreview);
|
|
|
|
function KitUpdateLightboxPreview() {
|
|
(0, _classCallCheck2.default)(this, KitUpdateLightboxPreview);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitUpdateLightboxPreview, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'document/elements/settings';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'kit-update-lightbox-preview';
|
|
}
|
|
}, {
|
|
key: "getContainerType",
|
|
value: function getContainerType() {
|
|
return 'document';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
return 'kit' === elementor.documents.getCurrent().config.type;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var settings = args.settings;
|
|
(0, _entries.default)(settings).forEach(function (_ref) {
|
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
key = _ref2[0],
|
|
value = _ref2[1];
|
|
|
|
if (-1 !== key.indexOf('lightbox')) {
|
|
elementorFrontend.config.kit[key] = value;
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return KitUpdateLightboxPreview;
|
|
}($e.modules.hookUI.After);
|
|
|
|
exports.KitUpdateLightboxPreview = KitUpdateLightboxPreview;
|
|
var _default = KitUpdateLightboxPreview;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 484 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitUpdateStretchContainer = void 0;
|
|
|
|
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(105));
|
|
|
|
var _entries = _interopRequireDefault(__webpack_require__(91));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
/**
|
|
* On change kit stretch container settings - update the preview stretched sections.
|
|
*/
|
|
var KitUpdateStretchContainer = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
|
|
(0, _inherits2.default)(KitUpdateStretchContainer, _$e$modules$hookUI$Af);
|
|
|
|
var _super = (0, _createSuper2.default)(KitUpdateStretchContainer);
|
|
|
|
function KitUpdateStretchContainer() {
|
|
(0, _classCallCheck2.default)(this, KitUpdateStretchContainer);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitUpdateStretchContainer, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'document/elements/settings';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'kit-update-stretch-container';
|
|
}
|
|
}, {
|
|
key: "getContainerType",
|
|
value: function getContainerType() {
|
|
return 'document';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
return 'kit' === elementor.documents.getCurrent().config.type;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var settings = args.settings;
|
|
(0, _entries.default)(settings).forEach(function (_ref) {
|
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
key = _ref2[0],
|
|
value = _ref2[1];
|
|
|
|
if ('stretched_section_container' === key) {
|
|
elementorFrontend.config.kit[key] = value;
|
|
elementor.channels.editor.trigger('kit:change:stretchContainer');
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return KitUpdateStretchContainer;
|
|
}($e.modules.hookUI.After);
|
|
|
|
exports.KitUpdateStretchContainer = KitUpdateStretchContainer;
|
|
var _default = KitUpdateStretchContainer;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 485 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitSaveRouteHistory = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _baseOpenClose = _interopRequireDefault(__webpack_require__(361));
|
|
|
|
var KitSaveRouteHistory = /*#__PURE__*/function (_BaseOpenClose) {
|
|
(0, _inherits2.default)(KitSaveRouteHistory, _BaseOpenClose);
|
|
|
|
var _super = (0, _createSuper2.default)(KitSaveRouteHistory);
|
|
|
|
function KitSaveRouteHistory() {
|
|
(0, _classCallCheck2.default)(this, KitSaveRouteHistory);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitSaveRouteHistory, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'panel/global/open';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'save-route-history--/panel/global/open';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var result = arguments.length > 1 ? arguments[1] : undefined;
|
|
return args.route;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
this.component.routeHistory = args;
|
|
}
|
|
}]);
|
|
return KitSaveRouteHistory;
|
|
}(_baseOpenClose.default);
|
|
|
|
exports.KitSaveRouteHistory = KitSaveRouteHistory;
|
|
var _default = KitSaveRouteHistory;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 486 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitRemoveEditorActiveCSSDocumentsOpen = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var KitRemoveEditorActiveCSSDocumentsOpen = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
|
|
(0, _inherits2.default)(KitRemoveEditorActiveCSSDocumentsOpen, _$e$modules$hookUI$Af);
|
|
|
|
var _super = (0, _createSuper2.default)(KitRemoveEditorActiveCSSDocumentsOpen);
|
|
|
|
function KitRemoveEditorActiveCSSDocumentsOpen() {
|
|
(0, _classCallCheck2.default)(this, KitRemoveEditorActiveCSSDocumentsOpen);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitRemoveEditorActiveCSSDocumentsOpen, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'editor/documents/open';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'kit-remove-editor-active-css--editor/documents/open';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
return 'kit' === elementor.documents.getCurrent().config.type;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply() {
|
|
// TODO: Remove - Temporary fix to avoid conflict with `elementor.exitPreviewMode()`.
|
|
setTimeout(function () {
|
|
elementorFrontend.elements.$body.removeClass('elementor-editor-active');
|
|
});
|
|
}
|
|
}]);
|
|
return KitRemoveEditorActiveCSSDocumentsOpen;
|
|
}($e.modules.hookUI.After);
|
|
|
|
exports.KitRemoveEditorActiveCSSDocumentsOpen = KitRemoveEditorActiveCSSDocumentsOpen;
|
|
var _default = KitRemoveEditorActiveCSSDocumentsOpen;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 487 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitRemoveEditorActiveCSSPanelOpen = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var KitRemoveEditorActiveCSSPanelOpen = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
|
|
(0, _inherits2.default)(KitRemoveEditorActiveCSSPanelOpen, _$e$modules$hookUI$Af);
|
|
|
|
var _super = (0, _createSuper2.default)(KitRemoveEditorActiveCSSPanelOpen);
|
|
|
|
function KitRemoveEditorActiveCSSPanelOpen() {
|
|
(0, _classCallCheck2.default)(this, KitRemoveEditorActiveCSSPanelOpen);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitRemoveEditorActiveCSSPanelOpen, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'panel/open';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'kit-remove-editor-active-css--/panel/open';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
return 'kit' === elementor.documents.getCurrent().config.type;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply() {
|
|
// TODO: Remove - Temporary fix to avoid conflict with `elementor.exitPreviewMode()`.
|
|
setTimeout(function () {
|
|
elementorFrontend.elements.$body.removeClass('elementor-editor-active');
|
|
});
|
|
}
|
|
}]);
|
|
return KitRemoveEditorActiveCSSPanelOpen;
|
|
}($e.modules.hookUI.After);
|
|
|
|
exports.KitRemoveEditorActiveCSSPanelOpen = KitRemoveEditorActiveCSSPanelOpen;
|
|
var _default = KitRemoveEditorActiveCSSPanelOpen;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 488 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.KitBackToRouteHistory = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _baseOpenClose = _interopRequireDefault(__webpack_require__(361));
|
|
|
|
var KitBackToRouteHistory = /*#__PURE__*/function (_BaseOpenClose) {
|
|
(0, _inherits2.default)(KitBackToRouteHistory, _BaseOpenClose);
|
|
|
|
var _super = (0, _createSuper2.default)(KitBackToRouteHistory);
|
|
|
|
function KitBackToRouteHistory() {
|
|
(0, _classCallCheck2.default)(this, KitBackToRouteHistory);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(KitBackToRouteHistory, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'panel/global/close';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'back-to-route-history-/panel/global/close';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions() {
|
|
return this.component.routeHistory;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply() {
|
|
var historyBeforeOpen = this.component.routeHistory;
|
|
delete this.component.routeHistory;
|
|
/**
|
|
* TODO: Find better solution.
|
|
* Since cache deleted after leaving globals.
|
|
* Cover issue: When back to route, it back to style, it causes the UI ask for styles separately and since,
|
|
* Cache deleted, it asks the remote ( $e.data ) for specific colors/typography endpoints and causes a delay in global select box.
|
|
* To handle the the issue, request globals manually, then back to route.
|
|
*/
|
|
|
|
if (historyBeforeOpen.container) {
|
|
$e.data.get('globals/index').then(function () {
|
|
// Since the container comes from history, its not connected element.
|
|
historyBeforeOpen.container = historyBeforeOpen.container.lookup();
|
|
historyBeforeOpen.container.model.trigger('request:edit', {
|
|
scrollIntoView: true
|
|
});
|
|
$e.route(historyBeforeOpen.route, {
|
|
model: historyBeforeOpen.container.model,
|
|
view: historyBeforeOpen.container.view
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}]);
|
|
return KitBackToRouteHistory;
|
|
}(_baseOpenClose.default);
|
|
|
|
exports.KitBackToRouteHistory = KitBackToRouteHistory;
|
|
var _default = KitBackToRouteHistory;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 489 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.KitRemovePreviewDeletedVariables = void 0;
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(139);
|
|
|
|
__webpack_require__(182);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
/**
|
|
* On delete a design system item - the used variables on the preview frame are
|
|
* invalid and cause the elements to get the user-agent default style instead of
|
|
* inherit higher CSS rules.
|
|
*
|
|
* The hook finds and removes all deleted item variables from the preview inline styles.
|
|
*/
|
|
var KitRemovePreviewDeletedVariables = /*#__PURE__*/function (_$e$modules$hookUI$Be) {
|
|
(0, _inherits2.default)(KitRemovePreviewDeletedVariables, _$e$modules$hookUI$Be);
|
|
|
|
var _super = (0, _createSuper2.default)(KitRemovePreviewDeletedVariables);
|
|
|
|
function KitRemovePreviewDeletedVariables() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, KitRemovePreviewDeletedVariables);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "controls", ['custom_colors', 'custom_typography']);
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(KitRemovePreviewDeletedVariables, [{
|
|
key: "getCommand",
|
|
value: function getCommand() {
|
|
return 'document/repeater/remove';
|
|
}
|
|
}, {
|
|
key: "getId",
|
|
value: function getId() {
|
|
return 'kit-remove-preview-deleted-variables';
|
|
}
|
|
}, {
|
|
key: "getContainerType",
|
|
value: function getContainerType() {
|
|
return 'document';
|
|
}
|
|
}, {
|
|
key: "getConditions",
|
|
value: function getConditions(args) {
|
|
return this.controls.includes(args.name) && 'kit' === elementor.documents.getCurrent().config.type;
|
|
}
|
|
}, {
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var _this2 = this;
|
|
|
|
// Store on component in order to use it in undo hook.
|
|
this.component = $e.components.get('panel/global');
|
|
this.component.tempStyle = this.component.tempStyle || {};
|
|
var _args$containers = args.containers,
|
|
containers = _args$containers === void 0 ? [args.container] : _args$containers,
|
|
kitCSSId = "elementor-style-page-".concat(elementor.config.kit_id);
|
|
containers.forEach(function (container) {
|
|
var item = container.repeaters[args.name].children[args.index],
|
|
stylesheets = (0, _values.default)(elementor.$previewContents[0].styleSheets).filter(function (stylesheet) {
|
|
// Don't touch the kit CSS itself.
|
|
return kitCSSId !== stylesheet.ownerNode.id && stylesheet.ownerNode.innerHTML.includes(item.id);
|
|
});
|
|
stylesheets.forEach(function (stylesheet) {
|
|
_this2.component.tempStyle[item.id] = _this2.extractVariables(stylesheet.cssRules, item.id);
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "extractVariables",
|
|
value: function extractVariables(cssRules, id) {
|
|
var variablesRules = {};
|
|
(0, _values.default)(cssRules).forEach(function (rule) {
|
|
if (!rule.style) {
|
|
// TODO Handle CSSMediaRule.
|
|
return;
|
|
}
|
|
|
|
variablesRules[rule.selectorText] = {}; // Get the original properties for undo.
|
|
|
|
for (var i = 0; i < rule.style.length; i++) {
|
|
var property = rule.style[i],
|
|
value = rule.style[property];
|
|
|
|
if (value.includes(id)) {
|
|
variablesRules[rule.selectorText][property] = value;
|
|
}
|
|
} // Delete in a separated loop, because it changes the `style.length`.
|
|
|
|
|
|
(0, _keys.default)(variablesRules[rule.selectorText]).forEach(function (property) {
|
|
rule.style[property] = '';
|
|
});
|
|
});
|
|
return variablesRules;
|
|
}
|
|
}]);
|
|
return KitRemovePreviewDeletedVariables;
|
|
}($e.modules.hookUI.Before);
|
|
|
|
exports.KitRemovePreviewDeletedVariables = KitRemovePreviewDeletedVariables;
|
|
|
|
/***/ }),
|
|
/* 490 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Back", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _back.Back;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Close", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _close.Close;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Exit", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _exit.Exit;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
var _back = __webpack_require__(491);
|
|
|
|
var _close = __webpack_require__(492);
|
|
|
|
var _exit = __webpack_require__(504);
|
|
|
|
var _open = __webpack_require__(505);
|
|
|
|
/***/ }),
|
|
/* 491 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Back = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Back = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Back, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Back);
|
|
|
|
function Back() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, Back);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "confirmDialog", null);
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(Back, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
var panelHistory = $e.routes.getHistory('panel'); // Don't go back if no where.
|
|
|
|
if (1 === panelHistory.length) {
|
|
this.getCloseConfirmDialog(event).show();
|
|
return;
|
|
}
|
|
|
|
return $e.routes.back('panel');
|
|
}
|
|
}, {
|
|
key: "getCloseConfirmDialog",
|
|
value: function getCloseConfirmDialog(event) {
|
|
if (!this.confirmDialog) {
|
|
var modalOptions = {
|
|
id: 'elementor-kit-warn-on-close',
|
|
headerMessage: elementor.translate('Exit'),
|
|
message: elementor.translate('Would you like to exit?'),
|
|
position: {
|
|
my: 'center center',
|
|
at: 'center center'
|
|
},
|
|
strings: {
|
|
confirm: elementor.translate('Exit'),
|
|
cancel: elementor.translate('Cancel')
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
$e.run('panel/global/close');
|
|
}
|
|
};
|
|
this.confirmDialog = elementorCommon.dialogsManager.createWidget('confirm', modalOptions);
|
|
}
|
|
|
|
this.confirmDialog.setSettings('hide', {
|
|
onEscKeyPress: !event
|
|
});
|
|
return this.confirmDialog;
|
|
}
|
|
}]);
|
|
return Back;
|
|
}(_commandBase.default);
|
|
|
|
exports.Back = Back;
|
|
var _default = Back;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 492 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Close = void 0;
|
|
|
|
__webpack_require__(362);
|
|
|
|
__webpack_require__(79);
|
|
|
|
__webpack_require__(366);
|
|
|
|
var _parseInt2 = _interopRequireDefault(__webpack_require__(213));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Close = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Close, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Close);
|
|
|
|
function Close() {
|
|
(0, _classCallCheck2.default)(this, Close);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Close, [{
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
var _this = this;
|
|
|
|
var mode = args.mode; // The kit is opened directly.
|
|
|
|
if (elementor.config.initial_document.id === (0, _parseInt2.default)(elementor.config.kit_id)) {
|
|
return $e.run('panel/global/exit');
|
|
}
|
|
|
|
$e.internal('panel/state-loading');
|
|
return $e.run('editor/documents/switch', {
|
|
mode: mode,
|
|
id: elementor.config.initial_document.id,
|
|
onClose: function onClose(document) {
|
|
if (document.isDraft()) {
|
|
// Restore published style.
|
|
elementor.toggleDocumentCssFiles(document, true);
|
|
elementor.settings.page.destroyControlsCSS();
|
|
}
|
|
|
|
$e.components.get('panel/global').close();
|
|
$e.routes.clearHistory(_this.component.getRootContainer()); // The kit shouldn't be cached for next open. (it may be changed via create colors/typography).
|
|
|
|
elementor.documents.invalidateCache(elementor.config.kit_id);
|
|
}
|
|
}).finally(function () {
|
|
return $e.internal('panel/state-ready');
|
|
});
|
|
}
|
|
}]);
|
|
return Close;
|
|
}(_commandBase.default);
|
|
|
|
exports.Close = Close;
|
|
var _default = Close;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 493 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (it, Constructor, name, forbiddenField) {
|
|
if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
|
|
throw TypeError(name + ': incorrect invocation!');
|
|
} return it;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 494 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var ctx = __webpack_require__(80);
|
|
var call = __webpack_require__(495);
|
|
var isArrayIter = __webpack_require__(496);
|
|
var anObject = __webpack_require__(20);
|
|
var toLength = __webpack_require__(45);
|
|
var getIterFn = __webpack_require__(497);
|
|
var BREAK = {};
|
|
var RETURN = {};
|
|
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
|
|
var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
|
|
var f = ctx(fn, that, entries ? 2 : 1);
|
|
var index = 0;
|
|
var length, step, iterator, result;
|
|
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
|
|
// fast case for arrays with default iterator
|
|
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
|
|
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
|
if (result === BREAK || result === RETURN) return result;
|
|
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
|
|
result = call(iterator, f, step.value, entries);
|
|
if (result === BREAK || result === RETURN) return result;
|
|
}
|
|
};
|
|
exports.BREAK = BREAK;
|
|
exports.RETURN = RETURN;
|
|
|
|
|
|
/***/ }),
|
|
/* 495 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// call something on iterator step with safe closing on error
|
|
var anObject = __webpack_require__(20);
|
|
module.exports = function (iterator, fn, value, entries) {
|
|
try {
|
|
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
|
|
// 7.4.6 IteratorClose(iterator, completion)
|
|
} catch (e) {
|
|
var ret = iterator['return'];
|
|
if (ret !== undefined) anObject(ret.call(iterator));
|
|
throw e;
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 496 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// check on default Array iterator
|
|
var Iterators = __webpack_require__(119);
|
|
var ITERATOR = __webpack_require__(13)('iterator');
|
|
var ArrayProto = Array.prototype;
|
|
|
|
module.exports = function (it) {
|
|
return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 497 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var classof = __webpack_require__(116);
|
|
var ITERATOR = __webpack_require__(13)('iterator');
|
|
var Iterators = __webpack_require__(119);
|
|
module.exports = __webpack_require__(57).getIteratorMethod = function (it) {
|
|
if (it != undefined) return it[ITERATOR]
|
|
|| it['@@iterator']
|
|
|| Iterators[classof(it)];
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 498 */
|
|
/***/ (function(module, exports) {
|
|
|
|
// fast apply, http://jsperf.lnkit.com/fast-apply/5
|
|
module.exports = function (fn, args, that) {
|
|
var un = that === undefined;
|
|
switch (args.length) {
|
|
case 0: return un ? fn()
|
|
: fn.call(that);
|
|
case 1: return un ? fn(args[0])
|
|
: fn.call(that, args[0]);
|
|
case 2: return un ? fn(args[0], args[1])
|
|
: fn.call(that, args[0], args[1]);
|
|
case 3: return un ? fn(args[0], args[1], args[2])
|
|
: fn.call(that, args[0], args[1], args[2]);
|
|
case 4: return un ? fn(args[0], args[1], args[2], args[3])
|
|
: fn.call(that, args[0], args[1], args[2], args[3]);
|
|
} return fn.apply(that, args);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 499 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(18);
|
|
var macrotask = __webpack_require__(363).set;
|
|
var Observer = global.MutationObserver || global.WebKitMutationObserver;
|
|
var process = global.process;
|
|
var Promise = global.Promise;
|
|
var isNode = __webpack_require__(50)(process) == 'process';
|
|
|
|
module.exports = function () {
|
|
var head, last, notify;
|
|
|
|
var flush = function () {
|
|
var parent, fn;
|
|
if (isNode && (parent = process.domain)) parent.exit();
|
|
while (head) {
|
|
fn = head.fn;
|
|
head = head.next;
|
|
try {
|
|
fn();
|
|
} catch (e) {
|
|
if (head) notify();
|
|
else last = undefined;
|
|
throw e;
|
|
}
|
|
} last = undefined;
|
|
if (parent) parent.enter();
|
|
};
|
|
|
|
// Node.js
|
|
if (isNode) {
|
|
notify = function () {
|
|
process.nextTick(flush);
|
|
};
|
|
// browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
|
|
} else if (Observer && !(global.navigator && global.navigator.standalone)) {
|
|
var toggle = true;
|
|
var node = document.createTextNode('');
|
|
new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
|
|
notify = function () {
|
|
node.data = toggle = !toggle;
|
|
};
|
|
// environments with maybe non-completely correct, but existent Promise
|
|
} else if (Promise && Promise.resolve) {
|
|
// Promise.resolve without an argument throws an error in LG WebOS 2
|
|
var promise = Promise.resolve(undefined);
|
|
notify = function () {
|
|
promise.then(flush);
|
|
};
|
|
// for other environments - macrotask based on:
|
|
// - setImmediate
|
|
// - MessageChannel
|
|
// - window.postMessag
|
|
// - onreadystatechange
|
|
// - setTimeout
|
|
} else {
|
|
notify = function () {
|
|
// strange IE + webpack dev server bug - use .call(global)
|
|
macrotask.call(global, flush);
|
|
};
|
|
}
|
|
|
|
return function (fn) {
|
|
var task = { fn: fn, next: undefined };
|
|
if (last) last.next = task;
|
|
if (!head) {
|
|
head = task;
|
|
notify();
|
|
} last = task;
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 500 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function (exec) {
|
|
try {
|
|
return { e: false, v: exec() };
|
|
} catch (e) {
|
|
return { e: true, v: e };
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 501 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var global = __webpack_require__(18);
|
|
var navigator = global.navigator;
|
|
|
|
module.exports = navigator && navigator.userAgent || '';
|
|
|
|
|
|
/***/ }),
|
|
/* 502 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var redefine = __webpack_require__(39);
|
|
module.exports = function (target, src, safe) {
|
|
for (var key in src) redefine(target, key, src[key], safe);
|
|
return target;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 503 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var ITERATOR = __webpack_require__(13)('iterator');
|
|
var SAFE_CLOSING = false;
|
|
|
|
try {
|
|
var riter = [7][ITERATOR]();
|
|
riter['return'] = function () { SAFE_CLOSING = true; };
|
|
// eslint-disable-next-line no-throw-literal
|
|
Array.from(riter, function () { throw 2; });
|
|
} catch (e) { /* empty */ }
|
|
|
|
module.exports = function (exec, skipClosing) {
|
|
if (!skipClosing && !SAFE_CLOSING) return false;
|
|
var safe = false;
|
|
try {
|
|
var arr = [7];
|
|
var iter = arr[ITERATOR]();
|
|
iter.next = function () { return { done: safe = true }; };
|
|
arr[ITERATOR] = function () { return iter; };
|
|
exec(arr);
|
|
} catch (e) { /* empty */ }
|
|
return safe;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 504 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Exit = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Exit = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Exit, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Exit);
|
|
|
|
function Exit() {
|
|
(0, _classCallCheck2.default)(this, Exit);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Exit, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
return $e.run('editor/documents/close', {
|
|
id: elementor.config.kit_id,
|
|
onClose: function onClose(document) {
|
|
location = document.config.urls.exit_to_dashboard;
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return Exit;
|
|
}(_commandBase.default);
|
|
|
|
exports.Exit = Exit;
|
|
var _default = Exit;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 505 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
__webpack_require__(362);
|
|
|
|
__webpack_require__(79);
|
|
|
|
__webpack_require__(366);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
var kit = elementor.documents.get(elementor.config.kit_id);
|
|
|
|
if (kit && 'open' === kit.editor.status) {
|
|
return jQuery.Deferred().resolve();
|
|
}
|
|
|
|
$e.routes.clearHistory(this.component.getRootContainer());
|
|
this.component.toggleHistoryClass();
|
|
$e.internal('panel/state-loading');
|
|
return $e.run('editor/documents/switch', {
|
|
id: elementor.config.kit_id,
|
|
mode: 'autosave'
|
|
}).finally(function () {
|
|
return $e.internal('panel/state-ready');
|
|
});
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 506 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _panelContent = _interopRequireDefault(__webpack_require__(507));
|
|
|
|
module.exports = Marionette.LayoutView.extend({
|
|
id: 'elementor-kit-panel',
|
|
template: '#tmpl-elementor-kit-panel',
|
|
regions: {
|
|
content: '#elementor-kit__panel-content__wrapper'
|
|
},
|
|
onBeforeShow: function onBeforeShow() {
|
|
var container = elementor.documents.getCurrent().container,
|
|
options = {
|
|
container: container,
|
|
model: container.model,
|
|
controls: container.settings.controls,
|
|
name: 'kit'
|
|
};
|
|
this.showChildView('content', new _panelContent.default(options));
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 507 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$edi) {
|
|
(0, _inherits2.default)(_default, _elementorModules$edi);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-kit-panel-content';
|
|
}
|
|
}, {
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-kit-panel-content';
|
|
}
|
|
}, {
|
|
key: "childViewContainer",
|
|
value: function childViewContainer() {
|
|
return '#elementor-kit-panel-content-controls';
|
|
}
|
|
}, {
|
|
key: "childViewOptions",
|
|
value: function childViewOptions() {
|
|
var container = this.getOption('container');
|
|
return {
|
|
elementSettingsModel: container.settings,
|
|
container: container
|
|
};
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.editor.views.ControlsStack);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 508 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _base = _interopRequireDefault(__webpack_require__(359));
|
|
|
|
var PanelMenu = /*#__PURE__*/function (_MenuPageView) {
|
|
(0, _inherits2.default)(PanelMenu, _MenuPageView);
|
|
|
|
var _super = (0, _createSuper2.default)(PanelMenu);
|
|
|
|
function PanelMenu() {
|
|
(0, _classCallCheck2.default)(this, PanelMenu);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(PanelMenu, [{
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
this.collection = PanelMenu.getGroups();
|
|
}
|
|
}]);
|
|
return PanelMenu;
|
|
}(_base.default);
|
|
|
|
exports.default = PanelMenu;
|
|
PanelMenu.groups = null;
|
|
|
|
PanelMenu.createGroupItems = function (groupName, keys) {
|
|
var tabs = $e.components.get('panel/global').getTabs();
|
|
return keys.map(function (key) {
|
|
var fullKey = groupName + '-' + key,
|
|
tab = tabs[fullKey];
|
|
return {
|
|
name: fullKey,
|
|
icon: tab.icon,
|
|
title: tab.title,
|
|
callback: function callback() {
|
|
return $e.route('panel/global/' + fullKey);
|
|
}
|
|
};
|
|
});
|
|
};
|
|
|
|
PanelMenu.initGroups = function () {
|
|
var settingsItems = PanelMenu.createGroupItems('settings', ['site-identity', 'background', 'layout', 'lightbox', 'custom-css']),
|
|
additionalSettingsProps = {
|
|
name: 'settings-additional-settings',
|
|
icon: 'eicon-tools',
|
|
title: elementor.translate('additional_settings'),
|
|
type: 'link',
|
|
link: elementor.config.admin_settings_url,
|
|
newTab: true
|
|
};
|
|
settingsItems.push(additionalSettingsProps);
|
|
PanelMenu.groups = new Backbone.Collection([{
|
|
name: 'design_system',
|
|
title: elementor.translate('design_system'),
|
|
items: PanelMenu.createGroupItems('global', ['colors', 'typography'])
|
|
}, {
|
|
name: 'theme_style',
|
|
title: elementor.translate('theme_style'),
|
|
items: PanelMenu.createGroupItems('theme-style', ['typography', 'buttons', 'images', 'form-fields'])
|
|
}, {
|
|
name: 'settings',
|
|
title: elementor.translate('settings'),
|
|
items: settingsItems
|
|
}]);
|
|
};
|
|
|
|
PanelMenu.getGroups = function () {
|
|
if (!PanelMenu.groups) {
|
|
PanelMenu.initGroups();
|
|
}
|
|
|
|
return PanelMenu.groups;
|
|
};
|
|
|
|
/***/ }),
|
|
/* 509 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _panelHeaderButtons = __webpack_require__(510);
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$Behavior) {
|
|
(0, _inherits2.default)(_default, _Marionette$Behavior);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
buttonClose: '#elementor-panel-header-kit-close',
|
|
buttonBack: '#elementor-panel-header-kit-back'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.buttonClose': 'onClickClose',
|
|
'click @ui.buttonBack': 'onClickBack'
|
|
};
|
|
}
|
|
}, {
|
|
key: "onBeforeShow",
|
|
value: function onBeforeShow() {
|
|
this.$el.prepend(elementor.compileTemplate(_panelHeaderButtons.buttonBack, {
|
|
Back: elementor.translate('back')
|
|
}));
|
|
this.$el.append(elementor.compileTemplate(_panelHeaderButtons.buttonClose, {
|
|
Close: elementor.translate('close')
|
|
}));
|
|
}
|
|
}, {
|
|
key: "onClickClose",
|
|
value: function onClickClose() {
|
|
$e.run('panel/global/close');
|
|
}
|
|
}, {
|
|
key: "onClickBack",
|
|
value: function onClickBack() {
|
|
$e.run('panel/global/back');
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.Behavior);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 510 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.buttonClose = exports.buttonBack = void 0;
|
|
var arrowIconClass = 'eicon-chevron-' + (elementorCommon.config.isRTL ? 'right' : 'left');
|
|
var buttonBack = "\n<div id=\"elementor-panel-header-kit-back\" class=\"elementor-header-button\">\n\t<i class=\"elementor-icon ".concat(arrowIconClass, " tooltip-target\" aria-hidden=\"true\" data-tooltip=\"{{ Back }}\"></i>\n\t<span class=\"elementor-screen-only\">{{ Back }}</span>\n</div>\n");
|
|
exports.buttonBack = buttonBack;
|
|
var buttonClose = "\n<div id=\"elementor-panel-header-kit-close\" class=\"elementor-header-button\">\n\t<i class=\"elementor-icon eicon-close tooltip-target\" aria-hidden=\"true\" data-tooltip=\"{{ Close }}\"></i>\n\t<span class=\"elementor-screen-only\">{{ Close }}</span>\n</div>\n";
|
|
exports.buttonClose = buttonClose;
|
|
|
|
/***/ }),
|
|
/* 511 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _repeater = _interopRequireDefault(__webpack_require__(367));
|
|
|
|
var _repeaterRow = _interopRequireDefault(__webpack_require__(512));
|
|
|
|
var _default = /*#__PURE__*/function (_Repeater) {
|
|
(0, _inherits2.default)(_default, _Repeater);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
_this.childView = _repeaterRow.default;
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "templateHelpers",
|
|
value: function templateHelpers() {
|
|
var templateHelpers = (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "templateHelpers", this).call(this);
|
|
templateHelpers.addButtonText = elementor.translate('custom_colors' === this.model.get('name') ? 'add_color' : 'add_style');
|
|
return templateHelpers;
|
|
}
|
|
}, {
|
|
key: "getDefaults",
|
|
value: function getDefaults() {
|
|
var defaults = (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "getDefaults", this).call(this);
|
|
defaults.title = "".concat(elementor.translate('new_item'), " #").concat(this.children.length + 1);
|
|
return defaults;
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(_repeater.default);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 512 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _repeaterRow = _interopRequireDefault(__webpack_require__(328));
|
|
|
|
var _default = /*#__PURE__*/function (_RepeaterRow) {
|
|
(0, _inherits2.default)(_default, _RepeaterRow);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-global-style-repeater-row';
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.removeButton': 'onRemoveButtonClick'
|
|
};
|
|
}
|
|
}, {
|
|
key: "updateColorValue",
|
|
value: function updateColorValue() {
|
|
this.$colorValue.text(this.model.get('color'));
|
|
}
|
|
}, {
|
|
key: "getDisabledRemoveButtons",
|
|
value: function getDisabledRemoveButtons() {
|
|
if (!this.ui.disabledRemoveButtons) {
|
|
this.ui.disabledRemoveButtons = this.$el.find('.elementor-repeater-tool-remove--disabled');
|
|
}
|
|
|
|
return this.ui.disabledRemoveButtons;
|
|
}
|
|
}, {
|
|
key: "getRemoveButton",
|
|
value: function getRemoveButton() {
|
|
return this.ui.removeButton.add(this.getDisabledRemoveButtons());
|
|
}
|
|
}, {
|
|
key: "triggers",
|
|
value: function triggers() {
|
|
return {};
|
|
}
|
|
}, {
|
|
key: "onChildviewRender",
|
|
value: function onChildviewRender(childView) {
|
|
var isColor = 'color' === childView.model.get('type'),
|
|
isPopoverToggle = 'popover_toggle' === childView.model.get('type');
|
|
var globalType = '';
|
|
|
|
if (isColor) {
|
|
this.$colorValue = jQuery('<div>', {
|
|
class: 'e-global-colors__color-value'
|
|
});
|
|
childView.$el.find('.elementor-control-input-wrapper').prepend(this.getRemoveButton(), this.$colorValue);
|
|
globalType = 'color';
|
|
this.updateColorValue();
|
|
}
|
|
|
|
if (isPopoverToggle) {
|
|
childView.$el.find('.elementor-control-input-wrapper').append(this.getRemoveButton());
|
|
globalType = 'font';
|
|
}
|
|
|
|
if (isColor || isPopoverToggle) {
|
|
var removeButtons = this.getDisabledRemoveButtons();
|
|
this.ui.removeButton.data('e-global-type', globalType);
|
|
this.ui.removeButton.tipsy({
|
|
title: function title() {
|
|
return elementor.translate('delete_global_' + globalType);
|
|
},
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
removeButtons.tipsy({
|
|
title: function title() {
|
|
return elementor.translate(globalType + '_cannot_be_deleted');
|
|
},
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}, {
|
|
key: "onModelChange",
|
|
value: function onModelChange(model) {
|
|
if (undefined !== model.changed.color) {
|
|
this.updateColorValue();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onRemoveButtonClick",
|
|
value: function onRemoveButtonClick() {
|
|
var _this = this;
|
|
|
|
var globalType = this.ui.removeButton.data('e-global-type');
|
|
this.confirmDeleteModal = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
className: 'e-global__confirm-delete',
|
|
headerMessage: elementor.translate('delete_global_' + globalType),
|
|
message: '<i class="eicon-info-circle"></i> ' + elementor.translate('delete_global_' + globalType + '_info'),
|
|
strings: {
|
|
confirm: elementor.translate('delete'),
|
|
cancel: elementor.translate('cancel')
|
|
},
|
|
hide: {
|
|
onBackgroundClick: false
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
_this.trigger('click:remove');
|
|
}
|
|
});
|
|
this.confirmDeleteModal.show();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(_repeaterRow.default);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 513 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var GlobalControlSelect = /*#__PURE__*/function (_Marionette$Behavior) {
|
|
(0, _inherits2.default)(GlobalControlSelect, _Marionette$Behavior);
|
|
|
|
var _super = (0, _createSuper2.default)(GlobalControlSelect);
|
|
|
|
function GlobalControlSelect() {
|
|
(0, _classCallCheck2.default)(this, GlobalControlSelect);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(GlobalControlSelect, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
controlContent: '.elementor-control-content'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getClassNames",
|
|
value: function getClassNames() {
|
|
return {
|
|
previewItemsContainer: 'e-global__preview-items-container',
|
|
previewItem: 'e-global__preview-item',
|
|
selectedPreviewItem: 'e-global__preview-item--selected',
|
|
manageButton: 'e-global__manage-button',
|
|
popover: 'e-global__popover',
|
|
popoverToggle: 'e-global__popover-toggle',
|
|
popoverToggleActive: 'e-global__popover-toggle--active',
|
|
controlGlobal: 'e-control-global',
|
|
globalPopoverContainer: 'e-global__popover-container',
|
|
globalPopoverTitle: 'e-global__popover-title',
|
|
globalPopoverTitleText: 'e-global__popover-title-text',
|
|
globalPopoverInfo: 'e-global__popover-info',
|
|
globalPopoverInfoTooltip: 'e-global__popover-info-tooltip',
|
|
confirmAddNewGlobal: 'e-global__confirm-add',
|
|
confirmMessageText: '.e-global__confirm-message-text'
|
|
};
|
|
} // This method exists because the UI elements are printed after controls are already rendered.
|
|
|
|
}, {
|
|
key: "registerUiElements",
|
|
value: function registerUiElements() {
|
|
var popoverWidget = this.popover.getElements('widget');
|
|
this.ui.manageGlobalsButton = popoverWidget.find(".".concat(this.getClassNames().manageButton));
|
|
}
|
|
}, {
|
|
key: "registerPreviewElements",
|
|
value: function registerPreviewElements() {
|
|
var popoverWidget = this.popover.getElements('widget'),
|
|
classes = this.getClassNames();
|
|
this.ui.globalPreviewItems = popoverWidget.find(".".concat(classes.previewItem));
|
|
} // This method exists because the UI elements are printed after controls are already rendered.
|
|
|
|
}, {
|
|
key: "registerEvents",
|
|
value: function registerEvents() {
|
|
var _this = this;
|
|
|
|
this.ui.globalPopoverToggle.on('click', function (event) {
|
|
return _this.toggleGlobalPopover(event);
|
|
});
|
|
this.ui.manageGlobalsButton.on('click', function () {
|
|
var _this$view$getGlobalM = _this.view.getGlobalMeta(),
|
|
route = _this$view$getGlobalM.route,
|
|
args = {
|
|
route: $e.routes.getHistory('panel').reverse()[0].route,
|
|
container: _this.view.options.container
|
|
};
|
|
|
|
$e.run('panel/global/open', args).then(function () {
|
|
return $e.route(route);
|
|
});
|
|
|
|
_this.popover.hide();
|
|
});
|
|
}
|
|
}, {
|
|
key: "addPreviewItemsClickListener",
|
|
value: function addPreviewItemsClickListener() {
|
|
var _this2 = this;
|
|
|
|
this.ui.$globalPreviewItemsContainer.on('click', ".".concat(this.getClassNames().previewItem), function (event) {
|
|
return _this2.applySavedGlobalValue(event.currentTarget.dataset.globalId);
|
|
});
|
|
}
|
|
}, {
|
|
key: "fetchGlobalValue",
|
|
value: function fetchGlobalValue() {
|
|
var _this3 = this;
|
|
|
|
return $e.data.get(this.view.getGlobalKey()).then(function (globalData) {
|
|
_this3.view.globalValue = globalData.data.value;
|
|
|
|
_this3.onValueTypeChange();
|
|
|
|
elementor.kitManager.renderGlobalVariables();
|
|
|
|
_this3.view.applySavedValue();
|
|
|
|
return globalData.data;
|
|
});
|
|
}
|
|
}, {
|
|
key: "setCurrentActivePreviewItem",
|
|
value: function setCurrentActivePreviewItem() {
|
|
var selectedClass = this.getClassNames().selectedPreviewItem,
|
|
defaultGlobalsAreEnabled = elementor.config.globals.defaults_enabled[this.view.getGlobalMeta().controlType];
|
|
|
|
if (this.activePreviewItem) {
|
|
this.resetActivePreviewItem();
|
|
} // If there is an active global on the control, get it.
|
|
|
|
|
|
var globalKey = this.view.getGlobalKey(); // If the control has no active global and no active custom value, check if there is a default global and use it.
|
|
|
|
if (!globalKey && !this.view.getControlValue() && defaultGlobalsAreEnabled) {
|
|
var _this$view$model$get;
|
|
|
|
globalKey = (_this$view$model$get = this.view.model.get('global')) === null || _this$view$model$get === void 0 ? void 0 : _this$view$model$get.default;
|
|
}
|
|
|
|
if (!globalKey) {
|
|
// If there is no active global or global default, reset the active preview item.
|
|
this.activePreviewItem = null;
|
|
return;
|
|
} // Extract the Global's ID from the Global key
|
|
|
|
|
|
var _$e$data$commandExtra = $e.data.commandExtractArgs(globalKey),
|
|
args = _$e$data$commandExtra.args,
|
|
globalId = args.query.id; // Get the active global's corresponding preview item in the Global Select Popover
|
|
|
|
|
|
var $item = this.ui.globalPreviewItems.filter("[data-global-id=\"".concat(globalId, "\"]"));
|
|
|
|
if (!$item) {
|
|
return;
|
|
}
|
|
|
|
this.activePreviewItem = $item;
|
|
this.activePreviewItem.addClass(selectedClass);
|
|
}
|
|
}, {
|
|
key: "resetActivePreviewItem",
|
|
value: function resetActivePreviewItem() {
|
|
if (this.activePreviewItem) {
|
|
this.activePreviewItem.removeClass(this.getClassNames().selectedPreviewItem);
|
|
}
|
|
|
|
this.activePreviewItem = null;
|
|
}
|
|
}, {
|
|
key: "applySavedGlobalValue",
|
|
value: function applySavedGlobalValue(globalId) {
|
|
this.setGlobalValue(globalId);
|
|
this.fetchGlobalValue();
|
|
this.popover.hide();
|
|
} // Update the behavior's components.
|
|
|
|
}, {
|
|
key: "onValueTypeChange",
|
|
value: function onValueTypeChange() {
|
|
this.updateCurrentGlobalName();
|
|
}
|
|
}, {
|
|
key: "updateCurrentGlobalName",
|
|
value: function updateCurrentGlobalName(value) {
|
|
var _this4 = this;
|
|
|
|
var classes = this.getClassNames();
|
|
var globalTooltipText = '';
|
|
|
|
if (value) {
|
|
globalTooltipText = value;
|
|
} else {
|
|
value = this.view.getControlValue();
|
|
var globalValue = this.view.getGlobalKey();
|
|
|
|
if (!globalValue && !value && elementor.config.globals.defaults_enabled[this.view.getGlobalMeta().controlType]) {
|
|
var _this$view$model$get2;
|
|
|
|
globalValue = (_this$view$model$get2 = this.view.model.get('global')) === null || _this$view$model$get2 === void 0 ? void 0 : _this$view$model$get2.default;
|
|
}
|
|
|
|
if (globalValue) {
|
|
// If there is a global value saved, get the global's name and display it.
|
|
$e.data.get(globalValue).then(function (result) {
|
|
var text = '';
|
|
|
|
if (result.data.title) {
|
|
text = result.data.title;
|
|
} else {
|
|
text = elementor.translate('default');
|
|
}
|
|
|
|
_this4.updateCurrentGlobalName(text);
|
|
});
|
|
this.ui.globalPopoverToggle.addClass(classes.popoverToggleActive);
|
|
return;
|
|
} else if (value) {
|
|
// If there is a value and it is not a global, set the text to custom.
|
|
globalTooltipText = elementor.translate('custom');
|
|
} else {
|
|
// If there is no value, set the text as default.
|
|
globalTooltipText = elementor.translate('default');
|
|
} // If there is no value, remove the 'active' class from the Global Toggle button.
|
|
|
|
|
|
this.ui.globalPopoverToggle.removeClass(classes.popoverToggleActive);
|
|
} // This is used in the Global Toggle Button's tooltip.
|
|
|
|
|
|
this.globalName = globalTooltipText;
|
|
} // The Global Control elements are initialized onRender and not with initialize() because their position depends
|
|
// on elements that are not yet rendered when initialize() is called.
|
|
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
var _this5 = this;
|
|
|
|
this.printGlobalToggleButton();
|
|
this.initGlobalPopover();
|
|
|
|
if (this.view.getGlobalKey()) {
|
|
// This setTimeout is here to overcome an issue with a requestAnimationFrame that runs in the Pickr library.
|
|
setTimeout(function () {
|
|
return _this5.fetchGlobalValue();
|
|
}, 50);
|
|
} else {
|
|
this.onValueTypeChange();
|
|
}
|
|
|
|
this.$el.addClass(this.getClassNames().controlGlobal);
|
|
}
|
|
}, {
|
|
key: "toggleGlobalPopover",
|
|
value: function toggleGlobalPopover() {
|
|
var _this6 = this;
|
|
|
|
if (this.popover.isVisible()) {
|
|
this.popover.hide();
|
|
} else {
|
|
if (this.ui.$globalPreviewItemsContainer) {
|
|
// This element is not defined when the controls popover is first loaded.
|
|
this.ui.$globalPreviewItemsContainer.remove();
|
|
}
|
|
|
|
this.view.getGlobalsList().then(function (globalsList) {
|
|
// We just deleted the existing list of global preview items, so we need to rebuild it
|
|
// with the updated list of globals, register the elements and re-add the on click listeners.
|
|
_this6.addGlobalsListToPopover(globalsList);
|
|
|
|
_this6.registerPreviewElements();
|
|
|
|
_this6.addPreviewItemsClickListener();
|
|
|
|
_this6.popover.show();
|
|
|
|
_this6.setCurrentActivePreviewItem();
|
|
});
|
|
}
|
|
}
|
|
}, {
|
|
key: "buildGlobalPopover",
|
|
value: function buildGlobalPopover() {
|
|
var _this7 = this;
|
|
|
|
var classes = this.getClassNames(),
|
|
$popover = jQuery('<div>', {
|
|
class: classes.globalPopoverContainer
|
|
}),
|
|
$popoverTitle = jQuery('<div>', {
|
|
class: classes.globalPopoverTitle
|
|
}).html('<div class="' + classes.globalPopoverInfo + '"><i class="eicon-info-circle"></i></div><span class="' + classes.globalPopoverTitleText + '">' + this.getOption('popoverTitle') + '</span>'),
|
|
$manageGlobalsLink = jQuery('<div>', {
|
|
class: classes.manageButton
|
|
}).html('<i class="eicon-cog"></i>');
|
|
$popoverTitle.append($manageGlobalsLink);
|
|
$popover.append($popoverTitle);
|
|
this.manageButtonTooltipText = this.getOption('manageButtonText');
|
|
$manageGlobalsLink.tipsy({
|
|
title: function title() {
|
|
return _this7.manageButtonTooltipText;
|
|
},
|
|
offset: 3,
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
return $popover;
|
|
}
|
|
}, {
|
|
key: "printGlobalToggleButton",
|
|
value: function printGlobalToggleButton() {
|
|
var _this8 = this;
|
|
|
|
var $globalToggleButton = jQuery('<div>', {
|
|
class: this.getClassNames().popoverToggle + ' elementor-control-unit-1'
|
|
}),
|
|
$globalPopoverToggleIcon = jQuery('<i>', {
|
|
class: 'eicon-globe'
|
|
}),
|
|
$globalsLoadingSpinner = jQuery('<span>', {
|
|
class: 'elementor-control-spinner'
|
|
}).html('<i class="eicon-spinner eicon-animation-spin"></i></span>');
|
|
$globalToggleButton.append($globalPopoverToggleIcon);
|
|
this.$el.find('.elementor-control-input-wrapper').prepend($globalToggleButton);
|
|
this.ui.globalPopoverToggle = $globalToggleButton;
|
|
this.ui.globalPopoverToggleIcon = $globalPopoverToggleIcon;
|
|
this.ui.$globalsLoadingSpinner = $globalsLoadingSpinner; // Add tooltip to the Global Popover toggle button, displaying the current Global Name / 'Default' / 'Custom'.
|
|
|
|
this.ui.globalPopoverToggleIcon.tipsy({
|
|
title: function title() {
|
|
return _this8.globalName;
|
|
},
|
|
offset: 7,
|
|
gravity: function gravity() {
|
|
return 's';
|
|
}
|
|
});
|
|
$globalToggleButton.before($globalsLoadingSpinner);
|
|
this.ui.$globalsLoadingSpinner.hide();
|
|
}
|
|
}, {
|
|
key: "initGlobalPopover",
|
|
value: function initGlobalPopover() {
|
|
this.popover = elementorCommon.dialogsManager.createWidget('simple', {
|
|
className: this.getClassNames().popover,
|
|
message: this.buildGlobalPopover(),
|
|
effects: {
|
|
show: 'show',
|
|
hide: 'hide'
|
|
},
|
|
hide: {
|
|
onOutsideClick: false
|
|
},
|
|
position: {
|
|
my: "center top",
|
|
at: "center bottom+5",
|
|
of: this.ui.controlContent,
|
|
autoRefresh: true
|
|
}
|
|
}); // Add Popover elements to the this.ui object and register click events.
|
|
|
|
this.registerUiElementsAndEvents();
|
|
this.createGlobalInfoTooltip();
|
|
}
|
|
}, {
|
|
key: "addGlobalsListToPopover",
|
|
value: function addGlobalsListToPopover(globalsList) {
|
|
var $globalPreviewItemsContainer = jQuery('<div>', {
|
|
class: 'e-global__preview-items-container'
|
|
});
|
|
this.view.buildGlobalsList(globalsList, $globalPreviewItemsContainer);
|
|
this.popover.getElements('widget').find(".".concat(this.getClassNames().globalPopoverTitle)).after($globalPreviewItemsContainer); // The populated list is nested under the previews container element.
|
|
|
|
this.ui.$globalPreviewItemsContainer = $globalPreviewItemsContainer;
|
|
}
|
|
}, {
|
|
key: "registerUiElementsAndEvents",
|
|
value: function registerUiElementsAndEvents() {
|
|
// Instead of ui()
|
|
this.registerUiElements(); // Instead of events()
|
|
|
|
this.registerEvents();
|
|
} // This method is not called directly, but triggered by Marionette's .triggerMethod(),
|
|
// in the onAddGlobalButtonClick() method in the color and typography global controls.
|
|
|
|
}, {
|
|
key: "onAddGlobalToList",
|
|
value: function onAddGlobalToList($confirmMessage) {
|
|
var _this9 = this;
|
|
|
|
var classes = this.getClassNames();
|
|
this.confirmNewGlobalModal = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
className: classes.confirmAddNewGlobal,
|
|
headerMessage: this.getOption('newGlobalConfirmTitle'),
|
|
message: $confirmMessage,
|
|
strings: {
|
|
confirm: elementor.translate('create'),
|
|
cancel: elementor.translate('cancel')
|
|
},
|
|
hide: {
|
|
onBackgroundClick: false
|
|
},
|
|
onConfirm: function onConfirm() {
|
|
return _this9.onConfirmNewGlobal();
|
|
},
|
|
onShow: function onShow() {
|
|
// Put focus on the naming input.
|
|
var modalWidget = _this9.confirmNewGlobalModal.getElements('widget');
|
|
|
|
_this9.ui.globalNameInput = modalWidget.find('input').focus();
|
|
_this9.ui.confirmMessageText = modalWidget.find(classes.confirmMessageText);
|
|
|
|
_this9.ui.globalNameInput.on('input', function () {
|
|
return _this9.onAddGlobalConfirmInputChange();
|
|
});
|
|
}
|
|
});
|
|
this.confirmNewGlobalModal.show();
|
|
}
|
|
}, {
|
|
key: "onAddGlobalConfirmInputChange",
|
|
value: function onAddGlobalConfirmInputChange() {
|
|
if (!this.view.globalsList) {
|
|
return;
|
|
}
|
|
|
|
var messageContent;
|
|
|
|
for (var _i = 0, _Object$values = (0, _values.default)(this.view.globalsList); _i < _Object$values.length; _i++) {
|
|
var globalValue = _Object$values[_i];
|
|
|
|
if (this.ui.globalNameInput.val() === globalValue.title) {
|
|
messageContent = this.view.getNameAlreadyExistsMessage();
|
|
break;
|
|
} else {
|
|
messageContent = this.view.getConfirmTextMessage();
|
|
}
|
|
}
|
|
|
|
this.ui.confirmMessageText.html(messageContent);
|
|
}
|
|
}, {
|
|
key: "onConfirmNewGlobal",
|
|
value: function onConfirmNewGlobal() {
|
|
var globalMeta = this.view.getGlobalMeta();
|
|
globalMeta.title = this.ui.globalNameInput.val();
|
|
this.createNewGlobal(globalMeta);
|
|
}
|
|
}, {
|
|
key: "createNewGlobal",
|
|
value: function createNewGlobal(globalMeta) {
|
|
var _this10 = this;
|
|
|
|
this.ui.$globalsLoadingSpinner.show();
|
|
$e.run(globalMeta.commandName + '/create', {
|
|
container: this.view.container,
|
|
setting: globalMeta.key,
|
|
// group control name
|
|
title: globalMeta.title
|
|
}).then(function (result) {
|
|
_this10.applySavedGlobalValue(result.data.id);
|
|
|
|
_this10.ui.$globalsLoadingSpinner.hide();
|
|
});
|
|
}
|
|
}, {
|
|
key: "setGlobalValue",
|
|
value: function setGlobalValue(globalId) {
|
|
var command = '';
|
|
var settings = {};
|
|
|
|
if (this.view.getGlobalKey()) {
|
|
// If a global setting is already active, switch them without disabling globals.
|
|
command = 'document/globals/settings';
|
|
} else {
|
|
// If the active setting is NOT a global, enable globals and apply the selected global.
|
|
command = 'document/globals/enable';
|
|
} // colors / typography
|
|
|
|
|
|
settings[this.view.model.get('name')] = this.view.getGlobalCommand() + '?id=' + globalId; // Trigger async render.
|
|
|
|
$e.run(command, {
|
|
container: this.view.options.container,
|
|
settings: settings
|
|
});
|
|
} // The unset method is triggered from the controls via triggerMethod.
|
|
|
|
}, {
|
|
key: "onUnsetGlobalValue",
|
|
value: function onUnsetGlobalValue() {
|
|
var _this11 = this;
|
|
|
|
var globalMeta = this.view.getGlobalMeta();
|
|
$e.run('document/globals/disable', {
|
|
container: this.view.container,
|
|
settings: (0, _defineProperty2.default)({}, globalMeta.key, ''),
|
|
options: {
|
|
restore: true
|
|
}
|
|
}).then(function () {
|
|
_this11.onValueTypeChange();
|
|
|
|
_this11.view.globalValue = null;
|
|
|
|
_this11.resetActivePreviewItem();
|
|
});
|
|
}
|
|
}, {
|
|
key: "onUnlinkGlobalDefault",
|
|
value: function onUnlinkGlobalDefault() {
|
|
var _this12 = this;
|
|
|
|
var globalMeta = this.view.getGlobalMeta();
|
|
$e.run('document/globals/unlink', {
|
|
container: this.view.container,
|
|
globalValue: this.view.model.get('global').default,
|
|
setting: globalMeta.key,
|
|
options: {
|
|
external: true
|
|
}
|
|
}).then(function () {
|
|
_this12.onValueTypeChange();
|
|
|
|
_this12.view.globalValue = null;
|
|
|
|
_this12.resetActivePreviewItem();
|
|
});
|
|
}
|
|
}, {
|
|
key: "createGlobalInfoTooltip",
|
|
value: function createGlobalInfoTooltip() {
|
|
var _this13 = this;
|
|
|
|
var classes = this.getClassNames(),
|
|
$infoIcon = this.popover.getElements('widget').find(".".concat(classes.globalPopoverInfo));
|
|
this.globalInfoTooltip = elementorCommon.dialogsManager.createWidget('simple', {
|
|
className: classes.globalPopoverInfoTooltip,
|
|
message: this.getOption('tooltipText'),
|
|
effects: {
|
|
show: 'show',
|
|
hide: 'hide'
|
|
},
|
|
position: {
|
|
my: "left bottom",
|
|
at: "left top+9",
|
|
of: this.popover.getElements('widget'),
|
|
autoRefresh: true
|
|
}
|
|
});
|
|
$infoIcon.on({
|
|
mouseenter: function mouseenter() {
|
|
return _this13.globalInfoTooltip.show();
|
|
},
|
|
mouseleave: function mouseleave() {
|
|
return _this13.globalInfoTooltip.hide();
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return GlobalControlSelect;
|
|
}(Marionette.Behavior);
|
|
|
|
exports.default = GlobalControlSelect;
|
|
|
|
/***/ }),
|
|
/* 514 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(515));
|
|
|
|
var _layout = _interopRequireDefault(__webpack_require__(520));
|
|
|
|
var BaseRegion = __webpack_require__(371);
|
|
|
|
var _default = /*#__PURE__*/function (_BaseRegion) {
|
|
(0, _inherits2.default)(_default, _BaseRegion);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default(options) {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
_this = _super.call(this, options);
|
|
_this.component = $e.components.register(new _component.default({
|
|
manager: (0, _assertThisInitialized2.default)(_this)
|
|
}));
|
|
_this.isDocked = false;
|
|
_this.indicators = {
|
|
customPosition: {
|
|
title: elementor.translate('custom_positioning'),
|
|
icon: 'cursor-move',
|
|
settingKeys: ['_position', '_element_width'],
|
|
section: '_section_position'
|
|
}
|
|
};
|
|
_this.ensurePosition = _this.ensurePosition.bind((0, _assertThisInitialized2.default)(_this));
|
|
|
|
_this.listenTo(elementor.channels.dataEditMode, 'switch', _this.onEditModeSwitched); // TODO: Move to hook on 'editor/documents/load'.
|
|
|
|
|
|
elementor.on('document:loaded', _this.onDocumentLoaded.bind((0, _assertThisInitialized2.default)(_this)));
|
|
elementor.on('document:unloaded', _this.onDocumentUnloaded.bind((0, _assertThisInitialized2.default)(_this)));
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getStorageKey",
|
|
value: function getStorageKey() {
|
|
return 'navigator';
|
|
}
|
|
}, {
|
|
key: "getDefaultStorage",
|
|
value: function getDefaultStorage() {
|
|
return {
|
|
visible: false,
|
|
size: {
|
|
width: '',
|
|
height: '',
|
|
top: '',
|
|
bottom: '',
|
|
right: '',
|
|
left: ''
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "getLayout",
|
|
value: function getLayout() {
|
|
return this.currentView;
|
|
}
|
|
}, {
|
|
key: "getDraggableOptions",
|
|
value: function getDraggableOptions() {
|
|
return {
|
|
iframeFix: true,
|
|
handle: '#elementor-navigator__header',
|
|
drag: this.onDrag.bind(this),
|
|
stop: this.onDragStop.bind(this)
|
|
};
|
|
}
|
|
}, {
|
|
key: "getResizableOptions",
|
|
value: function getResizableOptions() {
|
|
var _this2 = this;
|
|
|
|
return {
|
|
handles: 'all',
|
|
containment: 'document',
|
|
minWidth: 150,
|
|
maxWidth: 500,
|
|
minHeight: 240,
|
|
start: function start() {
|
|
elementor.$previewWrapper.addClass('ui-resizable-resizing');
|
|
},
|
|
stop: function stop() {
|
|
elementor.$previewWrapper.removeClass('ui-resizable-resizing');
|
|
|
|
if (_this2.isDocked) {
|
|
_this2.storage.size.width = elementor.helpers.getElementInlineStyle(_this2.$el, ['width']).width;
|
|
elementorCommon.storage.set('navigator', _this2.storage);
|
|
} else {
|
|
_this2.saveSize();
|
|
}
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "initLayout",
|
|
value: function initLayout() {
|
|
this.show(new _layout.default());
|
|
this.$el.draggable(this.getDraggableOptions());
|
|
this.$el.resizable(this.getResizableOptions());
|
|
}
|
|
}, {
|
|
key: "open",
|
|
value: function open(model) {
|
|
this.$el.show();
|
|
|
|
if (this.storage.docked) {
|
|
this.dock();
|
|
this.setDockedSize();
|
|
} else {
|
|
this.setSize();
|
|
}
|
|
|
|
if (model) {
|
|
model.trigger('request:edit');
|
|
}
|
|
|
|
this.saveStorage('visible', true);
|
|
this.ensurePosition();
|
|
elementorCommon.elements.$window.on('resize', this.ensurePosition);
|
|
}
|
|
}, {
|
|
key: "close",
|
|
value: function close(silent) {
|
|
this.$el.hide();
|
|
|
|
if (this.isDocked) {
|
|
this.undock(true);
|
|
}
|
|
|
|
if (!silent) {
|
|
this.saveStorage('visible', false);
|
|
}
|
|
|
|
if (this.$el.resizable('instance')) {
|
|
this.$el.resizable('destroy');
|
|
}
|
|
|
|
elementorCommon.elements.$window.off('resize', this.ensurePosition);
|
|
}
|
|
}, {
|
|
key: "isOpen",
|
|
value: function isOpen() {
|
|
return this.$el.is(':visible');
|
|
}
|
|
}, {
|
|
key: "dock",
|
|
value: function dock() {
|
|
elementorCommon.elements.$body.addClass('elementor-navigator-docked');
|
|
var side = elementorCommon.config.isRTL ? 'left' : 'right',
|
|
resizableOptions = this.getResizableOptions();
|
|
this.$el.css({
|
|
height: '',
|
|
top: '',
|
|
bottom: '',
|
|
left: '',
|
|
right: ''
|
|
});
|
|
elementor.$previewWrapper.css(side, this.storage.size.width);
|
|
|
|
if (this.$el.resizable('instance')) {
|
|
this.$el.resizable('destroy');
|
|
}
|
|
|
|
resizableOptions.handles = elementorCommon.config.isRTL ? 'e' : 'w';
|
|
|
|
resizableOptions.resize = function (event, ui) {
|
|
elementor.$previewWrapper.css(side, ui.size.width);
|
|
};
|
|
|
|
this.$el.resizable(resizableOptions);
|
|
this.isDocked = true;
|
|
this.saveStorage('docked', true);
|
|
}
|
|
}, {
|
|
key: "undock",
|
|
value: function undock(silent) {
|
|
elementorCommon.elements.$body.removeClass('elementor-navigator-docked');
|
|
elementor.$previewWrapper.css(elementorCommon.config.isRTL ? 'left' : 'right', '');
|
|
this.setSize();
|
|
|
|
if (this.$el.resizable('instance')) {
|
|
this.$el.resizable('destroy');
|
|
this.$el.resizable(this.getResizableOptions());
|
|
}
|
|
|
|
this.isDocked = false;
|
|
|
|
if (!silent) {
|
|
this.saveStorage('docked', false);
|
|
}
|
|
}
|
|
}, {
|
|
key: "setSize",
|
|
value: function setSize() {
|
|
if (this.storage.size) {
|
|
this.$el.css(this.storage.size);
|
|
}
|
|
}
|
|
}, {
|
|
key: "setDockedSize",
|
|
value: function setDockedSize() {
|
|
this.$el.css('width', this.storage.size.width);
|
|
}
|
|
}, {
|
|
key: "ensurePosition",
|
|
value: function ensurePosition() {
|
|
if (this.isDocked) {
|
|
return;
|
|
}
|
|
|
|
var offset = this.$el.offset();
|
|
|
|
if (offset.left > innerWidth) {
|
|
this.$el.css({
|
|
left: '',
|
|
right: ''
|
|
});
|
|
}
|
|
|
|
if (offset.top > innerHeight) {
|
|
this.$el.css({
|
|
top: '',
|
|
bottom: ''
|
|
});
|
|
}
|
|
}
|
|
}, {
|
|
key: "onDrag",
|
|
value: function onDrag(event, ui) {
|
|
if (this.isDocked) {
|
|
if (ui.position.left === ui.originalPosition.left) {
|
|
if (ui.position.top !== ui.originalPosition.top) {
|
|
return false;
|
|
}
|
|
} else {
|
|
this.undock();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if (0 > ui.position.top) {
|
|
ui.position.top = 0;
|
|
}
|
|
|
|
var isOutOfLeft = 0 > ui.position.left,
|
|
isOutOfRight = ui.position.left + this.el.offsetWidth > innerWidth;
|
|
|
|
if (elementorCommon.config.isRTL) {
|
|
if (isOutOfRight) {
|
|
ui.position.left = innerWidth - this.el.offsetWidth;
|
|
}
|
|
} else if (isOutOfLeft) {
|
|
ui.position.left = 0;
|
|
}
|
|
|
|
elementorCommon.elements.$body.toggleClass('elementor-navigator--dock-hint', elementorCommon.config.isRTL ? isOutOfLeft : isOutOfRight);
|
|
}
|
|
}, {
|
|
key: "onDragStop",
|
|
value: function onDragStop(event, ui) {
|
|
if (this.isDocked) {
|
|
return;
|
|
}
|
|
|
|
this.saveSize();
|
|
var elementRight = ui.position.left + this.el.offsetWidth;
|
|
|
|
if (0 > ui.position.left || elementRight > innerWidth) {
|
|
this.dock();
|
|
}
|
|
|
|
elementorCommon.elements.$body.removeClass('elementor-navigator--dock-hint');
|
|
}
|
|
}, {
|
|
key: "onEditModeSwitched",
|
|
value: function onEditModeSwitched(activeMode) {
|
|
if ('edit' === activeMode && this.storage.visible) {
|
|
this.open();
|
|
} else {
|
|
this.close(true);
|
|
}
|
|
}
|
|
}, {
|
|
key: "onDocumentLoaded",
|
|
value: function onDocumentLoaded(document) {
|
|
if (document.config.panel.has_elements) {
|
|
this.initLayout();
|
|
|
|
if (this.storage.visible) {
|
|
$e.route('navigator');
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
key: "onDocumentUnloaded",
|
|
value: function onDocumentUnloaded() {
|
|
if (this.component.isOpen) {
|
|
this.component.close(true);
|
|
}
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(BaseRegion);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 515 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(516));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'navigator';
|
|
}
|
|
}, {
|
|
key: "defaultRoutes",
|
|
value: function defaultRoutes() {
|
|
return {
|
|
'': function _() {}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
toggle: {
|
|
keys: 'ctrl+i',
|
|
dependency: function dependency() {
|
|
return elementor.getPreviewContainer().isEditable();
|
|
}
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "open",
|
|
value: function open(args) {
|
|
var _args$model = args.model,
|
|
model = _args$model === void 0 ? false : _args$model;
|
|
this.manager.open(model);
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "close",
|
|
value: function close(silent) {
|
|
if (!(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "close", this).call(this)) {
|
|
return false;
|
|
}
|
|
|
|
this.manager.close(silent);
|
|
return true;
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 516 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Close", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _close.Close;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Toggle", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _toggle.Toggle;
|
|
}
|
|
});
|
|
|
|
var _close = __webpack_require__(517);
|
|
|
|
var _open = __webpack_require__(518);
|
|
|
|
var _toggle = __webpack_require__(519);
|
|
|
|
/***/ }),
|
|
/* 517 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Close = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Close = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Close, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Close);
|
|
|
|
function Close() {
|
|
(0, _classCallCheck2.default)(this, Close);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Close, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
return this.component.close();
|
|
}
|
|
}]);
|
|
return Close;
|
|
}(_commandBase.default);
|
|
|
|
exports.Close = Close;
|
|
var _default = Close;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 518 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
$e.route(this.component.getNamespace());
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 519 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Toggle = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Toggle = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Toggle, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Toggle);
|
|
|
|
function Toggle() {
|
|
(0, _classCallCheck2.default)(this, Toggle);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Toggle, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
if (this.component.isOpen) {
|
|
$e.run('navigator/close');
|
|
} else {
|
|
$e.run('navigator/open');
|
|
}
|
|
}
|
|
}]);
|
|
return Toggle;
|
|
}(_commandBase.default);
|
|
|
|
exports.Toggle = Toggle;
|
|
var _default = Toggle;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 520 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _element = _interopRequireDefault(__webpack_require__(521));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$LayoutVie) {
|
|
(0, _inherits2.default)(_default, _Marionette$LayoutVie);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-navigator';
|
|
}
|
|
}, {
|
|
key: "id",
|
|
value: function id() {
|
|
return 'elementor-navigator__inner';
|
|
}
|
|
}, {
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
toggleAll: '#elementor-navigator__toggle-all',
|
|
close: '#elementor-navigator__close'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.toggleAll': 'toggleAll',
|
|
'click @ui.close': 'onCloseClick'
|
|
};
|
|
}
|
|
}, {
|
|
key: "regions",
|
|
value: function regions() {
|
|
return {
|
|
elements: '#elementor-navigator__elements'
|
|
};
|
|
}
|
|
}, {
|
|
key: "toggleAll",
|
|
value: function toggleAll() {
|
|
var state = 'expand' === this.ui.toggleAll.data('elementor-action'),
|
|
classes = ['eicon-collapse', 'eicon-expand'];
|
|
this.ui.toggleAll.data('elementor-action', state ? 'collapse' : 'expand').removeClass(classes[+state]).addClass(classes[+!state]);
|
|
this.elements.currentView.recursiveChildInvoke('toggleList', state);
|
|
}
|
|
}, {
|
|
key: "activateElementsMouseInteraction",
|
|
value: function activateElementsMouseInteraction() {
|
|
this.elements.currentView.recursiveChildInvoke('activateMouseInteraction');
|
|
}
|
|
}, {
|
|
key: "deactivateElementsMouseInteraction",
|
|
value: function deactivateElementsMouseInteraction() {
|
|
this.elements.currentView.recursiveChildInvoke('deactivateMouseInteraction');
|
|
}
|
|
}, {
|
|
key: "onShow",
|
|
value: function onShow() {
|
|
this.elements.show(new _element.default({
|
|
model: elementor.elementsModel
|
|
}));
|
|
}
|
|
}, {
|
|
key: "onCloseClick",
|
|
value: function onCloseClick() {
|
|
$e.components.get('navigator').close();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.LayoutView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 521 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
__webpack_require__(139);
|
|
|
|
__webpack_require__(182);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _elementEmpty = _interopRequireDefault(__webpack_require__(522));
|
|
|
|
var _rootEmpty = _interopRequireDefault(__webpack_require__(523));
|
|
|
|
var _helper = _interopRequireDefault(__webpack_require__(215));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$Composite) {
|
|
(0, _inherits2.default)(_default, _Marionette$Composite);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-navigator__elements';
|
|
}
|
|
}, {
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
item: '> .elementor-navigator__item',
|
|
title: '> .elementor-navigator__item .elementor-navigator__element__title__text',
|
|
toggle: '> .elementor-navigator__item > .elementor-navigator__element__toggle',
|
|
toggleList: '> .elementor-navigator__item > .elementor-navigator__element__list-toggle',
|
|
indicators: '> .elementor-navigator__item > .elementor-navigator__element__indicators',
|
|
indicator: '> .elementor-navigator__item > .elementor-navigator__element__indicators > .elementor-navigator__element__indicator',
|
|
elements: '> .elementor-navigator__elements'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
contextmenu: 'onContextMenu',
|
|
'click @ui.item': 'onItemClick',
|
|
'click @ui.toggle': 'onToggleClick',
|
|
'click @ui.toggleList': 'onToggleListClick',
|
|
'click @ui.indicator': 'onIndicatorClick',
|
|
'dblclick @ui.title': 'onTitleDoubleClick',
|
|
'keydown @ui.title': 'onTitleKeyDown',
|
|
'paste @ui.title': 'onTitlePaste',
|
|
'sortstart @ui.elements': 'onSortStart',
|
|
'sortover @ui.elements': 'onSortOver',
|
|
'sortout @ui.elements': 'onSortOut',
|
|
'sortstop @ui.elements': 'onSortStop',
|
|
'sortupdate @ui.elements': 'onSortUpdate',
|
|
'sortreceive @ui.elements': 'onSortReceive'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getEmptyView",
|
|
value: function getEmptyView() {
|
|
if (this.isRoot()) {
|
|
return _rootEmpty.default;
|
|
}
|
|
|
|
if (this.hasChildren()) {
|
|
return _elementEmpty.default;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}, {
|
|
key: "childViewOptions",
|
|
value: function childViewOptions() {
|
|
return {
|
|
indent: this.getIndent() + 10
|
|
};
|
|
}
|
|
}, {
|
|
key: "className",
|
|
value: function className() {
|
|
var elType = this.model.get('elType');
|
|
var classes = 'elementor-navigator__element';
|
|
|
|
if (elType) {
|
|
classes += ' elementor-navigator__element-' + elType;
|
|
}
|
|
|
|
if (this.hasChildren()) {
|
|
classes += ' elementor-navigator__element--has-children';
|
|
}
|
|
|
|
return classes;
|
|
}
|
|
}, {
|
|
key: "attributes",
|
|
value: function attributes() {
|
|
return {
|
|
'data-id': this.model.id,
|
|
'data-model-cid': this.model.cid
|
|
};
|
|
}
|
|
}, {
|
|
key: "templateHelpers",
|
|
value: function templateHelpers() {
|
|
var helpers = {};
|
|
|
|
if (!this.isRoot()) {
|
|
helpers.title = this.model.getTitle();
|
|
helpers.icon = 'section' === this.model.get('elType') ? '' : this.model.getIcon();
|
|
}
|
|
|
|
return helpers;
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
this.collection = this.model.get('elements');
|
|
this.childViewContainer = '.elementor-navigator__elements';
|
|
this.listenTo(this.model, 'request:edit', this.onEditRequest).listenTo(this.model, 'change', this.onModelChange).listenTo(this.model.get('settings'), 'change', this.onModelSettingsChange);
|
|
}
|
|
}, {
|
|
key: "getIndent",
|
|
value: function getIndent() {
|
|
return this.getOption('indent') || 0;
|
|
}
|
|
}, {
|
|
key: "isRoot",
|
|
value: function isRoot() {
|
|
return !this.model.get('elType');
|
|
}
|
|
}, {
|
|
key: "hasChildren",
|
|
value: function hasChildren() {
|
|
return 'widget' !== this.model.get('elType');
|
|
}
|
|
}, {
|
|
key: "toggleList",
|
|
value: function toggleList(state, callback) {
|
|
if (!this.hasChildren() || this.isRoot()) {
|
|
return;
|
|
}
|
|
|
|
var isActive = this.ui.item.hasClass('elementor-active');
|
|
|
|
if (isActive === state) {
|
|
return;
|
|
}
|
|
|
|
this.ui.item.toggleClass('elementor-active', state);
|
|
var slideMethod = 'slideToggle';
|
|
|
|
if (undefined !== state) {
|
|
slideMethod = 'slide' + (state ? 'Down' : 'Up');
|
|
}
|
|
|
|
this.ui.elements[slideMethod](300, callback);
|
|
}
|
|
}, {
|
|
key: "toggleHiddenClass",
|
|
value: function toggleHiddenClass() {
|
|
this.$el.toggleClass('elementor-navigator__element--hidden', !!this.model.get('hidden'));
|
|
}
|
|
}, {
|
|
key: "recursiveChildInvoke",
|
|
value: function recursiveChildInvoke(method) {
|
|
var _arguments = arguments,
|
|
_this = this;
|
|
|
|
for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
restArgs[_key - 1] = arguments[_key];
|
|
}
|
|
|
|
this[method].apply(this, restArgs);
|
|
this.children.each(function (child) {
|
|
if (!(child instanceof _this.constructor)) {
|
|
return;
|
|
}
|
|
|
|
child.recursiveChildInvoke.apply(child, _arguments);
|
|
});
|
|
}
|
|
}, {
|
|
key: "recursiveParentInvoke",
|
|
value: function recursiveParentInvoke(method) {
|
|
for (var _len2 = arguments.length, restArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
restArgs[_key2 - 1] = arguments[_key2];
|
|
}
|
|
|
|
if (!(this._parent instanceof this.constructor)) {
|
|
return;
|
|
}
|
|
|
|
this._parent[method].apply(this._parent, restArgs);
|
|
|
|
this._parent.recursiveParentInvoke.apply(this._parent, arguments);
|
|
}
|
|
}, {
|
|
key: "recursiveChildAgreement",
|
|
value: function recursiveChildAgreement(method) {
|
|
for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
restArgs[_key3 - 1] = arguments[_key3];
|
|
}
|
|
|
|
if (!this[method].apply(this, restArgs)) {
|
|
return false;
|
|
}
|
|
|
|
var hasAgreement = true;
|
|
|
|
for (var _i = 0, _Object$values = (0, _values.default)(this.children._views); _i < _Object$values.length; _i++) {
|
|
var child = _Object$values[_i];
|
|
|
|
if (!(child instanceof this.constructor)) {
|
|
continue;
|
|
}
|
|
|
|
if (!child.recursiveChildAgreement.apply(child, arguments)) {
|
|
hasAgreement = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return hasAgreement;
|
|
}
|
|
}, {
|
|
key: "activateMouseInteraction",
|
|
value: function activateMouseInteraction() {
|
|
this.$el.on({
|
|
mouseenter: this.onMouseEnter.bind(this),
|
|
mouseleave: this.onMouseLeave.bind(this)
|
|
});
|
|
}
|
|
}, {
|
|
key: "deactivateMouseInteraction",
|
|
value: function deactivateMouseInteraction() {
|
|
this.$el.off('mouseenter mouseleave');
|
|
}
|
|
}, {
|
|
key: "dragShouldBeIgnored",
|
|
value: function dragShouldBeIgnored(draggedModel) {
|
|
return !_helper.default.isValidChild(draggedModel, this.model);
|
|
}
|
|
}, {
|
|
key: "addEditingClass",
|
|
value: function addEditingClass() {
|
|
this.ui.item.addClass('elementor-editing');
|
|
}
|
|
}, {
|
|
key: "removeEditingClass",
|
|
value: function removeEditingClass() {
|
|
this.ui.item.removeClass('elementor-editing');
|
|
}
|
|
}, {
|
|
key: "enterTitleEditing",
|
|
value: function enterTitleEditing() {
|
|
this.ui.title.attr('contenteditable', true).focus();
|
|
document.execCommand('selectAll');
|
|
elementor.addBackgroundClickListener('navigator', {
|
|
ignore: this.ui.title,
|
|
callback: this.exitTitleEditing.bind(this)
|
|
});
|
|
}
|
|
}, {
|
|
key: "exitTitleEditing",
|
|
value: function exitTitleEditing() {
|
|
this.ui.title.attr('contenteditable', false);
|
|
var settingsModel = this.model.get('settings'),
|
|
oldTitle = settingsModel.get('_title'),
|
|
newTitle = this.ui.title.text().trim(); // When there isn't an old title and a new title, allow backbone to recognize the `set` as a change
|
|
|
|
if (!oldTitle) {
|
|
settingsModel.unset('_title', {
|
|
silent: true
|
|
});
|
|
}
|
|
|
|
settingsModel.set('_title', newTitle);
|
|
elementor.removeBackgroundClickListener('navigator');
|
|
}
|
|
}, {
|
|
key: "activateSortable",
|
|
value: function activateSortable() {
|
|
if (!elementor.userCan('design')) {
|
|
return;
|
|
}
|
|
|
|
this.ui.elements.sortable({
|
|
items: '> .elementor-navigator__element',
|
|
placeholder: 'ui-sortable-placeholder',
|
|
axis: 'y',
|
|
forcePlaceholderSize: true,
|
|
connectWith: '.elementor-navigator__element-' + this.model.get('elType') + ' ' + this.ui.elements.selector,
|
|
cancel: '[contenteditable="true"]'
|
|
});
|
|
}
|
|
}, {
|
|
key: "renderIndicators",
|
|
value: function renderIndicators() {
|
|
var _this2 = this;
|
|
|
|
var settings = this.model.get('settings').attributes;
|
|
this.ui.indicators.empty();
|
|
jQuery.each(elementor.navigator.indicators, function (indicatorName, indicatorSettings) {
|
|
var isShouldBeIndicated = indicatorSettings.settingKeys.some(function (key) {
|
|
return settings[key];
|
|
});
|
|
|
|
if (!isShouldBeIndicated) {
|
|
return;
|
|
}
|
|
|
|
var $indicator = jQuery('<div>', {
|
|
class: 'elementor-navigator__element__indicator',
|
|
title: indicatorSettings.title
|
|
}).attr('data-section', indicatorSettings.section).html("<i class=\"eicon-".concat(indicatorSettings.icon, "\"></i>"));
|
|
|
|
_this2.ui.indicators.append($indicator); // Added delay of 500ms because the indicators bar has a CSS transition attribute of .5s
|
|
|
|
|
|
$indicator.tipsy({
|
|
delayIn: 300,
|
|
gravity: 's'
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
this.activateSortable();
|
|
|
|
if (this.isRoot()) {
|
|
return;
|
|
}
|
|
|
|
this.ui.item.css('padding-' + (elementorCommon.config.isRTL ? 'right' : 'left'), this.getIndent());
|
|
this.toggleHiddenClass();
|
|
this.renderIndicators();
|
|
}
|
|
}, {
|
|
key: "onModelChange",
|
|
value: function onModelChange() {
|
|
if (undefined !== this.model.changed.hidden) {
|
|
this.toggleHiddenClass();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onModelSettingsChange",
|
|
value: function onModelSettingsChange(settingsModel) {
|
|
var _this3 = this;
|
|
|
|
if (undefined !== settingsModel.changed._title) {
|
|
this.ui.title.text(this.model.getTitle());
|
|
}
|
|
|
|
jQuery.each(elementor.navigator.indicators, function (indicatorName, indicatorSettings) {
|
|
if ((0, _keys.default)(settingsModel.changed).filter(function (key) {
|
|
return indicatorSettings.settingKeys.includes(key);
|
|
}).length) {
|
|
_this3.renderIndicators();
|
|
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "onItemClick",
|
|
value: function onItemClick() {
|
|
this.model.trigger('request:edit', {
|
|
scrollIntoView: true
|
|
});
|
|
}
|
|
}, {
|
|
key: "onToggleClick",
|
|
value: function onToggleClick(event) {
|
|
event.stopPropagation();
|
|
this.model.trigger('request:toggleVisibility');
|
|
}
|
|
}, {
|
|
key: "onTitleDoubleClick",
|
|
value: function onTitleDoubleClick() {
|
|
this.enterTitleEditing();
|
|
}
|
|
}, {
|
|
key: "onTitleKeyDown",
|
|
value: function onTitleKeyDown(event) {
|
|
var ENTER_KEY = 13;
|
|
|
|
if (ENTER_KEY === event.which) {
|
|
event.preventDefault();
|
|
this.exitTitleEditing();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onTitlePaste",
|
|
value: function onTitlePaste(event) {
|
|
event.preventDefault();
|
|
document.execCommand('insertHTML', false, event.originalEvent.clipboardData.getData('text/plain'));
|
|
}
|
|
}, {
|
|
key: "onToggleListClick",
|
|
value: function onToggleListClick(event) {
|
|
event.stopPropagation();
|
|
this.toggleList();
|
|
}
|
|
}, {
|
|
key: "onSortStart",
|
|
value: function onSortStart(event, ui) {
|
|
this.model.trigger('request:sort:start', event, ui);
|
|
jQuery(ui.item).children('.elementor-navigator__item').trigger('click');
|
|
elementor.navigator.getLayout().activateElementsMouseInteraction();
|
|
}
|
|
}, {
|
|
key: "onSortStop",
|
|
value: function onSortStop() {
|
|
elementor.navigator.getLayout().deactivateElementsMouseInteraction();
|
|
}
|
|
}, {
|
|
key: "onSortOver",
|
|
value: function onSortOver(event) {
|
|
event.stopPropagation();
|
|
this.$el.addClass('elementor-dragging-on-child');
|
|
}
|
|
}, {
|
|
key: "onSortOut",
|
|
value: function onSortOut(event) {
|
|
event.stopPropagation();
|
|
this.$el.removeClass('elementor-dragging-on-child');
|
|
}
|
|
}, {
|
|
key: "onSortUpdate",
|
|
value: function onSortUpdate(event, ui) {
|
|
event.stopPropagation();
|
|
|
|
if (!this.ui.elements.is(ui.item.parent())) {
|
|
return;
|
|
}
|
|
|
|
this.model.trigger('request:sort:update', ui);
|
|
}
|
|
}, {
|
|
key: "onSortReceive",
|
|
value: function onSortReceive(event, ui) {
|
|
this.model.trigger('request:sort:receive', event, ui);
|
|
}
|
|
}, {
|
|
key: "onMouseEnter",
|
|
value: function onMouseEnter(event) {
|
|
var _this4 = this;
|
|
|
|
event.stopPropagation();
|
|
var dragShouldBeIgnored = this.recursiveChildAgreement('dragShouldBeIgnored', elementor.channels.data.request('dragging:model'));
|
|
|
|
if (dragShouldBeIgnored) {
|
|
return;
|
|
}
|
|
|
|
this.autoExpandTimeout = setTimeout(function () {
|
|
_this4.toggleList(true, function () {
|
|
_this4.ui.elements.sortable('refreshPositions');
|
|
});
|
|
}, 500);
|
|
}
|
|
}, {
|
|
key: "onMouseLeave",
|
|
value: function onMouseLeave(event) {
|
|
event.stopPropagation();
|
|
clearTimeout(this.autoExpandTimeout);
|
|
}
|
|
}, {
|
|
key: "onContextMenu",
|
|
value: function onContextMenu(event) {
|
|
this.model.trigger('request:contextmenu', event);
|
|
}
|
|
}, {
|
|
key: "onEditRequest",
|
|
value: function onEditRequest() {
|
|
this.recursiveParentInvoke('toggleList', true);
|
|
elementor.navigator.getLayout().elements.currentView.recursiveChildInvoke('removeEditingClass');
|
|
this.addEditingClass();
|
|
elementor.helpers.scrollToView(this.$el, 400, elementor.navigator.getLayout().elements.$el);
|
|
}
|
|
}, {
|
|
key: "onIndicatorClick",
|
|
value: function onIndicatorClick(event) {
|
|
var section = event.currentTarget.dataset.section;
|
|
setTimeout(function () {
|
|
var editor = elementor.getPanelView().currentPageView,
|
|
tab = editor.getControlModel(section).get('tab');
|
|
editor.activateSection(section);
|
|
editor.activateTab(tab);
|
|
editor.render();
|
|
});
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.CompositeView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 522 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-navigator__elements--empty';
|
|
}
|
|
}, {
|
|
key: "className",
|
|
value: function className() {
|
|
return 'elementor-empty-view';
|
|
}
|
|
}, {
|
|
key: "onRendr",
|
|
value: function onRendr() {
|
|
this.$el.css('padding-' + (elementorCommon.config.isRTL ? 'right' : 'left'), this.getOption('indent'));
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 523 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$ItemView) {
|
|
(0, _inherits2.default)(_default, _Marionette$ItemView);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getTemplate",
|
|
value: function getTemplate() {
|
|
return '#tmpl-elementor-navigator__root--empty';
|
|
}
|
|
}, {
|
|
key: "className",
|
|
value: function className() {
|
|
return 'elementor-nerd-box';
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.ItemView);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 524 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_elementorModules$Vie) {
|
|
(0, _inherits2.default)(_default, _elementorModules$Vie);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getDefaultSettings",
|
|
value: function getDefaultSettings() {
|
|
return {
|
|
selectors: {
|
|
notice: '#elementor-notice-bar',
|
|
close: '#elementor-notice-bar__close'
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "getDefaultElements",
|
|
value: function getDefaultElements() {
|
|
var settings = this.getSettings();
|
|
return {
|
|
$notice: jQuery(settings.selectors.notice),
|
|
$close: jQuery(settings.selectors.close)
|
|
};
|
|
}
|
|
}, {
|
|
key: "bindEvents",
|
|
value: function bindEvents() {
|
|
this.elements.$close.on('click', this.onCloseClick.bind(this));
|
|
}
|
|
}, {
|
|
key: "onCloseClick",
|
|
value: function onCloseClick() {
|
|
this.elements.$notice.slideUp();
|
|
elementorCommon.ajax.addRequest('notice_bar_dismiss');
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(elementorModules.ViewModule);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 525 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _independent = _interopRequireDefault(__webpack_require__(526));
|
|
|
|
var _rightClickIntroduction = _interopRequireDefault(__webpack_require__(527));
|
|
|
|
var _helper = _interopRequireDefault(__webpack_require__(215));
|
|
|
|
var BaseSectionsContainerView = __webpack_require__(528);
|
|
|
|
var Preview = BaseSectionsContainerView.extend({
|
|
initialize: function initialize() {
|
|
this.$childViewContainer = jQuery('<div>', {
|
|
class: 'elementor-section-wrap'
|
|
});
|
|
BaseSectionsContainerView.prototype.initialize.apply(this, arguments);
|
|
},
|
|
getChildViewContainer: function getChildViewContainer() {
|
|
return this.$childViewContainer;
|
|
},
|
|
behaviors: function behaviors() {
|
|
var parentBehaviors = BaseSectionsContainerView.prototype.behaviors.apply(this, arguments),
|
|
behaviors = {
|
|
contextMenu: {
|
|
behaviorClass: __webpack_require__(273),
|
|
groups: this.getContextMenuGroups()
|
|
}
|
|
}; // TODO: the `2` check is for BC reasons
|
|
|
|
if (!elementor.config.user.introduction.rightClick && !elementor.config.user.introduction[2]) {
|
|
behaviors.introduction = {
|
|
behaviorClass: _rightClickIntroduction.default
|
|
};
|
|
}
|
|
|
|
return jQuery.extend(parentBehaviors, behaviors);
|
|
},
|
|
getContainer: function getContainer() {
|
|
return elementor.settings.page.getEditedView().getContainer();
|
|
},
|
|
getContextMenuGroups: function getContextMenuGroups() {
|
|
var _this = this;
|
|
|
|
var hasContent = function hasContent() {
|
|
return elementor.elements.length > 0;
|
|
};
|
|
|
|
return [{
|
|
name: 'paste',
|
|
actions: [{
|
|
name: 'paste',
|
|
title: elementor.translate('paste'),
|
|
isEnabled: function isEnabled() {
|
|
return _helper.default.isPasteEnabled(_this.getContainer());
|
|
},
|
|
callback: function callback(at) {
|
|
return $e.run('document/ui/paste', {
|
|
container: _this.getContainer(),
|
|
options: {
|
|
at: at,
|
|
rebuild: true
|
|
}
|
|
});
|
|
}
|
|
}]
|
|
}, {
|
|
name: 'content',
|
|
actions: [{
|
|
name: 'copy_all_content',
|
|
title: elementor.translate('copy_all_content'),
|
|
isEnabled: hasContent,
|
|
callback: function callback() {
|
|
return $e.run('document/elements/copy-all');
|
|
}
|
|
}, {
|
|
name: 'delete_all_content',
|
|
title: elementor.translate('delete_all_content'),
|
|
isEnabled: hasContent,
|
|
callback: function callback() {
|
|
return $e.run('document/elements/empty');
|
|
}
|
|
}]
|
|
}];
|
|
},
|
|
onRender: function onRender() {
|
|
var $contentContainer;
|
|
|
|
if (elementor.config.legacyMode.elementWrappers) {
|
|
var $inner = jQuery('<div>', {
|
|
class: 'elementor-inner'
|
|
});
|
|
this.$el.html($inner);
|
|
$contentContainer = $inner;
|
|
} else {
|
|
$contentContainer = this.$el;
|
|
}
|
|
|
|
$contentContainer.html(this.$childViewContainer);
|
|
|
|
if (elementor.userCan('design')) {
|
|
var addNewSectionView = new _independent.default();
|
|
addNewSectionView.render();
|
|
$contentContainer.append(addNewSectionView.$el);
|
|
}
|
|
}
|
|
});
|
|
module.exports = Preview;
|
|
|
|
/***/ }),
|
|
/* 526 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _base = _interopRequireDefault(__webpack_require__(296));
|
|
|
|
var AddSectionView = /*#__PURE__*/function (_BaseAddSectionView) {
|
|
(0, _inherits2.default)(AddSectionView, _BaseAddSectionView);
|
|
|
|
var _super = (0, _createSuper2.default)(AddSectionView);
|
|
|
|
function AddSectionView() {
|
|
(0, _classCallCheck2.default)(this, AddSectionView);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(AddSectionView, [{
|
|
key: "onCloseButtonClick",
|
|
value: function onCloseButtonClick() {
|
|
this.closeSelectPresets();
|
|
}
|
|
}, {
|
|
key: "id",
|
|
get: function get() {
|
|
return 'elementor-add-new-section';
|
|
}
|
|
}]);
|
|
return AddSectionView;
|
|
}(_base.default);
|
|
|
|
exports.default = AddSectionView;
|
|
|
|
/***/ }),
|
|
/* 527 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$Behavior) {
|
|
(0, _inherits2.default)(_default, _Marionette$Behavior);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
editButton: '.elementor-editor-element-edit'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.editButton': 'show'
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
this.initIntroduction();
|
|
}
|
|
}, {
|
|
key: "initIntroduction",
|
|
value: function initIntroduction() {
|
|
var introduction;
|
|
|
|
this.getIntroduction = function () {
|
|
if (!introduction) {
|
|
introduction = new elementorModules.editor.utils.Introduction({
|
|
introductionKey: 'rightClick',
|
|
dialogOptions: {
|
|
className: 'elementor-right-click-introduction',
|
|
headerMessage: elementor.translate('meet_right_click_header'),
|
|
message: elementor.translate('meet_right_click_message'),
|
|
iframe: elementor.$preview,
|
|
position: {
|
|
my: 'center top+5',
|
|
at: 'center bottom',
|
|
collision: 'fit'
|
|
}
|
|
},
|
|
onDialogInitCallback: function onDialogInitCallback(dialog) {
|
|
dialog.addButton({
|
|
name: 'learn-more',
|
|
text: elementor.translate('learn_more'),
|
|
tag: 'div',
|
|
callback: function callback() {
|
|
open(elementor.config.help_right_click_url, '_blank');
|
|
}
|
|
});
|
|
dialog.addButton({
|
|
name: 'ok',
|
|
text: elementor.translate('got_it'),
|
|
callback: function callback() {
|
|
return introduction.setViewed();
|
|
}
|
|
});
|
|
dialog.getElements('ok').addClass('elementor-button elementor-button-success');
|
|
}
|
|
});
|
|
}
|
|
|
|
return introduction;
|
|
};
|
|
}
|
|
}, {
|
|
key: "show",
|
|
value: function show(event) {
|
|
this.getIntroduction().show(event.currentTarget);
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.Behavior);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 528 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(26);
|
|
|
|
var SectionView = __webpack_require__(256),
|
|
BaseContainer = __webpack_require__(333),
|
|
BaseSectionsContainerView;
|
|
|
|
BaseSectionsContainerView = BaseContainer.extend({
|
|
childView: SectionView,
|
|
behaviors: function behaviors() {
|
|
var behaviors = {
|
|
Sortable: {
|
|
behaviorClass: __webpack_require__(298),
|
|
elChildType: 'section'
|
|
}
|
|
};
|
|
return elementor.hooks.applyFilters('elements/base-section-container/behaviors', behaviors, this);
|
|
},
|
|
getSortableOptions: function getSortableOptions() {
|
|
return {
|
|
handle: '> .elementor-element-overlay .elementor-editor-element-edit',
|
|
items: '> .elementor-section'
|
|
};
|
|
},
|
|
getChildType: function getChildType() {
|
|
return ['section'];
|
|
},
|
|
initialize: function initialize() {
|
|
BaseContainer.prototype.initialize.apply(this, arguments);
|
|
this.listenTo(elementor.channels.panelElements, 'element:drag:start', this.onPanelElementDragStart).listenTo(elementor.channels.panelElements, 'element:drag:end', this.onPanelElementDragEnd);
|
|
},
|
|
onPanelElementDragStart: function onPanelElementDragStart() {
|
|
// A temporary workaround in order to fix Chrome's 70+ dragging above nested iframe bug
|
|
this.$el.find('.elementor-background-video-embed').hide();
|
|
elementor.helpers.disableElementEvents(this.$el.find('iframe'));
|
|
},
|
|
onPanelElementDragEnd: function onPanelElementDragEnd() {
|
|
this.$el.find('.elementor-background-video-embed').show();
|
|
elementor.helpers.enableElementEvents(this.$el.find('iframe'));
|
|
}
|
|
});
|
|
module.exports = BaseSectionsContainerView;
|
|
|
|
/***/ }),
|
|
/* 529 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var _regenerator = _interopRequireDefault(__webpack_require__(83));
|
|
|
|
__webpack_require__(66);
|
|
|
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(84));
|
|
|
|
__webpack_require__(139);
|
|
|
|
__webpack_require__(182);
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(277);
|
|
|
|
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(105));
|
|
|
|
var _entries = _interopRequireDefault(__webpack_require__(91));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var ControlChooseView = __webpack_require__(377);
|
|
|
|
var ControlPopoverStarterView = /*#__PURE__*/function (_ControlChooseView) {
|
|
(0, _inherits2.default)(ControlPopoverStarterView, _ControlChooseView);
|
|
|
|
var _super = (0, _createSuper2.default)(ControlPopoverStarterView);
|
|
|
|
function ControlPopoverStarterView() {
|
|
(0, _classCallCheck2.default)(this, ControlPopoverStarterView);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(ControlPopoverStarterView, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
var ui = ControlChooseView.prototype.ui.apply(this, arguments);
|
|
ui.popoverToggle = '.elementor-control-popover-toggle-toggle';
|
|
ui.resetInput = '.elementor-control-popover-toggle-reset';
|
|
return ui;
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return _.extend(ControlChooseView.prototype.events.apply(this, arguments), {
|
|
'click @ui.popoverToggle': 'onPopoverToggleClick',
|
|
'click @ui.resetInput': 'onResetInputClick'
|
|
});
|
|
}
|
|
}, {
|
|
key: "onResetInputClick",
|
|
value: function onResetInputClick() {
|
|
var globalData = this.model.get('global');
|
|
|
|
if (globalData === null || globalData === void 0 ? void 0 : globalData.active) {
|
|
this.triggerMethod('value:type:change');
|
|
}
|
|
}
|
|
}, {
|
|
key: "onInputChange",
|
|
value: function onInputChange(event) {
|
|
if (event.currentTarget !== this.ui.popoverToggle[0]) {
|
|
return;
|
|
} // If the control has a global value, unset the global.
|
|
|
|
|
|
if (this.getGlobalKey()) {
|
|
this.triggerMethod('unset:global:value');
|
|
} else if (this.isGlobalActive()) {
|
|
this.triggerMethod('value:type:change');
|
|
}
|
|
}
|
|
}, {
|
|
key: "onPopoverToggleClick",
|
|
value: function onPopoverToggleClick() {
|
|
if (this.isGlobalActive() && !this.getControlValue() && !this.getGlobalKey() && this.getGlobalDefault()) {
|
|
this.triggerMethod('unlink:global:default');
|
|
}
|
|
|
|
this.$el.next('.elementor-controls-popover').toggle();
|
|
}
|
|
}, {
|
|
key: "getGlobalCommand",
|
|
value: function getGlobalCommand() {
|
|
return 'globals/typography';
|
|
}
|
|
}, {
|
|
key: "buildPreviewItemCSS",
|
|
value: function buildPreviewItemCSS(globalValue) {
|
|
var cssObject = {};
|
|
(0, _entries.default)(globalValue).forEach(function (_ref) {
|
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
property = _ref2[0],
|
|
value = _ref2[1];
|
|
|
|
// If a control value is empty, ignore it.
|
|
if (!value || '' === value.size) {
|
|
return;
|
|
} // TODO: FIGURE OUT WHAT THE FINAL VALUE KEY FORMAT IS AND ADJUST THIS ACCORDINGLY
|
|
|
|
|
|
if (property.startsWith('typography_')) {
|
|
property = property.replace('typography_', '');
|
|
}
|
|
|
|
if ('font_family' === property) {
|
|
elementor.helpers.enqueueFont(value, 'editor');
|
|
}
|
|
|
|
if ('font_size' === property) {
|
|
// Set max size for Typography previews in the select popover so it isn't too big.
|
|
if (value.size > 40) {
|
|
value.size = 40;
|
|
}
|
|
|
|
cssObject.fontSize = value.size + value.unit;
|
|
} else {
|
|
// Convert the snake case property names into camel case to match their corresponding CSS property names.
|
|
if (property.includes('_')) {
|
|
property = property.replace(/([_][a-z])/g, function (result) {
|
|
return result.toUpperCase().replace('_', '');
|
|
});
|
|
}
|
|
|
|
cssObject[property] = value;
|
|
}
|
|
});
|
|
return cssObject;
|
|
}
|
|
}, {
|
|
key: "createGlobalItemMarkup",
|
|
value: function createGlobalItemMarkup(globalData) {
|
|
var $typographyPreview = jQuery('<div>', {
|
|
class: 'e-global__preview-item e-global__typography',
|
|
'data-global-id': globalData.id
|
|
});
|
|
$typographyPreview.html(globalData.title).css(this.buildPreviewItemCSS(globalData.value));
|
|
return $typographyPreview;
|
|
}
|
|
}, {
|
|
key: "getGlobalMeta",
|
|
value: function getGlobalMeta() {
|
|
return {
|
|
commandName: this.getGlobalCommand(),
|
|
key: this.model.get('name'),
|
|
title: elementor.translate('new_typography_setting'),
|
|
controlType: 'typography',
|
|
route: 'panel/global/global-typography'
|
|
};
|
|
}
|
|
}, {
|
|
key: "getAddGlobalConfirmMessage",
|
|
value: function getAddGlobalConfirmMessage() {
|
|
var globalData = this.getGlobalMeta(),
|
|
$message = jQuery('<div>', {
|
|
class: 'e-global__confirm-message'
|
|
}),
|
|
$messageText = jQuery('<div>').html(elementor.translate('global_fonts_confirm_text')),
|
|
$inputWrapper = jQuery('<div>', {
|
|
class: 'e-global__confirm-input-wrapper'
|
|
}),
|
|
$input = jQuery('<input>', {
|
|
type: 'text',
|
|
name: 'global-name',
|
|
placeholder: globalData.title
|
|
}).val(globalData.title);
|
|
$inputWrapper.append($input);
|
|
$message.append($messageText, $inputWrapper);
|
|
return $message;
|
|
}
|
|
}, {
|
|
key: "getGlobalsList",
|
|
value: function () {
|
|
var _getGlobalsList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
var result;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return $e.data.get(this.getGlobalCommand());
|
|
|
|
case 2:
|
|
result = _context.sent;
|
|
return _context.abrupt("return", result.data);
|
|
|
|
case 4:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
|
|
function getGlobalsList() {
|
|
return _getGlobalsList.apply(this, arguments);
|
|
}
|
|
|
|
return getGlobalsList;
|
|
}()
|
|
}, {
|
|
key: "buildGlobalsList",
|
|
value: function buildGlobalsList(globalTypographies, $globalPreviewItemsContainer) {
|
|
var _this = this;
|
|
|
|
(0, _values.default)(globalTypographies).forEach(function (typography) {
|
|
// Only build markup if the typography is valid.
|
|
if (typography) {
|
|
var $typographyPreview = _this.createGlobalItemMarkup(typography);
|
|
|
|
$globalPreviewItemsContainer.append($typographyPreview);
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "onAddGlobalButtonClick",
|
|
value: function onAddGlobalButtonClick() {
|
|
this.triggerMethod('add:global:to:list', this.getAddGlobalConfirmMessage());
|
|
}
|
|
}]);
|
|
return ControlPopoverStarterView;
|
|
}(ControlChooseView);
|
|
|
|
exports.default = ControlPopoverStarterView;
|
|
|
|
ControlPopoverStarterView.onPasteStyle = function (control, clipboardValue) {
|
|
return !clipboardValue || clipboardValue === control.return_value;
|
|
};
|
|
|
|
/***/ }),
|
|
/* 530 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(531);
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
__webpack_require__(120);
|
|
|
|
__webpack_require__(295);
|
|
|
|
__webpack_require__(81);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _colorPicker = _interopRequireDefault(__webpack_require__(301));
|
|
|
|
var _helper = _interopRequireDefault(__webpack_require__(215));
|
|
|
|
module.exports = {
|
|
document: _helper.default,
|
|
_enqueuedFonts: {
|
|
editor: [],
|
|
preview: []
|
|
},
|
|
_enqueuedIconFonts: [],
|
|
_inlineSvg: [],
|
|
elementsHierarchy: {
|
|
document: {
|
|
section: {
|
|
column: {
|
|
widget: null,
|
|
section: null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
enqueueCSS: function enqueueCSS(url, $document) {
|
|
var selector = 'link[href="' + url + '"]',
|
|
link = '<link href="' + url + '" rel="stylesheet" type="text/css">';
|
|
|
|
if (!$document) {
|
|
return;
|
|
}
|
|
|
|
if (!$document.find(selector).length) {
|
|
$document.find('link:last').after(link);
|
|
}
|
|
},
|
|
enqueuePreviewStylesheet: function enqueuePreviewStylesheet(url) {
|
|
this.enqueueCSS(url, elementor.$previewContents);
|
|
},
|
|
enqueueEditorStylesheet: function enqueueEditorStylesheet(url) {
|
|
this.enqueueCSS(url, elementorCommon.elements.$document);
|
|
},
|
|
|
|
/**
|
|
* @deprecated 2.6.0
|
|
*/
|
|
enqueueStylesheet: function enqueueStylesheet(url) {
|
|
elementorCommon.helpers.hardDeprecated('elementor.helpers.enqueueStylesheet()', '2.6.0', 'elementor.helpers.enqueuePreviewStylesheet()');
|
|
this.enqueuePreviewStylesheet(url);
|
|
},
|
|
fetchInlineSvg: function fetchInlineSvg(svgUrl) {
|
|
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
fetch(svgUrl).then(function (response) {
|
|
return response.ok ? response.text() : '';
|
|
}).then(function (data) {
|
|
if (callback) {
|
|
callback(data);
|
|
}
|
|
});
|
|
},
|
|
getInlineSvg: function getInlineSvg(value, view) {
|
|
if (!value.id) {
|
|
return;
|
|
}
|
|
|
|
if (this._inlineSvg.hasOwnProperty(value.id)) {
|
|
return this._inlineSvg[value.id];
|
|
}
|
|
|
|
var self = this;
|
|
this.fetchInlineSvg(value.url, function (data) {
|
|
if (data) {
|
|
self._inlineSvg[value.id] = data; //$( data ).find( 'svg' )[ 0 ].outerHTML;
|
|
|
|
if (view) {
|
|
view.render();
|
|
}
|
|
|
|
elementor.channels.editor.trigger('svg:insertion', data, value.id);
|
|
}
|
|
});
|
|
},
|
|
enqueueIconFonts: function enqueueIconFonts(iconType) {
|
|
var _this = this;
|
|
|
|
if (-1 !== this._enqueuedIconFonts.indexOf(iconType) || !!elementor.config['icons_update_needed']) {
|
|
return;
|
|
}
|
|
|
|
var iconSetting = this.getIconLibrarySettings(iconType);
|
|
|
|
if (!iconSetting) {
|
|
return;
|
|
}
|
|
|
|
if (iconSetting.enqueue) {
|
|
iconSetting.enqueue.forEach(function (assetURL) {
|
|
_this.enqueuePreviewStylesheet(assetURL);
|
|
|
|
_this.enqueueEditorStylesheet(assetURL);
|
|
});
|
|
}
|
|
|
|
if (iconSetting.url) {
|
|
this.enqueuePreviewStylesheet(iconSetting.url);
|
|
this.enqueueEditorStylesheet(iconSetting.url);
|
|
}
|
|
|
|
this._enqueuedIconFonts.push(iconType);
|
|
|
|
elementor.channels.editor.trigger('fontIcon:insertion', iconType, iconSetting);
|
|
},
|
|
getIconLibrarySettings: function getIconLibrarySettings(iconType) {
|
|
var iconSetting = elementor.config.icons.libraries.filter(function (library) {
|
|
return iconType === library.name;
|
|
});
|
|
|
|
if (iconSetting[0] && iconSetting[0].name) {
|
|
return iconSetting[0];
|
|
}
|
|
|
|
return false;
|
|
},
|
|
|
|
/**
|
|
*
|
|
* @param view - view to refresh if needed
|
|
* @param icon - icon control data
|
|
* @param attributes - default {} - attributes to attach to rendered html tag
|
|
* @param tag - default i - html tag to render
|
|
* @param returnType - default value - retrun type
|
|
* @returns {string|boolean|*}
|
|
*/
|
|
renderIcon: function renderIcon(view, icon) {
|
|
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
var tag = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'i';
|
|
var returnType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'value';
|
|
|
|
if (!icon || !icon.library) {
|
|
if ('object' === returnType) {
|
|
return {
|
|
rendered: false
|
|
};
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
var iconType = icon.library,
|
|
iconValue = icon.value;
|
|
|
|
if ('svg' === iconType) {
|
|
if ('panel' === returnType) {
|
|
return '<img src="' + iconValue.url + '">';
|
|
}
|
|
|
|
return {
|
|
rendered: true,
|
|
value: this.getInlineSvg(iconValue, view)
|
|
};
|
|
}
|
|
|
|
var iconSettings = this.getIconLibrarySettings(iconType);
|
|
|
|
if (iconSettings && !iconSettings.hasOwnProperty('isCustom')) {
|
|
this.enqueueIconFonts(iconType);
|
|
|
|
if ('panel' === returnType) {
|
|
return '<' + tag + ' class="' + iconValue + '"></' + tag + '>';
|
|
}
|
|
|
|
var tagUniqueID = tag + this.getUniqueID();
|
|
view.addRenderAttribute(tagUniqueID, attributes);
|
|
view.addRenderAttribute(tagUniqueID, 'class', iconValue);
|
|
var htmlTag = '<' + tag + ' ' + view.getRenderAttributeString(tagUniqueID) + '></' + tag + '>';
|
|
|
|
if ('object' === returnType) {
|
|
return {
|
|
rendered: true,
|
|
value: htmlTag
|
|
};
|
|
}
|
|
|
|
return htmlTag;
|
|
}
|
|
|
|
elementor.channels.editor.trigger('Icon:insertion', iconType, iconValue, attributes, tag, view);
|
|
|
|
if ('object' === returnType) {
|
|
return {
|
|
rendered: false
|
|
};
|
|
}
|
|
},
|
|
isIconMigrated: function isIconMigrated(settings, controlName) {
|
|
return settings.__fa4_migrated && settings.__fa4_migrated[controlName];
|
|
},
|
|
fetchFa4ToFa5Mapping: function fetchFa4ToFa5Mapping() {
|
|
var storageKey = 'fa4Tofa5Mapping';
|
|
var mapping = elementorCommon.storage.get(storageKey);
|
|
|
|
if (!mapping) {
|
|
jQuery.getJSON(elementor.config.fa4_to_fa5_mapping_url, function (data) {
|
|
mapping = data;
|
|
elementorCommon.storage.set(storageKey, data);
|
|
});
|
|
}
|
|
|
|
return mapping;
|
|
},
|
|
mapFa4ToFa5: function mapFa4ToFa5(fa4Value) {
|
|
var mapping = this.fetchFa4ToFa5Mapping();
|
|
|
|
if (mapping[fa4Value]) {
|
|
return mapping[fa4Value];
|
|
} // every thing else is converted to solid
|
|
|
|
|
|
return {
|
|
value: 'fas' + fa4Value.replace('fa ', ' '),
|
|
library: 'fa-solid'
|
|
};
|
|
},
|
|
// The target parameter = 'editor'/'preview'. Defaults to 'preview' for backwards compatibility.
|
|
enqueueFont: function enqueueFont(font) {
|
|
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'preview';
|
|
|
|
if ($e.devTools) {
|
|
$e.devTools.log.info("enqueueFont font: '".concat(font, "', target: '").concat(target, "'"));
|
|
}
|
|
|
|
if (-1 !== this._enqueuedFonts[target].indexOf(font)) {
|
|
return;
|
|
}
|
|
|
|
var fontType = elementor.config.controls.font.options[font],
|
|
subsets = {
|
|
ru_RU: 'cyrillic',
|
|
uk: 'cyrillic',
|
|
bg_BG: 'cyrillic',
|
|
vi: 'vietnamese',
|
|
el: 'greek',
|
|
he_IL: 'hebrew'
|
|
};
|
|
var fontUrl;
|
|
|
|
switch (fontType) {
|
|
case 'googlefonts':
|
|
fontUrl = 'https://fonts.googleapis.com/css?family=' + font + ':100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic';
|
|
|
|
if (subsets[elementor.config.locale]) {
|
|
fontUrl += '&subset=' + subsets[elementor.config.locale];
|
|
}
|
|
|
|
break;
|
|
|
|
case 'earlyaccess':
|
|
var fontLowerString = font.replace(/\s+/g, '').toLowerCase();
|
|
fontUrl = 'https://fonts.googleapis.com/earlyaccess/' + fontLowerString + '.css';
|
|
break;
|
|
}
|
|
|
|
if (!_.isEmpty(fontUrl)) {
|
|
if ('editor' === target) {
|
|
// TODO: Find better solution, temporary fix, covering issue: 'fonts does not rendered in global styles'.
|
|
this.enqueueCSS(fontUrl, elementorCommon.elements.$document);
|
|
} else {
|
|
this.enqueueCSS(fontUrl, elementor.$previewContents);
|
|
}
|
|
}
|
|
|
|
this._enqueuedFonts[target].push(font);
|
|
|
|
elementor.channels.editor.trigger('font:insertion', fontType, font);
|
|
},
|
|
resetEnqueuedFontsCache: function resetEnqueuedFontsCache() {
|
|
this._enqueuedFonts = {
|
|
editor: [],
|
|
preview: []
|
|
};
|
|
this._enqueuedIconFonts = [];
|
|
},
|
|
getElementChildType: function getElementChildType(elementType, container) {
|
|
var _this2 = this;
|
|
|
|
if (!container) {
|
|
container = this.elementsHierarchy;
|
|
}
|
|
|
|
if (undefined !== container[elementType]) {
|
|
if (jQuery.isPlainObject(container[elementType])) {
|
|
return (0, _keys.default)(container[elementType]);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
var result = null;
|
|
jQuery.each(container, function (index, type) {
|
|
if (!jQuery.isPlainObject(type)) {
|
|
return;
|
|
}
|
|
|
|
var childType = _this2.getElementChildType(elementType, type);
|
|
|
|
if (childType) {
|
|
result = childType;
|
|
return false;
|
|
}
|
|
});
|
|
return result;
|
|
},
|
|
getUniqueID: function getUniqueID() {
|
|
elementorCommon.helpers.softDeprecated('elementor.helpers.getUniqueID()', '3.0.0', 'elementorCommon.helpers.getUniqueId()');
|
|
return elementorCommon.helpers.getUniqueId();
|
|
},
|
|
getSocialNetworkNameFromIcon: function getSocialNetworkNameFromIcon(iconsControl, fallbackControl) {
|
|
var toUpperCase = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
var migrated = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
var withIcon = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
var social = '',
|
|
icon = '';
|
|
|
|
if (fallbackControl && !migrated) {
|
|
social = fallbackControl.replace('fa fa-', '');
|
|
icon = '<i class="' + fallbackControl + '"></i>';
|
|
} else if (iconsControl.value && 'svg' !== iconsControl.library) {
|
|
social = iconsControl.value.split(' ')[1];
|
|
|
|
if (!social) {
|
|
social = '';
|
|
} else {
|
|
social = social.replace('fa-', '');
|
|
}
|
|
|
|
icon = this.renderIcon(null, iconsControl, {}, 'i', 'panel');
|
|
} else {
|
|
icon = this.renderIcon(null, iconsControl, {}, 'i', 'panel');
|
|
}
|
|
|
|
if ('' !== social && toUpperCase) {
|
|
social = social.split('-').join(' ');
|
|
social = social.replace(/\b\w/g, function (letter) {
|
|
return letter.toUpperCase();
|
|
});
|
|
}
|
|
|
|
social = elementor.hooks.applyFilters('elementor/social_icons/network_name', social, iconsControl, fallbackControl, toUpperCase, withIcon);
|
|
|
|
if (withIcon) {
|
|
social = icon + ' ' + social;
|
|
}
|
|
|
|
return social;
|
|
},
|
|
getSimpleDialog: function getSimpleDialog(id, title, message, confirmString, onConfirm) {
|
|
return elementorCommon.dialogsManager.createWidget('confirm', {
|
|
id: id,
|
|
headerMessage: title,
|
|
message: message,
|
|
position: {
|
|
my: 'center center',
|
|
at: 'center center'
|
|
},
|
|
strings: {
|
|
confirm: confirmString,
|
|
cancel: elementor.translate('cancel')
|
|
},
|
|
onConfirm: onConfirm
|
|
});
|
|
},
|
|
maybeDisableWidget: function maybeDisableWidget() {
|
|
if (!elementor.config['icons_update_needed']) {
|
|
return false;
|
|
}
|
|
|
|
var elementView = elementor.channels.panelElements.request('element:selected'),
|
|
widgetType = elementView.model.get('widgetType'),
|
|
widgetData = elementor.widgetsCache[widgetType],
|
|
hasControlOfType = function hasControlOfType(controls, type) {
|
|
var has = false;
|
|
jQuery.each(controls, function (controlName, controlData) {
|
|
if (type === controlData.type) {
|
|
has = true;
|
|
return false;
|
|
}
|
|
|
|
if (controlData.is_repeater) {
|
|
has = hasControlOfType(controlData.fields, type);
|
|
|
|
if (has) {
|
|
return false;
|
|
}
|
|
}
|
|
});
|
|
return has;
|
|
};
|
|
|
|
if (widgetData) {
|
|
var hasIconsControl = hasControlOfType(widgetData.controls, 'icons');
|
|
|
|
if (hasIconsControl) {
|
|
var onConfirm = function onConfirm() {
|
|
window.location.href = elementor.config.tools_page_link + '&redirect_to=' + encodeURIComponent(document.location.href) + '#tab-fontawesome4_migration';
|
|
};
|
|
|
|
elementor.helpers.getSimpleDialog('elementor-enable-fa5-dialog', elementor.translate('enable_fa5'), elementor.translate('dialog_confirm_enable_fa5'), elementor.translate('update'), onConfirm).show();
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
},
|
|
|
|
/*
|
|
* @deprecated 2.0.0
|
|
*/
|
|
stringReplaceAll: function stringReplaceAll(string, replaces) {
|
|
var re = new RegExp((0, _keys.default)(replaces).join('|'), 'gi');
|
|
return string.replace(re, function (matched) {
|
|
return replaces[matched];
|
|
});
|
|
},
|
|
isActiveControl: function isActiveControl(controlModel, values) {
|
|
var condition, conditions; // TODO: Better way to get this?
|
|
|
|
if (_.isFunction(controlModel.get)) {
|
|
condition = controlModel.get('condition');
|
|
conditions = controlModel.get('conditions');
|
|
} else {
|
|
condition = controlModel.condition;
|
|
conditions = controlModel.conditions;
|
|
} // Multiple conditions with relations.
|
|
|
|
|
|
if (conditions && !elementor.conditions.check(conditions, values)) {
|
|
return false;
|
|
}
|
|
|
|
if (_.isEmpty(condition)) {
|
|
return true;
|
|
}
|
|
|
|
var hasFields = _.filter(condition, function (conditionValue, conditionName) {
|
|
var conditionNameParts = conditionName.match(/([a-z_\-0-9]+)(?:\[([a-z_]+)])?(!?)$/i),
|
|
conditionRealName = conditionNameParts[1],
|
|
conditionSubKey = conditionNameParts[2],
|
|
isNegativeCondition = !!conditionNameParts[3],
|
|
controlValue = values[conditionRealName];
|
|
|
|
if (values.__dynamic__ && values.__dynamic__[conditionRealName]) {
|
|
controlValue = values.__dynamic__[conditionRealName];
|
|
}
|
|
|
|
if (undefined === controlValue) {
|
|
return true;
|
|
}
|
|
|
|
if (conditionSubKey && 'object' === (0, _typeof2.default)(controlValue)) {
|
|
controlValue = controlValue[conditionSubKey];
|
|
} // If it's a non empty array - check if the conditionValue contains the controlValue,
|
|
// If the controlValue is a non empty array - check if the controlValue contains the conditionValue
|
|
// otherwise check if they are equal. ( and give the ability to check if the value is an empty array )
|
|
|
|
|
|
var isContains;
|
|
|
|
if (_.isArray(conditionValue) && !_.isEmpty(conditionValue)) {
|
|
isContains = _.contains(conditionValue, controlValue);
|
|
} else if (_.isArray(controlValue) && !_.isEmpty(controlValue)) {
|
|
isContains = _.contains(controlValue, conditionValue);
|
|
} else {
|
|
isContains = _.isEqual(conditionValue, controlValue);
|
|
}
|
|
|
|
return isNegativeCondition ? isContains : !isContains;
|
|
});
|
|
|
|
return _.isEmpty(hasFields);
|
|
},
|
|
cloneObject: function cloneObject(object) {
|
|
elementorCommon.helpers.hardDeprecated('elementor.helpers.cloneObject', '2.3.0', 'elementorCommon.helpers.cloneObject');
|
|
return elementorCommon.helpers.cloneObject(object);
|
|
},
|
|
disableElementEvents: function disableElementEvents($element) {
|
|
$element.each(function () {
|
|
var currentPointerEvents = this.style.pointerEvents;
|
|
|
|
if ('none' === currentPointerEvents) {
|
|
return;
|
|
}
|
|
|
|
jQuery(this).data('backup-pointer-events', currentPointerEvents).css('pointer-events', 'none');
|
|
});
|
|
},
|
|
enableElementEvents: function enableElementEvents($element) {
|
|
$element.each(function () {
|
|
var $this = jQuery(this),
|
|
backupPointerEvents = $this.data('backup-pointer-events');
|
|
|
|
if (undefined === backupPointerEvents) {
|
|
return;
|
|
}
|
|
|
|
$this.removeData('backup-pointer-events').css('pointer-events', backupPointerEvents);
|
|
});
|
|
},
|
|
wpColorPicker: function wpColorPicker($element) {
|
|
elementorCommon.helpers.deprecatedMethod('elementor.helpers.wpColorPicker()', '2.8.0', 'new ColorPicker()');
|
|
return new _colorPicker.default({
|
|
picker: {
|
|
el: $element
|
|
}
|
|
});
|
|
},
|
|
isInViewport: function isInViewport(element, html) {
|
|
var rect = element.getBoundingClientRect();
|
|
html = html || document.documentElement;
|
|
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || html.clientHeight) && rect.right <= (window.innerWidth || html.clientWidth);
|
|
},
|
|
scrollToView: function scrollToView($element, timeout, $parent) {
|
|
if (undefined === timeout) {
|
|
timeout = 500;
|
|
}
|
|
|
|
var $scrolled = $parent;
|
|
var $elementorFrontendWindow = elementorFrontend.elements.$window;
|
|
|
|
if (!$parent) {
|
|
$parent = $elementorFrontendWindow;
|
|
$scrolled = elementor.$previewContents.find('html, body');
|
|
}
|
|
|
|
setTimeout(function () {
|
|
// Sometimes element removed during the timeout.
|
|
if (!$element[0].isConnected) {
|
|
return;
|
|
}
|
|
|
|
var parentHeight = $parent.height(),
|
|
parentScrollTop = $parent.scrollTop(),
|
|
elementTop = $parent === $elementorFrontendWindow ? $element.offset().top : $element[0].offsetTop,
|
|
topToCheck = elementTop - parentScrollTop;
|
|
|
|
if (topToCheck > 0 && topToCheck < parentHeight) {
|
|
return;
|
|
}
|
|
|
|
var scrolling = elementTop - parentHeight / 2;
|
|
$scrolled.stop(true).animate({
|
|
scrollTop: scrolling
|
|
}, 1000);
|
|
}, timeout);
|
|
},
|
|
getElementInlineStyle: function getElementInlineStyle($element, properties) {
|
|
var style = {},
|
|
elementStyle = $element[0].style;
|
|
properties.forEach(function (property) {
|
|
style[property] = undefined !== elementStyle[property] ? elementStyle[property] : '';
|
|
});
|
|
return style;
|
|
},
|
|
cssWithBackup: function cssWithBackup($element, backupState, rules) {
|
|
var cssBackup = this.getElementInlineStyle($element, (0, _keys.default)(rules));
|
|
$element.data('css-backup-' + backupState, cssBackup).css(rules);
|
|
},
|
|
recoverCSSBackup: function recoverCSSBackup($element, backupState) {
|
|
var backupKey = 'css-backup-' + backupState;
|
|
$element.css($element.data(backupKey));
|
|
$element.removeData(backupKey);
|
|
},
|
|
elementSizeToUnit: function elementSizeToUnit($element, size, unit) {
|
|
var window = elementorFrontend.elements.window;
|
|
|
|
switch (unit) {
|
|
case '%':
|
|
size = size / ($element.offsetParent().width() / 100);
|
|
break;
|
|
|
|
case 'vw':
|
|
size = size / (window.innerWidth / 100);
|
|
break;
|
|
|
|
case 'vh':
|
|
size = size / (window.innerHeight / 100);
|
|
}
|
|
|
|
return Math.round(size * 1000) / 1000;
|
|
},
|
|
compareVersions: function compareVersions(versionA, versionB, operator) {
|
|
var prepareVersion = function prepareVersion(version) {
|
|
version = version + '';
|
|
return version.replace(/[^\d.]+/, '.-1.');
|
|
};
|
|
|
|
versionA = prepareVersion(versionA);
|
|
versionB = prepareVersion(versionB);
|
|
|
|
if (versionA === versionB) {
|
|
return !operator || /^={2,3}$/.test(operator);
|
|
}
|
|
|
|
var versionAParts = versionA.split('.').map(Number),
|
|
versionBParts = versionB.split('.').map(Number),
|
|
longestVersionParts = Math.max(versionAParts.length, versionBParts.length);
|
|
|
|
for (var i = 0; i < longestVersionParts; i++) {
|
|
var valueA = versionAParts[i] || 0,
|
|
valueB = versionBParts[i] || 0;
|
|
|
|
if (valueA !== valueB) {
|
|
return elementor.conditions.compare(valueA, valueB, operator);
|
|
}
|
|
}
|
|
},
|
|
getModelLabel: function getModelLabel(model) {
|
|
var result;
|
|
|
|
if (!(model instanceof Backbone.Model)) {
|
|
model = new Backbone.Model(model);
|
|
}
|
|
|
|
if (model.get('labelSuffix')) {
|
|
result = model.get('title') + ' ' + model.get('labelSuffix');
|
|
} else if ('global' === model.get('widgetType')) {
|
|
if (model.getTitle) {
|
|
result = model.getTitle();
|
|
}
|
|
}
|
|
|
|
if (!result) {
|
|
result = elementor.getElementData(model).title;
|
|
}
|
|
|
|
return result;
|
|
},
|
|
hasPro: function hasPro() {
|
|
return !!window.elementorPro;
|
|
}
|
|
};
|
|
|
|
/***/ }),
|
|
/* 531 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var global = __webpack_require__(18);
|
|
var has = __webpack_require__(64);
|
|
var cof = __webpack_require__(50);
|
|
var inheritIfRequired = __webpack_require__(310);
|
|
var toPrimitive = __webpack_require__(124);
|
|
var fails = __webpack_require__(35);
|
|
var gOPN = __webpack_require__(312).f;
|
|
var gOPD = __webpack_require__(311).f;
|
|
var dP = __webpack_require__(49).f;
|
|
var $trim = __webpack_require__(532).trim;
|
|
var NUMBER = 'Number';
|
|
var $Number = global[NUMBER];
|
|
var Base = $Number;
|
|
var proto = $Number.prototype;
|
|
// Opera ~12 has broken Object#toString
|
|
var BROKEN_COF = cof(__webpack_require__(228)(proto)) == NUMBER;
|
|
var TRIM = 'trim' in String.prototype;
|
|
|
|
// 7.1.3 ToNumber(argument)
|
|
var toNumber = function (argument) {
|
|
var it = toPrimitive(argument, false);
|
|
if (typeof it == 'string' && it.length > 2) {
|
|
it = TRIM ? it.trim() : $trim(it, 3);
|
|
var first = it.charCodeAt(0);
|
|
var third, radix, maxCode;
|
|
if (first === 43 || first === 45) {
|
|
third = it.charCodeAt(2);
|
|
if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
|
|
} else if (first === 48) {
|
|
switch (it.charCodeAt(1)) {
|
|
case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
|
|
case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
|
|
default: return +it;
|
|
}
|
|
for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
|
|
code = digits.charCodeAt(i);
|
|
// parseInt parses a string to a first unavailable symbol
|
|
// but ToNumber should return NaN if a string contains unavailable symbols
|
|
if (code < 48 || code > maxCode) return NaN;
|
|
} return parseInt(digits, radix);
|
|
}
|
|
} return +it;
|
|
};
|
|
|
|
if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
|
|
$Number = function Number(value) {
|
|
var it = arguments.length < 1 ? 0 : value;
|
|
var that = this;
|
|
return that instanceof $Number
|
|
// check on 1..constructor(foo) case
|
|
&& (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)
|
|
? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
|
|
};
|
|
for (var keys = __webpack_require__(27) ? gOPN(Base) : (
|
|
// ES3:
|
|
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
|
|
// ES6 (in case, if modules with ES6 Number statics required before):
|
|
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
|
|
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
|
|
).split(','), j = 0, key; keys.length > j; j++) {
|
|
if (has(Base, key = keys[j]) && !has($Number, key)) {
|
|
dP($Number, key, gOPD(Base, key));
|
|
}
|
|
}
|
|
$Number.prototype = proto;
|
|
proto.constructor = $Number;
|
|
__webpack_require__(39)(global, NUMBER, $Number);
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 532 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(37);
|
|
var defined = __webpack_require__(43);
|
|
var fails = __webpack_require__(35);
|
|
var spaces = __webpack_require__(533);
|
|
var space = '[' + spaces + ']';
|
|
var non = '\u200b\u0085';
|
|
var ltrim = RegExp('^' + space + space + '*');
|
|
var rtrim = RegExp(space + space + '*$');
|
|
|
|
var exporter = function (KEY, exec, ALIAS) {
|
|
var exp = {};
|
|
var FORCE = fails(function () {
|
|
return !!spaces[KEY]() || non[KEY]() != non;
|
|
});
|
|
var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
|
|
if (ALIAS) exp[ALIAS] = fn;
|
|
$export($export.P + $export.F * FORCE, 'String', exp);
|
|
};
|
|
|
|
// 1 -> String#trimLeft
|
|
// 2 -> String#trimRight
|
|
// 3 -> String#trim
|
|
var trim = exporter.trim = function (string, TYPE) {
|
|
string = String(defined(string));
|
|
if (TYPE & 1) string = string.replace(ltrim, '');
|
|
if (TYPE & 2) string = string.replace(rtrim, '');
|
|
return string;
|
|
};
|
|
|
|
module.exports = exporter;
|
|
|
|
|
|
/***/ }),
|
|
/* 533 */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
|
|
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
|
|
|
|
|
/***/ }),
|
|
/* 534 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var ImagesManager;
|
|
|
|
ImagesManager = function ImagesManager() {
|
|
var self = this;
|
|
var cache = {};
|
|
var debounceDelay = 300;
|
|
var registeredItems = [];
|
|
|
|
var getNormalizedSize = function getNormalizedSize(image) {
|
|
var size,
|
|
imageSize = image.size;
|
|
|
|
if ('custom' === imageSize) {
|
|
var customDimension = image.dimension;
|
|
|
|
if (customDimension.width || customDimension.height) {
|
|
size = 'custom_' + customDimension.width + 'x' + customDimension.height;
|
|
} else {
|
|
return 'full';
|
|
}
|
|
} else {
|
|
size = imageSize;
|
|
}
|
|
|
|
return size;
|
|
};
|
|
|
|
var viewsToUpdate = {};
|
|
|
|
self.updateOnReceiveImage = function () {
|
|
var elementView = elementor.getPanelView().getCurrentPageView().getOption('editedElementView');
|
|
elementView.$el.addClass('elementor-loading'); // Add per cid for multiple images in a single view.
|
|
|
|
viewsToUpdate[elementView.cid] = elementView;
|
|
elementor.channels.editor.once('imagesManager:detailsReceived', function () {
|
|
if (!_.isEmpty(viewsToUpdate)) {
|
|
_(viewsToUpdate).each(function (view) {
|
|
view.render();
|
|
view.$el.removeClass('elementor-loading');
|
|
});
|
|
}
|
|
|
|
viewsToUpdate = {};
|
|
});
|
|
};
|
|
|
|
self.getImageUrl = function (image) {
|
|
// Register for AJAX checking
|
|
self.registerItem(image);
|
|
var imageUrl = self.getItem(image); // If it's not in cache, like a new dropped widget or a custom size - get from settings
|
|
|
|
if (!imageUrl) {
|
|
if ('custom' === image.size) {
|
|
if ($e.routes.isPartOf('panel/editor') && image.model) {
|
|
self.updateOnReceiveImage();
|
|
}
|
|
|
|
return;
|
|
} // If it's a new dropped widget
|
|
|
|
|
|
imageUrl = image.url;
|
|
}
|
|
|
|
return imageUrl;
|
|
};
|
|
|
|
self.getItem = function (image) {
|
|
var size = getNormalizedSize(image),
|
|
id = image.id;
|
|
|
|
if (!size) {
|
|
return false;
|
|
}
|
|
|
|
if (cache[id] && cache[id][size]) {
|
|
return cache[id][size];
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
self.registerItem = function (image) {
|
|
if ('' === image.id) {
|
|
// It's a new dropped widget
|
|
return;
|
|
}
|
|
|
|
if (self.getItem(image)) {
|
|
// It's already in cache
|
|
return;
|
|
}
|
|
|
|
registeredItems.push(image);
|
|
self.debounceGetRemoteItems();
|
|
};
|
|
|
|
self.getRemoteItems = function () {
|
|
var requestedItems = [],
|
|
registeredItemsLength = (0, _keys.default)(registeredItems).length,
|
|
image,
|
|
index; // It's one item, so we can render it from remote server
|
|
|
|
if (0 === registeredItemsLength) {
|
|
return;
|
|
}
|
|
|
|
for (index in registeredItems) {
|
|
image = registeredItems[index];
|
|
var size = getNormalizedSize(image),
|
|
id = image.id,
|
|
isFirstTime = !cache[id] || 0 === (0, _keys.default)(cache[id]).length;
|
|
requestedItems.push({
|
|
id: id,
|
|
size: size,
|
|
is_first_time: isFirstTime
|
|
});
|
|
}
|
|
|
|
elementorCommon.ajax.send('get_images_details', {
|
|
data: {
|
|
items: requestedItems
|
|
},
|
|
success: function success(data) {
|
|
var imageId, imageSize;
|
|
|
|
for (imageId in data) {
|
|
if (!cache[imageId]) {
|
|
cache[imageId] = {};
|
|
}
|
|
|
|
for (imageSize in data[imageId]) {
|
|
cache[imageId][imageSize] = data[imageId][imageSize];
|
|
}
|
|
}
|
|
|
|
registeredItems = [];
|
|
elementor.channels.editor.trigger('imagesManager:detailsReceived', data);
|
|
}
|
|
});
|
|
};
|
|
|
|
self.debounceGetRemoteItems = _.debounce(self.getRemoteItems, debounceDelay);
|
|
};
|
|
|
|
module.exports = new ImagesManager();
|
|
|
|
/***/ }),
|
|
/* 535 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _stringify = _interopRequireDefault(__webpack_require__(206));
|
|
|
|
__webpack_require__(26);
|
|
|
|
var Schemes,
|
|
Stylesheet = __webpack_require__(332),
|
|
ControlsCSSParser = __webpack_require__(293);
|
|
|
|
Schemes = function Schemes() {
|
|
var self = this,
|
|
stylesheet = new Stylesheet(),
|
|
schemes = {},
|
|
settings = {
|
|
selectorWrapperPrefix: '.elementor-widget-'
|
|
},
|
|
elements = {};
|
|
|
|
var buildUI = function buildUI() {
|
|
elements.$previewHead.append(elements.$style);
|
|
};
|
|
|
|
var initElements = function initElements() {
|
|
var id = 'elementor-style-scheme';
|
|
elements.$style = elementor.$previewContents.find("#".concat(id));
|
|
|
|
if (!elements.$style.length) {
|
|
elements.$style = jQuery('<style>', {
|
|
id: id
|
|
});
|
|
}
|
|
|
|
elements.$previewHead = elementor.$previewContents.find('head');
|
|
};
|
|
|
|
var initSchemes = function initSchemes() {
|
|
schemes = elementorCommon.helpers.cloneObject(elementor.config.schemes.items);
|
|
};
|
|
|
|
var fetchControlStyles = function fetchControlStyles(control, controlsStack, widgetType) {
|
|
ControlsCSSParser.addControlStyleRules(stylesheet, control, controlsStack, function (controlStyles) {
|
|
return self.getSchemeValue(controlStyles.scheme.type, controlStyles.scheme.value, controlStyles.scheme.key).value;
|
|
}, ['{{WRAPPER}}'], [settings.selectorWrapperPrefix + widgetType]);
|
|
};
|
|
|
|
var fetchWidgetControlsStyles = function fetchWidgetControlsStyles(widget) {
|
|
var widgetSchemeControls = self.getWidgetSchemeControls(widget);
|
|
|
|
_.each(widgetSchemeControls, function (control) {
|
|
fetchControlStyles(control, widgetSchemeControls, widget.widget_type);
|
|
});
|
|
};
|
|
|
|
var fetchAllWidgetsSchemesStyle = function fetchAllWidgetsSchemesStyle() {
|
|
_.each(elementor.widgetsCache, function (widget) {
|
|
fetchWidgetControlsStyles(widget);
|
|
});
|
|
};
|
|
|
|
this.init = function () {
|
|
initElements();
|
|
buildUI();
|
|
initSchemes();
|
|
return self;
|
|
};
|
|
|
|
this.getWidgetSchemeControls = function (widget) {
|
|
return _.filter(widget.controls, function (control) {
|
|
return _.isObject(control.scheme);
|
|
});
|
|
};
|
|
|
|
this.getSchemes = function () {
|
|
return schemes;
|
|
};
|
|
|
|
this.getEnabledSchemesTypes = function () {
|
|
return elementor.config.schemes.enabled_schemes;
|
|
};
|
|
|
|
this.getScheme = function (schemeType) {
|
|
return schemes[schemeType];
|
|
};
|
|
|
|
this.getSchemeValue = function (schemeType, value, key) {
|
|
if (this.getEnabledSchemesTypes().indexOf(schemeType) < 0) {
|
|
return false;
|
|
}
|
|
|
|
var scheme = self.getScheme(schemeType),
|
|
schemeValue = scheme.items[value];
|
|
|
|
if (key && _.isObject(schemeValue)) {
|
|
var clonedSchemeValue = elementorCommon.helpers.cloneObject(schemeValue);
|
|
clonedSchemeValue.value = schemeValue.value[key];
|
|
return clonedSchemeValue;
|
|
}
|
|
|
|
return schemeValue;
|
|
};
|
|
|
|
this.printSchemesStyle = function () {
|
|
stylesheet.empty();
|
|
fetchAllWidgetsSchemesStyle();
|
|
elements.$style.text(stylesheet);
|
|
};
|
|
|
|
this.resetSchemes = function (schemeName) {
|
|
schemes[schemeName] = elementorCommon.helpers.cloneObject(elementor.config.schemes.items[schemeName]);
|
|
};
|
|
|
|
this.saveScheme = function (schemeName) {
|
|
elementor.config.schemes.items[schemeName].items = elementorCommon.helpers.cloneObject(schemes[schemeName].items);
|
|
var itemsToSave = {};
|
|
|
|
_.each(schemes[schemeName].items, function (item, key) {
|
|
itemsToSave[key] = item.value;
|
|
});
|
|
|
|
return elementorCommon.ajax.addRequest('apply_scheme', {
|
|
data: {
|
|
scheme_name: schemeName,
|
|
data: (0, _stringify.default)(itemsToSave)
|
|
}
|
|
});
|
|
};
|
|
|
|
this.setSchemeValue = function (schemeName, itemKey, value) {
|
|
schemes[schemeName].items[itemKey].value = value;
|
|
};
|
|
|
|
this.addSchemeItem = function (schemeName, item, at) {
|
|
var scheme = schemes[schemeName],
|
|
schemeKeys = (0, _keys.default)(scheme.items),
|
|
hasAt = undefined !== at,
|
|
targetIndex = hasAt ? at : +schemeKeys.slice(-1)[0] || 0;
|
|
|
|
if (hasAt) {
|
|
var itemIndex = schemeKeys.length + 1;
|
|
|
|
for (; itemIndex > at; itemIndex--) {
|
|
scheme.items[itemIndex] = scheme.items[itemIndex - 1];
|
|
}
|
|
}
|
|
|
|
scheme.items[targetIndex + 1] = item;
|
|
};
|
|
|
|
this.removeSchemeItem = function (schemeName, itemKey) {
|
|
var items = schemes[schemeName].items;
|
|
|
|
while (true) {
|
|
itemKey++;
|
|
var nextItem = items[itemKey + 1];
|
|
|
|
if (!nextItem) {
|
|
delete items[itemKey];
|
|
break;
|
|
}
|
|
|
|
items[itemKey] = nextItem;
|
|
}
|
|
};
|
|
};
|
|
|
|
module.exports = new Schemes();
|
|
|
|
/***/ }),
|
|
/* 536 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var presetsFactory;
|
|
presetsFactory = {
|
|
getPresetsDictionary: function getPresetsDictionary() {
|
|
return {
|
|
11: 100 / 9,
|
|
12: 100 / 8,
|
|
14: 100 / 7,
|
|
16: 100 / 6,
|
|
33: 100 / 3,
|
|
66: 2 / 3 * 100,
|
|
83: 5 / 6 * 100
|
|
};
|
|
},
|
|
getAbsolutePresetValues: function getAbsolutePresetValues(preset) {
|
|
var clonedPreset = elementorCommon.helpers.cloneObject(preset),
|
|
presetDictionary = this.getPresetsDictionary();
|
|
|
|
_.each(clonedPreset, function (unitValue, unitIndex) {
|
|
if (presetDictionary[unitValue]) {
|
|
clonedPreset[unitIndex] = presetDictionary[unitValue];
|
|
}
|
|
});
|
|
|
|
return clonedPreset;
|
|
},
|
|
getPresets: function getPresets(columnsCount, presetIndex) {
|
|
var presets = elementorCommon.helpers.cloneObject(elementor.config.elements.section.presets);
|
|
|
|
if (columnsCount) {
|
|
presets = presets[columnsCount];
|
|
}
|
|
|
|
if (presetIndex) {
|
|
presets = presets[presetIndex];
|
|
}
|
|
|
|
return presets;
|
|
},
|
|
getPresetByStructure: function getPresetByStructure(structure) {
|
|
var parsedStructure = this.getParsedStructure(structure);
|
|
return this.getPresets(parsedStructure.columnsCount, parsedStructure.presetIndex);
|
|
},
|
|
getParsedStructure: function getParsedStructure(structure) {
|
|
structure += ''; // Make sure this is a string
|
|
|
|
return {
|
|
columnsCount: structure.slice(0, -1),
|
|
presetIndex: structure.substr(-1)
|
|
};
|
|
},
|
|
getPresetSVG: function getPresetSVG(preset, svgWidth, svgHeight, separatorWidth) {
|
|
svgWidth = svgWidth || 100;
|
|
svgHeight = svgHeight || 50;
|
|
separatorWidth = separatorWidth || 2;
|
|
|
|
var absolutePresetValues = this.getAbsolutePresetValues(preset),
|
|
presetSVGPath = this._generatePresetSVGPath(absolutePresetValues, svgWidth, svgHeight, separatorWidth);
|
|
|
|
return this._createSVGPreset(presetSVGPath, svgWidth, svgHeight);
|
|
},
|
|
_createSVGPreset: function _createSVGPreset(presetPath, svgWidth, svgHeight) {
|
|
// this is here to avoid being picked up by https re-write systems
|
|
var protocol = 'ht' + 'tp';
|
|
var svg = document.createElementNS(protocol + '://www.w3.org/2000/svg', 'svg');
|
|
svg.setAttributeNS(protocol + '://www.w3.org/2000/xmlns/', 'xmlns:xlink', protocol + '://www.w3.org/1999/xlink');
|
|
svg.setAttribute('viewBox', '0 0 ' + svgWidth + ' ' + svgHeight);
|
|
var path = document.createElementNS(protocol + '://www.w3.org/2000/svg', 'path');
|
|
path.setAttribute('d', presetPath);
|
|
svg.appendChild(path);
|
|
return svg;
|
|
},
|
|
_generatePresetSVGPath: function _generatePresetSVGPath(preset, svgWidth, svgHeight, separatorWidth) {
|
|
var DRAW_SIZE = svgWidth - separatorWidth * (preset.length - 1);
|
|
var xPointer = 0,
|
|
dOutput = '';
|
|
|
|
for (var i = 0; i < preset.length; i++) {
|
|
if (i) {
|
|
dOutput += ' ';
|
|
}
|
|
|
|
var increment = preset[i] / 100 * DRAW_SIZE;
|
|
xPointer += increment;
|
|
dOutput += 'M' + +xPointer.toFixed(4) + ',0';
|
|
dOutput += 'V' + svgHeight;
|
|
dOutput += 'H' + +(xPointer - increment).toFixed(4);
|
|
dOutput += 'V0Z';
|
|
xPointer += separatorWidth;
|
|
}
|
|
|
|
return dOutput;
|
|
}
|
|
};
|
|
module.exports = presetsFactory;
|
|
|
|
/***/ }),
|
|
/* 537 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(47));
|
|
|
|
var _stringify = _interopRequireDefault(__webpack_require__(206));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(538));
|
|
|
|
var TemplateLibraryCollection = __webpack_require__(555),
|
|
TemplateLibraryManager;
|
|
|
|
TemplateLibraryManager = function TemplateLibraryManager() {
|
|
this.modalConfig = {};
|
|
var self = this,
|
|
templateTypes = {};
|
|
var deleteDialog,
|
|
errorDialog,
|
|
templatesCollection,
|
|
config = {},
|
|
filterTerms = {};
|
|
|
|
var registerDefaultTemplateTypes = function registerDefaultTemplateTypes() {
|
|
var data = {
|
|
saveDialog: {
|
|
description: elementor.translate('save_your_template_description')
|
|
},
|
|
ajaxParams: {
|
|
success: function success(successData) {
|
|
$e.route('library/templates/my-templates', {
|
|
onBefore: function onBefore() {
|
|
if (templatesCollection) {
|
|
var itemExist = templatesCollection.findWhere({
|
|
template_id: successData.template_id
|
|
});
|
|
|
|
if (!itemExist) {
|
|
templatesCollection.add(successData);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
},
|
|
error: function error(errorData) {
|
|
self.showErrorDialog(errorData);
|
|
}
|
|
}
|
|
};
|
|
|
|
_.each(['page', 'section', elementor.config.document.type], function (type) {
|
|
var safeData = jQuery.extend(true, {}, data, {
|
|
saveDialog: {
|
|
title: elementor.translate('save_your_template', [elementor.translate(type)])
|
|
}
|
|
});
|
|
self.registerTemplateType(type, safeData);
|
|
});
|
|
};
|
|
|
|
var registerDefaultFilterTerms = function registerDefaultFilterTerms() {
|
|
filterTerms = {
|
|
text: {
|
|
callback: function callback(value) {
|
|
value = value.toLowerCase();
|
|
|
|
if (this.get('title').toLowerCase().indexOf(value) >= 0) {
|
|
return true;
|
|
}
|
|
|
|
return _.any(this.get('tags'), function (tag) {
|
|
return tag.toLowerCase().indexOf(value) >= 0;
|
|
});
|
|
}
|
|
},
|
|
type: {},
|
|
subtype: {},
|
|
favorite: {}
|
|
};
|
|
};
|
|
|
|
this.init = function () {
|
|
registerDefaultTemplateTypes();
|
|
registerDefaultFilterTerms();
|
|
this.component = $e.components.register(new _component.default({
|
|
manager: this
|
|
}));
|
|
elementor.addBackgroundClickListener('libraryToggleMore', {
|
|
element: '.elementor-template-library-template-more'
|
|
});
|
|
};
|
|
|
|
this.getTemplateTypes = function (type) {
|
|
if (type) {
|
|
return templateTypes[type];
|
|
}
|
|
|
|
return templateTypes;
|
|
};
|
|
|
|
this.registerTemplateType = function (type, data) {
|
|
templateTypes[type] = data;
|
|
};
|
|
|
|
this.deleteTemplate = function (templateModel, options) {
|
|
var dialog = self.getDeleteDialog();
|
|
|
|
dialog.onConfirm = function () {
|
|
if (options.onConfirm) {
|
|
options.onConfirm();
|
|
}
|
|
|
|
elementorCommon.ajax.addRequest('delete_template', {
|
|
data: {
|
|
source: templateModel.get('source'),
|
|
template_id: templateModel.get('template_id')
|
|
},
|
|
success: function success(response) {
|
|
templatesCollection.remove(templateModel, {
|
|
silent: true
|
|
});
|
|
|
|
if (options.onSuccess) {
|
|
options.onSuccess(response);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
dialog.show();
|
|
};
|
|
|
|
this.importTemplate = function (model) {
|
|
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
elementorCommon.helpers.softDeprecated('importTemplate', '2.8.0', "$e.run( 'library/insert-template' )");
|
|
args.model = model;
|
|
$e.run('library/insert-template', args);
|
|
};
|
|
|
|
this.saveTemplate = function (type, data) {
|
|
var templateType = templateTypes[type];
|
|
|
|
_.extend(data, {
|
|
source: 'local',
|
|
type: type
|
|
});
|
|
|
|
if (templateType.prepareSavedData) {
|
|
data = templateType.prepareSavedData(data);
|
|
}
|
|
|
|
data.content = (0, _stringify.default)(data.content);
|
|
var ajaxParams = {
|
|
data: data
|
|
};
|
|
|
|
if (templateType.ajaxParams) {
|
|
_.extend(ajaxParams, templateType.ajaxParams);
|
|
}
|
|
|
|
elementorCommon.ajax.addRequest('save_template', ajaxParams);
|
|
};
|
|
|
|
this.requestTemplateContent = function (source, id, ajaxOptions) {
|
|
var options = {
|
|
unique_id: id,
|
|
data: {
|
|
source: source,
|
|
edit_mode: true,
|
|
display: true,
|
|
template_id: id
|
|
}
|
|
};
|
|
|
|
if (ajaxOptions) {
|
|
jQuery.extend(true, options, ajaxOptions);
|
|
}
|
|
|
|
return elementorCommon.ajax.addRequest('get_template_data', options);
|
|
};
|
|
|
|
this.markAsFavorite = function (templateModel, favorite) {
|
|
var options = {
|
|
data: {
|
|
source: templateModel.get('source'),
|
|
template_id: templateModel.get('template_id'),
|
|
favorite: favorite
|
|
}
|
|
};
|
|
return elementorCommon.ajax.addRequest('mark_template_as_favorite', options);
|
|
};
|
|
|
|
this.getDeleteDialog = function () {
|
|
if (!deleteDialog) {
|
|
deleteDialog = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
id: 'elementor-template-library-delete-dialog',
|
|
headerMessage: elementor.translate('delete_template'),
|
|
message: elementor.translate('delete_template_confirm'),
|
|
strings: {
|
|
confirm: elementor.translate('delete')
|
|
}
|
|
});
|
|
}
|
|
|
|
return deleteDialog;
|
|
};
|
|
|
|
this.getErrorDialog = function () {
|
|
if (!errorDialog) {
|
|
errorDialog = elementorCommon.dialogsManager.createWidget('alert', {
|
|
id: 'elementor-template-library-error-dialog',
|
|
headerMessage: elementor.translate('an_error_occurred')
|
|
});
|
|
}
|
|
|
|
return errorDialog;
|
|
};
|
|
|
|
this.getTemplatesCollection = function () {
|
|
return templatesCollection;
|
|
};
|
|
|
|
this.getConfig = function (item) {
|
|
if (item) {
|
|
return config[item] ? config[item] : {};
|
|
}
|
|
|
|
return config;
|
|
};
|
|
|
|
this.requestLibraryData = function (options) {
|
|
if (templatesCollection && !options.forceUpdate) {
|
|
if (options.onUpdate) {
|
|
options.onUpdate();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if (options.onBeforeUpdate) {
|
|
options.onBeforeUpdate();
|
|
}
|
|
|
|
var ajaxOptions = {
|
|
data: {},
|
|
success: function success(data) {
|
|
templatesCollection = new TemplateLibraryCollection(data.templates);
|
|
|
|
if (data.config) {
|
|
config = data.config;
|
|
}
|
|
|
|
if (options.onUpdate) {
|
|
options.onUpdate();
|
|
}
|
|
}
|
|
};
|
|
|
|
if (options.forceSync) {
|
|
ajaxOptions.data.sync = true;
|
|
}
|
|
|
|
elementorCommon.ajax.addRequest('get_library_data', ajaxOptions);
|
|
};
|
|
|
|
this.getFilter = function (name) {
|
|
return elementor.channels.templates.request('filter:' + name);
|
|
};
|
|
|
|
this.setFilter = function (name, value, silent) {
|
|
elementor.channels.templates.reply('filter:' + name, value);
|
|
|
|
if (!silent) {
|
|
elementor.channels.templates.trigger('filter:change');
|
|
}
|
|
};
|
|
|
|
this.getFilterTerms = function (termName) {
|
|
if (termName) {
|
|
return filterTerms[termName];
|
|
}
|
|
|
|
return filterTerms;
|
|
};
|
|
|
|
this.setScreen = function (args) {
|
|
elementor.channels.templates.stopReplying();
|
|
self.setFilter('source', args.source, true);
|
|
self.setFilter('type', args.type, true);
|
|
self.setFilter('subtype', args.subtype, true);
|
|
self.showTemplates();
|
|
};
|
|
|
|
this.loadTemplates = function (_onUpdate) {
|
|
self.requestLibraryData({
|
|
onBeforeUpdate: self.layout.showLoadingView.bind(self.layout),
|
|
onUpdate: function onUpdate() {
|
|
self.layout.hideLoadingView();
|
|
|
|
if (_onUpdate) {
|
|
_onUpdate();
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
this.showTemplates = function () {
|
|
// The tabs should exist in DOM on loading.
|
|
self.layout.setHeaderDefaultParts();
|
|
self.loadTemplates(function () {
|
|
var templatesToShow = self.filterTemplates();
|
|
self.layout.showTemplatesView(new TemplateLibraryCollection(templatesToShow));
|
|
});
|
|
};
|
|
|
|
this.filterTemplates = function () {
|
|
var activeSource = self.getFilter('source');
|
|
return templatesCollection.filter(function (model) {
|
|
if (activeSource !== model.get('source')) {
|
|
return false;
|
|
}
|
|
|
|
var typeInfo = templateTypes[model.get('type')];
|
|
return !typeInfo || false !== typeInfo.showInLibrary;
|
|
});
|
|
};
|
|
|
|
this.showErrorDialog = function (errorMessage) {
|
|
if ('object' === (0, _typeof2.default)(errorMessage)) {
|
|
var message = '';
|
|
|
|
_.each(errorMessage, function (error) {
|
|
message += '<div>' + error.message + '.</div>';
|
|
});
|
|
|
|
errorMessage = message;
|
|
} else if (errorMessage) {
|
|
errorMessage += '.';
|
|
} else {
|
|
errorMessage = '<i><The error message is empty></i>';
|
|
}
|
|
|
|
self.getErrorDialog().setMessage(elementor.translate('templates_request_error') + '<div id="elementor-template-library-error-info">' + errorMessage + '</div>').show();
|
|
};
|
|
};
|
|
|
|
module.exports = new TemplateLibraryManager();
|
|
|
|
/***/ }),
|
|
/* 538 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _objectSpread2 = _interopRequireDefault(__webpack_require__(214));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentModalBase = _interopRequireDefault(__webpack_require__(287));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(539));
|
|
|
|
var TemplateLibraryLayoutView = __webpack_require__(542);
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentModalBase) {
|
|
(0, _inherits2.default)(Component, _ComponentModalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "__construct",
|
|
value: function __construct(args) {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "__construct", this).call(this, args); // When switching documents update defaultTabs.
|
|
|
|
elementor.on('document:loaded', this.onDocumentLoaded.bind(this));
|
|
}
|
|
}, {
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'library';
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {
|
|
'templates/blocks': {
|
|
title: elementor.translate('blocks'),
|
|
getFilter: function getFilter() {
|
|
return {
|
|
source: 'remote',
|
|
type: 'block',
|
|
subtype: elementor.config.document.remoteLibrary.category
|
|
};
|
|
}
|
|
},
|
|
'templates/pages': {
|
|
title: elementor.translate('pages'),
|
|
filter: {
|
|
source: 'remote',
|
|
type: 'page'
|
|
}
|
|
},
|
|
'templates/my-templates': {
|
|
title: elementor.translate('my_templates'),
|
|
filter: {
|
|
source: 'local'
|
|
}
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultRoutes",
|
|
value: function defaultRoutes() {
|
|
var _this = this;
|
|
|
|
return {
|
|
import: function _import() {
|
|
_this.manager.layout.showImportView();
|
|
},
|
|
'save-template': function saveTemplate(args) {
|
|
_this.manager.layout.showSaveTemplateView(args.model);
|
|
},
|
|
preview: function preview(args) {
|
|
_this.manager.layout.showPreviewView(args.model);
|
|
},
|
|
connect: function connect(args) {
|
|
args.texts = {
|
|
title: elementor.translate('library/connect:title'),
|
|
message: elementor.translate('library/connect:message'),
|
|
button: elementor.translate('library/connect:button')
|
|
};
|
|
|
|
_this.manager.layout.showConnectView(args);
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
var modalCommands = (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "defaultCommands", this).call(this);
|
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, modalCommands), this.importCommands(commands));
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
open: {
|
|
keys: 'ctrl+shift+l'
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "onDocumentLoaded",
|
|
value: function onDocumentLoaded(document) {
|
|
this.setDefaultRoute(document.config.remoteLibrary.default_route);
|
|
this.maybeOpenLibrary();
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab) {
|
|
var currentTab = this.tabs[tab],
|
|
filter = currentTab.getFilter ? currentTab.getFilter() : currentTab.filter;
|
|
this.manager.setScreen(filter);
|
|
}
|
|
}, {
|
|
key: "activateTab",
|
|
value: function activateTab(tab) {
|
|
$e.routes.saveState('library');
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "activateTab", this).call(this, tab);
|
|
}
|
|
}, {
|
|
key: "open",
|
|
value: function open() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "open", this).call(this);
|
|
|
|
if (!this.manager.layout) {
|
|
this.manager.layout = this.layout;
|
|
}
|
|
|
|
this.manager.layout.setHeaderDefaultParts();
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "close",
|
|
value: function close() {
|
|
if (!(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "close", this).call(this)) {
|
|
return false;
|
|
}
|
|
|
|
this.manager.modalConfig = {};
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "show",
|
|
value: function show(args) {
|
|
this.manager.modalConfig = args;
|
|
|
|
if (args.toDefault || !$e.routes.restoreState('library')) {
|
|
$e.route(this.getDefaultRoute());
|
|
}
|
|
} // TODO: Move function to 'insert-template' command.
|
|
|
|
}, {
|
|
key: "insertTemplate",
|
|
value: function insertTemplate(args) {
|
|
var _this2 = this;
|
|
|
|
var autoImportSettings = elementor.config.document.remoteLibrary.autoImportSettings,
|
|
model = args.model;
|
|
var _args$withPageSetting = args.withPageSettings,
|
|
withPageSettings = _args$withPageSetting === void 0 ? null : _args$withPageSetting;
|
|
|
|
if (autoImportSettings) {
|
|
withPageSettings = true;
|
|
}
|
|
|
|
if (null === withPageSettings && model.get('hasPageSettings')) {
|
|
var insertTemplateHandler = this.getImportSettingsDialog();
|
|
insertTemplateHandler.showImportDialog(model);
|
|
return;
|
|
}
|
|
|
|
this.manager.layout.showLoadingView();
|
|
this.manager.requestTemplateContent(model.get('source'), model.get('template_id'), {
|
|
data: {
|
|
with_page_settings: withPageSettings
|
|
},
|
|
success: function success(data) {
|
|
// Clone the `modalConfig.importOptions` because it deleted during the closing.
|
|
var importOptions = jQuery.extend({}, _this2.manager.modalConfig.importOptions);
|
|
importOptions.withPageSettings = withPageSettings; // Hide for next open.
|
|
|
|
_this2.manager.layout.hideLoadingView();
|
|
|
|
_this2.manager.layout.hideModal();
|
|
|
|
$e.run('document/elements/import', {
|
|
model: model,
|
|
data: data,
|
|
options: importOptions
|
|
});
|
|
},
|
|
error: function error(data) {
|
|
_this2.manager.showErrorDialog(data);
|
|
},
|
|
complete: function complete() {
|
|
_this2.manager.layout.hideLoadingView();
|
|
}
|
|
});
|
|
}
|
|
}, {
|
|
key: "getImportSettingsDialog",
|
|
value: function getImportSettingsDialog() {
|
|
// Moved from ./behaviors/insert-template.js
|
|
var InsertTemplateHandler = {
|
|
dialog: null,
|
|
showImportDialog: function showImportDialog(model) {
|
|
var dialog = InsertTemplateHandler.getDialog();
|
|
|
|
dialog.onConfirm = function () {
|
|
$e.run('library/insert-template', {
|
|
model: model,
|
|
withPageSettings: true
|
|
});
|
|
};
|
|
|
|
dialog.onCancel = function () {
|
|
$e.run('library/insert-template', {
|
|
model: model,
|
|
withPageSettings: false
|
|
});
|
|
};
|
|
|
|
dialog.show();
|
|
},
|
|
initDialog: function initDialog() {
|
|
InsertTemplateHandler.dialog = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
id: 'elementor-insert-template-settings-dialog',
|
|
headerMessage: elementor.translate('import_template_dialog_header'),
|
|
message: elementor.translate('import_template_dialog_message') + '<br>' + elementor.translate('import_template_dialog_message_attention'),
|
|
strings: {
|
|
confirm: elementor.translate('yes'),
|
|
cancel: elementor.translate('no')
|
|
}
|
|
});
|
|
},
|
|
getDialog: function getDialog() {
|
|
if (!InsertTemplateHandler.dialog) {
|
|
InsertTemplateHandler.initDialog();
|
|
}
|
|
|
|
return InsertTemplateHandler.dialog;
|
|
}
|
|
};
|
|
return InsertTemplateHandler;
|
|
}
|
|
}, {
|
|
key: "getTabsWrapperSelector",
|
|
value: function getTabsWrapperSelector() {
|
|
return '#elementor-template-library-header-menu';
|
|
}
|
|
}, {
|
|
key: "getModalLayout",
|
|
value: function getModalLayout() {
|
|
return TemplateLibraryLayoutView;
|
|
}
|
|
}, {
|
|
key: "maybeOpenLibrary",
|
|
value: function maybeOpenLibrary() {
|
|
if ('#library' === location.hash) {
|
|
$e.run('library/open');
|
|
location.hash = '';
|
|
}
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentModalBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 539 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "InsertTemplate", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _insertTemplate.InsertTemplate;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
var _insertTemplate = __webpack_require__(540);
|
|
|
|
var _open = __webpack_require__(541);
|
|
|
|
/***/ }),
|
|
/* 540 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.InsertTemplate = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var InsertTemplate = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(InsertTemplate, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(InsertTemplate);
|
|
|
|
function InsertTemplate() {
|
|
(0, _classCallCheck2.default)(this, InsertTemplate);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(InsertTemplate, [{
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
return this.component.insertTemplate(args);
|
|
}
|
|
}]);
|
|
return InsertTemplate;
|
|
}(_commandBase.default);
|
|
|
|
exports.InsertTemplate = InsertTemplate;
|
|
var _default = InsertTemplate;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 541 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
return this.component.show(args);
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 542 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryHeaderActionsView = __webpack_require__(543),
|
|
TemplateLibraryHeaderMenuView = __webpack_require__(544),
|
|
TemplateLibraryHeaderPreviewView = __webpack_require__(545),
|
|
TemplateLibraryHeaderBackView = __webpack_require__(546),
|
|
TemplateLibraryCollectionView = __webpack_require__(547),
|
|
TemplateLibrarySaveTemplateView = __webpack_require__(551),
|
|
TemplateLibraryImportView = __webpack_require__(552),
|
|
TemplateLibraryConnectView = __webpack_require__(553),
|
|
TemplateLibraryPreviewView = __webpack_require__(554);
|
|
|
|
module.exports = elementorModules.common.views.modal.Layout.extend({
|
|
getModalOptions: function getModalOptions() {
|
|
return {
|
|
id: 'elementor-template-library-modal'
|
|
};
|
|
},
|
|
getLogoOptions: function getLogoOptions() {
|
|
return {
|
|
title: elementor.translate('library'),
|
|
click: function click() {
|
|
$e.run('library/open', {
|
|
toDefault: true
|
|
});
|
|
}
|
|
};
|
|
},
|
|
getTemplateActionButton: function getTemplateActionButton(templateData) {
|
|
var viewId = '#tmpl-elementor-template-library-' + (templateData.isPro ? 'get-pro-button' : 'insert-button');
|
|
viewId = elementor.hooks.applyFilters('elementor/editor/template-library/template/action-button', viewId, templateData);
|
|
var template = Marionette.TemplateCache.get(viewId);
|
|
return Marionette.Renderer.render(template);
|
|
},
|
|
setHeaderDefaultParts: function setHeaderDefaultParts() {
|
|
var headerView = this.getHeaderView();
|
|
headerView.tools.show(new TemplateLibraryHeaderActionsView());
|
|
headerView.menuArea.show(new TemplateLibraryHeaderMenuView());
|
|
this.showLogo();
|
|
},
|
|
showTemplatesView: function showTemplatesView(templatesCollection) {
|
|
this.modalContent.show(new TemplateLibraryCollectionView({
|
|
collection: templatesCollection
|
|
}));
|
|
},
|
|
showImportView: function showImportView() {
|
|
var headerView = this.getHeaderView();
|
|
headerView.menuArea.reset();
|
|
this.modalContent.show(new TemplateLibraryImportView());
|
|
headerView.logoArea.show(new TemplateLibraryHeaderBackView());
|
|
},
|
|
showConnectView: function showConnectView(args) {
|
|
this.getHeaderView().menuArea.reset();
|
|
this.modalContent.show(new TemplateLibraryConnectView(args));
|
|
},
|
|
showSaveTemplateView: function showSaveTemplateView(elementModel) {
|
|
this.getHeaderView().menuArea.reset();
|
|
this.modalContent.show(new TemplateLibrarySaveTemplateView({
|
|
model: elementModel
|
|
}));
|
|
},
|
|
showPreviewView: function showPreviewView(templateModel) {
|
|
this.modalContent.show(new TemplateLibraryPreviewView({
|
|
url: templateModel.get('url')
|
|
}));
|
|
var headerView = this.getHeaderView();
|
|
headerView.menuArea.reset();
|
|
headerView.tools.show(new TemplateLibraryHeaderPreviewView({
|
|
model: templateModel
|
|
}));
|
|
headerView.logoArea.show(new TemplateLibraryHeaderBackView());
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 543 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-header-actions',
|
|
id: 'elementor-template-library-header-actions',
|
|
ui: {
|
|
import: '#elementor-template-library-header-import i',
|
|
sync: '#elementor-template-library-header-sync i',
|
|
save: '#elementor-template-library-header-save i'
|
|
},
|
|
events: {
|
|
'click @ui.import': 'onImportClick',
|
|
'click @ui.sync': 'onSyncClick',
|
|
'click @ui.save': 'onSaveClick'
|
|
},
|
|
onImportClick: function onImportClick() {
|
|
$e.route('library/import');
|
|
},
|
|
onSyncClick: function onSyncClick() {
|
|
var self = this;
|
|
self.ui.sync.addClass('eicon-animation-spin');
|
|
elementor.templates.requestLibraryData({
|
|
onUpdate: function onUpdate() {
|
|
self.ui.sync.removeClass('eicon-animation-spin');
|
|
$e.routes.refreshContainer('library');
|
|
},
|
|
forceUpdate: true,
|
|
forceSync: true
|
|
});
|
|
},
|
|
onSaveClick: function onSaveClick() {
|
|
$e.route('library/save-template');
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 544 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-header-menu',
|
|
id: 'elementor-template-library-header-menu',
|
|
templateHelpers: function templateHelpers() {
|
|
return {
|
|
tabs: $e.components.get('library').getTabs()
|
|
};
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 545 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryInsertTemplateBehavior = __webpack_require__(378);
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-header-preview',
|
|
id: 'elementor-template-library-header-preview',
|
|
behaviors: {
|
|
insertTemplate: {
|
|
behaviorClass: TemplateLibraryInsertTemplateBehavior
|
|
}
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 546 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-header-back',
|
|
id: 'elementor-template-library-header-preview-back',
|
|
events: {
|
|
click: 'onClick'
|
|
},
|
|
onClick: function onClick() {
|
|
$e.routes.restoreState('library');
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 547 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryTemplateLocalView = __webpack_require__(548),
|
|
TemplateLibraryTemplateRemoteView = __webpack_require__(549),
|
|
TemplateLibraryCollectionView;
|
|
|
|
TemplateLibraryCollectionView = Marionette.CompositeView.extend({
|
|
template: '#tmpl-elementor-template-library-templates',
|
|
id: 'elementor-template-library-templates',
|
|
childViewContainer: '#elementor-template-library-templates-container',
|
|
reorderOnSort: true,
|
|
emptyView: function emptyView() {
|
|
var EmptyView = __webpack_require__(550);
|
|
|
|
return new EmptyView();
|
|
},
|
|
ui: {
|
|
textFilter: '#elementor-template-library-filter-text',
|
|
selectFilter: '.elementor-template-library-filter-select',
|
|
myFavoritesFilter: '#elementor-template-library-filter-my-favorites',
|
|
orderInputs: '.elementor-template-library-order-input',
|
|
orderLabels: 'label.elementor-template-library-order-label'
|
|
},
|
|
events: {
|
|
'input @ui.textFilter': 'onTextFilterInput',
|
|
'change @ui.selectFilter': 'onSelectFilterChange',
|
|
'change @ui.myFavoritesFilter': 'onMyFavoritesFilterChange',
|
|
'mousedown @ui.orderLabels': 'onOrderLabelsClick'
|
|
},
|
|
comparators: {
|
|
title: function title(model) {
|
|
return model.get('title').toLowerCase();
|
|
},
|
|
popularityIndex: function popularityIndex(model) {
|
|
var popularityIndex = model.get('popularityIndex');
|
|
|
|
if (!popularityIndex) {
|
|
popularityIndex = model.get('date');
|
|
}
|
|
|
|
return -popularityIndex;
|
|
},
|
|
trendIndex: function trendIndex(model) {
|
|
var trendIndex = model.get('trendIndex');
|
|
|
|
if (!trendIndex) {
|
|
trendIndex = model.get('date');
|
|
}
|
|
|
|
return -trendIndex;
|
|
}
|
|
},
|
|
getChildView: function getChildView(childModel) {
|
|
if ('remote' === childModel.get('source')) {
|
|
return TemplateLibraryTemplateRemoteView;
|
|
}
|
|
|
|
return TemplateLibraryTemplateLocalView;
|
|
},
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.templates, 'filter:change', this._renderChildren);
|
|
},
|
|
filter: function filter(childModel) {
|
|
var filterTerms = elementor.templates.getFilterTerms(),
|
|
passingFilter = true;
|
|
jQuery.each(filterTerms, function (filterTermName) {
|
|
var filterValue = elementor.templates.getFilter(filterTermName);
|
|
|
|
if (!filterValue) {
|
|
return;
|
|
}
|
|
|
|
if (this.callback) {
|
|
var callbackResult = this.callback.call(childModel, filterValue);
|
|
|
|
if (!callbackResult) {
|
|
passingFilter = false;
|
|
}
|
|
|
|
return callbackResult;
|
|
}
|
|
|
|
var filterResult = filterValue === childModel.get(filterTermName);
|
|
|
|
if (!filterResult) {
|
|
passingFilter = false;
|
|
}
|
|
|
|
return filterResult;
|
|
});
|
|
return passingFilter;
|
|
},
|
|
order: function order(by, reverseOrder) {
|
|
var comparator = this.comparators[by] || by;
|
|
|
|
if (reverseOrder) {
|
|
comparator = this.reverseOrder(comparator);
|
|
}
|
|
|
|
this.collection.comparator = comparator;
|
|
this.collection.sort();
|
|
},
|
|
reverseOrder: function reverseOrder(comparator) {
|
|
if ('function' !== typeof comparator) {
|
|
var comparatorValue = comparator;
|
|
|
|
comparator = function comparator(model) {
|
|
return model.get(comparatorValue);
|
|
};
|
|
}
|
|
|
|
return function (left, right) {
|
|
var l = comparator(left),
|
|
r = comparator(right);
|
|
|
|
if (undefined === l) {
|
|
return -1;
|
|
}
|
|
|
|
if (undefined === r) {
|
|
return 1;
|
|
}
|
|
|
|
if (l < r) {
|
|
return 1;
|
|
}
|
|
|
|
if (l > r) {
|
|
return -1;
|
|
}
|
|
|
|
return 0;
|
|
};
|
|
},
|
|
addSourceData: function addSourceData() {
|
|
var isEmpty = this.children.isEmpty();
|
|
this.$el.attr('data-template-source', isEmpty ? 'empty' : elementor.templates.getFilter('source'));
|
|
},
|
|
setFiltersUI: function setFiltersUI() {
|
|
var $filters = this.$(this.ui.selectFilter);
|
|
$filters.select2({
|
|
placeholder: elementor.translate('category'),
|
|
allowClear: true,
|
|
width: 150,
|
|
dropdownParent: this.$el
|
|
});
|
|
},
|
|
setMasonrySkin: function setMasonrySkin() {
|
|
var masonry = new elementorModules.utils.Masonry({
|
|
container: this.$childViewContainer,
|
|
items: this.$childViewContainer.children()
|
|
});
|
|
this.$childViewContainer.imagesLoaded(masonry.run.bind(masonry));
|
|
},
|
|
toggleFilterClass: function toggleFilterClass() {
|
|
this.$el.toggleClass('elementor-templates-filter-active', !!(elementor.templates.getFilter('text') || elementor.templates.getFilter('favorite')));
|
|
},
|
|
onRender: function onRender() {
|
|
if ('remote' === elementor.templates.getFilter('source') && 'page' !== elementor.templates.getFilter('type')) {
|
|
this.setFiltersUI();
|
|
}
|
|
},
|
|
onRenderCollection: function onRenderCollection() {
|
|
this.addSourceData();
|
|
this.toggleFilterClass();
|
|
|
|
if ('remote' === elementor.templates.getFilter('source') && 'page' !== elementor.templates.getFilter('type')) {
|
|
this.setMasonrySkin();
|
|
}
|
|
},
|
|
onBeforeRenderEmpty: function onBeforeRenderEmpty() {
|
|
this.addSourceData();
|
|
},
|
|
onTextFilterInput: function onTextFilterInput() {
|
|
elementor.templates.setFilter('text', this.ui.textFilter.val());
|
|
},
|
|
onSelectFilterChange: function onSelectFilterChange(event) {
|
|
var $select = jQuery(event.currentTarget),
|
|
filterName = $select.data('elementor-filter');
|
|
elementor.templates.setFilter(filterName, $select.val());
|
|
},
|
|
onMyFavoritesFilterChange: function onMyFavoritesFilterChange() {
|
|
elementor.templates.setFilter('favorite', this.ui.myFavoritesFilter[0].checked);
|
|
},
|
|
onOrderLabelsClick: function onOrderLabelsClick(event) {
|
|
var $clickedInput = jQuery(event.currentTarget.control),
|
|
toggle;
|
|
|
|
if (!$clickedInput[0].checked) {
|
|
toggle = 'asc' !== $clickedInput.data('default-ordering-direction');
|
|
}
|
|
|
|
$clickedInput.toggleClass('elementor-template-library-order-reverse', toggle);
|
|
this.order($clickedInput.val(), $clickedInput.hasClass('elementor-template-library-order-reverse'));
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryCollectionView;
|
|
|
|
/***/ }),
|
|
/* 548 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryTemplateView = __webpack_require__(379),
|
|
TemplateLibraryTemplateLocalView;
|
|
|
|
TemplateLibraryTemplateLocalView = TemplateLibraryTemplateView.extend({
|
|
template: '#tmpl-elementor-template-library-template-local',
|
|
ui: function ui() {
|
|
return _.extend(TemplateLibraryTemplateView.prototype.ui.apply(this, arguments), {
|
|
deleteButton: '.elementor-template-library-template-delete',
|
|
morePopup: '.elementor-template-library-template-more',
|
|
toggleMore: '.elementor-template-library-template-more-toggle',
|
|
toggleMoreIcon: '.elementor-template-library-template-more-toggle i'
|
|
});
|
|
},
|
|
events: function events() {
|
|
return _.extend(TemplateLibraryTemplateView.prototype.events.apply(this, arguments), {
|
|
'click @ui.deleteButton': 'onDeleteButtonClick',
|
|
'click @ui.toggleMore': 'onToggleMoreClick'
|
|
});
|
|
},
|
|
onDeleteButtonClick: function onDeleteButtonClick() {
|
|
var toggleMoreIcon = this.ui.toggleMoreIcon;
|
|
elementor.templates.deleteTemplate(this.model, {
|
|
onConfirm: function onConfirm() {
|
|
toggleMoreIcon.removeClass('eicon-ellipsis-h').addClass('eicon-loading eicon-animation-spin');
|
|
},
|
|
onSuccess: function onSuccess() {
|
|
elementor.templates.showTemplates();
|
|
}
|
|
});
|
|
},
|
|
onToggleMoreClick: function onToggleMoreClick() {
|
|
this.ui.morePopup.show();
|
|
},
|
|
onPreviewButtonClick: function onPreviewButtonClick() {
|
|
open(this.model.get('url'), '_blank');
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryTemplateLocalView;
|
|
|
|
/***/ }),
|
|
/* 549 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryTemplateView = __webpack_require__(379),
|
|
TemplateLibraryTemplateRemoteView;
|
|
|
|
TemplateLibraryTemplateRemoteView = TemplateLibraryTemplateView.extend({
|
|
template: '#tmpl-elementor-template-library-template-remote',
|
|
ui: function ui() {
|
|
return jQuery.extend(TemplateLibraryTemplateView.prototype.ui.apply(this, arguments), {
|
|
favoriteCheckbox: '.elementor-template-library-template-favorite-input'
|
|
});
|
|
},
|
|
events: function events() {
|
|
return jQuery.extend(TemplateLibraryTemplateView.prototype.events.apply(this, arguments), {
|
|
'change @ui.favoriteCheckbox': 'onFavoriteCheckboxChange'
|
|
});
|
|
},
|
|
onPreviewButtonClick: function onPreviewButtonClick() {
|
|
$e.route('library/preview', {
|
|
model: this.model
|
|
});
|
|
},
|
|
onFavoriteCheckboxChange: function onFavoriteCheckboxChange() {
|
|
var isFavorite = this.ui.favoriteCheckbox[0].checked;
|
|
this.model.set('favorite', isFavorite);
|
|
elementor.templates.markAsFavorite(this.model, isFavorite);
|
|
|
|
if (!isFavorite && elementor.templates.getFilter('favorite')) {
|
|
elementor.channels.templates.trigger('filter:change');
|
|
}
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryTemplateRemoteView;
|
|
|
|
/***/ }),
|
|
/* 550 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryTemplatesEmptyView;
|
|
TemplateLibraryTemplatesEmptyView = Marionette.ItemView.extend({
|
|
id: 'elementor-template-library-templates-empty',
|
|
template: '#tmpl-elementor-template-library-templates-empty',
|
|
ui: {
|
|
title: '.elementor-template-library-blank-title',
|
|
message: '.elementor-template-library-blank-message'
|
|
},
|
|
modesStrings: {
|
|
empty: {
|
|
title: elementor.translate('templates_empty_title'),
|
|
message: elementor.translate('templates_empty_message')
|
|
},
|
|
noResults: {
|
|
title: elementor.translate('templates_no_results_title'),
|
|
message: elementor.translate('templates_no_results_message')
|
|
},
|
|
noFavorites: {
|
|
title: elementor.translate('templates_no_favorites_title'),
|
|
message: elementor.translate('templates_no_favorites_message')
|
|
}
|
|
},
|
|
getCurrentMode: function getCurrentMode() {
|
|
if (elementor.templates.getFilter('text')) {
|
|
return 'noResults';
|
|
}
|
|
|
|
if (elementor.templates.getFilter('favorite')) {
|
|
return 'noFavorites';
|
|
}
|
|
|
|
return 'empty';
|
|
},
|
|
onRender: function onRender() {
|
|
var modeStrings = this.modesStrings[this.getCurrentMode()];
|
|
this.ui.title.html(modeStrings.title);
|
|
this.ui.message.html(modeStrings.message);
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryTemplatesEmptyView;
|
|
|
|
/***/ }),
|
|
/* 551 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibrarySaveTemplateView;
|
|
TemplateLibrarySaveTemplateView = Marionette.ItemView.extend({
|
|
id: 'elementor-template-library-save-template',
|
|
template: '#tmpl-elementor-template-library-save-template',
|
|
ui: {
|
|
form: '#elementor-template-library-save-template-form',
|
|
submitButton: '#elementor-template-library-save-template-submit'
|
|
},
|
|
events: {
|
|
'submit @ui.form': 'onFormSubmit'
|
|
},
|
|
getSaveType: function getSaveType() {
|
|
var type;
|
|
|
|
if (this.model) {
|
|
type = this.model.get('elType');
|
|
} else if (elementor.config.document.library && elementor.config.document.library.save_as_same_type) {
|
|
type = elementor.config.document.type;
|
|
} else {
|
|
type = 'page';
|
|
}
|
|
|
|
return type;
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
var saveType = this.getSaveType(),
|
|
templateType = elementor.templates.getTemplateTypes(saveType);
|
|
return templateType.saveDialog;
|
|
},
|
|
onFormSubmit: function onFormSubmit(event) {
|
|
event.preventDefault();
|
|
var formData = this.ui.form.elementorSerializeObject(),
|
|
saveType = this.getSaveType(),
|
|
JSONParams = {
|
|
remove: ['default']
|
|
};
|
|
formData.content = this.model ? [this.model.toJSON(JSONParams)] : elementor.elements.toJSON(JSONParams);
|
|
this.ui.submitButton.addClass('elementor-button-state');
|
|
elementor.templates.saveTemplate(saveType, formData);
|
|
}
|
|
});
|
|
module.exports = TemplateLibrarySaveTemplateView;
|
|
|
|
/***/ }),
|
|
/* 552 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(40);
|
|
|
|
var TemplateLibraryImportView;
|
|
TemplateLibraryImportView = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-import',
|
|
id: 'elementor-template-library-import',
|
|
ui: {
|
|
uploadForm: '#elementor-template-library-import-form',
|
|
fileInput: '#elementor-template-library-import-form-input'
|
|
},
|
|
events: {
|
|
'change @ui.fileInput': 'onFileInputChange'
|
|
},
|
|
droppedFiles: null,
|
|
submitForm: function submitForm() {
|
|
var _this = this;
|
|
|
|
var file;
|
|
|
|
if (this.droppedFiles) {
|
|
file = this.droppedFiles[0];
|
|
this.droppedFiles = null;
|
|
} else {
|
|
file = this.ui.fileInput[0].files[0];
|
|
this.ui.uploadForm[0].reset();
|
|
}
|
|
|
|
var fileReader = new FileReader();
|
|
|
|
fileReader.onload = function (event) {
|
|
return _this.importTemplate(file.name, event.target.result.replace(/^[^,]+,/, ''));
|
|
};
|
|
|
|
fileReader.readAsDataURL(file);
|
|
},
|
|
importTemplate: function importTemplate(fileName, fileData) {
|
|
var layout = elementor.templates.layout;
|
|
var options = {
|
|
data: {
|
|
fileName: fileName,
|
|
fileData: fileData
|
|
},
|
|
success: function success(successData) {
|
|
elementor.templates.getTemplatesCollection().add(successData);
|
|
$e.route('library/templates/my-templates');
|
|
},
|
|
error: function error(errorData) {
|
|
elementor.templates.showErrorDialog(errorData);
|
|
layout.showImportView();
|
|
},
|
|
complete: function complete() {
|
|
layout.hideLoadingView();
|
|
}
|
|
};
|
|
elementorCommon.ajax.addRequest('import_template', options);
|
|
layout.showLoadingView();
|
|
},
|
|
onRender: function onRender() {
|
|
this.ui.uploadForm.on({
|
|
'drag dragstart dragend dragover dragenter dragleave drop': this.onFormActions.bind(this),
|
|
dragenter: this.onFormDragEnter.bind(this),
|
|
'dragleave drop': this.onFormDragLeave.bind(this),
|
|
drop: this.onFormDrop.bind(this)
|
|
});
|
|
},
|
|
onFormActions: function onFormActions(event) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
},
|
|
onFormDragEnter: function onFormDragEnter() {
|
|
this.ui.uploadForm.addClass('elementor-drag-over');
|
|
},
|
|
onFormDragLeave: function onFormDragLeave(event) {
|
|
if (jQuery(event.relatedTarget).closest(this.ui.uploadForm).length) {
|
|
return;
|
|
}
|
|
|
|
this.ui.uploadForm.removeClass('elementor-drag-over');
|
|
},
|
|
onFormDrop: function onFormDrop(event) {
|
|
this.droppedFiles = event.originalEvent.dataTransfer.files;
|
|
this.submitForm();
|
|
},
|
|
onFileInputChange: function onFileInputChange() {
|
|
this.submitForm();
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryImportView;
|
|
|
|
/***/ }),
|
|
/* 553 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-connect',
|
|
id: 'elementor-template-library-connect',
|
|
ui: {
|
|
connect: '#elementor-template-library-connect__button',
|
|
thumbnails: '#elementor-template-library-connect-thumbnails'
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
return this.getOption('texts');
|
|
},
|
|
onRender: function onRender() {
|
|
var _this = this;
|
|
|
|
this.ui.connect.elementorConnect({
|
|
success: function success() {
|
|
elementor.config.library_connect.is_connected = true; // If is connecting during insert template.
|
|
|
|
if (_this.getOption('model')) {
|
|
$e.run('library/insert-template', {
|
|
model: _this.getOption('model')
|
|
});
|
|
} else {
|
|
$e.run('library/close');
|
|
elementor.notifications.showToast({
|
|
message: elementor.translate('connected_successfully')
|
|
});
|
|
}
|
|
},
|
|
error: function error() {
|
|
elementor.config.library_connect.is_connected = false;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 554 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryPreviewView;
|
|
TemplateLibraryPreviewView = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-template-library-preview',
|
|
id: 'elementor-template-library-preview',
|
|
ui: {
|
|
iframe: '> iframe'
|
|
},
|
|
onRender: function onRender() {
|
|
this.ui.iframe.attr('src', this.getOption('url'));
|
|
}
|
|
});
|
|
module.exports = TemplateLibraryPreviewView;
|
|
|
|
/***/ }),
|
|
/* 555 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var TemplateLibraryTemplateModel = __webpack_require__(556),
|
|
TemplateLibraryCollection;
|
|
|
|
TemplateLibraryCollection = Backbone.Collection.extend({
|
|
model: TemplateLibraryTemplateModel
|
|
});
|
|
module.exports = TemplateLibraryCollection;
|
|
|
|
/***/ }),
|
|
/* 556 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Backbone.Model.extend({
|
|
defaults: {
|
|
template_id: 0,
|
|
title: '',
|
|
source: '',
|
|
type: '',
|
|
subtype: '',
|
|
author: '',
|
|
thumbnail: '',
|
|
url: '',
|
|
export_link: '',
|
|
tags: []
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 557 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(120);
|
|
|
|
var Conditions;
|
|
|
|
Conditions = function Conditions() {
|
|
var self = this;
|
|
|
|
this.compare = function (leftValue, rightValue, operator) {
|
|
switch (operator) {
|
|
/* eslint-disable eqeqeq */
|
|
case '==':
|
|
return leftValue == rightValue;
|
|
|
|
case '!=':
|
|
return leftValue != rightValue;
|
|
|
|
/* eslint-enable eqeqeq */
|
|
|
|
case '!==':
|
|
return leftValue !== rightValue;
|
|
|
|
case 'in':
|
|
return -1 !== rightValue.indexOf(leftValue);
|
|
|
|
case '!in':
|
|
return -1 === rightValue.indexOf(leftValue);
|
|
|
|
case 'contains':
|
|
return -1 !== leftValue.indexOf(rightValue);
|
|
|
|
case '!contains':
|
|
return -1 === leftValue.indexOf(rightValue);
|
|
|
|
case '<':
|
|
return leftValue < rightValue;
|
|
|
|
case '<=':
|
|
return leftValue <= rightValue;
|
|
|
|
case '>':
|
|
return leftValue > rightValue;
|
|
|
|
case '>=':
|
|
return leftValue >= rightValue;
|
|
|
|
default:
|
|
return leftValue === rightValue;
|
|
}
|
|
};
|
|
|
|
this.check = function (conditions, comparisonObject) {
|
|
var isOrCondition = 'or' === conditions.relation,
|
|
conditionSucceed = !isOrCondition;
|
|
jQuery.each(conditions.terms, function () {
|
|
var term = this,
|
|
comparisonResult;
|
|
|
|
if (term.terms) {
|
|
comparisonResult = self.check(term, comparisonObject);
|
|
} else {
|
|
var parsedName = term.name.match(/(\w+)(?:\[(\w+)])?/),
|
|
value = comparisonObject[parsedName[1]];
|
|
|
|
if (parsedName[2]) {
|
|
value = value[parsedName[2]];
|
|
}
|
|
|
|
comparisonResult = self.compare(value, term.value, term.operator);
|
|
}
|
|
|
|
if (isOrCondition) {
|
|
if (comparisonResult) {
|
|
conditionSucceed = true;
|
|
}
|
|
|
|
return !comparisonResult;
|
|
}
|
|
|
|
if (!comparisonResult) {
|
|
return conditionSucceed = false;
|
|
}
|
|
});
|
|
return conditionSucceed;
|
|
};
|
|
};
|
|
|
|
module.exports = new Conditions();
|
|
|
|
/***/ }),
|
|
/* 558 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(48));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
var _temp;
|
|
|
|
module.exports = (_temp = /*#__PURE__*/function (_Marionette$Behavior) {
|
|
(0, _inherits2.default)(FooterSaver, _Marionette$Behavior);
|
|
|
|
var _super = (0, _createSuper2.default)(FooterSaver);
|
|
|
|
function FooterSaver() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, FooterSaver);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewWindow", null);
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(FooterSaver, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
return {
|
|
buttonPreview: '#elementor-panel-footer-saver-preview',
|
|
buttonPublish: '#elementor-panel-saver-button-publish',
|
|
buttonSaveOptions: '#elementor-panel-saver-button-save-options',
|
|
buttonPublishLabel: '#elementor-panel-saver-button-publish-label',
|
|
menuSaveDraft: '#elementor-panel-footer-sub-menu-item-save-draft',
|
|
lastEditedWrapper: '.elementor-last-edited-wrapper'
|
|
};
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
'click @ui.buttonPreview': 'onClickButtonPreview',
|
|
'click @ui.buttonPublish': 'onClickButtonPublish',
|
|
'click @ui.menuSaveDraft': 'onClickMenuSaveDraft'
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize(options) {
|
|
var _this2 = this;
|
|
|
|
this.document = options.document || elementor.documents.getCurrent();
|
|
elementor.on('document:loaded', function (document) {
|
|
_this2.setMenuItems(document);
|
|
|
|
_this2.setLastEdited(document.config.last_edited);
|
|
}); // TODO: Temp, footerSaver should be removed.
|
|
|
|
$e.components.get('document/save').footerSaver = this;
|
|
}
|
|
}, {
|
|
key: "activateSaveButtons",
|
|
value: function activateSaveButtons(document, status) {
|
|
var hasChanges = status || 'draft' === document.container.settings.get('post_status');
|
|
this.ui.buttonPublish.add(this.ui.menuSaveDraft).toggleClass('elementor-disabled', !hasChanges);
|
|
this.ui.buttonSaveOptions.toggleClass('elementor-disabled', !hasChanges);
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
this.addTooltip();
|
|
}
|
|
}, {
|
|
key: "setLastEdited",
|
|
value: function setLastEdited(lastEdited) {
|
|
this.ui.lastEditedWrapper.removeClass('elementor-button-state').find('.elementor-last-edited').html(lastEdited);
|
|
}
|
|
}, {
|
|
key: "onClickButtonPreview",
|
|
value: function onClickButtonPreview() {
|
|
$e.run('editor/documents/preview', {
|
|
id: elementor.documents.getCurrent().id
|
|
});
|
|
}
|
|
}, {
|
|
key: "onClickButtonPublish",
|
|
value: function onClickButtonPublish() {
|
|
if (this.ui.buttonPublish.hasClass('elementor-disabled')) {
|
|
return;
|
|
}
|
|
|
|
$e.run('document/save/default');
|
|
}
|
|
}, {
|
|
key: "onClickMenuSaveDraft",
|
|
value: function onClickMenuSaveDraft() {
|
|
$e.run('document/save/draft');
|
|
}
|
|
}, {
|
|
key: "setMenuItems",
|
|
value: function setMenuItems(document) {
|
|
var postStatus = document.container.settings.get('post_status');
|
|
var publishLabel = 'publish';
|
|
|
|
switch (postStatus) {
|
|
case 'publish':
|
|
case 'private':
|
|
publishLabel = 'update';
|
|
|
|
if (document.config.revisions.current_id !== document.id) {
|
|
this.activateSaveButtons(document, true);
|
|
}
|
|
|
|
break;
|
|
|
|
case 'draft':
|
|
if (!document.config.user.can_publish) {
|
|
publishLabel = 'submit';
|
|
}
|
|
|
|
this.activateSaveButtons(document, true);
|
|
break;
|
|
|
|
case 'pending': // User cannot change post status
|
|
|
|
case undefined:
|
|
// TODO: as a contributor it's undefined instead of 'pending'.
|
|
if (!document.config.user.can_publish) {
|
|
publishLabel = 'update';
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
this.ui.buttonPublishLabel.html(elementor.translate(publishLabel));
|
|
}
|
|
}, {
|
|
key: "addTooltip",
|
|
value: function addTooltip() {
|
|
// Create tooltip on controls
|
|
this.$el.find('.tooltip-target').each(function (index, button) {
|
|
var $button = jQuery(button);
|
|
$button.tipsy({
|
|
// `n` for down, `s` for up
|
|
gravity: 's',
|
|
offset: $button.data('tooltip-offset'),
|
|
title: function title() {
|
|
return this.getAttribute('data-tooltip');
|
|
}
|
|
});
|
|
});
|
|
} // TODO: Consider $e.internal( 'editor/documents/preview-refresh' ); ?.
|
|
|
|
}, {
|
|
key: "refreshWpPreview",
|
|
value: function refreshWpPreview() {
|
|
if (this.previewWindow) {
|
|
// Refresh URL form updated config.
|
|
try {
|
|
this.previewWindow.location.href = elementor.config.document.urls.wp_preview;
|
|
} catch (e) {// If the this.previewWindow is closed or it's domain was changed.
|
|
// Do nothing.
|
|
}
|
|
}
|
|
}
|
|
}]);
|
|
return FooterSaver;
|
|
}(Marionette.Behavior), _temp);
|
|
|
|
/***/ }),
|
|
/* 559 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseView = __webpack_require__(281);
|
|
|
|
module.exports = ControlBaseView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseView.prototype.ui.apply(this, arguments);
|
|
ui.button = 'button';
|
|
return ui;
|
|
},
|
|
events: {
|
|
'click @ui.button': 'onButtonClick'
|
|
},
|
|
onButtonClick: function onButtonClick() {
|
|
var eventName = this.model.get('event');
|
|
elementor.channels.editor.trigger(eventName, this);
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 560 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(120);
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlCodeEditorItemView;
|
|
|
|
ControlCodeEditorItemView = ControlBaseDataView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
|
|
ui.editor = '.elementor-code-editor';
|
|
return ui;
|
|
},
|
|
onReady: function onReady() {
|
|
var self = this;
|
|
|
|
if ('undefined' === typeof ace) {
|
|
return;
|
|
}
|
|
|
|
var langTools = ace.require('ace/ext/language_tools'),
|
|
uiTheme = elementor.settings.editorPreferences.model.get('ui_theme'),
|
|
userPrefersDark = matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
|
self.editor = ace.edit(this.ui.editor[0]);
|
|
jQuery(self.editor.container).addClass('elementor-input-style elementor-code-editor');
|
|
self.editor.setOptions({
|
|
mode: 'ace/mode/' + self.model.attributes.language,
|
|
minLines: 10,
|
|
maxLines: Infinity,
|
|
showGutter: true,
|
|
useWorker: true,
|
|
enableBasicAutocompletion: true,
|
|
enableLiveAutocompletion: true
|
|
});
|
|
|
|
if ('dark' === uiTheme || 'auto' === uiTheme && userPrefersDark) {
|
|
self.editor.setTheme('ace/theme/merbivore_soft');
|
|
}
|
|
|
|
self.editor.getSession().setUseWrapMode(true);
|
|
elementor.panel.$el.on('resize.aceEditor', self.onResize.bind(this));
|
|
|
|
if ('css' === self.model.attributes.language) {
|
|
var selectorCompleter = {
|
|
getCompletions: function getCompletions(editor, session, pos, prefix, callback) {
|
|
var list = [],
|
|
token = session.getTokenAt(pos.row, pos.column);
|
|
|
|
if (0 < prefix.length && 'selector'.match(prefix) && 'constant' === token.type) {
|
|
list = [{
|
|
name: 'selector',
|
|
value: 'selector',
|
|
score: 1,
|
|
meta: 'Elementor'
|
|
}];
|
|
}
|
|
|
|
callback(null, list);
|
|
}
|
|
};
|
|
langTools.addCompleter(selectorCompleter);
|
|
}
|
|
|
|
self.editor.setValue(self.getControlValue(), -1); // -1 = move cursor to the start
|
|
|
|
self.editor.on('change', function () {
|
|
self.setValue(self.editor.getValue());
|
|
});
|
|
|
|
if ('html' === self.model.attributes.language) {
|
|
// Remove the `doctype` annotation
|
|
var session = self.editor.getSession();
|
|
session.on('changeAnnotation', function () {
|
|
var annotations = session.getAnnotations() || [],
|
|
annotationsLength = annotations.length,
|
|
index = annotations.length;
|
|
|
|
while (index--) {
|
|
if (/doctype first\. Expected/.test(annotations[index].text)) {
|
|
annotations.splice(index, 1);
|
|
}
|
|
}
|
|
|
|
if (annotationsLength > annotations.length) {
|
|
session.setAnnotations(annotations);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
onResize: function onResize() {
|
|
this.editor.resize();
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
elementor.panel.$el.off('resize.aceEditor');
|
|
}
|
|
});
|
|
module.exports = ControlCodeEditorItemView;
|
|
|
|
/***/ }),
|
|
/* 561 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(562);
|
|
|
|
var ControlBaseUnitsItemView = __webpack_require__(381),
|
|
ControlDimensionsItemView;
|
|
|
|
ControlDimensionsItemView = ControlBaseUnitsItemView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseUnitsItemView.prototype.ui.apply(this, arguments);
|
|
ui.controls = '.elementor-control-dimension > input:enabled';
|
|
ui.link = 'button.elementor-link-dimensions';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return _.extend(ControlBaseUnitsItemView.prototype.events.apply(this, arguments), {
|
|
'click @ui.link': 'onLinkDimensionsClicked'
|
|
});
|
|
},
|
|
defaultDimensionValue: 0,
|
|
initialize: function initialize() {
|
|
ControlBaseUnitsItemView.prototype.initialize.apply(this, arguments); // TODO: Need to be in helpers, and not in variable
|
|
|
|
this.model.set('allowed_dimensions', this.filterDimensions(this.model.get('allowed_dimensions')));
|
|
},
|
|
getPossibleDimensions: function getPossibleDimensions() {
|
|
return ['top', 'right', 'bottom', 'left'];
|
|
},
|
|
filterDimensions: function filterDimensions(filter) {
|
|
filter = filter || 'all';
|
|
var dimensions = this.getPossibleDimensions();
|
|
|
|
if ('all' === filter) {
|
|
return dimensions;
|
|
}
|
|
|
|
if (!_.isArray(filter)) {
|
|
if ('horizontal' === filter) {
|
|
filter = ['right', 'left'];
|
|
} else if ('vertical' === filter) {
|
|
filter = ['top', 'bottom'];
|
|
}
|
|
}
|
|
|
|
return filter;
|
|
},
|
|
onReady: function onReady() {
|
|
var self = this,
|
|
currentValue = self.getControlValue();
|
|
|
|
if (!self.isLinkedDimensions()) {
|
|
self.ui.link.addClass('unlinked');
|
|
self.ui.controls.each(function (index, element) {
|
|
var value = currentValue[element.dataset.setting];
|
|
|
|
if (_.isEmpty(value)) {
|
|
value = self.defaultDimensionValue;
|
|
}
|
|
|
|
self.$(element).val(value);
|
|
});
|
|
}
|
|
|
|
self.fillEmptyDimensions();
|
|
},
|
|
updateDimensionsValue: function updateDimensionsValue() {
|
|
var currentValue = {},
|
|
dimensions = this.getPossibleDimensions(),
|
|
$controls = this.ui.controls,
|
|
defaultDimensionValue = this.defaultDimensionValue;
|
|
dimensions.forEach(function (dimension) {
|
|
var $element = $controls.filter('[data-setting="' + dimension + '"]');
|
|
currentValue[dimension] = $element.length ? $element.val() : defaultDimensionValue;
|
|
});
|
|
this.setValue(currentValue);
|
|
},
|
|
fillEmptyDimensions: function fillEmptyDimensions() {
|
|
var dimensions = this.getPossibleDimensions(),
|
|
allowedDimensions = this.model.get('allowed_dimensions'),
|
|
$controls = this.ui.controls,
|
|
defaultDimensionValue = this.defaultDimensionValue;
|
|
|
|
if (this.isLinkedDimensions()) {
|
|
return;
|
|
}
|
|
|
|
dimensions.forEach(function (dimension) {
|
|
var $element = $controls.filter('[data-setting="' + dimension + '"]'),
|
|
isAllowedDimension = -1 !== _.indexOf(allowedDimensions, dimension);
|
|
|
|
if (isAllowedDimension && $element.length && _.isEmpty($element.val())) {
|
|
$element.val(defaultDimensionValue);
|
|
}
|
|
});
|
|
},
|
|
updateDimensions: function updateDimensions() {
|
|
this.fillEmptyDimensions();
|
|
this.updateDimensionsValue();
|
|
},
|
|
resetDimensions: function resetDimensions() {
|
|
this.ui.controls.val('');
|
|
this.updateDimensionsValue();
|
|
},
|
|
onInputChange: function onInputChange(event) {
|
|
var inputSetting = event.target.dataset.setting;
|
|
|
|
if ('unit' === inputSetting) {
|
|
this.resetDimensions();
|
|
}
|
|
|
|
if (!_.contains(this.getPossibleDimensions(), inputSetting)) {
|
|
return;
|
|
}
|
|
|
|
if (this.isLinkedDimensions()) {
|
|
var $thisControl = this.$(event.target);
|
|
this.ui.controls.val($thisControl.val());
|
|
}
|
|
|
|
this.updateDimensions();
|
|
},
|
|
onLinkDimensionsClicked: function onLinkDimensionsClicked(event) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
this.ui.link.toggleClass('unlinked');
|
|
this.setValue('isLinked', !this.ui.link.hasClass('unlinked'));
|
|
|
|
if (this.isLinkedDimensions()) {
|
|
// Set all controls value from the first control.
|
|
this.ui.controls.val(this.ui.controls.eq(0).val());
|
|
}
|
|
|
|
this.updateDimensions();
|
|
},
|
|
isLinkedDimensions: function isLinkedDimensions() {
|
|
return this.getControlValue('isLinked');
|
|
}
|
|
});
|
|
module.exports = ControlDimensionsItemView;
|
|
|
|
/***/ }),
|
|
/* 562 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// B.2.3.10 String.prototype.link(url)
|
|
__webpack_require__(563)('link', function (createHTML) {
|
|
return function link(url) {
|
|
return createHTML(this, 'a', 'href', url);
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
/* 563 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var $export = __webpack_require__(37);
|
|
var fails = __webpack_require__(35);
|
|
var defined = __webpack_require__(43);
|
|
var quot = /"/g;
|
|
// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
|
|
var createHTML = function (string, tag, attribute, value) {
|
|
var S = String(defined(string));
|
|
var p1 = '<' + tag;
|
|
if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
|
|
return p1 + '>' + S + '</' + tag + '>';
|
|
};
|
|
module.exports = function (NAME, exec) {
|
|
var O = {};
|
|
O[NAME] = exec(createHTML);
|
|
$export($export.P + $export.F * fails(function () {
|
|
var test = ''[NAME]('"');
|
|
return test !== test.toLowerCase() || test.split('"').length > 3;
|
|
}), 'String', O);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
/* 564 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(190);
|
|
|
|
__webpack_require__(79);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var ControlSelect2View = __webpack_require__(274);
|
|
|
|
module.exports = ControlSelect2View.extend({
|
|
$previewContainer: null,
|
|
getSelect2Options: function getSelect2Options() {
|
|
return {
|
|
dir: elementorCommon.config.isRTL ? 'rtl' : 'ltr',
|
|
templateSelection: this.fontPreviewTemplate,
|
|
templateResult: this.fontPreviewTemplate
|
|
};
|
|
},
|
|
onReady: function onReady() {
|
|
var self = this;
|
|
this.ui.select.select2(this.getSelect2Options());
|
|
this.ui.select.on('select2:open', function () {
|
|
self.$previewContainer = jQuery('.select2-results__options[role="tree"]:visible'); // load initial?
|
|
|
|
setTimeout(function () {
|
|
self.enqueueFontsInView();
|
|
}, 100); // On search
|
|
|
|
jQuery('input.select2-search__field:visible').on('keyup', function () {
|
|
self.typeStopDetection.action.apply(self);
|
|
}); // On scroll
|
|
|
|
self.$previewContainer.on('scroll', function () {
|
|
self.scrollStopDetection.onScroll.apply(self);
|
|
});
|
|
});
|
|
},
|
|
typeStopDetection: {
|
|
idle: 350,
|
|
timeOut: null,
|
|
action: function action() {
|
|
var parent = this,
|
|
self = this.typeStopDetection;
|
|
clearTimeout(self.timeOut);
|
|
self.timeOut = setTimeout(function () {
|
|
parent.enqueueFontsInView();
|
|
}, self.idle);
|
|
}
|
|
},
|
|
scrollStopDetection: {
|
|
idle: 350,
|
|
timeOut: null,
|
|
onScroll: function onScroll() {
|
|
var parent = this,
|
|
self = this.scrollStopDetection;
|
|
clearTimeout(self.timeOut);
|
|
self.timeOut = setTimeout(function () {
|
|
parent.enqueueFontsInView();
|
|
}, self.idle);
|
|
}
|
|
},
|
|
enqueueFontsInView: function enqueueFontsInView() {
|
|
var self = this,
|
|
containerOffset = this.$previewContainer.offset(),
|
|
top = containerOffset.top,
|
|
bottom = top + this.$previewContainer.innerHeight(),
|
|
fontsInView = [];
|
|
this.$previewContainer.children().find('li:visible').each(function (index, font) {
|
|
var $font = jQuery(font),
|
|
offset = $font.offset();
|
|
|
|
if (offset && offset.top > top && offset.top < bottom) {
|
|
fontsInView.push($font);
|
|
}
|
|
});
|
|
fontsInView.forEach(function (font) {
|
|
var fontFamily = jQuery(font).find('span').html();
|
|
elementor.helpers.enqueueFont(fontFamily, 'editor');
|
|
});
|
|
},
|
|
fontPreviewTemplate: function fontPreviewTemplate(state) {
|
|
if (!state.id) {
|
|
return state.text;
|
|
}
|
|
|
|
return jQuery('<span>', {
|
|
text: state.text,
|
|
css: {
|
|
'font-family': state.element.value.toString()
|
|
}
|
|
});
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
var helpers = ControlSelect2View.prototype.templateHelpers.apply(this, arguments),
|
|
fonts = this.model.get('options');
|
|
|
|
helpers.getFontsByGroups = function (groups) {
|
|
var filteredFonts = {};
|
|
|
|
_.each(fonts, function (fontType, fontName) {
|
|
if (_.isArray(groups) && _.contains(groups, fontType) || fontType === groups) {
|
|
filteredFonts[fontName] = fontName;
|
|
}
|
|
});
|
|
|
|
return filteredFonts;
|
|
};
|
|
|
|
return helpers;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 565 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlMediaItemView;
|
|
|
|
ControlMediaItemView = ControlBaseDataView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
|
|
ui.addImages = '.elementor-control-gallery-add';
|
|
ui.clearGallery = '.elementor-control-gallery-clear';
|
|
ui.galleryThumbnails = '.elementor-control-gallery-thumbnails';
|
|
ui.status = '.elementor-control-gallery-status-title';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
|
|
'click @ui.addImages': 'onAddImagesClick',
|
|
'click @ui.clearGallery': 'onClearGalleryClick',
|
|
'click @ui.galleryThumbnails': 'onGalleryThumbnailsClick'
|
|
});
|
|
},
|
|
onReady: function onReady() {
|
|
this.initRemoveDialog();
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
var images = this.getControlValue(),
|
|
imagesCount = images.length,
|
|
hasImages = !!imagesCount;
|
|
this.$el.toggleClass('elementor-gallery-has-images', hasImages).toggleClass('elementor-gallery-empty', !hasImages);
|
|
var $galleryThumbnails = this.ui.galleryThumbnails;
|
|
$galleryThumbnails.empty();
|
|
this.ui.status.text(elementor.translate(hasImages ? 'gallery_images_selected' : 'gallery_no_images_selected', [imagesCount]));
|
|
|
|
if (!hasImages) {
|
|
return;
|
|
}
|
|
|
|
this.getControlValue().forEach(function (image) {
|
|
var $thumbnail = jQuery('<div>', {
|
|
class: 'elementor-control-gallery-thumbnail'
|
|
});
|
|
$thumbnail.css('background-image', 'url(' + image.url + ')');
|
|
$galleryThumbnails.append($thumbnail);
|
|
});
|
|
},
|
|
hasImages: function hasImages() {
|
|
return !!this.getControlValue().length;
|
|
},
|
|
openFrame: function openFrame(action) {
|
|
this.initFrame(action);
|
|
this.frame.open();
|
|
},
|
|
initFrame: function initFrame(action) {
|
|
var frameStates = {
|
|
create: 'gallery',
|
|
add: 'gallery-library',
|
|
edit: 'gallery-edit'
|
|
};
|
|
var options = {
|
|
frame: 'post',
|
|
multiple: true,
|
|
state: frameStates[action],
|
|
button: {
|
|
text: elementor.translate('insert_media')
|
|
}
|
|
};
|
|
|
|
if (this.hasImages()) {
|
|
options.selection = this.fetchSelection();
|
|
}
|
|
|
|
this.frame = wp.media(options); // When a file is selected, run a callback.
|
|
|
|
this.frame.on({
|
|
update: this.select,
|
|
'menu:render:default': this.menuRender,
|
|
'content:render:browse': this.gallerySettings
|
|
}, this);
|
|
},
|
|
menuRender: function menuRender(view) {
|
|
view.unset('insert');
|
|
view.unset('featured-image');
|
|
},
|
|
gallerySettings: function gallerySettings(browser) {
|
|
browser.sidebar.on('ready', function () {
|
|
browser.sidebar.unset('gallery');
|
|
});
|
|
},
|
|
fetchSelection: function fetchSelection() {
|
|
var attachments = wp.media.query({
|
|
orderby: 'post__in',
|
|
order: 'ASC',
|
|
type: 'image',
|
|
perPage: -1,
|
|
post__in: _.pluck(this.getControlValue(), 'id')
|
|
});
|
|
return new wp.media.model.Selection(attachments.models, {
|
|
props: attachments.props.toJSON(),
|
|
multiple: true
|
|
});
|
|
},
|
|
|
|
/**
|
|
* Callback handler for when an attachment is selected in the media modal.
|
|
* Gets the selected image information, and sets it within the control.
|
|
*/
|
|
select: function select(selection) {
|
|
var images = [];
|
|
selection.each(function (image) {
|
|
images.push({
|
|
id: image.get('id'),
|
|
url: image.get('url')
|
|
});
|
|
});
|
|
this.setValue(images);
|
|
this.applySavedValue();
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
if (this.frame) {
|
|
this.frame.off();
|
|
}
|
|
|
|
this.$el.remove();
|
|
},
|
|
resetGallery: function resetGallery() {
|
|
this.setValue([]);
|
|
this.applySavedValue();
|
|
},
|
|
initRemoveDialog: function initRemoveDialog() {
|
|
var removeDialog;
|
|
|
|
this.getRemoveDialog = function () {
|
|
if (!removeDialog) {
|
|
removeDialog = elementorCommon.dialogsManager.createWidget('confirm', {
|
|
message: elementor.translate('dialog_confirm_gallery_delete'),
|
|
headerMessage: elementor.translate('delete_gallery'),
|
|
strings: {
|
|
confirm: elementor.translate('delete'),
|
|
cancel: elementor.translate('cancel')
|
|
},
|
|
defaultOption: 'confirm',
|
|
onConfirm: this.resetGallery.bind(this)
|
|
});
|
|
}
|
|
|
|
return removeDialog;
|
|
};
|
|
},
|
|
onAddImagesClick: function onAddImagesClick() {
|
|
this.openFrame(this.hasImages() ? 'add' : 'create');
|
|
},
|
|
onClearGalleryClick: function onClearGalleryClick() {
|
|
this.getRemoveDialog().show();
|
|
},
|
|
onGalleryThumbnailsClick: function onGalleryThumbnailsClick() {
|
|
this.openFrame('edit');
|
|
}
|
|
});
|
|
module.exports = ControlMediaItemView;
|
|
|
|
/***/ }),
|
|
/* 566 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _baseData = _interopRequireDefault(__webpack_require__(127));
|
|
|
|
module.exports = _baseData.default.extend({}, {
|
|
onPasteStyle: function onPasteStyle() {
|
|
return false;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 567 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlSelect2View = __webpack_require__(274),
|
|
ControlIconView;
|
|
|
|
ControlIconView = ControlSelect2View.extend({
|
|
initialize: function initialize() {
|
|
ControlSelect2View.prototype.initialize.apply(this, arguments);
|
|
this.filterIcons();
|
|
},
|
|
filterIcons: function filterIcons() {
|
|
var icons = this.model.get('options'),
|
|
include = this.model.get('include'),
|
|
exclude = this.model.get('exclude');
|
|
|
|
if (include) {
|
|
var filteredIcons = {};
|
|
|
|
_.each(include, function (iconKey) {
|
|
filteredIcons[iconKey] = icons[iconKey];
|
|
});
|
|
|
|
this.model.set('options', filteredIcons);
|
|
return;
|
|
}
|
|
|
|
if (exclude) {
|
|
_.each(exclude, function (iconKey) {
|
|
delete icons[iconKey];
|
|
});
|
|
}
|
|
},
|
|
iconsList: function iconsList(icon) {
|
|
if (!icon.id) {
|
|
return icon.text;
|
|
}
|
|
|
|
return jQuery('<span><i class="' + icon.id + '"></i> ' + icon.text + '</span>');
|
|
},
|
|
getSelect2Options: function getSelect2Options() {
|
|
return {
|
|
allowClear: true,
|
|
templateResult: this.iconsList.bind(this),
|
|
templateSelection: this.iconsList.bind(this)
|
|
};
|
|
}
|
|
});
|
|
module.exports = ControlIconView;
|
|
|
|
/***/ }),
|
|
/* 568 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _filesUploadHandler = _interopRequireDefault(__webpack_require__(382));
|
|
|
|
var ControlMultipleBaseItemView = __webpack_require__(239);
|
|
|
|
var ControlIconsView = /*#__PURE__*/function (_ControlMultipleBaseI) {
|
|
(0, _inherits2.default)(ControlIconsView, _ControlMultipleBaseI);
|
|
|
|
var _super = (0, _createSuper2.default)(ControlIconsView);
|
|
|
|
function ControlIconsView() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, ControlIconsView);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
_this.cache = {
|
|
loaded: false,
|
|
dialog: false,
|
|
enableClicked: false,
|
|
fa4Mapping: false,
|
|
migratedFlag: {}
|
|
};
|
|
_this.dataKeys = {
|
|
migratedKey: '__fa4_migrated',
|
|
fa4MigrationFlag: 'fa4compatibility'
|
|
};
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(ControlIconsView, [{
|
|
key: "enqueueIconFonts",
|
|
value: function enqueueIconFonts(iconType) {
|
|
var iconSetting = elementor.helpers.getIconLibrarySettings(iconType);
|
|
|
|
if (false === iconSetting || !this.isMigrationAllowed()) {
|
|
return;
|
|
}
|
|
|
|
if (iconSetting.enqueue) {
|
|
iconSetting.enqueue.forEach(function (assetURL) {
|
|
elementor.helpers.enqueueEditorStylesheet(assetURL);
|
|
elementor.helpers.enqueuePreviewStylesheet(assetURL);
|
|
});
|
|
}
|
|
|
|
if (iconSetting.url) {
|
|
elementor.helpers.enqueueEditorStylesheet(iconSetting.url);
|
|
elementor.helpers.enqueuePreviewStylesheet(iconSetting.url);
|
|
}
|
|
}
|
|
}, {
|
|
key: "ui",
|
|
value: function ui() {
|
|
var ui = (0, _get2.default)((0, _getPrototypeOf2.default)(ControlIconsView.prototype), "ui", this).call(this),
|
|
skin = this.model.get('skin');
|
|
ui.controlMedia = '.elementor-control-media';
|
|
ui.svgUploader = 'media' === skin ? '.elementor-control-svg-uploader' : '.elementor-control-icons--inline__svg';
|
|
ui.iconPickers = 'media' === skin ? '.elementor-control-icon-picker, .elementor-control-media__preview, .elementor-control-media-upload-button' : '.elementor-control-icons--inline__icon';
|
|
ui.deleteButton = 'media' === skin ? '.elementor-control-media__remove' : '.elementor-control-icons--inline__none';
|
|
ui.previewPlaceholder = '.elementor-control-media__preview';
|
|
ui.previewContainer = '.elementor-control-preview-area';
|
|
ui.inlineIconContainer = '.elementor-control-inline-icon';
|
|
ui.inlineDisplayedIcon = '.elementor-control-icons--inline__displayed-icon';
|
|
ui.radioInputs = '[type="radio"]';
|
|
return ui;
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
return jQuery.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), {
|
|
'click @ui.iconPickers': 'openPicker',
|
|
'click @ui.svgUploader': 'openFrame',
|
|
'click @ui.radioInputs': 'onClickInput',
|
|
'click @ui.deleteButton': 'deleteIcon'
|
|
});
|
|
}
|
|
}, {
|
|
key: "getControlValue",
|
|
value: function getControlValue() {
|
|
var value = (0, _get2.default)((0, _getPrototypeOf2.default)(ControlIconsView.prototype), "getControlValue", this).call(this),
|
|
model = this.model,
|
|
valueToMigrate = this.getValueToMigrate();
|
|
|
|
if (!this.isMigrationAllowed()) {
|
|
return valueToMigrate;
|
|
} // Bail if no migration flag or no value to migrate
|
|
|
|
|
|
if (!valueToMigrate) {
|
|
return value;
|
|
}
|
|
|
|
var didMigration = this.elementSettingsModel.get(this.dataKeys.migratedKey),
|
|
controlName = model.get('name'); // Check if migration had been done and is stored locally
|
|
|
|
if (this.cache.migratedFlag[controlName]) {
|
|
return this.cache.migratedFlag[controlName];
|
|
} // Check if already migrated
|
|
|
|
|
|
if (didMigration && didMigration[controlName]) {
|
|
return value;
|
|
} // Do migration
|
|
|
|
|
|
return this.migrateFa4toFa5(valueToMigrate);
|
|
}
|
|
}, {
|
|
key: "migrateFa4toFa5",
|
|
value: function migrateFa4toFa5(fa4Value) {
|
|
var fa5Value = elementor.helpers.mapFa4ToFa5(fa4Value);
|
|
this.cache.migratedFlag[this.model.get('name')] = fa5Value;
|
|
this.enqueueIconFonts(fa5Value.library);
|
|
return fa5Value;
|
|
}
|
|
}, {
|
|
key: "setControlAsMigrated",
|
|
value: function setControlAsMigrated(controlName) {
|
|
var didMigration = this.elementSettingsModel.get(this.dataKeys.migratedKey) || {};
|
|
didMigration[controlName] = true;
|
|
this.elementSettingsModel.set(this.dataKeys.migratedKey, didMigration, {
|
|
silent: true
|
|
});
|
|
}
|
|
}, {
|
|
key: "isMigrationAllowed",
|
|
value: function isMigrationAllowed() {
|
|
return !elementor.config['icons_update_needed'];
|
|
}
|
|
}, {
|
|
key: "getValueToMigrate",
|
|
value: function getValueToMigrate() {
|
|
var controlToMigrate = this.model.get(this.dataKeys.fa4MigrationFlag);
|
|
|
|
if (!controlToMigrate) {
|
|
return false;
|
|
} // Check if there is a value to migrate
|
|
|
|
|
|
var valueToMigrate = this.container.settings.get(controlToMigrate);
|
|
|
|
if (valueToMigrate) {
|
|
return valueToMigrate;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}, {
|
|
key: "onReady",
|
|
value: function onReady() {
|
|
var _this2 = this;
|
|
|
|
// is migration allowed from fa4
|
|
if (!this.isMigrationAllowed()) {
|
|
var migrationPopupTrigger = 'media' === this.model.get('skin') ? this.ui.previewContainer[0] : this.ui.inlineIconContainer[0];
|
|
migrationPopupTrigger.addEventListener('click', function (event) {
|
|
// Prevent default to prevent marking the inline icons as selected on click when migration is not allowed
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
|
|
var onConfirm = function onConfirm() {
|
|
window.location.href = elementor.config.tools_page_link + '&redirect_to=' + encodeURIComponent(document.location.href) + '#tab-fontawesome4_migration';
|
|
};
|
|
|
|
var enableMigrationDialog = elementor.helpers.getSimpleDialog('elementor-enable-fa5-dialog', elementor.translate('enable_fa5'), elementor.translate('dialog_confirm_enable_fa5'), elementor.translate('update'), onConfirm);
|
|
enableMigrationDialog.show();
|
|
return false;
|
|
}, true);
|
|
}
|
|
|
|
var controlName = this.model.get('name');
|
|
|
|
if (this.cache.migratedFlag[controlName]) {
|
|
this.setControlAsMigrated(controlName);
|
|
setTimeout(function () {
|
|
_this2.setValue(_this2.cache.migratedFlag[controlName]);
|
|
}, 10);
|
|
}
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(ControlIconsView.prototype), "onRender", this).call(this);
|
|
|
|
if (this.isMigrationAllowed()) {
|
|
elementor.iconManager.loadIconLibraries();
|
|
}
|
|
}
|
|
}, {
|
|
key: "initFrame",
|
|
value: function initFrame() {
|
|
var _this3 = this;
|
|
|
|
// Set current doc id to attach uploaded images.
|
|
wp.media.view.settings.post.id = elementor.config.document.id;
|
|
this.frame = wp.media({
|
|
button: {
|
|
text: elementor.translate('insert_media')
|
|
},
|
|
library: {
|
|
type: ['image/svg+xml']
|
|
},
|
|
states: [new wp.media.controller.Library({
|
|
title: elementor.translate('insert_media'),
|
|
library: wp.media.query({
|
|
type: ['image/svg+xml']
|
|
}),
|
|
multiple: false,
|
|
date: false
|
|
})]
|
|
});
|
|
|
|
var handleSelect = function handleSelect() {
|
|
return _this3.selectSvg();
|
|
}; // When a file is selected, run a callback.
|
|
|
|
|
|
this.frame.on('insert select', handleSelect);
|
|
this.setUploadMimeType(this.frame, 'svg');
|
|
}
|
|
}, {
|
|
key: "setUploadMimeType",
|
|
value: function setUploadMimeType(frame, ext) {
|
|
// Set svg as only allowed upload extensions
|
|
var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions;
|
|
frame.on('ready', function () {
|
|
_wpPluploadSettings.defaults.filters.mime_types[0].extensions = ext;
|
|
});
|
|
this.frame.on('close', function () {
|
|
// restore allowed upload extensions
|
|
_wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions;
|
|
});
|
|
}
|
|
/**
|
|
* Callback handler for when an attachment is selected in the media modal.
|
|
* Gets the selected image information, and sets it within the control.
|
|
*/
|
|
|
|
}, {
|
|
key: "selectSvg",
|
|
value: function selectSvg() {
|
|
this.trigger('before:select'); // Get the attachment from the modal frame.
|
|
|
|
var attachment = this.frame.state().get('selection').first().toJSON();
|
|
|
|
if (attachment.url) {
|
|
this.setValue({
|
|
value: {
|
|
url: attachment.url,
|
|
id: attachment.id
|
|
},
|
|
library: 'svg'
|
|
});
|
|
this.applySavedValue();
|
|
}
|
|
|
|
this.trigger('after:select');
|
|
}
|
|
}, {
|
|
key: "openFrame",
|
|
value: function openFrame() {
|
|
var _this4 = this;
|
|
|
|
if (!_filesUploadHandler.default.isUploadEnabled('svg')) {
|
|
_filesUploadHandler.default.getUnfilteredFilesNotEnabledDialog(function () {
|
|
return _this4.openFrame();
|
|
}).show();
|
|
|
|
return false;
|
|
}
|
|
|
|
if (!this.frame) {
|
|
this.initFrame();
|
|
}
|
|
|
|
this.frame.open(); // Set params to trigger sanitizer
|
|
|
|
_filesUploadHandler.default.setUploadTypeCaller(this.frame);
|
|
|
|
var selectedId = this.getControlValue('id');
|
|
|
|
if (!selectedId) {
|
|
return;
|
|
}
|
|
|
|
var selection = this.frame.state().get('selection');
|
|
selection.add(wp.media.attachment(selectedId));
|
|
}
|
|
}, {
|
|
key: "openPicker",
|
|
value: function openPicker() {
|
|
elementor.iconManager.show({
|
|
view: this
|
|
});
|
|
}
|
|
}, {
|
|
key: "applySavedValue",
|
|
value: function applySavedValue() {
|
|
var _this5 = this;
|
|
|
|
var controlValue = this.getControlValue(),
|
|
skin = this.model.get('skin'),
|
|
iconContainer = 'inline' === skin ? this.ui.inlineDisplayedIcon : this.ui.previewPlaceholder,
|
|
defaultIcon = this.model.get('default');
|
|
var iconValue = controlValue.value,
|
|
iconType = controlValue.library;
|
|
|
|
if (!this.isMigrationAllowed() && !iconValue && this.getValueToMigrate()) {
|
|
iconValue = this.getControlValue();
|
|
iconType = '';
|
|
}
|
|
|
|
if ('media' === skin) {
|
|
this.ui.controlMedia.toggleClass('elementor-media-empty', !iconValue);
|
|
} else {
|
|
this.markChecked(iconType);
|
|
}
|
|
|
|
if (!iconValue) {
|
|
if ('inline' === skin) {
|
|
this.setDefaultIconLibraryLabel(defaultIcon, iconContainer);
|
|
return;
|
|
}
|
|
|
|
this.ui.previewPlaceholder.html('');
|
|
return;
|
|
}
|
|
|
|
if ('svg' === iconType && 'inline' !== skin) {
|
|
return elementor.helpers.fetchInlineSvg(iconValue.url, function (data) {
|
|
_this5.ui.previewPlaceholder.html(data);
|
|
});
|
|
}
|
|
|
|
if ('media' === skin || 'svg' !== iconType) {
|
|
var previewHTML = '<i class="' + iconValue + '"></i>';
|
|
iconContainer.html(previewHTML);
|
|
}
|
|
|
|
this.enqueueIconFonts(iconType);
|
|
}
|
|
}, {
|
|
key: "setDefaultIconLibraryLabel",
|
|
value: function setDefaultIconLibraryLabel(defaultIcon, iconContainer) {
|
|
// Check if the control has a default icon
|
|
if ('' !== defaultIcon.value && 'svg' !== defaultIcon.library) {
|
|
// If the default icon is not an SVG, set the icon-library label's icon to the default icon
|
|
iconContainer.html('<i class="' + defaultIcon.value + '"></i>');
|
|
} else {
|
|
// If (1) the control does NOT have a default icon,
|
|
// OR (2) the control DOES have a default icon BUT the default icon is an SVG,
|
|
// set the default icon-library label's icon to a simple circle
|
|
iconContainer.html('<i class="eicon-circle"></i>');
|
|
}
|
|
}
|
|
}, {
|
|
key: "markChecked",
|
|
value: function markChecked(iconType) {
|
|
this.ui.radioInputs.filter(':checked').prop('checked', false);
|
|
|
|
if (!iconType) {
|
|
return this.ui.radioInputs.filter('[value="none"]').prop('checked', true);
|
|
}
|
|
|
|
if ('svg' !== iconType) {
|
|
iconType = 'icon';
|
|
}
|
|
|
|
this.ui.radioInputs.filter('[value="' + iconType + '"]').prop('checked', true);
|
|
}
|
|
}, {
|
|
key: "onClickInput",
|
|
value: function onClickInput() {
|
|
this.markChecked(this.getControlValue().library);
|
|
}
|
|
}, {
|
|
key: "deleteIcon",
|
|
value: function deleteIcon(event) {
|
|
event.stopPropagation();
|
|
this.setValue({
|
|
value: '',
|
|
library: ''
|
|
});
|
|
this.applySavedValue();
|
|
}
|
|
}, {
|
|
key: "onBeforeDestroy",
|
|
value: function onBeforeDestroy() {
|
|
this.$el.remove();
|
|
}
|
|
}]);
|
|
return ControlIconsView;
|
|
}(ControlMultipleBaseItemView);
|
|
|
|
module.exports = ControlIconsView;
|
|
|
|
/***/ }),
|
|
/* 569 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlMultipleBaseItemView = __webpack_require__(239),
|
|
ControlImageDimensionsItemView;
|
|
|
|
ControlImageDimensionsItemView = ControlMultipleBaseItemView.extend({
|
|
ui: function ui() {
|
|
return {
|
|
inputWidth: 'input[data-setting="width"]',
|
|
inputHeight: 'input[data-setting="height"]',
|
|
btnApply: 'button.elementor-image-dimensions-apply-button'
|
|
};
|
|
},
|
|
// Override the base events
|
|
events: function events() {
|
|
return {
|
|
'click @ui.btnApply': 'onApplyClicked',
|
|
'keyup @ui.inputWidth': 'onDimensionKeyUp',
|
|
'keyup @ui.inputHeight': 'onDimensionKeyUp'
|
|
};
|
|
},
|
|
onDimensionKeyUp: function onDimensionKeyUp(event) {
|
|
var ENTER_KEY = 13;
|
|
|
|
if (ENTER_KEY === event.keyCode) {
|
|
this.onApplyClicked(event);
|
|
}
|
|
},
|
|
onApplyClicked: function onApplyClicked(event) {
|
|
event.preventDefault();
|
|
this.setValue({
|
|
width: this.ui.inputWidth.val(),
|
|
height: this.ui.inputHeight.val()
|
|
});
|
|
}
|
|
});
|
|
module.exports = ControlImageDimensionsItemView;
|
|
|
|
/***/ }),
|
|
/* 570 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(81);
|
|
|
|
var _filesUploadHandler = _interopRequireDefault(__webpack_require__(382));
|
|
|
|
var ControlMultipleBaseItemView = __webpack_require__(239),
|
|
ControlMediaItemView;
|
|
|
|
ControlMediaItemView = ControlMultipleBaseItemView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments);
|
|
ui.controlMedia = '.elementor-control-media';
|
|
ui.mediaImage = '.elementor-control-media__preview';
|
|
ui.mediaVideo = '.elementor-control-media-video';
|
|
ui.frameOpeners = '.elementor-control-preview-area';
|
|
ui.removeButton = '.elementor-control-media__remove';
|
|
ui.fileName = '.elementor-control-media__file__content__info__name';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return _.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), {
|
|
'click @ui.frameOpeners': 'openFrame',
|
|
'click @ui.removeButton': 'deleteImage'
|
|
});
|
|
},
|
|
getMediaType: function getMediaType() {
|
|
return this.model.get('media_type');
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
var url = this.getControlValue('url'),
|
|
mediaType = this.getMediaType();
|
|
|
|
if ('image' === mediaType) {
|
|
this.ui.mediaImage.css('background-image', url ? 'url(' + url + ')' : '');
|
|
} else if ('video' === mediaType) {
|
|
this.ui.mediaVideo.attr('src', url);
|
|
} else {
|
|
var fileName = url ? url.split('/').pop() : '';
|
|
this.ui.fileName.text(fileName);
|
|
}
|
|
|
|
this.ui.controlMedia.toggleClass('elementor-media-empty', !url);
|
|
},
|
|
openFrame: function openFrame() {
|
|
var _this = this;
|
|
|
|
if (!_filesUploadHandler.default.isUploadEnabled(this.getMediaType())) {
|
|
_filesUploadHandler.default.getUnfilteredFilesNotEnabledDialog(function () {
|
|
return _this.openFrame();
|
|
}).show();
|
|
|
|
return false;
|
|
}
|
|
|
|
if (!this.frame) {
|
|
this.initFrame();
|
|
}
|
|
|
|
this.frame.open(); // Set params to trigger sanitizer
|
|
|
|
_filesUploadHandler.default.setUploadTypeCaller(this.frame);
|
|
|
|
var selectedId = this.getControlValue('id');
|
|
|
|
if (!selectedId) {
|
|
return;
|
|
}
|
|
|
|
this.frame.state().get('selection').add(wp.media.attachment(selectedId));
|
|
},
|
|
deleteImage: function deleteImage(event) {
|
|
event.stopPropagation();
|
|
this.setValue({
|
|
url: '',
|
|
id: ''
|
|
});
|
|
this.applySavedValue();
|
|
},
|
|
|
|
/**
|
|
* Create a media modal select frame, and store it so the instance can be reused when needed.
|
|
*/
|
|
initFrame: function initFrame() {
|
|
// Set current doc id to attach uploaded images.
|
|
wp.media.view.settings.post.id = elementor.config.document.id;
|
|
this.frame = wp.media({
|
|
button: {
|
|
text: elementor.translate('insert_media')
|
|
},
|
|
states: [new wp.media.controller.Library({
|
|
title: elementor.translate('insert_media'),
|
|
library: wp.media.query({
|
|
type: this.getMediaType()
|
|
}),
|
|
multiple: false,
|
|
date: false
|
|
})]
|
|
}); // When a file is selected, run a callback.
|
|
|
|
this.frame.on('insert select', this.select.bind(this));
|
|
},
|
|
|
|
/**
|
|
* Callback handler for when an attachment is selected in the media modal.
|
|
* Gets the selected image information, and sets it within the control.
|
|
*/
|
|
select: function select() {
|
|
this.trigger('before:select'); // Get the attachment from the modal frame.
|
|
|
|
var attachment = this.frame.state().get('selection').first().toJSON();
|
|
|
|
if (attachment.url) {
|
|
this.setValue({
|
|
url: attachment.url,
|
|
id: attachment.id
|
|
});
|
|
this.applySavedValue();
|
|
}
|
|
|
|
this.trigger('after:select');
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
this.$el.remove();
|
|
}
|
|
});
|
|
module.exports = ControlMediaItemView;
|
|
|
|
/***/ }),
|
|
/* 571 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
NumberValidator = __webpack_require__(572),
|
|
ControlNumberItemView;
|
|
|
|
ControlNumberItemView = ControlBaseDataView.extend({
|
|
registerValidators: function registerValidators() {
|
|
ControlBaseDataView.prototype.registerValidators.apply(this, arguments);
|
|
var validationTerms = {},
|
|
model = this.model;
|
|
['min', 'max'].forEach(function (term) {
|
|
var termValue = model.get(term);
|
|
|
|
if (_.isFinite(termValue)) {
|
|
validationTerms[term] = termValue;
|
|
}
|
|
});
|
|
|
|
if (!jQuery.isEmptyObject(validationTerms)) {
|
|
this.addValidator(new NumberValidator({
|
|
validationTerms: validationTerms
|
|
}));
|
|
}
|
|
}
|
|
});
|
|
module.exports = ControlNumberItemView;
|
|
|
|
/***/ }),
|
|
/* 572 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var Validator = __webpack_require__(300);
|
|
|
|
module.exports = Validator.extend({
|
|
validationMethod: function validationMethod(newValue) {
|
|
var validationTerms = this.getSettings('validationTerms'),
|
|
errors = [];
|
|
|
|
if (_.isFinite(newValue)) {
|
|
if (undefined !== validationTerms.min && newValue < validationTerms.min) {
|
|
errors.push('Value is less than minimum');
|
|
}
|
|
|
|
if (undefined !== validationTerms.max && newValue > validationTerms.max) {
|
|
errors.push('Value is greater than maximum');
|
|
}
|
|
}
|
|
|
|
return errors;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 573 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlMultipleBaseItemView = __webpack_require__(239),
|
|
ControlOrderItemView;
|
|
|
|
ControlOrderItemView = ControlMultipleBaseItemView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments);
|
|
ui.reverseOrderLabel = '.elementor-control-order-label';
|
|
return ui;
|
|
},
|
|
changeLabelTitle: function changeLabelTitle() {
|
|
var reverseOrder = this.getControlValue('reverse_order');
|
|
this.ui.reverseOrderLabel.attr('title', elementor.translate(reverseOrder ? 'asc' : 'desc'));
|
|
},
|
|
onRender: function onRender() {
|
|
ControlMultipleBaseItemView.prototype.onRender.apply(this, arguments);
|
|
this.changeLabelTitle();
|
|
},
|
|
onInputChange: function onInputChange() {
|
|
this.changeLabelTitle();
|
|
}
|
|
});
|
|
module.exports = ControlOrderItemView;
|
|
|
|
/***/ }),
|
|
/* 574 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseView = __webpack_require__(281),
|
|
ControlSectionItemView;
|
|
|
|
ControlSectionItemView = ControlBaseView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseView.prototype.ui.apply(this, arguments);
|
|
ui.heading = '.elementor-panel-heading';
|
|
return ui;
|
|
},
|
|
triggers: {
|
|
click: 'control:section:clicked'
|
|
}
|
|
});
|
|
module.exports = ControlSectionItemView;
|
|
|
|
/***/ }),
|
|
/* 575 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlSelectItemView;
|
|
|
|
ControlSelectItemView = ControlBaseDataView.extend({}, {
|
|
onPasteStyle: function onPasteStyle(control, clipboardValue) {
|
|
if (control.groups) {
|
|
return control.groups.some(function (group) {
|
|
return ControlSelectItemView.onPasteStyle(group, clipboardValue);
|
|
});
|
|
}
|
|
|
|
return undefined !== control.options[clipboardValue];
|
|
}
|
|
});
|
|
module.exports = ControlSelectItemView;
|
|
|
|
/***/ }),
|
|
/* 576 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _values = _interopRequireDefault(__webpack_require__(56));
|
|
|
|
var ControlBaseUnitsItemView = __webpack_require__(381),
|
|
ControlSliderItemView;
|
|
|
|
ControlSliderItemView = ControlBaseUnitsItemView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseUnitsItemView.prototype.ui.apply(this, arguments);
|
|
ui.slider = '.elementor-slider';
|
|
return ui;
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
var templateHelpers = ControlBaseUnitsItemView.prototype.templateHelpers.apply(this, arguments);
|
|
templateHelpers.isMultiple = this.isMultiple();
|
|
return templateHelpers;
|
|
},
|
|
isMultiple: function isMultiple() {
|
|
var sizes = this.getControlValue('sizes');
|
|
return !jQuery.isEmptyObject(sizes);
|
|
},
|
|
initSlider: function initSlider() {
|
|
// Slider does not exist in tests.
|
|
if (!this.ui.slider[0]) {
|
|
return;
|
|
}
|
|
|
|
this.destroySlider();
|
|
var isMultiple = this.isMultiple(),
|
|
unitRange = elementorCommon.helpers.cloneObject(this.getCurrentRange()),
|
|
step = unitRange.step;
|
|
var sizes = this.getSize();
|
|
|
|
if (isMultiple) {
|
|
sizes = (0, _values.default)(sizes);
|
|
} else {
|
|
sizes = [sizes];
|
|
this.ui.input.attr(unitRange);
|
|
}
|
|
|
|
delete unitRange.step;
|
|
var tooltips;
|
|
var self = this;
|
|
|
|
if (isMultiple) {
|
|
tooltips = [];
|
|
sizes.forEach(function () {
|
|
return tooltips.push({
|
|
to: function to(value) {
|
|
return value + self.getControlValue('unit');
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
var sliderInstance = noUiSlider.create(this.ui.slider[0], {
|
|
start: sizes,
|
|
range: unitRange,
|
|
step: step,
|
|
tooltips: tooltips,
|
|
connect: isMultiple,
|
|
format: {
|
|
to: function to(value) {
|
|
return Math.round(value * 1000) / 1000;
|
|
},
|
|
from: function from(value) {
|
|
return +value;
|
|
}
|
|
}
|
|
});
|
|
sliderInstance.on('slide', this.onSlideChange.bind(this));
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
ControlBaseUnitsItemView.prototype.applySavedValue.apply(this, arguments); // Slider does not exist in tests.
|
|
|
|
if (this.ui.slider[0] && this.ui.slider[0].noUiSlider) {
|
|
this.ui.slider[0].noUiSlider.set(this.getSize());
|
|
}
|
|
},
|
|
getSize: function getSize() {
|
|
return this.getControlValue(this.isMultiple() ? 'sizes' : 'size');
|
|
},
|
|
resetSize: function resetSize() {
|
|
if (this.isMultiple()) {
|
|
this.setValue('sizes', {});
|
|
} else {
|
|
this.setValue('size', '');
|
|
}
|
|
|
|
this.initSlider();
|
|
},
|
|
destroySlider: function destroySlider() {
|
|
// Slider does not exist in tests.
|
|
if (this.ui.slider[0] && this.ui.slider[0].noUiSlider) {
|
|
this.ui.slider[0].noUiSlider.destroy();
|
|
}
|
|
},
|
|
onReady: function onReady() {
|
|
if (this.isMultiple()) {
|
|
this.$el.addClass('elementor-control-type-slider--multiple elementor-control-type-slider--handles-' + this.model.get('handles'));
|
|
}
|
|
|
|
this.initSlider();
|
|
},
|
|
onSlideChange: function onSlideChange(values, index) {
|
|
if (this.isMultiple()) {
|
|
var sizes = elementorCommon.helpers.cloneObject(this.getSize()),
|
|
key = (0, _keys.default)(sizes)[index];
|
|
sizes[key] = values[index];
|
|
this.setValue('sizes', sizes);
|
|
} else {
|
|
this.setValue('size', values[0]);
|
|
this.ui.input.val(values[0]);
|
|
}
|
|
},
|
|
onInputChange: function onInputChange(event) {
|
|
var dataChanged = event.currentTarget.dataset.setting;
|
|
|
|
if ('size' === dataChanged) {
|
|
this.ui.slider[0].noUiSlider.set(this.getSize());
|
|
} else if ('unit' === dataChanged) {
|
|
this.resetSize();
|
|
}
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
this.destroySlider();
|
|
this.$el.remove();
|
|
}
|
|
});
|
|
module.exports = ControlSliderItemView;
|
|
|
|
/***/ }),
|
|
/* 577 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlStructureItemView;
|
|
|
|
ControlStructureItemView = ControlBaseDataView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
|
|
ui.resetStructure = '.elementor-control-structure-reset';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
|
|
'click @ui.resetStructure': 'onResetStructureClick'
|
|
});
|
|
},
|
|
templateHelpers: function templateHelpers() {
|
|
var helpers = ControlBaseDataView.prototype.templateHelpers.apply(this, arguments);
|
|
helpers.getMorePresets = this.getMorePresets.bind(this);
|
|
return helpers;
|
|
},
|
|
getCurrentEditedSection: function getCurrentEditedSection() {
|
|
var editor = elementor.getPanelView().getCurrentPageView();
|
|
return editor.getOption('editedElementView');
|
|
},
|
|
getMorePresets: function getMorePresets() {
|
|
var parsedStructure = elementor.presetsFactory.getParsedStructure(this.getControlValue());
|
|
return elementor.presetsFactory.getPresets(parsedStructure.columnsCount);
|
|
},
|
|
onResetStructureClick: function onResetStructureClick() {
|
|
this.getCurrentEditedSection().resetColumnsCustomSize();
|
|
}
|
|
});
|
|
module.exports = ControlStructureItemView;
|
|
|
|
/***/ }),
|
|
/* 578 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127);
|
|
|
|
module.exports = ControlBaseDataView.extend({
|
|
setInputValue: function setInputValue(input, value) {
|
|
this.$(input).prop('checked', this.model.get('return_value') === value);
|
|
}
|
|
}, {
|
|
onPasteStyle: function onPasteStyle(control, clipboardValue) {
|
|
return !clipboardValue || clipboardValue === control.return_value;
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 579 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseView = __webpack_require__(281),
|
|
ControlTabItemView;
|
|
|
|
ControlTabItemView = ControlBaseView.extend({
|
|
triggers: {
|
|
click: {
|
|
event: 'control:tab:clicked',
|
|
stopPropagation: false
|
|
}
|
|
}
|
|
});
|
|
module.exports = ControlTabItemView;
|
|
|
|
/***/ }),
|
|
/* 580 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var BaseMultiple = __webpack_require__(239);
|
|
|
|
var URL = /*#__PURE__*/function (_BaseMultiple) {
|
|
(0, _inherits2.default)(URL, _BaseMultiple);
|
|
|
|
var _super = (0, _createSuper2.default)(URL);
|
|
|
|
function URL() {
|
|
(0, _classCallCheck2.default)(this, URL);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(URL, [{
|
|
key: "ui",
|
|
value: function ui() {
|
|
var ui = (0, _get2.default)((0, _getPrototypeOf2.default)(URL.prototype), "ui", this).call(this);
|
|
ui.mainInput = '.elementor-input';
|
|
ui.moreOptionsToggle = '.elementor-control-url-more';
|
|
ui.moreOptions = '.elementor-control-url-more-options';
|
|
return ui;
|
|
}
|
|
}, {
|
|
key: "events",
|
|
value: function events() {
|
|
var events = (0, _get2.default)((0, _getPrototypeOf2.default)(URL.prototype), "events", this).call(this);
|
|
events['click @ui.moreOptionsToggle'] = 'onMoreOptionsToggleClick';
|
|
return events;
|
|
}
|
|
}, {
|
|
key: "autoComplete",
|
|
value: function autoComplete() {
|
|
var _this = this;
|
|
|
|
var $mainInput = this.ui.mainInput,
|
|
positionBase = elementorCommon.config.isRTL ? 'right' : 'left';
|
|
var last, cache; // Based on /wp-includes/js/tinymce/plugins/wplink/plugin.js.
|
|
|
|
$mainInput.autocomplete({
|
|
source: function source(request, response) {
|
|
if (!_this.options.model.attributes.autocomplete) {
|
|
return;
|
|
}
|
|
|
|
if (last === request.term) {
|
|
response(cache);
|
|
return;
|
|
}
|
|
|
|
if (/^https?:/.test(request.term) || request.term.indexOf('.') !== -1) {
|
|
return response();
|
|
} // Show Spinner.
|
|
|
|
|
|
$mainInput.prev().show();
|
|
jQuery.post(window.ajaxurl, {
|
|
editor: 'elementor',
|
|
action: 'wp-link-ajax',
|
|
page: 1,
|
|
search: request.term,
|
|
_ajax_linking_nonce: jQuery('#_ajax_linking_nonce').val()
|
|
}, function (data) {
|
|
cache = data;
|
|
response(data);
|
|
}, 'json').always(function () {
|
|
return $mainInput.prev().hide();
|
|
});
|
|
last = request.term;
|
|
},
|
|
focus: function focus(event) {
|
|
/*
|
|
* Don't empty the URL input field, when using the arrow keys to
|
|
* highlight items. See api.jqueryui.com/autocomplete/#event-focus
|
|
*/
|
|
event.preventDefault();
|
|
},
|
|
select: function select(event, ui) {
|
|
$mainInput.val(ui.item.permalink);
|
|
|
|
_this.setValue('url', ui.item.permalink);
|
|
|
|
return false;
|
|
},
|
|
open: function open(event) {
|
|
jQuery(event.target).data('uiAutocomplete').menu.activeMenu.addClass('elementor-autocomplete-menu');
|
|
},
|
|
minLength: 2,
|
|
position: {
|
|
my: positionBase + ' top+2',
|
|
at: positionBase + ' bottom'
|
|
}
|
|
}); // The `_renderItem` cannot be override via the arguments.
|
|
|
|
$mainInput.autocomplete('instance')._renderItem = function (ul, item) {
|
|
var fallbackTitle = window.wpLinkL10n ? window.wpLinkL10n.noTitle : '',
|
|
title = item.title ? item.title : fallbackTitle;
|
|
return jQuery('<li role="option" id="mce-wp-autocomplete-' + item.ID + '">').append('<span>' + title + '</span> <span class="elementor-autocomplete-item-info">' + item.info + '</span>').appendTo(ul);
|
|
};
|
|
}
|
|
}, {
|
|
key: "onReady",
|
|
value: function onReady() {
|
|
this.autoComplete();
|
|
}
|
|
}, {
|
|
key: "onMoreOptionsToggleClick",
|
|
value: function onMoreOptionsToggleClick() {
|
|
this.ui.moreOptions.slideToggle();
|
|
}
|
|
}, {
|
|
key: "onBeforeDestroy",
|
|
value: function onBeforeDestroy() {
|
|
if (this.ui.mainInput.data('autocomplete')) {
|
|
this.ui.mainInput.autocomplete('destroy');
|
|
}
|
|
|
|
this.$el.remove();
|
|
}
|
|
}]);
|
|
return URL;
|
|
}(BaseMultiple);
|
|
|
|
module.exports = URL;
|
|
|
|
/***/ }),
|
|
/* 581 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlWPWidgetItemView;
|
|
|
|
ControlWPWidgetItemView = ControlBaseDataView.extend({
|
|
ui: function ui() {
|
|
var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
|
|
ui.form = 'form';
|
|
ui.loading = '.wp-widget-form-loading';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'keyup @ui.form :input': 'onFormChanged',
|
|
'change @ui.form :input': 'onFormChanged'
|
|
};
|
|
},
|
|
onFormChanged: function onFormChanged() {
|
|
var idBase = 'widget-' + this.model.get('id_base'),
|
|
settings = this.ui.form.elementorSerializeObject()[idBase].REPLACE_TO_ID;
|
|
this.setValue(settings);
|
|
},
|
|
onReady: function onReady() {
|
|
var self = this;
|
|
elementorCommon.ajax.addRequest('editor_get_wp_widget_form', {
|
|
data: {
|
|
// Fake Widget ID
|
|
id: self.model.cid,
|
|
widget_type: self.model.get('widget'),
|
|
data: self.container.settings.toJSON()
|
|
},
|
|
success: function success(data) {
|
|
self.ui.form.html(data); // WP >= 4.8
|
|
|
|
if (wp.textWidgets) {
|
|
self.ui.form.addClass('open');
|
|
var event = new jQuery.Event('widget-added');
|
|
wp.textWidgets.handleWidgetAdded(event, self.ui.form);
|
|
wp.mediaWidgets.handleWidgetAdded(event, self.ui.form); // WP >= 4.9
|
|
|
|
if (wp.customHtmlWidgets) {
|
|
wp.customHtmlWidgets.handleWidgetAdded(event, self.ui.form);
|
|
}
|
|
}
|
|
|
|
elementor.hooks.doAction('panel/widgets/' + self.model.get('widget') + '/controls/wp_widget/loaded', self);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
module.exports = ControlWPWidgetItemView;
|
|
|
|
/***/ }),
|
|
/* 582 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(26);
|
|
|
|
__webpack_require__(60);
|
|
|
|
__webpack_require__(81);
|
|
|
|
var ControlBaseDataView = __webpack_require__(127),
|
|
ControlWysiwygItemView;
|
|
|
|
ControlWysiwygItemView = ControlBaseDataView.extend({
|
|
editor: null,
|
|
ui: function ui() {
|
|
var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
|
|
jQuery.extend(ui, {
|
|
inputWrapper: '.elementor-control-input-wrapper'
|
|
});
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
|
|
'keyup textarea.elementor-wp-editor': 'onBaseInputChange'
|
|
});
|
|
},
|
|
// List of buttons to move {buttonToMove: afterButton}
|
|
buttons: {
|
|
addToBasic: {
|
|
underline: 'italic'
|
|
},
|
|
addToAdvanced: {},
|
|
moveToAdvanced: {
|
|
blockquote: 'removeformat',
|
|
alignleft: 'blockquote',
|
|
aligncenter: 'alignleft',
|
|
alignright: 'aligncenter'
|
|
},
|
|
moveToBasic: {},
|
|
removeFromBasic: ['unlink', 'wp_more'],
|
|
removeFromAdvanced: []
|
|
},
|
|
initialize: function initialize() {
|
|
ControlBaseDataView.prototype.initialize.apply(this, arguments);
|
|
var self = this;
|
|
self.editorID = 'elementorwpeditor' + self.cid; // Wait a cycle before initializing the editors.
|
|
|
|
_.defer(function () {
|
|
if (self.isDestroyed) {
|
|
return;
|
|
} // Initialize QuickTags, and set as the default mode.
|
|
|
|
|
|
quicktags({
|
|
buttons: 'strong,em,del,link,img,close',
|
|
id: self.editorID
|
|
});
|
|
|
|
if (elementor.config.rich_editing_enabled) {
|
|
switchEditors.go(self.editorID, 'tmce');
|
|
}
|
|
|
|
delete QTags.instances[0];
|
|
});
|
|
|
|
if (!elementor.config.rich_editing_enabled) {
|
|
self.$el.addClass('elementor-rich-editing-disabled');
|
|
return;
|
|
}
|
|
|
|
var editorConfig = {
|
|
id: self.editorID,
|
|
selector: '#' + self.editorID,
|
|
setup: function setup(editor) {
|
|
self.editor = editor;
|
|
}
|
|
};
|
|
tinyMCEPreInit.mceInit[self.editorID] = _.extend(_.clone(tinyMCEPreInit.mceInit.elementorwpeditor), editorConfig);
|
|
|
|
if (!elementor.config.tinymceHasCustomConfig) {
|
|
self.rearrangeButtons();
|
|
}
|
|
},
|
|
applySavedValue: function applySavedValue() {
|
|
if (!this.editor) {
|
|
return;
|
|
}
|
|
|
|
var controlValue = this.getControlValue();
|
|
this.editor.setContent(controlValue); // Update also the plain textarea
|
|
|
|
jQuery('#' + this.editorID).val(controlValue);
|
|
},
|
|
saveEditor: function saveEditor() {
|
|
this.setValue(this.editor.getContent());
|
|
},
|
|
moveButtons: function moveButtons(buttonsToMove, from, to) {
|
|
if (!to) {
|
|
to = from;
|
|
from = null;
|
|
}
|
|
|
|
_.each(buttonsToMove, function (afterButton, button) {
|
|
var afterButtonIndex = to.indexOf(afterButton);
|
|
|
|
if (from) {
|
|
var buttonIndex = from.indexOf(button);
|
|
|
|
if (-1 === buttonIndex) {
|
|
throw new ReferenceError('Trying to move non-existing button `' + button + '`');
|
|
}
|
|
|
|
from.splice(buttonIndex, 1);
|
|
}
|
|
|
|
if (-1 === afterButtonIndex) {
|
|
throw new ReferenceError('Trying to move button after non-existing button `' + afterButton + '`');
|
|
}
|
|
|
|
to.splice(afterButtonIndex + 1, 0, button);
|
|
});
|
|
},
|
|
rearrangeButtons: function rearrangeButtons() {
|
|
var editorProps = tinyMCEPreInit.mceInit[this.editorID],
|
|
editorBasicToolbarButtons = editorProps.toolbar1.split(','),
|
|
editorAdvancedToolbarButtons = editorProps.toolbar2.split(',');
|
|
editorBasicToolbarButtons = _.difference(editorBasicToolbarButtons, this.buttons.removeFromBasic);
|
|
editorAdvancedToolbarButtons = _.difference(editorAdvancedToolbarButtons, this.buttons.removeFromAdvanced);
|
|
this.moveButtons(this.buttons.moveToBasic, editorAdvancedToolbarButtons, editorBasicToolbarButtons);
|
|
this.moveButtons(this.buttons.moveToAdvanced, editorBasicToolbarButtons, editorAdvancedToolbarButtons);
|
|
this.moveButtons(this.buttons.addToBasic, editorBasicToolbarButtons);
|
|
this.moveButtons(this.buttons.addToAdvanced, editorAdvancedToolbarButtons);
|
|
editorProps.toolbar1 = editorBasicToolbarButtons.join(',');
|
|
editorProps.toolbar2 = editorAdvancedToolbarButtons.join(',');
|
|
},
|
|
onReady: function onReady() {
|
|
var _this = this;
|
|
|
|
var $editor = jQuery(elementor.config.wp_editor.replace(/elementorwpeditor/g, this.editorID).replace('%%EDITORCONTENT%%', this.getControlValue()));
|
|
$editor.find(".wp-editor-tabs").addClass('elementor-control-dynamic-switcher-wrapper');
|
|
this.ui.inputWrapper.html($editor);
|
|
setTimeout(function () {
|
|
if (!_this.isDestroyed && _this.editor) {
|
|
_this.editor.on('keyup change undo redo', _this.saveEditor.bind(_this));
|
|
}
|
|
}, 100);
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
// Remove TinyMCE and QuickTags instances
|
|
delete QTags.instances[this.editorID];
|
|
|
|
if (!elementor.config.rich_editing_enabled) {
|
|
return;
|
|
}
|
|
|
|
tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.editorID); // Cleanup PreInit data
|
|
|
|
delete tinyMCEPreInit.mceInit[this.editorID];
|
|
delete tinyMCEPreInit.qtInit[this.editorID];
|
|
}
|
|
});
|
|
module.exports = ControlWysiwygItemView;
|
|
|
|
/***/ }),
|
|
/* 583 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = elementorModules.editor.elements.models.BaseSettings.extend({
|
|
defaults: {
|
|
_column_size: 100
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 584 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _widgetDraggable = _interopRequireDefault(__webpack_require__(585));
|
|
|
|
var _widgetResizeable = _interopRequireDefault(__webpack_require__(586));
|
|
|
|
var BaseElementView = __webpack_require__(297),
|
|
WidgetView;
|
|
|
|
WidgetView = BaseElementView.extend({
|
|
_templateType: null,
|
|
toggleEditTools: true,
|
|
getTemplate: function getTemplate() {
|
|
var editModel = this.getEditModel();
|
|
|
|
if ('remote' !== this.getTemplateType()) {
|
|
return Marionette.TemplateCache.get('#tmpl-elementor-' + editModel.get('widgetType') + '-content');
|
|
}
|
|
|
|
return _.template('');
|
|
},
|
|
className: function className() {
|
|
var baseClasses = BaseElementView.prototype.className.apply(this, arguments);
|
|
return baseClasses + ' elementor-widget ' + elementor.getElementData(this.getEditModel()).html_wrapper_class;
|
|
},
|
|
events: function events() {
|
|
var events = BaseElementView.prototype.events.apply(this, arguments);
|
|
events.click = 'onClickEdit';
|
|
return events;
|
|
},
|
|
behaviors: function behaviors() {
|
|
var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
|
|
|
|
_.extend(behaviors, {
|
|
InlineEditing: {
|
|
behaviorClass: __webpack_require__(587),
|
|
inlineEditingClass: 'elementor-inline-editing'
|
|
},
|
|
Draggable: {
|
|
behaviorClass: _widgetDraggable.default
|
|
},
|
|
Resizable: {
|
|
behaviorClass: _widgetResizeable.default
|
|
}
|
|
});
|
|
|
|
return elementor.hooks.applyFilters('elements/widget/behaviors', behaviors, this);
|
|
},
|
|
getEditButtons: function getEditButtons() {
|
|
var elementData = elementor.getElementData(this.model),
|
|
editTools = {};
|
|
editTools.edit = {
|
|
title: elementor.translate('edit_element', [elementData.title]),
|
|
icon: 'edit'
|
|
};
|
|
|
|
if (elementor.getPreferences('edit_buttons')) {
|
|
editTools.duplicate = {
|
|
title: elementor.translate('duplicate_element', [elementData.title]),
|
|
icon: 'clone'
|
|
};
|
|
editTools.remove = {
|
|
title: elementor.translate('delete_element', [elementData.title]),
|
|
icon: 'close'
|
|
};
|
|
}
|
|
|
|
return editTools;
|
|
},
|
|
initialize: function initialize() {
|
|
var _this = this;
|
|
|
|
BaseElementView.prototype.initialize.apply(this, arguments);
|
|
var editModel = this.getEditModel();
|
|
editModel.on({
|
|
'before:remote:render': this.onModelBeforeRemoteRender.bind(this),
|
|
'remote:render': this.onModelRemoteRender.bind(this),
|
|
'settings:loaded': function settingsLoaded() {
|
|
return setTimeout(_this.render.bind(_this));
|
|
}
|
|
});
|
|
|
|
if ('remote' === this.getTemplateType() && !this.getEditModel().getHtmlCache()) {
|
|
editModel.renderRemoteServer();
|
|
}
|
|
|
|
var onRenderMethod = this.onRender;
|
|
this.render = _.throttle(this.render, 300);
|
|
|
|
this.onRender = function () {
|
|
_.defer(onRenderMethod.bind(this));
|
|
};
|
|
},
|
|
getContextMenuGroups: function getContextMenuGroups() {
|
|
var _this2 = this;
|
|
|
|
var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments),
|
|
transferGroupIndex = groups.indexOf(_.findWhere(groups, {
|
|
name: 'clipboard'
|
|
}));
|
|
groups.splice(transferGroupIndex + 1, 0, {
|
|
name: 'save',
|
|
actions: [{
|
|
name: 'save',
|
|
title: elementor.translate('save_as_global'),
|
|
shortcut: jQuery('<i>', {
|
|
class: 'eicon-pro-icon'
|
|
}),
|
|
isEnabled: function isEnabled() {
|
|
return 'global' !== _this2.options.model.get('widgetType');
|
|
}
|
|
}]
|
|
});
|
|
return groups;
|
|
},
|
|
render: function render() {
|
|
if (this.model.isRemoteRequestActive()) {
|
|
this.handleEmptyWidget();
|
|
this.$el.addClass('elementor-element');
|
|
return;
|
|
}
|
|
|
|
if (elementorCommonConfig.isTesting && this.isDestroyed) {
|
|
return;
|
|
}
|
|
|
|
Marionette.CompositeView.prototype.render.apply(this, arguments);
|
|
},
|
|
handleEmptyWidget: function handleEmptyWidget() {
|
|
// TODO: REMOVE THIS !!
|
|
// TEMP CODING !!
|
|
this.$el.addClass('elementor-widget-empty').append('<i class="elementor-widget-empty-icon ' + this.getEditModel().getIcon() + '"></i>');
|
|
},
|
|
getTemplateType: function getTemplateType() {
|
|
if (null === this._templateType) {
|
|
var editModel = this.getEditModel(),
|
|
$template = jQuery('#tmpl-elementor-' + editModel.get('widgetType') + '-content');
|
|
this._templateType = $template.length ? 'js' : 'remote';
|
|
}
|
|
|
|
return this._templateType;
|
|
},
|
|
getHTMLContent: function getHTMLContent(html) {
|
|
var htmlCache = this.getEditModel().getHtmlCache();
|
|
return htmlCache || html;
|
|
},
|
|
attachElContent: function attachElContent(html) {
|
|
var _this3 = this;
|
|
|
|
_.defer(function () {
|
|
elementorFrontend.elements.window.jQuery(_this3.el).empty().append(_this3.getHandlesOverlay(), _this3.getHTMLContent(html));
|
|
|
|
_this3.bindUIElements(); // Build again the UI elements since the content attached just now
|
|
|
|
});
|
|
|
|
return this;
|
|
},
|
|
addInlineEditingAttributes: function addInlineEditingAttributes(key, toolbar) {
|
|
this.addRenderAttribute(key, {
|
|
class: 'elementor-inline-editing',
|
|
'data-elementor-setting-key': key
|
|
});
|
|
|
|
if (toolbar) {
|
|
this.addRenderAttribute(key, {
|
|
'data-elementor-inline-editing-toolbar': toolbar
|
|
});
|
|
}
|
|
},
|
|
getRepeaterSettingKey: function getRepeaterSettingKey(settingKey, repeaterKey, repeaterItemIndex) {
|
|
return [repeaterKey, repeaterItemIndex, settingKey].join('.');
|
|
},
|
|
onModelBeforeRemoteRender: function onModelBeforeRemoteRender() {
|
|
this.$el.addClass('elementor-loading');
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
// Remove old style from the DOM.
|
|
elementor.$previewContents.find('#elementor-style-' + this.model.get('id')).remove();
|
|
},
|
|
onModelRemoteRender: function onModelRemoteRender() {
|
|
if (this.isDestroyed) {
|
|
return;
|
|
}
|
|
|
|
this.$el.removeClass('elementor-loading'); // If container document has been changed during the remote request, don't render.
|
|
|
|
if (this.container.document.id !== elementor.documents.getCurrent().id) {
|
|
return;
|
|
}
|
|
|
|
this.render();
|
|
},
|
|
onRender: function onRender() {
|
|
var self = this;
|
|
BaseElementView.prototype.onRender.apply(self, arguments);
|
|
var editModel = self.getEditModel(),
|
|
skinType = editModel.getSetting('_skin') || 'default';
|
|
self.$el.attr('data-widget_type', editModel.get('widgetType') + '.' + skinType).removeClass('elementor-widget-empty').children('.elementor-widget-empty-icon').remove(); // TODO: Find a better way to detect if all the images have been loaded
|
|
|
|
self.$el.imagesLoaded().always(function () {
|
|
setTimeout(function () {
|
|
if (1 > self.$el.children('.elementor-widget-container').outerHeight()) {
|
|
self.handleEmptyWidget();
|
|
}
|
|
}, 200); // Is element empty?
|
|
});
|
|
},
|
|
onClickEdit: function onClickEdit() {
|
|
if (this.container.isEditable()) {
|
|
this.model.trigger('request:edit');
|
|
}
|
|
}
|
|
});
|
|
module.exports = WidgetView;
|
|
|
|
/***/ }),
|
|
/* 585 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$Behavior) {
|
|
(0, _inherits2.default)(_default, _Marionette$Behavior);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
dragstart: 'onDragStart',
|
|
dragstop: 'onDragStop'
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this).call(this);
|
|
this.listenTo(elementor.channels.dataEditMode, 'switch', this.toggle); // Save this instance for external use eg: ( hooks ).
|
|
|
|
this.view.options.draggable = this;
|
|
}
|
|
}, {
|
|
key: "activate",
|
|
value: function activate() {
|
|
this.$el.draggable({
|
|
addClasses: false
|
|
});
|
|
}
|
|
}, {
|
|
key: "deactivate",
|
|
value: function deactivate() {
|
|
if (!this.$el.draggable('instance')) {
|
|
return;
|
|
}
|
|
|
|
this.$el.draggable('destroy');
|
|
}
|
|
}, {
|
|
key: "toggle",
|
|
value: function toggle() {
|
|
var isAbsolute = this.view.getEditModel().getSetting('_position');
|
|
this.deactivate();
|
|
|
|
if (isAbsolute && this.view.getContainer().isDesignable()) {
|
|
this.activate();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
var _this = this;
|
|
|
|
_.defer(function () {
|
|
return _this.toggle();
|
|
});
|
|
}
|
|
}, {
|
|
key: "onDestroy",
|
|
value: function onDestroy() {
|
|
this.deactivate();
|
|
}
|
|
}, {
|
|
key: "onDragStart",
|
|
value: function onDragStart(event) {
|
|
event.stopPropagation();
|
|
this.view.model.trigger('request:edit');
|
|
}
|
|
}, {
|
|
key: "onDragStop",
|
|
value: function onDragStop(event, ui) {
|
|
var _this2 = this;
|
|
|
|
event.stopPropagation();
|
|
var currentDeviceMode = elementorFrontend.getCurrentDeviceMode(),
|
|
deviceSuffix = 'desktop' === currentDeviceMode ? '' : '_' + currentDeviceMode,
|
|
editModel = this.view.getEditModel(),
|
|
hOrientation = editModel.getSetting('_offset_orientation_h'),
|
|
vOrientation = editModel.getSetting('_offset_orientation_v'),
|
|
settingToChange = {},
|
|
isRTL = elementorFrontend.config.is_rtl;
|
|
var parentWidth = this.$el.offsetParent().width(),
|
|
elementWidth = this.$el.outerWidth(true),
|
|
left = ui.position.left,
|
|
right = parentWidth - left - elementWidth;
|
|
var xPos = isRTL ? right : left,
|
|
yPos = ui.position.top,
|
|
offsetX = '_offset_x',
|
|
offsetY = '_offset_y';
|
|
|
|
if ('end' === hOrientation) {
|
|
xPos = parentWidth - xPos - elementWidth;
|
|
offsetX = '_offset_x_end';
|
|
}
|
|
|
|
var offsetXUnit = editModel.getSetting(offsetX + deviceSuffix).unit;
|
|
xPos = elementor.helpers.elementSizeToUnit(this.$el, xPos, offsetXUnit);
|
|
var parentHeight = this.$el.offsetParent().height(),
|
|
elementHeight = this.$el.outerHeight(true);
|
|
|
|
if ('end' === vOrientation) {
|
|
yPos = parentHeight - yPos - elementHeight;
|
|
offsetY = '_offset_y_end';
|
|
}
|
|
|
|
var offsetYUnit = editModel.getSetting(offsetY + deviceSuffix).unit;
|
|
yPos = elementor.helpers.elementSizeToUnit(this.$el, yPos, offsetYUnit);
|
|
settingToChange[offsetX + deviceSuffix] = {
|
|
size: xPos,
|
|
unit: offsetXUnit
|
|
};
|
|
settingToChange[offsetY + deviceSuffix] = {
|
|
size: yPos,
|
|
unit: offsetYUnit
|
|
};
|
|
$e.run('document/elements/settings', {
|
|
container: this.view.container,
|
|
settings: settingToChange,
|
|
options: {
|
|
external: true
|
|
}
|
|
});
|
|
setTimeout(function () {
|
|
_this2.$el.css({
|
|
top: '',
|
|
left: '',
|
|
right: '',
|
|
bottom: '',
|
|
width: '',
|
|
height: ''
|
|
});
|
|
}, 250);
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.Behavior);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 586 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _default = /*#__PURE__*/function (_Marionette$Behavior) {
|
|
(0, _inherits2.default)(_default, _Marionette$Behavior);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
function _default() {
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "events",
|
|
value: function events() {
|
|
return {
|
|
resizestart: 'onResizeStart',
|
|
resizestop: 'onResizeStop',
|
|
resize: 'onResize'
|
|
};
|
|
}
|
|
}, {
|
|
key: "initialize",
|
|
value: function initialize() {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this).call(this);
|
|
this.listenTo(elementor.channels.dataEditMode, 'switch', this.toggle); // Save this instance for external use eg: ( hooks ).
|
|
|
|
this.view.options.resizeable = this;
|
|
}
|
|
}, {
|
|
key: "activate",
|
|
value: function activate() {
|
|
this.$el.resizable({
|
|
handles: 'e, w'
|
|
});
|
|
}
|
|
}, {
|
|
key: "deactivate",
|
|
value: function deactivate() {
|
|
if (!this.$el.resizable('instance')) {
|
|
return;
|
|
}
|
|
|
|
this.$el.resizable('destroy');
|
|
}
|
|
}, {
|
|
key: "toggle",
|
|
value: function toggle() {
|
|
var editModel = this.view.getEditModel(),
|
|
isAbsolute = editModel.getSetting('_position'),
|
|
isInline = 'initial' === editModel.getSetting('_element_width');
|
|
this.deactivate();
|
|
|
|
if ((isAbsolute || isInline) && this.view.container.isDesignable()) {
|
|
this.activate();
|
|
}
|
|
}
|
|
}, {
|
|
key: "onRender",
|
|
value: function onRender() {
|
|
var _this = this;
|
|
|
|
_.defer(function () {
|
|
return _this.toggle();
|
|
});
|
|
}
|
|
}, {
|
|
key: "onDestroy",
|
|
value: function onDestroy() {
|
|
this.deactivate();
|
|
}
|
|
}, {
|
|
key: "onResizeStart",
|
|
value: function onResizeStart(event) {
|
|
event.stopPropagation();
|
|
this.view.model.trigger('request:edit');
|
|
}
|
|
}, {
|
|
key: "onResizeStop",
|
|
value: function onResizeStop(event, ui) {
|
|
event.stopPropagation();
|
|
var currentDeviceMode = elementorFrontend.getCurrentDeviceMode(),
|
|
deviceSuffix = 'desktop' === currentDeviceMode ? '' : '_' + currentDeviceMode,
|
|
editModel = this.view.getEditModel(),
|
|
unit = editModel.getSetting('_element_custom_width' + deviceSuffix).unit,
|
|
width = elementor.helpers.elementSizeToUnit(this.$el, ui.size.width, unit),
|
|
settingToChange = {};
|
|
settingToChange['_element_width' + deviceSuffix] = 'initial';
|
|
settingToChange['_element_custom_width' + deviceSuffix] = {
|
|
unit: unit,
|
|
size: width
|
|
};
|
|
$e.run('document/elements/settings', {
|
|
container: this.view.container,
|
|
settings: settingToChange,
|
|
options: {
|
|
external: true
|
|
}
|
|
});
|
|
this.$el.css({
|
|
width: '',
|
|
height: '',
|
|
left: ''
|
|
});
|
|
}
|
|
}, {
|
|
key: "onResize",
|
|
value: function onResize(event) {
|
|
event.stopPropagation();
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(Marionette.Behavior);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 587 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(28));
|
|
|
|
__webpack_require__(81);
|
|
|
|
var InlineEditingBehavior;
|
|
InlineEditingBehavior = Marionette.Behavior.extend({
|
|
editing: false,
|
|
$currentEditingArea: null,
|
|
ui: function ui() {
|
|
return {
|
|
inlineEditingArea: '.' + this.getOption('inlineEditingClass')
|
|
};
|
|
},
|
|
events: function events() {
|
|
return {
|
|
'click @ui.inlineEditingArea': 'onInlineEditingClick',
|
|
'input @ui.inlineEditingArea': 'onInlineEditingUpdate'
|
|
};
|
|
},
|
|
initialize: function initialize() {
|
|
this.onInlineEditingBlur = this.onInlineEditingBlur.bind(this);
|
|
},
|
|
getEditingSettingKey: function getEditingSettingKey() {
|
|
return this.$currentEditingArea.data().elementorSettingKey;
|
|
},
|
|
startEditing: function startEditing($element) {
|
|
if (this.editing || !this.view.container.isEditable() || this.view.model.isRemoteRequestActive()) {
|
|
return;
|
|
}
|
|
|
|
var elementorSettingKey = $element.data().elementorSettingKey,
|
|
settingKey = elementorSettingKey,
|
|
keyParts = elementorSettingKey.split('.'),
|
|
isRepeaterKey = 3 === keyParts.length,
|
|
settingsModel = this.view.getEditModel().get('settings');
|
|
|
|
if (isRepeaterKey) {
|
|
settingsModel = settingsModel.get(keyParts[0]).models[keyParts[1]];
|
|
settingKey = keyParts[2];
|
|
}
|
|
|
|
var dynamicSettings = settingsModel.get('__dynamic__'),
|
|
isDynamic = dynamicSettings && dynamicSettings[settingKey];
|
|
|
|
if (isDynamic) {
|
|
return;
|
|
}
|
|
|
|
this.$currentEditingArea = $element;
|
|
var elementData = this.$currentEditingArea.data(),
|
|
elementDataToolbar = elementData.elementorInlineEditingToolbar,
|
|
mode = 'advanced' === elementDataToolbar ? 'advanced' : 'basic',
|
|
editModel = this.view.getEditModel(),
|
|
inlineEditingConfig = elementor.config.inlineEditing,
|
|
contentHTML = editModel.getSetting(this.getEditingSettingKey());
|
|
|
|
if ('advanced' === mode) {
|
|
contentHTML = wp.editor.autop(contentHTML);
|
|
}
|
|
/**
|
|
* Replace rendered content with unrendered content.
|
|
* This way the user can edit the original content, before shortcodes and oEmbeds are fired.
|
|
*/
|
|
|
|
|
|
this.$currentEditingArea.html(contentHTML);
|
|
var ElementorInlineEditor = elementorFrontend.elements.window.ElementorInlineEditor;
|
|
this.editing = true;
|
|
this.view.allowRender = false; // Avoid retrieving of old content (e.g. in case of sorting)
|
|
|
|
this.view.model.setHtmlCache('');
|
|
this.editor = new ElementorInlineEditor({
|
|
linksInNewWindow: true,
|
|
stay: false,
|
|
editor: this.$currentEditingArea[0],
|
|
mode: mode,
|
|
list: 'none' === elementDataToolbar ? [] : inlineEditingConfig.toolbar[elementDataToolbar || 'basic'],
|
|
cleanAttrs: ['id', 'class', 'name'],
|
|
placeholder: elementor.translate('type_here') + '...',
|
|
toolbarIconsPrefix: 'eicon-editor-',
|
|
toolbarIconsDictionary: {
|
|
externalLink: {
|
|
className: 'eicon-editor-external-link'
|
|
},
|
|
list: {
|
|
className: 'eicon-editor-list-ul'
|
|
},
|
|
insertOrderedList: {
|
|
className: 'eicon-editor-list-ol'
|
|
},
|
|
insertUnorderedList: {
|
|
className: 'eicon-editor-list-ul'
|
|
},
|
|
createlink: {
|
|
className: 'eicon-editor-link'
|
|
},
|
|
unlink: {
|
|
className: 'eicon-editor-unlink'
|
|
},
|
|
blockquote: {
|
|
className: 'eicon-editor-quote'
|
|
},
|
|
p: {
|
|
className: 'eicon-editor-paragraph'
|
|
},
|
|
pre: {
|
|
className: 'eicon-editor-code'
|
|
}
|
|
}
|
|
});
|
|
var $menuItems = jQuery(this.editor._menu).children();
|
|
/**
|
|
* When the edit area is not focused (on blur) the inline editing is stopped.
|
|
* In order to prevent blur event when the user clicks on toolbar buttons while editing the
|
|
* content, we need the prevent their mousedown event. This also prevents the blur event.
|
|
*/
|
|
|
|
$menuItems.on('mousedown', function (event) {
|
|
event.preventDefault();
|
|
});
|
|
this.$currentEditingArea.on('blur', this.onInlineEditingBlur);
|
|
elementorCommon.elements.$body.on('mousedown', this.onInlineEditingBlur);
|
|
},
|
|
stopEditing: function stopEditing() {
|
|
this.editing = false;
|
|
this.$currentEditingArea.off('blur', this.onInlineEditingBlur);
|
|
elementorCommon.elements.$body.off('mousedown', this.onInlineEditingBlur);
|
|
this.editor.destroy();
|
|
this.view.allowRender = true;
|
|
/**
|
|
* Inline editing has several toolbar types (advanced, basic and none). When editing is stopped,
|
|
* we need to rerender the area. To prevent multiple renderings, we will render only areas that
|
|
* use advanced toolbars.
|
|
*/
|
|
|
|
if ('advanced' === this.$currentEditingArea.data().elementorInlineEditingToolbar) {
|
|
this.view.getEditModel().renderRemoteServer();
|
|
}
|
|
},
|
|
onInlineEditingClick: function onInlineEditingClick(event) {
|
|
var self = this,
|
|
$targetElement = jQuery(event.currentTarget);
|
|
/**
|
|
* When starting inline editing we need to set timeout, this allows other inline items to finish
|
|
* their operations before focusing new editing area.
|
|
*/
|
|
|
|
setTimeout(function () {
|
|
self.startEditing($targetElement);
|
|
}, 30);
|
|
},
|
|
onInlineEditingBlur: function onInlineEditingBlur(event) {
|
|
var _this = this;
|
|
|
|
if ('mousedown' === event.type) {
|
|
this.stopEditing();
|
|
return;
|
|
}
|
|
/**
|
|
* When exiting inline editing we need to set timeout, to make sure there is no focus on internal
|
|
* toolbar action. This prevent the blur and allows the user to continue the inline editing.
|
|
*/
|
|
|
|
|
|
setTimeout(function () {
|
|
var selection = elementorFrontend.elements.window.getSelection(),
|
|
$focusNode = jQuery(selection.focusNode);
|
|
|
|
if ($focusNode.closest('.pen-input-wrapper').length) {
|
|
return;
|
|
}
|
|
|
|
_this.stopEditing();
|
|
}, 20);
|
|
},
|
|
onInlineEditingUpdate: function onInlineEditingUpdate() {
|
|
var key = this.getEditingSettingKey(),
|
|
container = this.view.getContainer();
|
|
var parts = key.split('.'); // Is it repeater?
|
|
|
|
if (3 === parts.length) {
|
|
container = container.children[parts[1]];
|
|
key = parts[2];
|
|
}
|
|
|
|
$e.run('document/elements/settings', {
|
|
container: container,
|
|
settings: (0, _defineProperty2.default)({}, key, this.editor.getContent()),
|
|
options: {
|
|
external: true
|
|
}
|
|
});
|
|
}
|
|
});
|
|
module.exports = InlineEditingBehavior;
|
|
|
|
/***/ }),
|
|
/* 588 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsElementsView;
|
|
PanelElementsElementsView = Marionette.CollectionView.extend({
|
|
childView: __webpack_require__(387),
|
|
id: 'elementor-panel-elements',
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.panelElements, 'filter:change', this.onFilterChanged);
|
|
},
|
|
filter: function filter(childModel) {
|
|
var filterValue = elementor.channels.panelElements.request('filter:value');
|
|
|
|
if (!filterValue) {
|
|
return true;
|
|
}
|
|
|
|
if (-1 !== childModel.get('title').toLowerCase().indexOf(filterValue.toLowerCase())) {
|
|
return true;
|
|
}
|
|
|
|
return _.any(childModel.get('keywords'), function (keyword) {
|
|
return -1 !== keyword.toLowerCase().indexOf(filterValue.toLowerCase());
|
|
});
|
|
},
|
|
onFilterChanged: function onFilterChanged() {
|
|
var filterValue = elementor.channels.panelElements.request('filter:value');
|
|
|
|
if (!filterValue) {
|
|
this.onFilterEmpty();
|
|
}
|
|
|
|
this._renderChildren();
|
|
|
|
this.triggerMethod('children:render');
|
|
},
|
|
onFilterEmpty: function onFilterEmpty() {
|
|
$e.routes.refreshContainer('panel');
|
|
}
|
|
});
|
|
module.exports = PanelElementsElementsView;
|
|
|
|
/***/ }),
|
|
/* 589 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(120);
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(60);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _stringify = _interopRequireDefault(__webpack_require__(206));
|
|
|
|
module.exports = elementorModules.Module.extend({
|
|
CACHE_KEY_NOT_FOUND_ERROR: 'Cache key not found',
|
|
tags: {
|
|
Base: __webpack_require__(590)
|
|
},
|
|
cache: {},
|
|
cacheRequests: {},
|
|
cacheCallbacks: [],
|
|
addCacheRequest: function addCacheRequest(tag) {
|
|
this.cacheRequests[this.createCacheKey(tag)] = true;
|
|
},
|
|
createCacheKey: function createCacheKey(tag) {
|
|
return btoa(tag.getOption('name')) + '-' + btoa(encodeURIComponent((0, _stringify.default)(tag.model)));
|
|
},
|
|
loadTagDataFromCache: function loadTagDataFromCache(tag) {
|
|
var cacheKey = this.createCacheKey(tag);
|
|
|
|
if (undefined !== this.cache[cacheKey]) {
|
|
return this.cache[cacheKey];
|
|
}
|
|
|
|
if (!this.cacheRequests[cacheKey]) {
|
|
this.addCacheRequest(tag);
|
|
}
|
|
},
|
|
loadCacheRequests: function loadCacheRequests() {
|
|
var cache = this.cache,
|
|
cacheRequests = this.cacheRequests,
|
|
cacheCallbacks = this.cacheCallbacks;
|
|
this.cacheRequests = {};
|
|
this.cacheCallbacks = [];
|
|
elementorCommon.ajax.addRequest('render_tags', {
|
|
data: {
|
|
post_id: elementor.config.document.id,
|
|
tags: (0, _keys.default)(cacheRequests)
|
|
},
|
|
success: function success(data) {
|
|
jQuery.extend(cache, data);
|
|
cacheCallbacks.forEach(function (callback) {
|
|
callback();
|
|
});
|
|
}
|
|
});
|
|
},
|
|
refreshCacheFromServer: function refreshCacheFromServer(callback) {
|
|
this.cacheCallbacks.push(callback);
|
|
this.loadCacheRequests();
|
|
},
|
|
getConfig: function getConfig(key) {
|
|
return this.getItems(elementor.config.dynamicTags, key);
|
|
},
|
|
parseTagsText: function parseTagsText(text, settings, parseCallback) {
|
|
var self = this;
|
|
|
|
if ('object' === settings.returnType) {
|
|
return self.parseTagText(text, settings, parseCallback);
|
|
}
|
|
|
|
return text.replace(/\[elementor-tag[^\]]+]/g, function (tagText) {
|
|
return self.parseTagText(tagText, settings, parseCallback);
|
|
});
|
|
},
|
|
parseTagText: function parseTagText(tagText, settings, parseCallback) {
|
|
var tagData = this.tagTextToTagData(tagText);
|
|
|
|
if (!tagData) {
|
|
if ('object' === settings.returnType) {
|
|
return {};
|
|
}
|
|
|
|
return '';
|
|
}
|
|
|
|
return parseCallback(tagData.id, tagData.name, tagData.settings);
|
|
},
|
|
tagTextToTagData: function tagTextToTagData(tagText) {
|
|
var tagIDMatch = tagText.match(/id="(.*?(?="))"/),
|
|
tagNameMatch = tagText.match(/name="(.*?(?="))"/),
|
|
tagSettingsMatch = tagText.match(/settings="(.*?(?="]))/);
|
|
|
|
if (!tagIDMatch || !tagNameMatch || !tagSettingsMatch) {
|
|
return false;
|
|
}
|
|
|
|
return {
|
|
id: tagIDMatch[1],
|
|
name: tagNameMatch[1],
|
|
settings: JSON.parse(decodeURIComponent(tagSettingsMatch[1]))
|
|
};
|
|
},
|
|
createTag: function createTag(tagID, tagName, tagSettings) {
|
|
var tagConfig = this.getConfig('tags.' + tagName);
|
|
|
|
if (!tagConfig) {
|
|
return;
|
|
}
|
|
|
|
var TagClass = this.tags[tagName] || this.tags.Base,
|
|
model = new elementorModules.editor.elements.models.BaseSettings(tagSettings, {
|
|
controls: tagConfig.controls
|
|
});
|
|
return new TagClass({
|
|
id: tagID,
|
|
name: tagName,
|
|
model: model
|
|
});
|
|
},
|
|
getTagDataContent: function getTagDataContent(tagID, tagName, tagSettings) {
|
|
var tag = this.createTag(tagID, tagName, tagSettings);
|
|
|
|
if (!tag) {
|
|
return;
|
|
}
|
|
|
|
return tag.getContent();
|
|
},
|
|
tagDataToTagText: function tagDataToTagText(tagID, tagName, tagSettings) {
|
|
tagSettings = encodeURIComponent((0, _stringify.default)(tagSettings && tagSettings.toJSON({
|
|
remove: ['default']
|
|
}) || {}));
|
|
return '[elementor-tag id="' + tagID + '" name="' + tagName + '" settings="' + tagSettings + '"]';
|
|
},
|
|
tagContainerToTagText: function tagContainerToTagText(
|
|
/**Container*/
|
|
container) {
|
|
return elementor.dynamicTags.tagDataToTagText(container.view.getOption('id'), container.view.getOption('name'), container.view.model);
|
|
},
|
|
cleanCache: function cleanCache() {
|
|
this.cache = {};
|
|
},
|
|
onInit: function onInit() {
|
|
this.loadCacheRequests = _.debounce(this.loadCacheRequests, 300);
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 590 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
hasTemplate: true,
|
|
tagName: 'span',
|
|
className: function className() {
|
|
return 'elementor-tag';
|
|
},
|
|
getTemplate: function getTemplate() {
|
|
if (!this.hasTemplate) {
|
|
return false;
|
|
}
|
|
|
|
return Marionette.TemplateCache.get('#tmpl-elementor-tag-' + this.getOption('name') + '-content');
|
|
},
|
|
initialize: function initialize() {
|
|
try {
|
|
this.getTemplate();
|
|
} catch (e) {
|
|
this.hasTemplate = false;
|
|
}
|
|
},
|
|
getConfig: function getConfig(key) {
|
|
var config = elementor.dynamicTags.getConfig('tags.' + this.getOption('name'));
|
|
|
|
if (key) {
|
|
return config[key];
|
|
}
|
|
|
|
return config;
|
|
},
|
|
getContent: function getContent() {
|
|
var contentType = this.getConfig('content_type'),
|
|
data;
|
|
|
|
if (!this.hasTemplate) {
|
|
data = elementor.dynamicTags.loadTagDataFromCache(this);
|
|
|
|
if (undefined === data) {
|
|
throw new Error(elementor.dynamicTags.CACHE_KEY_NOT_FOUND_ERROR);
|
|
}
|
|
}
|
|
|
|
if ('ui' === contentType) {
|
|
this.render();
|
|
|
|
if (this.hasTemplate) {
|
|
return this.el.outerHTML;
|
|
}
|
|
|
|
if (this.getConfig('wrapped_tag')) {
|
|
data = jQuery(data).html();
|
|
}
|
|
|
|
this.$el.html(data);
|
|
}
|
|
|
|
return data;
|
|
},
|
|
onRender: function onRender() {
|
|
this.el.id = 'elementor-tag-' + this.getOption('id');
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 591 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _manager = _interopRequireDefault(__webpack_require__(592));
|
|
|
|
module.exports = elementorModules.Module.extend({
|
|
modules: {
|
|
base: __webpack_require__(335),
|
|
page: __webpack_require__(593),
|
|
editorPreferences: _manager.default
|
|
},
|
|
panelPages: {
|
|
base: __webpack_require__(595)
|
|
},
|
|
onInit: function onInit() {
|
|
this.initSettings();
|
|
},
|
|
initSettings: function initSettings() {
|
|
var self = this;
|
|
|
|
_.each(elementor.config.settings, function (config, name) {
|
|
var Manager = self.modules[name] || self.modules.base;
|
|
self[name] = new Manager(config);
|
|
});
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 592 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _manager = _interopRequireDefault(__webpack_require__(335));
|
|
|
|
var _default = /*#__PURE__*/function (_BaseManager) {
|
|
(0, _inherits2.default)(_default, _BaseManager);
|
|
|
|
var _super = (0, _createSuper2.default)(_default);
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "getDefaultSettings",
|
|
value: function getDefaultSettings() {
|
|
return {
|
|
darkModeLinkID: 'elementor-editor-dark-mode-css'
|
|
};
|
|
}
|
|
}]);
|
|
|
|
function _default() {
|
|
var _this;
|
|
|
|
(0, _classCallCheck2.default)(this, _default);
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
_this.changeCallbacks = {
|
|
ui_theme: _this.onUIThemeChanged,
|
|
panel_width: _this.onPanelWidthChanged,
|
|
edit_buttons: _this.onEditButtonsChanged
|
|
};
|
|
return _this;
|
|
}
|
|
|
|
(0, _createClass2.default)(_default, [{
|
|
key: "createDarkModeStylesheetLink",
|
|
value: function createDarkModeStylesheetLink() {
|
|
var darkModeLinkID = this.getSettings('darkModeLinkID');
|
|
var $darkModeLink = jQuery('#' + darkModeLinkID);
|
|
|
|
if (!$darkModeLink.length) {
|
|
$darkModeLink = jQuery('<link>', {
|
|
id: darkModeLinkID,
|
|
rel: 'stylesheet',
|
|
href: elementor.config.ui.darkModeStylesheetURL
|
|
});
|
|
}
|
|
|
|
this.$link = $darkModeLink;
|
|
}
|
|
}, {
|
|
key: "getDarkModeStylesheetLink",
|
|
value: function getDarkModeStylesheetLink() {
|
|
if (!this.$link) {
|
|
this.createDarkModeStylesheetLink();
|
|
}
|
|
|
|
return this.$link;
|
|
}
|
|
}, {
|
|
key: "onUIThemeChanged",
|
|
value: function onUIThemeChanged(newValue) {
|
|
var $link = this.getDarkModeStylesheetLink();
|
|
|
|
if ('light' === newValue) {
|
|
$link.remove();
|
|
return;
|
|
}
|
|
|
|
$link.attr('media', 'auto' === newValue ? '(prefers-color-scheme: dark)' : '').appendTo(elementorCommon.elements.$body);
|
|
}
|
|
}, {
|
|
key: "onPanelWidthChanged",
|
|
value: function onPanelWidthChanged(newValue) {
|
|
elementor.panel.saveSize({
|
|
width: newValue.size + newValue.unit
|
|
});
|
|
elementor.panel.setSize();
|
|
}
|
|
}, {
|
|
key: "onEditButtonsChanged",
|
|
value: function onEditButtonsChanged() {
|
|
// Let the button change before the high-performance action of rendering the entire page
|
|
setTimeout(function () {
|
|
return elementor.getPreviewView()._renderChildren();
|
|
}, 300);
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(_manager.default);
|
|
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 593 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(26);
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(594));
|
|
|
|
var BaseSettings = __webpack_require__(335);
|
|
|
|
module.exports = BaseSettings.extend({
|
|
getStyleId: function getStyleId() {
|
|
return this.getSettings('name') + '-' + elementor.documents.getCurrent().id;
|
|
},
|
|
onInit: function onInit() {
|
|
BaseSettings.prototype.onInit.apply(this);
|
|
$e.components.register(new _component.default({
|
|
manager: this
|
|
}));
|
|
},
|
|
save: function save() {},
|
|
changeCallbacks: {
|
|
post_title: function post_title(newValue) {
|
|
var $title = elementorFrontend.elements.$document.find(elementor.config.page_title_selector);
|
|
$title.text(newValue);
|
|
},
|
|
template: function template() {
|
|
$e.run('document/save/auto', {
|
|
force: true,
|
|
onSuccess: function onSuccess() {
|
|
elementor.reloadPreview();
|
|
elementor.once('preview:loaded', function () {
|
|
$e.route('panel/page-settings/settings');
|
|
});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
getDataToSave: function getDataToSave(data) {
|
|
data.id = elementor.config.document.id;
|
|
return data;
|
|
},
|
|
// Emulate an element view/model structure with the parts needed for a container.
|
|
getEditedView: function getEditedView() {
|
|
var _this = this;
|
|
|
|
if (this.editedView) {
|
|
return this.editedView;
|
|
}
|
|
|
|
var id = this.getContainerId(),
|
|
editModel = new Backbone.Model({
|
|
id: id,
|
|
elType: id,
|
|
settings: this.model,
|
|
elements: elementor.elements
|
|
});
|
|
var container = new elementorModules.editor.Container({
|
|
type: id,
|
|
id: editModel.id,
|
|
model: editModel,
|
|
settings: editModel.get('settings'),
|
|
label: elementor.config.document.panel.title,
|
|
controls: this.model.controls,
|
|
children: elementor.elements,
|
|
// Emulate a view that can render the style.
|
|
renderer: {
|
|
view: {
|
|
lookup: function lookup() {
|
|
return container;
|
|
},
|
|
renderOnChange: function renderOnChange() {
|
|
return _this.updateStylesheet();
|
|
},
|
|
renderUI: function renderUI() {
|
|
return _this.updateStylesheet();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
this.editedView = {
|
|
getContainer: function getContainer() {
|
|
return container;
|
|
},
|
|
getEditModel: function getEditModel() {
|
|
return editModel;
|
|
},
|
|
model: editModel
|
|
};
|
|
return this.editedView;
|
|
},
|
|
getContainerId: function getContainerId() {
|
|
return 'document';
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 594 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/page-settings';
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {
|
|
settings: {
|
|
title: elementor.translate('settings')
|
|
},
|
|
style: {
|
|
title: elementor.translate('style')
|
|
},
|
|
advanced: {
|
|
title: elementor.translate('advanced')
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab) {
|
|
elementor.getPanelView().setPage('page_settings').activateTab(tab);
|
|
}
|
|
}, {
|
|
key: "getTabsWrapperSelector",
|
|
value: function getTabsWrapperSelector() {
|
|
return '.elementor-panel-navigation';
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 595 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = elementorModules.editor.views.ControlsStack.extend({
|
|
id: function id() {
|
|
return 'elementor-panel-' + this.getOption('name') + '-settings';
|
|
},
|
|
getTemplate: function getTemplate() {
|
|
return '#tmpl-elementor-panel-' + this.getOption('name') + '-settings';
|
|
},
|
|
childViewContainer: function childViewContainer() {
|
|
return '#elementor-panel-' + this.getOption('name') + '-settings-controls';
|
|
},
|
|
childViewOptions: function childViewOptions() {
|
|
return {
|
|
container: this.getOption('editedView').getContainer()
|
|
};
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 596 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _parseInt2 = _interopRequireDefault(__webpack_require__(213));
|
|
|
|
module.exports = elementorModules.Module.extend({
|
|
initToast: function initToast() {
|
|
var toast = elementorCommon.dialogsManager.createWidget('buttons', {
|
|
id: 'elementor-toast',
|
|
position: {
|
|
my: 'center bottom',
|
|
at: 'center bottom-10',
|
|
of: '#elementor-panel-content-wrapper',
|
|
autoRefresh: true
|
|
},
|
|
hide: {
|
|
onClick: true,
|
|
auto: true,
|
|
autoDelay: 10000
|
|
},
|
|
effects: {
|
|
show: function show() {
|
|
var $widget = toast.getElements('widget');
|
|
$widget.show();
|
|
toast.refreshPosition();
|
|
var top = (0, _parseInt2.default)($widget.css('top'), 10);
|
|
$widget.hide().css('top', top + 100);
|
|
$widget.animate({
|
|
opacity: 'show',
|
|
height: 'show',
|
|
paddingBottom: 'show',
|
|
paddingTop: 'show',
|
|
top: top
|
|
}, {
|
|
easing: 'linear',
|
|
duration: 300
|
|
});
|
|
},
|
|
hide: function hide() {
|
|
var $widget = toast.getElements('widget'),
|
|
top = (0, _parseInt2.default)($widget.css('top'), 10);
|
|
$widget.animate({
|
|
opacity: 'hide',
|
|
height: 'hide',
|
|
paddingBottom: 'hide',
|
|
paddingTop: 'hide',
|
|
top: top + 100
|
|
}, {
|
|
easing: 'linear',
|
|
duration: 300
|
|
});
|
|
}
|
|
},
|
|
button: {
|
|
tag: 'div'
|
|
}
|
|
});
|
|
|
|
this.getToast = function () {
|
|
return toast;
|
|
};
|
|
},
|
|
showToast: function showToast(options) {
|
|
var toast = this.getToast();
|
|
toast.setMessage(options.message);
|
|
toast.getElements('buttonsWrapper').empty();
|
|
|
|
if (options.buttons) {
|
|
options.buttons.forEach(function (button) {
|
|
toast.addButton(button);
|
|
});
|
|
} else {
|
|
toast.getElements('buttonsWrapper').remove();
|
|
}
|
|
|
|
if (options.classes) {
|
|
toast.getElements('widget').addClass(options.classes);
|
|
}
|
|
|
|
toast.show();
|
|
},
|
|
onInit: function onInit() {
|
|
this.initToast();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 597 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var BaseRegion = __webpack_require__(371);
|
|
|
|
module.exports = BaseRegion.extend({
|
|
el: '#elementor-panel',
|
|
getStorageKey: function getStorageKey() {
|
|
return 'panel';
|
|
},
|
|
getDefaultStorage: function getDefaultStorage() {
|
|
return {
|
|
size: {
|
|
width: ''
|
|
}
|
|
};
|
|
},
|
|
constructor: function constructor() {
|
|
BaseRegion.prototype.constructor.apply(this, arguments);
|
|
|
|
var PanelLayoutView = __webpack_require__(598);
|
|
|
|
this.show(new PanelLayoutView());
|
|
this.resizable();
|
|
this.setSize();
|
|
this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeSwitched);
|
|
},
|
|
setSize: function setSize() {
|
|
var width = this.storage.size.width,
|
|
side = elementorCommon.config.isRTL ? 'right' : 'left';
|
|
this.$el.css('width', width);
|
|
elementor.$previewWrapper.css(side, width);
|
|
},
|
|
resizable: function resizable() {
|
|
var self = this,
|
|
side = elementorCommon.config.isRTL ? 'right' : 'left';
|
|
self.$el.resizable({
|
|
handles: elementorCommon.config.isRTL ? 'w' : 'e',
|
|
minWidth: 200,
|
|
maxWidth: 680,
|
|
start: function start() {
|
|
elementor.$previewWrapper.addClass('ui-resizable-resizing');
|
|
},
|
|
stop: function stop() {
|
|
elementor.$previewWrapper.removeClass('ui-resizable-resizing');
|
|
elementor.getPanelView().updateScrollbar();
|
|
self.saveSize();
|
|
},
|
|
resize: function resize(event, ui) {
|
|
elementor.$previewWrapper.css(side, ui.size.width);
|
|
}
|
|
});
|
|
},
|
|
onEditModeSwitched: function onEditModeSwitched(activeMode) {
|
|
if ('edit' !== activeMode) {
|
|
return;
|
|
}
|
|
|
|
this.setSize();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 598 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _component = _interopRequireDefault(__webpack_require__(599));
|
|
|
|
var _component2 = _interopRequireDefault(__webpack_require__(612));
|
|
|
|
var _component3 = _interopRequireDefault(__webpack_require__(613));
|
|
|
|
var EditModeItemView = __webpack_require__(616),
|
|
PanelLayoutView;
|
|
|
|
PanelLayoutView = Marionette.LayoutView.extend({
|
|
template: '#tmpl-elementor-panel',
|
|
id: 'elementor-panel-inner',
|
|
regions: {
|
|
content: '#elementor-panel-content-wrapper',
|
|
header: '#elementor-panel-header-wrapper',
|
|
footer: '#elementor-panel-footer',
|
|
modeSwitcher: '#elementor-mode-switcher'
|
|
},
|
|
pages: {},
|
|
childEvents: {
|
|
'click:add': function clickAdd() {
|
|
$e.route('panel/elements/categories');
|
|
},
|
|
'editor:destroy': function editorDestroy() {
|
|
$e.route('panel/elements/categories', {
|
|
autoFocusSearch: false
|
|
});
|
|
}
|
|
},
|
|
currentPageName: null,
|
|
currentPageView: null,
|
|
perfectScrollbar: null,
|
|
initialize: function initialize() {
|
|
$e.components.register(new _component.default({
|
|
manager: this
|
|
}));
|
|
$e.internal('panel/state-loading');
|
|
$e.components.register(new _component2.default({
|
|
manager: this
|
|
}));
|
|
$e.components.register(new _component3.default({
|
|
manager: this
|
|
}));
|
|
this.initPages();
|
|
},
|
|
buildPages: function buildPages() {
|
|
var pages = {
|
|
elements: {
|
|
view: __webpack_require__(617),
|
|
title: '<img src="' + elementorCommon.config.urls.assets + 'images/logo-panel.svg">'
|
|
},
|
|
editor: {
|
|
view: __webpack_require__(622)
|
|
},
|
|
menu: {
|
|
view: elementor.modules.layouts.panel.pages.menu.Menu,
|
|
title: '<img src="' + elementorCommon.config.urls.assets + 'images/logo-panel.svg">'
|
|
},
|
|
colorScheme: {
|
|
view: __webpack_require__(623)
|
|
},
|
|
typographyScheme: {
|
|
view: __webpack_require__(626)
|
|
}
|
|
};
|
|
|
|
var schemesTypes = (0, _keys.default)(elementor.schemes.getSchemes()),
|
|
disabledSchemes = _.difference(schemesTypes, elementor.schemes.getEnabledSchemesTypes());
|
|
|
|
_.each(disabledSchemes, function (schemeType) {
|
|
var scheme = elementor.schemes.getScheme(schemeType);
|
|
pages[schemeType + 'Scheme'].view = __webpack_require__(627).extend({
|
|
disabledTitle: scheme.disabled_title
|
|
});
|
|
});
|
|
|
|
return pages;
|
|
},
|
|
initPages: function initPages() {
|
|
var pages;
|
|
|
|
this.getPages = function (page) {
|
|
if (!pages) {
|
|
pages = this.buildPages();
|
|
}
|
|
|
|
return page ? pages[page] : pages;
|
|
};
|
|
|
|
this.addPage = function (pageName, pageData) {
|
|
if (!pages) {
|
|
pages = this.buildPages();
|
|
}
|
|
|
|
pages[pageName] = pageData;
|
|
};
|
|
},
|
|
getHeaderView: function getHeaderView() {
|
|
return this.getChildView('header');
|
|
},
|
|
getFooterView: function getFooterView() {
|
|
return this.getChildView('footer');
|
|
},
|
|
getCurrentPageName: function getCurrentPageName() {
|
|
return this.currentPageName;
|
|
},
|
|
getCurrentPageView: function getCurrentPageView() {
|
|
return this.currentPageView;
|
|
},
|
|
setPage: function setPage(page, title, viewOptions) {
|
|
var pages = this.getPages();
|
|
|
|
if ('elements' === page && !elementor.userCan('design')) {
|
|
if (pages.page_settings) {
|
|
page = 'page_settings';
|
|
}
|
|
}
|
|
|
|
var pageData = pages[page];
|
|
|
|
if (!pageData) {
|
|
throw new ReferenceError('Elementor panel doesn\'t have page named \'' + page + '\'');
|
|
}
|
|
|
|
if (pageData.options) {
|
|
viewOptions = _.extend(pageData.options, viewOptions);
|
|
}
|
|
|
|
var View = pageData.view;
|
|
|
|
if (pageData.getView) {
|
|
View = pageData.getView();
|
|
}
|
|
|
|
this.currentPageName = page;
|
|
this.currentPageView = new View(viewOptions);
|
|
this.showChildView('content', this.currentPageView);
|
|
this.getHeaderView().setTitle(title || pageData.title);
|
|
this.trigger('set:page', this.currentPageView).trigger('set:page:' + page, this.currentPageView);
|
|
|
|
if (elementor.promotion.dialog) {
|
|
elementor.promotion.dialog.hide();
|
|
}
|
|
|
|
return this.currentPageView;
|
|
},
|
|
onBeforeShow: function onBeforeShow() {
|
|
var PanelFooterItemView = __webpack_require__(628),
|
|
PanelHeaderItemView = __webpack_require__(629); // Edit Mode
|
|
|
|
|
|
this.showChildView('modeSwitcher', new EditModeItemView()); // Header
|
|
|
|
this.showChildView('header', new PanelHeaderItemView()); // Footer
|
|
|
|
this.showChildView('footer', new PanelFooterItemView()); // Added Editor events
|
|
|
|
this.updateScrollbar = _.throttle(this.updateScrollbar, 100);
|
|
this.getRegion('content').on('before:show', this.onEditorBeforeShow.bind(this)).on('empty', this.onEditorEmpty.bind(this)).on('show', this.updateScrollbar.bind(this));
|
|
},
|
|
onEditorBeforeShow: function onEditorBeforeShow() {
|
|
_.defer(this.updateScrollbar.bind(this));
|
|
},
|
|
onEditorEmpty: function onEditorEmpty() {
|
|
this.updateScrollbar();
|
|
},
|
|
updateScrollbar: function updateScrollbar() {
|
|
if (!this.perfectScrollbar) {
|
|
this.perfectScrollbar = new PerfectScrollbar(this.content.el, {
|
|
suppressScrollX: true
|
|
}); // The RTL is buggy, so always keep it LTR.
|
|
|
|
this.perfectScrollbar.isRtl = false;
|
|
return;
|
|
}
|
|
|
|
this.perfectScrollbar.update();
|
|
}
|
|
});
|
|
module.exports = PanelLayoutView;
|
|
|
|
/***/ }),
|
|
/* 599 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(600));
|
|
|
|
var commandsInternal = _interopRequireWildcard(__webpack_require__(608));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel';
|
|
}
|
|
}, {
|
|
key: "defaultRoutes",
|
|
value: function defaultRoutes() {
|
|
var _this = this;
|
|
|
|
return {
|
|
menu: function menu() {
|
|
return _this.manager.setPage('menu');
|
|
},
|
|
'global-colors': function globalColors() {
|
|
return _this.manager.setPage('colorScheme');
|
|
},
|
|
'global-fonts': function globalFonts() {
|
|
return _this.manager.setPage('typographyScheme');
|
|
},
|
|
'editor-preferences': function editorPreferences() {
|
|
return _this.manager.setPage('editorPreferences_settings').activateTab('settings');
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultCommandsInternal",
|
|
value: function defaultCommandsInternal() {
|
|
return this.importCommands(commandsInternal);
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "defaultShortcuts",
|
|
value: function defaultShortcuts() {
|
|
return {
|
|
toggle: {
|
|
keys: 'ctrl+p'
|
|
},
|
|
save: {
|
|
keys: 'ctrl+s'
|
|
},
|
|
exit: {
|
|
keys: 'esc',
|
|
// TODO: replace dependency with scopes.
|
|
dependency: function dependency() {
|
|
return !jQuery('.dialog-widget:visible').length;
|
|
},
|
|
scopes: ['panel', 'preview']
|
|
},
|
|
'change-device-mode': {
|
|
keys: 'ctrl+shift+m'
|
|
}
|
|
};
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 600 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "ChangeDeviceMode", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _changeDeviceMode.ChangeDeviceMode;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Close", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _close.Close;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Exit", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _exit.Exit;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Publish", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _publish.Publish;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Save", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _save.Save;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Toggle", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _toggle.Toggle;
|
|
}
|
|
});
|
|
|
|
var _changeDeviceMode = __webpack_require__(601);
|
|
|
|
var _close = __webpack_require__(602);
|
|
|
|
var _exit = __webpack_require__(603);
|
|
|
|
var _open = __webpack_require__(604);
|
|
|
|
var _publish = __webpack_require__(605);
|
|
|
|
var _save = __webpack_require__(606);
|
|
|
|
var _toggle = __webpack_require__(607);
|
|
|
|
/***/ }),
|
|
/* 601 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.ChangeDeviceMode = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var ChangeDeviceMode = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(ChangeDeviceMode, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(ChangeDeviceMode);
|
|
|
|
function ChangeDeviceMode() {
|
|
(0, _classCallCheck2.default)(this, ChangeDeviceMode);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(ChangeDeviceMode, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var devices = ['desktop', 'tablet', 'mobile'];
|
|
var device = args.device;
|
|
|
|
if (!device) {
|
|
var currentDeviceMode = elementor.channels.deviceMode.request('currentMode');
|
|
var modeIndex = devices.indexOf(currentDeviceMode);
|
|
modeIndex++;
|
|
|
|
if (modeIndex >= devices.length) {
|
|
modeIndex = 0;
|
|
}
|
|
|
|
device = devices[modeIndex];
|
|
}
|
|
|
|
elementor.changeDeviceMode(device);
|
|
}
|
|
}]);
|
|
return ChangeDeviceMode;
|
|
}(_commandBase.default);
|
|
|
|
exports.ChangeDeviceMode = ChangeDeviceMode;
|
|
var _default = ChangeDeviceMode;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 602 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Close = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Close = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Close, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Close);
|
|
|
|
function Close() {
|
|
(0, _classCallCheck2.default)(this, Close);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Close, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementor.changeEditMode('preview');
|
|
}
|
|
}]);
|
|
return Close;
|
|
}(_commandBase.default);
|
|
|
|
exports.Close = Close;
|
|
var _default = Close;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 603 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Exit = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Exit = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Exit, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Exit);
|
|
|
|
function Exit() {
|
|
(0, _classCallCheck2.default)(this, Exit);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Exit, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
$e.route('panel/menu');
|
|
}
|
|
}]);
|
|
return Exit;
|
|
}(_commandBase.default);
|
|
|
|
exports.Exit = Exit;
|
|
var _default = Exit;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 604 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementor.changeEditMode('edit');
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 605 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Publish = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Publish = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Publish, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Publish);
|
|
|
|
function Publish() {
|
|
(0, _classCallCheck2.default)(this, Publish);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Publish, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
$e.run('document/save/publish');
|
|
}
|
|
}]);
|
|
return Publish;
|
|
}(_commandBase.default);
|
|
|
|
exports.Publish = Publish;
|
|
var _default = Publish;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 606 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Save = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Save = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Save, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Save);
|
|
|
|
function Save() {
|
|
(0, _classCallCheck2.default)(this, Save);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Save, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
$e.run('document/save/draft');
|
|
}
|
|
}]);
|
|
return Save;
|
|
}(_commandBase.default);
|
|
|
|
exports.Save = Save;
|
|
var _default = Save;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 607 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Toggle = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Toggle = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Toggle, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Toggle);
|
|
|
|
function Toggle() {
|
|
(0, _classCallCheck2.default)(this, Toggle);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Toggle, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementor.getPanelView().modeSwitcher.currentView.toggleMode();
|
|
}
|
|
}]);
|
|
return Toggle;
|
|
}(_commandBase.default);
|
|
|
|
exports.Toggle = Toggle;
|
|
var _default = Toggle;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 608 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "OpenDefault", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _openDefault.OpenDefault;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "StateLoading", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _stateLoading.StateLoading;
|
|
}
|
|
});
|
|
|
|
_Object$defineProperty(exports, "StateReady", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _stateReady.StateReady;
|
|
}
|
|
});
|
|
|
|
var _openDefault = __webpack_require__(609);
|
|
|
|
var _stateLoading = __webpack_require__(610);
|
|
|
|
var _stateReady = __webpack_require__(611);
|
|
|
|
/***/ }),
|
|
/* 609 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.OpenDefault = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandInternalBase = _interopRequireDefault(__webpack_require__(203));
|
|
|
|
var OpenDefault = /*#__PURE__*/function (_CommandInternalBase) {
|
|
(0, _inherits2.default)(OpenDefault, _CommandInternalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(OpenDefault);
|
|
|
|
function OpenDefault() {
|
|
(0, _classCallCheck2.default)(this, OpenDefault);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(OpenDefault, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
$e.route(elementor.documents.getCurrent().config.panel.default_route);
|
|
}
|
|
}]);
|
|
return OpenDefault;
|
|
}(_commandInternalBase.default);
|
|
|
|
exports.OpenDefault = OpenDefault;
|
|
var _default = OpenDefault;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 610 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.StateLoading = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandInternalBase = _interopRequireDefault(__webpack_require__(203));
|
|
|
|
var StateLoading = /*#__PURE__*/function (_CommandInternalBase) {
|
|
(0, _inherits2.default)(StateLoading, _CommandInternalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(StateLoading);
|
|
|
|
function StateLoading() {
|
|
(0, _classCallCheck2.default)(this, StateLoading);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(StateLoading, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementorCommon.elements.$body.addClass('elementor-panel-loading');
|
|
}
|
|
}]);
|
|
return StateLoading;
|
|
}(_commandInternalBase.default);
|
|
|
|
exports.StateLoading = StateLoading;
|
|
var _default = StateLoading;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 611 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.StateReady = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandInternalBase = _interopRequireDefault(__webpack_require__(203));
|
|
|
|
var StateReady = /*#__PURE__*/function (_CommandInternalBase) {
|
|
(0, _inherits2.default)(StateReady, _CommandInternalBase);
|
|
|
|
var _super = (0, _createSuper2.default)(StateReady);
|
|
|
|
function StateReady() {
|
|
(0, _classCallCheck2.default)(this, StateReady);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(StateReady, [{
|
|
key: "apply",
|
|
value: function apply() {
|
|
elementorCommon.elements.$body.removeClass('elementor-panel-loading');
|
|
}
|
|
}]);
|
|
return StateReady;
|
|
}(_commandInternalBase.default);
|
|
|
|
exports.StateReady = StateReady;
|
|
var _default = StateReady;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 612 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/elements';
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {
|
|
categories: {
|
|
title: elementor.translate('elements')
|
|
},
|
|
global: {
|
|
title: elementor.translate('global')
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "getTabsWrapperSelector",
|
|
value: function getTabsWrapperSelector() {
|
|
return '#elementor-panel-elements-navigation';
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab) {
|
|
this.manager.setPage('elements').showView(tab);
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 613 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireWildcard = __webpack_require__(38);
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = void 0;
|
|
|
|
var _keys = _interopRequireDefault(__webpack_require__(25));
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _componentBase = _interopRequireDefault(__webpack_require__(86));
|
|
|
|
var commands = _interopRequireWildcard(__webpack_require__(614));
|
|
|
|
var Component = /*#__PURE__*/function (_ComponentBase) {
|
|
(0, _inherits2.default)(Component, _ComponentBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Component);
|
|
|
|
function Component() {
|
|
(0, _classCallCheck2.default)(this, Component);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Component, [{
|
|
key: "__construct",
|
|
value: function __construct(args) {
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "__construct", this).call(this, args); // Remember last used tab.
|
|
|
|
this.activeTabs = {};
|
|
}
|
|
}, {
|
|
key: "getNamespace",
|
|
value: function getNamespace() {
|
|
return 'panel/editor';
|
|
}
|
|
}, {
|
|
key: "defaultTabs",
|
|
value: function defaultTabs() {
|
|
return {
|
|
content: {
|
|
title: elementor.translate('content')
|
|
},
|
|
style: {
|
|
title: elementor.translate('style')
|
|
},
|
|
advanced: {
|
|
title: elementor.translate('advanced')
|
|
},
|
|
layout: {
|
|
title: elementor.translate('layout')
|
|
}
|
|
};
|
|
}
|
|
}, {
|
|
key: "defaultCommands",
|
|
value: function defaultCommands() {
|
|
return this.importCommands(commands);
|
|
}
|
|
}, {
|
|
key: "getTabsWrapperSelector",
|
|
value: function getTabsWrapperSelector() {
|
|
return '.elementor-panel-navigation';
|
|
}
|
|
}, {
|
|
key: "renderTab",
|
|
value: function renderTab(tab, args) {
|
|
var model = args.model,
|
|
view = args.view,
|
|
title = elementor.translate('edit_element', [elementor.getElementData(model).title]);
|
|
elementor.getPanelView().setPage('editor', title, {
|
|
tab: tab,
|
|
model: model,
|
|
controls: elementor.getElementControls(model),
|
|
editedElementView: view
|
|
});
|
|
}
|
|
}, {
|
|
key: "activateTab",
|
|
value: function activateTab(tab, args) {
|
|
this.activeTabs[args.model.id] = tab;
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "activateTab", this).call(this, tab, args);
|
|
}
|
|
}, {
|
|
key: "setDefaultTab",
|
|
value: function setDefaultTab(args) {
|
|
var defaultTab;
|
|
var editSettings = args.model.get('editSettings');
|
|
|
|
if (this.activeTabs[args.model.id]) {
|
|
defaultTab = this.activeTabs[args.model.id];
|
|
} else if (editSettings && editSettings.get('defaultEditRoute')) {
|
|
defaultTab = editSettings.get('defaultEditRoute');
|
|
}
|
|
|
|
if (defaultTab) {
|
|
// Ensure tab is exist.
|
|
var controlsTabs = elementor.getElementData(args.model).tabs_controls; // Fallback to first tab.
|
|
|
|
if (!controlsTabs[defaultTab]) {
|
|
defaultTab = (0, _keys.default)(controlsTabs)[0];
|
|
}
|
|
|
|
this.setDefaultRoute(defaultTab);
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}]);
|
|
return Component;
|
|
}(_componentBase.default);
|
|
|
|
exports.default = Component;
|
|
|
|
/***/ }),
|
|
/* 614 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
_Object$defineProperty(exports, "Open", {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _open.Open;
|
|
}
|
|
});
|
|
|
|
var _open = __webpack_require__(615);
|
|
|
|
/***/ }),
|
|
/* 615 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.default = exports.Open = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _commandBase = _interopRequireDefault(__webpack_require__(23));
|
|
|
|
var Open = /*#__PURE__*/function (_CommandBase) {
|
|
(0, _inherits2.default)(Open, _CommandBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Open);
|
|
|
|
function Open() {
|
|
(0, _classCallCheck2.default)(this, Open);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Open, [{
|
|
key: "apply",
|
|
value: function apply(args) {
|
|
if (!this.component.setDefaultTab(args)) {
|
|
elementorCommon.helpers.softDeprecated("model.trigger( 'request:edit' )", '2.9.0', 'editSettings.defaultEditRoute');
|
|
args.model.trigger('request:edit');
|
|
} else {
|
|
$e.route(this.component.getDefaultRoute(), args);
|
|
} // BC: Run hooks after the route render's the view.
|
|
|
|
|
|
var action = 'panel/open_editor/' + args.model.get('elType'); // Example: panel/open_editor/widget
|
|
|
|
elementor.hooks.doAction(action, this.component.manager, args.model, args.view); // Example: panel/open_editor/widget/heading
|
|
|
|
elementor.hooks.doAction(action + '/' + args.model.get('widgetType'), this.component.manager, args.model, args.view);
|
|
}
|
|
}]);
|
|
return Open;
|
|
}(_commandBase.default);
|
|
|
|
exports.Open = Open;
|
|
var _default = Open;
|
|
exports.default = _default;
|
|
|
|
/***/ }),
|
|
/* 616 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var EditModeItemView;
|
|
EditModeItemView = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-mode-switcher-content',
|
|
id: 'elementor-mode-switcher-inner',
|
|
ui: {
|
|
previewButton: '#elementor-mode-switcher-preview-input',
|
|
previewLabel: '#elementor-mode-switcher-preview',
|
|
previewLabelA11y: '#elementor-mode-switcher-preview .elementor-screen-only'
|
|
},
|
|
events: {
|
|
'change @ui.previewButton': 'onPreviewButtonChange'
|
|
},
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeChanged);
|
|
},
|
|
getCurrentMode: function getCurrentMode() {
|
|
return this.ui.previewButton.is(':checked') ? 'preview' : 'edit';
|
|
},
|
|
setMode: function setMode(mode) {
|
|
this.ui.previewButton.prop('checked', 'preview' === mode).trigger('change');
|
|
},
|
|
toggleMode: function toggleMode() {
|
|
this.setMode(this.ui.previewButton.prop('checked') ? 'edit' : 'preview');
|
|
},
|
|
onRender: function onRender() {
|
|
this.onEditModeChanged();
|
|
},
|
|
onPreviewButtonChange: function onPreviewButtonChange() {
|
|
var mode = this.getCurrentMode();
|
|
|
|
if ('edit' === mode) {
|
|
$e.run('panel/open');
|
|
} else if ('preview' === mode) {
|
|
$e.run('panel/close');
|
|
} else {
|
|
throw Error("Invalid mode: '".concat(mode, "'"));
|
|
}
|
|
},
|
|
onEditModeChanged: function onEditModeChanged(activeMode) {
|
|
var title = elementor.translate('preview' === activeMode ? 'back_to_editor' : 'preview');
|
|
this.ui.previewLabel.attr('title', title);
|
|
this.ui.previewLabelA11y.text(title);
|
|
}
|
|
});
|
|
module.exports = EditModeItemView;
|
|
|
|
/***/ }),
|
|
/* 617 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(334);
|
|
|
|
var PanelElementsCategoriesCollection = __webpack_require__(618),
|
|
PanelElementsElementsCollection = __webpack_require__(390),
|
|
PanelElementsCategoriesView = __webpack_require__(619),
|
|
PanelElementsElementsView = elementor.modules.layouts.panel.pages.elements.views.Elements,
|
|
PanelElementsSearchView = __webpack_require__(621),
|
|
PanelElementsGlobalView = __webpack_require__(385),
|
|
PanelElementsLayoutView;
|
|
|
|
PanelElementsLayoutView = Marionette.LayoutView.extend({
|
|
template: '#tmpl-elementor-panel-elements',
|
|
id: 'elementor-panel-page-elements',
|
|
options: {
|
|
autoFocusSearch: true
|
|
},
|
|
regions: {
|
|
elements: '#elementor-panel-elements-wrapper',
|
|
search: '#elementor-panel-elements-search-area'
|
|
},
|
|
regionViews: {},
|
|
elementsCollection: null,
|
|
categoriesCollection: null,
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.panelElements, 'element:selected', this.destroy);
|
|
this.initElementsCollection();
|
|
this.initCategoriesCollection();
|
|
this.initRegionViews();
|
|
},
|
|
initRegionViews: function initRegionViews() {
|
|
var regionViews = {
|
|
elements: {
|
|
region: this.elements,
|
|
view: PanelElementsElementsView,
|
|
options: {
|
|
collection: this.elementsCollection
|
|
}
|
|
},
|
|
categories: {
|
|
region: this.elements,
|
|
view: PanelElementsCategoriesView,
|
|
options: {
|
|
collection: this.categoriesCollection
|
|
}
|
|
},
|
|
search: {
|
|
region: this.search,
|
|
view: PanelElementsSearchView
|
|
},
|
|
global: {
|
|
region: this.elements,
|
|
view: PanelElementsGlobalView
|
|
}
|
|
};
|
|
this.regionViews = elementor.hooks.applyFilters('panel/elements/regionViews', regionViews);
|
|
},
|
|
initElementsCollection: function initElementsCollection() {
|
|
var elementsCollection = new PanelElementsElementsCollection(),
|
|
sectionConfig = elementor.config.elements.section;
|
|
elementsCollection.add({
|
|
title: elementor.translate('inner_section'),
|
|
elType: 'section',
|
|
categories: ['basic'],
|
|
keywords: ['row', 'columns', 'nested'],
|
|
icon: sectionConfig.icon
|
|
}); // TODO: Change the array from server syntax, and no need each loop for initialize
|
|
|
|
_.each(elementor.widgetsCache, function (widget) {
|
|
if (elementor.config.document.panel.widgets_settings[widget.widget_type]) {
|
|
widget = _.extend(widget, elementor.config.document.panel.widgets_settings[widget.widget_type]);
|
|
}
|
|
|
|
if (!widget.show_in_panel) {
|
|
return;
|
|
}
|
|
|
|
elementsCollection.add({
|
|
title: widget.title,
|
|
elType: widget.elType,
|
|
categories: widget.categories,
|
|
keywords: widget.keywords,
|
|
icon: widget.icon,
|
|
widgetType: widget.widget_type,
|
|
custom: widget.custom,
|
|
editable: widget.editable
|
|
});
|
|
});
|
|
|
|
jQuery.each(elementor.config.promotionWidgets, function (index, widget) {
|
|
elementsCollection.add({
|
|
name: widget.name,
|
|
title: widget.title,
|
|
icon: widget.icon,
|
|
categories: JSON.parse(widget.categories),
|
|
editable: false
|
|
});
|
|
});
|
|
this.elementsCollection = elementsCollection;
|
|
},
|
|
initCategoriesCollection: function initCategoriesCollection() {
|
|
var categories = {};
|
|
this.elementsCollection.each(function (element) {
|
|
_.each(element.get('categories'), function (category) {
|
|
if (!categories[category]) {
|
|
categories[category] = [];
|
|
}
|
|
|
|
categories[category].push(element);
|
|
});
|
|
});
|
|
var categoriesCollection = new PanelElementsCategoriesCollection();
|
|
|
|
_.each(elementor.config.document.panel.elements_categories, function (categoryConfig, categoryName) {
|
|
if (!categories[categoryName]) {
|
|
return;
|
|
} // Set defaults.
|
|
|
|
|
|
if ('undefined' === typeof categoryConfig.active) {
|
|
categoryConfig.active = true;
|
|
}
|
|
|
|
if ('undefined' === typeof categoryConfig.icon) {
|
|
categoryConfig.icon = 'font';
|
|
}
|
|
|
|
categoriesCollection.add({
|
|
name: categoryName,
|
|
title: categoryConfig.title,
|
|
icon: categoryConfig.icon,
|
|
defaultActive: categoryConfig.active,
|
|
items: categories[categoryName]
|
|
});
|
|
});
|
|
|
|
this.categoriesCollection = categoriesCollection;
|
|
},
|
|
showView: function showView(viewName) {
|
|
var viewDetails = this.regionViews[viewName],
|
|
options = viewDetails.options || {};
|
|
viewDetails.region.show(new viewDetails.view(options));
|
|
},
|
|
clearSearchInput: function clearSearchInput() {
|
|
this.getChildView('search').clearInput();
|
|
},
|
|
changeFilter: function changeFilter(filterValue) {
|
|
elementor.channels.panelElements.reply('filter:value', filterValue).trigger('filter:change');
|
|
},
|
|
clearFilters: function clearFilters() {
|
|
this.changeFilter(null);
|
|
this.clearSearchInput();
|
|
},
|
|
focusSearch: function focusSearch() {
|
|
if (!elementor.userCan('design') || !this.search
|
|
/* default panel is not elements */
|
|
|| !this.search.currentView
|
|
/* on global elements empty */
|
|
) {
|
|
return;
|
|
}
|
|
|
|
this.search.currentView.ui.input.focus();
|
|
},
|
|
onChildviewChildrenRender: function onChildviewChildrenRender() {
|
|
elementor.getPanelView().updateScrollbar();
|
|
},
|
|
onChildviewSearchChangeInput: function onChildviewSearchChangeInput(child) {
|
|
this.changeFilter(child.ui.input.val(), 'search');
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
elementor.channels.panelElements.reply('filter:value', null);
|
|
},
|
|
onShow: function onShow() {
|
|
this.showView('search');
|
|
|
|
if (this.options.autoFocusSearch) {
|
|
setTimeout(this.focusSearch.bind(this));
|
|
}
|
|
}
|
|
});
|
|
module.exports = PanelElementsLayoutView;
|
|
|
|
/***/ }),
|
|
/* 618 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsCategory = __webpack_require__(389),
|
|
PanelElementsCategoriesCollection;
|
|
|
|
PanelElementsCategoriesCollection = Backbone.Collection.extend({
|
|
model: PanelElementsCategory
|
|
});
|
|
module.exports = PanelElementsCategoriesCollection;
|
|
|
|
/***/ }),
|
|
/* 619 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsCategoryView = __webpack_require__(620),
|
|
PanelElementsCategoriesView;
|
|
|
|
PanelElementsCategoriesView = Marionette.CompositeView.extend({
|
|
template: '#tmpl-elementor-panel-categories',
|
|
childView: PanelElementsCategoryView,
|
|
childViewContainer: '#elementor-panel-categories',
|
|
id: 'elementor-panel-elements-categories',
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.panelElements, 'filter:change', this.onPanelElementsFilterChange);
|
|
},
|
|
onPanelElementsFilterChange: function onPanelElementsFilterChange() {
|
|
if (elementor.channels.panelElements.request('filter:value')) {
|
|
elementor.getPanelView().getCurrentPageView().showView('elements');
|
|
}
|
|
}
|
|
});
|
|
module.exports = PanelElementsCategoriesView;
|
|
|
|
/***/ }),
|
|
/* 620 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsElementsCollection = __webpack_require__(390),
|
|
PanelElementsCategoryView;
|
|
|
|
PanelElementsCategoryView = Marionette.CompositeView.extend({
|
|
template: '#tmpl-elementor-panel-elements-category',
|
|
className: 'elementor-panel-category',
|
|
ui: {
|
|
title: '.elementor-panel-category-title',
|
|
items: '.elementor-panel-category-items'
|
|
},
|
|
events: {
|
|
'click @ui.title': 'onTitleClick'
|
|
},
|
|
id: function id() {
|
|
return 'elementor-panel-category-' + this.model.get('name');
|
|
},
|
|
childView: __webpack_require__(387),
|
|
childViewContainer: '.elementor-panel-category-items',
|
|
initialize: function initialize() {
|
|
this.collection = new PanelElementsElementsCollection(this.model.get('items'));
|
|
},
|
|
onRender: function onRender() {
|
|
var isActive = elementor.channels.panelElements.request('category:' + this.model.get('name') + ':active');
|
|
|
|
if (undefined === isActive) {
|
|
isActive = this.model.get('defaultActive');
|
|
}
|
|
|
|
if (isActive) {
|
|
this.$el.addClass('elementor-active');
|
|
this.ui.items.show();
|
|
}
|
|
},
|
|
onTitleClick: function onTitleClick() {
|
|
var $items = this.ui.items,
|
|
activeClass = 'elementor-active',
|
|
isActive = this.$el.hasClass(activeClass),
|
|
slideFn = isActive ? 'slideUp' : 'slideDown';
|
|
elementor.channels.panelElements.reply('category:' + this.model.get('name') + ':active', !isActive);
|
|
this.$el.toggleClass(activeClass, !isActive);
|
|
$items[slideFn](300, function () {
|
|
elementor.getPanelView().updateScrollbar();
|
|
});
|
|
}
|
|
});
|
|
module.exports = PanelElementsCategoryView;
|
|
|
|
/***/ }),
|
|
/* 621 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelElementsSearchView;
|
|
PanelElementsSearchView = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-element-search',
|
|
id: 'elementor-panel-elements-search-wrapper',
|
|
ui: {
|
|
input: 'input'
|
|
},
|
|
events: {
|
|
'input @ui.input': 'onInputChanged'
|
|
},
|
|
clearInput: function clearInput() {
|
|
this.ui.input.val('');
|
|
},
|
|
onInputChanged: function onInputChanged(event) {
|
|
var ESC_KEY = 27;
|
|
|
|
if (ESC_KEY === event.keyCode) {
|
|
this.clearInput();
|
|
}
|
|
|
|
this.triggerMethod('search:change:input');
|
|
}
|
|
});
|
|
module.exports = PanelElementsSearchView;
|
|
|
|
/***/ }),
|
|
/* 622 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var ControlsStack = elementorModules.editor.views.ControlsStack,
|
|
EditorView;
|
|
EditorView = ControlsStack.extend({
|
|
template: Marionette.TemplateCache.get('#tmpl-editor-content'),
|
|
id: 'elementor-panel-page-editor',
|
|
childViewContainer: '#elementor-controls',
|
|
childViewOptions: function childViewOptions() {
|
|
return {
|
|
element: this.getOption('editedElementView'),
|
|
container: this.getOption('editedElementView').getContainer(),
|
|
// TODO: elementSettingsModel is deprecated since 2.8.0.
|
|
elementSettingsModel: this.model.get('settings'),
|
|
elementEditSettings: this.model.get('editSettings')
|
|
};
|
|
},
|
|
getNamespaceArray: function getNamespaceArray() {
|
|
var eventNamespace = elementorModules.editor.views.ControlsStack.prototype.getNamespaceArray();
|
|
var model = this.getOption('editedElementView').getEditModel(),
|
|
currentElementType = model.get('elType'); // Element Type: section / column / widget.
|
|
|
|
eventNamespace.push(currentElementType);
|
|
|
|
if ('widget' === currentElementType) {
|
|
// Widget Type: heading / button and etc.
|
|
eventNamespace.push(model.get('widgetType'));
|
|
}
|
|
|
|
return eventNamespace;
|
|
},
|
|
initialize: function initialize() {
|
|
ControlsStack.prototype.initialize.apply(this, arguments);
|
|
var editSettings = this.model.get('editSettings');
|
|
|
|
if (editSettings) {
|
|
var panelSettings = editSettings.get('panel');
|
|
|
|
if (panelSettings) {
|
|
this.activeTab = panelSettings.activeTab;
|
|
this.activeSection = panelSettings.activeSection;
|
|
}
|
|
}
|
|
},
|
|
activateSection: function activateSection() {
|
|
ControlsStack.prototype.activateSection.apply(this, arguments);
|
|
this.model.get('editSettings').set('panel', {
|
|
activeTab: this.activeTab,
|
|
activeSection: this.activeSection
|
|
});
|
|
return this;
|
|
},
|
|
openActiveSection: function openActiveSection() {
|
|
ControlsStack.prototype.openActiveSection.apply(this, arguments);
|
|
elementor.channels.editor.trigger('section:activated', this.activeSection, this);
|
|
},
|
|
isVisibleSectionControl: function isVisibleSectionControl(sectionControlModel) {
|
|
return ControlsStack.prototype.isVisibleSectionControl.apply(this, arguments) && elementor.helpers.isActiveControl(sectionControlModel, this.model.get('settings').attributes);
|
|
},
|
|
scrollToEditedElement: function scrollToEditedElement() {
|
|
elementor.helpers.scrollToView(this.getOption('editedElementView').$el);
|
|
},
|
|
onDestroy: function onDestroy() {
|
|
var editedElementView = this.getOption('editedElementView');
|
|
|
|
if (editedElementView) {
|
|
editedElementView.$el.removeClass('elementor-element-editable');
|
|
}
|
|
|
|
this.model.trigger('editor:close');
|
|
this.triggerMethod('editor:destroy');
|
|
},
|
|
onRender: function onRender() {
|
|
var editedElementView = this.getOption('editedElementView');
|
|
|
|
if (editedElementView) {
|
|
editedElementView.$el.addClass('elementor-element-editable');
|
|
}
|
|
},
|
|
onDeviceModeChange: function onDeviceModeChange() {
|
|
ControlsStack.prototype.onDeviceModeChange.apply(this, arguments);
|
|
this.scrollToEditedElement();
|
|
},
|
|
onChildviewSettingsChange: function onChildviewSettingsChange(childView) {
|
|
var editedElementView = this.getOption('editedElementView'),
|
|
editedElementType = editedElementView.model.get('elType');
|
|
|
|
if ('widget' === editedElementType) {
|
|
editedElementType = editedElementView.model.get('widgetType');
|
|
}
|
|
|
|
elementor.channels.editor.trigger('change', childView, editedElementView).trigger('change:' + editedElementType, childView, editedElementView).trigger('change:' + editedElementType + ':' + childView.model.get('name'), childView, editedElementView);
|
|
}
|
|
});
|
|
module.exports = EditorView;
|
|
|
|
/***/ }),
|
|
/* 623 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelSchemeBaseView = __webpack_require__(391),
|
|
PanelSchemeColorsView;
|
|
|
|
PanelSchemeColorsView = PanelSchemeBaseView.extend({
|
|
ui: function ui() {
|
|
var ui = PanelSchemeBaseView.prototype.ui.apply(this, arguments);
|
|
ui.systemSchemes = '.elementor-panel-scheme-color-system-scheme';
|
|
return ui;
|
|
},
|
|
events: function events() {
|
|
var events = PanelSchemeBaseView.prototype.events.apply(this, arguments);
|
|
events['click @ui.systemSchemes'] = 'onSystemSchemeClick';
|
|
return events;
|
|
},
|
|
getType: function getType() {
|
|
return 'color';
|
|
},
|
|
onSystemSchemeClick: function onSystemSchemeClick(event) {
|
|
var $schemeClicked = jQuery(event.currentTarget),
|
|
schemeName = $schemeClicked.data('schemeName'),
|
|
scheme = elementor.config.system_schemes[this.getType()][schemeName].items;
|
|
this.changeChildrenUIValues(scheme);
|
|
}
|
|
});
|
|
module.exports = PanelSchemeColorsView;
|
|
|
|
/***/ }),
|
|
/* 624 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _colorPicker = _interopRequireDefault(__webpack_require__(301));
|
|
|
|
var PanelSchemeItemView = __webpack_require__(392);
|
|
|
|
module.exports = PanelSchemeItemView.extend({
|
|
getUIType: function getUIType() {
|
|
return 'color';
|
|
},
|
|
ui: {
|
|
pickerPlaceholder: '.elementor-panel-scheme-color-picker-placeholder'
|
|
},
|
|
changeUIValue: function changeUIValue(newValue) {
|
|
this.colorPicker.picker.setColor(newValue);
|
|
},
|
|
onRender: function onRender() {
|
|
var _this = this;
|
|
|
|
this.colorPicker = new _colorPicker.default({
|
|
picker: {
|
|
el: this.ui.pickerPlaceholder[0],
|
|
default: this.model.get('value')
|
|
},
|
|
onChange: function onChange() {
|
|
_this.triggerMethod('value:change', _this.colorPicker.getColor());
|
|
},
|
|
onClear: function onClear() {
|
|
_this.triggerMethod('value:change', '');
|
|
}
|
|
});
|
|
},
|
|
onBeforeDestroy: function onBeforeDestroy() {
|
|
this.colorPicker.destroy();
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 625 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelSchemeItemView = __webpack_require__(392),
|
|
PanelSchemeTypographyView;
|
|
|
|
PanelSchemeTypographyView = PanelSchemeItemView.extend({
|
|
getUIType: function getUIType() {
|
|
return 'typography';
|
|
},
|
|
className: function className() {
|
|
var classes = PanelSchemeItemView.prototype.className.apply(this, arguments);
|
|
return classes + ' elementor-panel-box';
|
|
},
|
|
ui: {
|
|
heading: '.elementor-panel-heading',
|
|
allFields: '.elementor-panel-scheme-typography-item-field',
|
|
inputFields: 'input.elementor-panel-scheme-typography-item-field',
|
|
selectFields: 'select.elementor-panel-scheme-typography-item-field',
|
|
selectFamilyFields: 'select.elementor-panel-scheme-typography-item-field[name="font_family"]'
|
|
},
|
|
events: {
|
|
'input @ui.inputFields': 'onFieldChange',
|
|
'change @ui.selectFields': 'onFieldChange',
|
|
'click @ui.heading': 'toggleVisibility'
|
|
},
|
|
onRender: function onRender() {
|
|
var self = this;
|
|
this.ui.inputFields.add(this.ui.selectFields).each(function () {
|
|
var $this = jQuery(this),
|
|
name = $this.attr('name'),
|
|
value = self.model.get('value')[name];
|
|
$this.val(value);
|
|
});
|
|
this.ui.selectFamilyFields.select2({
|
|
dir: elementorCommon.config.isRTL ? 'rtl' : 'ltr'
|
|
});
|
|
},
|
|
toggleVisibility: function toggleVisibility() {
|
|
this.$el.toggleClass('elementor-open');
|
|
},
|
|
changeUIValue: function changeUIValue(newValue) {
|
|
this.ui.allFields.each(function () {
|
|
var $this = jQuery(this),
|
|
thisName = $this.attr('name'),
|
|
newFieldValue = newValue[thisName];
|
|
$this.val(newFieldValue).trigger('change');
|
|
});
|
|
},
|
|
onFieldChange: function onFieldChange() {
|
|
var currentValue = elementor.schemes.getSchemeValue('typography', this.model.get('key')).value;
|
|
this.triggerMethod('value:change', currentValue);
|
|
}
|
|
});
|
|
module.exports = PanelSchemeTypographyView;
|
|
|
|
/***/ }),
|
|
/* 626 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelSchemeBaseView = __webpack_require__(391),
|
|
PanelSchemeTypographyView;
|
|
|
|
PanelSchemeTypographyView = PanelSchemeBaseView.extend({
|
|
getType: function getType() {
|
|
return 'typography';
|
|
}
|
|
});
|
|
module.exports = PanelSchemeTypographyView;
|
|
|
|
/***/ }),
|
|
/* 627 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelSchemeDisabledView;
|
|
PanelSchemeDisabledView = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-schemes-disabled',
|
|
id: 'elementor-panel-schemes-disabled',
|
|
className: 'elementor-nerd-box',
|
|
disabledTitle: '',
|
|
templateHelpers: function templateHelpers() {
|
|
return {
|
|
disabledTitle: this.disabledTitle
|
|
};
|
|
}
|
|
});
|
|
module.exports = PanelSchemeDisabledView;
|
|
|
|
/***/ }),
|
|
/* 628 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(26);
|
|
|
|
__webpack_require__(40);
|
|
|
|
module.exports = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-footer-content',
|
|
tagName: 'nav',
|
|
id: 'elementor-panel-footer-tools',
|
|
possibleRotateModes: ['portrait', 'landscape'],
|
|
ui: {
|
|
menuButtons: '.elementor-panel-footer-tool',
|
|
settings: '#elementor-panel-footer-settings',
|
|
deviceModeIcon: '#elementor-panel-footer-responsive > i',
|
|
deviceModeButtons: '#elementor-panel-footer-responsive .elementor-panel-footer-sub-menu-item',
|
|
saveTemplate: '#elementor-panel-footer-sub-menu-item-save-template',
|
|
history: '#elementor-panel-footer-history',
|
|
navigator: '#elementor-panel-footer-navigator'
|
|
},
|
|
events: {
|
|
'click @ui.menuButtons': 'onMenuButtonsClick',
|
|
'click @ui.settings': 'onSettingsClick',
|
|
'click @ui.deviceModeButtons': 'onResponsiveButtonsClick',
|
|
'click @ui.saveTemplate': 'onSaveTemplateClick',
|
|
'click @ui.history': 'onHistoryClick',
|
|
'click @ui.navigator': 'onNavigatorClick'
|
|
},
|
|
behaviors: function behaviors() {
|
|
var behaviors = {
|
|
saver: {
|
|
behaviorClass: elementor.modules.components.saver.behaviors.FooterSaver
|
|
}
|
|
};
|
|
return elementor.hooks.applyFilters('panel/footer/behaviors', behaviors, this);
|
|
},
|
|
initialize: function initialize() {
|
|
this.listenTo(elementor.channels.deviceMode, 'change', this.onDeviceModeChange);
|
|
},
|
|
getDeviceModeButton: function getDeviceModeButton(deviceMode) {
|
|
return this.ui.deviceModeButtons.filter('[data-device-mode="' + deviceMode + '"]');
|
|
},
|
|
addSubMenuItem: function addSubMenuItem(subMenuName, itemData) {
|
|
var $newItem = jQuery('<div>', {
|
|
id: 'elementor-panel-footer-sub-menu-item-' + itemData.name,
|
|
class: 'elementor-panel-footer-sub-menu-item'
|
|
}),
|
|
$itemIcon = jQuery('<i>', {
|
|
class: 'elementor-icon ' + itemData.icon,
|
|
'aria-hidden': true
|
|
}),
|
|
$itemTitle = jQuery('<div>', {
|
|
class: 'elementor-title'
|
|
}).text(itemData.title);
|
|
$newItem.append($itemIcon, $itemTitle);
|
|
|
|
if (itemData.description) {
|
|
var $itemDescription = jQuery('<div>', {
|
|
class: 'elementor-description'
|
|
}).text(itemData.description);
|
|
$newItem.append($itemDescription);
|
|
}
|
|
|
|
if (itemData.callback) {
|
|
$newItem.on('click', itemData.callback);
|
|
}
|
|
|
|
var $menuTool = this.ui.menuButtons.filter('#elementor-panel-footer-' + subMenuName);
|
|
|
|
if (itemData.before) {
|
|
var $beforeItem = $menuTool.find('#elementor-panel-footer-sub-menu-item-' + itemData.before);
|
|
|
|
if ($beforeItem.length) {
|
|
return $newItem.insertBefore($beforeItem);
|
|
}
|
|
}
|
|
|
|
var $subMenu = $menuTool.find('.elementor-panel-footer-sub-menu');
|
|
return $newItem.appendTo($subMenu);
|
|
},
|
|
removeSubMenuItem: function removeSubMenuItem(subMenuName, itemData) {
|
|
var $item = jQuery('#elementor-panel-footer-sub-menu-item-' + itemData.name);
|
|
return $item.remove();
|
|
},
|
|
showSettingsPage: function showSettingsPage() {
|
|
$e.route('panel/page-settings/settings');
|
|
},
|
|
onMenuButtonsClick: function onMenuButtonsClick(event) {
|
|
var $tool = jQuery(event.currentTarget); // If the tool is not toggleable or the click is inside of a tool
|
|
|
|
if (!$tool.hasClass('elementor-toggle-state') || jQuery(event.target).closest('.elementor-panel-footer-sub-menu-item').length) {
|
|
return;
|
|
}
|
|
|
|
var isOpen = $tool.hasClass('elementor-open');
|
|
this.ui.menuButtons.not('.elementor-leave-open').removeClass('elementor-open');
|
|
|
|
if (!isOpen) {
|
|
$tool.addClass('elementor-open');
|
|
}
|
|
},
|
|
onSettingsClick: function onSettingsClick() {
|
|
$e.route('panel/page-settings/settings');
|
|
},
|
|
onDeviceModeChange: function onDeviceModeChange() {
|
|
var previousDeviceMode = elementor.channels.deviceMode.request('previousMode'),
|
|
currentDeviceMode = elementor.channels.deviceMode.request('currentMode');
|
|
this.getDeviceModeButton(previousDeviceMode).removeClass('active');
|
|
this.getDeviceModeButton(currentDeviceMode).addClass('active'); // Change the footer icon
|
|
|
|
this.ui.deviceModeIcon.removeClass('eicon-device-' + previousDeviceMode).addClass('eicon-device-' + currentDeviceMode);
|
|
},
|
|
onResponsiveButtonsClick: function onResponsiveButtonsClick(event) {
|
|
var $clickedButton = this.$(event.currentTarget),
|
|
newDeviceMode = $clickedButton.data('device-mode');
|
|
elementor.changeDeviceMode(newDeviceMode);
|
|
},
|
|
onSaveTemplateClick: function onSaveTemplateClick() {
|
|
$e.route('library/save-template');
|
|
},
|
|
onHistoryClick: function onHistoryClick() {
|
|
$e.route('panel/history/actions');
|
|
},
|
|
onNavigatorClick: function onNavigatorClick() {
|
|
$e.run('navigator/toggle');
|
|
}
|
|
});
|
|
|
|
/***/ }),
|
|
/* 629 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var PanelHeaderItemView;
|
|
PanelHeaderItemView = Marionette.ItemView.extend({
|
|
template: '#tmpl-elementor-panel-header',
|
|
id: 'elementor-panel-header',
|
|
ui: {
|
|
menuButton: '#elementor-panel-header-menu-button',
|
|
menuIcon: '#elementor-panel-header-menu-button i',
|
|
title: '#elementor-panel-header-title',
|
|
addButton: '#elementor-panel-header-add-button'
|
|
},
|
|
events: {
|
|
'click @ui.addButton': 'onClickAdd',
|
|
'click @ui.menuButton': 'onClickMenu'
|
|
},
|
|
behaviors: function behaviors() {
|
|
return elementor.hooks.applyFilters('panel/header/behaviors', {}, this);
|
|
},
|
|
setTitle: function setTitle(title) {
|
|
this.ui.title.html(title);
|
|
},
|
|
onClickAdd: function onClickAdd() {
|
|
$e.route('panel/elements/categories');
|
|
},
|
|
onClickMenu: function onClickMenu() {
|
|
if ($e.routes.is('panel/menu')) {
|
|
$e.route('panel/elements/categories');
|
|
} else {
|
|
$e.route('panel/menu');
|
|
}
|
|
}
|
|
});
|
|
module.exports = PanelHeaderItemView;
|
|
|
|
/***/ }),
|
|
/* 630 */,
|
|
/* 631 */,
|
|
/* 632 */,
|
|
/* 633 */,
|
|
/* 634 */,
|
|
/* 635 */,
|
|
/* 636 */,
|
|
/* 637 */,
|
|
/* 638 */,
|
|
/* 639 */,
|
|
/* 640 */,
|
|
/* 641 */,
|
|
/* 642 */,
|
|
/* 643 */,
|
|
/* 644 */,
|
|
/* 645 */,
|
|
/* 646 */,
|
|
/* 647 */,
|
|
/* 648 */,
|
|
/* 649 */,
|
|
/* 650 */,
|
|
/* 651 */,
|
|
/* 652 */,
|
|
/* 653 */,
|
|
/* 654 */,
|
|
/* 655 */,
|
|
/* 656 */,
|
|
/* 657 */,
|
|
/* 658 */,
|
|
/* 659 */,
|
|
/* 660 */,
|
|
/* 661 */,
|
|
/* 662 */,
|
|
/* 663 */,
|
|
/* 664 */,
|
|
/* 665 */,
|
|
/* 666 */,
|
|
/* 667 */,
|
|
/* 668 */,
|
|
/* 669 */,
|
|
/* 670 */,
|
|
/* 671 */,
|
|
/* 672 */,
|
|
/* 673 */,
|
|
/* 674 */,
|
|
/* 675 */,
|
|
/* 676 */,
|
|
/* 677 */,
|
|
/* 678 */,
|
|
/* 679 */,
|
|
/* 680 */,
|
|
/* 681 */,
|
|
/* 682 */,
|
|
/* 683 */,
|
|
/* 684 */,
|
|
/* 685 */,
|
|
/* 686 */,
|
|
/* 687 */,
|
|
/* 688 */,
|
|
/* 689 */,
|
|
/* 690 */,
|
|
/* 691 */,
|
|
/* 692 */,
|
|
/* 693 */,
|
|
/* 694 */,
|
|
/* 695 */,
|
|
/* 696 */,
|
|
/* 697 */,
|
|
/* 698 */,
|
|
/* 699 */,
|
|
/* 700 */,
|
|
/* 701 */,
|
|
/* 702 */,
|
|
/* 703 */,
|
|
/* 704 */,
|
|
/* 705 */,
|
|
/* 706 */,
|
|
/* 707 */,
|
|
/* 708 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
__webpack_require__(709);
|
|
__webpack_require__(710);
|
|
module.exports = __webpack_require__(711);
|
|
|
|
|
|
/***/ }),
|
|
/* 709 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
__webpack_require__(40);
|
|
|
|
__webpack_require__(120);
|
|
|
|
__webpack_require__(60);
|
|
|
|
/*
|
|
* jQuery Serialize Object v1.0.1
|
|
*/
|
|
(function ($) {
|
|
$.fn.elementorSerializeObject = function () {
|
|
var serializedArray = this.serializeArray(),
|
|
data = {};
|
|
|
|
var parseObject = function parseObject(dataContainer, key, value) {
|
|
var isArrayKey = /^[^\[\]]+\[]/.test(key),
|
|
isObjectKey = /^[^\[\]]+\[[^\[\]]+]/.test(key),
|
|
keyName = key.replace(/\[.*/, '');
|
|
|
|
if (isArrayKey) {
|
|
if (!dataContainer[keyName]) {
|
|
dataContainer[keyName] = [];
|
|
}
|
|
} else {
|
|
if (!isObjectKey) {
|
|
if (dataContainer.push) {
|
|
dataContainer.push(value);
|
|
} else {
|
|
dataContainer[keyName] = value;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if (!dataContainer[keyName]) {
|
|
dataContainer[keyName] = {};
|
|
}
|
|
}
|
|
|
|
var nextKeys = key.match(/\[[^\[\]]*]/g);
|
|
nextKeys[0] = nextKeys[0].replace(/\[|]/g, '');
|
|
return parseObject(dataContainer[keyName], nextKeys.join(''), value);
|
|
};
|
|
|
|
$.each(serializedArray, function () {
|
|
parseObject(data, this.name, this.value);
|
|
});
|
|
return data;
|
|
};
|
|
})(jQuery);
|
|
|
|
/***/ }),
|
|
/* 710 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
__webpack_require__(120);
|
|
|
|
var _stringify = _interopRequireDefault(__webpack_require__(206));
|
|
|
|
/**
|
|
* HTML5 - Drag and Drop
|
|
*/
|
|
(function ($) {
|
|
var hasFullDataTransferSupport = function hasFullDataTransferSupport(event) {
|
|
try {
|
|
event.originalEvent.dataTransfer.setData('test', 'test');
|
|
event.originalEvent.dataTransfer.clearData('test');
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
};
|
|
|
|
var Draggable = function Draggable(userSettings) {
|
|
var self = this,
|
|
settings = {},
|
|
elementsCache = {},
|
|
defaultSettings = {
|
|
element: '',
|
|
groups: null,
|
|
onDragStart: null,
|
|
onDragEnd: null
|
|
};
|
|
|
|
var initSettings = function initSettings() {
|
|
$.extend(true, settings, defaultSettings, userSettings);
|
|
};
|
|
|
|
var initElementsCache = function initElementsCache() {
|
|
elementsCache.$element = $(settings.element);
|
|
};
|
|
|
|
var buildElements = function buildElements() {
|
|
elementsCache.$element.attr('draggable', true);
|
|
};
|
|
|
|
var onDragEnd = function onDragEnd(event) {
|
|
if ($.isFunction(settings.onDragEnd)) {
|
|
settings.onDragEnd.call(elementsCache.$element, event, self);
|
|
}
|
|
};
|
|
|
|
var onDragStart = function onDragStart(event) {
|
|
var groups = settings.groups || [],
|
|
dataContainer = {
|
|
groups: groups
|
|
};
|
|
|
|
if (hasFullDataTransferSupport(event)) {
|
|
event.originalEvent.dataTransfer.setData((0, _stringify.default)(dataContainer), true);
|
|
}
|
|
|
|
if ($.isFunction(settings.onDragStart)) {
|
|
settings.onDragStart.call(elementsCache.$element, event, self);
|
|
}
|
|
};
|
|
|
|
var attachEvents = function attachEvents() {
|
|
elementsCache.$element.on('dragstart', onDragStart).on('dragend', onDragEnd);
|
|
};
|
|
|
|
var init = function init() {
|
|
initSettings();
|
|
initElementsCache();
|
|
buildElements();
|
|
attachEvents();
|
|
};
|
|
|
|
this.destroy = function () {
|
|
elementsCache.$element.off('dragstart', onDragStart);
|
|
elementsCache.$element.removeAttr('draggable');
|
|
};
|
|
|
|
init();
|
|
};
|
|
|
|
var Droppable = function Droppable(userSettings) {
|
|
var self = this,
|
|
settings = {},
|
|
elementsCache = {},
|
|
currentElement,
|
|
currentSide,
|
|
defaultSettings = {
|
|
element: '',
|
|
items: '>',
|
|
horizontalSensitivity: '10%',
|
|
axis: ['vertical', 'horizontal'],
|
|
placeholder: true,
|
|
currentElementClass: 'html5dnd-current-element',
|
|
placeholderClass: 'html5dnd-placeholder',
|
|
hasDraggingOnChildClass: 'html5dnd-has-dragging-on-child',
|
|
groups: null,
|
|
isDroppingAllowed: null,
|
|
onDragEnter: null,
|
|
onDragging: null,
|
|
onDropping: null,
|
|
onDragLeave: null
|
|
};
|
|
|
|
var initSettings = function initSettings() {
|
|
$.extend(settings, defaultSettings, userSettings);
|
|
};
|
|
|
|
var initElementsCache = function initElementsCache() {
|
|
elementsCache.$element = $(settings.element);
|
|
elementsCache.$placeholder = $('<div>', {
|
|
class: settings.placeholderClass
|
|
});
|
|
};
|
|
|
|
var hasHorizontalDetection = function hasHorizontalDetection() {
|
|
return -1 !== settings.axis.indexOf('horizontal');
|
|
};
|
|
|
|
var hasVerticalDetection = function hasVerticalDetection() {
|
|
return -1 !== settings.axis.indexOf('vertical');
|
|
};
|
|
|
|
var checkHorizontal = function checkHorizontal(offsetX, elementWidth) {
|
|
var isPercentValue, sensitivity;
|
|
|
|
if (!hasHorizontalDetection()) {
|
|
return false;
|
|
}
|
|
|
|
if (!hasVerticalDetection()) {
|
|
return offsetX > elementWidth / 2 ? 'right' : 'left';
|
|
}
|
|
|
|
sensitivity = settings.horizontalSensitivity.match(/\d+/);
|
|
|
|
if (!sensitivity) {
|
|
return false;
|
|
}
|
|
|
|
sensitivity = sensitivity[0];
|
|
isPercentValue = /%$/.test(settings.horizontalSensitivity);
|
|
|
|
if (isPercentValue) {
|
|
sensitivity = elementWidth / sensitivity;
|
|
}
|
|
|
|
if (offsetX > elementWidth - sensitivity) {
|
|
return 'right';
|
|
} else if (offsetX < sensitivity) {
|
|
return 'left';
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
var setSide = function setSide(event) {
|
|
var $element = $(currentElement),
|
|
elementHeight = $element.outerHeight() - elementsCache.$placeholder.outerHeight(),
|
|
elementWidth = $element.outerWidth();
|
|
event = event.originalEvent;
|
|
currentSide = checkHorizontal(event.offsetX, elementWidth);
|
|
|
|
if (currentSide) {
|
|
return;
|
|
}
|
|
|
|
if (!hasVerticalDetection()) {
|
|
currentSide = null;
|
|
return;
|
|
}
|
|
|
|
var elementPosition = currentElement.getBoundingClientRect();
|
|
currentSide = event.clientY > elementPosition.top + elementHeight / 2 ? 'bottom' : 'top';
|
|
};
|
|
|
|
var insertPlaceholder = function insertPlaceholder() {
|
|
if (!settings.placeholder) {
|
|
return;
|
|
}
|
|
|
|
var insertMethod = 'top' === currentSide ? 'prependTo' : 'appendTo';
|
|
elementsCache.$placeholder[insertMethod](currentElement);
|
|
};
|
|
|
|
var isDroppingAllowed = function isDroppingAllowed(event) {
|
|
var dataTransferTypes, draggableGroups, isGroupMatch, droppingAllowed;
|
|
|
|
if (settings.groups && hasFullDataTransferSupport(event)) {
|
|
dataTransferTypes = event.originalEvent.dataTransfer.types;
|
|
isGroupMatch = false;
|
|
dataTransferTypes = Array.prototype.slice.apply(dataTransferTypes); // Convert to array, since Firefox hold it as DOMStringList
|
|
|
|
dataTransferTypes.forEach(function (type) {
|
|
try {
|
|
draggableGroups = JSON.parse(type);
|
|
|
|
if (!draggableGroups.groups.slice) {
|
|
return;
|
|
}
|
|
|
|
settings.groups.forEach(function (groupName) {
|
|
if (-1 !== draggableGroups.groups.indexOf(groupName)) {
|
|
isGroupMatch = true;
|
|
return false; // stops the forEach from extra loops
|
|
}
|
|
});
|
|
} catch (e) {}
|
|
});
|
|
|
|
if (!isGroupMatch) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
if ($.isFunction(settings.isDroppingAllowed)) {
|
|
droppingAllowed = settings.isDroppingAllowed.call(currentElement, currentSide, event, self);
|
|
|
|
if (!droppingAllowed) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
};
|
|
|
|
var onDragEnter = function onDragEnter(event) {
|
|
event.stopPropagation();
|
|
|
|
if (currentElement) {
|
|
return;
|
|
}
|
|
|
|
currentElement = this;
|
|
elementsCache.$element.parents().each(function () {
|
|
var droppableInstance = $(this).data('html5Droppable');
|
|
|
|
if (!droppableInstance) {
|
|
return;
|
|
}
|
|
|
|
droppableInstance.doDragLeave();
|
|
});
|
|
setSide(event);
|
|
|
|
if (!isDroppingAllowed(event)) {
|
|
return;
|
|
}
|
|
|
|
insertPlaceholder();
|
|
elementsCache.$element.addClass(settings.hasDraggingOnChildClass);
|
|
$(currentElement).addClass(settings.currentElementClass);
|
|
|
|
if ($.isFunction(settings.onDragEnter)) {
|
|
settings.onDragEnter.call(currentElement, currentSide, event, self);
|
|
}
|
|
};
|
|
|
|
var onDragOver = function onDragOver(event) {
|
|
event.stopPropagation();
|
|
|
|
if (!currentElement) {
|
|
onDragEnter.call(this, event);
|
|
}
|
|
|
|
var oldSide = currentSide;
|
|
setSide(event);
|
|
|
|
if (!isDroppingAllowed(event)) {
|
|
return;
|
|
}
|
|
|
|
event.preventDefault();
|
|
|
|
if (oldSide !== currentSide) {
|
|
insertPlaceholder();
|
|
}
|
|
|
|
if ($.isFunction(settings.onDragging)) {
|
|
settings.onDragging.call(this, currentSide, event, self);
|
|
}
|
|
};
|
|
|
|
var onDragLeave = function onDragLeave(event) {
|
|
var elementPosition = this.getBoundingClientRect();
|
|
|
|
if ('dragleave' === event.type && !(event.clientX < elementPosition.left || event.clientX >= elementPosition.right || event.clientY < elementPosition.top || event.clientY >= elementPosition.bottom)) {
|
|
return;
|
|
}
|
|
|
|
$(currentElement).removeClass(settings.currentElementClass);
|
|
self.doDragLeave();
|
|
};
|
|
|
|
var onDrop = function onDrop(event) {
|
|
setSide(event);
|
|
|
|
if (!isDroppingAllowed(event)) {
|
|
return;
|
|
}
|
|
|
|
event.preventDefault();
|
|
|
|
if ($.isFunction(settings.onDropping)) {
|
|
settings.onDropping.call(this, currentSide, event, self);
|
|
}
|
|
};
|
|
|
|
var attachEvents = function attachEvents() {
|
|
elementsCache.$element.on('dragenter', settings.items, onDragEnter).on('dragover', settings.items, onDragOver).on('drop', settings.items, onDrop).on('dragleave drop', settings.items, onDragLeave);
|
|
};
|
|
|
|
var init = function init() {
|
|
initSettings();
|
|
initElementsCache();
|
|
attachEvents();
|
|
};
|
|
|
|
this.doDragLeave = function () {
|
|
if (settings.placeholder) {
|
|
elementsCache.$placeholder.remove();
|
|
}
|
|
|
|
elementsCache.$element.removeClass(settings.hasDraggingOnChildClass);
|
|
|
|
if ($.isFunction(settings.onDragLeave)) {
|
|
settings.onDragLeave.call(currentElement, event, self);
|
|
}
|
|
|
|
currentElement = currentSide = null;
|
|
};
|
|
|
|
this.destroy = function () {
|
|
elementsCache.$element.off('dragenter', settings.items, onDragEnter).off('dragover', settings.items, onDragOver).off('drop', settings.items, onDrop).off('dragleave drop', settings.items, onDragLeave);
|
|
};
|
|
|
|
init();
|
|
};
|
|
|
|
var plugins = {
|
|
html5Draggable: Draggable,
|
|
html5Droppable: Droppable
|
|
};
|
|
$.each(plugins, function (pluginName, Plugin) {
|
|
$.fn[pluginName] = function (options) {
|
|
options = options || {};
|
|
this.each(function () {
|
|
var instance = $.data(this, pluginName),
|
|
hasInstance = instance instanceof Plugin;
|
|
|
|
if (hasInstance) {
|
|
if ('destroy' === options) {
|
|
instance.destroy();
|
|
$.removeData(this, pluginName);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
options.element = this;
|
|
$.data(this, pluginName, new Plugin(options));
|
|
});
|
|
return this;
|
|
};
|
|
});
|
|
})(jQuery);
|
|
|
|
/***/ }),
|
|
/* 711 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(0);
|
|
|
|
var _Object$defineProperty = __webpack_require__(1);
|
|
|
|
_Object$defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
exports.Editor = void 0;
|
|
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(2));
|
|
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(3));
|
|
|
|
var _get2 = _interopRequireDefault(__webpack_require__(24));
|
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(16));
|
|
|
|
var _inherits2 = _interopRequireDefault(__webpack_require__(4));
|
|
|
|
var _createSuper2 = _interopRequireDefault(__webpack_require__(5));
|
|
|
|
var _editorBase = _interopRequireDefault(__webpack_require__(419));
|
|
|
|
var Editor = /*#__PURE__*/function (_EditorBase) {
|
|
(0, _inherits2.default)(Editor, _EditorBase);
|
|
|
|
var _super = (0, _createSuper2.default)(Editor);
|
|
|
|
function Editor() {
|
|
(0, _classCallCheck2.default)(this, Editor);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
|
|
(0, _createClass2.default)(Editor, [{
|
|
key: "onStart",
|
|
value: function onStart(options) {
|
|
NProgress.start();
|
|
NProgress.inc(0.2);
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Editor.prototype), "onStart", this).call(this, options);
|
|
}
|
|
}, {
|
|
key: "onPreviewLoaded",
|
|
value: function onPreviewLoaded() {
|
|
NProgress.done();
|
|
(0, _get2.default)((0, _getPrototypeOf2.default)(Editor.prototype), "onPreviewLoaded", this).call(this);
|
|
}
|
|
}]);
|
|
return Editor;
|
|
}(_editorBase.default);
|
|
|
|
exports.Editor = Editor;
|
|
window.elementor = new Editor();
|
|
elementor.start();
|
|
|
|
/***/ })
|
|
/******/ ]);
|
|
//# sourceMappingURL=editor.js.map |