431 lines
20 KiB
JavaScript
431 lines
20 KiB
JavaScript
({
|
|
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);
|
|
}
|
|
}
|
|
}) |