From 9701fb8388932dc9f84d75b4d95e571f424dafc3 Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Sun, 21 Nov 2021 07:26:53 +0100 Subject: [PATCH] UX feedback up file upload (show user uploadd document immediately as it is available) --- app/components/button/upload.js | 4 ++++ app/components/commander/action_buttons.hbs | 3 ++- app/components/commander/index.hbs | 1 + app/components/commander/index.js | 12 ++++++++++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/components/button/upload.js b/app/components/button/upload.js index 2f10ec2..d0e25d0 100644 --- a/app/components/button/upload.js +++ b/app/components/button/upload.js @@ -48,6 +48,10 @@ export default class UploadButtonComponent extends Component { node: this.args.node, lang: "deu" }).then((doc) => { + // notify commander component so that it + // can already show new document model to the user + this.args.onCreateDocumentModel(doc); + // continue with actual file upload this._uploadFile({doc, file}); }); diff --git a/app/components/commander/action_buttons.hbs b/app/components/commander/action_buttons.hbs index 037a828..e21ae35 100644 --- a/app/components/commander/action_buttons.hbs +++ b/app/components/commander/action_buttons.hbs @@ -37,7 +37,8 @@ {{else}} {{! No nodes are currently selected }} <Button::Upload - @node={{@node}} /> + @node={{@node}} + @onCreateDocumentModel={{@onCreateDocumentModel}} /> <button class="btn btn-success" diff --git a/app/components/commander/index.hbs b/app/components/commander/index.hbs index 39bd354..f7c8281 100644 --- a/app/components/commander/index.hbs +++ b/app/components/commander/index.hbs @@ -4,6 +4,7 @@ @openNewFolderModal={{this.openNewFolderModal}} @openRenameModal={{this.openRenameModal}} @openConfirmDeletionModal={{this.openConfirmDeletionModal}} + @onCreateDocumentModel={{this.onCreateDocumentModel}} @selectedNodes={{this.selected_nodes}} @node={{@node}} /> diff --git a/app/components/commander/index.js b/app/components/commander/index.js index 4821c48..d8cf35a 100644 --- a/app/components/commander/index.js +++ b/app/components/commander/index.js @@ -70,6 +70,18 @@ export default class CommanderComponent extends Component { this.__deleted_records = deleted_records; } + @action + onCreateDocumentModel(new_record) { + /* + Invoked by Upload component when new document model was created. + + Note that at this point in time, document's model is created + on serverside, however file was not (or have not been?) uploaded yet. + */ + this.new_records.push(new_record); + this.__new_record = new_record; // workaround of ember bug + } + @action onViewModeChange(new_view_mode) { this.view_mode = new_view_mode; -- GitLab