I am building a lighting component which needs to iterate over a list with three different object types but I have run into a problem because I cannot write an aura if expression which checks the object type and displays the relevant fields (field names on the objects are different). I am at a loss here and cannot get over this limitation. Do I need to create some type of component that does the check? Any ideas? I have pasted below an example of the problem I am facing..
<aura:iteration items="{!v.value}" var="paym" indexVar="indx">
<lightning:formattedText value="{!paym.sobjecttype}"/>
<aura:if isTrue="{!paym.sobjecttype == 'Loan_Principal_Payment__c'}">
<div class="slds-grid slds-grid_align-space slds-theme_shade">
<div class="slds-col"><span><b>Payment Status:</b> {!paym.Payment_Status__c}</span></div>
<div class="slds-col"><span><b>Due Date:</b> {!paym.Due_Date__c}</span></div>
<div class="slds-col"><span><b>Loan Principal Status:</b> {!paym.Loan_Principal_Status__c}</span></div>
<div class="slds-col"><span><b>Payment Amount:</b> {!paym.Payment_Amount__c}</span></div>
<div class="slds-col"><span><b>Merged Into LPP:</b> {!paym.Merged_Into_Principal_Payment__c}</span></div>
<div class="slds-col"><span><b>Split From LPP:</b> {!paym.Split_From_Principal_Payment__c}</span></div>
<div class="slds-col"><span><b>Cleared AdHoc Payment:</b> {!paym.Cleared_Adhoc_Payment__c}</span></div>
<div class="slds-col"><span><b>Clearing Date:</b> {!paym.Clearing_Date__c}</span></div>
</div>
</aura:if>
<aura:if isTrue="{!paym.sobjecttype == 'Loan_Interest_Payment__c'}">
<div class="slds-grid slds-grid_align-space slds-theme_shade">
<div class="slds-col"><span><b>Payment Status:</b> {!paym.Payment_Status__c}</span></div>
<div class="slds-col"><span><b>Due Date:</b> {!paym.Due_Date__c}</span></div>
<div class="slds-col"><span><b>Loan Interest Status:</b> {!paym.Loan_Interest_Status__c}</span></div>
<div class="slds-col"><span><b>Payment Amount:</b> {!paym.Payment_Amount__c}</span></div>
<div class="slds-col"><span><b>Merged Into LIP:</b> {!paym.Merged_Into_Interest_Payment__c}</span></div>
<div class="slds-col"><span><b>Split From LIP:</b> {!paym.Split_From_Interest_Payment__c}</span></div>
<div class="slds-col"><span><b>Cleared AdHoc Payment:</b> {!paym.Cleared_Adhoc_Payment__c}</span></div>
<div class="slds-col"><span><b>Clearing Date:</b> {!paym.Clearing_Date__c}</span></div>
</div>
</aura:if>
<aura:if isTrue="{!paym.sobjecttype == 'Loan_Fee_Payment__c'}">
<div class="slds-grid slds-grid_align-space slds-theme_shade">
<div class="slds-col"><span><b>Payment Status:</b> {!paym.Payment_Status__c}</span></div>
<div class="slds-col"><span><b>Due Date:</b> {!paym.Due_Date__c}</span></div>
<div class="slds-col"><span><b>Loan Fee Status:</b> {!paym.Loan_Fee_Status__c}</span></div>
<div class="slds-col"><span><b>Payment Amount:</b> {!paym.Payment_Amount__c}</span></div>
<div class="slds-col"><span><b>Merged Into LFP:</b> {!paym.Merged_Into_Fee_Payment__c}</span></div>
<div class="slds-col"><span><b>Split From LFP:</b> {!paym.Split_From_Fee_Payment__c}</span></div>
<div class="slds-col"><span><b>Cleared AdHoc Payment:</b> {!paym.Cleared_Adhoc_Payment__c}</span></div>
<div class="slds-col"><span><b>Clearing Date:</b> {!paym.Clearing_Date__c}</span></div>
</div>
</aura:if>
</aura:iteration>