summaryrefslogtreecommitdiff
path: root/src/client/app/admin
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-10-21 00:43:39 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-10-21 00:43:39 +0900
commit4c6c06c80afd3e2309b305f40c2e67e48863bf31 (patch)
treed9d24139b126867a3ff1f4e893175aea05ebd01e /src/client/app/admin
parentAdd ssl to elasticsearch config settings (#5527) (diff)
downloadsharkey-4c6c06c80afd3e2309b305f40c2e67e48863bf31.tar.gz
sharkey-4c6c06c80afd3e2309b305f40c2e67e48863bf31.tar.bz2
sharkey-4c6c06c80afd3e2309b305f40c2e67e48863bf31.zip
Improve emoji-picker (#5515)
* Improve emoji-picker * remove unimplanted translation * カテゴリのサジェスト * use unique
Diffstat (limited to 'src/client/app/admin')
-rw-r--r--src/client/app/admin/views/emoji.vue19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/client/app/admin/views/emoji.vue b/src/client/app/admin/views/emoji.vue
index 9f2f3a0c88..2925fcab57 100644
--- a/src/client/app/admin/views/emoji.vue
+++ b/src/client/app/admin/views/emoji.vue
@@ -8,6 +8,9 @@
<span>{{ $t('add-emoji.name') }}</span>
<template #desc>{{ $t('add-emoji.name-desc') }}</template>
</ui-input>
+ <ui-input v-model="category" :datalist="categoryList">
+ <span>{{ $t('add-emoji.category') }}</span>
+ </ui-input>
<ui-input v-model="aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
<template #desc>{{ $t('add-emoji.aliases-desc') }}</template>
@@ -24,7 +27,7 @@
<ui-card>
<template #title><fa :icon="faGrin"/> {{ $t('emojis.title') }}</template>
- <section v-for="emoji in emojis" class="oryfrbft">
+ <section v-for="emoji in emojis" :key="emoji.name" class="oryfrbft">
<div>
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
</div>
@@ -33,6 +36,9 @@
<ui-input v-model="emoji.name">
<span>{{ $t('add-emoji.name') }}</span>
</ui-input>
+ <ui-input v-model="emoji.category" :datalist="categoryList">
+ <span>{{ $t('add-emoji.category') }}</span>
+ </ui-input>
<ui-input v-model="emoji.aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
</ui-input>
@@ -55,12 +61,14 @@
import Vue from 'vue';
import i18n from '../../i18n';
import { faGrin } from '@fortawesome/free-regular-svg-icons';
+import { unique } from '../../../../prelude/array';
export default Vue.extend({
i18n: i18n('admin/views/emoji.vue'),
data() {
return {
name: '',
+ category: '',
url: '',
aliases: '',
emojis: [],
@@ -72,10 +80,17 @@ export default Vue.extend({
this.fetchEmojis();
},
+ computed: {
+ categoryList() {
+ return unique(this.emojis.map((x: any) => x.category || '').filter((x: string) => x !== ''));
+ }
+ },
+
methods: {
add() {
this.$root.api('admin/emoji/add', {
name: this.name,
+ category: this.category,
url: this.url,
aliases: this.aliases.split(' ').filter(x => x.length > 0)
}).then(() => {
@@ -94,7 +109,6 @@ export default Vue.extend({
fetchEmojis() {
this.$root.api('admin/emoji/list').then(emojis => {
- emojis.reverse();
for (const e of emojis) {
e.aliases = (e.aliases || []).join(' ');
}
@@ -106,6 +120,7 @@ export default Vue.extend({
this.$root.api('admin/emoji/update', {
id: emoji.id,
name: emoji.name,
+ category: emoji.category,
url: emoji.url,
aliases: emoji.aliases.split(' ').filter(x => x.length > 0)
}).then(() => {