source: prototipo_portal_2018/prototipo/static/js/docsDraggable.js @ e3349ca

Last change on this file since e3349ca was e3349ca, checked in by José Sulbarán <jsulbaran@…>, 7 years ago

Se agrego firma visible y normal

  • Property mode set to 100644
File size: 4.8 KB
Line 
1
2
3var __PDF_DOC,
4  __CURRENT_PAGE,
5  __TOTAL_PAGES,
6  __PAGE_RENDERING_IN_PROGRESS = 0,
7  __CANVAS = $('#pdf-canvas2').get(0),
8  __CANVAS_CTX = __CANVAS.getContext('2d'),
9  __id = "",
10  __NUMBER = 0;
11
12 $("#pdf-canvas2").hide();
13function showPDF2(pdf_url) {
14  $("#pdf-loader2").show();
15
16  PDFJS.getDocument({ url: pdf_url }).then(function(pdf_doc) {
17    __PDF_DOC = pdf_doc;
18    __TOTAL_PAGES = __PDF_DOC.numPages;
19   
20    // Hide the pdf loader and show pdf container in HTML
21    $("#pdf-loader2").hide();
22    $("#pdf-contents2").show();
23    $("#pdf-total-pages2").text(__TOTAL_PAGES);
24
25    // Show the
26      showPage2(1);
27 
28  }).catch(function(error) {
29    // If error re-show the upload button
30    $("#pdf-loader2").hide();
31    $("#upload-button2").show();
32   
33    alert(error.message);
34  });;
35}
36
37function showPage2(page_no) {
38  __PAGE_RENDERING_IN_PROGRESS = 1;
39  __CURRENT_PAGE = page_no;
40
41  // Disable Prev & Next buttons while page is being loaded
42  $("#pdf-next2, #pdf-prev2").attr('disabled', 'disabled');
43
44  // While page is being rendered hide the canvas and show a loading message
45  $("#pdf-canvas2").hide();
46  $("#page-loader2").show();
47
48  // Update current page in HTML
49  $("#pdf-current-page2").text(page_no);
50  $("#pagepdf").val(page_no);
51 
52  // Fetch the page
53  __PDF_DOC.getPage(page_no).then(function(page) {
54    // As the canvas is of a fixed width we need to set the scale of the viewport accordingly
55
56
57    var scale_required = __CANVAS.width / page.getViewport(1).width;
58
59    // Get viewport of the page at required scale
60    var viewport = page.getViewport(scale_required);
61
62    // Set canvas height
63
64    __CANVAS.height = viewport.height;
65
66
67    var renderContext = {
68      canvasContext: __CANVAS_CTX,
69      viewport: viewport
70    };
71
72
73    // Render the page contents in the canvas
74    page.render(renderContext).then(function() {
75      __PAGE_RENDERING_IN_PROGRESS = 0;
76
77      // Re-enable Prev & Next buttons
78      $("#pdf-next2, #pdf-prev2").removeAttr('disabled');
79
80      // Show the canvas and hide the page loader
81      $("#page-loader2").hide();
82
83        __id = __CANVAS.toDataURL()
84       
85      var viewdimen = page.getViewport(1);
86      console.log( "Width: " + viewdimen.width + ", Height: " + viewdimen.height);     
87
88      $("#container1").attr("style", "background-image: url('"+__id+"');background-size: cover; background-repeat: no-repeat;  height:"+viewdimen.height+"px; width:"+viewdimen.width+"px");     
89
90    });
91  });
92
93
94}
95
96// Upon click this should should trigger click on the #file-to-upload file input element
97// This is better than showing the not-good-looking file input element
98$("#upload-button2").on('click', function() {
99  //$("#img").removeAttr('src');
100  //$("#img").removeAttr('class');
101  //$(".cropper-container").remove();
102  $("#pdf-main-container2").hide(); 
103  $("#pdf-main-container").show(); 
104
105  $("#file-to-upload2").trigger('click');
106
107});
108
109// When user chooses a PDF file
110$("#file-to-upload2").on('change', function() {
111
112  // Validate whether PDF
113    if(['application/pdf'].indexOf($("#file-to-upload2").get(0).files[0].type) == -1) {
114        alert('Error : Not a PDF');
115        return;
116    }
117
118
119  // Send the object url of the pdf
120  showPDF2(URL.createObjectURL($("#file-to-upload2").get(0).files[0]));
121
122});
123
124// Previous page of the PDF
125$("#pdf-prev2").on('click', function() {
126  if(__CURRENT_PAGE != 1)
127    showPage2(--__CURRENT_PAGE);
128});
129
130// Next page of the PDF
131$("#pdf-next2").on('click', function() {
132   
133
134  if(__CURRENT_PAGE != __TOTAL_PAGES)
135   
136    showPage2(++__CURRENT_PAGE);
137
138});
139
140
141var transferred = false;
142$('.text').draggable({
143    connectToSortable: $('#container1'),
144    helper: 'clone',
145    start: function(event, ui)
146    {
147        $(this).hide();
148    },
149    stop: function(event, ui)
150    {
151
152        if(!transferred) {
153            $(this).show();
154        }
155        else{ 
156       
157            $(this).remove();
158            transferred = false;
159        }
160    }
161});
162
163
164function InicializarObjectoPositicion(){
165  var container = document.getElementById('container1'),
166    element = document.getElementsByClassName('text')[0];
167 
168  // options
169  var options = {
170    limit: container,
171    setCursor: true
172  };
173
174  // initialize drag
175  new Draggable(element, options); 
176
177}
178
179
180function NuevoObjectoInicial(){
181
182  var num = 0;
183  $( ".text" ).draggable({ 
184    containment: '#container1',
185    scroll: false,
186    stop: function(event, ui)
187      {
188       
189        num+= 1;
190        if (num == 1){
191          $("#firma_visible #Formato_Visible .text").hide();
192          $('#dataX').val(0);
193          $('#dataY').val(0);
194        }else{
195          $('#dataX').val(ui.position['left']);
196          $('#dataY').val(ui.position['top']);
197        }
198       
199      },
200   
201  });
202}
203
204$('#container1').sortable({
205    receive: function(event, ui)
206    { 
207       
208        transferred = true;
209        InicializarObjectoPositicion()
210        NuevoObjectoInicial();
211
212       
213    }
214});
Note: See TracBrowser for help on using the repository browser.