diff --git a/app/controllers/authenticated/document.js b/app/controllers/authenticated/document.js index 7f4f96c5ffeae6d61693b38f4b02a609a2f3e211..13773048303dc5fa730cc4f6b6dceca9e03a5ecf 100644 --- a/app/controllers/authenticated/document.js +++ b/app/controllers/authenticated/document.js @@ -1,9 +1,12 @@ import { action } from '@ember/object'; import DualPanelBaseController from "./dualpanel_base"; +import { service } from '@ember/service'; export default class DocumentController extends DualPanelBaseController { + @service router; + @action async onPanelToggle(hint) { /* @@ -38,17 +41,34 @@ export default class DocumentController extends DualPanelBaseController { @action onSwapPanels() { - console.log(`onSwapPanels`); - } + let document_id = this.router.currentRoute.params['document_id'], + query_params; - @action - onLeftDuplicate() { - console.log(`onLeftDuplicate`); + query_params = { + 'queryParams': { + 'extra_id': document_id, + 'extra_type': 'doc' + } + }; + + if (this.extra_id && this.extra_type == 'folder') { + this.router.transitionTo( + 'authenticated.nodes', + this.extra_id, + query_params + ); + } else if (this.extra_id && this.extra_type == 'doc') { + this.router.transitionTo( + 'authenticated.document', + this.extra_id, + query_params + ) + } } @action - onRightDuplicate() { - console.log(`onRightDuplicate`); + onDuplicatePanel() { + console.log(`onDuplicatePanel`); } } diff --git a/app/controllers/authenticated/nodes.js b/app/controllers/authenticated/nodes.js index 490ff5d2724617dd378a1962b2dc073ee349a04b..1afc9d61dcf98f37204d63a8f2ff45107722e10c 100644 --- a/app/controllers/authenticated/nodes.js +++ b/app/controllers/authenticated/nodes.js @@ -40,32 +40,29 @@ export default class NodesController extends DualPanelBaseController { @action onSwapPanels() { - let node_id; + let node_id, + query_params; + + node_id = this.router.currentRoute.params['node_id']; + query_params = { + 'queryParams': { + 'extra_id': node_id, + 'extra_type': 'folder' + } + } if (this.extra_id && this.extra_type == 'folder') { - node_id = this.router.currentRoute.params['node_id']; this.router.transitionTo( 'authenticated.nodes', this.extra_id, - { - 'queryParams': { - 'extra_id': node_id, - 'extra_type': 'folder', - } - } + query_params ); } else if (this.extra_id && this.extra_type == 'doc') { - node_id = this.router.currentRoute.params['node_id']; this.router.transitionTo( 'authenticated.document', this.extra_id, - { - 'queryParams': { - 'extra_id': node_id, - 'extra_type': 'folder' - } - } - ) + query_params + ); } } diff --git a/app/templates/authenticated/document.hbs b/app/templates/authenticated/document.hbs index ea82c27482da7a6edd8b5c84eca94e1413ddb3d9..a4e8dae1081251739d7f2a17c08415fb34c7ab62 100644 --- a/app/templates/authenticated/document.hbs +++ b/app/templates/authenticated/document.hbs @@ -6,7 +6,9 @@ @extradoc={{@mode.extra.doc}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} - @hint="left" /> + @hint="left" + @onSwapPanels={{this.onSwapPanels}} + @onDuplicatePanel={{this.onDuplicatePanel}} /> {{#if @model.extra}} {{#if @model.extra.doc}} @@ -17,7 +19,9 @@ @extradoc={{@model.doc}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} - @hint="right" /> + @hint="right" + @onSwapPanels={{this.onSwapPanels}} + @onDuplicatePanel={{this.onDuplicatePanel}} /> {{else}} <Commander @node={{@model.extra.current_node}} @@ -26,7 +30,9 @@ @extradoc={{@model.doc}} @onPanelToggle={{this.onPanelToggle}} @dualPanelMode={{this.dualpanel_mode}} - @hint="right" /> + @hint="right" + @onSwapPanels={{this.onSwapPanels}} + @onDuplicatePanel={{this.onDuplicatePanel}} /> {{/if}} {{/if}} </div>