Răsfoiți Sursa

Inline viewer support for app/pdf/viewer

Vijayakrishnan 4 ani în urmă
părinte
comite
98e96e19a3
1 a modificat fișierele cu 17 adăugiri și 4 ștergeri
  1. 17 4
      resources/views/app/pdf/viewer.blade.php

+ 17 - 4
resources/views/app/pdf/viewer.blade.php

@@ -24,6 +24,7 @@
                 data: {
                     loadedPDF: null,
                     page: 1,
+                    parent: null,
                 },
                 methods: {
                     load: function (_url) {
@@ -32,7 +33,7 @@
                         this.numPages = 1;
                         this.page = 1;
 
-                        $('#stagPdfViewer>form>canvas').remove();
+                        $(this.parent).find('>canvas').remove();
 
                         let self = this;
                         let url = _url;
@@ -49,9 +50,11 @@
                             self.render();
                         }, function (reason) {
                             // self.pdfNotFound = reason.message;
+                            alert(reason.message);
                         });
                     },
                     render: function () {
+
                         let self = this;
 
                         self.loadedPDF.getPage(self.page).then(function (page) {
@@ -59,7 +62,7 @@
                             // create canvas
                             let canvasElement = $('<canvas/>')
                                 .addClass('pdf-viewer-page')
-                                .appendTo('#stagPdfViewer>form');
+                                .appendTo(self.parent);
 
                             let canvas = canvasElement[0];
                             let viewport = page.getViewport({scale: 1.25});
@@ -86,8 +89,18 @@
                     $(document)
                         .off('click.pdf-viewer', '.pdf-viewer-trigger')
                         .on('click.pdf-viewer', '.pdf-viewer-trigger', function () {
-                            self.load(this.href);
-                            showStagPopup('pdf-viewer');
+                            self.parent = $('#stagPdfViewer>form');
+                            self.load(this.href, $(this).attr('pdf-viewer-element'));
+                            if(!$(this).attr('pdf-viewer-element')) {
+                                showStagPopup('pdf-viewer');
+                            }
+                            return false;
+                        });
+
+                    $('.pdf-viewer-auto[pdf-url]')
+                        .each(function() {
+                            self.parent = $(this);
+                            self.load($(this).attr('pdf-url'));
                             return false;
                         });
                 }