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>
This commit is contained in:
John Molakvoæ (skjnldsv) 2020-01-14 15:40:42 +01:00 committed by Roeland Jago Douma
parent 3d03d82026
commit 9a0fa63a5c
No known key found for this signature in database
GPG key ID: F941078878347C0C
7 changed files with 41 additions and 10 deletions

Binary file not shown.

Binary file not shown.

View file

@ -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>

View file

@ -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...) -->
@ -777,6 +778,14 @@ export default {
}
},
/**
* Save potential changed data on menu close
*/
onMenuClose() {
this.onPasswordSubmit()
this.onNoteSubmit()
},
/**
* Cancel the share creation
* Used in the pending popover

View file

@ -182,15 +182,26 @@ export default {
this.queueUpdate('expireDate')
},
/**
* 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