From 1a948d713fd69121307408693578cc7614864ef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Thu, 9 Jan 2020 11:50:56 +0100 Subject: [PATCH 1/2] Fix sharing note placeholder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- .../src/components/SharingEntryLink.vue | 6 +++--- apps/files_sharing/src/mixins/SharesMixin.js | 20 ++++++++++++++----- apps/files_sharing/src/models/Share.js | 4 ++-- .../src/views/SharingLinkList.vue | 2 +- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue index 3c54a3f8ae..cb02e289b7 100644 --- a/apps/files_sharing/src/components/SharingEntryLink.vue +++ b/apps/files_sharing/src/components/SharingEntryLink.vue @@ -242,9 +242,9 @@ }" :class="{ error: errors.note}" :disabled="saving" - :value.sync="share.note" + :value="share.note" icon="icon-edit" - @update:value="debounceQueueUpdate('note')" /> + @update:value="onNoteChange" /> @@ -733,7 +733,7 @@ export default { */ onPasswordSubmit() { if (this.hasUnsavedPassword) { - this.share.password = this.share.newPassword + this.share.password = this.share.newPassword.trim() this.queueUpdate('password') } }, diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js index c8ffbd6f5c..19b2a9a687 100644 --- a/apps/files_sharing/src/mixins/SharesMixin.js +++ b/apps/files_sharing/src/mixins/SharesMixin.js @@ -88,12 +88,12 @@ export default { */ hasNote: { get: function() { - return !!this.share.note + return this.share.note !== '' }, set: function(enabled) { this.share.note = enabled - ? t('files_sharing', 'Enter a note for the share recipient') - : '' + ? null // enabled but user did not changed the content yet + : '' // empty = no note = disabled }, }, @@ -117,10 +117,10 @@ export default { // fallback to default in case of unavailable data return { days: window.dayNamesShort - ? window.dayNamesShort // provided by nextcloud + ? window.dayNamesShort // provided by nextcloud : ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'], months: window.monthNamesShort - ? window.monthNamesShort // provided by nextcloud + ? window.monthNamesShort // provided by nextcloud : ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'], placeholder: { date: 'Select Date', // TODO: Translate @@ -182,6 +182,16 @@ export default { this.queueUpdate('expireDate') }, + /** + * 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), + /** * Delete share button handler */ diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js index 13b68ad68b..35a9511954 100644 --- a/apps/files_sharing/src/models/Share.js +++ b/apps/files_sharing/src/models/Share.js @@ -250,7 +250,7 @@ export default class Share { * @memberof Share */ set note(note) { - this.#share.note = note.trim() + this.#share.note = note } /** @@ -303,7 +303,7 @@ export default class Share { * @memberof Share */ set password(password) { - this.#share.password = password.trim() + this.#share.password = password } // SHARED ITEM DATA --------------------------------------------- diff --git a/apps/files_sharing/src/views/SharingLinkList.vue b/apps/files_sharing/src/views/SharingLinkList.vue index 20789f7211..1fcfbecd4c 100644 --- a/apps/files_sharing/src/views/SharingLinkList.vue +++ b/apps/files_sharing/src/views/SharingLinkList.vue @@ -21,7 +21,7 @@ -->