User "Catrope" posted a comment on MediaWiki.r86088.
Full URL:
https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Special:Code/MediaWiki/86088#c16007
Commit summary:
Completely rewritten table sorting script.
Fixes Bug 8028, Bug 8115, Bug 15406, Bug 17141, Bug 8732
1. Sites can specify custom collations.
The script accepts an object "tableSorterCollation" which contains a lookup
table, how specific characters should be treated.
For example, after setting "tableSorterCollation={'ä':'ae', 'ß':'ss'};" in the
site's common.js any string containing an ä or Ä will be sorted as if it were a
'ae'.
2. Table rows can be forced to use a specific data type.
By setting class="sort-{Parsername}", the row will be parsed with the specified
algorithm. class="sort-date" would force date sorting etc.
The following parsers are available: text, IPAddress, number, url, currency,
date, isoDate, usLongDate, time
3. Execution time is reduced by half or more.
Sorting a 935 row * 8 columns table:
Browser Before After
-------- ------ -----
Chrome 10 90ms 42ms
Safari 5 115ms 48ms
Firefox 4 412ms 87ms
IE8 720ms 115ms
4. Based on the content language and the mdy vs dmy preference, the parser can
understand dates such as "17. März '11". wgMonthNames=[] and
wgMonthNamesShort=[]
in the content language and the mdy vs dmy preference are exported to js; A
table containing the following dates would be sorted correctly:
17. Jan. 01
23 Feb 1992
9.02.05
13 November 2001
14 Oktober '76
Was tested in ie6-8, chrome, safari 5, ff3 & ff4
Comment:
<pre>
+ #$localDateFormats = $wgContLang->getDateFormats();
+ #$localPreferedFormat =
$localDateFormats[$wgContLang->getDefaultDateFormat().' date'];
+
</pre>
Please don't introduce commented-out code. There's another commented-out line a
few lines down.
<pre>
+ $monthNames = array('');
+ $monthNamesShort = array('');
+ for ($i=1; $i < 13; $i++) {
+ $monthNames[]=$wgContLang->getMonthName($i);
+
$monthNamesShort[]=$wgContLang->getMonthAbbreviation($i);
+ }
</pre>
This does not conform to whitespace conventions. Also, this array building code
should be moved into the Language class so you can just call e.g.
<code>$wgContLang->getMonthNames()</code>
_______________________________________________
MediaWiki-CodeReview mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-codereview