Skip to content

Commit 3c74ae6

Browse files
authored
Merge pull request #602 from vlio20/14.0.1
Fixing #595 (#601)
2 parents 0158efe + 7469434 commit 3c74ae6

File tree

9 files changed

+32
-18
lines changed

9 files changed

+32
-18
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
# [14.0.1] (2022-07-23)
5+
6+
### Bug Fixes
7+
- Error when min config is used as string([601](https://github.com/vlio20/angular-datepicker/pull/601)) closes [#595](https://github.com/vlio20/angular-datepicker/issues/595) - Reported by [@tomulticolaure](https://github.com/slickam)
8+
49
# [14.0.0] (2022-07-23)
510

611
### Improvements

projects/ng2-date-picker/src/lib/common/services/utils/utils.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ export class UtilsService {
330330
return date.isBetween(from, to, 'day', '[]');
331331
}
332332

333-
convertPropsToDayjs(obj: { [key: string]: any }, format: string, props: string[]) {
333+
convertPropsToDayjs(obj: { [key: string]: any }, format: string, props: string[]): void {
334334
props.forEach((prop) => {
335335
if (obj.hasOwnProperty(prop)) {
336336
obj[prop] = this.convertToDayjs(obj[prop], format);

projects/ng2-date-picker/src/lib/date-picker/date-picker.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,8 @@ export class DatePickerComponent implements OnChanges,
292292
this.componentConfig.min
293293
);
294294
this.dayCalendarConfig = this.dayPickerService.getDayConfigService(this.componentConfig);
295-
this.dayTimeCalendarConfig = this.dayPickerService.getDayTimeConfigService(this.componentConfig);
296-
this.timeSelectConfig = this.dayPickerService.getTimeConfigService(this.componentConfig);
295+
this.dayTimeCalendarConfig = this.dayPickerService.getDayTimeConfig(this.componentConfig);
296+
this.timeSelectConfig = this.dayPickerService.getTimeConfig(this.componentConfig);
297297
this.initValidators();
298298
this.overlayPosition = this.dayPickerService.getOverlayPosition(this.componentConfig);
299299
this.origin = this.utilsService.getNativeElement(this.componentConfig.inputElementContainer);

projects/ng2-date-picker/src/lib/date-picker/date-picker.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ export class DatePickerService {
8787
};
8888
}
8989

90-
getDayTimeConfigService(pickerConfig: IDatePickerConfig): IDayTimeCalendarConfig {
90+
getDayTimeConfig(pickerConfig: IDatePickerConfig): IDayTimeCalendarConfig {
9191
return this.daytimeCalendarService.getConfig(pickerConfig);
9292
}
9393

94-
getTimeConfigService(pickerConfig: IDatePickerConfig): ITimeSelectConfig {
94+
getTimeConfig(pickerConfig: IDatePickerConfig): ITimeSelectConfig {
9595
return this.timeSelectService.getConfig(pickerConfig);
9696
}
9797

projects/ng2-date-picker/src/lib/day-calendar/day-calendar.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ export class DayCalendarService {
3030
}
3131

3232
getConfig(config: IDayCalendarConfig): IDayCalendarConfigInternal {
33-
const _config = <IDayCalendarConfigInternal>{
33+
const _config = {
3434
...this.DEFAULT_CONFIG,
3535
...this.utilsService.clearUndefined(config)
3636
};
3737

3838
this.utilsService.convertPropsToDayjs(_config, _config.format, ['min', 'max']);
3939

40-
return _config;
40+
return _config as IDayCalendarConfigInternal;
4141
}
4242

4343
generateDaysMap(firstDayOfWeek: WeekDays) {
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
import {ITimeSelectConfig} from '../time-select/time-select-config.model';
2-
import {IDayCalendarConfig} from '../day-calendar/day-calendar-config.model';
1+
import {ITimeSelectConfig, ITimeSelectConfigInternal} from '../time-select/time-select-config.model';
2+
import {IDayCalendarConfig, IDayCalendarConfigInternal} from '../day-calendar/day-calendar-config.model';
33

44
export interface IDayTimeCalendarConfig extends ITimeSelectConfig, IDayCalendarConfig {
55
}
6+
7+
export interface IDayTimeCalendarConfigInternal extends ITimeSelectConfigInternal, IDayCalendarConfigInternal {
8+
}

projects/ng2-date-picker/src/lib/day-time-calendar/day-time-calendar.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import {UtilsService} from '../common/services/utils/utils.service';
2929
import {IDate} from '../common/models/date.model';
3030
import {DayCalendarService} from '../day-calendar/day-calendar.service';
3131
import {TimeSelectService} from '../time-select/time-select.service';
32-
import {IDayTimeCalendarConfig} from './day-time-calendar-config.model';
32+
import {IDayTimeCalendarConfig, IDayTimeCalendarConfigInternal} from './day-time-calendar-config.model';
3333
import {DayTimeCalendarService} from './day-time-calendar.service';
3434
import {DateValidator} from '../common/types/validator.type';
3535
import {DayCalendarComponent} from '../day-calendar/day-calendar.component';
@@ -70,7 +70,7 @@ export class DayTimeCalendarComponent implements OnInit, OnChanges, ControlValue
7070
@Output() onRightNav: EventEmitter<INavEvent> = new EventEmitter();
7171
@ViewChild('dayCalendar') dayCalendarRef: DayCalendarComponent;
7272
isInited: boolean = false;
73-
componentConfig: IDayTimeCalendarConfig;
73+
componentConfig: IDayTimeCalendarConfigInternal;
7474
inputValue: CalendarValue;
7575
inputValueType: ECalendarValue;
7676
validateFn: DateValidator;
@@ -172,7 +172,7 @@ export class DayTimeCalendarComponent implements OnInit, OnChanges, ControlValue
172172
}
173173

174174
dateSelected(day: IDate) {
175-
this.selected = this.dayTimeCalendarService.updateDay(this.selected, day.date, this.config);
175+
this.selected = this.dayTimeCalendarService.updateDay(this.selected, day.date, this.componentConfig);
176176
this.emitChange();
177177
}
178178

projects/ng2-date-picker/src/lib/day-time-calendar/day-time-calendar.service.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import {Injectable} from '@angular/core';
33
import {UtilsService} from '../common/services/utils/utils.service';
44
import {DayCalendarService} from '../day-calendar/day-calendar.service';
55
import {TimeSelectService} from '../time-select/time-select.service';
6-
import {IDayTimeCalendarConfig} from './day-time-calendar-config.model';
6+
import {IDayTimeCalendarConfig, IDayTimeCalendarConfigInternal} from './day-time-calendar-config.model';
77
import {dayjsRef} from '../common/dayjs/dayjs.ref';
88
import {Dayjs} from 'dayjs';
9+
import {IDayCalendarConfigInternal} from '../day-calendar/day-calendar-config.model';
910

1011
const DAY_FORMAT = 'YYYYMMDD';
1112
const TIME_FORMAT = 'HH:mm:ss';
@@ -22,25 +23,29 @@ export class DayTimeCalendarService {
2223
private timeSelectService: TimeSelectService) {
2324
}
2425

25-
getConfig(config: IDayTimeCalendarConfig): IDayTimeCalendarConfig {
26-
return {
26+
getConfig(config: IDayTimeCalendarConfig): IDayTimeCalendarConfigInternal {
27+
const _config = {
2728
...this.DEFAULT_CONFIG,
2829
...this.timeSelectService.getConfig(config),
2930
...this.dayCalendarService.getConfig(config)
3031
};
32+
33+
this.utilsService.convertPropsToDayjs(_config, _config.format, ['min', 'max']);
34+
35+
return _config as IDayTimeCalendarConfigInternal;
3136
}
3237

33-
updateDay(current: Dayjs, day: Dayjs, config: IDayTimeCalendarConfig): Dayjs {
38+
updateDay(current: Dayjs, day: Dayjs, config: IDayCalendarConfigInternal): Dayjs {
3439
const time = current ? current : dayjsRef();
3540
let updated = dayjsRef(day.format(DAY_FORMAT) + time.format(TIME_FORMAT), COMBINED_FORMAT);
3641

3742
if (config.min) {
38-
const min = <Dayjs>config.min;
43+
const min = config.min;
3944
updated = min.isAfter(updated) ? min : updated;
4045
}
4146

4247
if (config.max) {
43-
const max = <Dayjs>config.max;
48+
const max = config.max;
4449
updated = max.isBefore(updated) ? max : updated;
4550
}
4651

projects/ng2-date-picker/src/public-api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export {IDayEvent} from './lib/day-calendar/day.model';
1010
export {IDatePickerConfig} from './lib/date-picker/date-picker-config.model';
1111
export {IDatePickerDirectiveConfig} from './lib/date-picker/date-picker-directive-config.model';
1212
export {IMonthCalendarConfig} from './lib/month-calendar/month-calendar-config';
13+
export {IDayTimeCalendarConfig} from './lib/day-time-calendar/day-time-calendar-config.model';
1314
export {ISelectionEvent} from './lib/common/types/selection-event.model';
1415
export {SelectEvent} from './lib/common/types/selection-event.enum';
1516

0 commit comments

Comments
 (0)