PluginProbe
Booking Calendar / 11.4.3
Booking Calendar v11.4.3
11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 10.11 All 204 releases
booking / includes / print / _out / bookings_print.js

bookings_print.js in Booking Calendar 11.4.3, at includes/print/_out/bookings_print.js

106 lines 15.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";
2
3 function wpbc_print_dialog__show(booking_id_arr) {
4 if ('function' === typeof jQuery('#wpbc_ajx_print_modal').wpbc_my_modal) {
5 jQuery('#wpbc_ajx_print_modal').wpbc_my_modal('show');
6 if (undefined == booking_id_arr) {
7 booking_id_arr = [];
8 }
9 if (!Array.isArray(booking_id_arr)) {
10 booking_id_arr = [booking_id_arr];
11 }
12 wpbc_print_dialog__define_content(booking_id_arr);
13 } else {
14 alert('Warning! Modal module( wpbc_my_modal ) had not define.');
15 }
16 }
17 function wpbc_print_dialog__define_content(booking_id_arr = []) {
18 // Set content.
19 jQuery('#wpbc__print_frame__inner').html(jQuery('.wpbc__list__table').html());
20 // Define the same classes.
21 jQuery('#wpbc__print_frame__inner').addClass('wpbc__list__table wpbc_selectable_table');
22 /*
23 jQuery( '#wpbc__print_frame__inner .check-column').hide();
24 jQuery( '#wpbc__print_frame__inner .wpbc_actions_buttons').hide();
25 jQuery( '#wpbc_ajx_print_modal .modal-body').css({
26 maxHeight : "500px",
27 overflowY: "scroll"
28 });
29 */
30
31 // Hide some not selected rows, if user selected them
32 var selected_rows_arr;
33 if (booking_id_arr.length == 0) {
34 selected_rows_arr = wpbc_get_selected_row_id();
35 } else {
36 selected_rows_arr = booking_id_arr;
37 }
38 if (selected_rows_arr.length > 0) {
39 jQuery('#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row').hide();
40 for (var i = 0; i < selected_rows_arr.length; ++i) {
41 jQuery("#wpbc__print_frame__inner #row_id_" + selected_rows_arr[i]).show();
42 }
43 }
44
45 // Add cost as text labels to print layout
46 jQuery('#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row').find('.set_booking_cost_text_field').each(function (index) {
47 var currency = jQuery(jQuery(this).parent('.ui_element').find('.wpbc_ui_control_label')[0]).html();
48 jQuery(this).parents('.wpbc_listing_usual_row ').find('.wpbc_col_booking_labels .content_text').append('<span class="wpbc_label wpbc_label_booking_id">' + currency + ' ' + jQuery(this).val() + '</span>');
49 });
50
51 // Add remark to the content of booking details
52 jQuery('#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row').find('.set_booking_note_text').each(function (index) {
53 var remark_text = jQuery(this).val().replace(/\r\n|\r|\n/g, "<br />");
54 if ('' != remark_text) {
55 jQuery(this).parents('.wpbc_listing_usual_row ').find('.wpbc_col_data .content_text').append('<div class="wpbc_remark_text">' + '<hr/><strong>Notes:</strong><br/>' + remark_text + '</div>');
56 }
57 });
58 }
59 function wpbc_print_dialog__do_printing() {
60 jQuery('#wpbc_content_for_js_print').wpbc_js_print({
61 debug: false,
62 // show the iframe for debugging
63 importCSS: true,
64 // import parent page css
65 importStyle: true,
66 // import style tags
67 printContainer: true,
68 // print outer container/$.selector
69 loadCSS: "",
70 // path to additional css file - use an array [] for multiple
71 pageTitle: "",
72 // add title to print page
73 removeInline: false,
74 // remove inline styles from print elements
75 removeInlineSelector: "*",
76 // custom selectors to filter inline styles. removeInline must be true
77 printDelay: 300,
78 // variable print delay
79 header: null,
80 // prefix to html
81 footer: null,
82 // postfix to html
83 base: false,
84 // preserve the BASE tag or accept a string for the URL
85 formValues: true,
86 // preserve input/form values
87 canvas: true,
88 // copy canvas content
89 doctypeString: '<!DOCTYPE html>',
90 // enter a different doctype for older markup
91 removeScripts: false,
92 // remove script tags from print content
93 copyTagClasses: true,
94 // copy classes from the html & body tag
95 copyTagStyles: true,
96 // copy styles from html & body tag (for CSS Variables)
97 beforePrintEvent: null,
98 // callback function for printEvent in iframe
99 beforePrint: null,
100 // function called before iframe is filled
101 afterPrint: null // function called before iframe is removed
102 });
103 jQuery('#wpbc_ajx_print_modal').wpbc_my_modal('hide');
104 }
105 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcHJpbnQvX291dC9ib29raW5nc19wcmludC5qcyIsIm5hbWVzIjpbIndwYmNfcHJpbnRfZGlhbG9nX19zaG93IiwiYm9va2luZ19pZF9hcnIiLCJqUXVlcnkiLCJ3cGJjX215X21vZGFsIiwidW5kZWZpbmVkIiwiQXJyYXkiLCJpc0FycmF5Iiwid3BiY19wcmludF9kaWFsb2dfX2RlZmluZV9jb250ZW50IiwiYWxlcnQiLCJodG1sIiwiYWRkQ2xhc3MiLCJzZWxlY3RlZF9yb3dzX2FyciIsImxlbmd0aCIsIndwYmNfZ2V0X3NlbGVjdGVkX3Jvd19pZCIsImhpZGUiLCJpIiwic2hvdyIsImZpbmQiLCJlYWNoIiwiaW5kZXgiLCJjdXJyZW5jeSIsInBhcmVudCIsInBhcmVudHMiLCJhcHBlbmQiLCJ2YWwiLCJyZW1hcmtfdGV4dCIsInJlcGxhY2UiLCJ3cGJjX3ByaW50X2RpYWxvZ19fZG9fcHJpbnRpbmciLCJ3cGJjX2pzX3ByaW50IiwiZGVidWciLCJpbXBvcnRDU1MiLCJpbXBvcnRTdHlsZSIsInByaW50Q29udGFpbmVyIiwibG9hZENTUyIsInBhZ2VUaXRsZSIsInJlbW92ZUlubGluZSIsInJlbW92ZUlubGluZVNlbGVjdG9yIiwicHJpbnREZWxheSIsImhlYWRlciIsImZvb3RlciIsImJhc2UiLCJmb3JtVmFsdWVzIiwiY2FudmFzIiwiZG9jdHlwZVN0cmluZyIsInJlbW92ZVNjcmlwdHMiLCJjb3B5VGFnQ2xhc3NlcyIsImNvcHlUYWdTdHlsZXMiLCJiZWZvcmVQcmludEV2ZW50IiwiYmVmb3JlUHJpbnQiLCJhZnRlclByaW50Il0sInNvdXJjZXMiOlsiaW5jbHVkZXMvcHJpbnQvX3NyYy9ib29raW5nc19wcmludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmZ1bmN0aW9uIHdwYmNfcHJpbnRfZGlhbG9nX19zaG93KCBib29raW5nX2lkX2FyciApe1xyXG5cdFxyXG5cdGlmICggJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIChqUXVlcnkoICcjd3BiY19hanhfcHJpbnRfbW9kYWwnICkud3BiY19teV9tb2RhbCkgKXtcclxuXHRcdGpRdWVyeSggJyN3cGJjX2FqeF9wcmludF9tb2RhbCcgKS53cGJjX215X21vZGFsKCAnc2hvdycgKTtcclxuXHJcblxyXG5cdFx0aWYgKCB1bmRlZmluZWQgPT0gYm9va2luZ19pZF9hcnIgKXtcclxuXHRcdFx0Ym9va2luZ19pZF9hcnIgPSBbXTtcclxuXHRcdH1cclxuXHRcdGlmICggISBBcnJheS5pc0FycmF5KCBib29raW5nX2lkX2FyciApICl7XHJcblx0XHRcdGJvb2tpbmdfaWRfYXJyID0gW2Jvb2tpbmdfaWRfYXJyXVxyXG5cdFx0fVxyXG5cdFx0d3BiY19wcmludF9kaWFsb2dfX2RlZmluZV9jb250ZW50KCBib29raW5nX2lkX2FyciApO1xyXG5cdH0gZWxzZSB7XHJcblx0XHRhbGVydCggJ1dhcm5pbmchIE1vZGFsIG1vZHVsZSggd3BiY19teV9tb2RhbCApIGhhZCBub3QgZGVmaW5lLicgKVxyXG5cdH1cclxufVxyXG5cclxuZnVuY3Rpb24gd3BiY19wcmludF9kaWFsb2dfX2RlZmluZV9jb250ZW50KCBib29raW5nX2lkX2FyciA9IFtdICl7XHJcblx0Ly8gU2V0IGNvbnRlbnQuXHJcblx0alF1ZXJ5KCAnI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lcicgKS5odG1sKCBqUXVlcnkoICcud3BiY19fbGlzdF9fdGFibGUnICkuaHRtbCgpICk7XHJcblx0Ly8gRGVmaW5lIHRoZSBzYW1lIGNsYXNzZXMuXHJcblx0alF1ZXJ5KCAnI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lcicgKS5hZGRDbGFzcyggJ3dwYmNfX2xpc3RfX3RhYmxlIHdwYmNfc2VsZWN0YWJsZV90YWJsZScgKTtcclxuXHQvKlxyXG5cdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLmNoZWNrLWNvbHVtbicpLmhpZGUoKTtcclxuXHRqUXVlcnkoICcjd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyIC53cGJjX2FjdGlvbnNfYnV0dG9ucycpLmhpZGUoKTtcclxuXHRqUXVlcnkoICcjd3BiY19hanhfcHJpbnRfbW9kYWwgLm1vZGFsLWJvZHknKS5jc3Moe1xyXG5cdFx0ICBtYXhIZWlnaHQgOiBcIjUwMHB4XCIsXHJcblx0XHQgIG92ZXJmbG93WTogXCJzY3JvbGxcIlxyXG5cdFx0fSk7XHJcbiBcdCovXHJcblxyXG5cdC8vIEhpZGUgc29tZSBub3Qgc2VsZWN0ZWQgcm93cywgIGlmIHVzZXIgc2VsZWN0ZWQgdGhlbVxyXG5cdHZhciBzZWxlY3RlZF9yb3dzX2FycjtcclxuXHJcblx0aWYgKCBib29raW5nX2lkX2Fyci5sZW5ndGggPT0gMCApe1xyXG5cdFx0c2VsZWN0ZWRfcm93c19hcnIgPSB3cGJjX2dldF9zZWxlY3RlZF9yb3dfaWQoKTtcclxuXHR9IGVsc2Uge1xyXG5cdFx0c2VsZWN0ZWRfcm93c19hcnIgPSBib29raW5nX2lkX2FycjtcclxuXHR9XHJcblxyXG5cdGlmICggc2VsZWN0ZWRfcm93c19hcnIubGVuZ3RoID4gMCApe1xyXG5cclxuXHRcdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfc2VsZWN0YWJsZV9ib2R5IC53cGJjX2xpc3RpbmdfdXN1YWxfcm93JyApLmhpZGUoKTtcclxuXHJcblx0XHRmb3IgKCB2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZF9yb3dzX2Fyci5sZW5ndGg7ICsraSApe1xyXG5cdFx0XHRqUXVlcnkoIFwiI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lciAjcm93X2lkX1wiICsgc2VsZWN0ZWRfcm93c19hcnJbIGkgXSApLnNob3coKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEFkZCBjb3N0IGFzIHRleHQgbGFiZWxzIHRvIHByaW50IGxheW91dFxyXG5cdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfc2VsZWN0YWJsZV9ib2R5IC53cGJjX2xpc3RpbmdfdXN1YWxfcm93JyApLmZpbmQoICcuc2V0X2Jvb2tpbmdfY29zdF90ZXh0X2ZpZWxkJyApLmVhY2goIGZ1bmN0aW9uICggaW5kZXggKXtcclxuXHJcblx0XHR2YXIgY3VycmVuY3kgPSBqUXVlcnkoIGpRdWVyeSggdGhpcyApLnBhcmVudCggJy51aV9lbGVtZW50JyApLmZpbmQoICcud3BiY191aV9jb250cm9sX2xhYmVsJyApWyAwIF0gKS5odG1sKCk7XHJcblxyXG5cdFx0alF1ZXJ5KCB0aGlzICkucGFyZW50cyggJy53cGJjX2xpc3RpbmdfdXN1YWxfcm93ICcgKS5maW5kKCAnLndwYmNfY29sX2Jvb2tpbmdfbGFiZWxzIC5jb250ZW50X3RleHQnICkuYXBwZW5kKCAnPHNwYW4gY2xhc3M9XCJ3cGJjX2xhYmVsIHdwYmNfbGFiZWxfYm9va2luZ19pZFwiPicgKyBjdXJyZW5jeSArICcgJyArIGpRdWVyeSggdGhpcyApLnZhbCgpICsgJzwvc3Bhbj4nICk7XHJcblx0fSApO1xyXG5cclxuXHJcblx0Ly8gQWRkIHJlbWFyayB0byB0aGUgY29udGVudCBvZiBib29raW5nIGRldGFpbHNcclxuXHRqUXVlcnkoICcjd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyIC53cGJjX3NlbGVjdGFibGVfYm9keSAud3BiY19saXN0aW5nX3VzdWFsX3JvdycgKS5maW5kKCAnLnNldF9ib29raW5nX25vdGVfdGV4dCcgKS5lYWNoKCBmdW5jdGlvbiAoIGluZGV4ICl7XHJcblxyXG5cdFx0dmFyIHJlbWFya190ZXh0ID0galF1ZXJ5KCB0aGlzICkudmFsKCkucmVwbGFjZSggL1xcclxcbnxcXHJ8XFxuL2csIFwiPGJyIC8+XCIgKTtcclxuXHJcblx0XHRpZiAoICcnICE9IHJlbWFya190ZXh0ICl7XHJcblxyXG5cdFx0XHRqUXVlcnkoIHRoaXMgKS5wYXJlbnRzKCAnLndwYmNfbGlzdGluZ191c3VhbF9yb3cgJyApLmZpbmQoICcud3BiY19jb2xfZGF0YSAuY29udGVudF90ZXh0JyApLmFwcGVuZChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnPGRpdiBjbGFzcz1cIndwYmNfcmVtYXJrX3RleHRcIj4nXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KyAnPGhyLz48c3Ryb25nPk5vdGVzOjwvc3Ryb25nPjxici8+J1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCsgcmVtYXJrX3RleHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQrICc8L2Rpdj4nXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHR9XHJcblxyXG5cdH0gKTtcclxufVxyXG5cclxuZnVuY3Rpb24gd3BiY19wcmludF9kaWFsb2dfX2RvX3ByaW50aW5nKCl7XHJcbiAgICBqUXVlcnkoICcjd3BiY19jb250ZW50X2Zvcl9qc19wcmludCcgKS53cGJjX2pzX3ByaW50KFxyXG5cdFx0e1xyXG5cdFx0XHRkZWJ1ZyAgICAgICAgICAgICAgIDogZmFsc2UsICAgICAgICAgICAgICAgICAgICAgICBcdC8vIHNob3cgdGhlIGlmcmFtZSBmb3IgZGVidWdnaW5nXHJcblx0XHRcdGltcG9ydENTUyAgICAgICAgICAgOiB0cnVlLCAgICAgICAgICAgICAgICAgICAgXHRcdC8vIGltcG9ydCBwYXJlbnQgcGFnZSBjc3NcclxuXHRcdFx0aW1wb3J0U3R5bGUgICAgICAgICA6IHRydWUsICAgICAgICAgICAgICAgICAgXHRcdC8vIGltcG9ydCBzdHlsZSB0YWdzXHJcblx0XHRcdHByaW50Q29udGFpbmVyICAgICAgOiB0cnVlLCAgICAgICAgICAgICAgIFx0XHRcdC8vIHByaW50IG91dGVyIGNvbnRhaW5lci8kLnNlbGVjdG9yXHJcblx0XHRcdGxvYWRDU1MgICAgICAgICAgICAgOiBcIlwiLCAgICAgICAgICAgICAgICAgICAgICAgIFx0Ly8gcGF0aCB0byBhZGRpdGlvbmFsIGNzcyBmaWxlIC0gdXNlIGFuIGFycmF5IFtdIGZvciBtdWx0aXBsZVxyXG5cdFx0XHRwYWdlVGl0bGUgICAgICAgICAgIDogXCJcIiwgICAgICAgICAgICAgICAgICAgICAgXHRcdC8vIGFkZCB0aXRsZSB0byBwcmludCBwYWdlXHJcblx0XHRcdHJlbW92ZUlubGluZSAgICAgICAgOiBmYWxzZSwgICAgICAgICAgICAgICAgXHRcdC8vIHJlbW92ZSBpbmxpbmUgc3R5bGVzIGZyb20gcHJpbnQgZWxlbWVudHNcclxuXHRcdFx0cmVtb3ZlSW5saW5lU2VsZWN0b3I6IFwiKlwiLCAgICAgICAgICBcdFx0XHRcdC8vIGN1c3RvbSBzZWxlY3RvcnMgdG8gZmlsdGVyIGlubGluZSBzdHlsZXMuIHJlbW92ZUlubGluZSBtdXN0IGJlIHRydWVcclxuXHRcdFx0cHJpbnREZWxheSAgICAgICAgICA6IDMwMCwgICAgICAgICAgICAgICAgICAgXHRcdC8vIHZhcmlhYmxlIHByaW50IGRlbGF5XHJcblx0XHRcdGhlYWRlciAgICAgICAgICAgICAgOiBudWxsLCAgICAgICAgICAgICAgICAgICAgICAgXHQvLyBwcmVmaXggdG8gaHRtbFxyXG5cdFx0XHRmb290ZXIgICAgICAgICAgICAgIDogbnVsbCwgICAgICAgICAgICAgICAgICAgICAgIFx0Ly8gcG9zdGZpeCB0byBodG1sXHJcblx0XHRcdGJhc2UgICAgICAgICAgICAgICAgOiBmYWxzZSwgICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmVzZXJ2ZSB0aGUgQkFTRSB0YWcgb3IgYWNjZXB0IGEgc3RyaW5nIGZvciB0aGUgVVJMXHJcblx0XHRcdGZvcm1WYWx1ZXMgICAgICAgICAgOiB0cnVlLCAgICAgICAgICAgICAgICAgICBcdFx0Ly8gcHJlc2VydmUgaW5wdXQvZm9ybSB2YWx1ZXNcclxuXHRcdFx0Y2FudmFzICAgICAgICAgICAgICA6IHRydWUsICAgICAgICAgICAgICAgICAgICAgICBcdC8vIGNvcHkgY2FudmFzIGNvbnRlbnRcclxuXHRcdFx0ZG9jdHlwZVN0cmluZyAgICAgICA6ICc8IURPQ1RZUEUgaHRtbD4nLCAgIFx0XHRcdC8vIGVudGVyIGEgZGlmZmVyZW50IGRvY3R5cGUgZm9yIG9sZGVyIG1hcmt1cFxyXG5cdFx0XHRyZW1vdmVTY3JpcHRzICAgICAgIDogZmFsc2UsICAgICAgICAgICAgICAgXHRcdFx0Ly8gcmVtb3ZlIHNjcmlwdCB0YWdzIGZyb20gcHJpbnQgY29udGVudFxyXG5cdFx0XHRjb3B5VGFnQ2xhc3NlcyAgICAgIDogdHJ1ZSwgICAgICAgICAgICAgICBcdFx0XHQvLyBjb3B5IGNsYXNzZXMgZnJvbSB0aGUgaHRtbCAmIGJvZHkgdGFnXHJcblx0XHRcdGNvcHlUYWdTdHlsZXMgICAgICAgOiB0cnVlLCAgICAgICAgICAgICAgICBcdFx0XHQvLyBjb3B5IHN0eWxlcyBmcm9tIGh0bWwgJiBib2R5IHRhZyAoZm9yIENTUyBWYXJpYWJsZXMpXHJcblx0XHRcdGJlZm9yZVByaW50RXZlbnQgICAgOiBudWxsLCAgICAgICAgICAgICBcdFx0XHQvLyBjYWxsYmFjayBmdW5jdGlvbiBmb3IgcHJpbnRFdmVudCBpbiBpZnJhbWVcclxuXHRcdFx0YmVmb3JlUHJpbnQgICAgICAgICA6IG51bGwsICAgICAgICAgICAgICAgICAgXHRcdC8vIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgaWZyYW1lIGlzIGZpbGxlZFxyXG5cdFx0XHRhZnRlclByaW50ICAgICAgICAgIDogbnVsbCAgICAgICAgICAgICAgICAgICAgXHRcdC8vIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgaWZyYW1lIGlzIHJlbW92ZWRcclxuXHRcdH1cclxuXHQpO1xyXG5cdGpRdWVyeSggJyN3cGJjX2FqeF9wcmludF9tb2RhbCcgKS53cGJjX215X21vZGFsKCAnaGlkZScgKTtcclxufSJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFFWixTQUFTQSx1QkFBdUJBLENBQUVDLGNBQWMsRUFB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
106