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 ); }