Fixed "selected" not disappearing when clicking another segment on CurrentSegmentInfobox + added a selected state to AnnotationsController buttons to reflect AnnotationsList/CreateAnnotation shown/hidden state
authordurandn
Thu, 10 Sep 2015 14:08:15 +0200
changeset 118 41a0e97a3a4c
parent 117 42529ea40c4a
child 119 5f78fdba6ecc
Fixed "selected" not disappearing when clicking another segment on CurrentSegmentInfobox + added a selected state to AnnotationsController buttons to reflect AnnotationsList/CreateAnnotation shown/hidden state
server/src/remie/static/remie/metadataplayer/AnnotationsController.js
server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.js
--- a/server/src/remie/static/remie/metadataplayer/AnnotationsController.js	Wed Sep 09 18:10:04 2015 +0200
+++ b/server/src/remie/static/remie/metadataplayer/AnnotationsController.js	Thu Sep 10 14:08:15 2015 +0200
@@ -46,13 +46,23 @@
     this.writeButton_$ = this.$.find(".Ldt-AnnotationsController-ShowCreateAnnotationButton");
     
     this.writeButton_$.click(function(){
-        _this.player.trigger("CreateAnnotation.toggle");
+        if (!_this.writeButton_$.hasClass("selected")){
+            _this.player.trigger("CreateAnnotation.show")
+        }
+        else {
+            _this.player.trigger("CreateAnnotation.hide")
+        }
         if (_this.display_or_write){
             _this.player.trigger("AnnotationsList.hide");
         }
     });
     this.displayButton_$.click(function(){
-        _this.player.trigger("AnnotationsList.toggle");
+        if (!_this.displayButton_$.hasClass("selected")){
+            _this.player.trigger("AnnotationsList.show")
+        }
+        else {
+            _this.player.trigger("AnnotationsList.hide")
+        }
         if (_this.display_or_write){
             _this.player.trigger("CreateAnnotation.hide");
         }
@@ -69,6 +79,19 @@
         this.currentSegment = false
     }
     
+    this.onMdpEvent("CreateAnnotation.hide", function(){
+        _this.writeButton_$.toggleClass("selected", false);
+    })
+    this.onMdpEvent("CreateAnnotation.show", function(){
+        _this.writeButton_$.toggleClass("selected", true);
+    })
+    this.onMdpEvent("AnnotationsList.hide", function(){
+        _this.displayButton_$.toggleClass("selected", false);
+    })
+    this.onMdpEvent("AnnotationsList.show", function(){
+        _this.displayButton_$.toggleClass("selected", true);
+    })
+    
     if (this.starts_hidden) {
         this.visible = true
         this.hide();
@@ -118,6 +141,8 @@
         if (!currentSegment && _currentSegments.length == 0){
             if (this.visible){
                 this.hide();
+                this.writeButton_$.toggleClass("selected", false);
+                this.displayButton_$.toggleClass("selected", false);
                 this.player.trigger("CreateAnnotation.hide");
                 this.player.trigger("AnnotationsList.hide");
             }
@@ -125,6 +150,8 @@
         else {
             if (!this.visible){
                 this.show();
+                this.writeButton_$.toggleClass("selected", false);
+                this.displayButton_$.toggleClass("selected", false);
                 this.player.trigger("CreateAnnotation.hide");
                 this.player.trigger("AnnotationsList.hide");
             }
--- a/server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.js	Wed Sep 09 18:10:04 2015 +0200
+++ b/server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.js	Thu Sep 10 14:08:15 2015 +0200
@@ -96,6 +96,7 @@
                 return _segment.begin.milliseconds == _segmentBegin.milliseconds && _segment.end.milliseconds == _segmentEnd.milliseconds
             });
         if (_list.length >0){
+            _this.$.toggleClass("editing", false);
             if (_this.currentSegment.id != _list[0].id){
                 _this.currentSegment = _list[0];
                 _data = {