Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

import { FormControl, ValidatorFn } from '@angular/forms';
import { UserRequestModel } from './user-admin.model';
export const initialValueChanged = (
initialValue: UserRequestModel
): ValidatorFn => {
return (form: FormControl) => {
// converting null to '' before comparing form values with the initial values
for (const field of Object.keys(initialValue)) {
if (initialValue[field] === null) {
initialValue[field] = '';
}
}

for (const field of Object.keys(form.value)) {
if (form.value[field] === null) {
form.value[field] = '';
}
}

if (
form.value['editAdmin'] ===
initialValue.userRoles.some(role => role === 'ARS_ADMIN') &&
form.value['editDomain'] === initialValue.domain &&
form.value['editEdit'] ===
initialValue.userRoles.some(
role => role === 'ARS_EDIT_ATTACHMENT_USER'
) &&
form.value['editEmail'] === initialValue.email &&
form.value['editExport'] ===
initialValue.userRoles.some(
role => role === 'ARS_EXPORT_ATTACHMENT_USER'
) &&
form.value['editFirstName'] === initialValue.firstName &&
form.value['editLastName'] === initialValue.lastName &&
form.value['editPhone'] === initialValue.phone &&
// form.value['editPhone'] !== '' &&

form.value['editStatus'] ===
// (initialValue.status === 'Active' ? true : false)
!initialValue.userRoles.some(role => role === 'ARS_INACTIVE')
) {
return {
notChanged: true
};
}
return null;
};
};