From ee4c6f362b286e1306b89e036a48ebc79589d056 Mon Sep 17 00:00:00 2001 From: HJ Date: Thu, 14 Feb 2019 19:05:59 +0000 Subject: [PATCH] Revert "Merge branch 'hotfix/issues-in-autocomplete' into 'develop'" This reverts merge request !574 --- .../autocomplete_input/autocomplete_input.js | 12 ++++---- .../autocomplete_input/autocomplete_input.vue | 28 +++++++++---------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/components/autocomplete_input/autocomplete_input.js b/src/components/autocomplete_input/autocomplete_input.js index 1544e7bb..404a8cdb 100644 --- a/src/components/autocomplete_input/autocomplete_input.js +++ b/src/components/autocomplete_input/autocomplete_input.js @@ -24,7 +24,8 @@ const AutoCompleteInput = { data () { return { caret: 0, - highlighted: 0 + highlighted: 0, + text: this.value } }, computed: { @@ -41,7 +42,7 @@ const AutoCompleteInput = { return (this.wordAtCaret || {}).word || '' }, wordAtCaret () { - const word = Completion.wordAtPosition(this.value, this.caret - 1) || {} + const word = Completion.wordAtPosition(this.text, this.caret - 1) || {} return word }, candidates () { @@ -112,8 +113,8 @@ const AutoCompleteInput = { } }, replace (replacement) { - this.$emit('input', Completion.replaceWord(this.value, this.wordAtCaret, replacement)) - const el = this.$el.querySelector('textarea') || this.$el.querySelector('input') + this.text = Completion.replaceWord(this.text, this.wordAtCaret, replacement) + const el = this.$el.querySelector('textarea') el.focus() this.caret = 0 }, @@ -124,7 +125,8 @@ const AutoCompleteInput = { e.preventDefault() const candidate = this.candidates[this.highlighted] const replacement = candidate.utf || (candidate.screen_name + ' ') - this.$emit('input', Completion.replaceWord(this.value, this.wordAtCaret, replacement)) + this.text = Completion.replaceWord(this.text, this.wordAtCaret, replacement) + this.$emit('input', this.text) const el = this.$el.querySelector('textarea') || this.$el.querySelector('input') el.focus() this.caret = 0 diff --git a/src/components/autocomplete_input/autocomplete_input.vue b/src/components/autocomplete_input/autocomplete_input.vue index 1e26b76b..56233535 100644 --- a/src/components/autocomplete_input/autocomplete_input.vue +++ b/src/components/autocomplete_input/autocomplete_input.vue @@ -4,8 +4,8 @@ v-if="multiline" ref="textarea" rows="1" - :value="value" :class="classObj" :id="id" :placeholder="placeholder" - @input="$emit('input', $event.target.value), autoResize && resize($event)" + :value="text" :class="classObj" :id="id" :placeholder="placeholder" + @input="text = $event.target.value, $emit('input', $event.target.value), autoResize && resize($event)" @click="setCaret" @keyup="setCaret" @keydown.down="cycleForward" @@ -13,17 +13,17 @@ @keydown.shift.tab="cycleBackward" @keydown.tab="cycleForward" @keydown.enter="replaceCandidate" - @drop="drop && drop($event)" - @dragover.prevent="dragoverPrevent && dragoverPrevent($event)" - @paste="paste && paste($event)" - @keydown.meta.enter="keydownMetaEnter && keydownMetaEnter($event)" - @keyup.ctrl.enter="keyupCtrlEnter && keyupCtrlEnter($event)"> + @drop="drop && drop()" + @dragover.prevent="dragoverPrevent && dragoverPrevent()" + @paste="paste && paste()" + @keydown.meta.enter="keydownMetaEnter && keydownMetaEnter()" + @keyup.ctrl.enter="keyupCtrlEnter && keyupCtrlEnter()"> + @drop="drop && drop()" + @dragover.prevent="dragoverPrevent && dragoverPrevent()" + @paste="paste && paste()" + @keydown.meta.enter="keydownMetaEnter && keydownMetaEnter()" + @keyup.ctrl.enter="keyupCtrlEnter && keyupCtrlEnter()"/>