Opened 5 years ago

Closed 5 years ago

#18343 closed defect (invalid)

Certain calendar events do not appear in matrix and column view

Reported by: ododos Owned by: dg
Priority: undecided Milestone: tbd
Component: Dojox Version: 1.10.2
Keywords: Cc:
Blocked By: Blocking:

Description

Strange behavior of dojox.calendar that prevents certain events from appearing in matrix view and others from column view. If events are all-day they appear normally in column view. It seems events disappear when they are in the same week. This happens in 1.10.2, while the same data appears normally in version 1.9.5. This problem renders the calendar component unusable.

Attachments (6)

1.png (20.6 KB) - added by ododos 5 years ago.
Correct matrix view
8.png (19.8 KB) - added by ododos 5 years ago.
Broken matrix view
14.png (17.9 KB) - added by ododos 5 years ago.
Broken column view
calendar.html (903 bytes) - added by ododos 5 years ago.
app.js (1.0 KB) - added by ododos 5 years ago.
data.js (933 bytes) - added by ododos 5 years ago.

Download all attachments as: .zip

Change History (14)

Changed 5 years ago by ododos

Attachment: 1.png added

Correct matrix view

Changed 5 years ago by ododos

Attachment: 8.png added

Broken matrix view

Changed 5 years ago by ododos

Attachment: 14.png added

Broken column view

comment:1 Changed 5 years ago by bill

Owner: set to dg
Status: newassigned

comment:2 Changed 5 years ago by dg

Hi, Could you please attach a reproducing sample? The description is lacking precision, especially the configuration of the calendar and the store definition. It will really be quicker for me if you provide a reproducing sample. Thanks, Damien

comment:3 Changed 5 years ago by dg

For the creator of the ticket: could you add more precisions and a reproducing sample? On my side I cannot reproduce the problem. Note that all day events are displayed by default as horizontal renderers, which is not the case of your screenshots so I suppose you have a specific configuration/use case. So if you don't add precisions, this issue will not be addressed.

Thanks,

Damien

Changed 5 years ago by ododos

Attachment: calendar.html added

Changed 5 years ago by ododos

Attachment: app.js added

Changed 5 years ago by ododos

Attachment: data.js added

comment:4 Changed 5 years ago by ododos

I uploaded a reproducing sample. I hope it helps. Apologies for the delay, but I am not frequently visiting this page and I am not notified of changes in any other way.

Thanks,

Theo

comment:5 Changed 5 years ago by dg

Hi Theo, thanks for the sample, I would have never reproduced otherwise. So there are 2 things here:

1/ all data items must have a unique identifier (we call store.getIdentity(item) and in 1.10 we use it even more). So put an "id" property on each data item. It will solve your item filtered issue.

2/ in the matrix view, the algorithm that determines if an horizontal renderer is used checks the duration of the data item (at least 1440 minutes = a day) which is not the case of your data items. You can change that by adding this code in your calendar definition: calendar = new Calendar({ [...]

matrixViewProps: {

itemToRendererKindFunc: function(item){

if(item){

return item.allDay ? "horizontal": "label";

}

}

},

[...] });

Regards,

Damien

Last edited 5 years ago by dg (previous) (diff)

comment:6 Changed 5 years ago by ododos

Hi Damian, thanks for the response. Using a unique id seems to do the job.

Apparently this is not a bug, although the necessity for an id in 1.10 I think would be worth mentioning in the documentation.

Regards,

Theo

Last edited 5 years ago by ododos (previous) (diff)

comment:7 Changed 5 years ago by dg

Yes, I will emphasize this on the documentation.

Thanks,

Damien

comment:8 Changed 5 years ago by cjolif

Resolution: invalid
Status: assignedclosed
Note: See TracTickets for help on using tickets.