37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
sap.ui.define([
|
|
"sap/ui/core/mvc/Controller",
|
|
"sap/ui/model/json/JSONModel",
|
|
"sap/ui/model/Filter",
|
|
"sap/ui/model/FilterOperator"
|
|
], (Controller, JSONModel, Filter, FilterOperator) => {
|
|
"use strict";
|
|
|
|
return Controller.extend("ui5.walkthrough.controller.InvoiceList", {
|
|
onInit() {
|
|
const oViewModel = new JSONModel({
|
|
currency: "EUR"
|
|
});
|
|
this.getView().setModel(oViewModel, "view");
|
|
},
|
|
|
|
onFilterInvoices(oEvent) {
|
|
// build filter array
|
|
const aFilter = [];
|
|
const sQuery = oEvent.getParameter("query");
|
|
if(sQuery) {
|
|
aFilter.push(new Filter("ProductName", FilterOperator.Contains, sQuery));
|
|
}
|
|
|
|
// filter binding
|
|
const oList = this.byId("invoiceList");
|
|
const oBinding = oList.getBinding("items");
|
|
oBinding.filter(aFilter);
|
|
},
|
|
|
|
onPress() {
|
|
const oRouter = this.getOwnerComponent().gtRouter();
|
|
oRouter.navTo("detail");
|
|
}
|
|
|
|
});
|
|
}); |