@one-paragon/angular-utilities 2.0.24 → 2.0.26
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 { Input, Directive, inject, Injector, TemplateRef, ViewContainerRef, NgModule, assertInInjectionContext, DestroyRef, signal, computed, isSignal, Injectable, runInInjectionContext, input, Renderer2, ElementRef, booleanAttribute, Pipe,
|
|
2
|
+
import { Input, Directive, inject, Injector, TemplateRef, ViewContainerRef, NgModule, assertInInjectionContext, DestroyRef, signal, InjectionToken, computed, isSignal, Injectable, runInInjectionContext, input, Renderer2, ElementRef, booleanAttribute, Pipe, makeEnvironmentProviders, ChangeDetectionStrategy, Component, HostListener, EventEmitter, untracked, Output, effect, ContentChildren, ChangeDetectorRef, output, viewChild, EnvironmentInjector, createComponent, linkedSignal, contentChild, forwardRef, contentChildren, provideAppInitializer } from '@angular/core';
|
|
3
3
|
import { shareReplay, switchAll, map, filter, tap, catchError, startWith, switchMap, mergeMap, concatMap as concatMap$1, takeUntil, distinctUntilChanged, debounceTime } from 'rxjs/operators';
|
|
4
4
|
import * as i1 from 'rxjs';
|
|
5
5
|
import { Subject, isObservable, of, ReplaySubject, filter as filter$1, first, map as map$1, Observable, combineLatest, Subscription, startWith as startWith$1, pairwise, concatMap, merge, delay, pipe, fromEvent, takeUntil as takeUntil$1, tap as tap$1, switchMap as switchMap$1, scan, timestamp } from 'rxjs';
|
|
@@ -521,12 +521,28 @@ class RequestStateStore {
|
|
|
521
521
|
req;
|
|
522
522
|
injector = inject(Injector);
|
|
523
523
|
destroy$ = new Subject();
|
|
524
|
+
defaultErrorHandling;
|
|
525
|
+
_useDefaultErrorHandler;
|
|
526
|
+
defaultSuccessHandling;
|
|
524
527
|
constructor(req, options, project) {
|
|
525
528
|
this.assertInjectionContext();
|
|
526
529
|
this.injector.get(DestroyRef).onDestroy(() => this.destroy$.next());
|
|
527
530
|
this.project = project;
|
|
528
531
|
this.options = options;
|
|
529
532
|
this.req = req;
|
|
533
|
+
const config = inject(RequestStateStoreConfigToken, { optional: true });
|
|
534
|
+
if (config) {
|
|
535
|
+
this.defaultErrorHandling = config.defaultErrorHandling;
|
|
536
|
+
this._useDefaultErrorHandler = config.useDefaultErrorHandler;
|
|
537
|
+
this.defaultSuccessHandling = config.defaultSuccessHandling;
|
|
538
|
+
if (this._useDefaultErrorHandler) {
|
|
539
|
+
this.subscriber(this.selectError$, e => {
|
|
540
|
+
if (!this.errorHandled) {
|
|
541
|
+
this.#onDefaultErrorHandling(e);
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
}
|
|
530
546
|
this.request = (this.options?.strategy === RequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
|
|
531
547
|
if (options?.autoRequest) {
|
|
532
548
|
this.request();
|
|
@@ -594,6 +610,26 @@ class RequestStateStore {
|
|
|
594
610
|
this.subscriber(this.selectError$, cb);
|
|
595
611
|
return this;
|
|
596
612
|
}
|
|
613
|
+
#onDefaultErrorHandling = (e) => {
|
|
614
|
+
if (this.defaultErrorHandling)
|
|
615
|
+
this.defaultErrorHandling(e);
|
|
616
|
+
else
|
|
617
|
+
console.error(e);
|
|
618
|
+
};
|
|
619
|
+
/**
|
|
620
|
+
* if no handler was provided will call `console.error`
|
|
621
|
+
*/
|
|
622
|
+
useDefaultErrorHandler() {
|
|
623
|
+
this.subscriber(this.selectError$, this.#onDefaultErrorHandling);
|
|
624
|
+
return this;
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* if no handler was provided will call `console.log` with 'Success'
|
|
628
|
+
*/
|
|
629
|
+
useDefaultSuccessHandler() {
|
|
630
|
+
this.subscriber(this.selectResponse$, this.defaultSuccessHandling || (() => console.log('Success')));
|
|
631
|
+
return this;
|
|
632
|
+
}
|
|
597
633
|
onSuccess(cb) {
|
|
598
634
|
this.subscriber(this.selectResponse$, cb);
|
|
599
635
|
return this;
|
|
@@ -610,6 +646,7 @@ class RequestStateStore {
|
|
|
610
646
|
return this;
|
|
611
647
|
}
|
|
612
648
|
onErrorWithRequest(func) {
|
|
649
|
+
this.errorHandled = true;
|
|
613
650
|
this.subscriber(this.state$, ({ requestParams, response }) => {
|
|
614
651
|
if (isErrorState(response))
|
|
615
652
|
func({ requestParams, error: response.error });
|
|
@@ -654,6 +691,7 @@ function wrapInArr(sigOrObs) {
|
|
|
654
691
|
computed(() => [sigOrObs()])
|
|
655
692
|
: sigOrObs.pipe(map(a => [a]));
|
|
656
693
|
}
|
|
694
|
+
const RequestStateStoreConfigToken = new InjectionToken('RequestStateConfig');
|
|
657
695
|
|
|
658
696
|
class RequestStateFactory {
|
|
659
697
|
constructor() { }
|
|
@@ -6204,5 +6242,5 @@ function setUpStoreFactoryOld(store, env) {
|
|
|
6204
6242
|
* Generated bundle index. Do not edit.
|
|
6205
6243
|
*/
|
|
6206
6244
|
|
|
6207
|
-
export { ActionStateSpinnerComponent, ActionStateUiModule, ActionStatus, AppStatusState, ArrayStyle, AutoFocusDirective, CancellationToken, ClickEmitterDirective, ClickSubjectDirective, ConditionalClassesDirective, CreateTableBuilder, CustomCellDirective, DateFilterComponent, DefaultVirtualScrollOptions, DialogDirective, DialogService, DialogWrapper, FieldType, FilterChipsComponent, FilterComponent, FilterType, FunctionPipe, GenColDisplayerComponent, GenFilterDisplayerComponent, GeneralTableSettings, GenericTableComponent, GroupByListComponent, HttpErrorStateDirective, HttpInProgressStateDirective, HttpNotStartedStateDirective, HttpRequestModule, HttpRequestStateDirective, RequestStateFactory as HttpRequestStateFactory, RequestStateStore as HttpRequestStateStore, RequestStatus as HttpRequestStatus, RequestStrategy as HttpRequestStrategy, HttpSuccessStateDirective, MatButtonToggleFilterDirective, MatCheckboxTbFilterDirective, MatOptionTbFilterDirective, MatRadioButtonTbFilterDirective, MatSlideToggleGroupDirective, MatSlideToggleTbFilterDirective, MatTableObservableDataSource, MultiSortDirective, NgrxExtModule, NotPersistedTableSettings, PaginatorComponent, PaginatorOptions, PersistedTableSettings, PhoneNumberPipe, PreventEnterDirective, RequestStateFactory, RequestStateStore, RequestStatus, RequestStrategy, ResizeColumnDirective, SortDirection, SpaceCasePipe, StopPropagationDirective, StylerDirective, Subjectifier, Subscriber, TableBuilder, TableBuilderConfigToken, TableBuilderModule, TableColumnFooterSettings, TableColumnHeaderSettings, TableContainerComponent, TableCustomFilterDirective, TableCustomFilterDirectiveBase, TableFilterDirective, TableFilterStringContainsDirective, TableSettings, TableWrapperDirective, TableWrapperFooterSettings, TableWrapperHeaderSettings, Target, TbSelectedFilterDirective, TrimWhitespaceDirective, UtilitiesModule, VirtualScrollOptions, actionStatusReducer, chainRequest, clearActionableSelectorRequestCache, combineArrays, createActionResultSelector, createActionSelector, createActionableResultSelector, createActionableSelector, createFailure, createRequestor, createSuccess, defaultFilter, defaultShareReplay, delayOn, filterArray, getRequestorBody, getRequestorStatus, getStatusState, httpRequest, httpRequestor, inProgress, initialState, isErrorState, isSuccessOrErrorState, isSuccessState, mapArray, mapError, metaDataArrToDict, notNull, notStarted, onWait, onceWhen, parseTbSizeToPixels, phoneFormatter, previousAndCurrent, provideActionableSelector, provideTableBuilder, selectAll, selectEntities, selectEntity, selectIds, selectTotal, serverStatusTypes, setUpStoreFactory, setUpStoreFactoryOld, skipOneWhen, sortsAreSame, spaceCase, startWithIfEmpty, statusAdapter, statusIsSuccessOrInProgress, subscriber, switchOff, tapError, tapSuccess, wrapInArr };
|
|
6245
|
+
export { ActionStateSpinnerComponent, ActionStateUiModule, ActionStatus, AppStatusState, ArrayStyle, AutoFocusDirective, CancellationToken, ClickEmitterDirective, ClickSubjectDirective, ConditionalClassesDirective, CreateTableBuilder, CustomCellDirective, DateFilterComponent, DefaultVirtualScrollOptions, DialogDirective, DialogService, DialogWrapper, FieldType, FilterChipsComponent, FilterComponent, FilterType, FunctionPipe, GenColDisplayerComponent, GenFilterDisplayerComponent, GeneralTableSettings, GenericTableComponent, GroupByListComponent, HttpErrorStateDirective, HttpInProgressStateDirective, HttpNotStartedStateDirective, HttpRequestModule, HttpRequestStateDirective, RequestStateFactory as HttpRequestStateFactory, RequestStateStore as HttpRequestStateStore, RequestStatus as HttpRequestStatus, RequestStrategy as HttpRequestStrategy, HttpSuccessStateDirective, MatButtonToggleFilterDirective, MatCheckboxTbFilterDirective, MatOptionTbFilterDirective, MatRadioButtonTbFilterDirective, MatSlideToggleGroupDirective, MatSlideToggleTbFilterDirective, MatTableObservableDataSource, MultiSortDirective, NgrxExtModule, NotPersistedTableSettings, PaginatorComponent, PaginatorOptions, PersistedTableSettings, PhoneNumberPipe, PreventEnterDirective, RequestStateFactory, RequestStateStore, RequestStateStoreConfigToken, RequestStatus, RequestStrategy, ResizeColumnDirective, SortDirection, SpaceCasePipe, StopPropagationDirective, StylerDirective, Subjectifier, Subscriber, TableBuilder, TableBuilderConfigToken, TableBuilderModule, TableColumnFooterSettings, TableColumnHeaderSettings, TableContainerComponent, TableCustomFilterDirective, TableCustomFilterDirectiveBase, TableFilterDirective, TableFilterStringContainsDirective, TableSettings, TableWrapperDirective, TableWrapperFooterSettings, TableWrapperHeaderSettings, Target, TbSelectedFilterDirective, TrimWhitespaceDirective, UtilitiesModule, VirtualScrollOptions, actionStatusReducer, chainRequest, clearActionableSelectorRequestCache, combineArrays, createActionResultSelector, createActionSelector, createActionableResultSelector, createActionableSelector, createFailure, createRequestor, createSuccess, defaultFilter, defaultShareReplay, delayOn, filterArray, getRequestorBody, getRequestorStatus, getStatusState, httpRequest, httpRequestor, inProgress, initialState, isErrorState, isSuccessOrErrorState, isSuccessState, mapArray, mapError, metaDataArrToDict, notNull, notStarted, onWait, onceWhen, parseTbSizeToPixels, phoneFormatter, previousAndCurrent, provideActionableSelector, provideTableBuilder, selectAll, selectEntities, selectEntity, selectIds, selectTotal, serverStatusTypes, setUpStoreFactory, setUpStoreFactoryOld, skipOneWhen, sortsAreSame, spaceCase, startWithIfEmpty, statusAdapter, statusIsSuccessOrInProgress, subscriber, switchOff, tapError, tapSuccess, wrapInArr };
|
|
6208
6246
|
//# sourceMappingURL=one-paragon-angular-utilities.mjs.map
|