Opened 5 years ago

Last modified 2 years ago

#17289 assigned defect

dijit.layout.ContentPane breaks render of dojox.calendar.MatrixView

Reported by: HubbaBubba Owned by: dg
Priority: undecided Milestone: 1.15
Component: Dojox Version: 1.9.0
Keywords: Cc:
Blocked By: Blocking:

Description

I am inserting a dojox.calendar.MatrixView? within a TabContainer/ContentPane?. When the page loads, the first Tab container displays a dojox.calendar/SimpleColumnView, but when I click on the second tab (containing a dojox.calendar.MatrxView?), dojo becomes unresponsive with the following alerts:

Script: https://parkes-ops.atnf.csiro.au/PORTAL/dev/jslib/dojo/dojo/dojo.js:58

Also seen at lines 126, 423, ...

A bare-bones example of the issue is attached.

Thanks for your time. Cheers, Stacy.

Attachments (3)

test.html (6.1 KB) - added by HubbaBubba 5 years ago.
Example of dijit.layout breaking MatrixView?
test2.html (6.6 KB) - added by HubbaBubba 5 years ago.
Added startup and resize events to MatrixView? and SimpleColumnView?
reduced.html (3.6 KB) - added by bill 5 years ago.
testcase w/only calendar, still fails

Download all attachments as: .zip

Change History (14)

Changed 5 years ago by HubbaBubba

Attachment: test.html added

Example of dijit.layout breaking MatrixView?

comment:1 Changed 5 years ago by bill

Owner: set to HubbaBubba
Status: newpending
Summary: dijit.layout.ContentPane breaks render of dojoc.calendar.MatrixViewdijit.layout.ContentPane breaks render of dojox.calendar.MatrixView

It's probably because you forgot to call startup() on the dojox/Calendar. You may also need to call resize() on the calendar.

You've also got a syntax error in your test case on line 114, mismatched single and double quotes.

comment:2 Changed 5 years ago by HubbaBubba

Status: pendingnew

Thanks for the quick reply bill.

I tried adding:

rosterCal.startup()

plus:

win.doc.appState = {

moveDisabledMap: {}, resizeDisabledMap: {}

};

var calloutMatrix = declare([dojox.calendar.MatrixView?])({

isItemResizeEnabled: function(item, kind){

return this.isItemEditable(item, kind) &&

win.doc.appState.resizeDisabledMap[item.id] !== true;

},

}, "calloutCal");

calloutMatrix.startup(); window.onresize = function(e){ calloutMatrix.resize(e); }

However, I see the same behaviour. I am puzzled why I need the above when I do not require dijit/layout.

Stacy.

Changed 5 years ago by HubbaBubba

Attachment: test2.html added

Added startup and resize events to MatrixView? and SimpleColumnView?

comment:3 Changed 5 years ago by HubbaBubba

Added resize and startup methods. Behavior as before.

comment:4 Changed 5 years ago by bill

Status: newpending

OK. I don't think this has anything to do with ContentPane?. I see the same problem with a plain Calendar and nothing else. Like you are missing some CSS.

Changed 5 years ago by bill

Attachment: reduced.html added

testcase w/only calendar, still fails

comment:5 Changed 5 years ago by HubbaBubba

Status: pendingnew

I have added the same CSS as the matrixview.html example[1]. However, there is no change in behavior.

<link rel="stylesheet" href="jslib/dojo/dojox/calendar/themes/claro/SimpleColumnView.css"/> <link rel="stylesheet" href="jslib/dojo/dojox/calendar/themes/claro/MatrixView.css"/> <link rel="stylesheet" href="matrixview.css"/> <link rel="stylesheet" href="jslib/dojo/dojo/resources/dojo.css"/> <link rel="stylesheet" href="jslib/dojo/dijit/themes/dijit.css"/> <link rel="stylesheet" href="jslib/dojo/dijit/themes/claro/claro.css"/>

[1] http://download.dojotoolkit.org/release-1.9.0/dojo-release-1.9.0/dojox/calendar/tests/matrixview.html

comment:6 Changed 5 years ago by HubbaBubba

bill - your 'reduced.html' file works fine on my system with Dojo 1.9.0

Cheers, Stacy.

comment:7 Changed 5 years ago by HubbaBubba

A little more characterization on the code below:

Case a) With the code "as is", the SimpleColumnView? in the 'Roster' tab loads, but the MatrixView? in the 'Callout' tab does not render and clicking on the 'Callout' tab causes Dojo to freeze.

Case b) Removing the 'rosterCal' div causes the same as in Case a).

Case c) Removing the 'Roster' ContentPane? and SimpleMatrixView? content results in the MatrixView? displaying nicely in the Callout tab.

Case d) Displaying both the rosterCal and calloutCal divs in the same ContentPane? produces both SimpleColumnView? and MatrixView? nicely.

<div data-dojo-type="dijit/layout/ContentPane" title="Roster">

<div id='rosterCal'></div>

</div> <div data-dojo-type="dijit/layout/ContentPane" title="Callout">

<div id='calloutCal'></div>

</div>

So based on the above, given that both the SimpleColumnView? and MatrixView? display within the same ContentPane? would exclude a CSS issue?

comment:8 Changed 5 years ago by bill

Component: DijitDojox
Owner: changed from HubbaBubba to dg
Status: newassigned

bill - your 'reduced.html' file works fine on my system with Dojo 1.9.0

OK... yes turns that Calendar itself has been completely broken since the 1.9.0 release, specifically in d66d37957dd5effba56d7cfb792537f4649dba9c.

As for the problem you reported, it's surely a problem with Calendar initializing itself inside a hidden (display:none) div, so passing on to that team.

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

comment:9 Changed 5 years ago by HubbaBubba

Ok, thanks for that.

Cheers, Stacy.

comment:10 Changed 3 years ago by dylan

Milestone: tbd1.12

comment:11 Changed 2 years ago by dylan

Milestone: 1.131.15

Ticket planning... move current 1.13 tickets out to 1.15 to make it easier to move tickets into the 1.13 milestone.

Note: See TracTickets for help on using tickets.