From 24fda5246494953a232b37547fb50bde77bd9886 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期三, 27 四月 2022 12:03:42 +0800 Subject: [PATCH] PIPLButtonIssueFix --- force-app/main/default/pages/NewAndEditContact.page | 90 +++++++++++++++++++++++++++++---------------- 1 files changed, 58 insertions(+), 32 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditContact.page b/force-app/main/default/pages/NewAndEditContact.page index f55f953..eb98bbe 100644 --- a/force-app/main/default/pages/NewAndEditContact.page +++ b/force-app/main/default/pages/NewAndEditContact.page @@ -4,6 +4,12 @@ <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> + <style> + .disabledbutton { + pointer-events: none; + opacity: 0.4; + } + </style> <script> var config = {}; @@ -133,6 +139,20 @@ var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}'); console.log('{!staticResource}'); var VLookUpFields = {! VLookUpFieldsJson}; + + function EditButton(isDisabled){ + var topele = document.getElementById('topButtonRow'); + var bottomele = document.getElementById('bottomButtonRow'); + + if (isDisabled) { + topele.classList.add("disabledbutton"); + bottomele.classList.add("disabledbutton"); + }else { + topele.classList.remove("disabledbutton"); + bottomele.classList.remove("disabledbutton"); + } + } + function ProcessPI(sobjJson, payloadForNewPI) { blockme(); if ({!isNewMode} || {!isCloneMode}) { @@ -175,34 +195,34 @@ function validateFieldValueFormate() { let error_msg = ''; - let textEmail = "[data-id='Email']"; - let textPhone = "[data-id='Phone']"; - //Email - let email = document.querySelector(textEmail); - if(email ){ - if(email.value){ - if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ - error_msg += ';閭欢鏍煎紡閿欒'; - } - }else{ - if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ - error_msg += ';閭欢鏍煎紡閿欒'; - } - } - } - let phone = document.querySelector(textPhone); + // let textEmail = "[data-id='Email']"; + // let textPhone = "[data-id='Phone']"; + // //Email + // let email = document.querySelector(textEmail); + // if(email ){ + // if(email.value){ + // if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ + // error_msg += ';閭欢鏍煎紡閿欒'; + // } + // }else{ + // if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ + // error_msg += ';閭欢鏍煎紡閿欒'; + // } + // } + // } + // let phone = document.querySelector(textPhone); - if(phone && false ){ - if(phone.value){ - if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; - } - }else{ - if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; - } - } - } + // if(phone && false ){ + // if(phone.value){ + // if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ + // error_msg += ';鐢佃瘽鍙风爜閿欒'; + // } + // }else{ + // if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ + // error_msg += ';鐢佃瘽鍙风爜閿欒'; + // } + // } + // } let es = document.getElementsByTagName('select') for(let ei in es){ @@ -303,7 +323,6 @@ window.open('/' + sfId, '_self'); } } - } function UpdatePIToAWS(sobjJson, payloadForNewPI) { @@ -339,6 +358,8 @@ return blankRequiredFields; } function saveSobjectProcess(save_and_new) { + EditButton(true); + if(save_and_new){ config.SaveAndNew = true; } @@ -378,6 +399,7 @@ errorMsg = '閿欒锛氭棤鏁堟暟鎹��' + '\n' + errorMsg; errorMsgNode.innerText = errorMsg; errorMsgNode.className = 'pbError'; + EditButton(false); } function hiddenErrorMsgNode() { let errorMsgNode = document.getElementById("page:form:block:msgContent"); @@ -416,7 +438,7 @@ <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> </td> - <td class="pbButton" id="topButtonRow"> + <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> @@ -438,8 +460,9 @@ <!--Each section has layoutFields, let's iterate them as well--> <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> - <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" - required="{!layoutField.isRequired}" /> + <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> + <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> + <apex:outputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> </apex:pageblocksectionitem> </apex:repeat> @@ -487,6 +510,9 @@ oi.value = '{!CurrentUserId}' } } + document.getElementById('topButtonRow').style = ''; + document.getElementById('bottomButtonRow').style = ''; + jQuery('a[data-id="OwnerId"]').remove(); var layoutSections = JSON.parse('{!layoutSectionsStr}'); @@ -508,7 +534,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> - <td class="pbButtonb" id="bottomButtonRow"> + <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> -- Gitblit v1.9.1