Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#8859 closed defect (fixed)

[regression] subgrid broken

Reported by: bill Owned by: Bryan Forbes
Priority: high Milestone: 1.3
Component: DojoX Grid Version: 1.3.0b3
Keywords: Cc: James Burke
Blocked By: Blocking:

Description

On Safari, running http://download.dojotoolkit.org/release-1.3.0b3/dojo-release-1.3.0b3/dojox/grid/tests/test_subgrid.html I get an

failed loading ../../../dojo/../dojox/grid/DataGrid.js with error: TypeError: dijit._Widget is undefined

Change History (5)

comment:1 Changed 10 years ago by Adam Peller

Priority: normalhigh

Confirmed also in FF3 running the beta release. But the nightlies (built) and my local copy works fine.

I'm not sure why the dojo.require("dijit.dijit") in _Grid.js isn't pulling in dijit._Widget, but perhaps it makes sense to replace it with dojo.require calls for the specific modules needed? Or maybe I'm way off base.

comment:2 Changed 10 years ago by Bryan Forbes

Resolution: fixed
Status: newclosed

Fixed in [17011]

comment:3 Changed 10 years ago by bill

Cc: James Burke added

Hmm, what Adam said is correct, this bug apparently indicates a problem with the build system.

I agree _Grid.js should list the requires individually:

dojo.require("dijit._Widget");
dojo.require("dijit._Templated");

but still if there's a regression in the build system we should fix that.

comment:4 Changed 10 years ago by James Burke

The problem is not the build system logic, but rather the structure of the standard.profile.js: it now has layers in for the Grid, GFX, Charting and DTL, and for the Grid and Charting layers they have layerDependencies on dijit.dijit, so the built file for the dojox.grid.DataGrid? assumes dijit.dijit has already been loaded:

http://bugs.dojotoolkit.org/browser/util/trunk/buildscripts/profiles/standard.profile.js

This is the problem with trying to do too many layers in the standard build, and one of the reasons I avoided it before. I think the solution is to remove the layerDependencies for those layers. Or remove those layers. But I will remove the layerDependencies for now -- it probably still performs better loading all the extra dijit code than waiting for all the individual modules to load. And we avoid any tricky errors if someone assumes that dojo.require("dojox.grid.DataGrid?") will load all of its dependencies.

comment:5 Changed 10 years ago by James Burke

Applied fixes in [17016] and [17017].

Note: See TracTickets for help on using tickets.