Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. <aura:component implements="flexipage:availableForAllPageTypes" access="global">
  2. <aura:attribute name="recordId" type="String"/>
  3. <aura:attribute name="DeveloperName" type="String"/>
  4. <aura:attribute name="inputVariables" type="Object"/>
  5.  
  6. <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
  7. <aura:registerEvent name="actionEvent" type="c:BI_LEX_GenericApprovalConfirm"/>
  8.  
  9. <lightning:overlayLibrary aura:id="modalLib"/>
  10.  
  11. <div class="slds-text-align_right"><lightning:buttonIcon variant="bare" iconName="utility:close" onclick="{!c.closeFlow}" size="large"/></div>
  12. <lightning:flow aura:id="flowData" onstatuschange="{!c.statusChange}"/>
  13.  
  14. ({
  15. doInit : function(component, event, helper){
  16. var flow = component.find("flowData");
  17. flow.startFlow(component.get("v.DeveloperName"), component.get("v.inputVariables"));
  18. },
  19. closeFlow : function(component, event, helper){
  20. var actionEvent = $A.get("e.c:BI_LEX_GenericApprovalConfirm");
  21. actionEvent.setParams({
  22. "bypass" : false
  23. });
  24. actionEvent.fire();
  25. component.find("modalLib").notifyClose();
  26. },
  27. statusChange : function(component, event) {
  28. var result;
  29. var message;
  30. var params = {};
  31. var messageIndex;
  32. var generatedIndex;
  33. var generatedRecordId;
  34. var status = event.getParam("status");
  35. console.log("params: " + JSON.stringify(event.getParams()));
  36. debugger;
  37. //Contain outputVariables for generated record check
  38. if(event.getParams().hasOwnProperty('outputVariables')){
  39. var outputVariables = event.getParam("outputVariables");
  40. messageIndex = outputVariables.findIndex(x => x.name === 'CPQ_TxtErrorMsg');
  41. generatedIndex = outputVariables.findIndex(x => x.name === 'CPQ_GeneratedRecordId');
  42. //Error message found
  43. if(messageIndex !== -1 && outputVariables[messageIndex].value !== null){
  44. message = outputVariables[messageIndex].value;
  45. }
  46. //New record Id found
  47. if(generatedIndex !== -1 && outputVariables[generatedIndex].value !== null){
  48. generatedRecordId = outputVariables[generatedIndex].value;
  49. }
  50. }
  51. var actionEvent = $A.get("e.c:BI_LEX_GenericApprovalConfirm");
  52. switch(status){
  53. case 'FINISHED':
  54. result = message !== undefined ? false : true;
  55. break;
  56. case 'FINISHED_SCREEN':
  57. result = message !== undefined ? false : true;
  58. break;
  59. case 'ERROR':
  60. result = false;
  61. break;
  62. }
  63. //Finished or error found
  64. if(result !== undefined){
  65. params["bypass"] = result;
  66. //Related new record Id
  67. if(generatedRecordId !== null){
  68. params["generatedrecordid"] = generatedRecordId;
  69. }
  70. //Error message [default one if flow doesn't retrieve one]
  71. if(!result){
  72. params["message"] = message !== undefined ? message : $A.get("$Label.c.CPQ_LightningFlowTrouble");
  73. }
  74. console.log('***params: ' + JSON.stringify(params));
  75. debugger;
  76. actionEvent.setParams(params);
  77. actionEvent.fire();
  78. component.find("modalLib").notifyClose();
  79. }
  80. },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement