Merge branch 'develop' into feature/vue3

# Conflicts:
#	cookbook/views/api.py
#	vue/src/utils/models.js
This commit is contained in:
vabene1111
2024-08-20 11:54:19 +02:00
91 changed files with 6344 additions and 2937 deletions

View File

@@ -543,6 +543,7 @@
"ml": "millilitre [ml] (metric, volume)",
"l": "litre [l] (metric, volume)",
"fluid_ounce": "fluid ounce [fl oz] (US, volume)",
"us_cup": "cup (US, volume)",
"pint": "pint [pt] (US, volume)",
"quart": "quart [qt] (US, volume)",
"gallon": "gallon [gal] (US, volume)",

View File

@@ -5,7 +5,7 @@
"Log_Recipe_Cooking": "Bereiding loggen",
"External_Recipe_Image": "Externe Afbeelding Recept",
"Add_to_Book": "Voeg toe aan Boek",
"Add_to_Shopping": "Voeg toe aan Winkelen",
"Add_to_Shopping": "Voeg toe aan Boodschappen",
"Add_to_Plan": "Voeg toe aan Plan",
"Step_start_time": "Starttijd stap",
"Select_Book": "Selecteer boek",
@@ -38,7 +38,7 @@
"Import": "Importeer",
"Print": "Afdrukken",
"Information": "Informatie",
"Keywords": "Etiketten",
"Keywords": "Trefwoorden",
"Books": "Boeken",
"show_only_internal": "Toon alleen interne recepten",
"New_Recipe": "Nieuw Recept",
@@ -89,16 +89,16 @@
"merge_selection": "Vervang alle voorvallen van {source} door het type {type}.",
"Root": "Bron",
"show_split_screen": "Gesplitste weergave",
"New_Keyword": "Nieuw Etiket",
"Delete_Keyword": "Verwijder Etiket",
"Edit_Keyword": "Bewerk Etiket",
"Move_Keyword": "Verplaats Etiket",
"Hide_Keywords": "Verberg Etiket",
"New_Keyword": "Nieuw Trefwoord",
"Delete_Keyword": "Verwijder Trefwoord",
"Edit_Keyword": "Bewerk Trefwoord",
"Move_Keyword": "Verplaats Trefwoord",
"Hide_Keywords": "Verberg Trefwoord",
"Hide_Recipes": "Verberg Recepten",
"Advanced Search Settings": "Geavanceerde zoekinstellingen",
"Merge": "Samenvoegen",
"delete_confimation": "Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?",
"Merge_Keyword": "Voeg Etiket samen",
"Merge_Keyword": "Voeg Trefwoord samen",
"step_time_minutes": "Stap duur in minuten",
"confirm_delete": "Weet je zeker dat je dit {object} wil verwijderen?",
"Show_as_header": "Toon als koptekst",
@@ -114,10 +114,10 @@
"Make_Ingredient": "Maak Ingrediënt",
"Enable_Amount": "Schakel hoeveelheid in",
"Disable_Amount": "Schakel hoeveelheid uit",
"Add_Step": "Voeg Stap toe",
"Add_Step": "Voeg stap toe",
"Note": "Notitie",
"delete_confirmation": "Weet je zeker dat je {source} wil verwijderen?",
"Ignore_Shopping": "Negeer winkelen",
"Ignore_Shopping": "Negeer Boodschappen",
"Shopping_Category": "Boodschappencategorie",
"Edit_Food": "Bewerk Eten",
"Move_Food": "Verplaats Eten",
@@ -135,7 +135,7 @@
"create_rule": "en creëer automatisering",
"Food_Alias": "Eten Alias",
"Unit_Alias": "Eenheid Alias",
"Keyword_Alias": "Etiket Alias",
"Keyword_Alias": "Trefwoord Alias",
"Recipe_Book": "Kookboek",
"New_Unit": "Nieuwe Eenheid",
"Create_New_Shopping Category": "Maak nieuwe boodschappencategorie",
@@ -150,16 +150,16 @@
"Icon": "Icoon",
"Unit": "Eenheid",
"No_Results": "Geen resultaten",
"Create_New_Keyword": "Voeg nieuw Etiket toe",
"Create_New_Keyword": "Voeg nieuw Trefwoord toe",
"Create_New_Unit": "Voeg nieuwe Eenheid toe",
"Instructions": "Instructies",
"Automate": "Automatiseer",
"Key_Shift": "Shift",
"Text": "Tekst",
"and_up": "& Omhoog",
"and_up": "& Hoger",
"Unrated": "Niet beoordeeld",
"Shopping_list": "Boodschappenlijst",
"del_confirmation_tree": "Weet je zeker dat je {source} en al zijn kinderen wil verwijderen?",
"del_confirmation_tree": "Weet je zeker dat je {source} en al zijn afgeleiden wilt verwijderen?",
"Create_New_Food": "Voeg nieuw Eten toe",
"Time": "Tijd",
"warning_feature_beta": "Deze functie zit op dit moment in de BETA (test) fase. Verwacht hier bugs en toekomstige wijzigingen die tot het verlies van data kunnen leiden bij het gebruik.",
@@ -207,7 +207,7 @@
"Coming_Soon": "Binnenkort beschikbaar",
"Auto_Planner": "Autoplanner",
"New_Cookbook": "Nieuw kookboek",
"Hide_Keyword": "Verberg etiketten",
"Hide_Keyword": "Verberg Trefwoorden",
"Clear": "Maak leeg",
"Shopping_Categories": "Boodschappen categorieën",
"IngredientInShopping": "Dit ingrediënt staat op je boodschappenlijst.",
@@ -232,8 +232,8 @@
"FoodNotOnHand": "Je hebt {food} niet op voorraad.",
"Undefined": "Ongedefinieerd",
"DeleteShoppingConfirm": "Weet je zeker dat je {food} van de boodschappenlijst wil verwijderen?",
"IgnoredFood": "{food} wordt genegeerd voor winkelen.",
"Add_Servings_to_Shopping": "Voeg {servings} porties toe aan Winkelen",
"IgnoredFood": "{food} wordt genegeerd voor boodschappen.",
"Add_Servings_to_Shopping": "Voeg {servings} porties toe aan Boodschappen",
"Inherit": "Erf",
"InheritFields": "Erf veld waardes",
"FoodInherit": "Eten erfbare velden",
@@ -291,7 +291,7 @@
"simple_mode": "Eenvoudige modus",
"advanced": "Geavanceerd",
"fields": "Velden",
"show_keywords": "Toon etiketten",
"show_keywords": "Toon Trefwoorden",
"show_foods": "Toon ingrediënten",
"show_books": "Toon boeken",
"show_rating": "Toon waardering",
@@ -325,13 +325,13 @@
"search_import_help_text": "Importeer een recept van een externe website of applicatie.",
"search_create_help_text": "Maak direct een nieuw recept in Tandoor.",
"warning_duplicate_filter": "Waarschuwing: door technische beperkingen kan het hebben van meerdere filters of dezelfde combinatie (en/of/niet) tot onverwachte resultaten leiden.",
"reset_children": "Overerving van kinderen resetten",
"reset_children_help": "Overschrijf alle kinderen met waarden van overgeërfde velden. Overgeërfde velden van kinderen worden ingesteld als velden erven tenzij kinderen erven velden ingesteld is.",
"substitute_help": "Vervangers worden overwogen bij het zoeken naar recepten die kunnen worden gemaakt met beschikbare ingrediënten.",
"substitute_siblings_help": "Alle ingrediënten die een ouder delen met dit ingrediënt worden als vervangers beschouwd.",
"substitute_siblings": "Vervangers",
"substitute_children": "Vervang kinderen",
"ChildInheritFields_help": "Standaard erven kinderen deze velden.",
"reset_children": "Afgeleide Relaties Herstellen",
"reset_children_help": "Overschrijf alle afgeleiden met waarden uit de overgeërfde velden. Overgeërfde velden van afgeleiden worden ingesteld op 'Velden overerven', tenzij 'Afgeleiden erven velden' is ingesteld.",
"substitute_help": "Alternatieven worden overwogen bij het zoeken naar recepten die kunnen worden gemaakt met beschikbare ingrediënten.",
"substitute_siblings_help": "Alle voedingsmiddelen die een gemeenschappelijke oorsprong hebben met dit voedingsmiddel worden beschouwd als alternatieven.",
"substitute_siblings": "Alternatieve Varianten",
"substitute_children": "Alternatieve afgeleiden",
"ChildInheritFields_help": "Afgeleiden zullen deze velden standaard overnemen.",
"last_viewed": "Laatst bekeken",
"created_on": "Aangemaakt op",
"updatedon": "Geüpdatet op",
@@ -344,8 +344,8 @@
"Units": "Eenheden",
"Random Recipes": "Willekeurige recepten",
"parameter_count": "Parameter {count}",
"select_keyword": "Selecteer etiket",
"add_keyword": "Voeg etiket toe",
"select_keyword": "Selecteer Trefwoord",
"add_keyword": "Voeg Trefwoord toe",
"select_file": "Selecteer bestand",
"select_recipe": "Selecteer recept",
"select_unit": "Selecteer eenheid",
@@ -355,7 +355,7 @@
"Select": "Selecteer",
"Supermarkets": "Supermarkten",
"User": "Gebruiker",
"Keyword": "Etiket",
"Keyword": "Trefwoord",
"Advanced": "Geavanceerd",
"Page": "Pagina",
"left_handed": "Linkshandige modus",
@@ -373,9 +373,9 @@
"remember_hours": "Te onthouden uren",
"food_recipe_help": "Hier een recept koppelen voegt het gekoppelde recept toe in elk ander recept dat dit ingrediënt gebruikt",
"left_handed_help": "Optimaliseert de gebruikersinterface voor linkshandig gebruik.",
"substitute_children_help": "Alle ingrediënten die kinderen zijn van dit ingrediënt worden beschouwd als vervangers.",
"SubstituteOnHand": "Je hebt een vervanger op voorraad.",
"ChildInheritFields": "Kinderen erven velden",
"substitute_children_help": "Alle voedingsmiddelen die afgeleiden zijn van dit voedingsmiddel worden beschouwd als alternatieven.",
"SubstituteOnHand": "Je hebt een alternatief op voorraad.",
"ChildInheritFields": "Afgeleiden Erven Velden",
"InheritFields_help": "De waarden van deze velden worden overgenomen van de bovenliggende waarden (uitzondering: lege boodschappencategorieën)",
"no_pinned_recipes": "Je hebt geen vastgepinde recepten!",
"Internal": "Interne",
@@ -431,7 +431,7 @@
"Second": "Seconde",
"Seconds": "Seconden",
"Account": "Account",
"Cosmetic": "Kosmetisch",
"Cosmetic": "Cosmetisch",
"Message": "Bericht",
"Sticky_Nav": "Navigatie altijd zichbaar",
"Sticky_Nav_Help": "Geef navigatiemenu altijd bovenin weer.",
@@ -485,16 +485,16 @@
"recipe_property_info": "Je kunt ook eigenschappen aan voedingsmiddelen toevoegen om ze automatisch te berekenen op basis van je recept!",
"per_serving": "per portie",
"Open_Data_Slug": "Open Data Slug",
"Open_Data_Import": "Open Data Import",
"Open_Data_Import": "Open Data importeren",
"Update_Existing_Data": "Bestaande gegevens bijwerken",
"Use_Metric": "Metrische eenheden gebruiken",
"Use_Metric": "Gebruik metrische eenheden",
"Learn_More": "Meer informatie",
"converted_unit": "Aangepaste eenheid",
"converted_amount": "Aangepast Bedrag",
"Datatype": "Datatype",
"Number of Objects": "Aantal Objecten",
"open_data_help_text": "Het Tandoor Open Data-project biedt door de community bijgedragen gegevens voor Tandoor. Dit veld wordt automatisch gevuld bij het importeren en maakt updates in de toekomst mogelijk.",
"Data_Import_Info": "Verbeter je Space door een door de community samengestelde lijst van voedingsmiddelen, eenheden en meer te importeren om je receptenverzameling te verbeteren.",
"Data_Import_Info": "Verbeter je Ruimte door een door de community samengestelde lijst van voedingsmiddelen, eenheden en meer te importeren om je receptenverzameling te verbeteren.",
"base_unit": "Basis Unit",
"base_amount": "Basisbedrag",
"Welcome": "Welkom",
@@ -521,5 +521,55 @@
"imperial_tsp": "imperial thelepel [imp tsp] (UK, volume)",
"Choose_Category": "Kies Categorie",
"Back": "Terug",
"err_importing_recipe": "Bij het importeren van het recept is een fout opgetreden!"
"err_importing_recipe": "Bij het importeren van het recept is een fout opgetreden!",
"CustomLogoHelp": "Upload vierkante afbeeldingen in verschillende groottes om het logo in het browser tabblad en geïnstalleerde web apps aan te passen.",
"DefaultPage": "Standaard Pagina",
"hide_step_ingredients": "Verberg Stap Ingrediënten",
"CustomTheme": "Aangepast Thema",
"CustomThemeHelp": "Overschrijf de stijl van het thema door een aangepast CSS bestand te uploaden.",
"CustomImageHelp": "Upload een afbeelding om te tonen in het Ruimte overzicht.",
"CustomNavLogoHelp": "Upload een afbeelding om als logo te gebruiken in de navigatie balk.",
"FDC_ID": "FDC ID",
"FDC_ID_help": "FDC database ID",
"fluid_ounce": "vloeibare ounce [fl oz] (US, volume)",
"make_now_count": "Hoogstens ontbrekende ingrediënten",
"Undo": "Ongedaan maken",
"Input": "Invoer",
"NoMoreUndo": "Geen veranderingen om ongedaan te maken.",
"Delete_All": "Alles verwijderen",
"show_step_ingredients_setting": "Toon ingrediënten naast de recept stappen",
"show_step_ingredients_setting_help": "Voeg ingrediënten tabel toe naast de recept stappen. Wordt tijdens het aanmaken toegepast. Kan worden overschreven in de 'recept aanpassen' weergave.",
"show_step_ingredients": "Toon Stap Ingrediënten",
"Properties_Food_Amount": "Eigenschappen Voedingsmiddelen Hoeveelheid",
"Properties_Food_Unit": "Eigenschappen Voedsel Eenheid",
"Shopping_input_placeholder": "bijv. Aardappel/100 Aardappelen/100 g Aardappelen",
"Property_Editor": "Eigenschappen Editor",
"created_by": "Gemaakt door",
"CustomLogos": "Aangepaste Logo's",
"ShowRecentlyCompleted": "Toon recent voltooide items",
"ShoppingBackgroundSyncWarning": "Slecht netwerk, wachten met synchroniseren…",
"OrderInformation": "Objecten worden van kleine naar grote nummers gesorteerd.",
"Show_Logo": "Toon Logo",
"Show_Logo_Help": "Toon Tandoor of ruimte logo in navigatie balk.",
"Created": "Gemaakt",
"Updated": "Geüpdate",
"Unchanged": "Ongewijzigd",
"Error": "Fout",
"Logo": "Logo",
"Nav_Text_Mode": "Navigatie Tekst Mode",
"Space_Cosmetic_Settings": "Sommige cosmetische instellingen kunnen worden gewijzigd door de administrator van de Ruimte en zullen de persoonlijk instellingen voor die Ruimte overschrijven.",
"Nav_Text_Mode_Help": "Beinvloed het uiterlijk voor ieder thema anders.",
"show_ingredients_table": "Toon een tabel van de ingrediënten naast de stap tekst",
"Alignment": "Afstemming",
"FDC_Search": "FDC Zoeken",
"property_type_fdc_hint": "Alleen eigenschap types met een FDC ID kunnen automatisch data uit de FDC database opvragen",
"Unit_Replace": "Eenheden Vervangen",
"Calculator": "Rekenmachine",
"StartDate": "Start Datum",
"EndDate": "Eind Datum",
"Enable": "Inschakelen",
"Name_Replace": "Naam Vervangen",
"Food_Replace": "Voedingsmiddelen Vervangen",
"Never_Unit": "Nooit Eenheid",
"Transpose_Words": "Omzetten Woorden"
}

View File

@@ -605,13 +605,786 @@ export class Models {
},
placeholder: "",
},
param_2: {
form_field: true,
type: "text",
field: "param_2",
label: {
function: "translate",
phrase: "parameter_count",
shopping: {
params: ["id", ["id", "amount", "unit", "_delete"]],
},
}
static FOOD_INHERIT_FIELDS = {
name: "FoodInherit",
apiName: "FoodInheritField",
}
static KEYWORD = {
name: "Keyword", // *OPTIONAL: parameters will be built model -> model_type -> default
apiName: "Keyword",
model_type: this.TREE,
paginated: true,
move: true,
merge: true,
badges: {
icon: true,
},
create: {
// if not defined partialUpdate will use the same parameters, prepending 'id'
params: [["name", "description"]],
form: {
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
full_name: {
form_field: true,
type: "smalltext",
field: "full_name",
},
},
},
}
static UNIT = {
name: "Unit",
apiName: "Unit",
paginated: true,
create: {
params: [["name", "plural_name", "description", "base_unit", "open_data_slug"]],
form: {
show_help: true,
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
plural_name: {
form_field: true,
type: "text",
field: "plural_name",
label: "Plural name",
placeholder: "",
optional: true,
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
base_unit: {
form_field: true,
type: "choice",
options: [
{value: "g", text: "g"},
{value: "kg", text: "kg"},
{value: "ounce", text: "ounce"},
{value: "pound", text: "pound"},
{value: "ml", text: "ml"},
{value: "l", text: "l"},
{value: "fluid_ounce", text: "fluid_ounce"},
{value: "us_cup", text: "us_cup"},
{value: "pint", text: "pint"},
{value: "quart", text: "quart"},
{value: "gallon", text: "gallon"},
{value: "tbsp", text: "tbsp"},
{value: "tsp", text: "tsp"},
{value: "imperial_fluid_ounce", text: "imperial_fluid_ounce"},
{value: "imperial_pint", text: "imperial_pint"},
{value: "imperial_quart", text: "imperial_quart"},
{value: "imperial_gallon", text: "imperial_gallon"},
{value: "imperial_tbsp", text: "imperial_tbsp"},
{value: "imperial_tsp", text: "imperial_tsp"},
],
field: "base_unit",
label: "Base Unit",
placeholder: "",
optional: true,
},
open_data_slug: {
form_field: true,
type: "text",
field: "open_data_slug",
disabled: true,
label: "Open_Data_Slug",
help_text: "open_data_help_text",
optional: true,
},
},
},
merge: true,
}
static SHOPPING_LIST = {
name: "Shopping_list",
apiName: "ShoppingListEntry",
list: {
params: ["id", "checked", "supermarket", "options"],
},
create: {
params: [["amount", "unit", "food", "checked"]],
form: {
unit: {
form_field: true,
type: "lookup",
field: "unit",
list: "UNIT",
label: "Unit",
allow_create: true,
},
food: {
form_field: true,
type: "lookup",
field: "food",
list: "FOOD",
label: "Food", // form.label always translated in utils.getForm()
allow_create: true,
},
},
},
}
static RECIPE_BOOK = {
name: "Recipe_Book",
apiName: "RecipeBook",
create: {
params: [["name", "description", "filter"]],
form: {
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
filter: {
form_field: true,
type: "lookup",
field: "filter",
label: "Custom Filter",
list: "CUSTOM_FILTER",
optional: true,
},
},
},
}
static SHOPPING_CATEGORY = {
name: "Shopping_Category",
apiName: "SupermarketCategory",
merge: true,
create: {
params: [["name", "description"]],
form: {
name: {
form_field: true,
type: "text",
field: "name",
label: "Name", // form.label always translated in utils.getForm()
placeholder: "",
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
open_data_slug: {
form_field: true,
type: "text",
field: "open_data_slug",
disabled: true,
label: "Open_Data_Slug",
help_text: "open_data_help_text",
optional: true,
},
},
},
}
static SHOPPING_CATEGORY_RELATION = {
name: "Shopping_Category_Relation",
apiName: "SupermarketCategoryRelation",
create: {
params: [["category", "supermarket", "order"]],
form: {
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
},
},
},
}
static SUPERMARKET = {
name: "Supermarket",
apiName: "Supermarket",
ordered_tags: [{field: "category_to_supermarket", label: "category::name", color: "info"}],
create: {
params: [["name", "description", "category_to_supermarket"]],
form: {
show_help: true,
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
categories: {
form_field: true,
type: "lookup",
list: "SHOPPING_CATEGORY",
list_label: "category::name",
ordered: true, // ordered lookups assume working with relation field
field: "category_to_supermarket",
label: "Categories", // form.label always translated in utils.getForm()
placeholder: "",
optional: true,
},
open_data_slug: {
form_field: true,
type: "text",
field: "open_data_slug",
disabled: true,
label: "Open_Data_Slug",
help_text: "open_data_help_text",
optional: true,
},
},
config: {
function: "SupermarketWithCategories",
},
},
partialUpdate: {
config: {
function: "SupermarketWithCategories",
},
},
}
static AUTOMATION = {
name: "Automation",
apiName: "Automation",
paginated: true,
list: {
header_component: {
name: "BetaWarning",
},
params: ["automation_type", "page", "pageSize", "options"],
},
create: {
params: [["name", "description", "type", "param_1", "param_2", "param_3", "order", "disabled"]],
form: {
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
type: {
form_field: true,
type: "choice",
options: [
{value: "FOOD_ALIAS", text: "Food_Alias"},
{value: "UNIT_ALIAS", text: "Unit_Alias"},
{value: "KEYWORD_ALIAS", text: "Keyword_Alias"},
{value: "NAME_REPLACE", text: "Name_Replace"},
{value: "DESCRIPTION_REPLACE", text: "Description_Replace"},
{value: "INSTRUCTION_REPLACE", text: "Instruction_Replace"},
{value: "FOOD_REPLACE", text: "Food_Replace"},
{value: "UNIT_REPLACE", text: "Unit_Replace"},
{value: "NEVER_UNIT", text: "Never_Unit"},
{value: "TRANSPOSE_WORDS", text: "Transpose_Words"},
],
field: "type",
label: "Type",
placeholder: "",
},
param_1: {
form_field: true,
type: "text",
field: "param_1",
label: {
function: "translate",
phrase: "parameter_count",
params: [
{
token: "count",
attribute: "1",
},
],
},
placeholder: "",
},
param_2: {
form_field: true,
type: "text",
field: "param_2",
label: {
function: "translate",
phrase: "parameter_count",
params: [
{
token: "count",
attribute: "2",
},
],
},
placeholder: "",
},
param_3: {
form_field: true,
type: "text",
field: "param_3",
label: {
function: "translate",
phrase: "parameter_count",
params: [
{
token: "count",
attribute: "3",
},
],
},
placeholder: "",
},
order: {
form_field: true,
type: "number",
field: "order",
label: "Order",
placeholder: 0,
},
disabled: {
form_field: true,
type: "checkbox",
field: "disabled",
label: "Disabled",
placeholder: "",
},
form_function: "AutomationOrderDefault",
},
}
}
static UNIT_CONVERSION = {
name: "Unit Conversion",
apiName: "UnitConversion",
paginated: false,
list: {
header_component: {
name: "BetaWarning",
},
},
create: {
params: [["food", "base_amount", "base_unit", "converted_amount", "converted_unit", "open_data_slug"]],
form: {
show_help: true,
// TODO add proper help texts for everything
food: {
form_field: true,
type: "lookup",
field: "food",
list: "FOOD",
list_label: "name",
label: "Food",
multiple: false,
},
base_amount: {
form_field: true,
type: "text",
field: "base_amount",
label: "base_amount",
placeholder: "",
},
base_unit: {
form_field: true,
type: "lookup",
field: "base_unit",
list: "UNIT",
list_label: "name",
label: "base_unit",
multiple: false,
},
converted_amount: {
form_field: true,
type: "text",
field: "converted_amount",
label: "converted_amount",
placeholder: "",
},
converted_unit: {
form_field: true,
type: "lookup",
field: "converted_unit",
list: "UNIT",
list_label: "name",
label: "converted_unit",
multiple: false,
},
open_data_slug: {
form_field: true,
type: "text",
field: "open_data_slug",
disabled: true,
label: "Open_Data_Slug",
help_text: "open_data_help_text",
optional: true,
},
},
},
}
static PROPERTY_TYPE = {
name: "Property Type",
apiName: "PropertyType",
paginated: false,
list: {
header_component: {
name: "BetaWarning",
},
},
create: {
params: [["name", "unit", "description", "order", "fdc_id"]],
form: {
show_help: true,
name: {
form_field: true,
type: "text",
field: "name",
label: "Name",
placeholder: "",
},
unit: {
form_field: true,
type: "text",
field: "unit",
label: "Unit",
placeholder: "",
optional: true,
},
description: {
form_field: true,
type: "text",
field: "description",
label: "Description",
placeholder: "",
optional: true,
},
order: {
form_field: true,
type: "number",
field: "order",
label: "Order",
placeholder: "",
optional: true,
help_text: "OrderInformation",
},
fdc_id: {
form_field: true,
type: "choice",
options: [
{value: 1002, text: "Nitrogen [g] (1002)"},
{value: 1003, text: "Protein [g] (1003)"},
{value: 1004, text: "Total lipid (fat) [g] (1004)"},
{value: 1005, text: "Carbohydrate, by difference [g] (1005)"},
{value: 1007, text: "Ash [g] (1007)"},
{value: 1008, text: "Energy [kcal] (1008)"},
{value: 1009, text: "Starch [g] (1009)"},
{value: 1010, text: "Sucrose [g] (1010)"},
{value: 1011, text: "Glucose [g] (1011)"},
{value: 1012, text: "Fructose [g] (1012)"},
{value: 1013, text: "Lactose [g] (1013)"},
{value: 1014, text: "Maltose [g] (1014)"},
{value: 1024, text: "Specific Gravity [sp gr] (1024)"},
{value: 1032, text: "Citric acid [mg] (1032)"},
{value: 1039, text: "Malic acid [mg] (1039)"},
{value: 1041, text: "Oxalic acid [mg] (1041)"},
{value: 1043, text: "Pyruvic acid [mg] (1043)"},
{value: 1044, text: "Quinic acid [mg] (1044)"},
{value: 1050, text: "Carbohydrate, by summation [g] (1050)"},
{value: 1051, text: "Water [g] (1051)"},
{value: 1062, text: "Energy [kJ] (1062)"},
{value: 1063, text: "Sugars, Total [g] (1063)"},
{value: 1075, text: "Galactose [g] (1075)"},
{value: 1076, text: "Raffinose [g] (1076)"},
{value: 1077, text: "Stachyose [g] (1077)"},
{value: 1079, text: "Fiber, total dietary [g] (1079)"},
{value: 1082, text: "Fiber, soluble [g] (1082)"},
{value: 1084, text: "Fiber, insoluble [g] (1084)"},
{value: 1085, text: "Total fat (NLEA) [g] (1085)"},
{value: 1087, text: "Calcium, Ca [mg] (1087)"},
{value: 1089, text: "Iron, Fe [mg] (1089)"},
{value: 1090, text: "Magnesium, Mg [mg] (1090)"},
{value: 1091, text: "Phosphorus, P [mg] (1091)"},
{value: 1092, text: "Potassium, K [mg] (1092)"},
{value: 1093, text: "Sodium, Na [mg] (1093)"},
{value: 1094, text: "Sulfur, S [mg] (1094)"},
{value: 1095, text: "Zinc, Zn [mg] (1095)"},
{value: 1097, text: "Cobalt, Co [µg] (1097)"},
{value: 1098, text: "Copper, Cu [mg] (1098)"},
{value: 1100, text: "Iodine, I [µg] (1100)"},
{value: 1101, text: "Manganese, Mn [mg] (1101)"},
{value: 1102, text: "Molybdenum, Mo [µg] (1102)"},
{value: 1103, text: "Selenium, Se [µg] (1103)"},
{value: 1105, text: "Retinol [µg] (1105)"},
{value: 1106, text: "Vitamin A, RAE [µg] (1106)"},
{value: 1107, text: "Carotene, beta [µg] (1107)"},
{value: 1108, text: "Carotene, alpha [µg] (1108)"},
{value: 1109, text: "Vitamin E (alpha-tocopherol) [mg] (1109)"},
{value: 1110, text: "Vitamin D (D2 + D3), International Units [IU] (1110)"},
{value: 1111, text: "Vitamin D2 (ergocalciferol) [µg] (1111)"},
{value: 1112, text: "Vitamin D3 (cholecalciferol) [µg] (1112)"},
{value: 1113, text: "25-hydroxycholecalciferol [µg] (1113)"},
{value: 1114, text: "Vitamin D (D2 + D3) [µg] (1114)"},
{value: 1116, text: "Phytoene [µg] (1116)"},
{value: 1117, text: "Phytofluene [µg] (1117)"},
{value: 1118, text: "Carotene, gamma [µg] (1118)"},
{value: 1119, text: "Zeaxanthin [µg] (1119)"},
{value: 1120, text: "Cryptoxanthin, beta [µg] (1120)"},
{value: 1121, text: "Lutein [µg] (1121)"},
{value: 1122, text: "Lycopene [µg] (1122)"},
{value: 1123, text: "Lutein + zeaxanthin [µg] (1123)"},
{value: 1125, text: "Tocopherol, beta [mg] (1125)"},
{value: 1126, text: "Tocopherol, gamma [mg] (1126)"},
{value: 1127, text: "Tocopherol, delta [mg] (1127)"},
{value: 1128, text: "Tocotrienol, alpha [mg] (1128)"},
{value: 1129, text: "Tocotrienol, beta [mg] (1129)"},
{value: 1130, text: "Tocotrienol, gamma [mg] (1130)"},
{value: 1131, text: "Tocotrienol, delta [mg] (1131)"},
{value: 1137, text: "Boron, B [µg] (1137)"},
{value: 1146, text: "Nickel, Ni [µg] (1146)"},
{value: 1159, text: "cis-beta-Carotene [µg] (1159)"},
{value: 1160, text: "cis-Lycopene [µg] (1160)"},
{value: 1161, text: "cis-Lutein/Zeaxanthin [µg] (1161)"},
{value: 1162, text: "Vitamin C, total ascorbic acid [mg] (1162)"},
{value: 1165, text: "Thiamin [mg] (1165)"},
{value: 1166, text: "Riboflavin [mg] (1166)"},
{value: 1167, text: "Niacin [mg] (1167)"},
{value: 1170, text: "Pantothenic acid [mg] (1170)"},
{value: 1175, text: "Vitamin B-6 [mg] (1175)"},
{value: 1176, text: "Biotin [µg] (1176)"},
{value: 1177, text: "Folate, total [µg] (1177)"},
{value: 1178, text: "Vitamin B-12 [µg] (1178)"},
{value: 1180, text: "Choline, total [mg] (1180)"},
{value: 1183, text: "Vitamin K (Menaquinone-4) [µg] (1183)"},
{value: 1184, text: "Vitamin K (Dihydrophylloquinone) [µg] (1184)"},
{value: 1185, text: "Vitamin K (phylloquinone) [µg] (1185)"},
{value: 1188, text: "5-methyl tetrahydrofolate (5-MTHF) [µg] (1188)"},
{value: 1191, text: "10-Formyl folic acid (10HCOFA) [µg] (1191)"},
{value: 1192, text: "5-Formyltetrahydrofolic acid (5-HCOH4 [µg] (1192)"},
{value: 1194, text: "Choline, free [mg] (1194)"},
{value: 1195, text: "Choline, from phosphocholine [mg] (1195)"},
{value: 1196, text: "Choline, from phosphotidyl choline [mg] (1196)"},
{value: 1197, text: "Choline, from glycerophosphocholine [mg] (1197)"},
{value: 1198, text: "Betaine [mg] (1198)"},
{value: 1199, text: "Choline, from sphingomyelin [mg] (1199)"},
{value: 1210, text: "Tryptophan [g] (1210)"},
{value: 1211, text: "Threonine [g] (1211)"},
{value: 1212, text: "Isoleucine [g] (1212)"},
{value: 1213, text: "Leucine [g] (1213)"},
{value: 1214, text: "Lysine [g] (1214)"},
{value: 1215, text: "Methionine [g] (1215)"},
{value: 1216, text: "Cystine [g] (1216)"},
{value: 1217, text: "Phenylalanine [g] (1217)"},
{value: 1218, text: "Tyrosine [g] (1218)"},
{value: 1219, text: "Valine [g] (1219)"},
{value: 1220, text: "Arginine [g] (1220)"},
{value: 1221, text: "Histidine [g] (1221)"},
{value: 1222, text: "Alanine [g] (1222)"},
{value: 1223, text: "Aspartic acid [g] (1223)"},
{value: 1224, text: "Glutamic acid [g] (1224)"},
{value: 1225, text: "Glycine [g] (1225)"},
{value: 1226, text: "Proline [g] (1226)"},
{value: 1227, text: "Serine [g] (1227)"},
{value: 1228, text: "Hydroxyproline [g] (1228)"},
{value: 1232, text: "Cysteine [g] (1232)"},
{value: 1253, text: "Cholesterol [mg] (1253)"},
{value: 1257, text: "Fatty acids, total trans [g] (1257)"},
{value: 1258, text: "Fatty acids, total saturated [g] (1258)"},
{value: 1259, text: "SFA 4:0 [g] (1259)"},
{value: 1260, text: "SFA 6:0 [g] (1260)"},
{value: 1261, text: "SFA 8:0 [g] (1261)"},
{value: 1262, text: "SFA 10:0 [g] (1262)"},
{value: 1263, text: "SFA 12:0 [g] (1263)"},
{value: 1264, text: "SFA 14:0 [g] (1264)"},
{value: 1265, text: "SFA 16:0 [g] (1265)"},
{value: 1266, text: "SFA 18:0 [g] (1266)"},
{value: 1267, text: "SFA 20:0 [g] (1267)"},
{value: 1268, text: "MUFA 18:1 [g] (1268)"},
{value: 1269, text: "PUFA 18:2 [g] (1269)"},
{value: 1270, text: "PUFA 18:3 [g] (1270)"},
{value: 1271, text: "PUFA 20:4 [g] (1271)"},
{value: 1272, text: "PUFA 22:6 n-3 (DHA) [g] (1272)"},
{value: 1273, text: "SFA 22:0 [g] (1273)"},
{value: 1276, text: "PUFA 18:4 [g] (1276)"},
{value: 1277, text: "MUFA 20:1 [g] (1277)"},
{value: 1278, text: "PUFA 20:5 n-3 (EPA) [g] (1278)"},
{value: 1279, text: "MUFA 22:1 [g] (1279)"},
{value: 1280, text: "PUFA 22:5 n-3 (DPA) [g] (1280)"},
{value: 1281, text: "TFA 14:1 t [g] (1281)"},
{value: 1284, text: "Ergosterol [mg] (1284)"},
{value: 1285, text: "Stigmasterol [mg] (1285)"},
{value: 1286, text: "Campesterol [mg] (1286)"},
{value: 1287, text: "Brassicasterol [mg] (1287)"},
{value: 1288, text: "Beta-sitosterol [mg] (1288)"},
{value: 1289, text: "Campestanol [mg] (1289)"},
{value: 1292, text: "Fatty acids, total monounsaturated [g] (1292)"},
{value: 1293, text: "Fatty acids, total polyunsaturated [g] (1293)"},
{value: 1294, text: "Beta-sitostanol [mg] (1294)"},
{value: 1296, text: "Delta-5-avenasterol [mg] (1296)"},
{value: 1298, text: "Phytosterols, other [mg] (1298)"},
{value: 1299, text: "SFA 15:0 [g] (1299)"},
{value: 1300, text: "SFA 17:0 [g] (1300)"},
{value: 1301, text: "SFA 24:0 [g] (1301)"},
{value: 1303, text: "TFA 16:1 t [g] (1303)"},
{value: 1304, text: "TFA 18:1 t [g] (1304)"},
{value: 1305, text: "TFA 22:1 t [g] (1305)"},
{value: 1306, text: "TFA 18:2 t not further defined [g] (1306)"},
{value: 1311, text: "PUFA 18:2 CLAs [g] (1311)"},
{value: 1312, text: "MUFA 24:1 c [g] (1312)"},
{value: 1313, text: "PUFA 20:2 n-6 c,c [g] (1313)"},
{value: 1314, text: "MUFA 16:1 c [g] (1314)"},
{value: 1315, text: "MUFA 18:1 c [g] (1315)"},
{value: 1316, text: "PUFA 18:2 n-6 c,c [g] (1316)"},
{value: 1317, text: "MUFA 22:1 c [g] (1317)"},
{value: 1321, text: "PUFA 18:3 n-6 c,c,c [g] (1321)"},
{value: 1323, text: "MUFA 17:1 [g] (1323)"},
{value: 1325, text: "PUFA 20:3 [g] (1325)"},
{value: 1329, text: "Fatty acids, total trans-monoenoic [g] (1329)"},
{value: 1330, text: "Fatty acids, total trans-dienoic [g] (1330)"},
{value: 1331, text: "Fatty acids, total trans-polyenoic [g] (1331)"},
{value: 1333, text: "MUFA 15:1 [g] (1333)"},
{value: 1334, text: "PUFA 22:2 [g] (1334)"},
{value: 1335, text: "SFA 11:0 [g] (1335)"},
{value: 1340, text: "Daidzein [mg] (1340)"},
{value: 1341, text: "Genistein [mg] (1341)"},
{value: 1404, text: "PUFA 18:3 n-3 c,c,c (ALA) [g] (1404)"},
{value: 1405, text: "PUFA 20:3 n-3 [g] (1405)"},
{value: 1406, text: "PUFA 20:3 n-6 [g] (1406)"},
{value: 1409, text: "PUFA 18:3i [g] (1409)"},
{value: 1411, text: "PUFA 22:4 [g] (1411)"},
{value: 1414, text: "PUFA 20:3 n-9 [g] (1414)"},
{value: 2000, text: "Sugars, total including NLEA [g] (2000)"},
{value: 2003, text: "SFA 5:0 [g] (2003)"},
{value: 2004, text: "SFA 7:0 [g] (2004)"},
{value: 2005, text: "SFA 9:0 [g] (2005)"},
{value: 2006, text: "SFA 21:0 [g] (2006)"},
{value: 2007, text: "SFA 23:0 [g] (2007)"},
{value: 2008, text: "MUFA 12:1 [g] (2008)"},
{value: 2009, text: "MUFA 14:1 c [g] (2009)"},
{value: 2010, text: "MUFA 17:1 c [g] (2010)"},
{value: 2012, text: "MUFA 20:1 c [g] (2012)"},
{value: 2013, text: "TFA 20:1 t [g] (2013)"},
{value: 2014, text: "MUFA 22:1 n-9 [g] (2014)"},
{value: 2015, text: "MUFA 22:1 n-11 [g] (2015)"},
{value: 2016, text: "PUFA 18:2 c [g] (2016)"},
{value: 2017, text: "TFA 18:2 t [g] (2017)"},
{value: 2018, text: "PUFA 18:3 c [g] (2018)"},
{value: 2019, text: "TFA 18:3 t [g] (2019)"},
{value: 2020, text: "PUFA 20:3 c [g] (2020)"},
{value: 2021, text: "PUFA 22:3 [g] (2021)"},
{value: 2022, text: "PUFA 20:4c [g] (2022)"},
{value: 2023, text: "PUFA 20:5c [g] (2023)"},
{value: 2024, text: "PUFA 22:5 c [g] (2024)"},
{value: 2025, text: "PUFA 22:6 c [g] (2025)"},
{value: 2026, text: "PUFA 20:2 c [g] (2026)"},
{value: 2028, text: "trans-beta-Carotene [µg] (2028)"},
{value: 2029, text: "trans-Lycopene [µg] (2029)"},
{value: 2032, text: "Cryptoxanthin, alpha [µg] (2032)"},
{value: 2033, text: "Total dietary fiber (AOAC 2011.25) [g] (2033)"},
{value: 2038, text: "High Molecular Weight Dietary Fiber (HMWDF) [g] (2038)"},
{value: 2047, text: "Energy (Atwater General Factors) [kcal] (2047)"},
{value: 2048, text: "Energy (Atwater Specific Factors) [kcal] (2048)"},
{value: 2049, text: "Daidzin [mg] (2049)"},
{value: 2050, text: "Genistin [mg] (2050)"},
{value: 2051, text: "Glycitin [mg] (2051)"},
{value: 2052, text: "Delta-7-Stigmastenol [mg] (2052)"},
{value: 2053, text: "Stigmastadiene [mg] (2053)"},
{value: 2057, text: "Ergothioneine [mg] (2057)"},
{value: 2058, text: "Beta-glucan [g] (2058)"},
{value: 2059, text: "Vitamin D4 [µg] (2059)"},
{value: 2060, text: "Ergosta-7-enol [mg] (2060)"},
{value: 2061, text: " Ergosta-7,22-dienol [mg] (2061)"},
{value: 2062, text: " Ergosta-5,7-dienol [mg] (2062)"},
{value: 2063, text: "Verbascose [g] (2063)"},
{value: 2065, text: "Low Molecular Weight Dietary Fiber (LMWDF) [g] (2065)"},
{value: 2066, text: "Vitamin A [mg] (2066)"},
{value: 2069, text: "Glutathione [mg] (2069)"}
],
field: "fdc_id",
label: "FDC_ID",
help_text: "FDC_ID_help",
optional: true,
},
open_data_slug: {
form_field: true,
type: "text",
field: "open_data_slug",
disabled: true,
label: "Open_Data_Slug",
help_text: "open_data_help_text",
optional: true,
},
},
},
}
static RECIPE = {
name: "Recipe",
apiName: "Recipe",
list: {
params: [
{
token: "count",