@osovitny/anatoly 3.16.94 → 3.16.96
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/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +16 -10
- package/fesm2022/osovitny-anatoly.mjs +15 -9
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.d.ts +1 -1
- package/package.json +1 -1
|
@@ -41,7 +41,7 @@ function TimezoneDropdownlist_option_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
41
41
|
export class TimezoneDropdownlist extends EditComponentBase {
|
|
42
42
|
api;
|
|
43
43
|
appContext;
|
|
44
|
-
|
|
44
|
+
timezones;
|
|
45
45
|
constructor(api, appContext) {
|
|
46
46
|
super();
|
|
47
47
|
this.api = api;
|
|
@@ -54,18 +54,24 @@ export class TimezoneDropdownlist extends EditComponentBase {
|
|
|
54
54
|
}
|
|
55
55
|
setValues() {
|
|
56
56
|
this.api.getTimezonesJsonFile(data => {
|
|
57
|
-
this.
|
|
57
|
+
this.timezones = data.reverse();
|
|
58
58
|
});
|
|
59
|
+
let timezone = this.getFormValue(this.controlName);
|
|
60
|
+
if (timezone) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
//1. Try to set client timezone
|
|
59
64
|
try {
|
|
60
|
-
|
|
61
|
-
this.setFormValue(this.controlName,
|
|
65
|
+
timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
66
|
+
this.setFormValue(this.controlName, timezone);
|
|
62
67
|
}
|
|
63
68
|
catch {
|
|
64
69
|
}
|
|
70
|
+
//2. Try to set context timeZone
|
|
65
71
|
let context = this.appContext.current;
|
|
66
|
-
|
|
67
|
-
if (
|
|
68
|
-
this.setFormValue(this.controlName,
|
|
72
|
+
timezone = context?.user?.timezone;
|
|
73
|
+
if (timezone) {
|
|
74
|
+
this.setFormValue(this.controlName, timezone);
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
static ɵfac = function TimezoneDropdownlist_Factory(t) { return new (t || TimezoneDropdownlist)(i0.ɵɵdirectiveInject(i1.CoreApiService), i0.ɵɵdirectiveInject(i2.AppContextService)); };
|
|
@@ -82,11 +88,11 @@ export class TimezoneDropdownlist extends EditComponentBase {
|
|
|
82
88
|
i0.ɵɵadvance(1);
|
|
83
89
|
i0.ɵɵproperty("formControlName", ctx.controlName);
|
|
84
90
|
i0.ɵɵadvance(1);
|
|
85
|
-
i0.ɵɵproperty("ngForOf", ctx.
|
|
91
|
+
i0.ɵɵproperty("ngForOf", ctx.timezones);
|
|
86
92
|
} }, dependencies: [i3.NgForOf, i3.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i5.NativeElementDirective], encapsulation: 2 });
|
|
87
93
|
}
|
|
88
94
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimezoneDropdownlist, [{
|
|
89
95
|
type: Component,
|
|
90
|
-
args: [{ selector: 'anatoly-forms-timezone-dropdownlist', template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of
|
|
96
|
+
args: [{ selector: 'anatoly-forms-timezone-dropdownlist', template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of timezones'\r\n [value]='timezone.code'>\r\n ({{timezone.offset}}) {{timezone.name}}\r\n </option>\r\n </select>\r\n</div>\r\n" }]
|
|
91
97
|
}], function () { return [{ type: i1.CoreApiService }, { type: i2.AppContextService }]; }, null); })();
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUuZHJvcGRvd25saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvZHJvcGRvd25saXN0cy90aW1lem9uZS90aW1lem9uZS5kcm9wZG93bmxpc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9kcm9wZG93bmxpc3RzL3RpbWV6b25lL3RpbWV6b25lLmRyb3Bkb3dubGlzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsS0FBSztBQUNMLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7OztJQ25CeEYsZ0NBQXFEO0lBQUEsd0JBQVE7SUFBQSxpQkFBUTs7O0lBRW5FLGlDQUNnQztJQUM5QixZQUNGO0lBQUEsaUJBQVM7OztJQUZELHdDQUF1QjtJQUM3QixlQUNGO0lBREUsNEVBQ0Y7O0FENkJKLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFJL0M7SUFDQTtJQUpWLFNBQVMsQ0FBYTtJQUV0QixZQUNVLEdBQW1CLEVBQ25CLFVBQTZCO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRkEsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFFckMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPO1NBQ1I7UUFFRCwrQkFBK0I7UUFDL0IsSUFBSTtZQUNGLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMvQztRQUNELE1BQU07U0FDTDtRQUVELGdDQUFnQztRQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxRQUFRLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUM7UUFFbkMsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOzhFQXhDVSxvQkFBb0I7NkRBQXBCLG9CQUFvQjtZQ25DakMsOEJBQWdEO1lBQzlDLHlFQUFxRTtZQUNyRSxpQ0FBNkQ7WUFDM0QsMkVBR1M7WUFDWCxpQkFBUyxFQUFBOztZQVBOLHlDQUF1QjtZQUNsQixlQUFvQjtZQUFwQix5Q0FBb0I7WUFDcEIsZUFBK0I7WUFBL0IsaURBQStCO1lBQ1IsZUFBWTtZQUFaLHVDQUFZOzs7dUZEZ0NoQyxvQkFBb0I7Y0FKaEMsU0FBUzsyQkFDRSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE3LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEVkaXRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9iYXNlL2NvbXBvbmVudHMvZWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29yZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kYXRhL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIFRpbWV6b25lIHtcclxuICBjb2RlOiBzdHJpbmcsXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIG9mZnNldDogc3RyaW5nLFxyXG4gIG9mZnNldF9zZWNvbmRzOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLXRpbWV6b25lLWRyb3Bkb3dubGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWV6b25lLmRyb3Bkb3dubGlzdC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZXpvbmVEcm9wZG93bmxpc3QgZXh0ZW5kcyBFZGl0Q29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdGltZXpvbmVzOiBUaW1lem9uZVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpOiBDb3JlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnRpdGxlID0gJ1RpbWV6b25lJztcclxuICAgIHRoaXMuY29udHJvbE5hbWUgPSAndGltZXpvbmUnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWVzKCkge1xyXG4gICAgdGhpcy5hcGkuZ2V0VGltZXpvbmVzSnNvbkZpbGUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMudGltZXpvbmVzID0gZGF0YS5yZXZlcnNlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgdGltZXpvbmUgPSB0aGlzLmdldEZvcm1WYWx1ZSh0aGlzLmNvbnRyb2xOYW1lKTtcclxuICAgIGlmICh0aW1lem9uZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8xLiBUcnkgdG8gc2V0IGNsaWVudCB0aW1lem9uZVxyXG4gICAgdHJ5IHtcclxuICAgICAgdGltZXpvbmUgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKHRoaXMuY29udHJvbE5hbWUsIHRpbWV6b25lKTtcclxuICAgIH1cclxuICAgIGNhdGNoIHtcclxuICAgIH1cclxuXHJcbiAgICAvLzIuIFRyeSB0byBzZXQgY29udGV4dCB0aW1lWm9uZVxyXG4gICAgbGV0IGNvbnRleHQgPSB0aGlzLmFwcENvbnRleHQuY3VycmVudDtcclxuICAgIHRpbWV6b25lID0gY29udGV4dD8udXNlcj8udGltZXpvbmU7XHJcblxyXG4gICAgaWYgKHRpbWV6b25lKSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKHRoaXMuY29udHJvbE5hbWUsIHRpbWV6b25lKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJyBjbGFzcz0nZm9ybS1ncm91cCc+XHJcbiAgPGxhYmVsICpuZ0lmPSdpc1RpdGxlVmlzaWJsZScgY2xhc3M9J2NvbC1mb3JtLWxhYmVsJz5UaW1lem9uZTwvbGFiZWw+XHJcbiAgPHNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT0nY29udHJvbE5hbWUnIGNsYXNzPSdmb3JtLWNvbnRyb2wnPlxyXG4gICAgPG9wdGlvbiAqbmdGb3I9J2xldCB0aW1lem9uZSBvZiB0aW1lem9uZXMnXHJcbiAgICAgICAgICAgIFt2YWx1ZV09J3RpbWV6b25lLmNvZGUnPlxyXG4gICAgICAoe3t0aW1lem9uZS5vZmZzZXR9fSkgIHt7dGltZXpvbmUubmFtZX19XHJcbiAgICA8L29wdGlvbj5cclxuICA8L3NlbGVjdD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -6229,7 +6229,7 @@ function TimezoneDropdownlist_option_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
6229
6229
|
class TimezoneDropdownlist extends EditComponentBase {
|
|
6230
6230
|
api;
|
|
6231
6231
|
appContext;
|
|
6232
|
-
|
|
6232
|
+
timezones;
|
|
6233
6233
|
constructor(api, appContext) {
|
|
6234
6234
|
super();
|
|
6235
6235
|
this.api = api;
|
|
@@ -6242,18 +6242,24 @@ class TimezoneDropdownlist extends EditComponentBase {
|
|
|
6242
6242
|
}
|
|
6243
6243
|
setValues() {
|
|
6244
6244
|
this.api.getTimezonesJsonFile(data => {
|
|
6245
|
-
this.
|
|
6245
|
+
this.timezones = data.reverse();
|
|
6246
6246
|
});
|
|
6247
|
+
let timezone = this.getFormValue(this.controlName);
|
|
6248
|
+
if (timezone) {
|
|
6249
|
+
return;
|
|
6250
|
+
}
|
|
6251
|
+
//1. Try to set client timezone
|
|
6247
6252
|
try {
|
|
6248
|
-
|
|
6249
|
-
this.setFormValue(this.controlName,
|
|
6253
|
+
timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
6254
|
+
this.setFormValue(this.controlName, timezone);
|
|
6250
6255
|
}
|
|
6251
6256
|
catch {
|
|
6252
6257
|
}
|
|
6258
|
+
//2. Try to set context timeZone
|
|
6253
6259
|
let context = this.appContext.current;
|
|
6254
|
-
|
|
6255
|
-
if (
|
|
6256
|
-
this.setFormValue(this.controlName,
|
|
6260
|
+
timezone = context?.user?.timezone;
|
|
6261
|
+
if (timezone) {
|
|
6262
|
+
this.setFormValue(this.controlName, timezone);
|
|
6257
6263
|
}
|
|
6258
6264
|
}
|
|
6259
6265
|
static ɵfac = function TimezoneDropdownlist_Factory(t) { return new (t || TimezoneDropdownlist)(i0.ɵɵdirectiveInject(CoreApiService), i0.ɵɵdirectiveInject(AppContextService)); };
|
|
@@ -6270,12 +6276,12 @@ class TimezoneDropdownlist extends EditComponentBase {
|
|
|
6270
6276
|
i0.ɵɵadvance(1);
|
|
6271
6277
|
i0.ɵɵproperty("formControlName", ctx.controlName);
|
|
6272
6278
|
i0.ɵɵadvance(1);
|
|
6273
|
-
i0.ɵɵproperty("ngForOf", ctx.
|
|
6279
|
+
i0.ɵɵproperty("ngForOf", ctx.timezones);
|
|
6274
6280
|
} }, dependencies: [i1$2.NgForOf, i1$2.NgIf, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, NativeElementDirective], encapsulation: 2 });
|
|
6275
6281
|
}
|
|
6276
6282
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimezoneDropdownlist, [{
|
|
6277
6283
|
type: Component,
|
|
6278
|
-
args: [{ selector: 'anatoly-forms-timezone-dropdownlist', template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of
|
|
6284
|
+
args: [{ selector: 'anatoly-forms-timezone-dropdownlist', template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of timezones'\r\n [value]='timezone.code'>\r\n ({{timezone.offset}}) {{timezone.name}}\r\n </option>\r\n </select>\r\n</div>\r\n" }]
|
|
6279
6285
|
}], function () { return [{ type: CoreApiService }, { type: AppContextService }]; }, null); })();
|
|
6280
6286
|
|
|
6281
6287
|
/*
|