Fixed issues
This commit is contained in:
@@ -50,7 +50,7 @@
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>Uhrzeit</th>
|
||||
<th>Aktivität</th>
|
||||
<th>Länge / Gesamtzeit (Min)</th>
|
||||
@@ -76,7 +76,7 @@
|
||||
<div v-for="activity in filteredPredefinedActivities" :key="activity.id"
|
||||
@click="selectPredefinedActivity(activity)">
|
||||
{{ activity.name }} ({{ activity.durationText || '' }} / {{
|
||||
activity.duration }} Minuten)
|
||||
activity.duration }} Minuten)
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -106,14 +106,15 @@
|
||||
<h3>Aktivitäten</h3>
|
||||
<textarea v-model="newActivity"></textarea>
|
||||
<button @click="addActivity">Aktivität hinzufügen</button>
|
||||
<multiselect v-model="selectedActivityTags" :options="availableTags" placeholder="Tags auswählen"
|
||||
label="name" track-by="id" multiple :close-on-select="true" @tag="addNewTag"
|
||||
@remove="removeActivityTag" @input="updateActivityTags" :allow-empty="false" />
|
||||
<ul>
|
||||
<li v-for="activity in activities" :key="activity.id">
|
||||
{{ activity.description }}
|
||||
</li>
|
||||
</ul>
|
||||
<multiselect v-model="selectedActivityTags" :options="availableTags" placeholder="Tags auswählen"
|
||||
label="name" track-by="id" multiple :close-on-select="true" @tag="addNewTag"
|
||||
@remove="removeActivityTag" @input="updateActivityTags" :allow-empty="false"
|
||||
@keydown.enter.prevent="addNewTagFromInput" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -124,7 +125,8 @@
|
||||
<h3>Notizen für {{ selectedMember.firstName }} {{ selectedMember.lastName }}</h3>
|
||||
<multiselect v-model="selectedMemberTags" :options="availableTags" placeholder="Tags auswählen"
|
||||
label="name" track-by="id" multiple :close-on-select="true" @tag="addNewTagForMember"
|
||||
@remove="removeMemberTag" @input="updateMemberTags" :allow-empty="false" />
|
||||
@remove="removeMemberTag" @input="updateMemberTags" :allow-empty="false"
|
||||
@keydown.enter.prevent="addNewTagForMemberFromInput" />
|
||||
<div>
|
||||
<textarea v-model="newNoteContent" placeholder="Neue Notiz" rows="4" cols="30"></textarea>
|
||||
<button @click="addMemberNote">Hinzufügen</button>
|
||||
@@ -381,6 +383,12 @@ export default {
|
||||
closeNotesModal() {
|
||||
this.showNotesModal = false;
|
||||
},
|
||||
async addNewTagFromInput(event) {
|
||||
const inputValue = event.target.value.trim();
|
||||
if (inputValue) {
|
||||
await this.addNewTag(inputValue);
|
||||
}
|
||||
},
|
||||
async addNewTag(newTagName) {
|
||||
try {
|
||||
const response = await apiClient.post('/tags', { name: newTagName });
|
||||
@@ -392,13 +400,19 @@ export default {
|
||||
alert('Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.');
|
||||
}
|
||||
},
|
||||
async addNewTagForMemberFromInput(event) {
|
||||
const inputValue = event.target.value.trim();
|
||||
if (inputValue) {
|
||||
await this.addNewTagForMember(inputValue);
|
||||
}
|
||||
},
|
||||
async addNewTagForMember(newTagName) {
|
||||
try {
|
||||
const response = await apiClient.post('/tags', { name: newTagName });
|
||||
const newTag = response.data;
|
||||
this.availableTags.push(newTag);
|
||||
this.selectedMemberTags.push(newTag);
|
||||
await this.linkTagToMemberAndDate(newTag.id);
|
||||
await this.linkTagToMemberAndDate(newTag);
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Hinzufügen eines neuen Tags für das Mitglied:', error);
|
||||
alert('Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.');
|
||||
@@ -429,27 +443,35 @@ export default {
|
||||
alert('Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.');
|
||||
}
|
||||
},
|
||||
async updateActivityTags(selectedTags) {
|
||||
async updateActivityTags() {
|
||||
try {
|
||||
const selectedTags = this.selectedActivityTags;
|
||||
|
||||
if (!selectedTags || !Array.isArray(selectedTags)) {
|
||||
console.log(typeof selectedTags, JSON.stringify(selectedTags));
|
||||
throw new TypeError('Expected selectedTags to be an array');
|
||||
}
|
||||
|
||||
for (let tag of selectedTags) {
|
||||
if (!this.previousActivityTags.includes(tag)) {
|
||||
await this.linkTagToDiaryDate(tag);
|
||||
}
|
||||
}
|
||||
|
||||
this.previousActivityTags = [...selectedTags];
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Verknüpfen der Tags mit dem Trainingstag:', error);
|
||||
alert('Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.');
|
||||
}
|
||||
},
|
||||
async updateMemberTags(selectedTags) {
|
||||
async updateMemberTags() {
|
||||
try {
|
||||
for (let tag of selectedTags) {
|
||||
for (let tag of this.selectedMemberTags) {
|
||||
if (!this.previousMemberTags.includes(tag)) {
|
||||
await this.linkTagToMemberAndDate(tag);
|
||||
}
|
||||
}
|
||||
this.previousMemberTags = [...selectedTags];
|
||||
this.previousMemberTags = [...this.selectedMemberTags];
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Verknüpfen der Tags mit dem Mitglied und Datum:', error);
|
||||
alert('Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.');
|
||||
|
||||
Reference in New Issue
Block a user