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; } } } connectedCallback(){ init({ recordId: this.recordId }).then(result => { if (result != null) { this.Account = result; 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, } }); } }