--- a/web/res/metadataplayer/Transcript.js Mon Nov 20 18:10:58 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/* This widget displays annotations as a transcript */
-
-IriSP.Widgets.Transcript = function(player, config) {
- IriSP.Widgets.Widget.call(this, player, config);
-}
-
-IriSP.Widgets.Transcript.prototype = new IriSP.Widgets.Widget();
-
-IriSP.Widgets.Transcript.prototype.defaults = {
- annotation_type: "Caption",
- use_vtt_track: false
-}
-
-IriSP.Widgets.Transcript.prototype.template = '<div class="Ldt-TranscriptWidget"></div>';
-
-IriSP.Widgets.Transcript.prototype.annotationTemplate = '<span data-begin="{{ begin }}" data-end="{{ end }}" data-id="{{ id }}" class="Ldt-Transcript-Annotation">{{ content }}</span> ';
-
-IriSP.Widgets.Transcript.prototype.draw = function() {
- var _annotations = this.getWidgetAnnotations();
- var _this = this;
- var content;
-
- _this.renderTemplate();
- content = _this.$.find('.Ldt-TranscriptWidget');
-
- if (_this.use_vtt_track) {
- // Use webvtt track. It will only work with native video player.
- var widgets = _this.player.widgets.filter(function (w) { return w.type == "HtmlPlayer"; });
- if (widgets) {
- var v = widgets[0].$.find("video")[0];
- // FIXME: allow to specify the used track
- v.addEventListener("loadedmetadata", function () {
- var track = v.textTracks[0];
- var cues = track.cues;
- var i = 1;
- Array.prototype.forEach.apply(cues, [ function(_c) {
- _c.id = "cue" + i;
- var _html = Mustache.to_html(_this.annotationTemplate, {
- id : _c.id,
- content : _c.text,
- begin : 1000 * _c.startTime,
- end : 1000 * _c.endTime
- });
- i += 1;
- var _el = IriSP.jQuery(_html);
- content.append(_el);
- } ]);
- track.addEventListener("cuechange", function () {
- var acues = track.activeCues;
- if (acues.length > 0) {
- // Update attributes for active cues
- _this.$.find(".Ldt-Transcript-Annotation.active").removeClass("active");
- Array.prototype.forEach.apply(acues, [ function(_c) {
- _this.$.find("#" + _c.id).addClass("active");
- } ]);
- }
- }, false);
- content.on("click", ".Ldt-Transcript-Annotation", function () {
- _this.media.setCurrentTime(this.dataset.begin);
- });
- });
- } else {
- console.log("cannot find a video object");
- }
- } else {
- // Populate with annotation data
- _annotations.forEach(function(_a) {
- var _data = {
- id : _a.id,
- content : IriSP.textFieldHtml(_a.title),
- begin : _a.begin.toString(),
- end : _a.end.toString()
- };
- var _html = Mustache.to_html(_this.annotationTemplate, _data);
- var _el = IriSP.jQuery(_html);
- content.append(_el);
- });
- };
-};