diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/ArticleSettings.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/ArticleSettings.vue index 773945e15..a8de55770 100644 --- a/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/ArticleSettings.vue +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/ArticleSettings.vue @@ -87,6 +87,9 @@ track-by="name" :multiple="true" :taggable="true" + :close-on-select="false" + @search-change="handleSearchChange" + @close="onBlur" @tag="addTagValue" /> @@ -136,6 +139,7 @@ export default { metaDescription: '', metaTags: [], metaOptions: [], + tagInputValue: '', }; }, computed: { @@ -184,13 +188,22 @@ export default { })); }, addTagValue(tagValue) { - const tag = { - name: tagValue, - }; - this.metaTags.push(tag); - this.$refs.tagInput.$el.focus(); + const tags = tagValue + .split(',') + .map(tag => tag.trim()) + .filter(tag => tag && !this.allTags.includes(tag)); + + this.metaTags.push(...this.formattedTags({ tags: [...new Set(tags)] })); this.saveArticle(); }, + handleSearchChange(value) { + this.tagInputValue = value; + }, + onBlur() { + if (this.tagInputValue) { + this.addTagValue(this.tagInputValue); + } + }, onClickSelectCategory({ id }) { this.$emit('save-article', { category_id: id }); },