Li Jun
2022-04-06 fb04e7c01d119c60632b4298d18fd93f3ccb3d79
force-app/main/default/pages/ViewLeadDecryptInfo.page
@@ -1,25 +1,52 @@
<apex:page standardController="Lead" extensions="NewAndEditLeadController" id="page">
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }"/>
    <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script>
    <apex:form id="form">
        <apex:pageblock id="pageBlock">
            <apex:pageBlockSection showHeader="false" title="" collapsible="true" columns="2" id="pageBlockSection">
                <!--Each section has layoutFields, let's iterate them as well-->
                <apex:repeat value="{!encryptedAPIList}" var="encryptedAPI">
                    <apex:outputField html-data-id="{!encryptedAPI}" value="{!Lead[encryptedAPI]}" />
                    <apex:outputField html-data-id="{!encryptedAPI}" title="{!ApiPrefix}{!encryptedAPI}" value="{!Lead[encryptedAPI]}" />
                </apex:repeat>
            </apex:pageBlockSection>
            <script>
                AWSService.sfSessionId = '{!GETSESSIONID()}';
                var staticResources = JSON.parse('{!staticResource}');
                var AWSToSobjectEncryptedMapJson = JSON.parse('{!AWSToSobjectEncryptedMapJson}');
                var ApiPrefix = '{!ApiPrefix}';
                function QueryLeadFromAWS() {
                    AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
                }
                var queryBack = function queryBack(data) {
                    document.querySelector("[data-id='LastName']").innerHTML = data.object.lastName;
                    document.querySelector("[id='page:form:pageBlock:pageBlockSection:j_id2:0:j_id3']").innerHTML =  data.object.phone;
                    document.querySelector("[data-id='Email']").innerHTML = data.object.email;
                    console.log('resp from aws:'+JSON.stringify(data.object));
                    if(!data.object){
                        console.log('data.object is ' + data.object);
                        return;
                    }
                    for(let f in AWSToSobjectEncryptedMapJson){
                        let t = "[title='"+ApiPrefix+AWSToSobjectEncryptedMapJson[f]+"']";
                        let ele = document.querySelector(t);
                        if(ele){
                            ele.title = '';
                            if(data.object.hasOwnProperty(f)){
                                if (f == 'email') {
                                    let eml = document.querySelector("[data-id='Email']");
                                    if(eml){  //20220403 By Chen Yanan
                                        eml.href = 'mailto:'+data.object[f];
                                        eml.text = data.object[f];
                                        continue;
                                    }
                                }
                                ele.innerHTML = data.object[f];
                            }
                            else{
                                console.log(f + 'is not in data.object');
                            }
                        }else{
                            console.log('selector='+t+' not found');
                        }
                    }
                };
                sfdcPage.appendToOnloadQueue(function () {
                    console.log('sfdcPage.appendToOnloadQueue')