diff --git a/vue3/package.json b/vue3/package.json
index 0466d03bf..68573ec04 100644
--- a/vue3/package.json
+++ b/vue3/package.json
@@ -16,6 +16,7 @@
"mavon-editor": "^3.0.1",
"pinia": "^2.1.7",
"vue": "^3.5.7",
+ "vue-draggable-plus": "^0.6.0",
"vue-i18n": "9",
"vue-router": "4",
"vue-simple-calendar": "^7.1.0",
diff --git a/vue3/src/components/display/IngredientsTableRow.vue b/vue3/src/components/display/IngredientsTableRow.vue
index 835b5d661..684333570 100644
--- a/vue3/src/components/display/IngredientsTableRow.vue
+++ b/vue3/src/components/display/IngredientsTableRow.vue
@@ -12,8 +12,8 @@
{{ props.ingredient.note }}
-
-
+ |
+
|
diff --git a/vue3/src/components/inputs/ModelSelect.vue b/vue3/src/components/inputs/ModelSelect.vue
index b2e137ca4..81b064e65 100644
--- a/vue3/src/components/inputs/ModelSelect.vue
+++ b/vue3/src/components/inputs/ModelSelect.vue
@@ -9,15 +9,15 @@
:ref="`ref_${props.id}`"
class="material-multiselect"
- :resolve-on-load="searchOnLoad"
+ :resolve-on-load="props.searchOnLoad"
v-model="model"
:options="search"
:on-create="createObject"
:createOption="props.allowCreate"
:delay="300"
:object="true"
- :valueProp="props.itemValue"
- :label="props.itemLabel"
+ :valueProp="itemValue"
+ :label="itemLabel"
:searchable="true"
:strict="false"
:disabled="props.disabled"
@@ -30,9 +30,10 @@
:noResultsText="$t('No_Results')"
:loading="loading"
@open="multiselect.refreshOptions()"
- :append-to-body="appendToBody"
+ :append-to-body="props.appendToBody"
:classes="{
dropdown: 'multiselect-dropdown z-3000',
+ containerActive: '',
}"
/>
@@ -40,7 +41,7 @@
diff --git a/vue3/src/components/inputs/StepMarkdownEditor.vue b/vue3/src/components/inputs/StepMarkdownEditor.vue
index 1abfa18b5..06f148d48 100644
--- a/vue3/src/components/inputs/StepMarkdownEditor.vue
+++ b/vue3/src/components/inputs/StepMarkdownEditor.vue
@@ -1,81 +1,58 @@
-
-
diff --git a/vue3/src/components/model_editors/RecipeEditor.vue b/vue3/src/components/model_editors/RecipeEditor.vue
index e94c988a7..1f9c3a64f 100644
--- a/vue3/src/components/model_editors/RecipeEditor.vue
+++ b/vue3/src/components/model_editors/RecipeEditor.vue
@@ -15,13 +15,21 @@
{{ $t('Settings') }}
-
+
-
+
+
+
+
+
+
+
+
+
{{ $t('Keywords') }}
@@ -41,27 +49,27 @@
+
-
+
+
+
+
+
-
-
- {{ i+1 }}
-
-
-
-
-
-
-
-
+
+
+
+
@@ -79,6 +87,7 @@ import ModelEditorBase from "@/components/model_editors/ModelEditorBase.vue";
import {useModelEditorFunctions} from "@/composables/useModelEditorFunctions";
import {useI18n} from "vue-i18n";
import ModelSelect from "@/components/inputs/ModelSelect.vue";
+import StepEditor from "@/components/inputs/StepEditor.vue";
const {t} = useI18n()
diff --git a/vue3/src/locales/ar.json b/vue3/src/locales/ar.json
index 13b4f91b5..2e65bd71f 100644
--- a/vue3/src/locales/ar.json
+++ b/vue3/src/locales/ar.json
@@ -251,6 +251,7 @@
"Saturday": "",
"Save": "",
"Save_and_View": "",
+ "ScalableNumber": "",
"Search": "",
"Search Settings": "",
"Select": "",
diff --git a/vue3/src/locales/bg.json b/vue3/src/locales/bg.json
index 703d9ddcf..19f4c650d 100644
--- a/vue3/src/locales/bg.json
+++ b/vue3/src/locales/bg.json
@@ -244,6 +244,7 @@
"Saturday": "",
"Save": "Запази",
"Save_and_View": "Запазете и прегледайте",
+ "ScalableNumber": "",
"Search": "Търсене",
"Search Settings": "Настройки търсене",
"Select": "Изберете",
diff --git a/vue3/src/locales/ca.json b/vue3/src/locales/ca.json
index a25f77aa1..2942b7be2 100644
--- a/vue3/src/locales/ca.json
+++ b/vue3/src/locales/ca.json
@@ -321,6 +321,7 @@
"Saturday": "",
"Save": "",
"Save_and_View": "Graveu-ho i mostreu-ho",
+ "ScalableNumber": "",
"Search": "",
"Search Settings": "",
"Second": "",
diff --git a/vue3/src/locales/cs.json b/vue3/src/locales/cs.json
index a6d3592ab..d2c89adfa 100644
--- a/vue3/src/locales/cs.json
+++ b/vue3/src/locales/cs.json
@@ -319,6 +319,7 @@
"Saturday": "",
"Save": "Uložit",
"Save_and_View": "Uložit a zobrazit",
+ "ScalableNumber": "",
"Search": "Hledat",
"Search Settings": "Nastavení vyhledávání",
"Second": "Vteřina",
diff --git a/vue3/src/locales/da.json b/vue3/src/locales/da.json
index aff9d5478..950814162 100644
--- a/vue3/src/locales/da.json
+++ b/vue3/src/locales/da.json
@@ -301,6 +301,7 @@
"Saturday": "",
"Save": "Gem",
"Save_and_View": "Gem & Vis",
+ "ScalableNumber": "",
"Search": "Søg",
"Search Settings": "Søgningsindstillinger",
"Second": "Sekund",
diff --git a/vue3/src/locales/de.json b/vue3/src/locales/de.json
index 36c350238..2ef99fcaf 100644
--- a/vue3/src/locales/de.json
+++ b/vue3/src/locales/de.json
@@ -324,6 +324,7 @@
"Saturday": "Samstag",
"Save": "Speichern",
"Save_and_View": "Speichern & Ansehen",
+ "ScalableNumber": "Skalierbare Zahl",
"Search": "Suchen",
"Search Settings": "Sucheinstellungen",
"Second": "Sekunde",
diff --git a/vue3/src/locales/el.json b/vue3/src/locales/el.json
index 7b82342d9..a4bfddae7 100644
--- a/vue3/src/locales/el.json
+++ b/vue3/src/locales/el.json
@@ -293,6 +293,7 @@
"Saturday": "",
"Save": "Αποθήκευση",
"Save_and_View": "Αποθήκευση και προβολή",
+ "ScalableNumber": "",
"Search": "Αναζήτηση",
"Search Settings": "Επιλογές αναζήτησης",
"Second": "Δευτερόλεπτο",
diff --git a/vue3/src/locales/en.json b/vue3/src/locales/en.json
index 289a2ddf4..ac7e2e1b9 100644
--- a/vue3/src/locales/en.json
+++ b/vue3/src/locales/en.json
@@ -323,6 +323,7 @@
"Saturday": "Saturday",
"Save": "Save",
"Save_and_View": "Save & View",
+ "ScalableNumber": "Scalable Number",
"Search": "Search",
"Search Settings": "Search Settings",
"Second": "Second",
diff --git a/vue3/src/locales/es.json b/vue3/src/locales/es.json
index c0e48ebfa..2bc700f1c 100644
--- a/vue3/src/locales/es.json
+++ b/vue3/src/locales/es.json
@@ -320,6 +320,7 @@
"Saturday": "",
"Save": "Guardar",
"Save_and_View": "Grabar y mostrar",
+ "ScalableNumber": "",
"Search": "Buscar",
"Search Settings": "Buscar ajustes",
"Second": "Segundo",
diff --git a/vue3/src/locales/fi.json b/vue3/src/locales/fi.json
index ba3cb13d1..ce0105857 100644
--- a/vue3/src/locales/fi.json
+++ b/vue3/src/locales/fi.json
@@ -178,6 +178,7 @@
"Saturday": "",
"Save": "Tallenna",
"Save_and_View": "Tallenna & Katso",
+ "ScalableNumber": "",
"Search": "Haku",
"Search Settings": "Hakuasetukset",
"Select_Book": "Valitse Kirja",
diff --git a/vue3/src/locales/fr.json b/vue3/src/locales/fr.json
index 6c0c5e980..8c6d6855b 100644
--- a/vue3/src/locales/fr.json
+++ b/vue3/src/locales/fr.json
@@ -321,6 +321,7 @@
"Saturday": "",
"Save": "Sauvegarder",
"Save_and_View": "Sauvegarder et visualiser",
+ "ScalableNumber": "",
"Search": "Rechercher",
"Search Settings": "Paramètres de recherche",
"Second": "Seconde",
diff --git a/vue3/src/locales/he.json b/vue3/src/locales/he.json
index 49335729a..bbca5bf3f 100644
--- a/vue3/src/locales/he.json
+++ b/vue3/src/locales/he.json
@@ -322,6 +322,7 @@
"Saturday": "",
"Save": "שמור",
"Save_and_View": "שמור וצפה",
+ "ScalableNumber": "",
"Search": "חיפוש",
"Search Settings": "חיפוש הגדרות",
"Second": "שניה",
diff --git a/vue3/src/locales/hu.json b/vue3/src/locales/hu.json
index c26d68ea0..2ab27f6c4 100644
--- a/vue3/src/locales/hu.json
+++ b/vue3/src/locales/hu.json
@@ -295,6 +295,7 @@
"Saturday": "",
"Save": "Mentés",
"Save_and_View": "Mentés & megtekintés",
+ "ScalableNumber": "",
"Search": "Keresés",
"Search Settings": "Keresési beállítások",
"Second": "Másodperc",
diff --git a/vue3/src/locales/hy.json b/vue3/src/locales/hy.json
index 404809082..74d43fa97 100644
--- a/vue3/src/locales/hy.json
+++ b/vue3/src/locales/hy.json
@@ -123,6 +123,7 @@
"Saturday": "",
"Save": "",
"Save_and_View": "Պահպանել և Դիտել",
+ "ScalableNumber": "",
"Search": "",
"Select_Book": "Ընտրել գիրք",
"Select_File": "Ընտրել Ֆայլ",
diff --git a/vue3/src/locales/id.json b/vue3/src/locales/id.json
index 99dab23fe..b47281cec 100644
--- a/vue3/src/locales/id.json
+++ b/vue3/src/locales/id.json
@@ -271,6 +271,7 @@
"Saturday": "",
"Save": "Menyimpan",
"Save_and_View": "Simpan & Lihat",
+ "ScalableNumber": "",
"Search": "Mencari",
"Search Settings": "Pengaturan Pencarian",
"Second": "",
diff --git a/vue3/src/locales/is.json b/vue3/src/locales/is.json
index 1e5b918c8..129c79041 100644
--- a/vue3/src/locales/is.json
+++ b/vue3/src/locales/is.json
@@ -321,6 +321,7 @@
"Saturday": "",
"Save": "",
"Save_and_View": "",
+ "ScalableNumber": "",
"Search": "",
"Search Settings": "",
"Second": "",
diff --git a/vue3/src/locales/it.json b/vue3/src/locales/it.json
index 369c75795..a11b08909 100644
--- a/vue3/src/locales/it.json
+++ b/vue3/src/locales/it.json
@@ -279,6 +279,7 @@
"Saturday": "",
"Save": "Salva",
"Save_and_View": "Salva & Mostra",
+ "ScalableNumber": "",
"Search": "Cerca",
"Search Settings": "Impostazioni di ricerca",
"Second": "Secondo",
diff --git a/vue3/src/locales/lt.json b/vue3/src/locales/lt.json
index 884ecd6b6..2c2c0256b 100644
--- a/vue3/src/locales/lt.json
+++ b/vue3/src/locales/lt.json
@@ -299,6 +299,7 @@
"Saturday": "",
"Save": "",
"Save_and_View": "Išsaugoti ir peržiūrėti",
+ "ScalableNumber": "",
"Search": "",
"Search Settings": "",
"Second": "",
diff --git a/vue3/src/locales/nb_NO.json b/vue3/src/locales/nb_NO.json
index c0cf80c84..3673dff32 100644
--- a/vue3/src/locales/nb_NO.json
+++ b/vue3/src/locales/nb_NO.json
@@ -291,6 +291,7 @@
"Saturday": "",
"Save": "Lagre",
"Save_and_View": "Lagre og vis",
+ "ScalableNumber": "",
"Search": "Søk",
"Search Settings": "Søk Instillinger",
"Second": "Sekund",
diff --git a/vue3/src/locales/nl.json b/vue3/src/locales/nl.json
index e1f33bcbc..14049ff3b 100644
--- a/vue3/src/locales/nl.json
+++ b/vue3/src/locales/nl.json
@@ -295,6 +295,7 @@
"Saturday": "",
"Save": "Opslaan",
"Save_and_View": "Sla op & Bekijk",
+ "ScalableNumber": "",
"Search": "Zoeken",
"Search Settings": "Zoekinstellingen",
"Second": "Seconde",
diff --git a/vue3/src/locales/pl.json b/vue3/src/locales/pl.json
index 913b3162b..634d76cfa 100644
--- a/vue3/src/locales/pl.json
+++ b/vue3/src/locales/pl.json
@@ -323,6 +323,7 @@
"Saturday": "",
"Save": "Zapisz",
"Save_and_View": "Zapisz i wyświetl",
+ "ScalableNumber": "",
"Search": "Szukaj",
"Search Settings": "Ustawienia wyszukiwania",
"Second": "Sekunda",
diff --git a/vue3/src/locales/pt.json b/vue3/src/locales/pt.json
index e576cbc3d..ea121b124 100644
--- a/vue3/src/locales/pt.json
+++ b/vue3/src/locales/pt.json
@@ -240,6 +240,7 @@
"Saturday": "",
"Save": "Guardar",
"Save_and_View": "Gravar & Ver",
+ "ScalableNumber": "",
"Search": "Pesquisar",
"Search Settings": "Definições de Pesquisa",
"Select": "Selecionar",
diff --git a/vue3/src/locales/pt_BR.json b/vue3/src/locales/pt_BR.json
index 9b971d84e..0bc56b60c 100644
--- a/vue3/src/locales/pt_BR.json
+++ b/vue3/src/locales/pt_BR.json
@@ -310,6 +310,7 @@
"Saturday": "",
"Save": "Salvar",
"Save_and_View": "Salvar e Visualizar",
+ "ScalableNumber": "",
"Search": "Buscar",
"Search Settings": "Buscar Configuração",
"Second": "Segundo",
diff --git a/vue3/src/locales/ro.json b/vue3/src/locales/ro.json
index 2724c1591..af9e69c4a 100644
--- a/vue3/src/locales/ro.json
+++ b/vue3/src/locales/ro.json
@@ -283,6 +283,7 @@
"Saturday": "",
"Save": "Salvare",
"Save_and_View": "Salvare și vizionare",
+ "ScalableNumber": "",
"Search": "Căutare",
"Search Settings": "Setări de căutare",
"Second": "Secundă",
diff --git a/vue3/src/locales/ru.json b/vue3/src/locales/ru.json
index 7bbbea812..0019241c1 100644
--- a/vue3/src/locales/ru.json
+++ b/vue3/src/locales/ru.json
@@ -225,6 +225,7 @@
"Saturday": "",
"Save": "Сохранить",
"Save_and_View": "Сохранить и показать",
+ "ScalableNumber": "",
"Search": "Поиск",
"Search Settings": "Искать настройки",
"Select": "Выбрать",
diff --git a/vue3/src/locales/sl.json b/vue3/src/locales/sl.json
index cd86b454c..c6ea36645 100644
--- a/vue3/src/locales/sl.json
+++ b/vue3/src/locales/sl.json
@@ -216,6 +216,7 @@
"Saturday": "",
"Save": "Shrani",
"Save_and_View": "Shrani in poglej",
+ "ScalableNumber": "",
"Search": "Iskanje",
"Search Settings": "Išči nastavitev",
"Select_Book": "Izberi knjigo",
diff --git a/vue3/src/locales/sv.json b/vue3/src/locales/sv.json
index 9e11a9fea..d3355655f 100644
--- a/vue3/src/locales/sv.json
+++ b/vue3/src/locales/sv.json
@@ -323,6 +323,7 @@
"Saturday": "",
"Save": "Spara",
"Save_and_View": "Spara & visa",
+ "ScalableNumber": "",
"Search": "Sök",
"Search Settings": "Sökinställningar",
"Second": "Sekund",
diff --git a/vue3/src/locales/tr.json b/vue3/src/locales/tr.json
index 55d962fe8..0403d97cd 100644
--- a/vue3/src/locales/tr.json
+++ b/vue3/src/locales/tr.json
@@ -322,6 +322,7 @@
"Saturday": "",
"Save": "Kaydet",
"Save_and_View": "Kaydet & Görüntüle",
+ "ScalableNumber": "",
"Search": "Ara",
"Search Settings": "Arama Ayarları",
"Second": "Saniye",
diff --git a/vue3/src/locales/uk.json b/vue3/src/locales/uk.json
index 33e5b29f5..c0fc81ad8 100644
--- a/vue3/src/locales/uk.json
+++ b/vue3/src/locales/uk.json
@@ -259,6 +259,7 @@
"Saturday": "",
"Save": "Зберегти",
"Save_and_View": "Зберегти і Подивитися",
+ "ScalableNumber": "",
"Search": "Пошук",
"Search Settings": "Налаштування Пошуку",
"Select": "",
diff --git a/vue3/src/locales/zh_Hans.json b/vue3/src/locales/zh_Hans.json
index 6c25de109..ef34d6e35 100644
--- a/vue3/src/locales/zh_Hans.json
+++ b/vue3/src/locales/zh_Hans.json
@@ -317,6 +317,7 @@
"Saturday": "",
"Save": "保存",
"Save_and_View": "保存并查看",
+ "ScalableNumber": "",
"Search": "搜索",
"Search Settings": "搜索设置",
"Second": "秒",
diff --git a/vue3/src/locales/zh_Hant.json b/vue3/src/locales/zh_Hant.json
index 281670608..996f05c17 100644
--- a/vue3/src/locales/zh_Hant.json
+++ b/vue3/src/locales/zh_Hant.json
@@ -95,6 +95,7 @@
"Saturday": "",
"Save": "",
"Save_and_View": "儲存並查看",
+ "ScalableNumber": "",
"Search": "",
"Select_Book": "選擇書籍",
"Select_File": "選擇檔案",
diff --git a/vue3/src/types/Models.ts b/vue3/src/types/Models.ts
index bc7465887..c78a59e37 100644
--- a/vue3/src/types/Models.ts
+++ b/vue3/src/types/Models.ts
@@ -58,6 +58,9 @@ export type Model = {
icon: string,
toStringKeys: Array,
+ itemValue: string|undefined,
+ itemLabel: string|undefined,
+
disableList?: boolean | undefined,
disableRetrieve?: boolean | undefined,
disableCreate?: boolean | undefined,
@@ -82,6 +85,7 @@ export type EditorSupportedModels =
| 'Step'
| 'Ingredient'
| 'Food'
+ | 'Unit'
| 'Supermarket'
| 'SupermarketCategory'
| 'PropertyType'
@@ -89,6 +93,7 @@ export type EditorSupportedModels =
| 'Keyword'
| 'UserFile'
| 'ShoppingListEntry'
+ | 'User'
export const TFood = {
name: 'Food',
@@ -225,6 +230,7 @@ export const TUser = {
isPaginated: false,
toStringKeys: ['displayName'],
+ itemLabel: 'displayName',
tableHeaders: [
{title: 'Name', key: 'displayName'},
diff --git a/vue3/yarn.lock b/vue3/yarn.lock
index aaff8a58e..c1addfca0 100644
--- a/vue3/yarn.lock
+++ b/vue3/yarn.lock
@@ -307,6 +307,11 @@
dependencies:
undici-types "~6.19.2"
+"@types/sortablejs@^1.15.8":
+ version "1.15.8"
+ resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.15.8.tgz#11ed555076046e00869a5ef85d1e7651e7a66ef6"
+ integrity sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==
+
"@types/tough-cookie@*":
version "4.0.5"
resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
@@ -1108,6 +1113,13 @@ vue-demi@>=0.14.8:
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.8.tgz#00335e9317b45e4a68d3528aaf58e0cec3d5640a"
integrity sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==
+vue-draggable-plus@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/vue-draggable-plus/-/vue-draggable-plus-0.6.0.tgz#e4da6917e94ca73402f34113073f44771691fa5e"
+ integrity sha512-G5TSfHrt9tX9EjdG49InoFJbt2NYk0h3kgjgKxkFWr3ulIUays0oFObr5KZ8qzD4+QnhtALiRwIqY6qul4egqw==
+ dependencies:
+ "@types/sortablejs" "^1.15.8"
+
vue-i18n@9:
version "9.13.1"
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.13.1.tgz#a292c8021b7be604ebfca5609ae1f8fafe5c36d7"