From d88071774972f0c3c22c0e062174ac0ffff8ff5f Mon Sep 17 00:00:00 2001 From: Gregor Vostrak Date: Tue, 12 Nov 2024 18:54:54 +0100 Subject: [PATCH] add TimeEntryCreateModal and MoreOptionsDropdown to ui package --- resources/js/Pages/Time.vue | 7 +++- resources/js/packages/ui/package-lock.json | 2 +- resources/js/packages/ui/package.json | 2 +- .../js/packages/ui/src/Input/TimePicker.vue | 11 ++++-- .../src}/TimeEntry/TimeEntryCreateModal.vue | 38 +++++++++---------- resources/js/packages/ui/src/index.ts | 4 ++ 6 files changed, 38 insertions(+), 26 deletions(-) rename resources/js/{Components/Common => packages/ui/src}/TimeEntry/TimeEntryCreateModal.vue (91%) diff --git a/resources/js/Pages/Time.vue b/resources/js/Pages/Time.vue index 95117973..89b7844a 100644 --- a/resources/js/Pages/Time.vue +++ b/resources/js/Pages/Time.vue @@ -24,7 +24,7 @@ import { useProjectsStore } from '@/utils/useProjects'; import TimeEntryGroupedTable from '@/packages/ui/src/TimeEntry/TimeEntryGroupedTable.vue'; import { useTagsStore } from '@/utils/useTags'; import { useClientsStore } from '@/utils/useClients'; -import TimeEntryCreateModal from '@/Components/Common/TimeEntry/TimeEntryCreateModal.vue'; +import TimeEntryCreateModal from '@/packages/ui/src/TimeEntry/TimeEntryCreateModal.vue'; import { getOrganizationCurrencyString } from '@/utils/money'; import TimeEntryMassActionRow from '@/packages/ui/src/TimeEntry/TimeEntryMassActionRow.vue'; import type { UpdateMultipleTimeEntriesChangeset } from '@/packages/api/src'; @@ -123,7 +123,12 @@ function deleteSelected() { :enableEstimatedTime="isAllowedToPerformPremiumAction()" :createProject="createProject" :createClient="createClient" + :createTag="createTag" :createTimeEntry="createTimeEntry" + :projects + :tasks + :tags + :clients v-model:show="showManualTimeEntryModal"> { +type TimeOption = { + timestamp: string; + name: string; +}; + +const getStartOptions = computed(() => { // options for the entire day in 15 minute intervals const options = []; for (let hour = 0; hour < 24; hour++) { @@ -141,8 +146,8 @@ const closestValue = computed({ :class="twMerge('mine-w-0 w-24', size === 'large' && 'w-28')" v-model="closestValue" v-model:open="open" - :get-key-from-item="(item) => item.timestamp" - :get-name-for-item="(item) => item.name" + :get-key-from-item="(item: TimeOption) => item.timestamp" + :get-name-for-item="(item: TimeOption) => item.name" :items="getStartOptions">