From 24920606ea2e6b10b2e89ea08d69f023a2ba2575 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Wed, 26 Feb 2025 17:50:35 +0100 Subject: [PATCH] Presence Listing --- src/components/admin/ForceSelect.vue | 20 +++- .../operation/mission/MissionOverview.vue | 2 + .../operation/mission/MissionPresence.vue | 104 ++++++++++++++++++ 3 files changed, 121 insertions(+), 5 deletions(-) create mode 100644 src/views/admin/operation/mission/MissionPresence.vue diff --git a/src/components/admin/ForceSelect.vue b/src/components/admin/ForceSelect.vue index 54b74a9..8315da3 100644 --- a/src/components/admin/ForceSelect.vue +++ b/src/components/admin/ForceSelect.vue @@ -25,7 +25,7 @@ @after-leave="query = ''" >
{ - return this.query - .toLocaleLowerCase() - .split(" ") - .some((q) => f.firstname.toLocaleLowerCase().includes(q) || f.lastname.toLocaleLowerCase().includes(q)); + const arr = this.query.toLocaleLowerCase().split(" "); + if (arr.length == 1) { + return arr.some( + (q) => f.firstname.toLocaleLowerCase().includes(q) || f.lastname.toLocaleLowerCase().includes(q) + ); + } else { + return arr + .flatMap((v, i) => arr.slice(i + 1).map((w) => [v, w])) + .some( + (q) => + (f.firstname.toLocaleLowerCase().includes(q[0]) && f.lastname.toLocaleLowerCase().includes(q[1])) || + (f.firstname.toLocaleLowerCase().includes(q[1]) && f.lastname.toLocaleLowerCase().includes(q[0])) + ); + } }); }, }, diff --git a/src/views/admin/operation/mission/MissionOverview.vue b/src/views/admin/operation/mission/MissionOverview.vue index 559d7bb..88b70b9 100644 --- a/src/views/admin/operation/mission/MissionOverview.vue +++ b/src/views/admin/operation/mission/MissionOverview.vue @@ -28,6 +28,7 @@
+ @@ -40,6 +41,7 @@ import { mapActions, mapState } from "pinia"; import MainTemplate from "@/templates/Main.vue"; import { useConnectionStore } from "@/stores/admin/operation/connection"; import MissionDetail from "./MissionDetail.vue"; +import MissionPresence from "./MissionPresence.vue"; import { useForceStore } from "@/stores/admin/configuration/force"; import type { ForceViewModel } from "@/viewmodels/admin/configuration/force.models"; import { useMissionDetailStore } from "../../../../stores/admin/operation/missionDetail"; diff --git a/src/views/admin/operation/mission/MissionPresence.vue b/src/views/admin/operation/mission/MissionPresence.vue new file mode 100644 index 0000000..8a254c1 --- /dev/null +++ b/src/views/admin/operation/mission/MissionPresence.vue @@ -0,0 +1,104 @@ + + + + +