Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions src/dispatch/static/dispatch/src/tag/TagPicker.vue
Original file line number Diff line number Diff line change
Expand Up @@ -182,10 +182,15 @@ const props = defineProps({
default: false,
},
})
const currentProject = ref(props.project)

watch(
() => props.project,
() => {
(newVal) => {
if (newVal === currentProject.value) {
return
}
currentProject.value = newVal
fetchData()
validateTags(selectedItems.value)
}
Expand All @@ -208,6 +213,9 @@ function are_required_tags_selected(sel) {
}

const fetchData = () => {
if (!currentProject.value) {
return
}
loading.value = true

let filterOptions = {
Expand All @@ -219,16 +227,9 @@ const fetchData = () => {

let filters = {}

if (props.project) {
if (Array.isArray(props.project)) {
if (props.project.length > 0) {
filters["project"] = props.project
}
} else {
filters["project"] = [props.project]
}
validateTags(selectedItems.value)
}
filters["project"] = [
{ model: "Project", field: "name", op: "==", value: currentProject.value.name },
]

// add a filter to only return discoverable tags
filters["tagFilter"] = [{ model: "Tag", field: "discoverable", op: "==", value: "true" }]
Expand Down Expand Up @@ -285,12 +286,12 @@ onMounted(fetchData)
const emit = defineEmits(["update:modelValue"])

function validateTags(value) {
const project_id = props.project?.id || 0
const project_id = currentProject.value?.id || 0
var all_tags_in_project = false
if (project_id) {
all_tags_in_project = value.every((tag) => tag.project?.id == project_id)
} else {
const project_name = props.project?.name
const project_name = currentProject.value?.name
if (!project_name) {
error.value = true
dummyText.value += " "
Expand Down
Loading