diff -r e21ce061cd81 -r d8f107938feb src/js/widgets/createAnnotationWidget.js --- a/src/js/widgets/createAnnotationWidget.js Thu Jan 12 16:30:01 2012 +0100 +++ b/src/js/widgets/createAnnotationWidget.js Thu Jan 12 17:26:18 2012 +0100 @@ -4,6 +4,12 @@ this.keywords = IriSP.widgetsDefaults["createAnnotationWidget"].keywords; this.cinecast_version = IriSP.widgetsDefaults["createAnnotationWidget"].cinecast_version; this.ids = {}; /* a dictionnary linking buttons ids to keywords */ + + /* variables to save the current position of the slicer */ + if (this.cinecast_version) { + this.sliceLeft = 0; + this.sliceWidth = 0; + } }; @@ -135,13 +141,22 @@ // block the arrow. this._Popcorn.trigger("IriSP.ArrowWidget.blockArrow"); + var duration = +this._serializer.currentMedia().meta["dc:duration"]; + var currentChapter = this._serializer.currentChapitre(currentTime); - console.log(currentTime); - var left = (currentChapter.begin / duration) * this.selector.width(); - var width = (currentChapter.end / duration) * this.selector.width() - left; - console.log([left, width]); + if (typeof(currentChapter) === "undefined") { + var left = this.selector.width() / 2; + var width = this.selector.width() / 10; + } else { + var left = (currentChapter.begin / duration) * this.selector.width(); + var width = (currentChapter.end / duration) * this.selector.width() - left; + } + + this.sliceLeft = left; + this.sliceWidth = width; this._Popcorn.trigger("IriSP.SliceWidget.position", [left, width]); + this._Popcorn.listen("IriSP.SliceWidget.zoneChange", IriSP.wrap(this, this.handleSliderChanges)); this._Popcorn.trigger("IriSP.SliceWidget.show"); } }; @@ -172,7 +187,7 @@ IriSP.createAnnotationWidget.prototype.showStartScreen = function() { this.selector.find(".Ldt-createAnnotation-DoubleBorder").children().show(); - this.selector.find("Ldt-createAnnotation-Description").val(""); + this.selector.find("Ldt-createAnnotation-Description").val("Type your annotation here."); this.selector.find(".Ldt-createAnnotation-endScreen").hide(); }; @@ -219,11 +234,6 @@ })); } else { this.showEndScreen(); - - if (typeof(this._currentAnnotation) === "undefined") { - console.log("this._currentAnnotation undefined"); - return; - } this.sendLdtData(contents, function() { if (_this.cinecast_version) { @@ -236,14 +246,30 @@ } }; +IriSP.createAnnotationWidget.prototype.handleSliderChanges = function(params) { + this.sliceLeft = params[0]; + this.sliceWidth = params[1]; +}; + IriSP.createAnnotationWidget.prototype.sendLdtData = function(contents, callback) { var _this = this; var apiJson = {annotations : [{}], meta: {}}; var annotation = apiJson["annotations"][0]; annotation["media"] = this._serializer.currentMedia()["id"]; - annotation["begin"] = this._currentAnnotation.begin; - annotation["end"] = this._currentAnnotation.end; + + if (this.cinecast_version) { + if (typeof(this._currentAnnotation) !== "undefined") { + annotation["begin"] = this._currentAnnotation.begin; + annotation["end"] = this._currentAnnotation.end; + } + } else { + var duration = +this._serializer.currentMedia().meta["dc:duration"]; + annotation["begin"] = duration * (this.sliceLeft / 100); + annotation["end"] = duration * ((this.sliceWidth + this.sliceLeft) / 100); + console.log(annotation["begin"], annotation["end"]); + } + annotation["type"] = this._serializer.getContributions(); if (typeof(annotation["type"]) === "undefined") annotation["type"] = ""; @@ -277,6 +303,7 @@ data: jsonString, dataType: 'json', success: function(json, textStatus, XMLHttpRequest) { + debugger; /* add the annotation to the annotations and tell the world */ delete annotation.tags; annotation.content.description = annotation.content.data;