Opened 8 years ago

Closed 8 years ago

#12192 closed defect (fixed)

[regression] Tooltip not detecting arraylike connectId

Reported by: dante Owned by:
Priority: high Milestone: 1.6
Component: Dijit Version: 1.6.0b1
Keywords: Cc:
Blocked By: Blocking:

Description

The test_Tooltip page was converted to data-dojo-props syntax completely. Adding back in a simple dojoType with multiple connectId listed illustrates the issue.

The classInfo for !Tooltip has changed causing the parser to interpret

connectId="multi1,multi2"

as a string, and !Tooltip can't find a node with id="multi1,multi2"

Incidentally, !Tooltip is also not checking that a node exists before connecting several events to it, causing this.connect(undefined, .... ) in _setConnectIdAttr, so onmouseenter on window happens.

Simply setting the prop to an array in the declare call fixes it, but I didn't test exhaustively as it seems there would be a potential for that one array to end up static. If we need an additional constructor call ... maybe.

Attachments (1)

tooltip.patch (1.9 KB) - added by dante 8 years ago.
adds dojoType case back to test, avoids connecting to no node and puts a static array on the proto, which may be bad.

Download all attachments as: .zip

Change History (3)

Changed 8 years ago by dante

Attachment: tooltip.patch added

adds dojoType case back to test, avoids connecting to no node and puts a static array on the proto, which may be bad.

comment:1 Changed 8 years ago by bill

Thanks, I'll add something nominal to the automated regression tests and check in. This regressed in [23188] from #11251.

I don't think we need anything in the constructor since connectId's array is never modified, only reset completely.

comment:2 Changed 8 years ago by bill

Resolution: fixed
Status: newclosed

(In [23612]) fix connectId array specification using old dojoType syntax, thanks dante, refs #11251, fixes #12192 !strict.

Note: See TracTickets for help on using tickets.