logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe
commit: dfecbe0ab741d3e892c109770a4898c79e165e3c
parent: 295becd6c8cf8d6f628be74a14d8f28361c1923a
Author: HJ <spam@hjkos.com>
Date:   Thu, 14 Feb 2019 19:09:32 +0000

Merge branch 'revert-295becd6' into 'develop'

Revert "Merge branch 'hotfix/issues-in-autocomplete' into 'develop'"

See merge request pleroma/pleroma-fe!580

Diffstat:

Msrc/components/autocomplete_input/autocomplete_input.js12+++++++-----
Msrc/components/autocomplete_input/autocomplete_input.vue28++++++++++++++--------------
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 @@ -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 @@ -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()"> </textarea> <input v-else ref="textarea" - :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" @@ -31,11 +31,11 @@ @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()"/> <div style="position:relative;" v-if="candidates"> <div class="autocomplete-panel"> <div v-for="candidate in candidates" @click="replace(candidate.utf || (candidate.screen_name + ' '))">