/
index.js
80 lines (63 loc) · 2.24 KB
/
index.js
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
(function() {
class VideoDataPlugin extends paella.VideoOverlayButtonPlugin {
getIndex() { return 10; }
getSubclass() {
return "videoData";
}
getAlignment() {
return 'left';
}
getDefaultToolTip() { return ""; }
checkEnabled(onSuccess) {
// Check if enabled
let plugin = paella.player.config.plugins.list["es.upv.paella.videoDataPlugin"];
let exclude = (plugin && plugin.excludeLocations) || [];
let excludeParent = (plugin && plugin.excludeParentLocations) || [];
let excluded = exclude.some((url) => {
let re = RegExp(url,"i");
return re.test(location.href);
});
if (window!=window.parent) {
excluded = excluded || excludeParent.some((url) => {
let re = RegExp(url,"i");
try {
return re.test(parent.location.href);
}
catch(e) {
// Cross domain error
return false;
}
});
}
onSuccess(!excluded);
}
setup() {
let title = document.createElement("h1");
title.innerText = "";
title.className = "videoTitle";
this.button.appendChild(title);
paella.data.read("metadata","title",function(data) {
title.innerHTML = data;
});
}
action(button) {
}
getName() {
return "es.upv.paella.videoDataPlugin";
}
}
paella.plugins.videoDataPlugin = new VideoDataPlugin();
class VideoManifestMetadataDataDelegate extends paella.DataDelegate {
read(context, params, onSuccess) {
let metadata = paella.player.videoLoader.getMetadata();
onSuccess(metadata[params], true);
}
write(context, params, value, onSuccess) {
onSuccess({}, true);
}
remove(context, params, onSuccess) {
onSuccess({}, true);
}
}
paella.dataDelegates.VideoManifestMetadataDataDelegate = VideoManifestMetadataDataDelegate;
})();