element = $(this),
mode = element.data('mode'), // Either 'print' or 'download'
print = (mode == 'print'),
- choice = $('input[name="pageChoice"]:checked').val(),
- rangeStart = $this.fluidbook.virtualToPhysical($('#pageRangeStart').val()),
- rangeEnd = $this.fluidbook.virtualToPhysical($('#pageRangeEnd').val());
+ choice = $('input[name="pageChoice"]:checked').val();
+
switch (choice) {
case 'left':
$this.fluidbook.bookmarks.openPDF(element, print);
break;
case 'range':
- if (isNaN(rangeStart) ||
- isNaN(rangeEnd) ||
- (rangeStart < 1) ||
- (rangeEnd > $this.fluidbook.datas.pages) ||
- (rangeStart > rangeEnd)
- ) {
- alert(__('Invalid page range. Please try again.'));
- return false;
- }
- var pageRange = rangeStart + '-' + rangeEnd;
- $this.fluidbook._openFile(dynamicPDF + pageRange, element, 'pdf', pageRange + '.pdf', print);
- break;default:
+ var rangeStart = $this.fluidbook.virtualToPhysical($('#pageRangeStart').val());
+ var rangeEnd = $this.fluidbook.virtualToPhysical($('#pageRangeEnd').val());
+ if (isNaN(rangeStart) ||
+ isNaN(rangeEnd) ||
+ (rangeStart < 1) ||
+ (rangeEnd > $this.fluidbook.datas.pages) ||
+ (rangeStart > rangeEnd)
+ ) {
+ alert(__('Invalid page range. Please try again.'));
+ return false;
+ }
+ var pageRange = rangeStart + '-' + rangeEnd;
+ $this.fluidbook._openFile(dynamicPDF + pageRange, element, 'pdf', pageRange + '.pdf', print);
+ break;
+ default:
return false;
}
});
// Automatically select page range option when clicking in the input fields
- $(document).on('focus', '.page-range-input', function() {
- $('#pageRange').prop('checked', true);
+ $(document).on('focus', '.page-range-input', function () {
+ $('#pageRange').prop('checked', true);
});
// When there are no bookmarks a click on the bookmarks option will open the bookmarks help modal
// Full Brochure
if (this.fluidbook.datas.printFullBrochure) {
- view += '<div class="print-option">';
- view += '<label for="allPages">';
- view += '<div class="doubleThumb">';
- view += '<div class="thumb left">';
- view += this.fluidbook.loader.getThumbImage(1, null, true);
- view += '</div>'; // .thumb
- view += '</div>'; // .doubleThumb
- view += '</label>';
- view += '<input type="radio" name="pageChoice" value="all" id="allPages">'
- view += '<label for="allPages" class="print-label-text">' + __('entire brochure') + '</label>';
- view += '</div>'; // .print-option
+ view += '<div class="print-option">';
+ view += '<label for="allPages">';
+ view += '<div class="doubleThumb">';
+ view += '<div class="thumb left">';
+ view += this.fluidbook.loader.getThumbImage(1, null, true);
+ view += '</div>'; // .thumb
+ view += '</div>'; // .doubleThumb
+ view += '</label>';
+ view += '<input type="radio" name="pageChoice" value="all" id="allPages">'
+ view += '<label for="allPages" class="print-label-text">' + __('entire brochure') + '</label>';
+ view += '</div>'; // .print-option
}
// Bookmarks
// Page range inputs
if (this.fluidbook.datas.printPageRange) {
- // leftPageNumber may be false if on first page
- var rangeStart = Math.max(leftPageNumber, 1);
-
- // Current page + 1 unless we're out of range.
- // It has to be calculated this way because sometimes there is no rightPageNumber
- var rangeEnd = Math.min(rangeStart + 1, this.fluidbook.datas.pages);
-
- view += '<div class="print-option page-range-option">';
- view += '<input type="radio" name="pageChoice" value="range" id="pageRange">';
- view += '<label for="pageRange">';
- view += __('From page');
- view += '<input class="page-range-input" type="text" id="pageRangeStart" value="' + this.fluidbook.physicalToVirtual(rangeStart) + '" autocomplete="off">';
- view += __('to');
- view += '<input class="page-range-input" type="text" id="pageRangeEnd" value="' + this.fluidbook.physicalToVirtual(rangeEnd) + '" autocomplete="off">';
- view += '</label>';
- view += '</div>'; // .print-option
+ // leftPageNumber may be false if on first page
+ var rangeStart = Math.max(leftPageNumber, 1);
+
+ // Current page + 1 unless we're out of range.
+ // It has to be calculated this way because sometimes there is no rightPageNumber
+ var rangeEnd = Math.min(rangeStart + 1, this.fluidbook.datas.pages);
+
+ view += '<div class="print-option page-range-option">';
+ view += '<input type="radio" name="pageChoice" value="range" id="pageRange">';
+ view += '<label for="pageRange">';
+ view += __('From page');
+ view += '<input class="page-range-input" type="text" id="pageRangeStart" value="' + this.fluidbook.physicalToVirtual(rangeStart) + '" autocomplete="off">';
+ view += __('to');
+ view += '<input class="page-range-input" type="text" id="pageRangeEnd" value="' + this.fluidbook.physicalToVirtual(rangeEnd) + '" autocomplete="off">';
+ view += '</label>';
+ view += '</div>'; // .print-option
}
view += '</div>'; // .print-dialogue