UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

51 lines (48 loc) 1.4 kB
import generalData from '../utils/general-data'; import getIdFromUrl from '../utils/get-id-from-url'; import { BlinkEvent } from '../types'; import { Page } from '../selectors/get-page-state'; export interface PreparePageLoadInput { page: Page; url: string; utils: { getClientWidth: () => number; getClientHeight: () => number; getScrollHeight: () => number; getArticleBodyHeight: () => number; getArticleBodyTop: () => number; }; } export default function preparePageloadEvent({ page, url, utils, }: PreparePageLoadInput): BlinkEvent { const { getClientWidth, getClientHeight, getScrollHeight, getArticleBodyHeight, getArticleBodyTop, } = utils; const id = getIdFromUrl(url, page.state.general.site); return { ...generalData(page.state), abCookie: page.state.general.abCookie, commercialSegments: page.state.general.commercialSegments, article: { harvesterId: id, url }, articleBodyHeight: getArticleBodyHeight(), articleBodyTop: getArticleBodyTop(), clientHeight: getClientHeight(), clientWidth: getClientWidth(), cmId: page.state.general.cmId, id: id || '', pageType: page.state.general.pageType, plussData: page.state.general.plussData, previousPageView: page.state.general.previousPageView, scroll: { scrollHeight: getScrollHeight(), }, type: 'pageLoad', }; }