Refactor adding tags to an event

Also refactor extracting tags from content, now uses Pleroma's Formatter

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2019-07-26 11:30:28 +02:00
parent 845d6ff857
commit 6d80bf43ea
23 changed files with 1543 additions and 864 deletions

View File

@@ -6,10 +6,14 @@
<div v-if="$apollo.loading">Loading...</div>
<div class="columns is-centered" v-else>
<form class="column is-two-thirds-desktop" @submit="createEvent">
<picture-upload v-model="pictureFile" />
<b-field :label="$gettext('Title')">
<b-input aria-required="true" required v-model="event.title" maxlength="64" />
</b-field>
<tag-input v-model="event.tags" :data="tags" path="title" />
<date-time-picker v-model="event.beginsOn" :label="$gettext('Starts on…')" :step="15"/>
<date-time-picker v-model="event.endsOn" :label="$gettext('Ends on…')" :step="15" />
@@ -28,8 +32,6 @@
</b-select>
</b-field>
<picture-upload v-model="pictureFile" />
<button class="button is-primary">
<translate>Create my event</translate>
</button>
@@ -52,13 +54,19 @@ import { IPerson, Person } from '@/types/actor';
import PictureUpload from '@/components/PictureUpload.vue';
import Editor from '@/components/Editor.vue';
import DateTimePicker from '@/components/Event/DateTimePicker.vue';
import TagInput from '@/components/Event/TagInput.vue';
import { TAGS } from '@/graphql/tags';
import { ITag } from '@/types/tag.model';
@Component({
components: { DateTimePicker, PictureUpload, Editor },
components: { TagInput, DateTimePicker, PictureUpload, Editor },
apollo: {
loggedPerson: {
query: LOGGED_PERSON,
},
tags: {
query: TAGS,
},
},
})
export default class CreateEvent extends Vue {
@@ -123,11 +131,12 @@ export default class CreateEvent extends Vue {
* Transform general variables
*/
let pictureObj = {};
let obj = {
const obj = {
organizerActorId: this.loggedPerson.id,
beginsOn: this.event.beginsOn.toISOString(),
tags: this.event.tags.map((tag: ITag) => tag.title),
};
let res = Object.assign({}, this.event, obj);
const res = Object.assign({}, this.event, obj);
/**
* Transform picture files