@tsi-developpement/tsi-shared-ui 1.7.36 → 1.7.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/interceptors/index.mjs +2 -0
- package/esm2022/lib/interceptors/request-tracker.interceptor.mjs +28 -0
- package/esm2022/lib/models/index.mjs +3 -1
- package/esm2022/lib/models/request-management/request-tracker-config.mjs +2 -0
- package/esm2022/lib/models/request-management/request-tracker-state.mjs +2 -0
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/request-management/request-tracker.service.mjs +120 -0
- package/esm2022/lib/tsi-components/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/tsi-components/tsi-form/tsi-form.component.mjs +17 -3
- package/esm2022/lib/tsi-components/tsi-modal-footer/tsi-modal-footer.component.mjs +19 -6
- package/esm2022/lib/tsi-components/tsi-tab-view/tsi-tab-view.component.mjs +31 -4
- package/esm2022/lib/tsi-directives/busy.directive.mjs +6 -7
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs +211 -19
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs.map +1 -1
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/interceptors/request-tracker.interceptor.d.ts +20 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/request-management/request-tracker-config.d.ts +41 -0
- package/lib/models/request-management/request-tracker-state.d.ts +9 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/request-management/request-tracker.service.d.ts +80 -0
- package/lib/tsi-components/tsi-form/tsi-form.component.d.ts +5 -0
- package/lib/tsi-components/tsi-modal-footer/tsi-modal-footer.component.d.ts +5 -0
- package/lib/tsi-components/tsi-tab-view/tsi-tab-view.component.d.ts +9 -3
- package/lib/tsi-directives/busy.directive.d.ts +2 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './request-tracker.interceptor';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvaW50ZXJjZXB0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtdHJhY2tlci5pbnRlcmNlcHRvcic7Il19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { finalize } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/request-management/request-tracker.service";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP interceptor responsible for tracking all outgoing HTTP requests.
|
|
7
|
+
*
|
|
8
|
+
* It notifies the {@link RequestTrackerService} when a request starts and when it completes,
|
|
9
|
+
* allowing the application to maintain a global "in-progress" state (e.g., for displaying a spinner).
|
|
10
|
+
*
|
|
11
|
+
* Requests that match configured ignored endpoints (see {@link RequestTrackerConfig})
|
|
12
|
+
* will be automatically excluded from tracking.
|
|
13
|
+
*/
|
|
14
|
+
export class RequestTrackerInterceptor {
|
|
15
|
+
constructor(_requestTrackerService) {
|
|
16
|
+
this._requestTrackerService = _requestTrackerService;
|
|
17
|
+
}
|
|
18
|
+
intercept(req, next) {
|
|
19
|
+
this._requestTrackerService.startRequest(req.url);
|
|
20
|
+
return next.handle(req).pipe(finalize(() => this._requestTrackerService.completeRequest(req.url)));
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestTrackerInterceptor, deps: [{ token: i1.RequestTrackerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestTrackerInterceptor }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestTrackerInterceptor, decorators: [{
|
|
26
|
+
type: Injectable
|
|
27
|
+
}], ctorParameters: () => [{ type: i1.RequestTrackerService }] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10cmFja2VyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL2ludGVyY2VwdG9ycy9yZXF1ZXN0LXRyYWNrZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFFNUM7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQW9CLHNCQUE2QztRQUE3QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO0lBQUksQ0FBQztJQUV0RSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMxQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDckUsQ0FBQztJQUNKLENBQUM7K0dBUlUseUJBQXlCO21IQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUmVxdWVzdFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlbWVudC9yZXF1ZXN0LXRyYWNrZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKlxyXG4gKiBIVFRQIGludGVyY2VwdG9yIHJlc3BvbnNpYmxlIGZvciB0cmFja2luZyBhbGwgb3V0Z29pbmcgSFRUUCByZXF1ZXN0cy5cclxuICpcclxuICogSXQgbm90aWZpZXMgdGhlIHtAbGluayBSZXF1ZXN0VHJhY2tlclNlcnZpY2V9IHdoZW4gYSByZXF1ZXN0IHN0YXJ0cyBhbmQgd2hlbiBpdCBjb21wbGV0ZXMsXHJcbiAqIGFsbG93aW5nIHRoZSBhcHBsaWNhdGlvbiB0byBtYWludGFpbiBhIGdsb2JhbCBcImluLXByb2dyZXNzXCIgc3RhdGUgKGUuZy4sIGZvciBkaXNwbGF5aW5nIGEgc3Bpbm5lcikuXHJcbiAqXHJcbiAqIFJlcXVlc3RzIHRoYXQgbWF0Y2ggY29uZmlndXJlZCBpZ25vcmVkIGVuZHBvaW50cyAoc2VlIHtAbGluayBSZXF1ZXN0VHJhY2tlckNvbmZpZ30pXHJcbiAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBleGNsdWRlZCBmcm9tIHRyYWNraW5nLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdFRyYWNrZXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVxdWVzdFRyYWNrZXJTZXJ2aWNlOiBSZXF1ZXN0VHJhY2tlclNlcnZpY2UpIHsgfVxyXG5cclxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIHRoaXMuX3JlcXVlc3RUcmFja2VyU2VydmljZS5zdGFydFJlcXVlc3QocmVxLnVybCk7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLl9yZXF1ZXN0VHJhY2tlclNlcnZpY2UuY29tcGxldGVSZXF1ZXN0KHJlcS51cmwpKVxyXG4gICAgKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -35,4 +35,6 @@ export * from './journalisation-application/journalisation-application';
|
|
|
35
35
|
export * from './journalisation-application/status-history';
|
|
36
36
|
export * from './application/configuration/endpoint-infos';
|
|
37
37
|
export * from './application/configuration/entity-delete-behavior';
|
|
38
|
-
|
|
38
|
+
export * from './request-management/request-tracker-state';
|
|
39
|
+
export * from './request-management/request-tracker-config';
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsR0FBRyxDQUFDO0FBQ2xCLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGhvcml6YXRpb24vYXV0aG9yaXphdGlvbi10b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aG9yaXphdGlvbi9hdXRob3JpemF0aW9uLXRva2VuLW1hcHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL2VudGl0eS1wcm9wZXJ0aWVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vZXZlbnQtc2NoZW1hJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24va2V5LXZhbHVlLXBhaXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi9lbnRpdHktdmFsaWRhdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi9jb21wb25lbnQtZGVzY3JpbWluYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyL2ZpbHRlci1ieS1leGlzdGluZy12YWx1ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci9wYWdlZC1yZXN1bHQtcmVxdWVzdC1iYXNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIvc2VhcmNoLWZpZWxkJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xheW91dC9sYXlvdXQtY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9icy1tb2RhbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLXNlcnZpY2VzLXV0aWxpdHkvc3Vic2NyaXB0aW9uLXJlc3VsdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0aW5nL2pzb24tZGF0YS1jb25uZWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnRpbmcvb3B0aW9uYWwtZW5kcG9pbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnRpbmcvcmVwb3J0LXRlbXBsYXRlLXJlc3BvbnNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnRpbmcvcmVwb3J0LXRvLWVkaXQtdGVtcGxhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydGluZy9yZXBvcnQtdG8tcHJpbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydGluZy9yZXBvcnQtdG8tdGVtcGxhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NldHRpbmdzL2RldmlzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MvZmljaGllcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0JztcclxuZXhwb3J0ICogZnJvbSAnLi9wcmVzZW50YXRpb24tc2V0dGluZ3MvcHJlc2VudGF0aW9uLXNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5ncy90eXBlLWZpY2hpZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93L3dvcmtmbG93JztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktaW5mby9lbnRpdHktaW5mbyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1pZGVudGl0eS91c2VyLWlkZW50aXR5JztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLWNyZWF0ZS1yZXF1ZXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLXJlc3BvbnNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLXVwZGF0ZS1yZXF1ZXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi90c2ktY2FyZC90c2ktY2FyZCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2pvdXJuYWxpc2F0aW9uLWFwcGxpY2F0aW9uL2pvdXJuYWxpc2F0aW9uLWFwcGxpY2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9qb3VybmFsaXNhdGlvbi1hcHBsaWNhdGlvbi9zdGF0dXMtaGlzdG9yeSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24vY29uZmlndXJhdGlvbi9lbmRwb2ludC1pbmZvcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24vY29uZmlndXJhdGlvbi9lbnRpdHktZGVsZXRlLWJlaGF2aW9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LW1hbmFnZW1lbnQvcmVxdWVzdC10cmFja2VyLXN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LW1hbmFnZW1lbnQvcmVxdWVzdC10cmFja2VyLWNvbmZpZyc7Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10cmFja2VyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi9tb2RlbHMvcmVxdWVzdC1tYW5hZ2VtZW50L3JlcXVlc3QtdHJhY2tlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBEZWZpbmVzIGEgcnVsZSB0byBpZ25vcmUgYSBzcGVjaWZpYyBlbmRwb2ludC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWdub3JlZEVuZHBvaW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogUGF0dGVybiB1c2VkIHRvIG1hdGNoIHRoZSByZXF1ZXN0IFVSTC5cclxuICAgKiBDYW4gYmUgYSBzdHJpbmcgKHVzZXMgYGluY2x1ZGVzYCkgb3IgYSBSZWdFeHAgKHVzZXMgYHRlc3RgKS5cclxuICAgKi9cclxuICBwYXR0ZXJuOiBzdHJpbmcgfCBSZWdFeHA7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHN0cmluZyBtYXRjaGluZyBzaG91bGQgYmUgY2FzZSBzZW5zaXRpdmUuXHJcbiAgICpcclxuICAgKiAtIEFwcGxpZXMgb25seSB3aGVuIGBwYXR0ZXJuYCBpcyBhIHN0cmluZ1xyXG4gICAqIC0gRGVmYXVsdDogZmFsc2VcclxuICAgKi9cclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgUmVxdWVzdFRyYWNrZXJTZXJ2aWNlLlxyXG4gKlxyXG4gKiBBbGxvd3MgZWFjaCBhcHBsaWNhdGlvbiB0byBjdXN0b21pemUgaG93IEhUVFAgcmVxdWVzdHMgYXJlIHRyYWNrZWQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RUcmFja2VyQ29uZmlnIHtcclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdCBvZiBlbmRwb2ludCBydWxlcyB0byBleGNsdWRlIGZyb20gcmVxdWVzdCB0cmFja2luZy5cclxuICAgKlxyXG4gICAqIEVhY2ggcnVsZSBkZWZpbmVzOlxyXG4gICAqIC0gYSBwYXR0ZXJuIChzdHJpbmcgb3IgUmVnRXhwKVxyXG4gICAqIC0gb3B0aW9uYWwgbWF0Y2hpbmcgb3B0aW9ucyAoZS5nLiwgY2FzZSBzZW5zaXRpdml0eSlcclxuICAgKlxyXG4gICAqIEV4YW1wbGU6XHJcbiAgICogYGBgdHNcclxuICAgKiBpZ25vcmVkRW5kcG9pbnRzOiBbXHJcbiAgICogICB7IHBhdHRlcm46ICcvYXBpL25vdGlmaWNhdGlvbnMnIH0sXHJcbiAgICogICB7IHBhdHRlcm46ICcvYXBpL21lc3NhZ2VzJywgY2FzZVNlbnNpdGl2ZTogdHJ1ZSB9LFxyXG4gICAqICAgeyBwYXR0ZXJuOiAvXFwvYXBpXFwvcGluZyQvIH1cclxuICAgKiBdXHJcbiAgICogYGBgXHJcbiAgICovXHJcbiAgaWdub3JlZEVuZHBvaW50cz86IElnbm9yZWRFbmRwb2ludFtdO1xyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10cmFja2VyLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL21vZGVscy9yZXF1ZXN0LW1hbmFnZW1lbnQvcmVxdWVzdC10cmFja2VyLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUmVwcmVzZW50cyB0aGUgY3VycmVudCBzdGF0ZSBvZiBIVFRQIHJlcXVlc3RzIGJlaW5nIHRyYWNrZWQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RUcmFja2VyU3RhdGUge1xyXG4gICAgLyoqIFRoZSBudW1iZXIgb2YgYWN0aXZlIChvbmdvaW5nKSBIVFRQIHJlcXVlc3RzICovXHJcbiAgICByZWFkb25seSBhY3RpdmVSZXF1ZXN0Q291bnQ6IG51bWJlcjtcclxuXHJcbiAgICAvKiogVHJ1ZSBpZiBhdCBsZWFzdCBvbmUgSFRUUCByZXF1ZXN0IGlzIGN1cnJlbnRseSBpbiBwcm9ncmVzcyAqL1xyXG4gICAgcmVhZG9ubHkgaGFzQWN0aXZlUmVxdWVzdDogYm9vbGVhbjtcclxufSJdfQ==
|
|
@@ -40,4 +40,5 @@ export * from './status/entityStatus.service';
|
|
|
40
40
|
export * from './journalisation/journalisation-application.service';
|
|
41
41
|
export * from './journalisation/status-history.service';
|
|
42
42
|
export * from './advanced-search-component/advanced-search-component.service';
|
|
43
|
-
|
|
43
|
+
export * from './request-management/request-tracker.service';
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS9jcnVkLWJhc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vQ29tcG9uZW50LUZpbmRlci90c2ktY29tcG9uZW50LWZpbmRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uL2VudGl0eS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbnRVc2VyL2N1cnJlbnRVc2VyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYXRvci9odG1sLXRlbXBsYXRlLWdlbmVyYXRvci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9JbXBvcnQtRXhwb3J0L21vZGVsZS1pbXBvcnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0L2xheW91dC1oZWxwZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwvdHNpLWJzLW1vZGFsLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGFsL3RzaS1tb2RhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtY29kZS9tb2R1bGUtY29kZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9Ob3RlL05vdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL2Vycm9yLXJlc3BvbnNlLW1hbmFnZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL3RzaS1jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL3RzaS1tZXNzYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi90c2ktbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ByZXNlbnRhdGlvbi1zZXR0aW5nL3ByZXNlbnRhdGlvbi1kZXNpZ25lci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcmVzZW50YXRpb24tc2V0dGluZy9wcmVzZW50YXRpb24tc2V0dGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLWhlbHBlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydGluZy9yZXBvcnRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MvYXBwLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NldHRpbmdzL2tleWJvYXJkLXNob3J0Y3V0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL1VzZXJJZGVudGl0eS9pZGVudGl0eS1wbGF0Zm9ybS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9Vc2VySWRlbnRpdHkvdXNlci1pZGVudGl0eS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0aW9uL2VudGl0eS12YWxpZGF0aW9ucy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0aW9uL2dlbmVyaWMtdmFsaWRhdGlvbi1zdGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0aW9uL2lucHV0LXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93L3dvcmtmbG93LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uL2FwaS1leHBsb3Jlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi9tYWlsaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGhvcml6YXRpb24vYXV0aG9yaXphdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hdXRob3JpemF0aW9uL2lkZW50aXR5LW1hbmFnZXIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtaGVscGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy1kYXRhLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm11bGEuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlLW1haW4tcGFyYW1ldGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlY29yZC1pbmZvLXBvcHVwLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy9lbnRpdHlTdGF0dXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vam91cm5hbGlzYXRpb24vam91cm5hbGlzYXRpb24tYXBwbGljYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vam91cm5hbGlzYXRpb24vc3RhdHVzLWhpc3Rvcnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWR2YW5jZWQtc2VhcmNoLWNvbXBvbmVudC9hZHZhbmNlZC1zZWFyY2gtY29tcG9uZW50LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtbWFuYWdlbWVudC9yZXF1ZXN0LXRyYWNrZXIuc2VydmljZSc7Il19
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, distinctUntilChanged, map } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Service to track the status of all ongoing HTTP requests.
|
|
6
|
+
*
|
|
7
|
+
* Useful for showing global loading indicators or preventing
|
|
8
|
+
* multiple simultaneous operations in the UI.
|
|
9
|
+
*
|
|
10
|
+
* The service exposes a read-only observable `requestState$` that emits
|
|
11
|
+
* the current number of active requests and a boolean flag indicating
|
|
12
|
+
* if any request is in progress.
|
|
13
|
+
*/
|
|
14
|
+
export class RequestTrackerService {
|
|
15
|
+
constructor() {
|
|
16
|
+
this._requestTrackerConfig = { ignoredEndpoints: [] };
|
|
17
|
+
/**
|
|
18
|
+
* Cached ignored endpoint patterns.
|
|
19
|
+
*/
|
|
20
|
+
this._ignoredEndpoints = [];
|
|
21
|
+
/**
|
|
22
|
+
* Internal subject that keeps track of the number of active requests.
|
|
23
|
+
* Using BehaviorSubject ensures that new subscribers get the latest count immediately.
|
|
24
|
+
*/
|
|
25
|
+
this._activeRequestCount$ = new BehaviorSubject(0);
|
|
26
|
+
/**
|
|
27
|
+
* Observable exposing the derived request tracker state.
|
|
28
|
+
* Subscribers receive updates whenever the number of active requests changes.
|
|
29
|
+
*/
|
|
30
|
+
this.requestState$ = this._activeRequestCount$.pipe(map(count => ({
|
|
31
|
+
activeRequestCount: count,
|
|
32
|
+
hasActiveRequest: count > 0,
|
|
33
|
+
})), distinctUntilChanged((prev, curr) => prev.activeRequestCount === curr.activeRequestCount &&
|
|
34
|
+
prev.hasActiveRequest === curr.hasActiveRequest));
|
|
35
|
+
/**
|
|
36
|
+
* Shortcut observable for templates/components that only need
|
|
37
|
+
* a boolean indicating if any request is in progress.
|
|
38
|
+
*/
|
|
39
|
+
this.hasActiveRequests$ = this.requestState$.pipe(map(state => state.hasActiveRequest), distinctUntilChanged());
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Initializes the service with application-specific configuration.
|
|
43
|
+
*
|
|
44
|
+
* This should typically be called once during app startup (e.g., via APP_INITIALIZER).
|
|
45
|
+
*
|
|
46
|
+
* @param config Configuration object containing ignored endpoints and other options.
|
|
47
|
+
*/
|
|
48
|
+
initialize(config) {
|
|
49
|
+
this._requestTrackerConfig = config;
|
|
50
|
+
this._ignoredEndpoints = config.ignoredEndpoints ?? [];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Starts tracking an HTTP request.
|
|
54
|
+
*
|
|
55
|
+
* If the request URL matches one of the ignored endpoint patterns,
|
|
56
|
+
* it will not be counted.
|
|
57
|
+
*
|
|
58
|
+
* @param url The request URL.
|
|
59
|
+
*/
|
|
60
|
+
startRequest(url) {
|
|
61
|
+
if (!url || this._shouldIgnore(url)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this._activeRequestCount$.next(this._activeRequestCount$.value + 1);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Completes tracking of an HTTP request.
|
|
68
|
+
*
|
|
69
|
+
* Ensures the active request count never goes below zero.
|
|
70
|
+
* Ignored endpoints are skipped.
|
|
71
|
+
*
|
|
72
|
+
* @param url The request URL.
|
|
73
|
+
*/
|
|
74
|
+
completeRequest(url) {
|
|
75
|
+
if (!url || this._shouldIgnore(url)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this._activeRequestCount$.next(Math.max(this._activeRequestCount$.value - 1, 0));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Synchronously checks whether any HTTP request is currently in progress.
|
|
82
|
+
*
|
|
83
|
+
* @returns `true` if at least one request is active; otherwise `false`.
|
|
84
|
+
*/
|
|
85
|
+
hasActiveRequests() {
|
|
86
|
+
return this._activeRequestCount$.value > 0;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Determines whether a given URL should be ignored based on configured rules.
|
|
90
|
+
*
|
|
91
|
+
* Supports:
|
|
92
|
+
* - string matching (`includes`)
|
|
93
|
+
* - RegExp matching (`test`)
|
|
94
|
+
* - optional case sensitivity for string patterns
|
|
95
|
+
*/
|
|
96
|
+
_shouldIgnore(url) {
|
|
97
|
+
return this._ignoredEndpoints.some(rule => {
|
|
98
|
+
const { pattern, caseSensitive = false } = rule;
|
|
99
|
+
// RegExp case
|
|
100
|
+
if (pattern instanceof RegExp) {
|
|
101
|
+
return pattern.test(url);
|
|
102
|
+
}
|
|
103
|
+
// String case
|
|
104
|
+
if (caseSensitive) {
|
|
105
|
+
return url.includes(pattern);
|
|
106
|
+
}
|
|
107
|
+
// Case-insensitive match
|
|
108
|
+
return url.toLowerCase().includes(pattern.toLowerCase());
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
112
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestTrackerService, providedIn: 'root' }); }
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RequestTrackerService, decorators: [{
|
|
115
|
+
type: Injectable,
|
|
116
|
+
args: [{
|
|
117
|
+
providedIn: 'root'
|
|
118
|
+
}]
|
|
119
|
+
}], ctorParameters: () => [] });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10cmFja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvc2VydmljZXMvcmVxdWVzdC1tYW5hZ2VtZW50L3JlcXVlc3QtdHJhY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBSTlFOzs7Ozs7Ozs7R0FTRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7SUF3Q2hDO1FBdkNRLDBCQUFxQixHQUF5QixFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRS9FOztXQUVHO1FBQ0ssc0JBQWlCLEdBQXNCLEVBQUUsQ0FBQztRQUVsRDs7O1dBR0c7UUFDYyx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUV2RTs7O1dBR0c7UUFDTSxrQkFBYSxHQUNwQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1osa0JBQWtCLEVBQUUsS0FBSztZQUN6QixnQkFBZ0IsRUFBRSxLQUFLLEdBQUcsQ0FBQztTQUM1QixDQUFDLENBQUMsRUFDSCxvQkFBb0IsQ0FDbEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDYixJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxDQUFDLGtCQUFrQjtZQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUNsRCxDQUNGLENBQUM7UUFFSjs7O1dBR0c7UUFDTSx1QkFBa0IsR0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3hFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNwQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBRWMsQ0FBQztJQUVqQjs7Ozs7O09BTUc7SUFDSCxVQUFVLENBQUMsTUFBNEI7UUFDckMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFlBQVksQ0FBQyxHQUFZO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsZUFBZSxDQUFDLEdBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7OztLQU9DO0lBQ08sYUFBYSxDQUFDLEdBQVc7UUFDL0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztZQUVoRCxjQUFjO1lBQ2QsSUFBSSxPQUFPLFlBQVksTUFBTSxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBRUQsY0FBYztZQUNkLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBRUQseUJBQXlCO1lBQ3pCLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBMUhVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZXF1ZXN0VHJhY2tlclN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlcXVlc3QtbWFuYWdlbWVudC9yZXF1ZXN0LXRyYWNrZXItc3RhdGUnO1xyXG5pbXBvcnQgeyBJZ25vcmVkRW5kcG9pbnQsIFJlcXVlc3RUcmFja2VyQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlcXVlc3QtbWFuYWdlbWVudC9yZXF1ZXN0LXRyYWNrZXItY29uZmlnJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRvIHRyYWNrIHRoZSBzdGF0dXMgb2YgYWxsIG9uZ29pbmcgSFRUUCByZXF1ZXN0cy5cclxuICpcclxuICogVXNlZnVsIGZvciBzaG93aW5nIGdsb2JhbCBsb2FkaW5nIGluZGljYXRvcnMgb3IgcHJldmVudGluZ1xyXG4gKiBtdWx0aXBsZSBzaW11bHRhbmVvdXMgb3BlcmF0aW9ucyBpbiB0aGUgVUkuXHJcbiAqXHJcbiAqIFRoZSBzZXJ2aWNlIGV4cG9zZXMgYSByZWFkLW9ubHkgb2JzZXJ2YWJsZSBgcmVxdWVzdFN0YXRlJGAgdGhhdCBlbWl0c1xyXG4gKiB0aGUgY3VycmVudCBudW1iZXIgb2YgYWN0aXZlIHJlcXVlc3RzIGFuZCBhIGJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nXHJcbiAqIGlmIGFueSByZXF1ZXN0IGlzIGluIHByb2dyZXNzLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdFRyYWNrZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9yZXF1ZXN0VHJhY2tlckNvbmZpZzogUmVxdWVzdFRyYWNrZXJDb25maWcgPSB7IGlnbm9yZWRFbmRwb2ludHM6IFtdIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIENhY2hlZCBpZ25vcmVkIGVuZHBvaW50IHBhdHRlcm5zLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lnbm9yZWRFbmRwb2ludHM6IElnbm9yZWRFbmRwb2ludFtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVybmFsIHN1YmplY3QgdGhhdCBrZWVwcyB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGFjdGl2ZSByZXF1ZXN0cy5cclxuICAgKiBVc2luZyBCZWhhdmlvclN1YmplY3QgZW5zdXJlcyB0aGF0IG5ldyBzdWJzY3JpYmVycyBnZXQgdGhlIGxhdGVzdCBjb3VudCBpbW1lZGlhdGVseS5cclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVSZXF1ZXN0Q291bnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIGV4cG9zaW5nIHRoZSBkZXJpdmVkIHJlcXVlc3QgdHJhY2tlciBzdGF0ZS5cclxuICAgKiBTdWJzY3JpYmVycyByZWNlaXZlIHVwZGF0ZXMgd2hlbmV2ZXIgdGhlIG51bWJlciBvZiBhY3RpdmUgcmVxdWVzdHMgY2hhbmdlcy5cclxuICAgKi9cclxuICByZWFkb25seSByZXF1ZXN0U3RhdGUkOiBPYnNlcnZhYmxlPFJlcXVlc3RUcmFja2VyU3RhdGU+ID1cclxuICAgIHRoaXMuX2FjdGl2ZVJlcXVlc3RDb3VudCQucGlwZShcclxuICAgICAgbWFwKGNvdW50ID0+ICh7XHJcbiAgICAgICAgYWN0aXZlUmVxdWVzdENvdW50OiBjb3VudCxcclxuICAgICAgICBoYXNBY3RpdmVSZXF1ZXN0OiBjb3VudCA+IDAsXHJcbiAgICAgIH0pKSxcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXHJcbiAgICAgICAgKHByZXYsIGN1cnIpID0+XHJcbiAgICAgICAgICBwcmV2LmFjdGl2ZVJlcXVlc3RDb3VudCA9PT0gY3Vyci5hY3RpdmVSZXF1ZXN0Q291bnQgJiZcclxuICAgICAgICAgIHByZXYuaGFzQWN0aXZlUmVxdWVzdCA9PT0gY3Vyci5oYXNBY3RpdmVSZXF1ZXN0XHJcbiAgICAgIClcclxuICAgICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3J0Y3V0IG9ic2VydmFibGUgZm9yIHRlbXBsYXRlcy9jb21wb25lbnRzIHRoYXQgb25seSBuZWVkXHJcbiAgICogYSBib29sZWFuIGluZGljYXRpbmcgaWYgYW55IHJlcXVlc3QgaXMgaW4gcHJvZ3Jlc3MuXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGFzQWN0aXZlUmVxdWVzdHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yZXF1ZXN0U3RhdGUkLnBpcGUoXHJcbiAgICBtYXAoc3RhdGUgPT4gc3RhdGUuaGFzQWN0aXZlUmVxdWVzdCksXHJcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgdGhlIHNlcnZpY2Ugd2l0aCBhcHBsaWNhdGlvbi1zcGVjaWZpYyBjb25maWd1cmF0aW9uLlxyXG4gICAqXHJcbiAgICogVGhpcyBzaG91bGQgdHlwaWNhbGx5IGJlIGNhbGxlZCBvbmNlIGR1cmluZyBhcHAgc3RhcnR1cCAoZS5nLiwgdmlhIEFQUF9JTklUSUFMSVpFUikuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgaWdub3JlZCBlbmRwb2ludHMgYW5kIG90aGVyIG9wdGlvbnMuXHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZShjb25maWc6IFJlcXVlc3RUcmFja2VyQ29uZmlnKSB7XHJcbiAgICB0aGlzLl9yZXF1ZXN0VHJhY2tlckNvbmZpZyA9IGNvbmZpZztcclxuICAgIHRoaXMuX2lnbm9yZWRFbmRwb2ludHMgPSBjb25maWcuaWdub3JlZEVuZHBvaW50cyA/PyBbXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0cyB0cmFja2luZyBhbiBIVFRQIHJlcXVlc3QuXHJcbiAgICpcclxuICAgKiBJZiB0aGUgcmVxdWVzdCBVUkwgbWF0Y2hlcyBvbmUgb2YgdGhlIGlnbm9yZWQgZW5kcG9pbnQgcGF0dGVybnMsXHJcbiAgICogaXQgd2lsbCBub3QgYmUgY291bnRlZC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB1cmwgVGhlIHJlcXVlc3QgVVJMLlxyXG4gICAqL1xyXG4gIHN0YXJ0UmVxdWVzdCh1cmw/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdXJsIHx8IHRoaXMuX3Nob3VsZElnbm9yZSh1cmwpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hY3RpdmVSZXF1ZXN0Q291bnQkLm5leHQodGhpcy5fYWN0aXZlUmVxdWVzdENvdW50JC52YWx1ZSArIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcGxldGVzIHRyYWNraW5nIG9mIGFuIEhUVFAgcmVxdWVzdC5cclxuICAgKlxyXG4gICAqIEVuc3VyZXMgdGhlIGFjdGl2ZSByZXF1ZXN0IGNvdW50IG5ldmVyIGdvZXMgYmVsb3cgemVyby5cclxuICAgKiBJZ25vcmVkIGVuZHBvaW50cyBhcmUgc2tpcHBlZC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB1cmwgVGhlIHJlcXVlc3QgVVJMLlxyXG4gICAqL1xyXG4gIGNvbXBsZXRlUmVxdWVzdCh1cmw/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdXJsIHx8IHRoaXMuX3Nob3VsZElnbm9yZSh1cmwpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hY3RpdmVSZXF1ZXN0Q291bnQkLm5leHQoXHJcbiAgICAgIE1hdGgubWF4KHRoaXMuX2FjdGl2ZVJlcXVlc3RDb3VudCQudmFsdWUgLSAxLCAwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN5bmNocm9ub3VzbHkgY2hlY2tzIHdoZXRoZXIgYW55IEhUVFAgcmVxdWVzdCBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYXQgbGVhc3Qgb25lIHJlcXVlc3QgaXMgYWN0aXZlOyBvdGhlcndpc2UgYGZhbHNlYC5cclxuICAgKi9cclxuICBoYXNBY3RpdmVSZXF1ZXN0cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3RpdmVSZXF1ZXN0Q291bnQkLnZhbHVlID4gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBnaXZlbiBVUkwgc2hvdWxkIGJlIGlnbm9yZWQgYmFzZWQgb24gY29uZmlndXJlZCBydWxlcy5cclxuICpcclxuICogU3VwcG9ydHM6XHJcbiAqIC0gc3RyaW5nIG1hdGNoaW5nIChgaW5jbHVkZXNgKVxyXG4gKiAtIFJlZ0V4cCBtYXRjaGluZyAoYHRlc3RgKVxyXG4gKiAtIG9wdGlvbmFsIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHN0cmluZyBwYXR0ZXJuc1xyXG4gKi9cclxuICBwcml2YXRlIF9zaG91bGRJZ25vcmUodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pZ25vcmVkRW5kcG9pbnRzLnNvbWUocnVsZSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgcGF0dGVybiwgY2FzZVNlbnNpdGl2ZSA9IGZhbHNlIH0gPSBydWxlO1xyXG5cclxuICAgICAgLy8gUmVnRXhwIGNhc2VcclxuICAgICAgaWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICByZXR1cm4gcGF0dGVybi50ZXN0KHVybCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFN0cmluZyBjYXNlXHJcbiAgICAgIGlmIChjYXNlU2Vuc2l0aXZlKSB7XHJcbiAgICAgICAgcmV0dXJuIHVybC5pbmNsdWRlcyhwYXR0ZXJuKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2FzZS1pbnNlbnNpdGl2ZSBtYXRjaFxyXG4gICAgICByZXR1cm4gdXJsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocGF0dGVybi50b0xvd2VyQ2FzZSgpKTtcclxuICAgIH0pO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -6,10 +6,10 @@ export class SpinnerComponent {
|
|
|
6
6
|
ngOnInit() {
|
|
7
7
|
}
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SpinnerComponent, selector: "app-spinner", ngImport: i0, template: "<div class=\"spinner-container flex align-items-center justify-content-center\">\r\n <div class=\"d-flex justify-content-center\">\r\n <p-progressSpinner></p-progressSpinner>\r\n </div>\r\n</div
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SpinnerComponent, selector: "app-spinner", ngImport: i0, template: "<div class=\"spinner-container flex align-items-center justify-content-center\">\r\n <div class=\"d-flex justify-content-center\">\r\n <p-progressSpinner></p-progressSpinner>\r\n </div>\r\n</div>", styles: [".spinner-container{position:fixed;left:50%;top:50%;background-color:#ffffff80;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;height:100%;z-index:9999;pointer-events:all;cursor:wait}\n"], dependencies: [{ kind: "component", type: i1.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }] }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'app-spinner', template: "<div class=\"spinner-container flex align-items-center justify-content-center\">\r\n <div class=\"d-flex justify-content-center\">\r\n <p-progressSpinner></p-progressSpinner>\r\n </div>\r\n</div
|
|
13
|
+
args: [{ selector: 'app-spinner', template: "<div class=\"spinner-container flex align-items-center justify-content-center\">\r\n <div class=\"d-flex justify-content-center\">\r\n <p-progressSpinner></p-progressSpinner>\r\n </div>\r\n</div>", styles: [".spinner-container{position:fixed;left:50%;top:50%;background-color:#ffffff80;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;height:100%;z-index:9999;pointer-events:all;cursor:wait}\n"] }]
|
|
14
14
|
}], ctorParameters: () => [] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7K0dBTFUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbURDUDdCLDJNQUlNOzs0RkRHTyxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zcGlubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic3Bpbm5lci1jb250YWluZXIgIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgIDxwLXByb2dyZXNzU3Bpbm5lcj48L3AtcHJvZ3Jlc3NTcGlubmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|