DistributorManufacturers = function( options ) {
this.cdr_recordId = options.cdr_recordId;
this.stockingGuideAdvancedFeatures = Fse.Portal.appConfiguration['102'].stockingGuideAdvancedFeatures.enabled == "true" ? true : false;
}
DistributorManufacturers.prototype.constructor = DistributorManufacturers;
DistributorManufacturers.prototype.element = function() {
let instance = this;
//console.log( instance );
if( instance.rootElement ) return instance.rootElement;
let dataSource = Fse.Data.newDataSource( { object : "CDR.manufacturers", keyField : "mfr_id", paginate : false, objectParams : { cdr_recordId : instance.cdr_recordId }});
instance.dataGrid = $("
").dxDataGrid( {
height : "100%",
columns : [
{ dataField : "priority", caption : "Priority", width : 80 },
{ dataField : "mfrCode", caption : "MFR Cust Num", width : 100 },
{ dataField : "mfr_name", caption : "Manufacturer" },
{ dataField : "openCnt", caption : "Open SKUs", dataType : "number", width : 100, visible : instance.stockingGuideAdvancedFeatures, showInColumnChooser : instance.stockingGuideAdvancedFeatures },
{ dataField : "closedCnt", caption : "Closed SKUs", dataType : "number", width : 100, visible : instance.stockingGuideAdvancedFeatures, showInColumnChooser : instance.stockingGuideAdvancedFeatures },
{ dataField : "specialCnt", caption : "Sp. Ord. SKUs", dataType : "number", width : 100, visible : instance.stockingGuideAdvancedFeatures, showInColumnChooser : instance.stockingGuideAdvancedFeatures },
{ name : "actions", 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;
}
}]
}
],
showBorders : true,
scrolling : { mode : "virtual" },
dataSource : dataSource,
onRowDblClick : function( dce ) {
if( dce.rowType != "data" ) return;
if( instance.stockingGuideAdvancedFeatures ) {
instance.showDistMfrStocking( dce.data.mfr_id, dce.data.mfr_name );
}
},
onCellClick : function( cce ) {
if( cce.rowType != "data" ) {
return;
}
const data = cce.data;
if( cce.column.name === "actions" ) {
// create a context menu
let items = [];
if( instance.stockingGuideAdvancedFeatures ) {
items.push( { text : "SKU Status", actionCode : "skuStatus" } );
// items.push( { text : "Clear Dist. SKU Status's", actionCode : "clearStockingStatus" } );
}
items.push( { text : "Order History", actionCode : "orderHistory"} );
$("
").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 'skuStatus' :
instance.showDistMfrStocking( data.mfr_id, data.mfr_name );
break;
/*
case "clearStockingStatus" :
Fse.CDR.showDistClearedStatuses(instance.cdr_recordId, data.mfr_id, data.mfr_name, 1);
break;
*/
case 'orderHistory' :
Fse.CDR.showDistMfrSkuOrders(instance.cdr_recordId, data.mfr_id, data.mfr_name );
break;
}
}
cme.component.hide();
},
target : cce.cellElement
}).appendTo( "body" ).dxContextMenu("show");
}
}
}).dxDataGrid( "instance" );
instance.rootElement = $("
").addClass( "DistributorManufacturers" ).css( { "height" : "100%" });
instance.rootElement.append( instance.dataGrid.element() )
return instance.rootElement;
}
DistributorManufacturers.prototype.showDistMfrStocking = function ( mfrId, mfrName ) {
let instance = this;
Fse.CDR.showDistMfrStocking(instance.cdr_recordId, mfrId, mfrName );
}