@dflat-core/web 1.0.9 → 1.0.10

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 +1 @@
1
- {"version":3,"file":"dflat-core-web-core-data.mjs","sources":["../../core-data/src/lib/services/data-service.ts","../../core-data/src/lib/core-data.module.ts","../../core-data/src/lib/services/entity-data-service.ts","../../core-data/src/dflat-core-web-core-data.ts"],"sourcesContent":["import { EnvironmentBase, Utilities } from '@dflat-core/web/core';\nimport { ActionDescriptor, ColumnDescriptor, EntityViewModelWithFields, EntityWithSpecifics, ExtendedProperty, FilterDescriptor, PagedList, SaveResult, SaveResults, TrackRecordProperty } from '@dflat-core/web/core-model';\nimport { HeadersService } from '@dflat-core/web/core-services';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable, Type } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n@Injectable()\nexport class DataService {\n\n baseUrl = this.env.apiUrl;\n httpClient: HttpClient;\n data: any[];\n constructor(\n private env: EnvironmentBase,\n httpClient: HttpClient,\n private headerService: HeadersService) {\n this.httpClient = httpClient\n }\n\n getFormattedParams(params: any): any {\n\n // Dans le cas d'un tableau, parcours tous les éléments du tableau pour formatter les\n let result: any;\n\n\n if (Array.isArray(params)) {\n if (params.length > 0 && typeof (params[0]) === 'number')\n return JSON.stringify(params);\n\n result = [];\n params.forEach(entity => {\n result.push(this.getFormattedParams(entity));\n });\n return JSON.stringify(result);\n }\n result = {};\n for (let key in params) {\n if (params.hasOwnProperty(key)) {\n let val = params[key];\n if (val !== undefined && val !== null) {\n //Handle the Date javascript object\n if (val instanceof Date) {\n val = `${Utilities.Format2Digits(val.getFullYear())}-${Utilities.Format2Digits(val.getMonth() + 1)}-${Utilities.Format2Digits(val.getDate())}T00:00:00.000Z`;\n }\n result[key] = val;\n }\n }\n }\n return result;\n\n\n\n // }\n // else {\n // result = params;\n // }\n // for (let key in params) {\n // if (params.hasOwnProperty(key)) {\n // let val = params[key];\n // if (val !== undefined && val !== null) {\n // //Handle the Date javascript object\n // if (val instanceof Date) {\n // val = `${Utilities.Format2Digits(val.getFullYear())}-${Utilities.Format2Digits(val.getMonth() + 1)}-${Utilities.Format2Digits(val.getDate())}T00:00:00.000Z`;\n // }\n // else if (Array.isArray(val)) {\n // let tmpResult = [];\n // val.forEach(entity => {\n // tmpResult.push(this.getFormattedParams(entity));\n // });\n // val = JSON.stringify(tmpResult);\n // // val.forEach(element => {\n // // val[element] = this.getFormattedParams(element);\n // // });\n // }\n // else if (typeof val === 'object') {\n // let valCopie = Object.assign({}, val);\n // val = this.getFormattedParams(valCopie);\n // }\n\n // if (Array.isArray(params)) {\n // result = val;\n // }\n // else {\n // result[key] = val;\n // }\n\n // }\n // }\n // }\n // return result;\n }\n\n\n getUrlQueryParams(filter: any): HttpParams {\n let requestParams = new HttpParams();\n let formattedFilter = this.getFormattedParams(filter);\n for (let key in formattedFilter) {\n if (formattedFilter.hasOwnProperty(key)) {\n let vals = formattedFilter[key];\n if (Array.isArray(vals) && vals.length > 0)\n {\n for (let key2 in vals) {\n requestParams = requestParams.append(key, vals[key2]);\n }\n }\n else if (typeof vals === 'object') {\n requestParams = requestParams.set(key, JSON.stringify(vals));\n }\n else\n {\n requestParams = requestParams.set(key, vals);\n }\n }\n }\n return requestParams;\n }\n\n /*getUrlQueryArrayParams(filter: any): HttpParams {\n let requestParams = new HttpParams();\n let formattedFilter = this.getFormattedParams(filter);\n for (let key in formattedFilter) {\n if (formattedFilter.hasOwnProperty(key)) {\n let vals = formattedFilter[key];\n for (let key2 in vals) {\n requestParams = requestParams.append(key, vals[key2]);\n }\n }\n }\n return requestParams;\n }*/\n\n getViewFilterDescriptors(entityKey: string): Observable<FilterDescriptor[]> {\n let _url = this.baseUrl + `/${entityKey}/GetFilterDescriptors`;\n return this.httpClient.get<FilterDescriptor[]>(_url);\n }\n\n getViewColumns(entityKey: string): Observable<ColumnDescriptor[]> {\n let _url = this.baseUrl + `/${entityKey}/GetGridColumns`;\n return this.httpClient.get<ColumnDescriptor[]>(_url);\n }\n\n search<TData>(entityKey: string, filter: any): Observable<PagedList<TData>> {\n let _url = this.baseUrl + `/${entityKey}/Search`;\n let requestParams = this.getUrlQueryParams(filter);\n return this.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\n }\n\n getDetails<TData>(entityKey: string, id: number): Observable<TData> {\n let _url = this.baseUrl + `/${entityKey}/GetDetails?`;\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\n else\n _url += \"id=\" + encodeURI(\"\" + id);\n\n _url = _url.replace(/[?&]$/, \"\");\n\n return this.httpClient.get<TData>(_url);\n }\n\n getEmptyFilter<T>(entityKey: string): Observable<T> {\n let _url = this.baseUrl + `/${entityKey}/GetEmptyFilter`;\n return this.httpClient.get<T>(_url, {});\n }\n\n /**\n * fonction \"async\" liant le front(Angular) et le back(C#)\n * - Principalement appelée par \"src.app.core.layout.BaseEditorComponent.loadEntityViewModel()\" lorsque l'on cherche à afficher un Objet de type \"EntityViewModel\"\n * - C'est elle qui lance l'appel à la fonction \"back\" BaseFilterController.GetEntityViewModel<TData>(id).\n * - Puis elle crée un observable avec la réponse qu'elle obtient du \"back\"\n *\n * @async\n * @function\n * @name getEntityViewModel<TData>\n * @param {string} entityKey\n * @param {number} id\n * @returns {(Observable)EntityViewModelWithFields<TData>}\n * @memberof DataService\n * @summary Demande les données d'une entité au back(C#) à travers \"getEntityViewModel\".\n * @see {@link src.app.core.layout.BaseEditorComponent.loadEntityViewModel()} for more information\n * @throws new Error(\"The parameter 'id' must be defined and cannot be null.\") if (id === undefined ou id === null)\n */\n getEntityViewModel<TData>(entityKey: string, id: number): Observable<EntityViewModelWithFields<TData>> {\n let _url = this. baseUrl + `/${entityKey}/GetEntityViewModel?`;\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\n else\n _url += \"id=\" + encodeURI(\"\" + id);\n\n _url = _url.replace(/[?&]$/, \"\");\n\n return this.httpClient.get(_url).pipe(\n map((resp: Response) => <EntityViewModelWithFields<TData>>resp));\n }\n\n getExtendedProperties(entityKey: string, entityIds: number[]): Observable<ExtendedProperty[]> {\n let _url = this.baseUrl + `/${entityKey}/GetExtendedProperties`;\n\n let requestParams = this.getUrlQueryParams({ entityIds: entityIds });\n return this.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\n }\n\n getExtendedActions (entityKey: string) : Observable<ActionDescriptor[]> {\n const _url = this.baseUrl + `/${entityKey}/GetExtendedActions`;\n return this.httpClient.get<ActionDescriptor[]>(_url, {});\n }\n \n getTrackRecordProperties(entityKey: string, entityIds: number[]): Observable<TrackRecordProperty[]> {\n let _url = this.baseUrl + `/${entityKey}/GetTrackRecordProperties`;\n\n let requestParams = this.getUrlQueryParams({ entityIds: entityIds });\n return this.httpClient.get<TrackRecordProperty[]>(_url, { params: requestParams });\n }\n\n saveEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\n let _url = this.baseUrl + `/${entityKey}/SaveEntity`;\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\n }\n\n deleteEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\n let _url = this.baseUrl + `/${entityKey}/DeleteEntity`;\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\n }\n\n deleteEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\n let _url = this.baseUrl + `/${entityKey}/DeleteEntities`;\n return this.httpClient.post<SaveResults<TData>>(_url, this.getFormattedParams(entities));\n }\n\n saveEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\n let _url = this.baseUrl + `/${entityKey}/saveEntities`;\n let toSave = [];\n entities.forEach(entity => {\n toSave.push(this.getFormattedParams(entity));\n });\n return this.httpClient.post<SaveResults<TData>>(_url, JSON.stringify(toSave));\n }\n\n\n\n SaveEntityWithSpecifics<TData>(entityKey: string, DataToSave: EntityWithSpecifics<TData>): Observable<{ success: boolean, rowVersion?: Date }> {\n let _url = this.baseUrl + `/${entityKey}/SaveEntityWithSpecifics`;\n return this.httpClient.post<{ success: boolean, rowVersion?: Date }>(_url, this.getFormattedParams(DataToSave));\n }\n\n exportAll<TData>(entityKey: string, filter: any) {\n let _url = this.baseUrl + `/${entityKey}/ExportAll`;\n let requestParams = this.getUrlQueryParams(filter);\n\n return this.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' })\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)))\n }\n\n exportResults<TData>(entityKey: string, exportModel: any) {\n let _url = this.baseUrl + `/${entityKey}/ExportResults`;\n const _body = JSON.stringify(exportModel);\n\n return this.httpClient.post(_url, _body, { observe: 'response', responseType: 'blob' })\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)));\n }\n\n public getFileInfo(resp: HttpResponse<Blob>): { fileBlob: Blob, fileName: string } {\n var type = resp.headers.get(\"Content-Type\");\n let b = new Blob([resp.body], { type: type });\n return {\n fileBlob: b,\n fileName: (resp.headers.get(\"Content-Disposition\") || \"\").split(\";\")[1].trim().split(\"=\")[1].replace(/['\"]/g, '')\n };\n }\n\n uploadFileToExtract(file: File, inputId: number, correlationId: string) {\n return this.uploadFiles(\"/DataImport/PostImportFile\", [file], { inputId: inputId, correlationId: correlationId });\n }\n\n uploadFilesWithParams(files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\n\n const _url = this.baseUrl + \"/DataImport/PostFiles\";\n\n let formData = new FormData();\n if (files.length == 1 && !forceMultipleFiles) {\n formData.append('file', files[0]);\n }\n else {\n for (var i = 0; i < files.length; i++) {\n formData.append('files', files[i]);\n }\n }\n\n formData.append('data', JSON.stringify((customParams as any).dataModel));\n let params = new HttpParams();\n\n return this.httpClient.post(_url, formData, {\n params,\n reportProgress: true,\n observe: 'body',\n headers: this.headerService.authFileUploadHeaders()\n });\n }\n\n uploadFiles(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\n\n const _url = this.baseUrl + url;\n\n let formData = new FormData();\n if (files.length == 1 && !forceMultipleFiles) {\n formData.append('file', files[0]);\n }\n else {\n for (var i = 0; i < files.length; i++) {\n formData.append('files', files[i]);\n }\n }\n\n if (customParams) {\n for (let p in customParams) {\n if (customParams.hasOwnProperty(p)) {\n formData.append(p, customParams[p]);\n }\n }\n }\n\n let params = new HttpParams();\n\n\n return this.httpClient.post(_url, formData, {\n params,\n reportProgress: true,\n observe: 'body',\n headers: this.headerService.authFileUploadHeaders()\n });\n }\n\n uploadFilesWithEvents(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\n\n const _url = this.baseUrl + url;\n\n let formData = new FormData();\n if (files.length == 1 && !forceMultipleFiles) {\n formData.append('file', files[0]);\n }\n else {\n for (var i = 0; i < files.length; i++) {\n formData.append('files', files[i]);\n }\n }\n\n if (customParams) {\n for (let p in customParams) {\n if (customParams.hasOwnProperty(p)) {\n formData.append(p, customParams[p]);\n }\n }\n }\n\n let params = new HttpParams();\n return this.httpClient.post<any>(_url, formData, {\n params,\n reportProgress: true,\n observe: 'events',\n headers: this.headerService.authFileUploadHeaders()\n });\n\n }\n}\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { DataService } from './services/data-service';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n providers: [DataService]\r\n})\r\nexport class CoreDataModule {}\r\n","import { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, EntityWithSpecifics, ExportModel, ExtendedProperty, FilterDescriptor, FilterViewModel, PagedList, SaveResult, SaveResults, TrackRecordProperty } from '@dflat-core/web/core-model';\n\nimport { DataService } from './data-service';\nimport { HttpResponse } from '@angular/common/http';\nimport { Directive } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Directive()\nexport abstract class EntityDataService<TData extends EntityViewModel, TFilter extends FilterViewModel> \n{\n abstract getEntityKey(): string;\n\n constructor(protected dataService : DataService) {}\n deleteEntities (sources:TData[]) : Observable<SaveResults<TData>> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntities`;\n const requestParams = this.dataService.getFormattedParams(sources);\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\n }\n\n deleteEntity (source:TData) : Observable<SaveResult> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntity`;\n const requestParams = this.dataService.getFormattedParams(source);\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\n }\n\n exportAll (filter:TFilter) {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportAll`;\n const requestParams = this.dataService.getFormattedParams(filter);\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\n }\n\n exportResults (model:ExportModel<TFilter>) {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportResults`;\n const requestParams = this.dataService.getFormattedParams(model);\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\n }\n\n getAlternateEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetAlternateEntityViewModel`;\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\n }\n\n getCacheManager () : Observable<TData[]> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetCacheManager`;\n return this.dataService.httpClient.get<TData[]>(_url, {});\n }\n\n getColumns () : Observable<ColumnDescriptor[]> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetColumns`;\n return this.dataService.httpClient.get<ColumnDescriptor[]>(_url, {});\n }\n\n getDetails (id:number) : Observable<TData> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetDetails`;\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\n return this.dataService.httpClient.get<TData>(_url, { params: requestParams });\n }\n\n getEmptyFilter () : Observable<TFilter> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetEmptyFilter`;\n return this.dataService.httpClient.get<TFilter>(_url, {});\n }\n\n getEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetEntityViewModel`;\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\n }\n\n getExtendedActions () : Observable<ActionDescriptor[]> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetExtendedActions`;\n return this.dataService.httpClient.get<ActionDescriptor[]>(_url, {});\n }\n\n getExtendedProperties (entityIds:number[]) : Observable<ExtendedProperty[]> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetExtendedProperties`;\n const requestParams = this.dataService.getUrlQueryParams({ entityIds:entityIds });\n return this.dataService.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\n }\n\n getFilterDescriptors () : Observable<FilterDescriptor[]> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetFilterDescriptors`;\n return this.dataService.httpClient.get<FilterDescriptor[]>(_url, {});\n }\n\n getSortColumn (col:string) : Observable<string> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetSortColumn`;\n const requestParams = this.dataService.getUrlQueryParams({ col:col });\n return this.dataService.httpClient.get<string>(_url, { params: requestParams });\n }\n\n getTrackRecordProperties (entityIds:number[]) : Observable<TrackRecordProperty[]> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetTrackRecordProperties`;\n const requestParams = this.dataService.getUrlQueryParams({ entityIds:entityIds });\n return this.dataService.httpClient.get<TrackRecordProperty[]>(_url, { params: requestParams });\n }\n \n saveEntities (sources:TData[]) : Observable<SaveResults<TData>> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntities`;\n const requestParams = this.dataService.getFormattedParams(sources);\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\n }\n\n saveEntity (source:TData) : Observable<SaveResult> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntity`;\n const requestParams = this.dataService.getFormattedParams(source);\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\n }\n\n saveEntityWithSpecifics (source:EntityWithSpecifics<TData>) : Observable<any> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntityWithSpecifics`;\n const requestParams = this.dataService.getFormattedParams(source);\n return this.dataService.httpClient.post<any>(_url, requestParams);\n }\n\n search (filter:TFilter) : Observable<PagedList<TData>> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/Search`;\n const requestParams = this.dataService.getFormattedParams(filter);\n return this.dataService.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\n }\n\n toggleFavorite (filter:TFilter) : Observable<any> {\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ToggleFavorite`;\n const requestParams = this.dataService.getFormattedParams(filter);\n return this.dataService.httpClient.post<any>(_url, requestParams);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DataService"],"mappings":"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"}
1
+ {"version":3,"file":"dflat-core-web-core-data.mjs","sources":["../../core-data/src/lib/services/data-service.ts","../../core-data/src/lib/core-data.module.ts","../../core-data/src/lib/services/entity-data-service.ts","../../core-data/src/dflat-core-web-core-data.ts"],"sourcesContent":["import { EnvironmentBase, Utilities } from '@dflat-core/web/core';\r\nimport { ActionDescriptor, ColumnDescriptor, EntityViewModelWithFields, EntityWithSpecifics, ExtendedProperty, FilterDescriptor, PagedList, SaveResult, SaveResults, TrackRecordProperty } from '@dflat-core/web/core-model';\r\nimport { HeadersService } from '@dflat-core/web/core-services';\r\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Injectable, Type } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\n baseUrl = this.env.apiUrl;\r\n httpClient: HttpClient;\r\n data: any[];\r\n constructor(\r\n private env: EnvironmentBase,\r\n httpClient: HttpClient,\r\n private headerService: HeadersService) {\r\n this.httpClient = httpClient\r\n }\r\n\r\n getFormattedParams(params: any): any {\r\n // Point d'entrée public : conserve le comportement historique\r\n // (stringify uniquement quand params racine est un tableau).\r\n if (Array.isArray(params)) {\r\n if (params.length > 0 && typeof (params[0]) === 'number') {\r\n return JSON.stringify(params);\r\n }\r\n const result = params.map(entity => this.formatValueRecursive(entity));\r\n return JSON.stringify(result);\r\n }\r\n\r\n return this.formatValueRecursive(params);\r\n }\r\n\r\n // Transforme récursivement un objet/tableau/valeur, sans jamais stringifier.\r\n // Utilisée pour descendre dans les propriétés imbriquées (ex: un tableau\r\n // d'objets contenu dans une propriété d'un objet racine), qui étaient\r\n // auparavant copiées telles quelles et donc jamais nettoyées de leurs Date.\r\n private formatValueRecursive(val: any): any {\r\n if (val === undefined || val === null) {\r\n return val;\r\n }\r\n\r\n if (val instanceof Date) {\r\n return `${Utilities.Format2Digits(val.getFullYear())}-${Utilities.Format2Digits(val.getMonth() + 1)}-${Utilities.Format2Digits(val.getDate())}T00:00:00.000Z`;\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n // Tableau de nombres : on le laisse tel quel (comme au niveau racine)\r\n if (val.length > 0 && typeof (val[0]) === 'number') {\r\n return val;\r\n }\r\n return val.map(item => this.formatValueRecursive(item));\r\n }\r\n\r\n if (typeof val === 'object') {\r\n const result: any = {};\r\n for (let key in val) {\r\n if (val.hasOwnProperty(key)) {\r\n const propVal = val[key];\r\n if (propVal !== undefined && propVal !== null) {\r\n result[key] = this.formatValueRecursive(propVal);\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n // primitive (string, number, boolean...) : inchangé\r\n return val;\r\n }\r\n\r\n\r\n getUrlQueryParams(filter: any): HttpParams {\r\n let requestParams = new HttpParams();\r\n let formattedFilter = this.getFormattedParams(filter);\r\n for (let key in formattedFilter) {\r\n if (formattedFilter.hasOwnProperty(key)) {\r\n let vals = formattedFilter[key];\r\n if (Array.isArray(vals) && vals.length > 0)\r\n {\r\n for (let key2 in vals) {\r\n requestParams = requestParams.append(key, vals[key2]);\r\n }\r\n }\r\n else if (typeof vals === 'object') {\r\n requestParams = requestParams.set(key, JSON.stringify(vals));\r\n }\r\n else\r\n {\r\n requestParams = requestParams.set(key, vals);\r\n }\r\n }\r\n }\r\n return requestParams;\r\n }\r\n\r\n /*getUrlQueryArrayParams(filter: any): HttpParams {\r\n let requestParams = new HttpParams();\r\n let formattedFilter = this.getFormattedParams(filter);\r\n for (let key in formattedFilter) {\r\n if (formattedFilter.hasOwnProperty(key)) {\r\n let vals = formattedFilter[key];\r\n for (let key2 in vals) {\r\n requestParams = requestParams.append(key, vals[key2]);\r\n }\r\n }\r\n }\r\n return requestParams;\r\n }*/\r\n\r\n getViewFilterDescriptors(entityKey: string): Observable<FilterDescriptor[]> {\r\n let _url = this.baseUrl + `/${entityKey}/GetFilterDescriptors`;\r\n return this.httpClient.get<FilterDescriptor[]>(_url);\r\n }\r\n\r\n getViewColumns(entityKey: string): Observable<ColumnDescriptor[]> {\r\n let _url = this.baseUrl + `/${entityKey}/GetGridColumns`;\r\n return this.httpClient.get<ColumnDescriptor[]>(_url);\r\n }\r\n\r\n search<TData>(entityKey: string, filter: any): Observable<PagedList<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/Search`;\r\n let requestParams = this.getUrlQueryParams(filter);\r\n return this.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getDetails<TData>(entityKey: string, id: number): Observable<TData> {\r\n let _url = this.baseUrl + `/${entityKey}/GetDetails?`;\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n _url += \"id=\" + encodeURI(\"\" + id);\r\n\r\n _url = _url.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.get<TData>(_url);\r\n }\r\n\r\n getEmptyFilter<T>(entityKey: string): Observable<T> {\r\n let _url = this.baseUrl + `/${entityKey}/GetEmptyFilter`;\r\n return this.httpClient.get<T>(_url, {});\r\n }\r\n\r\n /**\r\n * fonction \"async\" liant le front(Angular) et le back(C#)\r\n * - Principalement appelée par \"src.app.core.layout.BaseEditorComponent.loadEntityViewModel()\" lorsque l'on cherche à afficher un Objet de type \"EntityViewModel\"\r\n * - C'est elle qui lance l'appel à la fonction \"back\" BaseFilterController.GetEntityViewModel<TData>(id).\r\n * - Puis elle crée un observable avec la réponse qu'elle obtient du \"back\"\r\n *\r\n * @async\r\n * @function\r\n * @name getEntityViewModel<TData>\r\n * @param {string} entityKey\r\n * @param {number} id\r\n * @returns {(Observable)EntityViewModelWithFields<TData>}\r\n * @memberof DataService\r\n * @summary Demande les données d'une entité au back(C#) à travers \"getEntityViewModel\".\r\n * @see {@link src.app.core.layout.BaseEditorComponent.loadEntityViewModel()} for more information\r\n * @throws new Error(\"The parameter 'id' must be defined and cannot be null.\") if (id === undefined ou id === null)\r\n */\r\n getEntityViewModel<TData>(entityKey: string, id: number): Observable<EntityViewModelWithFields<TData>> {\r\n let _url = this. baseUrl + `/${entityKey}/GetEntityViewModel?`;\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n _url += \"id=\" + encodeURI(\"\" + id);\r\n\r\n _url = _url.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.get(_url).pipe(\r\n map((resp: Response) => <EntityViewModelWithFields<TData>>resp));\r\n }\r\n\r\n getExtendedProperties(entityKey: string, entityIds: number[]): Observable<ExtendedProperty[]> {\r\n let _url = this.baseUrl + `/${entityKey}/GetExtendedProperties`;\r\n\r\n let requestParams = this.getUrlQueryParams({ entityIds: entityIds });\r\n return this.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n getExtendedActions (entityKey: string) : Observable<ActionDescriptor[]> {\r\n const _url = this.baseUrl + `/${entityKey}/GetExtendedActions`;\r\n return this.httpClient.get<ActionDescriptor[]>(_url, {});\r\n }\r\n \r\n getTrackRecordProperties(entityKey: string, entityIds: number[]): Observable<TrackRecordProperty[]> {\r\n let _url = this.baseUrl + `/${entityKey}/GetTrackRecordProperties`;\r\n\r\n let requestParams = this.getUrlQueryParams({ entityIds: entityIds });\r\n return this.httpClient.get<TrackRecordProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n saveEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\r\n let _url = this.baseUrl + `/${entityKey}/SaveEntity`;\r\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\r\n }\r\n\r\n deleteEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\r\n let _url = this.baseUrl + `/${entityKey}/DeleteEntity`;\r\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\r\n }\r\n\r\n deleteEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/DeleteEntities`;\r\n return this.httpClient.post<SaveResults<TData>>(_url, this.getFormattedParams(entities));\r\n }\r\n\r\n saveEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/saveEntities`;\r\n let toSave = [];\r\n entities.forEach(entity => {\r\n toSave.push(this.getFormattedParams(entity));\r\n });\r\n return this.httpClient.post<SaveResults<TData>>(_url, JSON.stringify(toSave));\r\n }\r\n\r\n\r\n\r\n SaveEntityWithSpecifics<TData>(entityKey: string, DataToSave: EntityWithSpecifics<TData>): Observable<{ success: boolean, rowVersion?: Date }> {\r\n let _url = this.baseUrl + `/${entityKey}/SaveEntityWithSpecifics`;\r\n return this.httpClient.post<{ success: boolean, rowVersion?: Date }>(_url, this.getFormattedParams(DataToSave));\r\n }\r\n\r\n exportAll<TData>(entityKey: string, filter: any) {\r\n let _url = this.baseUrl + `/${entityKey}/ExportAll`;\r\n let requestParams = this.getUrlQueryParams(filter);\r\n\r\n return this.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' })\r\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)))\r\n }\r\n\r\n exportResults<TData>(entityKey: string, exportModel: any) {\r\n let _url = this.baseUrl + `/${entityKey}/ExportResults`;\r\n const _body = JSON.stringify(exportModel);\r\n\r\n return this.httpClient.post(_url, _body, { observe: 'response', responseType: 'blob' })\r\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)));\r\n }\r\n\r\n public getFileInfo(resp: HttpResponse<Blob>): { fileBlob: Blob, fileName: string } {\r\n var type = resp.headers.get(\"Content-Type\");\r\n let b = new Blob([resp.body], { type: type });\r\n return {\r\n fileBlob: b,\r\n fileName: (resp.headers.get(\"Content-Disposition\") || \"\").split(\";\")[1].trim().split(\"=\")[1].replace(/['\"]/g, '')\r\n };\r\n }\r\n\r\n uploadFileToExtract(file: File, inputId: number, correlationId: string) {\r\n return this.uploadFiles(\"/DataImport/PostImportFile\", [file], { inputId: inputId, correlationId: correlationId });\r\n }\r\n\r\n uploadFilesWithParams(files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + \"/DataImport/PostFiles\";\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n formData.append('data', JSON.stringify((customParams as any).dataModel));\r\n let params = new HttpParams();\r\n\r\n return this.httpClient.post(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'body',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n }\r\n\r\n uploadFiles(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + url;\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n if (customParams) {\r\n for (let p in customParams) {\r\n if (customParams.hasOwnProperty(p)) {\r\n formData.append(p, customParams[p]);\r\n }\r\n }\r\n }\r\n\r\n let params = new HttpParams();\r\n\r\n\r\n return this.httpClient.post(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'body',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n }\r\n\r\n uploadFilesWithEvents(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + url;\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n if (customParams) {\r\n for (let p in customParams) {\r\n if (customParams.hasOwnProperty(p)) {\r\n formData.append(p, customParams[p]);\r\n }\r\n }\r\n }\r\n\r\n let params = new HttpParams();\r\n return this.httpClient.post<any>(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'events',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { DataService } from './services/data-service';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n providers: [DataService]\r\n})\r\nexport class CoreDataModule {}\r\n","import { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, EntityWithSpecifics, ExportModel, ExtendedProperty, FilterDescriptor, FilterViewModel, PagedList, SaveResult, SaveResults, TrackRecordProperty } from '@dflat-core/web/core-model';\r\n\r\nimport { DataService } from './data-service';\r\nimport { HttpResponse } from '@angular/common/http';\r\nimport { Directive } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Directive()\r\nexport abstract class EntityDataService<TData extends EntityViewModel, TFilter extends FilterViewModel> \r\n{\r\n abstract getEntityKey(): string;\r\n\r\n constructor(protected dataService : DataService) {}\r\n deleteEntities (sources:TData[]) : Observable<SaveResults<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntities`;\r\n const requestParams = this.dataService.getFormattedParams(sources);\r\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\r\n }\r\n\r\n deleteEntity (source:TData) : Observable<SaveResult> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntity`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\r\n }\r\n\r\n exportAll (filter:TFilter) {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportAll`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\r\n }\r\n\r\n exportResults (model:ExportModel<TFilter>) {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportResults`;\r\n const requestParams = this.dataService.getFormattedParams(model);\r\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\r\n }\r\n\r\n getAlternateEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetAlternateEntityViewModel`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getCacheManager () : Observable<TData[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetCacheManager`;\r\n return this.dataService.httpClient.get<TData[]>(_url, {});\r\n }\r\n\r\n getColumns () : Observable<ColumnDescriptor[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetColumns`;\r\n return this.dataService.httpClient.get<ColumnDescriptor[]>(_url, {});\r\n }\r\n\r\n getDetails (id:number) : Observable<TData> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetDetails`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<TData>(_url, { params: requestParams });\r\n }\r\n\r\n getEmptyFilter () : Observable<TFilter> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetEmptyFilter`;\r\n return this.dataService.httpClient.get<TFilter>(_url, {});\r\n }\r\n\r\n getEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetEntityViewModel`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getExtendedActions () : Observable<ActionDescriptor[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetExtendedActions`;\r\n return this.dataService.httpClient.get<ActionDescriptor[]>(_url, {});\r\n }\r\n\r\n getExtendedProperties (entityIds:number[]) : Observable<ExtendedProperty[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetExtendedProperties`;\r\n const requestParams = this.dataService.getUrlQueryParams({ entityIds:entityIds });\r\n return this.dataService.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n getFilterDescriptors () : Observable<FilterDescriptor[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetFilterDescriptors`;\r\n return this.dataService.httpClient.get<FilterDescriptor[]>(_url, {});\r\n }\r\n\r\n getSortColumn (col:string) : Observable<string> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetSortColumn`;\r\n const requestParams = this.dataService.getUrlQueryParams({ col:col });\r\n return this.dataService.httpClient.get<string>(_url, { params: requestParams });\r\n }\r\n\r\n getTrackRecordProperties (entityIds:number[]) : Observable<TrackRecordProperty[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetTrackRecordProperties`;\r\n const requestParams = this.dataService.getUrlQueryParams({ entityIds:entityIds });\r\n return this.dataService.httpClient.get<TrackRecordProperty[]>(_url, { params: requestParams });\r\n }\r\n \r\n saveEntities (sources:TData[]) : Observable<SaveResults<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntities`;\r\n const requestParams = this.dataService.getFormattedParams(sources);\r\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\r\n }\r\n\r\n saveEntity (source:TData) : Observable<SaveResult> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntity`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\r\n }\r\n\r\n saveEntityWithSpecifics (source:EntityWithSpecifics<TData>) : Observable<any> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntityWithSpecifics`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<any>(_url, requestParams);\r\n }\r\n\r\n search (filter:TFilter) : Observable<PagedList<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/Search`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n toggleFavorite (filter:TFilter) : Observable<any> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ToggleFavorite`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.post<any>(_url, requestParams);\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DataService"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dflat-core-web-core-model.mjs","sources":["../../core-model/src/lib/core-model.module.ts","../../core-model/src/lib/model/interface.generated.ts","../../core-model/src/lib/interface.ts","../../core-model/src/lib/model/model.ts","../../core-model/src/dflat-core-web-core-model.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class CoreModelModule {}\r\n","export interface ViewModel {\r\n}\r\n\r\nexport enum ValidatorTypes {\r\n None = 0,\r\n MaxLength = 1,\r\n MinLength = 2,\r\n Max = 4,\r\n Min = 8,\r\n Email = 16,\r\n Required = 32,\r\n Unicity = 64,\r\n Nullable = 128,\r\n}\r\n\r\nexport interface PagingViewModel {\r\n EnablePaging? : boolean;\r\n Offset? : number;\r\n SortColumn? : string;\r\n SortDirection? : string;\r\n SpecificSortClause? : string;\r\n Take? : number;\r\n}\r\n\r\nexport interface ExtendedProperty {\r\n EntityId? : number;\r\n FieldType? : number;\r\n PropertyId? : number;\r\n PropertyName? : string;\r\n Value? : string;\r\n}\r\n\r\nexport interface TextWithStyle {\r\n GreenText? : string;\r\n RedText? : string;\r\n YellowText? : string;\r\n}\r\n\r\nexport interface FilterViewModel extends PagingViewModel {\r\n AdditionalFilter? : string;\r\n AggregateClause? : string;\r\n BrandId? : number;\r\n CustomFieldIds? : string;\r\n Id? : number;\r\n IsCsvExport? : boolean;\r\n Keywords? : string;\r\n}\r\n\r\nexport enum FilterType {\r\n String = 0,\r\n Integer = 1,\r\n Date = 2,\r\n ComboBox = 3,\r\n CheckBox = 4,\r\n Email = 5,\r\n WeekNumber = 6,\r\n Text = 7,\r\n Custom = 8,\r\n RadioButton = 9,\r\n TextZoneWithButton = 10,\r\n HorizComboBox = 11,\r\n TextWithButton = 12,\r\n DropFileZone = 13,\r\n DateTime = 14,\r\n Password = 15,\r\n TreeSelector = 16,\r\n Decimal = 17,\r\n}\r\n\r\nexport interface FieldValidators {\r\n MaxLength? : number;\r\n MaxValue? : number;\r\n MinValue? : number;\r\n ValidatorType? : ValidatorTypes;\r\n}\r\n\r\nexport interface EntityViewModel extends ViewModel {\r\n ExtendedProperties? : ExtendedProperty[];\r\n Id? : number;\r\n IsEditable? : boolean;\r\n IsSelected? : boolean;\r\n IsStorable? : boolean;\r\n Name? : string;\r\n RowVersion? : Date;\r\n}\r\n\r\nexport enum ConditionalResults {\r\n Hide = 0,\r\n ReadOnly = 1,\r\n}\r\n\r\nexport enum ColumnSpans {\r\n Single = 0,\r\n Full = 1,\r\n}\r\n\r\nexport interface FieldDescriptor {\r\n BoolConditioningFieldValue? : boolean;\r\n ButtonLabel? : string;\r\n CascadeDependency? : boolean;\r\n CascadeDependencyProperty? : string;\r\n ColumnIndex? : number;\r\n ColumnSpan? : ColumnSpans;\r\n ConditionalResult? : ConditionalResults;\r\n ConditioningField? : string;\r\n ConditioningFieldValue? : number[];\r\n CurrentFilters? : any;\r\n Data? : any;\r\n DataFilter? : FilterViewModel;\r\n Description? : string;\r\n DisplayMember? : string;\r\n ExportPropertyName? : string;\r\n FieldValidators? : FieldValidators;\r\n FilterDistinct? : boolean;\r\n FilterType? : FilterType;\r\n HideSelected? : boolean;\r\n Highlight? : boolean;\r\n InputType? : string;\r\n IsClearable? : boolean;\r\n IsConditional? : boolean;\r\n IsConditioning? : boolean;\r\n IsExtendedProperty? : boolean;\r\n IsHidden? : boolean;\r\n IsStatic? : boolean;\r\n KeepPlace? : boolean;\r\n Label? : string;\r\n ModalEntityKey? : string;\r\n ModalOnly? : boolean;\r\n ModalPropertyName? : string;\r\n ModalPropertyValue? : string;\r\n ModalTitle? : string;\r\n ModalTriggerIdProperty? : string;\r\n ModalTriggerIdPropertyValue? : string;\r\n MultipleSelection? : boolean;\r\n NotDefaultRequired? : boolean;\r\n OriginalData? : any;\r\n PropertyLength? : number;\r\n PropertyName? : string;\r\n ReadOnly? : boolean;\r\n Required? : boolean;\r\n TextWithStyle? : TextWithStyle;\r\n ToolTip? : string;\r\n ValueMember? : string;\r\n}\r\n\r\nexport enum ApiErrorTypes {\r\n Unknown = 0,\r\n DatabaseError = 1,\r\n SystemError = 2,\r\n UserError = 3,\r\n}\r\n\r\nexport interface Section {\r\n FieldViewModels? : FieldDescriptor[];\r\n IsCustomFieldSection? : boolean;\r\n IsFileSection? : boolean;\r\n IsTrackRecordSection? : boolean;\r\n Name? : string;\r\n}\r\n\r\nexport interface EntityFilterViewModel<T> extends FilterViewModel {\r\n}\r\n\r\nexport interface Display {\r\n baseUrl? : string;\r\n completingCaracter? : string;\r\n currency? : string;\r\n enumMap? : string[];\r\n format? : string;\r\n handleError? : boolean;\r\n imagePath? : string;\r\n imgBase? : string;\r\n multiplier? : number;\r\n nullCaseText? : string;\r\n sourceProperty? : string;\r\n type? : string;\r\n width? : number;\r\n}\r\n\r\nexport interface ApiError {\r\n ApiErrorType? : ApiErrorTypes;\r\n ErrorCode? : number;\r\n Message? : string;\r\n StackTrace? : string;\r\n}\r\n\r\nexport enum ActionDisplay {\r\n Button = 0,\r\n TextAndButton = 1,\r\n}\r\n\r\n\r\nexport interface TabToSave<TResult> {\r\n Data? : TResult[];\r\n TitleOfTab? : string;\r\n}\r\n\r\nexport interface SaveResult {\r\n DisplayMessage? : boolean;\r\n Error? : ApiError;\r\n ErrorMessage? : string;\r\n Id? : number;\r\n RowVersion? : Date;\r\n Success? : boolean;\r\n Warnings? : string[];\r\n}\r\n\r\nexport interface ColumnDescriptor {\r\n Display? : Display;\r\n Expression? : string;\r\n FieldName? : string;\r\n IsComputed? : boolean;\r\n IsFilterEnabled? : boolean;\r\n IsNumericExpression? : boolean;\r\n Name? : string;\r\n Property? : string;\r\n TableAlias? : string;\r\n ToolTipProperty? : string;\r\n}\r\n\r\nexport interface AggregationValue {\r\n Key? : string;\r\n Value? : any;\r\n}\r\n\r\nexport interface ActionDescriptor {\r\n ActionDisplay? : ActionDisplay;\r\n Description? : string;\r\n FormDescriptor? : Section[];\r\n Icon? : string;\r\n IconUrl? : string;\r\n Label? : string;\r\n Name? : string;\r\n RequestType? : string;\r\n}\r\n\r\nexport interface TrackRecordProperty {\r\n CreatedBy? : string;\r\n CreationDate? : Date;\r\n CreationDateString? : string;\r\n Id? : number;\r\n ModificationDate? : Date;\r\n ModificationDateString? : string;\r\n ModifiedBy? : string;\r\n}\r\n\r\nexport interface SaveResults<TResult> extends SaveResult {\r\n SaveErrorEntities? : TResult[];\r\n}\r\n\r\nexport interface RunActionContext {\r\n Action? : ActionDescriptor;\r\n CorrelationId? : string;\r\n EntityIds? : number[];\r\n EntityKey? : string;\r\n File? : any;\r\n FileId? : number;\r\n FormValue? : any;\r\n RequestId? : number;\r\n}\r\n\r\nexport interface PagedList<T> {\r\n Aggregates? : AggregationValue[];\r\n Skip? : number;\r\n Take? : number;\r\n TotalRowCount? : number;\r\n Values? : T[];\r\n}\r\n\r\nexport enum ImageFormats {\r\n Undefined = 0,\r\n JPG = 1,\r\n PNG = 2,\r\n GIF = 3,\r\n TIFF = 4,\r\n BMP = 5,\r\n SVG = 6,\r\n}\r\n\r\nexport interface FilterDescriptor extends FieldDescriptor {\r\n DisplayImage? : boolean;\r\n}\r\n\r\nexport interface ExportModel<T> {\r\n Columns? : ColumnDescriptor[];\r\n Filter? : T;\r\n}\r\n\r\nexport interface EntityWithSpecifics<TResult> {\r\n Entity? : TResult;\r\n Tabs? : TabToSave<TResult>[];\r\n}\r\n\r\nexport interface EntityViewModelWithFields<T> {\r\n FieldSections? : Section[];\r\n SpecificSection? : any;\r\n ViewModel? : T;\r\n}\r\n\r\nexport enum TextSearch {\r\n Contains = 0,\r\n StartsWith = 1,\r\n EndsWith = 2,\r\n}\r\n\r\nexport enum ExportType {\r\n CSV = 0,\r\n EXCEL = 1,\r\n}\r\n\r\nexport enum AggregateFunction {\r\n Count = 0,\r\n Sum = 1,\r\n Min = 2,\r\n Max = 3,\r\n Avg = 4,\r\n}\r\n\r\nexport enum ActionResultStatus {\r\n OK = 0,\r\n KO = 1,\r\n}\r\n\r\n","import { Utilities } from '@dflat-core/web/core';\nimport { ComponentRef, TemplateRef, Type } from '@angular/core';\n\nimport { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, FieldDescriptor, FieldValidators, FilterDescriptor, FilterViewModel } from './model/interface.generated';\n\nexport interface IIdentifiable {\n Id?: number;\n}\n\nexport class UserUpdatedMessage {\n constructor(public userKey: string) { }\n}\n\nexport interface IUserCredential extends IIdentifiable {\n AccessToken: string; \n RefreshToken: string; \n Username?: string; \n FirstName?: string; \n LastName?: string;\n Email?: string;\n IsAdmin?: boolean;\n IsDelivery?: boolean;\n IsPartner?: boolean;\n PhoneNumber?: string;\n IsActive?: boolean;\n IsPartnerActive?: boolean;\n IsDeliveryActive?: boolean;\n\n Id?: number;\n CompanyId?: number;\n Permissions: string[];\n ProfileImageUrl: string;\n AvatarUrl: string;\n\n}\nexport class User implements IUserCredential {\n \n public AccessToken: string;\n public RefreshToken: string;\n public Username?: string;\n public FirstName?: string;\n public LastName?: string;\n public Email?: string;\n public PhoneNumber?: string;\n public IsAdmin?: boolean;\n public IsDelivery?: boolean;\n public IsPartner?: boolean;\n public Id?: number;\n public CompanyId?: number;\n public Permissions: string[];\n public ProfileImageUrl: string;\n public IsActive?: boolean;\n public IsPartnerActive?: boolean;\n public IsDeliveryActive?: boolean;\n public IsConnected: boolean = false;\n public AvatarUrl: string;\n \n public constructor(data: IUserCredential) {\n this.Username = data.Username;\n this.FirstName = data.FirstName;\n this.LastName = data.LastName;\n this.Email = data.Email;\n this.PhoneNumber = data.PhoneNumber;\n this.ProfileImageUrl = data.ProfileImageUrl;\n this.IsAdmin = data.IsAdmin;\n this.IsPartner = data.IsPartner;\n this.IsDelivery = data.IsDelivery;\n this.IsAdmin = data.IsAdmin;\n this.IsPartner = data.IsPartner;\n this.IsDelivery = data.IsDelivery;\n this.IsActive = data.IsActive;\n this.IsPartnerActive = data.IsPartnerActive;\n this.IsDeliveryActive = data.IsDeliveryActive;\n this.Id = data.Id;\n this.CompanyId = data.CompanyId;\n this.AccessToken = data.AccessToken;\n this.AvatarUrl = data.AvatarUrl;\n }\n \n\n public getName() {\n return this.FirstName + ' ' + this.LastName;\n }\n\n \n}\n\n\nexport interface INotification {\n id:string;\n content: string;\n class: string;\n link: string;\n entityType:string;\n entityId?:number;\n}\n \nexport class Notification implements INotification {\n public id:string;\n public content: string;\n public class: string;\n public link: string;\n public entityType:string;\n public entityId?:number\n public constructor(data: Partial<INotification> = {}) {\n this.id = data.id || '';\n this.content = data.content || '';\n this.class = data.class || '';\n this.link = data.link || '';\n this.entityType = data.entityType || '';\n this.entityId = data.entityId;\n }\n}\n\nexport class ChannelData<T> {\n Channel: string;\n Data: T;\n\n public constructor(channel: string, data: T) {\n this.Channel= channel;\n this.Data= data;\n }\n}\n\nexport class IMessage {\n Channel: string;\n Data: any;\n}\n\nexport class Message implements IMessage \n{\n Channel: string;\n Data: any;\n\n public constructor(channel: string, data: any) {\n this.Channel= channel;\n this.Data= data;\n }\n}\nexport interface NumberDictionary<T> {\n [Key: number]: T;\n}\nexport interface Dictionary<T> {\n [Key: string]: T;\n}\n\n\n\nexport class NumberDictionnaryWrapper<T> {\n\n dictionary: NumberDictionary<T> = {};\n get(key: number) {\n return this.dictionary[key];\n }\n\n containsKey(key: number) {\n if (typeof this.dictionary[key] === \"undefined\") {\n return false;\n }\n return true;\n }\n}\n\nexport class DictionnaryWrapper<T> {\n\n dictionary: Dictionary<T> = {};\n get(key: string) {\n return this.dictionary[key];\n }\n\n containsKey(key: string) {\n if (typeof this.dictionary[key] === \"undefined\") {\n return false;\n }\n return true;\n }\n\n getPartKey(key: string) {\n\n if (typeof this.dictionary[key] === \"undefined\" ) {\n let keyFound = Object.keys(this.dictionary).find(obj => key.includes(obj));\n if(keyFound) {\n key = keyFound\n }\n }\n\n return this.dictionary[key];\n }\n\n containsKeyOrPartKey(key: string) {\n let routeFound = Object.keys(this.dictionary).find(obj => key.includes(obj));\n \n if(!Utilities.IsNil(routeFound)){\n return true;\n }\n\n if (typeof this.dictionary[key] === \"undefined\" ) {\n return false;\n }\n return true;\n }\n\n getValues() {\n return Object.keys(this.dictionary).map(key => this.dictionary[key]);\n }\n}\n\n\n\n\n// export interface FilterDescriptor {\n// FieldValidators?: FieldValidators;\n// Label?: string;\n// FilterType?: FilterType;\n// PropertyName?: string;\n// DisplayMember?: string;\n// ValueMember?: string;\n// Data?: any;\n// Highlight?: boolean;\n// ToolTip?: string;\n// IsStatic?: boolean;\n// Required?: boolean;\n// NotDefaultRequired?: boolean;\n// ReadOnly?: boolean;\n// IsHidden?: boolean;\n// KeepPlace?: boolean;\n// IsConditioning?: boolean;\n// IsConditional?: boolean;\n// ConditioningField?: string;\n// ConditioningFieldValue?: number;\n// BoolConditioningFieldValue?: boolean;\n// OriginalData?: any;\n// CascadeDependency?: boolean;\n// CascadeDependencyProperty?: string;\n// FilterDistinct?: boolean;\n// MultipleSelection?: boolean;\n// HideSelected?: boolean;\n// ColumnSpan?: ColumnSpans;\n// ColumnIndex?: number;\n// InputType?: string;\n// CurrentFilters?: {};\n\n// ModalEntityKey?: string;\n// ModalPropertyName?: string;\n// ModalPropertyValue?: string;\n// ModalTitle?: string;\n// }\n\n\n\nexport interface SpecificSection {\n Name?: string,\n IconUrl?:string,\n Template?: Type<any> | TemplateRef<any> | ComponentRef<any> | any,\n Context?: {},\n Data?: any[],\n Component?: any,\n refreshFunction?: () => void\n}\nexport interface SectionError {\n Name?: string,\n FieldValidators?: FieldValidators;\n Errors?: string[]\n}\n\nexport interface IFilterDescriptorExtra {\n Field?: FilterDescriptor;\n DisplayedValue?: string;\n}\n\nexport interface TextZoneButtonEvent {\n Field: FieldDescriptor;\n Value: string;\n }\n \n export interface FieldEvent {\n Field: FieldDescriptor;\n Event: Event;\n }\n \n export interface EntityConfig {\n actions: ActionDescriptor[];\n columns: ColumnDescriptor[];\n emptyFilter: FilterViewModel;\n filterDescriptors: FilterDescriptor[];\n viewModel: EntityViewModelWithFields<EntityViewModel>;\n }\n\n // export interface CachedConfig {\n // timestamp: number;\n // config : EntityConfig;\n // }\n\n export interface PropertyEditorEvent {\n field: FieldDescriptor;\n value: any;\n type: 'value' | 'pending' | 'file' | 'selector' | 'button'| 'reset';\n }","export class HistoryItem {\r\n date: string;\r\n hour: string;\r\n url: string;\r\n icon1: string;\r\n menu1: string;\r\n icon2: string;\r\n menu2: string;\r\n}\r\n\r\nexport enum FilterOperator {\r\n Contains = 0,\r\n StartsWith = 1,\r\n EndsWith = 2,\r\n Equals = 3\r\n}\r\nexport interface FilterClause {\r\n PropertyName : string;\r\n FilterValue : string;\r\n Operator : FilterOperator\r\n}\r\n\r\nexport interface FilterRow {\r\n ClausesByPropertyName : Map<string, FilterClause>;\r\n}\r\n\r\nexport interface FilterQuery {\r\n Rows : FilterRow[];\r\n}\r\n\r\nexport enum CustomFieldTypes {\r\n String = 0,\r\n Integer = 1,\r\n Date = 2,\r\n ComboBox = 3,\r\n Checkbox = 4,\r\n Email = 5,\r\n WeekNumber = 6,\r\n Text = 7,\r\n Custom = 8,\r\n Number = 9,\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dflat-core-web-core-model.mjs","sources":["../../core-model/src/lib/core-model.module.ts","../../core-model/src/lib/model/interface.generated.ts","../../core-model/src/lib/interface.ts","../../core-model/src/lib/model/model.ts","../../core-model/src/dflat-core-web-core-model.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [],\r\n exports: []\r\n})\r\nexport class CoreModelModule {}\r\n","export interface ViewModel {\r\n}\r\n\r\nexport enum ValidatorTypes {\r\n None = 0,\r\n MaxLength = 1,\r\n MinLength = 2,\r\n Max = 4,\r\n Min = 8,\r\n Email = 16,\r\n Required = 32,\r\n Unicity = 64,\r\n Nullable = 128,\r\n}\r\n\r\nexport interface PagingViewModel {\r\n EnablePaging? : boolean;\r\n Offset? : number;\r\n SortColumn? : string;\r\n SortDirection? : string;\r\n SpecificSortClause? : string;\r\n Take? : number;\r\n}\r\n\r\nexport interface ExtendedProperty {\r\n EntityId? : number;\r\n FieldType? : number;\r\n PropertyId? : number;\r\n PropertyName? : string;\r\n Value? : string;\r\n}\r\n\r\nexport interface TextWithStyle {\r\n GreenText? : string;\r\n RedText? : string;\r\n YellowText? : string;\r\n}\r\n\r\nexport interface FilterViewModel extends PagingViewModel {\r\n AdditionalFilter? : string;\r\n AggregateClause? : string;\r\n BrandId? : number;\r\n CustomFieldIds? : string;\r\n Id? : number;\r\n IsCsvExport? : boolean;\r\n Keywords? : string;\r\n}\r\n\r\nexport enum FilterType {\r\n String = 0,\r\n Integer = 1,\r\n Date = 2,\r\n ComboBox = 3,\r\n CheckBox = 4,\r\n Email = 5,\r\n WeekNumber = 6,\r\n Text = 7,\r\n Custom = 8,\r\n RadioButton = 9,\r\n TextZoneWithButton = 10,\r\n HorizComboBox = 11,\r\n TextWithButton = 12,\r\n DropFileZone = 13,\r\n DateTime = 14,\r\n Password = 15,\r\n TreeSelector = 16,\r\n Decimal = 17,\r\n}\r\n\r\nexport interface FieldValidators {\r\n MaxLength? : number;\r\n MaxValue? : number;\r\n MinValue? : number;\r\n ValidatorType? : ValidatorTypes;\r\n}\r\n\r\nexport interface EntityViewModel extends ViewModel {\r\n ExtendedProperties? : ExtendedProperty[];\r\n Id? : number;\r\n IsEditable? : boolean;\r\n IsSelected? : boolean;\r\n IsStorable? : boolean;\r\n Name? : string;\r\n RowVersion? : Date;\r\n}\r\n\r\nexport enum ConditionalResults {\r\n Hide = 0,\r\n ReadOnly = 1,\r\n}\r\n\r\nexport enum ColumnSpans {\r\n Single = 0,\r\n Full = 1,\r\n}\r\n\r\nexport interface FieldDescriptor {\r\n BoolConditioningFieldValue? : boolean;\r\n ButtonLabel? : string;\r\n CascadeDependency? : boolean;\r\n CascadeDependencyProperty? : string;\r\n ColumnIndex? : number;\r\n ColumnSpan? : ColumnSpans;\r\n ConditionalResult? : ConditionalResults;\r\n ConditioningField? : string;\r\n ConditioningFieldValue? : number[];\r\n CurrentFilters? : any;\r\n Data? : any;\r\n DataFilter? : FilterViewModel;\r\n Description? : string;\r\n DisplayMember? : string;\r\n ExportPropertyName? : string;\r\n FieldValidators? : FieldValidators;\r\n FilterDistinct? : boolean;\r\n FilterType? : FilterType;\r\n HideSelected? : boolean;\r\n Highlight? : boolean;\r\n InputType? : string;\r\n IsClearable? : boolean;\r\n IsConditional? : boolean;\r\n IsConditioning? : boolean;\r\n IsExtendedProperty? : boolean;\r\n IsHidden? : boolean;\r\n IsStatic? : boolean;\r\n KeepPlace? : boolean;\r\n Label? : string;\r\n ModalEntityKey? : string;\r\n ModalOnly? : boolean;\r\n ModalPropertyName? : string;\r\n ModalPropertyValue? : string;\r\n ModalTitle? : string;\r\n ModalTriggerIdProperty? : string;\r\n ModalTriggerIdPropertyValue? : string;\r\n MultipleSelection? : boolean;\r\n NotDefaultRequired? : boolean;\r\n OriginalData? : any;\r\n PropertyLength? : number;\r\n PropertyName? : string;\r\n ReadOnly? : boolean;\r\n Required? : boolean;\r\n TextWithStyle? : TextWithStyle;\r\n ToolTip? : string;\r\n ValueMember? : string;\r\n}\r\n\r\nexport enum ApiErrorTypes {\r\n Unknown = 0,\r\n DatabaseError = 1,\r\n SystemError = 2,\r\n UserError = 3,\r\n}\r\n\r\nexport interface Section {\r\n FieldViewModels? : FieldDescriptor[];\r\n IsCustomFieldSection? : boolean;\r\n IsFileSection? : boolean;\r\n IsTrackRecordSection? : boolean;\r\n Name? : string;\r\n}\r\n\r\nexport interface EntityFilterViewModel<T> extends FilterViewModel {\r\n}\r\n\r\nexport interface Display {\r\n baseUrl? : string;\r\n completingCaracter? : string;\r\n currency? : string;\r\n enumMap? : string[];\r\n format? : string;\r\n handleError? : boolean;\r\n imagePath? : string;\r\n imgBase? : string;\r\n multiplier? : number;\r\n nullCaseText? : string;\r\n sourceProperty? : string;\r\n type? : string;\r\n width? : number;\r\n}\r\n\r\nexport interface ApiError {\r\n ApiErrorType? : ApiErrorTypes;\r\n ErrorCode? : number;\r\n Message? : string;\r\n StackTrace? : string;\r\n}\r\n\r\nexport enum ActionDisplay {\r\n Button = 0,\r\n TextAndButton = 1,\r\n}\r\n\r\n\r\nexport interface TabToSave<TResult> {\r\n Data? : TResult[];\r\n TitleOfTab? : string;\r\n}\r\n\r\nexport interface SaveResult {\r\n DisplayMessage? : boolean;\r\n Error? : ApiError;\r\n ErrorMessage? : string;\r\n Id? : number;\r\n RowVersion? : Date;\r\n Success? : boolean;\r\n Warnings? : string[];\r\n}\r\n\r\nexport interface ColumnDescriptor {\r\n Display? : Display;\r\n Expression? : string;\r\n FieldName? : string;\r\n IsComputed? : boolean;\r\n IsFilterEnabled? : boolean;\r\n IsNumericExpression? : boolean;\r\n Name? : string;\r\n Property? : string;\r\n TableAlias? : string;\r\n ToolTipProperty? : string;\r\n}\r\n\r\nexport interface AggregationValue {\r\n Key? : string;\r\n Value? : any;\r\n}\r\n\r\nexport interface ActionDescriptor {\r\n ActionDisplay? : ActionDisplay;\r\n Description? : string;\r\n FormDescriptor? : Section[];\r\n Icon? : string;\r\n IconUrl? : string;\r\n Label? : string;\r\n Name? : string;\r\n RequestType? : string;\r\n}\r\n\r\nexport interface TrackRecordProperty {\r\n CreatedBy? : string;\r\n CreationDate? : Date;\r\n CreationDateString? : string;\r\n Id? : number;\r\n ModificationDate? : Date;\r\n ModificationDateString? : string;\r\n ModifiedBy? : string;\r\n}\r\n\r\nexport interface SaveResults<TResult> extends SaveResult {\r\n SaveErrorEntities? : TResult[];\r\n}\r\n\r\nexport interface RunActionContext {\r\n Action? : ActionDescriptor;\r\n CorrelationId? : string;\r\n EntityIds? : number[];\r\n EntityKey? : string;\r\n File? : any;\r\n FileId? : number;\r\n FormValue? : any;\r\n RequestId? : number;\r\n}\r\n\r\nexport interface PagedList<T> {\r\n Aggregates? : AggregationValue[];\r\n Skip? : number;\r\n Take? : number;\r\n TotalRowCount? : number;\r\n Values? : T[];\r\n}\r\n\r\nexport enum ImageFormats {\r\n Undefined = 0,\r\n JPG = 1,\r\n PNG = 2,\r\n GIF = 3,\r\n TIFF = 4,\r\n BMP = 5,\r\n SVG = 6,\r\n}\r\n\r\nexport interface FilterDescriptor extends FieldDescriptor {\r\n DisplayImage? : boolean;\r\n}\r\n\r\nexport interface ExportModel<T> {\r\n Columns? : ColumnDescriptor[];\r\n Filter? : T;\r\n}\r\n\r\nexport interface EntityWithSpecifics<TResult> {\r\n Entity? : TResult;\r\n Tabs? : TabToSave<TResult>[];\r\n}\r\n\r\nexport interface EntityViewModelWithFields<T> {\r\n FieldSections? : Section[];\r\n SpecificSection? : any;\r\n ViewModel? : T;\r\n}\r\n\r\nexport enum TextSearch {\r\n Contains = 0,\r\n StartsWith = 1,\r\n EndsWith = 2,\r\n}\r\n\r\nexport enum ExportType {\r\n CSV = 0,\r\n EXCEL = 1,\r\n}\r\n\r\nexport enum AggregateFunction {\r\n Count = 0,\r\n Sum = 1,\r\n Min = 2,\r\n Max = 3,\r\n Avg = 4,\r\n}\r\n\r\nexport enum ActionResultStatus {\r\n OK = 0,\r\n KO = 1,\r\n}\r\n\r\n","import { Utilities } from '@dflat-core/web/core';\r\nimport { ComponentRef, TemplateRef, Type } from '@angular/core';\r\n\r\nimport { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, FieldDescriptor, FieldValidators, FilterDescriptor, FilterViewModel } from './model/interface.generated';\r\n\r\nexport interface IIdentifiable {\r\n Id?: number;\r\n}\r\n\r\nexport class UserUpdatedMessage {\r\n constructor(public userKey: string) { }\r\n}\r\n\r\nexport interface IUserCredential extends IIdentifiable {\r\n AccessToken: string; \r\n RefreshToken: string; \r\n Username?: string; \r\n FirstName?: string; \r\n LastName?: string;\r\n Email?: string;\r\n IsAdmin?: boolean;\r\n IsDelivery?: boolean;\r\n IsPartner?: boolean;\r\n PhoneNumber?: string;\r\n IsActive?: boolean;\r\n IsPartnerActive?: boolean;\r\n IsDeliveryActive?: boolean;\r\n\r\n Id?: number;\r\n CompanyId?: number;\r\n Permissions: string[];\r\n ProfileImageUrl: string;\r\n AvatarUrl: string;\r\n\r\n}\r\nexport class User implements IUserCredential {\r\n \r\n public AccessToken: string;\r\n public RefreshToken: string;\r\n public Username?: string;\r\n public FirstName?: string;\r\n public LastName?: string;\r\n public Email?: string;\r\n public PhoneNumber?: string;\r\n public IsAdmin?: boolean;\r\n public IsDelivery?: boolean;\r\n public IsPartner?: boolean;\r\n public Id?: number;\r\n public CompanyId?: number;\r\n public Permissions: string[];\r\n public ProfileImageUrl: string;\r\n public IsActive?: boolean;\r\n public IsPartnerActive?: boolean;\r\n public IsDeliveryActive?: boolean;\r\n public IsConnected: boolean = false;\r\n public AvatarUrl: string;\r\n \r\n public constructor(data: IUserCredential) {\r\n this.Username = data.Username;\r\n this.FirstName = data.FirstName;\r\n this.LastName = data.LastName;\r\n this.Email = data.Email;\r\n this.PhoneNumber = data.PhoneNumber;\r\n this.ProfileImageUrl = data.ProfileImageUrl;\r\n this.IsAdmin = data.IsAdmin;\r\n this.IsPartner = data.IsPartner;\r\n this.IsDelivery = data.IsDelivery;\r\n this.IsAdmin = data.IsAdmin;\r\n this.IsPartner = data.IsPartner;\r\n this.IsDelivery = data.IsDelivery;\r\n this.IsActive = data.IsActive;\r\n this.IsPartnerActive = data.IsPartnerActive;\r\n this.IsDeliveryActive = data.IsDeliveryActive;\r\n this.Id = data.Id;\r\n this.CompanyId = data.CompanyId;\r\n this.AccessToken = data.AccessToken;\r\n this.AvatarUrl = data.AvatarUrl;\r\n }\r\n \r\n\r\n public getName() {\r\n return this.FirstName + ' ' + this.LastName;\r\n }\r\n\r\n \r\n}\r\n\r\n\r\nexport interface INotification {\r\n id:string;\r\n content: string;\r\n class: string;\r\n link: string;\r\n entityType:string;\r\n entityId?:number;\r\n}\r\n \r\nexport class Notification implements INotification {\r\n public id:string;\r\n public content: string;\r\n public class: string;\r\n public link: string;\r\n public entityType:string;\r\n public entityId?:number\r\n public constructor(data: Partial<INotification> = {}) {\r\n this.id = data.id || '';\r\n this.content = data.content || '';\r\n this.class = data.class || '';\r\n this.link = data.link || '';\r\n this.entityType = data.entityType || '';\r\n this.entityId = data.entityId;\r\n }\r\n}\r\n\r\nexport class ChannelData<T> {\r\n Channel: string;\r\n Data: T;\r\n\r\n public constructor(channel: string, data: T) {\r\n this.Channel= channel;\r\n this.Data= data;\r\n }\r\n}\r\n\r\nexport class IMessage {\r\n Channel: string;\r\n Data: any;\r\n}\r\n\r\nexport class Message implements IMessage \r\n{\r\n Channel: string;\r\n Data: any;\r\n\r\n public constructor(channel: string, data: any) {\r\n this.Channel= channel;\r\n this.Data= data;\r\n }\r\n}\r\nexport interface NumberDictionary<T> {\r\n [Key: number]: T;\r\n}\r\nexport interface Dictionary<T> {\r\n [Key: string]: T;\r\n}\r\n\r\n\r\n\r\nexport class NumberDictionnaryWrapper<T> {\r\n\r\n dictionary: NumberDictionary<T> = {};\r\n get(key: number) {\r\n return this.dictionary[key];\r\n }\r\n\r\n containsKey(key: number) {\r\n if (typeof this.dictionary[key] === \"undefined\") {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nexport class DictionnaryWrapper<T> {\r\n\r\n dictionary: Dictionary<T> = {};\r\n get(key: string) {\r\n return this.dictionary[key];\r\n }\r\n\r\n containsKey(key: string) {\r\n if (typeof this.dictionary[key] === \"undefined\") {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n getPartKey(key: string) {\r\n\r\n if (typeof this.dictionary[key] === \"undefined\" ) {\r\n let keyFound = Object.keys(this.dictionary).find(obj => key.includes(obj));\r\n if(keyFound) {\r\n key = keyFound\r\n }\r\n }\r\n\r\n return this.dictionary[key];\r\n }\r\n\r\n containsKeyOrPartKey(key: string) {\r\n let routeFound = Object.keys(this.dictionary).find(obj => key.includes(obj));\r\n \r\n if(!Utilities.IsNil(routeFound)){\r\n return true;\r\n }\r\n\r\n if (typeof this.dictionary[key] === \"undefined\" ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n getValues() {\r\n return Object.keys(this.dictionary).map(key => this.dictionary[key]);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n// export interface FilterDescriptor {\r\n// FieldValidators?: FieldValidators;\r\n// Label?: string;\r\n// FilterType?: FilterType;\r\n// PropertyName?: string;\r\n// DisplayMember?: string;\r\n// ValueMember?: string;\r\n// Data?: any;\r\n// Highlight?: boolean;\r\n// ToolTip?: string;\r\n// IsStatic?: boolean;\r\n// Required?: boolean;\r\n// NotDefaultRequired?: boolean;\r\n// ReadOnly?: boolean;\r\n// IsHidden?: boolean;\r\n// KeepPlace?: boolean;\r\n// IsConditioning?: boolean;\r\n// IsConditional?: boolean;\r\n// ConditioningField?: string;\r\n// ConditioningFieldValue?: number;\r\n// BoolConditioningFieldValue?: boolean;\r\n// OriginalData?: any;\r\n// CascadeDependency?: boolean;\r\n// CascadeDependencyProperty?: string;\r\n// FilterDistinct?: boolean;\r\n// MultipleSelection?: boolean;\r\n// HideSelected?: boolean;\r\n// ColumnSpan?: ColumnSpans;\r\n// ColumnIndex?: number;\r\n// InputType?: string;\r\n// CurrentFilters?: {};\r\n\r\n// ModalEntityKey?: string;\r\n// ModalPropertyName?: string;\r\n// ModalPropertyValue?: string;\r\n// ModalTitle?: string;\r\n// }\r\n\r\n\r\n\r\nexport interface SpecificSection {\r\n Name?: string,\r\n IconUrl?:string,\r\n Template?: Type<any> | TemplateRef<any> | ComponentRef<any> | any,\r\n Context?: {},\r\n Data?: any[],\r\n Component?: any,\r\n refreshFunction?: () => void\r\n}\r\nexport interface SectionError {\r\n Name?: string,\r\n FieldValidators?: FieldValidators;\r\n Errors?: string[]\r\n}\r\n\r\nexport interface IFilterDescriptorExtra {\r\n Field?: FilterDescriptor;\r\n DisplayedValue?: string;\r\n}\r\n\r\nexport interface TextZoneButtonEvent {\r\n Field: FieldDescriptor;\r\n Value: string;\r\n }\r\n \r\n export interface FieldEvent {\r\n Field: FieldDescriptor;\r\n Event: Event;\r\n }\r\n \r\n export interface EntityConfig {\r\n actions: ActionDescriptor[];\r\n columns: ColumnDescriptor[];\r\n emptyFilter: FilterViewModel;\r\n filterDescriptors: FilterDescriptor[];\r\n viewModel: EntityViewModelWithFields<EntityViewModel>;\r\n }\r\n\r\n // export interface CachedConfig {\r\n // timestamp: number;\r\n // config : EntityConfig;\r\n // }\r\n\r\n export interface PropertyEditorEvent {\r\n field: FieldDescriptor;\r\n value: any;\r\n type: 'value' | 'pending' | 'file' | 'selector' | 'button'| 'reset';\r\n }","export class HistoryItem {\r\n date: string;\r\n hour: string;\r\n url: string;\r\n icon1: string;\r\n menu1: string;\r\n icon2: string;\r\n menu2: string;\r\n}\r\n\r\nexport enum FilterOperator {\r\n Contains = 0,\r\n StartsWith = 1,\r\n EndsWith = 2,\r\n Equals = 3\r\n}\r\nexport interface FilterClause {\r\n PropertyName : string;\r\n FilterValue : string;\r\n Operator : FilterOperator\r\n}\r\n\r\nexport interface FilterRow {\r\n ClausesByPropertyName : Map<string, FilterClause>;\r\n}\r\n\r\nexport interface FilterQuery {\r\n Rows : FilterRow[];\r\n}\r\n\r\nexport enum CustomFieldTypes {\r\n String = 0,\r\n Integer = 1,\r\n Date = 2,\r\n ComboBox = 3,\r\n Checkbox = 4,\r\n Email = 5,\r\n WeekNumber = 6,\r\n Text = 7,\r\n Custom = 8,\r\n Number = 9,\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}