[dev] [commit] r1066 - phplib templates/common wwwbase/js
automailer at dexonline.ro
automailer at dexonline.ro
Tue Jan 21 16:29:16 EET 2014
Author: cata
Date: Tue Jan 21 16:29:16 2014
New Revision: 1066
Log:
Add Romanian sorting to the MediaWiki sortable tables.
Added:
wwwbase/js/tablesorter.dev.js
Modified:
phplib/SmartyWrap.php
templates/common/wikiArticle.ihtml
Modified: phplib/SmartyWrap.php
==============================================================================
--- phplib/SmartyWrap.php Tue Jan 21 14:31:12 2014 (r1065)
+++ phplib/SmartyWrap.php Tue Jan 21 16:29:16 2014 (r1066)
@@ -187,28 +187,31 @@
break;
case 'jqnotice': self::$jsFiles[5] = 'jquery.notice.js'; break;
case 'jqTableDnd': self::$jsFiles[6] = 'jquery.tablednd.0.7.min.js?v=1'; break;
- case 'tablesorter': self::$jsFiles[7] = 'jquery.tablesorter.min.js?v=3'; break;
- case 'pager': self::$jsFiles[8] = 'jquery.tablesorter.pager.js'; break;
- case 'elfinder': self::$jsFiles[9] = 'elfinder.min.js?v=1'; break;
- case 'windowEngine': self::$jsFiles[10] = 'jquery-wm.js'; break;
- case 'cookie': self::$jsFiles[11] = 'jquery.cookie.js?v=1'; break;
- case 'dex': self::$jsFiles[12] = 'dex.js?v=25'; break;
- case 'flex': self::$jsFiles[13] = 'flex.js?v=2'; break;
- case 'mobile': self::$jsFiles[14] = 'mobile.js?v=2'; break;
- case 'hangman': self::$jsFiles[15] = 'hangman.js?v=5'; break;
- case 'mill': self::$jsFiles[16] = 'mill.js?v=3'; break;
- case 'wotd': self::$jsFiles[17] = 'wotd.js?v=1';
- case 'lexemEdit': self::$jsFiles[18] = 'lexemEdit.js?v=10'; break;
- case 'jcrop': self::$jsFiles[19] = 'jquery.Jcrop.min.js?v=2'; break;
- case 'easyui': self::$jsFiles[20] = 'easyui-1.3.5/easyloader.js?v=1'; break;
- case 'select2': self::$jsFiles[21] = 'select2.min.js?v=3'; break;
- case 'select2Dev': self::$jsFiles[22] = 'select2Dev.js?v=2'; break;
- case 'visualTag': self::$jsFiles[23] = 'visualTag.js'; break;
+ case 'tablesorter':
+ self::$jsFiles[7] = 'jquery.tablesorter.min.js?v=3';
+ self::$jsFiles[8] = 'tablesorter.dev.js?v=1';
+ break;
+ case 'pager': self::$jsFiles[9] = 'jquery.tablesorter.pager.js'; break;
+ case 'elfinder': self::$jsFiles[10] = 'elfinder.min.js?v=1'; break;
+ case 'windowEngine': self::$jsFiles[11] = 'jquery-wm.js'; break;
+ case 'cookie': self::$jsFiles[12] = 'jquery.cookie.js?v=1'; break;
+ case 'dex': self::$jsFiles[13] = 'dex.js?v=25'; break;
+ case 'flex': self::$jsFiles[14] = 'flex.js?v=2'; break;
+ case 'mobile': self::$jsFiles[15] = 'mobile.js?v=2'; break;
+ case 'hangman': self::$jsFiles[16] = 'hangman.js?v=5'; break;
+ case 'mill': self::$jsFiles[17] = 'mill.js?v=3'; break;
+ case 'wotd': self::$jsFiles[18] = 'wotd.js?v=1';
+ case 'lexemEdit': self::$jsFiles[19] = 'lexemEdit.js?v=10'; break;
+ case 'jcrop': self::$jsFiles[20] = 'jquery.Jcrop.min.js?v=2'; break;
+ case 'easyui': self::$jsFiles[21] = 'easyui-1.3.5/easyloader.js?v=1'; break;
+ case 'select2': self::$jsFiles[22] = 'select2.min.js?v=3'; break;
+ case 'select2Dev': self::$jsFiles[23] = 'select2Dev.js?v=2'; break;
+ case 'visualTag': self::$jsFiles[24] = 'visualTag.js'; break;
case 'gallery':
- self::$jsFiles[24] = 'colorbox/jquery.colorbox-min.js';
- self::$jsFiles[25] = 'colorbox/jquery.colorbox-ro.js';
- self::$jsFiles[26] = 'dexGallery.js?v=2';
- self::$jsFiles[27] = 'jcanvas.min.js';
+ self::$jsFiles[25] = 'colorbox/jquery.colorbox-min.js';
+ self::$jsFiles[26] = 'colorbox/jquery.colorbox-ro.js';
+ self::$jsFiles[27] = 'dexGallery.js?v=2';
+ self::$jsFiles[28] = 'jcanvas.min.js';
break;
default:
FlashMessage::add("Cannot load JS script {$id}");
Modified: templates/common/wikiArticle.ihtml
==============================================================================
--- templates/common/wikiArticle.ihtml Tue Jan 21 14:31:12 2014 (r1065)
+++ templates/common/wikiArticle.ihtml Tue Jan 21 16:29:16 2014 (r1066)
@@ -37,17 +37,6 @@
{/foreach}
{/foreach}
-{* Some tables have the "sortable" class. Make them sortable. *}
<script>
-{literal}
- $(function() {
- // Add the <thead> element. Mediawiki does not give us that.
- $('table.sortable').prepend(
- $('<thead></thead>').append($('table.sortable tr:first').remove())
- );
- $("table.sortable").tablesorter({
- sortList: [[0,0]],
- });
- });
-{/literal}
+ $(tablesorterMediaWikiInit);
</script>
Added: wwwbase/js/tablesorter.dev.js
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ wwwbase/js/tablesorter.dev.js Tue Jan 21 16:29:16 2014 (r1066)
@@ -0,0 +1,28 @@
+/* Functions on top of the jQuery tablesorter plugin */
+
+var order = 'aăâbcdefghiîjklmnopqrsștțuvwxyz';
+
+/* Sortable tables imported from MediaWiki have the "sortable" class. Make them sortable here too. */
+function tablesorterMediaWikiInit() {
+ // Add the <thead> element. Mediawiki does not give us that.
+ $('table.sortable').prepend(
+ $('<thead></thead>').append($('table.sortable tr:first').remove())
+ );
+ $("table.sortable").tablesorter({
+ textExtraction: extractAscii,
+ });
+}
+
+// Renumber the 31 Romanian letters with ASCII codes 60-90. Discard other characters.
+function extractAscii(node) {
+ var s = $(node).text().toLowerCase();
+ var result = '';
+ for (var i = 0; i < s.length; i++) {
+ var c = s.charAt(i);
+ var pos = order.indexOf(c);
+ if (pos != -1) {
+ result += String.fromCharCode(pos + 60);
+ }
+ }
+ return result;
+}
More information about the Dev
mailing list