Commit 16a3deec authored by Ozzieisaacs's avatar Ozzieisaacs

Merge branch 'master' into Develop

# Conflicts:
#	cps/helper.py
parents 308fd554 92db0069
......@@ -56,10 +56,17 @@ mimetypes.add_type('application/ogg', '.ogg')
mimetypes.add_type('application/ogg', '.oga')
app = Flask(__name__)
app.config.update(
SESSION_COOKIE_HTTPONLY=True,
SESSION_COOKIE_SAMESITE='Lax',
REMEMBER_COOKIE_SAMESITE='Lax', # will be available in flask-login 0.5.1 earliest
)
lm = LoginManager()
lm.login_view = 'web.login'
lm.anonymous_user = ub.Anonymous
lm.session_protection = 'strong'
ub.init_db(cli.settingspath)
# pylint: disable=no-member
......
......@@ -104,11 +104,11 @@ class Identifiers(Base):
if self.type == "amazon":
return u"https://amzn.com/{0}".format(self.val)
elif self.type == "isbn":
return u"http://www.worldcat.org/isbn/{0}".format(self.val)
return u"https://www.worldcat.org/isbn/{0}".format(self.val)
elif self.type == "doi":
return u"http://dx.doi.org/{0}".format(self.val)
return u"https://dx.doi.org/{0}".format(self.val)
elif self.type == "goodreads":
return u"http://www.goodreads.com/book/show/{0}".format(self.val)
return u"https://www.goodreads.com/book/show/{0}".format(self.val)
elif self.type == "douban":
return u"https://book.douban.com/subject/{0}".format(self.val)
elif self.type == "google":
......@@ -116,7 +116,7 @@ class Identifiers(Base):
elif self.type == "kobo":
return u"https://www.kobo.com/ebook/{0}".format(self.val)
elif self.type == "lubimyczytac":
return u" http://lubimyczytac.pl/ksiazka/{0}".format(self.val)
return u" https://lubimyczytac.pl/ksiazka/{0}".format(self.val)
elif self.type == "url":
return u"{0}".format(self.val)
else:
......
......@@ -467,7 +467,7 @@ def reset_password(user_id):
def generate_random_password():
s = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%&*()?"
passlen = 8
return "".join(random.sample(s, passlen))
return "".join(s[c % len(s)] for c in os.urandom(passlen))
################################## External interface
......@@ -615,8 +615,9 @@ def do_download_file(book, book_format, client, data, headers):
headers["Content-Disposition"] = headers["Content-Disposition"].replace(".kepub", ".kepub.epub")
response = make_response(send_from_directory(filename, data.name + "." + book_format))
response.headers = headers
# ToDo Check headers parameter
for element in headers:
response.headers[element[0]] = element[1]
return response
##################################
......
......@@ -979,7 +979,7 @@ def NATIVE_KOBO_RESOURCES():
"blackstone_header": {"key": "x-amz-request-payer", "value": "requester"},
"book": "https://storeapi.kobo.com/v1/products/books/{ProductId}",
"book_detail_page": "https://store.kobobooks.com/{culture}/ebook/{slug}",
"book_detail_page_rakuten": "http://books.rakuten.co.jp/rk/{crossrevisionid}",
"book_detail_page_rakuten": "https://books.rakuten.co.jp/rk/{crossrevisionid}",
"book_landing_page": "https://store.kobobooks.com/ebooks",
"book_subscription": "https://storeapi.kobo.com/v1/products/books/subscriptions",
"categories": "https://storeapi.kobo.com/v1/categories",
......@@ -1017,7 +1017,7 @@ def NATIVE_KOBO_RESOURCES():
"get_tests_request": "https://storeapi.kobo.com/v1/analytics/gettests",
"giftcard_epd_redeem_url": "https://www.kobo.com/{storefront}/{language}/redeem-ereader",
"giftcard_redeem_url": "https://www.kobo.com/{storefront}/{language}/redeem",
"help_page": "http://www.kobo.com/help",
"help_page": "https://www.kobo.com/help",
"kobo_audiobooks_enabled": "False",
"kobo_audiobooks_orange_deal_enabled": "False",
"kobo_audiobooks_subscriptions_enabled": "False",
......
......@@ -40,7 +40,7 @@ try:
Stores and retrieves OAuth tokens using a relational database through
the `SQLAlchemy`_ ORM.
.. _SQLAlchemy: http://www.sqlalchemy.org/
.. _SQLAlchemy: https://www.sqlalchemy.org/
"""
def __init__(self, model, session, provider_id,
user=None, user_id=None, user_required=None, anon_user=None,
......
......@@ -15,20 +15,20 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Move advanced search to side-menu
$( 'a[href*="advanced"]' ).parent().insertAfter( '#nav_new' );
$( 'body' ).addClass('blur');
$( 'body.stat' ).addClass( 'stats' );
$( 'body.config' ).addClass( 'admin');
$( 'body.uiconfig' ).addClass( 'admin');
$( 'body.advsearch' ).addClass( 'advanced_search' );
$( 'body.newuser' ).addClass( 'admin' );
$( 'body.mailset' ).addClass( 'admin' );
$("a[href*='advanced']" ).parent().insertAfter("#nav_new");
$("body").addClass("blur");
$("body.stat").addClass("stats" );
$("body.config").addClass("admin");
$("body.uiconfig").addClass("admin");
$("body.advsearch").addClass("advanced_search");
$("body.newuser").addClass("admin");
$("body.mailset").addClass("admin");
// Back button
curHref = window.location.href.split('/');
prevHref = document.referrer.split('/');
$( '.navbar-form.navbar-left' )
.before( '<div class="plexBack"><a href="' + encodeURI(document.referrer) + '"></a></div>' );
curHref = window.location.href.split("/");
prevHref = document.referrer.split("/");
$(".navbar-form.navbar-left")
.before('<div class="plexBack"><a href="' + encodeURI(document.referrer) + '"></a></div>');
if ( history.length === 1 ||
curHref[0] +
curHref[1] +
......@@ -36,55 +36,55 @@ if ( history.length === 1 ||
prevHref[0] +
prevHref[1] +
prevHref[2] ||
$( 'body.root' )>length > 0 ) {
$( '.plexBack' ).addClass( 'noBack' );
$("body.root")>length > 0 ) {
$(".plexBack").addClass("noBack");
}
//Weird missing a after pressing back from edit.
setTimeout(function() {
if ( $( '.plexBack a').length < 1 ) {
$( '.plexBack' ).append('<a href="' + encodeURI(document.referrer) + '"></a>');
if ( $(".plexBack a").length < 1 ) {
$(".plexBack").append('<a href="' + encodeURI(document.referrer) + '"></a>');
}
},10);
// Home button
$( '.plexBack' ).before( '<div class="home-btn"></div>' );
$( 'a.navbar-brand' ).clone().appendTo( '.home-btn' ).empty().removeClass('navbar-brand');
$(".plexBack").before( '<div class="home-btn"></div>' );
$("a.navbar-brand").clone().appendTo(".home-btn").empty().removeClass("navbar-brand");
/////////////////////////////////
// Start of Book Details Work //
///////////////////////////////
// Wrap book description in div container
if ( $( 'body.book' ).length > 0 ) {
if ( $("body.book").length > 0 ) {
description = $( '.comments' );
bookInfo = $( ".author" ).nextUntil("#decription");
description = $(".comments");
bookInfo = $(".author").nextUntil("#decription");
$("#decription").detach();
$( '.comments' ).detach();
$( ".comments" ).detach();
$( bookInfo ).wrapAll( '<div class="bookinfo"></div>' );
// $( 'h3:contains("Description:")' ).after( '<div class="description"></div>' );
$( '.languages' ).appendTo( '.bookinfo' );
$('.hr').detach();
if ( $( '.identifiers ').length > 0 ) {
console.log(".identifiers length " + $( '.identifiers ').length );
$(".languages").appendTo(".bookinfo");
$(".hr").detach();
if ( $(".identifiers ").length > 0 ) {
console.log(".identifiers length " + $(".identifiers").length );
$( '.identifiers' ).before( '<div class="hr"></div>' );
} else {
if ( $( '.bookinfo > p:first-child' ).length > 0 ) {
console.log(".bookinfo > p:first-child length " + $( '.bookinfo > p' ).length );
$( '.bookinfo > p:first-child' ).first().after( '<div class="hr"></div>' );
if ( $( ".bookinfo > p:first-child" ).length > 0 ) {
console.log(".bookinfo > p:first-child length " + $( ".bookinfo > p" ).length );
$( ".bookinfo > p:first-child" ).first().after( '<div class="hr"></div>' );
} else{
if ( $( '.bookinfo a[href*="/series/"]' ).length > 0 ) {
console.log( 'series text found; placing hr below series' );
console.log( "series text found; placing hr below series" );
$( '.bookinfo a[href*="/series/"]' ).parent().after( '<div class="hr"></div>' );
} else {
console.log("prepending hr div to top of .bookinfo");
$( '.bookinfo' ).prepend( '<div class="hr"></div>' );
$( ".bookinfo" ).prepend( '<div class="hr"></div>' );
}
}
}
$( '.rating' ).insertBefore( '.hr' );
$( '#remove-from-shelves' ).insertAfter( '.hr' );
$( description ).appendTo('.bookinfo')
$( ".rating" ).insertBefore( ".hr" );
$( "#remove-from-shelves" ).insertAfter( ".hr" );
$( description ).appendTo(".bookinfo")
/* if book description is not in html format, Remove extra line breaks
Remove blank lines/unnecessary spaces, split by line break to array
Push array into .description div. If there is still a wall of text,
......@@ -93,16 +93,16 @@ if ( $( 'body.book' ).length > 0 ) {
styles and empty elements */
// If text is sitting in div as text node
if ( $('.comments:has(p)' ).length === 0 ) {
if ( $(".comments:has(p)" ).length === 0 ) {
newdesc = description.text()
.replace(/^(?=\n)$|^\s*|\s*$|\n\n+/gm,"").split(/\n/);
$('.comments' ).empty();
$(".comments" ).empty();
$.each(newdesc, function(i, val) {
$( 'div.comments' ).append( '<p>' + newdesc[i] + '</p>' );
$( "div.comments" ).append( "<p>" + newdesc[i] + "</p>" );
});
$( '.comments' ).fadeIn(100);
$( ".comments" ).fadeIn(100);
} //If still a wall of text create 3 sentence paragraphs.
if( $( '.comments p' ).length === 1 ) {
if( $( ".comments p" ).length === 1 ) {
if ( description.context != undefined ) {
newdesc = description.text()
.replace(/^(?=\n)$|^\s*|\s*$|\n\n+/gm,"").split(/\n/);
......@@ -111,9 +111,9 @@ if ( $( 'body.book' ).length > 0 ) {
newdesc = description.text();
}
doc = nlp ( newdesc.toString() );
sentences = doc.map((m)=> m.out( 'text' ));
sentences = doc.map((m)=> m.out( "text" ));
sentences[0] = sentences[0].replace(",","");
$( '.comments p' ).remove();
$( ".comments p" ).remove();
let size = 3; let sentenceChunks = [];
for (var i=0; i<sentences.length; i+=size) {
sentenceChunks.push(sentences.slice(i,i+size));
......@@ -124,170 +124,170 @@ if ( $( 'body.book' ).length > 0 ) {
$.each(val, function(i, val) {
preOutput += val;
});
output += '<p>' + preOutput + '</p>';
output += "<p>" + preOutput + "</p>";
});
$( 'div.comments' ).append( output );
$( "div.comments" ).append( output );
}
else {
$.each(description, function(i, val) {
// $( description[i].outerHTML ).appendTo( '.comments' );
$( 'div.comments :empty' ).remove();
$( 'div.comments ').attr( 'style', '' );
// $( description[i].outerHTML ).appendTo( ".comments" );
$( "div.comments :empty" ).remove();
$( "div.comments ").attr( "style", "" );
});
$( 'div.comments' ).fadeIn( 100 );
$( "div.comments" ).fadeIn( 100 );
}
// Sexy blurred backgrounds
cover = $( '.cover img' ).attr( 'src' );
$( '#loader + .container-fluid' )
.prepend( '<div class="blur-wrapper"></div' );
$( '.blur-wrapper' )
.prepend( '<div><img class="bg-blur" src="' + cover + '"></div>' );
cover = $( ".cover img" ).attr( "src" );
$( "#loader + .container-fluid" )
.prepend( "<div class='blur-wrapper'></div>" );
$( ".blur-wrapper" )
.prepend( '<div><img alt="Blurred cover" class="bg-blur" src="' + cover + '"></div>' );
// Fix-up book detail headings
publisher = $( '.publishers p span' ).text().split( ':' );
$( '.publishers p span' ).remove();
publisher = $( ".publishers p span" ).text().split( ":" );
$( ".publishers p span" ).remove();
$.each(publisher, function(i, val) {
$( '.publishers' ).append( '<span>' + publisher[i] + '</span>' );
$( ".publishers" ).append( "<span>" + publisher[i] + "</span>" );
});
$( '.publishers span:nth-child(3)' ).text(function() {
$( ".publishers span:nth-child(3)" ).text(function() {
return $(this).text().replace(/^\s+|^\t+|\t+|\s+$/g, "");
});
// Fix-up book custom colums headings
// real_custom_column = $( '.real_custom_columns' ).text().split( ':' );
real_custom_column = $( '.real_custom_columns' );
// $( '.real_custom_columns' ).remove();
real_custom_column = $( ".real_custom_columns" );
// $( ".real_custom_columns" ).remove();
$.each(real_custom_column, function(i, val) {
var split = $(this).text().split( ':' );
var split = $(this).text().split( ":" );
real_cc_key = split.shift();
real_cc_value = split.join(':');
real_cc_value = split.join(":");
$( this ).text("");
if (real_cc_value != "") {
$( this ).append( '<span>' + real_cc_key + '</span><span>' + real_cc_value + '</span>' );
$( this ).append( "<span>" + real_cc_key + "</span><span>" + real_cc_value + "</span>" );
}
});
//$( '.real_custom_columns:nth-child(3)' ).text(function() {
//return $(this).text().replace(/^\s+|^\t+|\t+|\s+$/g, "");
//});
published = $( '.publishing-date p' )
.text().split(': ');
$( '.publishing-date p' ).remove();
published = $( ".publishing-date p" )
.text().split(": ");
$( ".publishing-date p" ).remove();
$.each(published, function(i, val) {
$( '.publishing-date' ).append( '<span>' + published[i] + '</span>' );
$( ".publishing-date" ).append( "<span>" + published[i] + "</span>" );
});
languages = $( '.languages p span' ).text().split( ': ' );
$( '.languages p span' ).remove();
languages = $( ".languages p span" ).text().split( ": " );
$( ".languages p span" ).remove();
$.each(languages, function(i, val) {
$( '.languages' ).append( '<span>' + languages[i] + '</span>' );
$( ".languages" ).append( "<span>" + languages[i] + "</span>" );
});
$( '.book-meta h2:first' ).clone()
.prependTo( '.book-meta > .btn-toolbar:first' );
$( ".book-meta h2:first" ).clone()
.prependTo( ".book-meta > .btn-toolbar:first" );
// If only one download type exists still put the items into a drop-drown list.
downloads = $( 'a[id^=btnGroupDrop]' ).get();
downloads = $( "a[id^=btnGroupDrop]" ).get();
if ( $( downloads ).length === 1 ) {
$( '<button id="btnGroupDrop1" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-download"></span>Download :<span class="caret"></span></button><ul class="dropdown-menu leramslist aria-labelledby="btnGroupDrop1"></ul>' ).insertBefore( downloads[downloads.length-1] );
$( downloads ).detach();
$.each(downloads, function(i, val) {
$( '<li>' + downloads[i].outerHTML + '</li>' ).appendTo( '.leramslist' );
$( "<li>" + downloads[i].outerHTML + "</li>" ).appendTo( ".leramslist" );
});
$( '.leramslist' ).find( 'span' ).remove();
$( '.leramslist a' ).removeClass( 'btn btn-primary' ).removeAttr( 'role' );
$( ".leramslist" ).find( "span" ).remove();
$( ".leramslist a" ).removeClass( "btn btn-primary" ).removeAttr( "role" );
}
// Add classes to buttons
$( '#sendbtn' ).parent().addClass( 'sendBtn' );
$( '[id*=btnGroupDrop]' ).parent().addClass( 'downloadBtn' );
$( 'read-in-browser' ).parent().addClass( 'readBtn' );
$( '.downloadBtn button:first' ).addClass( 'download-text' );
$( "#sendbtn" ).parent().addClass( "sendBtn" );
$( "[id*=btnGroupDrop]" ).parent().addClass( "downloadBtn" );
$( "read-in-browser" ).parent().addClass( "readBtn" );
$( ".downloadBtn button:first" ).addClass( "download-text" );
// Move all options in book details page to the same group
$( '[aria-label*="Delete book"]' )
$( "[aria-label*='Delete book']" )
.prependTo( '[aria-label^="Download, send"]' )
.children().removeClass( 'btn-sm' );
$( '.custom_columns' )
.addClass(' btn-group' )
.attr('role', 'group' )
.removeClass( 'custom_columns' )
.children().removeClass( "btn-sm" );
$( ".custom_columns" )
.addClass(" btn-group" )
.attr("role", "group" )
.removeClass( "custom_columns" )
.prependTo( '[aria-label^="Download, send"]' );
$( '#have_read_cb' )
$( "#have_read_cb" )
.after( '<label class="block-label readLbl" for="#have_read_cb"></label>' );
$( '#archived_cb' )
$( "#archived_cb" )
.after( '<label class="block-label readLbl" for="#archived_cb"></label>' );
$( '#shelf-actions' ).prependTo( '[aria-label^="Download, send"]' );
$( "#shelf-actions" ).prependTo( '[aria-label^="Download, send"]' );
// Move dropdown lists higher in dom, replace bootstrap toggle with own toggle.
$( 'ul[aria-labelledby="read-in-browser"]' ).insertBefore( '.blur-wrapper' ).addClass('readinbrowser-drop');
$( 'ul[aria-labelledby="send-to-kindle"]' ).insertBefore( '.blur-wrapper' ).addClass('sendtokindle-drop');
$( '.leramslist' ).insertBefore( '.blur-wrapper' );
$( 'ul[aria-labelledby="btnGroupDrop1"]' ).insertBefore( '.blur-wrapper' ).addClass('leramslist');
$( '#add-to-shelves' ).insertBefore( '.blur-wrapper' );
$( '#read-in-browser' ).click( function() {
$( '.readinbrowser-drop' ).toggle();
$( 'ul[aria-labelledby="read-in-browser"]' ).insertBefore( ".blur-wrapper" ).addClass("readinbrowser-drop");
$( 'ul[aria-labelledby="send-to-kindle"]' ).insertBefore( ".blur-wrapper" ).addClass("sendtokindle-drop");
$( ".leramslist" ).insertBefore( ".blur-wrapper" );
$( 'ul[aria-labelledby="btnGroupDrop1"]' ).insertBefore( ".blur-wrapper" ).addClass("leramslist");
$( "#add-to-shelves" ).insertBefore( ".blur-wrapper" );
$( "#read-in-browser" ).click( function() {
$( ".readinbrowser-drop" ).toggle();
});
$('.downloadBtn' ).click( function() {
$( '.leramslist' ).toggle();
$(".downloadBtn" ).click( function() {
$( ".leramslist" ).toggle();
});
$('#sendbtn2' ).click( function() {
$( '.sendtokindle-drop' ).toggle();
$("#sendbtn2" ).click( function() {
$( ".sendtokindle-drop" ).toggle();
});
$('div[aria-label="Add to shelves"]' ).click( function() {
$( '#add-to-shelves' ).toggle();
$( "#add-to-shelves" ).toggle();
});
// Fix formatting error on book detail languages
if ( !$( '.book-meta > .bookinfo > .languages > span:last-of-type' ).text().startsWith(" ") ) {
$( '.book-meta > .bookinfo > .languages > span:last-of-type' ).prepend(" ");
if ( !$( ".book-meta > .bookinfo > .languages > span:last-of-type" ).text().startsWith(" ") ) {
$( ".book-meta > .bookinfo > .languages > span:last-of-type" ).prepend(" ");
}
//Work to reposition dropdowns. Does not currently solve for
//screen resizing
function dropdownToggle() {
topPos = $( '.book-meta > .btn-toolbar:first' ).offset().top
topPos = $( ".book-meta > .btn-toolbar:first" ).offset().top
if ( $( '#read-in-browser' ).length > 0 ) {
position = $( '#read-in-browser' ).offset().left
if ( position + $( '.readinbrowser-drop' ).width() > $( window ).width() ) {
positionOff = position + $( '.readinbrowser-drop' ).width() - $( window ).width();
if ( $( "#read-in-browser" ).length > 0 ) {
position = $( "#read-in-browser" ).offset().left
if ( position + $( ".readinbrowser-drop" ).width() > $( window ).width() ) {
positionOff = position + $( ".readinbrowser-drop" ).width() - $( window ).width();
ribPosition = position - positionOff - 5
$( '.readinbrowser-drop' ).attr("style", "left: " + ribPosition + "px !important; right: auto; top: " + topPos + "px");
$( ".readinbrowser-drop" ).attr("style", "left: " + ribPosition + "px !important; right: auto; top: " + topPos + "px");
} else {
$( '.readinbrowser-drop' ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
$( ".readinbrowser-drop" ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
}
}
if ( $( '#sendbtn2' ).length > 0 ) {
position = $( '#sendbtn2' ).offset().left
if ( position + $( '.sendtokindle-drop' ).width() > $( window ).width() ) {
positionOff = position + $( '.sendtokindle-drop' ).width() - $( window ).width();
if ( $( "#sendbtn2" ).length > 0 ) {
position = $( "#sendbtn2" ).offset().left
if ( position + $( ".sendtokindle-drop" ).width() > $( window ).width() ) {
positionOff = position + $( ".sendtokindle-drop" ).width() - $( window ).width();
ribPosition = position - positionOff - 5
$( '.sendtokindle-drop' ).attr("style", "left: " + ribPosition + "px !important; right: auto; top: " + topPos + "px");
$( ".sendtokindle-drop" ).attr("style", "left: " + ribPosition + "px !important; right: auto; top: " + topPos + "px");
} else {
$( '.sendtokindle-drop' ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
$( ".sendtokindle-drop" ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
}
}
if ( $( '.downloadBtn' ).length > 0 ) {
if ( $( ".downloadBtn" ).length > 0 ) {
position = $( '#btnGroupDrop1' ).offset().left
position = $( "#btnGroupDrop1" ).offset().left
if ( position + $( '.leramslist' ).width() > $( window ).width() ) {
positionOff = position + $( '.leramslist' ).width() - $( window ).width();
if ( position + $( ".leramslist" ).width() > $( window ).width() ) {
positionOff = position + $( ".leramslist" ).width() - $( window ).width();
dlPosition = position - positionOff - 5
$( '.leramslist' ).attr("style", "left: " + dlPosition + "px !important; right: auto; top: " + topPos + "px");
$( ".leramslist" ).attr("style", "left: " + dlPosition + "px !important; right: auto; top: " + topPos + "px");
} else {
$( '.leramslist' ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
$( ".leramslist" ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
}
}
......@@ -295,23 +295,23 @@ if ( $( 'body.book' ).length > 0 ) {
position = $( 'div[aria-label="Add to shelves"]' ).offset().left
if ( position + $( '#add-to-shelves' ).width() > $( window ).width() ) {
positionOff = position + $( '#add-to-shelves' ).width() - $( window ).width();
if ( position + $( "#add-to-shelves" ).width() > $( window ).width() ) {
positionOff = position + $( "#add-to-shelves" ).width() - $( window ).width();
adsPosition = position - positionOff - 5
$( '#add-to-shelves' ).attr("style", "left: " + adsPosition + "px !important; right: auto; top: " + topPos + "px");
$( "#add-to-shelves" ).attr("style", "left: " + adsPosition + "px !important; right: auto; top: " + topPos + "px");
} else {
$( '#add-to-shelves' ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
$( "#add-to-shelves" ).attr("style", "left: " + position + "px !important; right: auto; top: " + topPos + "px");
}
}
}
dropdownToggle();
$( window ).on( 'resize', function() {
$( window ).on( "resize", function() {
dropdownToggle();
});
// Clone book rating for mobile view.
$( '.book-meta > .bookinfo > .rating' ).clone().insertBefore( '.book-meta > .description' ).addClass('rating-mobile');
$( ".book-meta > .bookinfo > .rating" ).clone().insertBefore( ".book-meta > .description" ).addClass("rating-mobile");
}
///////////////////////////////
......@@ -326,23 +326,23 @@ $( '.book-meta > .bookinfo > .rating' ).clone().insertBefore( '.book-meta > .des
$(document).mouseup(function (e) {
var container = new Array();
container.push($('ul[aria-labelledby="read-in-browser"]'));
container.push($('.sendtokindle-drop'));
container.push($('.leramslist'));
container.push($('#add-to-shelves'));
container.push($('.navbar-collapse.collapse.in'));
container.push($(".sendtokindle-drop"));
container.push($(".leramslist"));
container.push($("#add-to-shelves"));
container.push($(".navbar-collapse.collapse.in"));
$.each(container, function(key, value) {
if (!$(value).is(e.target) // if the target of the click isn't the container...
&& $(value).has(e.target).length === 0) // ... nor a descendant of the container
{
if ( $(value).hasClass('dropdown-menu') )
if ( $(value).hasClass("dropdown-menu") )
{
$(value).hide();
} else
{
if ( $(value).hasClass('collapse') )
if ( $(value).hasClass("collapse") )
{
$(value).collapse('toggle');
$(value).collapse("toggle");
}
}
}
......@@ -353,50 +353,50 @@ $(document).mouseup(function (e) {
url = window.location.pathname
// Move create shelf
$( '#nav_createshelf' ).prependTo( '.your-shelves' );
$( "#nav_createshelf" ).prependTo( ".your-shelves" );
// Create drop-down for profile and move elements to it
$( '#main-nav' )
$( "#main-nav" )
.prepend( '<li class="dropdown"><a href="#" class="dropdown-toggle profileDrop" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-user"></span></a><ul class="dropdown-menu profileDropli"></ul></li>' );
$( '#top_user' ).parent().addClass( 'dropdown' ).appendTo( '.profileDropli' );
$( '#nav_about' ).addClass( 'dropdown' ).appendTo( '.profileDropli' );
$( '#register' ).parent().addClass( 'dropdown' ).appendTo( '.profileDropli' );
$( '#logout' ).parent().addClass( 'dropdown' ).appendTo( '.profileDropli' );
$( "#top_user" ).parent().addClass( "dropdown" ).appendTo( ".profileDropli" );
$( "#nav_about" ).addClass( "dropdown" ).appendTo( ".profileDropli" );
$( "#register" ).parent().addClass( "dropdown" ).appendTo( ".profileDropli" );
$( "#logout" ).parent().addClass( "dropdown" ).appendTo( ".profileDropli" );
// Remove the modals except from some areas where they are needed
bodyClass = $( 'body' ).attr( 'class' ).split(' ');
modalWanted = ['admin', 'editbook', 'config', 'uiconfig', 'me', 'edituser'];
bodyClass = $( "body" ).attr( "class" ).split(" ");
modalWanted = ["admin", "editbook", "config", "uiconfig", "me", "edituser"];
if ( $.inArray( bodyClass[0], modalWanted) != -1 ) {
} else {
$(' a:not(.dropdown-toggle) ')
.removeAttr( 'data-toggle', 'data-target', 'data-remote' );
$(" a:not(.dropdown-toggle) ")
.removeAttr( "data-toggle", "data-target", "data-remote" );
}
// Add classes to global buttons
$( '#top_tasks' ).parent().addClass( 'top_tasks' );
$( '#top_admin' ).parent().addClass( 'top_admin' );
$( '#form-upload' ).parent().addClass( 'form-upload' );
$( "#top_tasks" ).parent().addClass( "top_tasks" );
$( "#top_admin" ).parent().addClass( "top_admin" );
$( "#form-upload" ).parent().addClass( "form-upload" );
// Search button work
$( 'input#query' ).focus(function() {
$( 'form[role="search"]' ).addClass( 'search-focus' );
$( "input#query" ).focus(function() {
$( 'form[role="search"]' ).addClass( "search-focus" );
});
$( 'input#query' ).focusout(function() {
$( "input#query" ).focusout(function() {
setTimeout(function() {
$( 'form[role="search"]' ).removeClass( 'search-focus' );
$( 'form[role="search"]' ).removeClass( "search-focus" );
}, 100);
});
// Check if dropdown goes out of viewport and add class
$(document).on('click','.dropdown-toggle',function() {
$(document).on("click",".dropdown-toggle",function() {
// Add .offscreen if part of container not visible
$('.dropdown-menu:visible').filter(function(){
$(".dropdown-menu:visible").filter(function(){
return $(this).visible() === false;
}).each(function(){
$(this).addClass('offscreen');
$(this).addClass("offscreen");
});
});
......@@ -426,7 +426,7 @@ $(document).on('click','.dropdown-toggle',function() {
});*/
// Collapse long text into read-more
$( 'div.comments' ).readmore( {
$( "div.comments" ).readmore( {
collapsedHeight: 134,
heightMargin: 45,
speed: 300,
......@@ -438,301 +438,301 @@ $( 'div.comments' ).readmore( {
///////////////////////////////
// Author Page Background Blur
if ( $( 'body.author' ).length >0 ) {
cover = $( '.author-bio img' ).attr( 'src' );
$( '#loader + .container-fluid' )
if ( $( "body.author" ).length >0 ) {
cover = $( ".author-bio img" ).attr( "src" );
$( "#loader + .container-fluid" )
.prepend( '<div class="blur-wrapper"></div>' );
$( '.blur-wrapper' ).prepend( '<img class="bg-blur" src="' + cover + '">' );
$( ".blur-wrapper" ).prepend( '<img alt="Blurred author bio" class="bg-blur" src="' + cover + '">' );
// Place undefined cover images inside container
if ( $( '.bg-blur[src="undefined"]' ).length > 0 ) {
$( '.bg-blur' ).before( '<div class="bg-blur undefined-img"></div>' );
$( 'img.bg-blur' ).appendTo( '.undefined-img' );
$( ".bg-blur" ).before( '<div class="bg-blur undefined-img"></div>' );
$( "img.bg-blur" ).appendTo( '.undefined-img' );
}
}
// Ereader Page - add class to iframe body on ereader page after it loads.
backurl = '../../book/' + url[2]
$( 'body.epub #title-controls' )
backurl = "../../book/" + url[2]
$( "body.epub #title-controls" )
.append('<div class="epub-back"><input action="action" onclick="location.href=backurl; return false;" type="button" value="Back" /></div>')
$( 'body.stat .col-sm-10 p:first' ).insertAfter( '#libs' );
$( "body.stat .col-sm-10 p:first" ).insertAfter( "#libs" );
// Check if link is external and force _blank attribute
$(function(){ // document ready
$( 'a' ).filter(function () {
$( "a" ).filter(function () {
return this.hostname && this.hostname !== location.hostname;
}).each(function () {
$(this).addClass("external").attr( 'target', '_blank' );
$(this).addClass("external").attr( "target", "_blank" );
});
});
// Check if lists are empty and add class to buttons
if ( $.trim( $('#add-to-shelves').html() ).length === 0 ) {
$( '#add-to-shelf' ).addClass( 'empty-ul' );
if ( $.trim( $("#add-to-shelves").html() ).length === 0 ) {
$( "#add-to-shelf" ).addClass( "empty-ul" );
}
shelfLength = $('#add-to-shelves li').length
shelfLength = $("#add-to-shelves li").length
emptyLength = 0
$('#add-to-shelves').on('click','li a',function(){
console.log('#remove-from-shelves change registered' );
$("#add-to-shelves").on("click","li a",function(){
console.log("#remove-from-shelves change registered" );
emptyLength++
setTimeout(function() {
if ( emptyLength >= shelfLength ) {
console.log('list is empty; adding empty-ul class' );
$( '#add-to-shelf' ).addClass( 'empty-ul' );
console.log("list is empty; adding empty-ul class" );
$( "#add-to-shelf" ).addClass( "empty-ul" );
} else {
console.log('list is not empty; removing empty-ul class' );
$( '#add-to-shelf' ).removeClass( 'empty-ul' );
console.log("list is not empty; removing empty-ul class" );
$( "#add-to-shelf" ).removeClass( "empty-ul" );
}
},100);
});
if ( $.trim( $( 'ul[aria-labelledby="read-in-browser"] li' ).html() ).length === 0 ) {
$('#read-in-browser').addClass('empty-ul');
$("#read-in-browser").addClass("empty-ul");
}
// Shelf Buttons and Tooltips
if ( $( 'body.shelf' ).length > 0 ) {
if ( $( "body.shelf" ).length > 0 ) {
$( 'div[data-target="#DeleteShelfDialog"]' )
.before( '<div class=".btn-group shelf-btn-group"></div>' )
.appendTo( '.shelf-btn-group' )
.addClass( 'delete-shelf-btn' );
.appendTo( ".shelf-btn-group" )
.addClass( "delete-shelf-btn" );
$( 'a[href*="edit"]' )
.appendTo( '.shelf-btn-group' )
.addClass( 'edit-shelf-btn' );
.appendTo( ".shelf-btn-group" )
.addClass( "edit-shelf-btn" );
$( 'a[href*="order"]' )
.appendTo( '.shelf-btn-group' )
.addClass( 'order-shelf-btn' );
$( '.delete-shelf-btn' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '.delete-shelf-btn' ).text(), // 'Delete Shelf'
'data-placement': 'bottom' })
.addClass('delete-btn-tooltip');
$( '.edit-shelf-btn' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '.edit-shelf-btn' ).text(), // 'Edit Shelf'
'data-placement': 'bottom' })
.addClass('edit-btn-tooltip');
$( '.order-shelf-btn' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '.order-shelf-btn' ).text(), //'Reorder Shelf'
'data-placement': 'bottom' })
.addClass('order-btn-tooltip');
.appendTo( ".shelf-btn-group" )
.addClass( "order-shelf-btn" );
$(".delete-shelf-btn").attr({
"data-toggle-two": "tooltip",
"title": $( ".delete-shelf-btn" ).text(), // "Delete Shelf"
"data-placement": "bottom" })
.addClass("delete-btn-tooltip");
$(".edit-shelf-btn").attr({
"data-toggle-two": "tooltip",
"title": $(".edit-shelf-btn").text(), // "Edit Shelf"
"data-placement": "bottom" })
.addClass("edit-btn-tooltip");
$(".order-shelf-btn").attr({
"data-toggle-two": "tooltip",
"title": $(".order-shelf-btn").text(), //"Reorder Shelf"
"data-placement": "bottom" })
.addClass("order-btn-tooltip");
}
// Rest of Tooltips
$( '.home-btn > a' ).attr({
'data-toggle': 'tooltip',
'title': $(document.body).attr('data-text'), // Home
'data-placement': 'bottom' })
.addClass('home-btn-tooltip');
$( '.plexBack > a' ).attr({
'data-toggle': 'tooltip',
'title': $(document.body).attr('data-textback'), // Back
'data-placement': 'bottom' })
.addClass('back-btn-tooltip');
$( '#top_tasks' ).attr({
'data-toggle': 'tooltip',
'title': $( '#top_tasks' ).text(), // 'Tasks'
'data-placement': 'bottom',
'data-viewport': '#main-nav' })
.addClass('tasks-btn-tooltip');
$( '#top_admin' ).attr({
'data-toggle': 'tooltip',
'title': $( '#top_admin' ).attr('data-text'), // Settings
'data-placement': 'bottom',
'data-viewport': '#main-nav' })
.addClass('admin-btn-tooltip');
$( '.profileDrop' ).attr({
'title': $( '#top_user' ).attr('data-text'), //Account
'data-placement': 'bottom',
'data-toggle-two': 'tooltip',
'data-viewport': '#main-nav' })
.addClass('send-btn-tooltip dropdown');
$( '#btn-upload' ).attr({
'data-toggle': 'tooltip',
'title': $( '#btn-upload' ).parent().text() , // 'Upload'
'data-placement': 'bottom',
'data-viewport': '#main-nav' })
.addClass('upload-btn-tooltip');
$( '#add-to-shelf' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '#add-to-shelf' ).text() , // 'Add to Shelf'
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('addtoshelf-btn-tooltip');
$( '#have_read_cb' ).attr({
'data-toggle': 'tooltip',
'title': $( '#have_read_cb').attr('data-unchecked'),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('readunread-btn-tooltip');
$( '#have_read_cb:checked' ).attr({
'data-toggle': 'tooltip',
'title': $( '#have_read_cb').attr('data-checked'),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('readunread-btn-tooltip');
$( '#archived_cb' ).attr({
'data-toggle': 'tooltip',
'title': $( '#archived_cb').attr('data-unchecked'),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('readunread-btn-tooltip');
$( '#archived_cb:checked' ).attr({
'data-toggle': 'tooltip',
'title': $( '#archived_cb').attr('data-checked'),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('readunread-btn-tooltip');
$( 'button#delete' ).attr({
'data-toggle-two': 'tooltip',
'title': $( 'button#delete' ).text(), //'Delete'
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('delete-book-btn-tooltip');
$( '#have_read_cb' ).click(function() {
if ( $( '#have_read_cb:checked' ).length > 0 ) {
$( this ).attr('data-original-title', $('#have_read_cb').attr('data-checked'));
$(".home-btn > a").attr({
"data-toggle": "tooltip",
"title": $(document.body).attr("data-text"), // Home
"data-placement": "bottom" })
.addClass("home-btn-tooltip");
$(".plexBack > a").attr({
"data-toggle": "tooltip",
"title": $(document.body).attr("data-textback"), // Back
"data-placement": "bottom" })
.addClass("back-btn-tooltip");
$("#top_tasks").attr({
"data-toggle": "tooltip",
"title": $("#top_tasks").text(), // "Tasks"
"data-placement": "bottom",
"data-viewport": "#main-nav" })
.addClass("tasks-btn-tooltip");
$( "#top_admin" ).attr({
"data-toggle": "tooltip",
"title": $( "#top_admin" ).attr("data-text"), // Settings
"data-placement": "bottom",
"data-viewport": "#main-nav" })
.addClass("admin-btn-tooltip");
$(".profileDrop").attr({
"title": $("#top_user").attr("data-text"), //Account
"data-placement": "bottom",
"data-toggle-two": "tooltip",
"data-viewport": "#main-nav" })
.addClass("send-btn-tooltip dropdown");
$("#btn-upload").attr({
"data-toggle": "tooltip",
"title": $("#btn-upload").parent().text() , // "Upload"
"data-placement": "bottom",
"data-viewport": "#main-nav" })
.addClass("upload-btn-tooltip");
$("#add-to-shelf").attr({
"data-toggle-two": "tooltip",
"title": $("#add-to-shelf").text() , // "Add to Shelf"
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("addtoshelf-btn-tooltip");
$("#have_read_cb").attr({
"data-toggle": "tooltip",
"title": $("#have_read_cb").attr("data-unchecked"),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("readunread-btn-tooltip");
$("#have_read_cb:checked").attr({
"data-toggle": "tooltip",
"title": $( "#have_read_cb").attr("data-checked"),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("readunread-btn-tooltip");
$("#archived_cb").attr({
"data-toggle": "tooltip",
"title": $("#archived_cb").attr("data-unchecked"),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("readunread-btn-tooltip");
$("#archived_cb:checked").attr({
"data-toggle": "tooltip",
"title": $("#archived_cb").attr("data-checked"),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("readunread-btn-tooltip");
$("button#delete").attr({
"data-toggle-two": "tooltip",
"title": $( "button#delete" ).text(), //"Delete"
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("delete-book-btn-tooltip");
$("#have_read_cb").click(function() {
if ( $( "#have_read_cb:checked" ).length > 0 ) {
$( this ).attr("data-original-title", $("#have_read_cb").attr("data-checked"));
} else {
$( this).attr('data-original-title', $('#have_read_cb').attr('data-unchecked'));
$( this).attr("data-original-title", $("#have_read_cb").attr("data-unchecked"));
}
});
$( '#archived_cb' ).click(function() {
if ( $( '#archived_cb:checked' ).length > 0 ) {
$( this ).attr('data-original-title', $('#archived_cb').attr('data-checked'));
$("#archived_cb").click(function() {
if ( $( "#archived_cb:checked" ).length > 0 ) {
$( this ).attr("data-original-title", $("#archived_cb").attr("data-checked"));
} else {
$( this).attr('data-original-title', $('#archived_cb').attr('data-unchecked'));
$( this).attr("data-original-title", $("#archived_cb").attr("data-unchecked"));
}
});
$( '.btn-group[aria-label="Edit/Delete book"] a' ).attr({
'data-toggle': 'tooltip',
'title': $( '#edit_book' ).text(), // 'Edit'
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('edit-btn-tooltip');
$( '#sendbtn' ).attr({
'data-toggle': 'tooltip',
'title': $( '#sendbtn' ).attr('data-text'),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('send-btn-tooltip');
$( '#sendbtn2' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '#sendbtn2' ).text(), // 'Send to Kindle',
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' })
.addClass('send-btn-tooltip');
$( '#read-in-browser' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '#read-in-browser' ).text(),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar'})
.addClass('send-btn-tooltip');
$( '#btnGroupDrop1' ).attr({
'data-toggle-two': 'tooltip',
'title': $( '#btnGroupDrop1' ).text(),
'data-placement': 'bottom',
'data-viewport': '.btn-toolbar' });
if ( $( 'body.epub').length === 0 ) {
$('.btn-group[aria-label="Edit/Delete book"] a').attr({
"data-toggle": "tooltip",
"title": $( "#edit_book" ).text(), // "Edit"
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("edit-btn-tooltip");
$("#sendbtn").attr({
"data-toggle": "tooltip",
"title": $("#sendbtn").attr("data-text"),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("send-btn-tooltip");
$("#sendbtn2").attr({
"data-toggle-two": "tooltip",
"title": $( "#sendbtn2" ).text(), // "Send to Kindle",
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" })
.addClass("send-btn-tooltip");
$("#read-in-browser").attr({
"data-toggle-two": "tooltip",
"title": $("#read-in-browser").text(),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar"})
.addClass("send-btn-tooltip");
$("#btnGroupDrop1").attr({
"data-toggle-two": "tooltip",
"title": $( "#btnGroupDrop1" ).text(),
"data-placement": "bottom",
"data-viewport": ".btn-toolbar" });
if ( $( "body.epub").length === 0 ) {
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip({container: 'body', trigger: 'hover'});
$('[data-toggle-two="tooltip"]').tooltip({container: 'body', trigger: 'hover'});
$( '#btn-upload' ).attr('title', " ");
$("[data-toggle='tooltip']").tooltip({container: "body", trigger: "hover"});
$("[data-toggle-two='tooltip']").tooltip({container: "body", trigger: "hover"});
$( "#btn-upload" ).attr("title", " ");
});
$( '[data-toggle-two="tooltip"]' ).click(function(){
$('[data-toggle-two="tooltip"]').tooltip('hide');
$('[data-toggle-two="tooltip"]').tooltip("hide");
});
$( '[data-toggle="tooltip"]' ).click(function(){
$('[data-toggle="tooltip"]').tooltip('hide');
$('[data-toggle="tooltip"]').tooltip("hide");
});
}
$( '#read-in-browser a' ).attr('target',"");
$("#read-in-browser a").attr("target","");
if ( $( '.edit-shelf-btn').length > 1 ) {
$( '.edit-shelf-btn:first').remove();
if ( $(".edit-shelf-btn").length > 1 ) {
$(".edit-shelf-btn:first").remove();
}
if ( $( '.order-shelf-btn').length > 1 ) {
$( '.order-shelf-btn:first').remove();
if ( $(".order-shelf-btn").length > 1 ) {
$(".order-shelf-btn:first").remove();
}
$( '#top_user > span.hidden-sm' ).clone().insertBefore( '.profileDropli' );
$( '.navbar-collapse.collapse.in').before('<div class="sidebar-backdrop"></div>');
$("#top_user > span.hidden-sm" ).clone().insertBefore(".profileDropli");
$(".navbar-collapse.collapse.in").before('<div class="sidebar-backdrop"></div>');
// Get rid of leading white space
recentlyAdded = $( '#nav_new a:contains("Recently")' ).text().trim();
$('#nav_new a:contains("Recently")').contents().filter(function() {
recentlyAdded = $("#nav_new a:contains('Recently')").text().trim();
$("#nav_new a:contains('Recently')").contents().filter(function() {
return this.nodeType == 3
}).each(function(){
this.textContent = this.textContent.replace(' Recently Added',recentlyAdded);
this.textContent = this.textContent.replace(" Recently Added",recentlyAdded);
});
// Change shelf textValue
shelfText = $( '.shelf .discover h2:first' ).text().replace(':',' —').replace(/\'/g,'');
$( '.shelf .discover h2:first' ).text(shelfText);
shelfText = $( ".shelf .discover h2:first" ).text().replace(":"," —").replace(/\'/g,"");
$(".shelf .discover h2:first").text(shelfText);
shelfText = $( '.shelforder .col-sm-10 .col-sm-6.col-lg-6.col-xs-6 h2:first' ).text().replace(':',' —').replace(/\'/g,'');
$( '.shelforder .col-sm-10 .col-sm-6.col-lg-6.col-xs-6 h2:first' ).text(shelfText);
shelfText = $(".shelforder .col-sm-10 .col-sm-6.col-lg-6.col-xs-6 h2:first").text().replace(':',' —').replace(/\'/g,"");
$(".shelforder .col-sm-10 .col-sm-6.col-lg-6.col-xs-6 h2:first").text(shelfText);
function mobileSupport() {
if ( $( window ).width() <= 768 ) {
//Move menu to collapse
$( '.row-fluid > .col-sm-2:first' ).appendTo( '.navbar-collapse.collapse:first');
if ( $( '.sidebar-backdrop' ).length < 1 ) {
$( '.navbar-collapse.collapse:first' ).after( '<div class="sidebar-backdrop"></div>' );
$(".row-fluid > .col-sm-2:first").appendTo(".navbar-collapse.collapse:first");
if ($( ".sidebar-backdrop").length < 1 ) {
$(".navbar-collapse.collapse:first" ).after("<div class='sidebar-backdrop'></div>");
}
} else {
//Move menu out of collapse
$( '.col-sm-2:first' ).insertBefore( '.col-sm-10:first');
$( '.sidebar-backdrop' ).remove();
$(".col-sm-2:first").insertBefore(".col-sm-10:first");
$(".sidebar-backdrop").remove();
}
}
// LayerCake plug
if ( $(' body.stat p').length > 0 ) {
$(' body.stat p').append(" and <a href='https://github.com/leram84/layer.Cake/tree/master/caliBlur' target='_blank'>layer.Cake</a>");
str = $(' body.stat p').html().replace("</a>.","</a>");
$(' body.stat p').html(str);
if ($(" body.stat p").length > 0 ) {
$(" body.stat p").append(" and <a href='https://github.com/leram84/layer.Cake/tree/master/caliBlur' target='_blank'>layer.Cake</a>");
str = $(" body.stat p").html().replace("</a>.","</a>");
$(" body.stat p").html(str);
}
// Collect delete buttons in editbook to single dropdown
$( '.editbook .text-center.more-stuff' ).prepend( '<button id="deleteButton" type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-remove"></span>Delete Format<span class="caret"></span></button><ul class="dropdown-menu delete-dropdown"></ul>' );
$(".editbook .text-center.more-stuff").prepend('<button id="deleteButton" type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-remove"></span>Delete Format<span class="caret"></span></button><ul class="dropdown-menu delete-dropdown"></ul>' );
deleteButtons = $( '.editbook .text-center.more-stuff a' ).removeClass('btn btn-danger' ).attr( 'type', '').get();
deleteButtons = $(".editbook .text-center.more-stuff a").removeClass("btn btn-danger").attr("type", "").get();
$( deleteButtons ).detach();
$( '.editbook .text-center.more-stuff h4' ).remove();
$(deleteButtons).detach();
$(".editbook .text-center.more-stuff h4").remove();
$.each(deleteButtons, function(i, val) {
$( '<li>' + deleteButtons[i].outerHTML + '</li>' ).appendTo( '.delete-dropdown' );
$("<li>" + deleteButtons[i].outerHTML + "</li>").appendTo(".delete-dropdown");
});
// Turn off bootstrap animations
......@@ -742,7 +742,7 @@ mobileSupport();
// Only call function once resize is complete
//var id;
$( window ).on('resize',function() {
$(window).on("resize",function() {
// clearTimeout(id);
// id = setTimeout(mobileSupport, 500);
mobileSupport();
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
// Underscore.js 1.9.1
// http://underscorejs.org
// (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
!function(n,r){var t,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(t=n._,e=r(),(n._=e).noConflict=function(){return n._=t,e})}(this,function(){
// Underscore.js 1.10.2
// https://underscorejs.org
// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
// Underscore may be freely distributed under the MIT license.
!function(){var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,f=function(){},h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.1";var v,y=function(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}},d=function(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)};h.iteratee=v=function(n,r){return d(n,r,1/0)};var g=function(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}},m=function(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r},b=function(r){return function(n){return null==n?void 0:n[r]}},j=function(n,r){return null!=n&&i.call(n,r)},x=function(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0},_=Math.pow(2,53)-1,A=b("length"),w=function(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_};h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};var O=function(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}};h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),("number"!=typeof t||e)&&(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};var k=function(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}};h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};var F=function(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}};h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};var E=function(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}};h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};var N=function(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i};h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});var f=function(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)},n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){var i,o,a=function(n,r){i=null,r&&(o=t.apply(n,r))},n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],B=function(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)};h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};var R=function(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}};h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};var q,K,z=function(n,r,t){return r in t};h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"===u||"object"===u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"===r||"object"===r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L),W=function(r){var t=function(n){return r[n]},n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g,$=function(n){return"\\"+U[n]};h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}var u=function(n){return t.call(this,n,h)},c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};var G=function(n,r){return n._chain?h(r).chain():r};h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}();
\ No newline at end of file
var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,i=Object.prototype,p="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,f=e.slice,s=i.toString,o=i.hasOwnProperty,r=Array.isArray,a=Object.keys,t=Object.create,c=n.isNaN,l=n.isFinite,v=function(){};function h(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)}var g=h.VERSION="1.10.2";function y(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,r,t){return u.call(o,n,r,t)};case 4:return function(n,r,t,e){return u.call(o,n,r,t,e)}}return function(){return u.apply(o,arguments)}}function d(n,r,t){return null==n?ur:Cn(n)?y(n,r,t):Ln(n)&&!Kn(n)?ir(n):or(n)}function m(n,r){return d(n,r,1/0)}function b(n,r,t){return h.iteratee!==m?h.iteratee(n,r):d(n,r,t)}function j(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+o];switch(o){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(o+1);for(t=0;t<o;t++)e[t]=arguments[t];return e[o]=r,u.apply(this,e)}}function _(n){if(!Ln(n))return{};if(t)return t(n);v.prototype=n;var r=new v;return v.prototype=null,r}function w(r){return function(n){return null==n?void 0:n[r]}}function x(n,r){return null!=n&&o.call(n,r)}function S(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}h.iteratee=m;var A=Math.pow(2,53)-1,O=w("length");function M(n){var r=O(n);return"number"==typeof r&&0<=r&&r<=A}function E(n,r,t){var e,u;if(r=y(r,t),M(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=Sn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function N(n,r,t){r=b(r,t);for(var e=!M(n)&&Sn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function k(f){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!M(n)&&Sn(n),o=(u||n).length,i=0<f?0:o-1;for(e||(t=n[u?u[i]:i],i+=f);0<=i&&i<o;i+=f){var a=u?u[i]:i;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}var I=k(1),T=k(-1);function B(n,r,t){var e=(M(n)?on:Tn)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function R(n,e,r){var u=[];return e=b(e,r),E(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u}function F(n,r,t){r=b(r,t);for(var e=!M(n)&&Sn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function q(n,r,t){r=b(r,t);for(var e=!M(n)&&Sn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function D(n,r,t,e){return M(n)||(n=On(n)),("number"!=typeof t||e)&&(t=0),0<=ln(n,r,t)}var W=j(function(n,t,e){var u,o;return Cn(t)?o=t:Kn(t)&&(u=t.slice(0,-1),t=t[t.length-1]),N(n,function(n){var r=o;if(!r){if(u&&u.length&&(n=S(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})});function z(n,r){return N(n,or(r))}function P(n,e,r){var t,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=M(n)?n:On(n)).length;a<f;a++)null!=(t=n[a])&&o<t&&(o=t);else e=b(e,r),E(n,function(n,r,t){u=e(n,r,t),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}function K(n,r,t){if(null==r||t)return M(n)||(n=On(n)),n[ar(n.length-1)];var e=M(n)?Dn(n):On(n),u=O(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=ar(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function L(i,r){return function(e,u,n){var o=r?[[],[]]:{};return u=b(u,n),E(e,function(n,r){var t=u(n,r,e);i(o,n,t)}),o}}var V=L(function(n,r,t){x(n,t)?n[t].push(r):n[t]=[r]}),C=L(function(n,r,t){n[t]=r}),J=L(function(n,r,t){x(n,t)?n[t]++:n[t]=1}),U=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;var $=L(function(n,r,t){n[t?0:1].push(r)},!0);function G(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:H(n,n.length-r)}function H(n,r,t){return f.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Q(n,r,t){return f.call(n,null==r||t?1:r)}function X(n,r,t,e){for(var u=(e=e||[]).length,o=0,i=O(n);o<i;o++){var a=n[o];if(M(a)&&(Kn(a)||Vn(a)))if(r)for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else X(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e}var Y=j(function(n,r){return rn(n,r)});function Z(n,r,t,e){er(r)||(e=t,t=r,r=!1),null!=t&&(t=b(t,e));for(var u=[],o=[],i=0,a=O(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?D(o,c)||(o.push(c),u.push(f)):D(u,f)||u.push(f)}return u}var nn=j(function(n){return Z(X(n,!0,!0))});var rn=j(function(n,r){return r=X(r,!0,!0),R(n,function(n){return!D(r,n)})});function tn(n){for(var r=n&&P(n,O).length||0,t=Array(r),e=0;e<r;e++)t[e]=z(n,e);return t}var en=j(tn);function un(o){return function(n,r,t){r=b(r,t);for(var e=O(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(r(n[u],u,n))return u;return-1}}var on=un(1),an=un(-1);function fn(n,r,t,e){for(var u=(t=b(t,e,1))(r),o=0,i=O(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function cn(o,i,a){return function(n,r,t){var e=0,u=O(n);if("number"==typeof t)0<o?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=i(f.call(n,e,u),tr))?t+e:-1;for(t=0<o?e:u-1;0<=t&&t<u;t+=o)if(n[t]===r)return t;return-1}}var ln=cn(1,on,fn),pn=cn(-1,an);function sn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=_(n.prototype),i=n.apply(o,u);return Ln(i)?i:o}var vn=j(function(r,t,e){if(!Cn(r))throw new TypeError("Bind must be called on a function");var u=j(function(n){return sn(r,u,t,this,e.concat(n))});return u}),hn=j(function(u,o){var i=hn.placeholder,a=function(){for(var n=0,r=o.length,t=Array(r),e=0;e<r;e++)t[e]=o[e]===i?arguments[n++]:o[e];for(;n<arguments.length;)t.push(arguments[n++]);return sn(u,a,this,this,t)};return a});hn.placeholder=h;var gn=j(function(n,r){var t=(r=X(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=vn(n[e],n)}});var yn=j(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),dn=hn(yn,h,1);function mn(n){return function(){return!n.apply(this,arguments)}}function bn(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var jn=hn(bn,2),_n=!{toString:null}.propertyIsEnumerable("toString"),wn=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];function xn(n,r){var t=wn.length,e=n.constructor,u=Cn(e)&&e.prototype||i,o="constructor";for(x(n,o)&&!D(r,o)&&r.push(o);t--;)(o=wn[t])in n&&n[o]!==u[o]&&!D(r,o)&&r.push(o)}function Sn(n){if(!Ln(n))return[];if(a)return a(n);var r=[];for(var t in n)x(n,t)&&r.push(t);return _n&&xn(n,r),r}function An(n){if(!Ln(n))return[];var r=[];for(var t in n)r.push(t);return _n&&xn(n,r),r}function On(n){for(var r=Sn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function Mn(n){for(var r={},t=Sn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function En(n){var r=[];for(var t in n)Cn(n[t])&&r.push(t);return r.sort()}function Nn(f,c){return function(n){var r=arguments.length;if(c&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var kn=Nn(An),In=Nn(Sn);function Tn(n,r,t){r=b(r,t);for(var e,u=Sn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function Bn(n,r,t){return r in t}var Rn=j(function(n,r){var t={},e=r[0];if(null==n)return t;Cn(e)?(1<r.length&&(e=y(e,r[1])),r=An(n)):(e=Bn,r=X(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t}),Fn=j(function(n,t){var r,e=t[0];return Cn(e)?(e=mn(e),1<t.length&&(r=t[1])):(t=N(X(t,!1,!1),String),e=function(n,r){return!D(t,r)}),Rn(n,e,r)}),qn=Nn(An,!0);function Dn(n){return Ln(n)?Kn(n)?n.slice():kn({},n):n}function Wn(n,r){var t=Sn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function zn(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"===u||"object"===u||"object"==typeof r)&&function(n,r,t,e){n instanceof h&&(n=n._wrapped);r instanceof h&&(r=r._wrapped);var u=s.call(n);if(u!==s.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return p.valueOf.call(n)===p.valueOf.call(r)}var o="[object Array]"===u;if(!o){if("object"!=typeof n||"object"!=typeof r)return!1;var i=n.constructor,a=r.constructor;if(i!==a&&!(Cn(i)&&i instanceof i&&Cn(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];var f=(t=t||[]).length;for(;f--;)if(t[f]===n)return e[f]===r;if(t.push(n),e.push(r),o){if((f=n.length)!==r.length)return!1;for(;f--;)if(!zn(n[f],r[f],t,e))return!1}else{var c,l=Sn(n);if(f=l.length,Sn(r).length!==f)return!1;for(;f--;)if(c=l[f],!x(r,c)||!zn(n[c],r[c],t,e))return!1}return t.pop(),e.pop(),!0}(n,r,t,e)}function Pn(r){return function(n){return s.call(n)==="[object "+r+"]"}}var Kn=r||Pn("Array");function Ln(n){var r=typeof n;return"function"===r||"object"===r&&!!n}var Vn=Pn("Arguments"),Cn=Pn("Function"),Jn=Pn("String"),Un=Pn("Number"),$n=Pn("Date"),Gn=Pn("RegExp"),Hn=Pn("Error"),Qn=Pn("Symbol"),Xn=Pn("Map"),Yn=Pn("WeakMap"),Zn=Pn("Set"),nr=Pn("WeakSet");!function(){Vn(arguments)||(Vn=function(n){return x(n,"callee")})}();var rr=n.document&&n.document.childNodes;function tr(n){return Un(n)&&c(n)}function er(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function ur(n){return n}function or(r){return Kn(r)?function(n){return S(n,r)}:w(r)}function ir(r){return r=In({},r),function(n){return Wn(n,r)}}function ar(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof rr&&(Cn=function(n){return"function"==typeof n||!1});var fr=Date.now||function(){return(new Date).getTime()},cr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},lr=Mn(cr);function pr(r){var t=function(n){return r[n]},n="(?:"+Sn(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var sr=pr(cr),vr=pr(lr);var hr=0;var gr=h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},yr=/(.)^/,dr={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},mr=/\\|'|\r|\n|\u2028|\u2029/g,br=function(n){return"\\"+dr[n]};function jr(n,r){return n._chain?h(r).chain():r}function _r(t){return E(En(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),jr(this,r.apply(h,n))}}),h}E(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],jr(this,n)}}),E(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return jr(this,r.apply(this._wrapped,arguments))}}),h.prototype.valueOf=h.prototype.toJSON=h.prototype.value=function(){return this._wrapped},h.prototype.toString=function(){return String(this._wrapped)};var wr=_r({default:h,VERSION:g,iteratee:m,restArguments:j,each:E,forEach:E,map:N,collect:N,reduce:I,foldl:I,inject:I,reduceRight:T,foldr:T,find:B,detect:B,filter:R,select:R,reject:function(n,r,t){return R(n,mn(b(r)),t)},every:F,all:F,some:q,any:q,contains:D,includes:D,include:D,invoke:W,pluck:z,where:function(n,r){return R(n,ir(r))},findWhere:function(n,r){return B(n,ir(r))},max:P,min:function(n,e,r){var t,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=M(n)?n:On(n)).length;a<f;a++)null!=(t=n[a])&&t<o&&(o=t);else e=b(e,r),E(n,function(n,r,t){((u=e(n,r,t))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return K(n,1/0)},sample:K,sortBy:function(n,e,r){var u=0;return e=b(e,r),z(N(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")},groupBy:V,indexBy:C,countBy:J,toArray:function(n){return n?Kn(n)?f.call(n):Jn(n)?n.match(U):M(n)?N(n,ur):On(n):[]},size:function(n){return null==n?0:M(n)?n.length:Sn(n).length},partition:$,first:G,head:G,take:G,initial:H,last:function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:Q(n,Math.max(0,n.length-r))},rest:Q,tail:Q,drop:Q,compact:function(n){return R(n,Boolean)},flatten:function(n,r){return X(n,r,!1)},without:Y,uniq:Z,unique:Z,union:nn,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=O(n);e<u;e++){var o=n[e];if(!D(r,o)){var i;for(i=1;i<t&&D(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:rn,unzip:tn,zip:en,object:function(n,r){for(var t={},e=0,u=O(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},findIndex:on,findLastIndex:an,sortedIndex:fn,indexOf:ln,lastIndexOf:pn,range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(f.call(n,e,e+=r));return t},bind:vn,partial:hn,bindAll:gn,memoize:function(e,u){var o=function(n){var r=o.cache,t=""+(u?u.apply(this,arguments):n);return x(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return o.cache={},o},delay:yn,defer:dn,throttle:function(t,e,u){var o,i,a,f,c=0;u||(u={});var l=function(){c=!1===u.leading?0:fr(),o=null,f=t.apply(i,a),o||(i=a=null)},n=function(){var n=fr();c||!1!==u.leading||(c=n);var r=e-(n-c);return i=this,a=arguments,r<=0||e<r?(o&&(clearTimeout(o),o=null),c=n,f=t.apply(i,a),o||(i=a=null)):o||!1===u.trailing||(o=setTimeout(l,r)),f};return n.cancel=function(){clearTimeout(o),c=0,o=i=a=null},n},debounce:function(t,e,u){var o,i,a=function(n,r){o=null,r&&(i=t.apply(n,r))},n=j(function(n){if(o&&clearTimeout(o),u){var r=!o;o=setTimeout(a,e),r&&(i=t.apply(this,n))}else o=yn(a,e,this,n);return i});return n.cancel=function(){clearTimeout(o),o=null},n},wrap:function(n,r){return hn(r,n)},negate:mn,compose:function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:bn,once:jn,keys:Sn,allKeys:An,values:On,mapObject:function(n,r,t){r=b(r,t);for(var e=Sn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},pairs:function(n){for(var r=Sn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:Mn,functions:En,methods:En,extend:kn,extendOwn:In,assign:In,findKey:Tn,pick:Rn,omit:Fn,defaults:qn,create:function(n,r){var t=_(n);return r&&In(t,r),t},clone:Dn,tap:function(n,r){return r(n),n},isMatch:Wn,isEqual:function(n,r){return zn(n,r)},isEmpty:function(n){return null==n||(M(n)&&(Kn(n)||Jn(n)||Vn(n))?0===n.length:0===Sn(n).length)},isElement:function(n){return!(!n||1!==n.nodeType)},isArray:Kn,isObject:Ln,isArguments:Vn,isFunction:Cn,isString:Jn,isNumber:Un,isDate:$n,isRegExp:Gn,isError:Hn,isSymbol:Qn,isMap:Xn,isWeakMap:Yn,isSet:Zn,isWeakSet:nr,isFinite:function(n){return!Qn(n)&&l(n)&&!c(parseFloat(n))},isNaN:tr,isBoolean:er,isNull:function(n){return null===n},isUndefined:function(n){return void 0===n},has:function(n,r){if(!Kn(r))return x(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!o.call(n,u))return!1;n=n[u]}return!!t},identity:ur,constant:function(n){return function(){return n}},noop:function(){},property:or,propertyOf:function(r){return null==r?function(){}:function(n){return Kn(n)?S(r,n):r[n]}},matcher:ir,matches:ir,times:function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:ar,now:fr,escape:sr,unescape:vr,result:function(n,r,t){Kn(r)||(r=[r]);var e=r.length;if(!e)return Cn(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=Cn(o)?o.call(n):o}return n},uniqueId:function(n){var r=++hr+"";return n?n+r:r},templateSettings:gr,template:function(o,n,r){!n&&r&&(n=r),n=qn({},n,h.templateSettings);var t,e=RegExp([(n.escape||yr).source,(n.interpolate||yr).source,(n.evaluate||yr).source].join("|")+"|$","g"),i=0,a="__p+='";o.replace(e,function(n,r,t,e,u){return a+=o.slice(i,u).replace(mr,br),i=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}var u=function(n){return t.call(this,n,h)},f=n.variable||"obj";return u.source="function("+f+"){\n"+a+"}",u},chain:function(n){var r=h(n);return r._chain=!0,r},mixin:_r});return wr._=wr});
\ No newline at end of file
{"version":3,"sources":["underscore.js"],"names":["root","self","global","this","previousUnderscore","_","ArrayProto","Array","prototype","ObjProto","Object","SymbolProto","Symbol","push","slice","toString","hasOwnProperty","nativeIsArray","isArray","nativeKeys","keys","nativeCreate","create","Ctor","obj","_wrapped","exports","nodeType","module","VERSION","builtinIteratee","optimizeCb","func","context","argCount","value","call","index","collection","accumulator","apply","arguments","cb","iteratee","identity","isFunction","isObject","matcher","property","Infinity","restArguments","startIndex","length","Math","max","rest","args","baseCreate","result","shallowProperty","key","has","path","deepGet","i","MAX_ARRAY_INDEX","pow","getLength","isArrayLike","each","forEach","map","collect","results","currentKey","createReduce","dir","memo","initial","reducer","reduce","foldl","inject","reduceRight","foldr","find","detect","predicate","findIndex","findKey","filter","select","list","reject","negate","every","all","some","any","contains","includes","include","item","fromIndex","guard","values","indexOf","invoke","contextPath","method","pluck","where","attrs","findWhere","computed","lastComputed","v","min","shuffle","sample","n","random","clone","last","rand","temp","sortBy","criteria","sort","left","right","a","b","group","behavior","partition","groupBy","indexBy","countBy","reStrSymbol","toArray","isString","match","size","pass","first","head","take","array","tail","drop","compact","Boolean","flatten","input","shallow","strict","output","idx","isArguments","j","len","without","otherArrays","difference","uniq","unique","isSorted","isBoolean","seen","union","arrays","intersection","argsLength","unzip","zip","object","createPredicateIndexFinder","findLastIndex","sortedIndex","low","high","mid","floor","createIndexFinder","predicateFind","isNaN","lastIndexOf","range","start","stop","step","ceil","chunk","count","executeBound","sourceFunc","boundFunc","callingContext","bind","TypeError","bound","callArgs","concat","partial","boundArgs","placeholder","position","bindAll","Error","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","now","throttled","remaining","clearTimeout","trailing","cancel","debounce","immediate","debounced","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","collectNonEnumProps","nonEnumIdx","constructor","proto","prop","allKeys","mapObject","pairs","invert","functions","methods","names","createAssigner","keysFunc","defaults","source","l","extend","extendOwn","assign","eq","deepEq","keyInObj","pick","omit","String","props","tap","interceptor","isMatch","aStack","bStack","type","className","valueOf","areArrays","aCtor","bCtor","pop","isEqual","isEmpty","isElement","name","nodelist","document","childNodes","Int8Array","isFinite","isSymbol","parseFloat","isNumber","isNull","isUndefined","noConflict","constant","noop","propertyOf","matches","accum","Date","getTime","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","join","testRegexp","RegExp","replaceRegexp","string","test","replace","escape","unescape","fallback","idCounter","uniqueId","prefix","id","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","template","text","settings","oldSettings","render","offset","variable","Function","e","data","argument","chain","instance","_chain","chainResult","mixin","toJSON","define","amd"],"mappings":"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"}
\ No newline at end of file
{"version":3,"sources":["modules/index.js","modules/index-default.js"],"names":["root","self","global","Function","ArrayProto","Array","prototype","ObjProto","Object","SymbolProto","Symbol","push","slice","toString","hasOwnProperty","nativeIsArray","isArray","nativeKeys","keys","nativeCreate","create","_isNaN","isNaN","_isFinite","isFinite","Ctor","_","obj","this","_wrapped","VERSION","optimizeCb","func","context","argCount","value","call","index","collection","accumulator","apply","arguments","baseIteratee","identity","isFunction","isObject","matcher","property","iteratee","Infinity","cb","restArguments","startIndex","length","Math","max","rest","args","baseCreate","result","shallowProperty","key","_has","path","deepGet","i","MAX_ARRAY_INDEX","pow","getLength","isArrayLike","each","_keys","map","results","currentKey","createReduce","dir","memo","initial","reducer","reduce","reduceRight","find","predicate","findIndex","findKey","filter","list","every","some","contains","item","fromIndex","guard","values","indexOf","invoke","contextPath","method","pluck","computed","lastComputed","v","sample","n","random","clone","min","last","rand","temp","group","behavior","partition","groupBy","indexBy","countBy","reStrSymbol","pass","first","array","_flatten","input","shallow","strict","output","idx","isArguments","j","len","without","otherArrays","difference","uniq","isSorted","isBoolean","seen","union","arrays","unzip","zip","createPredicateIndexFinder","findLastIndex","sortedIndex","low","high","mid","floor","createIndexFinder","predicateFind","lastIndexOf","executeBound","sourceFunc","boundFunc","callingContext","bind","TypeError","bound","callArgs","concat","partial","boundArgs","placeholder","position","bindAll","Error","delay","wait","setTimeout","defer","negate","before","times","once","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","collectNonEnumProps","nonEnumIdx","constructor","proto","prop","allKeys","invert","functions","names","sort","createAssigner","keysFunc","defaults","source","l","extend","extendOwn","keyInObj","pick","omit","String","isMatch","object","attrs","eq","a","b","aStack","bStack","type","className","valueOf","areArrays","aCtor","bCtor","pop","deepEq","tagTester","name","isString","isNumber","isDate","isRegExp","isError","isSymbol","isMap","isWeakMap","isSet","isWeakSet","nodelist","document","childNodes","Int8Array","now","Date","getTime","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","match","join","testRegexp","RegExp","replaceRegexp","string","test","replace","escape","unescape","idCounter","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","chainResult","instance","_chain","chain","mixin","toJSON","criteria","left","right","Boolean","argsLength","start","stop","step","ceil","range","count","hasher","memoize","cache","address","options","timeout","previous","later","leading","throttled","_now","remaining","clearTimeout","trailing","cancel","immediate","debounced","callNow","wrapper","pairs","props","interceptor","nodeType","parseFloat","accum","fallback","prefix","id","text","settings","oldSettings","render","offset","variable","e","template","data","argument"],"mappings":"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"}
\ No newline at end of file
......@@ -1526,7 +1526,7 @@ def profile():
current_user.kindle_mail = to_save["kindle_mail"]
if "allowed_tags" in to_save and to_save["allowed_tags"] != current_user.allowed_tags:
current_user.allowed_tags = to_save["allowed_tags"].strip()
if to_save["email"] and to_save["email"] != current_user.email:
if "email" in to_save and to_save["email"] != current_user.email:
if config.config_public_reg and not check_valid_domain(to_save["email"]):
flash(_(u"E-mail is not from valid domain"), category="error")
return render_title_template("user_edit.html", content=current_user, downloads=downloads,
......
......@@ -36,17 +36,17 @@
<div class="col-xs-12 col-sm-6">
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;">
<p class='text-justify attribute'><strong>Start Time: </strong>2020-05-05 19:02:03</p>
<p class='text-justify attribute'><strong>Start Time: </strong>2020-05-10 13:45:56</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Stop Time: </strong>2020-05-05 19:58:37</p>
<p class='text-justify attribute'><strong>Stop Time: </strong>2020-05-10 14:42:12</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Duration: </strong>47:42 min</p>
<p class='text-justify attribute'><strong>Duration: </strong>47:37 min</p>
</div>
</div>
</div>
......@@ -457,8 +457,8 @@
<tr class="result['header']['style']">
<td>test_edit_books.test_edit_books</td>
<td class="text-center">30</td>
<td class="text-center">28</td>
<td class="text-center">0</td>
<td class="text-center">27</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">2</td>
<td class="text-center">
......@@ -763,11 +763,33 @@
<tr id='pt5.30' class='hiddenRow bg-success'>
<tr id='ft5.30' class='none bg-danger'>
<td>
<div class='testcase'>test_upload_cover_hdd</div>
</td>
<td colspan='6' align='center'>PASS</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft5.30')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft5.30' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_ft5.30').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_edit_books.py", line 654, in test_upload_cover_hdd
self.assertEqual('20317',resp.headers['Content-Length'])
AssertionError: '20317' != '5232'
- 20317
+ 5232</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
......@@ -1829,8 +1851,8 @@ AssertionError: False is not true : logfile config value is not empty after rese
<tr class="result['header']['style']">
<td>test_updater.test_updater</td>
<td class="text-center">7</td>
<td class="text-center">5</td>
<td class="text-center">1</td>
<td class="text-center">6</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
......@@ -1867,33 +1889,11 @@ AssertionError: False is not true : logfile config value is not empty after rese
<tr id='ft18.4' class='none bg-danger'>
<tr id='pt18.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_stable_versions</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft18.4')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft18.4' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_ft18.4').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_updater.py", line 150, in test_check_update_stable_versions
self.check_updater('latest version installed', "alert-warning")
File "/home/matthias/Entwicklung/calibre-web-test/test/test_updater.py", line 60, in check_updater
self.assertTrue(self.check_element_on_page((By.CLASS_NAME, className)))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
......@@ -2520,6 +2520,12 @@ AssertionError: False is not true</pre>
<td>Basic</td>
</tr>
<tr>
<th>comicapi</th>
<td>2.1</td>
<td>test_edit_additional_books</td>
</tr>
<tr>
<th>lxml</th>
<td>4.5.0</td>
......@@ -2550,6 +2556,12 @@ AssertionError: False is not true</pre>
<td>test_edit_books</td>
</tr>
<tr>
<th>goodreads</th>
<td>0.3.2</td>
<td>test_goodreads</td>
</tr>
<tr>
<th>jsonschema</th>
<td>3.2.0</td>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment