Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.pushDataLayerEvent = exports.eventLabels = exports.eventActions = exports.eventCategories = void 0;

var _tagmanager = require("@doodle/tagmanager");

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }

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; }

var events = {
  GTM: 'gtmEvent',
  VIRTUAL_PAGE: 'virtualPageview',
  OPTIMIZE_TRIGGER: 'optimize.trigger'
};
var eventCategories = {
  USER_INTERACTION: 'userInteraction',
  CONVERSION: 'conversion'
};
exports.eventCategories = eventCategories;
var eventActions = {
  NOT_INTERESTED: 'clickNotInterested',
  BUY_PLAN: 'clickPremiumBannerBuyNow',
  SHOW_BANNER: 'showPremiumBanner'
};
exports.eventActions = eventActions;
var eventLabels = {
  TRIAL_OVER: 'trial over',
  TRIAL_RUNNING: 'trial running',
  PREMIUM_OVER: 'Premium over',
  PREMIUM_RUNNING: 'Premium running'
};
exports.eventLabels = eventLabels;
var defaultTrackingFields = {
  eventNonInteraction: 'False',
  eventCategory: eventCategories.UserInteraction,
  eventLabel: undefined,
  // flush datalayer value in order to not mix them up between events
  eventValue: undefined // flush datalayer value in order to not mix them up between events

};

var pushDataLayerEvent = function pushDataLayerEvent(_ref) {
  var eventCategory = _ref.eventCategory,
      eventAction = _ref.eventAction,
      eventLabel = _ref.eventLabel;
  return (0, _tagmanager.pushDataLayer)(_objectSpread({}, defaultTrackingFields, {
    event: events.GTM,
    eventCategory: eventCategory,
    eventAction: eventAction,
    eventLabel: eventLabel
  }));
};

exports.pushDataLayerEvent = pushDataLayerEvent;