nxt-pick-datetime 12.0.1 → 13.0.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/{esm2015/lib/class/date-time-adapter.class.js → esm2020/lib/class/date-time-adapter.class.mjs} +0 -0
- package/{esm2015/lib/class/date-time-format.class.js → esm2020/lib/class/date-time-format.class.mjs} +1 -1
- package/esm2020/lib/class/date-time.class.mjs +161 -0
- package/{esm2015/lib/class/dialog-config.class.js → esm2020/lib/class/dialog-config.class.mjs} +0 -0
- package/esm2020/lib/class/dialog-ref.class.mjs +121 -0
- package/esm2020/lib/date-time/calendar/calendar.component.mjs +345 -0
- package/esm2020/lib/date-time/calendar-body/calendar-body.component.mjs +145 -0
- package/esm2020/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +438 -0
- package/esm2020/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +359 -0
- package/esm2020/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +369 -0
- package/esm2020/lib/date-time/date-time-inline/date-time-inline.component.mjs +264 -0
- package/{esm2015/lib/date-time/date-time-picker/date-time-picker.component.js → esm2020/lib/date-time/date-time-picker/date-time-picker.component.mjs} +13 -14
- package/{esm2015/lib/date-time/date-time-picker-container/date-time-picker-container.animations.js → esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.animations.mjs} +1 -1
- package/{esm2015/lib/date-time/date-time-picker-container/date-time-picker-container.component.js → esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs} +6 -14
- package/esm2020/lib/date-time/date-time-picker-input.directive.mjs +624 -0
- package/{esm2015/lib/date-time/date-time-picker-intl.service.js → esm2020/lib/date-time/date-time-picker-intl.service.mjs} +3 -3
- package/{esm2015/lib/date-time/date-time-picker-trigger.directive.js → esm2020/lib/date-time/date-time-picker-trigger.directive.mjs} +3 -3
- package/{esm2015/lib/date-time/date-time.module.js → esm2020/lib/date-time/date-time.module.mjs} +4 -4
- package/{esm2015/lib/date-time/number-fixed-len.pipe.js → esm2020/lib/date-time/number-fixed-len.pipe.mjs} +3 -3
- package/{esm2015/lib/date-time/timer/timer.component.js → esm2020/lib/date-time/timer/timer.component.mjs} +5 -12
- package/esm2020/lib/date-time/timer-box/timer-box.component.mjs +88 -0
- package/{esm2015/lib/dialog/dialog-container/dialog-container.component.js → esm2020/lib/dialog/dialog-container/dialog-container.component.mjs} +6 -10
- package/{esm2015/lib/dialog/dialog.module.js → esm2020/lib/dialog/dialog.module.mjs} +4 -4
- package/esm2020/lib/dialog/dialog.service.mjs +240 -0
- package/{esm2015/lib/utils/object.js → esm2020/lib/utils/object.mjs} +0 -0
- package/{esm2015/moment-adapter/date-time-adapter.class.js → esm2020/moment-adapter/date-time-adapter.class.mjs} +4 -4
- package/{esm2015/moment-adapter/date-time-format.class.js → esm2020/moment-adapter/date-time-format.class.mjs} +0 -0
- package/{esm2015/moment-adapter/moment-adapter.module.js → esm2020/moment-adapter/moment-adapter.module.mjs} +8 -8
- package/{esm2015/moment-adapter/nxt-pick-datetime-moment-adapter.js → esm2020/moment-adapter/nxt-pick-datetime-moment-adapter.mjs} +0 -0
- package/{esm2015/moment-adapter/public-api.js → esm2020/moment-adapter/public-api.mjs} +0 -0
- package/{esm2015/native-adapter/date-time-adapter.class.js → esm2020/native-adapter/date-time-adapter.class.mjs} +5 -5
- package/{esm2015/native-adapter/date-time-format.class.js → esm2020/native-adapter/date-time-format.class.mjs} +0 -0
- package/{esm2015/native-adapter/native-adapter.module.js → esm2020/native-adapter/native-adapter.module.mjs} +8 -8
- package/{esm2015/native-adapter/nxt-pick-datetime-native-adapter.js → esm2020/native-adapter/nxt-pick-datetime-native-adapter.mjs} +0 -0
- package/{esm2015/native-adapter/public-api.js → esm2020/native-adapter/public-api.mjs} +0 -0
- package/{esm2015/nxt-pick-datetime.js → esm2020/nxt-pick-datetime.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/nxt-pick-datetime-moment-adapter.mjs +269 -0
- package/fesm2015/nxt-pick-datetime-moment-adapter.mjs.map +1 -0
- package/fesm2015/nxt-pick-datetime-native-adapter.mjs +392 -0
- package/fesm2015/nxt-pick-datetime-native-adapter.mjs.map +1 -0
- package/fesm2015/nxt-pick-datetime.mjs +4974 -0
- package/fesm2015/nxt-pick-datetime.mjs.map +1 -0
- package/{fesm2015/nxt-pick-datetime-moment-adapter.js → fesm2020/nxt-pick-datetime-moment-adapter.mjs} +11 -12
- package/fesm2020/nxt-pick-datetime-moment-adapter.mjs.map +1 -0
- package/{fesm2015/nxt-pick-datetime-native-adapter.js → fesm2020/nxt-pick-datetime-native-adapter.mjs} +12 -13
- package/fesm2020/nxt-pick-datetime-native-adapter.mjs.map +1 -0
- package/{fesm2015/nxt-pick-datetime.js → fesm2020/nxt-pick-datetime.mjs} +128 -193
- package/fesm2020/nxt-pick-datetime.mjs.map +1 -0
- package/lib/class/dialog-ref.class.d.ts +2 -0
- package/lib/dialog/dialog.service.d.ts +2 -1
- package/moment-adapter/package.json +5 -5
- package/native-adapter/package.json +5 -5
- package/package.json +40 -11
- package/bundles/nxt-pick-datetime-moment-adapter.umd.js +0 -629
- package/bundles/nxt-pick-datetime-moment-adapter.umd.js.map +0 -1
- package/bundles/nxt-pick-datetime-native-adapter.umd.js +0 -750
- package/bundles/nxt-pick-datetime-native-adapter.umd.js.map +0 -1
- package/bundles/nxt-pick-datetime.umd.js +0 -6150
- package/bundles/nxt-pick-datetime.umd.js.map +0 -1
- package/esm2015/lib/class/date-time.class.js +0 -163
- package/esm2015/lib/class/dialog-ref.class.js +0 -113
- package/esm2015/lib/date-time/calendar/calendar.component.js +0 -354
- package/esm2015/lib/date-time/calendar-body/calendar-body.component.js +0 -153
- package/esm2015/lib/date-time/calendar-month-view/calendar-month-view.component.js +0 -447
- package/esm2015/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.js +0 -364
- package/esm2015/lib/date-time/calendar-year-view/calendar-year-view.component.js +0 -376
- package/esm2015/lib/date-time/date-time-inline/date-time-inline.component.js +0 -269
- package/esm2015/lib/date-time/date-time-picker-input.directive.js +0 -626
- package/esm2015/lib/date-time/timer-box/timer-box.component.js +0 -95
- package/esm2015/lib/dialog/dialog.service.js +0 -238
- package/fesm2015/nxt-pick-datetime-moment-adapter.js.map +0 -1
- package/fesm2015/nxt-pick-datetime-native-adapter.js.map +0 -1
- package/fesm2015/nxt-pick-datetime.js.map +0 -1
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
3
|
-
import { Subject, Subscription } from 'rxjs';
|
|
4
|
-
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "../number-fixed-len.pipe";
|
|
8
|
-
export class OwlTimerBoxComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.showDivider = false;
|
|
11
|
-
this.step = 1;
|
|
12
|
-
this.valueChange = new EventEmitter();
|
|
13
|
-
this.inputChange = new EventEmitter();
|
|
14
|
-
this.inputStream = new Subject();
|
|
15
|
-
this.inputStreamSub = Subscription.EMPTY;
|
|
16
|
-
}
|
|
17
|
-
get displayValue() {
|
|
18
|
-
return this.boxValue || this.value;
|
|
19
|
-
}
|
|
20
|
-
get owlDTTimerBoxClass() {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.inputStreamSub = this.inputStream.pipe(debounceTime(500), distinctUntilChanged()).subscribe((val) => {
|
|
25
|
-
if (val) {
|
|
26
|
-
const inputValue = coerceNumberProperty(val, 0);
|
|
27
|
-
this.updateValueViaInput(inputValue);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
this.inputStreamSub.unsubscribe();
|
|
33
|
-
}
|
|
34
|
-
upBtnClicked() {
|
|
35
|
-
this.updateValue(this.value + this.step);
|
|
36
|
-
}
|
|
37
|
-
downBtnClicked() {
|
|
38
|
-
this.updateValue(this.value - this.step);
|
|
39
|
-
}
|
|
40
|
-
handleInputChange(val) {
|
|
41
|
-
this.inputStream.next(val);
|
|
42
|
-
}
|
|
43
|
-
updateValue(value) {
|
|
44
|
-
this.valueChange.emit(value);
|
|
45
|
-
}
|
|
46
|
-
updateValueViaInput(value) {
|
|
47
|
-
if (value > this.max || value < this.min) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
this.inputChange.emit(value);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
OwlTimerBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0, type: OwlTimerBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
OwlTimerBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.1", type: OwlTimerBoxComponent, selector: "owl-date-time-timer-box", inputs: { showDivider: "showDivider", upBtnAriaLabel: "upBtnAriaLabel", upBtnDisabled: "upBtnDisabled", downBtnAriaLabel: "downBtnAriaLabel", downBtnDisabled: "downBtnDisabled", boxValue: "boxValue", value: "value", min: "min", max: "max", step: "step", inputLabel: "inputLabel" }, outputs: { valueChange: "valueChange", inputChange: "inputChange" }, host: { properties: { "class.owl-dt-timer-box": "this.owlDTTimerBoxClass" } }, exportAs: ["owlDateTimeTimerBox"], ngImport: i0, template: "<div *ngIf=\"showDivider\"\n class=\"owl-dt-timer-divider\"\n aria-hidden=\"true\"></div>\n<button class=\"owl-dt-control-button owl-dt-control-arrow-button\"\n type=\"button\"\n tabindex=\"-1\"\n [disabled]=\"upBtnDisabled\"\n [attr.aria-label]=\"upBtnAriaLabel\"\n (click)=\"upBtnClicked()\">\n <span class=\"owl-dt-control-button-content\"\n tabindex=\"-1\">\n <!-- <editor-fold desc=\"SVG Arrow Up\"> -->\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 451.847 451.846\"\n style=\"enable-background:new 0 0 451.847 451.846;\"\n xml:space=\"preserve\"\n width=\"100%\"\n height=\"100%\">\n <path d=\"M248.292,106.406l194.281,194.29c12.365,12.359,12.365,32.391,0,44.744c-12.354,12.354-32.391,12.354-44.744,0\n L225.923,173.529L54.018,345.44c-12.36,12.354-32.395,12.354-44.748,0c-12.359-12.354-12.359-32.391,0-44.75L203.554,106.4\n c6.18-6.174,14.271-9.259,22.369-9.259C234.018,97.141,242.115,100.232,248.292,106.406z\" />\n </svg>\n <!-- </editor-fold> -->\n </span>\n</button>\n<label class=\"owl-dt-timer-content\">\n <input class=\"owl-dt-timer-input\"\n maxlength=\"2\"\n [value]=\"displayValue | numberFixedLen : 2\"\n (input)=\"handleInputChange(valueInput.value)\"\n #valueInput>\n <span class=\"owl-hidden-accessible\">{{inputLabel}}</span>\n</label>\n<button class=\"owl-dt-control-button owl-dt-control-arrow-button\"\n type=\"button\"\n tabindex=\"-1\"\n [disabled]=\"downBtnDisabled\"\n [attr.aria-label]=\"downBtnAriaLabel\"\n (click)=\"downBtnClicked()\">\n <span class=\"owl-dt-control-button-content\"\n tabindex=\"-1\">\n <!-- <editor-fold desc=\"SVG Arrow Down\"> -->\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 451.847 451.846\"\n style=\"enable-background:new 0 0 451.847 451.846;\"\n xml:space=\"preserve\"\n width=\"100%\"\n height=\"100%\">\n <path\n d=\"M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751\n c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0\n c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z\" />\n </svg>\n <!-- </editor-fold> -->\n </span>\n</button>\n", styles: [""], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "numberFixedLen": i2.NumberFixedLenPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0, type: OwlTimerBoxComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{
|
|
58
|
-
exportAs: 'owlDateTimeTimerBox',
|
|
59
|
-
selector: 'owl-date-time-timer-box',
|
|
60
|
-
templateUrl: './timer-box.component.html',
|
|
61
|
-
styleUrls: ['./timer-box.component.scss'],
|
|
62
|
-
preserveWhitespaces: false,
|
|
63
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
64
|
-
}]
|
|
65
|
-
}], ctorParameters: function () { return []; }, propDecorators: { showDivider: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], upBtnAriaLabel: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], upBtnDisabled: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], downBtnAriaLabel: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], downBtnDisabled: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], boxValue: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], value: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], min: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], max: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], step: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], inputLabel: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], valueChange: [{
|
|
88
|
-
type: Output
|
|
89
|
-
}], inputChange: [{
|
|
90
|
-
type: Output
|
|
91
|
-
}], owlDTTimerBoxClass: [{
|
|
92
|
-
type: HostBinding,
|
|
93
|
-
args: ['class.owl-dt-timer-box']
|
|
94
|
-
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1waWNrLWRhdGV0aW1lL3NyYy9saWIvZGF0ZS10aW1lL3RpbWVyLWJveC90aW1lci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LXBpY2stZGF0ZXRpbWUvc3JjL2xpYi9kYXRlLXRpbWUvdGltZXItYm94L3RpbWVyLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDL0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7O0FBV25FLE1BQU0sT0FBTyxvQkFBb0I7SUE2QzdCO1FBM0NTLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBc0JuQixTQUFJLEdBQUcsQ0FBQyxDQUFBO1FBSVAsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO1FBRXhDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQTtRQUUxQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFFbkMsbUJBQWMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFBO0lBWTNDLENBQUM7SUFWRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUN0QyxDQUFDO0lBRUQsSUFDSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0lBS00sUUFBUTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3ZDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUN4QixJQUFJLEdBQUcsRUFBRTtnQkFDTCxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUN2QztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3JDLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxHQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBYTtRQUNyQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RDLE9BQU07U0FDVDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hDLENBQUM7O2lIQXJGUSxvQkFBb0I7cUdBQXBCLG9CQUFvQixnaEJDZGpDLDh4RkFnRUE7MkZEbERhLG9CQUFvQjtrQkFUaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDekMsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzBFQUlZLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQVdILGtCQUFrQjtzQkFEckIsV0FBVzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBDb21wb25lbnQoe1xuICAgIGV4cG9ydEFzOiAnb3dsRGF0ZVRpbWVUaW1lckJveCcsXG4gICAgc2VsZWN0b3I6ICdvd2wtZGF0ZS10aW1lLXRpbWVyLWJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWVyLWJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZXItYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBPd2xUaW1lckJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHNob3dEaXZpZGVyID0gZmFsc2VcblxuICAgIEBJbnB1dCgpIHVwQnRuQXJpYUxhYmVsOiBzdHJpbmdcblxuICAgIEBJbnB1dCgpIHVwQnRuRGlzYWJsZWQ6IGJvb2xlYW5cblxuICAgIEBJbnB1dCgpIGRvd25CdG5BcmlhTGFiZWw6IHN0cmluZ1xuXG4gICAgQElucHV0KCkgZG93bkJ0bkRpc2FibGVkOiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBWYWx1ZSB3b3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGJveFxuICAgICAqIElmIGl0IGlzIG51bGwsIHRoZSBib3ggd291bGQgZGlzcGxheSBbdmFsdWVdXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBib3hWYWx1ZTogbnVtYmVyXG5cbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyXG5cbiAgICBASW5wdXQoKSBtaW46IG51bWJlclxuXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXJcblxuICAgIEBJbnB1dCgpIHN0ZXAgPSAxXG5cbiAgICBASW5wdXQoKSBpbnB1dExhYmVsOiBzdHJpbmdcblxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG5cbiAgICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuXG4gICAgcHJpdmF0ZSBpbnB1dFN0cmVhbSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuXG4gICAgcHJpdmF0ZSBpbnB1dFN0cmVhbVN1YiA9IFN1YnNjcmlwdGlvbi5FTVBUWVxuXG4gICAgZ2V0IGRpc3BsYXlWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5ib3hWYWx1ZSB8fCB0aGlzLnZhbHVlXG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vd2wtZHQtdGltZXItYm94JylcbiAgICBnZXQgb3dsRFRUaW1lckJveENsYXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbnB1dFN0cmVhbVN1YiA9IHRoaXMuaW5wdXRTdHJlYW0ucGlwZShcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLnN1YnNjcmliZSgodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsLCAwKVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWVWaWFJbnB1dChpbnB1dFZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFN0cmVhbVN1Yi51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgcHVibGljIHVwQnRuQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlICsgdGhpcy5zdGVwKVxuICAgIH1cblxuICAgIHB1YmxpYyBkb3duQnRuQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlIC0gdGhpcy5zdGVwKVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dENoYW5nZSh2YWw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0U3RyZWFtLm5leHQodmFsKVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZVZpYUlucHV0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5tYXggfHwgdmFsdWUgPCB0aGlzLm1pbikge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHZhbHVlKVxuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93RGl2aWRlclwiXG4gICAgY2xhc3M9XCJvd2wtZHQtdGltZXItZGl2aWRlclwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG48YnV0dG9uIGNsYXNzPVwib3dsLWR0LWNvbnRyb2wtYnV0dG9uIG93bC1kdC1jb250cm9sLWFycm93LWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW2Rpc2FibGVkXT1cInVwQnRuRGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidXBCdG5BcmlhTGFiZWxcIlxuICAgIChjbGljayk9XCJ1cEJ0bkNsaWNrZWQoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwib3dsLWR0LWNvbnRyb2wtYnV0dG9uLWNvbnRlbnRcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDwhLS0gPGVkaXRvci1mb2xkIGRlc2M9XCJTVkcgQXJyb3cgVXBcIj4gLS0+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgICAgICB4PVwiMHB4XCJcbiAgICAgICAgICAgIHk9XCIwcHhcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0NTEuODQ3IDQ1MS44NDZcIlxuICAgICAgICAgICAgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1MS44NDcgNDUxLjg0NjtcIlxuICAgICAgICAgICAgeG1sOnNwYWNlPVwicHJlc2VydmVcIlxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjQ4LjI5MiwxMDYuNDA2bDE5NC4yODEsMTk0LjI5YzEyLjM2NSwxMi4zNTksMTIuMzY1LDMyLjM5MSwwLDQ0Ljc0NGMtMTIuMzU0LDEyLjM1NC0zMi4zOTEsMTIuMzU0LTQ0Ljc0NCwwXG4gICAgICAgICAgICAgICAgICAgICAgICBMMjI1LjkyMywxNzMuNTI5TDU0LjAxOCwzNDUuNDRjLTEyLjM2LDEyLjM1NC0zMi4zOTUsMTIuMzU0LTQ0Ljc0OCwwYy0xMi4zNTktMTIuMzU0LTEyLjM1OS0zMi4zOTEsMC00NC43NUwyMDMuNTU0LDEwNi40XG4gICAgICAgICAgICAgICAgICAgICAgICBjNi4xOC02LjE3NCwxNC4yNzEtOS4yNTksMjIuMzY5LTkuMjU5QzIzNC4wMTgsOTcuMTQxLDI0Mi4xMTUsMTAwLjIzMiwyNDguMjkyLDEwNi40MDZ6XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIDwhLS0gPC9lZGl0b3ItZm9sZD4gLS0+XG4gICAgPC9zcGFuPlxuPC9idXR0b24+XG48bGFiZWwgY2xhc3M9XCJvd2wtZHQtdGltZXItY29udGVudFwiPlxuICAgIDxpbnB1dCBjbGFzcz1cIm93bC1kdC10aW1lci1pbnB1dFwiXG4gICAgICAgIG1heGxlbmd0aD1cIjJcIlxuICAgICAgICBbdmFsdWVdPVwiZGlzcGxheVZhbHVlIHwgbnVtYmVyRml4ZWRMZW4gOiAyXCJcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0Q2hhbmdlKHZhbHVlSW5wdXQudmFsdWUpXCJcbiAgICAgICAgI3ZhbHVlSW5wdXQ+XG4gICAgPHNwYW4gY2xhc3M9XCJvd2wtaGlkZGVuLWFjY2Vzc2libGVcIj57e2lucHV0TGFiZWx9fTwvc3Bhbj5cbjwvbGFiZWw+XG48YnV0dG9uIGNsYXNzPVwib3dsLWR0LWNvbnRyb2wtYnV0dG9uIG93bC1kdC1jb250cm9sLWFycm93LWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW2Rpc2FibGVkXT1cImRvd25CdG5EaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkb3duQnRuQXJpYUxhYmVsXCJcbiAgICAoY2xpY2spPVwiZG93bkJ0bkNsaWNrZWQoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwib3dsLWR0LWNvbnRyb2wtYnV0dG9uLWNvbnRlbnRcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDwhLS0gPGVkaXRvci1mb2xkIGRlc2M9XCJTVkcgQXJyb3cgRG93blwiPiAtLT5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgICAgIHg9XCIwcHhcIlxuICAgICAgICAgICAgeT1cIjBweFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQ1MS44NDcgNDUxLjg0NlwiXG4gICAgICAgICAgICBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDUxLjg0NyA0NTEuODQ2O1wiXG4gICAgICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTIyNS45MjMsMzU0LjcwNmMtOC4wOTgsMC0xNi4xOTUtMy4wOTItMjIuMzY5LTkuMjYzTDkuMjcsMTUxLjE1N2MtMTIuMzU5LTEyLjM1OS0xMi4zNTktMzIuMzk3LDAtNDQuNzUxXG4gICAgICAgICAgICAgICAgICAgICAgICBjMTIuMzU0LTEyLjM1NCwzMi4zODgtMTIuMzU0LDQ0Ljc0OCwwbDE3MS45MDUsMTcxLjkxNWwxNzEuOTA2LTE3MS45MDljMTIuMzU5LTEyLjM1NCwzMi4zOTEtMTIuMzU0LDQ0Ljc0NCwwXG4gICAgICAgICAgICAgICAgICAgICAgICBjMTIuMzY1LDEyLjM1NCwxMi4zNjUsMzIuMzkyLDAsNDQuNzUxTDI0OC4yOTIsMzQ1LjQ0OUMyNDIuMTE1LDM1MS42MjEsMjM0LjAxOCwzNTQuNzA2LDIyNS45MjMsMzU0LjcwNnpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPCEtLSA8L2VkaXRvci1mb2xkPiAtLT5cbiAgICA8L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
2
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
-
import { Inject, Injectable, InjectionToken, Injector, Optional, SkipSelf, TemplateRef } from '@angular/core';
|
|
4
|
-
import { defer, of, Subject } from 'rxjs';
|
|
5
|
-
import { concatAll } from 'rxjs/operators';
|
|
6
|
-
import { OwlDialogConfig } from '../class/dialog-config.class';
|
|
7
|
-
import { OwlDialogRef } from '../class/dialog-ref.class';
|
|
8
|
-
import { extendObject } from '../utils/object';
|
|
9
|
-
import { OwlDialogContainerComponent } from './dialog-container/dialog-container.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
12
|
-
import * as i2 from "@angular/common";
|
|
13
|
-
import * as i3 from "../class/dialog-config.class";
|
|
14
|
-
export const OWL_DIALOG_DATA = new InjectionToken('OwlDialogData');
|
|
15
|
-
/**
|
|
16
|
-
* Injection token that determines the scroll handling while the dialog is open.
|
|
17
|
-
* */
|
|
18
|
-
export const OWL_DIALOG_SCROLL_STRATEGY = new InjectionToken('owl-dialog-scroll-strategy');
|
|
19
|
-
export function OWL_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
|
|
20
|
-
const fn = () => overlay.scrollStrategies.block();
|
|
21
|
-
return fn;
|
|
22
|
-
}
|
|
23
|
-
/** @docs-private */
|
|
24
|
-
export const OWL_DIALOG_SCROLL_STRATEGY_PROVIDER = {
|
|
25
|
-
provide: OWL_DIALOG_SCROLL_STRATEGY,
|
|
26
|
-
deps: [Overlay],
|
|
27
|
-
useFactory: OWL_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY
|
|
28
|
-
};
|
|
29
|
-
/** I
|
|
30
|
-
* njection token that can be used to specify default dialog options.
|
|
31
|
-
* */
|
|
32
|
-
export const OWL_DIALOG_DEFAULT_OPTIONS = new InjectionToken('owl-dialog-default-options');
|
|
33
|
-
export class OwlDialogService {
|
|
34
|
-
constructor(overlay, injector, location, scrollStrategy, defaultOptions, parentDialog, overlayContainer) {
|
|
35
|
-
this.overlay = overlay;
|
|
36
|
-
this.injector = injector;
|
|
37
|
-
this.location = location;
|
|
38
|
-
this.defaultOptions = defaultOptions;
|
|
39
|
-
this.parentDialog = parentDialog;
|
|
40
|
-
this.overlayContainer = overlayContainer;
|
|
41
|
-
this.ariaHiddenElements = new Map();
|
|
42
|
-
this._openDialogsAtThisLevel = [];
|
|
43
|
-
this._afterOpenAtThisLevel = new Subject();
|
|
44
|
-
this._afterAllClosedAtThisLevel = new Subject();
|
|
45
|
-
/**
|
|
46
|
-
* Stream that emits when all open dialog have finished closing.
|
|
47
|
-
* Will emit on subscribe if there are no open dialogs to begin with.
|
|
48
|
-
*/
|
|
49
|
-
this.afterAllClosed = defer(() => this._openDialogsAtThisLevel.length
|
|
50
|
-
? this._afterAllClosed
|
|
51
|
-
: of([undefined], this._afterAllClosed).pipe(concatAll()));
|
|
52
|
-
this.scrollStrategy = scrollStrategy;
|
|
53
|
-
if (!parentDialog && location) {
|
|
54
|
-
location.subscribe(() => this.closeAll());
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/** Keeps track of the currently-open dialogs. */
|
|
58
|
-
get openDialogs() {
|
|
59
|
-
return this.parentDialog
|
|
60
|
-
? this.parentDialog.openDialogs
|
|
61
|
-
: this._openDialogsAtThisLevel;
|
|
62
|
-
}
|
|
63
|
-
/** Stream that emits when a dialog has been opened. */
|
|
64
|
-
get afterOpen() {
|
|
65
|
-
return this.parentDialog
|
|
66
|
-
? this.parentDialog.afterOpen
|
|
67
|
-
: this._afterOpenAtThisLevel;
|
|
68
|
-
}
|
|
69
|
-
get _afterAllClosed() {
|
|
70
|
-
const parent = this.parentDialog;
|
|
71
|
-
return parent
|
|
72
|
-
? parent._afterAllClosed
|
|
73
|
-
: this._afterAllClosedAtThisLevel;
|
|
74
|
-
}
|
|
75
|
-
open(componentOrTemplateRef, config) {
|
|
76
|
-
config = applyConfigDefaults(config, this.defaultOptions);
|
|
77
|
-
if (config.id && this.getDialogById(config.id)) {
|
|
78
|
-
throw Error(`Dialog with id "${config.id}" exists already. The dialog id must be unique.`);
|
|
79
|
-
}
|
|
80
|
-
const overlayRef = this.createOverlay(config);
|
|
81
|
-
const dialogContainer = this.attachDialogContainer(overlayRef, config);
|
|
82
|
-
const dialogRef = this.attachDialogContent(componentOrTemplateRef, dialogContainer, overlayRef, config);
|
|
83
|
-
if (!this.openDialogs.length) {
|
|
84
|
-
this.hideNonDialogContentFromAssistiveTechnology();
|
|
85
|
-
}
|
|
86
|
-
this.openDialogs.push(dialogRef);
|
|
87
|
-
dialogRef
|
|
88
|
-
.afterClosed()
|
|
89
|
-
.subscribe(() => this.removeOpenDialog(dialogRef));
|
|
90
|
-
this.afterOpen.next(dialogRef);
|
|
91
|
-
return dialogRef;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Closes all of the currently-open dialogs.
|
|
95
|
-
*/
|
|
96
|
-
closeAll() {
|
|
97
|
-
let i = this.openDialogs.length;
|
|
98
|
-
while (i--) {
|
|
99
|
-
this.openDialogs[i].close();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Finds an open dialog by its id.
|
|
104
|
-
* @param id ID to use when looking up the dialog.
|
|
105
|
-
*/
|
|
106
|
-
getDialogById(id) {
|
|
107
|
-
return this.openDialogs.find(dialog => dialog.id === id);
|
|
108
|
-
}
|
|
109
|
-
attachDialogContent(componentOrTemplateRef, dialogContainer, overlayRef, config) {
|
|
110
|
-
const dialogRef = new OwlDialogRef(overlayRef, dialogContainer, config.id, this.location);
|
|
111
|
-
if (config.hasBackdrop) {
|
|
112
|
-
overlayRef.backdropClick().subscribe(() => {
|
|
113
|
-
if (!dialogRef.disableClose) {
|
|
114
|
-
dialogRef.close();
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
if (componentOrTemplateRef instanceof TemplateRef) {
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
const injector = this.createInjector(config, dialogRef, dialogContainer);
|
|
122
|
-
const contentRef = dialogContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef, undefined, injector));
|
|
123
|
-
dialogRef.componentInstance = contentRef.instance;
|
|
124
|
-
}
|
|
125
|
-
dialogRef
|
|
126
|
-
.updateSize(config.width, config.height)
|
|
127
|
-
.updatePosition(config.position);
|
|
128
|
-
return dialogRef;
|
|
129
|
-
}
|
|
130
|
-
createInjector(config, dialogRef, dialogContainer) {
|
|
131
|
-
const userInjector = config &&
|
|
132
|
-
config.viewContainerRef &&
|
|
133
|
-
config.viewContainerRef.injector;
|
|
134
|
-
return Injector.create({
|
|
135
|
-
providers: [
|
|
136
|
-
{ provide: OwlDialogRef, useValue: dialogRef },
|
|
137
|
-
{ provide: OwlDialogContainerComponent, useValue: dialogContainer },
|
|
138
|
-
{ provide: OWL_DIALOG_DATA, useValue: config.data }
|
|
139
|
-
],
|
|
140
|
-
parent: userInjector || this.injector
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
createOverlay(config) {
|
|
144
|
-
const overlayConfig = this.getOverlayConfig(config);
|
|
145
|
-
return this.overlay.create(overlayConfig);
|
|
146
|
-
}
|
|
147
|
-
attachDialogContainer(overlayRef, config) {
|
|
148
|
-
const containerPortal = new ComponentPortal(OwlDialogContainerComponent, config.viewContainerRef);
|
|
149
|
-
const containerRef = overlayRef.attach(containerPortal);
|
|
150
|
-
containerRef.instance.setConfig(config);
|
|
151
|
-
return containerRef.instance;
|
|
152
|
-
}
|
|
153
|
-
getOverlayConfig(dialogConfig) {
|
|
154
|
-
const state = new OverlayConfig({
|
|
155
|
-
positionStrategy: this.overlay.position().global(),
|
|
156
|
-
scrollStrategy: dialogConfig.scrollStrategy || this.scrollStrategy(),
|
|
157
|
-
panelClass: dialogConfig.paneClass,
|
|
158
|
-
hasBackdrop: dialogConfig.hasBackdrop,
|
|
159
|
-
minWidth: dialogConfig.minWidth,
|
|
160
|
-
minHeight: dialogConfig.minHeight,
|
|
161
|
-
maxWidth: dialogConfig.maxWidth,
|
|
162
|
-
maxHeight: dialogConfig.maxHeight
|
|
163
|
-
});
|
|
164
|
-
if (dialogConfig.backdropClass) {
|
|
165
|
-
state.backdropClass = dialogConfig.backdropClass;
|
|
166
|
-
}
|
|
167
|
-
return state;
|
|
168
|
-
}
|
|
169
|
-
removeOpenDialog(dialogRef) {
|
|
170
|
-
const index = this._openDialogsAtThisLevel.indexOf(dialogRef);
|
|
171
|
-
if (index > -1) {
|
|
172
|
-
this.openDialogs.splice(index, 1);
|
|
173
|
-
// If all the dialogs were closed, remove/restore the `aria-hidden`
|
|
174
|
-
// to a the siblings and emit to the `afterAllClosed` stream.
|
|
175
|
-
if (!this.openDialogs.length) {
|
|
176
|
-
this.ariaHiddenElements.forEach((previousValue, element) => {
|
|
177
|
-
if (previousValue) {
|
|
178
|
-
element.setAttribute('aria-hidden', previousValue);
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
element.removeAttribute('aria-hidden');
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
this.ariaHiddenElements.clear();
|
|
185
|
-
this._afterAllClosed.next();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Hides all of the content that isn't an overlay from assistive technology.
|
|
191
|
-
*/
|
|
192
|
-
hideNonDialogContentFromAssistiveTechnology() {
|
|
193
|
-
const overlayContainer = this.overlayContainer.getContainerElement();
|
|
194
|
-
// Ensure that the overlay container is attached to the DOM.
|
|
195
|
-
if (overlayContainer.parentElement) {
|
|
196
|
-
const siblings = overlayContainer.parentElement.children;
|
|
197
|
-
for (let i = siblings.length - 1; i > -1; i--) {
|
|
198
|
-
const sibling = siblings[i];
|
|
199
|
-
if (sibling !== overlayContainer &&
|
|
200
|
-
sibling.nodeName !== 'SCRIPT' &&
|
|
201
|
-
sibling.nodeName !== 'STYLE' &&
|
|
202
|
-
!sibling.hasAttribute('aria-live')) {
|
|
203
|
-
this.ariaHiddenElements.set(sibling, sibling.getAttribute('aria-hidden'));
|
|
204
|
-
sibling.setAttribute('aria-hidden', 'true');
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
OwlDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0, type: OwlDialogService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.Location, optional: true }, { token: OWL_DIALOG_SCROLL_STRATEGY }, { token: OWL_DIALOG_DEFAULT_OPTIONS, optional: true }, { token: OwlDialogService, optional: true, skipSelf: true }, { token: i1.OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
211
|
-
OwlDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0, type: OwlDialogService });
|
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.1", ngImport: i0, type: OwlDialogService, decorators: [{
|
|
213
|
-
type: Injectable
|
|
214
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.Location, decorators: [{
|
|
215
|
-
type: Optional
|
|
216
|
-
}] }, { type: undefined, decorators: [{
|
|
217
|
-
type: Inject,
|
|
218
|
-
args: [OWL_DIALOG_SCROLL_STRATEGY]
|
|
219
|
-
}] }, { type: i3.OwlDialogConfig, decorators: [{
|
|
220
|
-
type: Optional
|
|
221
|
-
}, {
|
|
222
|
-
type: Inject,
|
|
223
|
-
args: [OWL_DIALOG_DEFAULT_OPTIONS]
|
|
224
|
-
}] }, { type: OwlDialogService, decorators: [{
|
|
225
|
-
type: Optional
|
|
226
|
-
}, {
|
|
227
|
-
type: SkipSelf
|
|
228
|
-
}] }, { type: i1.OverlayContainer }]; } });
|
|
229
|
-
/**
|
|
230
|
-
* Applies default options to the dialog config.
|
|
231
|
-
* @param config Config to be modified.
|
|
232
|
-
* @param defaultOptions Default config setting
|
|
233
|
-
* @returns The new configuration object.
|
|
234
|
-
*/
|
|
235
|
-
function applyConfigDefaults(config, defaultOptions) {
|
|
236
|
-
return extendObject(new OwlDialogConfig(), config, defaultOptions);
|
|
237
|
-
}
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtcGljay1kYXRldGltZS9zcmMvbGliL2RpYWxvZy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBZ0QsTUFBTSxzQkFBc0IsQ0FBQTtBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLHFCQUFxQixDQUFBO0FBRXBFLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNILE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUE7Ozs7O0FBRTNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBTSxlQUFlLENBQUMsQ0FBQTtBQUV2RTs7S0FFSztBQUNMLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUUxRCw0QkFBNEIsQ0FBQyxDQUFBO0FBRS9CLE1BQU0sVUFBVSwyQ0FBMkMsQ0FDdkQsT0FBZ0I7SUFFaEIsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2pE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QUE7WUFFeEQsS0FBSyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFFM0IsSUFDSSxPQUFPLEtBQUssZ0JBQWdCO29CQUM1QixPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVE7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTztvQkFDNUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUNwQztvQkFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUN2QixPQUFPLEVBQ1AsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FDdEMsQ0FBQTtvQkFDRCxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQTtpQkFDOUM7YUFDSjtTQUNKO0lBQ0wsQ0FBQzs7NkdBelFRLGdCQUFnQix5R0E4Q2IsMEJBQTBCLGFBRTFCLDBCQUEwQiw2QkFJWixnQkFBZ0I7aUhBcERqQyxnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBOENGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFDakMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQywwQkFBMEI7OEJBSVosZ0JBQWdCOzBCQUZyQyxRQUFROzswQkFDUixRQUFROztBQXlOakI7Ozs7O0dBS0c7QUFDSCxTQUFTLG1CQUFtQixDQUN4QixNQUF3QixFQUN4QixjQUFnQztJQUVoQyxPQUFPLFlBQVksQ0FBQyxJQUFJLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnRhaW5lciwgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTa2lwU2VsZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZGVmZXIsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNvbmNhdEFsbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgT3dsRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vY2xhc3MvZGlhbG9nLWNvbmZpZy5jbGFzcydcbmltcG9ydCB7IE93bERpYWxvZ1JlZiB9IGZyb20gJy4uL2NsYXNzL2RpYWxvZy1yZWYuY2xhc3MnXG5pbXBvcnQgeyBleHRlbmRPYmplY3QgfSBmcm9tICcuLi91dGlscy9vYmplY3QnXG5pbXBvcnQgeyBPd2xEaWFsb2dDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnXG5cbmV4cG9ydCBjb25zdCBPV0xfRElBTE9HX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignT3dsRGlhbG9nRGF0YScpXG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc2Nyb2xsIGhhbmRsaW5nIHdoaWxlIHRoZSBkaWFsb2cgaXMgb3Blbi5cbiAqICovXG5leHBvcnQgY29uc3QgT1dMX0RJQUxPR19TQ1JPTExfU1RSQVRFR1kgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgKCkgPT4gU2Nyb2xsU3RyYXRlZ3lcbj4oJ293bC1kaWFsb2ctc2Nyb2xsLXN0cmF0ZWd5JylcblxuZXhwb3J0IGZ1bmN0aW9uIE9XTF9ESUFMT0dfU0NST0xMX1NUUkFURUdZX1BST1ZJREVSX0ZBQ1RPUlkoXG4gICAgb3ZlcmxheTogT3ZlcmxheVxuKTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3kge1xuICAgIGNvbnN0IGZuID0gKCkgPT4gb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICByZXR1cm4gZm5cbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBPV0xfRElBTE9HX1NDUk9MTF9TVFJBVEVHWV9QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBPV0xfRElBTE9HX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBkZXBzOiBbT3ZlcmxheV0sXG4gICAgdXNlRmFjdG9yeTogT1dMX0RJQUxPR19TQ1JPTExfU1RSQVRFR1lfUFJPVklERVJfRkFDVE9SWVxufVxuXG4vKiogSVxuICogbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGRlZmF1bHQgZGlhbG9nIG9wdGlvbnMuXG4gKiAqL1xuZXhwb3J0IGNvbnN0IE9XTF9ESUFMT0dfREVGQVVMVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE93bERpYWxvZ0NvbmZpZz4oXG4gICAgJ293bC1kaWFsb2ctZGVmYXVsdC1vcHRpb25zJ1xuKVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3dsRGlhbG9nU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhcmlhSGlkZGVuRWxlbWVudHMgPSBuZXcgTWFwPEVsZW1lbnQsIHN0cmluZyB8IG51bGw+KClcblxuICAgIHByaXZhdGUgX29wZW5EaWFsb2dzQXRUaGlzTGV2ZWw6IE93bERpYWxvZ1JlZjxhbnk+W10gPSBbXVxuICAgIHByaXZhdGUgX2FmdGVyT3BlbkF0VGhpc0xldmVsID0gbmV3IFN1YmplY3Q8T3dsRGlhbG9nUmVmPGFueT4+KClcbiAgICBwcml2YXRlIF9hZnRlckFsbENsb3NlZEF0VGhpc0xldmVsID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gICAgLyoqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50bHktb3BlbiBkaWFsb2dzLiAqL1xuICAgIGdldCBvcGVuRGlhbG9ncygpOiBPd2xEaWFsb2dSZWY8YW55PltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50RGlhbG9nXG4gICAgICAgICAgICA/IHRoaXMucGFyZW50RGlhbG9nLm9wZW5EaWFsb2dzXG4gICAgICAgICAgICA6IHRoaXMuX29wZW5EaWFsb2dzQXRUaGlzTGV2ZWxcbiAgICB9XG5cbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBhIGRpYWxvZyBoYXMgYmVlbiBvcGVuZWQuICovXG4gICAgZ2V0IGFmdGVyT3BlbigpOiBTdWJqZWN0PE93bERpYWxvZ1JlZjxhbnk+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudERpYWxvZ1xuICAgICAgICAgICAgPyB0aGlzLnBhcmVudERpYWxvZy5hZnRlck9wZW5cbiAgICAgICAgICAgIDogdGhpcy5fYWZ0ZXJPcGVuQXRUaGlzTGV2ZWxcbiAgICB9XG5cbiAgICBnZXQgX2FmdGVyQWxsQ2xvc2VkKCk6IFN1YmplY3Q8dm9pZD4ge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnBhcmVudERpYWxvZ1xuICAgICAgICByZXR1cm4gcGFyZW50XG4gICAgICAgICAgICA/IHBhcmVudC5fYWZ0ZXJBbGxDbG9zZWRcbiAgICAgICAgICAgIDogdGhpcy5fYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gYWxsIG9wZW4gZGlhbG9nIGhhdmUgZmluaXNoZWQgY2xvc2luZy5cbiAgICAgKiBXaWxsIGVtaXQgb24gc3Vic2NyaWJlIGlmIHRoZXJlIGFyZSBubyBvcGVuIGRpYWxvZ3MgdG8gYmVnaW4gd2l0aC5cbiAgICAgKi9cblxuICAgIGFmdGVyQWxsQ2xvc2VkOiBPYnNlcnZhYmxlPHt9PiA9IGRlZmVyKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5fb3BlbkRpYWxvZ3NBdFRoaXNMZXZlbC5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHRoaXMuX2FmdGVyQWxsQ2xvc2VkXG4gICAgICAgICAgICAgICAgOiBvZihbdW5kZWZpbmVkXSwgdGhpcy5fYWZ0ZXJBbGxDbG9zZWQpLnBpcGUoY29uY2F0QWxsKCkpXG4gICAgKVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxTdHJhdGVneTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3lcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChPV0xfRElBTE9HX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChPV0xfRElBTE9HX0RFRkFVTFRfT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSBkZWZhdWx0T3B0aW9uczogT3dsRGlhbG9nQ29uZmlnLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2tpcFNlbGYoKVxuICAgICAgICBwcml2YXRlIHBhcmVudERpYWxvZzogT3dsRGlhbG9nU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSBzY3JvbGxTdHJhdGVneVxuICAgICAgICBpZiAoIXBhcmVudERpYWxvZyAmJiBsb2NhdGlvbikge1xuICAgICAgICAgICAgbG9jYXRpb24uc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VBbGwoKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuPFQ+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIGNvbmZpZz86IE93bERpYWxvZ0NvbmZpZ1xuICAgICk6IE93bERpYWxvZ1JlZjxhbnk+IHtcbiAgICAgICAgY29uZmlnID0gYXBwbHlDb25maWdEZWZhdWx0cyhjb25maWcsIHRoaXMuZGVmYXVsdE9wdGlvbnMpXG5cbiAgICAgICAgaWYgKGNvbmZpZy5pZCAmJiB0aGlzLmdldERpYWxvZ0J5SWQoY29uZmlnLmlkKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAgICAgYERpYWxvZyB3aXRoIGlkIFwiJHtjb25maWcuaWRcbiAgICAgICAgICAgICAgICB9XCIgZXhpc3RzIGFscmVhZHkuIFRoZSBkaWFsb2cgaWQgbXVzdCBiZSB1bmlxdWUuYFxuICAgICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShjb25maWcpXG4gICAgICAgIGNvbnN0IGRpYWxvZ0NvbnRhaW5lciA9IHRoaXMuYXR0YWNoRGlhbG9nQ29udGFpbmVyKG92ZXJsYXlSZWYsIGNvbmZpZylcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5hdHRhY2hEaWFsb2dDb250ZW50PFQ+KFxuICAgICAgICAgICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZixcbiAgICAgICAgICAgIGRpYWxvZ0NvbnRhaW5lcixcbiAgICAgICAgICAgIG92ZXJsYXlSZWYsXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKVxuXG4gICAgICAgIGlmICghdGhpcy5vcGVuRGlhbG9ncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU5vbkRpYWxvZ0NvbnRlbnRGcm9tQXNzaXN0aXZlVGVjaG5vbG9neSgpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW5EaWFsb2dzLnB1c2goZGlhbG9nUmVmKVxuICAgICAgICBkaWFsb2dSZWZcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVtb3ZlT3BlbkRpYWxvZyhkaWFsb2dSZWYpKVxuICAgICAgICB0aGlzLmFmdGVyT3Blbi5uZXh0KGRpYWxvZ1JlZilcbiAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyBhbGwgb2YgdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xuICAgICAgICBsZXQgaSA9IHRoaXMub3BlbkRpYWxvZ3MubGVuZ3RoXG5cbiAgICAgICAgd2hpbGUgKGktLSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuRGlhbG9nc1tpXS5jbG9zZSgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbiBvcGVuIGRpYWxvZyBieSBpdHMgaWQuXG4gICAgICogQHBhcmFtIGlkIElEIHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIGRpYWxvZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGlhbG9nQnlJZChpZDogc3RyaW5nKTogT3dsRGlhbG9nUmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuRGlhbG9ncy5maW5kKGRpYWxvZyA9PiBkaWFsb2cuaWQgPT09IGlkKVxuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoRGlhbG9nQ29udGVudDxUPihcbiAgICAgICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgICAgICBkaWFsb2dDb250YWluZXI6IE93bERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICAgICAgY29uZmlnOiBPd2xEaWFsb2dDb25maWdcbiAgICApIHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gbmV3IE93bERpYWxvZ1JlZjxUPihcbiAgICAgICAgICAgIG92ZXJsYXlSZWYsXG4gICAgICAgICAgICBkaWFsb2dDb250YWluZXIsXG4gICAgICAgICAgICBjb25maWcuaWQsXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uXG4gICAgICAgIClcblxuICAgICAgICBpZiAoY29uZmlnLmhhc0JhY2tkcm9wKSB7XG4gICAgICAgICAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZGlhbG9nUmVmLmRpc2FibGVDbG9zZSkge1xuICAgICAgICAgICAgICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VD4oXG4gICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgIGRpYWxvZ1JlZixcbiAgICAgICAgICAgICAgICBkaWFsb2dDb250YWluZXJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBkaWFsb2dDb250YWluZXIuYXR0YWNoQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgICAgIG5ldyBDb21wb25lbnRQb3J0YWwoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgdW5kZWZpbmVkLCBpbmplY3RvcilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSA9IGNvbnRlbnRSZWYuaW5zdGFuY2VcbiAgICAgICAgfVxuXG4gICAgICAgIGRpYWxvZ1JlZlxuICAgICAgICAgICAgLnVwZGF0ZVNpemUoY29uZmlnLndpZHRoLCBjb25maWcuaGVpZ2h0KVxuICAgICAgICAgICAgLnVwZGF0ZVBvc2l0aW9uKGNvbmZpZy5wb3NpdGlvbilcblxuICAgICAgICByZXR1cm4gZGlhbG9nUmVmXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxUPihcbiAgICAgICAgY29uZmlnOiBPd2xEaWFsb2dDb25maWcsXG4gICAgICAgIGRpYWxvZ1JlZjogT3dsRGlhbG9nUmVmPFQ+LFxuICAgICAgICBkaWFsb2dDb250YWluZXI6IE93bERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudFxuICAgICkge1xuICAgICAgICBjb25zdCB1c2VySW5qZWN0b3IgPVxuICAgICAgICAgICAgY29uZmlnICYmXG4gICAgICAgICAgICBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJlxuICAgICAgICAgICAgY29uZmlnLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3JcblxuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogT3dsRGlhbG9nUmVmLCB1c2VWYWx1ZTogZGlhbG9nUmVmIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBPd2xEaWFsb2dDb250YWluZXJDb21wb25lbnQsIHVzZVZhbHVlOiBkaWFsb2dDb250YWluZXIgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE9XTF9ESUFMT0dfREFUQSwgdXNlVmFsdWU6IGNvbmZpZy5kYXRhIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBwYXJlbnQ6IHVzZXJJbmplY3RvciB8fCB0aGlzLmluamVjdG9yXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KGNvbmZpZzogT3dsRGlhbG9nQ29uZmlnKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcoY29uZmlnKVxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKVxuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoRGlhbG9nQ29udGFpbmVyKFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb25maWc6IE93bERpYWxvZ0NvbmZpZ1xuICAgICk6IE93bERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICBPd2xEaWFsb2dDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgICAgICBjb25maWcudmlld0NvbnRhaW5lclJlZlxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPFxuICAgICAgICAgICAgT3dsRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50XG4gICAgICAgID4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpXG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5zZXRDb25maWcoY29uZmlnKVxuXG4gICAgICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2VcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZGlhbG9nQ29uZmlnOiBPd2xEaWFsb2dDb25maWcpOiBPdmVybGF5Q29uZmlnIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OlxuICAgICAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5zY3JvbGxTdHJhdGVneSB8fCB0aGlzLnNjcm9sbFN0cmF0ZWd5KCksXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBkaWFsb2dDb25maWcucGFuZUNsYXNzLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGRpYWxvZ0NvbmZpZy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIG1pbldpZHRoOiBkaWFsb2dDb25maWcubWluV2lkdGgsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6IGRpYWxvZ0NvbmZpZy5taW5IZWlnaHQsXG4gICAgICAgICAgICBtYXhXaWR0aDogZGlhbG9nQ29uZmlnLm1heFdpZHRoLFxuICAgICAgICAgICAgbWF4SGVpZ2h0OiBkaWFsb2dDb25maWcubWF4SGVpZ2h0XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZy5iYWNrZHJvcENsYXNzKSB7XG4gICAgICAgICAgICBzdGF0ZS5iYWNrZHJvcENsYXNzID0gZGlhbG9nQ29uZmlnLmJhY2tkcm9wQ2xhc3NcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdGF0ZVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlT3BlbkRpYWxvZyhkaWFsb2dSZWY6IE93bERpYWxvZ1JlZjxhbnk+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fb3BlbkRpYWxvZ3NBdFRoaXNMZXZlbC5pbmRleE9mKGRpYWxvZ1JlZilcblxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuRGlhbG9ncy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICAgICAgICAvLyBJZiBhbGwgdGhlIGRpYWxvZ3Mgd2VyZSBjbG9zZWQsIHJlbW92ZS9yZXN0b3JlIHRoZSBgYXJpYS1oaWRkZW5gXG4gICAgICAgICAgICAvLyB0byBhIHRoZSBzaWJsaW5ncyBhbmQgZW1pdCB0byB0aGUgYGFmdGVyQWxsQ2xvc2VkYCBzdHJlYW0uXG4gICAgICAgICAgICBpZiAoIXRoaXMub3BlbkRpYWxvZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcmlhSGlkZGVuRWxlbWVudHMuZm9yRWFjaCgocHJldmlvdXNWYWx1ZSwgZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgcHJldmlvdXNWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgdGhpcy5hcmlhSGlkZGVuRWxlbWVudHMuY2xlYXIoKVxuICAgICAgICAgICAgICAgIHRoaXMuX2FmdGVyQWxsQ2xvc2VkLm5leHQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZXMgYWxsIG9mIHRoZSBjb250ZW50IHRoYXQgaXNuJ3QgYW4gb3ZlcmxheSBmcm9tIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LlxuICAgICAqL1xuICAgIHByaXZhdGUgaGlkZU5vbkRpYWxvZ0NvbnRlbnRGcm9tQXNzaXN0aXZlVGVjaG5vbG9neSgpIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbnRhaW5lciA9IHRoaXMub3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KClcblxuICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgb3ZlcmxheSBjb250YWluZXIgaXMgYXR0YWNoZWQgdG8gdGhlIERPTS5cbiAgICAgICAgaWYgKG92ZXJsYXlDb250YWluZXIucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgc2libGluZ3MgPSBvdmVybGF5Q29udGFpbmVyLnBhcmVudEVsZW1lbnQuY2hpbGRyZW5cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHNpYmxpbmdzLmxlbmd0aCAtIDE7IGkgPiAtMTsgaS0tKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2libGluZyA9IHNpYmxpbmdzW2ldXG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHNpYmxpbmcgIT09IG92ZXJsYXlDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICAgICAgc2libGluZy5ub2RlTmFtZSAhPT0gJ1NDUklQVCcgJiZcbiAgICAgICAgICAgICAgICAgICAgc2libGluZy5ub2RlTmFtZSAhPT0gJ1NUWUxFJyAmJlxuICAgICAgICAgICAgICAgICAgICAhc2libGluZy5oYXNBdHRyaWJ1dGUoJ2FyaWEtbGl2ZScpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXJpYUhpZGRlbkVsZW1lbnRzLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpYmxpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaWJsaW5nLmdldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHNpYmxpbmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBkZWZhdWx0IG9wdGlvbnMgdG8gdGhlIGRpYWxvZyBjb25maWcuXG4gKiBAcGFyYW0gY29uZmlnIENvbmZpZyB0byBiZSBtb2RpZmllZC5cbiAqIEBwYXJhbSBkZWZhdWx0T3B0aW9ucyBEZWZhdWx0IGNvbmZpZyBzZXR0aW5nXG4gKiBAcmV0dXJucyBUaGUgbmV3IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBhcHBseUNvbmZpZ0RlZmF1bHRzKFxuICAgIGNvbmZpZz86IE93bERpYWxvZ0NvbmZpZyxcbiAgICBkZWZhdWx0T3B0aW9ucz86IE93bERpYWxvZ0NvbmZpZ1xuKTogT3dsRGlhbG9nQ29uZmlnIHtcbiAgICByZXR1cm4gZXh0ZW5kT2JqZWN0KG5ldyBPd2xEaWFsb2dDb25maWcoKSwgY29uZmlnLCBkZWZhdWx0T3B0aW9ucylcbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nxt-pick-datetime-moment-adapter.js","sources":["../../../projects/nxt-pick-datetime/moment-adapter/src/date-time-adapter.class.ts","../../../projects/nxt-pick-datetime/moment-adapter/src/date-time-format.class.ts","../../../projects/nxt-pick-datetime/moment-adapter/src/moment-adapter.module.ts","../../../projects/nxt-pick-datetime/moment-adapter/src/nxt-pick-datetime-moment-adapter.ts"],"sourcesContent":["import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'\nimport moment, { Moment } from 'moment'\nimport { DateTimeAdapter, OWL_DATE_TIME_LOCALE } from 'nxt-pick-datetime'\n\n/** Configurable options for {@see MomentDateAdapter}. */\nexport interface OwlMomentDateTimeAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how the DateTimePicker output value.\n * {@default false}\n */\n useUtc: boolean\n}\n\n/** InjectionToken for moment date adapter to configure options. */\nexport const OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS = new InjectionToken<OwlMomentDateTimeAdapterOptions>(\n 'OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS_FACTORY\n })\n\n/** @docs-private */\nexport function OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS_FACTORY(): OwlMomentDateTimeAdapterOptions {\n return {\n useUtc: false\n }\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length)\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i)\n }\n return valuesArray\n}\n\n@Injectable()\nexport class MomentDateTimeAdapter extends DateTimeAdapter<Moment> {\n\n private _localeData: {\n longMonths: string[],\n shortMonths: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[],\n dates: string[]\n }\n\n constructor(\n @Optional() @Inject(OWL_DATE_TIME_LOCALE)\n owlDateTimeLocale?: string,\n @Optional() @Inject(OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS)\n private options?: OwlMomentDateTimeAdapterOptions\n ) {\n super()\n this.setLocale(owlDateTimeLocale || moment.locale())\n }\n\n public setLocale(locale: string) {\n super.setLocale(locale)\n\n const momentLocaleData = moment.localeData(locale)\n this._localeData = {\n longMonths: momentLocaleData.months(),\n shortMonths: momentLocaleData.monthsShort(),\n longDaysOfWeek: momentLocaleData.weekdays(),\n shortDaysOfWeek: momentLocaleData.weekdaysShort(),\n narrowDaysOfWeek: momentLocaleData.weekdaysMin(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D'))\n }\n }\n\n public getYear(date: Moment): number {\n return this.clone(date).year()\n }\n\n public getMonth(date: Moment): number {\n return this.clone(date).month()\n }\n\n public getDay(date: Moment): number {\n return this.clone(date).day()\n }\n\n public getDate(date: Moment): number {\n return this.clone(date).date()\n }\n\n public getHours(date: Moment): number {\n return this.clone(date).hours()\n }\n\n public getMinutes(date: Moment): number {\n return this.clone(date).minutes()\n }\n\n public getSeconds(date: Moment): number {\n return this.clone(date).seconds()\n }\n\n public getTime(date: Moment): number {\n return this.clone(date).valueOf()\n }\n\n public getNumDaysInMonth(date: Moment): number {\n return this.clone(date).daysInMonth()\n }\n\n public differenceInCalendarDays(dateLeft: Moment, dateRight: Moment): number {\n return this.clone(dateLeft).diff(dateRight, 'days')\n }\n\n public getYearName(date: Moment): string {\n return this.clone(date).format('YYYY')\n }\n\n public getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this._localeData.longMonths : this._localeData.shortMonths\n }\n\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this._localeData.longDaysOfWeek\n }\n if (style === 'short') {\n return this._localeData.shortDaysOfWeek\n }\n return this._localeData.narrowDaysOfWeek\n }\n\n public getDateNames(): string[] {\n return this._localeData.dates\n }\n\n public toIso8601(date: Moment): string {\n return this.clone(date).format()\n }\n\n public isEqual(dateLeft: Moment, dateRight: Moment): boolean {\n\n if (dateLeft && dateRight) {\n return this.clone(dateLeft).isSame(this.clone(dateRight))\n }\n\n return dateLeft === dateRight\n }\n\n public isSameDay(dateLeft: Moment, dateRight: Moment): boolean {\n\n if (dateLeft && dateRight) {\n return this.clone(dateLeft).isSame(this.clone(dateRight), 'day')\n }\n\n return dateLeft === dateRight\n }\n\n public isValid(date: Moment): boolean {\n return this.clone(date).isValid()\n }\n\n public invalid(): Moment {\n return moment.invalid()\n }\n\n public isDateInstance(obj: any): boolean {\n return moment.isMoment(obj)\n }\n\n public addCalendarYears(date: Moment, amount: number): Moment {\n return this.clone(date).add({ years: amount })\n }\n\n public addCalendarMonths(date: Moment, amount: number): Moment {\n return this.clone(date).add({ months: amount })\n }\n\n public addCalendarDays(date: Moment, amount: number): Moment {\n return this.clone(date).add({ days: amount })\n }\n\n public setHours(date: Moment, amount: number): Moment {\n return this.clone(date).hours(amount)\n }\n\n public setMinutes(date: Moment, amount: number): Moment {\n return this.clone(date).minutes(amount)\n }\n\n public setSeconds(date: Moment, amount: number): Moment {\n return this.clone(date).seconds(amount)\n }\n\n public createDate(year: number, month: number, date: number): Moment\n public createDate(year: number, month: number, date: number, hours: number = 0, minutes: number = 0, seconds: number = 0): Moment {\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`)\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`)\n }\n\n if (hours < 0 || hours > 23) {\n throw Error(`Invalid hours \"${hours}\". Hours has to be between 0 and 23.`)\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(`Invalid minutes \"${minutes}\". Minutes has to between 0 and 59.`)\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(`Invalid seconds \"${seconds}\". Seconds has to be between 0 and 59.`)\n }\n\n const result = this.createMoment({ year, month, date, hours, minutes, seconds }).locale(this.locale)\n\n // If the result isn't valid, the date must have been out of bounds for this month.\n if (!result.isValid()) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`)\n }\n\n return result\n }\n\n public clone(date: Moment): Moment {\n return this.createMoment(date).clone().locale(this.locale)\n }\n\n public now(): Moment {\n return this.createMoment().locale(this.locale)\n }\n\n public format(date: Moment, displayFormat: any): string {\n date = this.clone(date)\n if (!this.isValid(date)) {\n throw Error('MomentDateTimeAdapter: Cannot format invalid date.')\n }\n return date.format(displayFormat)\n }\n\n public parse(value: any, parseFormat: any): Moment | null {\n if (value && typeof value === 'string') {\n return this.createMoment(value, parseFormat, this.locale)\n }\n return value ? this.createMoment(value).locale(this.locale) : null\n }\n\n /**\n * Returns the given value if given a valid Moment or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid Moments and empty\n * string into null. Returns an invalid date for all other values.\n */\n deserialize(value: any): Moment | null {\n let date\n if (value instanceof Date) {\n date = this.createMoment(value)\n }\n if (typeof value === 'string') {\n if (!value) {\n return null\n }\n date = this.createMoment(value, moment.ISO_8601).locale(this.locale)\n }\n if (date && this.isValid(date)) {\n return date\n }\n return super.deserialize(value)\n }\n\n /** Creates a Moment instance while respecting the current UTC settings. */\n private createMoment(...args: any[]): Moment {\n return (this.options && this.options.useUtc) ? moment.utc(...args) : moment(...args)\n }\n}\n","import { OwlDateTimeFormats } from 'nxt-pick-datetime'\n\nexport const OWL_MOMENT_DATE_TIME_FORMATS: OwlDateTimeFormats = {\n parseInput: 'l LT',\n fullPickerInput: 'l LT',\n datePickerInput: 'l',\n timePickerInput: 'LT',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n}\n","import { NgModule } from '@angular/core'\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS, OWL_DATE_TIME_LOCALE } from 'nxt-pick-datetime'\nimport { MomentDateTimeAdapter, OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from './date-time-adapter.class'\nimport { OWL_MOMENT_DATE_TIME_FORMATS } from './date-time-format.class'\n\n@NgModule({\n providers: [\n {\n provide: DateTimeAdapter,\n useClass: MomentDateTimeAdapter,\n deps: [OWL_DATE_TIME_LOCALE, OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS]\n }\n ]\n})\nexport class MomentDateTimeModule { }\n\n@NgModule({\n imports: [MomentDateTimeModule],\n providers: [{ provide: OWL_DATE_TIME_FORMATS, useValue: OWL_MOMENT_DATE_TIME_FORMATS }]\n})\nexport class OwlMomentDateTimeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nxt-pick-datetime-native-adapter.js","sources":["../../../projects/nxt-pick-datetime/native-adapter/src/date-time-adapter.class.ts","../../../projects/nxt-pick-datetime/native-adapter/src/date-time-format.class.ts","../../../projects/nxt-pick-datetime/native-adapter/src/native-adapter.module.ts","../../../projects/nxt-pick-datetime/native-adapter/src/nxt-pick-datetime-native-adapter.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform'\nimport { Inject, Injectable, Optional } from '@angular/core'\nimport { DateTimeAdapter, OWL_DATE_TIME_LOCALE } from 'nxt-pick-datetime'\n\n/** The default month names to use if Intl API is not available. */\nconst DEFAULT_MONTH_NAMES = {\n long: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n ],\n short: [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n ],\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']\n}\n\n/** The default day of the week names to use if Intl API is not available. */\nconst DEFAULT_DAY_OF_WEEK_NAMES = {\n long: [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday'\n ],\n short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S']\n}\n\n/** The default date names to use if Intl API is not available. */\nconst DEFAULT_DATE_NAMES = range(31, i => String(i + 1))\n\n/** Whether the browser supports the Intl API. */\nconst SUPPORTS_INTL_API = typeof Intl !== 'undefined'\n\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings an with out of bounds month, date, etc.\n */\nconst ISO_8601_REGEX = /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length)\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i)\n }\n return valuesArray\n}\n\n@Injectable()\nexport class NativeDateTimeAdapter extends DateTimeAdapter<Date> {\n /** Whether to clamp the date between 1 and 9999 to avoid IE and Edge errors. */\n private readonly _clampDate: boolean\n\n /**\n * Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.\n * Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off\n * the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`\n * will produce `'8/13/1800'`.\n */\n useUtcForDisplay: boolean\n\n constructor(\n platform: Platform,\n @Optional()\n @Inject(OWL_DATE_TIME_LOCALE)\n owlDateTimeLocale?: string\n ) {\n super()\n super.setLocale(owlDateTimeLocale)\n\n // IE does its own time zone correction, so we disable this on IE.\n this.useUtcForDisplay = !platform.TRIDENT\n this._clampDate = platform.TRIDENT || platform.EDGE\n }\n\n public getYear(date: Date): number {\n return date.getFullYear()\n }\n\n public getMonth(date: Date): number {\n return date.getMonth()\n }\n\n public getDay(date: Date): number {\n return date.getDay()\n }\n\n public getDate(date: Date): number {\n return date.getDate()\n }\n\n public getHours(date: Date): number {\n return date.getHours()\n }\n\n public getMinutes(date: Date): number {\n return date.getMinutes()\n }\n\n public getSeconds(date: Date): number {\n return date.getSeconds()\n }\n\n public getTime(date: Date): number {\n return date.getTime()\n }\n\n public getNumDaysInMonth(date: Date): number {\n const lastDateOfMonth = this.createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + 1,\n 0\n )\n\n return this.getDate(lastDateOfMonth)\n }\n\n public differenceInCalendarDays(dateLeft: Date, dateRight: Date): number {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n const dateLeftStartOfDay = this.createDate(\n this.getYear(dateLeft),\n this.getMonth(dateLeft),\n this.getDate(dateLeft)\n )\n const dateRightStartOfDay = this.createDate(\n this.getYear(dateRight),\n this.getMonth(dateRight),\n this.getDate(dateRight)\n )\n\n const timeStampLeft =\n this.getTime(dateLeftStartOfDay) -\n dateLeftStartOfDay.getTimezoneOffset() *\n this.milliseondsInMinute\n const timeStampRight =\n this.getTime(dateRightStartOfDay) -\n dateRightStartOfDay.getTimezoneOffset() *\n this.milliseondsInMinute\n return Math.round(\n (timeStampLeft - timeStampRight) / this.millisecondsInDay\n )\n } else {\n return null\n }\n }\n\n public getYearName(date: Date): string {\n if (SUPPORTS_INTL_API) {\n const dtf = new Intl.DateTimeFormat(this.locale, {\n year: 'numeric',\n timeZone: 'utc'\n })\n return this.stripDirectionalityCharacters(this._format(dtf, date))\n }\n return String(this.getYear(date))\n }\n\n public getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (SUPPORTS_INTL_API) {\n const dtf = new Intl.DateTimeFormat(this.locale, {\n month: style,\n timeZone: 'utc'\n })\n return range(12, i =>\n this.stripDirectionalityCharacters(\n this._format(dtf, new Date(2017, i, 1))\n )\n )\n }\n return DEFAULT_MONTH_NAMES[style]\n }\n\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (SUPPORTS_INTL_API) {\n const dtf = new Intl.DateTimeFormat(this.locale, {\n weekday: style,\n timeZone: 'utc'\n })\n return range(7, i =>\n this.stripDirectionalityCharacters(\n this._format(dtf, new Date(2017, 0, i + 1))\n )\n )\n }\n\n return DEFAULT_DAY_OF_WEEK_NAMES[style]\n }\n\n public getDateNames(): string[] {\n if (SUPPORTS_INTL_API) {\n const dtf = new Intl.DateTimeFormat(this.locale, {\n day: 'numeric',\n timeZone: 'utc'\n })\n return range(31, i =>\n this.stripDirectionalityCharacters(\n this._format(dtf, new Date(2017, 0, i + 1))\n )\n )\n }\n return DEFAULT_DATE_NAMES\n }\n\n public toIso8601(date: Date): string {\n return date.toISOString()\n }\n\n public isEqual(dateLeft: Date, dateRight: Date): boolean {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n return dateLeft.getTime() === dateRight.getTime()\n } else {\n return false\n }\n }\n\n public isSameDay(dateLeft: Date, dateRight: Date): boolean {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n const dateLeftStartOfDay = this.clone(dateLeft)\n const dateRightStartOfDay = this.clone(dateRight)\n dateLeftStartOfDay.setHours(0, 0, 0, 0)\n dateRightStartOfDay.setHours(0, 0, 0, 0)\n return (\n dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime()\n )\n } else {\n return false\n }\n }\n\n public isValid(date: Date): boolean {\n return date && !isNaN(date.getTime())\n }\n\n public invalid(): Date {\n return new Date(NaN)\n }\n\n public isDateInstance(obj: any): boolean {\n return obj instanceof Date\n }\n\n public addCalendarYears(date: Date, amount: number): Date {\n return this.addCalendarMonths(date, amount * 12)\n }\n\n public addCalendarMonths(date: Date, amount: number): Date {\n const result = this.clone(date)\n amount = Number(amount)\n\n const desiredMonth = result.getMonth() + amount\n const dateWithDesiredMonth = new Date(0)\n dateWithDesiredMonth.setFullYear(result.getFullYear(), desiredMonth, 1)\n dateWithDesiredMonth.setHours(0, 0, 0, 0)\n\n const daysInMonth = this.getNumDaysInMonth(dateWithDesiredMonth)\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n result.setMonth(desiredMonth, Math.min(daysInMonth, result.getDate()))\n return result\n }\n\n public addCalendarDays(date: Date, amount: number): Date {\n const result = this.clone(date)\n amount = Number(amount)\n result.setDate(result.getDate() + amount)\n return result\n }\n\n public setHours(date: Date, amount: number): Date {\n const result = this.clone(date)\n result.setHours(amount)\n return result\n }\n\n public setMinutes(date: Date, amount: number): Date {\n const result = this.clone(date)\n result.setMinutes(amount)\n return result\n }\n\n public setSeconds(date: Date, amount: number): Date {\n const result = this.clone(date)\n result.setSeconds(amount)\n return result\n }\n\n public createDate(\n year: number,\n month: number,\n date: number,\n hours: number = 0,\n minutes: number = 0,\n seconds: number = 0\n ): Date {\n if (month < 0 || month > 11) {\n throw Error(\n `Invalid month index \"${month}\". Month index has to be between 0 and 11.`\n )\n }\n\n if (date < 1) {\n throw Error(\n `Invalid date \"${date}\". Date has to be greater than 0.`\n )\n }\n\n if (hours < 0 || hours > 23) {\n throw Error(\n `Invalid hours \"${hours}\". Hours has to be between 0 and 23.`\n )\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(\n `Invalid minutes \"${minutes}\". Minutes has to between 0 and 59.`\n )\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(\n `Invalid seconds \"${seconds}\". Seconds has to be between 0 and 59.`\n )\n }\n\n const result = this.createDateWithOverflow(\n year,\n month,\n date,\n hours,\n minutes,\n seconds\n )\n\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n // For example, createDate(2017, 1, 31) would try to create a date 2017/02/31 which is invalid\n if (result.getMonth() !== month) {\n throw Error(\n `Invalid date \"${date}\" for month with index \"${month}\".`\n )\n }\n\n return result\n }\n\n public clone(date: Date): Date {\n return this.createDate(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHours(date),\n this.getMinutes(date),\n this.getSeconds(date)\n )\n }\n\n public now(): Date {\n return new Date()\n }\n\n public format(date: Date, displayFormat: any): string {\n if (!this.isValid(date)) {\n throw Error('JSNativeDate: Cannot format invalid date.')\n }\n\n if (SUPPORTS_INTL_API) {\n if (\n this._clampDate &&\n (date.getFullYear() < 1 || date.getFullYear() > 9999)\n ) {\n date = this.clone(date)\n date.setFullYear(\n Math.max(1, Math.min(9999, date.getFullYear()))\n )\n }\n\n displayFormat = { ...displayFormat, timeZone: 'utc' }\n const dtf = new Intl.DateTimeFormat(this.locale, displayFormat)\n return this.stripDirectionalityCharacters(this._format(dtf, date))\n }\n\n return this.stripDirectionalityCharacters(date.toDateString())\n }\n\n public parse(value: any, _parseFormat: any): Date | null {\n // There is no way using the native JS Date to set the parse format or locale\n if (typeof value === 'number') {\n return new Date(value)\n }\n return value ? new Date(Date.parse(value)) : null\n }\n\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n public deserialize(value: any): Date | null {\n if (typeof value === 'string') {\n if (!value) {\n return null\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n const date = new Date(value)\n if (this.isValid(date)) {\n return date\n }\n }\n }\n return super.deserialize(value)\n }\n\n /**\n * Creates a date but allows the month and date to overflow.\n */\n private createDateWithOverflow(\n year: number,\n month: number,\n date: number,\n hours: number = 0,\n minutes: number = 0,\n seconds: number = 0\n ): Date {\n const result = new Date(year, month, date, hours, minutes, seconds)\n\n if (year >= 0 && year < 100) {\n result.setFullYear(this.getYear(result) - 1900)\n }\n return result\n }\n\n /**\n * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while\n * other browsers do not. We remove them to make output consistent and because they interfere with\n * date parsing.\n */\n private stripDirectionalityCharacters(str: string) {\n return str.replace(/[\\u200e\\u200f]/g, '')\n }\n\n /**\n * When converting Date object to string, javascript built-in functions may return wrong\n * results because it applies its internal DST rules. The DST rules around the world change\n * very frequently, and the current valid rule is not always valid in previous years though.\n * We work around this problem building a new Date object which has its internal UTC\n * representation with the local date and time.\n */\n private _format(dtf: Intl.DateTimeFormat, date: Date) {\n const d = new Date(\n Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds()\n )\n )\n return dtf.format(d)\n }\n}\n","import { OwlDateTimeFormats } from 'nxt-pick-datetime'\n\nexport const OWL_NATIVE_DATE_TIME_FORMATS: OwlDateTimeFormats = {\n parseInput: null,\n fullPickerInput: { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric' },\n datePickerInput: { year: 'numeric', month: 'numeric', day: 'numeric' },\n timePickerInput: { hour: 'numeric', minute: 'numeric' },\n monthYearLabel: { year: 'numeric', month: 'short' },\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\n monthYearA11yLabel: { year: 'numeric', month: 'long' }\n}\n","import { PlatformModule } from '@angular/cdk/platform'\nimport { NgModule } from '@angular/core'\nimport { DateTimeAdapter, OWL_DATE_TIME_FORMATS } from 'nxt-pick-datetime'\nimport { NativeDateTimeAdapter } from './date-time-adapter.class'\nimport { OWL_NATIVE_DATE_TIME_FORMATS } from './date-time-format.class'\n\n@NgModule({\n imports: [PlatformModule],\n providers: [\n { provide: DateTimeAdapter, useClass: NativeDateTimeAdapter }\n ]\n})\nexport class NativeDateTimeModule { }\n\n@NgModule({\n imports: [NativeDateTimeModule],\n providers: [{ provide: OWL_DATE_TIME_FORMATS, useValue: OWL_NATIVE_DATE_TIME_FORMATS }]\n})\nexport class OwlNativeDateTimeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|