From 86c5abe7dd11ce36f8a8e7bc7b70c3aad9cdf69b Mon Sep 17 00:00:00 2001 From: Madhuravas Date: Mon, 25 Sep 2023 09:55:58 +0530 Subject: [PATCH 1/2] MOSIP-29352 adding gender values and input value with multi language --- .../updatedemographic.component.html | 4 +- .../updatedemographic.component.ts | 127 ++++++++---------- resident-ui/src/assets/i18n/eng.json | 9 +- 3 files changed, 67 insertions(+), 73 deletions(-) diff --git a/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.html b/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.html index 00dd7050..20ea4ef6 100644 --- a/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.html +++ b/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.html @@ -134,8 +134,8 @@

{{'updatedemographic.identityHeading' | translate}}

- {{ data.value }} diff --git a/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts b/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts index 3da5a062..ea135f50 100644 --- a/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts +++ b/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts @@ -383,8 +383,14 @@ export class UpdatedemographicComponent implements OnInit, OnDestroy { } getGender() { - this.dataStorageService.getDataForDropDown("/auth-proxy/masterdata/dynamicfields/gender" + "/" + localStorage.getItem("langCode") + "?withValue=true").subscribe(response => { - this.dropDownValues["gender"] = response["response"]['values']; + this.dropDownValues["gender"] = {} + this.dataStorageService.getDataForDropDown("/proxy/masterdata/dynamicfields/all/gender").subscribe(response => { + if(response['response']){ + this.dropDownValues["gender"] = {} + response['response'].forEach(eachItem =>{ + this.dropDownValues["gender"][eachItem.langCode] = eachItem.fieldVal + }) + } }); } @@ -522,9 +528,7 @@ export class UpdatedemographicComponent implements OnInit, OnDestroy { }) } -async translateUserInput(toLang: string, fromLang: string, input:string,formControlName:string){ - // let attribute = document.getElementById(formControlName+toLang) - // if(toLang !== 'fra'){ +async translateUserInput(toLang: string, fromLang: string, input:string,formControlName:string, userInfoType:string){ let request = { "id": this.appConfigService.getConfig()["mosip.resident.transliteration.transliterate.id"], "version": this.appConfigService.getConfig()['mosip.resident.request.response.version'], @@ -538,52 +542,36 @@ async translateUserInput(toLang: string, fromLang: string, input:string,formCont this.dataStorageService.translateUserInput(request).subscribe(response =>{ if(response['response']){ let value = response['response'].to_field_value - this.userInfoClone[formControlName].push({"language":toLang, "value" : value}) + this[userInfoType][formControlName].push({"language":toLang, "value" : value}) this.userInputValues[formControlName][toLang] = value; - // document.getElementById(formControlName+toLang).focus(); - // attribute.setAttribute('value',value); - // document.getElementById(formControlName+toLang).focusOut(); }else{ this.userInputValues[formControlName][toLang] = ''; } - }) - // } } -async captureValue(event: any, formControlName: string, language: string, currentValue: any) { +captureValue(event: any, formControlName: string, language: string, currentValue: any) { let self = this; if (event.target.value.trim() === "") { - this.userInfoClone[formControlName].forEach(item => { - if (item['language'] === language) { - item['value'] = ''; - } + if(this.userInfoClone[formControlName]){ + delete this.userInfoClone[formControlName] + } + this.getUserPerfLang.forEach(item =>{ + this.userInputValues[formControlName][item] = '' }) } else { if (formControlName !== "proofOfIdentity") { - if(this.userInputValues[formControlName][language] === ''){ - console.log("Hello") - this.getUserPerfLang.forEach(item =>{ - if(item === language){ - this.userInfoClone[formControlName] = [].concat({"language":language,"value":event.target.value}) - }else{ - this.translateUserInput(item, language, event.target.value, formControlName) - } - - }) - // if( this.userInfoClone[formControlName]){ - // this.userInfoClone[formControlName].push(newData) - // }else{ - // this.userInfoClone[formControlName] = [].concat(newData) - // } - }else{ - this.userInfoClone[formControlName].forEach(item =>{ - if(item.language === language){ - item.value = event.target.value - } - }) - } - this.userInputValues[formControlName][language] = event.target.value; + this.userInfoClone[formControlName] = [] + this.getUserPerfLang.forEach(item =>{ + let newData + if(item === language){ + newData = { "language": language, "value": event.target.value } + this.userInfoClone[formControlName].push(newData) + this.userInputValues[formControlName][language] = event.target.value; + }else{ + this.translateUserInput(item, language, event.target.value, formControlName, 'userInfoClone') + } + }) } else { self[formControlName]["documentreferenceId"] = event.target.value; this.userInputValues[formControlName] = event.target.value; @@ -606,25 +594,28 @@ async captureValue(event: any, formControlName: string, language: string, curren this.userInputValues[formControlName] = formattedDate; } - captureDropDownValue(event: any, formControlName: string, language: string, dataType: string, currentValue: any) { + captureDropDownValue(event: any, formControlName: string, language: string, code: string, currentValue: any) { + let genders =this.dropDownValues.gender let self = this; if (event.source.selected && event.source.viewValue !== currentValue) { if (formControlName !== "proofOfIdentity") { - if(this.userInputValues[formControlName][language] === ''){ - let newData = { "language": language, "value": event.source.viewValue }; - if( this.userInfoClone[formControlName]){ + this.userInfoClone[formControlName] = [] + this.getUserPerfLang.forEach(item =>{ + let newData + if(item === language){ + newData = { "language": language, "value": event.source.viewValue } this.userInfoClone[formControlName].push(newData) + this.userInputValues[formControlName][language] = event.source.viewValue; }else{ - this.userInfoClone[formControlName] = [].concat(newData) + genders[item].forEach(eachGender =>{ + if(eachGender.code === code){ + newData = { "language": item, "value": eachGender.value } + this.userInputValues[formControlName][item] = eachGender.value; + } + }) + this.userInfoClone[formControlName].push(newData) } - }else{ - this.userInfoClone[formControlName].forEach(item =>{ - if(item.language === language){ - item.value = event.source.viewValue - } - }) - } - this.userInputValues[formControlName][language] = event.source.viewValue; + }) } else { if (formControlName === "proofOfIdentity") { this.displayPOIUpload = true; @@ -640,29 +631,25 @@ async captureValue(event: any, formControlName: string, language: string, curren captureAddressValue(event: any, formControlName: string, language: string, currentValue: any) { let self = this; if (event.target.value.trim() === "") { - this.userInfoAddressClone[formControlName].forEach(item => { - if (item['language'] === language) { - item['value'] = ''; - } + if(this.userInfoClone[formControlName]){ + delete this.userInfoClone[formControlName] + } + this.getUserPerfLang.forEach(item =>{ + this.userInputValues[formControlName][item] = '' }) } else { if (formControlName !== "proofOfAddress") { - if(this.userInputValues[formControlName][language] === ''){ - let newData = { "language": language, "value": event.target.value }; - if( this.userInfoAddressClone[formControlName]){ - this.userInfoAddressClone[formControlName].push(newData) - }else{ - this.userInfoAddressClone[formControlName] = [].concat(newData) - } + this.userInfoAddressClone[formControlName] = [] + this.getUserPerfLang.forEach(item =>{ + let newData + if(item === language){ + newData = { "language": language, "value": event.target.value } + this.userInfoAddressClone[formControlName].push(newData) + this.userInputValues[formControlName][language] = event.target.value; }else{ - this.userInfoAddressClone[formControlName].forEach(item =>{ - if(item.language === language){ - item.value = event.target.value - } - }) + this.translateUserInput(item, language, event.target.value, formControlName, 'userInfoAddressClone') } - this.userInputValues[formControlName][language] = event.target.value; - console.log(this.userInfoAddressClone) + }) } else { self[formControlName]["documentreferenceId"] = event.target.value; this.userInputValues[formControlName] = event.target.value; diff --git a/resident-ui/src/assets/i18n/eng.json b/resident-ui/src/assets/i18n/eng.json index f834e3d4..6cca6d2e 100644 --- a/resident-ui/src/assets/i18n/eng.json +++ b/resident-ui/src/assets/i18n/eng.json @@ -52,6 +52,13 @@ "route": "uinservices/sharewithpartner", "description": " Residents can choose the data to be shared with any of the registered partners to avail various third party services.", "auditEventId": "ADM-004" + }, + { + "displayName": "Update My Data", + "icon": "assets/images/updatedemographic.png", + "route": "uinservices/updatedemographic", + "description": "Residents can update the already existing data associated with their UIN/ VID. The data that can be updated includes name, gender, DOB, address, documents uploaded, phone number, email ID, preferred language, etc.", + "auditEventId": "ADM-004" } ] }, @@ -557,7 +564,7 @@ "WarningMessageLabel": "Generating a new perpetual VID will revoke the already existing VID.", "confirmationMessageForCreateVid": "Are you sure you want to create a perpetual VID card?", "confirmationMessageForDeleteVid": "Are you sure you want to delete the chosen Perpetual VID card?", - "confirmationMessageForDownloadVid": "Are you sure you want to download Perpetual VID card card?" + "confirmationMessageForDownloadVid": "Are you sure you want to download Perpetual VID card?" }, "Temporary": { "confirmationMessageForCreateVid": "Are you sure you want to create a temporary VID card?", From 97dedc40e50850b328b96d8be06d5ab9989f9c8e Mon Sep 17 00:00:00 2001 From: Madhuravas Date: Mon, 25 Sep 2023 10:00:04 +0530 Subject: [PATCH 2/2] removed unused code --- .../uinservices/updatedemographic/updatedemographic.component.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts b/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts index ea135f50..7f6024b9 100644 --- a/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts +++ b/resident-ui/src/app/feature/uinservices/updatedemographic/updatedemographic.component.ts @@ -386,7 +386,6 @@ export class UpdatedemographicComponent implements OnInit, OnDestroy { this.dropDownValues["gender"] = {} this.dataStorageService.getDataForDropDown("/proxy/masterdata/dynamicfields/all/gender").subscribe(response => { if(response['response']){ - this.dropDownValues["gender"] = {} response['response'].forEach(eachItem =>{ this.dropDownValues["gender"][eachItem.langCode] = eachItem.fieldVal })