Login Register

[Resolved]Works in 0.9 but not 1.0?

Hi guys,

I just recently started working with Dojo and I was playing around on a test box using 0.9 and got a little demo working.


		 Dijit Theme Tester

		 
		 
		 

		
		 
		 		 @import "/JavaScript/dojo/dojo/resources/dojo.css";
		 		 @import "/JavaScript/dojo/dijit/themes/dijit.css";

		 		 @import "/JavaScript/dojo/dojo/tests/dnd/dndDefault.css";

		 		 html, body { height: 100%; width: 100%; padding: 0; border: 0; }
		 		 #main { height: 100%; width: 100%; padding: 0; border: 0; }
		 		 #header, #mainSplit { margin: 10px; }

		 
		  // dojo.requires()
		 		 // dnd:
		 		 dojo.require("dojo.dnd.source");
		 		 dojo.addOnLoad(function() {
		 		 	dojo.parser.parse(dojo.byId('container')); 
				});

//output the order of the list
setTimeout(function(){
dojo.subscribe("/dnd/drop", function(source,nodes,iscopy) {
                var jsnode = source.getItem(nodes[0].id);
                var data = jsnode.data;
                
                // Item Being Dropped
        console.debug('id=' + data);
            
        // Previous Source Order
	    document.getElementById("test").value = "";
                dnd_source.getAllNodes().forEach(function(node){
                       document.getElementById("test").value += source.getItem(node.id).data + ";";
                });                                   
        });

},0);


		 


		 

	

Order:

Item X
Item Y
Item Z

It works exactly how I want it to in 0.9, but when I loaded 1.0 on it fails with the error:

Could not load 'dojo.dnd.source'; last tried './dnd/source.js'
[Break on this error] if(typeof dojo=="undefined"){(function(){if(typeof this["djConfig"]=="undefined"...

Anyone have any ideas? I have checked the directories and its all the same. And on my test server, I can change from dojo 0.9 to 1.0 by changing a folder name, and thats all it takes to fix the issue.

Any help would be appreciated.

Thanks,

Travis Smith

A quick look: Could not load

A quick look:

Could not load 'dojo.dnd.source';

Change the "case" of your require: dojo.dnd.Source'.

Also, I don't think you need these lines:

<script type="text/javascript" src="/JavaScript/dojo/dijit/dijit.js"></script>
<script type="text/javascript" src="/JavaScript/dojo/dijit/dijit-all.js"></script>

See one of the dnd tests.

Thanks!

That was exactly the problem. As for the dijit.js and dijit-all.js, they are needed as when I remove them the project fails.

One of the later steps in my attempt at this will be to remove the functions needed from those two files so I have less to load.

Thanks again for your time. :)

just so you know:

just so you know: dijit.dijit (dijit/dijit.js) is just a wrapper for really common dijit things, like _base. it gets included usually when you include any dijit. dijit.dijit-all (dijit/dijit-all.js) is "everything in dijit", and is [as the warning thrown states] "probably a lot more than you need" ... you need dojo.require() statements for each component you want to include (which dijit-all has for _everything_) ... otherwise, you are downloading 400k of JS with each page load.