hdalab/js/gomina.js
author ymh <ymh.work@gmail.com>
Tue, 17 Jan 2012 00:19:27 +0100
changeset 112 e7086d345a7c
parent 110 6455b65fa3b7
child 115 46c0f7a935d1
permissions -rw-r--r--
Merge with 6455b65fa3b7f5abc0956f02699b12dbb8295ab6
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,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    11
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    12
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    13
function yearToPx(year) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    14
    return gomNs.tlPixels * Math.pow( ( year - gomNs.minYear ) / ( gomNs.maxYear - gomNs.minYear ), gomNs.tlGamma );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    15
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    16
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    17
function pxToYear(px) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    18
    return gomNs.minYear + ( gomNs.maxYear - gomNs.minYear ) * Math.pow( px / gomNs.tlPixels, 1 / gomNs.tlGamma );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    19
}
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
function tagInfo(_taglabel) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    23
    var _urlParam = { "label": _taglabel };
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    24
    $.getJSON("taginfo.php",
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    25
        _urlParam,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    26
        function(data) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    27
            var _html = '<div id="addtofilter"><h3>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    28
                + data.content_count
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    29
                + ' contenus pour ce tag</h3><p><a href="#" onclick="filterTag($(\'#tagname\').text()); return false;">Ajouter au filtrage</a></p></div><h2 id="tagname">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    30
                + data.requested_label
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    31
                + '</h2></div>';
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
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    62
            $("#taginfo").html(_html);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    63
        });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    64
    $.getJSON("filter.php", _urlParam, updateDisplay);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    65
    if (gomNs.sessiondata.period || gomNs.sessiondata.filters.tag.length != 1 || gomNs.sessiondata.filters.tag[0] != _taglabel) {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    66
        $("#bandefiltre").addClass("inactif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    67
        $("#showsearch").removeClass("actif");
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    68
    } else {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    69
        $("#bandefiltre").removeClass("inactif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    70
        $("#showsearch").addClass("actif");
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    71
    }
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    72
    $("#showlist").removeClass("actif");
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    73
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    74
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    75
function filterTag(_tagLabel) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    76
    gomNs.sessiondata.filters.tag.push(_tagLabel);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    77
    updateFilters();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    78
    debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    79
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    80
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    81
function removeFilter(_index) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    82
    gomNs.sessiondata.filters.tag.splice(_index,1);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    83
    updateFilters();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    84
    debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    85
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    86
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    87
function removePeriod() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    88
    $("#dateslider").slider("values",0,0).slider("values",1,gomNs.tlPixels).slideUp();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    89
    gomNs.sessiondata.filters.period = null;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    90
    updateFilters();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    91
    debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    92
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    93
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    94
function getUpdates() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    95
    var _params = {};
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    96
    if (gomNs.sessiondata.filters.period) {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
    97
        _params.period = gomNs.sessiondata.filters.period.join(',');
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    98
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
    99
    if (gomNs.sessiondata.filters.tag.length) {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   100
        _params.label = gomNs.sessiondata.filters.tag.join(',');
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   101
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   102
    $.getJSON("filter.php", _params, updateDisplay);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   103
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   104
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   105
var debouncedGetUpdates = _.debounce(getUpdates, 200);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   106
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   107
function updatePeriod(_n, _val) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   108
    var _int = parseInt(_val);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   109
    if (_int != NaN) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   110
        gomNs.sessiondata.filters.period[_n] = _int;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   111
        updateFilters();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   112
        debouncedSaveChanges();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   113
        debouncedHideSlider();
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
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   117
function changeSpan(_this) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   118
    if (!$(_this).children().length) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   119
        var _el = document.createElement('input'),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   120
            _n = _this.id.split('_')[1];
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   121
        _el.value = gomNs.sessiondata.filters.period[_n];
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   122
        _el.style.width = $(_this).width() + 'px';
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   123
        $(_el).focusout(function() {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   124
            updatePeriod(_n, this.value);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   125
        }).keypress(function(e) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   126
            if (e.keyCode == 13) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   127
                updatePeriod(_n, this.value);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   128
            }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   129
        });
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   130
        $(_this).html(_el);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   131
        _el.focus();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   132
        _el.select();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   133
    }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   134
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   135
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   136
function updateFilters() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   137
    var _htmFilters = '',
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   138
        _fl = gomNs.sessiondata.filters.tag.length;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   139
    if (!gomNs.sessiondata.filters.period && !_fl) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   140
        _htmFilters = '<li class="nofilter">Aucun filtre</li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   141
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   142
    if (_fl) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   143
        _htmFilters += _(gomNs.sessiondata.filters.tag).map(function(_t, _i) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   144
            return '<li class="filtag">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   145
                + _t
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   146
                + '<a href="#" class="remfil" onclick="removeFilter('
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   147
                + _i
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   148
                + '); return false;">[x]</a></li>'; 
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   149
        }).join("");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   150
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   151
    if (gomNs.sessiondata.filters.period) {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   152
        _htmFilters += '<li class="filperiod" onclick="$(\'#dateslider\').show(); debouncedHideSlider();"><span class="spyr" id="sp_0" onclick="changeSpan(this);">'
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   153
            + gomNs.sessiondata.filters.period[0]
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   154
            + '</span>-<span class="spyr" id="sp_1" onclick="changeSpan(this);">'
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   155
            + gomNs.sessiondata.filters.period[1]
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   156
            + '</span><a href="#" class="remfil" onclick="removePeriod(); return false;">[x]</a></li>';
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   157
        $("#dateslider").slider("values",0,yearToPx(gomNs.sessiondata.filters.period[0]))
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   158
            .slider("values",1,yearToPx(gomNs.sessiondata.filters.period[1]));
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   159
    } else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   160
        _htmFilters += '<li><a href="#" onclick="$(\'#dateslider\').show(); debouncedHideSlider(); return false;">Filtrer par période</a></li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   161
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   162
    $("#filters").html(_htmFilters);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   163
    $("#bandefiltre").attr("class","");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   164
    debouncedGetUpdates();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   165
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   166
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   167
function displayContents(contentdata) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   168
    if (contentdata && contentdata.length) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   169
        var _htmlCl = '<ul id="contentlist">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   170
            + contentdata.map(function(_d) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   171
                return '<li class="content-item"><h3>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   172
                    + _d.title
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   173
                    + '</h3><h4><a href="'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   174
                    + _d.url
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   175
                    + '" target="_blank">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   176
                    + _d.url
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   177
                    + '</a></h4><p>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   178
                    + _d.description
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   179
                    + '</p><ul class="content-tags">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   180
                    + _d.tags.map(function(_t) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   181
                        return '<li class="content-tag-item"><a href="#" onclick="tagInfo($(this).text()); return false;"'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   182
                            + (_t.match ? ' class="tagmatch"' : '')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   183
                            + '>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   184
                            + _t.label
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   185
                            + '</a></li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   186
                    }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   187
                    + '</ul><h4>Annotations</h4><div class="content-annotation" contentid="'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   188
                    + _d.id
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   189
                    + '"><ul><li>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   190
                    + (gomNs.sessiondata.annotations[_d.id] && gomNs.sessiondata.annotations[_d.id].texte ? gomNs.sessiondata.annotations[_d.id].texte.replace(/\n/gm,"</p><p>") : 'Annoter ce contenu...')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   191
                    + '</li></ul></div>'
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   192
                    + ( gomNs.write_allowed
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   193
                        ? '<p><a href="#" class="addremlist" contentid="'
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   194
                            + _d.id
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   195
                            + '">'
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   196
                            + ( gomNs.sessiondata.liste.indexOf(_d.id) == -1 ? 'Ajouter à ma liste' : 'Retirer de ma liste' )
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   197
                            + '</a></p>'
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   198
                        : '' )
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   199
                    + '</li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   200
            }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   201
            + '</ul>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   202
        $("#contents").html(_htmlCl).scrollTop(0);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   203
        $("a.addremlist").click(function() {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   204
            var _id = $(this).attr("contentid"),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   205
                _io = gomNs.sessiondata.liste.indexOf(_id);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   206
            if ( _io == -1) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   207
                gomNs.sessiondata.liste.push(_id);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   208
                $(this).html('Retirer de ma liste');
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   209
            } else {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   210
                gomNs.sessiondata.liste.splice(_io, 1);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   211
                $(this).html('Ajouter à ma liste');
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   212
            }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   213
            if (gomNs.sessiondata.view == 1) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   214
                showView();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   215
            }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   216
            debouncedSaveChanges();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   217
            return false;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   218
        })
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   219
        $("div.content-annotation").click(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   220
            if (gomNs.write_allowed && this.children[0].tagName == 'UL') {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   221
            var _el = document.createElement('textarea'),
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   222
                _id = $(this).attr("contentid");
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   223
            _el.innerHTML = (gomNs.sessiondata.annotations[_id] && gomNs.sessiondata.annotations[_id].texte) ? gomNs.sessiondata.annotations[_id].texte : '';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   224
            $(_el).focusout(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   225
                var _id = this.parentNode.attributes.contentid.nodeValue;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   226
                if (!gomNs.sessiondata.annotations[_id]) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   227
                    gomNs.sessiondata.annotations[_id] = {};
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   228
                }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   229
                gomNs.sessiondata.annotations[_id].texte = _.escape(this.value);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   230
                this.parentNode.innerHTML = '<ul><li>' + (this.value.length ? gomNs.sessiondata.annotations[_id].texte.replace(/\n/gm,"</li><li>") : 'Annoter ce contenu...' ) + '</ul>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   231
                debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   232
            });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   233
            $(this).html(_el);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   234
            _el.focus();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   235
            _el.select();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   236
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   237
        });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   238
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   239
    else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   240
        $("#contents").html("");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   241
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   242
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   243
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   244
function updateDisplay(data) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   245
    if (gomNs.dhmPaper) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   246
        gomNs.dhmPaper.clear();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   247
    } else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   248
        gomNs.dhmPaper = new Raphael("dateheat");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   249
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   250
    var _s = (data.count>1?'s':'');
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   251
    $("#contentcount").html('<b>'+data.count+'</b> notice'+_s);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   252
    var _sl = data.sparkline.length;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   253
    if (_sl) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   254
        var _maxheat = _(data.sparkline).max(function(_d) { return parseInt(_d.score); }).score,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   255
            _exp = 1 / gomNs.heatGamma,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   256
            _scale = Math.pow(_maxheat, - _exp);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   257
        _(data.sparkline).each(function(_d, _i) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   258
            var _nxt = (_i == _sl - 1) ? gomNs.maxYear + 1 : data.sparkline[_i + 1].year,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   259
                _x1 = yearToPx(_d.year),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   260
                _x2 = yearToPx(_nxt),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   261
                _heat = _scale * Math.pow(_d.score, _exp);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   262
            gomNs.dhmPaper.rect(_x1, 0, _x2 - _x1, 20).attr({
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   263
                "fill" : "rgb(255, 128, 128)",
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   264
                "opacity" : _heat,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   265
                "stroke" : "none"
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   266
            })
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
    if (data.tags.length) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   270
        var _scores = _(data.tags).map(function(_d) { return parseInt(_d.score)}),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   271
            _maxTag = _(_scores).max(),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   272
            _minTag = Math.min(_(_scores).min(), _maxTag - 1),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   273
            _scale = 20 / Math.sqrt(_maxTag - _minTag),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   274
            _htmlTc = '<ul id="tclist">'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   275
            + _(data.tags).map(function(_d) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   276
                return '<li style="font-size:'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   277
                    + parseInt(10 + _scale * Math.sqrt(_d.score - _minTag))
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   278
                    + 'px;"><a href="#" onclick="tagInfo($(this).text()); return false;"'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   279
                    + (_d.match ? ' class="tagmatch"' : '')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   280
                    + '>'
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   281
                    + _d.label
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   282
                    + '</a></li>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   283
            }).join('')
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   284
            + '</ul>';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   285
        $("#tagcloud").html(_htmlTc);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   286
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   287
    else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   288
        $("#tagcloud").html("<h4>Pas de mots-clés trouvés</h4>");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   289
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   290
    displayContents(data.contents);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   291
    if (gomNs.countries && data.countries) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   292
        var _max = Math.max(1, _(data.countries).max(function(_c) { return _c.score}).score);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   293
        _(data.countries).each(function(_c) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   294
            var _cc = gomNs.countries[_c.isocode];
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   295
            if (_cc) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   296
                var _r = parseInt(255 * _c.score / _max),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   297
                    _b = parseInt( (255 - _r)/2) ;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   298
                _(_cc.gPolygons).each(function(_p) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   299
                    _p.setOptions({
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   300
                       "fillColor" : "rgb(" + _r + ",0," + _b + ")",
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   301
                    })
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   302
                } );
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   303
           }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   304
        });
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   305
    }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   306
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   307
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   308
function saveChanges() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   309
    if (gomNs.sessionid && gomNs.sessionkey) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   310
        $.getJSON("sessioninfo.php", {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   311
            "sessionid" : gomNs.sessionid,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   312
            "sessionkey" : gomNs.sessionkey,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   313
            "data" : JSON.stringify(gomNs.sessiondata),
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   314
        });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   315
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   316
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   317
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   318
var debouncedSaveChanges = _.debounce(saveChanges, 1000);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   319
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   320
function changeView(nview) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   321
    gomNs.sessiondata.view = nview;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   322
    debouncedSaveChanges();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   323
    showView();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   324
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   325
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   326
function showView() {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   327
    $("#showsearch, #showlist").removeClass("actif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   328
    switch(gomNs.sessiondata.view) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   329
        case 1:
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   330
            if (gomNs.sessiondata.liste && gomNs.sessiondata.liste.length) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   331
                $("#showlist").addClass("actif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   332
                $("#bandefiltre").hide();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   333
                $.getJSON("filter.php", {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   334
                    contentlist: gomNs.sessiondata.liste.join(',')
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   335
                }, updateDisplay);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   336
                break;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   337
            } else {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   338
                alert("La liste de contenus est vide ! Ajoutez des contenus pour afficher la liste !");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   339
            }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   340
        default:
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   341
            $("#showsearch").addClass("actif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   342
            $("#bandefiltre").show();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   343
            updateFilters();
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   344
    }
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   345
}
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   346
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   347
function getInitialView() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   348
    var _urlParam = {};
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   349
    if (document.location.hash) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   350
        var _tab = document.location.hash.replace("#","").split("-");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   351
        _urlParam.sessionid = _tab[0];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   352
        if (_tab.length > 1) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   353
            _urlParam.sessionkey = _tab[1];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   354
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   355
    }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   356
    $.getJSON("sessioninfo.php", _urlParam, function(data) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   357
        gomNs.sessionid = data.sessionid;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   358
        if (data.sessionkey) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   359
            gomNs.sessionkey = data.sessionkey;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   360
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   361
        gomNs.write_allowed = data.write_allowed;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   362
        if (data.write_allowed) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   363
            $("#partagerw").show();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   364
        } else {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   365
            $("#partagerw").hide();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   366
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   367
        var _baseUrl = document.location.href.split("#")[0];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   368
        $("#rourl").html(_baseUrl + "#" + data.sessionid );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   369
        gomNs.hash = "#" + data.sessionid + (data.sessionkey ? '-' + data.sessionkey : '');
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   370
        document.location.hash = gomNs.hash;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   371
        $("#rwurl").html(_baseUrl + gomNs.hash);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   372
        gomNs.sessiondata = JSON.parse(data.data);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   373
        if (!gomNs.sessiondata.title) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   374
            gomNs.sessiondata.title = 'Nouvelle session';
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   375
        }
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   376
        if (!gomNs.sessiondata.view) {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   377
            gomNs.sessiondata.view = 0;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   378
            // 0 pour les résultats de recherche, 1 pour la liste
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   379
        }
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   380
        if (!gomNs.sessiondata.filters) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   381
            gomNs.sessiondata.filters = {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   382
                period : null,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   383
                tag : [],
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   384
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   385
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   386
        if (!gomNs.sessiondata.liste) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   387
            gomNs.sessiondata.liste = [];
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   388
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   389
        if (!gomNs.sessiondata.annotations) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   390
            gomNs.sessiondata.annotations = {};
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   391
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   392
        $("#sessionname").html(gomNs.sessiondata.title + ( data.write_allowed ? '' : '<span class="lectseul"> (lecture seule)</span>' ) );
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   393
        gomNs.hrefinterval = setInterval(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   394
            if (document.location.hash != gomNs.hash) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   395
                console.log("Changement de hash");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   396
                clearInterval(gomNs.hrefinterval);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   397
                getInitialView();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   398
            }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   399
        }, 500);
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   400
        showView();
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   401
    });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   402
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   403
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   404
function changeSessionTitle(title) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   405
    gomNs.sessiondata.title = _.escape(title);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   406
    $("#sessionname").html(gomNs.sessiondata.title);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   407
    debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   408
}
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   409
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   410
var debouncedHideSlider = _.debounce(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   411
    $("#dateslider").slideUp();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   412
}, 2000);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   413
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   414
$(document).ready(function() {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   415
    gomNs.map = new google.maps.Map(document.getElementById("map"),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   416
        {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   417
            center: new google.maps.LatLng(30, 0),
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   418
            zoom: 1,
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   419
            mapTypeId: google.maps.MapTypeId.SATELLITE
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   420
        });
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   421
    $.getJSON('lib/countries.geo.json', showCountries);
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   422
    $("#dates li").each(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   423
        $(this).css({
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   424
            "left" : parseInt(yearToPx(parseInt($(this).text()))) + "px"
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   425
        });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   426
    });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   427
    $("#apartager").click(function() {
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   428
        var _pu = $("#partageurls");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   429
        $(this).attr("class",_pu.is(":visible") ? "" : "actif");
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   430
        _pu.slideToggle();
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   431
        return false;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   432
    })
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   433
    $( "#dateslider" ).slider({
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   434
        range: true,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   435
        min: 0,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   436
        max: gomNs.tlPixels,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   437
        values: [ 0, gomNs.tlPixels ],
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   438
        slide: function( event, ui ) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   439
            gomNs.sessiondata.filters.period = ui.values.map(function(_v) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   440
                return parseInt(pxToYear(_v));
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   441
            });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   442
            updateFilters();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   443
            debouncedSaveChanges();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   444
            debouncedHideSlider();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   445
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   446
    }).hide();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   447
    var _defLab = $( "#tagsearch" ).val();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   448
    $( "#tagsearch" ).autocomplete({
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   449
        source: "tagsearch.php",
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   450
        minLength: 2,
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   451
        select: function( event, ui ) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   452
            tagInfo(ui.item.label);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   453
            $(this).val(_defLab);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   454
            return false;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   455
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   456
    }).focusin(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   457
        if ($(this).val() == _defLab) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   458
            $(this).val("");
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   459
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   460
    });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   461
    $("#sessionname").click(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   462
        if (gomNs.write_allowed && !$(this).children().length) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   463
            var _el = document.createElement('input');
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   464
            _el.value = gomNs.sessiondata.title;
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   465
            $(_el).focusout(function() {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   466
                changeSessionTitle(this.value);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   467
            }).keypress(function(e) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   468
                if (e.keyCode == 13) {
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   469
                    changeSessionTitle(this.value);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   470
                }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   471
            });
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   472
            $(this).html(_el);
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   473
            _el.focus();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   474
            _el.select();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   475
        }
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   476
    });
110
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   477
    $("#showlist").click(function() {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   478
        changeView(1);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   479
        return false;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   480
    });
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   481
    $("#affres, #showsearch").click(function() {
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   482
        changeView(0);
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   483
        return false;
6455b65fa3b7 Ajout carte hdalab
veltr
parents: 109
diff changeset
   484
    });
109
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   485
    getInitialView();
3371a40449c7 HDA Lab 1st commit
veltr
parents:
diff changeset
   486
});