mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 06:07:21 +01:00
fix(teams): make selectSingle workflows functional
This commit is contained in:
@@ -301,6 +301,7 @@ export default {
|
|||||||
taskEdited (task) {
|
taskEdited (task) {
|
||||||
const index = findIndex(this.tasksByType[task.type], taskItem => taskItem._id === task._id);
|
const index = findIndex(this.tasksByType[task.type], taskItem => taskItem._id === task._id);
|
||||||
this.tasksByType[task.type].splice(index, 1, task);
|
this.tasksByType[task.type].splice(index, 1, task);
|
||||||
|
this.loadTasks();
|
||||||
},
|
},
|
||||||
taskDestroyed (task) {
|
taskDestroyed (task) {
|
||||||
const index = findIndex(this.tasksByType[task.type], taskItem => taskItem._id === task._id);
|
const index = findIndex(this.tasksByType[task.type], taskItem => taskItem._id === task._id);
|
||||||
|
|||||||
@@ -24,6 +24,11 @@
|
|||||||
v-markdown="allItemsMap[selectedItem].name"
|
v-markdown="allItemsMap[selectedItem].name"
|
||||||
class="label"
|
class="label"
|
||||||
></div>
|
></div>
|
||||||
|
<div
|
||||||
|
v-else
|
||||||
|
>
|
||||||
|
{{ emptyMessage }}
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div
|
<div
|
||||||
v-if="addNew || availableToSelect.length > 0"
|
v-if="addNew || availableToSelect.length > 0"
|
||||||
@@ -211,21 +216,19 @@ export default {
|
|||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
selectedItemAsObject () {
|
selectedItemAsObject () {
|
||||||
return this.selected ? this.allItemsMap[this.selected] : null;
|
return this.selectedItem ? this.allItemsMap[this.selectedItem] : null;
|
||||||
},
|
},
|
||||||
availableToSelect () {
|
availableToSelect () {
|
||||||
const availableItems = this.allItems.filter(t => t.id !== this.selected);
|
|
||||||
|
|
||||||
const searchString = this.search.toLowerCase();
|
const searchString = this.search.toLowerCase();
|
||||||
|
|
||||||
const filteredItems = availableItems.filter(i => i.name.toLowerCase().includes(searchString));
|
const filteredItems = this.allItems.filter(i => i.name.toLowerCase().includes(searchString));
|
||||||
|
|
||||||
return filteredItems;
|
return filteredItems;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
selected () {
|
selected () {
|
||||||
this.$emit('changed', this.selected);
|
this.$emit('changed', this.selectedItem);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
@@ -253,14 +256,13 @@ export default {
|
|||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
closeIfOpen () {
|
|
||||||
this.closeSelectPopup();
|
|
||||||
},
|
|
||||||
selectItem (item) {
|
selectItem (item) {
|
||||||
this.$emit('toggle', item.id);
|
if (item.id === this.selectedItem) {
|
||||||
},
|
this.$emit('toggle', null);
|
||||||
removeItem () {
|
} else {
|
||||||
this.$emit('toggle', null);
|
this.$emit('toggle', item.id);
|
||||||
|
}
|
||||||
|
this.closeSelectPopup();
|
||||||
},
|
},
|
||||||
hideCallback ($event) {
|
hideCallback ($event) {
|
||||||
if (this.preventHide) {
|
if (this.preventHide) {
|
||||||
|
|||||||
@@ -1489,20 +1489,23 @@ export default {
|
|||||||
this.$emit('cancel');
|
this.$emit('cancel');
|
||||||
},
|
},
|
||||||
async toggleAssignment (memberId) {
|
async toggleAssignment (memberId) {
|
||||||
if (this.purpose === 'create') {
|
if (this.purpose !== 'create') {
|
||||||
return;
|
if (this.assignedMember === null) {
|
||||||
}
|
await this.$store.dispatch('tasks:unassignTask', {
|
||||||
|
taskId: this.task._id,
|
||||||
|
userId: memberId,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
await this.$store.dispatch('tasks:unassignTask', {
|
||||||
|
taskId: this.task._id,
|
||||||
|
userId: this.assignedMember,
|
||||||
|
});
|
||||||
|
|
||||||
if (this.assignedMember === null) {
|
await this.$store.dispatch('tasks:assignTask', {
|
||||||
await this.$store.dispatch('tasks:unassignTask', {
|
taskId: this.task._id,
|
||||||
taskId: this.task._id,
|
userId: memberId,
|
||||||
userId: memberId,
|
});
|
||||||
});
|
}
|
||||||
} else {
|
|
||||||
await this.$store.dispatch('tasks:assignTask', {
|
|
||||||
taskId: this.task._id,
|
|
||||||
userId: memberId,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.assignedMember = memberId;
|
this.assignedMember = memberId;
|
||||||
|
|||||||
Reference in New Issue
Block a user