buli
2023-04-26 d6a096fadfe9c8f261f56a827cfceed663c36b8b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { LightningElement } from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { reduceErrors } from 'c/ldsUtils';
import createContactAndOpportunity from '@salesforce/apex/CreateMixedRecordsApexControllerLwc.createContactAndOpportunity';
 
export default class CreateMixedRecordsApex extends LightningElement {
    contactFirstName = 'Yan';
    contactLastName = 'Khang';
    opportunityName = 'Possible deal';
 
    handleContactFirstNameInputChange(event) {
        this.contactFirstName = event.target.value;
    }
 
    handleContactLastNameInputChange(event) {
        this.contactLastName = event.target.value;
    }
 
    handleOpportunityNameInputChange(event) {
        this.opportunityName = event.target.value;
    }
 
    handleButtonClick() {
        createContactAndOpportunity({
            contactFirstName: this.contactFirstName,
            contactLastName: this.contactLastName,
            opportunityName: this.opportunityName
        })
            .then(() => {
                const evt = new ShowToastEvent({
                    title: 'Success',
                    message: 'Contact & Opportunity created correctly',
                    variant: 'success'
                });
                this.dispatchEvent(evt);
            })
            .catch((error) => {
                const evt = new ShowToastEvent({
                    title: 'Error',
                    message:
                        'Error creating records: ' +
                        reduceErrors(error).join(', '),
                    variant: 'error'
                });
                this.dispatchEvent(evt);
            });
    }
}