correct cat tree display when no results V03.00-rc.11
authorymh <ymh.work@gmail.com>
Tue, 31 Mar 2015 02:19:38 +0200
changeset 605 40d8113560e4
parent 604 9428a143e925
child 606 81c38a9e8513
correct cat tree display when no results
src/hdalab/static/hdalab/js/cattree.js
src/hdalab/views/ajax.py
--- a/src/hdalab/static/hdalab/js/cattree.js	Tue Mar 31 02:03:42 2015 +0200
+++ b/src/hdalab/static/hdalab/js/cattree.js	Tue Mar 31 02:19:38 2015 +0200
@@ -10,7 +10,8 @@
         $(".results").show();
         $(".content-count").html($(".cattree a.content").length);
         $(".category-count").html(Math.max(0, $("li.themeli").length - 1));
-    } else {
+    }
+    else {
         $("#tree").html("");
         $(".results").hide();
     }
@@ -19,35 +20,27 @@
 function gettree(_label) {
     $(".disciplist li").removeClass("selected");
     $("#tree").html('<div class="loading"></div>');
-    $.getJSON(
-        endpoints.cat_tree,
-        { label: _label },
-        function(_data) {
-            showData(_label, _data);
-        }
-    );
+    $.getJSON(endpoints.cat_tree, {
+        label : _label
+    }, function(_data) {
+        showData(_label, _data);
+    });
 }
 
 $(function() {
     $("#catsearch").autocomplete({
-        source: endpoints.cat_search,
-        minLength: 2,
-        select: function( event, ui ) {
+        source : endpoints.cat_search,
+        minLength : 2,
+        select : function(event, ui) {
             gettree(ui.item.value);
         }
-    })
-    .data("ui-autocomplete")._renderItem = function(ul, item) {
-        return $( "<li></li>" )
-            .data( "item.autocomplete", item )
-            .append(
+    }).data("ui-autocomplete")._renderItem = function(ul, item) {
+        return $("<li></li>").data("item.autocomplete", item).append(
                 "<a>"
-                + item.label.replace(
-                    new RegExp('('
-                        + $("#catsearch").val().replace(/(\W)/g, '\\$1')
-                        + ')','gi') ,
-                    '<strong>$1</strong>')
-                + "</a>" )
-            .appendTo( ul )
+                        + item.label.replace(new RegExp('('
+                                + $("#catsearch").val()
+                                        .replace(/(\W)/g, '\\$1') + ')', 'gi'),
+                                '<strong>$1</strong>') + "</a>").appendTo(ul)
     };
     $("#catform").submit(function() {
         gettree($("#catsearch").val());
@@ -57,15 +50,14 @@
         gettree($(this).text().trim());
         $("#catsearch").val("");
     });
-    $("#morecategories").click(function(){
-    	if ($(".disciplist").hasClass('extend')){
-    		$(".disciplist").removeClass('extend');
-    		$("#morecategories").removeClass('less');
-    	}
-    	else{
-    		$(".disciplist").addClass('extend');
-    		$("#morecategories").addClass('less');
-    	}
+    $("#morecategories").click(function() {
+        if ($(".disciplist").hasClass('extend')) {
+            $(".disciplist").removeClass('extend');
+            $("#morecategories").removeClass('less');
+        }
+        else {
+            $(".disciplist").addClass('extend');
+            $("#morecategories").addClass('less');
+        }
     });
 });
-
--- a/src/hdalab/views/ajax.py	Tue Mar 31 02:03:42 2015 +0200
+++ b/src/hdalab/views/ajax.py	Tue Mar 31 02:19:38 2015 +0200
@@ -130,6 +130,19 @@
             })
     if resobj:
         cleantags(resobj)
+    elif len(master_category):
+        resobj = {
+            'label': master_category[0].label,
+            'themes': [],
+            'contents': []
+        }
+    else:
+        resobj = {
+            'label': label,
+            'themes': [],
+            'contents': []
+        }
+
     
     return HttpResponse(content=json.dumps(resobj), content_type='application/json')