mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-31 07:13:02 +00:00 
			
		
		
		
	Code cosmetics
This commit is contained in:
		| @@ -9,36 +9,95 @@ $(document).ready(function () { | ||||
|     var msg = i18nMsg; | ||||
|     var douban = "https://api.douban.com"; | ||||
|     var dbSearch = "/v2/book/search"; | ||||
|     var db_get_info = "/v2/book/"; | ||||
|     var db_get_info_by_isbn = "/v2/book/isbn/ "; | ||||
|     // var dbGetInfo = "/v2/book/"; | ||||
|     // var db_get_info_by_isbn = "/v2/book/isbn/ "; | ||||
|     var dbDone = false; | ||||
|  | ||||
|     var google = "https://www.googleapis.com/"; | ||||
|     var gg_search = "/books/v1/volumes"; | ||||
|     var gg_get_info = "/books/v1/volumes/"; | ||||
|     var gg_done = false; | ||||
|     var ggSearch = "/books/v1/volumes"; | ||||
|     // var gg_get_info = "/books/v1/volumes/"; | ||||
|     var ggDone = false; | ||||
|  | ||||
|     var db_results = []; | ||||
|     var gg_results = []; | ||||
|     var show_flag = 0; | ||||
|     String.prototype.replaceAll = function (s1, s2) {   | ||||
|     var dbResults = []; | ||||
|     var ggResults = []; | ||||
|     var showFlag = 0; | ||||
|     String.prototype.replaceAll = function (s1, s2) { | ||||
|         return this.replace(new RegExp(s1, "gm"), s2); | ||||
|     }; | ||||
|  | ||||
|     function gg_search_book (title) { | ||||
|     function showResult () { | ||||
|         showFlag++; | ||||
|         if (showFlag === 1) { | ||||
|             $("#meta-info").html('<ul id="book-list" class="media-list"></ul>'); | ||||
|         } | ||||
|         if (ggDone && dbDone) { | ||||
|             if (!ggResults && !dbResults) { | ||||
|                 $("#meta-info").html('<p class="text-danger">'+ msg.no_result +"</p>"); | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|         if (ggDone && ggResults.length > 0) { | ||||
|             for (var i = 0; i < ggResults.length; i++) { | ||||
|                 var book = ggResults[i]; | ||||
|                 var bookCover; | ||||
|                 if (book.volumeInfo.imageLinks) { | ||||
|                     bookCover = book.volumeInfo.imageLinks.thumbnail; | ||||
|                 } else { | ||||
|                     bookCover = "/static/generic_cover.jpg"; | ||||
|                 } | ||||
|                 var bookHtml = '<li class="media">' + | ||||
|                     '<img class="pull-left img-responsive" data-toggle="modal" data-target="#metaModal" src="' + | ||||
|                     bookCover + '" alt="Cover" style="width:100px;height:150px" onclick=\'javascript:get_meta("google",' + | ||||
|                     i + ')\'>' + | ||||
|                     '<div class="media-body">' + | ||||
|                     '<h4 class="media-heading"><a href="https://books.google.com/books?id=' + | ||||
|                     book.id + '"  target="_blank">' + book.volumeInfo.title + '</a></h4>' + | ||||
|                     "<p>"+ msg.author +":" + book.volumeInfo.authors + "</p>" + | ||||
|                     "<p>"+ msg.publisher + ":" + book.volumeInfo.publisher + "</p>" + | ||||
|                     "<p>"+ msg.description + ":" + book.volumeInfo.description + "</p>" + | ||||
|                     "<p>"+ msg.source + ':<a href="https://books.google.com" target="_blank">Google Books</a></p>' + | ||||
|                     "</div>" + | ||||
|                     "</li>"; | ||||
|                 $("#book-list").append(bookHtml); | ||||
|             } | ||||
|             ggDone = false; | ||||
|         } | ||||
|         if (dbDone && dbResults.length > 0) { | ||||
|             for (var i = 0; i < dbResults.length; i++) { | ||||
|                 var book = dbResults[i]; | ||||
|                 var bookHtml = '<li class="media">' + | ||||
|                     '<img class="pull-left img-responsive" data-toggle="modal" data-target="#metaModal" src="' + | ||||
|                     book.image + '" alt="Cover" style="width:100px;height: 150px" onclick=\'javascript:get_meta("douban",' + | ||||
|                     i + ')\'>' + | ||||
|                     '<div class="media-body">' + | ||||
|                     '<h4 class="media-heading"><a href="https://book.douban.com/subject/' + | ||||
|                     book.id + '"  target="_blank">' + book.title + "</a></h4>" + | ||||
|                     "<p>" + msg.author + ":" + book.author + "</p>" + | ||||
|                     "<p>" + msg.publisher + ":" + book.publisher + "</p>" + | ||||
|                     "<p>" + msg.description + ":" + book.summary + "</p>" + | ||||
|                     "<p>" + msg.source + ':<a href="https://book.douban.com" target="_blank">Douban Books</a></p>' + | ||||
|                     "</div>" + | ||||
|                     "</li>"; | ||||
|                 $("#book-list").append(bookHtml); | ||||
|             } | ||||
|             dbDone = false; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     function ggSearchBook (title) { | ||||
|         title = title.replaceAll(/\s+/, "+"); | ||||
|         var url = google + gg_search + "?q=" + title; | ||||
|         var url = google + ggSearch + "?q=" + title; | ||||
|         $.ajax({ | ||||
|             url, | ||||
|             type: "GET", | ||||
|             dataType: "jsonp", | ||||
|             jsonp: "callback", | ||||
|             success: function (data) { | ||||
|                 gg_results = data.items; | ||||
|                 ggResults = data.items; | ||||
|             }, | ||||
|             complete: function () { | ||||
|                 gg_done = true; | ||||
|                 show_result(); | ||||
|                 ggDone = true; | ||||
|                 showResult(); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| @@ -47,7 +106,7 @@ $(document).ready(function () { | ||||
|         var meta; | ||||
|         var tags; | ||||
|         if (source === "google") { | ||||
|             meta = gg_results[id]; | ||||
|             meta = ggResults[id]; | ||||
|             $("#description").val(meta.volumeInfo.description); | ||||
|             $("#bookAuthor").val(meta.volumeInfo.authors.join(" & ")); | ||||
|             $("#book_title").val(meta.volumeInfo.title); | ||||
| @@ -61,13 +120,13 @@ $(document).ready(function () { | ||||
|             return; | ||||
|         } | ||||
|         if (source === "douban") { | ||||
|             meta = db_results[id]; | ||||
|             meta = dbResults[id]; | ||||
|             $("#description").val(meta.summary); | ||||
|             $("#bookAuthor").val(meta.author.join(" & ")); | ||||
|             $("#book_title").val(meta.title); | ||||
|             tags = ''; | ||||
|             tags = ""; | ||||
|             for (var i = 0; i < meta.tags.length; i++) { | ||||
|                 tags = tags + meta.tags[i].title + ','; | ||||
|                 tags = tags + meta.tags[i].title + ","; | ||||
|             } | ||||
|             $("#tags").val(tags); | ||||
|             $("#rating").val(Math.round(meta.rating.average / 2)); | ||||
| @@ -75,91 +134,32 @@ $(document).ready(function () { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     function do_search (keyword) { | ||||
|         show_flag = 0; | ||||
|     function doSearch (keyword) { | ||||
|         showFlag = 0; | ||||
|         $("#meta-info").text(msg.loading); | ||||
|         var keyword = $("#keyword").val(); | ||||
|         // var keyword = $("#keyword").val(); | ||||
|         if (keyword) { | ||||
|             db_search_book(keyword); | ||||
|             gg_search_book(keyword); | ||||
|             dbSearchBook(keyword); | ||||
|             ggSearchBook(keyword); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     function show_result () { | ||||
|         show_flag++; | ||||
|         if (show_flag == 1) { | ||||
|             $('#meta-info').html('<ul id="book-list" class="media-list"></ul>'); | ||||
|         } | ||||
|         if (gg_done && dbDone) { | ||||
|             if (!gg_results && !db_results) { | ||||
|                 $('#meta-info').html('<p class="text-danger">'+ msg.no_result +'</p>'); | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|         if (gg_done && gg_results.length > 0) { | ||||
|             for (var i = 0; i < gg_results.length; i++) { | ||||
|                 var book = gg_results[i]; | ||||
|                 var book_cover; | ||||
|                 if (book.volumeInfo.imageLinks) { | ||||
|                     book_cover = book.volumeInfo.imageLinks.thumbnail; | ||||
|                 } else { | ||||
|                     book_cover = '/static/generic_cover.jpg'; | ||||
|                 } | ||||
|                 var book_html = '<li class="media">' + | ||||
|                     '<img class="pull-left img-responsive" data-toggle="modal" data-target="#metaModal" src="' + | ||||
|                     book_cover + '" alt="Cover" style="width:100px;height:150px" onclick=\'javascript:get_meta("google",' + | ||||
|                     i + ')\'>' + | ||||
|                     '<div class="media-body">' + | ||||
|                     '<h4 class="media-heading"><a href="https://books.google.com/books?id=' + | ||||
|                     book.id + '"  target="_blank">' + book.volumeInfo.title + '</a></h4>' + | ||||
|                     '<p>'+ msg.author +':' + book.volumeInfo.authors + '</p>' + | ||||
|                     '<p>'+ msg.publisher + ':' + book.volumeInfo.publisher + '</p>' + | ||||
|                     '<p>'+ msg.description + ':' + book.volumeInfo.description + '</p>' + | ||||
|                     '<p>'+ msg.source + ':<a href="https://books.google.com" target="_blank">Google Books</a></p>' + | ||||
|                     '</div>' + | ||||
|                     '</li>'; | ||||
|                 $("#book-list").append(book_html); | ||||
|             } | ||||
|             gg_done = false; | ||||
|         } | ||||
|         if (dbDone && db_results.length > 0) { | ||||
|             for (var i = 0; i < db_results.length; i++) { | ||||
|                 var book = db_results[i]; | ||||
|                 var book_html = '<li class="media">' + | ||||
|                     '<img class="pull-left img-responsive" data-toggle="modal" data-target="#metaModal" src="' + | ||||
|                     book.image + '" alt="Cover" style="width:100px;height: 150px" onclick=\'javascript:get_meta("douban",' + | ||||
|                     i + ')\'>' + | ||||
|                     '<div class="media-body">' + | ||||
|                     '<h4 class="media-heading"><a href="https://book.douban.com/subject/' + | ||||
|                     book.id + '"  target="_blank">' + book.title + '</a></h4>' + | ||||
|                     '<p>' + msg.author + ':' + book.author + '</p>' + | ||||
|                     '<p>' + msg.publisher + ':' + book.publisher + '</p>' + | ||||
|                     '<p>' + msg.description + ':' + book.summary + '</p>' + | ||||
|                     '<p>' + msg.source + ':<a href="https://book.douban.com" target="_blank">Douban Books</a></p>' + | ||||
|                     '</div>' + | ||||
|                     "</li>"; | ||||
|                 $("#book-list").append(book_html); | ||||
|             } | ||||
|             dbDone = false; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     db_search_book = function (title) { | ||||
|         var url = douban + dbSearch + '?q=' + title + '&fields=all&count=10'; | ||||
|     function dbSearchBook (title) { | ||||
|         var url = douban + dbSearch + "?q=" + title + "&fields=all&count=10"; | ||||
|         $.ajax({ | ||||
|             url: url, | ||||
|             type: "GET", | ||||
|             dataType: "jsonp", | ||||
|             jsonp: 'callback', | ||||
|             jsonp: "callback", | ||||
|             success: function (data) { | ||||
|                 db_results = data.books; | ||||
|                 dbResults = data.books; | ||||
|             }, | ||||
|             error: function () { | ||||
|                 $('#meta-info').html('<p class="text-danger">'+ msg.search_error+'!</p>'); | ||||
|                 $("#meta-info").html('<p class="text-danger">'+ msg.search_error+"!</p>"); | ||||
|             }, | ||||
|             complete: function () { | ||||
|                 dbDone = true; | ||||
|                 show_result(); | ||||
|                 showResult(); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| @@ -167,15 +167,15 @@ $(document).ready(function () { | ||||
|     $("#do-search").click(function () { | ||||
|         var keyword = $("#keyword").val(); | ||||
|         if (keyword) { | ||||
|             do_search(keyword); | ||||
|             doSearch(keyword); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     $("#get_meta").click(function () { | ||||
|         var book_title = $("#book_title").val(); | ||||
|         if (book_title) { | ||||
|             $("#keyword").val(book_title); | ||||
|             do_search(book_title); | ||||
|         var bookTitle = $("#book_title").val(); | ||||
|         if (bookTitle) { | ||||
|             $("#keyword").val(bookTitle); | ||||
|             doSearch(bookTitle); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 OzzieIsaacs
					OzzieIsaacs