web/hdalab/static/hdalab/js/cattree.js
author veltr
Thu, 15 Nov 2012 16:46:33 +0100
changeset 261 f5b5affc2586
parent 252 a46461f8a74f
permissions -rw-r--r--
Make thesaurus and categories visible

function showData(_label, _data) {
    $(".disciplist li").each(function() {
        if ($(this).text().trim().toLowerCase() === _label.toLowerCase()) {
            $(this).addClass("selected");
        }
    })
    $(".label-name").html(_label);
    if (_data) {
        renderData($("#tree"), _data, 1);
        $(".results").show();
        $(".content-count").html($(".cattree a.content").length);
        $(".category-count").html(Math.max(0, $("p.category").length - 1));
        $(".tag-count").html($("p.tag").length);
    } else {
        $("#tree").html("");
        $(".results").hide();
    }
}

function gettree(_label) {
    $(".disciplist li").removeClass("selected");
    $("#tree").html('<div class="loading"></div>');
    $.getJSON(
        endpoints.cat_tree,
        { label: _label },
        function(_data) {
            showData(_label, _data);
        }
    );
}

$(function() {
    $("#catsearch").autocomplete({
        source: endpoints.cat_search,
        minLength: 2,
        select: function( event, ui ) {
            gettree(ui.item.value);
        }
    })
    .data("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 )
    };
    $("#catform").submit(function() {
        gettree($("#catsearch").val());
    });
    gettree("cinéma");
    $(".disciplist li").click(function() {
        gettree($(this).text().trim());
    });
});