diff --git a/mayan/apps/appearance/static/appearance/css/base.css b/mayan/apps/appearance/static/appearance/css/base.css index 49b1bdeb60..a1df431e76 100644 --- a/mayan/apps/appearance/static/appearance/css/base.css +++ b/mayan/apps/appearance/static/appearance/css/base.css @@ -70,10 +70,6 @@ body { border: 1px solid black; } -.lazy-load-carousel-loaded { - width: 100%; -} - .mayan-page-wrapper-interactive { overflow: auto; } @@ -94,6 +90,27 @@ body { text-align: center; } +img.lazy-load { + visibility: hidden; + width: 0px; + height: 0px; +} + +img.lazy-load-carousel { + visibility: hidden; + width: 0px; + height: 0px; +} + +.tc { + margin: auto; + text-align: center; +} + +.tc a { + text-align: center; +} + .img-nolazyload { border: 1px solid black; } diff --git a/mayan/apps/appearance/static/appearance/images/loading.png b/mayan/apps/appearance/static/appearance/images/loading.png deleted file mode 100644 index 4146727b17..0000000000 Binary files a/mayan/apps/appearance/static/appearance/images/loading.png and /dev/null differ diff --git a/mayan/apps/appearance/static/appearance/js/base.js b/mayan/apps/appearance/static/appearance/js/base.js index 78a6b55e8a..ccb5e8667d 100644 --- a/mayan/apps/appearance/static/appearance/js/base.js +++ b/mayan/apps/appearance/static/appearance/js/base.js @@ -19,7 +19,6 @@ function set_image_noninteractive(image) { function loadDocumentImage(image) { $.get(image.attr('data-src'), function(result) { image.attr('src', result.data); - image.addClass(image.attr('data-post-load-class')); }) .fail(function() { image.parent().parent().html(''); @@ -32,6 +31,16 @@ function dismissAlert(element) { } jQuery(document).ready(function() { + $('.lazy-load').on('load', function() { + $(this).siblings('.spinner').remove(); + $(this).removeClass('lazy-load'); + }); + + $('.lazy-load-carousel').on('load', function() { + $(this).siblings('.spinner').remove(); + $(this).removeClass('lazy-load-carousel'); + }); + resizeFullHeight(); $(window).resize(function() { @@ -76,11 +85,18 @@ jQuery(document).ready(function() { e.preventDefault(); }) - $('img.lazy-load').lazyload(); + $('img.lazy-load').lazyload({ + appear: function(elements_left, settings) { + loadDocumentImage($(this)); + }, + }); $('img.lazy-load-carousel').lazyload({ - threshold : 400, + appear: function(elements_left, settings) { + loadDocumentImage($(this)); + }, container: $("#carousel-container"), + threshold: 400 }); $('th input:checkbox').click(function(e) { diff --git a/mayan/apps/documents/models.py b/mayan/apps/documents/models.py index 4599e3a1bc..fc83ad76c9 100644 --- a/mayan/apps/documents/models.py +++ b/mayan/apps/documents/models.py @@ -682,7 +682,6 @@ class DocumentPage(models.Model): # Set sensible defaults if the argument is not specified or if the # argument is None - size = kwargs.get('size', setting_display_size.value) or setting_display_size.value rotation = kwargs.get('rotation', DEFAULT_ROTATION) or DEFAULT_ROTATION zoom_level = kwargs.get('zoom', DEFAULT_ZOOM_LEVEL) or DEFAULT_ZOOM_LEVEL diff --git a/mayan/apps/documents/widgets.py b/mayan/apps/documents/widgets.py index f935ccd831..6f4ce99345 100644 --- a/mayan/apps/documents/widgets.py +++ b/mayan/apps/documents/widgets.py @@ -58,7 +58,6 @@ class DocumentPagesCarouselWidget(forms.widgets.Widget): fancybox_class='', image_class='lazy-load-carousel', size=setting_display_size.value, - post_load_class='lazy-load-carousel-loaded', ) ) output.append( @@ -85,14 +84,14 @@ def document_link(document): ) -def document_page_html_widget(document_page, click_view=None, click_view_arguments=None, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION, gallery_name=None, fancybox_class='fancybox', image_class='lazy-load', title=None, size=setting_thumbnail_size.value, nolazyload=False, post_load_class=None, disable_title_link=False, preview_click_view=None, click_view_querydict=None, click_view_arguments_lazy=None): +def document_page_html_widget(document_page, click_view=None, click_view_arguments=None, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION, gallery_name=None, fancybox_class='fancybox', image_class='lazy-load', title=None, size=setting_thumbnail_size.value, nolazyload=False, disable_title_link=False, preview_click_view=None, click_view_querydict=None, click_view_arguments_lazy=None): result = [] alt_text = _('Document page image') if not document_page: return mark_safe( - '' + '