0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-17 18:52:40 +00:00

Move "printPage()" to helpers.js for reuse in multiple pages

This commit is contained in:
Trevor Buckner
2024-05-24 19:28:02 -04:00
parent e396211f92
commit ac3168e365
6 changed files with 27 additions and 56 deletions

View File

@@ -19,6 +19,7 @@ const Editor = require('../../editor/editor.jsx');
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
const { DEFAULT_BREW } = require('../../../../server/brewDefaults.js');
const { printPage } = require('../../../../shared/helpers.js');
const BREWKEY = 'homebrewery-new';
const STYLEKEY = 'homebrewery-new-style';
@@ -90,24 +91,13 @@ const NewPage = createClass({
const S_KEY = 83;
const P_KEY = 80;
if(e.keyCode == S_KEY) this.save();
if(e.keyCode == P_KEY) this.printPage();
if(e.keyCode == P_KEY) 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();
},
@@ -204,7 +194,7 @@ const NewPage = createClass({
<ErrorNavItem error={this.state.error} parent={this}></ErrorNavItem> :
this.renderSaveButton()
}
<PrintNavItem printFunction={this.printPage}/>
<PrintNavItem />
<HelpNavItem />
<RecentNavItem />
<AccountNavItem />