[freeside-commits] branch FREESIDE_4_BRANCH updated. 169ad85b65ffdf5e925163bbefd6b1172ec56dd5
Mark Wells
mark at 420.am
Tue Jul 12 13:55:34 PDT 2016
The branch, FREESIDE_4_BRANCH has been updated
via 169ad85b65ffdf5e925163bbefd6b1172ec56dd5 (commit)
from 8141f2f84a47320dde5be1ebb478f9d92da832e1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 169ad85b65ffdf5e925163bbefd6b1172ec56dd5
Author: Mark Wells <mark at freeside.biz>
Date: Tue Jul 12 13:51:47 2016 -0700
workaround for page-break-inside:avoid on Chrome, #71301
diff --git a/httemplate/elements/freeside.css b/httemplate/elements/freeside.css
index cc104a1..87dec3d 100644
--- a/httemplate/elements/freeside.css
+++ b/httemplate/elements/freeside.css
@@ -342,4 +342,7 @@ div.package-marker-change_from {
display: inline-block;
}
-
+/* but see printtofit.js */
+.nosplit, .nosplitrows tr {
+ page-break-inside: avoid;
+}
diff --git a/httemplate/elements/printtofit.js b/httemplate/elements/printtofit.js
index 66257fc..9823602 100644
--- a/httemplate/elements/printtofit.js
+++ b/httemplate/elements/printtofit.js
@@ -1,13 +1,30 @@
$().ready(function() {
+ // yuck
+ var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var beforePrint = function() {
if ($('body').width() > 0) {
// 7.5 inches * 96 DPI; maybe make the width a user pref?
var maxwidth = 7.5 * 96;
$('body').css('zoom', maxwidth / $('body').width());
+ if (isChrome) {
+ // Chrome doesn't respect page-break-* styles on table rows/cells,
+ // so wrap the contents of table cells with a block element
+ // ref. Chromium bug #99124, #87828, #59193
+ // should be fixed with Chrome 53
+ var nosplits = $('.nosplitrows td');
+ if (nosplits.length > 0) {
+ nosplits.wrapInner('<div class="nosplit autowrap" />');
+ }
+ }
}
};
var afterPrint = function() {
$('body').css('zoom', 1);
+ // get the direct children of the wrapper divs.
+ var nosplits = $('div.autowrap >');
+ if (nosplits.length > 0) {
+ nosplits.unwrap();
+ }
}
if (window.matchMedia) { // chrome, most importantly; also IE10?
diff --git a/httemplate/elements/table-grid.html b/httemplate/elements/table-grid.html
index 4f42005..bf60fe0 100644
--- a/httemplate/elements/table-grid.html
+++ b/httemplate/elements/table-grid.html
@@ -1,4 +1,4 @@
-<TABLE CLASS="grid" CELLSPACING=<% $opt{cellspacing} %> CELLPADDING=<% $opt{cellpadding} %> <% $opt{bgcolor} %>>
+<TABLE CLASS="grid nosplitrows" CELLSPACING=<% $opt{cellspacing} %> CELLPADDING=<% $opt{cellpadding} %> <% $opt{bgcolor} %>>
<%init>
diff --git a/httemplate/search/elements/grouped-search/html b/httemplate/search/elements/grouped-search/html
index df1471a..2ecb688 100644
--- a/httemplate/search/elements/grouped-search/html
+++ b/httemplate/search/elements/grouped-search/html
@@ -120,7 +120,7 @@ for (my $i = 0; $i < $group_info->{num}; $i++) {
border-spacing: 0;
}
</STYLE>
-<table class="grid">
+<table class="grid nosplitrows">
<thead>
<& /search/elements/search-html.html:header_row,
'header' => $opt{'header'},
-----------------------------------------------------------------------
Summary of changes:
httemplate/elements/freeside.css | 5 ++++-
httemplate/elements/printtofit.js | 17 +++++++++++++++++
httemplate/elements/table-grid.html | 2 +-
httemplate/search/elements/grouped-search/html | 2 +-
4 files changed, 23 insertions(+), 3 deletions(-)
More information about the freeside-commits
mailing list