SyncMadeEasy/force-app/main/default/aura/ConfiguarationCmp/ConfiguarationCmpHelper.js

790 lines
45 KiB
JavaScript

({
getCurrencyISOList: function(component,event){
var store = component.get("v.configObj.HIC_ShopifySync__Store__c");
//console.log('store---',store);
var action = component.get("c.getlistofCurrencyISOCode");
action.setParams({
"store" : store
});
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
component.set("v.CurrencyISOCode",response.getReturnValue()[0]);
component.set("v.OldCurrencyISOCode",response.getReturnValue()[0]);
if(response.getReturnValue()[1] != null && response.getReturnValue()[1] != ''){
component.set("v.CurrencyISOCodeList",JSON.parse(response.getReturnValue()[1]));
}
}else if (state === "SUCCESS" && response.getReturnValue() == null) {
component.set("v.CurrencyISOCode",'');
component.set("v.OldCurrencyISOCode",'');
}
else if (state === "INCOMPLETE") {
// do something
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
},
checksiteaccess: function(component,event){
var accessexist = false;
var CheckSiteAccessaction = component.get("c.CheckSiteClassandPageAccess");
var siteurl = component.get('v.configObj.HIC_ShopifySync__Salesforce_Site_URL__c');
var sitelist = component.get("v.siteURLList");
var guestuserid;
var SiteName;
for(var item in sitelist ){
if(sitelist[item]['siteUrl'] == siteurl ){
guestuserid = sitelist[item]['siteguestid'];
SiteName = sitelist[item]['Name'];
}
}
CheckSiteAccessaction.setParams({
'Guestuserid':guestuserid
});
CheckSiteAccessaction.setCallback(this,function(res){
var state = res.getState();
if( state =="SUCCESS" && res.getReturnValue() != null && (res.getReturnValue() == true || res.getReturnValue() == 'true')){
this.goNext(component, event);
}else{
component.set("v.CheckSiteAccess",false);
component.set("v.DisableButton",false);
$A.util.removeClass(component.find('CheckStatusButton'),'Hidediv');
$A.util.addClass(component.find('CheckCertificateButton'),'Hidediv');
component.set("v.errormessage",SiteName + "\'s site have no access or this is not active. Please active site or give site access");
var action = component.get("c.openModel");
component.set("v.Spinner", false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
$A.enqueueAction(action);
}
return accessexist;
});
$A.enqueueAction(CheckSiteAccessaction);
//return accessexist;
},
goNext: function(component, event, helper) {
var AccessScopelist = '';
var cStep = component.get("v.currentStep");
// console.log('Current step--> ');
// console.log(component.get("v.currentStep"));
if(cStep == 'step1'){
var storedusername = component.get("v.storedusername");
var storedpassword = component.get("v.storedpassword");
var USER_NAME;
var PASSWORD;
USER_NAME = component.get("v.configObj").HIC_ShopifySync__API_Key__c ;
if((storedpassword == null || storedpassword == '' || storedpassword == undefined ) ){
PASSWORD = component.get("v.configObj").HIC_ShopifySync__Private_Key_Password__c
}else if( storedpassword.toLowerCase().trim() != (component.get("v.configObj").HIC_ShopifySync__Private_Key_Password__c).toLowerCase().trim()){
PASSWORD = component.get("v.configObj").HIC_ShopifySync__Private_Key_Password__c
}else if( storedpassword.toLowerCase().trim() == (component.get("v.configObj").HIC_ShopifySync__Private_Key_Password__c).toLowerCase().trim() ) {
PASSWORD = component.get("v.configObj").HIC_ShopifySync__Private_Key_Password__c +'True';;
}
var shopifyUrl = component.get("v.configObj").HIC_ShopifySync__Shopify_URL__c;
// console.log('Credentials-->');
// console.log(USER_NAME);
// console.log(PASSWORD);
// console.log(shopifyUrl);
// USER_NAME = component.get("v.configObj").HIC_ShopifySync__API_Key__c;
// PASSWORD = component.get("v.configObj").HIC_ShopifySync__Private_Key_Password__c;
var CreateStorURLRemoteSite = component.get("c.createRemoteSiteSettings");
CreateStorURLRemoteSite.setParams({
'URL':shopifyUrl
});
CreateStorURLRemoteSite.setCallback(this,function(res){
var state = res.getState();
if(state =="SUCCESS" ){
var action1 = component.get("c.checkCreds");
action1.setParams({ 'shopifyUrl' : shopifyUrl,
'USER_NAME' : USER_NAME,
'PASSWORD' : PASSWORD
});
action1.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" ) {
if(response.getReturnValue() === false){
// alert('Shopify Credentials are worng please check again');
component.set("v.DisableButton",false);
var action = component.get("c.openModel");
component.set("v.CheckSiteAccess",true);
$A.util.addClass(component.find('CheckStatusButton'),'Hidediv');
$A.util.removeClass(component.find('CheckCertificateButton'),'Hidediv');
component.set("v.errormessage","Authenticate Error or please check shopify self-signed certificate");
component.set("v.Spinner", false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
$A.enqueueAction(action);
}else{
var actionforAccessScope = component.get("c.checkCAccesscope");
actionforAccessScope.setStorable();
actionforAccessScope.setParams({ 'shopifyUrl' : shopifyUrl,
'USER_NAME' : USER_NAME,
'PASSWORD' : PASSWORD
});
actionforAccessScope.setCallback(this, function(responseScope){
var stateScope = responseScope.getState();
if(stateScope === "SUCCESS" && responseScope.getReturnValue() != null ){
AccessScopelist = responseScope.getReturnValue();
//component.set(component.get("v.AccessScopeError"),responseScope.getReturnValue());
var listAccessScopeError = [];
var AccessScope = false;
if(!responseScope.getReturnValue().includes('read_products')){
AccessScope = true;
if(!listAccessScopeError.includes('Product')){
listAccessScopeError.push('Product');
}
}
if(component.get("v.configObj.v.configObj.HIC_ShopifySync__Collection_Sync__c") && !responseScope.getReturnValue().includes('read_products') ){
AccessScope = true;
//component.set("v.configObj.v.configObj.HIC_ShopifySync__Collection_Sync__c",false);
if(!listAccessScopeError.includes('collection'))
listAccessScopeError.push('collection');
}
if(component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") && ( !responseScope.getReturnValue().includes('read_inventory') || !responseScope.getReturnValue().includes('read_locations')) ){
AccessScope = true;
//component.set("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c",false);
if(!listAccessScopeError.includes('Location/Inventory'))
listAccessScopeError.push('Location/Inventory');
}
if(!responseScope.getReturnValue().includes('read_customers') ){
AccessScope = true;
if(!listAccessScopeError.includes('Customer'))
listAccessScopeError.push('Customer');
}
if((component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") || component.get("v.configObj.HIC_ShopifySync__Opportunity_Sync__c" )) && !responseScope.getReturnValue().includes('read_orders')){
AccessScope = true;
//component.set("v.configObj.HIC_ShopifySync__Order_Sync__c",false);
//component.set("v.configObj.HIC_ShopifySync__Opportunity_Sync__c",false);
if(!listAccessScopeError.includes('Orders'))
listAccessScopeError.push('Orders');
}
if(component.get("v.configObj.HIC_ShopifySync__Draft_Order_Sync__c") && !responseScope.getReturnValue().includes('read_draft_orders')){
AccessScope = true;
// component.set("v.configObj.HIC_ShopifySync__Draft_Order_Sync__c",false);
if(!listAccessScopeError.includes('Draft Orders'))
listAccessScopeError.push('Draft Orders');
}
component.set("v.listAccessScopeError",listAccessScopeError);
component.set("v.AccessScopeShow",AccessScope);
component.set("v.AccessScope",responseScope.getReturnValue());
if(!AccessScope){
//component.set("v.Spinner",true);
component.set("v.currentStep", "step2");
try{
//component.set("v.configObj.HIC_ShopifySync__API_Key__c",USER_NAME);
component.set("v.configObj.HIC_ShopifySync__Private_Key_Password__c",PASSWORD);
var configObj = component.get("v.configObj");
var action = component.get("c.saveConfigration");
// console.log( 'save config --> '+ component.get("v.configObj"));
action.setParams({ 'configObj' : JSON.stringify( component.get("v.configObj")),
'check' : 'True'});
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
debugger;
var storename = (component.get("v.configObj").HIC_ShopifySync__Shopify_URL__c).replaceAll('https://','').replace('.myshopify.com','').replace('/','');
configObj.Name = storename;
configObj.HIC_ShopifySync__Store__c = storename;
//console.log(JSON.stringify(configObj));
var saveCurrencyISOCodeValue = component.get("c.saveCurrencyISOCode");
var currencyValues = '{"CurrencyISOCode":'+ JSON.stringify(component.get("v.CurrencyISOCode")) +',"IsChanged":'+ JSON.stringify(component.get("v.IsChanged")) +',"store":'+JSON.stringify(storename)+' }';
saveCurrencyISOCodeValue.setParams({'CurrencyISOCodeValue' :currencyValues });
saveCurrencyISOCodeValue.setCallback(this,function(ISOres){
var ISOState = ISOres.getState();
if((ISOState == "SUCCESS" && ISOres.getReturnValue() == true) ){
this.getConfigurations( component, event );
var CreateRemoteSiteSettingForMainSite = component.get("c.createRemoteSiteSettings");
CreateRemoteSiteSettingForMainSite.setParams({
'URL':component.get('v.configObj.HIC_ShopifySync__Salesforce_Site_URL__c')
});
CreateRemoteSiteSettingForMainSite.setCallback(this,function(mainres){
var mainSiteSate = mainres.getState();
if(mainSiteSate == "SUCCESS"){
var configObj = component.get("v.configObj");
$A.createComponent("c:ConfiguarationGeneral" , {
"aura:id": "ConfiguarationGeneral",
"Spinner" : "true",
"AccessScope": component.get("v.AccessScope"),
"storeurl" : configObj.HIC_ShopifySync__Shopify_URL__c,
"store" : configObj.HIC_ShopifySync__Store__c
},
function(newButton, status, errorMessage){
component.set("v.mainBoolean" , true );
component.set("v.body", newButton);
//component.set("v.configObj",JSON.stringify( component.get("v.configObj")));
});
//component.set("v.Spinner",false);
}
});
$A.enqueueAction(CreateRemoteSiteSettingForMainSite);
}
});
if(component.get("v.CurrencyISOCode") != null && component.get("v.CurrencyISOCode") != ''){
$A.enqueueAction(saveCurrencyISOCodeValue);
}else{
var CreateRemoteSiteSettingForMainSite = component.get("c.createRemoteSiteSettings");
CreateRemoteSiteSettingForMainSite.setParams({
'URL':component.get('v.configObj.HIC_ShopifySync__Salesforce_Site_URL__c')
});
CreateRemoteSiteSettingForMainSite.setCallback(this,function(mainres){
var mainSiteSate = mainres.getState();
if(mainSiteSate == "SUCCESS"){
var configObj = component.get("v.configObj");
$A.createComponent("c:ConfiguarationGeneral" , {
"aura:id": "ConfiguarationGeneral",
"Spinner" : "true",
"AccessScope": component.get("v.AccessScope"),
"storeurl" : configObj.HIC_ShopifySync__Shopify_URL__c,
"store" : configObj.HIC_ShopifySync__Store__c
},
function(newButton, status, errorMessage){
component.set("v.mainBoolean" , true );
component.set("v.body", newButton);
});
}
});
$A.enqueueAction(CreateRemoteSiteSettingForMainSite);
}
//component.set("v.currentStep", "step2");
}
else if (state === "INCOMPLETE") {
}else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message +" no. "+ errors[0].LineNumber);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
var storename = (configObj.HIC_ShopifySync__Shopify_URL__c).replaceAll('https://','').replace('.myshopify.com','').replace('/','');
var pricebookId = configObj.HIC_ShopifySync__Salesforce_Pricebook__c;
var savePriceBookMapping = component.get("c.savePriceBookMapping");
savePriceBookMapping.setParams({ 'storename' : storename,
'pricebookId' : pricebookId});
savePriceBookMapping.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
debugger;
}
else if (state === "INCOMPLETE") {
}else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message +" no. "+ errors[0].LineNumber);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(savePriceBookMapping);
}catch(error){
Console.log('error for save custom setting' + error);
}
}else if(AccessScope){
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
component.set("v.DisableButton",false);
}
}
else if (state === "INCOMPLETE") {
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}else if(response.getReturnValue() == null){
console.log("retun null");
}
});
$A.enqueueAction(actionforAccessScope);
}
}
//component.set("v.Spinner",false);
});
$A.enqueueAction(action1);
}
});
$A.enqueueAction(CreateStorURLRemoteSite);
}else if(cStep == 'step2'){
component.set("v.currentStep", "step3");
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
$A.createComponent("c:dynamicRow" , {
"aura:id": "dynamicRow",
"store":component.get("v.configObj").HIC_ShopifySync__Store__c },
function(newButton, status, errorMessage){
component.set("v.body", newButton);
component.set("v.mainBoolean" , true );
});
}else if(cStep == 'step3'){
component.set("v.currentStep", "step4");
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
$A.createComponent("c:ConfiguarationRecordTypeMapping" , {
"aura:id": "ConfiguarationRecordTypeMapping" },
function(newButton, status, errorMessage){
component.set("v.body", newButton);
component.set("v.mainBoolean" , true );
});
}
},
getAccessScopeList: function(component, event, helper){
var actionforAccessScope = component.get("c.checkCAccesscope");
actionforAccessScope.setStorable();
actionforAccessScope.setParams({ 'shopifyUrl' : shopifyUrl,
'USER_NAME' : USER_NAME,
'PASSWORD' : PASSWORD
});
actionforAccessScope.setCallback(this, function(responseScope){
var stateScope = responseScope.getState();
if(stateScope === "SUCCESS" && responseScope.getReturnValue() != null ){
component.set(component.get("v.AccessScopeError"),responseScope.getReturnValue());
}
else if (state === "INCOMPLETE") {
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}else if(response.getReturnValue() == null){
console.log("retun null");
}
});
$A.enqueueAction(actionforAccessScope);
},
getEmailErrorlist: function(component, event, helper) {
var action = component.get("c.getErrorMailList");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
component.set("v.emaiList",JSON.parse(response.getReturnValue()));
var emaiList = component.get("v.emaiList");
for(var item in emaiList){
emaiList[item]['sobjectType'] = "HIC_ShopifySync__Email_Addresses_to_send_error_CSV__c";
emaiList[item]['errormailfrmt'] = false;
};
component.set("v.emaiList",emaiList);
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
}
else if (state === "INCOMPLETE") {
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}else if(response.getReturnValue() == null){
var defaultrow = this;
//component.set("v.emaiList",JSON.parse(response.getReturnValue()));
// defaultrow.createObjectData(component, event);
var emptyEmaillist = [];
emptyEmaillist.push({
"sobjectType": ''
});
component.set("v.emaiList",emptyEmaillist);
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
}
});
$A.enqueueAction(action);
},
getPricebookList : function( component, event ) {
var action = component.get("c.getActivePricebook");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
component.set("v.pricebookList",JSON.parse(response.getReturnValue()));
}
else if (state === "INCOMPLETE") {
// do something
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
},
getSiteURLList : function( component, event ) {
var action = component.get("c.getSiteURLs");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
component.set("v.CheckSiteExist",true);
component.set("v.siteURLList",JSON.parse(response.getReturnValue()));
}
else if (state === "INCOMPLETE") {
// do something
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
},
getConfigurationData : function( component, event ) {
var action = component.get("c.getConfigration");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
var configObj = JSON.parse( response.getReturnValue() );
component.set("v.configObj", configObj);
// component.set("v.storedusername",configObj.HIC_ShopifySync__API_Key__c);
// component.set("v.storedpassword", configObj.HIC_ShopifySync__Private_Key_Password__c);
if(component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != null && component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != '' && component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != undefined){
component.set("v.currentStep","step1");
}
if(component.get("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c") == true)
{
component.set("v.currentStep",'Finised');
}
component.set("v.OldPricebook",component.get("v.configObj.HIC_ShopifySync__Salesforce_Pricebook__c"));
this.getCurrencyISOList(component, event);
}
else if (state === "INCOMPLETE") {
console.log('configuration get error');
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
},
checkStoreToken : function( component, event ) {
// console.log('shopify url',component.get("v.configObj").HIC_ShopifySync__Shopify_URL__c);
var store = (component.get("v.configObj").HIC_ShopifySync__Shopify_URL__c).replaceAll('https://','').replace('.myshopify.com','').replace('/','').trim();
// console.log('store-',store);
var action = component.get("c.getConfigrationForDynamicRow");
action.setParams({
"store" : store
});
action.setCallback(this, function(response) {
var state = response.getState();
// console.log('state-', state);
if (state === "SUCCESS" && response.getReturnValue() != null ) {
var configObj = JSON.parse( response.getReturnValue() );
// console.log('Password-',configObj.HIC_ShopifySync__Private_Key_Password__c);
component.set("v.configObj.HIC_ShopifySync__Private_Key_Password__c", configObj.HIC_ShopifySync__Private_Key_Password__c);
/*component.set("v.configObj", configObj);
// component.set("v.storedusername",configObj.HIC_ShopifySync__API_Key__c);
// component.set("v.storedpassword", configObj.HIC_ShopifySync__Private_Key_Password__c);
if(component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != null && component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != '' && component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != undefined){
component.set("v.currentStep","step1");
}
if(component.get("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c") == true)
{
component.set("v.currentStep",'Finised');
}
component.set("v.OldPricebook",component.get("v.configObj.HIC_ShopifySync__Salesforce_Pricebook__c"));
this.getCurrencyISOList(component, event); */
if(configObj.HIC_ShopifySync__Private_Key_Password__c != null && configObj.HIC_ShopifySync__Private_Key_Password__c != ''){
component.set("v.authDone", true);
component.set("v.isAuthorized", false);
}
}
else if (state === "INCOMPLETE") {
console.log('configuration get error');
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
},
getConfigurations : function( component, event ) {
var action = component.get("c.getConfigrations");
action.setCallback(this, function(response) {
var state = response.getState();
//console.log('state');
//console.log(state);
//console.log(response.getReturnValue());
if(response.getReturnValue() == null){
component.set("v.configObjList", null);
}
if (state === "SUCCESS" && response.getReturnValue() != null ) {
var configObjList = JSON.parse( response.getReturnValue() );
component.set("v.configObjList", configObjList);
//console.log('configObjList');
//console.log(configObjList);
/*component.set("v.storedusername",configObj.HIC_ShopifySync__API_Key__c);
component.set("v.storedpassword", configObj.HIC_ShopifySync__Private_Key_Password__c);
if(component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != null && component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != '' && component.get("v.configObj.HIC_ShopifySync__Refresh_Token__c ") != undefined){
component.set("v.currentStep","step1");
}
if(component.get("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c") == true)
{
component.set("v.currentStep",'Finised');
}
component.set("v.OldPricebook",component.get("v.configObj.HIC_ShopifySync__Salesforce_Pricebook__c"));*/
}
else if (state === "INCOMPLETE") {
console.log('configuration get error');
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
},
createObjectData: function(component, event) {
// get the contactList from component and add(push) New Object to List
var RowItemList = component.get("v.emaiList");
RowItemList.push({
'sobjectType': 'HIC_ShopifySync__Email_Addresses_to_send_error_CSV__c',
//'Name': '',
//'HIC_ShopifySync__Email_Id__c ': '',
'errormailfrmt': false
});
// set the updated list to attribute (contactList) again
component.set("v.emaiList", RowItemList);
},
// helper function for check if email address is not null/blank/invalid on save
validateRequired: function(component, event ,helper) {
/* console.log('validation Entered....');
var isvalid = true;
var allContactRows = component.get('v.emaiList');
var regExpEmailformat = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
allContactRows.forEach( function(ele){
if(ele.Name == '' || ele.Name == null || ele.Name === 'undefined' || !ele.Name.match(regExpEmailformat )){
console.log('validation Entered....');
ele.errormailfrmt = true;
isvalid = false;
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
}else{
ele.errormailfrmt = false;
}
});
console.log(allContactRows);
component.set('v.emaiList',allContactRows);
console.log(isvalid);
return isvalid;*/
var lineItemIdList = component.find('child').length;
var valid = true;
if(lineItemIdList !== undefined && lineItemIdList >= 1 ){
for(var v in component.get("v.emaiList")){
valid = component.find('child')[v].validateData();
}
}else{
valid = component.find('child').validateData();
}
if(valid == false || valid == 'false' || valid == undefined){
component.set("v.Spinner",false);
document.getElementById("divparent").style.pointerEvents = "all";
document.getElementById("divparent").style.display = "block";
}
return valid;
},
toggleHelper : function(component,event) {
var toggleText = component.find("tooltip");
$A.util.toggleClass(toggleText, "toggle");
}
})