verter.
proxy: {
type: "direct",
api: {
read: "eventService.read",
create: "eventService.update",
update: "eventService.update",
destroy: "eventService.destroy"
},
reader: {
rootProperty: "records"
},
writer: {
writeAllFields: true
}
},
autoLoad: true,
initComponent: function() {
console.log('initComp');
var me = this,
eventData = Nexus.modules.calendar.data;
console.log('me: '+me+', eventData: '+eventData);
me.sorters = me.sorters || [{
property: eventData.EventMappings.StartDate.name,
direction: 'ASC'
}];
console.log('sorters: '+me.sorters);
me.idProperty = me.idProperty || eventData.EventMappings.EventId.name || 'id';
me.fields = eventData.EventModel.prototype.fields.getRange();//getFields();
me.callParent(arguments);
}
MemoryEventStore changed to a proxy.Direct
@ExtDirectMethod(STORE_READ)
@Transactional(readOnly = true)
public ExtDirectStoreResult<Event> read(ExtDirectStoreReadRequest request) {
System.out.println("request "+request+", tostring: "+request.toString());
JPQLQuery<Event> query = this.jpaQueryFactory.selectFrom(QEvent.event);
if (!request.getFilters().isEmpty()) {
System.out.println("request Filters: "+request.getFilters());
StringFilter filter = (StringFilter) request.getFilters().iterator().next();
BooleanBuilder bb = new BooleanBuilder();
bb.or(QEvent.event.title.containsIgnoreCase(filter.getValue()));
bb.or(QEvent.event.description.containsIgnoreCase(filter.getValue()));
bb.or(QEvent.event.fedex.containsIgnoreCase(filter.getValue()));
bb.or(QEvent.event.reminder.containsIgnoreCase(filter.getValue()));
query.where(bb);
}
QuerydslUtil.addPagingAndSorting(query, request, Event.class, QEvent.event);
QueryResults<Event> searchResult = query.fetchResults();
return new ExtDirectStoreResult<>(searchResult.getTotal(),
searchResult.getResults());
}
EventService read function
@ModelField(dateFormat = "time", persist = false)
@Column(nullable = false)
private ZonedDateTime startdate;
@ModelField(dateFormat = "time", persist = false)
@Column(nullable = false)
private ZonedDateTime enddate;
Event entity object
setStartDate: function(start, refresh) {
this.startDate = Ext.Date.clearTime(start);
this.setViewBounds(start);
this.store.load({
params: {
start: Ext.Date.format(this.viewStart, 'm-d-Y'),
end: Ext.Date.format(this.viewEnd, 'm-d-Y')
}
});
if (refresh === true) {
this.refresh();
}
this.fireEvent('datechange', this, this.startDate, this.viewStart, this.viewEnd);
},