mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-06-15 13:32:43 +01:00
improve typing in solidtime ui package
This commit is contained in:
2
resources/js/packages/ui/package-lock.json
generated
2
resources/js/packages/ui/package-lock.json
generated
@@ -6,7 +6,7 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@solidtime/ui",
|
||||
"version": "0.0.8",
|
||||
"version": "0.0.9",
|
||||
"license": "AGPL-3.0",
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.4.1",
|
||||
|
||||
@@ -183,7 +183,8 @@ function onSelectChange(event: Event) {
|
||||
:tasks="tasks"
|
||||
:selected="
|
||||
!!selectedTimeEntries.find(
|
||||
(filterEntry) => filterEntry.id === subEntry.id
|
||||
(filterEntry: TimeEntry) =>
|
||||
filterEntry.id === subEntry.id
|
||||
)
|
||||
"
|
||||
@selected="emit('selected', [subEntry])"
|
||||
|
||||
@@ -155,7 +155,7 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) {
|
||||
@select-all="selectAllTimeEntries(value)"
|
||||
@unselect-all="unselectAllTimeEntries(value)"
|
||||
:checked="
|
||||
value.every((timeEntry) =>
|
||||
value.every((timeEntry: TimeEntry) =>
|
||||
selectedTimeEntries.includes(timeEntry)
|
||||
)
|
||||
"></TimeEntryRowHeading>
|
||||
@@ -166,7 +166,7 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) {
|
||||
:enableEstimatedTime
|
||||
:selected-time-entries="selectedTimeEntries"
|
||||
@selected="
|
||||
(timeEntries) => {
|
||||
(timeEntries: TimeEntry[]) => {
|
||||
selectedTimeEntries = [
|
||||
...selectedTimeEntries,
|
||||
...timeEntries,
|
||||
@@ -174,11 +174,12 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) {
|
||||
}
|
||||
"
|
||||
@unselected="
|
||||
(timeEntriesToUnselect) => {
|
||||
(timeEntriesToUnselect: TimeEntry[]) => {
|
||||
selectedTimeEntries = selectedTimeEntries.filter(
|
||||
(item) =>
|
||||
(item: TimeEntry) =>
|
||||
!timeEntriesToUnselect.find(
|
||||
(filterEntry) => filterEntry.id === item.id
|
||||
(filterEntry: TimeEntry) =>
|
||||
filterEntry.id === item.id
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -204,13 +205,13 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) {
|
||||
:projects="projects"
|
||||
:selected="
|
||||
!!selectedTimeEntries.find(
|
||||
(filterEntry) => filterEntry.id === entry.id
|
||||
(filterEntry: TimeEntry) => filterEntry.id === entry.id
|
||||
)
|
||||
"
|
||||
@selected="selectedTimeEntries.push(entry)"
|
||||
@unselected="
|
||||
selectedTimeEntries = selectedTimeEntries.filter(
|
||||
(item) => item.id !== entry.id
|
||||
(item: TimeEntry) => item.id !== entry.id
|
||||
)
|
||||
"
|
||||
:tasks="tasks"
|
||||
|
||||
@@ -128,6 +128,7 @@ watch(removeAllTags, () => {
|
||||
selectedTags.value = [];
|
||||
}
|
||||
});
|
||||
type SelectOption = { label: string; value: string };
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -200,8 +201,12 @@ watch(removeAllTags, () => {
|
||||
<div class="flex">
|
||||
<SelectDropdown
|
||||
v-model="timeEntryBillable"
|
||||
:get-key-from-item="(item) => item.value"
|
||||
:get-name-for-item="(item) => item.label"
|
||||
:get-key-from-item="
|
||||
(item: SelectOption) => item.value
|
||||
"
|
||||
:get-name-for-item="
|
||||
(item: SelectOption) => item.label
|
||||
"
|
||||
:items="[
|
||||
{
|
||||
label: 'Keep current billable status',
|
||||
|
||||
Reference in New Issue
Block a user