kopia lustrzana https://github.com/inkstitch/inkstitch
* PDF Preview webpage now pings in worker (#2993) Avoids a timeout that can happen if rendering the page takes too longpull/3000/head dev-build-kaalleen-test_stuff
rodzic
58d725397c
commit
ea8527eea5
print/resources
|
@ -17,7 +17,20 @@ function ping() {
|
|||
.fail(function() { $('#errors').attr('class', 'show') });
|
||||
}
|
||||
|
||||
//function to chunk opd view into pieces
|
||||
var pingWorker = null;
|
||||
function startPinging() {
|
||||
try {
|
||||
pingWorker = new Worker('resources/pingworker.js')
|
||||
pingWorker.onmessage = function () {
|
||||
$('#errors').attr('class', 'show')
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Error starting web worker, falling back to setTimeout.', e);
|
||||
setTimeout(ping, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
//function to chunk opd view into pieces
|
||||
// source: https://stackoverflow.com/questions/3366529/wrap-every-3-divs-in-a-div
|
||||
$.fn.chunk = function(size) {
|
||||
var arr = [];
|
||||
|
@ -32,9 +45,9 @@ function buildOpd(thumbnail_size = $('#operator-detailedview-thumbnail-size').va
|
|||
|
||||
var thumbnail_size = parseInt(thumbnail_size);
|
||||
var thumbnail_size_mm = thumbnail_size + 'mm';
|
||||
|
||||
|
||||
var thumbnail_layout = (thumbnail_size >= 60) ? 'medium' : 'small';
|
||||
|
||||
|
||||
// remove old settings
|
||||
$('div.page.operator-detailedview header').remove();
|
||||
$('div.page.operator-detailedview footer').remove();
|
||||
|
@ -42,14 +55,14 @@ function buildOpd(thumbnail_size = $('#operator-detailedview-thumbnail-size').va
|
|||
$('div.page.operator-detailedview .opd-color-block').parentsUntil('div.page.operator-detailedview').addBack().unwrap();
|
||||
$('.opd-color-block').removeClass('medium large');
|
||||
$('.opd-color-block').removeAttr('style');
|
||||
|
||||
|
||||
// set thumbnail size
|
||||
$('.operator-svg.operator-preview').css({
|
||||
'width': thumbnail_size_mm,
|
||||
'width': thumbnail_size_mm,
|
||||
'height': thumbnail_size_mm,
|
||||
'max-width': thumbnail_size_mm
|
||||
});
|
||||
|
||||
|
||||
// calculate number of blocks per page
|
||||
var num_blocks_per_page = 1;
|
||||
if(thumbnail_layout == 'medium') {
|
||||
|
@ -68,7 +81,7 @@ function buildOpd(thumbnail_size = $('#operator-detailedview-thumbnail-size').va
|
|||
// set number of color blocks per page for medium thumbnails
|
||||
num_blocks_per_page = num_columns * num_rows;
|
||||
// use layout for large thumbnails if only 2 or less color blocks fit on one page
|
||||
if(num_blocks_per_page <= 2) {
|
||||
if(num_blocks_per_page <= 2) {
|
||||
$('.opd-color-block').removeClass('medium').removeAttr('style').addClass('large');
|
||||
thumbnail_layout = 'large';
|
||||
// set number of color blocks per page for large thumbnails
|
||||
|
@ -79,9 +92,9 @@ function buildOpd(thumbnail_size = $('#operator-detailedview-thumbnail-size').va
|
|||
num_blocks_per_page = Math.floor(220 / thumbnail_size);
|
||||
}
|
||||
// set number of color blocks per page to 1 if it defaults to zero
|
||||
// this should never happen, but we want to avoid the browser to crash
|
||||
// this should never happen, but we want to avoid the browser to crash
|
||||
num_blocks_per_page = (num_blocks_per_page <= 0) ? '1' : num_blocks_per_page;
|
||||
|
||||
|
||||
// adjust to new settings
|
||||
var header = $('#opd-info header').prop('outerHTML');
|
||||
var footer = $('#opd-info footer').prop('outerHTML');
|
||||
|
@ -121,7 +134,7 @@ function setEstimatedTime() {
|
|||
var estimatedTime = stitchCount/speed + (timeTrim * numTrims);
|
||||
writeEstimatedTime( selector, estimatedTime );
|
||||
});
|
||||
|
||||
|
||||
// client detailed view
|
||||
$('.cld-estimated-time').each(function(index, item) {
|
||||
var selector = $(this);
|
||||
|
@ -208,8 +221,9 @@ function setSVGTransform(figure, transform) {
|
|||
}, 250);
|
||||
}
|
||||
|
||||
var pingWorker;
|
||||
$(function() {
|
||||
setTimeout(ping, 1000);
|
||||
startPinging();
|
||||
/* SCALING AND MOVING SVG */
|
||||
|
||||
/* Mousewheel scaling */
|
||||
|
@ -345,7 +359,7 @@ $(function() {
|
|||
});
|
||||
|
||||
// wait until page size is set (if they've specified one) and then scale SVGs to fit and build operator detailed view
|
||||
setTimeout(function() {
|
||||
setTimeout(function() {
|
||||
scaleAllSvg();
|
||||
buildOpd();
|
||||
}, 500);
|
||||
|
@ -576,7 +590,7 @@ $('button.settings').click(function(){
|
|||
}).on('change', function() {
|
||||
$.postJSON('/settings/paper-size', {value: $(this).find(':selected').val()});
|
||||
});
|
||||
|
||||
|
||||
// Operator detailed view: thumbnail size setting
|
||||
$(document).on('input', '#operator-detailedview-thumbnail-size', function() {
|
||||
var thumbnail_size_mm = $(this).val() + 'mm';
|
||||
|
@ -589,7 +603,7 @@ $('button.settings').click(function(){
|
|||
var thumbnail_size = $(this).val();
|
||||
// set page break positions
|
||||
buildOpd(thumbnail_size);
|
||||
|
||||
|
||||
$.postJSON('/settings/operator-detailedview-thumbnail-size', {value: thumbnail_size});
|
||||
});
|
||||
|
||||
|
@ -768,7 +782,7 @@ $('button.settings').click(function(){
|
|||
|
||||
settings["machine-speed"] = $("[data-field-name='machine-speed']").val();
|
||||
settings["time-additional"] = $("[data-field-name='time-additional']").val();
|
||||
settings["time-color-change"] = $("[data-field-name='time-color-change']").val();
|
||||
settings["time-color-change"] = $("[data-field-name='time-color-change']").val();
|
||||
settings["time-trims"] = $("[data-field-name='time-trims']").val();
|
||||
|
||||
settings["time-clo"] = $("[data-field-name='time-clo']").val();
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
function ping() {
|
||||
fetch("/ping")
|
||||
.then(() => setTimeout(ping, 1000))
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
postMessage("error");
|
||||
})
|
||||
}
|
||||
setTimeout(ping, 1000);
|
Ładowanie…
Reference in New Issue