@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.
@@ -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, InjectionToken, makeEnvironmentProviders, ChangeDetectionStrategy, Component, HostListener, EventEmitter, untracked, Output, effect, ContentChildren, ChangeDetectorRef, output, viewChild, EnvironmentInjector, createComponent, linkedSignal, contentChild, forwardRef, contentChildren, provideAppInitializer } from '@angular/core';
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(([groupName, groupData]) => {
3798
- const uniqueName = parentGroupName ? `${parentGroupName}-${groupName}` : `${groupName}`;
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: groupName,
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