@elderbyte/ngx-starter 12.10.1 → 12.12.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/bundles/elderbyte-ngx-starter.umd.js +203 -21
- package/bundles/elderbyte-ngx-starter.umd.js.map +1 -1
- package/elderbyte-ngx-starter.metadata.json +1 -1
- package/esm2015/lib/common/errors/exception-detail.js +2 -0
- package/esm2015/lib/common/errors/public_api.js +3 -0
- package/esm2015/lib/common/public_api.js +2 -1
- package/esm2015/lib/components/auditing/audited-entity/elder-audited-entity.component.js +34 -0
- package/esm2015/lib/components/auditing/elder-audit.module.js +31 -0
- package/esm2015/lib/components/auditing/i-audited-entity.js +3 -0
- package/esm2015/lib/components/card-organizer/card-organizer/elder-card-organizer.component.js +3 -3
- package/esm2015/lib/components/data-view/grid/elder-grid/elder-grid.component.js +24 -4
- package/esm2015/lib/components/data-view/grid/elder-grid.module.js +3 -2
- package/esm2015/lib/components/errors/elder-error.module.js +31 -0
- package/esm2015/lib/components/errors/exception-detail/elder-exception-detail.component.js +63 -0
- package/esm2015/lib/components/files/blob-viewer/elder-blob-viewer.component.js +6 -8
- package/esm2015/lib/components/public_api.js +3 -1
- package/esm2015/lib/components/time/duration/iso-duration-str.js +2 -0
- package/esm2015/lib/components/time/public_api.js +2 -1
- package/esm2015/lib/pipes/iso-duration.pipe.js +1 -1
- package/esm2015/lib/pipes/time-ago.pipe.js +1 -1
- package/fesm2015/elderbyte-ngx-starter.js +169 -13
- package/fesm2015/elderbyte-ngx-starter.js.map +1 -1
- package/lib/common/errors/exception-detail.d.ts +5 -0
- package/lib/common/errors/public_api.d.ts +2 -0
- package/lib/common/public_api.d.ts +1 -0
- package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +17 -0
- package/lib/components/auditing/elder-audit.module.d.ts +4 -0
- package/lib/components/auditing/i-audited-entity.d.ts +13 -0
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +9 -4
- package/lib/components/errors/elder-error.module.d.ts +6 -0
- package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +39 -0
- package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +1 -1
- package/lib/components/public_api.d.ts +2 -0
- package/lib/components/time/duration/iso-duration-str.d.ts +5 -0
- package/lib/components/time/public_api.d.ts +1 -0
- package/lib/pipes/iso-duration.pipe.d.ts +2 -1
- package/lib/pipes/time-ago.pipe.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.scss +4 -0
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +9 -0
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +3 -0
- package/theming.scss +59 -0
|
@@ -84,11 +84,9 @@ export class ElderBlobViewerComponent {
|
|
|
84
84
|
this.blobContext$ = new BehaviorSubject(null);
|
|
85
85
|
this._url$ = new BehaviorSubject(null);
|
|
86
86
|
this._mimeType$ = new BehaviorSubject(null);
|
|
87
|
-
this.
|
|
87
|
+
this.destroy$ = new Subject();
|
|
88
88
|
this._displayUnknownAsText = false;
|
|
89
|
-
combineLatest([this._url$, this._mimeType$]).pipe(takeUntil(this.
|
|
90
|
-
this.blobUrl = blobUrl;
|
|
91
|
-
});
|
|
89
|
+
combineLatest([this._url$, this._mimeType$]).pipe(takeUntil(this.destroy$), filter(([url, mimeType]) => !!url), map(([url, mimeType]) => BlobUrl.from(url, mimeType))).subscribe(blobUrl => this.blobUrl = blobUrl);
|
|
92
90
|
}
|
|
93
91
|
/***************************************************************************
|
|
94
92
|
* *
|
|
@@ -97,8 +95,8 @@ export class ElderBlobViewerComponent {
|
|
|
97
95
|
**************************************************************************/
|
|
98
96
|
ngOnInit() { }
|
|
99
97
|
ngOnDestroy() {
|
|
100
|
-
this.
|
|
101
|
-
this.
|
|
98
|
+
this.destroy$.next();
|
|
99
|
+
this.destroy$.complete();
|
|
102
100
|
}
|
|
103
101
|
/***************************************************************************
|
|
104
102
|
* *
|
|
@@ -210,7 +208,7 @@ ElderBlobViewerComponent.decorators = [
|
|
|
210
208
|
selector: 'elder-blob-viewer',
|
|
211
209
|
template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"document-viewer\" fxFill>\n\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n\n <!-- Video -->\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" *ngIf=\"blobContext.mimeType.isVideo\" fxFill>\n <video class=\"video\"\n controls autoplay loop\n\n >\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\">\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" *ngIf=\"blobContext.mimeType.isAudio\" fxFill>\n <audio class=\"audio\"\n controls autoplay loop\n >\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\">\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div fxLayout=\"column\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\" fxFill>\n <img class=\"cover\" fxFlex\n [src]=\"blobContext.safeUrl\" alt=\"blob image\"/>\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div fxLayout=\"column\" *ngIf=\"blobContext.displayEmbedded\" fxFill>\n <div style=\"width: 100%;height: 100%\">\n <embed class=\"embedded\" [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" width=\"100%\" height=\"100%\">\n </div>\n </div>\n\n <!-- Plain Text -->\n <div fxLayout=\"column\" *ngIf=\"blobContext.displayAsText\" fxFill>\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\" wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" *ngIf=\"blobContext.cantDisplay\" fxFill>\n <p>Cant display {{blobContext.mimeType.value}}!</p>\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\n <p>No Document.</p>\n </div>\n </ng-container>\n\n\n</div>\n",
|
|
212
210
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
213
|
-
styles: [".document-viewer{background-color:#dedede;color:#1f1e1e}.video{width:100%;height:auto}.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{-o-object-fit:scale-down;object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:#575757;color:#ccc;outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #FFF;border-bottom:1px solid #FFF}\n"]
|
|
211
|
+
styles: [":host{overflow:hidden}.document-viewer{background-color:#dedede;color:#1f1e1e}.video{width:100%;height:auto}.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{-o-object-fit:scale-down;object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:#575757;color:#ccc;outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #FFF;border-bottom:1px solid #FFF}\n"]
|
|
214
212
|
},] }
|
|
215
213
|
];
|
|
216
214
|
ElderBlobViewerComponent.ctorParameters = () => [
|
|
@@ -225,4 +223,4 @@ ElderBlobViewerComponent.propDecorators = {
|
|
|
225
223
|
url: [{ type: Input }],
|
|
226
224
|
mimeType: [{ type: Input }]
|
|
227
225
|
};
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9ibG9iLXZpZXdlci9lbGRlci1ibG9iLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxZQUFZLEVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsTUFBTSxXQUFXO0lBZ0JmLFlBQ2tCLE9BQWdCLEVBQ2hCLFFBQXNCLEVBQ3RCLE9BQWUsSUFBSTtRQUZuQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUVyQyxDQUFDO0lBbkJNLE1BQU0sQ0FBQyxRQUFRLENBQ3BCLElBQVksRUFDWixRQUFzQjtRQUV0QixPQUFPLElBQUksV0FBVyxDQUFDLElB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QUMsQ0FDOUQsQ0FBQztZQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQXNCO1FBRTdDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRGLDhFQUE4RTtRQUM5RSxvRUFBb0U7UUFDcEUsd0ZBQXdGO1FBRXhGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxXQUFtQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtZQUN4QyxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUEzTkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDJtRUFBaUQ7Z0JBRWpELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBOUZPLGtCQUFrQjtZQUpsQixZQUFZO1lBS1osaUJBQWlCOzs7bUNBNkp0QixLQUFLO21CQWNMLEtBQUs7c0JBU0wsS0FBSztrQkFVTCxLQUFLO3VCQVNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0Jsb2JVcmx9IGZyb20gJy4uL2Jsb2ItdXJsJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtIdHRwQ2xpZW50UHJpc3RpbmV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL2h0dHAtY2xpZW50LXByaXN0aW5lJztcbmltcG9ydCB7RWxkZXJUb2FzdFNlcnZpY2V9IGZyb20gJy4uLy4uL3RvYXN0cy9lbGRlci10b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmNsYXNzIEJsb2JDb250ZXh0IHtcblxuICBwdWJsaWMgc3RhdGljIHRleHRCbG9iKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBtaW1lVHlwZTogQmxvYk1pbWVUeXBlXG4gICkge1xuICAgIHJldHVybiBuZXcgQmxvYkNvbnRleHQobnVsbCwgbWltZVR5cGUsIHRleHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzYWZlVXJsKFxuICAgIHNhZmVVcmw6IFNhZmVVcmwsXG4gICAgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSxcbiAgKTogQmxvYkNvbnRleHQge1xuICAgIHJldHVybiBuZXcgQmxvYkNvbnRleHQoc2FmZVVybCwgbWltZVR5cGUsIG51bGwpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNhZmVVcmw6IFNhZmVVcmwsXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbWVUeXBlOiBCbG9iTWltZVR5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlBc1RleHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCBjYW50RGlzcGxheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzcGxheUFzVGV4dCAmJiAhdGhpcy5kaXNwbGF5RW1iZWRkZWRcbiAgICAgICYmICF0aGlzLm1pbWVUeXBlLmlzQXVkaW8gJiYgIXRoaXMubWltZVR5cGUuaXNJbWFnZSAmJiAhdGhpcy5taW1lVHlwZS5pc1ZpZGVvO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5RW1iZWRkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWltZVR5cGUuaXNQZGY7XG4gIH1cblxufVxuXG5jbGFzcyBCbG9iTWltZVR5cGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0NURVRfU1RSRUFNID0gbmV3IEJsb2JNaW1lVHlwZSgnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShtaW1lVHlwZTogc3RyaW5nKTogQmxvYk1pbWVUeXBlIHtcbiAgICBpZiAobWltZVR5cGUpIHtcbiAgICAgIHJldHVybiBuZXcgQmxvYk1pbWVUeXBlKG1pbWVUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEJsb2JNaW1lVHlwZS5PQ1RFVF9TVFJFQU07XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmdcbiAgKSB7ICB9XG5cbiAgcHVibGljIGdldCBpc09jdGV0U3RyZWFtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1ZpZGVvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0F1ZGlvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0pzb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgnYXBwbGljYXRpb24vanNvbicpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BkZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbi9wZGYnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ3RleHQvJykgfHwgdGhpcy5pc0pzb247XG4gIH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1ibG9iLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1ibG9iLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWJsb2Itdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmxvYlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJsb2JDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmxvYkNvbnRleHQ+KG51bGwpO1xuXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdXJsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWltZVR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXlVbmtub3duQXNUZXh0ID0gZmFsc2U7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwUHJpc3RpbmU6IEh0dHBDbGllbnRQcmlzdGluZSxcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBFbGRlclRvYXN0U2VydmljZVxuICApIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl91cmwkLCB0aGlzLl9taW1lVHlwZSRdKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgIGZpbHRlcigoW3VybCwgbWltZVR5cGVdKSA9PiAhIXVybCAmJiAhIW1pbWVUeXBlKSxcbiAgICAgIG1hcCgoW3VybCwgbWltZVR5cGVdKSA9PiBCbG9iVXJsLmZyb20odXJsLCBtaW1lVHlwZSkpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBibG9iVXJsID0+IHtcbiAgICAgICAgdGhpcy5ibG9iVXJsID0gYmxvYlVybDtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgeyAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGRpc3BsYXkgdW5rbm93biBibG9icyBhcyB0ZXh0LiAoaS5lLiBtaW1lLXR5cGUgaXMgb2N0ZXQtc3RyZWFtKVxuICAgKiBAcGFyYW0gdW5rbm93bkFzVGV4dFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5VW5rbm93bkFzVGV4dCh1bmtub3duQXNUZXh0OiBib29sZWFuKSB7XG5cbiAgICAvLyBUT0RPIEZJWCBSQUNFIENPTkRJVElPTjpcbiAgICAvLyAgICBTaW5jZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZWFjdGl2ZSwgaXQgbXVzdCBiZSBzZXQgZmlyc3QuXG4gICAgLy8gICAgT3RoZXJ3aXNlLCBpdCB3aWxsIHN0aWxsIGJlIGZhbHNlLCBldmVuIGlmIHNldCB0byB0cnVlIVxuXG4gICAgdGhpcy5fZGlzcGxheVVua25vd25Bc1RleHQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodW5rbm93bkFzVGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgaW4gbWVtb3J5IGJsb2IgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGJsb2JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmxvYihibG9iOiBCbG9iKSB7XG4gICAgdGhpcy5oYW5kbGVCbG9iKGJsb2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIGJsb2ItdXJsIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBibG9iVXJsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJsb2JVcmwoYmxvYlVybDogQmxvYlVybCkge1xuICAgIHRoaXMuaGFuZGxlQmxvYlVybChibG9iVXJsKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFNldCBhIHVybCB0byBkaXNwbGF5LiBSZXF1aXJlcyB0aGUgbWltZVR5cGUgdG8gYmUgc2V0IGFzd2VsbC5cbiAgICogQHBhcmFtIHVybFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1cmwodXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91cmwkLm5leHQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG1pbWUtdHlwZSBmb3IgdGhlIHVybCB0byBkaXNwbGF5LiBPbmx5IGNvbnNpZGVyZWQgaWYgdXJsIGlzIHNldC5cbiAgICogQHBhcmFtIG1pbWVUeXBlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1pbWVUeXBlKG1pbWVUeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9taW1lVHlwZSQubmV4dChtaW1lVHlwZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgaGFuZGxlQmxvYihibG9iOiBCbG9iKTogdm9pZCB7XG5cbiAgICBjb25zdCBzYWZlVXJsID0gdGhpcy5jcmVhdGVTYWZlVXJsRnJvbUJsb2IoYmxvYik7XG4gICAgY29uc3QgbWltZVR5cGUgPSBCbG9iTWltZVR5cGUucGFyc2UoYmxvYi50eXBlKTtcblxuICAgIGlmICh0aGlzLmNhbkRpc3BsYXlBc1RleHQobWltZVR5cGUpKSB7XG4gICAgICB0aGlzLnRleHRDb250ZXh0KGJsb2IsIG1pbWVUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZXh0QmxvYihcbiAgICAgICAgQmxvYkNvbnRleHQuc2FmZVVybChcbiAgICAgICAgICBzYWZlVXJsLFxuICAgICAgICAgIG1pbWVUeXBlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0ZXh0Q29udGV4dChibG9iOiBCbG9iLCBtaW1lVHlwZTogQmxvYk1pbWVUeXBlKTogdm9pZCB7XG4gICAgYmxvYi50ZXh0KCkudGhlbihcbiAgICAgIHRleHQgPT4ge1xuICAgICAgICB0aGlzLm5leHRCbG9iKFxuICAgICAgICAgIEJsb2JDb250ZXh0LnRleHRCbG9iKFxuICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIG1pbWVUeXBlXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJsb2JVcmwoYmxvYlVybDogQmxvYlVybCk6IHZvaWQge1xuXG4gICAgY29uc3Qgc2FmZVVybCA9IHRoaXMuY3JlYXRlU2FmZVVybEZyb21EYXRhVXJsKGJsb2JVcmwudXJsKTtcbiAgICBjb25zdCBtaW1lVHlwZSA9IEJsb2JNaW1lVHlwZS5wYXJzZShibG9iVXJsLm1pbWVUeXBlKTtcblxuICAgIGlmICh0aGlzLmNhbkRpc3BsYXlBc1RleHQobWltZVR5cGUpKSB7XG4gICAgICB0aGlzLmxvYWRBc1RleHQoYmxvYlVybC51cmwsIG1pbWVUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZXh0QmxvYihcbiAgICAgICAgQmxvYkNvbnRleHQuc2FmZVVybChcbiAgICAgICAgICBzYWZlVXJsLFxuICAgICAgICAgIG1pbWVUeXBlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0QmxvYihibG9iQ29udGV4dDogQmxvYkNvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLmJsb2JDb250ZXh0JC5uZXh0KGJsb2JDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU2FmZVVybEZyb21CbG9iKGJsb2I6IEJsb2IpOiBTYWZlVXJsIHtcbiAgICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKGJsb2JVcmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTYWZlVXJsRnJvbURhdGFVcmwodXJsOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHVybCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRBc1RleHQocHJpc3RpbmVVcmw6IHN0cmluZywgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IHZvaWQge1xuXG4gICAgdGhpcy5uZXh0QmxvYihcbiAgICAgIEJsb2JDb250ZXh0LnRleHRCbG9iKCdMb2FkaW5nLi4uJywgbWltZVR5cGUpXG4gICAgKTtcblxuICAgIHRoaXMuZG93bmxvYWRBc1RleHQocHJpc3RpbmVVcmwpLnN1YnNjcmliZShcbiAgICAgIHRleHQgPT4ge1xuICAgICAgICB0aGlzLm5leHRCbG9iKFxuICAgICAgICAgIEJsb2JDb250ZXh0LnRleHRCbG9iKHRleHQsIG1pbWVUeXBlKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMubmV4dEJsb2IoXG4gICAgICAgICAgQmxvYkNvbnRleHQudGV4dEJsb2IoJ0ZhaWxlZCB0byBkb3dubG9hZCBjb250ZW50IScsIG1pbWVUeXBlKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS53YXJuKCdGYWlsZWQgdG8gZG93bmxvYWQgY29udGVudCEnLCBlcnIpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNhbkRpc3BsYXlBc1RleHQobWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IGJvb2xlYW4ge1xuXG4gICAgY29uc3QgY2FuID0gbWltZVR5cGUuaXNUZXh0IHx8ICh0aGlzLl9kaXNwbGF5VW5rbm93bkFzVGV4dCAmJiBtaW1lVHlwZS5pc09jdGV0U3RyZWFtKTtcblxuICAgIC8vIFRPRE8gX2Rpc3BsYXlVbmtub3duQXNUZXh0IG1pZ2h0IGJlIG51bGwgZHVlIHJhY2UgY29uZGl0aW9uIHNlZSB0b2RvIGFib3ZlLlxuICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdjYW5EaXNwbGF5QXNUZXh0KCcgKyBtaW1lVHlwZS52YWx1ZSArICcpIC0tPiAnXG4gICAgLy8gICsgY2FuICsgJyAtLS0+IHRoaXMuX2Rpc3BsYXlVbmtub3duQXNUZXh0OicgKyB0aGlzLl9kaXNwbGF5VW5rbm93bkFzVGV4dCwgbWltZVR5cGUpO1xuXG4gICAgcmV0dXJuIGNhbjtcbiAgfVxuXG4gIHByaXZhdGUgZG93bmxvYWRBc1RleHQocHJpc3RpbmVVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFByaXN0aW5lLmdldChwcmlzdGluZVVybCwge1xuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICB9KTtcbiAgfVxuXG5cblxufVxuIl19
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9ibG9iLXZpZXdlci9lbGRlci1ibG9iLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxZQUFZLEVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsTUFBTSxXQUFXO0lBZ0JmLFlBQ2tCLE9BQWdCLEVBQ2hCLFFBQXNCLEVBQ3RCLE9BQWUsSUFBSTtRQUZuQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUVyQyxDQUFDO0lBbkJNLE1BQU0sQ0FBQyxRQUFRLENBQ3BCLElBQVksRUFDWixRQUFzQjtRQUV0QixPQUFPLElBQUksV0FBVyxDQUFDLElB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QUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQXNCO1FBRTdDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRGLDhFQUE4RTtRQUM5RSxvRUFBb0U7UUFDcEUsd0ZBQXdGO1FBRXhGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxXQUFtQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtZQUN4QyxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFoTkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDJtRUFBaUQ7Z0JBRWpELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBOUZPLGtCQUFrQjtZQUpsQixZQUFZO1lBS1osaUJBQWlCOzs7bUNBMkp0QixLQUFLO21CQWNMLEtBQUs7c0JBU0wsS0FBSztrQkFVTCxLQUFLO3VCQVNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0Jsb2JVcmx9IGZyb20gJy4uL2Jsb2ItdXJsJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtIdHRwQ2xpZW50UHJpc3RpbmV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL2h0dHAtY2xpZW50LXByaXN0aW5lJztcbmltcG9ydCB7RWxkZXJUb2FzdFNlcnZpY2V9IGZyb20gJy4uLy4uL3RvYXN0cy9lbGRlci10b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmNsYXNzIEJsb2JDb250ZXh0IHtcblxuICBwdWJsaWMgc3RhdGljIHRleHRCbG9iKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBtaW1lVHlwZTogQmxvYk1pbWVUeXBlXG4gICkge1xuICAgIHJldHVybiBuZXcgQmxvYkNvbnRleHQobnVsbCwgbWltZVR5cGUsIHRleHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzYWZlVXJsKFxuICAgIHNhZmVVcmw6IFNhZmVVcmwsXG4gICAgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSxcbiAgKTogQmxvYkNvbnRleHQge1xuICAgIHJldHVybiBuZXcgQmxvYkNvbnRleHQoc2FmZVVybCwgbWltZVR5cGUsIG51bGwpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNhZmVVcmw6IFNhZmVVcmwsXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbWVUeXBlOiBCbG9iTWltZVR5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlBc1RleHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCBjYW50RGlzcGxheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzcGxheUFzVGV4dCAmJiAhdGhpcy5kaXNwbGF5RW1iZWRkZWRcbiAgICAgICYmICF0aGlzLm1pbWVUeXBlLmlzQXVkaW8gJiYgIXRoaXMubWltZVR5cGUuaXNJbWFnZSAmJiAhdGhpcy5taW1lVHlwZS5pc1ZpZGVvO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5RW1iZWRkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWltZVR5cGUuaXNQZGY7XG4gIH1cblxufVxuXG5jbGFzcyBCbG9iTWltZVR5cGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0NURVRfU1RSRUFNID0gbmV3IEJsb2JNaW1lVHlwZSgnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShtaW1lVHlwZTogc3RyaW5nKTogQmxvYk1pbWVUeXBlIHtcbiAgICBpZiAobWltZVR5cGUpIHtcbiAgICAgIHJldHVybiBuZXcgQmxvYk1pbWVUeXBlKG1pbWVUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEJsb2JNaW1lVHlwZS5PQ1RFVF9TVFJFQU07XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmdcbiAgKSB7ICB9XG5cbiAgcHVibGljIGdldCBpc09jdGV0U3RyZWFtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1ZpZGVvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0F1ZGlvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0pzb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgnYXBwbGljYXRpb24vanNvbicpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BkZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbi9wZGYnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ3RleHQvJykgfHwgdGhpcy5pc0pzb247XG4gIH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1ibG9iLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1ibG9iLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWJsb2Itdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmxvYlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJsb2JDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmxvYkNvbnRleHQ+KG51bGwpO1xuXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdXJsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWltZVR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfZGlzcGxheVVua25vd25Bc1RleHQgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBQcmlzdGluZTogSHR0cENsaWVudFByaXN0aW5lLFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IEVsZGVyVG9hc3RTZXJ2aWNlXG4gICkge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3VybCQsIHRoaXMuX21pbWVUeXBlJF0pLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIoKFt1cmwsIG1pbWVUeXBlXSkgPT4gISF1cmwpLFxuICAgICAgbWFwKChbdXJsLCBtaW1lVHlwZV0pID0+IEJsb2JVcmwuZnJvbSh1cmwsIG1pbWVUeXBlKSlcbiAgICApLnN1YnNjcmliZShcbiAgICAgIGJsb2JVcmwgPT4gdGhpcy5ibG9iVXJsID0gYmxvYlVybFxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7ICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGRpc3BsYXkgdW5rbm93biBibG9icyBhcyB0ZXh0LiAoaS5lLiBtaW1lLXR5cGUgaXMgb2N0ZXQtc3RyZWFtKVxuICAgKiBAcGFyYW0gdW5rbm93bkFzVGV4dFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5VW5rbm93bkFzVGV4dCh1bmtub3duQXNUZXh0OiBib29sZWFuKSB7XG5cbiAgICAvLyBUT0RPIEZJWCBSQUNFIENPTkRJVElPTjpcbiAgICAvLyAgICBTaW5jZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZWFjdGl2ZSwgaXQgbXVzdCBiZSBzZXQgZmlyc3QuXG4gICAgLy8gICAgT3RoZXJ3aXNlLCBpdCB3aWxsIHN0aWxsIGJlIGZhbHNlLCBldmVuIGlmIHNldCB0byB0cnVlIVxuXG4gICAgdGhpcy5fZGlzcGxheVVua25vd25Bc1RleHQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodW5rbm93bkFzVGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgaW4gbWVtb3J5IGJsb2IgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGJsb2JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmxvYihibG9iOiBCbG9iKSB7XG4gICAgdGhpcy5oYW5kbGVCbG9iKGJsb2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIGJsb2ItdXJsIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBibG9iVXJsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJsb2JVcmwoYmxvYlVybDogQmxvYlVybCkge1xuICAgIHRoaXMuaGFuZGxlQmxvYlVybChibG9iVXJsKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFNldCBhIHVybCB0byBkaXNwbGF5LiBSZXF1aXJlcyB0aGUgbWltZVR5cGUgdG8gYmUgc2V0IGFzd2VsbC5cbiAgICogQHBhcmFtIHVybFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1cmwodXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91cmwkLm5leHQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG1pbWUtdHlwZSBmb3IgdGhlIHVybCB0byBkaXNwbGF5LiBPbmx5IGNvbnNpZGVyZWQgaWYgdXJsIGlzIHNldC5cbiAgICogQHBhcmFtIG1pbWVUeXBlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1pbWVUeXBlKG1pbWVUeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9taW1lVHlwZSQubmV4dChtaW1lVHlwZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgaGFuZGxlQmxvYihibG9iOiBCbG9iKTogdm9pZCB7XG5cbiAgICBjb25zdCBzYWZlVXJsID0gdGhpcy5jcmVhdGVTYWZlVXJsRnJvbUJsb2IoYmxvYik7XG4gICAgY29uc3QgbWltZVR5cGUgPSBCbG9iTWltZVR5cGUucGFyc2UoYmxvYi50eXBlKTtcblxuICAgIGlmICh0aGlzLmNhbkRpc3BsYXlBc1RleHQobWltZVR5cGUpKSB7XG4gICAgICB0aGlzLnRleHRDb250ZXh0KGJsb2IsIG1pbWVUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZXh0QmxvYihcbiAgICAgICAgQmxvYkNvbnRleHQuc2FmZVVybChzYWZlVXJsLCBtaW1lVHlwZSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0ZXh0Q29udGV4dChibG9iOiBCbG9iLCBtaW1lVHlwZTogQmxvYk1pbWVUeXBlKTogdm9pZCB7XG4gICAgYmxvYi50ZXh0KCkudGhlbihcbiAgICAgIHRleHQgPT4ge1xuICAgICAgICB0aGlzLm5leHRCbG9iKFxuICAgICAgICAgIEJsb2JDb250ZXh0LnRleHRCbG9iKHRleHQsIG1pbWVUeXBlKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJsb2JVcmwoYmxvYlVybDogQmxvYlVybCk6IHZvaWQge1xuXG4gICAgY29uc3Qgc2FmZVVybCA9IHRoaXMuY3JlYXRlU2FmZVVybEZyb21EYXRhVXJsKGJsb2JVcmwudXJsKTtcbiAgICBjb25zdCBtaW1lVHlwZSA9IEJsb2JNaW1lVHlwZS5wYXJzZShibG9iVXJsLm1pbWVUeXBlKTtcblxuICAgIGlmICh0aGlzLmNhbkRpc3BsYXlBc1RleHQobWltZVR5cGUpKSB7XG4gICAgICB0aGlzLmxvYWRBc1RleHQoYmxvYlVybC51cmwsIG1pbWVUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZXh0QmxvYihcbiAgICAgICAgQmxvYkNvbnRleHQuc2FmZVVybChzYWZlVXJsLCBtaW1lVHlwZSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0QmxvYihibG9iQ29udGV4dDogQmxvYkNvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLmJsb2JDb250ZXh0JC5uZXh0KGJsb2JDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU2FmZVVybEZyb21CbG9iKGJsb2I6IEJsb2IpOiBTYWZlVXJsIHtcbiAgICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKGJsb2JVcmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTYWZlVXJsRnJvbURhdGFVcmwodXJsOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHVybCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRBc1RleHQocHJpc3RpbmVVcmw6IHN0cmluZywgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IHZvaWQge1xuXG4gICAgdGhpcy5uZXh0QmxvYihcbiAgICAgIEJsb2JDb250ZXh0LnRleHRCbG9iKCdMb2FkaW5nLi4uJywgbWltZVR5cGUpXG4gICAgKTtcblxuICAgIHRoaXMuZG93bmxvYWRBc1RleHQocHJpc3RpbmVVcmwpLnN1YnNjcmliZShcbiAgICAgIHRleHQgPT4ge1xuICAgICAgICB0aGlzLm5leHRCbG9iKFxuICAgICAgICAgIEJsb2JDb250ZXh0LnRleHRCbG9iKHRleHQsIG1pbWVUeXBlKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMubmV4dEJsb2IoXG4gICAgICAgICAgQmxvYkNvbnRleHQudGV4dEJsb2IoJ0ZhaWxlZCB0byBkb3dubG9hZCBjb250ZW50IScsIG1pbWVUeXBlKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS53YXJuKCdGYWlsZWQgdG8gZG93bmxvYWQgY29udGVudCEnLCBlcnIpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNhbkRpc3BsYXlBc1RleHQobWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IGJvb2xlYW4ge1xuXG4gICAgY29uc3QgY2FuID0gbWltZVR5cGUuaXNUZXh0IHx8ICh0aGlzLl9kaXNwbGF5VW5rbm93bkFzVGV4dCAmJiBtaW1lVHlwZS5pc09jdGV0U3RyZWFtKTtcblxuICAgIC8vIFRPRE8gX2Rpc3BsYXlVbmtub3duQXNUZXh0IG1pZ2h0IGJlIG51bGwgZHVlIHJhY2UgY29uZGl0aW9uIHNlZSB0b2RvIGFib3ZlLlxuICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdjYW5EaXNwbGF5QXNUZXh0KCcgKyBtaW1lVHlwZS52YWx1ZSArICcpIC0tPiAnXG4gICAgLy8gICsgY2FuICsgJyAtLS0+IHRoaXMuX2Rpc3BsYXlVbmtub3duQXNUZXh0OicgKyB0aGlzLl9kaXNwbGF5VW5rbm93bkFzVGV4dCwgbWltZVR5cGUpO1xuXG4gICAgcmV0dXJuIGNhbjtcbiAgfVxuXG4gIHByaXZhdGUgZG93bmxvYWRBc1RleHQocHJpc3RpbmVVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFByaXN0aW5lLmdldChwcmlzdGluZVVybCwge1xuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -34,4 +34,6 @@ export * from './containers/public_api';
|
|
|
34
34
|
export * from './csv/elder-csv.module';
|
|
35
35
|
export * from './input/public_api';
|
|
36
36
|
export * from './iframes/elder-iframe.module';
|
|
37
|
-
|
|
37
|
+
export * from './errors/elder-error.module';
|
|
38
|
+
export * from './auditing/elder-audit.module';
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY2Vzcy1kZW5pZWQvZWxkZXItYWNjZXNzLWRlbmllZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBhbmQtdG9nZ2xlLWJ1dHRvbi9lbGRlci1leHBhbmQtdG9nZ2xlLWJ1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS1hdXRvY29tcGxldGUvZWxkZXItbXVsdGktYXV0by1jb21wbGV0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYWJlbHMvZWxkZXItbGFiZWxzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhbmVscy9lbGRlci1wYW5lbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlcy9lbGRlci1maWxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtb3JnYW5pemVyL2VsZGVyLWNhcmQtb3JnYW5pemVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdmlldy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2hlbGwvZWxkZXItc2hlbGwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWxpc3QvZWxkZXItc2VsZWN0LWxpc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWNoaXAtbGlzdC9lbGRlci1jaGlwLWxpc3Qtc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdHJhbnNmZXIvZWxkZXItZGF0YS10cmFuc2Zlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5cy9lbGRlci1vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpdml0eS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1zL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXN1cHBvcnQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZ3MvZWxkZXItZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdHMvZWxkZXItdG9hc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlcy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3kvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRlcnMvZWxkZXItaGVhZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmRzL2VsZGVyLWNhcmQvZWxkZXItY2FyZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3ZXJzL2VsZGVyLXZpZXdlcnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXJsLWZyYWdtZW50L2VsZGVyLXVybC1mcmFnbWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24tZ3JvdXAvZWxkZXItYnV0dG9uLWdyb3VwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBoL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWluZXJzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jc3YvZWxkZXItY3N2Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9pZnJhbWVzL2VsZGVyLWlmcmFtZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMvZWxkZXItZXJyb3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaXRpbmcvZWxkZXItYXVkaXQubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvLWR1cmF0aW9uLXN0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kdXJhdGlvbi9pc28tZHVyYXRpb24tc3RyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYSByYXcgSVNPIGR1cmF0aW9uIGZvcm1hdHRlZCBzdHJpbmcgc3VjaCBhcyAnUDIzRFQyM0gnXG4gKiBBIHBhcnNlZCBkdXJhdGlvbiBpcyByZXByZXNlbnRlZCBieSBhIGpvZGEgRHVyYXRpb24gY2xhc3MuXG4gKi9cbmV4cG9ydCB0eXBlIElzb0R1cmF0aW9uU3RyID0gc3RyaW5nO1xuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './date-adapters/custom-date-adapter';
|
|
2
2
|
export * from './duration/duration-bucket';
|
|
3
3
|
export * from './duration/duration-format';
|
|
4
|
+
export * from './duration/iso-duration-str';
|
|
4
5
|
export * from './period/period-bucket';
|
|
5
6
|
export * from './period/period-format';
|
|
6
7
|
export * from './elder-time.module';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUtYWRhcHRlcnMvY3VzdG9tLWRhdGUtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uL2R1cmF0aW9uLWJ1Y2tldCc7XG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uL2R1cmF0aW9uLWZvcm1hdCc7XG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uL2lzby1kdXJhdGlvbi1zdHInO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJpb2QvcGVyaW9kLWJ1Y2tldCc7XG5leHBvcnQgKiBmcm9tICcuL3BlcmlvZC9wZXJpb2QtZm9ybWF0JztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItdGltZS5tb2R1bGUnO1xuXG4iXX0=
|
|
@@ -54,4 +54,4 @@ IsoDurationPipe.decorators = [
|
|
|
54
54
|
IsoDurationPipe.ctorParameters = () => [
|
|
55
55
|
{ type: ElderUnitService }
|
|
56
56
|
];
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvLWR1cmF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9waXBlcy9pc28tZHVyYXRpb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRDs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUNtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFKL0IsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQU16RSxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFNBQVMsQ0FBQyxLQUEwRCxFQUFFLE1BQU0sR0FBRyxjQUFjLENBQUMsY0FBYztRQUVqSCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQUU7UUFFbEMsSUFBSTtZQUNGLElBQUksS0FBSyxZQUFZLFFBQVEsRUFBRTtnQkFDN0IsS0FBSyxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUM7aUJBQU0sSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFO2dCQUNsQyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN4QztpQkFBTSxJQUFJLEtBQUssWUFBWSxjQUFjLEVBQUU7Z0JBQzFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyQztZQUVELE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkQ7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNyRixPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7OztZQXZDRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGFBQWE7YUFDcEI7OztZQWZPLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW5pdH0gZnJvbSAnLi4vY29tcG9uZW50cy9tZWFzdXJlcy9tb2RlbC91bml0JztcbmltcG9ydCB7RHVyYXRpb24sIFBlcmlvZH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQge0VsZGVyVW5pdFNlcnZpY2V9IGZyb20gJy4uL2NvbXBvbmVudHMvbWVhc3VyZXMvZWxkZXItdW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7RHVyYXRpb25Gb3JtYXR9IGZyb20gJy4uL2NvbXBvbmVudHMvdGltZS9kdXJhdGlvbi9kdXJhdGlvbi1mb3JtYXQnO1xuaW1wb3J0IHtQZXJpb2REdXJhdGlvbn0gZnJvbSAnLi4vY29tbW9uL3RpbWUvcGVyaW9kLWR1cmF0aW9uJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtJc29EdXJhdGlvblN0cn0gZnJvbSAnLi4vY29tcG9uZW50cy90aW1lL2R1cmF0aW9uL2lzby1kdXJhdGlvbi1zdHInO1xuXG4vKipcbiAqIENvbnZlcnRzIGFueSB2YWxpZCBpbnB1dCBvZiBzdGFuZGFyZCBJU08gODYwMSBkdXJhdGlvbiBmb3JtYXRcbiAqIGV4YW1wbGUgaW5wdXQ6IFBUMkgxME0xMi4xMjM1Njc1Uywgb3V0cHV0OiAyaCwgMTBtaW4sIDEycywgMTI0IG1zXG4gKlxuICogYSBtYXhpbWFsIGlucHV0IGxvb2tzIGxpa2UgdGhpczogUDNZNk00RFQxMkgzME01UyBhbHRob3VnaFxuICogIGFsbCBhcmd1bWVudHMgZXhjZXB0IFAgYXJlIG9wdGlvbmFsLCBkZWNpbWFsIG51bWJlcnMgYWxsb3dlZFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdpc29EdXJhdGlvbidcbn0pXG5leHBvcnQgY2xhc3MgSXNvRHVyYXRpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bml0U2VydmljZTogRWxkZXJVbml0U2VydmljZVxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IElzb0R1cmF0aW9uU3RyIHwgRHVyYXRpb24gfCBQZXJpb2QgfCBQZXJpb2REdXJhdGlvbiwgZm9ybWF0ID0gRHVyYXRpb25Gb3JtYXQuRk9STUFUX0RZTkFNSUMpOiBzdHJpbmcge1xuXG4gICAgaWYgKCF2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKyAnJzsgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIER1cmF0aW9uKSB7XG4gICAgICAgIHZhbHVlID0gUGVyaW9kRHVyYXRpb24ub2ZEdXJhdGlvbih2YWx1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgUGVyaW9kKSB7XG4gICAgICAgIHZhbHVlID0gUGVyaW9kRHVyYXRpb24ub2ZQZXJpb2QodmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFBlcmlvZER1cmF0aW9uKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IFBlcmlvZER1cmF0aW9uLnBhcnNlKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIER1cmF0aW9uRm9ybWF0LnBhcnNlKGZvcm1hdCkuZm9ybWF0KHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcGFyc2UgcGVyaW9kL2R1cmF0aW9uIHZhbHVlOiAnICsgdmFsdWUudG9TdHJpbmcoKSwgZXJyKTtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG59XG4iXX0=
|
|
@@ -101,4 +101,4 @@ TimeAgoPipe.ctorParameters = () => [
|
|
|
101
101
|
{ type: ChangeDetectorRef },
|
|
102
102
|
{ type: NgZone }
|
|
103
103
|
];
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL3BpcGVzL3RpbWUtYWdvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLElBQUksRUFBaUIsTUFBTSxFQUFFLGlCQUFpQixFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3hGOzs7R0FHRztBQUtILE1BQU0sT0FBTyxXQUFXO0lBSXRCLFlBQW9CLGlCQUFvQyxFQUFVLE1BQWM7UUFBNUQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRTdFLFNBQVMsQ0FBQyxLQUE2QjtRQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU8sY0FBYyxDQUFDO1NBQUU7UUFFdEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDOUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7Z0JBQ2pDLE9BQU8sTUFBTSxDQUFDLFVBQVUs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LEdBQUcsRUFBRSxFQUFFLHVDQUF1QztZQUNqRSxPQUFPLEdBQUcsQ0FBQztTQUNaO2FBQU0sRUFBRSxvQkFBb0I7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7OztZQTlFRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLEtBQUs7YUFDWjs7O1lBVm9DLGlCQUFpQjtZQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm0sIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuLyoqXG4gKiBTb3VyY2UgY29kZSBmcm9tXG4gKiBodHRwczovL2dpdGh1Yi5jb20vQW5kcmV3UG95bnR6L3RpbWUtYWdvLXBpcGVcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAndGltZUFnbycsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVBZ29QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHRpbWVyOiBudW1iZXIgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUpIHtcbiAgICB0aGlzLnJlbW92ZVRpbWVyKCk7XG5cbiAgICBpZiAoIXZhbHVlKSB7IHJldHVybiAndW5rbm93biB0aW1lJzsgfVxuXG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKChub3cuZ2V0VGltZSgpIC0gZC5nZXRUaW1lKCkpIC8gMTAwMCkpO1xuICAgIGNvbnN0IHRpbWVUb1VwZGF0ZSA9IHRoaXMuZ2V0U2Vjb25kc1VudGlsVXBkYXRlKHNlY29uZHMpICogMTAwMDtcbiAgICB0aGlzLnRpbWVyID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgICAgICB9LCB0aW1lVG9VcGRhdGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGgucm91bmQoTWF0aC5hYnMoc2Vjb25kcyAvIDYwKSk7XG4gICAgY29uc3QgaG91cnMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKG1pbnV0ZXMgLyA2MCkpO1xuICAgIGNvbnN0IGRheXMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGhvdXJzIC8gMjQpKTtcbiAgICBjb25zdCBtb250aHMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRheXMgLyAzMC40MTYpKTtcbiAgICBjb25zdCB5ZWFycyA9IE1hdGgucm91bmQoTWF0aC5hYnMoZGF5cyAvIDM2NSkpO1xuICAgIGlmIChzZWNvbmRzIDw9IDQ1KSB7XG4gICAgICByZXR1cm4gJ2EgZmV3IHNlY29uZHMgYWdvJztcbiAgICB9IGVsc2UgaWYgKHNlY29uZHMgPD0gOTApIHtcbiAgICAgIHJldHVybiAnYSBtaW51dGUgYWdvJztcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPD0gNDUpIHtcbiAgICAgIHJldHVybiBtaW51dGVzICsgJyBtaW51dGVzIGFnbyc7XG4gICAgfSBlbHNlIGlmIChtaW51dGVzIDw9IDkwKSB7XG4gICAgICByZXR1cm4gJ2FuIGhvdXIgYWdvJztcbiAgICB9IGVsc2UgaWYgKGhvdXJzIDw9IDIyKSB7XG4gICAgICByZXR1cm4gaG91cnMgKyAnIGhvdXJzIGFnbyc7XG4gICAgfSBlbHNlIGlmIChob3VycyA8PSAzNikge1xuICAgICAgcmV0dXJuICdhIGRheSBhZ28nO1xuICAgIH0gZWxzZSBpZiAoZGF5cyA8PSAyNSkge1xuICAgICAgcmV0dXJuIGRheXMgKyAnIGRheXMgYWdvJztcbiAgICB9IGVsc2UgaWYgKGRheXMgPD0gNDUpIHtcbiAgICAgIHJldHVybiAnYSBtb250aCBhZ28nO1xuICAgIH0gZWxzZSBpZiAoZGF5cyA8PSAzNDUpIHtcbiAgICAgIHJldHVybiBtb250aHMgKyAnIG1vbnRocyBhZ28nO1xuICAgIH0gZWxzZSBpZiAoZGF5cyA8PSA1NDUpIHtcbiAgICAgIHJldHVybiAnYSB5ZWFyIGFnbyc7XG4gICAgfSBlbHNlIHsgLy8gKGRheXMgPiA1NDUpXG4gICAgICByZXR1cm4geWVhcnMgKyAnIHllYXJzIGFnbyc7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlVGltZXIoKTtcbiAgfVxuICBwcml2YXRlIHJlbW92ZVRpbWVyKCkge1xuICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgICAgdGhpcy50aW1lciA9IG51bGw7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0U2Vjb25kc1VudGlsVXBkYXRlKHNlY29uZHM6IG51bWJlcikge1xuICAgIGNvbnN0IG1pbiA9IDYwO1xuICAgIGNvbnN0IGhyID0gbWluICogNjA7XG4gICAgY29uc3QgZGF5ID0gaHIgKiAyNDtcbiAgICBpZiAoc2Vjb25kcyA8IG1pbikgeyAvLyBsZXNzIHRoYW4gMSBtaW4sIHVwZGF0ZSBldmVyIDIgc2Vjc1xuICAgICAgcmV0dXJuIDI7XG4gICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgaHIpIHsgLy8gbGVzcyB0aGFuIGFuIGhvdXIsIHVwZGF0ZSBldmVyeSAzMCBzZWNzXG4gICAgICByZXR1cm4gMzA7XG4gICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgZGF5KSB7IC8vIGxlc3MgdGhlbiBhIGRheSwgdXBkYXRlIGV2ZXJ5IDUgbWluc1xuICAgICAgcmV0dXJuIDMwMDtcbiAgICB9IGVsc2UgeyAvLyB1cGRhdGUgZXZlcnkgaG91clxuICAgICAgcmV0dXJuIDM2MDA7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -56,6 +56,7 @@ import { Overlay, OverlayPositionBuilder, OverlayModule } from '@angular/cdk/ove
|
|
|
56
56
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
57
57
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
58
58
|
import * as StreamSaver from 'streamsaver';
|
|
59
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
|
59
60
|
|
|
60
61
|
class BytesFormat {
|
|
61
62
|
static format(bytes, precision = 2) {
|
|
@@ -8106,11 +8107,9 @@ class ElderBlobViewerComponent {
|
|
|
8106
8107
|
this.blobContext$ = new BehaviorSubject(null);
|
|
8107
8108
|
this._url$ = new BehaviorSubject(null);
|
|
8108
8109
|
this._mimeType$ = new BehaviorSubject(null);
|
|
8109
|
-
this.
|
|
8110
|
+
this.destroy$ = new Subject();
|
|
8110
8111
|
this._displayUnknownAsText = false;
|
|
8111
|
-
combineLatest([this._url$, this._mimeType$]).pipe(takeUntil(this.
|
|
8112
|
-
this.blobUrl = blobUrl;
|
|
8113
|
-
});
|
|
8112
|
+
combineLatest([this._url$, this._mimeType$]).pipe(takeUntil(this.destroy$), filter(([url, mimeType]) => !!url), map(([url, mimeType]) => BlobUrl.from(url, mimeType))).subscribe(blobUrl => this.blobUrl = blobUrl);
|
|
8114
8113
|
}
|
|
8115
8114
|
/***************************************************************************
|
|
8116
8115
|
* *
|
|
@@ -8119,8 +8118,8 @@ class ElderBlobViewerComponent {
|
|
|
8119
8118
|
**************************************************************************/
|
|
8120
8119
|
ngOnInit() { }
|
|
8121
8120
|
ngOnDestroy() {
|
|
8122
|
-
this.
|
|
8123
|
-
this.
|
|
8121
|
+
this.destroy$.next();
|
|
8122
|
+
this.destroy$.complete();
|
|
8124
8123
|
}
|
|
8125
8124
|
/***************************************************************************
|
|
8126
8125
|
* *
|
|
@@ -8232,7 +8231,7 @@ ElderBlobViewerComponent.decorators = [
|
|
|
8232
8231
|
selector: 'elder-blob-viewer',
|
|
8233
8232
|
template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"document-viewer\" fxFill>\n\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n\n <!-- Video -->\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" *ngIf=\"blobContext.mimeType.isVideo\" fxFill>\n <video class=\"video\"\n controls autoplay loop\n\n >\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\">\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" *ngIf=\"blobContext.mimeType.isAudio\" fxFill>\n <audio class=\"audio\"\n controls autoplay loop\n >\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\">\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div fxLayout=\"column\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\" fxFill>\n <img class=\"cover\" fxFlex\n [src]=\"blobContext.safeUrl\" alt=\"blob image\"/>\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div fxLayout=\"column\" *ngIf=\"blobContext.displayEmbedded\" fxFill>\n <div style=\"width: 100%;height: 100%\">\n <embed class=\"embedded\" [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" width=\"100%\" height=\"100%\">\n </div>\n </div>\n\n <!-- Plain Text -->\n <div fxLayout=\"column\" *ngIf=\"blobContext.displayAsText\" fxFill>\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\" wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" *ngIf=\"blobContext.cantDisplay\" fxFill>\n <p>Cant display {{blobContext.mimeType.value}}!</p>\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\n <p>No Document.</p>\n </div>\n </ng-container>\n\n\n</div>\n",
|
|
8234
8233
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8235
|
-
styles: [".document-viewer{background-color:#dedede;color:#1f1e1e}.video{width:100%;height:auto}.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{-o-object-fit:scale-down;object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:#575757;color:#ccc;outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #FFF;border-bottom:1px solid #FFF}\n"]
|
|
8234
|
+
styles: [":host{overflow:hidden}.document-viewer{background-color:#dedede;color:#1f1e1e}.video{width:100%;height:auto}.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{-o-object-fit:scale-down;object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:#575757;color:#ccc;outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #FFF;border-bottom:1px solid #FFF}\n"]
|
|
8236
8235
|
},] }
|
|
8237
8236
|
];
|
|
8238
8237
|
ElderBlobViewerComponent.ctorParameters = () => [
|
|
@@ -8301,7 +8300,7 @@ class ElderCardOrganizerComponent {
|
|
|
8301
8300
|
* Fields *
|
|
8302
8301
|
* *
|
|
8303
8302
|
**************************************************************************/
|
|
8304
|
-
this.logger = LoggerFactory.getLogger(
|
|
8303
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
8305
8304
|
this.canRemove = true;
|
|
8306
8305
|
/**
|
|
8307
8306
|
* If enabled, the card organizer will
|
|
@@ -8366,7 +8365,7 @@ class ElderCardOrganizerComponent {
|
|
|
8366
8365
|
}
|
|
8367
8366
|
ElderCardOrganizerComponent.decorators = [
|
|
8368
8367
|
{ type: Component, args: [{
|
|
8369
|
-
selector: 'elder-card-organizer
|
|
8368
|
+
selector: 'elder-card-organizer',
|
|
8370
8369
|
template: "\n<div fxLayout=\"row\" fxLayoutGap=\"20px\" class=\"padding-10 card-organizer\" fxFill>\n\n <elder-card-stack fxFlex\n *ngFor=\"let stack of stacks$ | async\"\n\n [stack]=\"stack\"\n\n [stackId]=\"stack.id\"\n [headerEnabled]=\"headerEnabled\"\n [headerTitle]=\"stack.title\"\n [canRemove]=\"canRemove\"\n\n [cardTemplate]=\"stackCardTemplate\"\n [removeConfirmation]=\"removeConfirmation\"\n [autoMoveCards]=\"autoMoveCards\"\n (requestNewCard)=\"onRequestNewCard($event)\"\n (requestRemoveCard)=\"onRequestRemoveCard($event)\"\n (cardClick)=\"onCardClicked($event)\"\n\n [connectedTo]=\"organizerModel.stackIds | async\"\n (cardDropped)=\"onCardDropped($event)\"\n [canEnterPredicate]=\"canEnterPredicate\"\n [copyOnDrag]=\"copyOnDrag\"\n >\n </elder-card-stack>\n\n</div>\n",
|
|
8371
8370
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8372
8371
|
styles: [""]
|
|
@@ -12891,6 +12890,8 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
12891
12890
|
this.idField = 'id';
|
|
12892
12891
|
this.selectionVisible = true;
|
|
12893
12892
|
this.interactionMode = 'open';
|
|
12893
|
+
this.pageSizeOptions = [30, 50, 100, 150, 200];
|
|
12894
|
+
this.destroy$ = new Subject();
|
|
12894
12895
|
}
|
|
12895
12896
|
/***************************************************************************
|
|
12896
12897
|
* *
|
|
@@ -12916,7 +12917,15 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
12916
12917
|
}
|
|
12917
12918
|
}
|
|
12918
12919
|
}
|
|
12920
|
+
ngAfterViewInit() {
|
|
12921
|
+
MatTableDataContextBindingBuilder
|
|
12922
|
+
.start(this.dataContext$)
|
|
12923
|
+
.withPaginator(of(this.matPaginator))
|
|
12924
|
+
.bindUntil(this.destroy$);
|
|
12925
|
+
}
|
|
12919
12926
|
ngOnDestroy() {
|
|
12927
|
+
this.destroy$.next();
|
|
12928
|
+
this.destroy$.complete();
|
|
12920
12929
|
}
|
|
12921
12930
|
/***************************************************************************
|
|
12922
12931
|
* *
|
|
@@ -12938,7 +12947,12 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
12938
12947
|
set data(data) {
|
|
12939
12948
|
this.dataContext$.next(data);
|
|
12940
12949
|
this.total$ = data.total.pipe(map(total => total ? total + '' : '∞'));
|
|
12941
|
-
|
|
12950
|
+
if (isContinuableDataContext(data)) {
|
|
12951
|
+
this.canLoadMore$ = combineLatest([data.loading, data.hasMoreData]).pipe(map(([loading, hasMoreData]) => !loading && hasMoreData));
|
|
12952
|
+
}
|
|
12953
|
+
else {
|
|
12954
|
+
this.canLoadMore$ = of(false);
|
|
12955
|
+
}
|
|
12942
12956
|
}
|
|
12943
12957
|
get dataSnapshot() {
|
|
12944
12958
|
return this.dataContinuable;
|
|
@@ -13030,7 +13044,7 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
13030
13044
|
ElderGridComponent.decorators = [
|
|
13031
13045
|
{ type: Component, args: [{
|
|
13032
13046
|
selector: 'elder-grid',
|
|
13033
|
-
template: "<div fxLayout=\"column\" class=\"scroll-fix\" fxFill>\n\n <!-- Grid Browser -->\n <div fxLayout=\"column\" fxFlex\n class=\"scroll-fix elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [class.elder-mat-table-container]=\"!embedded\"\n [class.mat-elevation-z5]=\"float\"\n [class.elder-mat-table-flat]=\"!embedded && !float\"\n\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex=\"none\" class=\"elder-grid-toolbar\">\n\n <div fxLayout=\"column\" fxFlex=\"none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox fxFlex=\"none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n fxFlex=\"none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"elder-grid-browser\" fxLayout=\"column\" fxFlex\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"
|
|
13047
|
+
template: "<div fxLayout=\"column\" class=\"scroll-fix\" fxFill>\n\n <!-- Grid Browser -->\n <div fxLayout=\"column\" fxFlex\n class=\"scroll-fix elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [class.elder-mat-table-container]=\"!embedded\"\n [class.mat-elevation-z5]=\"float\"\n [class.elder-mat-table-flat]=\"!embedded && !float\"\n\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex=\"none\" class=\"elder-grid-toolbar\">\n\n <div fxLayout=\"column\" fxFlex=\"none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox fxFlex=\"none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n fxFlex=\"none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <span class=\"elder-table-hint mat-body-1\" fxFlex fxLayoutAlign=\"center center\"\n *ngIf=\"!dataContext?.isStarted\">\n {{'Datacontext not started' | translate}}\n </span>\n\n <div *ngIf=\"(dataContext?.data | async)?.isStarted\" fxFlex fxLayoutAlign=\"center center\">\n\n <span class=\"elder-table-hint mat-body-1\"\n *ngIf=\"(dataContext?.data | async)?.length === 0 && !(dataContext?.status | async)?.hasError\">\n {{'No data available' | translate}}\n </span>\n\n <div *ngIf=\"(dataContext?.status | async)?.hasError\"\n fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"20px\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"hint mat-body-1\">{{'Error while loading data' | translate}}</span>\n </div>\n\n </div>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"elder-grid-browser\" fxLayout=\"column\" fxFlex\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\">\n\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"let row of dataRows$; trackBy: trackByIndex; templateCacheSize: 50\"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight + 'px'\">\n\n <ng-container *ngFor=\"let tile of row; trackBy: trackByFn\">\n\n <!-- Tile Cell -->\n <div *ngIf=\"showTile(tile)\" class=\"elder-grid-tile\">\n <!-- cdkDrag [cdkDragDisabled]=\"true\" [cdkDragData]=\"tile\" -->\n <!-- <div class=\"tile-placeholder\" *cdkDragPlaceholder></div> -->\n <div class=\"elder-grid-tile-content\">\n <ng-container\n *ngTemplateOutlet=\"tileTemplate || simpleTileTemplate; context: {$implicit: tile}\">\n </ng-container>\n\n <!-- Overlay (Selection) -->\n <ng-container *ngIf=\"selectionVisible\">\n <div *ngIf=\"selectionModel.selection | async as selection\"\n class=\"elder-grid-tile-overlay\"\n [class.elder-grid-tile-overlay-hidden]=\"!inSelectionMode(selection)\"\n [class.elder-grid-tile-overlay-visible]=\"inSelectionMode(selection)\"\n [class.elder-click-through]=\"!inSelectionMode(selection)\"\n (click)=\"selectionModel.toggle(tile)\"\n >\n <button mat-icon-button type=\"button\"\n (click)=\"selectionModel.toggle(tile)\" elderStopEventPropagation\n class=\"elder-grid-tile-check\">\n <mat-icon\n [class.elder-selected]=\"(selectionModel.observeSelection(tile) | async)\"\n >\n {{(selectionModel.observeSelection(tile) | async) ? 'check_circle' : 'radio_button_unchecked'}}\n </mat-icon>\n </button>\n </div>\n </ng-container>\n\n </div>\n </div>\n\n <div *ngIf=\"!showTile(tile)\" class=\"elder-grid-tile-hidden\"></div>\n </ng-container>\n\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n\n <mat-progress-bar fxFlex=\"none\"\n [mode]=\"(data?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(data && (data.status | async)?.hasError) ? 'warn' : 'primary'\">\n </mat-progress-bar>\n\n <!-- Footer -->\n <div class=\"elder-grid-footer\" *ngIf=\"footerVisible\"\n fxLayout=\"row\" fxFlex=\"none\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\"\n style=\"padding-right: 10px\">\n\n <!-- Continuable -->\n <ng-container *ngIf=\"isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}} / {{total$ | async}}\n </span>\n\n <button mat-icon-button type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataSnapshot.loadMore()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </ng-container>\n\n <!-- Paged -->\n <mat-paginator #matPaginator *ngIf=\"isActivePaged && (dataActivePaged.page | async) as page\"\n fxFlex=\"none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\">\n </mat-paginator>\n\n <!-- Local Source -->\n <ng-container *ngIf=\"!isActivePaged && !isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}}\n </span>\n </ng-container>\n\n </div>\n\n\n </div>\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n <div *ngIf=\"tile\" fxLayout=\"column\" fxFlex fxLayoutAlign=\"center center\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{tile}}</p>\n </div>\n</ng-template>\n",
|
|
13034
13048
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13035
13049
|
providers: [
|
|
13036
13050
|
{
|
|
@@ -13059,6 +13073,8 @@ ElderGridComponent.propDecorators = {
|
|
|
13059
13073
|
idField: [{ type: Input }],
|
|
13060
13074
|
selectionVisible: [{ type: Input }],
|
|
13061
13075
|
interactionMode: [{ type: Input }],
|
|
13076
|
+
pageSizeOptions: [{ type: Input }],
|
|
13077
|
+
matPaginator: [{ type: ViewChild, args: [MatPaginator,] }],
|
|
13062
13078
|
toolbarTemplateQuery: [{ type: ContentChild, args: [ElderGridToolbarDirective, { read: TemplateRef, static: true },] }],
|
|
13063
13079
|
tileTemplate: [{ type: Input }],
|
|
13064
13080
|
toolbarTemplate: [{ type: Input }],
|
|
@@ -13083,7 +13099,7 @@ ElderGridModule.decorators = [
|
|
|
13083
13099
|
TranslateModule,
|
|
13084
13100
|
ElderDataCommonModule,
|
|
13085
13101
|
ElderInfiniteScrollModule,
|
|
13086
|
-
ElderFormsDirectivesModule
|
|
13102
|
+
ElderFormsDirectivesModule, MatPaginatorModule
|
|
13087
13103
|
],
|
|
13088
13104
|
declarations: [
|
|
13089
13105
|
ElderGridComponent,
|
|
@@ -21658,6 +21674,146 @@ ElderIFrameModule.decorators = [
|
|
|
21658
21674
|
},] }
|
|
21659
21675
|
];
|
|
21660
21676
|
|
|
21677
|
+
class ExceptionDetailCtx {
|
|
21678
|
+
constructor(detail) {
|
|
21679
|
+
var _a;
|
|
21680
|
+
this.detail = detail;
|
|
21681
|
+
if (detail) {
|
|
21682
|
+
this.panelTitle = (_a = detail.title) === null || _a === void 0 ? void 0 : _a.substring(0, 50);
|
|
21683
|
+
this.panelDescription = detail.detail.substring(0, 100);
|
|
21684
|
+
}
|
|
21685
|
+
}
|
|
21686
|
+
static of(detail) {
|
|
21687
|
+
return new ExceptionDetailCtx(detail);
|
|
21688
|
+
}
|
|
21689
|
+
}
|
|
21690
|
+
ExceptionDetailCtx.Empty = new ExceptionDetailCtx(null);
|
|
21691
|
+
class ElderExceptionDetailComponent {
|
|
21692
|
+
/***************************************************************************
|
|
21693
|
+
* *
|
|
21694
|
+
* Constructor *
|
|
21695
|
+
* *
|
|
21696
|
+
**************************************************************************/
|
|
21697
|
+
constructor() {
|
|
21698
|
+
/***************************************************************************
|
|
21699
|
+
* *
|
|
21700
|
+
* Fields *
|
|
21701
|
+
* *
|
|
21702
|
+
**************************************************************************/
|
|
21703
|
+
this.errorCtx$ = new BehaviorSubject(ExceptionDetailCtx.Empty);
|
|
21704
|
+
this.expanded = false;
|
|
21705
|
+
this.stacktraceRows = 8;
|
|
21706
|
+
}
|
|
21707
|
+
/***************************************************************************
|
|
21708
|
+
* *
|
|
21709
|
+
* Life Cycle *
|
|
21710
|
+
* *
|
|
21711
|
+
**************************************************************************/
|
|
21712
|
+
ngOnInit() {
|
|
21713
|
+
}
|
|
21714
|
+
/***************************************************************************
|
|
21715
|
+
* *
|
|
21716
|
+
* Properties *
|
|
21717
|
+
* *
|
|
21718
|
+
**************************************************************************/
|
|
21719
|
+
set error(error) {
|
|
21720
|
+
this.errorCtx$.next(ExceptionDetailCtx.of(error));
|
|
21721
|
+
}
|
|
21722
|
+
}
|
|
21723
|
+
ElderExceptionDetailComponent.decorators = [
|
|
21724
|
+
{ type: Component, args: [{
|
|
21725
|
+
selector: 'elder-exception-detail',
|
|
21726
|
+
template: "<ng-container *ngIf=\"errorCtx$ | async as errorCtx\">\n\n <mat-accordion *ngIf=\"errorCtx.detail as error\" fxFill>\n <mat-expansion-panel [expanded]=\"expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mat-icon color=\"warn\" class=\"noselect\">warning</mat-icon>\n <span class=\"noselect\">{{errorCtx.panelTitle}}</span>\n </mat-panel-title>\n <mat-panel-description class=\"noselect\">\n <span class=\"mat-caption\">{{errorCtx.panelDescription}}</span>\n </mat-panel-description>\n </mat-expansion-panel-header>\n\n <div fxLayout=\"column\" fxFlex style=\"overflow: hidden\">\n\n <mat-form-field class=\"full-width\">\n <mat-label>Detail</mat-label>\n <input matInput [value]=\"error.detail\" readonly>\n </mat-form-field>\n\n <mat-form-field class=\"full-width\">\n <mat-label>Stacktrace</mat-label>\n <textarea class=\"stacktrace\" matInput [value]=\"error.stacktrace\" [rows]=\"stacktraceRows\"></textarea>\n </mat-form-field>\n\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n</ng-container>\n\n\n",
|
|
21727
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21728
|
+
styles: [".stacktrace{font-size:11px;font-family:monospace;white-space:pre;overflow-wrap:normal;overflow-x:scroll;background-color:#575757;color:#d0b795}\n"]
|
|
21729
|
+
},] }
|
|
21730
|
+
];
|
|
21731
|
+
ElderExceptionDetailComponent.ctorParameters = () => [];
|
|
21732
|
+
ElderExceptionDetailComponent.propDecorators = {
|
|
21733
|
+
expanded: [{ type: Input }],
|
|
21734
|
+
stacktraceRows: [{ type: Input }],
|
|
21735
|
+
error: [{ type: Input }]
|
|
21736
|
+
};
|
|
21737
|
+
|
|
21738
|
+
/**
|
|
21739
|
+
* Provides Error Indicators and Exception detail components.
|
|
21740
|
+
*/
|
|
21741
|
+
class ElderErrorModule {
|
|
21742
|
+
}
|
|
21743
|
+
ElderErrorModule.decorators = [
|
|
21744
|
+
{ type: NgModule, args: [{
|
|
21745
|
+
declarations: [
|
|
21746
|
+
ElderExceptionDetailComponent
|
|
21747
|
+
],
|
|
21748
|
+
exports: [
|
|
21749
|
+
ElderExceptionDetailComponent
|
|
21750
|
+
],
|
|
21751
|
+
imports: [
|
|
21752
|
+
CommonModule,
|
|
21753
|
+
MatExpansionModule,
|
|
21754
|
+
MatIconModule,
|
|
21755
|
+
MatInputModule,
|
|
21756
|
+
FlexModule
|
|
21757
|
+
]
|
|
21758
|
+
},] }
|
|
21759
|
+
];
|
|
21760
|
+
|
|
21761
|
+
class AuditedEntityCtx {
|
|
21762
|
+
constructor(audited) {
|
|
21763
|
+
this.audited = audited;
|
|
21764
|
+
}
|
|
21765
|
+
}
|
|
21766
|
+
class ElderAuditedEntityComponent {
|
|
21767
|
+
constructor() {
|
|
21768
|
+
this.layout = 'row wrap';
|
|
21769
|
+
this.appearance = 'fill';
|
|
21770
|
+
this.auditedCtx$ = new BehaviorSubject(null);
|
|
21771
|
+
}
|
|
21772
|
+
ngOnInit() {
|
|
21773
|
+
}
|
|
21774
|
+
set audited(audited) {
|
|
21775
|
+
this.auditedCtx$.next(new AuditedEntityCtx(audited));
|
|
21776
|
+
}
|
|
21777
|
+
}
|
|
21778
|
+
ElderAuditedEntityComponent.decorators = [
|
|
21779
|
+
{ type: Component, args: [{
|
|
21780
|
+
selector: 'elder-audited-entity',
|
|
21781
|
+
template: "<section [fxLayout]=\"layout\" fxLayoutGap=\"8px\" *ngIf=\"auditedCtx$ | async as ctx\">\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-icon class=\"decent noselect\" matSuffix>add_circle_outline</mat-icon>\n <mat-label>{{'context.createdAt' | translate}} {{ctx.audited?.createdAt | timeAgo}}</mat-label>\n <input matInput name=\"created\"\n [value]=\"ctx.audited?.createdAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.createdBy}}</mat-hint>\n </mat-form-field>\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-icon class=\"decent noselect\" matSuffix>mode_edit_outline</mat-icon>\n <mat-label>{{'context.modifiedAt' | translate}} {{ctx.audited?.modifiedAt | timeAgo}}</mat-label>\n <input matInput name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.modifiedBy}}</mat-hint>\n </mat-form-field>\n\n</section>\n",
|
|
21782
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21783
|
+
styles: [".decent{opacity:.5}\n"]
|
|
21784
|
+
},] }
|
|
21785
|
+
];
|
|
21786
|
+
ElderAuditedEntityComponent.ctorParameters = () => [];
|
|
21787
|
+
ElderAuditedEntityComponent.propDecorators = {
|
|
21788
|
+
layout: [{ type: Input }],
|
|
21789
|
+
appearance: [{ type: Input }],
|
|
21790
|
+
audited: [{ type: Input }]
|
|
21791
|
+
};
|
|
21792
|
+
|
|
21793
|
+
class AuditedEntity {
|
|
21794
|
+
}
|
|
21795
|
+
|
|
21796
|
+
class ElderAuditModule {
|
|
21797
|
+
}
|
|
21798
|
+
ElderAuditModule.decorators = [
|
|
21799
|
+
{ type: NgModule, args: [{
|
|
21800
|
+
declarations: [
|
|
21801
|
+
ElderAuditedEntityComponent
|
|
21802
|
+
],
|
|
21803
|
+
exports: [
|
|
21804
|
+
ElderAuditedEntityComponent
|
|
21805
|
+
],
|
|
21806
|
+
imports: [
|
|
21807
|
+
CommonModule,
|
|
21808
|
+
FlexModule,
|
|
21809
|
+
MatInputModule,
|
|
21810
|
+
TranslateModule,
|
|
21811
|
+
ElderPipesModule,
|
|
21812
|
+
MatIconModule
|
|
21813
|
+
]
|
|
21814
|
+
},] }
|
|
21815
|
+
];
|
|
21816
|
+
|
|
21661
21817
|
/**
|
|
21662
21818
|
* This class provides a reactive wrapper around an event source.
|
|
21663
21819
|
*
|
|
@@ -22328,5 +22484,5 @@ KafentModule.decorators = [
|
|
|
22328
22484
|
* Generated bundle index. Do not edit.
|
|
22329
22485
|
*/
|
|
22330
22486
|
|
|
22331
|
-
export { BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextStatus, DataSourceAdapter, DataSourceProcessor, DataSourceToDataContextBinding, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, EbsCommonDialogService, EbsToastService, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewBaseModule, ElderDataViewSelectionMode, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDatesModule, ElderDelayedFocusDirective, ElderDialogConfig, ElderDialogModule, ElderDialogService, ElderDimensionsInputComponent, ElderDurationInputComponent, ElderEnumTranslationService, ElderEventSourceService, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteScrollModule, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMaxDirective, ElderMeasuresModule, ElderMinDirective, ElderMultiAutoCompleteModule, ElderMultiAutocompleteComponent, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderPlugParentFormDirectiveLegacy, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityInputComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredIgnoreZeroValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectChipDirective, ElderSelectComponent, ElderSelectListComponent, ElderSelectListItemComponent, ElderSelectListModule, ElderSelectModule, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderStopEventPropagationDirectiveLegacy, ElderSvgViewerComponent, ElderTabFocusTrapDirective, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderTimeModule, ElderToastModule, ElderToastService, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTouchedDirectiveLegacy, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentSwitcherComponent, ElderViewersModule, FileUploadClient, Filter, FilterContext, FilterUtil, FormFieldBaseComponent, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownLocaleType, LazyBehaviorSubject, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, ReplacementResult, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectOnTabDirective, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, TextRange, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToastService, ToastType, TokenChunkRequest, ToolbarHeader, TranslatedEnumValue, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, WordPositionFinder, alphaNumStringComparator, buildFormIntegrationProviders, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isListDataSource, isPagedDataSource, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, ElderPanelComponentBase as ɵa, _ElderPanelMixinBase as ɵb, provideForm as ɵc, createSelectionModel as ɵd, createDataViewSelection as ɵe, ELDER_DATA_VIEW as ɵf, ElderTripleStateCheckboxDirective as ɵh, ElderTableColumnDirective as ɵi, ElderTableRowDirective as ɵj, ElderPaginatorIntl as ɵk, StandardToastComponent as ɵl, ElderSelectBase as ɵm };
|
|
22487
|
+
export { AuditedEntity, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextStatus, DataSourceAdapter, DataSourceProcessor, DataSourceToDataContextBinding, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, EbsCommonDialogService, EbsToastService, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewBaseModule, ElderDataViewSelectionMode, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDatesModule, ElderDelayedFocusDirective, ElderDialogConfig, ElderDialogModule, ElderDialogService, ElderDimensionsInputComponent, ElderDurationInputComponent, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteScrollModule, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMaxDirective, ElderMeasuresModule, ElderMinDirective, ElderMultiAutoCompleteModule, ElderMultiAutocompleteComponent, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderPlugParentFormDirectiveLegacy, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityInputComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredIgnoreZeroValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectChipDirective, ElderSelectComponent, ElderSelectListComponent, ElderSelectListItemComponent, ElderSelectListModule, ElderSelectModule, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderStopEventPropagationDirectiveLegacy, ElderSvgViewerComponent, ElderTabFocusTrapDirective, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderTimeModule, ElderToastModule, ElderToastService, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTouchedDirectiveLegacy, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentSwitcherComponent, ElderViewersModule, ExceptionDetailCtx, FileUploadClient, Filter, FilterContext, FilterUtil, FormFieldBaseComponent, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownLocaleType, LazyBehaviorSubject, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, ReplacementResult, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectOnTabDirective, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, TextRange, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToastService, ToastType, TokenChunkRequest, ToolbarHeader, TranslatedEnumValue, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, WordPositionFinder, alphaNumStringComparator, buildFormIntegrationProviders, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isListDataSource, isPagedDataSource, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, ElderPanelComponentBase as ɵa, _ElderPanelMixinBase as ɵb, provideForm as ɵc, createSelectionModel as ɵd, createDataViewSelection as ɵe, ELDER_DATA_VIEW as ɵf, ElderTripleStateCheckboxDirective as ɵh, ElderTableColumnDirective as ɵi, ElderTableRowDirective as ɵj, ElderPaginatorIntl as ɵk, StandardToastComponent as ɵl, ElderSelectBase as ɵm };
|
|
22332
22488
|
//# sourceMappingURL=elderbyte-ngx-starter.js.map
|