Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
douban-api-proxy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
captainwong
douban-api-proxy
Commits
8e9b5d7e
Commit
8e9b5d7e
authored
May 15, 2020
by
Ozzieisaacs
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'caliblur/master'
parents
a33515d9
e325c3db
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8485 additions
and
487 deletions
+8485
-487
caliBlur.min.css
cps/static/css/caliBlur.min.css
+7977
-1
caliBlur.js
cps/static/js/caliBlur.js
+508
-486
No files found.
cps/static/css/caliBlur.min.css
View file @
8e9b5d7e
This source diff could not be displayed because it is too large. You can
view the blob
instead.
cps/static/js/caliBlur.js
View file @
8e9b5d7e
...
...
@@ -15,76 +15,78 @@
* 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"
);
$
(
"a[href*='advanced']"
).
parent
().
insertAfter
(
"#nav_new"
);
$
(
"body"
).
addClass
(
"blur"
);
$
(
"body.stat"
).
addClass
(
"stats"
);
$
(
"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"
);
$
(
"body > div.container-fluid > div > div.col-sm-10 > div.filterheader"
).
attr
(
"style"
,
"margin: 40px 0 !important; padding: 0 10px 0 40px !important;"
);
// 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>'
);
if
(
history
.
length
===
1
||
if
(
history
.
length
===
1
||
curHref
[
0
]
+
curHref
[
1
]
+
curHref
[
2
]
!=
prevHref
[
0
]
+
prevHref
[
1
]
+
prevHref
[
2
]
||
$
(
"body.root"
)
>
length
>
0
)
{
$
(
"body.root"
)
>
length
>
0
)
{
$
(
".plexBack"
).
addClass
(
"noBack"
);
}
//Weird missing a after pressing back from edit.
setTimeout
(
function
()
{
if
(
$
(
".plexBack a"
).
length
<
1
)
{
setTimeout
(
function
()
{
if
(
$
(
".plexBack a"
).
length
<
1
)
{
$
(
".plexBack"
).
append
(
'<a href="'
+
encodeURI
(
document
.
referrer
)
+
'"></a>'
);
}
},
10
);
},
10
);
// Home button
$
(
".plexBack"
).
before
(
'<div class="home-btn"></div>'
);
$
(
".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"
);
$
(
"#decription"
).
detach
();
$
(
".comments"
).
detach
();
$
(
bookInfo
).
wrapAll
(
'<div class="bookinfo"></div>'
);
$
(
".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
);
$
(
'.identifiers'
).
before
(
'<div class="hr"></div>'
);
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>'
);
}
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>'
);
}
else
{
if
(
$
(
'.bookinfo a[href*="/series/"]'
).
length
>
0
)
{
console
.
log
(
"series text found; placing hr below series"
);
$
(
'.bookinfo a[href*="/series/"]'
).
parent
().
after
(
'<div class="hr"></div>'
);
if
(
$
(
'.bookinfo a[href*="/series/"]'
).
length
>
0
)
{
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,225 +95,225 @@ 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
();
$
.
each
(
newdesc
,
function
(
i
,
val
)
{
$
(
"div.comments"
).
append
(
"<p>"
+
newdesc
[
i
]
+
"</p>"
);
.
replace
(
/^
(?=\n)
$|^
\s
*|
\s
*$|
\n\n
+/gm
,
""
).
split
(
/
\n
/
);
$
(
".comments"
).
empty
();
$
.
each
(
newdesc
,
function
(
i
,
val
)
{
$
(
"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
(
description
.
context
!=
undefined
)
{
if
(
$
(
".comments p"
).
length
===
1
)
{
if
(
description
.
context
!=
undefined
)
{
newdesc
=
description
.
text
()
.
replace
(
/^
(?=\n)
$|^
\s
*|
\s
*$|
\n\n
+/gm
,
""
).
split
(
/
\n
/
);
}
else
{
.
replace
(
/^
(?=\n)
$|^
\s
*|
\s
*$|
\n\n
+/gm
,
""
).
split
(
/
\n
/
);
}
else
{
newdesc
=
description
.
text
();
}
doc
=
nlp
(
newdesc
.
toString
()
);
sentences
=
doc
.
map
((
m
)
=>
m
.
out
(
"text"
));
sentences
[
0
]
=
sentences
[
0
].
replace
(
","
,
""
);
$
(
".comments p"
).
remove
();
let
size
=
3
;
let
sentenceChunks
=
[];
for
(
var
i
=
0
;
i
<
sentences
.
length
;
i
+=
size
)
{
sentenceChunks
.
push
(
sentences
.
slice
(
i
,
i
+
size
));
doc
=
nlp
(
newdesc
.
toString
());
sentences
=
doc
.
map
((
m
)
=>
m
.
out
(
"text"
));
sentences
[
0
]
=
sentences
[
0
].
replace
(
","
,
""
);
$
(
".comments p"
).
remove
();
let
size
=
3
;
let
sentenceChunks
=
[];
for
(
var
i
=
0
;
i
<
sentences
.
length
;
i
+=
size
)
{
sentenceChunks
.
push
(
sentences
.
slice
(
i
,
i
+
size
));
}
let
output
=
''
;
$
.
each
(
sentenceChunks
,
function
(
i
,
val
)
{
$
.
each
(
sentenceChunks
,
function
(
i
,
val
)
{
let
preOutput
=
''
;
$
.
each
(
val
,
function
(
i
,
val
)
{
$
.
each
(
val
,
function
(
i
,
val
)
{
preOutput
+=
val
;
});
output
+=
"<p>"
+
preOutput
+
"</p>"
;
});
$
(
"div.comments"
).
append
(
output
);
}
else
{
$
.
each
(
description
,
function
(
i
,
val
)
{
$
(
"div.comments"
).
append
(
output
);
}
else
{
$
.
each
(
description
,
function
(
i
,
val
)
{
// $( description[i].outerHTML ).appendTo( ".comments" );
$
(
"div.comments :empty"
).
remove
();
$
(
"div.comments "
).
attr
(
"style"
,
""
);
$
(
"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 alt="Blurred cover" 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
();
$
.
each
(
publisher
,
function
(
i
,
val
)
{
$
(
".publishers"
).
append
(
"<span>"
+
publisher
[
i
]
+
"</span>"
);
publisher
=
$
(
".publishers p span"
).
text
().
split
(
":"
);
$
(
".publishers p span"
).
remove
();
$
.
each
(
publisher
,
function
(
i
,
val
)
{
$
(
".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_column
=
$
(
".real_custom_columns"
);
// $( ".real_custom_columns" ).remove();
$
.
each
(
real_custom_column
,
function
(
i
,
val
)
{
var
split
=
$
(
this
).
text
().
split
(
":"
);
$
.
each
(
real_custom_column
,
function
(
i
,
val
)
{
var
split
=
$
(
this
).
text
().
split
(
":"
);
real_cc_key
=
split
.
shift
();
real_cc_value
=
split
.
join
(
":"
);
$
(
this
).
text
(
""
);
$
(
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"
)
published
=
$
(
".publishing-date p"
)
.
text
().
split
(
": "
);
$
(
".publishing-date p"
).
remove
();
$
.
each
(
published
,
function
(
i
,
val
)
{
$
(
".publishing-date"
).
append
(
"<span>"
+
published
[
i
]
+
"</span>"
);
$
(
".publishing-date p"
).
remove
();
$
.
each
(
published
,
function
(
i
,
val
)
{
$
(
".publishing-date"
).
append
(
"<span>"
+
published
[
i
]
+
"</span>"
);
});
languages
=
$
(
".languages p span"
).
text
().
split
(
": "
);
$
(
".languages p span"
).
remove
();
$
.
each
(
languages
,
function
(
i
,
val
)
{
$
(
".languages"
).
append
(
"<span>"
+
languages
[
i
]
+
"</span>"
);
languages
=
$
(
".languages p span"
).
text
().
split
(
": "
);
$
(
".languages p span"
).
remove
();
$
.
each
(
languages
,
function
(
i
,
val
)
{
$
(
".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
();
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"
);
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"
);
});
$
(
".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']"
)
.
prependTo
(
'[aria-label^="Download, send"]'
)
.
children
().
removeClass
(
"btn-sm"
);
$
(
".custom_columns"
)
.
addClass
(
" btn-group"
)
.
attr
(
"role"
,
"group"
)
.
removeClass
(
"custom_columns"
)
.
prependTo
(
'[aria-label^="Download, send"]'
);
$
(
"#have_read_cb"
)
.
after
(
'<label class="block-label readLbl" for="#have_read_cb"></label>'
);
$
(
"#archived_cb"
)
.
after
(
'<label class="block-label readLbl" for="#archived_cb"></label>'
);
$
(
"#shelf-actions"
).
prependTo
(
'[aria-label^="Download, send"]'
);
$
(
"[aria-label*='Delete book']"
)
.
prependTo
(
'[aria-label^="Download, send"]'
)
.
children
().
removeClass
(
"btn-sm"
);
$
(
".custom_columns"
)
.
addClass
(
" btn-group"
)
.
attr
(
"role"
,
"group"
)
.
removeClass
(
"custom_columns"
)
.
prependTo
(
'[aria-label^="Download, send"]'
);
$
(
"#have_read_cb"
)
.
after
(
'<label class="block-label readLbl" for="#have_read_cb"></label>'
);
$
(
"#archived_cb"
)
.
after
(
'<label class="block-label readLbl" for="#archived_cb"></label>'
);
$
(
"#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
();
$
(
'div[aria-label="Add to shelves"]'
).
click
(
function
()
{
$
(
"#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"
);
}
}
if
(
$
(
'div[aria-label="Add to shelves"]'
).
length
>
0
)
{
if
(
$
(
'div[aria-label="Add to shelves"]'
).
length
>
0
)
{
position
=
$
(
'div[aria-label="Add to shelves"]'
).
offset
().
left
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"
);
}
///////////////////////////////
...
...
@@ -331,17 +333,14 @@ $(document).mouseup(function (e) {
container
.
push
(
$
(
"#add-to-shelves"
));
container
.
push
(
$
(
".navbar-collapse.collapse.in"
));
$
.
each
(
container
,
function
(
key
,
value
)
{
$
.
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"
)
)
{
}
else
{
if
(
$
(
value
).
hasClass
(
"collapse"
))
{
$
(
value
).
collapse
(
"toggle"
);
}
}
...
...
@@ -353,49 +352,49 @@ $(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"
)
.
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"
);
$
(
"#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"
);
// Remove the modals except from some areas where they are needed
bodyClass
=
$
(
"body"
).
attr
(
"class"
).
split
(
" "
);
bodyClass
=
$
(
"body"
).
attr
(
"class"
).
split
(
" "
);
modalWanted
=
[
"admin"
,
"editbook"
,
"config"
,
"uiconfig"
,
"me"
,
"edituser"
];
if
(
$
.
inArray
(
bodyClass
[
0
],
modalWanted
)
!=
-
1
)
{
if
(
$
.
inArray
(
bodyClass
[
0
],
modalWanted
)
!=
-
1
)
{
}
else
{
$
(
" a:not(.dropdown-toggle) "
)
.
removeAttr
(
"data-toggle"
,
"data-target"
,
"data-remote"
);
.
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
()
{
setTimeout
(
function
()
{
$
(
'form[role="search"]'
).
removeClass
(
"search-focus"
);
$
(
"input#query"
).
focusout
(
function
()
{
setTimeout
(
function
()
{
$
(
'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
()
{
}).
each
(
function
()
{
$
(
this
).
addClass
(
"offscreen"
);
});
});
...
...
@@ -426,7 +425,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,91 +437,94 @@ $( "div.comments" ).readmore( {
///////////////////////////////
// Author Page Background Blur
if
(
$
(
"body.author"
).
length
>
0
)
{
cover
=
$
(
".author-bio img"
).
attr
(
"src"
);
$
(
"#loader + .container-fluid"
)
.
prepend
(
'<div class="blur-wrapper"></div>'
);
$
(
".blur-wrapper"
).
prepend
(
'<img alt="Blurred author bio" class="bg-blur" src="'
+
cover
+
'">'
);
if
(
$
(
"body.author"
).
length
>
0
)
{
cover
=
$
(
".author-bio img"
).
attr
(
"src"
);
$
(
"#loader + .container-fluid"
)
.
prepend
(
'<div class="blur-wrapper"></div>'
);
$
(
".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'
);
if
(
$
(
'.bg-blur[src="undefined"]'
).
length
>
0
)
{
$
(
".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"
)
$
(
"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
()
{
$
(
function
()
{
// document ready
$
(
"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
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"
);
setTimeout
(
function
()
{
if
(
emptyLength
>=
shelfLength
)
{
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
);
},
100
);
});
if
(
$
.
trim
(
$
(
'ul[aria-labelledby="read-in-browser"] li'
).
html
()
).
length
===
0
)
{
if
(
$
.
trim
(
$
(
'ul[aria-labelledby="read-in-browser"] li'
).
html
()).
length
===
0
)
{
$
(
"#read-in-browser"
).
addClass
(
"empty-ul"
);
}
// Shelf Buttons and Tooltips
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"
);
$
(
'a[href*="edit"]'
)
.
appendTo
(
".shelf-btn-group"
)
.
addClass
(
"edit-shelf-btn"
);
$
(
'a[href*="order"]'
)
.
appendTo
(
".shelf-btn-group"
)
.
addClass
(
"order-shelf-btn"
);
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"
);
$
(
'a[href*="edit"]'
)
.
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"
})
"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"
})
"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"
})
"data-placement"
:
"bottom"
})
.
addClass
(
"order-btn-tooltip"
);
}
...
...
@@ -530,186 +532,203 @@ if ( $( "body.shelf" ).length > 0 ) {
$
(
".home-btn > a"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
document
.
body
).
attr
(
"data-text"
),
// Home
"data-placement"
:
"bottom"
})
"data-placement"
:
"bottom"
})
.
addClass
(
"home-btn-tooltip"
);
$
(
".plexBack > a"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
document
.
body
).
attr
(
"data-textback"
),
// Back
"data-placement"
:
"bottom"
})
"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"
})
"data-viewport"
:
"#main-nav"
})
.
addClass
(
"tasks-btn-tooltip"
);
$
(
"#top_admin"
).
attr
({
$
(
"#top_admin"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
"#top_admin"
).
attr
(
"data-text"
),
// Settings
"title"
:
$
(
"#top_admin"
).
attr
(
"data-text"
),
// Settings
"data-placement"
:
"bottom"
,
"data-viewport"
:
"#main-nav"
})
"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"
})
"data-viewport"
:
"#main-nav"
})
.
addClass
(
"send-btn-tooltip dropdown"
);
$
(
"#btn-upload"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
"#btn-upload"
).
parent
().
text
()
,
// "Upload"
"title"
:
$
(
"#btn-upload"
).
parent
().
text
()
,
// "Upload"
"data-placement"
:
"bottom"
,
"data-viewport"
:
"#main-nav"
})
"data-viewport"
:
"#main-nav"
})
.
addClass
(
"upload-btn-tooltip"
);
$
(
"#add-to-shelf"
).
attr
({
"data-toggle-two"
:
"tooltip"
,
"title"
:
$
(
"#add-to-shelf"
).
text
()
,
// "Add to Shelf"
"title"
:
$
(
"#add-to-shelf"
).
text
()
,
// "Add to Shelf"
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"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"
})
"data-viewport"
:
".btn-toolbar"
})
.
addClass
(
"readunread-btn-tooltip"
);
$
(
"#have_read_cb:checked"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
"#have_read_cb"
).
attr
(
"data-checked"
),
"title"
:
$
(
"#have_read_cb"
).
attr
(
"data-checked"
),
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"data-viewport"
:
".btn-toolbar"
})
.
addClass
(
"readunread-btn-tooltip"
);
$
(
"#archived_cb"
).
attr
({
$
(
"#archived_cb"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
"#archived_cb"
).
attr
(
"data-unchecked"
),
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"data-viewport"
:
".btn-toolbar"
})
.
addClass
(
"readunread-btn-tooltip"
);
$
(
"#archived_cb:checked"
).
attr
({
$
(
"#archived_cb:checked"
).
attr
({
"data-toggle"
:
"tooltip"
,
"title"
:
$
(
"#archived_cb"
).
attr
(
"data-checked"
),
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"data-viewport"
:
".btn-toolbar"
})
.
addClass
(
"readunread-btn-tooltip"
);
$
(
"button#delete"
).
attr
({
$
(
"button#delete"
).
attr
({
"data-toggle-two"
:
"tooltip"
,
"title"
:
$
(
"button#delete"
).
text
(),
//"Delete"
"title"
:
$
(
"button#delete"
).
text
(),
//"Delete"
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"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"
));
$
(
"#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"
"title"
:
$
(
"#edit_book"
).
text
(),
// "Edit"
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"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"
})
"data-viewport"
:
".btn-toolbar"
})
.
addClass
(
"send-btn-tooltip"
);
$
(
"#sendbtn2"
).
attr
({
"data-toggle-two"
:
"tooltip"
,
"title"
:
$
(
"#sendbtn2"
).
text
(),
// "Send to Kindle",
"title"
:
$
(
"#sendbtn2"
).
text
(),
// "Send to Kindle",
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
})
"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"
})
"data-viewport"
:
".btn-toolbar"
})
.
addClass
(
"send-btn-tooltip"
);
$
(
"#btnGroupDrop1"
).
attr
({
"data-toggle-two"
:
"tooltip"
,
"title"
:
$
(
"#btnGroupDrop1"
).
text
(),
"title"
:
$
(
"#btnGroupDrop1"
).
text
(),
"data-placement"
:
"bottom"
,
"data-viewport"
:
".btn-toolbar"
});
"data-viewport"
:
".btn-toolbar"
});
if
(
$
(
"body.epub"
).
length
===
0
)
{
$
(
document
).
ready
(
function
()
{
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"
,
" "
);
$
(
"#btn-upload"
).
attr
(
"title"
,
" "
);
});
$
(
'[data-toggle-two="tooltip"]'
).
click
(
function
()
{
$
(
'[data-toggle-two="tooltip"]'
).
click
(
function
()
{
$
(
'[data-toggle-two="tooltip"]'
).
tooltip
(
"hide"
);
});
$
(
'[data-toggle="tooltip"]'
).
click
(
function
()
{
$
(
'[data-toggle="tooltip"]'
).
click
(
function
()
{
$
(
'[data-toggle="tooltip"]'
).
tooltip
(
"hide"
);
});
}
$
(
"#read-in-browser a"
).
attr
(
"target"
,
""
);
$
(
"#read-in-browser a"
).
attr
(
"target"
,
""
);
if
(
$
(
".edit-shelf-btn"
).
length
>
1
)
{
if
(
$
(
".edit-shelf-btn"
).
length
>
1
)
{
$
(
".edit-shelf-btn:first"
).
remove
();
}
if
(
$
(
".order-shelf-btn"
).
length
>
1
)
{
if
(
$
(
".order-shelf-btn"
).
length
>
1
)
{
$
(
".order-shelf-btn:first"
).
remove
();
}
$
(
"#top_user > span.hidden-sm"
).
clone
().
insertBefore
(
".profileDropli"
);
$
(
"#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
()
{
$
(
"#nav_new a:contains('Recently')"
).
contents
().
filter
(
function
()
{
return
this
.
nodeType
==
3
}).
each
(
function
()
{
this
.
textContent
=
this
.
textContent
.
replace
(
" Recently Added"
,
recentlyAdded
);
}).
each
(
function
()
{
this
.
textContent
=
this
.
textContent
.
replace
(
" Recently Added"
,
recentlyAdded
);
});
// Change shelf textValue
shelfText
=
$
(
".shelf .discover h2:first"
).
text
().
replace
(
":"
,
" —"
).
replace
(
/
\'
/g
,
""
);
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
,
""
);
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
)
{
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>"
);
if
(
$
(
".sidebar-backdrop"
).
length
<
1
)
{
$
(
".navbar-collapse.collapse:first"
).
after
(
"<div class='sidebar-backdrop'></div>"
);
}
}
else
{
//Move menu out of collapse
...
...
@@ -719,31 +738,34 @@ if ( $( window ).width() <= 768 ) {
}
// LayerCake plug
if
(
$
(
" body.stat p"
).
length
>
0
)
{
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>"
);
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
).
detach
();
$
(
".editbook .text-center.more-stuff h4"
).
remove
();
$
.
each
(
deleteButtons
,
function
(
i
,
val
)
{
$
.
each
(
deleteButtons
,
function
(
i
,
val
)
{
$
(
"<li>"
+
deleteButtons
[
i
].
outerHTML
+
"</li>"
).
appendTo
(
".delete-dropdown"
);
});
// Turn off bootstrap animations
$
(
function
()
{
$
.
support
.
transition
=
false
;
})
$
(
function
()
{
$
.
support
.
transition
=
false
;
})
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
();
mobileSupport
();
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment