@porscheinformatik/clr-addons 18.2.5 → 19.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/abstract-form-component/abstract-form-component.d.ts +1 -1
- package/daterangepicker/directives/abstract-container.component.d.ts +1 -1
- package/fesm2022/clr-addons.mjs +518 -468
- package/fesm2022/clr-addons.mjs.map +1 -1
- package/multilingual/abstract-multilingual.d.ts +1 -1
- package/package.json +6 -8
- package/esm2022/abstract-form-component/abstract-form-component.mjs +0 -100
- package/esm2022/abstract-form-component/control-id.service.mjs +0 -31
- package/esm2022/abstract-form-component/form.module.mjs +0 -21
- package/esm2022/abstract-form-component/index.mjs +0 -3
- package/esm2022/abstract-form-component/label.mjs +0 -37
- package/esm2022/action-panel/action-panel-container-content.mjs +0 -22
- package/esm2022/action-panel/action-panel-container-footer.mjs +0 -22
- package/esm2022/action-panel/action-panel-container.mjs +0 -35
- package/esm2022/action-panel/action-panel.mjs +0 -80
- package/esm2022/action-panel/action-panel.module.mjs +0 -36
- package/esm2022/action-panel/index.mjs +0 -6
- package/esm2022/autocomplete-off/autocomplete-off.directive.mjs +0 -21
- package/esm2022/autocomplete-off/autocomplete-off.module.mjs +0 -21
- package/esm2022/autocomplete-off/index.mjs +0 -3
- package/esm2022/back-button/back-button.mjs +0 -27
- package/esm2022/back-button/back-button.module.mjs +0 -25
- package/esm2022/back-button/index.mjs +0 -8
- package/esm2022/brand-avatar/brand-avatar.mjs +0 -77
- package/esm2022/brand-avatar/brand-avatar.module.mjs +0 -24
- package/esm2022/brand-avatar/index.mjs +0 -8
- package/esm2022/breadcrumb/breadcrumb-model.interface.mjs +0 -7
- package/esm2022/breadcrumb/breadcrumb.mjs +0 -37
- package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -27
- package/esm2022/breadcrumb/breadcrumb.service.mjs +0 -25
- package/esm2022/breadcrumb/index.mjs +0 -10
- package/esm2022/clr-addons.mjs +0 -5
- package/esm2022/clr-addons.module.mjs +0 -152
- package/esm2022/clr-control-warning/if-warning.directive.mjs +0 -73
- package/esm2022/clr-control-warning/if-warning.module.mjs +0 -20
- package/esm2022/clr-control-warning/index.mjs +0 -3
- package/esm2022/collapse-expand-section/collapse-expand-section.mjs +0 -88
- package/esm2022/collapse-expand-section/collapse-expand-section.module.mjs +0 -25
- package/esm2022/collapse-expand-section/index.mjs +0 -8
- package/esm2022/content-panel/content-panel-container-content.mjs +0 -22
- package/esm2022/content-panel/content-panel-container-footer.mjs +0 -22
- package/esm2022/content-panel/content-panel-container.mjs +0 -35
- package/esm2022/content-panel/content-panel.mjs +0 -81
- package/esm2022/content-panel/content-panel.module.mjs +0 -36
- package/esm2022/content-panel/index.mjs +0 -11
- package/esm2022/data-list-validator/data-list-predefined-validator.directive.mjs +0 -33
- package/esm2022/data-list-validator/data-list-validator.module.mjs +0 -21
- package/esm2022/data-list-validator/data-list.validator.mjs +0 -35
- package/esm2022/data-list-validator/index.mjs +0 -9
- package/esm2022/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +0 -80
- package/esm2022/datagrid/datagrid-state-persistence/datagrid-field.directive.mjs +0 -20
- package/esm2022/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +0 -2
- package/esm2022/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.mjs +0 -18
- package/esm2022/datagrid/datagrid-state-persistence/index.mjs +0 -7
- package/esm2022/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +0 -308
- package/esm2022/datagrid/datagrid-state-persistence/state-persistence-options.interface.mjs +0 -2
- package/esm2022/datagrid/date-filter/date-filter.component.mjs +0 -210
- package/esm2022/datagrid/date-filter/date-filter.module.mjs +0 -22
- package/esm2022/datagrid/date-filter/index.mjs +0 -3
- package/esm2022/datagrid/date-filter/nested-property.mjs +0 -37
- package/esm2022/datagrid/enum-filter/enum-filter.component.mjs +0 -148
- package/esm2022/datagrid/enum-filter/enum-filter.module.mjs +0 -20
- package/esm2022/datagrid/enum-filter/index.mjs +0 -3
- package/esm2022/datagrid/index.mjs +0 -4
- package/esm2022/date-time-container/date-time-container.mjs +0 -53
- package/esm2022/date-time-container/date-time-module.mjs +0 -26
- package/esm2022/date-time-container/index.mjs +0 -9
- package/esm2022/date-time-container/time-input.mjs +0 -21
- package/esm2022/daterangepicker/daterange.constants.mjs +0 -27
- package/esm2022/daterangepicker/daterangepicker.module.mjs +0 -60
- package/esm2022/daterangepicker/directives/abstract-container.component.mjs +0 -104
- package/esm2022/daterangepicker/directives/datepicker/datepicker.component.mjs +0 -100
- package/esm2022/daterangepicker/directives/daterangepicker/daterangepicker.directive.mjs +0 -329
- package/esm2022/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.mjs +0 -321
- package/esm2022/daterangepicker/directives/if-daterange-error.directive.mjs +0 -94
- package/esm2022/daterangepicker/directives/timepicker/timepicker.component.mjs +0 -54
- package/esm2022/daterangepicker/index.mjs +0 -17
- package/esm2022/daterangepicker/interfaces/daterange-preset.interface.mjs +0 -2
- package/esm2022/daterangepicker/interfaces/daterange.interface.mjs +0 -2
- package/esm2022/daterangepicker/interfaces/timerange-preset.interface.mjs +0 -2
- package/esm2022/daterangepicker/interfaces/timerange.interface.mjs +0 -2
- package/esm2022/daterangepicker/models/day.model.mjs +0 -99
- package/esm2022/daterangepicker/models/popover-positions.model.mjs +0 -66
- package/esm2022/daterangepicker/models/time.model.mjs +0 -82
- package/esm2022/daterangepicker/providers/daterange-control-state.service.mjs +0 -62
- package/esm2022/daterangepicker/providers/daterange-parsing.service.mjs +0 -226
- package/esm2022/daterangepicker/providers/daterange.service.mjs +0 -66
- package/esm2022/daterangepicker/providers/opened-datepickers-tracker.service.mjs +0 -36
- package/esm2022/daterangepicker/validators/daterange-max.validator.mjs +0 -85
- package/esm2022/daterangepicker/validators/daterange-min.validator.mjs +0 -85
- package/esm2022/daterangepicker/validators/daterange-order.validator.mjs +0 -82
- package/esm2022/daterangepicker/validators/daterange-required.validator.mjs +0 -71
- package/esm2022/dot-pager/dot-pager.mjs +0 -58
- package/esm2022/dot-pager/dot-pager.module.mjs +0 -25
- package/esm2022/dot-pager/index.mjs +0 -8
- package/esm2022/dropdown/clr-dropdown-overflow.directive.mjs +0 -117
- package/esm2022/dropdown/clr-dropdown-overflow.module.mjs +0 -21
- package/esm2022/dropdown/index.mjs +0 -8
- package/esm2022/flow-bar/flow-bar.mjs +0 -163
- package/esm2022/flow-bar/flow-bar.module.mjs +0 -26
- package/esm2022/flow-bar/index.mjs +0 -8
- package/esm2022/generic-quick-list/generic-quick-list.mjs +0 -98
- package/esm2022/generic-quick-list/generic-quick-list.module.mjs +0 -24
- package/esm2022/generic-quick-list/index.mjs +0 -8
- package/esm2022/history/history-model.interface.mjs +0 -8
- package/esm2022/history/history-pinned.mjs +0 -60
- package/esm2022/history/history.mjs +0 -91
- package/esm2022/history/history.module.mjs +0 -27
- package/esm2022/history/history.provider.mjs +0 -8
- package/esm2022/history/history.service.mjs +0 -236
- package/esm2022/history/index.mjs +0 -12
- package/esm2022/icons/index.mjs +0 -8
- package/esm2022/icons/shapes.mjs +0 -5453
- package/esm2022/icons/svg-tag-generator.mjs +0 -39
- package/esm2022/index.mjs +0 -41
- package/esm2022/letter-avatar/index.mjs +0 -8
- package/esm2022/letter-avatar/letter-avatar.mjs +0 -52
- package/esm2022/letter-avatar/letter-avatar.module.mjs +0 -24
- package/esm2022/location-bar/index.mjs +0 -6
- package/esm2022/location-bar/location-bar-node/location-bar-node.component.mjs +0 -150
- package/esm2022/location-bar/location-bar-search/location-bar-search.component.mjs +0 -74
- package/esm2022/location-bar/location-bar.component.mjs +0 -64
- package/esm2022/location-bar/location-bar.model.mjs +0 -63
- package/esm2022/location-bar/location-bar.module.mjs +0 -55
- package/esm2022/location-bar/location-bar.provider.mjs +0 -18
- package/esm2022/location-bar/location-bar.search.model.mjs +0 -2
- package/esm2022/main-nav-group/index.mjs +0 -9
- package/esm2022/main-nav-group/main-nav-group-item.mjs +0 -27
- package/esm2022/main-nav-group/main-nav-group.mjs +0 -154
- package/esm2022/main-nav-group/main-nav-group.module.mjs +0 -26
- package/esm2022/multilingual/abstract-multilingual.mjs +0 -133
- package/esm2022/multilingual/index.mjs +0 -11
- package/esm2022/multilingual/multilingual-input/multilingual-input.mjs +0 -42
- package/esm2022/multilingual/multilingual-selector.mjs +0 -84
- package/esm2022/multilingual/multilingual-textarea/multilingual-textarea.mjs +0 -44
- package/esm2022/multilingual/multilingual-validators.mjs +0 -104
- package/esm2022/multilingual/multilingual.module.mjs +0 -49
- package/esm2022/notification/index.mjs +0 -10
- package/esm2022/notification/notification-ref.mjs +0 -61
- package/esm2022/notification/notification.mjs +0 -134
- package/esm2022/notification/notification.module.mjs +0 -24
- package/esm2022/notification/notification.service.mjs +0 -92
- package/esm2022/notification/scheduler-utils.mjs +0 -52
- package/esm2022/numericfield/index.mjs +0 -9
- package/esm2022/numericfield/numeric-field-validators.mjs +0 -140
- package/esm2022/numericfield/numeric-field.mjs +0 -280
- package/esm2022/numericfield/numeric-field.module.mjs +0 -26
- package/esm2022/paged-search-result-list/index.mjs +0 -8
- package/esm2022/paged-search-result-list/paged-search-result-list.mjs +0 -67
- package/esm2022/paged-search-result-list/paged-search-result-list.module.mjs +0 -26
- package/esm2022/pager/index.mjs +0 -8
- package/esm2022/pager/pager.mjs +0 -137
- package/esm2022/pager/pager.module.mjs +0 -25
- package/esm2022/progress-spinner/index.mjs +0 -8
- package/esm2022/progress-spinner/progress-spinner.mjs +0 -78
- package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -23
- package/esm2022/quick-list/add-option.mjs +0 -78
- package/esm2022/quick-list/add-option.service.mjs +0 -7
- package/esm2022/quick-list/index.mjs +0 -9
- package/esm2022/quick-list/quick-list.mjs +0 -128
- package/esm2022/quick-list/quick-list.module.mjs +0 -26
- package/esm2022/readonly/index.mjs +0 -8
- package/esm2022/readonly/readonly.directive.mjs +0 -149
- package/esm2022/readonly/readonly.module.mjs +0 -16
- package/esm2022/searchfield/index.mjs +0 -8
- package/esm2022/searchfield/search-field.mjs +0 -104
- package/esm2022/searchfield/search-field.module.mjs +0 -25
- package/esm2022/treetable/index.mjs +0 -14
- package/esm2022/treetable/renderer/cell-renderer.mjs +0 -28
- package/esm2022/treetable/renderer/header-renderer.mjs +0 -41
- package/esm2022/treetable/renderer/index.mjs +0 -5
- package/esm2022/treetable/renderer/main-renderer.mjs +0 -103
- package/esm2022/treetable/renderer/row-renderer.mjs +0 -20
- package/esm2022/treetable/treetable-action-overflow.mjs +0 -94
- package/esm2022/treetable/treetable-cell.mjs +0 -23
- package/esm2022/treetable/treetable-column.mjs +0 -23
- package/esm2022/treetable/treetable-placeholder.mjs +0 -30
- package/esm2022/treetable/treetable-row.mjs +0 -100
- package/esm2022/treetable/treetable.mjs +0 -79
- package/esm2022/treetable/treetable.module.mjs +0 -63
- package/esm2022/util/escape.util.mjs +0 -20
- package/esm2022/util/index.mjs +0 -8
- package/esm2022/util/numeric.format.util.mjs +0 -99
- package/esm2022/view-edit-section/index.mjs +0 -8
- package/esm2022/view-edit-section/view-edit-section.mjs +0 -154
- package/esm2022/view-edit-section/view-edit-section.module.mjs +0 -25
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { Component, EventEmitter, Input, NgZone, Output, ElementRef, ViewChild } from '@angular/core';
|
|
7
|
-
import { animate, style, transition, trigger, state } from '@angular/animations';
|
|
8
|
-
import { ClrAlert } from '@clr/angular';
|
|
9
|
-
import { zonedInterval, zonedTimer } from './scheduler-utils';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "@clr/angular";
|
|
13
|
-
export class ClrNotification {
|
|
14
|
-
get translate() {
|
|
15
|
-
return this._translate;
|
|
16
|
-
}
|
|
17
|
-
get height() {
|
|
18
|
-
return this._height + 10;
|
|
19
|
-
}
|
|
20
|
-
constructor(elementRef, ngZone) {
|
|
21
|
-
this.elementRef = elementRef;
|
|
22
|
-
this.ngZone = ngZone;
|
|
23
|
-
this.progressStatus = 0;
|
|
24
|
-
this.step = 100;
|
|
25
|
-
this._translate = 0;
|
|
26
|
-
this._height = 0;
|
|
27
|
-
this.heightInitalized = new Promise(resolve => {
|
|
28
|
-
this._heightInitalized = resolve;
|
|
29
|
-
});
|
|
30
|
-
this.timeout = 2000;
|
|
31
|
-
this.notificationType = 'info'; // "info", "warning", "success" and "danger"
|
|
32
|
-
this.dismissable = false;
|
|
33
|
-
this.progressbar = false;
|
|
34
|
-
this.closed = new EventEmitter();
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
zonedTimer(0, this.ngZone).subscribe(() => {
|
|
38
|
-
this._height = this.elementRef.nativeElement.children[0].offsetHeight;
|
|
39
|
-
this._heightInitalized();
|
|
40
|
-
});
|
|
41
|
-
if (this.timeout > 0) {
|
|
42
|
-
if (this.progressbar) {
|
|
43
|
-
this.startTime = new Date().getTime();
|
|
44
|
-
this.interval = zonedInterval(this.timeout / (this.timeout / this.step), this.ngZone).subscribe(() => this.updateProgressStatus());
|
|
45
|
-
}
|
|
46
|
-
this.timer = zonedTimer(this.timeout, this.ngZone).subscribe(() => this.close());
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
updateProgressStatus() {
|
|
50
|
-
this.progressStatus = new Date().getTime() - this.startTime;
|
|
51
|
-
}
|
|
52
|
-
close() {
|
|
53
|
-
if (this.interval) {
|
|
54
|
-
this.interval.unsubscribe();
|
|
55
|
-
}
|
|
56
|
-
if (this.timer) {
|
|
57
|
-
this.timer.unsubscribe();
|
|
58
|
-
}
|
|
59
|
-
this.clrAlert._closed = false;
|
|
60
|
-
this.state = { value: 'fadeOut', params: { absolute: this._translate } };
|
|
61
|
-
zonedTimer(300, this.ngZone).subscribe(() => this.closed.emit());
|
|
62
|
-
}
|
|
63
|
-
moveDown(translateValue) {
|
|
64
|
-
this._translate += translateValue;
|
|
65
|
-
this.state = { value: 'moveDown', params: { absolute: this._translate } };
|
|
66
|
-
this.setCurrentPosition();
|
|
67
|
-
}
|
|
68
|
-
moveUp(translateValue) {
|
|
69
|
-
this._translate -= translateValue;
|
|
70
|
-
this.state = { value: 'moveUp', params: { absolute: this._translate } };
|
|
71
|
-
this.setCurrentPosition();
|
|
72
|
-
}
|
|
73
|
-
setCurrentPosition() {
|
|
74
|
-
zonedTimer(300, this.ngZone).subscribe(() => (this.state = { value: 'currentPosition', params: { absolute: this._translate } }));
|
|
75
|
-
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotification, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ClrNotification, selector: "clr-notification", inputs: { timeout: "timeout", notificationType: "notificationType", dismissable: "dismissable", progressbar: "progressbar" }, outputs: { closed: "closed" }, host: { properties: { "class.notification": "true" } }, viewQueries: [{ propertyName: "clrAlert", first: true, predicate: ClrAlert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertLightweight", "clrAlertType", "clrAlertIcon", "clrAlertClosed"], outputs: ["clrAlertClosedChange"] }, { kind: "directive", type: i2.ClrAlertText, selector: ".alert-text" }], animations: [
|
|
78
|
-
trigger('slideDown', [
|
|
79
|
-
transition(':enter', [
|
|
80
|
-
style({ transform: 'translateY(-200%)' }),
|
|
81
|
-
animate('0.5s', style({ transform: 'translateY(0%)' })),
|
|
82
|
-
]),
|
|
83
|
-
]),
|
|
84
|
-
trigger('move', [
|
|
85
|
-
state('currentPosition', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
|
|
86
|
-
state('moveUp', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
|
|
87
|
-
state('moveDown', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
|
|
88
|
-
transition('* => moveDown', animate('0.3s')),
|
|
89
|
-
transition('* => moveUp', animate('0.3s')),
|
|
90
|
-
]),
|
|
91
|
-
trigger('fade', [
|
|
92
|
-
state('fadeOut', style({ transform: 'translateY({{absolute}}px)', opacity: 0 }), { params: { absolute: '0' } }),
|
|
93
|
-
transition('* => fadeOut', animate('0.3s')),
|
|
94
|
-
]),
|
|
95
|
-
] }); }
|
|
96
|
-
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotification, decorators: [{
|
|
98
|
-
type: Component,
|
|
99
|
-
args: [{ selector: 'clr-notification', animations: [
|
|
100
|
-
trigger('slideDown', [
|
|
101
|
-
transition(':enter', [
|
|
102
|
-
style({ transform: 'translateY(-200%)' }),
|
|
103
|
-
animate('0.5s', style({ transform: 'translateY(0%)' })),
|
|
104
|
-
]),
|
|
105
|
-
]),
|
|
106
|
-
trigger('move', [
|
|
107
|
-
state('currentPosition', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
|
|
108
|
-
state('moveUp', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
|
|
109
|
-
state('moveDown', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),
|
|
110
|
-
transition('* => moveDown', animate('0.3s')),
|
|
111
|
-
transition('* => moveUp', animate('0.3s')),
|
|
112
|
-
]),
|
|
113
|
-
trigger('fade', [
|
|
114
|
-
state('fadeOut', style({ transform: 'translateY({{absolute}}px)', opacity: 0 }), { params: { absolute: '0' } }),
|
|
115
|
-
transition('* => fadeOut', animate('0.3s')),
|
|
116
|
-
]),
|
|
117
|
-
], host: {
|
|
118
|
-
'[class.notification]': 'true',
|
|
119
|
-
}, template: "<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n" }]
|
|
120
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { clrAlert: [{
|
|
121
|
-
type: ViewChild,
|
|
122
|
-
args: [ClrAlert, { static: true }]
|
|
123
|
-
}], timeout: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], notificationType: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], dismissable: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], progressbar: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], closed: [{
|
|
132
|
-
type: Output
|
|
133
|
-
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQTRCOUQsTUFBTSxPQUFPLGVBQWU7SUFXMUIsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFjRCxZQUFvQixVQUFzQixFQUFVLE1BQWM7UUFBOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUE5QmxFLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRVgsU0FBSSxHQUFHLEdBQUcsQ0FBQztRQU1YLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFLZixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBTXBCLHFCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FB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LEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQzs0QkFDbEcsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7NEJBQ3BHLFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUM1QyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDM0MsQ0FBQzt3QkFDRixPQUFPLENBQUMsTUFBTSxFQUFFOzRCQUNkLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7NEJBQy9HLFVBQVUsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3lCQUM1QyxDQUFDO3FCQUNILFFBQ0s7d0JBQ0osc0JBQXNCLEVBQUUsTUFBTTtxQkFDL0I7b0dBR3NDLFFBQVE7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkF3QjVCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPbkluaXQsIE91dHB1dCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgc3RhdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xyQWxlcnQgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgem9uZWRJbnRlcnZhbCwgem9uZWRUaW1lciB9IGZyb20gJy4vc2NoZWR1bGVyLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLW5vdGlmaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24uaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZURvd24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMjAwJSknIH0pLFxuICAgICAgICBhbmltYXRlKCcwLjVzJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDAlKScgfSkpLFxuICAgICAgXSksXG4gICAgXSksXG4gICAgdHJpZ2dlcignbW92ZScsIFtcbiAgICAgIHN0YXRlKCdjdXJyZW50UG9zaXRpb24nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3thYnNvbHV0ZX19cHgpJyB9KSwgeyBwYXJhbXM6IHsgYWJzb2x1dGU6ICcwJyB9IH0pLFxuICAgICAgc3RhdGUoJ21vdmVVcCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2Fic29sdXRlfX1weCknIH0pLCB7IHBhcmFtczogeyBhYnNvbHV0ZTogJzAnIH0gfSksXG4gICAgICBzdGF0ZSgnbW92ZURvd24nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3thYnNvbHV0ZX19cHgpJyB9KSwgeyBwYXJhbXM6IHsgYWJzb2x1dGU6ICcwJyB9IH0pLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiBtb3ZlRG93bicsIGFuaW1hdGUoJzAuM3MnKSksXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IG1vdmVVcCcsIGFuaW1hdGUoJzAuM3MnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgIHN0YXRlKCdmYWRlT3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7YWJzb2x1dGV9fXB4KScsIG9wYWNpdHk6IDAgfSksIHsgcGFyYW1zOiB7IGFic29sdXRlOiAnMCcgfSB9KSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gZmFkZU91dCcsIGFuaW1hdGUoJzAuM3MnKSksXG4gICAgXSksXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm5vdGlmaWNhdGlvbl0nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsck5vdGlmaWNhdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoQ2xyQWxlcnQsIHsgc3RhdGljOiB0cnVlIH0pIGNsckFsZXJ0OiBDbHJBbGVydDtcbiAgcHJvZ3Jlc3NTdGF0dXMgPSAwO1xuXG4gIHByaXZhdGUgc3RlcCA9IDEwMDtcbiAgcHJpdmF0ZSBzdGFydFRpbWU6IG51bWJlcjtcbiAgc3RhdGU6IGFueTtcbiAgcHJpdmF0ZSB0aW1lcjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGludGVydmFsOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBfdHJhbnNsYXRlID0gMDtcbiAgZ2V0IHRyYW5zbGF0ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGU7XG4gIH1cblxuICBwcml2YXRlIF9oZWlnaHQgPSAwO1xuICBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodCArIDEwO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGVpZ2h0SW5pdGFsaXplZDogKHZhbHVlPzogdW5rbm93bikgPT4gdm9pZDtcbiAgaGVpZ2h0SW5pdGFsaXplZCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHRoaXMuX2hlaWdodEluaXRhbGl6ZWQgPSByZXNvbHZlO1xuICB9KTtcblxuICBASW5wdXQoKSB0aW1lb3V0ID0gMjAwMDtcbiAgQElucHV0KCkgbm90aWZpY2F0aW9uVHlwZSA9ICdpbmZvJzsgLy8gXCJpbmZvXCIsIFwid2FybmluZ1wiLCBcInN1Y2Nlc3NcIiBhbmQgXCJkYW5nZXJcIlxuICBASW5wdXQoKSBkaXNtaXNzYWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwcm9ncmVzc2JhciA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB6b25lZFRpbWVyKDAsIHRoaXMubmdab25lKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5faGVpZ2h0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0ub2Zmc2V0SGVpZ2h0O1xuICAgICAgdGhpcy5faGVpZ2h0SW5pdGFsaXplZCgpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGltZW91dCA+IDApIHtcbiAgICAgIGlmICh0aGlzLnByb2dyZXNzYmFyKSB7XG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSB6b25lZEludGVydmFsKHRoaXMudGltZW91dCAvICh0aGlzLnRpbWVvdXQgLyB0aGlzLnN0ZXApLCB0aGlzLm5nWm9uZSkuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgICAgdGhpcy51cGRhdGVQcm9ncmVzc1N0YXR1cygpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudGltZXIgPSB6b25lZFRpbWVyKHRoaXMudGltZW91dCwgdGhpcy5uZ1pvbmUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVQcm9ncmVzc1N0YXR1cygpOiB2b2lkIHtcbiAgICB0aGlzLnByb2dyZXNzU3RhdHVzID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0VGltZTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnRlcnZhbCkge1xuICAgICAgdGhpcy5pbnRlcnZhbC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgdGhpcy50aW1lci51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmNsckFsZXJ0Ll9jbG9zZWQgPSBmYWxzZTtcbiAgICB0aGlzLnN0YXRlID0geyB2YWx1ZTogJ2ZhZGVPdXQnLCBwYXJhbXM6IHsgYWJzb2x1dGU6IHRoaXMuX3RyYW5zbGF0ZSB9IH07XG4gICAgem9uZWRUaW1lcigzMDAsIHRoaXMubmdab25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZWQuZW1pdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlRG93bih0cmFuc2xhdGVWYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNsYXRlICs9IHRyYW5zbGF0ZVZhbHVlO1xuICAgIHRoaXMuc3RhdGUgPSB7IHZhbHVlOiAnbW92ZURvd24nLCBwYXJhbXM6IHsgYWJzb2x1dGU6IHRoaXMuX3RyYW5zbGF0ZSB9IH07XG4gICAgdGhpcy5zZXRDdXJyZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlVXAodHJhbnNsYXRlVmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zbGF0ZSAtPSB0cmFuc2xhdGVWYWx1ZTtcbiAgICB0aGlzLnN0YXRlID0geyB2YWx1ZTogJ21vdmVVcCcsIHBhcmFtczogeyBhYnNvbHV0ZTogdGhpcy5fdHJhbnNsYXRlIH0gfTtcbiAgICB0aGlzLnNldEN1cnJlbnRQb3NpdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDdXJyZW50UG9zaXRpb24oKTogdm9pZCB7XG4gICAgem9uZWRUaW1lcigzMDAsIHRoaXMubmdab25lKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiAodGhpcy5zdGF0ZSA9IHsgdmFsdWU6ICdjdXJyZW50UG9zaXRpb24nLCBwYXJhbXM6IHsgYWJzb2x1dGU6IHRoaXMuX3RyYW5zbGF0ZSB9IH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbl9fd3JhcHBlclwiIFtAc2xpZGVEb3duXSBbQG1vdmVdPVwic3RhdGVcIiBbQGZhZGVdPVwic3RhdGVcIj5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzIHRvcFwiIFtuZ0NsYXNzXT1cIm5vdGlmaWNhdGlvblR5cGVcIiAqbmdJZj1cInByb2dyZXNzYmFyICYmIHRpbWVvdXQgPiAwXCI+XG4gICAgPHByb2dyZXNzIGNsYXNzPVwicHJvZ3Jlc3NcIiBbbWF4XT1cInRpbWVvdXRcIiBbdmFsdWVdPVwicHJvZ3Jlc3NTdGF0dXNcIj48L3Byb2dyZXNzPlxuICA8L2Rpdj5cbiAgPGNsci1hbGVydFxuICAgIFtjbHJBbGVydFR5cGVdPVwibm90aWZpY2F0aW9uVHlwZVwiXG4gICAgW2NsckFsZXJ0QXBwTGV2ZWxdPVwidHJ1ZVwiXG4gICAgW2NsckFsZXJ0Q2xvc2FibGVdPVwiZGlzbWlzc2FibGVcIlxuICAgIChjbHJBbGVydENsb3NlZENoYW5nZSk9XCJjbG9zZSgpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJhbGVydC1pdGVtXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFsZXJ0LXRleHRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Nsci1ub3RpZmljYXRpb24tbWVzc2FnZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvY2xyLWFsZXJ0PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { NgModule } from '@angular/core';
|
|
8
|
-
import { FormsModule } from '@angular/forms';
|
|
9
|
-
import { ClarityModule } from '@clr/angular';
|
|
10
|
-
import { ClrNotification } from './notification';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class ClrNotificationModule {
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationModule, declarations: [ClrNotification], imports: [CommonModule, ClarityModule, FormsModule] }); }
|
|
15
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [CommonModule, ClarityModule, FormsModule],
|
|
21
|
-
declarations: [ClrNotification],
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCLGlCQUZqQixlQUFlLGFBRHBCLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVzsrR0FHdkMscUJBQXFCLFlBSHRCLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVzs7MkZBR3ZDLHFCQUFxQjtrQkFKakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztvQkFDbkQsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDbGFyaXR5TW9kdWxlIH0gZnJvbSAnQGNsci9hbmd1bGFyJztcblxuaW1wb3J0IHsgQ2xyTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbGFyaXR5TW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0Nsck5vdGlmaWNhdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIENsck5vdGlmaWNhdGlvbk1vZHVsZSB7fVxuIl19
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { DOCUMENT } from '@angular/common';
|
|
7
|
-
import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector, TemplateRef, } from '@angular/core';
|
|
8
|
-
import { take } from 'rxjs/operators';
|
|
9
|
-
import { ClrNotification } from './notification';
|
|
10
|
-
import { ClrContentRef, ClrNotificationRef } from './notification-ref';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class ClrNotificationService {
|
|
13
|
-
constructor(_injector, _applicationRef, _componentFactoryResolver, _document) {
|
|
14
|
-
this._injector = _injector;
|
|
15
|
-
this._applicationRef = _applicationRef;
|
|
16
|
-
this._componentFactoryResolver = _componentFactoryResolver;
|
|
17
|
-
this._document = _document;
|
|
18
|
-
this.elements = new Set();
|
|
19
|
-
}
|
|
20
|
-
openNotification(content, options = {}) {
|
|
21
|
-
const contentRef = this._getContentRef(content, options);
|
|
22
|
-
const notificationCmptRef = this._attachWindowComponent(this._document.body, contentRef);
|
|
23
|
-
const notificationRef = new ClrNotificationRef(notificationCmptRef, contentRef);
|
|
24
|
-
this._applyWindowOptions(notificationCmptRef.instance, options);
|
|
25
|
-
notificationCmptRef.instance.closed
|
|
26
|
-
.pipe(take(1))
|
|
27
|
-
.subscribe(this._afterClose.bind(this, notificationCmptRef.instance));
|
|
28
|
-
notificationCmptRef.instance.heightInitalized.then(() => this.elements.forEach(el => {
|
|
29
|
-
if (el !== notificationCmptRef.instance) {
|
|
30
|
-
el.moveDown(notificationCmptRef.instance.height);
|
|
31
|
-
}
|
|
32
|
-
}));
|
|
33
|
-
this.elements.add(notificationCmptRef.instance);
|
|
34
|
-
return notificationRef;
|
|
35
|
-
}
|
|
36
|
-
_afterClose(notification) {
|
|
37
|
-
this.elements.delete(notification);
|
|
38
|
-
this.elements.forEach(el => {
|
|
39
|
-
if (el.translate > notification.translate) {
|
|
40
|
-
el.moveUp(notification.height);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
_getContentRef(content, options) {
|
|
45
|
-
if (content instanceof TemplateRef) {
|
|
46
|
-
return this._createFromTemplateRef(content, options.ngTemplateOutletContext);
|
|
47
|
-
}
|
|
48
|
-
else if (typeof content === 'string') {
|
|
49
|
-
return this._createFromString(content);
|
|
50
|
-
}
|
|
51
|
-
return new ClrContentRef([]);
|
|
52
|
-
}
|
|
53
|
-
_createFromTemplateRef(content, context) {
|
|
54
|
-
const viewRef = content.createEmbeddedView(context);
|
|
55
|
-
this._applicationRef.attachView(viewRef);
|
|
56
|
-
return new ClrContentRef([viewRef.rootNodes], viewRef);
|
|
57
|
-
}
|
|
58
|
-
_createFromString(content) {
|
|
59
|
-
const component = this._document.createTextNode(`${content}`);
|
|
60
|
-
return new ClrContentRef([[component]]);
|
|
61
|
-
}
|
|
62
|
-
_attachWindowComponent(containerEl, contentRef) {
|
|
63
|
-
const containerFactory = this._componentFactoryResolver.resolveComponentFactory(ClrNotification);
|
|
64
|
-
const containerCmptRef = containerFactory.create(this._injector, contentRef.nodes);
|
|
65
|
-
this._applicationRef.attachView(containerCmptRef.hostView);
|
|
66
|
-
containerEl.appendChild(containerCmptRef.location.nativeElement);
|
|
67
|
-
return containerCmptRef;
|
|
68
|
-
}
|
|
69
|
-
_applyWindowOptions(notificationInstance, options) {
|
|
70
|
-
if (options.timeout != undefined && options.timeout != null) {
|
|
71
|
-
notificationInstance.timeout = options.timeout;
|
|
72
|
-
}
|
|
73
|
-
if (options.notificationType != undefined && options.notificationType != null) {
|
|
74
|
-
notificationInstance.notificationType = options.notificationType;
|
|
75
|
-
}
|
|
76
|
-
if (options.dismissable != undefined && options.dismissable != null) {
|
|
77
|
-
notificationInstance.dismissable = options.dismissable;
|
|
78
|
-
}
|
|
79
|
-
if (options.progressbar != undefined && options.progressbar != null) {
|
|
80
|
-
notificationInstance.progressbar = options.progressbar;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationService, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
84
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationService }); }
|
|
85
|
-
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrNotificationService, decorators: [{
|
|
87
|
-
type: Injectable
|
|
88
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: Document, decorators: [{
|
|
89
|
-
type: Inject,
|
|
90
|
-
args: [DOCUMENT]
|
|
91
|
-
}] }] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsY0FBYyxFQUNkLHdCQUF3QixFQUV4QixNQUFNLEVBQ04sVUFBVSxFQUNWLFFBQVEsRUFDUixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBWXZFLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFDVSxTQUFtQixFQUNuQixlQUErQixFQUMvQix5QkFBbUQsRUFDakMsU0FBbUI7UUFIckMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBTnZDLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQU8zQyxDQUFDO0lBRUosZ0JBQWdCLENBQUMsT0FBc0MsRUFBRSxVQUFrQyxFQUFFO1FBQzNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELE1BQU0sbUJBQW1CLEdBQWtDLElBQUksQ0FBQyxzQkFBc0IsQ0FDcEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQ25CLFVBQVUsQ0FDWCxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQXVCLElBQUksa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXhFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksRUFBRSxLQUFLLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QyxFQUFFLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxXQUFXLENBQUMsWUFBNkI7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDekIsSUFBSSxFQUFFLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDMUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFzQyxFQUFFLE9BQStCO1FBQzVGLElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMvRSxDQUFDO2FBQU0sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBNkIsRUFBRSxPQUFnQztRQUM1RixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZTtRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxXQUF3QixFQUFFLFVBQXlCO1FBQ2hGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELFdBQVcsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLG9CQUFxQyxFQUFFLE9BQStCO1FBQ2hHLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM1RCxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLElBQUksU0FBUyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5RSxvQkFBb0IsQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwRSxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVMsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BFLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDOzhHQXZGVSxzQkFBc0IsZ0hBT3ZCLFFBQVE7a0hBUFAsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFRTixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjEgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2xyTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHsgQ2xyQ29udGVudFJlZiwgQ2xyTm90aWZpY2F0aW9uUmVmIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tcmVmJztcblxuZXhwb3J0IGludGVyZmFjZSBDbHJOb3RpZmljYXRpb25PcHRpb25zIHtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgbm90aWZpY2F0aW9uVHlwZT86IHN0cmluZztcbiAgZGlzbWlzc2FibGU/OiBib29sZWFuO1xuICBwcm9ncmVzc2Jhcj86IGJvb2xlYW47XG4gIC8qIElmIHlvdXIgbm90aWZpY2F0aW9uIGlzIGEgbmctdGVtcGxhdGUgd2l0aCB2YXJpYWJsZXMsIHRoZSB2YXJpYWJsZXMgbXVzdCBiZSBzZXQgaW4gdGhlIG5nVGVtcGxhdGVPdXRsZXRDb250ZXh0ICovXG4gIG5nVGVtcGxhdGVPdXRsZXRDb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDbHJOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlbGVtZW50cyA9IG5ldyBTZXQ8Q2xyTm90aWZpY2F0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9hcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICBvcGVuTm90aWZpY2F0aW9uKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nLCBvcHRpb25zOiBDbHJOb3RpZmljYXRpb25PcHRpb25zID0ge30pOiBDbHJOb3RpZmljYXRpb25SZWYge1xuICAgIGNvbnN0IGNvbnRlbnRSZWYgPSB0aGlzLl9nZXRDb250ZW50UmVmKGNvbnRlbnQsIG9wdGlvbnMpO1xuICAgIGNvbnN0IG5vdGlmaWNhdGlvbkNtcHRSZWY6IENvbXBvbmVudFJlZjxDbHJOb3RpZmljYXRpb24+ID0gdGhpcy5fYXR0YWNoV2luZG93Q29tcG9uZW50KFxuICAgICAgdGhpcy5fZG9jdW1lbnQuYm9keSxcbiAgICAgIGNvbnRlbnRSZWZcbiAgICApO1xuICAgIGNvbnN0IG5vdGlmaWNhdGlvblJlZjogQ2xyTm90aWZpY2F0aW9uUmVmID0gbmV3IENsck5vdGlmaWNhdGlvblJlZihub3RpZmljYXRpb25DbXB0UmVmLCBjb250ZW50UmVmKTtcblxuICAgIHRoaXMuX2FwcGx5V2luZG93T3B0aW9ucyhub3RpZmljYXRpb25DbXB0UmVmLmluc3RhbmNlLCBvcHRpb25zKTtcbiAgICBub3RpZmljYXRpb25DbXB0UmVmLmluc3RhbmNlLmNsb3NlZFxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5fYWZ0ZXJDbG9zZS5iaW5kKHRoaXMsIG5vdGlmaWNhdGlvbkNtcHRSZWYuaW5zdGFuY2UpKTtcblxuICAgIG5vdGlmaWNhdGlvbkNtcHRSZWYuaW5zdGFuY2UuaGVpZ2h0SW5pdGFsaXplZC50aGVuKCgpID0+XG4gICAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goZWwgPT4ge1xuICAgICAgICBpZiAoZWwgIT09IG5vdGlmaWNhdGlvbkNtcHRSZWYuaW5zdGFuY2UpIHtcbiAgICAgICAgICBlbC5tb3ZlRG93bihub3RpZmljYXRpb25DbXB0UmVmLmluc3RhbmNlLmhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmVsZW1lbnRzLmFkZChub3RpZmljYXRpb25DbXB0UmVmLmluc3RhbmNlKTtcblxuICAgIHJldHVybiBub3RpZmljYXRpb25SZWY7XG4gIH1cblxuICBwcml2YXRlIF9hZnRlckNsb3NlKG5vdGlmaWNhdGlvbjogQ2xyTm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50cy5kZWxldGUobm90aWZpY2F0aW9uKTtcblxuICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaChlbCA9PiB7XG4gICAgICBpZiAoZWwudHJhbnNsYXRlID4gbm90aWZpY2F0aW9uLnRyYW5zbGF0ZSkge1xuICAgICAgICBlbC5tb3ZlVXAobm90aWZpY2F0aW9uLmhlaWdodCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb250ZW50UmVmKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nLCBvcHRpb25zOiBDbHJOb3RpZmljYXRpb25PcHRpb25zKTogQ2xyQ29udGVudFJlZiB7XG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUZyb21UZW1wbGF0ZVJlZihjb250ZW50LCBvcHRpb25zLm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUZyb21TdHJpbmcoY29udGVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBDbHJDb250ZW50UmVmKFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUZyb21UZW1wbGF0ZVJlZihjb250ZW50OiBUZW1wbGF0ZVJlZjx1bmtub3duPiwgY29udGV4dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBDbHJDb250ZW50UmVmIHtcbiAgICBjb25zdCB2aWV3UmVmID0gY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcoY29udGV4dCk7XG4gICAgdGhpcy5fYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh2aWV3UmVmKTtcbiAgICByZXR1cm4gbmV3IENsckNvbnRlbnRSZWYoW3ZpZXdSZWYucm9vdE5vZGVzXSwgdmlld1JlZik7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVGcm9tU3RyaW5nKGNvbnRlbnQ6IHN0cmluZyk6IENsckNvbnRlbnRSZWYge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKGAke2NvbnRlbnR9YCk7XG4gICAgcmV0dXJuIG5ldyBDbHJDb250ZW50UmVmKFtbY29tcG9uZW50XV0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoV2luZG93Q29tcG9uZW50KGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCwgY29udGVudFJlZjogQ2xyQ29udGVudFJlZik6IENvbXBvbmVudFJlZjxDbHJOb3RpZmljYXRpb24+IHtcbiAgICBjb25zdCBjb250YWluZXJGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KENsck5vdGlmaWNhdGlvbik7XG4gICAgY29uc3QgY29udGFpbmVyQ21wdFJlZiA9IGNvbnRhaW5lckZhY3RvcnkuY3JlYXRlKHRoaXMuX2luamVjdG9yLCBjb250ZW50UmVmLm5vZGVzKTtcbiAgICB0aGlzLl9hcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbnRhaW5lckNtcHRSZWYuaG9zdFZpZXcpO1xuICAgIGNvbnRhaW5lckVsLmFwcGVuZENoaWxkKGNvbnRhaW5lckNtcHRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgcmV0dXJuIGNvbnRhaW5lckNtcHRSZWY7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseVdpbmRvd09wdGlvbnMobm90aWZpY2F0aW9uSW5zdGFuY2U6IENsck5vdGlmaWNhdGlvbiwgb3B0aW9uczogQ2xyTm90aWZpY2F0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIGlmIChvcHRpb25zLnRpbWVvdXQgIT0gdW5kZWZpbmVkICYmIG9wdGlvbnMudGltZW91dCAhPSBudWxsKSB7XG4gICAgICBub3RpZmljYXRpb25JbnN0YW5jZS50aW1lb3V0ID0gb3B0aW9ucy50aW1lb3V0O1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5ub3RpZmljYXRpb25UeXBlICE9IHVuZGVmaW5lZCAmJiBvcHRpb25zLm5vdGlmaWNhdGlvblR5cGUgIT0gbnVsbCkge1xuICAgICAgbm90aWZpY2F0aW9uSW5zdGFuY2Uubm90aWZpY2F0aW9uVHlwZSA9IG9wdGlvbnMubm90aWZpY2F0aW9uVHlwZTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZGlzbWlzc2FibGUgIT0gdW5kZWZpbmVkICYmIG9wdGlvbnMuZGlzbWlzc2FibGUgIT0gbnVsbCkge1xuICAgICAgbm90aWZpY2F0aW9uSW5zdGFuY2UuZGlzbWlzc2FibGUgPSBvcHRpb25zLmRpc21pc3NhYmxlO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5wcm9ncmVzc2JhciAhPSB1bmRlZmluZWQgJiYgb3B0aW9ucy5wcm9ncmVzc2JhciAhPSBudWxsKSB7XG4gICAgICBub3RpZmljYXRpb25JbnN0YW5jZS5wcm9ncmVzc2JhciA9IG9wdGlvbnMucHJvZ3Jlc3NiYXI7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { asyncScheduler, interval, timer } from 'rxjs';
|
|
7
|
-
import { observeOn } from 'rxjs/operators';
|
|
8
|
-
/**
|
|
9
|
-
* Scheduler that runs outside the angular zone
|
|
10
|
-
*/
|
|
11
|
-
class OutsideAngularZoneScheduler {
|
|
12
|
-
constructor(zone, scheduler) {
|
|
13
|
-
this.zone = zone;
|
|
14
|
-
this.scheduler = scheduler;
|
|
15
|
-
}
|
|
16
|
-
now() {
|
|
17
|
-
return this.scheduler.now();
|
|
18
|
-
}
|
|
19
|
-
schedule(...args) {
|
|
20
|
-
// eslint-disable-next-line prefer-spread
|
|
21
|
-
return this.zone.runOutsideAngular(() => this.scheduler.schedule.apply(this.scheduler, args));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Scheduler that runs inside the angular zone
|
|
26
|
-
*/
|
|
27
|
-
class InsideAngularZoneScheduler {
|
|
28
|
-
constructor(zone, scheduler) {
|
|
29
|
-
this.zone = zone;
|
|
30
|
-
this.scheduler = scheduler;
|
|
31
|
-
}
|
|
32
|
-
now() {
|
|
33
|
-
return this.scheduler.now();
|
|
34
|
-
}
|
|
35
|
-
schedule(...args) {
|
|
36
|
-
// eslint-disable-next-line prefer-spread
|
|
37
|
-
return this.zone.run(() => this.scheduler.schedule.apply(this.scheduler, args));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Runs a timer outside of the angular zone and executes the subscription inside the angular zone.
|
|
42
|
-
*/
|
|
43
|
-
export function zonedTimer(dueTime, zone) {
|
|
44
|
-
return timer(dueTime, new OutsideAngularZoneScheduler(zone, asyncScheduler)).pipe(observeOn(new InsideAngularZoneScheduler(zone, asyncScheduler)));
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Runs a interval outside of the angular zone and executes the subscription inside the angular zone.
|
|
48
|
-
*/
|
|
49
|
-
export function zonedInterval(period, zone) {
|
|
50
|
-
return interval(period, new OutsideAngularZoneScheduler(zone, asyncScheduler)).pipe(observeOn(new InsideAngularZoneScheduler(zone, asyncScheduler)));
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbm90aWZpY2F0aW9uL3NjaGVkdWxlci11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQTJDLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQjtJQUMvQixZQUFvQixJQUFZLEVBQVUsU0FBd0I7UUFBOUMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWU7SUFBRyxDQUFDO0lBRXRFLEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFHLElBQVc7UUFDckIseUNBQXlDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEI7SUFDOUIsWUFBb0IsSUFBWSxFQUFVLFNBQXdCO1FBQTlDLFNBQUksR0FBSixJQUFJLENBQVE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFlO0lBQUcsQ0FBQztJQUV0RSxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxJQUFXO1FBQ3JCLHlDQUF5QztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQXNCLEVBQUUsSUFBWTtJQUM3RCxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQy9FLFNBQVMsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjLEVBQUUsSUFBWTtJQUN4RCxPQUFPLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pGLFNBQVMsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgU2NoZWR1bGVyTGlrZSwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvYnNlcnZlT24gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogU2NoZWR1bGVyIHRoYXQgcnVucyBvdXRzaWRlIHRoZSBhbmd1bGFyIHpvbmVcbiAqL1xuY2xhc3MgT3V0c2lkZUFuZ3VsYXJab25lU2NoZWR1bGVyIGltcGxlbWVudHMgU2NoZWR1bGVyTGlrZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSkge31cblxuICBub3coKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXIubm93KCk7XG4gIH1cblxuICBzY2hlZHVsZSguLi5hcmdzOiBhbnlbXSk6IFN1YnNjcmlwdGlvbiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuc2NoZWR1bGVyLnNjaGVkdWxlLmFwcGx5KHRoaXMuc2NoZWR1bGVyLCBhcmdzKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBTY2hlZHVsZXIgdGhhdCBydW5zIGluc2lkZSB0aGUgYW5ndWxhciB6b25lXG4gKi9cbmNsYXNzIEluc2lkZUFuZ3VsYXJab25lU2NoZWR1bGVyIGltcGxlbWVudHMgU2NoZWR1bGVyTGlrZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSkge31cblxuICBub3coKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXIubm93KCk7XG4gIH1cblxuICBzY2hlZHVsZSguLi5hcmdzOiBhbnlbXSk6IFN1YnNjcmlwdGlvbiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLnNjaGVkdWxlci5zY2hlZHVsZS5hcHBseSh0aGlzLnNjaGVkdWxlciwgYXJncykpO1xuICB9XG59XG5cbi8qKlxuICogUnVucyBhIHRpbWVyIG91dHNpZGUgb2YgdGhlIGFuZ3VsYXIgem9uZSBhbmQgZXhlY3V0ZXMgdGhlIHN1YnNjcmlwdGlvbiBpbnNpZGUgdGhlIGFuZ3VsYXIgem9uZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHpvbmVkVGltZXIoZHVlVGltZTogbnVtYmVyIHwgRGF0ZSwgem9uZTogTmdab25lKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgcmV0dXJuIHRpbWVyKGR1ZVRpbWUsIG5ldyBPdXRzaWRlQW5ndWxhclpvbmVTY2hlZHVsZXIoem9uZSwgYXN5bmNTY2hlZHVsZXIpKS5waXBlKFxuICAgIG9ic2VydmVPbihuZXcgSW5zaWRlQW5ndWxhclpvbmVTY2hlZHVsZXIoem9uZSwgYXN5bmNTY2hlZHVsZXIpKVxuICApO1xufVxuXG4vKipcbiAqIFJ1bnMgYSBpbnRlcnZhbCBvdXRzaWRlIG9mIHRoZSBhbmd1bGFyIHpvbmUgYW5kIGV4ZWN1dGVzIHRoZSBzdWJzY3JpcHRpb24gaW5zaWRlIHRoZSBhbmd1bGFyIHpvbmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6b25lZEludGVydmFsKHBlcmlvZDogbnVtYmVyLCB6b25lOiBOZ1pvbmUpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICByZXR1cm4gaW50ZXJ2YWwocGVyaW9kLCBuZXcgT3V0c2lkZUFuZ3VsYXJab25lU2NoZWR1bGVyKHpvbmUsIGFzeW5jU2NoZWR1bGVyKSkucGlwZShcbiAgICBvYnNlcnZlT24obmV3IEluc2lkZUFuZ3VsYXJab25lU2NoZWR1bGVyKHpvbmUsIGFzeW5jU2NoZWR1bGVyKSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
export * from './numeric-field';
|
|
7
|
-
export * from './numeric-field.module';
|
|
8
|
-
export * from './numeric-field-validators';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9udW1lcmljZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9udW1lcmljLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtZXJpYy1maWVsZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1lcmljLWZpZWxkLXZhbGlkYXRvcnMnO1xuIl19
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
7
|
-
import { Directive, Input } from '@angular/core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
function isEmptyInputValue(value) {
|
|
10
|
-
// we don't check for string here so it also works with arrays
|
|
11
|
-
return value == null || value.length === 0;
|
|
12
|
-
}
|
|
13
|
-
// TODO maybe create directives for it aswell? to not only support reactive forms?
|
|
14
|
-
export class ClrNumericFieldValidators {
|
|
15
|
-
/**
|
|
16
|
-
* @description
|
|
17
|
-
* Validator that requires the control's value to be greater than or equal to the provided number.
|
|
18
|
-
* The validator exists only as a function and not as a directive.
|
|
19
|
-
*
|
|
20
|
-
* @usageNotes
|
|
21
|
-
*
|
|
22
|
-
* ### Validate against a minimum of 3
|
|
23
|
-
*
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const control = new FormControl(2, ClrNumericFieldValidators.min(3, '.', ','));
|
|
26
|
-
*
|
|
27
|
-
* console.log(control.errors); // {min: {min: 3, actual: 2}}
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* @returns A validator function that returns an error map with the
|
|
31
|
-
* `min` property if the validation check fails, otherwise `null`.
|
|
32
|
-
*
|
|
33
|
-
*/
|
|
34
|
-
static min(min, groupingSeparator = '.', decimalSeparator = ',') {
|
|
35
|
-
const validatorFn = (control) => {
|
|
36
|
-
if (isEmptyInputValue(control.value) || isEmptyInputValue(min)) {
|
|
37
|
-
return null; // don't validate empty values to allow optional controls
|
|
38
|
-
}
|
|
39
|
-
const value = this.parseInputString(control.value, groupingSeparator, decimalSeparator);
|
|
40
|
-
// Controls with NaN values after parsing should be treated as not having a
|
|
41
|
-
// minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min
|
|
42
|
-
return !isNaN(value) && value < min ? { min: { min: min, actual: value } } : null;
|
|
43
|
-
};
|
|
44
|
-
return validatorFn;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @description
|
|
48
|
-
* Validator that requires the control's value to be less than or equal to the provided number.
|
|
49
|
-
* The validator exists only as a function and not as a directive.
|
|
50
|
-
*
|
|
51
|
-
* @usageNotes
|
|
52
|
-
*
|
|
53
|
-
* ### Validate against a maximum of 15
|
|
54
|
-
*
|
|
55
|
-
* ```typescript
|
|
56
|
-
* const control = new FormControl(16, ClrNumericFieldValidators.max(15, '.', ','));
|
|
57
|
-
*
|
|
58
|
-
* console.log(control.errors); // {max: {max: 15, actual: 16}}
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* @returns A validator function that returns an error map with the
|
|
62
|
-
* `max` property if the validation check fails, otherwise `null`.
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
static max(max, groupingSeparator = '.', decimalSeparator = ',') {
|
|
66
|
-
const validatorFn = (control) => {
|
|
67
|
-
if (isEmptyInputValue(control.value) || isEmptyInputValue(max)) {
|
|
68
|
-
return null; // don't validate empty values to allow optional controls
|
|
69
|
-
}
|
|
70
|
-
const value = this.parseInputString(control.value, groupingSeparator, decimalSeparator);
|
|
71
|
-
// Controls with NaN values after parsing should be treated as not having a
|
|
72
|
-
// minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min
|
|
73
|
-
return !isNaN(value) && value > max ? { max: { max: max, actual: value } } : null;
|
|
74
|
-
};
|
|
75
|
-
return validatorFn;
|
|
76
|
-
}
|
|
77
|
-
static parseInputString(value, groupingSeparator, decimalSeparator) {
|
|
78
|
-
if (typeof value !== 'string') {
|
|
79
|
-
return parseFloat(value);
|
|
80
|
-
}
|
|
81
|
-
const notGroupedNumber = value.replace(new RegExp('[' + groupingSeparator + ']', 'g'), '');
|
|
82
|
-
const formattedNumber = notGroupedNumber.replace(new RegExp('[' + decimalSeparator + ']', 'g'), '.');
|
|
83
|
-
return parseFloat(formattedNumber);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
export class ClrMaxNumeric {
|
|
87
|
-
constructor() {
|
|
88
|
-
this._groupingSep = '.';
|
|
89
|
-
this._decimalSep = ',';
|
|
90
|
-
}
|
|
91
|
-
validate(control) {
|
|
92
|
-
return ClrNumericFieldValidators.max(this._max, this._groupingSep, this._decimalSep)(control);
|
|
93
|
-
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrMaxNumeric, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
95
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ClrMaxNumeric, selector: "[clrMaxNumeric]", inputs: { _max: ["clrMaxNumeric", "_max"], _groupingSep: ["clrGroupingSep", "_groupingSep"], _decimalSep: ["clrDecimalSep", "_decimalSep"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrMaxNumeric, multi: true }], ngImport: i0 }); }
|
|
96
|
-
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrMaxNumeric, decorators: [{
|
|
98
|
-
type: Directive,
|
|
99
|
-
args: [{
|
|
100
|
-
selector: '[clrMaxNumeric]',
|
|
101
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: ClrMaxNumeric, multi: true }],
|
|
102
|
-
}]
|
|
103
|
-
}], propDecorators: { _max: [{
|
|
104
|
-
type: Input,
|
|
105
|
-
args: ['clrMaxNumeric']
|
|
106
|
-
}], _groupingSep: [{
|
|
107
|
-
type: Input,
|
|
108
|
-
args: ['clrGroupingSep']
|
|
109
|
-
}], _decimalSep: [{
|
|
110
|
-
type: Input,
|
|
111
|
-
args: ['clrDecimalSep']
|
|
112
|
-
}] } });
|
|
113
|
-
export class ClrMinNumeric {
|
|
114
|
-
constructor() {
|
|
115
|
-
this._groupingSep = '.';
|
|
116
|
-
this._decimalSep = ',';
|
|
117
|
-
}
|
|
118
|
-
validate(control) {
|
|
119
|
-
return ClrNumericFieldValidators.min(this._min, this._groupingSep, this._decimalSep)(control);
|
|
120
|
-
}
|
|
121
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrMinNumeric, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
122
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ClrMinNumeric, selector: "[clrMinNumeric]", inputs: { _min: ["clrMinNumeric", "_min"], _groupingSep: ["clrGroupingSep", "_groupingSep"], _decimalSep: ["clrDecimalSep", "_decimalSep"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrMinNumeric, multi: true }], ngImport: i0 }); }
|
|
123
|
-
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ClrMinNumeric, decorators: [{
|
|
125
|
-
type: Directive,
|
|
126
|
-
args: [{
|
|
127
|
-
selector: '[clrMinNumeric]',
|
|
128
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: ClrMinNumeric, multi: true }],
|
|
129
|
-
}]
|
|
130
|
-
}], propDecorators: { _min: [{
|
|
131
|
-
type: Input,
|
|
132
|
-
args: ['clrMinNumeric']
|
|
133
|
-
}], _groupingSep: [{
|
|
134
|
-
type: Input,
|
|
135
|
-
args: ['clrGroupingSep']
|
|
136
|
-
}], _decimalSep: [{
|
|
137
|
-
type: Input,
|
|
138
|
-
args: ['clrDecimalSep']
|
|
139
|
-
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbnVtZXJpY2ZpZWxkL251bWVyaWMtZmllbGQtdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFrRCxhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFakQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFVO0lBQ25DLDhEQUE4RDtJQUM5RCxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELGtGQUFrRjtBQUNsRixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQkc7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxpQkFBaUIsR0FBRyxHQUFHLEVBQUUsZ0JBQWdCLEdBQUcsR0FBRztRQUNyRSxNQUFNLFdBQVcsR0FBZ0IsQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQ3JGLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELE9BQU8sSUFBSSxDQUFDLENBQUMseURBQXlEO1lBQ3hFLENBQUM7WUFDRCxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2hHLDJFQUEyRTtZQUMzRSwwRkFBMEY7WUFDMUYsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFB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cEIsZ0JBQVcsR0FBRyxHQUFHLENBQUM7S0FLM0M7SUFIQyxRQUFRLENBQUMsT0FBd0I7UUFDL0IsT0FBTyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRyxDQUFDOzhHQVBVLGFBQWE7a0dBQWIsYUFBYSx3TEFGYixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzs7MkZBRXJFLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDakY7OEJBRXlCLElBQUk7c0JBQTNCLEtBQUs7dUJBQUMsZUFBZTtnQkFDRyxZQUFZO3NCQUFwQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDQyxXQUFXO3NCQUFsQyxLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmZ1bmN0aW9uIGlzRW1wdHlJbnB1dFZhbHVlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgLy8gd2UgZG9uJ3QgY2hlY2sgZm9yIHN0cmluZyBoZXJlIHNvIGl0IGFsc28gd29ya3Mgd2l0aCBhcnJheXNcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xufVxuXG4vLyBUT0RPIG1heWJlIGNyZWF0ZSBkaXJlY3RpdmVzIGZvciBpdCBhc3dlbGw/IHRvIG5vdCBvbmx5IHN1cHBvcnQgcmVhY3RpdmUgZm9ybXM/XG5leHBvcnQgY2xhc3MgQ2xyTnVtZXJpY0ZpZWxkVmFsaWRhdG9ycyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIG51bWJlci5cbiAgICogVGhlIHZhbGlkYXRvciBleGlzdHMgb25seSBhcyBhIGZ1bmN0aW9uIGFuZCBub3QgYXMgYSBkaXJlY3RpdmUuXG4gICAqXG4gICAqIEB1c2FnZU5vdGVzXG4gICAqXG4gICAqICMjIyBWYWxpZGF0ZSBhZ2FpbnN0IGEgbWluaW11bSBvZiAzXG4gICAqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgyLCBDbHJOdW1lcmljRmllbGRWYWxpZGF0b3JzLm1pbigzLCAnLicsICcsJykpO1xuICAgKlxuICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttaW46IHttaW46IDMsIGFjdHVhbDogMn19XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcmV0dXJucyBBIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gZXJyb3IgbWFwIHdpdGggdGhlXG4gICAqIGBtaW5gIHByb3BlcnR5IGlmIHRoZSB2YWxpZGF0aW9uIGNoZWNrIGZhaWxzLCBvdGhlcndpc2UgYG51bGxgLlxuICAgKlxuICAgKi9cbiAgc3RhdGljIG1pbihtaW46IG51bWJlciwgZ3JvdXBpbmdTZXBhcmF0b3IgPSAnLicsIGRlY2ltYWxTZXBhcmF0b3IgPSAnLCcpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yRm46IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSB8fCBpc0VtcHR5SW5wdXRWYWx1ZShtaW4pKSB7XG4gICAgICAgIHJldHVybiBudWxsOyAvLyBkb24ndCB2YWxpZGF0ZSBlbXB0eSB2YWx1ZXMgdG8gYWxsb3cgb3B0aW9uYWwgY29udHJvbHNcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhbHVlOiBudW1iZXIgPSB0aGlzLnBhcnNlSW5wdXRTdHJpbmcoY29udHJvbC52YWx1ZSwgZ3JvdXBpbmdTZXBhcmF0b3IsIGRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgLy8gQ29udHJvbHMgd2l0aCBOYU4gdmFsdWVzIGFmdGVyIHBhcnNpbmcgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgbm90IGhhdmluZyBhXG4gICAgICAvLyBtaW5pbXVtLCBwZXIgdGhlIEhUTUwgZm9ybXMgc3BlYzogaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2Zvcm1zLmh0bWwjYXR0ci1pbnB1dC1taW5cbiAgICAgIHJldHVybiAhaXNOYU4odmFsdWUpICYmIHZhbHVlIDwgbWluID8geyBtaW46IHsgbWluOiBtaW4sIGFjdHVhbDogdmFsdWUgfSB9IDogbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiB2YWxpZGF0b3JGbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIG51bWJlci5cbiAgICogVGhlIHZhbGlkYXRvciBleGlzdHMgb25seSBhcyBhIGZ1bmN0aW9uIGFuZCBub3QgYXMgYSBkaXJlY3RpdmUuXG4gICAqXG4gICAqIEB1c2FnZU5vdGVzXG4gICAqXG4gICAqICMjIyBWYWxpZGF0ZSBhZ2FpbnN0IGEgbWF4aW11bSBvZiAxNVxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIENsck51bWVyaWNGaWVsZFZhbGlkYXRvcnMubWF4KDE1LCAnLicsICcsJykpO1xuICAgKlxuICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttYXg6IHttYXg6IDE1LCBhY3R1YWw6IDE2fX1cbiAgICogYGBgXG4gICAqXG4gICAqIEByZXR1cm5zIEEgdmFsaWRhdG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBlcnJvciBtYXAgd2l0aCB0aGVcbiAgICogYG1heGAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXG4gICAqXG4gICAqL1xuICBzdGF0aWMgbWF4KG1heDogbnVtYmVyLCBncm91cGluZ1NlcGFyYXRvciA9ICcuJywgZGVjaW1hbFNlcGFyYXRvciA9ICcsJyk6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCB2YWxpZGF0b3JGbjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgaWYgKGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpIHx8IGlzRW1wdHlJbnB1dFZhbHVlKG1heCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7IC8vIGRvbid0IHZhbGlkYXRlIGVtcHR5IHZhbHVlcyB0byBhbGxvdyBvcHRpb25hbCBjb250cm9sc1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWU6IG51bWJlciA9IHRoaXMucGFyc2VJbnB1dFN0cmluZyhjb250cm9sLnZhbHVlLCBncm91cGluZ1NlcGFyYXRvciwgZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAvLyBDb250cm9scyB3aXRoIE5hTiB2YWx1ZXMgYWZ0ZXIgcGFyc2luZyBzaG91bGQgYmUgdHJlYXRlZCBhcyBub3QgaGF2aW5nIGFcbiAgICAgIC8vIG1pbmltdW0sIHBlciB0aGUgSFRNTCBmb3JtcyBzcGVjOiBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZm9ybXMuaHRtbCNhdHRyLWlucHV0LW1pblxuICAgICAgcmV0dXJuICFpc05hTih2YWx1ZSkgJiYgdmFsdWUgPiBtYXggPyB7IG1heDogeyBtYXg6IG1heCwgYWN0dWFsOiB2YWx1ZSB9IH0gOiBudWxsO1xuICAgIH07XG4gICAgcmV0dXJuIHZhbGlkYXRvckZuO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcGFyc2VJbnB1dFN0cmluZyh2YWx1ZTogc3RyaW5nLCBncm91cGluZ1NlcGFyYXRvcjogc3RyaW5nLCBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IG5vdEdyb3VwZWROdW1iZXI6IHN0cmluZyA9IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCgnWycgKyBncm91cGluZ1NlcGFyYXRvciArICddJywgJ2cnKSwgJycpO1xuICAgIGNvbnN0IGZvcm1hdHRlZE51bWJlcjogc3RyaW5nID0gbm90R3JvdXBlZE51bWJlci5yZXBsYWNlKG5ldyBSZWdFeHAoJ1snICsgZGVjaW1hbFNlcGFyYXRvciArICddJywgJ2cnKSwgJy4nKTtcbiAgICByZXR1cm4gcGFyc2VGbG9hdChmb3JtYXR0ZWROdW1iZXIpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJNYXhOdW1lcmljXScsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IENsck1heE51bWVyaWMsIG11bHRpOiB0cnVlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJNYXhOdW1lcmljIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgQElucHV0KCdjbHJNYXhOdW1lcmljJykgX21heDogbnVtYmVyO1xuICBASW5wdXQoJ2Nsckdyb3VwaW5nU2VwJykgX2dyb3VwaW5nU2VwID0gJy4nO1xuICBASW5wdXQoJ2NsckRlY2ltYWxTZXAnKSBfZGVjaW1hbFNlcCA9ICcsJztcblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCB7XG4gICAgcmV0dXJuIENsck51bWVyaWNGaWVsZFZhbGlkYXRvcnMubWF4KHRoaXMuX21heCwgdGhpcy5fZ3JvdXBpbmdTZXAsIHRoaXMuX2RlY2ltYWxTZXApKGNvbnRyb2wpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJNaW5OdW1lcmljXScsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IENsck1pbk51bWVyaWMsIG11bHRpOiB0cnVlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJNaW5OdW1lcmljIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgQElucHV0KCdjbHJNaW5OdW1lcmljJykgX21pbjogbnVtYmVyO1xuICBASW5wdXQoJ2Nsckdyb3VwaW5nU2VwJykgX2dyb3VwaW5nU2VwID0gJy4nO1xuICBASW5wdXQoJ2NsckRlY2ltYWxTZXAnKSBfZGVjaW1hbFNlcCA9ICcsJztcblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCB7XG4gICAgcmV0dXJuIENsck51bWVyaWNGaWVsZFZhbGlkYXRvcnMubWluKHRoaXMuX21pbiwgdGhpcy5fZ3JvdXBpbmdTZXAsIHRoaXMuX2RlY2ltYWxTZXApKGNvbnRyb2wpO1xuICB9XG59XG4iXX0=
|