Reputation: 15
I get from backend via OData service IDNumber
(an EntitySet).
On frontend, all IDs are shown but if the IDNumber
set is empty, I want to hide the ComboBox
(visible="false"
).
I have no idea how to handle this.
<ComboBox id="cbIDNumber"
items="{/IDNumber}"
visible="{
path: '{/IDNumber}',
formatter: '.formatter.formatVisible'
}"
/>
In formatter.js
, the passed parameter is null
.
How can I get some input I can work with?
Upvotes: 1
Views: 479
Reputation: 6190
There is an event dataReceived
that will be triggered if your IDNumber list is loaded.
<ComboBox id="cbIDNumber"
items="{
path: '/IDNumber',
events: {
dataReceived: '.onDataReceived'
}
}" />
In your controller you can then implement an event handler:
onDataReceived: function(oEvent) {
const oData = oEvent.getParameter("data");
const aResults = oData.results;
const bIsVisible = aResults.length > 0;
const oCB = this.byId("cbIDNumber");
oCB.setVisible(bIsVisible);
}
Upvotes: 2