").text( "SENDING RECAP" ) );
}
if( hasValue ) {
container.append( content );
}
}
},
{ dataField : "statusDisplay", caption : "Status", width : 100 },
{ name : "intActions", visible : true, showInColumnChooser : false, width : 30,
type: "buttons",
buttons: [{
template: function(data) {
let button = $("
").addClass("dx-icon-overflow").css( { "display" : "inline-block", "cursor" : "pointer" });
return button;
}
}]
}
],
onRowDblClick : function( cce ) {
if( cce.rowType != "data" ) {
return;
}
let interactionData = cce.data;
if( interactionData.disposition == "?" ) {
Fse.CLOS.openInteractionDialog(interactionData.interactionId,function() { updateDisplay() });
} else {
if( Fse.Portal.checkPermission( 'BCRMObjectiveManagement') || Fse.Portal.checkPermission( 'BCRMClosedCallEdit')) {
Fse.CLOS.openInteractionDialog(interactionData.interactionId,function() { updateDisplay() });
} else {
Fse.CLOS.openInteractionDialog(interactionData.interactionId,function() { updateDisplay() },0,0,false);
}
}
},
onCellClick : function( cce ) {
if( cce.rowType != "data" ) {
return;
}
const interactionData = cce.data;
if( cce.column.name === "intActions" ) {
// create a context menu
let ready = $.Deferred();
let waitingOn = 2;
ready.progress( function() {
waitingOn = waitingOn - 1;
if( waitingOn == 0 ) {
ready.resolve();
}
})
ready.resolve();
ready.done( function() {
let items = [];
if( interactionData.disposition == "?" ) {
items.push( { text : "Complete Call", actionCode : "openInteraction" } )
} else {
if( Fse.Portal.checkPermission( 'BCRMObjectiveManagement') || Fse.Portal.checkPermission( 'BCRMClosedCallEdit')) {
items.push( { text : "Edit Call", actionCode : "openInteraction" } )
} else {
items.push( { text : "View Call", actionCode : "viewInteraction" } )
}
}
if( interactionData.sourceType != 'EML' ) {
items.push( { text : "Copy Call", actionCode : "copyInteraction" } )
}
if( interactionData.disposition == "?" ) {
items.push( { text : "Delete Call", actionCode : "deleteInteraction" } )
}
let recapEnabled = Fse.Portal.checkPermission( "BCRMSendCallRecap" ) && Fse.Portal.getConfiguration ( "CRM.SalesCallRecapEnabled" ) == "true";
if( recapEnabled && interactionData.disposition != "?" && interactionData.sourceType != 'EML' ) {
items.push( { text : "Send Recap", actionCode : "recapInteraction"})
}
if( interactionData.emailId ) {
items.push( { text : "View Email", actionCode : "viewEmailInteraction" })
}
workflowForms.forEach( function( workflowForm ) {
items.push( { text : `Submit '${workflowForm.formName}' Form`, actionCode : "submitWorkflowForm", workflowForm : workflowForm } )
})
$("
").dxContextMenu( {
items : items,
hideOnOutsideClick : true,
onHidden : function( cme ) {
cme.component.element().remove();
cme.component.dispose();
},
onItemClick : function( cme ) {
if( cme.itemData.actionCode ) {
switch ( cme.itemData.actionCode ) {
case 'openInteraction' :
Fse.CLOS.openInteractionDialog(interactionData.interactionId,function() { updateDisplay() });
break;
case 'viewInteraction' :
Fse.CLOS.openInteractionDialog(interactionData.interactionId,function() { updateDisplay() },0,0,false);
break;
case "copyInteraction" :
Fse.CLOS.openInteractionDialog( 0, function() { updateDisplay() }, 0, Fse.Portal.appConfiguration.STP.userId, true, interactionData.interactionId )
break;
case "deleteInteraction" : {
let allowDelete = false;
if( Fse.Portal.checkPermission( 'BCRMObjectiveManagement') ) {
allowDelete = true;
} else if( ! interactionData.hardObjLinks ) {
allowDelete = true;
}
if( allowDelete ) {
let deleteURL = Fse.Util.updateURL2( Fse.CLOS.baseURL, {
view : "listpg-call-list-interaction-delete",
mode : "direct",
interactionID : interactionData.interactionId
})
if( confirm( "Delete this interaction?" )) {
// alert( deleteURL );
Fse.Ajax.getURL( deleteURL, function() { updateDisplay() } );
}
} else {
alert( 'Sales Call is an Objective Target. Only administrators can delete.' );
}
}
break;
case "recapInteraction" :
let scrd = new SalesCallRecapDialog( { interactionID : parseInt( interactionData.interactionId ) });
let scrdPromise = scrd.show();
scrdPromise.done( function() {
instance.dataGrid.refresh();
})
break;
case "viewEmailInteraction" :
let emailURL = Fse.Util.updateURL2( $("link#PortalDocRootURL").attr( "href" ) + "/portlets/emailHistory/content.cfm", {
uid : Fse.Portal.appConfiguration.STP.userId,
utk : Fse.Portal.appConfiguration.STP.userTk,
eid : interactionData.emailId,
etk : interactionData.emailIdTk
})
Fse.Portal.popupWindow('Email',emailURL, 750 );
break;
case "submitWorkflowForm" :
Fse.WRK.openWorkflowForm( cme.itemData.workflowForm.formId, 0, interactionData.interactionId, 'CLL', function() { updateDisplay() } );
break;
}
}
cme.component.hide();
},
target : cce.cellElement
}).appendTo( "body" ).dxContextMenu("show");
})
}
}
}).dxDataGrid( "instance" );
// instance.rootElement.append( instance.dataGrid.element() );
instance.rootElement.dxBox( {
direction : "col",
height : "100%",
items : [
{ baseSize : 30, template : function() { return instance.toolbar.element() }},
{ ratio : 1, template : function() { return instance.dataGrid.element() }}
]
})
let metaDataDS = Fse.Data.newDataSource( { object : "CRM.partnerInteractionMetaData", objectParams : {
partnerId : instance.options.partnerId,
partnerType : instance.options.partnerType
}});
metaDataDS.load().done( function( data ) {
console.log( "META DATA" );
console.log( data )
if( ! data.length ) {
return;
}
if( data[0].salesReps.length ) {
salesRepSelectBox.option( "dataSource", data[0].salesReps );
}
if( mfrSelectBox && data[0].manufacturers.length ) {
mfrSelectBox.option( "dataSource", data[0].manufacturers );
}
workflowForms = data[0].workflowForms
updateDisplay();
})
return instance.rootElement;
}