@porscheinformatik/clr-addons 15.0.0 → 15.2.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/clr-addons.module.d.ts +2 -1
- package/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.d.ts +2 -0
- package/datagrid/datagrid-state-persistence/index.d.ts +1 -0
- package/datagrid/datagrid-state-persistence/state-persistence-key.directive.d.ts +13 -4
- package/datagrid/datagrid-state-persistence/state-persistence-options.interface.d.ts +8 -0
- package/daterangepicker/daterange.constants.d.ts +21 -0
- package/daterangepicker/daterangepicker.module.d.ts +17 -0
- package/daterangepicker/directives/abstract-container.component.d.ts +53 -0
- package/daterangepicker/directives/datepicker/datepicker.component.d.ts +65 -0
- package/daterangepicker/directives/daterangepicker/daterangepicker.directive.d.ts +127 -0
- package/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.d.ts +118 -0
- package/daterangepicker/directives/if-daterange-error.directive.d.ts +40 -0
- package/daterangepicker/index.d.ts +13 -0
- package/daterangepicker/interfaces/daterange-preset.interface.d.ts +8 -0
- package/daterangepicker/interfaces/daterange.interface.d.ts +12 -0
- package/daterangepicker/models/day.model.d.ts +80 -0
- package/daterangepicker/models/popover-positions.model.d.ts +20 -0
- package/daterangepicker/providers/daterange-control-state.service.d.ts +42 -0
- package/daterangepicker/providers/daterange-parsing.service.d.ts +66 -0
- package/daterangepicker/providers/daterange.service.d.ts +38 -0
- package/daterangepicker/providers/opened-datepickers-tracker.service.d.ts +20 -0
- package/daterangepicker/validators/daterange-max.validator.d.ts +32 -0
- package/daterangepicker/validators/daterange-min.validator.d.ts +32 -0
- package/daterangepicker/validators/daterange-order.validator.d.ts +29 -0
- package/daterangepicker/validators/daterange-required.validator.d.ts +29 -0
- package/esm2020/clr-addons.module.mjs +8 -4
- package/esm2020/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +3 -2
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +1 -1
- package/esm2020/datagrid/datagrid-state-persistence/index.mjs +2 -1
- package/esm2020/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +58 -12
- package/esm2020/datagrid/datagrid-state-persistence/state-persistence-options.interface.mjs +2 -0
- package/esm2020/daterangepicker/daterange.constants.mjs +27 -0
- package/esm2020/daterangepicker/daterangepicker.module.mjs +58 -0
- package/esm2020/daterangepicker/directives/abstract-container.component.mjs +104 -0
- package/esm2020/daterangepicker/directives/datepicker/datepicker.component.mjs +97 -0
- package/esm2020/daterangepicker/directives/daterangepicker/daterangepicker.directive.mjs +256 -0
- package/esm2020/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.mjs +251 -0
- package/esm2020/daterangepicker/directives/if-daterange-error.directive.mjs +94 -0
- package/esm2020/daterangepicker/index.mjs +14 -0
- package/esm2020/daterangepicker/interfaces/daterange-preset.interface.mjs +2 -0
- package/esm2020/daterangepicker/interfaces/daterange.interface.mjs +2 -0
- package/esm2020/daterangepicker/models/day.model.mjs +99 -0
- package/esm2020/daterangepicker/models/popover-positions.model.mjs +66 -0
- package/esm2020/daterangepicker/providers/daterange-control-state.service.mjs +62 -0
- package/esm2020/daterangepicker/providers/daterange-parsing.service.mjs +206 -0
- package/esm2020/daterangepicker/providers/daterange.service.mjs +54 -0
- package/esm2020/daterangepicker/providers/opened-datepickers-tracker.service.mjs +36 -0
- package/esm2020/daterangepicker/validators/daterange-max.validator.mjs +85 -0
- package/esm2020/daterangepicker/validators/daterange-min.validator.mjs +85 -0
- package/esm2020/daterangepicker/validators/daterange-order.validator.mjs +75 -0
- package/esm2020/daterangepicker/validators/daterange-required.validator.mjs +71 -0
- package/esm2020/index.mjs +3 -2
- package/esm2020/searchfield/search-field.mjs +7 -5
- package/fesm2015/clr-addons.mjs +1977 -270
- package/fesm2015/clr-addons.mjs.map +1 -1
- package/fesm2020/clr-addons.mjs +1858 -177
- package/fesm2020/clr-addons.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +3 -3
- package/searchfield/search-field.d.ts +2 -2
- package/styles/clr-addons-phs.css +0 -13
- package/styles/clr-addons-phs.css.map +1 -1
- package/styles/clr-addons-phs.min.css +1 -1
- package/styles/clr-addons-phs.min.css.map +1 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Daterange service.
|
|
5
|
+
* Keeps track of daterange related values.
|
|
6
|
+
*/
|
|
7
|
+
export class DaterangeService {
|
|
8
|
+
constructor() {
|
|
9
|
+
/** Minimum date that can be selected. */
|
|
10
|
+
this.minDate = null;
|
|
11
|
+
/** Maximum date that can be selected. */
|
|
12
|
+
this.maxDate = null;
|
|
13
|
+
this._selectedDaterange = null;
|
|
14
|
+
/**
|
|
15
|
+
* Event triggered when value changes.
|
|
16
|
+
*/
|
|
17
|
+
this.valueChange = new EventEmitter();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Selected daterange value.
|
|
21
|
+
* @returns Selected daterange value.
|
|
22
|
+
*/
|
|
23
|
+
get selectedDaterange() {
|
|
24
|
+
return this._selectedDaterange;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Set selected daterange value.
|
|
28
|
+
* @param value - New selected daterange value.
|
|
29
|
+
* @param triggerEvent - Trigger change event (default true).
|
|
30
|
+
*/
|
|
31
|
+
updateSelectedDaterange(value, triggerEvent = true) {
|
|
32
|
+
this._selectedDaterange = value;
|
|
33
|
+
if (triggerEvent) {
|
|
34
|
+
this.valueChange.emit(value);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Checks if daterange is valid.
|
|
39
|
+
* Daterange is considered invalid when it's empty, or when one of it's properties is absent.
|
|
40
|
+
* @returns Wether daterange is valid.
|
|
41
|
+
*/
|
|
42
|
+
isValid() {
|
|
43
|
+
if (this._selectedDaterange == null || this._selectedDaterange.from == null || this._selectedDaterange.to == null) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
DaterangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DaterangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
DaterangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DaterangeService });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DaterangeService, decorators: [{
|
|
52
|
+
type: Injectable
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRlcmFuZ2VwaWNrZXIvcHJvdmlkZXJzL2RhdGVyYW5nZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRUUseUNBQXlDO1FBQ2xDLFlBQU8sR0FBcUIsSUFBSSxDQUFDO1FBRXhDLHlDQUF5QztRQUNsQyxZQUFPLEdBQXFCLElBQUksQ0FBQztRQUVoQyx1QkFBa0IsR0FBc0IsSUFBSSxDQUFDO1FBdUJyRDs7V0FFRztRQUNJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7S0FhNUQ7SUFyQ0M7OztPQUdHO0lBQ0gsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx1QkFBdUIsQ0FBQyxLQUF3QixFQUFFLFlBQVksR0FBRyxJQUFJO1FBQzFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBT0Q7Ozs7T0FJRztJQUNJLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDakgsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7NkdBN0NVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTnVsbGFibGVEYXRlcmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGVyYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnVsbGFibGVEYXlNb2RlbCB9IGZyb20gJy4uL21vZGVscy9kYXkubW9kZWwnO1xuXG4vKipcbiAqIERhdGVyYW5nZSBzZXJ2aWNlLlxuICogS2VlcHMgdHJhY2sgb2YgZGF0ZXJhbmdlIHJlbGF0ZWQgdmFsdWVzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0ZXJhbmdlU2VydmljZSB7XG4gIC8qKiBNaW5pbXVtIGRhdGUgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuICovXG4gIHB1YmxpYyBtaW5EYXRlOiBOdWxsYWJsZURheU1vZGVsID0gbnVsbDtcblxuICAvKiogTWF4aW11bSBkYXRlIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiAqL1xuICBwdWJsaWMgbWF4RGF0ZTogTnVsbGFibGVEYXlNb2RlbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlcmFuZ2U6IE51bGxhYmxlRGF0ZXJhbmdlID0gbnVsbDtcblxuICAvKipcbiAgICogU2VsZWN0ZWQgZGF0ZXJhbmdlIHZhbHVlLlxuICAgKiBAcmV0dXJucyBTZWxlY3RlZCBkYXRlcmFuZ2UgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkRGF0ZXJhbmdlKCk6IE51bGxhYmxlRGF0ZXJhbmdlIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWREYXRlcmFuZ2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNlbGVjdGVkIGRhdGVyYW5nZSB2YWx1ZS5cbiAgICogQHBhcmFtIHZhbHVlIC0gTmV3IHNlbGVjdGVkIGRhdGVyYW5nZSB2YWx1ZS5cbiAgICogQHBhcmFtIHRyaWdnZXJFdmVudCAtIFRyaWdnZXIgY2hhbmdlIGV2ZW50IChkZWZhdWx0IHRydWUpLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVNlbGVjdGVkRGF0ZXJhbmdlKHZhbHVlOiBOdWxsYWJsZURhdGVyYW5nZSwgdHJpZ2dlckV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZXJhbmdlID0gdmFsdWU7XG5cbiAgICBpZiAodHJpZ2dlckV2ZW50KSB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCB0cmlnZ2VyZWQgd2hlbiB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxOdWxsYWJsZURhdGVyYW5nZT4oKTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGRhdGVyYW5nZSBpcyB2YWxpZC5cbiAgICogRGF0ZXJhbmdlIGlzIGNvbnNpZGVyZWQgaW52YWxpZCB3aGVuIGl0J3MgZW1wdHksIG9yIHdoZW4gb25lIG9mIGl0J3MgcHJvcGVydGllcyBpcyBhYnNlbnQuXG4gICAqIEByZXR1cm5zIFdldGhlciBkYXRlcmFuZ2UgaXMgdmFsaWQuXG4gICAqL1xuICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWREYXRlcmFuZ2UgPT0gbnVsbCB8fCB0aGlzLl9zZWxlY3RlZERhdGVyYW5nZS5mcm9tID09IG51bGwgfHwgdGhpcy5fc2VsZWN0ZWREYXRlcmFuZ2UudG8gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Keeps track of how many Clarity Datepicker there are open.
|
|
5
|
+
* This is needed for the ClrDaterangepickerContainerComponent, to know when to close the popover.
|
|
6
|
+
*/
|
|
7
|
+
export class OpenedDatepickersTrackerService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.openedDatepickersCount = 0;
|
|
10
|
+
/**
|
|
11
|
+
* Event triggered when value changes.
|
|
12
|
+
*/
|
|
13
|
+
this.valueChange = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Tracks an opened datepicker.
|
|
17
|
+
* @param opened - Opened state.
|
|
18
|
+
*/
|
|
19
|
+
track(opened) {
|
|
20
|
+
if (opened) {
|
|
21
|
+
this.openedDatepickersCount++;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.openedDatepickersCount--;
|
|
25
|
+
}
|
|
26
|
+
this.openedDatepickersCount = Math.max(0, this.openedDatepickersCount);
|
|
27
|
+
this.valueChange.emit(this.openedDatepickersCount !== 0);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
OpenedDatepickersTrackerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OpenedDatepickersTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
OpenedDatepickersTrackerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OpenedDatepickersTrackerService, providedIn: 'root' });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OpenedDatepickersTrackerService, decorators: [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{ providedIn: 'root' }]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmVkLWRhdGVwaWNrZXJzLXRyYWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGVyYW5nZXBpY2tlci9wcm92aWRlcnMvb3BlbmVkLWRhdGVwaWNrZXJzLXRyYWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFekQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLCtCQUErQjtJQUQ1QztRQUVVLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUVuQzs7V0FFRztRQUNJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQWVsRDtJQWJDOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxNQUFlO1FBQzFCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs0SEFwQlUsK0JBQStCO2dJQUEvQiwrQkFBK0IsY0FEbEIsTUFBTTsyRkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIGhvdyBtYW55IENsYXJpdHkgRGF0ZXBpY2tlciB0aGVyZSBhcmUgb3Blbi5cbiAqIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgQ2xyRGF0ZXJhbmdlcGlja2VyQ29udGFpbmVyQ29tcG9uZW50LCB0byBrbm93IHdoZW4gdG8gY2xvc2UgdGhlIHBvcG92ZXIuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3BlbmVkRGF0ZXBpY2tlcnNUcmFja2VyU2VydmljZSB7XG4gIHByaXZhdGUgb3BlbmVkRGF0ZXBpY2tlcnNDb3VudCA9IDA7XG5cbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCB3aGVuIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIFRyYWNrcyBhbiBvcGVuZWQgZGF0ZXBpY2tlci5cbiAgICogQHBhcmFtIG9wZW5lZCAtIE9wZW5lZCBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFjayhvcGVuZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAob3BlbmVkKSB7XG4gICAgICB0aGlzLm9wZW5lZERhdGVwaWNrZXJzQ291bnQrKztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuZWREYXRlcGlja2Vyc0NvdW50LS07XG4gICAgfVxuICAgIHRoaXMub3BlbmVkRGF0ZXBpY2tlcnNDb3VudCA9IE1hdGgubWF4KDAsIHRoaXMub3BlbmVkRGF0ZXBpY2tlcnNDb3VudCk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMub3BlbmVkRGF0ZXBpY2tlcnNDb3VudCAhPT0gMCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input, Optional } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import { DaterangeService } from '../providers/daterange.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../providers/daterange.service";
|
|
6
|
+
/**
|
|
7
|
+
* Validator for daterangepicker to validate that 'to' date is not after 'max' value.
|
|
8
|
+
* Otherwise will throw corresponding `max` validation error.
|
|
9
|
+
*
|
|
10
|
+
* Validator is applied to the ClrDaterangepickerDirective with `max` attribute.
|
|
11
|
+
* Or when set manually with `clrDaterangeMax` attribute.
|
|
12
|
+
*
|
|
13
|
+
* Validator is active by default when applied. It can be disabled with: `[clrDaterangeMax]="false"`
|
|
14
|
+
*/
|
|
15
|
+
export class ClrDaterangeMaxValidator {
|
|
16
|
+
constructor(daterangeService) {
|
|
17
|
+
this.daterangeService = daterangeService;
|
|
18
|
+
this._active = true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Disable validator by setting value to `false`.
|
|
22
|
+
*/
|
|
23
|
+
set active(active) {
|
|
24
|
+
this._active = active == null || (active !== false && `${active}` !== 'false');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validator method. Method that performs synchronous validation against the provided control.
|
|
28
|
+
* @param control - The control to validate against.
|
|
29
|
+
* @returns A map of validation errors if validation fails, otherwise null.
|
|
30
|
+
*/
|
|
31
|
+
validate(control) {
|
|
32
|
+
if (!this._active) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
if (control.value == null) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const max = this.daterangeService.maxDate;
|
|
39
|
+
if (max == null) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const { to } = control.value;
|
|
43
|
+
if (to == null) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (to.isAfter(max)) {
|
|
47
|
+
return {
|
|
48
|
+
[ClrDaterangeMaxValidator.validationErrorName]: {
|
|
49
|
+
max,
|
|
50
|
+
actual: to,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Validation error name. */
|
|
58
|
+
ClrDaterangeMaxValidator.validationErrorName = 'max';
|
|
59
|
+
ClrDaterangeMaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeMaxValidator, deps: [{ token: i1.DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
ClrDaterangeMaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeMaxValidator, selector: "[clrDaterangepicker][max], [clrDaterangeMax]", inputs: { active: ["clrDaterangeMax", "active"] }, providers: [
|
|
61
|
+
{
|
|
62
|
+
provide: NG_VALIDATORS,
|
|
63
|
+
useExisting: forwardRef(() => ClrDaterangeMaxValidator),
|
|
64
|
+
multi: true,
|
|
65
|
+
},
|
|
66
|
+
], ngImport: i0 });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeMaxValidator, decorators: [{
|
|
68
|
+
type: Directive,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: '[clrDaterangepicker][max], [clrDaterangeMax]',
|
|
71
|
+
providers: [
|
|
72
|
+
{
|
|
73
|
+
provide: NG_VALIDATORS,
|
|
74
|
+
useExisting: forwardRef(() => ClrDaterangeMaxValidator),
|
|
75
|
+
multi: true,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.DaterangeService, decorators: [{
|
|
80
|
+
type: Optional
|
|
81
|
+
}] }]; }, propDecorators: { active: [{
|
|
82
|
+
type: Input,
|
|
83
|
+
args: ['clrDaterangeMax']
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLW1heC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRlcmFuZ2VwaWNrZXIvdmFsaWRhdG9ycy9kYXRlcmFuZ2UtbWF4LnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBSTdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFbEU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQWdELGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRjFFLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFFOEQsQ0FBQztJQUV0Rjs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxHQUFHLEdBQXFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTdCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTztnQkFDTCxDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDLEVBQUU7b0JBQzlDLEdBQUc7b0JBQ0gsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7YUFDRixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBbERELDZCQUE2QjtBQUNOLDRDQUFtQixHQUFHLEtBQUssQ0FBQztxSEFGeEMsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMEhBUnhCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSx3QkFBd0I7a0JBVnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhDQUE4QztvQkFDeEQsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OzBCQU9xQixRQUFROzRDQU1qQixNQUFNO3NCQURoQixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTnVsbGFibGVEYXRlcmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGVyYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnVsbGFibGVEYXlNb2RlbCB9IGZyb20gJy4uL21vZGVscy9kYXkubW9kZWwnO1xuaW1wb3J0IHsgRGF0ZXJhbmdlU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9kYXRlcmFuZ2Uuc2VydmljZSc7XG5cbi8qKlxuICogVmFsaWRhdG9yIGZvciBkYXRlcmFuZ2VwaWNrZXIgdG8gdmFsaWRhdGUgdGhhdCAndG8nIGRhdGUgaXMgbm90IGFmdGVyICdtYXgnIHZhbHVlLlxuICogT3RoZXJ3aXNlIHdpbGwgdGhyb3cgY29ycmVzcG9uZGluZyBgbWF4YCB2YWxpZGF0aW9uIGVycm9yLlxuICpcbiAqIFZhbGlkYXRvciBpcyBhcHBsaWVkIHRvIHRoZSBDbHJEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUgd2l0aCBgbWF4YCBhdHRyaWJ1dGUuXG4gKiBPciB3aGVuIHNldCBtYW51YWxseSB3aXRoIGBjbHJEYXRlcmFuZ2VNYXhgIGF0dHJpYnV0ZS5cbiAqXG4gKiBWYWxpZGF0b3IgaXMgYWN0aXZlIGJ5IGRlZmF1bHQgd2hlbiBhcHBsaWVkLiBJdCBjYW4gYmUgZGlzYWJsZWQgd2l0aDogYFtjbHJEYXRlcmFuZ2VNYXhdPVwiZmFsc2VcImBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRhdGVyYW5nZXBpY2tlcl1bbWF4XSwgW2NsckRhdGVyYW5nZU1heF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2xyRGF0ZXJhbmdlTWF4VmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVyYW5nZU1heFZhbGlkYXRvciBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIC8qKiBWYWxpZGF0aW9uIGVycm9yIG5hbWUuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdmFsaWRhdGlvbkVycm9yTmFtZSA9ICdtYXgnO1xuXG4gIHByaXZhdGUgX2FjdGl2ZSA9IHRydWU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZGF0ZXJhbmdlU2VydmljZTogRGF0ZXJhbmdlU2VydmljZSkge31cblxuICAvKipcbiAgICogRGlzYWJsZSB2YWxpZGF0b3IgYnkgc2V0dGluZyB2YWx1ZSB0byBgZmFsc2VgLlxuICAgKi9cbiAgQElucHV0KCdjbHJEYXRlcmFuZ2VNYXgnKVxuICBwdWJsaWMgc2V0IGFjdGl2ZShhY3RpdmU6IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fYWN0aXZlID0gYWN0aXZlID09IG51bGwgfHwgKGFjdGl2ZSAhPT0gZmFsc2UgJiYgYCR7YWN0aXZlfWAgIT09ICdmYWxzZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRvciBtZXRob2QuIE1ldGhvZCB0aGF0IHBlcmZvcm1zIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgcHJvdmlkZWQgY29udHJvbC5cbiAgICogQHBhcmFtIGNvbnRyb2wgLSBUaGUgY29udHJvbCB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKiBAcmV0dXJucyBBIG1hcCBvZiB2YWxpZGF0aW9uIGVycm9ycyBpZiB2YWxpZGF0aW9uIGZhaWxzLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8TnVsbGFibGVEYXRlcmFuZ2UsIGFueT4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9hY3RpdmUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG1heDogTnVsbGFibGVEYXlNb2RlbCA9IHRoaXMuZGF0ZXJhbmdlU2VydmljZS5tYXhEYXRlO1xuICAgIGlmIChtYXggPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgeyB0byB9ID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICh0byA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodG8uaXNBZnRlcihtYXgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbQ2xyRGF0ZXJhbmdlTWF4VmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvck5hbWVdOiB7XG4gICAgICAgICAgbWF4LFxuICAgICAgICAgIGFjdHVhbDogdG8sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input, Optional } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import { DaterangeService } from '../providers/daterange.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../providers/daterange.service";
|
|
6
|
+
/**
|
|
7
|
+
* Validator for daterangepicker to validate that 'from' date is not before 'min' value.
|
|
8
|
+
* Otherwise will throw corresponding `min` validation error.
|
|
9
|
+
*
|
|
10
|
+
* Validator is applied to the ClrDaterangepickerDirective with `min` attribute.
|
|
11
|
+
* Or when set manually with `clrDaterangeMin` attribute.
|
|
12
|
+
*
|
|
13
|
+
* Validator is active by default when applied. It can be disabled with: `[clrDaterangeMin]="false"`
|
|
14
|
+
*/
|
|
15
|
+
export class ClrDaterangeMinValidator {
|
|
16
|
+
constructor(daterangeService) {
|
|
17
|
+
this.daterangeService = daterangeService;
|
|
18
|
+
this._active = true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Disable validator by setting value to `false`.
|
|
22
|
+
*/
|
|
23
|
+
set active(active) {
|
|
24
|
+
this._active = active == null || (active !== false && `${active}` !== 'false');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validator method. Method that performs synchronous validation against the provided control.
|
|
28
|
+
* @param control - The control to validate against.
|
|
29
|
+
* @returns A map of validation errors if validation fails, otherwise null.
|
|
30
|
+
*/
|
|
31
|
+
validate(control) {
|
|
32
|
+
if (!this._active) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
if (control.value == null) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const min = this.daterangeService.minDate;
|
|
39
|
+
if (min == null) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const { from } = control.value;
|
|
43
|
+
if (from == null) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (from.isBefore(min)) {
|
|
47
|
+
return {
|
|
48
|
+
[ClrDaterangeMinValidator.validationErrorName]: {
|
|
49
|
+
min,
|
|
50
|
+
actual: from,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Validation error name. */
|
|
58
|
+
ClrDaterangeMinValidator.validationErrorName = 'min';
|
|
59
|
+
ClrDaterangeMinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeMinValidator, deps: [{ token: i1.DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
ClrDaterangeMinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeMinValidator, selector: "[clrDaterangepicker][min], [clrDaterangeMin]", inputs: { active: ["clrDaterangeMin", "active"] }, providers: [
|
|
61
|
+
{
|
|
62
|
+
provide: NG_VALIDATORS,
|
|
63
|
+
useExisting: forwardRef(() => ClrDaterangeMinValidator),
|
|
64
|
+
multi: true,
|
|
65
|
+
},
|
|
66
|
+
], ngImport: i0 });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeMinValidator, decorators: [{
|
|
68
|
+
type: Directive,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: '[clrDaterangepicker][min], [clrDaterangeMin]',
|
|
71
|
+
providers: [
|
|
72
|
+
{
|
|
73
|
+
provide: NG_VALIDATORS,
|
|
74
|
+
useExisting: forwardRef(() => ClrDaterangeMinValidator),
|
|
75
|
+
multi: true,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.DaterangeService, decorators: [{
|
|
80
|
+
type: Optional
|
|
81
|
+
}] }]; }, propDecorators: { active: [{
|
|
82
|
+
type: Input,
|
|
83
|
+
args: ['clrDaterangeMin']
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLW1pbi52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRlcmFuZ2VwaWNrZXIvdmFsaWRhdG9ycy9kYXRlcmFuZ2UtbWluLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBSTdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFbEU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQWdELGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRjFFLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFFOEQsQ0FBQztJQUV0Rjs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxHQUFHLEdBQXFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9CLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLE9BQU87Z0JBQ0wsQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO29CQUM5QyxHQUFHO29CQUNILE1BQU0sRUFBRSxJQUFJO2lCQUNiO2FBQ0YsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQWxERCw2QkFBNkI7QUFDTiw0Q0FBbUIsR0FBRyxLQUFLLENBQUM7cUhBRnhDLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBIQVJ4QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztZQUN2RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7MkZBRVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4Q0FBOEM7b0JBQ3hELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzswQkFPcUIsUUFBUTs0Q0FNakIsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE51bGxhYmxlRGF0ZXJhbmdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRlcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE51bGxhYmxlRGF5TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZGF5Lm1vZGVsJztcbmltcG9ydCB7IERhdGVyYW5nZVNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvZGF0ZXJhbmdlLnNlcnZpY2UnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHZhbGlkYXRlIHRoYXQgJ2Zyb20nIGRhdGUgaXMgbm90IGJlZm9yZSAnbWluJyB2YWx1ZS5cbiAqIE90aGVyd2lzZSB3aWxsIHRocm93IGNvcnJlc3BvbmRpbmcgYG1pbmAgdmFsaWRhdGlvbiBlcnJvci5cbiAqXG4gKiBWYWxpZGF0b3IgaXMgYXBwbGllZCB0byB0aGUgQ2xyRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlIHdpdGggYG1pbmAgYXR0cmlidXRlLlxuICogT3Igd2hlbiBzZXQgbWFudWFsbHkgd2l0aCBgY2xyRGF0ZXJhbmdlTWluYCBhdHRyaWJ1dGUuXG4gKlxuICogVmFsaWRhdG9yIGlzIGFjdGl2ZSBieSBkZWZhdWx0IHdoZW4gYXBwbGllZC4gSXQgY2FuIGJlIGRpc2FibGVkIHdpdGg6IGBbY2xyRGF0ZXJhbmdlTWluXT1cImZhbHNlXCJgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJEYXRlcmFuZ2VwaWNrZXJdW21pbl0sIFtjbHJEYXRlcmFuZ2VNaW5dJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsckRhdGVyYW5nZU1pblZhbGlkYXRvciksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRlcmFuZ2VNaW5WYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAvKiogVmFsaWRhdGlvbiBlcnJvciBuYW1lLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHZhbGlkYXRpb25FcnJvck5hbWUgPSAnbWluJztcblxuICBwcml2YXRlIF9hY3RpdmUgPSB0cnVlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGRhdGVyYW5nZVNlcnZpY2U6IERhdGVyYW5nZVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdmFsaWRhdG9yIGJ5IHNldHRpbmcgdmFsdWUgdG8gYGZhbHNlYC5cbiAgICovXG4gIEBJbnB1dCgnY2xyRGF0ZXJhbmdlTWluJylcbiAgcHVibGljIHNldCBhY3RpdmUoYWN0aXZlOiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZSA9PSBudWxsIHx8IChhY3RpdmUgIT09IGZhbHNlICYmIGAke2FjdGl2ZX1gICE9PSAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0b3IgbWV0aG9kLiBNZXRob2QgdGhhdCBwZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIHByb3ZpZGVkIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBjb250cm9sIC0gVGhlIGNvbnRyb2wgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAgICogQHJldHVybnMgQSBtYXAgb2YgdmFsaWRhdGlvbiBlcnJvcnMgaWYgdmFsaWRhdGlvbiBmYWlscywgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPE51bGxhYmxlRGF0ZXJhbmdlLCBhbnk+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBtaW46IE51bGxhYmxlRGF5TW9kZWwgPSB0aGlzLmRhdGVyYW5nZVNlcnZpY2UubWluRGF0ZTtcbiAgICBpZiAobWluID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZnJvbSB9ID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmIChmcm9tID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChmcm9tLmlzQmVmb3JlKG1pbikpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtDbHJEYXRlcmFuZ2VNaW5WYWxpZGF0b3IudmFsaWRhdGlvbkVycm9yTmFtZV06IHtcbiAgICAgICAgICBtaW4sXG4gICAgICAgICAgYWN0dWFsOiBmcm9tLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Validator for daterangepicker to validate that 'from' date is before 'to' date.
|
|
6
|
+
* Otherwise will throw `fromIsAfterTo` validation error.
|
|
7
|
+
*
|
|
8
|
+
* This validator is applied automatically on ClrDaterangepickerDirective.
|
|
9
|
+
* Or when set manually with `clrDaterangeOrder` attribute.
|
|
10
|
+
*
|
|
11
|
+
* Validator is active by default when applied. It can be disabled with: `[clrDaterangeOrder]="false"`
|
|
12
|
+
*/
|
|
13
|
+
export class ClrDaterangeOrderValidator {
|
|
14
|
+
constructor() {
|
|
15
|
+
this._active = true;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Disable validator by setting value to `false`.
|
|
19
|
+
*/
|
|
20
|
+
set active(active) {
|
|
21
|
+
this._active = active == null || (active !== false && `${active}` !== 'false');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validator method. Method that performs synchronous validation against the provided control.
|
|
25
|
+
* @param control - The control to validate against.
|
|
26
|
+
* @returns A map of validation errors if validation fails, otherwise null.
|
|
27
|
+
*/
|
|
28
|
+
validate(control) {
|
|
29
|
+
if (!this._active) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
// Validation with `null` value is done with the regular required validator.
|
|
33
|
+
if (control.value == null) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const { from, to } = control.value;
|
|
37
|
+
// Validation with `null` values from 'from' & 'to' is done with the ClrDaterangeRequiredValidator.
|
|
38
|
+
if (from == null || to == null) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
if (from.isAfter(to)) {
|
|
42
|
+
return {
|
|
43
|
+
[ClrDaterangeOrderValidator.validationErrorName]: control.value,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Validation error name. */
|
|
50
|
+
ClrDaterangeOrderValidator.validationErrorName = 'fromIsAfterTo';
|
|
51
|
+
ClrDaterangeOrderValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeOrderValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
ClrDaterangeOrderValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeOrderValidator, selector: "[clrDaterangepicker], [clrDaterangeOrder]", inputs: { active: ["clrDaterangeOrder", "active"] }, providers: [
|
|
53
|
+
{
|
|
54
|
+
provide: NG_VALIDATORS,
|
|
55
|
+
useExisting: forwardRef(() => ClrDaterangeOrderValidator),
|
|
56
|
+
multi: true,
|
|
57
|
+
},
|
|
58
|
+
], ngImport: i0 });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeOrderValidator, decorators: [{
|
|
60
|
+
type: Directive,
|
|
61
|
+
args: [{
|
|
62
|
+
selector: '[clrDaterangepicker], [clrDaterangeOrder]',
|
|
63
|
+
providers: [
|
|
64
|
+
{
|
|
65
|
+
provide: NG_VALIDATORS,
|
|
66
|
+
useExisting: forwardRef(() => ClrDaterangeOrderValidator),
|
|
67
|
+
multi: true,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
}]
|
|
71
|
+
}], propDecorators: { active: [{
|
|
72
|
+
type: Input,
|
|
73
|
+
args: ['clrDaterangeOrder']
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLW9yZGVyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGVyYW5nZXBpY2tlci92YWxpZGF0b3JzL2RhdGVyYW5nZS1vcmRlci52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDOztBQUk3Rjs7Ozs7Ozs7R0FRRztBQVdILE1BQU0sT0FBTywwQkFBMEI7SUFWdkM7UUFjVSxZQUFPLEdBQUcsSUFBSSxDQUFDO0tBd0N4QjtJQXRDQzs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNEVBQTRFO1FBQzVFLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUVuQyxtR0FBbUc7UUFDbkcsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixPQUFPO2dCQUNMLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSzthQUNoRSxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBMUNELDZCQUE2QjtBQUNOLDhDQUFtQixHQUFHLGVBQWUsQ0FBQzt1SEFGbEQsMEJBQTBCOzJHQUExQiwwQkFBMEIseUhBUjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1lBQ3pELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSwwQkFBMEI7a0JBVnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBV1ksTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTnVsbGFibGVEYXRlcmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGVyYW5nZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHZhbGlkYXRlIHRoYXQgJ2Zyb20nIGRhdGUgaXMgYmVmb3JlICd0bycgZGF0ZS5cbiAqIE90aGVyd2lzZSB3aWxsIHRocm93IGBmcm9tSXNBZnRlclRvYCB2YWxpZGF0aW9uIGVycm9yLlxuICpcbiAqIFRoaXMgdmFsaWRhdG9yIGlzIGFwcGxpZWQgYXV0b21hdGljYWxseSBvbiBDbHJEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUuXG4gKiBPciB3aGVuIHNldCBtYW51YWxseSB3aXRoIGBjbHJEYXRlcmFuZ2VPcmRlcmAgYXR0cmlidXRlLlxuICpcbiAqIFZhbGlkYXRvciBpcyBhY3RpdmUgYnkgZGVmYXVsdCB3aGVuIGFwcGxpZWQuIEl0IGNhbiBiZSBkaXNhYmxlZCB3aXRoOiBgW2NsckRhdGVyYW5nZU9yZGVyXT1cImZhbHNlXCJgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJEYXRlcmFuZ2VwaWNrZXJdLCBbY2xyRGF0ZXJhbmdlT3JkZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsckRhdGVyYW5nZU9yZGVyVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVyYW5nZU9yZGVyVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgLyoqIFZhbGlkYXRpb24gZXJyb3IgbmFtZS4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB2YWxpZGF0aW9uRXJyb3JOYW1lID0gJ2Zyb21Jc0FmdGVyVG8nO1xuXG4gIHByaXZhdGUgX2FjdGl2ZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdmFsaWRhdG9yIGJ5IHNldHRpbmcgdmFsdWUgdG8gYGZhbHNlYC5cbiAgICovXG4gIEBJbnB1dCgnY2xyRGF0ZXJhbmdlT3JkZXInKVxuICBwdWJsaWMgc2V0IGFjdGl2ZShhY3RpdmU6IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fYWN0aXZlID0gYWN0aXZlID09IG51bGwgfHwgKGFjdGl2ZSAhPT0gZmFsc2UgJiYgYCR7YWN0aXZlfWAgIT09ICdmYWxzZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRvciBtZXRob2QuIE1ldGhvZCB0aGF0IHBlcmZvcm1zIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgcHJvdmlkZWQgY29udHJvbC5cbiAgICogQHBhcmFtIGNvbnRyb2wgLSBUaGUgY29udHJvbCB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKiBAcmV0dXJucyBBIG1hcCBvZiB2YWxpZGF0aW9uIGVycm9ycyBpZiB2YWxpZGF0aW9uIGZhaWxzLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8TnVsbGFibGVEYXRlcmFuZ2UsIGFueT4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9hY3RpdmUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gd2l0aCBgbnVsbGAgdmFsdWUgaXMgZG9uZSB3aXRoIHRoZSByZWd1bGFyIHJlcXVpcmVkIHZhbGlkYXRvci5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGZyb20sIHRvIH0gPSBjb250cm9sLnZhbHVlO1xuXG4gICAgLy8gVmFsaWRhdGlvbiB3aXRoIGBudWxsYCB2YWx1ZXMgZnJvbSAnZnJvbScgJiAndG8nIGlzIGRvbmUgd2l0aCB0aGUgQ2xyRGF0ZXJhbmdlUmVxdWlyZWRWYWxpZGF0b3IuXG4gICAgaWYgKGZyb20gPT0gbnVsbCB8fCB0byA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZnJvbS5pc0FmdGVyKHRvKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW0NsckRhdGVyYW5nZU9yZGVyVmFsaWRhdG9yLnZhbGlkYXRpb25FcnJvck5hbWVdOiBjb250cm9sLnZhbHVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Validator for daterangepicker to validate that 'from' *AND* 'to' date are not `null`.
|
|
6
|
+
* Will throw `required` validation error.
|
|
7
|
+
*
|
|
8
|
+
* Validator is applied to the ClrDaterangepickerDirective with `required` attribute.
|
|
9
|
+
* Or when set manually with `clrDaterangeRequired` attribute.
|
|
10
|
+
*
|
|
11
|
+
* Validator is active by default when applied. It can be disabled with: `[clrDaterangeRequired]="false"`
|
|
12
|
+
*/
|
|
13
|
+
export class ClrDaterangeRequiredValidator {
|
|
14
|
+
constructor() {
|
|
15
|
+
this._active = true;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Disable validator by setting value to `false`.
|
|
19
|
+
*/
|
|
20
|
+
set active(active) {
|
|
21
|
+
this._active = active == null || (active !== false && `${active}` !== 'false');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validator method. Method that performs synchronous validation against the provided control.
|
|
25
|
+
* @param control - The control to validate against.
|
|
26
|
+
* @returns A map of validation errors if validation fails, otherwise null.
|
|
27
|
+
*/
|
|
28
|
+
validate(control) {
|
|
29
|
+
if (!this._active) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
// Validation with `null` value is done with the regular required validator.
|
|
33
|
+
if (control.value == null) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const { from, to } = control.value;
|
|
37
|
+
if (from == null || to == null) {
|
|
38
|
+
return {
|
|
39
|
+
[ClrDaterangeRequiredValidator.validationErrorName]: control.value,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Validation error name. */
|
|
46
|
+
ClrDaterangeRequiredValidator.validationErrorName = 'required';
|
|
47
|
+
ClrDaterangeRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeRequiredValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
ClrDaterangeRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrDaterangeRequiredValidator, selector: "[clrDaterangepicker][required], [clrDaterangeRequired]", inputs: { active: ["clrDaterangeRequired", "active"] }, providers: [
|
|
49
|
+
{
|
|
50
|
+
provide: NG_VALIDATORS,
|
|
51
|
+
useExisting: forwardRef(() => ClrDaterangeRequiredValidator),
|
|
52
|
+
multi: true,
|
|
53
|
+
},
|
|
54
|
+
], ngImport: i0 });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDaterangeRequiredValidator, decorators: [{
|
|
56
|
+
type: Directive,
|
|
57
|
+
args: [{
|
|
58
|
+
selector: '[clrDaterangepicker][required], [clrDaterangeRequired]',
|
|
59
|
+
providers: [
|
|
60
|
+
{
|
|
61
|
+
provide: NG_VALIDATORS,
|
|
62
|
+
useExisting: forwardRef(() => ClrDaterangeRequiredValidator),
|
|
63
|
+
multi: true,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
}]
|
|
67
|
+
}], propDecorators: { active: [{
|
|
68
|
+
type: Input,
|
|
69
|
+
args: ['clrDaterangeRequired']
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLXJlcXVpcmVkLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGVyYW5nZXBpY2tlci92YWxpZGF0b3JzL2RhdGVyYW5nZS1yZXF1aXJlZC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDOztBQUk3Rjs7Ozs7Ozs7R0FRRztBQVdILE1BQU0sT0FBTyw2QkFBNkI7SUFWMUM7UUFjVSxZQUFPLEdBQUcsSUFBSSxDQUFDO0tBa0N4QjtJQWhDQzs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLE1BQTJDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFnRDtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNEVBQTRFO1FBQzVFLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUM5QixPQUFPO2dCQUNMLENBQUMsNkJBQTZCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSzthQUNuRSxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBcENELDZCQUE2QjtBQUNOLGlEQUFtQixHQUFHLFVBQVUsQ0FBQzswSEFGN0MsNkJBQTZCOzhHQUE3Qiw2QkFBNkIseUlBUjdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQzVELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSw2QkFBNkI7a0JBVnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBV1ksTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTnVsbGFibGVEYXRlcmFuZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGVyYW5nZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHZhbGlkYXRlIHRoYXQgJ2Zyb20nICpBTkQqICd0bycgZGF0ZSBhcmUgbm90IGBudWxsYC5cbiAqIFdpbGwgdGhyb3cgYHJlcXVpcmVkYCB2YWxpZGF0aW9uIGVycm9yLlxuICpcbiAqIFZhbGlkYXRvciBpcyBhcHBsaWVkIHRvIHRoZSBDbHJEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUgd2l0aCBgcmVxdWlyZWRgIGF0dHJpYnV0ZS5cbiAqIE9yIHdoZW4gc2V0IG1hbnVhbGx5IHdpdGggYGNsckRhdGVyYW5nZVJlcXVpcmVkYCBhdHRyaWJ1dGUuXG4gKlxuICogVmFsaWRhdG9yIGlzIGFjdGl2ZSBieSBkZWZhdWx0IHdoZW4gYXBwbGllZC4gSXQgY2FuIGJlIGRpc2FibGVkIHdpdGg6IGBbY2xyRGF0ZXJhbmdlUmVxdWlyZWRdPVwiZmFsc2VcImBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRhdGVyYW5nZXBpY2tlcl1bcmVxdWlyZWRdLCBbY2xyRGF0ZXJhbmdlUmVxdWlyZWRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsckRhdGVyYW5nZVJlcXVpcmVkVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVyYW5nZVJlcXVpcmVkVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgLyoqIFZhbGlkYXRpb24gZXJyb3IgbmFtZS4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB2YWxpZGF0aW9uRXJyb3JOYW1lID0gJ3JlcXVpcmVkJztcblxuICBwcml2YXRlIF9hY3RpdmUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHZhbGlkYXRvciBieSBzZXR0aW5nIHZhbHVlIHRvIGBmYWxzZWAuXG4gICAqL1xuICBASW5wdXQoJ2NsckRhdGVyYW5nZVJlcXVpcmVkJylcbiAgcHVibGljIHNldCBhY3RpdmUoYWN0aXZlOiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZSA9PSBudWxsIHx8IChhY3RpdmUgIT09IGZhbHNlICYmIGAke2FjdGl2ZX1gICE9PSAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0b3IgbWV0aG9kLiBNZXRob2QgdGhhdCBwZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIHByb3ZpZGVkIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBjb250cm9sIC0gVGhlIGNvbnRyb2wgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAgICogQHJldHVybnMgQSBtYXAgb2YgdmFsaWRhdGlvbiBlcnJvcnMgaWYgdmFsaWRhdGlvbiBmYWlscywgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPE51bGxhYmxlRGF0ZXJhbmdlLCBhbnk+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uIHdpdGggYG51bGxgIHZhbHVlIGlzIGRvbmUgd2l0aCB0aGUgcmVndWxhciByZXF1aXJlZCB2YWxpZGF0b3IuXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmcm9tLCB0byB9ID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoZnJvbSA9PSBudWxsIHx8IHRvID09IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtDbHJEYXRlcmFuZ2VSZXF1aXJlZFZhbGlkYXRvci52YWxpZGF0aW9uRXJyb3JOYW1lXTogY29udHJvbC52YWx1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
|
|
3
3
|
* This software is released under MIT license.
|
|
4
4
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
5
|
*/
|
|
@@ -34,4 +34,5 @@ export * from './autocomplete-off/index';
|
|
|
34
34
|
export * from './abstract-form-component/index';
|
|
35
35
|
export * from './dropdown/index';
|
|
36
36
|
export * from './datagrid/index';
|
|
37
|
-
|
|
37
|
+
export * from './daterangepicker/index';
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jbHItYWRkb25zLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdmlldy1lZGl0LXNlY3Rpb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RvdC1wYWdlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxhcHNlLWV4cGFuZC1zZWN0aW9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1uYXYtZ3JvdXAvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50LXBhbmVsL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2Zsb3ctYmFyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYmFjay1idXR0b24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1zcGlubmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtZXJpY2ZpZWxkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoZmllbGQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVldGFibGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXRpbWUtY29udGFpbmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcXVpY2stbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpbGluZ3VhbC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLXF1aWNrLWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9sZXR0ZXItYXZhdGFyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LXZhbGlkYXRvci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb25zL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaGlzdG9yeS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2JyYW5kLWF2YXRhci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9uLWJhci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS1vZmYvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWdyaWQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcmFuZ2VwaWNrZXIvaW5kZXgnO1xuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.
|
|
3
3
|
* This software is released under MIT license.
|
|
4
4
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
5
|
*/
|
|
6
|
-
import { Directive, ElementRef, Renderer2 } from '@angular/core';
|
|
6
|
+
import { Directive, ElementRef, Optional, Renderer2 } from '@angular/core';
|
|
7
7
|
import { NgControl } from '@angular/forms';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -88,7 +88,7 @@ export class ClrSearchField {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
ClrSearchField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrSearchField, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
+
ClrSearchField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrSearchField, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
92
92
|
ClrSearchField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClrSearchField, selector: "[clrSearch]", host: { properties: { "class.search-input": "true" } }, ngImport: i0 });
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrSearchField, decorators: [{
|
|
94
94
|
type: Directive,
|
|
@@ -96,5 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
96
96
|
selector: '[clrSearch]',
|
|
97
97
|
host: { '[class.search-input]': 'true' },
|
|
98
98
|
}]
|
|
99
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.NgControl
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvc2VhcmNoZmllbGQvc2VhcmNoLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUFvQixRQUFtQixFQUFVLE9BQW1CLEVBQVUsU0FBb0I7UUFBOUUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRmxHLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXFFLENBQUM7SUFFdEcsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUQsK0VBQStFO1FBQy9FLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoSDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUM1QyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3RDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzVFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLG1EQUFtRDtRQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFFM0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFM0QsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFlBQWlCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7MkdBN0ZVLGNBQWM7K0ZBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUU7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJTZWFyY2hdJyxcbiAgaG9zdDogeyAnW2NsYXNzLnNlYXJjaC1pbnB1dF0nOiAndHJ1ZScgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyU2VhcmNoRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUga2V5dXBMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIGRlbGV0ZVN5bWJvbDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgZGVsZXRlQnV0dG9uOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBzZWFyY2hTeW1ib2w6IEhUTUxFbGVtZW50O1xuXG4gIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGlucHV0RWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIYXNWYWx1ZUNsYXNzKCEhdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuXG4gICAgLy8gdXNlIGFuZ3VsYXIgZm9ybSBjb250cm9sIGZvciBjaGFuZ2UgZGV0ZWN0aW9uIGFuZCBpbnB1dCBsaXN0ZW5lciBhcyBmYWxsYmFja1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuc2V0SGFzVmFsdWVDbGFzcyghIXZhbHVlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMua2V5dXBMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LCAnaW5wdXQnLCBldmVudCA9PlxuICAgICAgICB0aGlzLnNldEhhc1ZhbHVlQ2xhc3MoISFldmVudC50YXJnZXQudmFsdWUpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZENsYXNzVG9XcmFwcGVyKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUpO1xuICAgIHRoaXMuaW5qZWN0U2VhcmNoSWNvbigpO1xuICAgIHRoaXMuaW5qZWN0RGVsZXRlSWNvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2hMaXN0ZW5lcigpO1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgY2xlYXJTZWFyY2hJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCAnJyk7XG4gICAgdGhpcy5zZXRIYXNWYWx1ZUNsYXNzKGZhbHNlKTtcbiAgICBjb25zdCBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgIGV2ZW50LmluaXRFdmVudCgnaW5wdXQnLCBmYWxzZSwgZmFsc2UpO1xuICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRIYXNWYWx1ZUNsYXNzKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZSwgJ2hhcy12YWx1ZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUsICdoYXMtdmFsdWUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluamVjdERlbGV0ZUljb24oKTogdm9pZCB7XG4gICAgLy8gR2V0IHRoZSBpbnB1dCB3cmFwcGVyIGFuZCBhcHBseSBuZWNlc3Nhcnkgc3R5bGVzXG4gICAgY29uc3QgaW5wdXRXcmFwcGVyID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcblxuICAgIGlmICghdGhpcy5kZWxldGVTeW1ib2wpIHtcbiAgICAgIHRoaXMuZGVsZXRlQnV0dG9uID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZGVsZXRlQnV0dG9uLCAndHlwZScsICdidXR0b24nKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kZWxldGVCdXR0b24sICdidG4nKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kZWxldGVCdXR0b24sICdidG4tbGluaycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRlbGV0ZUJ1dHRvbiwgJ2J0bi1pY29uJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZGVsZXRlQnV0dG9uLCAnZGVsZXRlLWJ1dHRvbicpO1xuICAgICAgdGhpcy5kZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmNsZWFyU2VhcmNoSW5wdXQoKSk7XG5cbiAgICAgIHRoaXMuZGVsZXRlU3ltYm9sID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdjbHItaWNvbicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5kZWxldGVTeW1ib2wsICdzaGFwZScsICd0aW1lcycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5kZWxldGVTeW1ib2wpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChpbnB1dFdyYXBwZXIsIHRoaXMuZGVsZXRlQnV0dG9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluamVjdFNlYXJjaEljb24oKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRXcmFwcGVyID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcblxuICAgIC8vIENyZWF0ZSB0aGUgaWNvbiBhbmQgYXBwbHkgbmVjZXNzYXJ5IHN0eWxlc1xuICAgIGlmICghdGhpcy5zZWFyY2hTeW1ib2wpIHtcbiAgICAgIHRoaXMuc2VhcmNoU3ltYm9sID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdjbHItaWNvbicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnNlYXJjaFN5bWJvbCwgJ3NlYXJjaC1zeW1ib2wnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuc2VhcmNoU3ltYm9sLCAnc2hhcGUnLCAnc2VhcmNoJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShpbnB1dFdyYXBwZXIsIHRoaXMuc2VhcmNoU3ltYm9sLCB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRDbGFzc1RvV3JhcHBlcihpbnB1dFdyYXBwZXI6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaW5wdXRXcmFwcGVyLCAnc2VhcmNoLWlucHV0LXdyYXBwZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0YWNoTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMua2V5dXBMaXN0ZW5lcikge1xuICAgICAgdGhpcy5rZXl1cExpc3RlbmVyKCk7XG4gICAgICBkZWxldGUgdGhpcy5rZXl1cExpc3RlbmVyO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
99
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
|
|
100
|
+
type: Optional
|
|
101
|
+
}] }]; } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvc2VhcmNoZmllbGQvc2VhcmNoLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFTekIsWUFBb0IsUUFBbUIsRUFBVSxPQUFtQixFQUFzQixTQUFvQjtRQUExRixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFzQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRjlHLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRWlGLENBQUM7SUFFbEgsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUQsK0VBQStFO1FBQy9FLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoSDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUM1QyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3RDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzVFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLG1EQUFtRDtRQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFFM0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFM0QsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFlBQWlCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7MkdBN0ZVLGNBQWM7K0ZBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUU7aUJBQ3pDOzswQkFVd0UsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclNlYXJjaF0nLFxuICBob3N0OiB7ICdbY2xhc3Muc2VhcmNoLWlucHV0XSc6ICd0cnVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJTZWFyY2hGaWVsZCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSBrZXl1cExpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgZGVsZXRlU3ltYm9sOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBkZWxldGVCdXR0b246IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNlYXJjaFN5bWJvbDogSFRNTEVsZW1lbnQ7XG5cbiAgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgaW5wdXRFbDogRWxlbWVudFJlZiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEhhc1ZhbHVlQ2xhc3MoISF0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSk7XG5cbiAgICAvLyB1c2UgYW5ndWxhciBmb3JtIGNvbnRyb2wgZm9yIGNoYW5nZSBkZXRlY3Rpb24gYW5kIGlucHV0IGxpc3RlbmVyIGFzIGZhbGxiYWNrXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5zZXRIYXNWYWx1ZUNsYXNzKCEhdmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXl1cExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcsIGV2ZW50ID0+XG4gICAgICAgIHRoaXMuc2V0SGFzVmFsdWVDbGFzcyghIWV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkQ2xhc3NUb1dyYXBwZXIodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZSk7XG4gICAgdGhpcy5pbmplY3RTZWFyY2hJY29uKCk7XG4gICAgdGhpcy5pbmplY3REZWxldGVJY29uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFjaExpc3RlbmVyKCk7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBjbGVhclNlYXJjaElucHV0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsICcnKTtcbiAgICB0aGlzLnNldEhhc1ZhbHVlQ2xhc3MoZmFsc2UpO1xuICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7XG4gICAgZXZlbnQuaW5pdEV2ZW50KCdpbnB1dCcsIGZhbHNlLCBmYWxzZSk7XG4gICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIHNldEhhc1ZhbHVlQ2xhc3MoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLCAnaGFzLXZhbHVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZSwgJ2hhcy12YWx1ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0RGVsZXRlSWNvbigpOiB2b2lkIHtcbiAgICAvLyBHZXQgdGhlIGlucHV0IHdyYXBwZXIgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICBjb25zdCBpbnB1dFdyYXBwZXIgPSB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xuXG4gICAgaWYgKCF0aGlzLmRlbGV0ZVN5bWJvbCkge1xuICAgICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5kZWxldGVCdXR0b24sICd0eXBlJywgJ2J1dHRvbicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRlbGV0ZUJ1dHRvbiwgJ2J0bicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRlbGV0ZUJ1dHRvbiwgJ2J0bi1saW5rJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZGVsZXRlQnV0dG9uLCAnYnRuLWljb24nKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kZWxldGVCdXR0b24sICdkZWxldGUtYnV0dG9uJyk7XG4gICAgICB0aGlzLmRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuY2xlYXJTZWFyY2hJbnB1dCgpKTtcblxuICAgICAgdGhpcy5kZWxldGVTeW1ib2wgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2Nsci1pY29uJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmRlbGV0ZVN5bWJvbCwgJ3NoYXBlJywgJ3RpbWVzJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZGVsZXRlQnV0dG9uLCB0aGlzLmRlbGV0ZVN5bWJvbCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGlucHV0V3JhcHBlciwgdGhpcy5kZWxldGVCdXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0U2VhcmNoSWNvbigpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dFdyYXBwZXIgPSB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBpY29uIGFuZCBhcHBseSBuZWNlc3Nhcnkgc3R5bGVzXG4gICAgaWYgKCF0aGlzLnNlYXJjaFN5bWJvbCkge1xuICAgICAgdGhpcy5zZWFyY2hTeW1ib2wgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2Nsci1pY29uJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuc2VhcmNoU3ltYm9sLCAnc2VhcmNoLXN5bWJvbCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5zZWFyY2hTeW1ib2wsICdzaGFwZScsICdzZWFyY2gnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKGlucHV0V3JhcHBlciwgdGhpcy5zZWFyY2hTeW1ib2wsIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZENsYXNzVG9XcmFwcGVyKGlucHV0V3JhcHBlcjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhpbnB1dFdyYXBwZXIsICdzZWFyY2gtaW5wdXQtd3JhcHBlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRhY2hMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5rZXl1cExpc3RlbmVyKSB7XG4gICAgICB0aGlzLmtleXVwTGlzdGVuZXIoKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmtleXVwTGlzdGVuZXI7XG4gICAgfVxuICB9XG59XG4iXX0=
|