blob: 0b12cf9c9b996ea4968843a8feec0e6c679a711c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import { isNothing, isSome } from "@jet/environment";
import * as objects from "../../../foundation/util/objects";
import * as metricsBuilder from "../builder";
import * as metricsLocation from "./location";
import * as misc from "./misc";
import * as metricsUtil from "./util";
//* *************************
//* Media Metrics
//* *************************
export function addMetricsEventsToVideo(objectGraph, video, options) {
if (isNothing(video)) {
return;
}
const mediaEventFields = misc.fieldsFromPageInformation(options.pageInformation);
if (mediaEventFields === null) {
return;
}
mediaEventFields["id"] = metricsUtil.emptyStringIfNullOrUndefined(options.id);
const idType = metricsUtil.idTypeForMetricsOptions(options);
if (isSome(idType)) {
mediaEventFields["idType"] = idType;
}
mediaEventFields["type"] = "video";
mediaEventFields["typeDetails"] = "iTunesStoreContent";
mediaEventFields["location"] = metricsLocation.createContentLocation(objectGraph, options, "");
if (options.actionDetails) {
mediaEventFields["actionDetails"] = options.actionDetails;
}
video.templateMediaEvent = metricsBuilder.createMetricsMediaData(objectGraph, mediaEventFields);
const clickEventFields = objects.shallowCopyOf(mediaEventFields);
clickEventFields["actionUrl"] = video.videoUrl;
video.templateClickEvent = metricsBuilder.createMetricsMediaClickData(objectGraph, null, "button", clickEventFields);
}
//# sourceMappingURL=media.js.map
|