X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/6280673f35e13e75e81c5b7821bd2a44a1831eab..357027375ff8867f42ca34bcbfb5a78b5b185fc3:/apps/wolnelektury_core/static/js/dialogs.js diff --git a/apps/wolnelektury_core/static/js/dialogs.js b/apps/wolnelektury_core/static/js/dialogs.js deleted file mode 100644 index 3b7553b30..000000000 --- a/apps/wolnelektury_core/static/js/dialogs.js +++ /dev/null @@ -1,199 +0,0 @@ -(function($) { - $(function() { - - // create containers for all ajaxable form links - $('.ajaxable').each(function() { - var $window = $("#ajaxable-window").clone(); - $window.attr("id", this.id + "-window"); - $('body').append($window); - - var $trigger = $(this) - var trigger = '#' + this.id; - - $window.jqm({ - ajax: '@href', - ajaxText: '

* ' + gettext("Loading") + '

', - target: $('.target', $window)[0], - overlay: 60, - trigger: trigger, - onShow: function(hash) { - var offset = $(hash.t).offset(); - var oleft = offset.left - hash.w.width() + $(hash.t).width(); - if (oleft < 0) oleft = 0; - hash.w.css({position: 'absolute', left: oleft, top: offset.top}); - var width = $(hash.t).width(); - width = width > 50 ? width : 50; - $('.header', hash.w).css({width: width}); - hash.w.show(); - }, - onLoad: function(hash) { - $('form', hash.w).ajaxForm({ - dataType: 'json', - target: $('.target', $window), - success: function(response) { - if (response.success) { - $('.target', $window).text(response.message); - setTimeout(function() { $window.jqmHide() }, 1000); - callback = ajaxable_callbacks[$trigger.attr('data-callback')]; - callback && callback($trigger, response); - if (response.redirect) - window.location = response.redirect; - } - else { - $('.error', $window).remove(); - $.each(response.errors, function(id, errors) { - $('#id_' + id, $window).before('' + errors[0] + ''); - }); - $('input[type=submit]', $window).removeAttr('disabled'); - return false; - } - } - }); - } - }); - }); - - - var login_and_retry = function($form) { - var $window = $("#ajaxable-window").clone(); - $window.attr("id", "context-login-window"); - $('body').append($window); - - $window.jqm({ - ajax: '/uzytkownik/zaloguj-utworz/?next=' + escape(window.location), - ajaxText: '

* ' + gettext("Loading") + '

', - target: $('.target', $window)[0], - overlay: 60, - onShow: function(hash) { - var offset = $form.offset(); - hash.w.css({position: 'absolute', left: offset.left - hash.w.width() + $form.width(), top: offset.top}); - var width = $form.width(); - width = width > 50 ? width : 50; - $('.header', hash.w).css({width: width}); - hash.w.show(); - }, - onLoad: function(hash) { - $('form', hash.w).ajaxForm({ - dataType: 'json', - target: $('.target', $window), - success: function(response) { - if (response.success) { - $('.target', $window).text(response.message); - setTimeout(function() { $window.jqmHide() }, 1000); - $form.submit(); - location.reload(); - } - else { - $('.error', $window).remove(); - $.each(response.errors, function(id, errors) { - $('#id_' + id, $window).before('' + errors[0] + ''); - }); - $('input[type=submit]', $window).removeAttr('disabled'); - return false; - } - } - }); - } - }).jqmShow(); - - }; - - - $('.ajax-form').each(function() { - var $form = $(this); - $form.ajaxForm({ - dataType: 'json', - beforeSubmit: function() { - $('input[type=submit]', $form) - .attr('disabled', 'disabled') - .after(''); - }, - error: function(response) { - if (response.status == 403) - login_and_retry($form); - }, - success: function(response) { - if (response.success) { - callback = ajax_form_callbacks[$form.attr('data-callback')]; - callback && callback($form, response); - - } else { - $('span.error', $form).remove(); - $.each(response.errors, function(id, errors) { - $('#id_' + id, $form).before('' + errors[0] + ''); - }); - $('input[type=submit]', $form).removeAttr('disabled'); - $('img', $form).remove(); - } - } - }); - }); - - - var update_star = function($elem, response) { - /* updates the star after successful ajax */ - var $star = $elem.closest('.star'); - if (response.like) { - $star.addClass('like'); - $star.removeClass('unlike'); - } - else { - $star.addClass('unlike'); - $star.removeClass('like'); - } - }; - - var ajax_form_callbacks = { - 'social-like-book': update_star - }; - - var ajaxable_callbacks = { - 'social-book-sets': function() {location.reload();} - }; - - - - // check placeholder browser support - if (!Modernizr.input.placeholder) - { - // set placeholder values - $(this).find('[placeholder]').each(function() - { - $(this).val( $(this).attr('placeholder') ).addClass('placeholder'); - }); - - // focus and blur of placeholders - $('[placeholder]').focus(function() - { - if ($(this).val() == $(this).attr('placeholder')) - { - $(this).val(''); - $(this).removeClass('placeholder'); - } - }).blur(function() - { - if ($(this).val() == '' || $(this).val() == $(this).attr('placeholder')) - { - $(this).val($(this).attr('placeholder')); - $(this).addClass('placeholder'); - } - }); - - // remove placeholders on submit - $('[placeholder]').closest('form').submit(function() - { - $(this).find('[placeholder]').each(function() - { - if ($(this).val() == $(this).attr('placeholder')) - { - $(this).val(''); - } - }) - }); - } - - - - }); -})(jQuery); -