From 6847ae083e403d80e61bfdc5f19598925c518b77 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Wed, 18 Sep 2024 09:28:59 +0200 Subject: [PATCH] member data listing --- .../admin/club/member/MemberAwardListItem.vue | 29 ++++++ .../member/MemberCommunicationListItem.vue | 29 ++++++ .../MemberExecutivePositionListItem.vue | 27 ++++++ .../member/MemberQualificationListItem.vue | 28 ++++++ .../admin/club/member/MembershipListItem.vue | 30 ++++++ src/main.css | 10 ++ src/types/fieldTypes.ts | 1 + .../admin/communicationType.models.ts | 8 +- src/views/admin/members/MemberAwards.vue | 7 +- .../admin/members/MemberCommunication.vue | 11 ++- .../members/MemberExecutivePositions.vue | 11 ++- src/views/admin/members/MemberOverview.vue | 92 ++++++++++++++++++- .../admin/members/MemberQualifications.vue | 11 ++- src/views/admin/members/Membership.vue | 7 +- 14 files changed, 286 insertions(+), 15 deletions(-) create mode 100644 src/components/admin/club/member/MemberAwardListItem.vue create mode 100644 src/components/admin/club/member/MemberCommunicationListItem.vue create mode 100644 src/components/admin/club/member/MemberExecutivePositionListItem.vue create mode 100644 src/components/admin/club/member/MemberQualificationListItem.vue create mode 100644 src/components/admin/club/member/MembershipListItem.vue create mode 100644 src/types/fieldTypes.ts diff --git a/src/components/admin/club/member/MemberAwardListItem.vue b/src/components/admin/club/member/MemberAwardListItem.vue new file mode 100644 index 0000000..5d93741 --- /dev/null +++ b/src/components/admin/club/member/MemberAwardListItem.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/components/admin/club/member/MemberCommunicationListItem.vue b/src/components/admin/club/member/MemberCommunicationListItem.vue new file mode 100644 index 0000000..692da6d --- /dev/null +++ b/src/components/admin/club/member/MemberCommunicationListItem.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/components/admin/club/member/MemberExecutivePositionListItem.vue b/src/components/admin/club/member/MemberExecutivePositionListItem.vue new file mode 100644 index 0000000..4679f5e --- /dev/null +++ b/src/components/admin/club/member/MemberExecutivePositionListItem.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/admin/club/member/MemberQualificationListItem.vue b/src/components/admin/club/member/MemberQualificationListItem.vue new file mode 100644 index 0000000..f7a8db6 --- /dev/null +++ b/src/components/admin/club/member/MemberQualificationListItem.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/components/admin/club/member/MembershipListItem.vue b/src/components/admin/club/member/MembershipListItem.vue new file mode 100644 index 0000000..4bf3139 --- /dev/null +++ b/src/components/admin/club/member/MembershipListItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/main.css b/src/main.css index 0596a2e..3d54f9b 100644 --- a/src/main.css +++ b/src/main.css @@ -81,3 +81,13 @@ input:not([type="checkbox"]), textarea { @apply rounded-md shadow-sm relative block w-full px-3 py-2 border border-gray-300 focus:border-primary placeholder-gray-500 text-gray-900 rounded-b-md focus:outline-none focus:ring-0 focus:z-10 sm:text-sm resize-none; } + +input[readonly], +textarea[readonly] { + @apply pointer-events-none; +} + +input[disabled], +textarea[disabled] { + @apply opacity-75 pointer-events-none; +} diff --git a/src/types/fieldTypes.ts b/src/types/fieldTypes.ts new file mode 100644 index 0000000..95e7ec2 --- /dev/null +++ b/src/types/fieldTypes.ts @@ -0,0 +1 @@ +export type CommunicationFieldType = "mobile" | "email" | "city" | "street" | "streetNumber" | "streetNumberAddition"; diff --git a/src/viewmodels/admin/communicationType.models.ts b/src/viewmodels/admin/communicationType.models.ts index ef9cfa7..48e7a17 100644 --- a/src/viewmodels/admin/communicationType.models.ts +++ b/src/viewmodels/admin/communicationType.models.ts @@ -1,16 +1,18 @@ +import type { CommunicationFieldType } from "../../types/fieldTypes"; + export interface CommunicationTypeViewModel { id: number; type: string; - fields: Array; + fields: Array; } export interface CreateCommunicationTypeViewModel { type: string; - fields: Array; + fields: Array; } export interface UpdateCommunicationTypeViewModel { id: number; type: string; - fields: Array; + fields: Array; } diff --git a/src/views/admin/members/MemberAwards.vue b/src/views/admin/members/MemberAwards.vue index bf64750..9b5ae8e 100644 --- a/src/views/admin/members/MemberAwards.vue +++ b/src/views/admin/members/MemberAwards.vue @@ -1,6 +1,8 @@