From 0602a96af5ba9d8fee5491bd6f275fc7714efd2a Mon Sep 17 00:00:00 2001 From: Eloi Zalczer Date: Thu, 13 Jun 2024 16:07:16 +0200 Subject: [PATCH] Refresh table on rew record, new create tag modal, fixed reviews drawer, cleaned up creation form. --- src/assets/datatable.css | 23 ++++- src/components/CreateTagModal.vue | 84 +++++++++++++++++++ src/components/ModalComponent.vue | 64 ++++++++++++++ src/components/RestaurantsTable.vue | 11 ++- src/components/ReviewsDrawer.vue | 6 +- .../{MultiSelectField.vue => TagsField.vue} | 13 ++- src/style.css | 19 ----- src/views/CreateView.vue | 8 +- src/views/ListView.vue | 25 +++++- 9 files changed, 224 insertions(+), 29 deletions(-) create mode 100644 src/components/CreateTagModal.vue create mode 100644 src/components/ModalComponent.vue rename src/components/{MultiSelectField.vue => TagsField.vue} (88%) diff --git a/src/assets/datatable.css b/src/assets/datatable.css index d1e59c3..1e21160 100644 --- a/src/assets/datatable.css +++ b/src/assets/datatable.css @@ -39,4 +39,25 @@ @apply hover:bg-gray-300; } -} \ No newline at end of file +} + +.dt-paging-button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + cursor: pointer; + transition: border-color 0.25s; +} + +.dt-paging-button:hover { + border-color: #646cff; +} +.dt-paging-button:focus, +.dt-paging-button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + + diff --git a/src/components/CreateTagModal.vue b/src/components/CreateTagModal.vue new file mode 100644 index 0000000..d21fc00 --- /dev/null +++ b/src/components/CreateTagModal.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/components/ModalComponent.vue b/src/components/ModalComponent.vue new file mode 100644 index 0000000..aac7674 --- /dev/null +++ b/src/components/ModalComponent.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/components/RestaurantsTable.vue b/src/components/RestaurantsTable.vue index 3e7a708..ddaaf59 100644 --- a/src/components/RestaurantsTable.vue +++ b/src/components/RestaurantsTable.vue @@ -4,7 +4,7 @@ import "../assets/datatable.css"; import DataTable from "datatables.net-vue3"; import DataTablesCore from "datatables.net"; import "datatables.net-select"; -import { PropType } from "vue"; +import { PropType, ref } from "vue"; import RatingField from "./RatingField.vue"; DataTable.use(DataTablesCore); @@ -19,18 +19,27 @@ const columns = [ { data: "average_rating", title: "" }, ]; +const table = ref(); + function onRowSelected(e, dt, type, indexes) { if (indexes.length != 0 && props.data !== undefined) { emit("restaurantSelected", props.data[indexes[0]]); } } +function deselectAll() { + table.value?.dt.rows({ selected: true }).deselect(); +} + const emit = defineEmits(["restaurantSelected"]); + +defineExpose({ deselectAll });