From 06b2d2da38ccd43fb972afa044f8720278f048bc Mon Sep 17 00:00:00 2001 From: Philipp Hempel Date: Fri, 16 Jun 2023 16:35:14 +0200 Subject: [PATCH 1/8] Enables creating, editing and deleting views Signed-off-by: Philipp Hempel --- src/modules/main/modals/CreateView.vue | 187 +++++++++++++++++++ src/modules/main/modals/EditView.vue | 202 +++++++++++++++++++++ src/modules/navigation/modals/EditView.vue | 142 +++++++++++++++ 3 files changed, 531 insertions(+) create mode 100644 src/modules/main/modals/CreateView.vue create mode 100644 src/modules/main/modals/EditView.vue create mode 100644 src/modules/navigation/modals/EditView.vue diff --git a/src/modules/main/modals/CreateView.vue b/src/modules/main/modals/CreateView.vue new file mode 100644 index 000000000..0d96186b9 --- /dev/null +++ b/src/modules/main/modals/CreateView.vue @@ -0,0 +1,187 @@ + + + + diff --git a/src/modules/main/modals/EditView.vue b/src/modules/main/modals/EditView.vue new file mode 100644 index 000000000..d65d58d89 --- /dev/null +++ b/src/modules/main/modals/EditView.vue @@ -0,0 +1,202 @@ + + + diff --git a/src/modules/navigation/modals/EditView.vue b/src/modules/navigation/modals/EditView.vue new file mode 100644 index 000000000..44c19ff4f --- /dev/null +++ b/src/modules/navigation/modals/EditView.vue @@ -0,0 +1,142 @@ + + + From 8a2c76b200b2698af394dafda475b2178b229186 Mon Sep 17 00:00:00 2001 From: Philipp Hempel Date: Mon, 26 Jun 2023 08:12:47 +0200 Subject: [PATCH 2/8] enh(view): Enables sharing and integration of views Signed-off-by: Philipp Hempel --- lib/Controller/ColumnController.php | 1 + lib/Controller/TableController.php | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/Controller/ColumnController.php b/lib/Controller/ColumnController.php index eb6326211..7239faa9d 100644 --- a/lib/Controller/ColumnController.php +++ b/lib/Controller/ColumnController.php @@ -40,6 +40,7 @@ public function index(int $tableId, int $viewId): DataResponse { /** * @NoAdminRequired + * @NoCSRFRequired */ public function indexView(int $viewId): DataResponse { return $this->handleError(function () use ($viewId) { diff --git a/lib/Controller/TableController.php b/lib/Controller/TableController.php index 7d03ff4cc..b0b046030 100644 --- a/lib/Controller/TableController.php +++ b/lib/Controller/TableController.php @@ -33,6 +33,7 @@ public function __construct( /** * @NoAdminRequired + * @NoCSRFRequired */ public function index(): DataResponse { return $this->handleError(function () { From 2521807541c1741bc5f81f703f7917fce9a790d3 Mon Sep 17 00:00:00 2001 From: Florian Steffens Date: Mon, 31 Jul 2023 16:15:35 +0200 Subject: [PATCH 3/8] adjust, shorten menus, change icon and fix typo Signed-off-by: Florian Steffens --- .../main/sections/ElementDescription.vue | 37 +++++------- .../ncTable/partials/TableHeader.vue | 60 +++---------------- 2 files changed, 24 insertions(+), 73 deletions(-) diff --git a/src/modules/main/sections/ElementDescription.vue b/src/modules/main/sections/ElementDescription.vue index 0f93593e8..4e31b6121 100644 --- a/src/modules/main/sections/ElementDescription.vue +++ b/src/modules/main/sections/ElementDescription.vue @@ -3,21 +3,8 @@

{{ activeView.emoji }} {{ activeView.title }}

-
- - - {{ activeView.isBaseView ? t('tables', 'Edit table') : t('tables', 'Edit view') }} - -
-
- -
-
+
+ {{ t('tables', 'Filtered view') }}
@@ -33,17 +20,14 @@ import { mapGetters } from 'vuex' import { emit } from '@nextcloud/event-bus' -import { NcButton, NcUserBubble } from '@nextcloud/vue' -import Pencil from 'vue-material-design-icons/Pencil.vue' -import InformationOutline from 'vue-material-design-icons/InformationOutline.vue' +import { NcUserBubble } from '@nextcloud/vue' +import FilterMultipleOutline from 'vue-material-design-icons/FilterMultipleOutline.vue' export default { name: 'ElementDescription', components: { - NcButton, NcUserBubble, - Pencil, - InformationOutline, + FilterMultipleOutline, }, computed: { ...mapGetters(['activeView']), @@ -83,4 +67,15 @@ export default { padding-left: calc(var(--default-grid-baseline) * 2); } +.info { + display: inline-flex; + margin-left: calc(var(--default-grid-baseline) * 2); + align-items: center; + color: var(--color-text-maxcontrast); +} + +.info span { + padding: calc(var(--default-grid-baseline) * 1); +} + diff --git a/src/shared/components/ncTable/partials/TableHeader.vue b/src/shared/components/ncTable/partials/TableHeader.vue index 6859987df..98a34a1a2 100644 --- a/src/shared/components/ncTable/partials/TableHeader.vue +++ b/src/shared/components/ncTable/partials/TableHeader.vue @@ -6,7 +6,7 @@
- +
@@ -16,7 +16,7 @@
@@ -34,55 +34,18 @@ - - - {{ t('tables', 'Reset view config') }} - - - - {{ t('tables', 'Apply view config') }} - - - - {{ t('tables', 'Create view with config') }} - - - - - - - {{ t('tables', 'Create column') }} - {{ t('tables', 'Edit view') }} - + - {{ t('tables', 'Create view') }} + {{ t('tables', 'Create column') }} @@ -119,14 +82,11 @@ + diff --git a/src/shared/components/ncTable/partials/TableHeader.vue b/src/shared/components/ncTable/partials/TableHeader.vue index 98a34a1a2..c7387618e 100644 --- a/src/shared/components/ncTable/partials/TableHeader.vue +++ b/src/shared/components/ncTable/partials/TableHeader.vue @@ -36,11 +36,21 @@ + {{ t('tables', 'Edit view') }} + + + {{ t('tables', 'Create view') }} + @@ -19,6 +19,12 @@ export default { }, }, + methods: { + submit() { + this.$emit('click') + }, + }, + } diff --git a/src/modules/main/partials/editViewPartials/filter/FilterForm.vue b/src/modules/main/partials/editViewPartials/filter/FilterForm.vue index 4c8fe178e..c306f0539 100644 --- a/src/modules/main/partials/editViewPartials/filter/FilterForm.vue +++ b/src/modules/main/partials/editViewPartials/filter/FilterForm.vue @@ -1,6 +1,6 @@ {{ t('tables', 'Create view') }} - - {{ t('tables', 'Edit table') }} - {{ t('tables', 'Edit view') }} - - - {{ t('tables', 'Create view') }} -