From 77bb463e5e917620e0b81a3ace8cb06109d0dca7 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sun, 21 Mar 2021 00:58:31 +0100 Subject: [PATCH] [schedule][events] Improved plugin * Allow creating recurring events * Fixed AgendaView --- src/flaschengeist.d.ts | 10 +- .../components/management/CreateEvent.vue | 152 +++++++++++++----- .../schedule/components/management/Job.vue | 23 +-- .../components/management/RecurrenceRule.vue | 96 +++++++++++ .../components/overview/AgendaView.vue | 15 +- .../components/overview/slots/EventSlot.vue | 150 ++--------------- .../components/overview/slots/JobSlot.vue | 140 ++++++++++++++++ src/plugins/schedule/events.d.ts | 9 ++ src/plugins/schedule/plugin.ts | 2 +- src/plugins/schedule/store.ts | 44 +++-- src/plugins/user/store.ts | 36 ++--- 11 files changed, 433 insertions(+), 244 deletions(-) create mode 100644 src/plugins/schedule/components/management/RecurrenceRule.vue create mode 100644 src/plugins/schedule/components/overview/slots/JobSlot.vue create mode 100644 src/plugins/schedule/events.d.ts diff --git a/src/flaschengeist.d.ts b/src/flaschengeist.d.ts index 22b33f8..a081c23 100644 --- a/src/flaschengeist.d.ts +++ b/src/flaschengeist.d.ts @@ -38,11 +38,11 @@ declare namespace FG { id: number; start: Date; end?: Date; + name?: string; description?: string; type: EventType | number; + is_template: boolean; jobs: Array; - recurrence_rule?: RecurrenceRule; - template_id?: number; } interface EventType { id: number; @@ -67,12 +67,6 @@ declare namespace FG { id: number; name: string; } - interface RecurrenceRule { - frequency: string; - until?: Date; - count?: number; - interval: number; - } interface Service { userid: string; value: number; diff --git a/src/plugins/schedule/components/management/CreateEvent.vue b/src/plugins/schedule/components/management/CreateEvent.vue index 7c5aca2..df72b50 100644 --- a/src/plugins/schedule/components/management/CreateEvent.vue +++ b/src/plugins/schedule/components/management/CreateEvent.vue @@ -1,11 +1,29 @@