({ AddNewRow : function(component, event, helper){ //fire the AddNewRowEvt Lightning Event var var params = {"indexVar" : component.get("v.rowIndex"), "Objecttype" : component.get("v.Objecttype") }; component.getEvent("AddRowEvt").setParams({"Objecttype" : component.get("v.Objecttype") }).fire(); // component.getEvent("AddRowEvt").setParams({"Objecttype" : JSON.stringify(params)}).fire(); }, checkDefault : function(component, event, helper){ if(component.get("v.type")=='BOOLEAN'){ component.set("v.objectInstance.selectedfields",false); }else{ component.set("v.objectInstance.selectedfields",""); } component.set("v.objectInstance.flag",true); }, removeRow : function(component, event, helper){ // fire the DeleteRowEvt Lightning Event and pass the deleted Row Index to Event parameter/attribute // console.log('***removeRow'); //console.log( component.get("v.rowIndex") ); //console.log( component.get("v.Objecttype") ); var params = { "indexVar" : component.get("v.rowIndex"), "Objecttype" : component.get("v.Objecttype") }; component.getEvent("DeleteRowEvt").setParams( { "deleteObject" : JSON.stringify(params) } ).fire(); }, doInit : function(component, event, helper) { if(component.get("v.objectInstance.fieldDisabled") != undefined){ component.set("v.fieldDisabled",component.get("v.objectInstance.fieldDisabled")); } if(component.get("v.objectInstance.flag") == undefined ) { //helper.getObjectFieldsHelper( component, event ); var Defaultlist = component.get("v.defaultFieldMappingObject"); var filterdlist = component.get("v.filteredList"); var Displaydefaultlist = []; /* filterdlist.forEach(function(element) { //console.log("****Defaultvalue "); //console.log(element); //filterdlist.forEach(function(element2) { //console.log("****Filteredtvalue "); //console.log(element); var getElementIndex = Defaultlist.indexOf(element); if(getElementIndex != -1){ Displaydefaultlist.push(element); }else{ //component.set('v.filteredList',false); } //}) }) component.set('v.filteredList',Displaydefaultlist);*/ //var selectedfield = component.get("v.objectInstance"); // console.log('********objectInstance*******'); //console.log(selectedlist); helper.InsertFilteredlist(component, event, helper); var selectedfield = component.get("v.objectInstance.selectedfields"); if(selectedfield=='false') component.set("v.objectInstance.selectedfields", false); if(selectedfield != null && selectedfield != '' && selectedfield !== 'undefined'){ if(selectedfield.includes(',')){ component.set("v.objectInstance.flag", false); component.set("v.objectInstance.shopifyFieldName", null); component.set("v.objectInstance.shopifyNested", null); }else{ component.set("v.objectInstance.flag", true); } }else{ component.set("v.objectInstance.flag", true); } /* var sobjectTypevalue = component.get("v.objectInstance.sobjectType"); if(sobjectTypevalue != null && sobjectTypevalue != '' && sobjectTypevalue !== 'undefined'){ if(sobjectTypevalue == 'Opportunity Product'){ component.set("v.Spinner", false); }else{ component.set("v.Spinner", true); } } */ } }, closeModal:function(component,event,helper){ var nestevalue = false ; var singlevalue = false ; var nestedfield = ''; var selectedvalue1 = component.find('multiPicklist').get('v.value').split(";"); selectedvalue1.forEach(function(element) { console.log('gerfilteredList2'); //console.log(element); if(element.includes('.') ){ //&& ( element.includes('default_address') || element.includes('shipping_address') ||element.includes('billing_address') ) nestevalue = true; nestedfield = selectedvalue1[0].split(".")[0]; }else{ singlevalue = true; } }) if(nestevalue == true && singlevalue == true ){ component.set("v.applyandcloseerror",true); component.set("v.selectedfieldmappingError"," *Please multiple select single fields or nested fields at a time."); // alert('please choose single item or multiple'); } var cmpTarget = component.find('Modalbox'); var cmpBack = component.find('Modalbackdrop'); //console.log('New'); //console.log(component.find("multiPicklist")); // var plValue; //console.log(component.find("multiPicklist").get("v.value")); if( !component.get("v.applyandcloseerror") && (component.find("multiPicklist").get("v.value") == null || component.find("multiPicklist").get("v.value") == '') ){ //alert('please choose atleast one vlaue'); component.set("v.applyandcloseerror",true); component.set("v.selectedfieldmappingError"," *Please select atleast one value"); }else if(!component.get("v.applyandcloseerror")){ var plValue = component.find("multiPicklist").get("v.value").replace(/;/g,","); var garphQlValues = ''; if(plValue){ var picklistValues = plValue.split(','); var filteredValues = component.get("v.filteredList"); // console.log('@@@ FILTERED VALUES ::: '+JSON.stringify(filteredValues)); // console.log('@@@ picklistValues VALUES ::: '+JSON.stringify(picklistValues)); for(let value of filteredValues){ // console.log('@@@ picklistValues value ::: '+JSON.stringify(value)); picklistValues.forEach(function(element){ if(element.includes('.') && element.split('.')[1] === value.HIC_ShopifySync__Field_Name__c){ // console.log('THIS IS IF CONDITION'); // console.log('@@@ picklistValues.includes ::: '+JSON.stringify(value)); if(value.hasOwnProperty('HIC_ShopifySync__GQL_Field_API__c')){ garphQlValues += value.HIC_ShopifySync__GQL_Field_API__c + ','; } // console.log('@@@ picklistValues.includes ::: '+JSON.stringify(garphQlValues)); }else if(element === value.HIC_ShopifySync__Field_Name__c){ // console.log('THIS IS if else CONDITION'); // console.log('@@@ picklistValues.includes ::: '+JSON.stringify(value)); if(value.hasOwnProperty('HIC_ShopifySync__GQL_Field_API__c')){ garphQlValues += value.HIC_ShopifySync__GQL_Field_API__c + ','; } // console.log('@@@ picklistValues.includes ::: '+JSON.stringify(garphQlValues)); }else{ console.log('THIS IS ELSE CONDITION ::: '+element); } }); } garphQlValues.slice(0, -1); // console.log('@@@ picklistValues '+garphQlValues.slice(0, -1)); } // console.log('@@@ garphQlValues '+garphQlValues.slice(0, -1)); // component.set("v.objectInstance.selectedfields", plValue); component.set("v.objectInstance.graphqlfield", garphQlValues.slice(0, -1)); // console.log('@@@@@@@@@@@@@@@@@@ THIS IS FIELD config::: '+component.get("v.objectInstance.graphqlfield")); component.set("v.objectInstance.shopifyFieldName", null); component.set("v.objectInstance.shopifyNested", null); component.set("v.objectInstance.flag", false); component.set("v.objectInstance.selectedfields", plValue); var shopifyfield = component.get('v.objectInstance.shopifyFieldName'); $A.util.removeClass(cmpBack,'slds-backdrop--open'); $A.util.removeClass(cmpTarget, 'slds-fade-in-open'); // console.log('@@@@@@@@@@@@@@@@@@ THIS IS OBject ::: '+JSON.stringify(component.get("v.objectInstance"))); } }, // console.log(plValue); cancelModal:function(component,event,helper){ //console.log( 'cancelModal++++' ); var cmpTarget = component.find('Modalbox'); var cmpBack = component.find('Modalbackdrop'); component.set("v.applyandcloseerror",false); $A.util.removeClass(cmpBack,'slds-backdrop--open'); $A.util.removeClass(cmpTarget, 'slds-fade-in-open'); component.set("v.objectInstance.flag", true); component.set("v.objectInstance.selectedfields", null); //component.set("v.selectedfields", plValue); //var selectList = component.get("v.selectedfields").split(';'); //component.set("v.selectList", selectList); //*************For Refresh the list**************// // console.log( '1111-->'+component.get("v.objectInstance.salesforcefields")); var selectedvalue = component.get("v.objectInstance.salesforcefields"); var dataTable2 = component.get("v.table2Data"); var dataType = ''; dataTable2.forEach(function(element) { // console.log('*********-->'+element); // console.log(element); if( element.filedApiName == selectedvalue ){ //dataType = element.dataType; //console.log('*********-->'+selectedvalue); //console.log(selectedvalue); component.set("v.type",element.dataType); if(element.dataType == 'STRING' || element.dataType == 'TEXTAREA' || element.dataType == 'PICKLIST' || element.dataType == 'ADDRESS' || element.dataType == 'URL' || element.dataType == 'EMAIL' || element.dataType == 'ID'){ dataType = 'string'; }else if(element.dataType == 'DOUBLE' || element.dataType == 'CURRENCY' || element.dataType == 'INTEGER'){ dataType = 'number'; }else if(element.dataType == 'DATE' || element.dataType == 'DATETIME'){ dataType = 'datetime'; }else if(element.dataType == 'BOOLEAN'){ dataType = 'boolean'; }else if( element.dataType == 'PHONE'){ dataType = 'phone'; } } }); var options = component.get("v.options"); var filterList = []; if( dataType != null && dataType != ''){ var objectTableData2 = component.get("v.objectTableData2"); //console.log('*****dataType****'+dataType); objectTableData2.forEach(function(element) { //console.log(element); if(dataType.toLowerCase() == 'string'){ filterList.push( element ); var newItem = {}; newItem['label'] = element.UI_Label_Name__c; newItem['value'] = element.Name; options.push(newItem); } else if( element.HIC_ShopifySync__Data_Type__c.toLowerCase() == dataType.toLowerCase() ){ //console.log('*****element.Data_Type__c****'+element.HIC_ShopifySync__Data_Type__c); filterList.push( element ); var newItem = {}; newItem['label'] = element.HIC_ShopifySync__UI_Label_Name__c; newItem['value'] = element.Name; options.push(newItem); } }); //console.log( filterList ); component.set("v.filteredList",filterList); //console.log( component.get("v.filteredList")); // console.log( filterList); //component.set("v.options",options); // console.log( component.get("v.options")); } }, openmodal:function(component,event,helper) { var cmpTarget = component.find('Modalbox'); var cmpBack = component.find('Modalbackdrop'); $A.util.addClass(cmpTarget, 'slds-fade-in-open'); $A.util.addClass(cmpBack, 'slds-backdrop--open'); component.set("v.applyandcloseerror",false); // plValue = component.find("multiPicklist").get("v.value") }, defaultMappingchange:function(component,event,helper) { var defaultCheck = component.get("v.objectInstance.DefaultValue"); if(defaultCheck){ //component.set("v.objectInstance.DefaultValue",false); }else{ //component.set("v.objectInstance.DefaultValue",true); } }, getFilteredList:function(component,event,helper) { //console.log( 'getFilteredList++++' ); //console.log( event.getSource().get("v.value") ); var selectedvalue = event.getSource().get("v.value"); var dataTable2 = component.get("v.table2Data"); var accountlist = component.get("v.ObjectListPassed"); var duplicateListVaue = 1; console.log('dataTable2'); //console.log(JSON.stringify(component.get("v.objectInstance"))); //console.log(JSON.stringify(dataTable2)); for(var item in accountlist){ if(accountlist[item]['salesforcefields'] == selectedvalue ){ duplicateListVaue = duplicateListVaue + 1; } } if(duplicateListVaue >= 3){ component.set("v.isOpen",true); setTimeout(function(){ component.set("v.isOpen",false); event.getSource().set("v.value",""); },2000); }else{ component.set("v.isOpen",false); } var validForm = component.find('shopifyfield').get("v.validity"); //debugger; var dataType = ''; console.log(selectedvalue); dataTable2.forEach(function(element) { if( element.filedApiName == selectedvalue ){ console.log('element.filedApiName--'); console.log(element.filedApiName); console.log(element.dataType); //dataType = element.dataType; component.set("v.type",element.dataType); if(element.dataType == 'STRING' || element.dataType == 'TEXTAREA' || element.dataType == 'PICKLIST' || element.dataType == 'ADDRESS' || element.dataType == 'URL' || element.dataType == 'EMAIL' || element.dataType == 'ID'){ dataType = 'string'; }else if(element.dataType == 'DOUBLE' || element.dataType == 'CURRENCY' || element.dataType == 'INTEGER' || element.dataType == 'PERCENT'){ dataType = 'number'; }else if(element.dataType == 'DATE' || element.dataType == 'DATETIME'){ dataType = 'datetime'; }else if(element.dataType == 'BOOLEAN'){ dataType = 'boolean'; }else if( element.dataType == 'PHONE'){ dataType = 'phone'; } } }); var options = component.get("v.options"); var filterList = []; if( dataType != null && dataType != ''){ var objectTableData2 = component.get("v.objectTableData2"); objectTableData2.forEach(function(element) { if(dataType.toLowerCase() == 'string'){ filterList.push( element ); var newItem = {}; newItem['label'] = element.UI_Label_Name__c; newItem['value'] = element.Name; options.push(newItem); } else if( element.HIC_ShopifySync__Data_Type__c.toLowerCase() == dataType.toLowerCase() ){ filterList.push( element ); var newItem = {}; newItem['label'] = element.HIC_ShopifySync__UI_Label_Name__c; newItem['value'] = element.Name; options.push(newItem); } }); component.set("v.filteredList",filterList); component.set("v.options",options); } }, getFilteredList2:function(component,event,helper) { var nestevalue = false ; var singlevalue = false ; var nestedfield = ''; var selectedvalue1 = component.find('multiPicklist').get('v.value').split(";"); selectedvalue1.forEach(function(element) { console.log('gerfilteredList2'); console.log(element); if(element.includes('.') ){ //&& ( element.includes('default_address') || element.includes('shipping_address') ||element.includes('billing_address') ) nestevalue = true; nestedfield = selectedvalue1[0].split(".")[0]; }else{ singlevalue = true; } }) if(nestevalue == true && singlevalue == true ){ component.set("v.applyandcloseerror",true); component.set("v.selectedfieldmappingError"," *Please multiple select single fields or nested fields at a time."); // alert('please choose single item or multiple'); }else{ var selectedvalue = component.find('multiPicklist').get('v.value'); var filteredList = component.get("v.filteredList"); var filterList = []; if(selectedvalue != '' && selectedvalue != null){ filteredList.forEach(function(element) { console.log('filter on'); console.log(selectedvalue); console.log(nestedfield); console.log(element.HIC_ShopifySync__UI_Label_Name__c); /*if(selectedvalue.includes('.') && selectedvalue.includes('default_address')){ if( element.HIC_ShopifySync__UI_Label_Name__c.includes('.') && element.HIC_ShopifySync__UI_Label_Name__c.includes('default_address')){ filterList.push( element ); } }else if(selectedvalue.includes('.') && selectedvalue.includes('shipping_address')){ if( element.HIC_ShopifySync__UI_Label_Name__c.includes('.') && element.HIC_ShopifySync__UI_Label_Name__c.includes('shipping_address')){ filterList.push( element ); } }else if(selectedvalue.includes('.') && selectedvalue.includes('billing_address')){ if( element.HIC_ShopifySync__UI_Label_Name__c.includes('.') && element.HIC_ShopifySync__UI_Label_Name__c.includes('billing_address')){ filterList.push( element ); } }else*/ if(selectedvalue.includes('.') && selectedvalue.includes(nestedfield)){ if(nestedfield == element.HIC_ShopifySync__UI_Label_Name__c.split('.')[0] && element.HIC_ShopifySync__UI_Label_Name__c.includes('.') && element.HIC_ShopifySync__UI_Label_Name__c.includes(nestedfield)){ filterList.push( element ); } }else { if( !element.HIC_ShopifySync__UI_Label_Name__c.includes('.')){ filterList.push( element ); } } }); component.set("v.filteredList",filterList); component.set("v.applyandcloseerror",false); } //component.set(component.find('multiPicklist').get('v.value'),filterList); } } })