@meshmakers/shared-services 3.2.111-0 → 3.2.113-0

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,15 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule } from '@angular/core';
2
+ import { inject, Injectable, NgModule } from '@angular/core';
3
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
4
  import { BehaviorSubject } from 'rxjs';
4
- import * as i1 from '@angular/material/snack-bar';
5
5
  import { parseISO, formatISO } from 'date-fns';
6
6
 
7
7
  class MessageService {
8
- snackBar;
8
+ snackBar = inject(MatSnackBar);
9
9
  latestErrorMessage;
10
10
  errorMessages;
11
- constructor(snackBar) {
12
- this.snackBar = snackBar;
11
+ constructor() {
13
12
  this.latestErrorMessage = new BehaviorSubject(null);
14
13
  this.errorMessages = new Array();
15
14
  }
@@ -62,12 +61,12 @@ class MessageService {
62
61
  verticalPosition: 'bottom'
63
62
  });
64
63
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
66
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MessageService });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
65
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MessageService });
67
66
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MessageService, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MessageService, decorators: [{
69
68
  type: Injectable
70
- }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
69
+ }], ctorParameters: () => [] });
71
70
 
72
71
  class SharedServicesModule {
73
72
  static forRoot() {
@@ -76,11 +75,11 @@ class SharedServicesModule {
76
75
  providers: [MessageService]
77
76
  };
78
77
  }
79
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
80
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SharedServicesModule });
81
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SharedServicesModule });
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
79
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: SharedServicesModule });
80
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SharedServicesModule });
82
81
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SharedServicesModule, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SharedServicesModule, decorators: [{
84
83
  type: NgModule,
85
84
  args: [{
86
85
  declarations: [],
@@ -108,10 +107,10 @@ class BreadcrumbService {
108
107
  updateBreadcrumb(newBreadcrumb) {
109
108
  this.newBreadcrumb.next(newBreadcrumb);
110
109
  }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
111
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
113
112
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BreadcrumbService, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BreadcrumbService, decorators: [{
115
114
  type: Injectable,
116
115
  args: [{
117
116
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"meshmakers-shared-services.mjs","sources":["../../../../projects/meshmakers/shared-services/src/lib/services/message.service.ts","../../../../projects/meshmakers/shared-services/src/lib/shared-services.module.ts","../../../../projects/meshmakers/shared-services/src/lib/services/breadcrumb.service.ts","../../../../projects/meshmakers/shared-services/src/lib/models/autoCompleteResult.ts","../../../../projects/meshmakers/shared-services/src/lib/models/errorMessage.ts","../../../../projects/meshmakers/shared-services/src/lib/models/pagedResultDto.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/dataSourceBase.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/genericDataSource.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/isoDateTime.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/enumReader.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/objectCloner.ts","../../../../projects/meshmakers/shared-services/src/public-api.ts","../../../../projects/meshmakers/shared-services/src/meshmakers-shared-services.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ErrorMessage } from '../models/errorMessage';\n\n@Injectable()\nexport class MessageService {\n latestErrorMessage: BehaviorSubject<ErrorMessage | null>;\n\n errorMessages: ErrorMessage[];\n\n constructor(private readonly snackBar: MatSnackBar) {\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage | null>(null);\n this.errorMessages = new Array<ErrorMessage>();\n }\n\n getErrorMessageCount(): number {\n return this.errorMessages.length;\n }\n\n getErrorMessage(index: number): ErrorMessage {\n return this.errorMessages[index];\n }\n\n getLatestErrorMessage(): Observable<ErrorMessage | null> {\n return this.latestErrorMessage.asObservable();\n }\n\n showError(message: string, title: string): void {\n console.error(message);\n\n const errorMessage = {\n title,\n message\n } as ErrorMessage;\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showErrorWithDetails(error: any): void {\n if (error instanceof Error) {\n this.showError(error.message, 'Error');\n } else if (error === 'string') {\n this.showError(error, 'Error');\n } else if (error instanceof Object) {\n this.showError(JSON.stringify(error), 'Error');\n } else {\n this.showError('Unknown error', 'Error');\n }\n }\n\n showErrorMessage(message: string): void {\n console.error(message);\n\n const errorMessage = {\n title: 'Error',\n message\n } as ErrorMessage;\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showInformation(message: string): void {\n this.snackBar.open(message, undefined, {\n duration: 3000,\n // here specify the position\n horizontalPosition: 'center',\n verticalPosition: 'bottom'\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MessageService } from './services/message.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class SharedServicesModule {\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\n return {\n ngModule: SharedServicesModule,\n providers: [MessageService]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport {Breadcrumb} from \"../models/breadcrumb\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n private readonly _breadcrumbLabels: BehaviorSubject<any>;\n private readonly _newBreadcrumb: BehaviorSubject<Breadcrumb[]>;\n\n constructor() {\n this._breadcrumbLabels = new BehaviorSubject<any>([]);\n this._newBreadcrumb = new BehaviorSubject<Breadcrumb[]>([]);\n }\n\n public get breadcrumbLabels() : BehaviorSubject<any> {\n return this._breadcrumbLabels;\n }\n\n public get newBreadcrumb() : BehaviorSubject<Breadcrumb[]> {\n return this._newBreadcrumb;\n }\n\n public updateBreadcrumbLabels(labels: any): void {\n this.breadcrumbLabels.next(labels);\n }\n\n public updateBreadcrumb(newBreadcrumb: Breadcrumb[]): void {\n this.newBreadcrumb.next(newBreadcrumb);\n }\n}\n","export class AutoCompleteResult {\n searchTerm?: string;\n\n list?: string[];\n}\n","export class ErrorMessage {\n title?: string;\n message?: string;\n}\n","export class PagedResultDto<T> {\n skip: number;\n take: number;\n totalCount: number;\n list: T[];\n\n constructor() {\n this.skip = 0;\n this.take = 0;\n this.totalCount = 0;\n this.list = new Array<T>();\n }\n}\n","import { BehaviorSubject, Observable } from \"rxjs\";\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { PagedResultDto } from \"../models/pagedResultDto\";\n\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\n private readonly dataSubject = new BehaviorSubject<TDto[]>([]);\n private readonly loadingSubject = new BehaviorSubject<boolean>(false);\n private readonly totalCountSubject = new BehaviorSubject<number>(0);\n\n public readonly loading$ = this.loadingSubject.asObservable();\n public readonly totalCount$ = this.totalCountSubject.asObservable();\n\n private readonly addedDtoList: TDto[] = new Array<TDto>();\n private readonly removedDtoList: TDto[] = new Array<TDto>();\n private lastPagedResult: PagedResultDto<TDto> | null = null;\n\n public get totalCount(): Observable<number> {\n return this.totalCount$;\n }\n\n public reset(): void {\n this.addedDtoList.length = 0;\n this.removedDtoList.length = 0;\n }\n\n public addTemporaryDto(dto: TDto): void {\n\n const index = this.removedDtoList.indexOf(dto);\n if (index !== -1) {\n this.removedDtoList.splice(index, 1);\n } else {\n this.addedDtoList.push(dto);\n }\n\n this.onEndLoad();\n }\n\n public removeTemporaryDto(dto: TDto): void {\n\n const index = this.addedDtoList.indexOf(dto);\n if (index !== -1) {\n this.addedDtoList.splice(index, 1);\n } else {\n this.removedDtoList.push(dto);\n }\n\n this.onEndLoad();\n }\n\n public get addedTemporaryDtos(): TDto[] {\n return this.addedDtoList;\n }\n\n public get removedTemporaryDtos(): TDto[] {\n return this.removedDtoList;\n }\n\n\n connect(_: CollectionViewer): Observable<readonly TDto[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(_: CollectionViewer): void {\n this.clear();\n }\n\n clear(): void {\n this.loadingSubject?.next(false);\n this.dataSubject?.next([]);\n this.totalCountSubject?.next(0);\n }\n\n protected onBeginLoad(): void {\n this.loadingSubject?.next(true);\n }\n\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>): void {\n\n this.lastPagedResult = pagedResult;\n\n this.onEndLoad();\n }\n\n private onEndLoad(): void {\n\n if (this.lastPagedResult !== null) {\n\n const totalCount = this.lastPagedResult?.totalCount + this.addedDtoList.length - this.removedDtoList.length;\n const list = this.lastPagedResult.list.concat(this.addedDtoList).filter((x) => !this.removedDtoList.includes(x));\n\n this.loadingSubject?.next(false);\n this.dataSubject?.next(list);\n this.totalCountSubject?.next(totalCount);\n }\n else {\n const totalCount = this.addedDtoList.length;\n const list = this.addedDtoList;\n\n this.loadingSubject?.next(false);\n this.dataSubject?.next(list);\n this.totalCountSubject?.next(totalCount);\n }\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\n\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\n private readonly dataSubject = new BehaviorSubject<TEntity[]>([]);\n\n constructor(public data: TEntity[]) {\n this.dataSubject.next(data);\n }\n\n emitChanged(): void {\n this.dataSubject.next(this.data);\n }\n\n connect(_: CollectionViewer): Observable<TEntity[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(_: CollectionViewer): void {\n this.dataSubject.complete();\n }\n}\n","import { formatISO, parseISO } from 'date-fns';\n\nexport class IsoDateTime {\n public static utcToLocalDateTimeIso(utcDateTime: string): string | null {\n if (!utcDateTime) {\n return null;\n }\n\n return parseISO(utcDateTime).toISOString();\n }\n\n public static localToUtcDateTimeIso(localDateTime: string): string | null {\n if (!localDateTime) {\n return null;\n }\n return formatISO(localDateTime);\n }\n\n public static currentUtcDateTimeIso(): string {\n return formatISO(Date.now());\n }\n}\n","export class EnumTuple<TValue = number> {\n id: string | undefined;\n name: TValue | undefined;\n}\n\nexport class EnumReader<TValue = number> {\n constructor(private readonly value: Record<string, TValue>) {}\n\n public getNamesAndValues(): EnumTuple<TValue>[] {\n return this.getNames().map((n) => {\n return { name: this.value[n], id: n } as EnumTuple<TValue>;\n });\n }\n\n public getNames(): string[] {\n return Object.keys(this.value);\n }\n\n private getObjValues(): TValue[] {\n return Object.keys(this.value).map((k) => this.value[k]);\n }\n}\n","export class ObjectCloner {\n\n public static cloneArray<TR, TS1>(source: TS1[], ignoreProperties: string[] | null = null): TR[] {\n // Klone das Array\n let clonedArray = [...source] as TR as TR[];\n\n if (ignoreProperties && typeof clonedArray[0] === 'object') {\n clonedArray = clonedArray.map(item => {\n const clonedItem = { ...item } as any;\n ignoreProperties.forEach(prop => delete clonedItem[prop]);\n return clonedItem as TR;\n }) as unknown as TR[];\n }\n\n return clonedArray;\n }\n\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] | null = null): TR {\n const clonedObject = Object.assign({} as any, source);\n\n if (ignoreProperties != null) {\n for (const prop of ignoreProperties) {\n\n delete clonedObject[prop];\n }\n }\n return clonedObject as TR;\n }\n\n\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] | null = null): TR {\n const clonedObject = Object.assign({} as any, source, source2);\n\n if (ignoreProperties != null) {\n for (const prop of ignoreProperties) {\n\n delete clonedObject[prop];\n }\n }\n return clonedObject as TR;\n }\n}\n","/*\n * Public API Surface of shared-services\n */\n\nexport * from './lib/shared-services.module';\nexport * from './lib/services/breadcrumb.service';\nexport * from './lib/services/message.service';\nexport * from './lib/models/autoCompleteResult';\nexport * from './lib/models/errorMessage';\nexport * from './lib/models/pagedResultDto';\nexport * from './lib/models/breadcrumb';\nexport * from './lib/dataSources/dataSourceBase';\nexport * from './lib/dataSources/genericDataSource';\nexport * from './lib/dataSources/entitySelectDataSource';\nexport * from './lib/dataSources/autoCompleteDataSource';\nexport * from './lib/shared/isoDateTime';\nexport * from './lib/shared/enumReader';\nexport * from './lib/shared/objectCloner';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meshmakers-shared-services.mjs","sources":["../../../../projects/meshmakers/shared-services/src/lib/services/message.service.ts","../../../../projects/meshmakers/shared-services/src/lib/shared-services.module.ts","../../../../projects/meshmakers/shared-services/src/lib/services/breadcrumb.service.ts","../../../../projects/meshmakers/shared-services/src/lib/models/autoCompleteResult.ts","../../../../projects/meshmakers/shared-services/src/lib/models/errorMessage.ts","../../../../projects/meshmakers/shared-services/src/lib/models/pagedResultDto.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/dataSourceBase.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/genericDataSource.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/isoDateTime.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/enumReader.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/objectCloner.ts","../../../../projects/meshmakers/shared-services/src/public-api.ts","../../../../projects/meshmakers/shared-services/src/meshmakers-shared-services.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ErrorMessage } from '../models/errorMessage';\n\n@Injectable()\nexport class MessageService {\n private readonly snackBar = inject(MatSnackBar);\n\n latestErrorMessage: BehaviorSubject<ErrorMessage | null>;\n\n errorMessages: ErrorMessage[];\n\n constructor() {\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage | null>(null);\n this.errorMessages = new Array<ErrorMessage>();\n }\n\n getErrorMessageCount(): number {\n return this.errorMessages.length;\n }\n\n getErrorMessage(index: number): ErrorMessage {\n return this.errorMessages[index];\n }\n\n getLatestErrorMessage(): Observable<ErrorMessage | null> {\n return this.latestErrorMessage.asObservable();\n }\n\n showError(message: string, title: string): void {\n console.error(message);\n\n const errorMessage = {\n title,\n message\n } as ErrorMessage;\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showErrorWithDetails(error: any): void {\n if (error instanceof Error) {\n this.showError(error.message, 'Error');\n } else if (error === 'string') {\n this.showError(error, 'Error');\n } else if (error instanceof Object) {\n this.showError(JSON.stringify(error), 'Error');\n } else {\n this.showError('Unknown error', 'Error');\n }\n }\n\n showErrorMessage(message: string): void {\n console.error(message);\n\n const errorMessage = {\n title: 'Error',\n message\n } as ErrorMessage;\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showInformation(message: string): void {\n this.snackBar.open(message, undefined, {\n duration: 3000,\n // here specify the position\n horizontalPosition: 'center',\n verticalPosition: 'bottom'\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MessageService } from './services/message.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class SharedServicesModule {\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\n return {\n ngModule: SharedServicesModule,\n providers: [MessageService]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport {Breadcrumb} from \"../models/breadcrumb\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n private readonly _breadcrumbLabels: BehaviorSubject<any>;\n private readonly _newBreadcrumb: BehaviorSubject<Breadcrumb[]>;\n\n constructor() {\n this._breadcrumbLabels = new BehaviorSubject<any>([]);\n this._newBreadcrumb = new BehaviorSubject<Breadcrumb[]>([]);\n }\n\n public get breadcrumbLabels() : BehaviorSubject<any> {\n return this._breadcrumbLabels;\n }\n\n public get newBreadcrumb() : BehaviorSubject<Breadcrumb[]> {\n return this._newBreadcrumb;\n }\n\n public updateBreadcrumbLabels(labels: any): void {\n this.breadcrumbLabels.next(labels);\n }\n\n public updateBreadcrumb(newBreadcrumb: Breadcrumb[]): void {\n this.newBreadcrumb.next(newBreadcrumb);\n }\n}\n","export class AutoCompleteResult {\n searchTerm?: string;\n\n list?: string[];\n}\n","export class ErrorMessage {\n title?: string;\n message?: string;\n}\n","export class PagedResultDto<T> {\n skip: number;\n take: number;\n totalCount: number;\n list: T[];\n\n constructor() {\n this.skip = 0;\n this.take = 0;\n this.totalCount = 0;\n this.list = new Array<T>();\n }\n}\n","import { BehaviorSubject, Observable } from \"rxjs\";\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { PagedResultDto } from \"../models/pagedResultDto\";\n\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\n private readonly dataSubject = new BehaviorSubject<TDto[]>([]);\n private readonly loadingSubject = new BehaviorSubject<boolean>(false);\n private readonly totalCountSubject = new BehaviorSubject<number>(0);\n\n public readonly loading$ = this.loadingSubject.asObservable();\n public readonly totalCount$ = this.totalCountSubject.asObservable();\n\n private readonly addedDtoList: TDto[] = new Array<TDto>();\n private readonly removedDtoList: TDto[] = new Array<TDto>();\n private lastPagedResult: PagedResultDto<TDto> | null = null;\n\n public get totalCount(): Observable<number> {\n return this.totalCount$;\n }\n\n public reset(): void {\n this.addedDtoList.length = 0;\n this.removedDtoList.length = 0;\n }\n\n public addTemporaryDto(dto: TDto): void {\n\n const index = this.removedDtoList.indexOf(dto);\n if (index !== -1) {\n this.removedDtoList.splice(index, 1);\n } else {\n this.addedDtoList.push(dto);\n }\n\n this.onEndLoad();\n }\n\n public removeTemporaryDto(dto: TDto): void {\n\n const index = this.addedDtoList.indexOf(dto);\n if (index !== -1) {\n this.addedDtoList.splice(index, 1);\n } else {\n this.removedDtoList.push(dto);\n }\n\n this.onEndLoad();\n }\n\n public get addedTemporaryDtos(): TDto[] {\n return this.addedDtoList;\n }\n\n public get removedTemporaryDtos(): TDto[] {\n return this.removedDtoList;\n }\n\n\n connect(_: CollectionViewer): Observable<readonly TDto[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(_: CollectionViewer): void {\n this.clear();\n }\n\n clear(): void {\n this.loadingSubject?.next(false);\n this.dataSubject?.next([]);\n this.totalCountSubject?.next(0);\n }\n\n protected onBeginLoad(): void {\n this.loadingSubject?.next(true);\n }\n\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>): void {\n\n this.lastPagedResult = pagedResult;\n\n this.onEndLoad();\n }\n\n private onEndLoad(): void {\n\n if (this.lastPagedResult !== null) {\n\n const totalCount = this.lastPagedResult?.totalCount + this.addedDtoList.length - this.removedDtoList.length;\n const list = this.lastPagedResult.list.concat(this.addedDtoList).filter((x) => !this.removedDtoList.includes(x));\n\n this.loadingSubject?.next(false);\n this.dataSubject?.next(list);\n this.totalCountSubject?.next(totalCount);\n }\n else {\n const totalCount = this.addedDtoList.length;\n const list = this.addedDtoList;\n\n this.loadingSubject?.next(false);\n this.dataSubject?.next(list);\n this.totalCountSubject?.next(totalCount);\n }\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\n\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\n private readonly dataSubject = new BehaviorSubject<TEntity[]>([]);\n\n constructor(public data: TEntity[]) {\n this.dataSubject.next(data);\n }\n\n emitChanged(): void {\n this.dataSubject.next(this.data);\n }\n\n connect(_: CollectionViewer): Observable<TEntity[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(_: CollectionViewer): void {\n this.dataSubject.complete();\n }\n}\n","import { formatISO, parseISO } from 'date-fns';\n\nexport class IsoDateTime {\n public static utcToLocalDateTimeIso(utcDateTime: string): string | null {\n if (!utcDateTime) {\n return null;\n }\n\n return parseISO(utcDateTime).toISOString();\n }\n\n public static localToUtcDateTimeIso(localDateTime: string): string | null {\n if (!localDateTime) {\n return null;\n }\n return formatISO(localDateTime);\n }\n\n public static currentUtcDateTimeIso(): string {\n return formatISO(Date.now());\n }\n}\n","export class EnumTuple<TValue = number> {\n id: string | undefined;\n name: TValue | undefined;\n}\n\nexport class EnumReader<TValue = number> {\n constructor(private readonly value: Record<string, TValue>) {}\n\n public getNamesAndValues(): EnumTuple<TValue>[] {\n return this.getNames().map((n) => {\n return { name: this.value[n], id: n } as EnumTuple<TValue>;\n });\n }\n\n public getNames(): string[] {\n return Object.keys(this.value);\n }\n\n private getObjValues(): TValue[] {\n return Object.keys(this.value).map((k) => this.value[k]);\n }\n}\n","export class ObjectCloner {\n\n public static cloneArray<TR, TS1>(source: TS1[], ignoreProperties: string[] | null = null): TR[] {\n // Klone das Array\n let clonedArray = [...source] as TR as TR[];\n\n if (ignoreProperties && typeof clonedArray[0] === 'object') {\n clonedArray = clonedArray.map(item => {\n const clonedItem = { ...item } as any;\n ignoreProperties.forEach(prop => delete clonedItem[prop]);\n return clonedItem as TR;\n }) as unknown as TR[];\n }\n\n return clonedArray;\n }\n\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] | null = null): TR {\n const clonedObject = Object.assign({} as any, source);\n\n if (ignoreProperties != null) {\n for (const prop of ignoreProperties) {\n\n delete clonedObject[prop];\n }\n }\n return clonedObject as TR;\n }\n\n\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] | null = null): TR {\n const clonedObject = Object.assign({} as any, source, source2);\n\n if (ignoreProperties != null) {\n for (const prop of ignoreProperties) {\n\n delete clonedObject[prop];\n }\n }\n return clonedObject as TR;\n }\n}\n","/*\n * Public API Surface of shared-services\n */\n\nexport * from './lib/shared-services.module';\nexport * from './lib/services/breadcrumb.service';\nexport * from './lib/services/message.service';\nexport * from './lib/models/autoCompleteResult';\nexport * from './lib/models/errorMessage';\nexport * from './lib/models/pagedResultDto';\nexport * from './lib/models/breadcrumb';\nexport * from './lib/dataSources/dataSourceBase';\nexport * from './lib/dataSources/genericDataSource';\nexport * from './lib/dataSources/entitySelectDataSource';\nexport * from './lib/dataSources/autoCompleteDataSource';\nexport * from './lib/shared/isoDateTime';\nexport * from './lib/shared/enumReader';\nexport * from './lib/shared/objectCloner';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,132 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@meshmakers/shared-services" />
5
- export * from './public-api';
1
+ import * as i0 from '@angular/core';
2
+ import { ModuleWithProviders } from '@angular/core';
3
+ import { BehaviorSubject, Observable } from 'rxjs';
4
+ import { DataSource, CollectionViewer } from '@angular/cdk/collections';
5
+
6
+ declare class SharedServicesModule {
7
+ static forRoot(): ModuleWithProviders<SharedServicesModule>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharedServicesModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedServicesModule, never, never, never>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<SharedServicesModule>;
11
+ }
12
+
13
+ interface Breadcrumb {
14
+ label: string;
15
+ url: string;
16
+ }
17
+
18
+ declare class BreadcrumbService {
19
+ private readonly _breadcrumbLabels;
20
+ private readonly _newBreadcrumb;
21
+ constructor();
22
+ get breadcrumbLabels(): BehaviorSubject<any>;
23
+ get newBreadcrumb(): BehaviorSubject<Breadcrumb[]>;
24
+ updateBreadcrumbLabels(labels: any): void;
25
+ updateBreadcrumb(newBreadcrumb: Breadcrumb[]): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbService, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<BreadcrumbService>;
28
+ }
29
+
30
+ declare class ErrorMessage {
31
+ title?: string;
32
+ message?: string;
33
+ }
34
+
35
+ declare class MessageService {
36
+ private readonly snackBar;
37
+ latestErrorMessage: BehaviorSubject<ErrorMessage | null>;
38
+ errorMessages: ErrorMessage[];
39
+ constructor();
40
+ getErrorMessageCount(): number;
41
+ getErrorMessage(index: number): ErrorMessage;
42
+ getLatestErrorMessage(): Observable<ErrorMessage | null>;
43
+ showError(message: string, title: string): void;
44
+ showErrorWithDetails(error: any): void;
45
+ showErrorMessage(message: string): void;
46
+ showInformation(message: string): void;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, never>;
48
+ static ɵprov: i0.ɵɵInjectableDeclaration<MessageService>;
49
+ }
50
+
51
+ declare class AutoCompleteResult {
52
+ searchTerm?: string;
53
+ list?: string[];
54
+ }
55
+
56
+ declare class PagedResultDto<T> {
57
+ skip: number;
58
+ take: number;
59
+ totalCount: number;
60
+ list: T[];
61
+ constructor();
62
+ }
63
+
64
+ declare class DataSourceBase<TDto> implements DataSource<TDto> {
65
+ private readonly dataSubject;
66
+ private readonly loadingSubject;
67
+ private readonly totalCountSubject;
68
+ readonly loading$: Observable<boolean>;
69
+ readonly totalCount$: Observable<number>;
70
+ private readonly addedDtoList;
71
+ private readonly removedDtoList;
72
+ private lastPagedResult;
73
+ get totalCount(): Observable<number>;
74
+ reset(): void;
75
+ addTemporaryDto(dto: TDto): void;
76
+ removeTemporaryDto(dto: TDto): void;
77
+ get addedTemporaryDtos(): TDto[];
78
+ get removedTemporaryDtos(): TDto[];
79
+ connect(_: CollectionViewer): Observable<readonly TDto[]>;
80
+ disconnect(_: CollectionViewer): void;
81
+ clear(): void;
82
+ protected onBeginLoad(): void;
83
+ protected onCompleteLoad(pagedResult: PagedResultDto<TDto>): void;
84
+ private onEndLoad;
85
+ }
86
+
87
+ declare class GenericDataSource<TEntity> implements DataSource<TEntity> {
88
+ data: TEntity[];
89
+ private readonly dataSubject;
90
+ constructor(data: TEntity[]);
91
+ emitChanged(): void;
92
+ connect(_: CollectionViewer): Observable<TEntity[]>;
93
+ disconnect(_: CollectionViewer): void;
94
+ }
95
+
96
+ interface EntitySelectDataSource<T> {
97
+ onFilter: (filter: string) => Promise<PagedResultDto<T>>;
98
+ onDisplayEntity: (entity: T) => string;
99
+ getIdEntity: (entity: T) => any;
100
+ }
101
+
102
+ interface AutoCompleteDataSource {
103
+ onFilter: (filter: string) => Observable<AutoCompleteResult>;
104
+ onPreprocessSearchString: (search: string) => string;
105
+ }
106
+
107
+ declare class IsoDateTime {
108
+ static utcToLocalDateTimeIso(utcDateTime: string): string | null;
109
+ static localToUtcDateTimeIso(localDateTime: string): string | null;
110
+ static currentUtcDateTimeIso(): string;
111
+ }
112
+
113
+ declare class EnumTuple<TValue = number> {
114
+ id: string | undefined;
115
+ name: TValue | undefined;
116
+ }
117
+ declare class EnumReader<TValue = number> {
118
+ private readonly value;
119
+ constructor(value: Record<string, TValue>);
120
+ getNamesAndValues(): EnumTuple<TValue>[];
121
+ getNames(): string[];
122
+ private getObjValues;
123
+ }
124
+
125
+ declare class ObjectCloner {
126
+ static cloneArray<TR, TS1>(source: TS1[], ignoreProperties?: string[] | null): TR[];
127
+ static cloneObject<TR, TS1>(source: TS1, ignoreProperties?: string[] | null): TR;
128
+ static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties?: string[] | null): TR;
129
+ }
130
+
131
+ export { AutoCompleteResult, BreadcrumbService, DataSourceBase, EnumReader, EnumTuple, ErrorMessage, GenericDataSource, IsoDateTime, MessageService, ObjectCloner, PagedResultDto, SharedServicesModule };
132
+ export type { AutoCompleteDataSource, Breadcrumb, EntitySelectDataSource };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@meshmakers/shared-services",
3
- "version": "3.2.111-0",
3
+ "version": "3.2.113-0",
4
4
  "peerDependencies": {
5
- "@angular/common": "^19.2.12",
6
- "@angular/core": "^19.2.12"
5
+ "@angular/common": "^20.1.2",
6
+ "@angular/core": "^20.1.2"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.8.1"
@@ -1,6 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { AutoCompleteResult } from '../models/autoCompleteResult';
3
- export interface AutoCompleteDataSource {
4
- onFilter: (filter: string) => Observable<AutoCompleteResult>;
5
- onPreprocessSearchString: (search: string) => string;
6
- }
@@ -1,25 +0,0 @@
1
- import { Observable } from "rxjs";
2
- import { CollectionViewer, DataSource } from "@angular/cdk/collections";
3
- import { PagedResultDto } from "../models/pagedResultDto";
4
- export declare class DataSourceBase<TDto> implements DataSource<TDto> {
5
- private readonly dataSubject;
6
- private readonly loadingSubject;
7
- private readonly totalCountSubject;
8
- readonly loading$: Observable<boolean>;
9
- readonly totalCount$: Observable<number>;
10
- private readonly addedDtoList;
11
- private readonly removedDtoList;
12
- private lastPagedResult;
13
- get totalCount(): Observable<number>;
14
- reset(): void;
15
- addTemporaryDto(dto: TDto): void;
16
- removeTemporaryDto(dto: TDto): void;
17
- get addedTemporaryDtos(): TDto[];
18
- get removedTemporaryDtos(): TDto[];
19
- connect(_: CollectionViewer): Observable<readonly TDto[]>;
20
- disconnect(_: CollectionViewer): void;
21
- clear(): void;
22
- protected onBeginLoad(): void;
23
- protected onCompleteLoad(pagedResult: PagedResultDto<TDto>): void;
24
- private onEndLoad;
25
- }
@@ -1,6 +0,0 @@
1
- import { PagedResultDto } from '../models/pagedResultDto';
2
- export interface EntitySelectDataSource<T> {
3
- onFilter: (filter: string) => Promise<PagedResultDto<T>>;
4
- onDisplayEntity: (entity: T) => string;
5
- getIdEntity: (entity: T) => any;
6
- }
@@ -1,10 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { CollectionViewer, DataSource } from '@angular/cdk/collections';
3
- export declare class GenericDataSource<TEntity> implements DataSource<TEntity> {
4
- data: TEntity[];
5
- private readonly dataSubject;
6
- constructor(data: TEntity[]);
7
- emitChanged(): void;
8
- connect(_: CollectionViewer): Observable<TEntity[]>;
9
- disconnect(_: CollectionViewer): void;
10
- }
@@ -1,4 +0,0 @@
1
- export declare class AutoCompleteResult {
2
- searchTerm?: string;
3
- list?: string[];
4
- }
@@ -1,4 +0,0 @@
1
- export interface Breadcrumb {
2
- label: string;
3
- url: string;
4
- }
@@ -1,4 +0,0 @@
1
- export declare class ErrorMessage {
2
- title?: string;
3
- message?: string;
4
- }
@@ -1,7 +0,0 @@
1
- export declare class PagedResultDto<T> {
2
- skip: number;
3
- take: number;
4
- totalCount: number;
5
- list: T[];
6
- constructor();
7
- }
@@ -1,14 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Breadcrumb } from "../models/breadcrumb";
3
- import * as i0 from "@angular/core";
4
- export declare class BreadcrumbService {
5
- private readonly _breadcrumbLabels;
6
- private readonly _newBreadcrumb;
7
- constructor();
8
- get breadcrumbLabels(): BehaviorSubject<any>;
9
- get newBreadcrumb(): BehaviorSubject<Breadcrumb[]>;
10
- updateBreadcrumbLabels(labels: any): void;
11
- updateBreadcrumb(newBreadcrumb: Breadcrumb[]): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbService, never>;
13
- static ɵprov: i0.ɵɵInjectableDeclaration<BreadcrumbService>;
14
- }
@@ -1,19 +0,0 @@
1
- import { MatSnackBar } from '@angular/material/snack-bar';
2
- import { BehaviorSubject, Observable } from 'rxjs';
3
- import { ErrorMessage } from '../models/errorMessage';
4
- import * as i0 from "@angular/core";
5
- export declare class MessageService {
6
- private readonly snackBar;
7
- latestErrorMessage: BehaviorSubject<ErrorMessage | null>;
8
- errorMessages: ErrorMessage[];
9
- constructor(snackBar: MatSnackBar);
10
- getErrorMessageCount(): number;
11
- getErrorMessage(index: number): ErrorMessage;
12
- getLatestErrorMessage(): Observable<ErrorMessage | null>;
13
- showError(message: string, title: string): void;
14
- showErrorWithDetails(error: any): void;
15
- showErrorMessage(message: string): void;
16
- showInformation(message: string): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<MessageService>;
19
- }
@@ -1,11 +0,0 @@
1
- export declare class EnumTuple<TValue = number> {
2
- id: string | undefined;
3
- name: TValue | undefined;
4
- }
5
- export declare class EnumReader<TValue = number> {
6
- private readonly value;
7
- constructor(value: Record<string, TValue>);
8
- getNamesAndValues(): EnumTuple<TValue>[];
9
- getNames(): string[];
10
- private getObjValues;
11
- }
@@ -1,5 +0,0 @@
1
- export declare class IsoDateTime {
2
- static utcToLocalDateTimeIso(utcDateTime: string): string | null;
3
- static localToUtcDateTimeIso(localDateTime: string): string | null;
4
- static currentUtcDateTimeIso(): string;
5
- }
@@ -1,5 +0,0 @@
1
- export declare class ObjectCloner {
2
- static cloneArray<TR, TS1>(source: TS1[], ignoreProperties?: string[] | null): TR[];
3
- static cloneObject<TR, TS1>(source: TS1, ignoreProperties?: string[] | null): TR;
4
- static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties?: string[] | null): TR;
5
- }
@@ -1,8 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class SharedServicesModule {
4
- static forRoot(): ModuleWithProviders<SharedServicesModule>;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<SharedServicesModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedServicesModule, never, never, never>;
7
- static ɵinj: i0.ɵɵInjectorDeclaration<SharedServicesModule>;
8
- }
package/public-api.d.ts DELETED
@@ -1,14 +0,0 @@
1
- export * from './lib/shared-services.module';
2
- export * from './lib/services/breadcrumb.service';
3
- export * from './lib/services/message.service';
4
- export * from './lib/models/autoCompleteResult';
5
- export * from './lib/models/errorMessage';
6
- export * from './lib/models/pagedResultDto';
7
- export * from './lib/models/breadcrumb';
8
- export * from './lib/dataSources/dataSourceBase';
9
- export * from './lib/dataSources/genericDataSource';
10
- export * from './lib/dataSources/entitySelectDataSource';
11
- export * from './lib/dataSources/autoCompleteDataSource';
12
- export * from './lib/shared/isoDateTime';
13
- export * from './lib/shared/enumReader';
14
- export * from './lib/shared/objectCloner';