From c59a467cdbf16c86c9561bcd951580d52be0037d Mon Sep 17 00:00:00 2001 From: McMatts Date: Fri, 31 May 2019 19:41:34 +0100 Subject: [PATCH] Print selected sections Close #146 --- .../components/document/document-toolbar.js | 30 ++++++++++++++++++- gui/app/constants/constants.js | 1 + gui/app/pods/document/index/template.hbs | 1 + .../components/document/document-meta.hbs | 2 +- .../components/document/document-toolbar.hbs | 23 +++++++++++++- .../components/document/view-content.hbs | 2 +- 6 files changed, 55 insertions(+), 4 deletions(-) diff --git a/gui/app/components/document/document-toolbar.js b/gui/app/components/document/document-toolbar.js index 80faac32..5c8ace31 100644 --- a/gui/app/components/document/document-toolbar.js +++ b/gui/app/components/document/document-toolbar.js @@ -99,7 +99,35 @@ export default Component.extend(ModalMixin, AuthMixin, Notifier, { cb(); }, - onPrintDocument() { + onShowPrintModal() { + let pages = this.get('pages'); + + // By default we select everything for print. + pages.forEach((item) => { + item.set('printSelected', true); + }); + + this.set('pages', pages); + + this.modalOpen("#document-print-modal", {show:true}); + }, + + onPrintSelection() { + this.modalClose('#document-print-modal'); + + let pages = this.get('pages'); + pages.forEach((item) => { + let pageId = item.get('page.id'); + let selected = item.get('printSelected'); + $(`#page-${pageId}`).addClass('non-printable'); + $(`#page-spacer-${pageId}`).addClass('non-printable'); + + if (selected) { + $(`#page-${pageId}`).removeClass('non-printable'); + $(`#page-spacer-${pageId}`).removeClass('non-printable'); + } + }); + window.print(); }, diff --git a/gui/app/constants/constants.js b/gui/app/constants/constants.js index cc5f1a83..0695241d 100644 --- a/gui/app/constants/constants.js +++ b/gui/app/constants/constants.js @@ -348,6 +348,7 @@ let constants = EmberObject.extend({ Next: 'Next', OK: 'OK', Preview: 'Preview', + Print: 'Print', Publish: 'Publish', Reject: 'Reject', Remove: 'Remove', diff --git a/gui/app/pods/document/index/template.hbs b/gui/app/pods/document/index/template.hbs index 3e2b8b56..46fc1255 100644 --- a/gui/app/pods/document/index/template.hbs +++ b/gui/app/pods/document/index/template.hbs @@ -8,6 +8,7 @@ {{document/document-toolbar tab=tab roles=roles + pages=pages space=folder spaces=folders document=document diff --git a/gui/app/templates/components/document/document-meta.hbs b/gui/app/templates/components/document/document-meta.hbs index 3ee2afe7..d3949efb 100644 --- a/gui/app/templates/components/document/document-meta.hbs +++ b/gui/app/templates/components/document/document-meta.hbs @@ -39,7 +39,7 @@ {{/if}} {{#if document.template}} -
+
Template {{#attach-tooltip showDelay=1000}}This is a template{{/attach-tooltip}}
diff --git a/gui/app/templates/components/document/document-toolbar.hbs b/gui/app/templates/components/document/document-toolbar.hbs index d19518e7..58bd1018 100644 --- a/gui/app/templates/components/document/document-toolbar.hbs +++ b/gui/app/templates/components/document/document-toolbar.hbs @@ -29,7 +29,7 @@
  • Bookmark
  • {{/if}} -
  • Print
  • +
  • Print
  • Download
  • {{#if permissions.documentAdd}}
  • @@ -93,6 +93,27 @@
  • + +