From 41a71cd2696dff9da5fcc243c6dc103b64eca099 Mon Sep 17 00:00:00 2001 From: Shubham Kumar Date: Sat, 31 Jan 2026 18:15:07 +0530 Subject: [PATCH] WEB-638 fix: improve core utility logic and migrate from deprecated substr (#3062) improve --- src/app/core/utils/commons.ts | 2 +- src/app/core/utils/dates.ts | 6 ++++-- src/app/core/utils/passwords-utility.ts | 4 ++-- .../change-password-dialog.component.ts | 2 +- .../external-services/amazon-s3/amazon-s3.component.ts | 2 +- .../notification/notification.component.ts | 5 ++++- .../column-dialog/column-dialog.component.ts | 2 +- .../edit-data-table/edit-data-table.component.ts | 2 +- 8 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/app/core/utils/commons.ts b/src/app/core/utils/commons.ts index 46545026c..59d8b0e25 100644 --- a/src/app/core/utils/commons.ts +++ b/src/app/core/utils/commons.ts @@ -18,7 +18,7 @@ export class Commons { let sortOrder = 1; if (property[0] === '-') { sortOrder = -1; - property = property.substr(1); + property = property.substring(1); } return (a: any, b: any) => { const result = a[property] < b[property] ? -1 : a[property] > b[property] ? 1 : 0; diff --git a/src/app/core/utils/dates.ts b/src/app/core/utils/dates.ts index 61e87f37d..70c396156 100644 --- a/src/app/core/utils/dates.ts +++ b/src/app/core/utils/dates.ts @@ -29,7 +29,8 @@ export class Dates { } public formatDateAsString(value: Date, dateFormat: string): string { - return moment(value).format(dateFormat); + const momentFormat = dateFormat.replace(/y/g, 'Y').replace(/d/g, 'D').replace(/a/g, 'A'); + return moment(value).format(momentFormat); } public parseDate(value: any): Date { @@ -45,7 +46,8 @@ export class Dates { } public convertToDate(value: any, format: string): Date { - return moment(value).toDate(); + const momentFormat = format.replace(/y/g, 'Y').replace(/d/g, 'D').replace(/a/g, 'A'); + return moment(value, momentFormat).toDate(); } get language() { diff --git a/src/app/core/utils/passwords-utility.ts b/src/app/core/utils/passwords-utility.ts index f14daca62..18e00c098 100644 --- a/src/app/core/utils/passwords-utility.ts +++ b/src/app/core/utils/passwords-utility.ts @@ -16,10 +16,10 @@ import { environment } from '../../../environments/environment'; providedIn: 'root' }) export class PasswordsUtility { - minPasswordLength: number = environment.minPasswordLength | 12; + minPasswordLength: number = environment.minPasswordLength || 12; public static PASSWORD_REGEX = '^(?!.*(.)\\1)(?!.*\\s)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\\w\\s]).{' + - (environment.minPasswordLength | 12) + + (environment.minPasswordLength || 12) + ',50}$'; public getPasswordValidators(): ValidatorFn[] { diff --git a/src/app/shared/change-password-dialog/change-password-dialog.component.ts b/src/app/shared/change-password-dialog/change-password-dialog.component.ts index 5e719e70d..4e414efd2 100644 --- a/src/app/shared/change-password-dialog/change-password-dialog.component.ts +++ b/src/app/shared/change-password-dialog/change-password-dialog.component.ts @@ -54,7 +54,7 @@ export class ChangePasswordDialogComponent implements OnInit { private formBuilder = inject(UntypedFormBuilder); private passwordsUtility = inject(PasswordsUtility); - minPasswordLength: number = environment.minPasswordLength | 12; + minPasswordLength: number = environment.minPasswordLength || 12; /** Change Password Form */ changePasswordForm: any; diff --git a/src/app/system/external-services/amazon-s3/amazon-s3.component.ts b/src/app/system/external-services/amazon-s3/amazon-s3.component.ts index d9b41818e..99fdc5bbb 100644 --- a/src/app/system/external-services/amazon-s3/amazon-s3.component.ts +++ b/src/app/system/external-services/amazon-s3/amazon-s3.component.ts @@ -95,7 +95,7 @@ export class AmazonS3Component implements OnInit { const value = configuration.value; if (configuration.name === 's3_access_key' || configuration.name === 's3_secret_key') { return value - ? value.replace(value.substr(1, value.length - 3), value.substr(1, value.length - 3).replace(/./g, '*')) + ? value.replace(value.substring(1, value.length - 2), value.substring(1, value.length - 2).replace(/./g, '*')) : ''; } return value; diff --git a/src/app/system/external-services/notification/notification.component.ts b/src/app/system/external-services/notification/notification.component.ts index 410dbcba5..2c83cb9ca 100644 --- a/src/app/system/external-services/notification/notification.component.ts +++ b/src/app/system/external-services/notification/notification.component.ts @@ -94,7 +94,10 @@ export class NotificationComponent implements OnInit { getConfigurationValue(configuration: any): string { const value = configuration.value; if (configuration.name === 'server_key') { - return value.replace(value.substr(1, value.length - 3), value.substr(1, value.length - 3).replace(/./g, '*')); + return value.replace( + value.substring(1, value.length - 2), + value.substring(1, value.length - 2).replace(/./g, '*') + ); } return value; } diff --git a/src/app/system/manage-data-tables/column-dialog/column-dialog.component.ts b/src/app/system/manage-data-tables/column-dialog/column-dialog.component.ts index b690dcf73..3693b8a77 100644 --- a/src/app/system/manage-data-tables/column-dialog/column-dialog.component.ts +++ b/src/app/system/manage-data-tables/column-dialog/column-dialog.component.ts @@ -110,7 +110,7 @@ export class ColumnDialogComponent implements OnInit { return 'Dropdown'; } default: { - return columnDisplayType[0] + columnDisplayType.substr(1).toLowerCase(); + return columnDisplayType[0] + columnDisplayType.substring(1).toLowerCase(); } } } diff --git a/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts b/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts index bee53c87f..69d959f5f 100644 --- a/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts +++ b/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts @@ -449,7 +449,7 @@ export class EditDataTableComponent implements OnInit { return 'Dropdown'; } default: { - return columnDisplayType[0] + columnDisplayType.substr(1).toLowerCase(); + return columnDisplayType[0] + columnDisplayType.substring(1).toLowerCase(); } } }