2

I have a record page which consists of

  1. A quick action which opens a simple "Quick add" Quick action (creates a child record)
  2. An aura component with a single button that (successfully) calls the same Quick action (so that users can easily find the button they need)
  3. An aura component which has a lightning web component embedded in it which contains a table. This table calls fires an event which calls the same quick action, but also pre-fills one of the fields on the quick action with the selected publication.

enter image description here

If I click the "plus" icon on one of the first few rows of the table, the quick action opens and the field on the quick action is populated with the publication selected on the table. Therefore, I know that the lightning web component and aura component are communicating correctly.

However, if the table is long and I scroll down to select a row further down the table, I see a different behaviour: The screen jumps to the top of the page, but the quick action never opens.

Here is my aura controller:

({
launchQuickAction : function(cmp, event, helper) {

    console.log('Event caught');

    var row = event.getParam('row');

    console.log(JSON.stringify(row));

    var actionAPI = cmp.find("quickActionAPI");

    var targetFields = {Information_Resource__c : {value: row.Id}}

    var args = { actionName :'Case.Add_Publication_T1',
                targetFields : targetFields
               };

    console.log('About to fire quick action');

    actionAPI.setActionFieldValues(args)
    .then(function(result){
        console.log('Fired Quick Action');})
    .catch(function(e){
        console.error(e);}
    );

}

})

I have the console open and the only difference in output when clicking a row lower down the table is that the debug line "Fired Quick Action" isn't output. I've checked that the action is available to the page in both instances (by using the "getAvailableActions" method on the Quick Action API) and I can see that the action is available on the page even when clicking a lower row on the table.

It seems that the act of the page having to jump prevents the quick action from opening.

Is this an expected behaviour?

0

Workaround - As part of the javascript, include "window.scrollTo(0,0);", to ensure that quick action is on the page at the time it is called. It's not ideal, but seems to work

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.