From 75c8720b040bd987e5b0d207102a3f44f090bf47 Mon Sep 17 00:00:00 2001 From: Thaum Rystra Date: Sat, 3 Mar 2018 11:13:16 +0200 Subject: [PATCH] Moved printed character sheets to their own page This makes sure the entire printed sheet is rendered before the browser attempts to print it, solving all manner of errors --- rpg-docs/Routes/Routes.js | 29 ++ .../views/character/characterSheet.html | 13 +- .../client/views/character/characterSheet.js | 10 +- .../printedCharacterSheet.css | 82 ++-- .../printedCharacterSheet.html | 369 +++++++++--------- .../printedCharacterSheet.js | 9 + 6 files changed, 293 insertions(+), 219 deletions(-) diff --git a/rpg-docs/Routes/Routes.js b/rpg-docs/Routes/Routes.js index 90676c79..65b4cbb0 100644 --- a/rpg-docs/Routes/Routes.js +++ b/rpg-docs/Routes/Routes.js @@ -78,6 +78,35 @@ Router.map(function() { fastRender: true, }); + this.route("printedCharacterSheet", { + path: "/character/:_id/:urlName/print", + waitOn: function(){ + return [ + subsManager.subscribe("singleCharacter", this.params._id), + ]; + }, + data: function() { + var data = Characters.findOne( + {_id: this.params._id}, + {fields: {_id: 1, name: 1, color: 1, writers: 1, readers: 1}} + ); + return data; + }, + onAfterAction: function() { + var char = Characters.findOne({_id: this.params._id}, {fields: {name: 1}}); + var name = char && char.name; + if (name){ + document.title = name + " - Printing"; + } + }, + //analytics + trackPageView: false, + onRun: function() { + window.ga && window.ga("send", "pageview", "/print-character"); + this.next(); + }, + }); + this.route("library", { path: "/library", waitOn: function(){ diff --git a/rpg-docs/client/views/character/characterSheet.html b/rpg-docs/client/views/character/characterSheet.html index 65b4b13a..8785892b 100644 --- a/rpg-docs/client/views/character/characterSheet.html +++ b/rpg-docs/client/views/character/characterSheet.html @@ -1,7 +1,4 @@