2 var rbookid, rcategory, rtag, rtagid;
6 $.fn.Readings = function() {
7 var a, args, meth, _i, _len;
10 for (_i = 0, _len = arguments.length; _i < _len; _i++) {
15 return $.fn.Readings[meth].apply(this, args);
18 Readings.init = function() {
19 if (Readings.initialized != null) return;
20 Readings.config = new Readings.Config({
21 wlurl: 'http://dev.wolnelektury.pl',
22 initdburl: 'http://dev.wolnelektury.pl/media/api/mobile/initial/initial.sql',
29 show_filter: ['authors', 'themes'],
30 show_dividers: ['authors', 'themes'],
33 Readings.catalogue = new Readings.Catalogue().open();
34 return Readings.initialized = true;
37 $(document).on('pageinit', '#page-categories', function(ev) {
39 return $('#list-categories').Readings('CategoryList');
42 rcategory = /category=(\w+)/;
44 rtag = /tag=([a-z0-9-]+)/;
46 rtagid = /tag_id=([0-9]+)/;
48 rbookid = /book_id=([0-9]+)/;
50 $(document).on('pageinit', "#page-tags", function(ev, ui) {
52 category = rcategory.exec($(this).attr('data-url'));
53 if (category != null) category = category[1];
54 if (category != null) {
55 $('h1', this).text(Readings.config.get('categories')[category]);
56 return $(this).Readings('list', {
58 sql: "SELECT * FROM tag WHERE category=? ORDER BY sort_key",
60 filter: Readings.config.get('show_filter').indexOf(category) >= 0,
61 mapper: function(rec) {
62 return new Readings.Tag(rec, category);
64 dividers: Readings.config.get('show_dividers').indexOf(category) >= 0
67 return alert('no category in query string');
70 $(document).on('pageinit', '#page-books', function(ev, ui) {
71 var tag, tag_id, tag_id_m,
73 tag_id_m = rtagid.exec($(this).attr('data-url'));
74 if (tag_id_m != null) tag_id = tag_id_m[1];
75 return tag = Readings.catalogue.withTag(tag_id, function(tag) {
76 return $(_this).Readings('list', {
78 return Readings.catalogue.withBooks(tag, cb);
81 dividers: tag.category !== 'author'
86 $(document).on('pageinit', '#page-reader', function(ev, ui) {
87 var book_id, book_id_m;
88 book_id_m = rbookid.exec($(this).attr('data-url'));
89 if (book_id_m != null) book_id = book_id_m[1];
90 return $(this).Readings('reader', {