@elderbyte/ngx-starter 18.9.0 → 18.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/common/time/public_api.mjs +3 -1
- package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +34 -0
- package/esm2022/lib/common/time/temporal-util.mjs +187 -0
- package/esm2022/lib/components/errors/error-util.mjs +2 -2
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +13 -4
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +45 -0
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +203 -0
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +269 -0
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +703 -0
- package/esm2022/lib/components/time/elder-time.module.mjs +22 -2
- package/fesm2022/elderbyte-ngx-starter.mjs +1791 -376
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/time/public_api.d.ts +2 -0
- package/lib/common/time/temporal-plain-date-interval.d.ts +15 -0
- package/lib/common/time/temporal-util.d.ts +34 -0
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -1
- package/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.d.ts +30 -0
- package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +48 -0
- package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +73 -0
- package/lib/components/time/elder-interval-picker/elder-interval-picker.service.d.ts +130 -0
- package/lib/components/time/elder-time.module.d.ts +8 -2
- package/package.json +4 -2
- package/src/assets/i18n/de.json +137 -0
- package/src/assets/i18n/en.json +123 -0
- package/src/lib/components/time/elder-interval-picker/elder-interval-picker.component.scss +36 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
export declare class TemporalPlainDateInterval {
|
|
3
|
+
start: Temporal.PlainDate;
|
|
4
|
+
end: Temporal.PlainDate;
|
|
5
|
+
constructor(start: Temporal.PlainDate, end: Temporal.PlainDate);
|
|
6
|
+
shiftDays(days: number): TemporalPlainDateInterval;
|
|
7
|
+
shiftMonths(months: number): TemporalPlainDateInterval;
|
|
8
|
+
shiftYears(years: number): TemporalPlainDateInterval;
|
|
9
|
+
toString(): string;
|
|
10
|
+
getDuration(): Temporal.Duration;
|
|
11
|
+
getDurationInDays(): number;
|
|
12
|
+
getDurationInWeeks(): number;
|
|
13
|
+
getDurationInMonths(): number;
|
|
14
|
+
getDurationInYears(): number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
import { TemporalPlainDateInterval } from './temporal-plain-date-interval';
|
|
3
|
+
export declare class TemporalUtil {
|
|
4
|
+
static getJSDateFromPlainDateTime(date: Temporal.PlainDate | Temporal.PlainDateTime): Date;
|
|
5
|
+
static getPlainDateTimeFromJSDate(date: Date): Temporal.PlainDateTime;
|
|
6
|
+
static getPlainDateTimeFromPlainDateAndPlainTime(date: Temporal.PlainDate, time: Temporal.PlainTime): Temporal.PlainDateTime;
|
|
7
|
+
static isFirstDayOfWeek(date: Temporal.PlainDate | Temporal.PlainDateTime): boolean;
|
|
8
|
+
static getPlainDateFromJSDate(date: Date): Temporal.PlainDate;
|
|
9
|
+
static getPlainTimeFromJSDate(date: Date): Temporal.PlainTime;
|
|
10
|
+
static getPlainDateTimeFromString(dateString: string): Temporal.PlainDateTime;
|
|
11
|
+
static getHtmlTimeStringFromPlainTime(time: Temporal.PlainTime | Temporal.PlainDateTime): string;
|
|
12
|
+
static getQuarterForDate(date?: Temporal.PlainDate): number;
|
|
13
|
+
static getCurrentDay(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
14
|
+
static getYesterday(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
15
|
+
static getLastSevenDays(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
16
|
+
static getLastThirtyDays(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
17
|
+
static getCurrentWeek(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
18
|
+
static getCurrentMonth(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
19
|
+
static getCurrentQuarter(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
20
|
+
static getPreviousQuarter(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
21
|
+
static getCurrentYear(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
22
|
+
static getPreviousYear(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
23
|
+
static getNextYear(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
24
|
+
static getLast365Days(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
25
|
+
static getLast90Days(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
26
|
+
static getPreviousMonth(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
27
|
+
static getNextMonth(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
28
|
+
static getPreviousWeek(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
29
|
+
static getDateTodayLocalized(): Temporal.PlainDate;
|
|
30
|
+
static createTemporalLocalizedDateFromTimestamp(timestamp: number): Temporal.PlainDate;
|
|
31
|
+
static getHtmlDateString(date: Temporal.PlainDate | Temporal.PlainDateTime): string;
|
|
32
|
+
static getPlainDateFromHtmlDateString(dateString: string): Temporal.PlainDate;
|
|
33
|
+
static getPlainTimeFromHtmlTimeString(timeString: string): Temporal.PlainTime;
|
|
34
|
+
}
|
|
@@ -40,6 +40,7 @@ export declare class ElderIntervalInputComponent extends ElderFormFieldControlBa
|
|
|
40
40
|
**************************************************************************/
|
|
41
41
|
private readonly logger;
|
|
42
42
|
private _mode;
|
|
43
|
+
private _isDefaultDatePickerDisabled;
|
|
43
44
|
zone: ZoneId;
|
|
44
45
|
readonly endTime$: Observable<LocalTime>;
|
|
45
46
|
readonly startLocalDate$: Observable<LocalDate>;
|
|
@@ -64,6 +65,8 @@ export declare class ElderIntervalInputComponent extends ElderFormFieldControlBa
|
|
|
64
65
|
get valueAsIsoStr(): boolean;
|
|
65
66
|
set mode(mode: IntervalInputMode);
|
|
66
67
|
get mode(): IntervalInputMode;
|
|
68
|
+
set isDefaultDatePickerDisabled(hide: BooleanInput);
|
|
69
|
+
get isDefaultDatePickerDisabled(): boolean;
|
|
67
70
|
get isoValueChange(): Observable<IsoIntervalStr | null>;
|
|
68
71
|
set isoValue(value: IsoIntervalStr | null);
|
|
69
72
|
get shouldLabelFloat(): boolean;
|
|
@@ -97,5 +100,5 @@ export declare class ElderIntervalInputComponent extends ElderFormFieldControlBa
|
|
|
97
100
|
private mapIgnoreErrorObservable;
|
|
98
101
|
private coerceValue;
|
|
99
102
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalInputComponent, [null, null, null, null, { optional: true; self: true; }, null, null]>;
|
|
100
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalInputComponent, "elder-interval-input", never, { "zone": { "alias": "zone"; "required": false; }; "valueAsIsoStr": { "alias": "valueAsIsoStr"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "isoValue": { "alias": "isoValue"; "required": false; }; }, { "isoValueChange": "isoValueChange"; }, never, never, true, never>;
|
|
103
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalInputComponent, "elder-interval-input", never, { "zone": { "alias": "zone"; "required": false; }; "valueAsIsoStr": { "alias": "valueAsIsoStr"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "isDefaultDatePickerDisabled": { "alias": "isDefaultDatePickerDisabled"; "required": false; }; "isoValue": { "alias": "isoValue"; "required": false; }; }, { "isoValueChange": "isoValueChange"; }, never, never, true, never>;
|
|
101
104
|
}
|
package/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { ElderIntervalInputComponent } from '../../../components/time/elder-interval-input/elder-interval-input.component';
|
|
3
|
+
import { ElderIntervalPickerToggleComponent } from './elder-interval-picker-toggle/elder-interval-picker-toggle.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ElderIntervalPickerBindingDirective {
|
|
6
|
+
elementRef: ElementRef<HTMLElement>;
|
|
7
|
+
ref: ChangeDetectorRef;
|
|
8
|
+
viewContainerRef: ViewContainerRef;
|
|
9
|
+
/***************************************************************************
|
|
10
|
+
* *
|
|
11
|
+
* Fields *
|
|
12
|
+
* *
|
|
13
|
+
**************************************************************************/
|
|
14
|
+
intervalInputComponent: ElderIntervalInputComponent;
|
|
15
|
+
intervalPickerToggleComponent: ElderIntervalPickerToggleComponent;
|
|
16
|
+
/***************************************************************************
|
|
17
|
+
* *
|
|
18
|
+
* Constructor *
|
|
19
|
+
* *
|
|
20
|
+
**************************************************************************/
|
|
21
|
+
constructor(elementRef: ElementRef<HTMLElement>, ref: ChangeDetectorRef, viewContainerRef: ViewContainerRef);
|
|
22
|
+
/***************************************************************************
|
|
23
|
+
* *
|
|
24
|
+
* Life Cycle *
|
|
25
|
+
* *
|
|
26
|
+
**************************************************************************/
|
|
27
|
+
ngAfterContentInit(): void;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalPickerBindingDirective, never>;
|
|
29
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderIntervalPickerBindingDirective, "[elderIntervalPickerBinding]", never, {}, {}, ["intervalInputComponent", "intervalPickerToggleComponent"], never, true, never>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Subscription } from 'rxjs';
|
|
2
|
+
import { Interval } from '../../../../common/time/interval';
|
|
3
|
+
import { ElderIntervalInputComponent, IntervalInputMode } from '../../../../components/time/elder-interval-input/elder-interval-input.component';
|
|
4
|
+
import { ElderIntervalPickerComponent } from '../elder-interval-picker.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ElderIntervalPickerToggleComponent {
|
|
7
|
+
/***************************************************************************
|
|
8
|
+
* *
|
|
9
|
+
* Fields *
|
|
10
|
+
* *
|
|
11
|
+
**************************************************************************/
|
|
12
|
+
private readonly log;
|
|
13
|
+
connectedIntervalPicker: ElderIntervalPickerComponent;
|
|
14
|
+
intervalInputElement?: ElderIntervalInputComponent;
|
|
15
|
+
isEmittingOnChange: boolean;
|
|
16
|
+
showAnchor: boolean;
|
|
17
|
+
isAnchorReadOnly: boolean;
|
|
18
|
+
isDisabledInput: boolean;
|
|
19
|
+
isResultTextVisible: boolean;
|
|
20
|
+
isHelpTextsVisible: boolean;
|
|
21
|
+
isOverlayCenteredToScreen: boolean;
|
|
22
|
+
readonly inputAnchorDateTime: import("@angular/core").InputSignal<Date>;
|
|
23
|
+
inputInterval: Interval;
|
|
24
|
+
anchorDateTime: Date;
|
|
25
|
+
intervalInputMode: IntervalInputMode;
|
|
26
|
+
isButtonDisabled: boolean;
|
|
27
|
+
inputIntervalElSubscription: Subscription;
|
|
28
|
+
/***************************************************************************
|
|
29
|
+
* *
|
|
30
|
+
* Life Cycle *
|
|
31
|
+
* *
|
|
32
|
+
**************************************************************************/
|
|
33
|
+
ngOnInit(): void;
|
|
34
|
+
ngOnDestroy(): void;
|
|
35
|
+
ngAfterViewInit(): void;
|
|
36
|
+
/***************************************************************************
|
|
37
|
+
* *
|
|
38
|
+
* Public API *
|
|
39
|
+
* *
|
|
40
|
+
**************************************************************************/
|
|
41
|
+
handleOverlayAttachedChange(attached: boolean): void;
|
|
42
|
+
updateIntervalInputElement(interval: Interval): void;
|
|
43
|
+
pullIntervalData(): void;
|
|
44
|
+
handleIntervalPickerDateChange(interval: Interval): void;
|
|
45
|
+
registerInputComponent(inputComponent: ElderIntervalInputComponent): void;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalPickerToggleComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalPickerToggleComponent, "elder-interval-picker-toggle", never, { "intervalInputElement": { "alias": "intervalInputElement"; "required": false; }; "isEmittingOnChange": { "alias": "isEmittingOnChange"; "required": false; }; "showAnchor": { "alias": "showAnchor"; "required": false; }; "isAnchorReadOnly": { "alias": "isAnchorReadOnly"; "required": false; }; "isDisabledInput": { "alias": "isDisabledInput"; "required": false; }; "isResultTextVisible": { "alias": "isResultTextVisible"; "required": false; }; "isHelpTextsVisible": { "alias": "isHelpTextsVisible"; "required": false; }; "isOverlayCenteredToScreen": { "alias": "isOverlayCenteredToScreen"; "required": false; }; "inputAnchorDateTime": { "alias": "inputAnchorDateTime"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
+
import { MatCalendar, MatCalendarCellClassFunction } from '@angular/material/datepicker';
|
|
3
|
+
import { Interval } from '../../../common/time/interval';
|
|
4
|
+
import { IntervalInputMode } from '../../../components/time/elder-interval-input/elder-interval-input.component';
|
|
5
|
+
import { ElderIntervalPickerService } from './elder-interval-picker.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class ElderIntervalPickerComponent {
|
|
8
|
+
svc: ElderIntervalPickerService;
|
|
9
|
+
/***************************************************************************
|
|
10
|
+
* *
|
|
11
|
+
* Fields *
|
|
12
|
+
* *
|
|
13
|
+
**************************************************************************/
|
|
14
|
+
private readonly log;
|
|
15
|
+
readonly calendarAnchorDateCssClassFn: MatCalendarCellClassFunction<Date>;
|
|
16
|
+
calendarStart: MatCalendar<Date>;
|
|
17
|
+
calendarEnd: MatCalendar<Date>;
|
|
18
|
+
calendarStartElRef: ElementRef;
|
|
19
|
+
calendarEndElRef: ElementRef;
|
|
20
|
+
startDateInput: ElementRef;
|
|
21
|
+
endDateInput: ElementRef;
|
|
22
|
+
isEmittingOnChange: boolean;
|
|
23
|
+
intervalInputMode: IntervalInputMode;
|
|
24
|
+
showAnchor: boolean;
|
|
25
|
+
isAnchorReadOnly: boolean;
|
|
26
|
+
isResultTextVisible: boolean;
|
|
27
|
+
isHelpTextsVisible: boolean;
|
|
28
|
+
dateChange: EventEmitter<Interval>;
|
|
29
|
+
inputInterval: import("@angular/core").InputSignal<Interval>;
|
|
30
|
+
inputAnchorDateTime: import("@angular/core").InputSignal<Date>;
|
|
31
|
+
private calendarElFocusEventHandler;
|
|
32
|
+
/***************************************************************************
|
|
33
|
+
* *
|
|
34
|
+
* Constructor *
|
|
35
|
+
* *
|
|
36
|
+
**************************************************************************/
|
|
37
|
+
constructor(svc: ElderIntervalPickerService);
|
|
38
|
+
/***************************************************************************
|
|
39
|
+
* *
|
|
40
|
+
* Life Cycle *
|
|
41
|
+
* *
|
|
42
|
+
**************************************************************************/
|
|
43
|
+
ngOnInit(): void;
|
|
44
|
+
ngAfterViewInit(): void;
|
|
45
|
+
ngOnDestroy(): void;
|
|
46
|
+
/***************************************************************************
|
|
47
|
+
* *
|
|
48
|
+
* Public API *
|
|
49
|
+
* *
|
|
50
|
+
**************************************************************************/
|
|
51
|
+
setupDateInputCalendarFocusPrevention(): void;
|
|
52
|
+
clearStartDateTime(): void;
|
|
53
|
+
clearEndDateTime(): void;
|
|
54
|
+
clearStartAndEndDateTimes(): void;
|
|
55
|
+
handleStartCalendarChange(changedDate: Date): void;
|
|
56
|
+
handleEndCalendarChange(changedDate: Date): void;
|
|
57
|
+
/***************************************************************************
|
|
58
|
+
* *
|
|
59
|
+
* Private methods *
|
|
60
|
+
* *
|
|
61
|
+
**************************************************************************/
|
|
62
|
+
private removeEventListeners;
|
|
63
|
+
private calendarAnchorDateCssClassFnBody;
|
|
64
|
+
/***************************************************************************
|
|
65
|
+
* *
|
|
66
|
+
* Effects *
|
|
67
|
+
* *
|
|
68
|
+
**************************************************************************/
|
|
69
|
+
private readonly _updateMatCalendarElAnchorCssClassEffect;
|
|
70
|
+
private readonly _updateMatCalendarElSelectionEffect;
|
|
71
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalPickerComponent, never>;
|
|
72
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalPickerComponent, "elder-interval-picker", never, { "isEmittingOnChange": { "alias": "isEmittingOnChange"; "required": false; }; "intervalInputMode": { "alias": "intervalInputMode"; "required": false; }; "showAnchor": { "alias": "showAnchor"; "required": false; }; "isAnchorReadOnly": { "alias": "isAnchorReadOnly"; "required": false; }; "isResultTextVisible": { "alias": "isResultTextVisible"; "required": false; }; "isHelpTextsVisible": { "alias": "isHelpTextsVisible"; "required": false; }; "inputInterval": { "alias": "inputInterval"; "required": false; "isSignal": true; }; "inputAnchorDateTime": { "alias": "inputAnchorDateTime"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, never, never, true, never>;
|
|
73
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { EventEmitter, Signal } from '@angular/core';
|
|
2
|
+
import { DateRange } from '@angular/material/datepicker';
|
|
3
|
+
import { LocalDate } from '@js-joda/core';
|
|
4
|
+
import { Temporal } from '@js-temporal/polyfill';
|
|
5
|
+
import { Interval } from '../../../common/time/interval';
|
|
6
|
+
import { TemporalPlainDateInterval } from '../../../common/time/temporal-plain-date-interval';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
type calendarMode = 'days' | 'weeks' | 'months' | 'quarters' | 'years';
|
|
9
|
+
export declare class ElderIntervalPickerService {
|
|
10
|
+
/***************************************************************************
|
|
11
|
+
* *
|
|
12
|
+
* Fields *
|
|
13
|
+
* *
|
|
14
|
+
**************************************************************************/
|
|
15
|
+
private readonly log;
|
|
16
|
+
private _dateChangeEmitter;
|
|
17
|
+
readonly calendarMode: import("@angular/core").WritableSignal<calendarMode>;
|
|
18
|
+
readonly startDate: import("@angular/core").WritableSignal<Temporal.PlainDate>;
|
|
19
|
+
readonly endDate: import("@angular/core").WritableSignal<Temporal.PlainDate>;
|
|
20
|
+
readonly baseReferenceDate: import("@angular/core").WritableSignal<Temporal.PlainDate>;
|
|
21
|
+
readonly baseReferenceTime: import("@angular/core").WritableSignal<Temporal.PlainTime>;
|
|
22
|
+
readonly fixedAnchorDate: import("@angular/core").WritableSignal<Temporal.PlainDate>;
|
|
23
|
+
readonly fixedAnchorTime: import("@angular/core").WritableSignal<Temporal.PlainTime>;
|
|
24
|
+
readonly startTime: import("@angular/core").WritableSignal<Temporal.PlainTime>;
|
|
25
|
+
readonly endTime: import("@angular/core").WritableSignal<Temporal.PlainTime>;
|
|
26
|
+
private _inputInterval;
|
|
27
|
+
private _inputAnchorDateTime;
|
|
28
|
+
readonly isEmittingOnChange: import("@angular/core").WritableSignal<boolean>;
|
|
29
|
+
readonly isUpdatingIntervalOnAnchorChange: import("@angular/core").WritableSignal<boolean>;
|
|
30
|
+
readonly isFixedAnchorDateSet: Signal<boolean>;
|
|
31
|
+
readonly anchorDate: Signal<Temporal.PlainDate>;
|
|
32
|
+
readonly anchorTime: Signal<Temporal.PlainTime>;
|
|
33
|
+
readonly anchorDateTime: Signal<Temporal.PlainDateTime>;
|
|
34
|
+
readonly dateRange: Signal<TemporalPlainDateInterval>;
|
|
35
|
+
readonly dateRangeForCalendar: Signal<DateRange<Date>>;
|
|
36
|
+
readonly dateRangeInDays: Signal<number>;
|
|
37
|
+
readonly isStartAndEndDatesEmpty: Signal<boolean>;
|
|
38
|
+
readonly isStartAndEndDatesSet: Signal<boolean>;
|
|
39
|
+
readonly isRangeNotSet: Signal<boolean>;
|
|
40
|
+
readonly startDateTime: Signal<Temporal.PlainDateTime | Temporal.PlainDate>;
|
|
41
|
+
readonly endDateTime: Signal<Temporal.PlainDateTime | Temporal.PlainDate>;
|
|
42
|
+
readonly startDateAsJSDate: Signal<Date>;
|
|
43
|
+
readonly endDateAsJSDate: Signal<Date>;
|
|
44
|
+
readonly startDateTimeAsJSDate: Signal<Date>;
|
|
45
|
+
readonly endDateTimeAsJSDate: Signal<Date>;
|
|
46
|
+
readonly getCalendarWeek: Signal<number>;
|
|
47
|
+
readonly isFullCalenderWeekSelected: Signal<number | boolean>;
|
|
48
|
+
readonly viewIntervalMessage: Signal<string>;
|
|
49
|
+
readonly deltaAsTemporalDuration: Signal<Temporal.Duration>;
|
|
50
|
+
readonly deltaHumanReadable: Signal<string>;
|
|
51
|
+
readonly getStartTimeString: Signal<string>;
|
|
52
|
+
readonly getEndTimeString: Signal<string>;
|
|
53
|
+
readonly getAnchorTimeString: Signal<string>;
|
|
54
|
+
readonly getAnchorPointAsLocaleDate: Signal<LocalDate>;
|
|
55
|
+
readonly startDateHtmlString: Signal<string>;
|
|
56
|
+
readonly endDateHtmlString: Signal<string>;
|
|
57
|
+
readonly isStartTimeSetAndNotMidnight: Signal<boolean>;
|
|
58
|
+
readonly isEndTimeSetAndNotMidnight: Signal<boolean>;
|
|
59
|
+
readonly isFixedAnchorTimeSetAndNotMidnight: Signal<boolean>;
|
|
60
|
+
/***************************************************************************
|
|
61
|
+
* *
|
|
62
|
+
* Public API *
|
|
63
|
+
* *
|
|
64
|
+
**************************************************************************/
|
|
65
|
+
setStartDateFromHtmlString(htmlString: string): void;
|
|
66
|
+
setEndDateFromHtmlString(htmlString: string): void;
|
|
67
|
+
setupInputInterval(s: Signal<Interval>): void;
|
|
68
|
+
setupInputAnchorDateTime(s: Signal<Date>): void;
|
|
69
|
+
setupEventEmitter(e: EventEmitter<Interval>): void;
|
|
70
|
+
setStartTimeFromString(timeStr: string, formControl?: any): void;
|
|
71
|
+
setEndTimeFromString(timeStr: string, formControl?: any): void;
|
|
72
|
+
resetCalendarMode(): void;
|
|
73
|
+
pullInputInterval(): void;
|
|
74
|
+
pullInputAnchorDateTime(): void;
|
|
75
|
+
setDateTimesFromElderInterval(interval: Interval): void;
|
|
76
|
+
setAnchorDateTimeFromJsDate(dateTime: Date): void;
|
|
77
|
+
setFixedAnchorPointToStartDateTime(): void;
|
|
78
|
+
setFixedAnchorPointToEndDateTime(): void;
|
|
79
|
+
resetFixedAnchorPoint(): void;
|
|
80
|
+
setAnchorDateFromForm(dateArg: LocalDate): void;
|
|
81
|
+
clearStartDateTime(): void;
|
|
82
|
+
clearEndDateTime(): void;
|
|
83
|
+
clearStartTime(): void;
|
|
84
|
+
clearEndTime(): void;
|
|
85
|
+
resetFixedAnchorTime(): void;
|
|
86
|
+
setAnchorTimeFromForm(htmlString: string): void;
|
|
87
|
+
emitMainDates(): void;
|
|
88
|
+
shiftDay(days: number): void;
|
|
89
|
+
shiftMonth(months: number, staticMode?: boolean): void;
|
|
90
|
+
shiftYear(years: number, staticMode?: boolean): void;
|
|
91
|
+
shiftTime(amount: number, unit: 'hours' | 'minutes'): void;
|
|
92
|
+
smartShift(direction?: number): void;
|
|
93
|
+
selectLastHour(): void;
|
|
94
|
+
selectLast24Hours(): void;
|
|
95
|
+
selectLastFiveMinutes(): void;
|
|
96
|
+
selectCurrentDay(): void;
|
|
97
|
+
selectYesterday(): void;
|
|
98
|
+
selectCurrentWeek(): void;
|
|
99
|
+
selectPreviousWeek(): void;
|
|
100
|
+
selectLastSevenDays(): void;
|
|
101
|
+
selectCurrentMonth(): void;
|
|
102
|
+
selectPreviousMonth(): void;
|
|
103
|
+
selectLastThirtyDays(): void;
|
|
104
|
+
selectCurrentYear(): void;
|
|
105
|
+
selectPreviousYear(): void;
|
|
106
|
+
selectLast365Days(): void;
|
|
107
|
+
selectCurrentQuarter(): void;
|
|
108
|
+
selectPreviousQuarter(): void;
|
|
109
|
+
private shiftSelectionToAnchorDate;
|
|
110
|
+
private shiftSelectionToAnchorTime;
|
|
111
|
+
/***************************************************************************
|
|
112
|
+
* *
|
|
113
|
+
* Private methods *
|
|
114
|
+
* *
|
|
115
|
+
**************************************************************************/
|
|
116
|
+
private createElderInterval;
|
|
117
|
+
private setDatesFromRange;
|
|
118
|
+
private refreshBaseReferenceDateTime;
|
|
119
|
+
private resetTimeRange;
|
|
120
|
+
private shiftRangeEndToToday;
|
|
121
|
+
/***************************************************************************
|
|
122
|
+
* *
|
|
123
|
+
* Effects *
|
|
124
|
+
* *
|
|
125
|
+
**************************************************************************/
|
|
126
|
+
private readonly _autoEmitOnDateTimesChangeEffect;
|
|
127
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalPickerService, never>;
|
|
128
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ElderIntervalPickerService>;
|
|
129
|
+
}
|
|
130
|
+
export {};
|
|
@@ -16,7 +16,10 @@ import * as i14 from "./elder-local-time-input/elder-local-time-input.component"
|
|
|
16
16
|
import * as i15 from "./elder-local-date-input/elder-local-date-input.component";
|
|
17
17
|
import * as i16 from "./duration/elder-duration-input/elder-duration-input.component";
|
|
18
18
|
import * as i17 from "./period/elder-period-input/elder-period-input.component";
|
|
19
|
-
import * as i18 from "./
|
|
19
|
+
import * as i18 from "./elder-interval-picker/elder-interval-picker.component";
|
|
20
|
+
import * as i19 from "./elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component";
|
|
21
|
+
import * as i20 from "./elder-interval-picker/elder-interval-picker-binding.directive";
|
|
22
|
+
import * as i21 from "./pipes/to-iso-date-string.pipe";
|
|
20
23
|
export { ElderDateSwitcherComponent } from './elder-date-switcher/elder-date-switcher.component';
|
|
21
24
|
export { ElderIntervalInputComponent } from './elder-interval-input/elder-interval-input.component';
|
|
22
25
|
export { ElderDateTimeInputComponent } from './elder-date-time-input/elder-date-time-input.component';
|
|
@@ -24,9 +27,12 @@ export { ElderLocalTimeInputComponent } from './elder-local-time-input/elder-loc
|
|
|
24
27
|
export { ElderLocalDateInputComponent } from './elder-local-date-input/elder-local-date-input.component';
|
|
25
28
|
export { ElderDurationInputComponent } from './duration/elder-duration-input/elder-duration-input.component';
|
|
26
29
|
export { ElderPeriodInputComponent } from './period/elder-period-input/elder-period-input.component';
|
|
30
|
+
export { ElderIntervalPickerComponent } from './elder-interval-picker/elder-interval-picker.component';
|
|
31
|
+
export { ElderIntervalPickerToggleComponent } from './elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component';
|
|
32
|
+
export { ElderIntervalPickerBindingDirective } from './elder-interval-picker/elder-interval-picker-binding.directive';
|
|
27
33
|
export { ToIsoDateStringPipe } from './pipes/to-iso-date-string.pipe';
|
|
28
34
|
export declare class ElderTimeModule {
|
|
29
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderTimeModule, never>;
|
|
30
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ElderTimeModule, never, [typeof i1.CommonModule, typeof i2.MatNativeDateModule, typeof i3.FormsModule, typeof i4.MatInputModule, typeof i5.MatDatepickerModule, typeof i6.MatButtonModule, typeof i7.MatIconModule, typeof i8.MatTooltipModule, typeof i9.TranslateModule, typeof i10.ElderFormsDirectivesModule, typeof i11.ElderDateSwitcherComponent, typeof i12.ElderIntervalInputComponent, typeof i13.ElderDateTimeInputComponent, typeof i14.ElderLocalTimeInputComponent, typeof i15.ElderLocalDateInputComponent, typeof i16.ElderDurationInputComponent, typeof i17.ElderPeriodInputComponent, typeof i18.ToIsoDateStringPipe], [typeof i11.ElderDateSwitcherComponent, typeof i13.ElderDateTimeInputComponent, typeof i12.ElderIntervalInputComponent, typeof i14.ElderLocalTimeInputComponent, typeof i15.ElderLocalDateInputComponent, typeof i16.ElderDurationInputComponent, typeof i17.ElderPeriodInputComponent, typeof i18.ToIsoDateStringPipe]>;
|
|
36
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ElderTimeModule, never, [typeof i1.CommonModule, typeof i2.MatNativeDateModule, typeof i3.FormsModule, typeof i4.MatInputModule, typeof i5.MatDatepickerModule, typeof i6.MatButtonModule, typeof i7.MatIconModule, typeof i8.MatTooltipModule, typeof i9.TranslateModule, typeof i10.ElderFormsDirectivesModule, typeof i11.ElderDateSwitcherComponent, typeof i12.ElderIntervalInputComponent, typeof i13.ElderDateTimeInputComponent, typeof i14.ElderLocalTimeInputComponent, typeof i15.ElderLocalDateInputComponent, typeof i16.ElderDurationInputComponent, typeof i17.ElderPeriodInputComponent, typeof i18.ElderIntervalPickerComponent, typeof i19.ElderIntervalPickerToggleComponent, typeof i20.ElderIntervalPickerBindingDirective, typeof i21.ToIsoDateStringPipe], [typeof i11.ElderDateSwitcherComponent, typeof i13.ElderDateTimeInputComponent, typeof i12.ElderIntervalInputComponent, typeof i14.ElderLocalTimeInputComponent, typeof i15.ElderLocalDateInputComponent, typeof i16.ElderDurationInputComponent, typeof i17.ElderPeriodInputComponent, typeof i18.ElderIntervalPickerComponent, typeof i19.ElderIntervalPickerToggleComponent, typeof i20.ElderIntervalPickerBindingDirective, typeof i21.ToIsoDateStringPipe]>;
|
|
31
37
|
static ɵinj: i0.ɵɵInjectorDeclaration<ElderTimeModule>;
|
|
32
38
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elderbyte/ngx-starter",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.11.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": "^17.0.0 || ^18.0.0",
|
|
6
6
|
"@angular/common": "^17.0.0 || ^18.0.0",
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
"rxjs": "^6.5.3 || ^7.5.0",
|
|
10
10
|
"@elderbyte/ts-logger": "^0.1.0",
|
|
11
11
|
"@elderbyte/ngx-simple-webstorage": "^17.0.0 || ^18.0.0",
|
|
12
|
-
"@js-joda/core": "^5.5.3"
|
|
12
|
+
"@js-joda/core": "^5.5.3",
|
|
13
|
+
"@js-temporal/polyfill": "^0.4.4",
|
|
14
|
+
"ngx-translate-multi-http-loader": "^18.0.0"
|
|
13
15
|
},
|
|
14
16
|
"exports": {
|
|
15
17
|
".": {
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"greeting": "Hallo Welt!",
|
|
3
|
+
|
|
4
|
+
"context": {
|
|
5
|
+
"reset": "Zurücksetzen",
|
|
6
|
+
"noSelection": "Keine Auswahl",
|
|
7
|
+
"weight": "Gewicht",
|
|
8
|
+
"price": "Preis",
|
|
9
|
+
"createdAt": "Erstellt",
|
|
10
|
+
"createdBy": "Ersteller",
|
|
11
|
+
"modifiedBy": "Bearbeiter",
|
|
12
|
+
"modifiedAt": "Bearbeitet"
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
"interval": {
|
|
16
|
+
"from": "Von",
|
|
17
|
+
"to": "Bis"
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
"dimensions": {
|
|
21
|
+
"length": "Länge",
|
|
22
|
+
"width": "Breite",
|
|
23
|
+
"height": "Höhe"
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
"language": {
|
|
27
|
+
"language": "Sprache",
|
|
28
|
+
"en": "Englisch",
|
|
29
|
+
"de": "Deutsch"
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
"actions": {
|
|
33
|
+
"ok": "Ok",
|
|
34
|
+
"cancel": "Abbrechen",
|
|
35
|
+
"yes": "Ja",
|
|
36
|
+
"no": "Nein"
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
"foods": {
|
|
40
|
+
"id": "Id",
|
|
41
|
+
"name": "Name",
|
|
42
|
+
"cat-price": "Kat. - Preis"
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
"dialogs": {
|
|
46
|
+
"confirm": {
|
|
47
|
+
"title": "Do you really?",
|
|
48
|
+
"message": "Do you really wanna {{type}}"
|
|
49
|
+
},
|
|
50
|
+
"confirm-deletion": {
|
|
51
|
+
"title": "Löschung bestätigen",
|
|
52
|
+
"message": "Sollen wirklich {{numOfItems}} Elemente gelöscht werden?"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
"paginator": {
|
|
57
|
+
"itemCountSeparator": "von",
|
|
58
|
+
"itemsPerPage": "Elemente pro Seite",
|
|
59
|
+
"firstPage": "Erste Seite",
|
|
60
|
+
"lastPage": "Letzte Seite",
|
|
61
|
+
"nextPage": "Nächste Seite",
|
|
62
|
+
"previousPage": "Vorherige Seite"
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
"header": {
|
|
66
|
+
"header": "Nice header",
|
|
67
|
+
"subheader": "Nice subheader"
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
"validations": {
|
|
71
|
+
"multipleOf": "Mehrfaches von [{{multiples}}]",
|
|
72
|
+
"required": "Pflichtfeld"
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
"select": {
|
|
76
|
+
"direction": {
|
|
77
|
+
"LEFT": "Links",
|
|
78
|
+
"RIGHT": "Rechts",
|
|
79
|
+
"UP": "Oben",
|
|
80
|
+
"DOWN": "Unten"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
"intervalPicker": {
|
|
85
|
+
"clear": "Löschen",
|
|
86
|
+
"last": "Letzte",
|
|
87
|
+
"previous": "Vorherige",
|
|
88
|
+
"current": "Aktuelle",
|
|
89
|
+
"today": "Heute",
|
|
90
|
+
"yesterday": "Gestern",
|
|
91
|
+
"anchorDay": "Ankertag",
|
|
92
|
+
"selectInterval": "Intervall wählen",
|
|
93
|
+
"selectSmartInterval": "Smartes Intervall wählen",
|
|
94
|
+
"selectAbsoluteInterval": "Absolutes Intervall wählen",
|
|
95
|
+
"selectedInterval": "Gewähltes Intervall",
|
|
96
|
+
"anchorDate": "Ankerdatum",
|
|
97
|
+
"anchorTime": "Ankerzeit",
|
|
98
|
+
"duration": "Dauer",
|
|
99
|
+
"shiftInterval": "Verschieben",
|
|
100
|
+
"startDate": "Startdatum",
|
|
101
|
+
"endDate": "Enddatum",
|
|
102
|
+
"endTime": "Endzeit",
|
|
103
|
+
"startTime": "Startzeit",
|
|
104
|
+
"interval": "Intervall",
|
|
105
|
+
"startDateNotSet": "Kein Startdatum",
|
|
106
|
+
"endDateNotSet": "Kein Enddatum",
|
|
107
|
+
"day": "Tag",
|
|
108
|
+
"days": "Tage",
|
|
109
|
+
"week": "Woche",
|
|
110
|
+
"weeks": "Wochen",
|
|
111
|
+
"month": "Monat",
|
|
112
|
+
"months": "Monate",
|
|
113
|
+
"quarter": "Quartal",
|
|
114
|
+
"quarters": "Quartale",
|
|
115
|
+
"year": "Jahr",
|
|
116
|
+
"years": "Jahre",
|
|
117
|
+
"hour": "Stunde",
|
|
118
|
+
"hours": "Stunden",
|
|
119
|
+
"minute": "Minute",
|
|
120
|
+
"minutes": "Minuten",
|
|
121
|
+
"second": "Sekunde",
|
|
122
|
+
"seconds": "Sekunden",
|
|
123
|
+
"currentPeriod": {
|
|
124
|
+
"week": "Aktuelle Woche",
|
|
125
|
+
"month": "Aktueller Monat",
|
|
126
|
+
"quarter": "Aktuelles Quartal",
|
|
127
|
+
"year": "Aktuelles Jahr"
|
|
128
|
+
},
|
|
129
|
+
"previousPeriod": {
|
|
130
|
+
"week": "Vorherige Woche",
|
|
131
|
+
"month": "Vorheriger Monat",
|
|
132
|
+
"quarter": "Vorheriges Quartal",
|
|
133
|
+
"year": "Vorheriges Jahr"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|