@elderbyte/ngx-starter 16.0.0 → 16.0.1
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.
|
@@ -1,23 +1,57 @@
|
|
|
1
1
|
/** Adapts the native JS Date for use with cdk-based components that work with dates. */
|
|
2
|
-
import { NativeDateAdapter } from '@angular/material/core';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MAT_DATE_LOCALE, NativeDateAdapter } from '@angular/material/core';
|
|
3
|
+
import { Inject, Injectable } from '@angular/core';
|
|
4
4
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
5
|
+
import { convert, DateTimeFormatter, LocalDate } from '@js-joda/core';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* Makes week starting at monday. For example MatDatePicker.
|
|
8
9
|
*/
|
|
9
10
|
export class CustomDateAdapter extends NativeDateAdapter {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(
|
|
11
|
+
constructor(matDateLocale) {
|
|
12
|
+
super(matDateLocale);
|
|
12
13
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
14
|
+
this.fallbackDateFormats = ['MM/dd/yyyy', 'MM/dd/yy'];
|
|
15
|
+
this.dateFormats = new Map([
|
|
16
|
+
["de-CH", ['dd.MM.yyyy', 'dd.MM.yy']],
|
|
17
|
+
["de-DE", ['dd.MM.yyyy', 'dd.MM.yy']],
|
|
18
|
+
["en-UK", ['dd/MM/yyyy', 'dd/MM/yy']],
|
|
19
|
+
["en-US", this.fallbackDateFormats]
|
|
20
|
+
]);
|
|
21
|
+
this.matDateLocale = matDateLocale;
|
|
13
22
|
}
|
|
14
23
|
getFirstDayOfWeek() {
|
|
15
24
|
return 1;
|
|
16
25
|
}
|
|
17
|
-
|
|
26
|
+
parse(value, parseFormat) {
|
|
27
|
+
const formats = this.getFormatsOfLocale();
|
|
28
|
+
for (let i = 0; i < formats.length; i++) {
|
|
29
|
+
try {
|
|
30
|
+
const formatter = DateTimeFormatter.ofPattern(formats[i]);
|
|
31
|
+
return convert(LocalDate.parse(value, formatter)).toDate();
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
// ignore
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
this.logger.warn('Could not parse "' + value + '" to date!');
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
getFormatsOfLocale() {
|
|
41
|
+
if (this.dateFormats.has(this.matDateLocale)) {
|
|
42
|
+
return this.dateFormats.get(this.matDateLocale);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return this.fallbackDateFormats;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
49
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter }); }
|
|
19
50
|
}
|
|
20
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, decorators: [{
|
|
21
52
|
type: Injectable
|
|
22
|
-
}]
|
|
23
|
-
|
|
53
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
54
|
+
type: Inject,
|
|
55
|
+
args: [MAT_DATE_LOCALE]
|
|
56
|
+
}] }]; } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0ZBQXdGO0FBQ3hGLE9BQU8sRUFBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQTRCLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRTdHOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQWN0RCxZQUFxQyxhQUFxQjtRQUN4RCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFiTixXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELHdCQUFtQixHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELGdCQUFXLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDckMsQ0FBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUU7WUFDdkMsQ0FBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUU7WUFDdkMsQ0FBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUU7WUFDdkMsQ0FBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFFO1NBQ3RDLENBQUMsQ0FBQztRQU1ELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVSxFQUFFLFdBQWlCO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUk7Z0JBQ0YsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzVEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsU0FBUzthQUNWO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR08sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUNqQztJQUNILENBQUM7OEdBOUNVLGlCQUFpQixrQkFjUixlQUFlO2tIQWR4QixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQWVJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBZGFwdHMgdGhlIG5hdGl2ZSBKUyBEYXRlIGZvciB1c2Ugd2l0aCBjZGstYmFzZWQgY29tcG9uZW50cyB0aGF0IHdvcmsgd2l0aCBkYXRlcy4gKi9cbmltcG9ydCB7TUFUX0RBVEVfTE9DQUxFLCBOYXRpdmVEYXRlQWRhcHRlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2NvbnZlcnQsIERhdGVUaW1lRm9ybWF0dGVyLCBEYXRlVGltZUZvcm1hdHRlckJ1aWxkZXIsIExvY2FsRGF0ZSwgUmVzb2x2ZXJTdHlsZX0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5cbi8qKlxuICogTWFrZXMgd2VlayBzdGFydGluZyBhdCBtb25kYXkuIEZvciBleGFtcGxlIE1hdERhdGVQaWNrZXIuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlQWRhcHRlciBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFja0RhdGVGb3JtYXRzID0gWydNTS9kZC95eXl5JywgJ01NL2RkL3l5J107XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0ZUZvcm1hdHMgPSBuZXcgTWFwKFtcbiAgICBbIFwiZGUtQ0hcIiwgWydkZC5NTS55eXl5JywgJ2RkLk1NLnl5J10gXSxcbiAgICBbIFwiZGUtREVcIiwgWydkZC5NTS55eXl5JywgJ2RkLk1NLnl5J10gXSxcbiAgICBbIFwiZW4tVUtcIiwgWydkZC9NTS95eXl5JywgJ2RkL01NL3l5J10gXSxcbiAgICBbIFwiZW4tVVNcIiwgdGhpcy5mYWxsYmFja0RhdGVGb3JtYXRzIF1cbiAgXSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXREYXRlTG9jYWxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZykge1xuICAgIHN1cGVyKG1hdERhdGVMb2NhbGUpO1xuICAgIHRoaXMubWF0RGF0ZUxvY2FsZSA9IG1hdERhdGVMb2NhbGU7XG4gIH1cblxuICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ/OiBhbnkpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgZm9ybWF0cyA9IHRoaXMuZ2V0Rm9ybWF0c09mTG9jYWxlKCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IERhdGVUaW1lRm9ybWF0dGVyLm9mUGF0dGVybihmb3JtYXRzW2ldKTtcbiAgICAgICAgcmV0dXJuIGNvbnZlcnQoTG9jYWxEYXRlLnBhcnNlKHZhbHVlLCBmb3JtYXR0ZXIpKS50b0RhdGUoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIud2FybignQ291bGQgbm90IHBhcnNlIFwiJyArIHZhbHVlICsgJ1wiIHRvIGRhdGUhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0c09mTG9jYWxlKCkge1xuICAgIGlmICh0aGlzLmRhdGVGb3JtYXRzLmhhcyh0aGlzLm1hdERhdGVMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRlRm9ybWF0cy5nZXQodGhpcy5tYXREYXRlTG9jYWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmFsbGJhY2tEYXRlRm9ybWF0cztcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -3,7 +3,7 @@ import { DatePipe, CommonModule, AsyncPipe, NgIf, DecimalPipe, registerLocaleDat
|
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Pipe, Injectable, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Directive, Output, Input, forwardRef, ViewChild, HostBinding, ViewChildren, ContentChild, Component, ChangeDetectionStrategy, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, ViewEncapsulation, InjectionToken, ContentChildren, Self } from '@angular/core';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
|
-
import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, ZonedDateTime, Temporal } from '@js-joda/core';
|
|
6
|
+
import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal } from '@js-joda/core';
|
|
7
7
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
8
8
|
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, Subject, EMPTY, combineLatest, merge, of, forkJoin, throwError, mergeWith, switchMap as switchMap$1, Observable, zip, mergeMap as mergeMap$1, fromEvent, NEVER } from 'rxjs';
|
|
9
9
|
import { tap, takeUntil, takeWhile, map, filter, distinctUntilChanged, debounceTime, catchError, first, take, switchMap, mergeMap, expand, reduce, startWith, skip, delay, share, combineLatestWith, timeout, skipWhile } from 'rxjs/operators';
|
|
@@ -32,7 +32,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
|
|
|
32
32
|
import * as i17 from '@angular/material/card';
|
|
33
33
|
import { MatCardModule } from '@angular/material/card';
|
|
34
34
|
import * as i5 from '@angular/material/core';
|
|
35
|
-
import { MatRippleModule, mixinColor, MatCommonModule, NativeDateAdapter, MatNativeDateModule, DateAdapter
|
|
35
|
+
import { MatRippleModule, mixinColor, MatCommonModule, NativeDateAdapter, MAT_DATE_LOCALE, MatNativeDateModule, DateAdapter } from '@angular/material/core';
|
|
36
36
|
import * as i5$2 from '@angular/material/button';
|
|
37
37
|
import { MatButtonModule } from '@angular/material/button';
|
|
38
38
|
import * as i4$2 from '@angular/material/input';
|
|
@@ -23864,19 +23864,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
23864
23864
|
* Makes week starting at monday. For example MatDatePicker.
|
|
23865
23865
|
*/
|
|
23866
23866
|
class CustomDateAdapter extends NativeDateAdapter {
|
|
23867
|
-
constructor() {
|
|
23868
|
-
super(
|
|
23867
|
+
constructor(matDateLocale) {
|
|
23868
|
+
super(matDateLocale);
|
|
23869
23869
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
23870
|
+
this.fallbackDateFormats = ['MM/dd/yyyy', 'MM/dd/yy'];
|
|
23871
|
+
this.dateFormats = new Map([
|
|
23872
|
+
["de-CH", ['dd.MM.yyyy', 'dd.MM.yy']],
|
|
23873
|
+
["de-DE", ['dd.MM.yyyy', 'dd.MM.yy']],
|
|
23874
|
+
["en-UK", ['dd/MM/yyyy', 'dd/MM/yy']],
|
|
23875
|
+
["en-US", this.fallbackDateFormats]
|
|
23876
|
+
]);
|
|
23877
|
+
this.matDateLocale = matDateLocale;
|
|
23870
23878
|
}
|
|
23871
23879
|
getFirstDayOfWeek() {
|
|
23872
23880
|
return 1;
|
|
23873
23881
|
}
|
|
23874
|
-
|
|
23882
|
+
parse(value, parseFormat) {
|
|
23883
|
+
const formats = this.getFormatsOfLocale();
|
|
23884
|
+
for (let i = 0; i < formats.length; i++) {
|
|
23885
|
+
try {
|
|
23886
|
+
const formatter = DateTimeFormatter.ofPattern(formats[i]);
|
|
23887
|
+
return convert(LocalDate.parse(value, formatter)).toDate();
|
|
23888
|
+
}
|
|
23889
|
+
catch (e) {
|
|
23890
|
+
// ignore
|
|
23891
|
+
}
|
|
23892
|
+
}
|
|
23893
|
+
this.logger.warn('Could not parse "' + value + '" to date!');
|
|
23894
|
+
return null;
|
|
23895
|
+
}
|
|
23896
|
+
getFormatsOfLocale() {
|
|
23897
|
+
if (this.dateFormats.has(this.matDateLocale)) {
|
|
23898
|
+
return this.dateFormats.get(this.matDateLocale);
|
|
23899
|
+
}
|
|
23900
|
+
else {
|
|
23901
|
+
return this.fallbackDateFormats;
|
|
23902
|
+
}
|
|
23903
|
+
}
|
|
23904
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23875
23905
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter }); }
|
|
23876
23906
|
}
|
|
23877
23907
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, decorators: [{
|
|
23878
23908
|
type: Injectable
|
|
23879
|
-
}]
|
|
23909
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
23910
|
+
type: Inject,
|
|
23911
|
+
args: [MAT_DATE_LOCALE]
|
|
23912
|
+
}] }]; } });
|
|
23880
23913
|
|
|
23881
23914
|
class PeriodBucket {
|
|
23882
23915
|
/***************************************************************************
|