enhance history management
authorcavaliet
Wed, 24 Apr 2013 17:58:51 +0200
changeset 1168 73526b9841b1
parent 1167 2da91560ffae
child 1169 8837650d6f62
enhance history management
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html
src/ldt/ldt/static/ldt/js/projectscontents.js
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Wed Apr 24 16:51:39 2013 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Wed Apr 24 17:58:51 2013 +0200
@@ -5,6 +5,7 @@
 {{block.super}}
     <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
 	<script type="text/javascript" src='{% absstatic "ldt/js/projectscontents.js" %}' ></script>
+    <script type="text/javascript" src='{% absstatic "ldt/js/jquery.history.js" %}'></script>
 {% endblock %}
 
 {% block js_declaration %}
@@ -12,6 +13,7 @@
 <script type="text/javascript">
 
 var groups_filter_url = "{% url ldt.ldt_utils.views.group.groups_filter filter='__FILTER__' %}";
+var content_filter_url = "{% url ldt.ldt_utils.views.content.contents_filter filter_c='__FILTER__' %}";
 var project_filter_url = "{% url ldt.ldt_utils.views.project.projects_filter filter='__FILTER__' is_owner='false' status='0' id_group='__ID_GROUP__' %}";
 var publish_project_url = "{% url ldt.ldt_utils.views.project.publish '__PROJECT_ID__' %}";
 var unpublish_project_url = "{% url ldt.ldt_utils.views.project.unpublish '__PROJECT_ID__' %}";
@@ -23,6 +25,20 @@
 	
 var global_csrf_token = "{{ csrf_token }}";
 
+//Functions to manage history with parameters
+function getURLParameter(name) {
+    return decodeURI(
+        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
+    );
+}
+function update_history(){
+    // Group id
+    g = $("#id_group").val();
+    // Project filter
+    pf = ($("#searchprojectsinput").val()==undefined || $("#searchprojectsinput").val()=="") ? "undefined" : $("#searchprojectsinput").val();
+    History.replaceState(null, null, "?pf=" + pf + "&g=" + g);
+}
+
 $(document).ready(function(){
 	
 	input_list_init = [
@@ -46,6 +62,7 @@
         $('#search_div').show();
         $('#id_group').val(id_group);
         $('#searchprojectsinput').val("");
+        update_history();
         $(".searchclear",$('#search_div')).hide();
     	// Send the request to update the projects list
         $.ajax({
@@ -62,7 +79,7 @@
             	alert(jqXHR.responseText());            	
             }
         });
-    });    
+    });
     
     var leave_msg = '{% trans "Do you want to leave this group ?" %}';
     
@@ -73,9 +90,21 @@
 		if (leave) {
 			window.location = $(this).attr('href');
 		}
-    	
     });
     
+    // If some filters parameters were set, we run the filter on contents and projects
+    g = getURLParameter("g");
+    pf = getURLParameter("pf");
+    if(pf=="null" || pf==null || pf=="undefined" || pf==undefined){
+        pf = "";
+    }
+    if(pf!="" || g>=0){
+        // Project filter with current group g
+        $("#searchprojectsinput").val(pf);
+        $('#id_group').val(g);
+        searchCallback($('#searchprojectsinput'), "#projectslistcontainer", project_filter_url, 0, 0);
+    }
+    
 });
 </script>
 {% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html	Wed Apr 24 16:51:39 2013 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html	Wed Apr 24 17:58:51 2013 +0200
@@ -26,11 +26,19 @@
 	
 var global_csrf_token = "{{ csrf_token }}";
 
+// Functions to manage history with parameters
 function getURLParameter(name) {
     return decodeURI(
         (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
     );
 }
+function update_history(){
+    // Project filter
+    pf = ($("#searchprojectsinput").val()==undefined || $("#searchprojectsinput").val()=="") ? "undefined" : $("#searchprojectsinput").val();
+    // Project page
+    pp = $("#current_project_page").val();
+    History.replaceState(null, null, "?pf=" + pf + "&pp=" + pp);
+}
 
 $(document).ready(function(){
 	
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html	Wed Apr 24 16:51:39 2013 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html	Wed Apr 24 17:58:51 2013 +0200
@@ -25,11 +25,25 @@
 	
 var global_csrf_token = "{{ csrf_token }}";
 
+//Functions to manage history with parameters
 function getURLParameter(name) {
     return decodeURI(
         (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
     );
 }
+function update_history(){
+    // Content filter
+    cf = ($("#searchcontentsinput").val()==undefined || $("#searchcontentsinput").val()=="") ? "undefined" : $("#searchcontentsinput").val();
+    // Content page
+    cp = $("#current_content_page").val();
+    // Content tag
+    ct = ($("#current_content_tag").val()==undefined || $("#current_content_tag").val()=="") ? "undefined" : $("#current_content_tag").val();
+    // Project filter
+    pf = ($("#searchprojectsinput").val()==undefined || $("#searchprojectsinput").val()=="") ? "undefined" : $("#searchprojectsinput").val();
+    // Project page
+    pp = $("#current_project_page").val();
+    History.replaceState(null, null, "?cf=" + cf + "&cp=" + cp + "&ct=" + ct + "&pf=" + pf + "&pp=" + pp);
+}
 
 $(document).ready(function(){
 	
--- a/src/ldt/ldt/static/ldt/js/projectscontents.js	Wed Apr 24 16:51:39 2013 +0200
+++ b/src/ldt/ldt/static/ldt/js/projectscontents.js	Wed Apr 24 17:58:51 2013 +0200
@@ -722,17 +722,3 @@
 	});		
 }
 
-function update_history(){
-	// Content filter
-	cf = ($("#searchcontentsinput").val()==undefined || $("#searchcontentsinput").val()=="") ? "undefined" : $("#searchcontentsinput").val();
-	// Content page
-	cp = $("#current_content_page").val();
-	// Content tag
-	ct = ($("#current_content_tag").val()==undefined || $("#current_content_tag").val()=="") ? "undefined" : $("#current_content_tag").val();
-	// Project filter
-	pf = ($("#searchprojectsinput").val()==undefined || $("#searchprojectsinput").val()=="") ? "undefined" : $("#searchprojectsinput").val();
-	// Project page
-	pp = $("#current_project_page").val();
-	History.replaceState(null, null, "?cf=" + cf + "&cp=" + cp + "&ct=" + ct + "&pf=" + pf + "&pp=" + pp);
-}
-