In my aura component, I iterate through an array of record types to render as radio buttons and would like to set the very first one to be selected by default.
public class recordTypeWrapper {
/*******************************************/
/* Wrapper class to display Record Types */
/*****************************************/
public class DisplayRecordTypes {
@AuraEnabled public boolean isDefault;
@AuraEnabled public string recordTypeLabel;
@AuraEnabled public string recordTypeId;
public DisplayRecordTypes(){
isDefault = false;
recordTypeLabel = '';
recordTypeId = '';
}
}
}
Hi , if you see the attached screenshot , i am able to fetch the recordtypes with defalt record type already checked. But i am not sure why am i getting this [object Object] next to the record Types labels.
Also , i am not able to go ahead and create the records for default selected record type. COMPONENT <aura:attribute name="isOpen" type="boolean" default="false" /> <aura:attribute name="selectedRecord" type="String"/> <aura:handler name="init" value="{!this}" action="{!c.doInit}"/> <aura:attribute name="lstRecordTypes" type="recordTypeWrapper.DisplayRecordTypes[]" /> <aura:attribute name="label" type="String" /> <aura:iteration items="{!v.lstRecordTypes}" var="recdTypes"> <div class="slds-grid slds-wrap"> <div> <ui:inputRadio class="slds-m-top_medium " label="{!recdTypes.recordTypeLabel}" value="{!recdTypes.isDefault}" aura:id="recdTypeId" name="R1" change="{!c.onRadio}"/>
public class recordTypeWrapper { /*******************************************/ /* Wrapper class to display Record Types */ /*****************************************/
public class DisplayRecordTypes {
@AuraEnabled public boolean isDefault; @AuraEnabled public string recordTypeLabel; @AuraEnabled public string recordTypeId;
public class recordTypeWrapper {
/*******************************************/
/* Wrapper class to display Record Types */
/*****************************************/
public class DisplayRecordTypes {
@AuraEnabled public boolean isDefault;
@AuraEnabled public string recordTypeLabel;
@AuraEnabled public string recordTypeId;
public DisplayRecordTypes(){
isDefault = false;
recordTypeLabel = '';
recordTypeId = '';
}
}
}
apex class :
wrapper class : aura component : js : Thanks, let us know if it helps you , or if you have any issue with it
All Answers
Also , i am not able to go ahead and create the records for default selected record type.
COMPONENT
<aura:attribute name="isOpen" type="boolean" default="false" />
<aura:attribute name="selectedRecord" type="String"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
<aura:attribute name="lstRecordTypes" type="recordTypeWrapper.DisplayRecordTypes[]" />
<aura:attribute name="label" type="String" />
<aura:iteration items="{!v.lstRecordTypes}" var="recdTypes">
<div class="slds-grid slds-wrap">
<div>
<ui:inputRadio class="slds-m-top_medium " label="{!recdTypes.recordTypeLabel}" value="{!recdTypes.isDefault}" aura:id="recdTypeId" name="R1" change="{!c.onRadio}"/>
<!--ui:inputRadio class="slds-m-top_medium " text="{!recdTypes}" aura:id="recdTypeId" name="R1" value="" change="{!c.onRadio}"/-->
</div>
<div class="slds-col slds-m-top_small">{!recdTypes}</div><br></br>
</div>
</aura:iteration>
</div>
</div>
</div>
<div class="slds-modal__footer">
<lightning:button class="slds-button slds-button--neutral" onclick="{!c.closeModal}">Cancel</lightning:button>
<lightning:button class="slds-button slds-button--brand" onclick="{!c.RedirectToOpp}">Continue</lightning:button>
CONTROLLER
({
doInit: function(component, event, helper) {
component.set("v.isOpen", true);
var action = component.get("c.getRecordTypes");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS") {
console.log(response.getReturnValue());
component.set("v.lstRecordTypes",response.getReturnValue());
// var selected = component.get("v.label");
// component.set("v.selectedRecord", selected);
}
else if (state == "ERROR") {
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
"title": "Error!",
"message": "Please contact your administrator"
});
toastEvent.fire();
}
});
$A.enqueueAction(action);
},
Apex Class
@AuraEnabled
public static List<recordTypeWrapper.DisplayRecordTypes> getRecordTypes() {
List<recordTypeWrapper.DisplayRecordTypes> lstRecordTypes =
new List<recordTypeWrapper.DisplayRecordTypes>();
List<Schema.RecordTypeInfo> recordtypes = Submission__c.SObjectType.getDescribe().getRecordTypeInfos();
for(RecordTypeInfo rt : recordtypes){
if(rt.getName() != 'Master')
if(rt.isAvailable()==True){
recordTypeWrapper.DisplayRecordTypes recordType =
new recordTypeWrapper.DisplayRecordTypes();
recordType.recordTypeId =rt.getRecordTypeId();
recordType.recordTypeLabel = rt.getName();
recordType.isDefault =rt.isDefaultRecordTypeMapping();
lstRecordTypes.add(recordType);
}
}
system.debug('lstRecordTypes' +lstRecordTypes);
return lstRecordTypes;
}
WRAPPER CLASS
public class recordTypeWrapper {
/*******************************************/
/* Wrapper class to display Record Types */
/*****************************************/
public class DisplayRecordTypes {
@AuraEnabled public boolean isDefault;
@AuraEnabled public string recordTypeLabel;
@AuraEnabled public string recordTypeId;
public DisplayRecordTypes(){
isDefault = false;
recordTypeLabel = '';
//recordTypeId = '';
}
}
}
apex class :
wrapper class : aura component : js : Thanks, let us know if it helps you , or if you have any issue with it