diff --git a/client/homebrew/brewRenderer/brewRenderer.less b/client/homebrew/brewRenderer/brewRenderer.less
index ed29047f3..28ea8005e 100644
--- a/client/homebrew/brewRenderer/brewRenderer.less
+++ b/client/homebrew/brewRenderer/brewRenderer.less
@@ -72,7 +72,7 @@
.pages {
margin: 0px;
&>.page {
- box-shadow: unset;
+ box-shadow: unset;
}
}
}
diff --git a/client/homebrew/navbar/print.navitem.jsx b/client/homebrew/navbar/print.navitem.jsx
index 0bfb62138..42b47b88e 100644
--- a/client/homebrew/navbar/print.navitem.jsx
+++ b/client/homebrew/navbar/print.navitem.jsx
@@ -1,13 +1,8 @@
const React = require('react');
const Nav = require('naturalcrit/nav/nav.jsx');
-module.exports = function(props){
- const printPage = () => {
- if (window.typeof !== 'undefined')
- window.frames['BrewRenderer'].contentWindow.print();
- };
-
- return
+module.exports = function({printFunction}){
+ return
get PDF
;
};
diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx
index b5c82217c..dfce74e48 100644
--- a/client/homebrew/pages/editPage/editPage.jsx
+++ b/client/homebrew/pages/editPage/editPage.jsx
@@ -95,13 +95,24 @@ const EditPage = createClass({
const S_KEY = 83;
const P_KEY = 80;
if(e.keyCode == S_KEY) this.trySave(true);
- if(e.keyCode == P_KEY) window.frames['BrewRenderer'].contentWindow.print();
+ if(e.keyCode == P_KEY) this.printPage();
if(e.keyCode == P_KEY || e.keyCode == S_KEY){
e.stopPropagation();
e.preventDefault();
}
},
+ printPage : function(){
+ if (window.typeof !== 'undefined') {
+ window.frames['BrewRenderer'].contentWindow.print();
+ //Force DOM reflow; Print dialog causes a repaint, and @media print CSS somehow makes out-of-view pages disappear
+ let node = window.frames['BrewRenderer'].contentDocument.getElementsByClassName('brewRenderer').item(0);
+ node.style.display='none';
+ node.offsetHeight; // accessing this is enough to trigger a reflow
+ node.style.display='';
+ }
+ },
+
handleSplitMove : function(){
this.editor.current.update();
},
@@ -378,7 +389,7 @@ const EditPage = createClass({
post to reddit
-
+
diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx
index 85ca62500..85303ae2d 100644
--- a/client/homebrew/pages/newPage/newPage.jsx
+++ b/client/homebrew/pages/newPage/newPage.jsx
@@ -90,13 +90,24 @@ const NewPage = createClass({
const S_KEY = 83;
const P_KEY = 80;
if(e.keyCode == S_KEY) this.save();
- if(e.keyCode == P_KEY) window.frames['BrewRenderer'].contentWindow.print();
+ if(e.keyCode == P_KEY) this.printPage();
if(e.keyCode == P_KEY || e.keyCode == S_KEY){
e.stopPropagation();
e.preventDefault();
}
},
+ printPage : function(){
+ if (window.typeof !== 'undefined') {
+ window.frames['BrewRenderer'].contentWindow.print();
+ //Force DOM reflow; Print dialog causes a repaint, and @media print CSS somehow makes out-of-view pages disappear
+ let node = window.frames['BrewRenderer'].contentDocument.getElementsByClassName('brewRenderer').item(0);
+ node.style.display='none';
+ node.offsetHeight; // accessing this is enough to trigger a reflow
+ node.style.display='';
+ }
+ },
+
handleSplitMove : function(){
this.editor.current.update();
},
@@ -181,10 +192,6 @@ const NewPage = createClass({
}
},
- print : function(){
- window.open('/print?dialog=true&local=print', '_blank');
- },
-
renderNavbar : function(){
return
@@ -197,7 +204,7 @@ const NewPage = createClass({
:
this.renderSaveButton()
}
-
+
diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx
index ec998a821..dccea796c 100644
--- a/client/homebrew/pages/sharePage/sharePage.jsx
+++ b/client/homebrew/pages/sharePage/sharePage.jsx
@@ -35,12 +35,23 @@ const SharePage = createClass({
if(!(e.ctrlKey || e.metaKey)) return;
const P_KEY = 80;
if(e.keyCode == P_KEY){
- if(e.keyCode == P_KEY) window.frames['BrewRenderer'].contentWindow.print();
+ if(e.keyCode == P_KEY) this.printPage();
e.stopPropagation();
e.preventDefault();
}
},
+ printPage : function(){
+ if (window.typeof !== 'undefined') {
+ window.frames['BrewRenderer'].contentWindow.print();
+ //Force DOM reflow; Print dialog causes a repaint, and @media print CSS somehow makes out-of-view pages disappear
+ let node = window.frames['BrewRenderer'].contentDocument.getElementsByClassName('brewRenderer').item(0);
+ node.style.display='none';
+ node.offsetHeight; // accessing this is enough to trigger a reflow
+ node.style.display='';
+ }
+ },
+
processShareId : function() {
return this.props.brew.googleId && !this.props.brew.stubbed ?
this.props.brew.googleId + this.props.brew.shareId :
@@ -72,7 +83,7 @@ const SharePage = createClass({
{this.props.brew.shareId && <>
-
+
source