3

I have developed a few lightning component quick actions on my sandbox and all was well.

Now I have deployed them to production and I cannot see them when I try to add an action through the object's setup page:

enter image description here

As you can see I get an error: Error: No Lightning Component Quick Actions are available for your organization.

I hope that I have set the component the right way - this is my markup:

<aura:component implements="force:lightningQuickAction,force:hasRecordId,flexipage:availableForAllPageTypes">
    <aura:attribute name="recordId" type="String" />
    <aura:attribute name="methodName" type="String" default="defMethod"/>
    <c:YH_ExecuteApex refreshTab="true" methodName="{!v.methodName}" params="{!v.recordId}"/>
</aura:component>

Can anyone help me?

Am I doing something wrong?

  • That's weird. Can upgrade/downgrade the version to match the Production's API version? It's just an hunch. – Praveen Jan 15 '17 at 16:50
  • do you mean api version? – Itai Shmida Jan 15 '17 at 16:51
  • Yes, I meant the api version. – Praveen Jan 15 '17 at 16:54
  • I have downgraded to 37 - still does not help. – Itai Shmida Jan 15 '17 at 17:03
  • @Praveen thanks to you I have found the problem - my inner component had a bug that caused it to fail (c:YH_ExecuteApex ). I have fixed it and all my components now are visible for lightning component quick actions. Thank you very much!!! – Itai Shmida Jan 15 '17 at 17:08
3

Eventually the problem was within my inner component - c:YH_ExecuteApex

Because that component was bad, the quick action components where not exposed.

UPDATE:

The bug within the component was a compile problem that was not recognized by me or the org or IDE.

The component was:

<aura:component controller="YH_ExecuteApex_CTRL">

    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>

    <aura:attribute name="returnValue" type="ExecuteApex.ReturnValue" />
    <aura:attribute name="methodName" type="String" />
    <aura:attribute name="params" type="String" />
    <aura:attribute name="refreshTab" type="boolean" />
    <aura:attribute name="msgBody" type="String" />
    <aura:attribute name="errMsg" type="String" />
    <aura:attribute name="successMsg" type="String" />

    <div class="slds-p-around--xx-large">
        {!v.msgBody}
    </div>

</aura:component>

The type in line: <aura:attribute name="returnValue" type="ExecuteApex.ReturnValue" /> - should have neen YH_ExecuteApex_CTRL.ReturnValue because it is an inner class of my main YH_ExecuteApex_CTRL class.

Because of that - all of my components that used YH_ExecuteApex components where not recognized as a quick action.

  • I would love to see more details on what the bug was that caused it to fail if you think it is relevant and could help others. – pchittum Jan 16 '17 at 10:43
  • @Peter no problem - I have updated my answer, hope it helps – Itai Shmida Jan 17 '17 at 13:17
  • That's super helpful! Thanks for taking the time! Was there no error? Or was it just a cryptic gack kind of error? I'm going to raise this up to the Lightning and IDE teams to see if we cannot improve the UX for encountering such a bug. – pchittum Jan 17 '17 at 15:52
  • 1
    No error at all - this is why I didn't see it – Itai Shmida Jan 17 '17 at 16:17
  • Awesome, this made me crazy. For us the issue was: We developed a lightning component on a sandbox, did the deployment via API and in production nothing worked ("Path" threw an error [nothing helpful, just "internal error"], no buttons were shown, but no error msg whatsoever). What fixed it was to open the *.cmp item in the developer console (in prod) and just save it again... – Christoph Sep 27 '17 at 7:28

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.