diff --git a/client/homebrew/brewRenderer/brewRenderer.less b/client/homebrew/brewRenderer/brewRenderer.less index 0406cad29..ed29047f3 100644 --- a/client/homebrew/brewRenderer/brewRenderer.less +++ b/client/homebrew/brewRenderer/brewRenderer.less @@ -64,3 +64,16 @@ color : white; background-color : #333333; } + +@media print { + .brewRenderer { + height: 100%; + overflow-y: unset; + .pages { + margin: 0px; + &>.page { + box-shadow: unset; + } + } + } +} \ No newline at end of file diff --git a/client/homebrew/navbar/print.navitem.jsx b/client/homebrew/navbar/print.navitem.jsx index 54af0bb41..0bfb62138 100644 --- a/client/homebrew/navbar/print.navitem.jsx +++ b/client/homebrew/navbar/print.navitem.jsx @@ -2,7 +2,12 @@ const React = require('react'); const Nav = require('naturalcrit/nav/nav.jsx'); module.exports = function(props){ - return + const printPage = () => { + if (window.typeof !== 'undefined') + window.frames['BrewRenderer'].contentWindow.print(); + }; + + return get PDF ; }; diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 3e7bd0c2a..b5c82217c 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -11,7 +11,7 @@ const Navbar = require('../../navbar/navbar.jsx'); const NewBrew = require('../../navbar/newbrew.navitem.jsx'); const HelpNavItem = require('../../navbar/help.navitem.jsx'); -const PrintLink = require('../../navbar/print.navitem.jsx'); +const PrintNavItem = require('../../navbar/print.navitem.jsx'); const ErrorNavItem = require('../../navbar/error-navitem.jsx'); const Account = require('../../navbar/account.navitem.jsx'); const RecentNavItem = require('../../navbar/recent.navitem.jsx').both; @@ -95,7 +95,7 @@ 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.open(`/print/${this.processShareId()}?dialog=true`, '_blank').focus(); + if(e.keyCode == P_KEY) window.frames['BrewRenderer'].contentWindow.print(); if(e.keyCode == P_KEY || e.keyCode == S_KEY){ e.stopPropagation(); e.preventDefault(); @@ -378,7 +378,7 @@ const EditPage = createClass({ post to reddit - + diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 99a1beb64..85ca62500 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -7,6 +7,7 @@ const request = require('../../utils/request-middleware.js'); const Markdown = require('naturalcrit/markdown.js'); const Nav = require('naturalcrit/nav/nav.jsx'); +const PrintNavItem = require('../../navbar/print.navitem.jsx'); const Navbar = require('../../navbar/navbar.jsx'); const AccountNavItem = require('../../navbar/account.navitem.jsx'); const ErrorNavItem = require('../../navbar/error-navitem.jsx'); @@ -89,7 +90,7 @@ const NewPage = createClass({ const S_KEY = 83; const P_KEY = 80; if(e.keyCode == S_KEY) this.save(); - if(e.keyCode == P_KEY) this.print(); + if(e.keyCode == P_KEY) window.frames['BrewRenderer'].contentWindow.print(); if(e.keyCode == P_KEY || e.keyCode == S_KEY){ e.stopPropagation(); e.preventDefault(); @@ -184,12 +185,6 @@ const NewPage = createClass({ window.open('/print?dialog=true&local=print', '_blank'); }, - renderLocalPrintButton : function(){ - return - get PDF - ; - }, - renderNavbar : function(){ return @@ -202,7 +197,7 @@ const NewPage = createClass({ : this.renderSaveButton() } - {this.renderLocalPrintButton()} + diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx index 2eab5f34a..ec998a821 100644 --- a/client/homebrew/pages/sharePage/sharePage.jsx +++ b/client/homebrew/pages/sharePage/sharePage.jsx @@ -6,7 +6,7 @@ const { Meta } = require('vitreum/headtags'); const Nav = require('naturalcrit/nav/nav.jsx'); const Navbar = require('../../navbar/navbar.jsx'); const MetadataNav = require('../../navbar/metadata.navitem.jsx'); -const PrintLink = require('../../navbar/print.navitem.jsx'); +const PrintNavItem = require('../../navbar/print.navitem.jsx'); const RecentNavItem = require('../../navbar/recent.navitem.jsx').both; const Account = require('../../navbar/account.navitem.jsx'); @@ -35,7 +35,7 @@ const SharePage = createClass({ if(!(e.ctrlKey || e.metaKey)) return; const P_KEY = 80; if(e.keyCode == P_KEY){ - window.open(`/print/${this.processShareId()}?dialog=true`, '_blank').focus(); + if(e.keyCode == P_KEY) window.frames['BrewRenderer'].contentWindow.print(); e.stopPropagation(); e.preventDefault(); } @@ -72,7 +72,7 @@ const SharePage = createClass({ {this.props.brew.shareId && <> - + source