Last active
July 31, 2019 12:25
-
-
Save JitendraZaa/b108e7428148fc15a9932c3fab2d1533 to your computer and use it in GitHub Desktop.
Salesforce Lightning Data Service Demo Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<aura:component implements="force:appHostable, | |
flexipage:availableForRecordHome,force:hasRecordId" | |
access="global" > | |
<aura:attribute name="account" type="Object" | |
description="The record object to be displayed"/> | |
<aura:attribute name="accountRecord" type="Object" | |
description="A simplified view record object to be displayed"/> | |
<aura:attribute name="recordSaveError" type="String" | |
description="An error message bound to force:recordData"/> | |
<force:recordData aura:id="accRec" | |
layoutType="FULL" | |
recordId="{!v.recordId}" | |
targetError="{!v.recordSaveError}" | |
targetRecord="{!v.account}" | |
targetFields="{!v.accountRecord}" | |
mode="EDIT" | |
recordUpdated="{!c.recordUpdated}"/> | |
<div class="slds-box"> | |
<div class="slds-text-heading_medium"> | |
Edit Account - Data Service | |
</div> | |
<div class="slds-form--stacked slds-tile"> | |
<div class="slds-form-element"> | |
<label class="slds-form-element__label" >Name: </label> | |
<div class="slds-form-element__control"> | |
<ui:inputText aura:id="recordName" class="slds-input" | |
value="{!v.accountRecord.Name}" | |
required="true"/> | |
</div> | |
</div> | |
<div class="slds-form-element"> | |
<label class="slds-form-element__label" >Company Email: </label> | |
<div class="slds-form-element__control"> | |
<ui:inputText aura:id="companyEmail" class="slds-input" | |
value="{!v.accountRecord.Company_Email__c}" | |
required="true"/> | |
</div> | |
</div> | |
<div class="slds-form-element"> | |
<ui:button aura:id="saveAccount" | |
buttonTitle="Save Account" class="button" label="Save Account" press="{!c.saveAccount}"/> | |
</div> | |
</div> | |
<aura:if isTrue="{!not(empty(v.recordSaveError))}"> | |
<br /> | |
<div class="error slds-box"> | |
{!v.recordSaveError} | |
</div> | |
</aura:if> | |
</div> | |
</aura:component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.THIS .error { | |
background-color: #c23934; | |
border: 1px solid #c23934 ; | |
color: white; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
({ | |
saveAccount : function(component, event, helper) { | |
helper.saveAccount(component, event, helper); | |
}, | |
recordUpdated : function(component, event, helper) { | |
helper.recordUpdated(component, event, helper); | |
} | |
}) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
({ | |
saveAccount : function(component, event, helper) { | |
component.find("accRec").saveRecord($A.getCallback(function(saveResult) { | |
if (saveResult.state === "SUCCESS" || saveResult.state === "DRAFT") { | |
console.log("Save completed successfully."); | |
} else if (saveResult.state === "INCOMPLETE") { | |
component.set("v.recordSaveError","User is offline, device doesn't support drafts."); | |
} else if (saveResult.state === "ERROR") { | |
var errMsg = ""; | |
// saveResult.error is an array of errors, | |
// so collect all errors into one message | |
for (var i = 0; i < saveResult.error.length; i++) { | |
errMsg += saveResult.error[i].message + "\n"; | |
} | |
component.set("v.recordSaveError", errMsg); | |
} else { | |
component.set("v.recordSaveError",'Unknown problem, state: ' + saveResult.state + ', error: ' + | |
JSON.stringify(saveResult.error)); | |
} | |
})); | |
}, | |
recordUpdated : function(component, event, helper){ | |
var changeType = event.getParams().changeType; | |
if (changeType === "CHANGED") { | |
component.find("accRec").reloadRecord(); | |
} | |
} | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
recordUpdated="{!c.recordUpdated}"
What is the use of this attribute ? When does it fire the controller function?