most model editors present

This commit is contained in:
vabene1111
2024-10-03 00:01:39 +02:00
parent 64c5fe3157
commit d1379935b7
38 changed files with 298 additions and 5 deletions

View File

@@ -2,9 +2,11 @@
<v-dialog max-width="600" activator="parent" v-model="dialog">
<supermarket-category-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'SupermarketCategory'"></supermarket-category-editor>
<unit-conversion-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'UnitConversion'" :disabled-fields="disabledFields"></unit-conversion-editor>
<property-type-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'PropertyType'" :disabled-fields="disabledFields"></property-type-editor>
<access-token-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'AccessToken'"></access-token-editor>
<invite-link-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'InviteLink'"></invite-link-editor>
<supermarket-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'Supermarket'"></supermarket-editor>
<automation-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'Automation'"></automation-editor>
<user-space-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'UserSpace'"></user-space-editor>
<meal-type-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'MealType'"></meal-type-editor>
<property-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == 'Property'"></property-editor>
@@ -26,12 +28,14 @@ import UnitConversionEditor from "@/components/model_editors/UnitConversionEdito
import FoodEditor from "@/components/model_editors/FoodEditor.vue";
import SupermarketEditor from "@/components/model_editors/SupermarketEditor.vue";
import SupermarketCategoryEditor from "@/components/model_editors/SupermarketCategoryEditor.vue";
import PropertyTypeEditor from "@/components/model_editors/PropertyTypeEditor.vue";
import AutomationEditor from "@/components/model_editors/AutomationEditor.vue";
const emit = defineEmits(['create', 'save', 'delete'])
const props = defineProps({
model: {
type: String as PropType<'UnitConversion' | 'AccessToken'| 'InviteLink' | 'UserSpace' | 'MealType' | 'Property' | 'Food' | 'Supermarket' | 'SupermarketCategory'>,
type: String as PropType<'UnitConversion' | 'AccessToken'| 'InviteLink' | 'UserSpace' | 'MealType' | 'Property' | 'Food' | 'Supermarket' | 'SupermarketCategory' | 'PropertyType' | 'Automation'>,
required: true,
},
item: {default: null},

View File

@@ -0,0 +1,77 @@
<template>
<model-editor-base
:loading="loading"
:dialog="dialog"
@save="saveObject"
@delete="deleteObject"
@close="emit('close')"
:is-update="isUpdate()"
:model-class="modelClass"
:object-name="editingObjName()">
<v-card-text>
<v-form :disabled="loading">
<v-text-field :label="$t('Name')" v-model="editingObj.name"></v-text-field>
<v-select :label="$t('Type')" :items="AUTOMATION_TYPES" v-model="editingObj.type"></v-select>
<v-text-field :label="$t('Parameter') + ' 1'" v-model="editingObj.param1"></v-text-field>
<v-text-field :label="$t('Parameter') + ' 2'" v-model="editingObj.param2"></v-text-field>
<v-text-field :label="$t('Parameter') + ' 3'" v-model="editingObj.param3"></v-text-field>
<v-textarea :label="$t('Description')" v-model="editingObj.description"></v-textarea>
<v-number-input :label="$t('Order')" :step="10" v-model="editingObj.order" :hint="$t('OrderInformation')" control-variant="stacked"></v-number-input>
<v-checkbox :label="$t('Disabled')" v-model="editingObj.disabled"></v-checkbox>
</v-form>
</v-card-text>
</model-editor-base>
</template>
<script setup lang="ts">
import {onMounted, PropType} from "vue";
import {Automation} from "@/openapi";
import ModelEditorBase from "@/components/model_editors/ModelEditorBase.vue";
import {useModelEditorFunctions} from "@/composables/useModelEditorFunctions";
import {useI18n} from "vue-i18n";
import {VNumberInput} from "vuetify/labs/VNumberInput";
const {t} = useI18n()
const props = defineProps({
item: {type: {} as PropType<Automation>, required: false, default: null},
itemId: {type: [Number, String], required: false, default: undefined},
dialog: {type: Boolean, default: false}
})
const emit = defineEmits(['create', 'save', 'delete', 'close'])
const {setupState, deleteObject, saveObject, isUpdate, editingObjName, loading, editingObj, modelClass} = useModelEditorFunctions<Automation>('Automation', emit)
// object specific data (for selects/display)
const AUTOMATION_TYPES = [
{ value: "FOOD_ALIAS", title: t("Food_Alias") },
{ value: "UNIT_ALIAS", title: t("Unit_Alias") },
{ value: "KEYWORD_ALIAS", title: t("Keyword_Alias") },
{ value: "NAME_REPLACE", title: t("Name_Replace") },
{ value: "DESCRIPTION_REPLACE", title: t("Description_Replace") },
{ value: "INSTRUCTION_REPLACE", title: t("Instruction_Replace") },
{ value: "FOOD_REPLACE", title: t("Food_Replace") },
{ value: "UNIT_REPLACE", title: t("Unit_Replace") },
{ value: "NEVER_UNIT", title: t("Never_Unit") },
{ value: "TRANSPOSE_WORDS", title: t("Transpose_Words") }
]
onMounted(() => {
if (!setupState(props.item, props.itemId)) {
// functions to populate defaults
editingObj.value.order = 0
}
})
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,57 @@
<template>
<model-editor-base
:loading="loading"
:dialog="dialog"
@save="saveObject"
@delete="deleteObject"
@close="emit('close')"
:is-update="isUpdate()"
:model-class="modelClass"
:object-name="editingObjName()">
<v-card-text>
<v-form :disabled="loading">
<v-text-field :label="$t('Name')" v-model="editingObj.name"></v-text-field>
<v-textarea :label="$t('Description')" v-model="editingObj.description"></v-textarea>
<v-text-field :label="$t('Unit')" v-model="editingObj.unit"></v-text-field>
<v-text-field :label="$t('FDC_ID')" :hint="$t('property_type_fdc_hint')" v-model="editingObj.fdcId"></v-text-field>
<v-number-input :label="$t('Order')" :step="10" v-model="editingObj.order" :hint="$t('OrderInformation')" control-variant="stacked"></v-number-input>
<v-text-field :label="$t('Open_Data_Slug')" :hint="$t('open_data_help_text')" persistent-hint v-model="editingObj.openDataSlug" disabled></v-text-field>
</v-form>
</v-card-text>
</model-editor-base>
</template>
<script setup lang="ts">
import {onMounted, PropType} from "vue";
import {PropertyType} from "@/openapi";
import ModelEditorBase from "@/components/model_editors/ModelEditorBase.vue";
import {useModelEditorFunctions} from "@/composables/useModelEditorFunctions";
import {VNumberInput} from "vuetify/labs/VNumberInput";
const props = defineProps({
item: {type: {} as PropType<PropertyType>, required: false, default: null},
itemId: {type: [Number, String], required: false, default: undefined},
dialog: {type: Boolean, default: false}
})
const emit = defineEmits(['create', 'save', 'delete', 'close'])
const {setupState, deleteObject, saveObject, isUpdate, editingObjName, loading, editingObj, modelClass} = useModelEditorFunctions<PropertyType>('PropertyType', emit)
// object specific data (for selects/display)
onMounted(() => {
if (!setupState(props.item, props.itemId)) {
// functions to populate defaults
}
})
</script>
<style scoped>
</style>

View File

@@ -24,7 +24,54 @@
</v-form>
</v-tabs-window-item>
<v-tabs-window-item value="supermarket">
<v-tabs-window-item value="categories">
<v-row>
<v-col cols="0" md="6">
<h3>{{ $t('AvailableCategories') }}
<v-btn class="float-right" color="create" prepend-icon="$create">{{ $t('New') }}
<model-edit-dialog model="SupermarketCategory" @create="args => supermarketCategories.push(args)"></model-edit-dialog>
</v-btn>
</h3>
<draggable class="mt-4" tag="VList" v-model="supermarketCategories" handle=".drag-handle" item-key="id" group="categories">
<template #item="{element}">
<v-list-item border :key="element.id">
<template #prepend>
<v-icon class="drag-handle cursor-grab" icon="$dragHandle"></v-icon>
</template>
{{ element.name }}
</v-list-item>
</template>
</draggable>
</v-col>
<v-col cols="12" md="6">
<h3> {{ $t('SelectedCategories') }} </h3>
<draggable
tag="VList"
v-model="editingObj.categoryToSupermarket"
handle=".drag-handle" item-key="id" group="categories"
>
<template #item="{element}">
<v-list-item border :key="element.id">
<template #prepend>
<v-icon class="drag-handle" icon="$dragHandle"></v-icon>
</template>
{{ element.category.name }}
{{ element.order }}
<template #append>
<v-btn color="warning">
<i class="fa-solid fa-link-slash"></i>
</v-btn>
</template>
</v-list-item>
</template>
</draggable>
<v-list class="mt-4">
</v-list>
</v-col>
</v-row>
</v-tabs-window-item>
@@ -38,9 +85,11 @@
<script setup lang="ts">
import {onMounted, PropType, ref} from "vue";
import {Supermarket} from "@/openapi";
import {ApiApi, Supermarket, SupermarketCategory} from "@/openapi";
import ModelEditorBase from "@/components/model_editors/ModelEditorBase.vue";
import {useModelEditorFunctions} from "@/composables/useModelEditorFunctions";
import ModelEditDialog from "@/components/dialogs/ModelEditDialog.vue";
import draggable from "vuedraggable";
const props = defineProps({
item: {type: {} as PropType<Supermarket>, required: false, default: null},
@@ -52,13 +101,20 @@ const emit = defineEmits(['create', 'save', 'delete', 'close'])
const {setupState, deleteObject, saveObject, isUpdate, editingObjName, loading, editingObj, modelClass} = useModelEditorFunctions<Supermarket>('Supermarket', emit)
// object specific data (for selects/display)
const tab = ref("supermarket")
const tab = ref("categories")
const supermarketCategories = ref([] as SupermarketCategory[])
onMounted(() => {
const api = new ApiApi()
if (!setupState(props.item, props.itemId)) {
// functions to populate defaults
}
api.apiSupermarketCategoryList({pageSize: 100}).then(r => {
supermarketCategories.value = r.results
})
})
</script>

View File

@@ -19,6 +19,7 @@
"Auto_Planner": "",
"Automate": "",
"Automation": "",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "",
@@ -194,6 +195,7 @@
"OnHand_help": "",
"Open": "",
"Options": "",
"Order": "",
"Owner": "",
"Page": "",
"Parameter": "",
@@ -248,6 +250,7 @@
"Select_Book": "",
"Select_File": "",
"Selected": "",
"SelectedCategories": "",
"Servings": "",
"Settings": "",
"Share": "",

View File

@@ -19,6 +19,7 @@
"Auto_Planner": "Автоматичен плановик",
"Automate": "Автоматизация",
"Automation": "Автоматизация",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "Книжен пазар",
@@ -187,6 +188,7 @@
"OnHand_help": "Храната е в инвентара и няма да бъде добавена автоматично към списък за пазаруване. Състоянието на ръка се споделя с пазаруващите потребители.",
"Open": "Отвори",
"Options": "Настроики",
"Order": "",
"Owner": "",
"Page": "Страница",
"Parameter": "Параметър",
@@ -241,6 +243,7 @@
"Select_Book": "Изберете Книга",
"Select_File": "Избери файл",
"Selected": "Избрано",
"SelectedCategories": "",
"Servings": "Порции",
"Settings": "Настройки",
"Share": "Споделяне",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Moveu tots els ingredients al pas més adequat.",
"Automate": "",
"Automation": "",
"AvailableCategories": "",
"Back": "",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -254,6 +255,7 @@
"Open_Data_Import": "",
"Open_Data_Slug": "",
"Options": "",
"Order": "",
"OrderInformation": "",
"Original_Text": "",
"Owner": "",
@@ -320,6 +322,7 @@
"Select_Book": "Seleccioneu llibre",
"Select_File": "Seleccioneu arxiu",
"Selected": "",
"SelectedCategories": "",
"Servings": "",
"Settings": "",
"Share": "",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Přiřadit všechny ingredience k nejlépe vyhovujícímu kroku.",
"Automate": "Automatizovat",
"Automation": "Automatizace",
"AvailableCategories": "",
"Back": "Zpět",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -252,6 +253,7 @@
"Open_Data_Import": "Import otevřených dat",
"Open_Data_Slug": "Identifikátor pro otevřená data",
"Options": "Možnosti",
"Order": "",
"OrderInformation": "Položky jsou seřazeny podle čísel od malých po velké.",
"Original_Text": "Původní text",
"Owner": "",
@@ -318,6 +320,7 @@
"Select_Book": "Vyber kuchařku",
"Select_File": "Vybrat soubor",
"Selected": "Vybrané",
"SelectedCategories": "",
"Servings": "Porce",
"Settings": "Nastavení",
"Share": "Sdílet",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Flyt alle ingredienser til mest egnede trin.",
"Automate": "Automatiser",
"Automation": "Automatisering",
"AvailableCategories": "",
"Back": "Tilbage",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -237,6 +238,7 @@
"Open_Data_Import": "Open Data importering",
"Open_Data_Slug": "Open Data Slug",
"Options": "Indstillinger",
"Order": "",
"OrderInformation": "Objekter er rangeret fra små til store tal.",
"Original_Text": "Original tekst",
"Owner": "",
@@ -300,6 +302,7 @@
"Select_Book": "Vælg bog",
"Select_File": "Vælg fil",
"Selected": "Valgt",
"SelectedCategories": "",
"Servings": "Serveringer",
"Settings": "Indstillinger",
"Share": "Del",

View File

@@ -26,6 +26,7 @@
"Auto_Sort_Help": "Verschiebe alle Zutaten zu dem Schritt, der am Besten passt.",
"Automate": "Automatisieren",
"Automation": "Automatisierung",
"AvailableCategories": "Verfügbare Kategorien",
"Back": "Zurück",
"BaseUnit": "Basiseinheit",
"BaseUnitHelp": "Optionale Standardeinheit zur automatischen Umrechnung",
@@ -256,6 +257,7 @@
"Open_Data_Import": "Datenimport öffnen",
"Open_Data_Slug": "Open Data Schlagwort",
"Options": "Optionen",
"Order": "Reihenfolge",
"OrderInformation": "Die Objekte sind von kleinen zu großen Zahlen geordnet.",
"Original_Text": "Originaler Text",
"Owner": "Besitzer",
@@ -322,6 +324,7 @@
"Select_Book": "Buch auswählen",
"Select_File": "Datei auswählen",
"Selected": "Ausgewählt",
"SelectedCategories": "Ausgewählte Kategorien",
"Servings": "Portionen",
"Settings": "Einstellungen",
"Share": "Teilen",

View File

@@ -24,6 +24,7 @@
"Auto_Sort_Help": "Μετακίνηση όλων των υλικών στο καταλληλότερο βήμα.",
"Automate": "Αυτοματοποίηση",
"Automation": "Αυτοματισμός",
"AvailableCategories": "",
"Back": "Πίσω",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -230,6 +231,7 @@
"Open_Data_Import": "Εισαγωγή ανοιχτών δεδομένων",
"Open_Data_Slug": "Αναγνωριστικό (Slug) Open Data",
"Options": "Επιλογές",
"Order": "",
"Original_Text": "Αρχικό κείμενο",
"Owner": "",
"Page": "Σελίδα",
@@ -292,6 +294,7 @@
"Select_Book": "Επιλογή βιβλίου",
"Select_File": "Επιλογή αρχείου",
"Selected": "Επιλεγμένο",
"SelectedCategories": "",
"Servings": "Μερίδες",
"Settings": "Ρυθμίσεις",
"Share": "Κοινοποίηση",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Move all ingredients to the best fitting step.",
"Automate": "Automate",
"Automation": "Automation",
"AvailableCategories": "Available Categories",
"Back": "Back",
"BaseUnit": "Base Unit",
"BaseUnitHelp": "Standard unit for automatic unit conversion",
@@ -255,6 +256,7 @@
"Open_Data_Import": "Open Data Import",
"Open_Data_Slug": "Open Data Slug",
"Options": "Options",
"Order": "Order",
"OrderInformation": "Objects are ordered from small to large numbers.",
"Original_Text": "Original Text",
"Owner": "Owner",
@@ -322,6 +324,7 @@
"Select_Book": "Select Book",
"Select_File": "Select File",
"Selected": "Selected",
"SelectedCategories": "Selected Categories",
"Servings": "Servings",
"Settings": "Settings",
"Share": "Share",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Mueva todos los ingredientes al paso que mejor se adapte.",
"Automate": "Automatizar",
"Automation": "Automatización",
"AvailableCategories": "",
"Back": "Atrás",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -255,6 +256,7 @@
"Open_Data_Import": "Importar Open Data",
"Open_Data_Slug": "Open Data Slug",
"Options": "Opciones",
"Order": "",
"OrderInformation": "Los objetos están ordenados en orden numérico creciente.",
"Original_Text": "Texto original",
"Owner": "",
@@ -319,6 +321,7 @@
"Select_Book": "Seleccionar libro",
"Select_File": "Seleccionar archivo",
"Selected": "Selecionado",
"SelectedCategories": "",
"Servings": "Raciones",
"Settings": "Opciones",
"Share": "Compartir",

View File

@@ -12,6 +12,7 @@
"Auto_Planner": "Automaattinen Suunnittelija",
"Automate": "Automatisoi",
"Automation": "Automaatio",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Books": "Kirjat",
@@ -132,6 +133,7 @@
"Nutrition": "Ravitsemus",
"Ok": "Avaa",
"Open": "Avaa",
"Order": "",
"Owner": "",
"Parameter": "Parametri",
"Parent": "Yläluokka",
@@ -172,6 +174,7 @@
"Select_Book": "Valitse Kirja",
"Select_File": "Valitse Tiedosto",
"Selected": "Valittu",
"SelectedCategories": "",
"Servings": "Annokset",
"Settings": "Asetukset",
"Share": "Jaa",

View File

@@ -26,6 +26,7 @@
"Auto_Sort_Help": "Déplacer tous les ingrédients à létape la mieux adaptée.",
"Automate": "Automatiser",
"Automation": "Automatisation",
"AvailableCategories": "",
"Back": "Retour",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -254,6 +255,7 @@
"Open_Data_Import": "Import Open Data",
"Open_Data_Slug": "Open Data Slug",
"Options": "Options",
"Order": "",
"OrderInformation": "Les objects sont classés du plus petit au plus grand.",
"Original_Text": "Texte dorigine",
"Owner": "",
@@ -320,6 +322,7 @@
"Select_Book": "Sélectionner le livre",
"Select_File": "Sélectionner le fichier",
"Selected": "Sélectionné",
"SelectedCategories": "",
"Servings": "Portions",
"Settings": "Paramètres",
"Share": "Partager",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "העברת כל המרכיבים למיקום המתאים ביותר.",
"Automate": "אוטומט",
"Automation": "אוטומטציה",
"AvailableCategories": "",
"Back": "חזור",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -255,6 +256,7 @@
"Open_Data_Import": "פתח ייבוא מידע",
"Open_Data_Slug": "מידע פתוח",
"Options": "אפשרויות",
"Order": "",
"OrderInformation": "המוצרים מוצגים מהמספר הקטן לגדול.",
"Original_Text": "כיתוב מקורי",
"Owner": "",
@@ -321,6 +323,7 @@
"Select_Book": "בחר ספר",
"Select_File": "בחר קובץ",
"Selected": "נבחר",
"SelectedCategories": "",
"Servings": "מנות",
"Settings": "הגדרות",
"Share": "שיתוף",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Az összes összetevőt helyezze át a legmegfelelőbb lépéshez.",
"Automate": "Automatizálás",
"Automation": "Automatizálás",
"AvailableCategories": "",
"Back": "Vissza",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -231,6 +232,7 @@
"Open": "Megnyitás",
"Open_Data_Import": "Adat import megnyitása",
"Options": "Opciók",
"Order": "",
"OrderInformation": "Az objektumok a kis számoktól a nagy számok felé rendezettek.",
"Original_Text": "Eredeti szöveg",
"Owner": "",
@@ -294,6 +296,7 @@
"Select_Book": "Könyv kiválasztása",
"Select_File": "Fájl kiválasztása",
"Selected": "Kiválasztott",
"SelectedCategories": "",
"Servings": "Adag",
"Settings": "Beállítások",
"Share": "Megosztás",

View File

@@ -9,6 +9,7 @@
"Add_to_Shopping": "Ավելացնել գնումներին",
"Advanced Search Settings": "Ընդլայնված փնտրման կարգավորումներ",
"Automate": "Ավտոմատացնել",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Books": "",
@@ -87,6 +88,7 @@
"Nutrition": "",
"Ok": "",
"Open": "",
"Order": "",
"Owner": "",
"Parent": "Ծնող",
"Plural": "",
@@ -116,6 +118,7 @@
"Select_Book": "Ընտրել գիրք",
"Select_File": "Ընտրել Ֆայլ",
"Selected": "",
"SelectedCategories": "",
"Servings": "",
"Settings": "Կարգավորումներ",
"Share": "",

View File

@@ -21,6 +21,7 @@
"Auto_Planner": "",
"Automate": "",
"Automation": "Automatis",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "",
@@ -213,6 +214,7 @@
"OnHand_help": "",
"Open": "Membuka",
"Options": "",
"Order": "",
"Owner": "",
"Page": "",
"Parameter": "Parameter",
@@ -270,6 +272,7 @@
"Select_Book": "Pilih Buku",
"Select_File": "Pilih Buku",
"Selected": "Terpilih",
"SelectedCategories": "",
"Servings": "Porsi",
"Settings": "Pengaturan",
"Share": "Bagikan",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "",
"Automate": "",
"Automation": "",
"AvailableCategories": "",
"Back": "",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -254,6 +255,7 @@
"Open_Data_Import": "",
"Open_Data_Slug": "",
"Options": "",
"Order": "",
"OrderInformation": "",
"Original_Text": "",
"Owner": "",
@@ -320,6 +322,7 @@
"Select_Book": "",
"Select_File": "",
"Selected": "",
"SelectedCategories": "",
"Servings": "",
"Settings": "",
"Share": "",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Sposta tutti gli ingredienti allo step più adatto.",
"Automate": "Automatizza",
"Automation": "Automazione",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "Segnalibro",
@@ -218,6 +219,7 @@
"OnHand_help": "Gli alimenti sono nell'inventario e non verranno automaticamente aggiunti alla lista della spesa. Lo stato di disponibilità è condiviso con gli utenti di spesa.",
"Open": "Apri",
"Options": "Opzioni",
"Order": "",
"Original_Text": "Testo originale",
"Owner": "",
"Page": "Pagina",
@@ -278,6 +280,7 @@
"Select_Book": "Seleziona Libro",
"Select_File": "Seleziona file",
"Selected": "Selezionato",
"SelectedCategories": "",
"Servings": "Porzioni",
"Settings": "Impostazioni",
"Share": "Condividi",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "",
"Automate": "",
"Automation": "",
"AvailableCategories": "",
"Back": "",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -235,6 +236,7 @@
"Open_Data_Import": "",
"Open_Data_Slug": "",
"Options": "",
"Order": "",
"OrderInformation": "",
"Original_Text": "",
"Owner": "",
@@ -298,6 +300,7 @@
"Select_Book": "Pasirinkti Knygą",
"Select_File": "Pasirinkti Failą",
"Selected": "",
"SelectedCategories": "",
"Servings": "",
"Settings": "",
"Share": "",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Flytt alle ingredienser til det mest passende steget.",
"Automate": "Automatiser",
"Automation": "Automatiser",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "",
@@ -228,6 +229,7 @@
"Open_Data_Import": "Åpne Data Import",
"Open_Data_Slug": "Åpne data Slug",
"Options": "",
"Order": "",
"Original_Text": "Orginal tekst",
"Owner": "",
"Page": "",
@@ -290,6 +292,7 @@
"Select_Book": "Velg bok",
"Select_File": "Velg fil",
"Selected": "Valgte",
"SelectedCategories": "",
"Servings": "Porsjoner",
"Settings": "Innstillinger",
"Share": "Del",

View File

@@ -26,6 +26,7 @@
"Auto_Sort_Help": "Verplaats alle ingrediënten naar de best passende stap.",
"Automate": "Automatiseer",
"Automation": "Automatisering",
"AvailableCategories": "",
"Back": "Terug",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -232,6 +233,7 @@
"Open_Data_Import": "Open Data Import",
"Open_Data_Slug": "Open Data Slug",
"Options": "Opties",
"Order": "",
"Original_Text": "Originele tekst",
"Owner": "",
"Page": "Pagina",
@@ -294,6 +296,7 @@
"Select_Book": "Selecteer boek",
"Select_File": "Selecteer Bestand",
"Selected": "Geselecteerd",
"SelectedCategories": "",
"Servings": "Porties",
"Settings": "Instellingen",
"Share": "Deel",

View File

@@ -26,6 +26,7 @@
"Auto_Sort_Help": "Przenieś wszystkie składniki do najlepiej dopasowanego kroku.",
"Automate": "Automatyzacja",
"Automation": "Automatyzacja",
"AvailableCategories": "",
"Back": "Z powrotem",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -256,6 +257,7 @@
"Open_Data_Import": "Open Data Import",
"Open_Data_Slug": "Open Data Slug",
"Options": "Opcje",
"Order": "",
"OrderInformation": "Obiekty są uporządkowane od małych do dużych liczb.",
"Original_Text": "Tekst oryginalny",
"Owner": "",
@@ -322,6 +324,7 @@
"Select_Book": "Wybierz książkę",
"Select_File": "Wybierz plik",
"Selected": "Wybrane",
"SelectedCategories": "",
"Servings": "Porcje",
"Settings": "Ustawienia",
"Share": "Udostępnij",

View File

@@ -20,6 +20,7 @@
"Auto_Sort_Help": "Mover todos os ingredientes para o passo mais indicado.",
"Automate": "Automatizar",
"Automation": "Automação",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Books": "Livros",
@@ -181,6 +182,7 @@
"OnHand": "Atualmente disponível",
"OnHand_help": "",
"Open": "Abrir",
"Order": "",
"Original_Text": "Texto original",
"Owner": "",
"Page": "Página",
@@ -236,6 +238,7 @@
"Select_Book": "Selecionar Livro",
"Select_File": "Selecionar Ficheiro",
"Selected": "Selecionado",
"SelectedCategories": "",
"Servings": "Doses",
"Settings": "Definições",
"Share": "Partilhar",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Mover todos os ingredientes para o passo mais indicado.",
"Automate": "Automatizar",
"Automation": "Automação",
"AvailableCategories": "",
"Back": "Voltar",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -245,6 +246,7 @@
"Open_Data_Import": "Abrir Importação Dados",
"Open_Data_Slug": "Identificador de Dados Abertos",
"Options": "Opções",
"Order": "",
"Original_Text": "Texto Original",
"Owner": "",
"Page": "Página",
@@ -309,6 +311,7 @@
"Select_Book": "Selecionar Livro",
"Select_File": "Selecionar Arquivo",
"Selected": "Selecionado",
"SelectedCategories": "",
"Servings": "Porções",
"Settings": "Configurações",
"Share": "Compartilhar",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Mutați toate ingredientele la cel mai potrivit pas.",
"Automate": "Automatizat",
"Automation": "Automatizare",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "Marcaj",
@@ -222,6 +223,7 @@
"OnHand_help": "Alimentele sunt în inventar și nu vor fi adăugate automat la o listă de cumpărături. Starea la îndemână este partajată cu utilizatorii de cumpărături.",
"Open": "Deschide",
"Options": "Opțiuni",
"Order": "",
"Original_Text": "Text original",
"Owner": "",
"Page": "Pagină",
@@ -282,6 +284,7 @@
"Select_Book": "Selectare carte",
"Select_File": "Selectare fișier",
"Selected": "Selectat",
"SelectedCategories": "",
"Servings": "Porții",
"Settings": "Setări",
"Share": "Împărtășire",

View File

@@ -19,6 +19,7 @@
"Auto_Planner": "Автопланировщик",
"Automate": "Автоматизировать",
"Automation": "Автоматизация",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Books": "Книги",
@@ -172,6 +173,7 @@
"OnHand": "В Наличии",
"Open": "Открыть",
"Options": "Опции",
"Order": "",
"Owner": "",
"Page": "Страница",
"Parameter": "Параметр",
@@ -221,6 +223,7 @@
"Select_Book": "Выбрать книгу",
"Select_File": "Выбрать файл",
"Selected": "Выбрать",
"SelectedCategories": "",
"Servings": "Порции",
"Settings": "Настройки",
"Share": "Поделиться",

View File

@@ -18,6 +18,7 @@
"Auto_Sort_Help": "Vse sestavine prestavi v najprimernejši korak.",
"Automate": "Avtomatiziraj",
"Automation": "Avtomatizacija",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Books": "Knjige",
@@ -166,6 +167,7 @@
"Open": "Odpri",
"Open_Data_Import": "Open Data Uvoz",
"Open_Data_Slug": "Open Data Identifikator",
"Order": "",
"Owner": "",
"Parameter": "Parameter",
"Parent": "Starš",
@@ -211,6 +213,7 @@
"Select_Book": "Izberi knjigo",
"Select_File": "Izberi datoteko",
"Selected": "Izbrano",
"SelectedCategories": "",
"Servings": "Porcije",
"Settings": "Nastavitve",
"Share": "Deli",

View File

@@ -26,6 +26,7 @@
"Auto_Sort_Help": "Flytta alla ingredienser till det bästa passande steget.",
"Automate": "Automatisera",
"Automation": "Automatisering",
"AvailableCategories": "",
"Back": "Tillbaka",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -256,6 +257,7 @@
"Open_Data_Import": "Öppen Data Import",
"Open_Data_Slug": "Öppen Data Slug",
"Options": "Val",
"Order": "",
"OrderInformation": "Objekt är sorterade från små till stora siffror.",
"Original_Text": "Original Text",
"Owner": "",
@@ -322,6 +324,7 @@
"Select_Book": "Välj kokbok",
"Select_File": "Välj fil",
"Selected": "Vald",
"SelectedCategories": "",
"Servings": "Portioner",
"Settings": "Inställningar",
"Share": "Dela",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "Tüm malzemeleri en uygun adıma taşı.",
"Automate": "Otomatikleştir",
"Automation": "Otomasyon",
"AvailableCategories": "",
"Back": "Geri",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -255,6 +256,7 @@
"Open_Data_Import": "Açık Veri İçeri Aktar",
"Open_Data_Slug": "Açık Veri Tanım",
"Options": "Seçenekler",
"Order": "",
"OrderInformation": "Nesneler küçükten büyüğe doğru sıralanır.",
"Original_Text": "Orijinal Metin",
"Owner": "",
@@ -321,6 +323,7 @@
"Select_Book": "Kitap Seç",
"Select_File": "Dosya Seç",
"Selected": "Seçilen",
"SelectedCategories": "",
"Servings": "Servis Sayısı",
"Settings": "Ayarlar",
"Share": "Paylaş",

View File

@@ -22,6 +22,7 @@
"Auto_Sort_Help": "Перемістити всі інгредієнти до більш підходящого кроку.",
"Automate": "Автоматично",
"Automation": "Автоматизація",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Bookmarklet": "",
@@ -199,6 +200,7 @@
"OnHand_help": "",
"Open": "Відкрити",
"Options": "",
"Order": "",
"Original_Text": "Оригінальний текст",
"Owner": "",
"Page": "",
@@ -256,6 +258,7 @@
"Select_Book": "Вибрати Книжку",
"Select_File": "Вибрати Файл",
"Selected": "Вибрано",
"SelectedCategories": "",
"Servings": "Порції",
"Settings": "Налаштування",
"Share": "Поділитися",

View File

@@ -25,6 +25,7 @@
"Auto_Sort_Help": "将所有食材移动到最恰当的步骤。",
"Automate": "自动化",
"Automation": "自动化",
"AvailableCategories": "",
"Back": "后退",
"BaseUnit": "",
"BaseUnitHelp": "",
@@ -250,6 +251,7 @@
"Open_Data_Import": "开放数据导入",
"Open_Data_Slug": "开放数据标识",
"Options": "选项",
"Order": "",
"OrderInformation": "对象按照从小到大的顺序排列。",
"Original_Text": "原文",
"Owner": "",
@@ -316,6 +318,7 @@
"Select_Book": "选择书籍",
"Select_File": "选择文件",
"Selected": "选定",
"SelectedCategories": "",
"Servings": "份量",
"Settings": "设置",
"Share": "分享",

View File

@@ -6,6 +6,7 @@
"Add_nutrition_recipe": "為食譜添加營養資訊",
"Add_to_Plan": "加入計劃",
"Add_to_Shopping": "加入購物清單",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Books": "",
@@ -63,6 +64,7 @@
"Nutrition": "",
"Ok": "",
"Open": "",
"Order": "",
"Owner": "",
"Plural": "",
"Preferences": "",
@@ -88,6 +90,7 @@
"Select_Book": "選擇書籍",
"Select_File": "選擇檔案",
"Selected": "",
"SelectedCategories": "",
"Servings": "",
"Settings": "",
"Share": "",

View File

@@ -15,6 +15,8 @@
<unit-editor :item-id="id" v-if="model == 'Unit'" @delete="router.go(-1)"></unit-editor>
<keyword-editor :item-id="id" v-if="model == 'Keyword'" @delete="router.go(-1)"></keyword-editor>
<supermarket-editor :item-id="id" v-if="model == 'Supermarket'" @delete="router.go(-1)"></supermarket-editor>
<property-type-editor :item-id="id" v-if="model == 'PropertyType'" @delete="router.go(-1)"></property-type-editor>
<automation-editor :item-id="id" v-if="model == 'Automation'" @delete="router.go(-1)"></automation-editor>
</v-col>
</v-row>
</v-container>
@@ -29,6 +31,8 @@ import {useRouter} from "vue-router";
import UnitEditor from "@/components/model_editors/UnitEditor.vue";
import KeywordEditor from "@/components/model_editors/KeywordEditor.vue";
import SupermarketEditor from "@/components/model_editors/SupermarketEditor.vue";
import PropertyTypeEditor from "@/components/model_editors/PropertyTypeEditor.vue";
import AutomationEditor from "@/components/model_editors/AutomationEditor.vue";
const props = defineProps({
model: {type: String, default: 'Food'},

View File

@@ -277,6 +277,7 @@ export const TAutomation = {
tableHeaders: [
{title: 'Name', key: 'name'},
{title: 'Type', key: 'type'},
{title: 'Actions', key: 'action', align: 'end'},
]
} as Model

View File

@@ -70,6 +70,7 @@ export default createVuetify({
close: 'fa-solid fa-xmark',
help: 'fa-solid fa-info',
settings: 'fa-solid fa-sliders',
dragHandle: 'fa-solid fa-grip-vertical',
spaces: 'fa-solid fa-database',
shopping: 'fa-solid fa-cart-shopping',
mealplan: 'fa-solid fa-calendar-days',