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