4

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?

6
  • That's weird. Can upgrade/downgrade the version to match the Production's API version? It's just an hunch.
    – Praveen
    Jan 15, 2017 at 16:50
  • do you mean api version? Jan 15, 2017 at 16:51
  • Yes, I meant the api version.
    – Praveen
    Jan 15, 2017 at 16:54
  • I have downgraded to 37 - still does not help. Jan 15, 2017 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!!! Jan 15, 2017 at 17:08

1 Answer 1

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.

5
  • 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, 2017 at 10:43
  • @Peter no problem - I have updated my answer, hope it helps Jan 17, 2017 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, 2017 at 15:52
  • 1
    No error at all - this is why I didn't see it Jan 17, 2017 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, 2017 at 7:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .