SyncMadeEasy/force-app/main/default/aura/BatchProcessingPage/BatchProcessingPageControll...

205 lines
13 KiB
JavaScript

({
handleUpdateStoreValue : function (component, event, helper) {
console.log('handleUpdateStoreValue called --> ');
var store = event.getParam("store");
console.log('handleUpdateStoreValue called-> '+store);
component.set("v.store",store)
},
CloseAbortbox: function(component, event, helper){
component.set("v.ProgressMessage","There was an error while collection "+component.get("v.objectname"));
// $A.util.addClass(component.find('ProgressMessageid'), 'StatusIncompleted');
//component.set("v.Batchabortedbox",false);
},
refreshpageandexecutebatch: function(component, event, helper){
component.set("v.disableabortedbuttton",true);
helper.refreshpageandexecutebatch(component, event, helper);
},
startfromthefirstpage: function(component, event, helper){
component.set("v.disableabortedbuttton",true);
helper.startfromthefirstpage(component, event, helper);
},
scriptsLoaded : function(component, event, helper){
},
doinit : function(component, event, helper) {
setTimeout(function(){
component.set("v.Spinner",false);
}, 2000);
console.log('handleUpdateStoreValue called --> ');
var configObj = component.get("v.configObj");
console.log('configObj');console.log(JSON.stringify(configObj));
try{
helper.getConfigurationData( component, event );
var store = event.getParam("store");
console.log('store--');console.log(store);
if(store == 'default' || store == undefined){
store = configObj.Name;
}
console.log('handleUpdateStoreValue called-> '+store);
component.set("v.store",store)
}catch(e){
}
//component.set("v.store",(configObj.HIC_ShopifySync__Shopify_URL__c).replaceAll('https://','').replaceAll('.myshopify.com','').replaceAll('/',''));
console.log('doint->');
console.log(configObj.HIC_ShopifySync__Shopify_URL__c);
var CloseSpinnerEventFire = $A.get("e.c:CloseSpinner");
CloseSpinnerEventFire.setParams({
"Spinner" : false });
CloseSpinnerEventFire.fire();
var getDocumentUrl = component.get('c.getWriteReviewURL');
getDocumentUrl.setCallback(this,function(res){
var state = res.getState();
var returnvalue = [];
returnvalue = JSON.parse(res.getReturnValue());
if(state == 'SUCCESS'&& returnvalue != null ){
/*component.set("v.WriteReviewURL",Mapofreturnvalue.get('AppWriteReviewURL'));
component.set("v.facebookURL",Mapofreturnvalue.get('Facebook'));
component.set("v.InstagramURL",Mapofreturnvalue.get('Twitter'));
component.set("v.twitterURL",Mapofreturnvalue.get('Instagram'));
component.set("v.LinkedinURL",Mapofreturnvalue.get('Linkedin'));*/
for(var item in returnvalue){
var name = returnvalue[item]['name'];
var url = returnvalue[item]['Url'];
if(name == 'AppWriteReviewURL'){
component.set("v.WriteReviewURL",url);
}else if(name == 'Facebook'){
component.set("v.facebookURL",url);
}else if(name == 'Instagram'){
component.set("v.InstagramURL",url);
}else if(name == 'Twitter'){
component.set("v.twitterURL",url);
}else if(name == 'Linkedin'){
component.set("v.LinkedinURL",url);
}
}
//helper.CallBatchInfo(component, event, helper);
var objectName;
var ApexClassName;
if((component.get("v.ProductCount") == 'In Queue' || component.get("v.ProductComplete") == 'false' || component.get("v.ProductComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')){
objectName = 'Product2';
ApexClassName = 'BatchToCreateProducts';
}else if((component.get("v.VarientCount") == 'In Queue' || component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && (component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')){
objectName = 'HIC_ShopifySync__Variant__c';
ApexClassName = 'BatchToCreateProducts';
}else if((component.get("v.AccountCount") == 'In Queue' || component.get("v.AccountComplete") == 'false' || component.get("v.AccountComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')){
objectName = 'Account';
ApexClassName = 'FetchAccounts';
}else if((component.get("v.ContactCount") == 'In Queue' || component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')){
objectName = 'Contact';
ApexClassName = 'FetchAccounts';
}else if((component.get("v.OrderCount") == 'In Queue' || component.get("v.OrderComplete") == 'false' || component.get("v.OrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == 'true')){
objectName = 'Order';
ApexClassName = 'FetchOrders';
}else if((component.get("v.OppCount") == 'In Queue' || component.get("v.OppComplete") == 'false' || component.get("v.OppComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == true || component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == 'true')){
objectName = 'Opportunity';
ApexClassName = 'FetchOrders';
}else if((component.get("v.SmartCount") == 'In Queue' || component.get("v.SamartComplete") == 'false' || component.get("v.SamartComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){
objectName = 'HIC_ShopifySync__Collection__c';
ApexClassName = 'FetchSmartCollection_Batch';
}else if((component.get("v.CustomCount") == 'In Queue' || component.get("v.CustomComplete") == 'false' || component.get("v.CustomComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){
objectName = 'HIC_ShopifySync__Collection__c';
ApexClassName = 'FetchCollections_Batch';
}else if((component.get("v.CollectCount") == 'In Queue' || component.get("v.CollectComplete") == 'false' || component.get("v.CollectComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){
objectName = 'HIC_ShopifySync__Collect__c';
ApexClassName = 'FetchCollects_Batch';
}else if((component.get("v.LocationCount") == 'In Queue' || component.get("v.LocationComplete") == 'false' || component.get("v.LocationComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')){
objectName = 'HIC_ShopifySync__Location__c';
ApexClassName = 'FetchLocations_Batch';
}else if((component.get("v.InventoryCount") == 'In Queue' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')){
objectName = 'HIC_ShopifySync__Inventory__c';
ApexClassName = 'FetchInventoryItems';
}else if((component.get("v.DraftOrderCount") == 'In Queue' || component.get("v.DraftOrderComplete") == 'false' || component.get("v.DraftOrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true')){
objectName = 'Draftorder';
ApexClassName = 'FetchOrders';
}else{
objectName = '';
ApexClassName = '';
}
console.log('v.IsBatchProcess');console.log(component.get("v.IsBatchProcess"));
console.log('objectName');console.log(objectName);
console.log('ApexClassName');console.log(ApexClassName);
console.log('configObj.HIC_ShopifySync__BatchisAborted__c');console.log(component.get("v.configObj.HIC_ShopifySync__BatchisAborted__c"));
console.log('v.Batchabortedbox');console.log(component.get("v.Batchabortedbox"));
console.log('setinterval');console.log(component.get("v.setinterval"));
//execute callApexMethod() again after 5 sec each
if((component.get("v.IsBatchProcess") == 'true' || component.get("v.IsBatchProcess") == true) && objectName != '' && ApexClassName != '' && component.get("v.configObj.HIC_ShopifySync__BatchisAborted__c") == false && component.get("v.setinterval") != 1010101010010010 && component.get("v.Batchabortedbox") == false ){
//helper.CallBatchInfo(component, event, helper);
if(component.get("v.Batchaborted") || component.get("v.Batchabortedbox")) return;
var setinterval = window.setInterval(
$A.getCallback(function() {
if(component.get("v.Batchaborted") || component.get("v.Batchabortedbox")) return;
helper.CallBatchInfo(component, event, helper);
}), 5000
);
component.set("v.setinterval",setinterval);
}else if(component.get("v.configObj.HIC_ShopifySync__BatchisAborted__c") || component.get("v.Batchaborted") != false && component.get("v.Batchabortedbox") != false && component.get("v.setinterval") != 1010101010010010 ){
component.set("v.Batchaborted",true);
component.set("v.Batchabortedbox",true);
}else {
component.set('v.ProgressMessage','Background setup finished');
$A.util.addClass(component.find('progesssbar'), 'ProgressCompleted');
component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false);
component.set("v.ProgessValue",100);
$A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted');
if(component.get("v.setinterval") != 1010101010010010){
helper.AbortInterval(component, event, helper);
}
}
var action = component.get("c.getErrorMailList");
action.setCallback(this,function(response){
if(response.getState() == 'SUCCESS' && response.getReturnValue() != null){
var listofemails = [];
listofemails = JSON.parse(response.getReturnValue());
var emailsoneline = '';
for (var i = 0; i < listofemails.length; i++) {
if(i == (listofemails.length - 2)){
emailsoneline += listofemails[i]['Name']+' and '
}else{
emailsoneline += listofemails[i]['Name']+', ';
}
}
emailsoneline = emailsoneline.replace(/,(\s+)?$/, '');
if(emailsoneline != ''){
component.set("v.emails",emailsoneline);
}
}
});
$A.enqueueAction(action);
}
});
$A.enqueueAction(getDocumentUrl);
}
})