WIP custom filter usage

This commit is contained in:
vabene1111
2025-02-17 20:48:04 +01:00
parent 2c89add187
commit e14bb78ed1
33 changed files with 160 additions and 5 deletions

View File

@@ -168,6 +168,7 @@
"Keywords": "",
"Last": "",
"Link": "",
"Load": "",
"Load_More": "",
"Log_Cooking": "",
"Log_Recipe_Cooking": "",
@@ -277,7 +278,9 @@
"Root": "",
"Saturday": "",
"Save": "",
"Save/Load": "",
"Save_and_View": "",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "",
"Search Settings": "",

View File

@@ -163,6 +163,7 @@
"Keywords": "Ключови думи",
"Last": "",
"Link": "Връзка",
"Load": "",
"Load_More": "Зареди още",
"Log_Cooking": "Дневник на Готвене",
"Log_Recipe_Cooking": "Дневник на Рецепта за готвене",
@@ -270,7 +271,9 @@
"Root": "Корен",
"Saturday": "",
"Save": "Запази",
"Save/Load": "",
"Save_and_View": "Запазете и прегледайте",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Търсене",
"Search Settings": "Настройки търсене",

View File

@@ -216,6 +216,7 @@
"Last_name": "",
"Learn_More": "",
"Link": "",
"Load": "",
"Load_More": "Carregueu-ne més",
"Log_Cooking": "Registreu el que s'ha cuinat",
"Log_Recipe_Cooking": "Registre de receptes",
@@ -347,7 +348,9 @@
"Root": "",
"Saturday": "",
"Save": "",
"Save/Load": "",
"Save_and_View": "Graveu-ho i mostreu-ho",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "",
"Search Settings": "",

View File

@@ -215,6 +215,7 @@
"Last_name": "Příjmení",
"Learn_More": "Zjistit víc",
"Link": "Odkaz",
"Load": "",
"Load_More": "Načíst další",
"Log_Cooking": "Zaznamenat vaření",
"Log_Recipe_Cooking": "Záznam vaření receptu",
@@ -345,7 +346,9 @@
"Root": "Kořen",
"Saturday": "",
"Save": "Uložit",
"Save/Load": "",
"Save_and_View": "Uložit a zobrazit",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Hledat",
"Search Settings": "Nastavení vyhledávání",

View File

@@ -203,6 +203,7 @@
"Last_name": "Efternavn",
"Learn_More": "Lær mere",
"Link": "Link",
"Load": "",
"Load_More": "Indlæs mere",
"Log_Cooking": "Noter tilberedning",
"Log_Recipe_Cooking": "Noter tilberedning af opskrift",
@@ -327,7 +328,9 @@
"Root": "Rod",
"Saturday": "",
"Save": "Gem",
"Save/Load": "",
"Save_and_View": "Gem & Vis",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Søg",
"Search Settings": "Søgningsindstillinger",

View File

@@ -219,6 +219,7 @@
"Last_name": "Nachname",
"Learn_More": "Mehr erfahren",
"Link": "Link",
"Load": "Laden",
"Load_More": "Weitere laden",
"Log_Cooking": "Kochen protokollieren",
"Log_Recipe_Cooking": "Kochen protokollieren",
@@ -351,7 +352,9 @@
"Root": "Wurzel",
"Saturday": "Samstag",
"Save": "Speichern",
"Save/Load": "Speichern/Laden",
"Save_and_View": "Speichern & Ansehen",
"SavedSearch": "Gespeicherte Suche",
"ScalableNumber": "Skalierbare Zahl",
"Search": "Suchen",
"Search Settings": "Sucheinstellungen",

View File

@@ -198,6 +198,7 @@
"Last_name": "Επίθετο",
"Learn_More": "Μάθετε περισσότερα",
"Link": "Σύνδεσμος",
"Load": "",
"Load_More": "Φόρτωση περισσότερων",
"Log_Cooking": "Καταγραφή μαγειρέματος",
"Log_Recipe_Cooking": "Καταγραφή εκτέλεσης συνταγής",
@@ -319,7 +320,9 @@
"Root": "Ρίζα",
"Saturday": "",
"Save": "Αποθήκευση",
"Save/Load": "",
"Save_and_View": "Αποθήκευση και προβολή",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Αναζήτηση",
"Search Settings": "Επιλογές αναζήτησης",

View File

@@ -217,6 +217,7 @@
"Last_name": "Last Name",
"Learn_More": "Learn More",
"Link": "Link",
"Load": "Load",
"Load_More": "Load More",
"Log_Cooking": "Log Cooking",
"Log_Recipe_Cooking": "Log Recipe Cooking",
@@ -349,7 +350,9 @@
"Root": "Root",
"Saturday": "Saturday",
"Save": "Save",
"Save/Load": "Save/Load",
"Save_and_View": "Save & View",
"SavedSearch": "Saved Search",
"ScalableNumber": "Scalable Number",
"Search": "Search",
"Search Settings": "Search Settings",

View File

@@ -217,6 +217,7 @@
"Last_name": "Apellidos",
"Learn_More": "Saber Más",
"Link": "Enlace",
"Load": "",
"Load_More": "Cargar más",
"Log_Cooking": "Registrar Cocinada",
"Log_Recipe_Cooking": "Registro de recetas",
@@ -346,7 +347,9 @@
"Root": "Raíz",
"Saturday": "",
"Save": "Guardar",
"Save/Load": "",
"Save_and_View": "Grabar y mostrar",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Buscar",
"Search Settings": "Buscar ajustes",

View File

@@ -118,6 +118,7 @@
"Keywords": "Avainsanat",
"Last": "",
"Link": "Linkki",
"Load": "",
"Load_More": "Lataa Lisää",
"Log_Cooking": "Kirjaa kokkaus",
"Log_Recipe_Cooking": "Kirjaa Reseptin Kokkaus",
@@ -204,7 +205,9 @@
"Root": "Root",
"Saturday": "",
"Save": "Tallenna",
"Save/Load": "",
"Save_and_View": "Tallenna & Katso",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Haku",
"Search Settings": "Hakuasetukset",

View File

@@ -216,6 +216,7 @@
"Last_name": "Nom",
"Learn_More": "Apprenez-en plus",
"Link": "Lien",
"Load": "",
"Load_More": "Charger plus",
"Log_Cooking": "Marquer comme cuisiné",
"Log_Recipe_Cooking": "Marquer la recette comme cuisinée",
@@ -347,7 +348,9 @@
"Root": "Racine",
"Saturday": "",
"Save": "Sauvegarder",
"Save/Load": "",
"Save_and_View": "Sauvegarder et visualiser",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Rechercher",
"Search Settings": "Paramètres de recherche",

View File

@@ -217,6 +217,7 @@
"Last_name": "שם משפחה",
"Learn_More": "למד עוד",
"Link": "קישור",
"Load": "",
"Load_More": "טען עוד",
"Log_Cooking": "רשום הכנת מתכון",
"Log_Recipe_Cooking": "רשום בישול מתכון",
@@ -348,7 +349,9 @@
"Root": "ראשי",
"Saturday": "",
"Save": "שמור",
"Save/Load": "",
"Save_and_View": "שמור וצפה",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "חיפוש",
"Search Settings": "חיפוש הגדרות",

View File

@@ -199,6 +199,7 @@
"Last_name": "Vezetéknév",
"Learn_More": "Tudjon meg többet",
"Link": "Link",
"Load": "",
"Load_More": "Továbbiak betöltése",
"Log_Cooking": "Főzés naplózása",
"Log_Recipe_Cooking": "Főzés naplózása",
@@ -321,7 +322,9 @@
"Root": "Gyökér",
"Saturday": "",
"Save": "Mentés",
"Save/Load": "",
"Save_and_View": "Mentés & megtekintés",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Keresés",
"Search Settings": "Keresési beállítások",

View File

@@ -89,6 +89,7 @@
"Keywords": "",
"Last": "",
"Link": "",
"Load": "",
"Load_More": "",
"Log_Cooking": "Գրանցել եփելը",
"Log_Recipe_Cooking": "Գրանցել բաղադրատոմսի օգտագործում",
@@ -149,7 +150,9 @@
"Role": "",
"Saturday": "",
"Save": "",
"Save/Load": "",
"Save_and_View": "Պահպանել և Դիտել",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "",
"SelectAll": "",

View File

@@ -184,6 +184,7 @@
"Last": "",
"Last_name": "",
"Link": "Link",
"Load": "",
"Load_More": "Muat lebih banyak",
"Log_Cooking": "Log Memasak",
"Log_Recipe_Cooking": "Log Resep Memasak",
@@ -297,7 +298,9 @@
"Root": "Akar",
"Saturday": "",
"Save": "Menyimpan",
"Save/Load": "",
"Save_and_View": "Simpan & Lihat",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Mencari",
"Search Settings": "Pengaturan Pencarian",

View File

@@ -216,6 +216,7 @@
"Last_name": "",
"Learn_More": "",
"Link": "",
"Load": "",
"Load_More": "",
"Log_Cooking": "",
"Log_Recipe_Cooking": "",
@@ -347,7 +348,9 @@
"Root": "",
"Saturday": "",
"Save": "",
"Save/Load": "",
"Save_and_View": "",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "",
"Search Settings": "",

View File

@@ -189,6 +189,7 @@
"Last": "",
"Last_name": "Cognome",
"Link": "Link",
"Load": "",
"Load_More": "Carica di più",
"Log_Cooking": "Registro ricette cucinate",
"Log_Recipe_Cooking": "Aggiungi a ricette cucinate",
@@ -305,7 +306,9 @@
"Root": "Radice",
"Saturday": "",
"Save": "Salva",
"Save/Load": "",
"Save_and_View": "Salva & Mostra",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Cerca",
"Search Settings": "Impostazioni di ricerca",

View File

@@ -201,6 +201,7 @@
"Last_name": "",
"Learn_More": "",
"Link": "",
"Load": "",
"Load_More": "Įkelti daugiau",
"Log_Cooking": "Užregistruoti patiekalo gaminimą",
"Log_Recipe_Cooking": "Užregistruoti recepto pagaminimą",
@@ -325,7 +326,9 @@
"Root": "",
"Saturday": "",
"Save": "",
"Save/Load": "",
"Save_and_View": "Išsaugoti ir peržiūrėti",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "",
"Search Settings": "",

View File

@@ -196,6 +196,7 @@
"Last_name": "Etternavn",
"Learn_More": "Lær mer",
"Link": "Lenke",
"Load": "",
"Load_More": "Last inn flere",
"Log_Cooking": "Loggfør tilbereding",
"Log_Recipe_Cooking": "Logg oppskriftsbruk",
@@ -317,7 +318,9 @@
"Root": "Rot",
"Saturday": "",
"Save": "Lagre",
"Save/Load": "",
"Save_and_View": "Lagre og vis",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Søk",
"Search Settings": "Søk Instillinger",

View File

@@ -200,6 +200,7 @@
"Last_name": "Achternaam",
"Learn_More": "Meer informatie",
"Link": "Link",
"Load": "",
"Load_More": "Laad meer",
"Log_Cooking": "Log Bereiding",
"Log_Recipe_Cooking": "Bereiding loggen",
@@ -321,7 +322,9 @@
"Root": "Bron",
"Saturday": "",
"Save": "Opslaan",
"Save/Load": "",
"Save_and_View": "Sla op & Bekijk",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Zoeken",
"Search Settings": "Zoekinstellingen",

View File

@@ -218,6 +218,7 @@
"Last_name": "Nazwisko",
"Learn_More": "Dowiedz się więcej",
"Link": "Link",
"Load": "",
"Load_More": "Załaduj więcej",
"Log_Cooking": "Zanotuj ugotowanie",
"Log_Recipe_Cooking": "Zaloguj gotowanie przepisu",
@@ -349,7 +350,9 @@
"Root": "Główny",
"Saturday": "",
"Save": "Zapisz",
"Save/Load": "",
"Save_and_View": "Zapisz i wyświetl",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Szukaj",
"Search Settings": "Ustawienia wyszukiwania",

View File

@@ -160,6 +160,7 @@
"Language": "Linguagem",
"Last": "",
"Link": "Ligação",
"Load": "",
"Load_More": "Carregar Mais",
"Log_Cooking": "Registrar Culinária",
"Log_Recipe_Cooking": "Registrar Receitas de Culinária",
@@ -266,7 +267,9 @@
"Root": "Raiz",
"Saturday": "",
"Save": "Guardar",
"Save/Load": "",
"Save_and_View": "Gravar & Ver",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Pesquisar",
"Search Settings": "Definições de Pesquisa",

View File

@@ -211,6 +211,7 @@
"Last_name": "Último Nome",
"Learn_More": "Aprender Mais",
"Link": "Link",
"Load": "",
"Load_More": "Carregar mais",
"Log_Cooking": "Registro de Cozinha",
"Log_Recipe_Cooking": "Registrar receitas feitas",
@@ -336,7 +337,9 @@
"Root": "Raiz",
"Saturday": "",
"Save": "Salvar",
"Save/Load": "",
"Save_and_View": "Salvar e Visualizar",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Buscar",
"Search Settings": "Buscar Configuração",

View File

@@ -193,6 +193,7 @@
"Last": "",
"Last_name": "Nume de familie",
"Link": "Link",
"Load": "",
"Load_More": "Încărcați mai mult",
"Log_Cooking": "Jurnal de pregătire",
"Log_Recipe_Cooking": "Jurnalul rețetelor de pregătire",
@@ -309,7 +310,9 @@
"Root": "Rădăcină",
"Saturday": "",
"Save": "Salvare",
"Save/Load": "",
"Save_and_View": "Salvare și vizionare",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Căutare",
"Search Settings": "Setări de căutare",

View File

@@ -149,6 +149,7 @@
"Keywords": "Ключевые слова",
"Last": "",
"Link": "Гиперссылка",
"Load": "",
"Load_More": "Загрузить еще",
"Log_Cooking": "Журнал приготовления",
"Log_Recipe_Cooking": "Журнал приготовления",
@@ -251,7 +252,9 @@
"Root": "Корневой элемент",
"Saturday": "",
"Save": "Сохранить",
"Save/Load": "",
"Save_and_View": "Сохранить и показать",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Поиск",
"Search Settings": "Искать настройки",

View File

@@ -145,6 +145,7 @@
"Last": "",
"Learn_More": "Preberite Več",
"Link": "Hiperpovezava",
"Load": "",
"Load_More": "Naloži več",
"Log_Cooking": "Zgodovina kuhanja",
"Log_Recipe_Cooking": "Logiraj recept za kuhanje",
@@ -242,7 +243,9 @@
"Root": "",
"Saturday": "",
"Save": "Shrani",
"Save/Load": "",
"Save_and_View": "Shrani in poglej",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Iskanje",
"Search Settings": "Išči nastavitev",

View File

@@ -218,6 +218,7 @@
"Last_name": "Efternamn",
"Learn_More": "Läs mer",
"Link": "Länk",
"Load": "",
"Load_More": "Ladda mer",
"Log_Cooking": "Logga tillagning",
"Log_Recipe_Cooking": "Logga tillagningen av receptet",
@@ -349,7 +350,9 @@
"Root": "Rot",
"Saturday": "",
"Save": "Spara",
"Save/Load": "",
"Save_and_View": "Spara & visa",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Sök",
"Search Settings": "Sökinställningar",

View File

@@ -217,6 +217,7 @@
"Last_name": "Soyisim",
"Learn_More": "Daha Fazla",
"Link": "Bağlantı",
"Load": "",
"Load_More": "Daha Fazla Yükle",
"Log_Cooking": "Günlük Pişirme",
"Log_Recipe_Cooking": "Günlük Tarif Pişirme",
@@ -348,7 +349,9 @@
"Root": "Kök",
"Saturday": "",
"Save": "Kaydet",
"Save/Load": "",
"Save_and_View": "Kaydet & Görüntüle",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Ara",
"Search Settings": "Arama Ayarları",

View File

@@ -174,6 +174,7 @@
"Language": "Мова",
"Last": "",
"Link": "Посилання",
"Load": "",
"Load_More": "Завантажити більше",
"Log_Cooking": "",
"Log_Recipe_Cooking": "",
@@ -285,7 +286,9 @@
"Root": "Корінь",
"Saturday": "",
"Save": "Зберегти",
"Save/Load": "",
"Save_and_View": "Зберегти і Подивитися",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "Пошук",
"Search Settings": "Налаштування Пошуку",

View File

@@ -213,6 +213,7 @@
"Last_name": "姓",
"Learn_More": "了解更多",
"Link": "链接",
"Load": "",
"Load_More": "加载更多",
"Log_Cooking": "烹饪记录",
"Log_Recipe_Cooking": "食谱烹饪记录",
@@ -343,7 +344,9 @@
"Root": "根",
"Saturday": "",
"Save": "保存",
"Save/Load": "",
"Save_and_View": "保存并查看",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "搜索",
"Search Settings": "搜索设置",

View File

@@ -74,6 +74,7 @@
"Keywords": "",
"Last": "",
"Link": "",
"Load": "",
"Load_More": "",
"Log_Cooking": "",
"Log_Recipe_Cooking": "記錄食譜烹飪",
@@ -121,7 +122,9 @@
"Role": "",
"Saturday": "",
"Save": "",
"Save/Load": "",
"Save_and_View": "儲存並查看",
"SavedSearch": "",
"ScalableNumber": "",
"Search": "",
"SelectAll": "",

View File

@@ -5,6 +5,7 @@
<v-card :loading="loading">
<v-card-title>
{{ $t('Search') }}
</v-card-title>
<v-card-text>
<v-form :disabled="loading">
@@ -22,13 +23,20 @@
<!-- <v-date-input :label="$t('updatedon')" v-model="searchParameters.updatedon" clearable></v-date-input>-->
<v-checkbox :label="$t('make_now')" v-model="urlSearchParams.makenow"></v-checkbox>
<model-select model="CustomFilter" v-model="selectedCustomFilter">
<template #append>
<v-btn icon="fa-solid fa-upload" color="warning" :disabled="Object.keys(selectedCustomFilter).length == 0"></v-btn>
<v-btn icon="$save" class="ms-1" color="save" @click="saveCustomFilter()"></v-btn>
</template>
</model-select>
</v-form>
</v-card-text>
<v-card-actions>
<v-btn @click="reset()">{{ $t('Reset') }}</v-btn>
<v-btn @click="searchRecipes({page: 1})">{{ $t('Search') }}</v-btn>
<v-btn @click="reset()" prepend-icon="fa-solid fa-circle-xmark" :disabled="Object.keys(urlSearchParams).length == 0">{{ $t('Reset') }}</v-btn>
<v-btn @click="searchRecipes({page: 1})" prepend-icon="$search">{{ $t('Search') }}</v-btn>
</v-card-actions>
</v-card>
</v-col>
@@ -46,6 +54,7 @@
:items-per-page="urlSearchParams.pageSize"
:items-length="tableItemCount"
@click:row="handleRowClick"
disable-sort
>
<template #item.image="{item}">
<v-avatar :image="item.image"></v-avatar>
@@ -62,13 +71,25 @@
</v-card>
</v-col>
</v-row>
<v-dialog v-model="dialog">
<v-card>
<v-closable-card-title :title="$t('SavedSearch')" v-model="dialog"></v-closable-card-title>
<v-card-text>
<v-text-field :label="$t('Name')" v-model="newFilterName"></v-text-field>
</v-card-text>
<v-card-actions>
<v-btn prepend-icon="$create" color="create" @click="createCustomFilter()">{{ $t('Create') }}</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</v-container>
</template>
<script setup lang="ts">
import {onMounted, ref, watch} from "vue";
import {ApiApi, ApiRecipeListRequest, RecipeOverview} from "@/openapi";
import {ApiApi, ApiRecipeListRequest, CustomFilter, RecipeOverview} from "@/openapi";
import {useUrlSearchParams} from "@vueuse/core";
import {useI18n} from "vue-i18n";
import {ErrorMessageType, useMessageStore} from "@/stores/MessageStore";
@@ -79,12 +100,14 @@ import RecipeContextMenu from "@/components/inputs/RecipeContextMenu.vue";
import {useRouter} from "vue-router";
import KeywordsBar from "@/components/display/KeywordsBar.vue";
import {VDataTableUpdateOptions} from "@/vuetify";
import VClosableCardTitle from "@/components/dialogs/VClosableCardTitle.vue";
const {t} = useI18n()
const router = useRouter()
const urlSearchParams = useUrlSearchParams('history', {})
const loading = ref(false)
const dialog = ref(false)
const tableHeaders = [
{title: t('Image'), width: '1%', noBreak: true, key: 'image',},
@@ -96,6 +119,8 @@ const tableHeaders = [
const tableItemCount = ref(0)
const recipes = ref([] as RecipeOverview[])
const selectedCustomFilter = ref({} as CustomFilter)
const newFilterName = ref('')
onMounted(() => {
urlSearchParams.page = 1
@@ -106,7 +131,7 @@ function searchRecipes(options: VDataTableUpdateOptions) {
loading.value = true
urlSearchParams.page = options.page
if(options.itemsPerPage){
if (options.itemsPerPage) {
urlSearchParams.pageSize = options.itemsPerPage
}
@@ -136,6 +161,43 @@ function handleRowClick(event: PointerEvent, data: any) {
router.push({name: 'view_recipe', params: {id: recipes.value[data.index].id}})
}
/**
* triggered by save button, if filter exists update it, if not open dialog to create a new filter
*/
function saveCustomFilter() {
let api = new ApiApi()
if (Object.keys(selectedCustomFilter.value).length > 0) {
loading.value = true
api.apiCustomFilterUpdate({id: selectedCustomFilter.value.id!, customFilter: selectedCustomFilter.value}).then((r) => {
selectedCustomFilter.value = r
}).catch(err => {
useMessageStore().addError(ErrorMessageType.UPDATE_ERROR, err)
}).finally(() => {
loading.value = false
})
} else {
dialog.value = true
}
}
/**
* create new filter
*/
function createCustomFilter() {
let api = new ApiApi()
dialog.value = false
loading.value = true
api.apiCustomFilterCreate({customFilter: {name: newFilterName.value} as CustomFilter}).then((r) => {
selectedCustomFilter.value = r
}).catch(err => {
useMessageStore().addError(ErrorMessageType.UPDATE_ERROR, err)
}).finally(() => {
loading.value = false
})
}
</script>
<style scoped>

View File

@@ -336,7 +336,7 @@ registerModel(TRecipeBookEntry)
export const TCustomFilter = {
name: 'CustomFilter',
localizationKey: 'Custom Filter',
localizationKey: 'SavedSearch',
icon: 'fa-solid fa-filter',
isPaginated: true,