diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2018-12-09 14:24:24 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2018-12-09 14:24:24 +0900 |
| commit | 7e1cad3e1205d58159a2090d2e7de7588fe8bf07 (patch) | |
| tree | d3e278b027d5e71d3df14cbc9402b7d682887d4b /src/client | |
| parent | Merge pull request #3565 from syuilo/l10n_develop (diff) | |
| download | misskey-7e1cad3e1205d58159a2090d2e7de7588fe8bf07.tar.gz misskey-7e1cad3e1205d58159a2090d2e7de7588fe8bf07.tar.bz2 misskey-7e1cad3e1205d58159a2090d2e7de7588fe8bf07.zip | |
Improve tags settings (#3569)
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/app/common/views/components/ui/textarea.vue | 12 | ||||
| -rw-r--r-- | src/client/app/desktop/views/components/settings.tags.vue | 19 |
2 files changed, 24 insertions, 7 deletions
diff --git a/src/client/app/common/views/components/ui/textarea.vue b/src/client/app/common/views/components/ui/textarea.vue index 0bdd4aadd0..d265c7ac6d 100644 --- a/src/client/app/common/views/components/ui/textarea.vue +++ b/src/client/app/common/views/components/ui/textarea.vue @@ -1,5 +1,5 @@ <template> -<div class="ui-textarea" :class="{ focused, filled, tall }"> +<div class="ui-textarea" :class="{ focused, filled, tall, pre }"> <div class="input"> <span class="label" ref="label"><slot></slot></span> <textarea ref="input" @@ -46,6 +46,11 @@ export default Vue.extend({ required: false, default: false }, + pre: { + type: Boolean, + required: false, + default: false + }, }, data() { return { @@ -175,6 +180,11 @@ root(fill) > textarea min-height 200px + &.pre + > .input + > textarea + white-space pre + .ui-textarea.fill root(true) diff --git a/src/client/app/desktop/views/components/settings.tags.vue b/src/client/app/desktop/views/components/settings.tags.vue index 3edd5fdd99..3df4a6e64b 100644 --- a/src/client/app/desktop/views/components/settings.tags.vue +++ b/src/client/app/desktop/views/components/settings.tags.vue @@ -1,15 +1,15 @@ <template> <div class="vfcitkilproprqtbnpoertpsziierwzi"> - <div v-for="timeline in timelines" class="timeline"> + <div v-for="timeline in timelines" class="timeline" :key="timeline.id"> <ui-input v-model="timeline.title" @change="save"> <span>{{ $t('title') }}</span> </ui-input> - <ui-textarea :value="timeline.query ? timeline.query.map(tags => tags.join(' ')).join('\n') : ''" @input="onQueryChange(timeline, $event)"> + <ui-textarea :value="timeline.query ? timeline.query.map(tags => tags.join(' ')).join('\n') : ''" :pre="true" @input="onQueryChange(timeline, $event)"> <span>{{ $t('query') }}</span> </ui-textarea> - <ui-button class="save" @click="save">{{ $t('save') }}</ui-button> </div> <ui-button class="add" @click="add">{{ $t('add') }}</ui-button> + <ui-button class="save" @click="save">{{ $t('save') }}</ui-button> </div> </template> @@ -33,12 +33,19 @@ export default Vue.extend({ title: '', query: '' }); - - this.save(); }, save() { - this.$store.dispatch('settings/set', { key: 'tagTimelines', value: this.timelines }); + const timelines = this.timelines + .filter(timeline => timeline.title) + .map(timeline => { + if (!(timeline.query && timeline.query[0] && timeline.query[0][0])) { + timeline.query = timeline.title.split('\n').map(tags => tags.split(' ')); + } + return timeline; + }); + + this.$store.dispatch('settings/set', { key: 'tagTimelines', value: timelines }); }, onQueryChange(timeline, value) { |