878 lines
42 KiB
JavaScript
878 lines
42 KiB
JavaScript
"use strict";
|
|
(self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["app_modules_onboarding_assets_js_utils_modules_post-onboarding-tracker_js"],{
|
|
|
|
/***/ "../app/modules/onboarding/assets/js/utils/modules/click-tracker.js":
|
|
/*!**************************************************************************!*\
|
|
!*** ../app/modules/onboarding/assets/js/utils/modules/click-tracker.js ***!
|
|
\**************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports["default"] = void 0;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
|
|
var _storageManager = _interopRequireWildcard(__webpack_require__(/*! ./storage-manager.js */ "../app/modules/onboarding/assets/js/utils/modules/storage-manager.js"));
|
|
var _eventDispatcher = _interopRequireDefault(__webpack_require__(/*! ./event-dispatcher.js */ "../app/modules/onboarding/assets/js/utils/modules/event-dispatcher.js"));
|
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
var ClickTracker = /*#__PURE__*/function () {
|
|
function ClickTracker() {
|
|
(0, _classCallCheck2.default)(this, ClickTracker);
|
|
this.DEDUPLICATION_WINDOW_MS = 150;
|
|
this.MAX_CLICKS = 3;
|
|
this.lastClickTime = 0;
|
|
this.lastClickElement = null;
|
|
this.clickHandler = null;
|
|
this.selectTimeoutWindow = 100;
|
|
this.lastSelectClickTime = 0;
|
|
}
|
|
return (0, _createClass2.default)(ClickTracker, [{
|
|
key: "setupClickTracking",
|
|
value: function setupClickTracking() {
|
|
var _this = this;
|
|
if ('undefined' === typeof document) {
|
|
return;
|
|
}
|
|
if (this.clickHandler) {
|
|
return;
|
|
}
|
|
this.clickHandler = function (event) {
|
|
_this.trackClick(event);
|
|
};
|
|
document.addEventListener('click', this.clickHandler, true);
|
|
}
|
|
}, {
|
|
key: "trackClick",
|
|
value: function trackClick(event) {
|
|
var _target$tagName;
|
|
var currentCount = _storageManager.default.getNumber(_storageManager.ONBOARDING_STORAGE_KEYS.POST_ONBOARDING_CLICK_COUNT);
|
|
if (currentCount >= this.MAX_CLICKS) {
|
|
return;
|
|
}
|
|
var target = event.target;
|
|
if (!this.shouldTrackClick(target)) {
|
|
return;
|
|
}
|
|
var currentTime = Date.now();
|
|
var timeSinceLastClick = currentTime - this.lastClickTime;
|
|
if (this.isDuplicateClick(target, timeSinceLastClick)) {
|
|
return;
|
|
}
|
|
this.lastClickTime = currentTime;
|
|
this.lastClickElement = target;
|
|
if ('select' === ((_target$tagName = target.tagName) === null || _target$tagName === void 0 ? void 0 : _target$tagName.toLowerCase())) {
|
|
this.lastSelectClickTime = currentTime;
|
|
}
|
|
var newCount = _storageManager.default.incrementNumber(_storageManager.ONBOARDING_STORAGE_KEYS.POST_ONBOARDING_CLICK_COUNT);
|
|
var clickData = this.extractClickData(target);
|
|
this.storeClickData(newCount, clickData);
|
|
this.dispatchClickEvent(newCount);
|
|
if (newCount >= this.MAX_CLICKS) {
|
|
this.cleanup();
|
|
}
|
|
}
|
|
}, {
|
|
key: "shouldTrackClick",
|
|
value: function shouldTrackClick(element) {
|
|
var _element$tagName, _element$tagName2;
|
|
if ('option' === ((_element$tagName = element.tagName) === null || _element$tagName === void 0 ? void 0 : _element$tagName.toLowerCase())) {
|
|
return false;
|
|
}
|
|
if (element.closest('select') && 'select' !== ((_element$tagName2 = element.tagName) === null || _element$tagName2 === void 0 ? void 0 : _element$tagName2.toLowerCase())) {
|
|
return false;
|
|
}
|
|
if (this.isWithinSelectTimeout(element)) {
|
|
return false;
|
|
}
|
|
if (this.isSelectRelatedRecentClick(element)) {
|
|
return false;
|
|
}
|
|
var excludedSelectors = ['.announcements-container', '.announcements-screen-overlay', '.announcements-screen', '.notifications-container', '.notifications-overlay', '.close-button'];
|
|
for (var _i = 0, _excludedSelectors = excludedSelectors; _i < _excludedSelectors.length; _i++) {
|
|
var selector = _excludedSelectors[_i];
|
|
if (element.closest(selector)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "isWithinSelectTimeout",
|
|
value: function isWithinSelectTimeout(element) {
|
|
if (!this.lastSelectClickTime) {
|
|
return false;
|
|
}
|
|
var currentTime = Date.now();
|
|
var timeSinceLastSelect = currentTime - this.lastSelectClickTime;
|
|
if (timeSinceLastSelect <= this.selectTimeoutWindow) {
|
|
var _element$tagName3;
|
|
var isSelectElement = 'select' === ((_element$tagName3 = element.tagName) === null || _element$tagName3 === void 0 ? void 0 : _element$tagName3.toLowerCase());
|
|
var isInSelectControl = !!element.closest('.elementor-control-input-wrapper select');
|
|
if (isSelectElement || isInSelectControl) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
}, {
|
|
key: "isSelectRelatedRecentClick",
|
|
value: function isSelectRelatedRecentClick(element) {
|
|
var _this$lastClickElemen, _element$tagName4;
|
|
if (!this.lastClickElement || !this.lastClickTime) {
|
|
return false;
|
|
}
|
|
var timeSinceLastClick = Date.now() - this.lastClickTime;
|
|
if (timeSinceLastClick > 500) {
|
|
return false;
|
|
}
|
|
var wasLastClickSelect = 'select' === ((_this$lastClickElemen = this.lastClickElement.tagName) === null || _this$lastClickElemen === void 0 ? void 0 : _this$lastClickElemen.toLowerCase());
|
|
var isCurrentClickSelect = 'select' === ((_element$tagName4 = element.tagName) === null || _element$tagName4 === void 0 ? void 0 : _element$tagName4.toLowerCase());
|
|
if (wasLastClickSelect && isCurrentClickSelect) {
|
|
var lastSelectControl = this.lastClickElement.closest('.elementor-control');
|
|
var currentSelectControl = element.closest('.elementor-control');
|
|
if (lastSelectControl && currentSelectControl && lastSelectControl === currentSelectControl) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
}, {
|
|
key: "isDuplicateClick",
|
|
value: function isDuplicateClick(target, timeSinceLastClick) {
|
|
var extendedWindow = this.shouldUseExtendedWindow(this.lastClickElement, target);
|
|
var windowToUse = extendedWindow ? this.DEDUPLICATION_WINDOW_MS * 3 : this.DEDUPLICATION_WINDOW_MS;
|
|
if (timeSinceLastClick > windowToUse) {
|
|
return false;
|
|
}
|
|
if (!this.lastClickElement) {
|
|
return false;
|
|
}
|
|
var isSameElement = this.lastClickElement === target;
|
|
var isRelatedElement = this.areElementsRelated(this.lastClickElement, target);
|
|
return isSameElement || isRelatedElement;
|
|
}
|
|
}, {
|
|
key: "shouldUseExtendedWindow",
|
|
value: function shouldUseExtendedWindow(element1, element2) {
|
|
var _element1$tagName, _element2$tagName;
|
|
if (!element1 || !element2) {
|
|
return false;
|
|
}
|
|
var isElement1Select = 'select' === ((_element1$tagName = element1.tagName) === null || _element1$tagName === void 0 ? void 0 : _element1$tagName.toLowerCase());
|
|
var isElement2Select = 'select' === ((_element2$tagName = element2.tagName) === null || _element2$tagName === void 0 ? void 0 : _element2$tagName.toLowerCase());
|
|
return isElement1Select || isElement2Select;
|
|
}
|
|
}, {
|
|
key: "areElementsRelated",
|
|
value: function areElementsRelated(element1, element2) {
|
|
if (!element1 || !element2) {
|
|
return false;
|
|
}
|
|
var isSelectRelated = this.areSelectRelated(element1, element2);
|
|
var isParentChild = element1.contains(element2) || element2.contains(element1);
|
|
var shareCommonParent = element1.parentElement === element2.parentElement;
|
|
var bothInSameControl = element1.closest('.elementor-control') === element2.closest('.elementor-control');
|
|
return isSelectRelated || isParentChild || shareCommonParent || bothInSameControl;
|
|
}
|
|
}, {
|
|
key: "areSelectRelated",
|
|
value: function areSelectRelated(element1, element2) {
|
|
var _element1$tagName2, _element2$tagName2, _element1$tagName3, _element2$tagName3;
|
|
var isElement1Select = 'select' === ((_element1$tagName2 = element1.tagName) === null || _element1$tagName2 === void 0 ? void 0 : _element1$tagName2.toLowerCase());
|
|
var isElement2Select = 'select' === ((_element2$tagName2 = element2.tagName) === null || _element2$tagName2 === void 0 ? void 0 : _element2$tagName2.toLowerCase());
|
|
var isElement1Option = 'option' === ((_element1$tagName3 = element1.tagName) === null || _element1$tagName3 === void 0 ? void 0 : _element1$tagName3.toLowerCase());
|
|
var isElement2Option = 'option' === ((_element2$tagName3 = element2.tagName) === null || _element2$tagName3 === void 0 ? void 0 : _element2$tagName3.toLowerCase());
|
|
if (isElement1Select && isElement2Select && element1 === element2) {
|
|
return true;
|
|
}
|
|
if (isElement1Select && isElement2Option || isElement1Option && isElement2Select) {
|
|
return true;
|
|
}
|
|
var element1SelectParent = element1.closest('select');
|
|
var element2SelectParent = element2.closest('select');
|
|
if (element1SelectParent && element2SelectParent && element1SelectParent === element2SelectParent) {
|
|
return true;
|
|
}
|
|
if (element1SelectParent && element1SelectParent === element2) {
|
|
return true;
|
|
}
|
|
if (element2SelectParent && element2SelectParent === element1) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}, {
|
|
key: "extractClickData",
|
|
value: function extractClickData(element) {
|
|
var title = this.findMeaningfulTitle(element);
|
|
var selector = this.generateSelector(element);
|
|
return {
|
|
title: title.substring(0, 100),
|
|
selector: selector
|
|
};
|
|
}
|
|
}, {
|
|
key: "findMeaningfulTitle",
|
|
value: function findMeaningfulTitle(element) {
|
|
var directTitle = this.extractTitleFromElement(element);
|
|
if (directTitle && directTitle.trim().length > 0) {
|
|
return directTitle.trim();
|
|
}
|
|
var currentElement = element.parentElement;
|
|
var attempts = 0;
|
|
var maxAttempts = 3;
|
|
while (currentElement && attempts < maxAttempts) {
|
|
var title = this.extractTitleFromElement(currentElement);
|
|
if (title && title.trim().length > 0) {
|
|
return title.trim();
|
|
}
|
|
currentElement = currentElement.parentElement;
|
|
attempts++;
|
|
}
|
|
return this.generateFallbackTitle(element);
|
|
}
|
|
}, {
|
|
key: "extractTitleFromElement",
|
|
value: function extractTitleFromElement(element) {
|
|
var _element$tagName5, _element$textContent, _element$tagName6, _element$innerText, _element$querySelecto, _element$querySelecto2, _element$querySelecto3;
|
|
var controlFieldContainer = element.closest('.elementor-control-field');
|
|
if (controlFieldContainer) {
|
|
var labelElement = controlFieldContainer.querySelector('label');
|
|
if (labelElement && labelElement.textContent) {
|
|
return labelElement.textContent.trim();
|
|
}
|
|
}
|
|
var sources = [element.getAttribute('placeholder'), element.getAttribute('aria-label'), element.title, element.getAttribute('data-title'), 'select' === ((_element$tagName5 = element.tagName) === null || _element$tagName5 === void 0 ? void 0 : _element$tagName5.toLowerCase()) ? '' : (_element$textContent = element.textContent) === null || _element$textContent === void 0 ? void 0 : _element$textContent.trim(), 'select' === ((_element$tagName6 = element.tagName) === null || _element$tagName6 === void 0 ? void 0 : _element$tagName6.toLowerCase()) ? '' : (_element$innerText = element.innerText) === null || _element$innerText === void 0 ? void 0 : _element$innerText.trim(), (_element$querySelecto = element.querySelector('.elementor-widget-title')) === null || _element$querySelecto === void 0 || (_element$querySelecto = _element$querySelecto.textContent) === null || _element$querySelecto === void 0 ? void 0 : _element$querySelecto.trim(), (_element$querySelecto2 = element.querySelector('.elementor-heading-title')) === null || _element$querySelecto2 === void 0 || (_element$querySelecto2 = _element$querySelecto2.textContent) === null || _element$querySelecto2 === void 0 ? void 0 : _element$querySelecto2.trim(), (_element$querySelecto3 = element.querySelector('.elementor-button-text')) === null || _element$querySelecto3 === void 0 || (_element$querySelecto3 = _element$querySelecto3.textContent) === null || _element$querySelecto3 === void 0 ? void 0 : _element$querySelecto3.trim()];
|
|
for (var _i2 = 0, _sources = sources; _i2 < _sources.length; _i2++) {
|
|
var source = _sources[_i2];
|
|
if (source && source.length > 0 && source !== 'undefined') {
|
|
return source;
|
|
}
|
|
}
|
|
return '';
|
|
}
|
|
}, {
|
|
key: "generateFallbackTitle",
|
|
value: function generateFallbackTitle(element) {
|
|
var _element$tagName7;
|
|
var tagName = ((_element$tagName7 = element.tagName) === null || _element$tagName7 === void 0 ? void 0 : _element$tagName7.toLowerCase()) || 'element';
|
|
var className = element.className || '';
|
|
if (className.includes('eicon-')) {
|
|
var iconClass = className.split(' ').find(function (cls) {
|
|
return cls.startsWith('eicon-');
|
|
});
|
|
if (iconClass) {
|
|
return iconClass.replace('eicon-', '').replace('-', ' ');
|
|
}
|
|
}
|
|
if (className.includes('elementor-button')) {
|
|
return 'Elementor Button';
|
|
}
|
|
if (className.includes('elementor-widget')) {
|
|
return 'Elementor Widget';
|
|
}
|
|
return "".concat(tagName, " element");
|
|
}
|
|
}, {
|
|
key: "generateSelector",
|
|
value: function generateSelector(element) {
|
|
var selectorParts = [];
|
|
var currentElement = element;
|
|
for (var i = 0; i < 4 && currentElement && currentElement !== document.body; i++) {
|
|
var selector = currentElement.tagName.toLowerCase();
|
|
if (0 === i && currentElement.id) {
|
|
selector += "#".concat(currentElement.id);
|
|
} else if (currentElement.classList.length > 0) {
|
|
var classes = Array.from(currentElement.classList).slice(0, 3);
|
|
selector += ".".concat(classes.join('.'));
|
|
}
|
|
selectorParts.unshift(selector);
|
|
currentElement = currentElement.parentElement;
|
|
}
|
|
return selectorParts.join(' > ');
|
|
}
|
|
}, {
|
|
key: "storeClickData",
|
|
value: function storeClickData(clickCount, clickData) {
|
|
var dataKey = "elementor_onboarding_click_".concat(clickCount, "_data");
|
|
var dataToStore = _objectSpread(_objectSpread({}, clickData), {}, {
|
|
timestamp: Date.now(),
|
|
clickCount: clickCount
|
|
});
|
|
_storageManager.default.setObject(dataKey, dataToStore);
|
|
}
|
|
}, {
|
|
key: "getStoredClickData",
|
|
value: function getStoredClickData(clickCount) {
|
|
var dataKey = "elementor_onboarding_click_".concat(clickCount, "_data");
|
|
return _storageManager.default.getObject(dataKey);
|
|
}
|
|
}, {
|
|
key: "dispatchClickEvent",
|
|
value: function dispatchClickEvent(clickCount) {
|
|
var storedClickData = this.getStoredClickData(clickCount);
|
|
if (!storedClickData) {
|
|
return;
|
|
}
|
|
var siteStarterChoiceString = _storageManager.default.getString(_storageManager.ONBOARDING_STORAGE_KEYS.STEP4_SITE_STARTER_CHOICE);
|
|
var siteStarterChoice = null;
|
|
if (siteStarterChoiceString) {
|
|
var choiceData = _storageManager.default.getObject(_storageManager.ONBOARDING_STORAGE_KEYS.STEP4_SITE_STARTER_CHOICE);
|
|
siteStarterChoice = (choiceData === null || choiceData === void 0 ? void 0 : choiceData.site_starter) || null;
|
|
}
|
|
_eventDispatcher.default.dispatchClickEvent(clickCount, storedClickData, siteStarterChoice);
|
|
}
|
|
}, {
|
|
key: "cleanup",
|
|
value: function cleanup() {
|
|
if (this.clickHandler) {
|
|
document.removeEventListener('click', this.clickHandler, true);
|
|
this.clickHandler = null;
|
|
}
|
|
this.lastSelectClickTime = 0;
|
|
_storageManager.default.clearAllOnboardingData();
|
|
_storageManager.default.clearExperimentData();
|
|
}
|
|
}]);
|
|
}();
|
|
var clickTracker = new ClickTracker();
|
|
var _default = exports["default"] = clickTracker;
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../app/modules/onboarding/assets/js/utils/modules/event-dispatcher.js":
|
|
/*!*****************************************************************************!*\
|
|
!*** ../app/modules/onboarding/assets/js/utils/modules/event-dispatcher.js ***!
|
|
\*****************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.ONBOARDING_STEP_NAMES = exports.ONBOARDING_EVENTS_MAP = void 0;
|
|
exports.addTimeSpentToPayload = addTimeSpentToPayload;
|
|
exports.canSendEvents = canSendEvents;
|
|
exports.createEditorEventPayload = createEditorEventPayload;
|
|
exports.createEventPayload = createEventPayload;
|
|
exports.createStepEventPayload = createStepEventPayload;
|
|
exports["default"] = void 0;
|
|
exports.dispatch = dispatch;
|
|
exports.dispatchClickEvent = dispatchClickEvent;
|
|
exports.dispatchEditorEvent = dispatchEditorEvent;
|
|
exports.dispatchIfAllowed = dispatchIfAllowed;
|
|
exports.dispatchStepEvent = dispatchStepEvent;
|
|
exports.dispatchVariantAwareEvent = dispatchVariantAwareEvent;
|
|
exports.formatClickAction = formatClickAction;
|
|
exports.getClickEventName = getClickEventName;
|
|
exports.getClickNumber = getClickNumber;
|
|
exports.initializeAndEnableTracking = initializeAndEnableTracking;
|
|
exports.isEventsManagerAvailable = isEventsManagerAvailable;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
|
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
var ONBOARDING_EVENTS_MAP = exports.ONBOARDING_EVENTS_MAP = {
|
|
UPGRADE_NOW_S3: 'core_onboarding_s3_upgrade_now',
|
|
THEME_INSTALLED: 'core_onboarding_s2_theme_installed',
|
|
THEME_MARKED: 'core_onboarding_s2_theme_marked',
|
|
CORE_ONBOARDING: 'core_onboarding',
|
|
CONNECT_STATUS: 'core_onboarding_connect_status',
|
|
STEP1_END_STATE: 'core_onboarding_s1_end_state',
|
|
STEP2_END_STATE: 'core_onboarding_s2_end_state',
|
|
STEP2_THEMES_LOADED: 'core_onboarding_s2_themes_loaded',
|
|
STEP3_END_STATE: 'core_onboarding_s3_end_state',
|
|
STEP4_END_STATE: 'core_onboarding_s4_end_state',
|
|
STEP4_LOADED: 'core_onboarding_s4_loaded',
|
|
STEP4_SITE_STARTER: 'core_onboarding_s4_site_starter',
|
|
STEP4_RETURN_STEP4: 'core_onboarding_s4_return',
|
|
EDITOR_LOADED_FROM_ONBOARDING: 'editor_loaded_from_onboarding',
|
|
POST_ONBOARDING_1ST_CLICK: 'post_onboarding_1st_click',
|
|
POST_ONBOARDING_2ND_CLICK: 'post_onboarding_2nd_click',
|
|
POST_ONBOARDING_3RD_CLICK: 'post_onboarding_3rd_click',
|
|
EXIT: 'core_onboarding_exit',
|
|
SKIP: 'core_onboarding_skip',
|
|
TOP_UPGRADE: 'core_onboarding_top_upgrade',
|
|
CREATE_MY_ACCOUNT: 'core_onboarding_s1_create_my_account',
|
|
CREATE_ACCOUNT_STATUS: 'core_onboarding_create_account_status',
|
|
STEP1_CLICKED_CONNECT: 'core_onboarding_s1_clicked_connect',
|
|
AB_101_START_AS_FREE_USER: 'ab_101_start_as_free_user',
|
|
SESSION_REPLAY_START: 'onboarding_session_replay_start'
|
|
};
|
|
var ONBOARDING_STEP_NAMES = exports.ONBOARDING_STEP_NAMES = {
|
|
CONNECT: 'connect',
|
|
HELLO_BIZ: 'hello_biz',
|
|
PRO_FEATURES: 'pro_features',
|
|
SITE_STARTER: 'site_starter',
|
|
SITE_NAME: 'site_name',
|
|
SITE_LOGO: 'site_logo',
|
|
ONBOARDING_START: 'onboarding_start'
|
|
};
|
|
function canSendEvents() {
|
|
var _elementorCommon;
|
|
return ((_elementorCommon = elementorCommon) === null || _elementorCommon === void 0 || (_elementorCommon = _elementorCommon.config) === null || _elementorCommon === void 0 || (_elementorCommon = _elementorCommon.editor_events) === null || _elementorCommon === void 0 ? void 0 : _elementorCommon.can_send_events) || false;
|
|
}
|
|
function isEventsManagerAvailable() {
|
|
var _elementorCommon2;
|
|
return ((_elementorCommon2 = elementorCommon) === null || _elementorCommon2 === void 0 ? void 0 : _elementorCommon2.eventsManager) && 'function' === typeof elementorCommon.eventsManager.dispatchEvent;
|
|
}
|
|
function initializeAndEnableTracking() {
|
|
if (!isEventsManagerAvailable()) {
|
|
return;
|
|
}
|
|
if (elementorCommon.eventsManager.trackingEnabled) {
|
|
return;
|
|
}
|
|
if (elementorCommon.eventsManager.isMixpanelReady()) {
|
|
elementorCommon.eventsManager.enableTracking();
|
|
return;
|
|
}
|
|
elementorCommon.eventsManager.initializeMixpanel(function () {
|
|
return elementorCommon.eventsManager.enableTracking();
|
|
});
|
|
}
|
|
function dispatch(eventName) {
|
|
var payload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
if (!isEventsManagerAvailable()) {
|
|
return false;
|
|
}
|
|
if (!canSendEvents()) {
|
|
return false;
|
|
}
|
|
try {
|
|
var result = elementorCommon.eventsManager.dispatchEvent(eventName, payload);
|
|
return result;
|
|
} catch (error) {
|
|
return false;
|
|
}
|
|
}
|
|
function dispatchIfAllowed(eventName) {
|
|
var payload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
if (canSendEvents()) {
|
|
return dispatch(eventName, payload);
|
|
}
|
|
return false;
|
|
}
|
|
function createEventPayload() {
|
|
var basePayload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
return _objectSpread({
|
|
location: 'plugin_onboarding'
|
|
}, basePayload);
|
|
}
|
|
function createStepEventPayload(stepNumber, stepName) {
|
|
var additionalData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
var basePayload = _objectSpread({
|
|
step_number: stepNumber,
|
|
step_name: stepName
|
|
}, additionalData);
|
|
return createEventPayload(basePayload);
|
|
}
|
|
function createEditorEventPayload() {
|
|
var additionalData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var basePayload = _objectSpread({
|
|
location: 'editor'
|
|
}, additionalData);
|
|
return basePayload;
|
|
}
|
|
function dispatchStepEvent(eventName, stepNumber, stepName) {
|
|
var additionalData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
var payload = createStepEventPayload(stepNumber, stepName, additionalData);
|
|
return dispatch(eventName, payload);
|
|
}
|
|
function dispatchVariantAwareEvent(eventName, payload) {
|
|
return dispatch(eventName, payload);
|
|
}
|
|
function dispatchEditorEvent(eventName) {
|
|
var additionalData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
var payload = createEditorEventPayload(additionalData);
|
|
return dispatch(eventName, payload);
|
|
}
|
|
function getClickEventName(clickCount) {
|
|
var eventMap = {
|
|
1: ONBOARDING_EVENTS_MAP.POST_ONBOARDING_1ST_CLICK,
|
|
2: ONBOARDING_EVENTS_MAP.POST_ONBOARDING_2ND_CLICK,
|
|
3: ONBOARDING_EVENTS_MAP.POST_ONBOARDING_3RD_CLICK
|
|
};
|
|
return eventMap[clickCount] || null;
|
|
}
|
|
function formatClickAction(title, selector) {
|
|
if (!title && !selector) {
|
|
return '';
|
|
}
|
|
if (!title) {
|
|
return selector;
|
|
}
|
|
if (!selector) {
|
|
return title;
|
|
}
|
|
return "".concat(title, " / ").concat(selector);
|
|
}
|
|
function dispatchClickEvent(clickCount, clickData) {
|
|
var siteStarterChoice = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
var eventName = getClickEventName(clickCount);
|
|
if (!eventName) {
|
|
return false;
|
|
}
|
|
var clickNumber = getClickNumber(clickCount);
|
|
var eventData = createEditorEventPayload({
|
|
editor_loaded_from_onboarding_source: siteStarterChoice
|
|
});
|
|
var formattedAction = formatClickAction(clickData.title, clickData.selector);
|
|
eventData["post_onboarding_".concat(clickNumber, "_click_action")] = formattedAction;
|
|
return dispatch(eventName, eventData);
|
|
}
|
|
function getClickNumber(clickCount) {
|
|
var clickNumbers = {
|
|
1: 'first',
|
|
2: 'second',
|
|
3: 'third'
|
|
};
|
|
return clickNumbers[clickCount] || 'unknown';
|
|
}
|
|
function addTimeSpentToPayload(payload, totalTimeSpent) {
|
|
var stepTimeSpent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
if (totalTimeSpent !== null && totalTimeSpent !== undefined) {
|
|
payload.time_spent = "".concat(totalTimeSpent, "s");
|
|
}
|
|
if (stepTimeSpent !== null && stepTimeSpent !== undefined) {
|
|
payload.step_time_spent = "".concat(stepTimeSpent, "s");
|
|
}
|
|
return payload;
|
|
}
|
|
var EventDispatcher = {
|
|
canSendEvents: canSendEvents,
|
|
isEventsManagerAvailable: isEventsManagerAvailable,
|
|
initializeAndEnableTracking: initializeAndEnableTracking,
|
|
dispatch: dispatch,
|
|
dispatchIfAllowed: dispatchIfAllowed,
|
|
createEventPayload: createEventPayload,
|
|
createStepEventPayload: createStepEventPayload,
|
|
createEditorEventPayload: createEditorEventPayload,
|
|
dispatchStepEvent: dispatchStepEvent,
|
|
dispatchVariantAwareEvent: dispatchVariantAwareEvent,
|
|
dispatchEditorEvent: dispatchEditorEvent,
|
|
getClickEventName: getClickEventName,
|
|
dispatchClickEvent: dispatchClickEvent,
|
|
getClickNumber: getClickNumber,
|
|
addTimeSpentToPayload: addTimeSpentToPayload
|
|
};
|
|
var _default = exports["default"] = EventDispatcher;
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../app/modules/onboarding/assets/js/utils/modules/post-onboarding-tracker.js":
|
|
/*!************************************************************************************!*\
|
|
!*** ../app/modules/onboarding/assets/js/utils/modules/post-onboarding-tracker.js ***!
|
|
\************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports["default"] = void 0;
|
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
|
|
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
|
|
var _storageManager = _interopRequireWildcard(__webpack_require__(/*! ./storage-manager.js */ "../app/modules/onboarding/assets/js/utils/modules/storage-manager.js"));
|
|
var _eventDispatcher = _interopRequireDefault(__webpack_require__(/*! ./event-dispatcher.js */ "../app/modules/onboarding/assets/js/utils/modules/event-dispatcher.js"));
|
|
var _clickTracker = _interopRequireDefault(__webpack_require__(/*! ./click-tracker.js */ "../app/modules/onboarding/assets/js/utils/modules/click-tracker.js"));
|
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
var PostOnboardingTracker = /*#__PURE__*/function () {
|
|
function PostOnboardingTracker() {
|
|
(0, _classCallCheck2.default)(this, PostOnboardingTracker);
|
|
}
|
|
return (0, _createClass2.default)(PostOnboardingTracker, [{
|
|
key: "checkAndSendEditorLoadedFromOnboarding",
|
|
value: function checkAndSendEditorLoadedFromOnboarding() {
|
|
var siteStarterChoiceString = _storageManager.default.getString(_storageManager.ONBOARDING_STORAGE_KEYS.STEP4_SITE_STARTER_CHOICE);
|
|
if (!siteStarterChoiceString) {
|
|
return;
|
|
}
|
|
var alreadyTracked = _storageManager.default.exists(_storageManager.ONBOARDING_STORAGE_KEYS.EDITOR_LOAD_TRACKED);
|
|
if (alreadyTracked) {
|
|
this.setupPostOnboardingClickTracking();
|
|
return;
|
|
}
|
|
this.sendEditorLoadedEvent();
|
|
_storageManager.default.setString(_storageManager.ONBOARDING_STORAGE_KEYS.EDITOR_LOAD_TRACKED, 'true');
|
|
this.setupPostOnboardingClickTracking();
|
|
}
|
|
}, {
|
|
key: "sendEditorLoadedEvent",
|
|
value: function sendEditorLoadedEvent() {
|
|
var choiceData = _storageManager.default.getObject(_storageManager.ONBOARDING_STORAGE_KEYS.STEP4_SITE_STARTER_CHOICE);
|
|
var siteStarterChoice = choiceData === null || choiceData === void 0 ? void 0 : choiceData.site_starter;
|
|
if (!siteStarterChoice) {
|
|
return;
|
|
}
|
|
var canDispatch = _eventDispatcher.default.canSendEvents();
|
|
if (canDispatch) {
|
|
_eventDispatcher.default.dispatchEditorEvent('editor_loaded_from_onboarding', {
|
|
editor_loaded_from_onboarding_source: siteStarterChoice
|
|
});
|
|
}
|
|
}
|
|
}, {
|
|
key: "setupPostOnboardingClickTracking",
|
|
value: function setupPostOnboardingClickTracking() {
|
|
var hasOnboardingData = _storageManager.default.exists(_storageManager.ONBOARDING_STORAGE_KEYS.STEP4_SITE_STARTER_CHOICE);
|
|
if (!hasOnboardingData) {
|
|
return;
|
|
}
|
|
var currentCount = _storageManager.default.getNumber(_storageManager.ONBOARDING_STORAGE_KEYS.POST_ONBOARDING_CLICK_COUNT);
|
|
if (currentCount >= _clickTracker.default.MAX_CLICKS) {
|
|
return;
|
|
}
|
|
_clickTracker.default.setupClickTracking();
|
|
}
|
|
}, {
|
|
key: "cleanupPostOnboardingTracking",
|
|
value: function cleanupPostOnboardingTracking() {
|
|
_clickTracker.default.cleanup();
|
|
}
|
|
}, {
|
|
key: "clearAllOnboardingStorage",
|
|
value: function clearAllOnboardingStorage() {
|
|
_storageManager.default.clearAllOnboardingData();
|
|
_storageManager.default.clearExperimentData();
|
|
}
|
|
}]);
|
|
}();
|
|
var postOnboardingTracker = new PostOnboardingTracker();
|
|
var _default = exports["default"] = postOnboardingTracker;
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../app/modules/onboarding/assets/js/utils/modules/storage-manager.js":
|
|
/*!****************************************************************************!*\
|
|
!*** ../app/modules/onboarding/assets/js/utils/modules/storage-manager.js ***!
|
|
\****************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.ONBOARDING_STORAGE_KEYS = void 0;
|
|
exports.appendToArray = appendToArray;
|
|
exports.clearAllOnboardingData = clearAllOnboardingData;
|
|
exports.clearExperimentData = clearExperimentData;
|
|
exports.clearMultiple = clearMultiple;
|
|
exports.clearStepStartTime = clearStepStartTime;
|
|
exports["default"] = void 0;
|
|
exports.exists = exists;
|
|
exports.getArray = getArray;
|
|
exports.getNumber = getNumber;
|
|
exports.getObject = getObject;
|
|
exports.getStepStartTime = getStepStartTime;
|
|
exports.getString = getString;
|
|
exports.incrementNumber = incrementNumber;
|
|
exports.remove = remove;
|
|
exports.setNumber = setNumber;
|
|
exports.setObject = setObject;
|
|
exports.setStepStartTime = setStepStartTime;
|
|
exports.setString = setString;
|
|
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
|
|
var ONBOARDING_STORAGE_KEYS = exports.ONBOARDING_STORAGE_KEYS = {
|
|
START_TIME: 'elementor_onboarding_start_time',
|
|
INITIATED: 'elementor_onboarding_initiated',
|
|
STEP1_ACTIONS: 'elementor_onboarding_step1_actions',
|
|
STEP2_ACTIONS: 'elementor_onboarding_step2_actions',
|
|
STEP3_ACTIONS: 'elementor_onboarding_step3_actions',
|
|
STEP4_ACTIONS: 'elementor_onboarding_step4_actions',
|
|
STEP1_START_TIME: 'elementor_onboarding_s1_start_time',
|
|
STEP2_START_TIME: 'elementor_onboarding_s2_start_time',
|
|
STEP3_START_TIME: 'elementor_onboarding_s3_start_time',
|
|
STEP4_START_TIME: 'elementor_onboarding_s4_start_time',
|
|
STEP4_SITE_STARTER_CHOICE: 'elementor_onboarding_s4_site_starter_choice',
|
|
STEP4_HAS_PREVIOUS_CLICK: 'elementor_onboarding_s4_has_previous_click',
|
|
EDITOR_LOAD_TRACKED: 'elementor_onboarding_editor_load_tracked',
|
|
POST_ONBOARDING_CLICK_COUNT: 'elementor_onboarding_click_count',
|
|
PENDING_SKIP: 'elementor_onboarding_pending_skip',
|
|
PENDING_CONNECT_STATUS: 'elementor_onboarding_pending_connect_status',
|
|
PENDING_CREATE_ACCOUNT_STATUS: 'elementor_onboarding_pending_create_account_status',
|
|
PENDING_CREATE_MY_ACCOUNT: 'elementor_onboarding_pending_create_my_account',
|
|
PENDING_TOP_UPGRADE: 'elementor_onboarding_pending_top_upgrade',
|
|
PENDING_TOP_UPGRADE_NO_CLICK: 'elementor_onboarding_pending_top_upgrade_no_click',
|
|
PENDING_STEP1_CLICKED_CONNECT: 'elementor_onboarding_pending_step1_clicked_connect',
|
|
PENDING_STEP1_END_STATE: 'elementor_onboarding_pending_step1_end_state',
|
|
PENDING_EXIT: 'elementor_onboarding_pending_exit',
|
|
PENDING_AB_101_START_AS_FREE_USER: 'elementor_onboarding_pending_ab_101_start_as_free_user',
|
|
PENDING_TOP_UPGRADE_MOUSEOVER: 'elementor_onboarding_pending_top_upgrade_mouseover',
|
|
EXPERIMENT101_VARIANT: 'elementor_onboarding_experiment101_variant',
|
|
EXPERIMENT101_STARTED: 'elementor_onboarding_experiment101_started',
|
|
EXPERIMENT202_VARIANT: 'elementor_onboarding_experiment202_variant',
|
|
EXPERIMENT202_STARTED: 'elementor_onboarding_experiment202_started',
|
|
EXPERIMENT401_VARIANT: 'elementor_onboarding_experiment401_variant',
|
|
EXPERIMENT401_STARTED: 'elementor_onboarding_experiment401_started',
|
|
EXPERIMENT402_VARIANT: 'elementor_onboarding_experiment402_variant',
|
|
EXPERIMENT402_STARTED: 'elementor_onboarding_experiment402_started',
|
|
PENDING_EXPERIMENT_DATA: 'elementor_onboarding_pending_experiment_data',
|
|
STEP1_END_STATE_SENT: 'elementor_onboarding_step1_end_state_sent',
|
|
STEP2_END_STATE_SENT: 'elementor_onboarding_step2_end_state_sent',
|
|
STEP3_END_STATE_SENT: 'elementor_onboarding_step3_end_state_sent',
|
|
STEP4_END_STATE_SENT: 'elementor_onboarding_step4_end_state_sent',
|
|
STEP2_THEMES_LOADED_SENT: 'elementor_onboarding_step2_themes_loaded_sent'
|
|
};
|
|
function getString(key) {
|
|
return localStorage.getItem(key);
|
|
}
|
|
function setString(key, value) {
|
|
localStorage.setItem(key, value);
|
|
}
|
|
function remove(key) {
|
|
localStorage.removeItem(key);
|
|
}
|
|
function getObject(key) {
|
|
var storedString = getString(key);
|
|
if (!storedString) {
|
|
return null;
|
|
}
|
|
try {
|
|
var parsed = JSON.parse(storedString);
|
|
if (parsed && 'object' === (0, _typeof2.default)(parsed)) {
|
|
return parsed;
|
|
}
|
|
return null;
|
|
} catch (error) {
|
|
remove(key);
|
|
return null;
|
|
}
|
|
}
|
|
function setObject(key, value) {
|
|
try {
|
|
var jsonString = JSON.stringify(value);
|
|
setString(key, jsonString);
|
|
return true;
|
|
} catch (error) {
|
|
return false;
|
|
}
|
|
}
|
|
function getArray(key) {
|
|
var storedArray = getObject(key);
|
|
return Array.isArray(storedArray) ? storedArray : [];
|
|
}
|
|
function appendToArray(key, item) {
|
|
var existingArray = getArray(key);
|
|
existingArray.push(item);
|
|
return setObject(key, existingArray);
|
|
}
|
|
function getNumber(key) {
|
|
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
var storedString = getString(key);
|
|
if (!storedString) {
|
|
return defaultValue;
|
|
}
|
|
var parsed = parseInt(storedString, 10);
|
|
return isNaN(parsed) ? defaultValue : parsed;
|
|
}
|
|
function setNumber(key, value) {
|
|
setString(key, value.toString());
|
|
}
|
|
function incrementNumber(key) {
|
|
var increment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
var currentValue = getNumber(key);
|
|
var newValue = currentValue + increment;
|
|
setNumber(key, newValue);
|
|
return newValue;
|
|
}
|
|
function exists(key) {
|
|
return getString(key) !== null;
|
|
}
|
|
function clearMultiple(keys) {
|
|
keys.forEach(function (key) {
|
|
return remove(key);
|
|
});
|
|
}
|
|
function clearAllOnboardingData() {
|
|
var keysToRemove = [ONBOARDING_STORAGE_KEYS.START_TIME, ONBOARDING_STORAGE_KEYS.INITIATED, ONBOARDING_STORAGE_KEYS.STEP1_ACTIONS, ONBOARDING_STORAGE_KEYS.STEP2_ACTIONS, ONBOARDING_STORAGE_KEYS.STEP3_ACTIONS, ONBOARDING_STORAGE_KEYS.STEP4_ACTIONS, ONBOARDING_STORAGE_KEYS.STEP4_SITE_STARTER_CHOICE, ONBOARDING_STORAGE_KEYS.STEP4_HAS_PREVIOUS_CLICK, ONBOARDING_STORAGE_KEYS.EDITOR_LOAD_TRACKED, ONBOARDING_STORAGE_KEYS.POST_ONBOARDING_CLICK_COUNT, ONBOARDING_STORAGE_KEYS.PENDING_SKIP, ONBOARDING_STORAGE_KEYS.PENDING_CREATE_ACCOUNT_STATUS, ONBOARDING_STORAGE_KEYS.PENDING_CREATE_MY_ACCOUNT, ONBOARDING_STORAGE_KEYS.PENDING_TOP_UPGRADE, ONBOARDING_STORAGE_KEYS.PENDING_TOP_UPGRADE_NO_CLICK, ONBOARDING_STORAGE_KEYS.PENDING_CONNECT_STATUS, ONBOARDING_STORAGE_KEYS.PENDING_STEP1_CLICKED_CONNECT, ONBOARDING_STORAGE_KEYS.PENDING_STEP1_END_STATE, ONBOARDING_STORAGE_KEYS.PENDING_EXIT, ONBOARDING_STORAGE_KEYS.PENDING_AB_101_START_AS_FREE_USER, ONBOARDING_STORAGE_KEYS.PENDING_TOP_UPGRADE_MOUSEOVER, ONBOARDING_STORAGE_KEYS.STEP1_START_TIME, ONBOARDING_STORAGE_KEYS.STEP2_START_TIME, ONBOARDING_STORAGE_KEYS.STEP3_START_TIME, ONBOARDING_STORAGE_KEYS.STEP4_START_TIME];
|
|
clearMultiple(keysToRemove);
|
|
for (var i = 1; i <= 4; i++) {
|
|
var clickDataKey = "elementor_onboarding_click_".concat(i, "_data");
|
|
remove(clickDataKey);
|
|
}
|
|
remove(ONBOARDING_STORAGE_KEYS.STEP1_END_STATE_SENT);
|
|
remove(ONBOARDING_STORAGE_KEYS.STEP2_END_STATE_SENT);
|
|
remove(ONBOARDING_STORAGE_KEYS.STEP3_END_STATE_SENT);
|
|
remove(ONBOARDING_STORAGE_KEYS.STEP4_END_STATE_SENT);
|
|
remove(ONBOARDING_STORAGE_KEYS.STEP2_THEMES_LOADED_SENT);
|
|
}
|
|
function clearExperimentData() {
|
|
var experimentKeys = [ONBOARDING_STORAGE_KEYS.EXPERIMENT101_VARIANT, ONBOARDING_STORAGE_KEYS.EXPERIMENT101_STARTED, ONBOARDING_STORAGE_KEYS.EXPERIMENT202_VARIANT, ONBOARDING_STORAGE_KEYS.EXPERIMENT202_STARTED, ONBOARDING_STORAGE_KEYS.EXPERIMENT401_VARIANT, ONBOARDING_STORAGE_KEYS.EXPERIMENT401_STARTED, ONBOARDING_STORAGE_KEYS.EXPERIMENT402_VARIANT, ONBOARDING_STORAGE_KEYS.EXPERIMENT402_STARTED, ONBOARDING_STORAGE_KEYS.PENDING_EXPERIMENT_DATA];
|
|
clearMultiple(experimentKeys);
|
|
}
|
|
function getStepStartTime(stepNumber) {
|
|
var stepStartTimeKeys = {
|
|
1: ONBOARDING_STORAGE_KEYS.STEP1_START_TIME,
|
|
2: ONBOARDING_STORAGE_KEYS.STEP2_START_TIME,
|
|
3: ONBOARDING_STORAGE_KEYS.STEP3_START_TIME,
|
|
4: ONBOARDING_STORAGE_KEYS.STEP4_START_TIME
|
|
};
|
|
var key = stepStartTimeKeys[stepNumber];
|
|
return key ? getNumber(key) : null;
|
|
}
|
|
function setStepStartTime(stepNumber, timestamp) {
|
|
var stepStartTimeKeys = {
|
|
1: ONBOARDING_STORAGE_KEYS.STEP1_START_TIME,
|
|
2: ONBOARDING_STORAGE_KEYS.STEP2_START_TIME,
|
|
3: ONBOARDING_STORAGE_KEYS.STEP3_START_TIME,
|
|
4: ONBOARDING_STORAGE_KEYS.STEP4_START_TIME
|
|
};
|
|
var key = stepStartTimeKeys[stepNumber];
|
|
if (key) {
|
|
setNumber(key, timestamp);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function clearStepStartTime(stepNumber) {
|
|
var stepStartTimeKeys = {
|
|
1: ONBOARDING_STORAGE_KEYS.STEP1_START_TIME,
|
|
2: ONBOARDING_STORAGE_KEYS.STEP2_START_TIME,
|
|
3: ONBOARDING_STORAGE_KEYS.STEP3_START_TIME,
|
|
4: ONBOARDING_STORAGE_KEYS.STEP4_START_TIME
|
|
};
|
|
var key = stepStartTimeKeys[stepNumber];
|
|
if (key) {
|
|
remove(key);
|
|
}
|
|
}
|
|
var StorageManager = {
|
|
getString: getString,
|
|
setString: setString,
|
|
remove: remove,
|
|
getObject: getObject,
|
|
setObject: setObject,
|
|
getArray: getArray,
|
|
appendToArray: appendToArray,
|
|
getNumber: getNumber,
|
|
setNumber: setNumber,
|
|
incrementNumber: incrementNumber,
|
|
exists: exists,
|
|
clearMultiple: clearMultiple,
|
|
clearAllOnboardingData: clearAllOnboardingData,
|
|
clearExperimentData: clearExperimentData,
|
|
getStepStartTime: getStepStartTime,
|
|
setStepStartTime: setStepStartTime,
|
|
clearStepStartTime: clearStepStartTime
|
|
};
|
|
var _default = exports["default"] = StorageManager;
|
|
|
|
/***/ })
|
|
|
|
}]);
|
|
//# sourceMappingURL=1144a7ccb8f8bf9d8772.bundle.js.map
|