diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2020-01-14 15:40:42 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2020-01-16 00:00:19 +0100 |
commit | 9a0fa63a5c1f8fa6bb4ce21fd77de55c66aaacbf (patch) | |
tree | 60b9bd86df61ae8d162743fb904436261eda6b91 /apps/files_sharing/src | |
parent | 3d03d820262cbc75e1356a58d3ef13fac45bcc8c (diff) | |
download | nextcloud-server-9a0fa63a5c1f8fa6bb4ce21fd77de55c66aaacbf.tar.gz nextcloud-server-9a0fa63a5c1f8fa6bb4ce21fd77de55c66aaacbf.zip |
Do not save on update, use submit
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r-- | apps/files_sharing/src/components/SharingEntry.vue | 17 | ||||
-rw-r--r-- | apps/files_sharing/src/components/SharingEntryLink.vue | 15 | ||||
-rw-r--r-- | apps/files_sharing/src/mixins/SharesMixin.js | 19 |
3 files changed, 41 insertions, 10 deletions
diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue index ff6e8bcae77..ee944a76258 100644 --- a/apps/files_sharing/src/components/SharingEntry.vue +++ b/apps/files_sharing/src/components/SharingEntry.vue @@ -29,7 +29,10 @@ <div v-tooltip.auto="tooltip" class="sharing-entry__desc"> <h5>{{ title }}</h5> </div> - <Actions menu-align="right" class="sharing-entry__actions"> + <Actions + menu-align="right" + class="sharing-entry__actions" + @close="onMenuClose"> <template v-if="share.canEdit"> <!-- edit permission --> <ActionCheckbox @@ -114,9 +117,10 @@ }" :class="{ error: errors.note}" :disabled="saving" - :value.sync="share.note" + :value="share.newNote || share.note" icon="icon-edit" - @update:value="debounceQueueUpdate('note')" /> + @update:value="onNoteChange" + @submit="onNoteSubmit" /> </template> </template> @@ -303,6 +307,13 @@ export default { this.share.permissions = permissions this.queueUpdate('permissions') }, + + /** + * Save potential changed data on menu close + */ + onMenuClose() { + this.onNoteSubmit() + }, }, } </script> diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue index ea0f064a21d..45565ab22cb 100644 --- a/apps/files_sharing/src/components/SharingEntryLink.vue +++ b/apps/files_sharing/src/components/SharingEntryLink.vue @@ -121,7 +121,7 @@ class="sharing-entry__actions" menu-align="right" :open.sync="open" - @close="onPasswordSubmit"> + @close="onMenuClose"> <template v-if="share"> <template v-if="share.canEdit"> <!-- folder --> @@ -252,9 +252,10 @@ :class="{ error: errors.note}" :disabled="saving" :placeholder="t('files_sharing', 'Enter a note for the share recipient')" - :value="share.note" + :value="share.newNote || share.note" icon="icon-edit" - @update:value="onNoteChange" /> + @update:value="onNoteChange" + @submit="onNoteSubmit" /> </template> <!-- external sharing via url (social...) --> @@ -778,6 +779,14 @@ export default { }, /** + * Save potential changed data on menu close + */ + onMenuClose() { + this.onPasswordSubmit() + this.onNoteSubmit() + }, + + /** * Cancel the share creation * Used in the pending popover */ diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js index 19b2a9a6875..2622edaf5e2 100644 --- a/apps/files_sharing/src/mixins/SharesMixin.js +++ b/apps/files_sharing/src/mixins/SharesMixin.js @@ -183,14 +183,25 @@ export default { }, /** + * Note changed, let's save it to a different key + * @param {String} note the share note + */ + onNoteChange(note) { + this.$set(this.share, 'newNote', note.trim()) + }, + + /** * When the note change, we trim, save and dispatch * * @param {string} note the note */ - onNoteChange: debounce(function(note) { - this.share.note = note.trim() - this.queueUpdate('note') - }, 500), + onNoteSubmit() { + if (this.share.newNote) { + this.share.note = this.share.newNote + this.$delete(this.share, 'newNote') + this.queueUpdate('note') + } + }, /** * Delete share button handler |