({ doInit : function(component, event, helper) { helper.addRowHelper(component, 1); var options = [ { value: "equals", label: "equals" }, { value: "contains", label: "contains" }, { value: "starts with", label: "starts with" }, { value: "ends with", label: "ends with" } ]; component.set("v.operatorOptions", options); }, handleOptionSelected: function (cmp, event) { //Get the string of the "value" attribute on the selected option var selectedValue = event.getParam("value"); alert("Selected Option: '" + selectedValue + "'"); }, loadAccountFields: function (component, event, helper) { var options = []; var action = component.get("c.accFields"); action.setCallback(this, function(response){ var state = response.getState(); if(state == 'SUCCESS') { var arr = response.getReturnValue() ; arr.forEach(function(element) { options.push({ value: element, label: element }); }); component.set('v.AccountFields', options); console.log('Acc fileds :: ',options); } }); $A.enqueueAction(action); }, loadShopifyFields: function (component, event, helper) { var options = []; var action = component.get("c.getShopifyFields"); action.setParams({"objectName":"Account"}); action.setCallback(this, function(response){ var state = response.getState(); if(state == 'SUCCESS') { var arr = JSON.parse(response.getReturnValue()) ; arr.forEach(function(element) { console.log('element :: ',element.Name); options.push({ value: element.Name, label: element.Name }); }); component.set('v.shopifyFields', options); console.log('Shop fileds :: ',options); } }); $A.enqueueAction(action); }, addRow : function(component, event, helper) { var loopVar = 1; if(event.getSource().get('v.name') === 'multipleRows' && !$A.util.isEmpty('v.numberOfRows') ) { loopVar = component.get('v.numberOfRows') > 10 ? 0 : component.get('v.numberOfRows'); } helper.addRowHelper(component, loopVar); console.log('value of combo:: ',component.find("accField").get("v.value")); console.log('value of combo:: ',component.find("operatorField").get("v.value")); console.log('value of combo:: ',component.find("shopifyField").get("v.value")); var objectList = component.get("v.comboValue"); objectList.push({"AccountField":component.find("accField").get("v.value"), "OperatorField":component.find("operatorField").get("v.value"), "ShopifyField":component.find("shopifyField").get("v.value")}); component.set("v.comboValue", objectList); console.log('value of comboValue:: ',component.get("v.comboValue")); }, editRow : function(component, event, helper) { var dynamicRowsList = component.get("v.dynamicRowsList"); var index = dynamicRowsList.findIndex(x => x.rowNumber === event.getSource().get('v.name')) if(index != -1) dynamicRowsList[index].editMode = !dynamicRowsList[index].editMode; component.set("v.dynamicRowsList", dynamicRowsList); }, deleteRow : function(component, event, helper) { var dynamicRowsList = component.get("v.dynamicRowsList"); var index = dynamicRowsList.findIndex(x => x.rowNumber === event.getSource().get('v.name')) if(index != -1) dynamicRowsList.splice(index, 1); component.set("v.dynamicRowsList", dynamicRowsList); var deleteId = event.target.closest("[data-id]").dataset.id; console.log('value of deleteId:: ',deleteId); var deleteList = component.get("v.comboValue"); deleteList.splice(deleteId,1); component.set("v.comboValue", deleteList); console.log('value of deleteIndex:: ',deleteList); }, cloneRow : function(component, event, helper) { var dynamicRowsList = component.get("v.dynamicRowsList"); var index = dynamicRowsList.findIndex(x => x.rowNumber === event.getSource().get('v.name')) if(index != -1) { dynamicRowsList.push({ 'Name': dynamicRowsList[index].Name, 'Phone': dynamicRowsList[index].Phone, 'AccountNumber': dynamicRowsList[index].AccountNumber, 'editMode': dynamicRowsList[index].editMode, 'rowNumber':dynamicRowsList.length + 1 }); } component.set("v.dynamicRowsList", dynamicRowsList); }, incrementRow: function(component, event, helper) { var numberOfRows = component.get("v.numberOfRows"); component.set("v.numberOfRows", numberOfRows + 1); }, decrementRow: function(component, event, helper) { var numberOfRows = component.get("v.numberOfRows"); component.set("v.numberOfRows", numberOfRows - 1); }, saveRecords : function(component, event, helper) { var validExpense = component.find('dynamiRowsForm').reduce(function ( validSoFar, inputCmp ) { inputCmp.showHelpMessageIfInvalid(); return validSoFar && inputCmp.get('v.validity').valid; }, true); if(validExpense){ helper.saveRecordsHelper(component, event, helper); } }, })