Unfold only first level
authorveltr
Thu, 26 Jul 2012 19:14:24 +0200
changeset 213 e5b74094b27a
parent 212 3e1193c6dce3
child 214 68f7d25f12e1
Unfold only first level
web/hdalab/static/hdalab/js/cattree.js
--- a/web/hdalab/static/hdalab/js/cattree.js	Thu Jul 26 19:03:34 2012 +0200
+++ b/web/hdalab/static/hdalab/js/cattree.js	Thu Jul 26 19:14:24 2012 +0200
@@ -1,8 +1,9 @@
-function render(_data) {
+function render(_data, _level) {
     _data.theme_count =
         (typeof _data.sub_categories == "object" && typeof _data.sub_categories.slice == "function" ? _data.sub_categories.length : 0)
         + (typeof _data.tags == "object" && typeof _data.tags.slice == "function" ? _data.tags.length : 0);
     _data.contents_count = (typeof _data.contents == "object" && typeof _data.contents.slice == "function" ? _data.contents.length : 0);
+    _data.level = !!_level;
     _(_data.tags).each(function(_tag) {
         _(_tag.contents).each(function(_content) {
             _content.trimmed_description = _content.description.trim().replace(/(\n|\r|\r\n)/mg,' ').replace(/(^.{150,200})[\s].+$/m,'$1…');
@@ -11,9 +12,9 @@
     _(_data.contents).each(function(_content) {
         _content.trimmed_description = _content.description.trim().replace(/(\n|\r|\r\n)/mg,' ').replace(/(^.{150,200})[\s].+$/m,'$1…');
     });
-    var _prefix = '<li><p class="category">{{category}} &mdash; {{theme_count}} thème(s), {{contents_count}} ressource(s)</p><ul>',
+    var _prefix = '<li {{#level}}class="folded"{{/level}}><p class="category">{{category}} &mdash; {{theme_count}} thème(s), {{contents_count}} ressource(s)</p><ul>',
         _contents = '{{#contents}}<li class="content folded" id="content_{{id}}"><p class="title">{{title}}</p><div class="img-container"><img src="http://www.histoiredesarts.culture.fr/images/cached/images/{{hda_id}}.jpg" /></div><p class="description"><a href="{{url}}" target="_blank" class="content">{{trimmed_description}}</a></p></li>{{/contents}}',
-        _suffix = '{{#tags}}<li><p class="tag">{{label}} &mdash; {{contents.length}} ressource(s)</p><ul>'
+        _suffix = '{{#tags}}<li class="folded"><p class="tag">{{label}} &mdash; {{contents.length}} ressource(s)</p><ul>'
             + _contents
             + '</ul></li>{{/tags}}'
             + _contents
@@ -21,7 +22,7 @@
         _html = Mustache.to_html(_prefix, _data);
     if (typeof _data.sub_categories == "object" && typeof _data.sub_categories.slice == "function") {
         for (var _i = 0; _i < _data.sub_categories.length; _i++) {
-            _html += render(_data.sub_categories[_i]);
+            _html += render(_data.sub_categories[_i], _level + 1);
         }
     }
     _html += Mustache.to_html(_suffix, _data);
@@ -39,7 +40,7 @@
         function(_data) {
             $(".label-name").html(_label);
             if (_data) {
-                $("#tree").html(render(_data));
+                $("#tree").html(render(_data, 0));
                 $(".cattree p.category, .cattree p.tag, .cattree p.title").click(function() {
                     $(this).parent().toggleClass("folded");
                     return false;