added annotation type config for polemic and segment widgets
authorndurand
Wed, 25 Mar 2015 18:40:48 +0100
changeset 1346 033173b1de1e
parent 1345 840fdb2306ca
child 1347 c1eb7dda4fe4
added annotation type config for polemic and segment widgets
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v2/iframe.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v2/mdplayer_config.html
src/ldt/ldt/ldt_utils/views/embed/v2/views.py
src/ldt/ldt/static/ldt/js/embed/v2/embed.js
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v2/iframe.html	Tue Mar 24 18:13:08 2015 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v2/iframe.html	Wed Mar 25 18:40:48 2015 +0100
@@ -37,15 +37,21 @@
 	            },
 	            autostart: {% if autostart %} true {% else %} false {% endif %}
 	        }
-	      {% if polemic == 'all' or polemic == 'tweet' %}
+	      {% if polemic %}
 	        ,{
 	            type: "Polemic",
 	          {% if polemic == 'all' %}
 	            annotation_type: false,
+	          {% else %}
+           	  	annotation_type: [
+           	  	{% for type in polemic_annotation_types %}
+           	  		{% if type == polemic_annotation_types|last %}
+	       	  			"{{type}}"
+	       	  		{% else %}
+	       	  			"{{type}}",
+	       	  		{% endif %}
+           	  	{% endfor %}],
 	          {% endif %}
-	          {% if polemic == 'tweet' %}
-	           	annotation_type: "tweet",
-	             {% endif %}
 	            max_elements: {{ polemic__max_elements }},
 	            defaultcolor: "#{{ polemic_defaultColor }}",
 				foundcolor: "#{{ polemic_foundColor }}",
@@ -101,7 +107,14 @@
 	        }
 	        {% if segments %},{
 		        type: "Segments",
-		        annotation_type: ["chap","découpage"]
+		        annotation_type: [
+           	  	{% for type in segments_annotation_types %}
+	       	  		{% if type == segments_annotation_types|last %}
+	       	  			"{{type}}"
+	       	  		{% else %}
+	       	  			"{{type}}",
+	       	  		{% endif %}
+           	  	{% endfor %}]
 		    }
 	        {% endif %}
 	        {% if multisegments %},{
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v2/mdplayer_config.html	Tue Mar 24 18:13:08 2015 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v2/mdplayer_config.html	Wed Mar 25 18:40:48 2015 +0100
@@ -36,9 +36,17 @@
 	                                 </input>
 		</div>
 	</div>
-	<input type="checkbox" id="segments_checkbox" value="segments" onClick="put_new_code()" >
-		<span class="infostooltip title" data-title="Segments" data-desc="{% trans 'Displays segments of a media as rectangles on an horizontal line' %}">Segments</span>	
-	</input><br>
+	<div id="segments_block">
+		<input type="checkbox" id="segments_checkbox" value="segments" onClick="put_new_code(); display_segments();" >
+			<span class="infostooltip title" data-title="Segments" data-desc="{% trans 'Displays segments of a media as rectangles on an horizontal line' %}">Segments</span>	
+		</input><br>
+		<div id="segments_options" class="embedPersonnalisationSecondLevel">
+			<div id="displaySegmentsOptions">
+				{% trans 'Display annotation types: (annotation types must be separated by commas, leave blank to display everything) '%} <br>
+				<input type="text" id="segments_annotation_types" value='chap,découpage' onChange="put_new_code()"/><br>
+			</div>
+		</div>
+	</div>
 	<div id="multisegments_block">
 		<input type="checkbox" id="multisegments_checkbox" value="multisegments" onClick="put_new_code()" >
 			<span class="infostooltip title" data-title="MultiSegments" data-desc="{% trans 'Displays every segment of a media as rectangles on multiple horizontal lines' %}">MultiSegments</span>	
@@ -52,9 +60,9 @@
 			<span class="infostooltip title" data-title="Polemic" data-desc="{% trans 'Shows the polemical timeline, i.e. tweets colored according to the polemical syntax' %}">Polemic</span>
 		</input><br>
 			<div id="polemic_options" class="embedPersonnalisationSecondLevel">
-				<div id="displayPolemicOptions">{% trans 'Display in the polemic timeline : ' %}
-					<input type="radio" id="tweet_polemic" name="polemic_annotation_type" checked onClick="put_new_code()">{% trans 'only tweets' %} </input>
-					<input type="radio" id="all_polemic" name="polemic_annotation_type" onClick="put_new_code()">{% trans 'all annotations' %} </input><br>
+				<div id="displayPolemicOptions">
+					{% trans 'Display annotation types: (annotation types must be separated by commas, leave blank to display everything) '%} <br>
+					<input type="text" id="polemic_annotation_types" value="tweet" onChange="put_new_code()"/><br>
 					<a id="displayPolemicColorOptions" class="AdvancedOptionsDisplay">
 						<span class="title">{% trans "Personalize tweet's color" %}</span>
 					</a>
--- a/src/ldt/ldt/ldt_utils/views/embed/v2/views.py	Tue Mar 24 18:13:08 2015 +0100
+++ b/src/ldt/ldt/ldt_utils/views/embed/v2/views.py	Wed Mar 25 18:40:48 2015 +0100
@@ -53,8 +53,6 @@
                 json_url += "?group=" + group_id
             rend_dict["json_url"] = json_url
         
-        logger.debug("json_url for iframe is "+json_url)
-        
         # Manage iframe options
         if request.GET.has_key("player_height"):
             rend_dict["player_height"]=request.GET.get("player_height")
@@ -65,7 +63,13 @@
         else:
             rend_dict["player_width"]=550
         if request.GET.has_key("polemic"):
-            rend_dict["polemic"] = request.GET.get("polemic")
+            rend_dict["polemic"] = True
+            polemic_annotation_types_str = ""
+            if request.GET.get("polemic") == "all":
+                polemic_annotation_types_str = "false"
+            else:
+                polemic_annotation_types_list = request.GET.get("polemic").split(",")
+                rend_dict["polemic_annotation_types"] = polemic_annotation_types_list
             if request.GET.has_key("polemic_defaultColor"):
                 rend_dict["polemic_defaultColor"] = request.GET.get("polemic_defaultColor")
             else:
@@ -112,7 +116,7 @@
         if request.GET.has_key("autostart"):
             rend_dict["autostart"] = {'true': True, 'false': False, "0": False, "1": True}.get(request.GET.get("autostart").lower())
         else : 
-            rend_dict["autostart"] = True
+            rend_dict["autostart"] = False
         if request.GET.has_key("createannotation"):
             rend_dict["createannotation"] = {'true': True, 'false': False, "0": False, "1": True}.get(request.GET.get("createannotation").lower())
         if request.GET.has_key("show_mic_record"):
@@ -169,6 +173,11 @@
             rend_dict["segments"] = {'true': True, 'false': False, "0": False, "1": True}.get(request.GET.get("segments").lower())
         else:
             rend_dict["segments"] = True
+        if request.GET.has_key("segments_annotation_types"):
+            segments_annotation_types_list = request.GET.get("segments_annotation_types").split(",")
+            rend_dict["segments_annotation_types"] = segments_annotation_types_list
+        else:
+            rend_dict["segments_annotation_types"] = "false"
         if request.GET.has_key("multisegments"):
             rend_dict["multisegments"] = {'true': True, 'false': False, "0": False, "1": True}.get(request.GET.get("multisegments").lower())
         if request.GET.has_key("tagcloud"):
--- a/src/ldt/ldt/static/ldt/js/embed/v2/embed.js	Tue Mar 24 18:13:08 2015 +0100
+++ b/src/ldt/ldt/static/ldt/js/embed/v2/embed.js	Wed Mar 25 18:40:48 2015 +0100
@@ -28,6 +28,7 @@
 	$j("#polemic_color_options").toggle(false);
 	$j("#sparkline_color_options").toggle(false);
 	$j("#social_options").toggle(false);
+	$j("#displaySegmentsOptions").toggle(false);
 	$j("#displayPolemicOptions").toggle(false);
 	$j("#displaySparklineOptions").toggle(false);
 	$j("#polemic_default_color").val("#585858");
@@ -199,20 +200,24 @@
 	var sparkline_val=document.getElementById('sparkline_checkbox');
 	var tagcloud_val=document.getElementById('tagcloud_checkbox');
 	var player_height_val=$j('#player_height').val();
+	var autostart_val=document.getElementById('autostart_checkbox');
 	widget_code='\
 	widgets: [\n\
 		{\n\
 			type: "AutoPlayer",\n';
 	
 	if (external_url!='None'){
-		widget_code+='\
-			video: "'+external_url+'",\n';
+		widget_code+='video: "'+external_url+'",\n';
 	}
 	
-	widget_code+='\
-			height: '+player_height_val+',\n\
-	        autostart: true\n\
-	    }';
+	widget_code+='height: '+player_height_val+',\n'  
+	
+	if (autostart_val.checked){
+		widget_code+='autostart: true\n\}';
+	}
+	else {
+		widget_code+='autostart: false\n\}';
+	}
 	if (polemic_val.checked){	
 		defaultcolor= $j("#polemic_default_color").val();
 		foundcolor=$j("#polemic_found_color").val();
@@ -220,13 +225,21 @@
 		ko_color=$j("#polemic_ko_color").val();
 		ref_color=$j("#polemic_ref_color").val();
 		q_color=$j("#polemic_q_color").val();
-		tweet_type=document.getElementById("tweet_polemic");
+		polemic_annotation_types_val=document.getElementById("polemic_annotation_types");
 		widget_code+='\
 	    ,{\n\
 	        type: "Polemic",\n';
-		if(tweet_type.checked){
+		if(polemic_annotation_types_val.value){
+			var polemic_annotation_types_array=polemic_annotation_types_val.value.split(",")
 			widget_code+='\
-			annotation_type: "tweet",\n';
+			annotation_type: [';
+			for (i=0; i<polemic_annotation_types_array.length; i++){
+				widget_code+='"'+polemic_annotation_types_array[i]+'"'
+				if (i!=polemic_annotation_types_array.length-1){
+					widget_code+=','
+				}
+			}
+			widget_code+='],\n';
 		}
 		else{
 			widget_code+='\
@@ -272,9 +285,25 @@
 	
 	if(segments_val.checked){
 		widget_code+=',{\n\
-	        type: "Segments",\n\
-	        annotation_type: ["chap","découpage"]\n\
-	    }';
+			type: "Segments",\n';
+		var segments_annotation_types_val=document.getElementById('segments_annotation_types');
+		
+		if(segments_annotation_types_val.value){
+			var segments_annotation_types_array=segments_annotation_types_val.value.split(",")
+			widget_code+='\
+			annotation_type: [';
+			for (i=0; i<segments_annotation_types_array.length; i++){
+				widget_code+='"'+segments_annotation_types_array[i]+'"'
+				if (i!=segments_annotation_types_array.length-1){
+					widget_code+=','
+				}
+			}
+			widget_code+='],\n';
+		}
+		else {
+			widget_code+='annotation_type: false\n';
+		}
+		widget_code+='}';
 	}
 	if(multisegments_val.checked){
 		widget_code+=',{\n\
@@ -481,6 +510,10 @@
 	$j("#polemic_color_options").toggle(false);
 }
 
+function display_segments(){
+	$j("#displaySegmentsOptions").slideToggle("fast");
+}
+
 function display_sparkline(){
 	$j("#displaySparklineOptions").slideToggle("fast");		
 	$j("#sparkline_color_options").toggle(false);
@@ -518,13 +551,16 @@
 		var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
 		show_mic_record_val.checked=false;
 	}
+	$j("#displaySegmentsOptions").toggle(false);
 	$j("#displayPolemicOptions").toggle(false);
 	$j("#displaySparklineOptions").toggle(false);
 	$j("#social_options").toggle(false);
 	$j("#sparkline_color_options").toggle(false);
+	display_segments();
+	
+	segments_val.checked=true;
 	multisegments_val.checked=false;
 	polemic_val.checked=false;
-	segments_val.checked=true;
 	annotationslist_val.checked=false;
 	slideshare_val.checked=false;
 	social_val.checked=false;
@@ -548,10 +584,12 @@
 	var tagcloud_val=document.getElementById('tagcloud_checkbox');
 	var createannotation_val=document.getElementById('createannotation_checkbox');
 	var type_embed=document.getElementById("type_embed_div");	
+	$j("#displaySegmentsOptions").toggle(false);
 	$j("#displayPolemicOptions").toggle(false);
 	$j("#displaySparklineOptions").toggle(false);
 	$j("#social_options").toggle(false);
 	$j("#sparkline_color_options").toggle(false);
+	display_segments();
 	display_polemic();
 	display_sparkline();
 
@@ -592,11 +630,13 @@
 	var sparkline_val=document.getElementById('sparkline_checkbox');
 	var tagcloud_val=document.getElementById('tagcloud_checkbox');
 	var createannotation_val=document.getElementById('createannotation_checkbox');
-	var type_embed=document.getElementById("type_embed_div");	
+	var type_embed=document.getElementById("type_embed_div");
+	$j("#displaySegmentsOptions").toggle(false);
 	$j("#displayPolemicOptions").toggle(false);
 	$j("#displaySparklineOptions").toggle(false);
 	$j("#social_options").toggle(false);
 	$j("#sparkline_color_options").toggle(false);
+	display_segments();
 	display_polemic();
 	display_social();
 	display_sparkline();
@@ -651,6 +691,7 @@
 	var tagcloud_val=document.getElementById('tagcloud_checkbox');
     var createannotation_polemics_val=document.getElementById('createannotation_polemics_checkbox');
     var concatenate_projects_val=document.getElementById('concatenate_projects_checkbox');
+    var autostart_val=document.getElementById('autostart_checkbox');
 	iframeUrl=iframe_url;
 	
 	if($j("#player_height").val()!=300)
@@ -673,9 +714,9 @@
         }
 	}
 	if (polemic_val.checked){
-		tweet_type=document.getElementById("tweet_polemic");
-		if(tweet_type.checked){
-			iframeUrl+="&polemic=tweet";
+		var polemic_annotation_types_val=document.getElementById("polemic_annotation_types");
+		if(polemic_annotation_types_val.value){
+			iframeUrl+="&polemic="+polemic_annotation_types_val.value;
 		}
 		else{
 			iframeUrl+="&polemic=all";
@@ -712,9 +753,6 @@
 			iframeUrl+="&polemic_qColor="+qColor_code;
 
 	}
-	else{
-		iframeUrl+="&polemic=False";
-	}
 	if(annotationslist_val.checked){
 		iframeUrl+="&annotations_list=True";
 	}
@@ -753,6 +791,12 @@
 	if(!segments_val.checked){
 		iframeUrl+="&segments=False";
 	}
+	else{
+		var segments_annotation_types_val=document.getElementById("segments_annotation_types");
+		if (segments_annotation_types_val.value){
+			iframeUrl+="&segments_annotation_types="+segments_annotation_types_val.value
+		}
+	}
 	if(multisegments_val.checked){
 		iframeUrl+="&multisegments=True"
 	}
@@ -775,6 +819,9 @@
     if(concatenate_projects_val.checked){
         iframeUrl+="&concatenate_projects=True";
     }
+    if(autostart_val.checked){
+    	iframeUrl+="&autostart=True";
+    }
 
   return iframeUrl;
 }