0

I am trying to check something before the modal popup shows in salesforce opportunity page. When I call the doInit function the button handler functions stop working. My code is

<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,force:appHostable,flexipage:availableForRecordHome,force:hasRecordId,force:hasSObjectName" access="global">
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    <b>This is recordID {!v.recordId} </b><br/>
  Are you sure you want to proceed?
  <div class="slds-align_absolute-center">
    <lightning:button
      label="No"
      variant="destructive"
      onclick="{!c.handleNo}"
    ></lightning:button>
    <lightning:button label="Yes" onclick="{!c.handleYes}"></lightning:button>
  </div>
</aura:component>

and the controller is

(   {
    
    doInit:function(component,event,helper){
   alert(component.get("v.recordId"));
  }
},

    {
  handleNo: function (component, event, helper) {
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/NQuote",
      isredirect: "true"
    });
    urlEvent.fire();
  },

  handleYes: function (component, event, helper) {
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/TestPage",
      isredirect: "true"
    });
    urlEvent.fire();
  }
});
Hasan Zubairi
  • 1,037
  • 4
  • 23
  • 57

1 Answers1

0

The format for your controller is incorrect. The format should be basically a JSON like this:

{
    method1 : function (component, event, helper){},
    method2 : function (component, event, helper){}
}

You have extra curly braces after the doInit method. It should be like this:

({
  doInit: function (component, event, helper) {
    alert(component.get("v.recordId"));
  },
  handleNo: function (component, event, helper) {
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/NQuote",
      isredirect: "true"
    });
    urlEvent.fire();
  },

  handleYes: function (component, event, helper) {
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/TestPage",
      isredirect: "true"
    });
    urlEvent.fire();
  }
});