force-app/main/default/aura/lexCreateProduct2AssetAura/lexCreateProduct2AssetAura.cmp
New file @@ -0,0 +1,10 @@ <aura:component implements="flexipage:availableForAllPageTypes,force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"> <aura:attribute name="recordId" type="String" /> <aura:handler name="render" value="{!this}" action="{!c.closeModal}" /> <aura:attribute name="isDoneRendering" type="Boolean" default="false"/> <div class="exampleHolder"> <c:lexCreateProduct2Asset recordId="{!v.recordId}" /> </div> </aura:component> force-app/main/default/aura/lexCreateProduct2AssetAura/lexCreateProduct2AssetAura.cmp-meta.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>54.0</apiVersion> <description>A Lightning Component Bundle</description> </AuraDefinitionBundle> force-app/main/default/aura/lexCreateProduct2AssetAura/lexCreateProduct2AssetAura.css
New file @@ -0,0 +1,2 @@ .THIS { } force-app/main/default/aura/lexCreateProduct2AssetAura/lexCreateProduct2AssetAuraController.js
New file @@ -0,0 +1,5 @@ ({ myAction : function(component, event, helper) { } }) force-app/main/default/aura/lexCreateProduct2AssetAura/lexCreateProduct2AssetAuraHelper.js
New file @@ -0,0 +1,5 @@ ({ helperMethod : function() { } }) force-app/main/default/classes/LexAssetUsefulController.cls
New file @@ -0,0 +1,15 @@ public with sharing class LexAssetUsefulController { @AuraEnabled public static Account init(String recordId){ Account res = new Account(); try { res = [SELECT Id,Hospital__c,Department_Class__c FROM Account WHERE Id = : recordId]; return res; } catch (Exception e) { return null; } } } force-app/main/default/classes/LexAssetUsefulController.cls-meta.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>51.0</apiVersion> <status>Active</status> </ApexClass> force-app/main/default/lwc/lexCreateProduct2Asset/lexCreateProduct2Asset.html
New file @@ -0,0 +1,5 @@ <template> <div class="Attachment" if:true={IsLoading}> <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner> </div> </template> force-app/main/default/lwc/lexCreateProduct2Asset/lexCreateProduct2Asset.js
New file @@ -0,0 +1,69 @@ import { api, wire,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import { updateRecord } from 'lightning/uiRecordApi'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { NavigationMixin } from 'lightning/navigation'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import init from '@salesforce/apex/LexAssetUsefulController.init'; export default class lexCreateProduct2Asset extends NavigationMixin(LightningElement) { @api recordId; Account; IsLoading =true; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; console.log(this.recordId); } } } connectedCallback(){ init({ recordId: this.recordId }).then(result => { if (result != null) { this.Account = result; console.log(this.Account); this.createProduct2(); } }).catch(error => { const eventInItError = new ShowToastEvent({ message: error.message, variant : 'error' }); this.dispatchEvent(eventInItError); }); } createProduct2(){ const defaultValues = encodeDefaultFieldValues({ Department_Class__c:this.Account.Department_Class__c, Hospital__c: this.Account.Hospital__c, AccountId: this.Account.Id, Name:'*' }); this.IsLoading=false; this.dispatchEvent(new CloseActionScreenEvent()); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Asset', actionName: 'new' }, state: { nooverride: '1', defaultFieldValues: defaultValues, } }); } } force-app/main/default/lwc/lexCreateProduct2Asset/lexCreateProduct2Asset.js-meta.xml
New file @@ -0,0 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCreateProduct2Asset"> <apiVersion>51.0</apiVersion> <isExposed>true</isExposed> <targets> <target>lightning__RecordPage</target> <target>lightning__AppPage</target> <target>lightning__HomePage</target> <target>lightning__RecordAction</target> </targets> </LightningComponentBundle>