- -------------------------------------------------------------------------------
- DojoX jq
- -------------------------------------------------------------------------------
- Version 0.0.1
- Release date: 8/9/2009
- -------------------------------------------------------------------------------
- Project state:
- experimental
- -------------------------------------------------------------------------------
- Credits
- James Burke
- -------------------------------------------------------------------------------
- Project description
-
- DojoX jq is a compatibility layer that tries to match the jquery 1.3.2 API.
- -------------------------------------------------------------------------------
- Dependencies:
-
- - Dojo Core.
- -------------------------------------------------------------------------------
- Documentation
-
- IF YOU WISH TO WORK ON THIS MODULE, PLEASE DO NOT LOOK AT THE JQUERY SOURCE.
-
- We want CLA-clean code to be put in the Dojo repos. Just refer to the jquery API
- documentation and unit tests. As we get bug reports, we can build up our own test
- suite, and then hopefully contribute those tests back to jquery if their tests
- do not adequately cover an API call.
-
- This module needs a lot of work, it is in the very initial, rough stages. Some
- (all?) of the code is ugly. It is missing some APIs, notably queue/dequeue,
- the FX methods and live/die.
-
- There are also some incompatibilities with how acme and sizzle operate at the moment,
- mentioned in the comments in jq.js
-
- The tests for this module so far have been the jquery 1.3.2 tests. Since those
- tests are not CLA-clean, you will need to download them from here:
-
- http://www.tagneto.org/dojo/jquery132.zip
-
- Place the zip file in the dojox/jq/tests directory and unzip it. Then you can
- run the jquery132/test/index.html file inside there to start the tests.
-
- The tests were changed in a couple ways. For the tests I modified,
- you can look for //JRB changed: to find the original test construction.
- Things that were changed:
-
- 1) acme requires spaces between CSS3 selectors, where sizzle does
- not ("div>span" fails in acme, but works in sizzle). There is a
- dtk.org bug on it, and it is allowed by the CSS3 spec to not have
- spaces so hopefully that incompatibility can go away after a while.
-
- 2) sizzle supports some psuedos like :last, :first: :odd, :even that
- work on the list of matched elements, not just individual elements or
- their children. This is a more fundamental change to acme, but it is probably
- doable.
-
- 3) The XML tests and ajax tests that call out to files fail because of
- some weird timing interaction between the jquery unit test thing and
- our XHR code. I believe since our code has a timer where we check the
- status of the XHR calls instead of using load callbacks directly on
- the XHR callbacks, something is confused in jquery -- the failure case
- is fired before our callbacks work. If only they used deferreds. ;)
- To get those tests to sort of work, I modified qunit/testrunner.js's process()
- method to be like so:
-
- function process() {
- if(config.queue.length && !config.blocking){
- setTimeout(function(){
- if(config.queue.length && !config.blocking){
- config.queue.shift()();
- process();
- }
- }, 100);
- }
- }
-
- Change 100 above to tune it depending on your patience and how much
- you want to make sure the tests have enough time to run. With 100, you
- can see some of the ajax tests passing.
-
- From some previous notes (I have not checked more recently), it looks
- like the compat layer fires "ajaxStop" more than jquery, I think due
- to how we do our async in-flight testing, so that messes up some of
- the testing in the ajax calls, but I think that is a detail that is
- fine to go with. I just have to make sure that is really the cause of
- a test failure and not something else. So I will probably need to
- modify the tests more.
-
-
- -------------------------------------------------------------------------------
- Installation instructions
-
- Grab the following from the Dojo SVN Repository:
- http://svn.dojotoolkit.org/src/dojox/trunk/jq.js
- http://svn.dojotoolkit.org/src/dojox/trunk/jq/*
-
- Install into the following directory structure:
- /dojox/jq.js
-
- ...which should be at the same level as your Dojo checkout.
- -------------------------------------------------------------------------------
# |
Change |
User |
Description |
Committed |
|
#1
|
16170 |
perforce_software |
Move Chronicle files to follow new path scheme for branching. |
10 years ago
|
|
//guest/perforce_software/chronicle/application/dojo/resources/dojox/jq/README |
#1
|
8972 |
Matt Attaway |
Initial add of the Chronicle source code |
11 years ago
|
|