16 May 2007

From Organic Design wiki
Revision as of 08:05, 16 May 2007 by Nad (talk | contribs) (Research: Fast DOM querying)
Warning.svg This is a blog item that needs to be converted to the new Bliki format


Fast DOM querying

A number of development threads we've been working on recently have run into trouble with the JavaScript not being able to easily obtain the necessary selections of nodes from the browser DOM. These DOM queries are usually similar in nature to a CSS selector requirin for example a selection of all nodes contained within an element of specified tag-name, and having a class of id attribute of a specified value. Often it would be convenient to actually use CSS syntax to specify a selection statement, and have a DOM-node-list returned containing all matching elements in the document. Many other people have been having similar problems with the limited selection abilities of the basic DOM methods and have come up with a number of open source solutions.

Warning.svg This is a blog item that needs to be converted to the new Bliki format


MediaWiki Sortable Tables

It says in M:Help:Sorting that MediaWiki version 1.9.x now has native support for sortable tables. But actually the method they're using is fully a client-side JavaScript solution developed here by Joost de Valk. So by adding the source code to your MediaWiki:Common.js article (and enabling it by setting $wgUseSiteJs to true in your LocalSettings.php file) any wiki can do it. this will compliment the new display filter and upload CSV extensions perfectly. The following example also demonstrates another useful feature which is the alternate striped background colours making the table much easier to read, these stripes are maintained regardless of the sorting order of the table.

City January
(Low)
January
(High)
July
(Low)
July
(High)
Amman 4°C 12°C 18°C 32°C
Baghdad 0°C 16°C 24°C 43°C
Cairo 8°C 18°C 21°C 36°C
Damascus 0°C 12°C 16°C 36°C
Dubai 15°C 23°C 30°C 39°C
Jerusalem 5°C 13°C 17°C 31°C
Riyadh 8°C 21°C 26°C 42°C
Tehran -3°C 7°C 22°C 37°C