View | Details | Raw Unified | Return to bug 7161
Collapse All | Expand All

(-)a/koha-tmpl/opac-tmpl/prog/en/js/openlibrary.js (-31 / +83 lines)
Lines 2-7 if (typeof KOHA == "undefined" || !KOHA) { Link Here
2
    var KOHA = {};
2
    var KOHA = {};
3
}
3
}
4
4
5
function get_cover(data) {
6
   if (data.cover && data.cover.small) {
7
       return data.cover.small;
8
   }
9
   return "undefined";
10
}
11
12
function get_ebook(data) {
13
   var buttons = {
14
       'full access':
15
       "http://openlibrary.org/images/button-read-open-library.png",
16
       'lendable':
17
       "http://openlibrary.org/images/button-borrow-open-library.png",
18
       'checkedout':
19
       "http://openlibrary.org/images/button-checked-out-open-library.png"
20
  };
21
22
   var result = "";
23
   if (data["ebooks"] != "undefined") {
24
       /* Ebooks are available */
25
       var ebooks  = data["ebooks"];
26
       for (idx in ebooks) {
27
	   var ebook = ebooks[idx];
28
           if (ebook["availability"] == "full") {
29
               result = '<a href="' + ebook["read_url"] + '">' + '<img  src="' + buttons["full access"] + '"/></a>';
30
           }
31
           if (ebook["availability"] == "borrow") {
32
		if(ebook.checkedout) {
33
               	    result = '<a href="' + ebook["borrow_url"] + '">' + '<img  src="' + buttons["checkedout"] + '"/></a>';
34
		} else { 
35
                    result = '<a href="' + ebook["borrow_url"] + '">' + '<img  src="' + buttons["lendable"] + '"/></a>';
36
                }
37
           }                
38
       }
39
   }
40
   return result;
41
 }
42
43
function keys(d) {
44
  var k = [];
45
  for (var i in d) {
46
    k.push(i);
47
  }
48
  return k;
49
}
5
/**
50
/**
6
 * A namespace for OpenLibrary related functions.
51
 * A namespace for OpenLibrary related functions.
7
 */
52
 */
Lines 27-70 KOHA.OpenLibrary = { Link Here
27
        scriptElement.setAttribute("id", "jsonScript");
72
        scriptElement.setAttribute("id", "jsonScript");
28
        scriptElement.setAttribute("src",
73
        scriptElement.setAttribute("src",
29
            "http://openlibrary.org/api/books?bibkeys=" + escape(bibkeys) +
74
            "http://openlibrary.org/api/books?bibkeys=" + escape(bibkeys) +
30
            "&callback=KOHA.OpenLibrary.olCallBack");
75
            "&callback=KOHA.OpenLibrary.olCallBack&jscmd=data");
31
        scriptElement.setAttribute("type", "text/javascript");
76
        scriptElement.setAttribute("type", "text/javascript");
32
        document.documentElement.firstChild.appendChild(scriptElement);
77
        document.documentElement.firstChild.appendChild(scriptElement);
33
78
34
    },
79
    },
35
80
81
82
36
    /**
83
    /**
37
     * Add cover pages <div
84
     * Add cover pages <div
38
     * and link to preview if div id is gbs-thumbnail-preview
85
     * and link to preview if div id is gbs-thumbnail-preview
39
     */
86
     */
40
    olCallBack: function(booksInfo) {
87
    olCallBack: function(booksInfo) {
41
       for (id in booksInfo) {
88
    for (id in booksInfo) {
42
          var book = booksInfo[id];
89
       var book = booksInfo[id];
43
          var isbn = book.bib_key.substring(5);
90
       var isbn = id.substring(5);
44
          
91
       $("."+isbn).each(function() {
45
          $("."+isbn).each(function() {
92
           console.log($(this).attr("id"));
46
              var a = document.createElement("a");
93
       var is_opacdetail = /openlibrary-thumbnail-preview/.exec($(this).attr("id"));
47
              a.href = book.info_url;
94
	/*console.log([is_opacdetail,this]);
48
				      if (typeof(book.thumbnail_url) != "undefined") {
95
           var cover = get_cover(book);*/
49
	               	var img = document.createElement("img");
96
	   var ebook = get_ebook(book);
50
	                img.src = book.thumbnail_url;
97
           var a = document.createElement("a");
51
					        $(this).append(img);
98
           a.href = booksInfo.url;
52
                  var re = /^openlibrary-thumbnail-preview/;
99
           if (book.cover) {
53
                  if ( re.exec($(this).attr("id")) ) {
100
               var img = document.createElement("img");
54
                      $(this).append(
101
               if (is_opacdetail) {
55
                        '<div style="margin-bottom:5px; margin-top:-5px;font-size:9px">' +
102
               	img.src = book.cover.medium;
56
                        '<a href="' + 
103
               	$(this).append(img);
57
                        book.info_url + 
104
                $(this).append(
58
                        '">Preview</a></div>' 
105
                       '<div class="results_summary">' + '<a href="' + book.url + '">Preview</a></div>'
59
                      );
106
                   );
60
                  }
107
                $(this).append(
61
		     		} else {
108
                       '<div class="results_summary">' +ebook+'</div>'
62
				    	var message = document.createElement("span");
109
                   );
63
					    $(message).attr("class","no-image");
110
               } else {
64
					    $(message).html(NO_OL_JACKET);
111
			img.src = book.cover.small;
65
					    $(this).append(message);
112
               		$(this).append(img);
66
				    }
113
		}
67
        });
114
           } else {
68
      }
115
               var message =  document.createElement("span");
69
    }
116
               $(message).attr("class","no-image");
117
               $(message).html(NO_OL_JACKET);
118
               $(this).append(message);
119
           }
120
       });
121
   }
122
 }
70
};
123
};
71
- 

Return to bug 7161