SGWT: 5.0p 10/22/2014 07:44
FF:26
I noticed in the showcase example the CalendarData uses Date objects. What is the expected behavior with ISO_8601 strings?
FF:26
I noticed in the showcase example the CalendarData uses Date objects. What is the expected behavior with ISO_8601 strings?
Code:
public class Main7 implements EntryPoint {
public class ClientOnlyDataSource extends com.smartgwt.client.data.DataSource {
public ClientOnlyDataSource(Record[] records, DataSourceField... fields){
setFields(fields);
setTestData(records);
setClientOnly(true);
}
}
public static class DateUtil {
private static final DateTimeFormat dtf = DateTimeFormat.getFormat(PredefinedFormat.ISO_8601);
public static Date toDate(String s) {
return s != null ? dtf.parse(s) : null;
}
public static String format(Date date){
return date != null ? dtf.format(date) : null;
}
}
@Override
public void onModuleLoad() {
new Calendar(){{
final Calendar _this = this;
Record[] records = new Record[10];
for(int i = 0; i < 10; i++) {
final int j = i;
records[i] = new Record(){{
setAttribute("id", j);
setAttribute("startDate", getDate(j, 10));
setAttribute("endDate", getDate(j, 11));
setAttribute("name", "Test - " + j);
}
private String getDate(int j, int hour) {
Date date = new Date();
date.setDate(date.getDate() + j);
date.setHours(hour);
date.setMinutes(0);
date.setSeconds(0);
return DateUtil.format(date);
}};
}
setAutoFetchData(true);
setDataSource(new ClientOnlyDataSource(records, new DataSourceIntegerField("id"){{
setPrimaryKey(true);
}}, new DataSourceDateTimeField("startDate"), new DataSourceDateTimeField("endDate")));
}}.show();
}
}Code:
[ERROR] [main] - 11:15:53.305:TMR3:WARN:Log:TypeError: _1[this.startDateField].duplicate is not a function
Stack from error.stack:
Calendar.getEventStartDate() @ main/sc/modules/ISC_Calendar.js:364
CalendarView.refreshEvents() @ main/sc/modules/ISC_Calendar.js:171
Calendar.refreshSelectedView() @ main/sc/modules/ISC_Calendar.js:357
Calendar.dataChanged() @ main/sc/modules/ISC_Calendar.js:357
anonymous() @ main/sc/modules/ISC_Core.js:56
thunk() @ main/sc/modules/ISC_Core.js:300
observation() @ main/sc/modules/ISC_Core.js:297
ResultSet._doneChangingData() @ main/sc/modules/ISC_DataBinding.js:1836
ResultSet._handleNewData() @ main/sc/modules/ISC_DataBinding.js:1799
isc.A.fetchRemoteDataReply() @ main/sc/modules/ISC_DataBinding.js:1785
[c]Class.fireCallback() @ main/sc/modules/ISC_Core.js:266
[c]Class.fireCallback() @ main/sc/modules/ISC_Core.js:334
DataSource.fireResponseCallbacks() @ main/sc/modules/ISC_DataBinding.js:699
DataSource._completeResponseProcessing() @ main/sc/modules/ISC_DataBinding.js:696
DataSource._handleClientOnlyReply/_6() @ main/sc/modules/ISC_DataBinding.js:558
DataSource._handleClientOnlyReply() @ main/sc/modules/ISC_DataBinding.js:559
[c]Class.fireCallback() @ main/sc/modules/ISC_Core.js:266
[c]Class.fireCallback() @ main/sc/modules/ISC_Core.js:334
anonymous() @ main/sc/modules/ISC_DataBinding.js:1603
$wnd.isc.RPCManager.fireReplyCallback() @ :263
[c]RPCManager.fireReplyCallbacks() @ main/sc/modules/ISC_DataBinding.js:1608
[c]RPCManager.performOperationReply() @ main/sc/modules/ISC_DataBinding.js:1601
RPCManager._performTransactionReply() @ main/sc/modules/ISC_DataBinding.js:1586
[c]Class.fireCallback() @ main/sc/modules/ISC_Core.js:266
Timer._fireTimeout() @ main/sc/modules/ISC_Core.js:1261
Timer.setTimeout/_6<() @ main/sc/modules/ISC_Core.js:1259