From 15ebf7c1c3e018c5889faddbca7c159b8aa275e3 Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Thu, 26 Jan 2023 12:51:04 +0100 Subject: [PATCH] Add SPA support --- CHANGELOG.rst | 5 ++++ aleksis/apps/matrix/frontend/index.js | 27 +++++++++++++++++++ aleksis/apps/matrix/frontend/messages/de.json | 8 ++++++ aleksis/apps/matrix/frontend/messages/en.json | 8 ++++++ aleksis/apps/matrix/views.py | 4 +++ 5 files changed, 52 insertions(+) create mode 100644 aleksis/apps/matrix/frontend/index.js create mode 100644 aleksis/apps/matrix/frontend/messages/de.json create mode 100644 aleksis/apps/matrix/frontend/messages/en.json diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d21a88a..32f9135 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,11 @@ and this project adheres to `Semantic Versioning`_. Unreleased ---------- +Added +~~~~~ + +* Add SPA support. + `1.0`_ - 2022-06-25 ------------------- diff --git a/aleksis/apps/matrix/frontend/index.js b/aleksis/apps/matrix/frontend/index.js new file mode 100644 index 0000000..0c46c2e --- /dev/null +++ b/aleksis/apps/matrix/frontend/index.js @@ -0,0 +1,27 @@ +export default + { + meta: { + inMenu: true, + titleKey: "matrix.menu_title", + icon: "mdi-forum-outline", + }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, + children: [ + { + path: "rooms/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "matrix.groupsAndRooms", + meta: { + inMenu: true, + titleKey: "matrix.rooms.menu_title", + icon: "mdi-account-group-outline", + permission: "matrix.view_matrixrooms_rule", + }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, + }, + ], + } diff --git a/aleksis/apps/matrix/frontend/messages/de.json b/aleksis/apps/matrix/frontend/messages/de.json new file mode 100644 index 0000000..fcede48 --- /dev/null +++ b/aleksis/apps/matrix/frontend/messages/de.json @@ -0,0 +1,8 @@ +{ + "matrix": { + "menu_title": "Matrix", + "rooms": { + "menu_title": "Gruppen und Räume" + } + } +} diff --git a/aleksis/apps/matrix/frontend/messages/en.json b/aleksis/apps/matrix/frontend/messages/en.json new file mode 100644 index 0000000..d119675 --- /dev/null +++ b/aleksis/apps/matrix/frontend/messages/en.json @@ -0,0 +1,8 @@ +{ + "matrix": { + "menu_title": "Matrix", + "rooms": { + "menu_title": "Groups and Rooms" + } + } +} diff --git a/aleksis/apps/matrix/views.py b/aleksis/apps/matrix/views.py index f3f9dd9..53cebb5 100644 --- a/aleksis/apps/matrix/views.py +++ b/aleksis/apps/matrix/views.py @@ -1,3 +1,5 @@ +from django.utils.decorators import method_decorator + from django_filters.views import FilterView from django_tables2 import SingleTableMixin from guardian.shortcuts import get_objects_for_user @@ -6,9 +8,11 @@ from rules.contrib.views import PermissionRequiredMixin from aleksis.apps.matrix.filters import GroupMatrixRoomFilter from aleksis.apps.matrix.forms import GroupMatrixRoomActionForm from aleksis.apps.matrix.tables import GroupsMatrixRoomsTable +from aleksis.core.decorators import pwa_cache from aleksis.core.models import Group +@method_decorator(pwa_cache, name="dispatch") class MatrixRoomListView(PermissionRequiredMixin, SingleTableMixin, FilterView): """Overview about groups and their Matrix rooms.""" -- GitLab