Skip to content

Commit fccc8d0

Browse files
committed
if unlinked calendar default last datePicker to the end date when opening
1 parent e1c78bf commit fccc8d0

4 files changed

Lines changed: 16 additions & 7 deletions

File tree

libs/doc-pages/datepicker/src/lib/demos/unlinked-calendar-views/unlinked-calendar-views.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
placeholder="Daterangepicker"
55
class="form-control"
66
bsDaterangepicker
7-
[bsConfig]="{unlinkedCalendars: true}"
7+
[(bsValue)]="dateRangePickerValue"
8+
[bsConfig]="{unlinkedCalendars: true, displayMonths: 2}"
89
>
910
</div>
1011
</div>

libs/doc-pages/datepicker/src/lib/demos/unlinked-calendar-views/unlinked-calendar-views.component.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,10 @@ import { Component } from '@angular/core';
77
standalone: false
88
})
99
export class UnlinkedCalendarsComponent {
10+
dateRangePickerValue?: (Date | undefined)[];
11+
range1: Date = new Date(2020, 5, 10);
12+
range2: Date = new Date(2022, 8, 10);
13+
ngOnInit(): void {
14+
this.dateRangePickerValue = [this.range1, this.range2];
15+
}
1016
}

src/datepicker/reducer/bs-datepicker.reducer.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ function calculateReducer(state: BsDatepickerState): BsDatepickerState {
240240
if (checkedMode === 'day' && state.monthViewOptions != null) {
241241
if (calendarIndex == 0) {
242242
if (!state.unlinkedCalendars && state.showPreviousMonth && state.selectedRange && state.selectedRange.length === 0) {
243-
viewDate = shiftDate(viewDate, { month: -1 });
243+
viewDate = shiftDate(viewDate, { month: -1 });
244244
}
245245
state.monthViewOptions.firstDayOfWeek = getLocale(state.locale).firstDayOfWeek();
246246
}
@@ -255,6 +255,9 @@ function calculateReducer(state: BsDatepickerState): BsDatepickerState {
255255
state.monthViewOptions
256256
);
257257
} else {
258+
if(calendarIndex == displayMonths -1 && state.unlinkedCalendars && (state.selectedRange ?? []).length == 2) {
259+
viewDate = state.selectedRange![1];
260+
}
258261
monthsModel[calendarIndex] = calcDaysCalendar(
259262
viewDate,
260263
state.monthViewOptions

src/datepicker/themes/bs/bs-datepicker-view.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@
2020
(onSelect)="daySelectHandler($event, idx)">
2121
</bs-days-calendar-view>
2222
</div>
23-
<div *ngIf="withTimepicker" class="bs-timepicker-in-datepicker-container">
24-
<timepicker #startTP [disabled]="isDatePickerDisabled"></timepicker>
25-
<timepicker #endTP *ngIf="isRangePicker" [disabled]="isDatePickerDisabled"></timepicker>
26-
</div>
2723
<!--months calendar-->
2824
<div *ngIf="state.mode === 'month'" class="bs-media-container">
2925
<bs-month-calendar-view
@@ -49,7 +45,10 @@
4945
</div>
5046
</div>
5147
</div>
52-
48+
<div *ngIf="withTimepicker" class="bs-timepicker-in-datepicker-container d-flex justify-content-around">
49+
<timepicker #startTP [disabled]="isDatePickerDisabled"></timepicker>
50+
<timepicker #endTP *ngIf="isRangePicker" [disabled]="isDatePickerDisabled"></timepicker>
51+
</div>
5352
<!--applycancel buttons-->
5453
<div class="bs-datepicker-buttons" *ngIf="false">
5554
<button class="btn btn-success" type="button">Apply</button>

0 commit comments

Comments
 (0)