aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2023-02-27 14:09:28 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2023-02-27 14:09:28 +0000
commit602c48d1fb1aded83cc59365f7bb2d1a375c51b3 (patch)
treeec247f37a44f507ca36f53b32bc99b847d74fcf1 /src
parenteec27700f0199e6f9cf478a4945d6939d28e5931 (diff)
parent5468309f6aefbc61467338d2a96f29d6c416cc54 (diff)
Merge branch 'tusooa/1250-autocomplete-select' into 'develop'
Make it possible to auto-select the first candidate in autocomplete Closes #1250 See merge request pleroma/pleroma-fe!1789
Diffstat (limited to 'src')
-rw-r--r--src/components/emoji_input/emoji_input.js5
-rw-r--r--src/components/settings_modal/tabs/general_tab.vue8
-rw-r--r--src/i18n/en.json1
-rw-r--r--src/modules/config.js3
-rw-r--r--src/modules/instance.js1
5 files changed, 16 insertions, 2 deletions
diff --git a/src/components/emoji_input/emoji_input.js b/src/components/emoji_input/emoji_input.js
index 8a8d098d..68654f69 100644
--- a/src/components/emoji_input/emoji_input.js
+++ b/src/components/emoji_input/emoji_input.js
@@ -134,6 +134,9 @@ const EmojiInput = {
padEmoji () {
return this.$store.getters.mergedConfig.padEmoji
},
+ defaultCandidateIndex () {
+ return this.$store.getters.mergedConfig.autocompleteSelect ? 0 : -1
+ },
preText () {
return this.modelValue.slice(0, this.caret)
},
@@ -287,7 +290,7 @@ const EmojiInput = {
...rest,
img: imageUrl || ''
}))
- this.highlighted = -1
+ this.highlighted = this.defaultCandidateIndex
this.$refs.screenReaderNotice.announce(
this.$tc('tool_tip.autocomplete_available',
this.suggestions.length,
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 703e94a0..65248ac1 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -501,6 +501,14 @@
{{ $t('settings.pad_emoji') }}
</BooleanSetting>
</li>
+ <li>
+ <BooleanSetting
+ path="autocompleteSelect"
+ expert="1"
+ >
+ {{ $t('settings.autocomplete_select_first') }}
+ </BooleanSetting>
+ </li>
</ul>
</div>
</div>
diff --git a/src/i18n/en.json b/src/i18n/en.json
index dba8a13f..6c9bc8e2 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -465,6 +465,7 @@
"domain_mutes": "Domains",
"avatar_size_instruction": "The recommended minimum size for avatar images is 150x150 pixels.",
"pad_emoji": "Pad emoji with spaces when adding from picker",
+ "autocomplete_select_first": "Automatically select the first candidate when autocomplete results are available",
"emoji_reactions_on_timeline": "Show emoji reactions on timeline",
"export_theme": "Save preset",
"filtering": "Filtering",
diff --git a/src/modules/config.js b/src/modules/config.js
index eb33f95f..3d9cf591 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -115,7 +115,8 @@ export const defaultState = {
conversationTreeAdvanced: undefined, // instance default
conversationOtherRepliesButton: undefined, // instance default
conversationTreeFadeAncestors: undefined, // instance default
- maxDepthInThread: undefined // instance default
+ maxDepthInThread: undefined, // instance default
+ autocompleteSelect: undefined // instance default
}
// caching the instance default properties
diff --git a/src/modules/instance.js b/src/modules/instance.js
index 16f72583..938ca64d 100644
--- a/src/modules/instance.js
+++ b/src/modules/instance.js
@@ -104,6 +104,7 @@ const defaultState = {
conversationOtherRepliesButton: 'below',
conversationTreeFadeAncestors: false,
maxDepthInThread: 6,
+ autocompleteSelect: false,
// Nasty stuff
customEmoji: [],