X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fservices%2FSharedService.ts;h=8fb51bff646c058364b1569cb4b9c4acb43f8912;hb=refs%2Fheads%2Fmaster;hp=8abe1d295e80c6b750ca430aece68d7f2639e053;hpb=1b17c432991a95035a1732426f0c11db57e511c9;p=osm%2FNG-UI.git diff --git a/src/services/SharedService.ts b/src/services/SharedService.ts index 8abe1d2..61c3367 100644 --- a/src/services/SharedService.ts +++ b/src/services/SharedService.ts @@ -18,7 +18,6 @@ /** * @file Provider for Shared Service */ -import { isNullOrUndefined } from 'util'; import { HttpErrorResponse, HttpHeaders } from '@angular/common/http'; import { EventEmitter, Injectable, Output } from '@angular/core'; import { FormArray, FormGroup } from '@angular/forms'; @@ -82,6 +81,9 @@ export class SharedService { /** Variables to hold regexp pattern for Longitude */ public REGX_LONG_PATTERN: RegExp = new RegExp(/^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,15})?))$/); + /** Variable to hold regexp pattern for EMAIL */ + public REGX_EMAIL_PATTERN: RegExp = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + /** Variables to hold maxlength for the description @public */ // eslint-disable-next-line @typescript-eslint/no-magic-numbers public MAX_LENGTH_DESCRIPTION: number = 500; @@ -128,9 +130,13 @@ export class SharedService { // eslint-disable-next-line @typescript-eslint/no-magic-numbers private randomStringLength: number = 4; - /** Max length of Uint8Array */ + /** express number for rgb manipulation */ + // eslint-disable-next-line @typescript-eslint/no-magic-numbers + private colourHour: number = 10; + + /** express number for rgb manipulation*/ // eslint-disable-next-line @typescript-eslint/no-magic-numbers - private unit8Array: number = 255; + private colourMin: number = 5; /** Instance of the rest service @private */ private restService: RestService; @@ -138,10 +144,6 @@ export class SharedService { /** Service holds the router information @private */ private router: Router; - /** Random color string generator length @private */ - // eslint-disable-next-line @typescript-eslint/no-magic-numbers - private colorStringLength: number = 256; - /** Check for the root directory @private */ // eslint-disable-next-line @typescript-eslint/no-magic-numbers private directoryCount: number = 2; @@ -191,8 +193,12 @@ export class SharedService { if (!isNullOrUndefined(date)) { const today: Date = new Date(); const accountDate: Date = new Date(date); - return Math.floor((accountDate.getTime() - - today.getTime()) / this.epochTime1000 / this.epochTime60 / this.epochTime60 / this.epochTime24); + const toasterDate: number = (accountDate.getTime() - + today.getTime()) / this.epochTime1000 / this.epochTime60 / this.epochTime60 / this.epochTime24; + if (toasterDate >= 0 || toasterDate < 1) { + return Math.round(toasterDate); + } + return Math.floor(toasterDate); } return this.translateService.instant('N/A'); } @@ -256,10 +262,9 @@ export class SharedService { /** Generate random string @public */ public randomString(): string { - const chars: string = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; let result: string = ''; for (let randomStringRef: number = this.randomStringLength; randomStringRef > 0; --randomStringRef) { - result += chars[Math.floor(Math.random() * chars.length)]; + result += new Date().getSeconds(); } return result; } @@ -410,6 +415,7 @@ export class SharedService { const version: string[] = res.version.split('+'); if (!isNullOrUndefined(version[0])) { this.osmVersion = version[0]; + sessionStorage.setItem('version', version[0]); } else { this.osmVersion = null; } @@ -421,9 +427,9 @@ export class SharedService { /** Random RGB color code generator @public */ public generateColor(): string { - const x: number = Math.floor(Math.random() * this.colorStringLength); - const y: number = Math.floor(Math.random() * this.colorStringLength); - const z: number = Math.floor(Math.random() * this.colorStringLength); + const x: number = Math.floor((new Date().getHours()) * this.colourHour); + const y: number = Math.floor((new Date().getMinutes()) * this.colourMin); + const z: number = Math.floor((new Date().getSeconds()) * this.colourMin); return 'rgb(' + x + ',' + y + ',' + z + ')'; } @@ -464,6 +470,19 @@ export class SharedService { })); } + /** Sorting the list based on date @public */ + public compareFunction = (dir: number, a: string, b: string): number => { + const first: number = new Date(a).getTime(); + const second: number = new Date(b).getTime(); + if (first < second) { + return -1 * dir; + } + if (first > second) { + return dir; + } + return 0; + }; + /** Method to validate file extension and size @private */ private vaildataFileInfo(fileInfo: File, fileType: string): boolean { const extension: string = fileInfo.name.substring(fileInfo.name.lastIndexOf('.') + 1); @@ -497,3 +516,8 @@ export class SharedService { }; } } + +/** Method to handle null or undefined @public */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types +export const isNullOrUndefined = (data: any): boolean => data === null || data === undefined; +