add category context menu

This commit is contained in:
smilerz
2022-01-04 14:00:01 -06:00
parent 25c1689ca0
commit 214db80dac
11 changed files with 74 additions and 44 deletions

View File

@@ -26,7 +26,7 @@
<div class="m-0 text-truncate">{{ item[subtitle] }}</div>
<div class="m-0 text-truncate small text-muted" v-if="getFullname">{{ getFullname }}</div>
<generic-pill v-for="x in itemTags" :key="x.field" :item_list="item[x.field]" :label="x.label" :color="x.color" />
<generic-pill v-for="x in itemTags" :key="x.field" :item_list="itemList(x)" :label="x.label" :color="x.color" />
<generic-ordered-pill
v-for="x in itemOrderedTags"
:key="x.field"
@@ -259,6 +259,14 @@ export default {
finishAction: function (e) {
this.$emit("finish-action", e)
},
itemList: function (tag) {
let itemlist = this.item?.[tag?.field] ?? []
if (Array.isArray(itemlist)) {
return itemlist
} else {
return [itemlist]
}
},
},
}
</script>

View File

@@ -10,7 +10,7 @@
export default {
name: "GenericPill",
props: {
item_list: { type: Object },
item_list: { type: Array },
label: { type: String, default: "name" },
color: { type: String, default: "light" },
},

View File

@@ -108,7 +108,7 @@ export default {
this.shop = false // don't check any boxes until user selects a shopping list to edit
if (count_shopping_ingredient >= 1) {
this.shopping_status = true // ingredient is in the shopping list - probably (but not definitely, this ingredient)
} else if (this.ingredient.food.shopping) {
} else if (this.ingredient?.food?.shopping) {
this.shopping_status = null // food is in the shopping list, just not for this ingredient/recipe
} else {
// food is not in any shopping list
@@ -123,7 +123,7 @@ export default {
if (count_shopping_ingredient >= 1) {
// ingredient is in this shopping list (not entirely sure how this could happen?)
this.shopping_status = true
} else if (count_shopping_ingredient == 0 && this.ingredient.food.shopping) {
} else if (count_shopping_ingredient == 0 && this.ingredient?.food?.shopping) {
// food is in the shopping list, just not for this ingredient/recipe
this.shopping_status = null
} else {