diff --git a/js/src/components/Editor.vue b/js/src/components/Editor.vue
index e1c7b39d2..62ae45490 100644
--- a/js/src/components/Editor.vue
+++ b/js/src/components/Editor.vue
@@ -384,7 +384,7 @@ export default class EditorComponent extends Vue {
searchText: query,
},
});
- // TODO: TipTap doesn't handle async for onFilter, hence the following line.
+ // TipTap doesn't handle async for onFilter, hence the following line.
this.filteredActors = result.data.searchPersons.elements;
return this.filteredActors;
},
diff --git a/js/src/components/Event/ShareEventModal.vue b/js/src/components/Event/ShareEventModal.vue
index 9d599f2df..f4055f2da 100644
--- a/js/src/components/Event/ShareEventModal.vue
+++ b/js/src/components/Event/ShareEventModal.vue
@@ -72,7 +72,6 @@
-
diff --git a/js/src/graphql/event.ts b/js/src/graphql/event.ts
index 1c547802c..4b0085837 100644
--- a/js/src/graphql/event.ts
+++ b/js/src/graphql/event.ts
@@ -1,4 +1,5 @@
import gql from "graphql-tag";
+import { GROUP_FIELDS_FRAGMENTS } from "./group";
const participantQuery = `
role,
@@ -622,3 +623,54 @@ export const GROUP_MEMBERSHIP_SUBSCRIPTION_CHANGED = gql`
}
}
`;
+
+export const FETCH_GROUP_EVENTS = gql`
+ query(
+ $name: String!
+ $afterDateTime: DateTime
+ $beforeDateTime: DateTime
+ $organisedEventsPage: Int
+ $organisedEventslimit: Int
+ ) {
+ group(preferredUsername: $name) {
+ id
+ preferredUsername
+ domain
+ name
+ organizedEvents(
+ afterDatetime: $afterDateTime
+ beforeDatetime: $beforeDateTime
+ page: $organisedEventsPage
+ limit: $organisedEventslimit
+ ) {
+ elements {
+ id
+ uuid
+ title
+ beginsOn
+ draft
+ options {
+ maximumAttendeeCapacity
+ }
+ participantStats {
+ participant
+ notApproved
+ }
+ attributedTo {
+ id
+ preferredUsername
+ name
+ domain
+ }
+ organizerActor {
+ id
+ preferredUsername
+ name
+ domain
+ }
+ }
+ total
+ }
+ }
+ }
+`;
diff --git a/js/src/i18n/en_US.json b/js/src/i18n/en_US.json
index d98ee3686..0db363aeb 100644
--- a/js/src/i18n/en_US.json
+++ b/js/src/i18n/en_US.json
@@ -442,7 +442,6 @@
"Actor": "Actor",
"Text": "Text",
"Upcoming events": "Upcoming events",
- "View all upcoming events": "View all upcoming events",
"Resources": "Resources",
"Public page": "Public page",
"Discussions": "Discussions",
@@ -810,5 +809,6 @@
"Your participation will be validated once you click the confirmation link into the email.": "Your participation will be validated once you click the confirmation link into the email.",
"Unable to load event for participation. The error details are provided below:": "Unable to load event for participation. The error details are provided below:",
"Unable to save your participation in this browser.": "Unable to save your participation in this browser.",
- "return to the event's page": "return to the event's page"
+ "return to the event's page": "return to the event's page",
+ "View all events": "View all events"
}
diff --git a/js/src/i18n/fr_FR.json b/js/src/i18n/fr_FR.json
index 1da661f47..f84e45794 100644
--- a/js/src/i18n/fr_FR.json
+++ b/js/src/i18n/fr_FR.json
@@ -903,5 +903,6 @@
"Unable to load event for participation. The error details are provided below:": "Impossible de charger l'événement pour la participation. Les détails de l'erreur sont disponibles ci-dessous :",
"Unable to save your participation in this browser.": "Échec de la sauvegarde de votre participation dans ce navigateur.",
"return to the event's page": "retourner sur la page de l'événement",
- "You may now close this window, or {return_to_event}.": "Vous pouvez maintenant fermer cette fenêtre, ou bien {return_to_event}."
+ "You may now close this window, or {return_to_event}.": "Vous pouvez maintenant fermer cette fenêtre, ou bien {return_to_event}.",
+ "View all events": "Voir tous les événements"
}
diff --git a/js/src/mixins/group.ts b/js/src/mixins/group.ts
index 0abd0bcd9..43d0d3f1d 100644
--- a/js/src/mixins/group.ts
+++ b/js/src/mixins/group.ts
@@ -14,6 +14,8 @@ import { Component, Vue } from "vue-property-decorator";
variables() {
return {
name: this.$route.params.preferredUsername,
+ beforeDateTime: null,
+ afterDateTime: new Date(),
};
},
skip() {
diff --git a/js/src/views/Event/GroupEvents.vue b/js/src/views/Event/GroupEvents.vue
index 7f37e7a3b..ed1f20892 100644
--- a/js/src/views/Event/GroupEvents.vue
+++ b/js/src/views/Event/GroupEvents.vue
@@ -51,7 +51,7 @@
{{ showPassedEvents ? $t("Past events") : $t("Upcoming events") }}
{{ $t("Past events") }}
-
+
{{ $t("No events found") }}
+
+
@@ -75,15 +85,17 @@
diff --git a/js/src/views/Group/Group.vue b/js/src/views/Group/Group.vue
index 616a494dd..b3a7631fd 100644
--- a/js/src/views/Group/Group.vue
+++ b/js/src/views/Group/Group.vue
@@ -362,18 +362,26 @@
:key="event.uuid"
class="organized-event"
/>
- {{ $t("View all upcoming events") }}
+
+