@claspo/renderer 16.6.4 → 16.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- export default class CloseWidgetAction extends TrackClick {
1
+ export default class CloseWidgetAction {
2
2
  constructor(eventEmitter: any, actionConfig: any, configService: any, tracking: any);
3
3
  type: string;
4
4
  params: any;
5
5
  eventEmitter: any;
6
+ configService: any;
6
7
  tracking: any;
7
8
  execute(): Promise<any>;
8
9
  }
9
- import TrackClick from "./TrackClick";
@@ -1 +1 @@
1
- import TrackClick from"./TrackClick";import SysActionTypes from"../SysActionTypes";export default class CloseWidgetAction extends TrackClick{constructor(t,i,e,s){super(e),this.type=SysActionTypes.CLOSE_WIDGET,this.params=i.params,this.eventEmitter=t,this.configService=e,this.tracking=s}execute(){return new Promise(t=>{this.eventEmitter.emit(this.type,()=>{t(!0)}),this.track("CloseWidgetAction",this.params.trackClickParams),this.tracking.trackTargetAction(this.params.countAsTargetAction)})}}
1
+ import SysActionTypes from"../SysActionTypes";export default class CloseWidgetAction{constructor(t,i,s,e){this.type=SysActionTypes.CLOSE_WIDGET,this.params=i.params,this.eventEmitter=t,this.configService=s,this.tracking=e}execute(){return new Promise(t=>{this.eventEmitter.emit(this.type,()=>{t(!0)}),this.tracking.trackClick({params:this.params.trackClickParams,countAsTargetAction:this.params.countAsTargetAction}),this.tracking.trackTargetAction(this.params.countAsTargetAction)})}}
@@ -1,4 +1,4 @@
1
- export default class GoToViewAction extends TrackClick {
1
+ export default class GoToViewAction {
2
2
  constructor(eventEmitter: any, actionConfig: any, configService: any, form: any, viewRouter: any, documentModel: any, tracking: any);
3
3
  type: string;
4
4
  eventEmitter: any;
@@ -9,4 +9,3 @@ export default class GoToViewAction extends TrackClick {
9
9
  tracking: any;
10
10
  execute(): Promise<boolean>;
11
11
  }
12
- import TrackClick from "./TrackClick";
@@ -1 +1 @@
1
- import SysActionTypes from"../SysActionTypes";import TrackClick from"./TrackClick";export default class GoToViewAction extends TrackClick{constructor(i,t,e,s,r,o,c){super(e),this.type=SysActionTypes.GO_TO_VIEW,this.eventEmitter=i,this.config=t,this.form=s,this.viewRouter=r,this.documentModel=o,this.tracking=c}execute(){this.form.markAsTouched();let i=!1;const t=this.viewRouter.getCurrentViewIndex();if(this.config.params.viewId){i=t<this.documentModel.getViews().findIndex(i=>i.id===this.config.params.viewId)}else i=t<this.config.params.viewIndex;return i&&!this.form.isValid()?(this.eventEmitter.emit("INVALID_CONTACT_DATA_SUBMIT_ATTEMPT"),Promise.resolve(!1)):(this.eventEmitter.emit(this.type,this.config.params.viewId||this.config.params.viewIndex),this.config.params.trackClick&&this.track("GoToViewAction",this.config.params.trackClickParams),Promise.resolve(!0))}}
1
+ import SysActionTypes from"../SysActionTypes";export default class GoToViewAction{constructor(t,i,e,s,o,r,c){this.type=SysActionTypes.GO_TO_VIEW,this.eventEmitter=t,this.config=i,this.form=s,this.viewRouter=o,this.documentModel=r,this.tracking=c}execute(){this.form.markAsTouched();let t=!1;const i=this.viewRouter.getCurrentViewIndex();if(this.config.params.viewId){t=i<this.documentModel.getViews().findIndex(t=>t.id===this.config.params.viewId)}else t=i<this.config.params.viewIndex;return t&&!this.form.isValid()?(this.eventEmitter.emit("INVALID_CONTACT_DATA_SUBMIT_ATTEMPT"),Promise.resolve(!1)):(this.eventEmitter.emit(this.type,this.config.params.viewId||this.config.params.viewIndex),this.config.params.trackClick&&this.tracking.trackClick({params:this.config.params.trackClickParams,countAsTargetAction:this.config.params.countAsTargetAction}),Promise.resolve(!0))}}
@@ -1,4 +1,4 @@
1
- export default class OpenLinkAction extends TrackClick {
1
+ export default class OpenLinkAction {
2
2
  static appendQueryParamsToLink(link: any, queryParams: any): string;
3
3
  static getUtmTags(utmTagConfig: any, dynamicParamsMap: any): {};
4
4
  static getDynamicUtmParamsMap(configService: any): Map<string, string>;
@@ -6,7 +6,7 @@ export default class OpenLinkAction extends TrackClick {
6
6
  constructor(actionConfig: any, configService: any, tracking: any);
7
7
  type: string;
8
8
  params: any;
9
+ configService: any;
9
10
  tracking: any;
10
11
  execute(state: any, event: any): Promise<boolean>;
11
12
  }
12
- import TrackClick from "./TrackClick";
@@ -1 +1 @@
1
- import TrackClick from"./TrackClick";import SysActionTypes from"../SysActionTypes";import sanitizeUrl from"@claspo/common/url/sanitizeUrl";export default class OpenLinkAction extends TrackClick{constructor(t,e,a){super(e),this.type=SysActionTypes.OPEN_LINK,this.params=t.params,this.configService=e,this.tracking=a}execute(t,e){e.stopPropagation(),this.tracking.send("FormClick_[Name]"),this.tracking.trackTargetAction(this.params.countAsTargetAction),this.track("OpenLinkAction",this.params.trackClickParams);let a=this.params.link;const n=this.configService.getConfig("utmTag");if(this.params.tagsEnabled&&(null==n?void 0:n.enabled)){const t=OpenLinkAction.getDynamicUtmParamsMap(this.configService),e=OpenLinkAction.getUtmTags(n,t);a=OpenLinkAction.appendQueryParamsToLink(this.params.link,e)}return window.open(sanitizeUrl(a),this.params.target),Promise.resolve(!0)}static appendQueryParamsToLink(t,e){const a=new URL(t);return Object.keys(e).forEach(t=>{a.searchParams.has(t)||a.searchParams.append(t,e[t])}),a.href}static getUtmTags(t,e){const a={},n=new Map([["utmSource","utm_source"],["utmMedium","utm_medium"],["utmCampaign","utm_campaign"],["utmContent","utm_content"],["utmTerm","utm_term"]]);return["utmSource","utmMedium","utmCampaign","utmContent","utmTerm"].filter(e=>void 0!==(null==t?void 0:t[e])).forEach(i=>{const o=n.get(i),r=e.has(t[i])?e.get(t[i]):encodeURIComponent(t[i]);a[o]=r}),(null==t?void 0:t.customTagsEnabled)&&Object.keys((null==t?void 0:t.utmCustomTags)||{}).filter(e=>{var a;return void 0!==(null===(a=null==t?void 0:t.utmCustomTags)||void 0===a?void 0:a[e])}).forEach(n=>{a[n]=e.has(t.utmCustomTags[n])?e.get(t.utmCustomTags[n]):encodeURIComponent(t.utmCustomTags[n])}),a}static getDynamicUtmParamsMap(t){const e=e=>OpenLinkAction.normalizeUtmParam(t.getConfig(e));return new Map([["$widgetId",e("widgetId")],["$widgetName",encodeURIComponent(e("widgetName"))],["$widgetType",e("layoutType")],["$widgetLang",e("browserLanguage")],["$contactId",encodeURIComponent(e("clContactId"))]])}static normalizeUtmParam(t){return null==t?"":String(t)}}
1
+ import SysActionTypes from"../SysActionTypes";import sanitizeUrl from"@claspo/common/url/sanitizeUrl";export default class OpenLinkAction{constructor(t,a,e){this.type=SysActionTypes.OPEN_LINK,this.params=t.params,this.configService=a,this.tracking=e}execute(t,a){a.stopPropagation(),this.tracking.send("FormClick_[Name]"),this.tracking.trackTargetAction(this.params.countAsTargetAction),this.tracking.trackClick({params:this.params.trackClickParams,countAsTargetAction:this.params.countAsTargetAction});let e=this.params.link;const n=this.configService.getConfig("utmTag");if(this.params.tagsEnabled&&(null==n?void 0:n.enabled)){const t=OpenLinkAction.getDynamicUtmParamsMap(this.configService),a=OpenLinkAction.getUtmTags(n,t);e=OpenLinkAction.appendQueryParamsToLink(this.params.link,a)}return window.open(sanitizeUrl(e),this.params.target),Promise.resolve(!0)}static appendQueryParamsToLink(t,a){const e=new URL(t);return Object.keys(a).forEach(t=>{e.searchParams.has(t)||e.searchParams.append(t,a[t])}),e.href}static getUtmTags(t,a){const e={},n=new Map([["utmSource","utm_source"],["utmMedium","utm_medium"],["utmCampaign","utm_campaign"],["utmContent","utm_content"],["utmTerm","utm_term"]]);return["utmSource","utmMedium","utmCampaign","utmContent","utmTerm"].filter(a=>void 0!==(null==t?void 0:t[a])).forEach(i=>{const o=n.get(i),s=a.has(t[i])?a.get(t[i]):encodeURIComponent(t[i]);e[o]=s}),(null==t?void 0:t.customTagsEnabled)&&Object.keys((null==t?void 0:t.utmCustomTags)||{}).filter(a=>{var e;return void 0!==(null===(e=null==t?void 0:t.utmCustomTags)||void 0===e?void 0:e[a])}).forEach(n=>{e[n]=a.has(t.utmCustomTags[n])?a.get(t.utmCustomTags[n]):encodeURIComponent(t.utmCustomTags[n])}),e}static getDynamicUtmParamsMap(t){const a=a=>OpenLinkAction.normalizeUtmParam(t.getConfig(a));return new Map([["$widgetId",a("widgetId")],["$widgetName",encodeURIComponent(a("widgetName"))],["$widgetType",a("layoutType")],["$widgetLang",a("browserLanguage")],["$contactId",encodeURIComponent(a("clContactId"))]])}static normalizeUtmParam(t){return null==t?"":String(t)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claspo/renderer",
3
- "version": "16.6.4",
3
+ "version": "16.6.5",
4
4
  "scripts": {
5
5
  "dev": " tsc --project tsconfig.json --watch",
6
6
  "build": "rm -rf out && tsc --project tsconfig.json && npm run minify",
@@ -1,5 +0,0 @@
1
- export default class TrackClick {
2
- constructor(configService: any);
3
- configService: any;
4
- track(actionName: any, params: any): void;
5
- }
@@ -1 +0,0 @@
1
- import ErrorLogger from"../../error/ErrorLogger";export default class TrackClick{constructor(e){this.configService=e}track(e,i){if(this.configService.getConfig("widgetDebugMode"))return;const r=this.configService.getConfig("formVariantId");if(r){const e=+r.split("v")[1],o=+r.split("v")[0].replace("f",""),g=this.configService.getConfig("hostUrl")+"forms/v1/event",n=this.configService.getConfig("clCustomerId"),t=this.configService.getConfig("clContactId"),c=this.configService.getConfig("triggeredBy"),a=this.configService.getConfig("interactionId"),f=this.configService.getConfig("revision"),s=this.configService.getConfig("appearanceRevision"),v=this.configService.getConfig("browserLanguage"),d=this.configService.getConfig("browserLanguage"),l=this.configService.getConfig("appearanceLanguage"),C=btoa(JSON.stringify({formId:o,variantId:e,clCustomerId:n,contactId:t,iid:a,revision:f,appearanceRevision:s,type:"click",referrer:window.location.href,params:i,triggeredBy:c,lang:v,browserLanguage:d,appearanceLanguage:l}));try{navigator.sendBeacon(g,C)}catch(e){ErrorLogger.log(e)}}else console.warn(`${e} could not access rendererConfig.formVariantId to track click event`)}}