hdalab/js/gomina.js
author veltr
Thu, 02 Feb 2012 12:03:07 +0100
changeset 117 dc6c3ac62efa
parent 115 46c0f7a935d1
child 118 fdf808d7d374
permissions -rw-r--r--
minor changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     1
/**
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     2
 * @author raph
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     3
 */
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     4
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     5
var gomNs = {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     6
    minYear: -5000,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     7
    maxYear: 2010,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     8
    tlPixels: 960,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
     9
    tlGamma: 6,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    10
    heatGamma: 4,
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    11
    displayedDates: [-5000,0,500,1000,1200,1400,1600,1700,1750,1800,1850,1900,1950,2010],
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    12
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    13
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    14
function yearToPx(year) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    15
    return gomNs.tlPixels * Math.pow( ( year - gomNs.minYear ) / ( gomNs.maxYear - gomNs.minYear ), gomNs.tlGamma );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    16
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    17
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    18
function pxToYear(px) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    19
    return gomNs.minYear + ( gomNs.maxYear - gomNs.minYear ) * Math.pow( px / gomNs.tlPixels, 1 / gomNs.tlGamma );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    20
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    21
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    22
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    23
function tagInfo(_taglabel) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    24
    var _urlParam = { "label": _taglabel };
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    25
    $.getJSON("taginfo.php",
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    26
        _urlParam,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    27
        function(data) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    28
            $("#tagsearch").val(data.requested_label).removeClass("grise");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    29
            $("#tagcount").html(data.content_count
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    30
                + ' contenu' + (data.content_count > 1 ? 's' : '') + ' pour ce tag');
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    31
            var _html = '';
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    32
            if (data.wikipedia_url) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    33
                _html += '<h3><a href="'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    34
                    + data.wikipedia_url
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    35
                    + '" target="_blank">Wikipédia: '
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    36
                    + decodeURI(data.wikipedia_url.match(/[^\/]+$/)[0]).replace("_"," ")
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    37
                    + '</a></h3>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    38
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    39
            if (data.thumbnail) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    40
                _html += '<img id="img_wikipedia" src="'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    41
                    + data.thumbnail
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    42
                    + '" />';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    43
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    44
            if (data.abstract) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    45
                _html += '<p>' + _(data.abstract).escape() + '</p>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    46
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    47
            if (data.links) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    48
                var _lC = data.requested_label.toLowerCase();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    49
                var _t = data.links.map(function(d) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    50
                    return (d.subject.toLowerCase() == _lC) ? d.object : d.subject;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    51
                });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    52
                _t.sort();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    53
                _t = _(_t).uniq(true);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    54
                _html += '<h3>Tags liés (dbpedia)</h3><ul class="content-tags">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    55
                    + _t.map(function(d) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    56
                        return '<li class="content-tag-item"><a href="#" onclick="tagInfo($(this).text()); return false;">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    57
                            + d
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    58
                            + '</a></li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    59
                    }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    60
                    + '</ul>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    61
            }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    62
            $("#tagdata").html(_html);
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    63
        });
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    64
    filterTag(_taglabel);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    65
    $("#showlist").removeClass("actif");
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    66
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    67
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    68
function filterTag(_tagLabel) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    69
    var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    70
    if (_curView.type == 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    71
        _curView.tag.push(_tagLabel);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    72
        updateFilters();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    73
        debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    74
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    75
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    76
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    77
function removeFilter(_index) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    78
    var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    79
    if (_curView.type == 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    80
        _curView.tag.splice(_index,1);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    81
        updateFilters();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    82
        debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    83
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    84
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    85
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    86
function getUpdates() {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    87
    var _params = {},
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    88
        _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    89
    if (_curView.type == 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    90
        if (_curView.period && !(_curView.period[0] == gomNs.minYear && _curView.period[1] == gomNs.maxYear)) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    91
            _params.period = _curView.period.join(',');
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    92
        }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    93
        if (_curView.tag.length) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    94
            _params.label = _curView.tag.join(',');
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    95
        }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
    96
        $.getJSON("filter.php", _params, updateDisplay);
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    97
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    98
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    99
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   100
var debouncedGetUpdates = _.debounce(getUpdates, 300);
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   101
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   102
function updatePeriod(_n, _val) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   103
    var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   104
    if (_curView.type == 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   105
        var _int = parseInt(_val);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   106
        if (_int != NaN) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   107
            if ((_n == 1 && _val >= _curView.period[0]) || (_n == 0 && _val <= _curView.period[1])) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   108
                _curView.period[_n] = _int;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   109
            }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   110
            updateFilters();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   111
            debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   112
        }
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   113
    }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   114
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   115
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   116
function changeSpan(_this) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   117
    var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   118
    if (_curView.type == 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   119
        if (!$(_this).children().length) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   120
            var _el = document.createElement('input'),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   121
                _n = _this.id.split('_')[1];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   122
            _el.value = _curView.period[_n];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   123
            _el.style.width = $(_this).width() + 'px';
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   124
            $(_el).focusout(function() {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   125
                updatePeriod(_n, this.value);
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   126
            }).keypress(function(e) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   127
                if (e.keyCode == 13) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   128
                    updatePeriod(_n, this.value);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   129
                }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   130
            });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   131
            $(_this).html(_el);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   132
            _el.focus();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   133
            _el.select();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   134
        }
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   135
    }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   136
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   137
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   138
function updateFilters() {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   139
    var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   140
    if (_curView.type != 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   141
        return;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   142
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   143
    var _htmFilters = '',
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   144
        _fl = _curView.tag.length;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   145
    if (!_curView.period && !_fl) {
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   146
        _htmFilters = '<li class="nofilter">Aucun filtre</li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   147
    }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   148
    if (_curView.period) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   149
        _htmFilters += '<li class="filperiod"><span class="spyr" id="sp_0" onclick="changeSpan(this);">'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   150
            + _curView.period[0]
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   151
            + '</span> à <span class="spyr" id="sp_1" onclick="changeSpan(this);">'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   152
            + _curView.period[1]
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   153
            + '</span></li>';
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   154
        $("#handle_0").css({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   155
            "left" : yearToPx(_curView.period[0])+"px",
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   156
        }).attr("year", _curView.period[0])
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   157
        .find(".handleinner")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   158
        .css({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   159
            "margin-left" : "-20px"
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   160
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   161
        $("#handle_1").css({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   162
            "left" : yearToPx(_curView.period[1])+"px",
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   163
        }).attr("year", _curView.period[1])
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   164
        .find(".handleinner")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   165
        .css({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   166
            "margin-left" : "0"
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   167
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   168
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   169
    if (_fl) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   170
        _htmFilters += _(_curView.tag).map(function(_t, _i) {
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   171
            return '<li class="filtag">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   172
                + _t
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   173
                + '<a href="#" class="remfil" onclick="removeFilter('
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   174
                + _i
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   175
                + '); return false;">[x]</a></li>'; 
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   176
        }).join("");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   177
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   178
    $("#filters").html(_htmFilters);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   179
    debouncedGetUpdates();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   180
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   181
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   182
function displayContents(contentdata) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   183
    if (contentdata && contentdata.length) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   184
        var _htmlCl = '<ul id="contentlist">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   185
            + contentdata.map(function(_d) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   186
                var _html = '<li class="content-item"><h3>'
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   187
                    + _d.title
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   188
                    + '</h3><h4><a href="'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   189
                    + _d.url
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   190
                    + '" target="_blank">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   191
                    + _d.url
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   192
                    + '</a></h4><p>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   193
                    + _d.description
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   194
                    + '</p><ul class="content-tags">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   195
                    + _d.tags.map(function(_t) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   196
                        return '<li class="content-tag-item"><a href="#" onclick="tagInfo($(this).text()); return false;"'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   197
                            + (_t.match ? ' class="tagmatch"' : '')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   198
                            + '>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   199
                            + _t.label
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   200
                            + '</a></li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   201
                    }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   202
                    + '</ul><h4>Annotations</h4><div class="content-annotation" contentid="'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   203
                    + _d.id
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   204
                    + '">'
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   205
                    + ( gomNs.sessiondata.annotations[_d.id] && gomNs.sessiondata.annotations[_d.id].texte
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   206
                        ? '<ul><li>'
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   207
                            + _.escape(gomNs.sessiondata.annotations[_d.id].texte).replace(/\n/gm,"</li><li>")
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   208
                            + '</li>'
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   209
                        : ( gomNs.write_allowed ? '<ul><li>Annoter ce contenu...</li></ul>' : '' ) )
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   210
                    + '</div>';
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   211
                if (gomNs.write_allowed) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   212
                    _(gomNs.sessiondata.views).each(function(_view, _k) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   213
                        if (_view.type == 'list') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   214
                            _html += '<p><a href="#" class="addremlist" contentid="'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   215
                                + _d.id
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   216
                                + '" viewid="'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   217
                                + _k
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   218
                                + '">'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   219
                                + ( _view.list.indexOf(_d.id) == -1 ? 'Ajouter à' : 'Retirer de' )
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   220
                                + ' "'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   221
                                + _.escape(_view.name)
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   222
                                + '"</a></p>'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   223
                        }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   224
                    });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   225
                }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   226
                _html += '</li>';
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   227
                return _html;
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   228
            }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   229
            + '</ul>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   230
        $("#contents").html(_htmlCl).scrollTop(0);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   231
        $("a.addremlist").click(function() {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   232
            var _id = $(this).attr("contentid"),
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   233
                _vid = 
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   234
                _view = gomNs.sessiondata.views[$(this).attr("viewid")],
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   235
                _io = _view.list.indexOf(_id);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   236
            if ( _io == -1) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   237
                _view.list.push(_id);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   238
                $(this).html('Retirer de "' + _.escape(_view.name) + '"' );
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   239
            } else {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   240
                _view.list.splice(_io, 1);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   241
                $(this).html('Ajouter à "' + _.escape(_view.name) + '"');
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   242
            }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   243
            if (gomNs.sessiondata.view == 1) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   244
                showView();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   245
            }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   246
            debouncedSaveChanges();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   247
            return false;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   248
        })
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   249
        if (gomNs.write_allowed) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   250
            $("div.content-annotation").click(function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   251
                if (this.children[0].tagName == 'UL') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   252
                    var _el = document.createElement('textarea'),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   253
                        _id = $(this).attr("contentid");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   254
                    _el.innerHTML = (gomNs.sessiondata.annotations[_id] && gomNs.sessiondata.annotations[_id].texte) ? gomNs.sessiondata.annotations[_id].texte : '';
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   255
                    $(_el).focusout(function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   256
                        var _id = this.parentNode.attributes.contentid.nodeValue;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   257
                        if (!gomNs.sessiondata.annotations[_id]) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   258
                            gomNs.sessiondata.annotations[_id] = {};
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   259
                        }
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   260
                        gomNs.sessiondata.annotations[_id].texte = this.value;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   261
                        this.parentNode.innerHTML = '<ul><li>' + (this.value.length ? _.escape(gomNs.sessiondata.annotations[_id].texte).replace(/\n/gm,"</li><li>") : 'Annoter ce contenu...' ) + '</ul>';
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   262
                        debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   263
                    });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   264
                    $(this).html(_el);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   265
                    _el.focus();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   266
                    _el.select();
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   267
                }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   268
            });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   269
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   270
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   271
    else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   272
        $("#contents").html("");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   273
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   274
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   275
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   276
function updateDisplay(data) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   277
    if (gomNs.dhmPaper) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   278
        gomNs.dhmPaper.clear();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   279
    } else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   280
        gomNs.dhmPaper = new Raphael("dateheat");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   281
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   282
    var _s = (data.count>1?'s':'');
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   283
    $("#contentcount").html('<b>'+data.count+'</b> notice'+_s);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   284
    var _sl = data.sparkline.length;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   285
    if (_sl) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   286
        var _maxheat = _(data.sparkline).max(function(_d) { return parseInt(_d.score); }).score,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   287
            _exp = 1 / gomNs.heatGamma,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   288
            _scale = Math.pow(_maxheat, - _exp);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   289
        _(data.sparkline).each(function(_d, _i) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   290
            var _nxt = (_i == _sl - 1) ? gomNs.maxYear + 1 : data.sparkline[_i + 1].year,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   291
                _x1 = yearToPx(_d.year),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   292
                _x2 = yearToPx(_nxt),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   293
                _heat = _scale * Math.pow(_d.score, _exp);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   294
            gomNs.dhmPaper.rect(_x1, 0, _x2 - _x1, 20).attr({
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   295
                "fill" : "rgb(255, 128, 128)",
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   296
                "opacity" : _heat,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   297
                "stroke" : "none"
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   298
            })
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   299
        });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   300
    }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   301
    if (gomNs.sessiondata.view == 0) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   302
        var _h0 = $("#handle_0").position().left,
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   303
            _h1 = $("#handle_1").position().left;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   304
        gomNs.dhmPaper.rect(Math.min(_h0, _h1) - 1, 0, Math.abs(_h0 - _h1) + 2, 20).attr({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   305
            "stroke" : "rgb(128,0,0)",
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   306
            "stroke-width" : "3"
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   307
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   308
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   309
    if (data.tags.length) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   310
        var _scores = _(data.tags).map(function(_d) { return parseInt(_d.score)}),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   311
            _maxTag = _(_scores).max(),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   312
            _minTag = Math.min(_(_scores).min(), _maxTag - 1),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   313
            _scale = 20 / Math.sqrt(_maxTag - _minTag),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   314
            _htmlTc = '<ul id="tclist">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   315
            + _(data.tags).map(function(_d) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   316
                return '<li style="font-size:'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   317
                    + parseInt(10 + _scale * Math.sqrt(_d.score - _minTag))
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   318
                    + 'px;"><a href="#" onclick="tagInfo($(this).text()); return false;"'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   319
                    + (_d.match ? ' class="tagmatch"' : '')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   320
                    + '>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   321
                    + _d.label
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   322
                    + '</a></li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   323
            }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   324
            + '</ul>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   325
        $("#tagcloud").html(_htmlTc);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   326
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   327
    else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   328
        $("#tagcloud").html("<h4>Pas de mots-clés trouvés</h4>");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   329
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   330
    displayContents(data.contents);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   331
    if (gomNs.countries && data.countries) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   332
        var _max = Math.max(1, _(data.countries).max(function(_c) { return _c.score}).score);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   333
        _(data.countries).each(function(_c) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   334
            var _cc = gomNs.countries[_c.isocode];
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   335
            if (_cc) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   336
                var _gb = parseInt(255 * (1 - _c.score / _max ));
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   337
                _(_cc.gPolygons).each(function(_p) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   338
                    _p.setOptions({
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   339
                        "fillColor" : ( _c.score ? "rgb(255," + _gb + "," + _gb + ")" : "#7070a0" ),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   340
                    });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   341
                });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   342
            }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   343
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   344
    }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   345
    if (data.disciplines) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   346
        var _disc = data.disciplines.filter(function(_d) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   347
            return +_d.score > 0;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   348
        }),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   349
            _echelle = d3.scale
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   350
                .linear()
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   351
                .range([0, 120])
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   352
                .domain([0, d3.max(_disc, function(_d) { return +_d.score })]),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   353
            _barres = gomNs.disChart.selectAll("g.discbarre").data(_disc);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   354
            
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   355
        var _newels = _barres.enter()
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   356
            .append("svg:g")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   357
            .attr("class","discbarre");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   358
        
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   359
        _newels.append("svg:rect")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   360
            .attr("stroke","none")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   361
            .attr("fill","rgb(255,128,128)")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   362
            .attr("x","0").
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   363
            attr("y","0")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   364
            .attr("height","25");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   365
        _newels.append("svg:text")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   366
            .attr("font-size","12px")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   367
            .attr("x","5")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   368
            .attr("y","16");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   369
        
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   370
        _barres.exit().remove();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   371
        
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   372
        _barres.on("click", function(_d) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   373
            tagInfo(_d.label);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   374
        }).on("mouseover", function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   375
            d3.select(this).select("rect").attr("fill","rgb(128,128,255)");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   376
        }).on("mouseout", function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   377
            d3.select(this).select("rect").attr("fill","rgb(255,128,128)");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   378
        }).attr("transform",function(_d,_k) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   379
           return "translate(" + ( 30 + 40 * _k ) + ",120) rotate(-90)";
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   380
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   381
        _barres.select("text").text(function(_d) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   382
            return _d.label;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   383
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   384
        _barres.select("rect").attr("width", function(_d) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   385
            return _echelle(_d.score);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   386
        });
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   387
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   388
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   389
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   390
function saveChanges() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   391
    if (gomNs.sessionid && gomNs.sessionkey) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   392
        $.getJSON("sessioninfo.php", {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   393
            "sessionid" : gomNs.sessionid,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   394
            "sessionkey" : gomNs.sessionkey,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   395
            "data" : JSON.stringify(gomNs.sessiondata),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   396
        });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   397
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   398
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   399
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   400
var debouncedSaveChanges = _.debounce(saveChanges, 3000);
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   401
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   402
function changeView(nview) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   403
    var _curView = gomNs.sessiondata.views[nview];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   404
    if (_curView.type == 'list' && (!_curView.list || !_curView.list.length)) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   405
        alert("La liste de contenus est vide ! Ajoutez des contenus pour afficher la liste !");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   406
    } else {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   407
        gomNs.sessiondata.view = nview;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   408
        debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   409
        showView();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   410
    }
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   411
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   412
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   413
function showView() {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   414
    $(".lienvue").removeClass("actif");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   415
    $("#view_" + gomNs.sessiondata.view).addClass("actif");
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   416
    var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   417
    $("#titrevue").val(_curView.name);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   418
    $("#bloc_gestvue h2").html('Gérer la vue "' + _.escape(_curView.name) + '"');
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   419
    $("div.bloc").show();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   420
    $("#widgetlist input").prop("checked",true);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   421
    _(_curView.hiddenWidgets).each(function(_w) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   422
        $("#chbx_" + _w).prop("checked",false);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   423
        $("#" + _w).hide();
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   424
    });
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   425
    $("#notes").html( _curView.notes
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   426
        ? '<ul><li>' + _.escape(_curView.notes).replace(/\n/gm,"</li><li>") + '</li></ul>'
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   427
        : ( gomNs.write_allowed ? '<ul><li>Annoter cette vue...</li></ul>' : '' ) );
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   428
    switch(_curView.type) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   429
        case 'list':
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   430
            $("#bandefiltre, .handle").hide();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   431
            $.getJSON("filter.php", {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   432
                contentlist: _curView.list.join(',')
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   433
            }, updateDisplay);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   434
            break;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   435
        case 'filter':
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   436
            $("#bandefiltre, .handle").show();
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   437
            updateFilters();
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   438
            break;
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   439
    }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   440
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   441
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   442
function displayViewList() {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   443
    $("#ongletsvues").html(gomNs.sessiondata.views.map(function(_v, _k) {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   444
            return '<li class="lienvue" id="view_'
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   445
                + _k
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   446
                + '" onclick="changeView('
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   447
                + _k
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   448
                + '); return false;"><a href="#">'
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   449
                + _.escape(_v.name)
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   450
                + '</a></li>';
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   451
        }).join(""))
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   452
}
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   453
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   454
function getInitialView() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   455
    var _urlParam = {};
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   456
    if (document.location.hash) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   457
        var _tab = document.location.hash.replace("#","").split("-");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   458
        _urlParam.sessionid = _tab[0];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   459
        if (_tab.length > 1) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   460
            _urlParam.sessionkey = _tab[1];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   461
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   462
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   463
    $.getJSON("sessioninfo.php", _urlParam, function(data) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   464
        gomNs.sessionid = data.sessionid;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   465
        if (data.sessionkey) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   466
            gomNs.sessionkey = data.sessionkey;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   467
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   468
        gomNs.write_allowed = data.write_allowed;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   469
        if (data.write_allowed) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   470
            $("#partagerw").show();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   471
        } else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   472
            $("#partagerw").hide();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   473
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   474
        var _baseUrl = document.location.href.split("#")[0];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   475
        $("#rourl").html(_baseUrl + "#" + data.sessionid );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   476
        gomNs.hash = "#" + data.sessionid + (data.sessionkey ? '-' + data.sessionkey : '');
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   477
        document.location.hash = gomNs.hash;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   478
        $("#rwurl").html(_baseUrl + gomNs.hash);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   479
        gomNs.sessiondata = JSON.parse(data.data);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   480
        if (!gomNs.sessiondata.title) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   481
            gomNs.sessiondata.title = 'Nouvelle session';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   482
        }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   483
        if (!gomNs.sessiondata.views) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   484
            gomNs.sessiondata.views = [];
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   485
        }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   486
        if (!gomNs.sessiondata.views.length) {
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   487
            addView( 'filter', 'Mes résultats de recherche' );
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   488
            addView( 'list', 'Ma liste' );
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   489
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   490
        if (!gomNs.sessiondata.annotations) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   491
            gomNs.sessiondata.annotations = {};
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   492
        }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   493
        if (data.write_allowed) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   494
            $("#bloc_gestvue").show();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   495
        } else {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   496
            $("#bloc_gestvue").hide();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   497
        }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   498
        $("#sessionname").html(gomNs.sessiondata.title
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   499
            + ( data.write_allowed ? '' : '<span class="lectseul"> (lecture seule)</span>' ) );
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   500
        gomNs.hrefinterval = setInterval(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   501
            if (document.location.hash != gomNs.hash) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   502
                clearInterval(gomNs.hrefinterval);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   503
                getInitialView();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   504
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   505
        }, 500);
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   506
        displayViewList();
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   507
        showView();
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   508
    });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   509
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   510
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   511
function changeSessionTitle(title) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   512
    gomNs.sessiondata.title = _.escape(title);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   513
    $("#sessionname").html(gomNs.sessiondata.title);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   514
    debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   515
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   516
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   517
function addView(viewtype, viewname) {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   518
    var _content = {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   519
        type: viewtype,
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   520
        name: viewname,
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   521
        hiddenWidgets: [],
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   522
    };
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   523
    switch(viewtype) {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   524
        case 'filter':
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   525
            _content.period = [ gomNs.minYear, gomNs.maxYear ];
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   526
            _content.tag = [];
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   527
            gomNs.sessiondata.view = gomNs.sessiondata.views.length;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   528
            break;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   529
        case 'list':
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   530
            _content.list = [];
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   531
            break;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   532
    }
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   533
    gomNs.sessiondata.views.push(_content);
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   534
    debouncedSaveChanges();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   535
}
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   536
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   537
$(document).ready(function() {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   538
    gomNs.map = new google.maps.Map(document.getElementById("map"),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   539
        {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   540
            center: new google.maps.LatLng(30, 0),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   541
            zoom: 1,
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   542
            mapTypeId: google.maps.MapTypeId.SATELLITE
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   543
        });
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   544
    $.getJSON('lib/countries.geo.json', showCountries);
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   545
    var _html = gomNs.displayedDates.map(function(_v) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   546
        return '<li style="left: '
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   547
            + parseInt(yearToPx(_v))
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   548
            + 'px"><div class="datelabel">'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   549
            + _v
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   550
            + '</div></li>'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   551
    }).join('');
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   552
    $("#dates").html(_html);
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   553
    $("#apartager").click(function() {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   554
        var _pu = $("#partageurls");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   555
        $(this).attr("class",_pu.is(":visible") ? "" : "actif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   556
        _pu.slideToggle();
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   557
        return false;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   558
    })
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   559
    $(".handle").draggable({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   560
        "axis" : "x",
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   561
        "containment" : "parent",
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   562
        "drag": function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   563
            $(this).attr("year",parseInt(pxToYear($(this).position().left)));
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   564
            var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   565
            if (_curView.type == 'filter') {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   566
                var _h0 = $("#handle_0"),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   567
                    _h1 = $("#handle_1"),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   568
                    _h0v = parseInt(_h0.attr("year")),
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   569
                    _h1v = parseInt(_h1.attr("year"));
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   570
                _curView.period = [ Math.min(_h0v, _h1v), Math.max(_h0v, _h1v)];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   571
                _h0.find(".handleinner").css({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   572
                    "margin-left" : (_h0v>_h1v ? "0" : "-20px")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   573
                })
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   574
                _h1.find(".handleinner").css({
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   575
                    "margin-left" : (_h1v>_h0v ? "0" : "-20px")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   576
                })
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   577
                updateFilters();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   578
                debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   579
            }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   580
        }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   581
    })
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   582
    var _defLab = $( "#tagsearch" ).val();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   583
    $( "#tagsearch" ).autocomplete({
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   584
        source: "tagsearch.php",
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   585
        minLength: 2,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   586
        select: function( event, ui ) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   587
            tagInfo(ui.item.label);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   588
            return false;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   589
        }
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   590
    }).addClass("grise")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   591
    .focusin(function() {
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   592
        if ($(this).val() == _defLab) {
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   593
            $(this).val("").removeClass("grise");
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   594
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   595
    });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   596
    $("#sessionname").click(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   597
        if (gomNs.write_allowed && !$(this).children().length) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   598
            var _el = document.createElement('input');
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   599
            _el.value = gomNs.sessiondata.title;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   600
            $(_el).focusout(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   601
                changeSessionTitle(this.value);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   602
            }).keypress(function(e) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   603
                if (e.keyCode == 13) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   604
                    changeSessionTitle(this.value);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   605
                }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   606
            });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   607
            $(this).html(_el);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   608
            _el.focus();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   609
            _el.select();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   610
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   611
    });
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   612
    $("#titrevue").change(function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   613
        var _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   614
        _curView.name = $(this).val();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   615
        $("#view_" + gomNs.sessiondata.view + " a").html(_.escape(_curView.name))
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   616
        debouncedSaveChanges();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   617
    });
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   618
    $("#notes").click(function() {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   619
        if (gomNs.write_allowed) {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   620
            if (this.children[0].tagName == 'UL') {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   621
                var _el = document.createElement('textarea'),
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   622
                    _curView = gomNs.sessiondata.views[gomNs.sessiondata.view];
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   623
                _el.innerHTML = _curView.notes ? _curView.notes : '';
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   624
                $(_el).focusout(function() {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   625
                    _curView.notes = this.value;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   626
                    this.parentNode.innerHTML = '<ul><li>' + (this.value.length ? _.escape(_curView.notes).replace(/\n/gm,"</li><li>") : 'Annoter cette vue...' ) + '</ul>';
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   627
                    debouncedSaveChanges();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   628
                });
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   629
                $(this).html(_el);
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   630
                _el.focus();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   631
                _el.select();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   632
            }
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   633
        }
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   634
    });
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   635
    gomNs.disChart = d3.select("#disciplines")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   636
        .append("svg:svg")
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   637
        .attr("width", 475)
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   638
        .attr("height", 120);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   639
    getInitialView();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   640
    $(".barrebloc").click(function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   641
        $(this).next().slideToggle(); 
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   642
    });
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   643
    gomNs.widgetList = [];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   644
    var _html = '<ul id="widgetlist">';
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   645
    $("div.bloc").each(function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   646
       gomNs.widgetList.push(this.id);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   647
       _html += '<li><input type="checkbox" id="chbx_'
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   648
        + this.id
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   649
        + '" /><label>' + $(this).find("h2").html() + '</label></li>'
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   650
    });
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   651
    _html + '</ul>';
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   652
    $("#gestvue").append(_html);
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   653
    $("#nouvellevue").click(function() {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   654
        $("#plusdevues").slideToggle();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   655
        return false;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   656
    })
115
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   657
    $("#widgetlist input").change(function() {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   658
        var _newWL = [];
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   659
        $("#widgetlist input").each(function(_k, _e) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   660
            var _id = _e.id.substr(5);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   661
            if (!$(_e).prop("checked")) {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   662
                $("#" + _id).hide();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   663
                _newWL.push(_id);
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   664
            } else {
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   665
                $("#" + _id).show();
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   666
            }
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   667
        });
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   668
        gomNs.sessiondata.views[gomNs.sessiondata.view].hiddenWidgets = _newWL;
46c0f7a935d1 Prototype HDAlab, quelques changements
veltr
parents: 110
diff changeset
   669
        debouncedSaveChanges();
117
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   670
    });
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   671
    $("#nouv_resrech").click(function() {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   672
       var _txt = prompt("Comment souhaitez-vous nommer votre nouvelle vue ?","Nouveaux résultats de recherche");
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   673
       if (_txt !== null) {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   674
           addView('filter', _txt); 
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   675
           displayViewList();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   676
       }
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   677
       return false;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   678
    });
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   679
    $("#nouv_liste").click(function() {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   680
       var _txt = prompt("Comment souhaitez-vous nommer votre nouvelle vue ?","Nouvelle liste");
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   681
       if (_txt !== null) {
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   682
           addView('list', _txt);
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   683
           displayViewList();
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   684
       }
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   685
       return false;
dc6c3ac62efa minor changes
veltr
parents: 115
diff changeset
   686
    });
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   687
});