monkey-front-core 0.0.187 → 0.0.190

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Pipe, Component, ViewEncapsulation, Input, Injectable, NgModule, EventEmitter, Directive, Output, HostBinding, HostListener, forwardRef, Self, InjectionToken, Inject, Optional, NgZone, ErrorHandler, SkipSelf } from '@angular/core';
2
+ import { Pipe, Component, ViewEncapsulation, Input, Injectable, NgModule, EventEmitter, Directive, Output, HostBinding, HostListener, forwardRef, Self, InjectionToken, Inject, Optional, SkipSelf, NgZone, ErrorHandler } from '@angular/core';
3
3
  import * as i1 from 'monkey-style-guide';
4
4
  import { MonkeyButtonModule, MonkeyIconModule, MonkeyInputModule, MonkeyModalModule, MonkeyUtils, MonkeyStyleGuideModule, MonkeyStyleGuideModalService, MonkeyStyleGuideSettingsService, MonkeyStyleGuideSnackbarService } from 'monkey-style-guide';
5
5
  import * as i2 from '@angular/common';
@@ -2214,6 +2214,23 @@ class MonkeyEcxCommonsService {
2214
2214
  const { service, type } = args;
2215
2215
  return service.hasPendencies(type);
2216
2216
  }
2217
+ allowedSecurityAccessByFeature(args) {
2218
+ if (!args) {
2219
+ return true;
2220
+ }
2221
+ const { config, feature } = args;
2222
+ try {
2223
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(feature) ||
2224
+ !MonkeyEcxUtils.persistNullEmptyUndefined(config?.program?.settings[feature])) {
2225
+ return false;
2226
+ }
2227
+ return !config?.program?.settings[feature];
2228
+ }
2229
+ catch (e) {
2230
+ // not to do
2231
+ }
2232
+ return true;
2233
+ }
2217
2234
  allowedSecurityAccessByCountry(arg) {
2218
2235
  if (!arg)
2219
2236
  return true;
@@ -2334,9 +2351,11 @@ class MonkeyEcxCommonsService {
2334
2351
  this.__tokenCredentials = this.tokenStorage.getToken();
2335
2352
  }
2336
2353
  const pend = this.allowedSecurityAccessByPendency(otherArgs?.pendency);
2354
+ const allowedByProgram = this.allowedSecurityAccessByFeature(otherArgs?.featureByProgram);
2337
2355
  if (this.allowedSecurityAccess(otherArgs?.security) &&
2338
2356
  this.allowedSecurityAccessByCountry(otherArgs?.countrySecurity) &&
2339
- !pend.hasPendencies) {
2357
+ !pend.hasPendencies &&
2358
+ allowedByProgram) {
2340
2359
  if (this.__schedule) {
2341
2360
  this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
2342
2361
  this.__schedule = null;
@@ -2384,6 +2403,9 @@ class MonkeyEcxCommonsService {
2384
2403
  otherArgs?.callbackMain();
2385
2404
  }
2386
2405
  }
2406
+ else if (allowedByProgram) {
2407
+ this.navigateToErrorPage(404, otherArgs?.router);
2408
+ }
2387
2409
  else if (pend.hasPendencies) {
2388
2410
  this.navigateToPendencyPage(pend, otherArgs?.router);
2389
2411
  }
@@ -3425,122 +3447,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3425
3447
  args: ['click']
3426
3448
  }] } });
3427
3449
 
3428
- class MonkeyEcxFeatureDirective {
3429
- constructor(cdr, elementRef, monkeyecxFeatureToggleService) {
3430
- this.cdr = cdr;
3431
- this.elementRef = elementRef;
3432
- this.monkeyecxFeatureToggleService = monkeyecxFeatureToggleService;
3433
- this.unsubscribeAll = new Subject();
3434
- // not to do
3435
- }
3436
- getFeature(feature) {
3437
- const { monkeyecxFeatureToggleService } = this;
3438
- if (!monkeyecxFeatureToggleService) {
3439
- return false;
3440
- }
3441
- return monkeyecxFeatureToggleService?.getFlag(feature) || false;
3442
- }
3443
- handleDisplay() {
3444
- if (!this.feature)
3445
- return;
3446
- const flag = this.getFeature(this.feature);
3447
- let display = 'none';
3448
- if (!MonkeyEcxUtils.persistNullEmptyUndefined(flag)) {
3449
- return;
3450
- }
3451
- if (flag) {
3452
- display = 'block';
3453
- }
3454
- if (display === 'none') {
3455
- this.elementRef.nativeElement.remove();
3456
- }
3457
- this.elementRef.nativeElement.style.display = display;
3458
- this.cdr.detectChanges();
3459
- }
3460
- ngOnDestroy() {
3461
- this.unsubscribeAll.next();
3462
- this.unsubscribeAll.complete();
3463
- }
3464
- ngOnInit() {
3465
- if (!this.feature)
3466
- return;
3467
- this.elementRef.nativeElement.style.display = 'none';
3468
- this.cdr.detectChanges();
3469
- this.monkeyecxFeatureToggleService.onFlags
3470
- .pipe(takeUntil(this.unsubscribeAll))
3471
- .subscribe((val) => {
3472
- if (val) {
3473
- this.handleDisplay();
3474
- }
3475
- });
3476
- }
3477
- }
3478
- MonkeyEcxFeatureDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MonkeyEcxFeatureToggleService }], target: i0.ɵɵFactoryTarget.Directive });
3479
- MonkeyEcxFeatureDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxFeatureDirective, selector: "[monkeyecxFeature]", inputs: { feature: ["featureName", "feature"] }, ngImport: i0 });
3480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureDirective, decorators: [{
3481
- type: Directive,
3482
- args: [{
3483
- selector: '[monkeyecxFeature]',
3484
- }]
3485
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: MonkeyEcxFeatureToggleService }]; }, propDecorators: { feature: [{
3486
- type: Input,
3487
- args: ['featureName']
3488
- }] } });
3489
-
3490
- class MonkeyEcxDirectivesModule {
3491
- }
3492
- MonkeyEcxDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3493
- MonkeyEcxDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, declarations: [MonkeyEcxDragDropDirective,
3494
- MonkeyEcxFormatCurrency,
3495
- MonkeyEcxFeatureDirective,
3496
- MonkeyEcxFormatUpper,
3497
- MonkeyEcxOnlyAlphaNumericDirective,
3498
- MonkeyEcxOnlyNumbersDirective,
3499
- MonkeyEcxSecurityDirective,
3500
- MonkeyEcxTooltipDirective,
3501
- MonkeyEcxPopoverDirective,
3502
- MonkeyEcxPopoverOptionsDirective], imports: [CommonModule, OverlayModule], exports: [MonkeyEcxDragDropDirective,
3503
- MonkeyEcxFormatCurrency,
3504
- MonkeyEcxFeatureDirective,
3505
- MonkeyEcxFormatUpper,
3506
- MonkeyEcxOnlyAlphaNumericDirective,
3507
- MonkeyEcxOnlyNumbersDirective,
3508
- MonkeyEcxSecurityDirective,
3509
- MonkeyEcxTooltipDirective,
3510
- MonkeyEcxPopoverDirective,
3511
- MonkeyEcxPopoverOptionsDirective] });
3512
- MonkeyEcxDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, imports: [[CommonModule, OverlayModule]] });
3513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, decorators: [{
3514
- type: NgModule,
3515
- args: [{
3516
- declarations: [
3517
- MonkeyEcxDragDropDirective,
3518
- MonkeyEcxFormatCurrency,
3519
- MonkeyEcxFeatureDirective,
3520
- MonkeyEcxFormatUpper,
3521
- MonkeyEcxOnlyAlphaNumericDirective,
3522
- MonkeyEcxOnlyNumbersDirective,
3523
- MonkeyEcxSecurityDirective,
3524
- MonkeyEcxTooltipDirective,
3525
- MonkeyEcxPopoverDirective,
3526
- MonkeyEcxPopoverOptionsDirective
3527
- ],
3528
- imports: [CommonModule, OverlayModule],
3529
- exports: [
3530
- MonkeyEcxDragDropDirective,
3531
- MonkeyEcxFormatCurrency,
3532
- MonkeyEcxFeatureDirective,
3533
- MonkeyEcxFormatUpper,
3534
- MonkeyEcxOnlyAlphaNumericDirective,
3535
- MonkeyEcxOnlyNumbersDirective,
3536
- MonkeyEcxSecurityDirective,
3537
- MonkeyEcxTooltipDirective,
3538
- MonkeyEcxPopoverDirective,
3539
- MonkeyEcxPopoverOptionsDirective
3540
- ]
3541
- }]
3542
- }] });
3543
-
3544
3450
  /* eslint-disable no-console */
3545
3451
  class MonkeyEcxAuthenticationService {
3546
3452
  constructor() {
@@ -3675,6 +3581,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3675
3581
  }]
3676
3582
  }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }]; } });
3677
3583
 
3584
+ /* eslint-disable indent */
3585
+ class MonkeyEcxConfigModule {
3586
+ constructor(parentModule) {
3587
+ if (parentModule) {
3588
+ throw new Error('MonkeyEcxConfigModule is already loaded. Import it in the AppModule only!');
3589
+ }
3590
+ }
3591
+ static forRoot() {
3592
+ return {
3593
+ ngModule: MonkeyEcxConfigModule,
3594
+ providers: [MonkeyEcxConfigService]
3595
+ };
3596
+ }
3597
+ }
3598
+ MonkeyEcxConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule, deps: [{ token: MonkeyEcxConfigModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
3599
+ MonkeyEcxConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule });
3600
+ MonkeyEcxConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule });
3601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule, decorators: [{
3602
+ type: NgModule
3603
+ }], ctorParameters: function () { return [{ type: MonkeyEcxConfigModule, decorators: [{
3604
+ type: Optional
3605
+ }, {
3606
+ type: SkipSelf
3607
+ }] }]; } });
3608
+
3678
3609
  class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {
3679
3610
  constructor(monkeyecxService, tokenStorage, monkeyecxAuthenticationService, router, snackbarService, translateService) {
3680
3611
  super(monkeyecxService, tokenStorage);
@@ -3878,79 +3809,229 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3878
3809
  }]
3879
3810
  }] });
3880
3811
 
3881
- class MonkeyEcxHttpConfigErrorInterceptor {
3882
- constructor(monkeyecxAuthenticationService, monkeyecxErrorHandlingService) {
3883
- this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
3884
- this.monkeyecxErrorHandlingService = monkeyecxErrorHandlingService;
3885
- // no to do
3812
+ class MonkeyEcxLoggedHandlingService {
3813
+ constructor() {
3814
+ this.schedules = [];
3815
+ this.genericSchedules = [];
3816
+ // not to do
3886
3817
  }
3887
- intercept(request, next) {
3888
- return next.handle(request).pipe(map((event) => {
3889
- return event;
3890
- }), catchError((error) => {
3891
- if (this.monkeyecxAuthenticationService.refreshShouldHappen(error)) {
3892
- return this.monkeyecxAuthenticationService?.refreshToken()?.pipe(take(1), map(() => {
3893
- return this.monkeyecxAuthenticationService.getRequestWithHeaders(request);
3894
- }), mergeMap((resp) => {
3895
- return next.handle(resp).pipe(catchError((error) => {
3896
- this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');
3897
- return throwError(null);
3898
- }));
3899
- }), catchError((error) => {
3900
- this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');
3901
- return throwError(null);
3902
- })) || throwError(error);
3903
- }
3904
- return throwError(error);
3905
- }));
3818
+ destroySchedule() {
3819
+ this.schedules.forEach((sch) => {
3820
+ clearInterval(sch.interval);
3821
+ });
3822
+ this.schedules = [];
3906
3823
  }
3907
- }
3908
- MonkeyEcxHttpConfigErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigErrorInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
3909
- MonkeyEcxHttpConfigErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigErrorInterceptor });
3910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigErrorInterceptor, decorators: [{
3911
- type: Injectable
3912
- }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
3913
-
3914
- class MonkeyEcxHttpConfigHeaderInterceptor {
3915
- constructor(monkeyecxAuthenticationService, monkeyecxErrorHandlingService) {
3916
- this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
3917
- this.monkeyecxErrorHandlingService = monkeyecxErrorHandlingService;
3918
- // not to do
3824
+ destroyGenericSchedule() {
3825
+ this.genericSchedules.forEach((sch) => {
3826
+ clearInterval(sch.interval);
3827
+ });
3828
+ this.genericSchedules = [];
3919
3829
  }
3920
- intercept(request, next) {
3921
- return this.monkeyecxAuthenticationService?.getRequestWithHeadersOb(request)?.pipe(take(1), map((event) => {
3922
- return event;
3923
- }), mergeMap((resp) => {
3924
- request = request.clone({
3925
- setHeaders: resp
3926
- });
3927
- return next.handle(request);
3928
- }), catchError((error) => {
3929
- this.monkeyecxErrorHandlingService.handleError(error);
3930
- return throwError(error);
3931
- })) || throwError('getRequestWithHeadersOb undefined');
3830
+ addSchedule(sch) {
3831
+ this.schedules = sch;
3832
+ }
3833
+ addGenericSchedule(sch) {
3834
+ this.genericSchedules = sch;
3835
+ }
3836
+ destroy() {
3837
+ this.destroySchedule();
3838
+ this.destroyGenericSchedule();
3932
3839
  }
3933
3840
  }
3934
- MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
3935
- MonkeyEcxHttpConfigHeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor });
3936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, decorators: [{
3937
- type: Injectable
3938
- }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
3841
+ MonkeyEcxLoggedHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3842
+ MonkeyEcxLoggedHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, providedIn: 'root' });
3843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, decorators: [{
3844
+ type: Injectable,
3845
+ args: [{
3846
+ providedIn: 'root'
3847
+ }]
3848
+ }], ctorParameters: function () { return []; } });
3939
3849
 
3940
- class MonkeyEcxRequestQueueHandlingService {
3850
+ class MonkeyEcxPaginationService {
3941
3851
  constructor() {
3942
- this.queue = [];
3943
- this.newQueue = new BehaviorSubject(false);
3944
- this.queues$ = new BehaviorSubject([]);
3852
+ this.callbacks = {};
3853
+ // not to do
3945
3854
  }
3946
- addToQueue(q) {
3947
- this.queue.push(q);
3948
- this.queues$.next(this.queue);
3949
- this.newQueue.next(true);
3855
+ setCallback(callback, name = 'main') {
3856
+ this.callbacks = {
3857
+ ...this.callbacks,
3858
+ [name]: callback
3859
+ };
3950
3860
  }
3951
- markQueueItemAsFinish(q, status, action) {
3952
- const saved = [...this.queue];
3953
- this.queue = [
3861
+ execute(type, name = 'main') {
3862
+ const { callbacks } = this;
3863
+ const callback = callbacks?.[name];
3864
+ if (callback)
3865
+ callback(type);
3866
+ }
3867
+ }
3868
+ MonkeyEcxPaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3869
+ MonkeyEcxPaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPaginationService, providedIn: 'root' });
3870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPaginationService, decorators: [{
3871
+ type: Injectable,
3872
+ args: [{
3873
+ providedIn: 'root'
3874
+ }]
3875
+ }], ctorParameters: function () { return []; } });
3876
+
3877
+ class MonkeyEcxRequestDownloadHandlingService {
3878
+ constructor() {
3879
+ this.download = [];
3880
+ this.download$ = new BehaviorSubject([]);
3881
+ }
3882
+ addTo(q) {
3883
+ this.download.push(q);
3884
+ this.download$.next(this.download);
3885
+ }
3886
+ markItemAsFinish(q, status) {
3887
+ const saved = [...this.download];
3888
+ this.download = [
3889
+ ...saved
3890
+ .map((val) => {
3891
+ if (val.status === MonkeyEcxDownloadEvents.OnGoing) {
3892
+ const valSaved = {
3893
+ ...val
3894
+ };
3895
+ if (valSaved.item.id === q.item.id) {
3896
+ return {
3897
+ ...valSaved,
3898
+ status: status || MonkeyEcxDownloadEvents.Finished
3899
+ };
3900
+ }
3901
+ return valSaved;
3902
+ }
3903
+ return null;
3904
+ })
3905
+ .filter((_) => {
3906
+ return _;
3907
+ })
3908
+ ];
3909
+ this.download = this.download.filter((_) => {
3910
+ return _.status === MonkeyEcxDownloadEvents.OnGoing;
3911
+ });
3912
+ this.download$.next(this.download);
3913
+ }
3914
+ updateItem(q, loaded, total) {
3915
+ const saved = [...this.download];
3916
+ this.download = [
3917
+ ...saved.map((val) => {
3918
+ const valSaved = {
3919
+ ...val
3920
+ };
3921
+ const currentPecentage = Math.floor(((loaded || 0) / (total || 0)) * 100);
3922
+ const totalPercentage = 100;
3923
+ if (valSaved.item.id === q.item.id) {
3924
+ return {
3925
+ ...valSaved,
3926
+ loaded,
3927
+ total,
3928
+ currentPercentage: currentPecentage,
3929
+ totalPercentage
3930
+ };
3931
+ }
3932
+ return valSaved;
3933
+ })
3934
+ ];
3935
+ this.download$.next(this.download);
3936
+ }
3937
+ set(q) {
3938
+ this.addTo(q);
3939
+ }
3940
+ get() {
3941
+ return this.download$.asObservable();
3942
+ }
3943
+ update(q, loaded, total) {
3944
+ this.updateItem(q, loaded, total);
3945
+ }
3946
+ finishItem(q, status) {
3947
+ this.markItemAsFinish(q, status);
3948
+ }
3949
+ hasDownloadOnGoing() {
3950
+ const found = this.download.find((_) => {
3951
+ return _.status === MonkeyEcxDownloadEvents.OnGoing;
3952
+ });
3953
+ return MonkeyEcxUtils.persistNullEmptyUndefined(found);
3954
+ }
3955
+ }
3956
+ MonkeyEcxRequestDownloadHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3957
+ MonkeyEcxRequestDownloadHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, providedIn: 'root' });
3958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, decorators: [{
3959
+ type: Injectable,
3960
+ args: [{
3961
+ providedIn: 'root'
3962
+ }]
3963
+ }], ctorParameters: function () { return []; } });
3964
+
3965
+ class MonkeyEcxRequestDownloadedHandlingService {
3966
+ constructor() {
3967
+ this.downloaded = [];
3968
+ this.downloaded$ = new BehaviorSubject([]);
3969
+ }
3970
+ addTo(q) {
3971
+ this.downloaded.push(q);
3972
+ this.downloaded$.next(this.downloaded);
3973
+ }
3974
+ markItemAsFinish(q, status) {
3975
+ const saved = [...this.downloaded];
3976
+ this.downloaded = [
3977
+ ...saved.map((val) => {
3978
+ if (val.status === MonkeyEcxDownloadEvents.OnGoing) {
3979
+ const valSaved = {
3980
+ ...val
3981
+ };
3982
+ if (valSaved.item.id === q.item.id) {
3983
+ return {
3984
+ ...valSaved,
3985
+ status: status || MonkeyEcxDownloadEvents.Finished,
3986
+ action: q.action
3987
+ };
3988
+ }
3989
+ return valSaved;
3990
+ }
3991
+ return val;
3992
+ })
3993
+ ];
3994
+ this.downloaded$.next(this.downloaded);
3995
+ }
3996
+ set(q) {
3997
+ this.addTo(q);
3998
+ }
3999
+ get() {
4000
+ return this.downloaded$.asObservable();
4001
+ }
4002
+ finishItem(q, status) {
4003
+ this.markItemAsFinish(q, status);
4004
+ }
4005
+ hasDownloadOnGoing() {
4006
+ const found = this.downloaded.find((_) => {
4007
+ return _.status === MonkeyEcxDownloadEvents.OnGoing;
4008
+ });
4009
+ return MonkeyEcxUtils.persistNullEmptyUndefined(found);
4010
+ }
4011
+ }
4012
+ MonkeyEcxRequestDownloadedHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadedHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4013
+ MonkeyEcxRequestDownloadedHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadedHandlingService, providedIn: 'root' });
4014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadedHandlingService, decorators: [{
4015
+ type: Injectable,
4016
+ args: [{
4017
+ providedIn: 'root'
4018
+ }]
4019
+ }], ctorParameters: function () { return []; } });
4020
+
4021
+ class MonkeyEcxRequestQueueHandlingService {
4022
+ constructor() {
4023
+ this.queue = [];
4024
+ this.newQueue = new BehaviorSubject(false);
4025
+ this.queues$ = new BehaviorSubject([]);
4026
+ }
4027
+ addToQueue(q) {
4028
+ this.queue.push(q);
4029
+ this.queues$.next(this.queue);
4030
+ this.newQueue.next(true);
4031
+ }
4032
+ markQueueItemAsFinish(q, status, action) {
4033
+ const saved = [...this.queue];
4034
+ this.queue = [
3954
4035
  ...saved.map((val) => {
3955
4036
  const valSaved = {
3956
4037
  ...val
@@ -4160,473 +4241,107 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4160
4241
  }]
4161
4242
  }], ctorParameters: function () { return []; } });
4162
4243
 
4163
- /* eslint-disable max-len */
4164
- class MonkeyEcxHttpConfigQueueInterceptor {
4165
- constructor(injector, monkeyecxRequestQueueHandlingService) {
4166
- this.injector = injector;
4167
- this.monkeyecxRequestQueueHandlingService = monkeyecxRequestQueueHandlingService;
4244
+ class MonkeyEcxDiscoveryParamsService {
4245
+ constructor(router) {
4246
+ this.router = router;
4168
4247
  // not to do
4169
4248
  }
4170
- intercept(request, next) {
4171
- const { injector, isQueueProperty } = this;
4172
- const monkeyecxHandlingService = injector.get(MonkeyEcxHandlingService);
4173
- const monkeyecxRequestQueue = monkeyecxHandlingService?.getMonkeyEcxRequestQueue();
4174
- if (isQueueProperty(monkeyecxRequestQueue)) {
4175
- this.monkeyecxRequestQueueHandlingService.setQueue(monkeyecxRequestQueue);
4249
+ getLastChild(route) {
4250
+ if (route.firstChild) {
4251
+ return this.getLastChild(route.firstChild);
4176
4252
  }
4177
- return next.handle(request).pipe(finalize(() => {
4178
- if (isQueueProperty(monkeyecxRequestQueue)) {
4179
- this.monkeyecxRequestQueueHandlingService.finishQueueItem(monkeyecxRequestQueue);
4180
- }
4181
- }));
4253
+ return route;
4182
4254
  }
4183
- isQueueProperty(mrq) {
4184
- return (MonkeyEcxUtils.persistNullEmptyUndefined(mrq) &&
4185
- MonkeyEcxUtils.persistNullEmptyUndefined(mrq?.item?.name));
4255
+ setData(field, value) {
4256
+ const { root } = this.router.routerState.snapshot;
4257
+ const route = this.getLastChild(root);
4258
+ route.data[field] = value;
4186
4259
  }
4187
- }
4188
- MonkeyEcxHttpConfigQueueInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigQueueInterceptor, deps: [{ token: i0.Injector }, { token: MonkeyEcxRequestQueueHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
4189
- MonkeyEcxHttpConfigQueueInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigQueueInterceptor });
4190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigQueueInterceptor, decorators: [{
4191
- type: Injectable
4192
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: MonkeyEcxRequestQueueHandlingService }]; } });
4193
-
4194
- /* eslint-disable max-len */
4195
- class MonkeyEcxHttpConfigLoadingInProgressInterceptor {
4196
- constructor(injector) {
4197
- this.injector = injector;
4198
- // no to do
4260
+ getData(field) {
4261
+ const { root } = this.router.routerState.snapshot;
4262
+ const route = this.getLastChild(root);
4263
+ const found = MonkeyEcxUtils.persistNullEmptyUndefined(route) ? route.data[field] : null;
4264
+ return found;
4199
4265
  }
4200
- intercept(request, next) {
4201
- const { injector, isLoadingInProgressProperty } = this;
4202
- const handlingService = injector.get(MonkeyEcxHandlingService);
4203
- const progressBarService = injector.get(MonkeyEcxProgressBarService);
4204
- const inProgress = handlingService?.getMonkeyEcxServiceCredentials()
4205
- ? handlingService?.getMonkeyEcxServiceCredentials()?.requestInProgress || null
4206
- : null;
4207
- if (isLoadingInProgressProperty(inProgress)) {
4208
- progressBarService.show();
4266
+ getDataFromCurrentNavigation(field) {
4267
+ const navigation = this.router.getCurrentNavigation();
4268
+ let state = null;
4269
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(navigation)) {
4270
+ state = navigation?.extras.state;
4209
4271
  }
4210
- return next.handle(request).pipe(finalize(() => {
4211
- if (isLoadingInProgressProperty(inProgress)) {
4212
- progressBarService.hide();
4213
- }
4214
- }));
4215
- }
4216
- isLoadingInProgressProperty(mlp) {
4217
- if (!mlp)
4218
- return false;
4219
- return MonkeyEcxUtils.persistNullEmptyUndefined(mlp) &&
4220
- MonkeyEcxUtils.persistNullEmptyUndefined(mlp.showProgress)
4221
- ? mlp.showProgress
4222
- : true;
4272
+ return state ? state[field] : null;
4223
4273
  }
4224
- }
4225
- MonkeyEcxHttpConfigLoadingInProgressInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigLoadingInProgressInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
4226
- MonkeyEcxHttpConfigLoadingInProgressInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigLoadingInProgressInterceptor });
4227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigLoadingInProgressInterceptor, decorators: [{
4228
- type: Injectable
4229
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
4230
-
4231
- class MonkeyEcxHttpConfigInterceptorModule {
4232
- static forRoot() {
4233
- return {
4234
- ngModule: MonkeyEcxHttpConfigInterceptorModule,
4235
- providers: [
4236
- {
4237
- provide: HTTP_INTERCEPTORS,
4238
- useClass: MonkeyEcxHttpConfigHeaderInterceptor,
4239
- multi: true,
4240
- },
4241
- {
4242
- provide: HTTP_INTERCEPTORS,
4243
- useClass: MonkeyEcxHttpConfigErrorInterceptor,
4244
- multi: true,
4245
- },
4246
- {
4247
- provide: HTTP_INTERCEPTORS,
4248
- useClass: MonkeyEcxHttpConfigQueueInterceptor,
4249
- multi: true,
4250
- },
4251
- {
4252
- provide: HTTP_INTERCEPTORS,
4253
- useClass: MonkeyEcxHttpConfigLoadingInProgressInterceptor,
4254
- multi: true,
4255
- },
4256
- ],
4257
- };
4258
- }
4259
- }
4260
- MonkeyEcxHttpConfigInterceptorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4261
- MonkeyEcxHttpConfigInterceptorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, imports: [CommonModule] });
4262
- MonkeyEcxHttpConfigInterceptorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, imports: [[CommonModule]] });
4263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, decorators: [{
4264
- type: NgModule,
4265
- args: [{
4266
- imports: [CommonModule],
4267
- }]
4268
- }] });
4269
-
4270
- class Link {
4271
- constructor(data) {
4272
- this.href = data?.href;
4273
- this.type = data?.type;
4274
- this.templated = data?.templated;
4275
- }
4276
- }
4277
- class MonkeyEcxModel {
4278
- getAction(type, replaceOptions) {
4279
- const { _links } = this;
4280
- if (!_links)
4281
- return null;
4282
- let link = _links[type.toLowerCase()];
4283
- link = new Link(link);
4284
- if (link && replaceOptions && link?.templated) {
4285
- const { from, to } = replaceOptions;
4286
- link = new Link({
4287
- ...link,
4288
- href: `${link.href}`.replace(from, to),
4289
- });
4290
- }
4291
- return link;
4292
- }
4293
- }
4294
-
4295
- /* eslint-disable indent */
4296
- class MonkeyEcxConfigModule {
4297
- constructor(parentModule) {
4298
- if (parentModule) {
4299
- throw new Error('MonkeyEcxConfigModule is already loaded. Import it in the AppModule only!');
4300
- }
4301
- }
4302
- static forRoot() {
4303
- return {
4304
- ngModule: MonkeyEcxConfigModule,
4305
- providers: [MonkeyEcxConfigService]
4306
- };
4307
- }
4308
- }
4309
- MonkeyEcxConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule, deps: [{ token: MonkeyEcxConfigModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
4310
- MonkeyEcxConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule });
4311
- MonkeyEcxConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule });
4312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule, decorators: [{
4313
- type: NgModule
4314
- }], ctorParameters: function () { return [{ type: MonkeyEcxConfigModule, decorators: [{
4315
- type: Optional
4316
- }, {
4317
- type: SkipSelf
4318
- }] }]; } });
4319
-
4320
- class MonkeyEcxLoggedHandlingService {
4321
- constructor() {
4322
- this.schedules = [];
4323
- this.genericSchedules = [];
4324
- // not to do
4325
- }
4326
- destroySchedule() {
4327
- this.schedules.forEach((sch) => {
4328
- clearInterval(sch.interval);
4329
- });
4330
- this.schedules = [];
4331
- }
4332
- destroyGenericSchedule() {
4333
- this.genericSchedules.forEach((sch) => {
4334
- clearInterval(sch.interval);
4335
- });
4336
- this.genericSchedules = [];
4337
- }
4338
- addSchedule(sch) {
4339
- this.schedules = sch;
4340
- }
4341
- addGenericSchedule(sch) {
4342
- this.genericSchedules = sch;
4343
- }
4344
- destroy() {
4345
- this.destroySchedule();
4346
- this.destroyGenericSchedule();
4274
+ getParam(param) {
4275
+ const { root } = this.router.routerState.snapshot;
4276
+ const route = this.getLastChild(root);
4277
+ let found = MonkeyEcxUtils.persistNullEmptyUndefined(route)
4278
+ ? route?.paramMap?.get(param) || ''
4279
+ : '';
4280
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(found))
4281
+ found = this.getData(param);
4282
+ return found;
4347
4283
  }
4348
4284
  }
4349
- MonkeyEcxLoggedHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4350
- MonkeyEcxLoggedHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, providedIn: 'root' });
4351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, decorators: [{
4285
+ MonkeyEcxDiscoveryParamsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
4286
+ MonkeyEcxDiscoveryParamsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, providedIn: 'root' });
4287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, decorators: [{
4352
4288
  type: Injectable,
4353
4289
  args: [{
4354
4290
  providedIn: 'root'
4355
4291
  }]
4356
- }], ctorParameters: function () { return []; } });
4292
+ }], ctorParameters: function () { return [{ type: i1$3.Router }]; } });
4357
4293
 
4358
- class MonkeyEcxPaginationService {
4359
- constructor() {
4360
- this.callbacks = {};
4294
+ class MonkeyEcxRequestScheduleService {
4295
+ constructor(monkeyecxService, monkeyLoggedHandlingService) {
4296
+ this.monkeyecxService = monkeyecxService;
4297
+ this.monkeyLoggedHandlingService = monkeyLoggedHandlingService;
4298
+ this.schedule = [];
4299
+ this.genericSchedule = [];
4361
4300
  // not to do
4362
4301
  }
4363
- setCallback(callback, name = 'main') {
4364
- this.callbacks = {
4365
- ...this.callbacks,
4366
- [name]: callback
4367
- };
4368
- }
4369
- execute(type, name = 'main') {
4370
- const { callbacks } = this;
4371
- const callback = callbacks?.[name];
4372
- if (callback)
4373
- callback(type);
4374
- }
4375
- }
4376
- MonkeyEcxPaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4377
- MonkeyEcxPaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPaginationService, providedIn: 'root' });
4378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPaginationService, decorators: [{
4379
- type: Injectable,
4380
- args: [{
4381
- providedIn: 'root'
4382
- }]
4383
- }], ctorParameters: function () { return []; } });
4384
-
4385
- class MonkeyEcxRequestDownloadHandlingService {
4386
- constructor() {
4387
- this.download = [];
4388
- this.download$ = new BehaviorSubject([]);
4302
+ addToSchedule(q) {
4303
+ this.schedule.push(q);
4304
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4389
4305
  }
4390
- addTo(q) {
4391
- this.download.push(q);
4392
- this.download$.next(this.download);
4306
+ addToGenericSchedule(q) {
4307
+ this.genericSchedule.push(q);
4308
+ this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
4393
4309
  }
4394
- markItemAsFinish(q, status) {
4395
- const saved = [...this.download];
4396
- this.download = [
4397
- ...saved
4398
- .map((val) => {
4399
- if (val.status === MonkeyEcxDownloadEvents.OnGoing) {
4400
- const valSaved = {
4401
- ...val
4402
- };
4403
- if (valSaved.item.id === q.item.id) {
4404
- return {
4405
- ...valSaved,
4406
- status: status || MonkeyEcxDownloadEvents.Finished
4407
- };
4408
- }
4409
- return valSaved;
4310
+ removeFromSchedule(q) {
4311
+ clearInterval(q.interval);
4312
+ const saved = [...this.schedule];
4313
+ this.schedule = [
4314
+ ...saved.map((sch) => {
4315
+ const savedLocal = {
4316
+ ...sch
4317
+ };
4318
+ if (sch.id === q.id) {
4319
+ return null;
4410
4320
  }
4411
- return null;
4412
- })
4413
- .filter((_) => {
4414
- return _;
4321
+ return savedLocal;
4415
4322
  })
4416
- ];
4417
- this.download = this.download.filter((_) => {
4418
- return _.status === MonkeyEcxDownloadEvents.OnGoing;
4323
+ ].filter((_) => {
4324
+ return _;
4419
4325
  });
4420
- this.download$.next(this.download);
4326
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4421
4327
  }
4422
- updateItem(q, loaded, total) {
4423
- const saved = [...this.download];
4424
- this.download = [
4425
- ...saved.map((val) => {
4426
- const valSaved = {
4427
- ...val
4328
+ removeFromGenericSchedule(q) {
4329
+ clearInterval(q.interval);
4330
+ const saved = [...this.genericSchedule];
4331
+ this.genericSchedule = [
4332
+ ...saved.map((sch) => {
4333
+ const savedLocal = {
4334
+ ...sch
4428
4335
  };
4429
- const currentPecentage = Math.floor(((loaded || 0) / (total || 0)) * 100);
4430
- const totalPercentage = 100;
4431
- if (valSaved.item.id === q.item.id) {
4432
- return {
4433
- ...valSaved,
4434
- loaded,
4435
- total,
4436
- currentPercentage: currentPecentage,
4437
- totalPercentage
4438
- };
4336
+ if (sch.id === q.id) {
4337
+ return null;
4439
4338
  }
4440
- return valSaved;
4339
+ return savedLocal;
4441
4340
  })
4442
- ];
4443
- this.download$.next(this.download);
4444
- }
4445
- set(q) {
4446
- this.addTo(q);
4447
- }
4448
- get() {
4449
- return this.download$.asObservable();
4450
- }
4451
- update(q, loaded, total) {
4452
- this.updateItem(q, loaded, total);
4453
- }
4454
- finishItem(q, status) {
4455
- this.markItemAsFinish(q, status);
4456
- }
4457
- hasDownloadOnGoing() {
4458
- const found = this.download.find((_) => {
4459
- return _.status === MonkeyEcxDownloadEvents.OnGoing;
4460
- });
4461
- return MonkeyEcxUtils.persistNullEmptyUndefined(found);
4462
- }
4463
- }
4464
- MonkeyEcxRequestDownloadHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4465
- MonkeyEcxRequestDownloadHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, providedIn: 'root' });
4466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, decorators: [{
4467
- type: Injectable,
4468
- args: [{
4469
- providedIn: 'root'
4470
- }]
4471
- }], ctorParameters: function () { return []; } });
4472
-
4473
- class MonkeyEcxRequestDownloadedHandlingService {
4474
- constructor() {
4475
- this.downloaded = [];
4476
- this.downloaded$ = new BehaviorSubject([]);
4477
- }
4478
- addTo(q) {
4479
- this.downloaded.push(q);
4480
- this.downloaded$.next(this.downloaded);
4481
- }
4482
- markItemAsFinish(q, status) {
4483
- const saved = [...this.downloaded];
4484
- this.downloaded = [
4485
- ...saved.map((val) => {
4486
- if (val.status === MonkeyEcxDownloadEvents.OnGoing) {
4487
- const valSaved = {
4488
- ...val
4489
- };
4490
- if (valSaved.item.id === q.item.id) {
4491
- return {
4492
- ...valSaved,
4493
- status: status || MonkeyEcxDownloadEvents.Finished,
4494
- action: q.action
4495
- };
4496
- }
4497
- return valSaved;
4498
- }
4499
- return val;
4500
- })
4501
- ];
4502
- this.downloaded$.next(this.downloaded);
4503
- }
4504
- set(q) {
4505
- this.addTo(q);
4506
- }
4507
- get() {
4508
- return this.downloaded$.asObservable();
4509
- }
4510
- finishItem(q, status) {
4511
- this.markItemAsFinish(q, status);
4512
- }
4513
- hasDownloadOnGoing() {
4514
- const found = this.downloaded.find((_) => {
4515
- return _.status === MonkeyEcxDownloadEvents.OnGoing;
4516
- });
4517
- return MonkeyEcxUtils.persistNullEmptyUndefined(found);
4518
- }
4519
- }
4520
- MonkeyEcxRequestDownloadedHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadedHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4521
- MonkeyEcxRequestDownloadedHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadedHandlingService, providedIn: 'root' });
4522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestDownloadedHandlingService, decorators: [{
4523
- type: Injectable,
4524
- args: [{
4525
- providedIn: 'root'
4526
- }]
4527
- }], ctorParameters: function () { return []; } });
4528
-
4529
- class MonkeyEcxDiscoveryParamsService {
4530
- constructor(router) {
4531
- this.router = router;
4532
- // not to do
4533
- }
4534
- getLastChild(route) {
4535
- if (route.firstChild) {
4536
- return this.getLastChild(route.firstChild);
4537
- }
4538
- return route;
4539
- }
4540
- setData(field, value) {
4541
- const { root } = this.router.routerState.snapshot;
4542
- const route = this.getLastChild(root);
4543
- route.data[field] = value;
4544
- }
4545
- getData(field) {
4546
- const { root } = this.router.routerState.snapshot;
4547
- const route = this.getLastChild(root);
4548
- const found = MonkeyEcxUtils.persistNullEmptyUndefined(route) ? route.data[field] : null;
4549
- return found;
4550
- }
4551
- getDataFromCurrentNavigation(field) {
4552
- const navigation = this.router.getCurrentNavigation();
4553
- let state = null;
4554
- if (MonkeyEcxUtils.persistNullEmptyUndefined(navigation)) {
4555
- state = navigation?.extras.state;
4556
- }
4557
- return state ? state[field] : null;
4558
- }
4559
- getParam(param) {
4560
- const { root } = this.router.routerState.snapshot;
4561
- const route = this.getLastChild(root);
4562
- let found = MonkeyEcxUtils.persistNullEmptyUndefined(route)
4563
- ? route?.paramMap?.get(param) || ''
4564
- : '';
4565
- if (!MonkeyEcxUtils.persistNullEmptyUndefined(found))
4566
- found = this.getData(param);
4567
- return found;
4568
- }
4569
- }
4570
- MonkeyEcxDiscoveryParamsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
4571
- MonkeyEcxDiscoveryParamsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, providedIn: 'root' });
4572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, decorators: [{
4573
- type: Injectable,
4574
- args: [{
4575
- providedIn: 'root'
4576
- }]
4577
- }], ctorParameters: function () { return [{ type: i1$3.Router }]; } });
4578
-
4579
- class MonkeyEcxRequestScheduleService {
4580
- constructor(monkeyecxService, monkeyLoggedHandlingService) {
4581
- this.monkeyecxService = monkeyecxService;
4582
- this.monkeyLoggedHandlingService = monkeyLoggedHandlingService;
4583
- this.schedule = [];
4584
- this.genericSchedule = [];
4585
- // not to do
4586
- }
4587
- addToSchedule(q) {
4588
- this.schedule.push(q);
4589
- this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4590
- }
4591
- addToGenericSchedule(q) {
4592
- this.genericSchedule.push(q);
4593
- this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
4594
- }
4595
- removeFromSchedule(q) {
4596
- clearInterval(q.interval);
4597
- const saved = [...this.schedule];
4598
- this.schedule = [
4599
- ...saved.map((sch) => {
4600
- const savedLocal = {
4601
- ...sch
4602
- };
4603
- if (sch.id === q.id) {
4604
- return null;
4605
- }
4606
- return savedLocal;
4607
- })
4608
- ].filter((_) => {
4609
- return _;
4610
- });
4611
- this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4612
- }
4613
- removeFromGenericSchedule(q) {
4614
- clearInterval(q.interval);
4615
- const saved = [...this.genericSchedule];
4616
- this.genericSchedule = [
4617
- ...saved.map((sch) => {
4618
- const savedLocal = {
4619
- ...sch
4620
- };
4621
- if (sch.id === q.id) {
4622
- return null;
4623
- }
4624
- return savedLocal;
4625
- })
4626
- ].filter((_) => {
4627
- return _;
4628
- });
4629
- this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
4341
+ ].filter((_) => {
4342
+ return _;
4343
+ });
4344
+ this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
4630
4345
  }
4631
4346
  removeFromScheduleById(id) {
4632
4347
  const q = this.getScheduleById(id);
@@ -4757,6 +4472,364 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4757
4472
  }]
4758
4473
  }], ctorParameters: function () { return [{ type: MonkeyEcxService }, { type: MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [], doGenericCall: [] } });
4759
4474
 
4475
+ class MonkeyEcxFeatureByProgramDirective {
4476
+ constructor(cdr, elementRef, monkeyConfigService) {
4477
+ this.cdr = cdr;
4478
+ this.elementRef = elementRef;
4479
+ this.monkeyConfigService = monkeyConfigService;
4480
+ this.feature = '';
4481
+ this.monkeyConfigService.config().subscribe((_) => {
4482
+ this.config = _;
4483
+ });
4484
+ }
4485
+ handleDisplay() {
4486
+ const { feature, config } = this;
4487
+ let display = 'none';
4488
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(feature) ||
4489
+ !MonkeyEcxUtils.persistNullEmptyUndefined(config?.program?.settings[feature])) {
4490
+ return;
4491
+ }
4492
+ const disabled = config?.program?.settings[feature];
4493
+ if (!disabled) {
4494
+ display = 'block';
4495
+ }
4496
+ this.elementRef.nativeElement.style.display = display;
4497
+ if (display === 'none') {
4498
+ this.elementRef.nativeElement.remove();
4499
+ }
4500
+ this.cdr.detectChanges();
4501
+ }
4502
+ ngOnInit() {
4503
+ if (!this.feature)
4504
+ return;
4505
+ this.elementRef.nativeElement.style.display = 'none';
4506
+ this.cdr.detectChanges();
4507
+ this.handleDisplay();
4508
+ }
4509
+ }
4510
+ MonkeyEcxFeatureByProgramDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureByProgramDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Directive });
4511
+ MonkeyEcxFeatureByProgramDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxFeatureByProgramDirective, selector: "[monkeyecxFeatureByProgram]", inputs: { feature: "feature" }, ngImport: i0 });
4512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureByProgramDirective, decorators: [{
4513
+ type: Directive,
4514
+ args: [{
4515
+ selector: '[monkeyecxFeatureByProgram]'
4516
+ }]
4517
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: MonkeyEcxConfigService }]; }, propDecorators: { feature: [{
4518
+ type: Input,
4519
+ args: ['feature']
4520
+ }] } });
4521
+
4522
+ class MonkeyEcxFeatureDirective {
4523
+ constructor(cdr, elementRef, monkeyecxFeatureToggleService) {
4524
+ this.cdr = cdr;
4525
+ this.elementRef = elementRef;
4526
+ this.monkeyecxFeatureToggleService = monkeyecxFeatureToggleService;
4527
+ this.unsubscribeAll = new Subject();
4528
+ // not to do
4529
+ }
4530
+ getFeature(feature) {
4531
+ const { monkeyecxFeatureToggleService } = this;
4532
+ if (!monkeyecxFeatureToggleService) {
4533
+ return false;
4534
+ }
4535
+ return monkeyecxFeatureToggleService?.getFlag(feature) || false;
4536
+ }
4537
+ handleDisplay() {
4538
+ if (!this.feature)
4539
+ return;
4540
+ const flag = this.getFeature(this.feature);
4541
+ let display = 'none';
4542
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(flag)) {
4543
+ return;
4544
+ }
4545
+ if (flag) {
4546
+ display = 'block';
4547
+ }
4548
+ if (display === 'none') {
4549
+ this.elementRef.nativeElement.remove();
4550
+ }
4551
+ this.elementRef.nativeElement.style.display = display;
4552
+ this.cdr.detectChanges();
4553
+ }
4554
+ ngOnDestroy() {
4555
+ this.unsubscribeAll.next();
4556
+ this.unsubscribeAll.complete();
4557
+ }
4558
+ ngOnInit() {
4559
+ if (!this.feature)
4560
+ return;
4561
+ this.elementRef.nativeElement.style.display = 'none';
4562
+ this.cdr.detectChanges();
4563
+ this.monkeyecxFeatureToggleService.onFlags
4564
+ .pipe(takeUntil(this.unsubscribeAll))
4565
+ .subscribe((val) => {
4566
+ if (val) {
4567
+ this.handleDisplay();
4568
+ }
4569
+ });
4570
+ }
4571
+ }
4572
+ MonkeyEcxFeatureDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MonkeyEcxFeatureToggleService }], target: i0.ɵɵFactoryTarget.Directive });
4573
+ MonkeyEcxFeatureDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxFeatureDirective, selector: "[monkeyecxFeature]", inputs: { feature: ["featureName", "feature"] }, ngImport: i0 });
4574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureDirective, decorators: [{
4575
+ type: Directive,
4576
+ args: [{
4577
+ selector: '[monkeyecxFeature]'
4578
+ }]
4579
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: MonkeyEcxFeatureToggleService }]; }, propDecorators: { feature: [{
4580
+ type: Input,
4581
+ args: ['featureName']
4582
+ }] } });
4583
+
4584
+ class MonkeyEcxDirectivesModule {
4585
+ }
4586
+ MonkeyEcxDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4587
+ MonkeyEcxDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, declarations: [MonkeyEcxDragDropDirective,
4588
+ MonkeyEcxFormatCurrency,
4589
+ MonkeyEcxFeatureDirective,
4590
+ MonkeyEcxFeatureByProgramDirective,
4591
+ MonkeyEcxFormatUpper,
4592
+ MonkeyEcxOnlyAlphaNumericDirective,
4593
+ MonkeyEcxOnlyNumbersDirective,
4594
+ MonkeyEcxSecurityDirective,
4595
+ MonkeyEcxTooltipDirective,
4596
+ MonkeyEcxPopoverDirective,
4597
+ MonkeyEcxPopoverOptionsDirective], imports: [CommonModule, OverlayModule], exports: [MonkeyEcxDragDropDirective,
4598
+ MonkeyEcxFormatCurrency,
4599
+ MonkeyEcxFeatureDirective,
4600
+ MonkeyEcxFeatureByProgramDirective,
4601
+ MonkeyEcxFormatUpper,
4602
+ MonkeyEcxOnlyAlphaNumericDirective,
4603
+ MonkeyEcxOnlyNumbersDirective,
4604
+ MonkeyEcxSecurityDirective,
4605
+ MonkeyEcxTooltipDirective,
4606
+ MonkeyEcxPopoverDirective,
4607
+ MonkeyEcxPopoverOptionsDirective] });
4608
+ MonkeyEcxDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, imports: [[CommonModule, OverlayModule]] });
4609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDirectivesModule, decorators: [{
4610
+ type: NgModule,
4611
+ args: [{
4612
+ declarations: [
4613
+ MonkeyEcxDragDropDirective,
4614
+ MonkeyEcxFormatCurrency,
4615
+ MonkeyEcxFeatureDirective,
4616
+ MonkeyEcxFeatureByProgramDirective,
4617
+ MonkeyEcxFormatUpper,
4618
+ MonkeyEcxOnlyAlphaNumericDirective,
4619
+ MonkeyEcxOnlyNumbersDirective,
4620
+ MonkeyEcxSecurityDirective,
4621
+ MonkeyEcxTooltipDirective,
4622
+ MonkeyEcxPopoverDirective,
4623
+ MonkeyEcxPopoverOptionsDirective
4624
+ ],
4625
+ imports: [CommonModule, OverlayModule],
4626
+ exports: [
4627
+ MonkeyEcxDragDropDirective,
4628
+ MonkeyEcxFormatCurrency,
4629
+ MonkeyEcxFeatureDirective,
4630
+ MonkeyEcxFeatureByProgramDirective,
4631
+ MonkeyEcxFormatUpper,
4632
+ MonkeyEcxOnlyAlphaNumericDirective,
4633
+ MonkeyEcxOnlyNumbersDirective,
4634
+ MonkeyEcxSecurityDirective,
4635
+ MonkeyEcxTooltipDirective,
4636
+ MonkeyEcxPopoverDirective,
4637
+ MonkeyEcxPopoverOptionsDirective
4638
+ ]
4639
+ }]
4640
+ }] });
4641
+
4642
+ class MonkeyEcxHttpConfigErrorInterceptor {
4643
+ constructor(monkeyecxAuthenticationService, monkeyecxErrorHandlingService) {
4644
+ this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
4645
+ this.monkeyecxErrorHandlingService = monkeyecxErrorHandlingService;
4646
+ // no to do
4647
+ }
4648
+ intercept(request, next) {
4649
+ return next.handle(request).pipe(map((event) => {
4650
+ return event;
4651
+ }), catchError((error) => {
4652
+ if (this.monkeyecxAuthenticationService.refreshShouldHappen(error)) {
4653
+ return this.monkeyecxAuthenticationService?.refreshToken()?.pipe(take(1), map(() => {
4654
+ return this.monkeyecxAuthenticationService.getRequestWithHeaders(request);
4655
+ }), mergeMap((resp) => {
4656
+ return next.handle(resp).pipe(catchError((error) => {
4657
+ this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');
4658
+ return throwError(null);
4659
+ }));
4660
+ }), catchError((error) => {
4661
+ this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');
4662
+ return throwError(null);
4663
+ })) || throwError(error);
4664
+ }
4665
+ return throwError(error);
4666
+ }));
4667
+ }
4668
+ }
4669
+ MonkeyEcxHttpConfigErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigErrorInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
4670
+ MonkeyEcxHttpConfigErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigErrorInterceptor });
4671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigErrorInterceptor, decorators: [{
4672
+ type: Injectable
4673
+ }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
4674
+
4675
+ class MonkeyEcxHttpConfigHeaderInterceptor {
4676
+ constructor(monkeyecxAuthenticationService, monkeyecxErrorHandlingService) {
4677
+ this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
4678
+ this.monkeyecxErrorHandlingService = monkeyecxErrorHandlingService;
4679
+ // not to do
4680
+ }
4681
+ intercept(request, next) {
4682
+ return this.monkeyecxAuthenticationService?.getRequestWithHeadersOb(request)?.pipe(take(1), map((event) => {
4683
+ return event;
4684
+ }), mergeMap((resp) => {
4685
+ request = request.clone({
4686
+ setHeaders: resp
4687
+ });
4688
+ return next.handle(request);
4689
+ }), catchError((error) => {
4690
+ this.monkeyecxErrorHandlingService.handleError(error);
4691
+ return throwError(error);
4692
+ })) || throwError('getRequestWithHeadersOb undefined');
4693
+ }
4694
+ }
4695
+ MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
4696
+ MonkeyEcxHttpConfigHeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor });
4697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, decorators: [{
4698
+ type: Injectable
4699
+ }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
4700
+
4701
+ /* eslint-disable max-len */
4702
+ class MonkeyEcxHttpConfigQueueInterceptor {
4703
+ constructor(injector, monkeyecxRequestQueueHandlingService) {
4704
+ this.injector = injector;
4705
+ this.monkeyecxRequestQueueHandlingService = monkeyecxRequestQueueHandlingService;
4706
+ // not to do
4707
+ }
4708
+ intercept(request, next) {
4709
+ const { injector, isQueueProperty } = this;
4710
+ const monkeyecxHandlingService = injector.get(MonkeyEcxHandlingService);
4711
+ const monkeyecxRequestQueue = monkeyecxHandlingService?.getMonkeyEcxRequestQueue();
4712
+ if (isQueueProperty(monkeyecxRequestQueue)) {
4713
+ this.monkeyecxRequestQueueHandlingService.setQueue(monkeyecxRequestQueue);
4714
+ }
4715
+ return next.handle(request).pipe(finalize(() => {
4716
+ if (isQueueProperty(monkeyecxRequestQueue)) {
4717
+ this.monkeyecxRequestQueueHandlingService.finishQueueItem(monkeyecxRequestQueue);
4718
+ }
4719
+ }));
4720
+ }
4721
+ isQueueProperty(mrq) {
4722
+ return (MonkeyEcxUtils.persistNullEmptyUndefined(mrq) &&
4723
+ MonkeyEcxUtils.persistNullEmptyUndefined(mrq?.item?.name));
4724
+ }
4725
+ }
4726
+ MonkeyEcxHttpConfigQueueInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigQueueInterceptor, deps: [{ token: i0.Injector }, { token: MonkeyEcxRequestQueueHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
4727
+ MonkeyEcxHttpConfigQueueInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigQueueInterceptor });
4728
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigQueueInterceptor, decorators: [{
4729
+ type: Injectable
4730
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: MonkeyEcxRequestQueueHandlingService }]; } });
4731
+
4732
+ /* eslint-disable max-len */
4733
+ class MonkeyEcxHttpConfigLoadingInProgressInterceptor {
4734
+ constructor(injector) {
4735
+ this.injector = injector;
4736
+ // no to do
4737
+ }
4738
+ intercept(request, next) {
4739
+ const { injector, isLoadingInProgressProperty } = this;
4740
+ const handlingService = injector.get(MonkeyEcxHandlingService);
4741
+ const progressBarService = injector.get(MonkeyEcxProgressBarService);
4742
+ const inProgress = handlingService?.getMonkeyEcxServiceCredentials()
4743
+ ? handlingService?.getMonkeyEcxServiceCredentials()?.requestInProgress || null
4744
+ : null;
4745
+ if (isLoadingInProgressProperty(inProgress)) {
4746
+ progressBarService.show();
4747
+ }
4748
+ return next.handle(request).pipe(finalize(() => {
4749
+ if (isLoadingInProgressProperty(inProgress)) {
4750
+ progressBarService.hide();
4751
+ }
4752
+ }));
4753
+ }
4754
+ isLoadingInProgressProperty(mlp) {
4755
+ if (!mlp)
4756
+ return false;
4757
+ return MonkeyEcxUtils.persistNullEmptyUndefined(mlp) &&
4758
+ MonkeyEcxUtils.persistNullEmptyUndefined(mlp.showProgress)
4759
+ ? mlp.showProgress
4760
+ : true;
4761
+ }
4762
+ }
4763
+ MonkeyEcxHttpConfigLoadingInProgressInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigLoadingInProgressInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
4764
+ MonkeyEcxHttpConfigLoadingInProgressInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigLoadingInProgressInterceptor });
4765
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigLoadingInProgressInterceptor, decorators: [{
4766
+ type: Injectable
4767
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
4768
+
4769
+ class MonkeyEcxHttpConfigInterceptorModule {
4770
+ static forRoot() {
4771
+ return {
4772
+ ngModule: MonkeyEcxHttpConfigInterceptorModule,
4773
+ providers: [
4774
+ {
4775
+ provide: HTTP_INTERCEPTORS,
4776
+ useClass: MonkeyEcxHttpConfigHeaderInterceptor,
4777
+ multi: true,
4778
+ },
4779
+ {
4780
+ provide: HTTP_INTERCEPTORS,
4781
+ useClass: MonkeyEcxHttpConfigErrorInterceptor,
4782
+ multi: true,
4783
+ },
4784
+ {
4785
+ provide: HTTP_INTERCEPTORS,
4786
+ useClass: MonkeyEcxHttpConfigQueueInterceptor,
4787
+ multi: true,
4788
+ },
4789
+ {
4790
+ provide: HTTP_INTERCEPTORS,
4791
+ useClass: MonkeyEcxHttpConfigLoadingInProgressInterceptor,
4792
+ multi: true,
4793
+ },
4794
+ ],
4795
+ };
4796
+ }
4797
+ }
4798
+ MonkeyEcxHttpConfigInterceptorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4799
+ MonkeyEcxHttpConfigInterceptorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, imports: [CommonModule] });
4800
+ MonkeyEcxHttpConfigInterceptorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, imports: [[CommonModule]] });
4801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigInterceptorModule, decorators: [{
4802
+ type: NgModule,
4803
+ args: [{
4804
+ imports: [CommonModule],
4805
+ }]
4806
+ }] });
4807
+
4808
+ class Link {
4809
+ constructor(data) {
4810
+ this.href = data?.href;
4811
+ this.type = data?.type;
4812
+ this.templated = data?.templated;
4813
+ }
4814
+ }
4815
+ class MonkeyEcxModel {
4816
+ getAction(type, replaceOptions) {
4817
+ const { _links } = this;
4818
+ if (!_links)
4819
+ return null;
4820
+ let link = _links[type.toLowerCase()];
4821
+ link = new Link(link);
4822
+ if (link && replaceOptions && link?.templated) {
4823
+ const { from, to } = replaceOptions;
4824
+ link = new Link({
4825
+ ...link,
4826
+ href: `${link.href}`.replace(from, to),
4827
+ });
4828
+ }
4829
+ return link;
4830
+ }
4831
+ }
4832
+
4760
4833
  /* eslint-disable no-unused-vars */
4761
4834
  var OpSearch;
4762
4835
  (function (OpSearch) {
@@ -4917,5 +4990,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4917
4990
  * Generated bundle index. Do not edit.
4918
4991
  */
4919
4992
 
4920
- export { ClosedToMaintenanceComponent, ClosedToMaintenanceModule, decoratorsUtils as DecoratorsUtils, Link, MonkeyEcxAuthGuard, MonkeyEcxAuthGuardCompany, MonkeyEcxAuthGuardLogin, MonkeyEcxAuthenticationService, MonkeyEcxCommonsService, MonkeyEcxConfigModule, MonkeyEcxConfigService, MonkeyEcxCookieStorageService, MonkeyEcxCoreCharts, MonkeyEcxCoreClearDecorators, MonkeyEcxCoreLog, MonkeyEcxCoreService, MonkeyEcxCoreServiceConstructor, MonkeyEcxCoreServicePaged, MonkeyEcxCoreServiceQueue, MonkeyEcxDirectivesModule, MonkeyEcxDiscoveryParamsService, MonkeyEcxDisplayFirstNamePipe, MonkeyEcxDragDropDirective, MonkeyEcxErrorConfigService, MonkeyEcxErrorHandlingModule, MonkeyEcxErrorHandlingService, MonkeyEcxFeatureDirective, MonkeyEcxFeatureToggleService, MonkeyEcxFormatAddressPipe, MonkeyEcxFormatBeaufityJSONPipe, MonkeyEcxFormatCurrency, MonkeyEcxFormatCurrencyPipe, MonkeyEcxFormatDateGroupPipe, MonkeyEcxFormatDateTimelapsePipe, MonkeyEcxFormatDateUnixTimelapsePipe, MonkeyEcxFormatDocumentPipe, MonkeyEcxFormatDocumentTypePipe, MonkeyEcxFormatNumberPipe, MonkeyEcxFormatPhonePipe, MonkeyEcxFormatSizePipe, MonkeyEcxFormatTaxPipe, MonkeyEcxFormatUpper, MonkeyEcxFormatValue, MonkeyEcxFormatZipCodePipe, MonkeyEcxHandlingService, MonkeyEcxHttpConfigErrorInterceptor, MonkeyEcxHttpConfigHeaderInterceptor, MonkeyEcxHttpConfigInterceptorModule, MonkeyEcxHttpConfigLoadingInProgressInterceptor, MonkeyEcxHttpConfigQueueInterceptor, MonkeyEcxHttpErrorHandlingService, MonkeyEcxLoggedHandlingService, MonkeyEcxLogsConfigService, MonkeyEcxMaintenanceConfigService, MonkeyEcxModel, MonkeyEcxOnlyAlphaNumericDirective, MonkeyEcxOnlyNumbersDirective, MonkeyEcxOthersErrorsHandlingService, MonkeyEcxPaginationService, MonkeyEcxPipesModule, MonkeyEcxPopoverDirective, MonkeyEcxPopoverOptionsDirective, MonkeyEcxProgressBarComponent, MonkeyEcxProgressBarModule, MonkeyEcxProgressBarService, MonkeyEcxRequestDownloadHandlingService, MonkeyEcxRequestDownloadedHandlingService, MonkeyEcxRequestPagedHandling, MonkeyEcxRequestQueueHandlingService, MonkeyEcxRequestQueueModalHandlingService, MonkeyEcxRequestScheduleService, MonkeyEcxSecurityConsoleConfigService, MonkeyEcxSecurityDirective, MonkeyEcxService, MonkeyEcxServiceDownload, MonkeyEcxServiceUpload, MonkeyEcxServiceWorkerConfigService, MonkeyEcxSpecificationSearch, MonkeyEcxTextTruncatePipe, MonkeyEcxTokenStorageService, MonkeyEcxTooltipDirective, MonkeyEcxTruncateQtdPipe, MonkeyEcxUtils, MonkeyEcxi18nConfigService, MonkeyFrontCoreModule, OpSearch, POPOVER_OPTIONS, statics as Statics, validateUtils as ValidateUtils, Validators, VersionChangedComponent, VersionChangedModule, comboValidator, dateRangeValidator, dateStartEndValidator, dateValidator, documentValidator, emailValidator, passwordConfirmValidator, registerValidator, trueValidator, urlValidator, valueGreaterThanZero, zipCodeValidator };
4993
+ export { ClosedToMaintenanceComponent, ClosedToMaintenanceModule, decoratorsUtils as DecoratorsUtils, Link, MonkeyEcxAuthGuard, MonkeyEcxAuthGuardCompany, MonkeyEcxAuthGuardLogin, MonkeyEcxAuthenticationService, MonkeyEcxCommonsService, MonkeyEcxConfigModule, MonkeyEcxConfigService, MonkeyEcxCookieStorageService, MonkeyEcxCoreCharts, MonkeyEcxCoreClearDecorators, MonkeyEcxCoreLog, MonkeyEcxCoreService, MonkeyEcxCoreServiceConstructor, MonkeyEcxCoreServicePaged, MonkeyEcxCoreServiceQueue, MonkeyEcxDirectivesModule, MonkeyEcxDiscoveryParamsService, MonkeyEcxDisplayFirstNamePipe, MonkeyEcxDragDropDirective, MonkeyEcxErrorConfigService, MonkeyEcxErrorHandlingModule, MonkeyEcxErrorHandlingService, MonkeyEcxFeatureByProgramDirective, MonkeyEcxFeatureDirective, MonkeyEcxFeatureToggleService, MonkeyEcxFormatAddressPipe, MonkeyEcxFormatBeaufityJSONPipe, MonkeyEcxFormatCurrency, MonkeyEcxFormatCurrencyPipe, MonkeyEcxFormatDateGroupPipe, MonkeyEcxFormatDateTimelapsePipe, MonkeyEcxFormatDateUnixTimelapsePipe, MonkeyEcxFormatDocumentPipe, MonkeyEcxFormatDocumentTypePipe, MonkeyEcxFormatNumberPipe, MonkeyEcxFormatPhonePipe, MonkeyEcxFormatSizePipe, MonkeyEcxFormatTaxPipe, MonkeyEcxFormatUpper, MonkeyEcxFormatValue, MonkeyEcxFormatZipCodePipe, MonkeyEcxHandlingService, MonkeyEcxHttpConfigErrorInterceptor, MonkeyEcxHttpConfigHeaderInterceptor, MonkeyEcxHttpConfigInterceptorModule, MonkeyEcxHttpConfigLoadingInProgressInterceptor, MonkeyEcxHttpConfigQueueInterceptor, MonkeyEcxHttpErrorHandlingService, MonkeyEcxLoggedHandlingService, MonkeyEcxLogsConfigService, MonkeyEcxMaintenanceConfigService, MonkeyEcxModel, MonkeyEcxOnlyAlphaNumericDirective, MonkeyEcxOnlyNumbersDirective, MonkeyEcxOthersErrorsHandlingService, MonkeyEcxPaginationService, MonkeyEcxPipesModule, MonkeyEcxPopoverDirective, MonkeyEcxPopoverOptionsDirective, MonkeyEcxProgressBarComponent, MonkeyEcxProgressBarModule, MonkeyEcxProgressBarService, MonkeyEcxRequestDownloadHandlingService, MonkeyEcxRequestDownloadedHandlingService, MonkeyEcxRequestPagedHandling, MonkeyEcxRequestQueueHandlingService, MonkeyEcxRequestQueueModalHandlingService, MonkeyEcxRequestScheduleService, MonkeyEcxSecurityConsoleConfigService, MonkeyEcxSecurityDirective, MonkeyEcxService, MonkeyEcxServiceDownload, MonkeyEcxServiceUpload, MonkeyEcxServiceWorkerConfigService, MonkeyEcxSpecificationSearch, MonkeyEcxTextTruncatePipe, MonkeyEcxTokenStorageService, MonkeyEcxTooltipDirective, MonkeyEcxTruncateQtdPipe, MonkeyEcxUtils, MonkeyEcxi18nConfigService, MonkeyFrontCoreModule, OpSearch, POPOVER_OPTIONS, statics as Statics, validateUtils as ValidateUtils, Validators, VersionChangedComponent, VersionChangedModule, comboValidator, dateRangeValidator, dateStartEndValidator, dateValidator, documentValidator, emailValidator, passwordConfirmValidator, registerValidator, trueValidator, urlValidator, valueGreaterThanZero, zipCodeValidator };
4921
4994
  //# sourceMappingURL=monkey-front-core.mjs.map