From 103d69502d686fc47c5826433456b1c5a7360af5 Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Sat, 29 Jan 2022 07:44:41 +0100 Subject: [PATCH] downloading an archive with OCRed documents - works! --- app/components/button/download.hbs | 11 +++++++++++ app/components/commander/action_buttons.hbs | 20 ++++++-------------- app/components/commander/action_buttons.js | 11 +++++++++-- app/components/commander/index.js | 4 ++-- 4 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 app/components/button/download.hbs diff --git a/app/components/button/download.hbs b/app/components/button/download.hbs new file mode 100644 index 0000000..8398150 --- /dev/null +++ b/app/components/button/download.hbs @@ -0,0 +1,11 @@ +<button + class="btn btn-success" + {{on "click" @onDownloadNodes}} + type="button"> + {{#if @inProgress }} + <Spinner @inProgress={{@inProgress}} /> + {{else}} + <i class="fa fa-download"></i> + {{/if}} + Download +</button> \ No newline at end of file diff --git a/app/components/commander/action_buttons.hbs b/app/components/commander/action_buttons.hbs index e4bf903..7a48b35 100644 --- a/app/components/commander/action_buttons.hbs +++ b/app/components/commander/action_buttons.hbs @@ -7,13 +7,9 @@ <i class="fa fa-edit"></i> Rename </button> - <button - class="btn btn-success" - {{on "click" this.onDownloadNodes}} - type="button"> - <i class="fa fa-download"></i> - Download - </button> + <Button::Download + @inProgress={{this.download_in_progress}} + @onDownloadNodes={{this.onDownloadNodes}} /> <button class="btn btn-danger mx-5" type="button" @@ -22,13 +18,9 @@ Delete </button> {{else if this.multiple_nodes_selected}} - <button - class="btn btn-success" - {{on "click" this.onDownloadNodes}} - type="button"> - <i class="fa fa-download"></i> - Download - </button> + <Button::Download + @inProgress={{this.download_in_progress}} + @onDownloadNodes={{this.onDownloadNodes}} /> <button class="btn btn-danger mx-5" type="button" diff --git a/app/components/commander/action_buttons.js b/app/components/commander/action_buttons.js index d0ac8f0..c32c086 100644 --- a/app/components/commander/action_buttons.js +++ b/app/components/commander/action_buttons.js @@ -1,5 +1,6 @@ import Component from '@glimmer/component'; import { action } from '@ember/object'; +import { tracked } from '@glimmer/tracking'; export default class ActionButtonsComponent extends Component { @@ -11,6 +12,9 @@ export default class ActionButtonsComponent extends Component { folder whose content is currenlty being displayed `selectedNodes` - array of selected nodes */ + @tracked download_in_progress = false; + + get one_node_selected() { return this.args.selectedNodes.length === 1; } @@ -27,9 +31,12 @@ export default class ActionButtonsComponent extends Component { } @action - onDownloadNodes() { - this.args.onDownloadNodes( + async onDownloadNodes() { + this.download_in_progress = true; + await this.args.onDownloadNodes( this.args.selectedNodes ); + this.download_in_progress = false; } + } diff --git a/app/components/commander/index.js b/app/components/commander/index.js index bcf6270..902c568 100644 --- a/app/components/commander/index.js +++ b/app/components/commander/index.js @@ -2,7 +2,7 @@ import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { A } from '@ember/array'; import { action } from '@ember/object'; -import { inject as service } from '@ember/service'; +import { service } from '@ember/service'; export default class CommanderComponent extends Component { @@ -180,7 +180,7 @@ export default class CommanderComponent extends Component { @action onDownloadNodes(selected_nodes) { - this.requests.downloadNodes(selected_nodes); + return this.requests.downloadNodes(selected_nodes); } @action -- GitLab