mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Content server now works partially with IE6,7 and fully with IE 8
This commit is contained in:
parent
3525827192
commit
85b25af6b1
@ -7,8 +7,8 @@ var column_titles = {
|
|||||||
'rating' : 'Rating',
|
'rating' : 'Rating',
|
||||||
'date' : 'Date',
|
'date' : 'Date',
|
||||||
'tags' : 'Tags',
|
'tags' : 'Tags',
|
||||||
'series' : 'Series',
|
'series' : 'Series'
|
||||||
}
|
};
|
||||||
|
|
||||||
String.prototype.format = function() {
|
String.prototype.format = function() {
|
||||||
var pattern = /\{\d+\}/g;
|
var pattern = /\{\d+\}/g;
|
||||||
@ -47,7 +47,7 @@ function render_book(book) {
|
|||||||
// Render title cell
|
// Render title cell
|
||||||
var title = '<i>{0}</i>'.format(book.attr("title")) + '<br /><span class="subtitle">';
|
var title = '<i>{0}</i>'.format(book.attr("title")) + '<br /><span class="subtitle">';
|
||||||
var id = book.attr("id");
|
var id = book.attr("id");
|
||||||
var comments = $.trim(book.text()).replace(/\n\n/, '<br/>');
|
var comments = $.trim(book.text()).replace(/\n\n/, '<br/>');
|
||||||
var formats = new Array();
|
var formats = new Array();
|
||||||
var size = (parseFloat(book.attr('size'))/(1024*1024)).toFixed(1);
|
var size = (parseFloat(book.attr('size'))/(1024*1024)).toFixed(1);
|
||||||
var tags = book.attr('tags').replace(/,/g, ', ');
|
var tags = book.attr('tags').replace(/,/g, ', ');
|
||||||
@ -70,22 +70,22 @@ function render_book(book) {
|
|||||||
authors += jQuery.trim(_authors[i]).replace(/ /g, ' ')+'<br />';
|
authors += jQuery.trim(_authors[i]).replace(/ /g, ' ')+'<br />';
|
||||||
}
|
}
|
||||||
if (authors) { authors = authors.slice(0, authors.length-6); }
|
if (authors) { authors = authors.slice(0, authors.length-6); }
|
||||||
|
|
||||||
// Render rating cell
|
// Render rating cell
|
||||||
var _rating = parseFloat(book.attr('rating'))/2.;
|
var _rating = parseFloat(book.attr('rating'))/2.;
|
||||||
var rating = '';
|
var rating = '';
|
||||||
for (i = 0; i < _rating; i++) { rating += '★'}
|
for (i = 0; i < _rating; i++) { rating += '★'}
|
||||||
|
|
||||||
// Render date cell
|
// Render date cell
|
||||||
var _date = Date.parseExact(book.attr('timestamp'), 'yyyy/MM/dd HH:mm:ss');
|
var _date = Date.parseExact(book.attr('timestamp'), 'yyyy/MM/dd HH:mm:ss');
|
||||||
var date = _date.toString('d MMM yyyy').replace(/ /g, ' ');
|
var date = _date.toString('d MMM yyyy').replace(/ /g, ' ');
|
||||||
|
|
||||||
// Render series cell
|
// Render series cell
|
||||||
var series = book.attr("series")
|
var series = book.attr("series")
|
||||||
if (series) {
|
if (series) {
|
||||||
series += ' [{0}]'.format(book.attr('series_index'));
|
series += ' [{0}]'.format(book.attr('series_index'));
|
||||||
}
|
}
|
||||||
|
|
||||||
var cells = {
|
var cells = {
|
||||||
'title' : title,
|
'title' : title,
|
||||||
'authors' : authors,
|
'authors' : authors,
|
||||||
@ -93,12 +93,12 @@ function render_book(book) {
|
|||||||
'date' : date,
|
'date' : date,
|
||||||
'series' : series
|
'series' : series
|
||||||
};
|
};
|
||||||
|
|
||||||
var row = '';
|
var row = '';
|
||||||
for (i = 0; i < cmap.length; i++) {
|
for (i = 0; i < cmap.length; i++) {
|
||||||
row += '<td class="{0}">{1}</td>'.format(cmap[i], cells[cmap[i]]);
|
row += '<td class="{0}">{1}</td>'.format(cmap[i], cells[cmap[i]]);
|
||||||
}
|
}
|
||||||
return '<tr id="{0}">{1}</tr>'.format(id, row);
|
return '<tr id="{0}">{1}</tr>'.format(id, row);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetch_library_books(start, num, timeout, sort, order, search) {
|
function fetch_library_books(start, num, timeout, sort, order, search) {
|
||||||
@ -112,15 +112,15 @@ function fetch_library_books(start, num, timeout, sort, order, search) {
|
|||||||
last_search = search;
|
last_search = search;
|
||||||
last_sort = sort;
|
last_sort = sort;
|
||||||
last_sort_order = order;
|
last_sort_order = order;
|
||||||
|
|
||||||
if (current_library_request != null) {
|
if (current_library_request != null) {
|
||||||
current_library_request.abort();
|
current_library_request.abort();
|
||||||
current_library_request = null;
|
current_library_request = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#cover_pane').css('visibility', 'hidden');
|
$('#cover_pane').css('visibility', 'hidden');
|
||||||
$('#loading').css('visibility', 'visible');
|
$('#loading').css('visibility', 'visible');
|
||||||
|
|
||||||
current_library_request = $.ajax({
|
current_library_request = $.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
url: "library",
|
url: "library",
|
||||||
@ -128,18 +128,18 @@ function fetch_library_books(start, num, timeout, sort, order, search) {
|
|||||||
cache: false,
|
cache: false,
|
||||||
timeout: timeout, //milliseconds
|
timeout: timeout, //milliseconds
|
||||||
dataType: "xml",
|
dataType: "xml",
|
||||||
|
|
||||||
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
||||||
alert('Error: '+textStatus+'\n\n'+errorThrown);
|
alert('Error: '+textStatus+'\n\n'+errorThrown);
|
||||||
},
|
},
|
||||||
|
|
||||||
success : function(xml, textStatus) {
|
success : function(xml, textStatus) {
|
||||||
var library = $(xml).find('library');
|
var library = $(xml).find('library');
|
||||||
total = parseInt(library.attr('total'));
|
total = parseInt(library.attr('total'));
|
||||||
var num = parseInt(library.attr('num'));
|
var num = parseInt(library.attr('num'));
|
||||||
var start = parseInt(library.attr('start'));
|
var start = parseInt(library.attr('start'));
|
||||||
update_count_bar(start, num, total);
|
update_count_bar(start, num, total);
|
||||||
var display = '';
|
var display = '';
|
||||||
library.find('book').each( function() {
|
library.find('book').each( function() {
|
||||||
var book = $(this);
|
var book = $(this);
|
||||||
var row = render_book(book);
|
var row = render_book(book);
|
||||||
@ -170,18 +170,18 @@ function fetch_library_books(start, num, timeout, sort, order, search) {
|
|||||||
$('#cover_pane').css('visibility', 'visible');
|
$('#cover_pane').css('visibility', 'visible');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
layout();
|
layout();
|
||||||
$('#book_list tbody tr:even()').css('background-color', '#eeeeee');
|
$('#book_list tbody tr:even()').css('background-color', '#eeeeee');
|
||||||
},
|
},
|
||||||
|
|
||||||
complete : function(XMLHttpRequest, textStatus) {
|
complete : function(XMLHttpRequest, textStatus) {
|
||||||
current_library_request = null;
|
current_library_request = null;
|
||||||
document.getElementById('main').scrollTop = 0;
|
document.getElementById('main').scrollTop = 0;
|
||||||
$('#loading').css('visibility', 'hidden');
|
$('#loading').css('visibility', 'hidden');
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -196,7 +196,7 @@ function update_count_bar(start, num, total) {
|
|||||||
left.css('opacity', (start <= 0) ? 0.3 : 1);
|
left.css('opacity', (start <= 0) ? 0.3 : 1);
|
||||||
var right = cb.find('#right');
|
var right = cb.find('#right');
|
||||||
right.css('opacity', (start + num >= total) ? 0.3 : 1);
|
right.css('opacity', (start + num >= total) ? 0.3 : 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setup_count_bar() {
|
function setup_count_bar() {
|
||||||
@ -205,7 +205,7 @@ function setup_count_bar() {
|
|||||||
fetch_library_books(0, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
fetch_library_books(0, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#count_bar * img:eq(1)').click(function(){
|
$('#count_bar * img:eq(1)').click(function(){
|
||||||
if (last_start > 0) {
|
if (last_start > 0) {
|
||||||
var new_start = last_start - last_num;
|
var new_start = last_start - last_num;
|
||||||
@ -215,14 +215,14 @@ function setup_count_bar() {
|
|||||||
fetch_library_books(new_start, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
fetch_library_books(new_start, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#count_bar * img:eq(2)').click(function(){
|
$('#count_bar * img:eq(2)').click(function(){
|
||||||
if (last_start + last_num < total) {
|
if (last_start + last_num < total) {
|
||||||
var new_start = last_start + last_num;
|
var new_start = last_start + last_num;
|
||||||
fetch_library_books(new_start, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
fetch_library_books(new_start, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#count_bar * img:eq(3)').click(function(){
|
$('#count_bar * img:eq(3)').click(function(){
|
||||||
if (total - last_num > 0) {
|
if (total - last_num > 0) {
|
||||||
fetch_library_books(total - last_num, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
fetch_library_books(total - last_num, last_num, LIBRARY_FETCH_TIMEOUT, last_sort, last_sort_order, last_search);
|
||||||
@ -234,7 +234,7 @@ function setup_count_bar() {
|
|||||||
|
|
||||||
function search() {
|
function search() {
|
||||||
var search = $.trim($('#search_box * #s').val());
|
var search = $.trim($('#search_box * #s').val());
|
||||||
fetch_library_books(0, last_num, LIBRARY_FETCH_TIMEOUT,
|
fetch_library_books(0, last_num, LIBRARY_FETCH_TIMEOUT,
|
||||||
last_sort, last_sort_order, search);
|
last_sort, last_sort_order, search);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,11 +245,11 @@ function setup_sorting() {
|
|||||||
$('table#book_list thead tr td').mouseover(function() {
|
$('table#book_list thead tr td').mouseover(function() {
|
||||||
this.style.backgroundColor = "#fff2a8";
|
this.style.backgroundColor = "#fff2a8";
|
||||||
});
|
});
|
||||||
|
|
||||||
$('table#book_list thead tr td').mouseout(function() {
|
$('table#book_list thead tr td').mouseout(function() {
|
||||||
this.style.backgroundColor = "inherit";
|
this.style.backgroundColor = "inherit";
|
||||||
});
|
});
|
||||||
|
|
||||||
for (i = 0; i < cmap.length; i++) {
|
for (i = 0; i < cmap.length; i++) {
|
||||||
$('table#book_list span#{0}_sort'.format(cmap[i])).parent().click(function() {
|
$('table#book_list span#{0}_sort'.format(cmap[i])).parent().click(function() {
|
||||||
var sort_indicator = $($(this).find('span'));
|
var sort_indicator = $($(this).find('span'));
|
||||||
@ -258,7 +258,7 @@ function setup_sorting() {
|
|||||||
var col = id.slice(0, id.indexOf("_"));
|
var col = id.slice(0, id.indexOf("_"));
|
||||||
var order = 'ascending';
|
var order = 'ascending';
|
||||||
var html = '↑';
|
var html = '↑';
|
||||||
|
|
||||||
if (sort_indicator.html() == '↑') {
|
if (sort_indicator.html() == '↑') {
|
||||||
order = 'descending'; html = '↓';
|
order = 'descending'; html = '↓';
|
||||||
}
|
}
|
||||||
@ -291,13 +291,13 @@ function layout() {
|
|||||||
$(function() {
|
$(function() {
|
||||||
// document is ready
|
// document is ready
|
||||||
create_table_headers();
|
create_table_headers();
|
||||||
|
|
||||||
// Setup widgets
|
// Setup widgets
|
||||||
setup_sorting();
|
setup_sorting();
|
||||||
setup_count_bar();
|
setup_count_bar();
|
||||||
$('#search_box * #s').val('');
|
$('#search_box * #s').val('');
|
||||||
$(window).resize(layout);
|
$(window).resize(layout);
|
||||||
|
|
||||||
$($('#book_list * span#date_sort').parent()).click();
|
$($('#book_list * span#date_sort').parent()).click();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user