init: function(modelDataSet){
var settings = {};
settings.resourceName = "workOrder";
settings.stateToAlias = {};
settings.configuration = {
"WAPPR": ["WAPPR", "APPR", "INPRG", "WMATL", "COMP", "CAN"],
"APPR" : ["WAPPR", "APPR", "INPRG", "WMATL", "COMP", "CAN"],
"INPRG": ["WAPPR", "INPRG", "WMATL", "COMP" ],
"WSCH": ["WAPPR", "APPR", "INPRG", "WSCH", "WMATL", "COMP" ],
"WMATL": ["WAPPR", "INPRG", "WMATL", "COMP", "CAN"],
"COMP": [ "COMP" ],
"CLOSE": [ "CLOSE" ],
"CAN": [ "CAN"]
};
<lookup id="WorkExecution.statusLookup" label="Work Order Status" resource="domainwostatus" filterClass="application.handlers.StatusChangeHandler" filterMethod="filterWOStatus">
define("custom/handlers/MyStatusChangeHandler",
[ "dojo/_base/declare",
"platform/handlers/_ApplicationHandlerBase",
"application/handlers/StatusChangeHandler",
"application/business/WorkOrderStatusHandler" ],
function(declare, ApplicationHandlerBase, StatusChangeHandler, WorkOrderStatusHandler) {
return declare( [ApplicationHandlerBase, StatusChangeHandler], {
// dummy method required only to ensure script loading
dummyMethod: function(eventContext) {
},
// Filter WO statuses to those available for selection
filterWOStatus: function(eventContext) {
// call the original filterWOStatus method
this.inherited(arguments);
// retrieve current status
var currWO = eventContext.application.getResource("workOrder").getCurrentRecord();
var currStatus = currWO.get("status");
// retrieve wodomain resource
var woStatusDomain = this.application.getResource('domainwostatus');
// sets the additional filter if necessary
if(woStatusDomain.isFiltered() && currStatus!="INPRG1"){
woStatusDomain.filter("value!=$1", "INPRG2");
}
},
});
});
<eventHandler event="render" class="custom.handlers.MyStatusChangeHandler" method="dummyMethod" />
Labels: anywhere