diff -r 4fddc765a716 -r be314c4ea4ac src/widgets/CurrentSegmentInfobox.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/widgets/CurrentSegmentInfobox.js Fri Jul 03 17:00:33 2015 +0200
@@ -0,0 +1,76 @@
+/* Widget displays info on the current segment, with possibility of config for editing description and tags */
+
+IriSP.Widgets.CurrentSegmentInfobox = function(player, config){
+ IriSP.Widgets.Widget.call(this, player, config);
+};
+
+IriSP.Widgets.CurrentSegmentInfobox.prototype = new IriSP.Widgets.Widget();
+
+IriSP.Widgets.CurrentSegmentInfobox.prototype.defaults = {
+ annotation_type: "chap",
+ readonly: true,
+ empty_message: false
+};
+
+IriSP.Widgets.CurrentSegmentInfobox.prototype.template =
+ "
"
+ + "
{{title}}
"
+ + "
{{description}}
"
+ + "
"
+ + "
"
+
+IriSP.Widgets.CurrentSegmentInfobox.prototype.messages = {
+ fr : {
+ empty : "Le player vidéo ne lit actuellement aucun segment"
+ },
+ en: {
+ empty: "The player currently doesn't read any segment"
+ }
+}
+
+IriSP.Widgets.CurrentSegmentInfobox.prototype.draw = function() {
+ var _this = this;
+ this.segments = this.getWidgetAnnotations();
+
+ this.renderTemplate();
+ this.refresh();
+
+ this.onMediaEvent("timeupdate", "refresh");
+}
+
+IriSP.Widgets.CurrentSegmentInfobox.prototype.refresh = function() {
+ var _list = this.segments;
+
+ _currentTime = this.media.getCurrentTime();
+ _list = _list.filter(function(_segment){
+ return (_segment.begin <= _currentTime && _segment.end >= _currentTime);
+ })
+ if (_list.length > 0){
+ _currentSegment = _list[0];
+ _data = {
+ title: _currentSegment.title,
+ description : _currentSegment.description,
+ tags : _currentSegment.getTagTexts()
+ }
+ this.$.html(Mustache.to_html(this.template, _data))
+ }
+ else {
+ var _empty_message = this.l10n.empty
+ if (this.empty_message) {
+ _empty_message = this.empty_message
+ }
+ this.$.find(".Ldt-CurrentSegmentInfobox").html(""+_empty_message+"
");
+ }
+}
\ No newline at end of file