cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Smart filter value help disable validation

0 Kudos
2,725

Hello,

I created a service based on a CDS view and used it to create a worklist app with a smart filter bar and smart table. I also used annotations to add value helps. My problem is that for some filters I want the user to be able to filter on values of their choosing, even if the Value Help doesn't return these values. Right now if a value is entered that is not returned from the service, the field's state becomes an Error state and the message "Invalid entry" appears.

How do I prevent this?

Thanks,

View Entire Topic
vneecious
Product and Topic Expert
Product and Topic Expert

The best way is definitely do a custom filter item as xtrnhfo suggested. It's easier than you think. But since you already told you don't want to, the only way I see is by manually change the property "showSuggestion" of the control and also remove the "suggest" event from its event registry.

Something like this:

Controller::onInit

this.byId("smartFilterBar").attachInitialized(oEvent => {
    const oInnerControl = oEvent.getSource().getAllFilterItems().find(oItem => oItem.getName() === "Name").getControl();
    oInnerControl.setShowSuggestion(false);
    delete oInnerControl.mEventRegistry["suggest"];
});

Just keep in mind that this is a very "smelly" solution.