--- 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}} — {{theme_count}} thème(s), {{contents_count}} ressource(s)</p><ul>',
+ var _prefix = '<li {{#level}}class="folded"{{/level}}><p class="category">{{category}} — {{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}} — {{contents.length}} ressource(s)</p><ul>'
+ _suffix = '{{#tags}}<li class="folded"><p class="tag">{{label}} — {{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;