287 lines
16 KiB
JavaScript
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);
|
|
//}
|
|
}
|
|
}) |