@one-paragon/angular-utilities 2.0.23 → 2.0.25
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/fesm2022/one-paragon-angular-utilities.mjs +43 -5
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
- package/http-request-state/RequestStateStore.d.ts +29 -1
- package/package.json +1 -1
- package/table-builder/classes/TableState.d.ts +1 -0
- package/table-builder/directives/table-wrapper.directive.d.ts +1 -1
|
@@ -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;
|
|
@@ -654,6 +690,7 @@ function wrapInArr(sigOrObs) {
|
|
|
654
690
|
computed(() => [sigOrObs()])
|
|
655
691
|
: sigOrObs.pipe(map(a => [a]));
|
|
656
692
|
}
|
|
693
|
+
const RequestStateStoreConfigToken = new InjectionToken('RequestStateConfig');
|
|
657
694
|
|
|
658
695
|
class RequestStateFactory {
|
|
659
696
|
constructor() { }
|
|
@@ -3776,6 +3813,7 @@ const tbGroupBy = (data, groupByKeys, level = 1, parentGroupName) => {
|
|
|
3776
3813
|
const children = group.children;
|
|
3777
3814
|
const groupGroup = {
|
|
3778
3815
|
groupName: group.groupName,
|
|
3816
|
+
groupHeaderDisplay: group.groupHeaderDisplay,
|
|
3779
3817
|
uniqueName: group.uniqueName,
|
|
3780
3818
|
key: currentKey,
|
|
3781
3819
|
hasTheData: false,
|
|
@@ -3794,11 +3832,11 @@ const tbGroupBy = (data, groupByKeys, level = 1, parentGroupName) => {
|
|
|
3794
3832
|
};
|
|
3795
3833
|
function groupData(groupByKey, groupData, level = 1, parentGroupName) {
|
|
3796
3834
|
const groupedDataDict = supportsGroupBy ? Object.groupBy(groupData, d => d[groupByKey]) : groupBy(groupData, groupByKey);
|
|
3797
|
-
const groupedDataArr = Object.entries(groupedDataDict).map(([
|
|
3798
|
-
const uniqueName = parentGroupName ? `${parentGroupName}-${
|
|
3835
|
+
const groupedDataArr = Object.entries(groupedDataDict).map(([name, groupData]) => {
|
|
3836
|
+
const uniqueName = parentGroupName ? `${parentGroupName}-${name}` : `${name}`;
|
|
3799
3837
|
return {
|
|
3800
3838
|
isGroupHeader: true,
|
|
3801
|
-
groupHeaderDisplay:
|
|
3839
|
+
groupHeaderDisplay: name,
|
|
3802
3840
|
hasTheData: true,
|
|
3803
3841
|
children: groupData,
|
|
3804
3842
|
groupName: `tb_group_${uniqueName}`,
|
|
@@ -6203,5 +6241,5 @@ function setUpStoreFactoryOld(store, env) {
|
|
|
6203
6241
|
* Generated bundle index. Do not edit.
|
|
6204
6242
|
*/
|
|
6205
6243
|
|
|
6206
|
-
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 };
|
|
6244
|
+
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 };
|
|
6207
6245
|
//# sourceMappingURL=one-paragon-angular-utilities.mjs.map
|