SyncMadeEasy/force-app/main/default/aura/RequiredFieldMapping/RequiredFieldMappingControl...

287 lines
16 KiB
JavaScript

({
showError: function (component, event, helper) {
console.log('showError called');
// console.log(component.get('v.objectInstance.filedlabel'));
$A.util.addClass(component.find('requiredFieldID'), 'OppClosedate');
},
selectOnlyThis: function(component, event, helper) {
var nestevalue = false ;
var singlevalue = false ;
var nestedfield = '';
var selectedvalue1 = component.find('multiPicklist').get('v.value').split(";");
//console.log('selectedvalue1-->',selectedvalue1);
selectedvalue1.forEach(function(element) {
console.log('element-->',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 = [];
filteredList.forEach(function(element) {
/*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')){
// console.log('***Element1****'+element);
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')){
// console.log('***Element2****'+element);
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')){
//console.log('***Element3****'+element);
filterList.push( element );
}
}*/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);
// console.log('@@@ filteredList :: ',filterList);
component.set("v.applyandcloseerror",false);
}
},
doInit : function(component, event, helper) {
// console.log('Required Field Mapping');
component.set("v.Spinner", true);
//helper.getObjectFieldsHelper( component, event );
// console.log('objectTableData2');
// console.log(component.get("v.objectTableData2"));
var dataType = '';
var objectInstance = component.get("v.objectInstance");
var selectedfield = component.get("v.objectInstance.selectedfields");
if(selectedfield=='false') component.set("v.objectInstance.selectedfields", false);
//console.log('objectInstance required');
//console.log(JSON.stringify(objectInstance));
//console.log(objectInstance.dataType);
component.set("v.type",objectInstance.dataType);
if(objectInstance.dataType == 'STRING' || objectInstance.dataType == 'TEXTAREA' || objectInstance.dataType == 'PICKLIST' || objectInstance.dataType == 'ADDRESS' || objectInstance.dataType == 'URL' || objectInstance.dataType == 'EMAIL' || objectInstance.dataType == 'ID'){
dataType = 'string';
}else if(objectInstance.dataType == 'DOUBLE' || objectInstance.dataType == 'CURRENCY' || objectInstance.dataType == 'PHONE' || objectInstance.dataType == 'INTEGER'){
dataType = 'number';
}else if(objectInstance.dataType == 'DATE' || objectInstance.dataType == 'DATETIME'){
dataType = 'datetime';
}else if(objectInstance.dataType == 'BOOLEAN'){
dataType = 'boolean';
}
var filterList = [];
if( dataType != null && dataType != ''){
var objectTableData2 = component.get("v.objectTableData2");
//console.log('*****dataType 25****'+dataType);
objectTableData2.forEach(function(element) {
// console.log(element);
if(dataType.toLowerCase() == 'string'){
filterList.push( element );
}
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 );
}
});
//console.log('filterList');
//console.log( filterList );
component.set("v.filteredList",filterList);
var selectedfield = component.get("v.objectInstance.selectedfields");
if(selectedfield != null && selectedfield != '' && selectedfield != 'undefined'){
if(selectedfield.includes(',')){
component.set("v.flag", false);
component.set("v.objectInstance.shopifyFieldName", null);
component.set("v.objectInstance.shopifyNested", null);
}else{
component.set("v.flag", true);
}
}
}
component.set("v.Spinner", false);
},
closeModal:function(component,event,helper){
var nestevalue = false ;
var singlevalue = false ;
var nestedfield = '';
var selectedvalue1 = component.find('multiPicklist').get('v.value').split(";");
// console.log('@@@ selectedvalue1 ::',selectedvalue1);
selectedvalue1.forEach(function(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 callonce = false;
//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 ::: '+component.get("v.objectInstance.graphqlfield"));
component.set("v.objectInstance.shopifyFieldName", null);
component.set("v.objectInstance.shopifyNested", null);
component.set("v.flag", false);
component.set("v.objectInstance.selectedfields", plValue);
$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")));
}
},
cancelModal:function(component,event,helper){
var cmpTarget = component.find('Modalbox');
var cmpBack = component.find('Modalbackdrop');
$A.util.removeClass(cmpBack,'slds-backdrop--open');
$A.util.removeClass(cmpTarget, 'slds-fade-in-open');
component.set("v.flag", true);
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);
var dataType = '';
var objectInstance = component.get("v.objectInstance");
// console.log('objectInstance');
// console.log(JSON.stringify(objectInstance));
// console.log(objectInstance.dataType);
component.set("v.type",objectInstance.dataType);
if(objectInstance.dataType == 'STRING' || objectInstance.dataType == 'TEXTAREA' || objectInstance.dataType == 'PICKLIST' || objectInstance.dataType == 'ADDRESS' || objectInstance.dataType == 'URL' || objectInstance.dataType == 'EMAIL' || objectInstance.dataType == 'ID'){
dataType = 'string';
}else if(objectInstance.dataType == 'DOUBLE' || objectInstance.dataType == 'CURRENCY' || objectInstance.dataType == 'PHONE' || objectInstance.dataType == 'INTEGER'){
dataType = 'number';
}else if(objectInstance.dataType == 'DATE' || objectInstance.dataType == 'DATETIME'){
dataType = 'datetime';
}else if(objectInstance.dataType == 'BOOLEAN'){
dataType = 'boolean';
}
var filterList = [];
if( dataType != null && dataType != ''){
var objectTableData2 = component.get("v.objectTableData2");
// console.log('*****dataType 25****'+dataType);
objectTableData2.forEach(function(element) {
//console.log(element);
if(dataType.toLowerCase() == 'string'){
filterList.push( element );
}
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 );
}
});
//console.log('filterList');
// console.log( filterList );
component.set("v.filteredList",filterList);
}
},
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);
},
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);
}
},
checkDefault : function(component, event, helper){
//if(component.get("v.objectInstance.DefaultValue")){
component.set("v.objectInstance.selectedfields","");
component.set("v.flag",true);
//}
}
})