summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-01-14 15:40:42 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2020-01-16 00:00:19 +0100
commit9a0fa63a5c1f8fa6bb4ce21fd77de55c66aaacbf (patch)
tree60b9bd86df61ae8d162743fb904436261eda6b91 /apps/files_sharing/src
parent3d03d820262cbc75e1356a58d3ef13fac45bcc8c (diff)
downloadnextcloud-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.vue17
-rw-r--r--apps/files_sharing/src/components/SharingEntryLink.vue15
-rw-r--r--apps/files_sharing/src/mixins/SharesMixin.js19
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