From: mathieu Date: Tue, 31 May 2016 11:53:37 +0000 (+0200) Subject: Fix tablesorter X-Git-Tag: 1.6.2^2~15^2 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=372959a736d48edcae41a35f0e4123ea87903540;p=telemeta.git Fix tablesorter Remove parser numerised Add invisible paragraph in haystack results list in order to keep sort funtion in this list --- 372959a736d48edcae41a35f0e4123ea87903540 diff --cc telemeta/static/telemeta/js/advanceSearch.js index 66bb9a50,70f13f58..1e7305a0 --- a/telemeta/static/telemeta/js/advanceSearch.js +++ b/telemeta/static/telemeta/js/advanceSearch.js @@@ -121,143 -103,4 +121,125 @@@ $(document).ready(function () }); } }); - }); + }); + + } + + activate_autocomplete($('#id_code, #id_instruments, #id_collectors, #id_location')); + + var colSort = []; + - - $.tablesorter.addParser({ - id: 'numerised', - is: function (s) { - return false; - }, - format: function (s, table, cell) { - var _class = $(cell).find('center span').attr('class'); - _class = _class == undefined ? 1 : 0; - return _class; - }, - type: 'number' - }); - - + if (sessionStorage['sort'] && sessionStorage['order']) { + $.tablesorter.defaults.sortList = [[sessionStorage['sort'], sessionStorage['order']]]; + } + else { + $.tablesorter.defaults.sortList = [[1, 0]]; + } + + $('#searchtable th').each(function (index) { + colSort[index] = $(this).text(); + }); + + + $('#searchtable th').on('click', function () { + var index = colSort.indexOf($(this).text()); + var order = $.tablesorter.defaults.headerList[index]['order']; + if (index != sessionStorage['sort']) { + sessionStorage['order'] = 0; + } + else { + sessionStorage['order'] = (sessionStorage['order'] == 0) ? 1 : 0; + } + sessionStorage['sort'] = index; + }); + + $("#searchtable").tablesorter({ + headers: { - + 0: {sorter: false}, - 2: {sorter: 'numerised'} + } - + }); + + + $('#dialog').dialog({ + autoOpen: false, + width: '40%', + height: 600, + }); + + $('.fieldWrapper a').click(function () { + $('#dialog').dialog("open"); + }); + + var deleteButton = '' + gettrans('delete field') + '
'; + + var tag = $('#copy').clone(); + $(tag).children().each(function () { + $(this).val('').prop('checked', false).prop('selected', false); + }); + + function deleteField(e) { + e.preventDefault(); + var number = $('input[name*="text_field"]').length; + if (number == 3) { + $('#del').remove(); + } + $('#bloc-' + (number - 1)).remove(); + $('#id_form-TOTAL_FORMS').attr('value', number - 1); + + } + + function addField(e) { + e.preventDefault(); + var number = $('input[name*="text_field"]').length; + var tag_field = $(tag).clone().attr('id', 'bloc-' + number); + if (number == 2) { + $('#add').after(deleteButton); + $('#del').click(deleteField); + } + $('#add').before(tag_field); + $('#bloc-' + number).html($('#bloc-' + number).html().replace(/1/g, number)); + activate_autocomplete($('#id_form-' + number + '-text_field'), 'instruments'); + $('#id_form-TOTAL_FORMS').attr('value', number + 1); + } + + $('#add').click(addField); + + activate_autocomplete($('#id_form-0-text_field, #id_form-1-text_field'), 'instruments'); + + var interval = null; + var textInput = ""; + + $('#dialog form').on('submit change', function (e) { + if (e.type != 'keypress') e.preventDefault(); + $.ajax({ + url: '/search/booleaninstru/', + dataType: 'json', + data: $(this).serialize(), + success: function (donnees) { + if (e.type == 'submit' && !donnees.result.match(/\[ERROR\]/g)) { + $("#dialog").dialog("close"); + $('#id_instruments').val(donnees.result); + } + $('#res').html(gettrans('final query') + " :
" + gettrans(donnees.result) + ''); + }, + }); + }); + + $('#dialog input[type="text"]').on('focus', function () { + textInput = $(this).val(); + var self = this; + interval = setInterval(function () { + if ($(self).val() != textInput) { + textInput = $(self).val(); + $('#dialog form').trigger('change'); + } + }, 500); + }); + + $('#dialog input[type="text"]').on('blur', function () { + clearInterval(interval); + textInput = "" + }); + + +}); diff --cc telemeta/static/telemeta/js/playlist.js index a4975a04,3e4a0810..31430d0f --- a/telemeta/static/telemeta/js/playlist.js +++ b/telemeta/static/telemeta/js/playlist.js @@@ -45,11 -45,13 +45,13 @@@ var playlistUtils = id: '', // ID var: used to edit playlist title: '', description: '', + state: 'stop', // state var: to state play or pause glyphicon + playing: '', // playing var: used to know if an audio is already playing or not - addPlaylist: function(name, id){ + addPlaylist: function (name, id) { this.playlists.push({ - 'name':name, - 'id':id + 'name': name, + 'id': id }); }, diff --cc telemeta/static/telemeta/js/search.js index 8b2a5066,8b2a5066..5f629087 --- a/telemeta/static/telemeta/js/search.js +++ b/telemeta/static/telemeta/js/search.js @@@ -66,4 -66,4 +66,39 @@@ $(function() }); } }); ++ ++ var colSort = []; ++ ++ if (sessionStorage['sort'] && sessionStorage['order']) { ++ $.tablesorter.defaults.sortList = [[sessionStorage['sort'], sessionStorage['order']]]; ++ } ++ else { ++ $.tablesorter.defaults.sortList = [[1, 0]]; ++ } ++ ++ $('#searchtable th').each(function (index) { ++ colSort[index] = $(this).text(); ++ }); ++ ++ ++ $('#searchtable th').on('click', function () { ++ var index = colSort.indexOf($(this).text()); ++ var order = $.tablesorter.defaults.headerList[index]['order']; ++ if (index != sessionStorage['sort']) { ++ sessionStorage['order'] = 0; ++ } ++ else { ++ sessionStorage['order'] = (sessionStorage['order'] == 0) ? 1 : 0; ++ } ++ sessionStorage['sort'] = index; ++ }); ++ ++ $("#searchtable").tablesorter({ ++ headers: { ++ ++ 0: {sorter: false}, ++ } ++ ++ }); ++ }); diff --cc telemeta/templates/search/mediacollection_listhaystack.html index 99ace6d5,621fac94..c8c37046 --- a/telemeta/templates/search/mediacollection_listhaystack.html +++ b/telemeta/templates/search/mediacollection_listhaystack.html @@@ -29,7 -26,7 +29,7 @@@ {% if result.object.has_mediafile %} --
++

d

{% endif %} @@@ -57,7 -53,7 +57,7 @@@ {% if result.object.has_mediafile %} --
++

d

{% endif %} diff --cc telemeta/templates/search/mediaitem_listhaystack.html index 2fd5306b,47bf9da0..e7a4fe83 --- a/telemeta/templates/search/mediaitem_listhaystack.html +++ b/telemeta/templates/search/mediaitem_listhaystack.html @@@ -34,7 -31,7 +34,7 @@@ {% if result.object.file %} --
++

d

{% endif %} @@@ -63,7 -59,7 +63,7 @@@ {% if result.object.file %}
--
++

d

{% endif %} diff --cc telemeta/templates/search/mediaresource_listhaystack.html index 123ae965,533c32f0..ed1ca57b --- a/telemeta/templates/search/mediaresource_listhaystack.html +++ b/telemeta/templates/search/mediaresource_listhaystack.html @@@ -27,7 -24,7 +27,7 @@@ {% if result.object.has_mediafile %} --
++

d

{% endif %} @@@ -47,7 -43,7 +47,7 @@@ {% if result.object.has_mediafile %} --
++

d

{% endif %} diff --cc telemeta/templates/telemeta/lists.html index ff6177c6,9c8725c9..32be5f95 --- a/telemeta/templates/telemeta/lists.html +++ b/telemeta/templates/telemeta/lists.html @@@ -45,9 -40,7 +45,9 @@@ $.tablesorter.defaults.sortList = [[2,0]]; {% for playlist in playlists %} - $("#{{playlist.playlist.public_id}}tb").tablesorter({headers: {6:{sorter:false}}} ); + {% if playlist.resources|length != 0 %} - $("#{{playlist.playlist.public_id}}tb").tablesorter({headers: {6:{sorter:false}}} ); ++ $("#{{playlist.playlist.public_id}}tb").tablesorter({headers: {0:{sorter:false}}} ); + {% endif %} {% endfor %} }); @@@ -210,13 -213,13 +219,13 @@@ {% if resource.element.file or resource.element.has_mediafile %} - -

d

- +

d

{% endif %} - -
+ - -

d

-
++ ++

d

++
{% endfor %}