From 31b25a407053bf22708b766fcbf459adfa6eb6f1 Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Sat, 4 Dec 2021 08:56:05 +0100 Subject: [PATCH] okish dual panel mode. Need some tests and documentation --- app/components/breadcrumb/index.js | 9 +++++++-- app/components/dual_link_to/index.js | 25 +++++++++++++----------- app/components/viewer/index.hbs | 1 + app/templates/authenticated/document.hbs | 6 ++++-- app/templates/authenticated/nodes.hbs | 6 ++++-- 5 files changed, 30 insertions(+), 17 deletions(-) diff --git a/app/components/breadcrumb/index.js b/app/components/breadcrumb/index.js index 3ed1644..c1b8d9f 100644 --- a/app/components/breadcrumb/index.js +++ b/app/components/breadcrumb/index.js @@ -18,10 +18,15 @@ export default class BreadcrumbComponent extends Component { } get query() { - if (this.args.extranode) { return { - extranode_id: this.args.extranode.id + extra_id: this.args.extranode.id, + extra_type: 'folder' + } + } else if (this.args.extradoc) { + return { + extra_id: this.args.extradoc.id, + extra_type: 'doc' } } diff --git a/app/components/dual_link_to/index.js b/app/components/dual_link_to/index.js index f5b1718..51b6fe4 100644 --- a/app/components/dual_link_to/index.js +++ b/app/components/dual_link_to/index.js @@ -9,6 +9,7 @@ export default class DualLinkToComponent extends Component { @node - main node, which is visually located on left panel @extranode - extra node, visually on right panel + @extradoc - extra document on the right @hint = can be either "left" "right". Indicates in which panel is current <DualLinkTo /> located at this very moment. @@ -115,11 +116,13 @@ export default class DualLinkToComponent extends Component { get query() { let node, extranode, + extradoc, hint, result = {}; node = this.args.node; extranode = this.args.extranode; + extradoc = this.args.extradoc; hint = this.args.hint; if (this.args.query) { @@ -127,17 +130,17 @@ export default class DualLinkToComponent extends Component { } if ((hint === 'left') && extranode) { - if (extranode.get('nodeType') === 'document') { - return { - 'extra_id': extranode.get('id'), - 'extra_type': 'doc' - }; - } else if (extranode.get('nodeType') === 'folder') { - return { - 'extra_id': extranode.get('id'), - 'extra_type': 'folder' - }; - } + return { + 'extra_id': extranode.get('id'), + 'extra_type': 'folder' + }; + } + + if ((hint === 'left') && extradoc) { + return { + 'extra_id': extradoc.get('id'), + 'extra_type': 'doc' + }; } if (hint === 'right' && node) { diff --git a/app/components/viewer/index.hbs b/app/components/viewer/index.hbs index 879576f..db0f1d1 100644 --- a/app/components/viewer/index.hbs +++ b/app/components/viewer/index.hbs @@ -15,6 +15,7 @@ <Breadcrumb @node={{@doc}} @extranode={{@extranode}} + @extradoc={{@extradoc}} @hint={{@hint}} /> <div class="d-flex"> diff --git a/app/templates/authenticated/document.hbs b/app/templates/authenticated/document.hbs index 3d551f0..ea82c27 100644 --- a/app/templates/authenticated/document.hbs +++ b/app/templates/authenticated/document.hbs @@ -2,7 +2,8 @@ <Viewer @doc={{@model.doc}} @pages={{@model.pages}} - @extranode={{this.extranode.current_node}} + @extranode={{@model.extra.current_node}} + @extradoc={{@mode.extra.doc}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} @hint="left" /> @@ -12,7 +13,8 @@ <Viewer @doc={{@model.extra.doc}} @pages={{@model.extra.pages}} - @extranode={{this.extranode.current_node}} + @extranode={{@model.extra.current_node}} + @extradoc={{@model.doc}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} @hint="right" /> diff --git a/app/templates/authenticated/nodes.hbs b/app/templates/authenticated/nodes.hbs index 4648f4b..4a04596 100644 --- a/app/templates/authenticated/nodes.hbs +++ b/app/templates/authenticated/nodes.hbs @@ -1,9 +1,11 @@ <div class="panels d-flex row"> <Commander @node={{@model.current_node}} - @extranode={{@model.extra.current_node}} @children={{@model.children}} @pagination={{@model.pagination}} + {{! extranode/extradoc are passed to breadcrumb and local dual links }} + @extranode={{@model.extra.current_node}} + @extradoc={{@model.extra.doc}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} @hint="left" /> @@ -20,9 +22,9 @@ {{else}} <Commander @node={{@model.extra.current_node}} - @extranode={{@model.current_node}} @children={{@model.extra.children}} @pagination={{@model.extra.pagination}} + @extranode={{@model.current_node}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} @hint="right" /> -- GitLab