From f5a94e721ae5a26f817f0df75065b64f1f192eb3 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 28 三月 2022 21:43:51 +0800 Subject: [PATCH] PIPLFunctionDeploy0328 --- force-app/main/default/pages/NewAndEditASEActivity.page | 83 ++++++++++++++++++++++++++++++++++------- 1 files changed, 68 insertions(+), 15 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditASEActivity.page b/force-app/main/default/pages/NewAndEditASEActivity.page index 558cd34..6d10370 100644 --- a/force-app/main/default/pages/NewAndEditASEActivity.page +++ b/force-app/main/default/pages/NewAndEditASEActivity.page @@ -2,7 +2,7 @@ @description : @author : ChangeMeIn@UserSettingsUnder.SFDoc @group : - @last modified on : 03-17-2022 + @last modified on : 03-23-2022 @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc --> <apex:page standardController="ASEActivity__c" extensions="NewAndEditASEActivityController" id="page"> @@ -26,6 +26,7 @@ SaveAndNew:false, AWSToSobjectMap:{!AWSToSobjectMapJson}, AWSToSobjectNonEncryptedMap:{!AWSToSobjectNonEncryptedMapJson}, + AWSToSobjectNonEncryptedMapKeySet:{!AWSToSobjectNonEncryptedMapKeySet}, AWSToSobjectEncryptedMap:{!AWSToSobjectEncryptedMapJson}, SobjectToAWSModel:function (sobjJson) { let leadPayloadList = []; @@ -117,7 +118,7 @@ } else{ - console.log(f + 'is not in data.object'); + console.log(f + ' is not in data.object'); } } } @@ -141,6 +142,7 @@ var staticResourcesContact = JSON.parse('{!staticResourceContact}'); console.log('{!staticResource}'); var VLookUpFields = {! VLookUpFieldsJson}; + function ProcessPI(sobjJson, payloadForNewPI) { blockme(); if ({!isNewMode}) { @@ -166,8 +168,15 @@ return ''; } - function IsFormElement(tag_name){ - return ['input','select','textarea'].indexOf(tag_name)>-1; + function IsFormTag(tag_name){ + if (!tag_name) { + return false; + } + return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; + } + + function IsFormElement(e){ + return IsFormTag(e.tagName); } function getPIPayload(sobjJson) { @@ -188,7 +197,7 @@ if(phone ){ if(phone.value){ if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; + error_msg += ';鐢佃瘽鍙风爜閿欒'; } }else{ if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ @@ -220,11 +229,12 @@ let nodelist = document.getElementsByClassName(config.ApiPrefix); let result = {} - for (let index = 0; index < nodelist.length; index++) { - let ele = nodelist[index]; - let field_api_name = GetEleApiName(ele); + for (let index in api_id_map) { + let ele = document.getElementById(api_id_map[index]); + + let field_api_name = index; let tag_name = ele.tagName.toLowerCase(); - if(!IsFormElement(tag_name)){ + if(!IsFormTag(tag_name)){ console.log('tag_name='+tag_name+',field_api_name'+field_api_name+' is not a form element'); continue; } @@ -394,10 +404,11 @@ accountValue = document.getElementById(accountNodeId).value; } console.log('accountValue = ' + accountValue); + let searchContactKeyWord = document.querySelector("[data-id='ReporterASE__c']").value; if(accountValue !='000000000000000'){ - suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue; + suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue+"&searchContactKeyWord=" + searchContactKeyWord; }else{ - suffixUrl = "?contactId="+contactNodeId; + suffixUrl = "?contactId="+contactNodeId+"&searchContactKeyWord=" + searchContactKeyWord; } let baseUrl = "/apex/SearchContactPage"; let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no'; @@ -521,6 +532,20 @@ </apex:pageBlockSection> </apex:repeat> <script> + var init_nodes = document.getElementsByClassName("PIBackApi"); + var api_id_map={}; + for(let ei in init_nodes){ + let e = init_nodes[ei]; + if(IsFormElement(e)){ + if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ + api_id_map[GetEleApiName(e)] = e.id; + } + + } + } + console.log(api_id_map); + + sfdcPage.appendToOnloadQueue(function () { var layoutSections = JSON.parse('{!layoutSectionsStr}'); for (let m = 0; m < layoutSections.length; m++) { @@ -528,7 +553,16 @@ for (let n = 0; n < layoutSection.length; n++) { let layoutField = layoutSection[n]; if (layoutField.fieldAPI != '' && document.querySelector("[data-id='"+layoutField.fieldAPI+"']") != null) { - document.querySelector("[data-id='"+layoutField.fieldAPI+"']").disabled = !(layoutField.editableField); + let e = document.querySelector("[data-id='"+layoutField.fieldAPI+"']"); + e.disabled = !(layoutField.editableField); + if (!(layoutField.editableField)) { + if (e.getAttribute("multiple") && e.getAttribute("multiple") == 'multiple') { + e.parentNode.classList.add("disabledbutton"); + } + if (e.tagName == 'DIV') { + e.classList.add("disabledbutton"); + } + } } } } @@ -544,6 +578,7 @@ replaceSearchContactLookup(); document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); jQuery('a[data-id="OwnerId"]').remove(); + /* jQuery(".lookupInput").each(function(i,e){ let je =jQuery(e).find('input'); je.attr("readonly",""); @@ -566,13 +601,31 @@ let id = jQuery("input[data-id='"+jQuery(this).attr("data-id")+ "']").attr("id"); let input = document.getElementById(id); if(input){ - input.value = ''; - let hidden = document.getElementById(id+'_lkid'); + input.value = ''; + let hidden = document.getElementById(id+'_lkid'); if(hidden){ - hidden.value = ''; + hidden.value = ''; } } }); + */ + let previous_value = {}; + jQuery(".lookupInput input").each(function(i,e){ + let je =jQuery(e); + + let dataid = je.attr('data-id'); + if(['ContactId'].indexOf(dataid) < 0) return; + + jQuery(e).focus(function(){ + previous_value[this.id] = this.value; + }) + + jQuery(e).change(function(){ + if (previous_value[this.id] != jQuery(this).val()) { + document.getElementById(this.id+'_lkid').value = ''; + } + }) + }) }); </script> <div class="pbBottomButtons"> -- Gitblit v1.9.1