ported to Web SQL
[ReadingsJQM.git] / js / app / models.coffee
1
2
3 url_to_slug = (url) ->
4   slug_in_url = /([a-z0-9-]+)[/]?$/
5   slug_in_url.exec(url)[1]
6
7 class Readings.Book
8   constructor: (record) ->
9     $.extend(this, record)
10
11   render: ->
12     wlurl = Readings.config.get 'wlurl'
13     "<li>
14       <a href=\"reader.html?book_id=#{@id}\">
15         <img src=\"#{wlurl}#{@cover}\">
16         <h3> #{@title}</h3>
17        </a>
18      </li>"
19
20   group: ->
21     @authors
22
23
24 class Readings.Tag
25   constructor: (record, @category) ->
26     $.extend(this, record)
27
28   render: ->
29     "<li><a href=\"books.html?tag_id=#{@id}\">#{@name}</a></li>"
30
31   group: ->
32     @sort_key[0].toUpperCase()
33     # if @category == 'author'
34     #   # last word, first letter
35     #   @name.split(' ').slice(-1)[0][0].toUpperCase()
36     # else
37     #   @name[0].toUpperCase()
38
39
40
41 # $.fn.Readings.BookList = (category, tag) ->
42 #   this.each ->
43 #     $('[data-role=header] h1').text tag.name
44 #     list = $('[data-role=listview]', this)
45 #     $.ajax
46 #       url: "#{tag.href}books/"
47 #       #url: Readings.config.get('wlurl') + "/api/#{category}"
48 #       contentType: "json"
49 #       success: (data) ->
50 #         console.log(data)
51 #         books = $.map data, (rec) -> new Readings.Book(rec)
52 #         list.empty()
53 #         last_separator = null
54 #         show_separator = !(category == 'authors')
55
56 #         for b in books
57 #           # throw a separator in for some categories
58 #           if show_separator
59 #             separator = t.group()
60 #             if last_separator != separator
61 #               list.append "<li data-role=\"list-divider\">#{separator}</li>"
62 #               last_separator = separator
63
64 #           list.append b.render()
65 #           list.listview 'refresh'