From 42839a5886c3a4e9274122898ab88b3ac4ea5343 Mon Sep 17 00:00:00 2001 From: Mahmoud <“aljouhar@rptu.de”> Date: Mon, 25 Dec 2023 19:44:23 +0100 Subject: [PATCH] Manual order: you can now change the order by dragging and dropping --- cookbook/models.py | 2 + cookbook/serializer.py | 2 +- vue/src/apps/CookbookView/CookbookView.vue | 207 +++++++++------------ vue/src/utils/openapi/api.ts | 67 ++++++- 4 files changed, 157 insertions(+), 121 deletions(-) diff --git a/cookbook/models.py b/cookbook/models.py index c40bb41f2..2c9129a74 100644 --- a/cookbook/models.py +++ b/cookbook/models.py @@ -934,6 +934,8 @@ class RecipeBook(ExportModelOperationsMixin('book'), models.Model, PermissionMod shared = models.ManyToManyField(User, blank=True, related_name='shared_with') created_by = models.ForeignKey(User, on_delete=models.CASCADE) filter = models.ForeignKey('cookbook.CustomFilter', null=True, blank=True, on_delete=models.SET_NULL) + order = models.IntegerField(default=0) + space = models.ForeignKey(Space, on_delete=models.CASCADE) objects = ScopedManager(space='space') diff --git a/cookbook/serializer.py b/cookbook/serializer.py index ff4e2dfc8..8deb6eb59 100644 --- a/cookbook/serializer.py +++ b/cookbook/serializer.py @@ -950,7 +950,7 @@ class RecipeBookSerializer(SpacedModelSerializer, WritableNestedModelSerializer) class Meta: model = RecipeBook - fields = ('id', 'name', 'description', 'shared', 'created_by', 'filter') + fields = ('id', 'name', 'description', 'shared', 'created_by', 'filter', 'order') read_only_fields = ('created_by',) diff --git a/vue/src/apps/CookbookView/CookbookView.vue b/vue/src/apps/CookbookView/CookbookView.vue index 1b2560dc0..9ad465d53 100644 --- a/vue/src/apps/CookbookView/CookbookView.vue +++ b/vue/src/apps/CookbookView/CookbookView.vue @@ -15,10 +15,10 @@ oldest to newest newest to oldest alphabetical order - manually + manually - + {{submitText}} @@ -27,54 +27,74 @@ -
-
-
-
- - - - - - -
- {{ book.name }} -
-
{{ book.description }}
-
-
-
-
- - - - - - - - swap - - -
-
+
+
+
+
+
+ + + + + + +
+ {{ book.name }} +
+
{{ book.description }}
+
+
+
+
+
+
+
+
+ + + + + +
- - - - - - +
+
+ + + +
+
+ +
+
+
+ + #{{ index + 1 }} + + {{ book.name }} +
+
+
+
+
+
-
-