Override QuickFilter mothod on Grid.ts file.
protected getQuickFilters(): Serenity.QuickFilter<Serenity.Widget<any>, any>[] {
// get quick filter list from base class, e.g. columns
let filters = super.getQuickFilters();
// get a reference to order row field names
let fld = Bhaktyadi.BhaktMasterRow.Fields;
let filter = Q.first(filters, x => x.field == fld.FirstName);
filter.title = "First Name:";
filter.handler = h => {
// if filter is active, e.g. editor has some value
if (h.active) {
h.request.Criteria = Serenity.Criteria.or(h.request.Criteria,
[[fld.FirstName], 'like', h.value + '%']);
}
};
filter = Q.first(filters, x => x.field == fld.MiddleName);
filter.title = "Middel Name:";
filter.handler = h => {
// if filter is active, e.g. editor has some value
if (h.active) {
h.request.Criteria = Serenity.Criteria.and(h.request.Criteria,
[[fld.MiddleName], 'like', h.value + '%']);
}
};
filter = Q.first(filters, x => x.field == fld.LastName);
filter.title = "Last Name:";
filter.handler = h => {
// if filter is active, e.g. editor has some value
if (h.active) {
h.request.Criteria = Serenity.Criteria.and(h.request.Criteria,
[[fld.LastName], 'like', h.value + '%']);
}
};
return filters;
}