fixed some exports

This commit is contained in:
vabene1111 2024-01-23 17:49:03 +01:00
parent c118dca2c0
commit 5842022d0a
2 changed files with 23 additions and 34 deletions

View File

@ -16,13 +16,13 @@
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="downloadShoppingLink">
<DownloadPDF dom="#shoppinglist" name="shopping.pdf" :label="$t('download_pdf')"
icon="far fa-file-pdf"/>
<DownloadCSV :items="csvData" :delim="user_preference_store.user_settings.csv_delim"
<DownloadCSV :items="shopping_list_store.get_flat_entries" :delim="user_preference_store.user_settings.csv_delim"
name="shopping.csv"
:label="$t('download_csv')" icon="fas fa-file-csv"/>
<CopyToClipboard :items="csvData" :settings="user_preference_store.user_settings"
<CopyToClipboard :items="shopping_list_store.get_flat_entries" :settings="user_preference_store.user_settings"
:label="$t('copy_to_clipboard')"
icon="fas fa-clipboard-list"/>
<CopyToClipboard :items="csvData" :settings="user_preference_store.user_settings" format="table"
<CopyToClipboard :items="shopping_list_store.get_flat_entries" :settings="user_preference_store.user_settings" format="table"
:label="$t('copy_markdown_table')" icon="fab fa-markdown"/>
</div>
</b-button>
@ -442,12 +442,12 @@
<DownloadPDF dom="#shoppinglist" name="shopping.pdf" :label="$t('download_pdf')"
icon="far fa-file-pdf fa-fw"/>
<DownloadCSV :items="csvData" :delim="user_preference_store.user_settings.csv_delim" name="shopping.csv"
<DownloadCSV :items="shopping_list_store.get_flat_entries" :delim="user_preference_store.user_settings.csv_delim" name="shopping.csv"
:label="$t('download_csv')" icon="fas fa-file-csv fa-fw"/>
<CopyToClipboard :items="csvData" :settings="user_preference_store.user_settings"
<CopyToClipboard :items="shopping_list_store.get_flat_entries" :settings="user_preference_store.user_settings"
:label="$t('copy_to_clipboard')"
icon="fas fa-clipboard-list fa-fw"/>
<CopyToClipboard :items="csvData" :settings="user_preference_store.user_settings" format="table"
<CopyToClipboard :items="shopping_list_store.get_flat_entries" :settings="user_preference_store.user_settings" format="table"
:label="$t('copy_markdown_table')" icon="fab fa-markdown fa-fw"/>
@ -521,12 +521,6 @@ export default {
}
},
computed: {
csvData() {
// return this.items.map((x) => {
// return {amount: x.amount, unit: x.unit?.name ?? "", food: x.food?.name ?? ""}
// })
return []
},
editingSupermarket() {
return this.shopping_list_store.supermarkets.filter((el) => {
return el.editing
@ -605,27 +599,6 @@ export default {
StandardToasts.makeStandardToast(this, StandardToasts.FAIL_DELETE, err)
})
},
onHand: function (item) {
let api = new ApiApiFactory()
let food = {
id: item?.[0]?.food.id ?? item?.food?.id,
food_onhand: true,
}
this.updateFood(food, "food_onhand")
.then((result) => {
let entries = this.items.filter((x) => x.food.id == food.id).map((x) => x.id)
this.items = this.items.filter((x) => x.food.id !== food.id)
return entries
})
.then((entries) => {
entries.forEach((x) => {
api.destroyShoppingListEntry(x).then((result) => {
})
})
})
},
/**
* change number of servings of a shopping list recipe
* backend handles scaling of associated entries

View File

@ -100,7 +100,7 @@ export const useShoppingListStore = defineStore(_STORE_ID, {
this.total_checked_food = total_checked_food
// ordering
if (this.UNDEFINED_CATEGORY in structure) {
if (this.UNDEFINED_CATEGORY in structure) {
ordered_structure.push(structure[this.UNDEFINED_CATEGORY])
Vue.delete(structure, this.UNDEFINED_CATEGORY)
}
@ -125,6 +125,22 @@ export const useShoppingListStore = defineStore(_STORE_ID, {
return ordered_structure
},
get_flat_entries: function () {
//{amount: x.amount, unit: x.unit?.name ?? "", food: x.food?.name ?? ""}
let items = []
for (let i in this.get_entries_by_group) {
for (let f in this.get_entries_by_group[i]['foods']) {
for (let e in this.get_entries_by_group[i]['foods'][f]['entries']) {
items.push({
amount: this.get_entries_by_group[i]['foods'][f]['entries'][e].amount,
unit: this.get_entries_by_group[i]['foods'][f]['entries'][e].unit?.name ?? '',
food: this.get_entries_by_group[i]['foods'][f]['entries'][e].food?.name ?? '',
})
}
}
}
return items
},
/**
* list of options available for grouping entry display
* @return {[{id: *, translatable_label: string},{id: *, translatable_label: string},{id: *, translatable_label: string}]}