Merge #68 by cjbueloMP: Trip creation use daterange input

This commit is contained in:
Kovacs 2025-10-21 13:55:56 +02:00 committed by GitHub
commit 4f7b320841
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 16 deletions

View File

@ -11,8 +11,7 @@ import { DatePipe } from '@angular/common';
import { DialogModule } from 'primeng/dialog';
interface TripBaseWithDates extends TripBase {
from?: Date;
to?: Date;
daterange?: Date[];
}
@Component({
@ -81,8 +80,8 @@ export class TripsComponent implements OnInit {
next: (new_trip: TripBase) => {
let dayCount = 0;
if (trip.from && trip.to) {
const obs$ = this.generateDaysLabel(trip.from!, trip.to!).map((label) =>
if (trip.daterange && trip.daterange.length === 2) {
const obs$ = this.generateDaysLabel(trip.daterange).map((label) =>
this.apiService.postTripDay({ id: -1, label: label, items: [] }, new_trip.id),
);
dayCount = obs$.length;
@ -107,7 +106,9 @@ export class TripsComponent implements OnInit {
});
}
generateDaysLabel(from: Date, to: Date): string[] {
generateDaysLabel(daterange: Date[]): string[] {
const from = daterange[0];
const to = daterange[1];
const labels: string[] = [];
const sameMonth = from.getFullYear() === to.getFullYear() && from.getMonth() === to.getMonth();

View File

@ -10,15 +10,10 @@
</p-floatlabel>
@if (tripForm.get("id")?.value === -1) {
<div class="grid md:col-span-4 grid-cols-2 gap-2">
<div class="md:col-span-full">
<p-floatlabel variant="in">
<p-datepicker id="from" formControlName="from" [iconDisplay]="'input'" [showIcon]="true" appendTo="body" fluid />
<label for="from">From</label>
</p-floatlabel>
<p-floatlabel variant="in">
<p-datepicker id="to" formControlName="to" [iconDisplay]="'input'" [showIcon]="true" appendTo="body" fluid />
<label for="to">To</label>
<p-datepicker id="daterange" formControlName="daterange" [iconDisplay]="'input'" [showIcon]="true" selectionMode="range" appendTo="body" fluid />
<label for="daterange">Date Range</label>
</p-floatlabel>
</div>
}
@ -61,4 +56,4 @@
<div class="mt-4 text-right">
<p-button (click)="closeDialog()" [disabled]="!tripForm.dirty || !tripForm.valid">{{ tripForm.get("id")?.value
!== -1 ? "Update" : "Create" }}</p-button>
</div>
</div>

View File

@ -33,8 +33,7 @@ export class TripCreateModalComponent {
image: '',
currency: null,
image_id: null,
from: null,
to: null,
daterange: null,
});
const patchValue = this.config.data?.trip;