Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#12528 closed defect (fixed)

dojox.mobile.parser cannot instantiate dijit.Calendar

Reported by: ykami Owned by: ykami
Priority: high Milestone: 1.7
Component: DojoX Mobile Version: 1.6.0
Keywords: 1.7-mobile Cc:
Blocked By: Blocking:

Description

test_iPhone-IconMulti.html, test_iPhone-IconSingle.html, and test_iPhone-IconSingleBelow.html are examples of creating dijit.Calendar in IconContainer, but they do not work. (They worked at least in dojo-1.5.)

If I replace dojox.mobile.parser with dojo.parser, those test cases work.

Change History (3)

comment:1 Changed 9 years ago by ykami

There seem to be those problems:

  • Recent dijit.Calendar seems to use widgetsInTemplate, and eventually dojo.parser.parse, which doesn't exist when dojox.mobile.parser is used, is called.
  • The 2nd argument of dojox.mobile.parser.instantiate, 'defaultParams', is unconditionally mixed-in to the widget parameters. This could break the instantiated widget. In dijit.Calendar case, 'inherited' is passed through 'defaultParams', and corrupts the widget's inherited() method.
  • dojox.mobile.parser does not handle the noStart flag. If it is specified, the parser should not call startup().
  • dojox.mobile.parser uses dojo.attr() to get a node attribute value. However, for example, if the node is <select>, and the attribute name is 'item', dojo.attr() returns the item() function of the node, which is not expected result. Solution is to use getAttribute instead.

comment:2 Changed 9 years ago by ykami

Resolution: fixed
Status: newclosed

comment:3 Changed 9 years ago by ykami

I checked-in the code with the following comment, but a link to the changeset is not found in the ticket for some reason.

Fixes #12528 !strict. Fixed problems where widgetsInTemplate did not work with dojox.mobile.parser.

Note: See TracTickets for help on using tickets.