").dxList( {
dataSource : e.component.getDataSource(),
displayExpr : "resourceDescription",
grouped: true,
showSelectionControls: true,
selectionMode: "multiple",
keyExpr : "resourceId",
selectedItemKeys : v,
onSelectionChanged : function( sce ) {
const keys = sce.component.option( "selectedItemKeys" );
// console.log( "Keys Changed" );
// console.log( keys );
e.component.option( "value", keys );
//console.log( e.component.option( "value" ) );
},
onOptionChanged: function(args) {
/// console.log("inside options changed");
// console.log(args.name);
if (args.name === "selectedItemKeys") {
console.log("DropDownBox value changed:", args.value);
}
// console.log(args.value);
}
}).dxList("instance");
e.component.on('valueChanged', (args) => {
const { value } = args;
console.log( "Value Changed" );
console.log( value );
list.option( "selectedItemKeys", value );
});
return list.element();
}
}
};
let categoriesDataStore = Fse.Data.newDataSource( { object : "CMA.assetPermissions", keyField : "resourceId" });
categoriesDataStore.filter( [ "resourceType", "=", "GRP" ] );
waitingCount++; // moved it to here
categoriesDataStore.load().done( function( data ) {
let newDataSource = new DevExpress.data.DataSource({
store: data,
group: "resourceCategory" // Grouping by a specific column
})
resourceIdsItem.editorOptions.dataSource = newDataSource;
searchItemsPromise.notify();
});
searchItems.push( resourceIdsItem );
searchItems.push( { dataField : "classificationId", label : { location : "left", text : "Classification" }, editorType : "dxDropDownBox",
editorOptions : Fse.UI.multiSelectDropDownBoxEditorOptions( {
dataSource : classificationDataSource,
searchExpr : "categoryName",
searchMode : "contains",
displayExpr : "categoryName",
multipleSelectedDisplay : "Multiple Classification Selected",
keyExpr : "categoryId",
title : "Select Classification"
})
},
{ dataField : "docType", label : { location : "left", text : "Type" }, editorType : "dxDropDownBox",
editorOptions : Fse.UI.multiSelectDropDownBoxEditorOptions( {
dataSource : assetTypeDataSource,
searchExpr : "fileType",
searchMode : "contains",
displayExpr : "fileType",
multipleSelectedDisplay : "Multiple Doc Types Selected",
keyExpr : "fileExt",
title : "Select Document Type"
})
},
{ dataField : "isPublished", label : { location : "left", text : "Published" }, editorType : "dxDropDownBox",
editorOptions : {
placeholder : "Select Status",
dataSource : new DevExpress.data.ArrayStore({
data: instance.publishedOptions,
key: "statusCode"
}) ,
valueExpr : "statusCode", displayExpr : "desc",
contentTemplate : function( e ) {
const v = e.component.option( "value" );
const $list = $("
").dxList( {
dataSource : e.component.getDataSource(),
displayExpr : "desc",
selectionMode: "all",
showSelectionControls : true,
selectedItemKeys : v,
onSelectionChanged : function( sce ) {
const keys = sce.component.option( "selectedItemKeys" );
e.component.option( "value", keys );
}
})
list = $list.dxList('instance');
e.component.on('valueChanged', (args) => {
const { value } = args;
list.option( "selectedItemKeys", value );
});
return $list;
}
}
},
{ dataField : "privateYesNo", label : { location : "left", text : "Restricted" }, editorType : "dxSelectBox",
editorOptions : {
dataSource : {
store : { type : "array",
data : [
{ text : "Yes", privateYesNo : "Y" },
{ text : "No", privateYesNo : "N" }
],
key : "privateYesNo"
}
},
showClearButton : true,
placeholder: "Select Restricted",
displayExpr: "text",
searchEnabled : true,
searchMode : "startswith",
searchExpr : "text",
valueExpr: "privateYesNo"
}
}
);
if( Fse.Portal.appConfiguration.STP.ownerType === "BRO" ) {
searchItems.push(
{
dataField : "mfrId", label : { text : "Manufacturer" }, isRequired : false, editorType : "dxSelectBox", editorOptions : {
searchEnabled : true, searchMode : "startswith",
dataSource : Fse.Data.newDataSource( { object : "BPL.principals", keyField : "mfr_id", paginate : true } ),
searchEnabled : true,
searchExpr : "mfr_name",
valueExpr : "mfr_id",
displayExpr : "mfr_name"
}
}
);
}
searchItems.push(
{ dataField : "product", label : { location : "left", text : "Product" }, editorType : "dxDropDownBox",
editorOptions : Fse.UI.multiSelectDropDownBoxEditorOptions( {
dataSource : Fse.Data.newDataSource( { object : "PRD.productList", keyField : "prodId", paginate : false } ),
searchExpr : "product",
searchMode : "contains",
displayExpr : "product",
multipleSelectedDisplay : "Multiple Products Selected",
keyExpr : "prodId",
title : "Select Product",
})
},
{ dataField : "sku", label : { location : "left", text : "SKU" }, editorType : "dxDropDownBox",
editorOptions : Fse.UI.multiSelectDropDownBoxEditorOptions( {
dataSource : Fse.Data.newDataSource( { object : "PRD.skuList", keyField : "skuId", paginate : false } ),
searchExpr : "skuFull",
searchMode : "contains",
displayExpr : "skuFull",
multipleSelectedDisplay : "Multiple SKUs Selected",
keyExpr : "skuId",
title : "Select SKU",
})
}
);
if( Fse.Portal.appConfiguration.STP.ownerType === "MFR" ) {
searchItems.push(
{
dataField : "broId", label : { text : "Broker" }, isRequired : false, editorType : "dxSelectBox", editorOptions : {
searchEnabled : true, searchMode : "startswith",
dataSource : Fse.Data.newDataSource( { object : "MFR.activeBrokers", keyField : "brokerId", paginate : true } ),
searchEnabled : true,
searchExpr : "brokerName",
valueExpr : "brokerId",
displayExpr : "brokerName"
}
}
);
}
let distDataStore = Fse.Data.newDataSource( { object : "CDR.distributors", keyField : "distId" , paginate : true});
distDataStore.filter( [ "crmActive", "=", "Y" ] );
distDataStore.load();
searchItems.push(
{
dataField : "distId", label : { text : "Distributor" }, isRequired : false, editorType : "dxSelectBox", editorOptions : {
searchEnabled : true, searchMode : "startswith",
dataSource :distDataStore,
searchEnabled : true,
searchExpr : "distName",
valueExpr : "distId",
displayExpr : "distName"
}
},
{
dataField : "oprId", label : { text : "Operator HQ" }, isRequired : false, editorType : "dxSelectBox", editorOptions : {
searchEnabled : true, searchMode : "startswith",
dataSource : Fse.Data.newDataSource( {object : "OPR.operatorHQList", keyField : "OperatorID", paginate : true} ),
searchEnabled : true,
searchExpr : "oprCompanyName",
valueExpr : "OperatorID",
displayExpr : "oprCompanyName"
}
}
);
return searchItemsPromise;
}
AssetSearch.prototype._prepareFormData = function( data ) {
let formDataPromise = $.Deferred();
console.log( "prepareFormData", data );
let assetPermissionDataSource = Fse.Data.newDataSource( { object : "CMA.assetPermissions", paginate : true, pageSize : 50, objectParams : { assetId : data.fileId, assetType : data.contentDomain} });
assetPermissionDataSource.load().done( function( assetPermissions ) {
//console.log( "assetPermissions", assetPermissions );
let assetDefaults = {
// privateYesNo : data.privateYesNo == 'Y' ? true : false,
isPublished : ["Y","F"],
};
formDataPromise.resolve( assetDefaults );
})
return formDataPromise;
}
AssetSearch.prototype.show = function( options ) {
console.log( "inside show" );
console.log( options );
let instance = this;
instance._createSearchItems().done( function( formItems ) {
let data = { fileId : 0 };
console.log( "formItems", formItems );
console.log( data );
instance._prepareFormData( data ).done( function( assetDefaults ) {
if(options.searchParams)
{
assetDefaults = $.extend( true, assetDefaults, options.searchParams );
}
console.log( "assetDefaults", assetDefaults );
instance.searchForm = $( "
").dxForm( {
formData : assetDefaults,
colCount : 1,
items : formItems,
}).dxForm( "instance" );
let popup = $("
").dxPopup( {
title : "Asset Search",
onHidden : function( e ) {
popup.element().remove();
popup.dispose();
instance.searchForm.dispose();
},
contentTemplate : function() {
return instance.searchForm.element()
},
toolbarItems : [
/*{ toolbar : "bottom", location : "after",
widget : "dxButton", options : {
text : "Reset All",
onClick : function( e ) {
instance.searchForm.option( "formData", {isPublished : ["Y","F"]} );
}
}
},*/
{ toolbar : "bottom", location : "after",
widget : "dxButton", options : {
text : "clear",
onClick : function( e ) {
instance.searchForm.option( "formData", {} );
}
}
},
{ toolbar : "bottom", location : "after",
template : function() {
instance.searchButton = $("
").css( { "background-color" : "#4b286d", "color": "white" } ).dxButton( {
text : "search",
onClick : function( ) {
let searchParams = $.extend( true, {}, instance.searchForm.option( "formData" ));
console.log( "searchParams" );
console.log( searchParams );
//searchParams.resourceIds = searchParams.resourceId;
options.onSearch( searchParams );
popup.hide();
}
}).dxButton("instance")
return instance.searchButton.element()
}
}
]
}).appendTo( "body" ).dxPopup("instance");
popup.show();
})
});
}