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
35
36
37
|
import { isNothing, isSome } from "@jet/environment";
import * as models from "../../../api/models";
import { attributeAsString } from "../../../foundation/media/attributes";
import * as contentArtwork from "../../content/artwork/artwork";
import * as metricsHelpersImpressions from "../../metrics/helpers/impressions";
export function createMetadataRibbonItems(objectGraph, data, lockup, dedupeSet, metricsOptions) {
var _a;
let developerName = lockup.developerName;
if (isNothing(developerName)) {
developerName = (_a = attributeAsString(data, "artistName")) !== null && _a !== void 0 ? _a : attributeAsString(data, "developerName");
}
if (developerName != null) {
if (dedupeSet.has(developerName)) {
return null;
}
else {
dedupeSet.add(developerName);
}
}
if (isSome(developerName) && developerName.length > 0) {
const developerItem = new models.MetadataRibbonItem("imageWithLabel");
developerItem.moduleType = "developerInfo";
developerItem.labelText = developerName;
developerItem.artwork = contentArtwork.createArtworkForResource(objectGraph, "systemimage://person.crop.square");
const characterCountThreshold = 6;
developerItem.maxCharacterCount = 16;
developerItem.truncationLegibilityCharacterCountThreshold = Math.min(characterCountThreshold, developerName.length);
developerItem.allowsTruncation = developerName.length >= characterCountThreshold;
const impressionOptions = metricsHelpersImpressions.impressionOptionsForMetadataRibbonItem(metricsOptions, "developerInfo", developerItem.labelText, "static");
metricsHelpersImpressions.addImpressionFieldsToSearchMetadataRibbonItem(objectGraph, developerItem, impressionOptions);
return [developerItem];
}
else {
return null;
}
}
//# sourceMappingURL=developer-metadata-ribbon-item.js.map
|