I have an LWC component on a record page which generates a signed URL for an external system, in order for my Apex method to generate the signed URL I need the Order Number from the Record (Order.OrderNum__c), instead of querying this in the Apex I would like to retrieve this using the wire service within the component and then pass to my Apex method.
Using the code below I'm able to retrieve the field I need and print it out on my LWC page, however the connectedCallack
method returned undefined.
Can someone explain why this is and how I can resolve this?
import { LightningElement, track, api, wire } from 'lwc';
import getSignature from "@salesforce/apex/iFrameUtils.generateSignedUrl";
import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
import ORDER_NO from '@salesforce/schema/Order.OrderNum__c';
const fields = [ORDER_NO];
export default class PaymentGateway extends LightningElement {
@track loaded = false;
@track url;
@api recordId;
@wire(getRecord, { recordId: '$recordId', fields })
order;
get orderNo() {
return getFieldValue(this.order.data, ORDER_NO);
}
connectedCallback() {
console.log(this.orderNo, 'this.orderNo');
getSignature({ ref1_value: '$orderNo'})
.then(result => {
console.log('got back a result!');
console.log(result);
})
.catch(error => {
console.log('error occured');
console.log(error);
});
this.loaded = true;
}
}