X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/a1ea2966e73e96e9ea5a192320353e8863687b41..57e98a5807465f9494e5006e16860f16abbf4136:/wolnelektury/static/js/catalogue.js diff --git a/wolnelektury/static/js/catalogue.js b/wolnelektury/static/js/catalogue.js index 510c543ce..485780692 100644 --- a/wolnelektury/static/js/catalogue.js +++ b/wolnelektury/static/js/catalogue.js @@ -90,9 +90,20 @@ function changeBannerText() { } } -function autocomplete_result_handler(event, item) { - $(event.target).closest('form').submit(); +function autocomplete_format_item(ul, item) { + return $("
  • ").data('item.autocomplete', item) + .append(''+item.label+ ' ('+item.category+')') + .appendTo(ul); } + +function autocomplete_result_handler(event, ui) { + if (ui.item.url != undefined) { + location.href = ui.item.url; + } else { + $(event.target).closest('form').submit(); + } +} + function serverTime() { var time = null; $.ajax({url: '/katalog/zegar/', @@ -345,6 +356,62 @@ function serverTime() { } }); + $('#suggest-publishing-window').jqm({ + ajax: '@data-ajax', + target: $('#suggest-publishing-window div.target')[0], + overlay: 60, + trigger: '#suggest-publishing-link', + onShow: function(hash) { + var offset = $(hash.t).offset(); + hash.w.css({position: 'absolute', left: offset.left - hash.w.width() + $(hash.t).width(), top: offset.top}); + $('div.header', hash.w).css({width: $(hash.t).width()}); + hash.w.show(); + }, + onLoad: function(hash) { + $('form', hash.w).each(function() {this.action += '?ajax=1';}); + $('form', hash.w).ajaxForm({ + dataType: 'json', + target: $('#suggest-publishing-window div.target'), + success: function(response) { + if (response.success) { + $('#suggest-publishing-window div.target').text(response.message); + setTimeout(function() { $('#suggest-publishing-window').jqmHide() }, 1000) + } + else { + $('#suggest-publishing-form .error').remove(); + $.each(response.errors, function(id, errors) { + $('#suggest-publishing-form #id_' + id).before('' + errors[0] + ''); + }); + $('#suggest-publishing-form input[type=submit]').removeAttr('disabled'); + return false; + } + } + }); + } + }); + + (function($this) { + $form = $('form', $this); + $form.each(function() {this.action += '?ajax=1';}); + $form.ajaxForm({ + dataType: 'json', + target: $this, + success: function(response) { + if (response.success) { + $this.text(response.message); + } + else { + $('.error', $form).remove(); + $.each(response.errors, function(id, errors) { + $('#id_' + id, $form).before('' + errors[0] + ''); + }); + $('input[type=submit]', $form).removeAttr('disabled'); + return false; + } + } + }); + })($('.block-form')); + $('#books-list .book').hover( function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); }, function() { $(this).css({background: '#FFF'}); } @@ -391,7 +458,6 @@ function serverTime() { $('#createNewShelf').show(); }); } catch (e){} - $("#putOnShelf input[type=checkbox]").attr("checked",false); var serverResponse; $('form', hash.w).ajaxForm({ target: serverResponse, @@ -501,11 +567,13 @@ function serverTime() { // we don't want to interact with "audiobook" label, just 'format' tabs var $this = $(this); $this.addClass("active"); - $("#"+$this.html().toLowerCase()+"-files").show(); + $("#"+$this.attr('data-format')+"-files").show(); }); $('.audiobook-list').hide(); - $("#"+$(".audiotabs .active").html().toLowerCase()+"-files").show(); + if($(".audiotabs .active").length > 0) { + $("#"+$(".audiotabs .active").html().toLowerCase()+"-files").show(); + } /* this will be useful for javascript html player var medias = $('.audiobook-list a'); @@ -526,7 +594,10 @@ function serverTime() { } }); }*/ - + $("#custom-pdf-link").toggle( + function(ev) { $(".custom-pdf").show(); return false; }, + function(ev) { $(".custom-pdf").hide(); return false; } + ); }); })(jQuery)