Skip to content

Instantly share code, notes, and snippets.

@madmax983
Last active November 16, 2016 19:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save madmax983/964d472fe23a8b24f481ad69ccdf1353 to your computer and use it in GitHub Desktop.
Save madmax983/964d472fe23a8b24f481ad69ccdf1353 to your computer and use it in GitHub Desktop.
Issues With Force:Input/OuputField
<aura:component implements="flexipage:availableForRecordHome,force:hasRecordId" access="global" >
<aura:attribute name="record"
type="Opportunity"
default="{ 'sobjectType': 'Opportunity' }"/>
<aura:attribute name="error"
type="String"/>
<aura:attribute name="columns"
type="integer"
description="The number of columns"/>
<aura:attribute name="fields"
type="List"
access="public"
description="Fields from the record"/>
<force:recordPreview aura:id="recordHandler"
fields="Id,Name"
recordId="{!v.recordId}"
targetRecord="{!v.record}"
targetError="{!v.error}"/>
<aura:dependency resource="markup://force:outputField" />
<aura:handler name="change" value="{!v.record}" action="{!c.renderDetails}"/>
{!v.body}
</aura:component>
({
renderDetails: function(component, event, helper){
var record = component.get("v.record");
if(record){
var keys = Object.getOwnPropertyNames(record);
for(var i = 0; i < keys.length; i++){
if(keys[i] === "Name") {
var keyString = 'v.record.' + keys[i];
$A.createComponent(
"force:outputField",
{
"aura:id": keys[i],
"value": component.getReference(keyString)
},
function(newInput, status, errorMessage){
if (status === "SUCCESS") {
var body = component.get("v.body");
body.push(newInput);
component.set("v.body", body);
}
else if (status === "INCOMPLETE") {
console.log("No response from server or client is offline.")
// Show offline error
}
else if (status === "ERROR") {
console.log("Error: " + errorMessage);
// Show error message
}
}
);
}
}
}
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment