mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-28 17:01:16 +00:00
Remove unsued css files
This commit is contained in:
@@ -1,83 +0,0 @@
|
||||
/*
|
||||
Document : jquery.pnotify.default.css
|
||||
Created on : Nov 23, 2009, 3:14:10 PM
|
||||
Author : Hunter Perrin
|
||||
Version : 1.2.0
|
||||
Link : http://pinesframework.org/pnotify/
|
||||
Description:
|
||||
Default styling for Pines Notify jQuery plugin.
|
||||
*/
|
||||
/* -- Notice */
|
||||
.ui-pnotify {
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
position: absolute;
|
||||
height: auto;
|
||||
/* Ensures notices are above everything */
|
||||
z-index: 9999;
|
||||
}
|
||||
/* Hides position: fixed from IE6 */
|
||||
html > body .ui-pnotify {
|
||||
position: fixed;
|
||||
}
|
||||
.ui-pnotify .ui-pnotify-shadow {
|
||||
-webkit-box-shadow: 0px 2px 10px rgba(50, 50, 50, 0.5);
|
||||
-moz-box-shadow: 0px 2px 10px rgba(50, 50, 50, 0.5);
|
||||
box-shadow: 0px 2px 10px rgba(50, 50, 50, 0.5);
|
||||
}
|
||||
.ui-pnotify-container {
|
||||
background-position: 0 0;
|
||||
padding: .8em;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
.ui-pnotify-sharp {
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-pnotify-closer, .ui-pnotify-sticker {
|
||||
float: right;
|
||||
margin-left: .2em;
|
||||
}
|
||||
.ui-pnotify-title {
|
||||
display: block;
|
||||
margin-bottom: .4em;
|
||||
}
|
||||
.ui-pnotify-text {
|
||||
display: block;
|
||||
}
|
||||
.ui-pnotify-icon, .ui-pnotify-icon span {
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: .2em;
|
||||
}
|
||||
/* -- History Pulldown */
|
||||
.ui-pnotify-history-container {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 18px;
|
||||
width: 70px;
|
||||
border-top: none;
|
||||
padding: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
-moz-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-moz-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
/* Ensures history container is above notices. */
|
||||
z-index: 10000;
|
||||
}
|
||||
.ui-pnotify-history-container .ui-pnotify-history-header {
|
||||
padding: 2px;
|
||||
}
|
||||
.ui-pnotify-history-container button {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-pnotify-history-container .ui-pnotify-history-pulldown {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
/* Make clicks pass-through */
|
||||
#nprogress {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#nprogress .bar {
|
||||
background: #29d;
|
||||
|
||||
position: fixed;
|
||||
z-index: 1031;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
/* Fancy blur effect */
|
||||
#nprogress .peg {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #29d, 0 0 5px #29d;
|
||||
opacity: 1.0;
|
||||
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
/* Remove these to get rid of the spinner */
|
||||
#nprogress .spinner {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 1031;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
}
|
||||
|
||||
#nprogress .spinner-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
box-sizing: border-box;
|
||||
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #29d;
|
||||
border-left-color: #29d;
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: nprogress-spinner 400ms linear infinite;
|
||||
animation: nprogress-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
.nprogress-custom-parent {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nprogress-custom-parent #nprogress .spinner,
|
||||
.nprogress-custom-parent #nprogress .bar {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
@-webkit-keyframes nprogress-spinner {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes nprogress-spinner {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
@@ -1,423 +0,0 @@
|
||||
/* Site-wide html styles */
|
||||
body { margin: 0 auto; padding: 0; background: #FFF url(../images/menu.gif) repeat-x left top; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12px; color: #515151; }
|
||||
h1, h2, h3 { margin: 0; font-weight: normal; color: #485459; }
|
||||
input, select, textarea { font-family: Calibri, Arial, Helvetica, sans-serif; }
|
||||
textarea { height:100px; width:300px; }
|
||||
h1 { font-size: 44px; padding-bottom:10px; }
|
||||
h2 { padding-bottom:5px; font-size: 1.6em; }
|
||||
h3 { padding:10px 0 5px 0; }
|
||||
p, ul, ol { margin-top: 0; line-height: 240%; text-align: justify; }
|
||||
ul, ol { }
|
||||
blockquote { }
|
||||
a { color: #108120; text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
a img { border: none; }
|
||||
img.left { float: left; margin: 7px 30px 0 0; }
|
||||
img.right { float: right; margin: 7px 0 0 30px; }
|
||||
hr { display: none; }
|
||||
input[type=text], input[type=password], textarea, select { background: #fff; background: -webkit-gradient(linear, left top, left 25, from(#fff), color-stop(4%, #f0f0f0), to(#fff)); border: 1px solid #ccc; border-bottom-color: #999; border-right-color: #999; margin: 0; padding: 4px; color: #444; font-size: 100%; outline: none; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
page structure
|
||||
*/
|
||||
#header { width: 85%; margin: 0 auto; }
|
||||
#page { width: 85%; margin: 0 auto; padding: 50px 0px 0px 0px;}
|
||||
|
||||
#logo { width: 85%; margin: 0 auto; height: 65px; padding-left:5px; margin-top:4px; background:url("../images/banner.jpg") no-repeat bottom left; }
|
||||
#logo h1, #logo p { display:none; margin: 0px; line-height: normal; text-transform: lowercase; font-weight: normal; color: #485459; }
|
||||
#logo p { margin-top: 2px; font-size: 13px; color: #A8A8A8; }
|
||||
#logo h1 { padding-top: 10px; font-size: 48px; }
|
||||
#logo a { color: #A8A8A8; }
|
||||
#logo .logolink { float:left; }
|
||||
#logo img { margin-top:15px; }
|
||||
#logo h1 a { color: #485459; }
|
||||
|
||||
#statusbar { width: 85%; margin: 0 auto; text-align:right; padding:5px 10px 0 0;}
|
||||
#statusbar a { color: #515151;}
|
||||
|
||||
#content { float: right; width: 85%;}
|
||||
#content h1 { font-size: 2.3em;}
|
||||
#content p { margin-bottom:20px;}
|
||||
|
||||
#sidebar { float: left; width: 160px;}
|
||||
#sidebar ul {margin: 0; padding: 0; line-height: normal; list-style-type: none; text-align: left; }
|
||||
#sidebar li { margin-bottom: 30px; padding: 0 0 0 0;}
|
||||
#sidebar li ul { list-style-type: none; list-style-position:inside; margin: 0px 10px; padding: 0; margin-left: 1em;}
|
||||
#sidebar li li { background-image: url('../images/bullet.jpg'); background-repeat: no-repeat; background-position: 0.7em 1.1em; margin: 0; padding-left: .5em; padding-top: .8em;padding-bottom:10px; border-bottom: 1px solid #E9E8DD;}
|
||||
#sidebar li li a {padding: 0 0 0 20px; font-weight: normal; color: #808080;}
|
||||
#sidebar li li a:hover {color: #108120;}
|
||||
#sidebar li li:hover { cursor:pointer; background-color:#EEE; background-image: url('../images/bullet_hov.jpg');}
|
||||
|
||||
#sidebar p { margin: 0; padding: 0px 14px;}
|
||||
#sidebar h2 { height: 30px; margin: 0 0 5px 0px; padding: 6px 0 2px 14px; font-size: 18px; font-weight: normal; color: #485459;}
|
||||
#sidebar p { line-height: 200%;}
|
||||
#sidebar a { text-align: left; text-decoration: none; font-weight: bold;}
|
||||
|
||||
.w3validator img {margin:10px 0 10px 0;}
|
||||
.footer { width: 100%; height: 102px; margin: 0 auto; background: #E1E1E1; border-top: 5px solid #656565;}
|
||||
.footer p { margin: 0; padding: 20px 0px 0px 0px; text-align: center; line-height: normal; font-size: 0.9em; }
|
||||
.footer a {}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
browse by category top menu
|
||||
*/
|
||||
#menu { height:33px; float: left; width: 100%; background-color:#e5e5e5; }
|
||||
#menu { padding:0 4px 0 4px; margin-right:1px; border:1px #CCC solid; background-color:#e5e5e5; -moz-border-radius: 4px; -webkit-border-radius: 4px;}
|
||||
|
||||
.menupic {padding-left:15px;}
|
||||
|
||||
#menulink { float: left; }
|
||||
#menulink ul { list-style-type: none; padding: 0; margin: 0; }
|
||||
#menulink li { float: left; position: relative; z-index: 100; }
|
||||
#menulink a, #menulink :visited {height:32px; display: block; font-size: 0.9em; width: 70px; padding: 1px 0px 0px 5px; color: #000; background-color: #e5e5e5; text-decoration: none; text-align: left; vertical-align: middle; }
|
||||
#menulink :hover, #menulink a.selected {color:#fff; background-color: #777; }
|
||||
#menulink ul ul { visibility: hidden; position: absolute; width: 60px; height: 0; }
|
||||
#menulink ul li:hover ul, #menulink ul a:hover ul { visibility: visible; }
|
||||
#menusearchlink { padding-top:5px; float:right; }
|
||||
#menusearchlink input, #menusearchlink select { font-size: 0.9em; color:#555; }
|
||||
#menucontainer { width:85%; height:10px; }
|
||||
|
||||
select#headcat {width:120px; float:right; margin-left:5px; height:25px;}
|
||||
select#headcat option { padding-left: 10px; }
|
||||
select#headcat option.grouping { padding-left: 5px; font-weight: bold; }
|
||||
#headsearch{float:right;height:15px;}
|
||||
|
||||
.gobutton {display:inline;float:right;margin-left:5px;}
|
||||
.gobutton input { background:url('../images/icons/go.png') no-repeat; cursor:pointer; border: none; width:30px; height:25px; }
|
||||
|
||||
/* menu styling for when menu is displayed in top position */
|
||||
#logo ul { list-style-type: none; float:right; margin: 0 0 10px 0; padding:0; line-height: normal; text-align: right; }
|
||||
#logo ul li h2 {display:none;}
|
||||
#logo ul li ul li {float: left; margin-left: 1em; padding-right:5px; }
|
||||
#logo ul li a {color:#333;}
|
||||
#logo ul ul {list-style-type: square;}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
data tables, most lists.
|
||||
*/
|
||||
#browsetable, #coverstable, #forumtable { margin-top: 10px; clear: both; }
|
||||
table.data { border-collapse:collapse; }
|
||||
table.data th { text-align:left; vertical-align:top; background-color:#DDD; border-color: #AAA; border-width: 1px; border-style: solid; padding:3px; font-style:bolder; text-transform:capitalize;}
|
||||
table.data td { white-space:normal; vertical-align:top; padding:5px; border-color: #AAA; border-width: 1px; border-style: solid; }
|
||||
table.data td.less { color: #888; font-size: 0.9em; white-space:nowrap; }
|
||||
table.data td.icons { white-space:nowrap; padding-left:0px; padding-right:0px; width:60px; }
|
||||
table.data td.check {cursor:pointer;}
|
||||
table.highlight tr:hover td { background-color: #e8fbe6; }
|
||||
table tr.alt { background-color: #F6F6F6; }
|
||||
table tr.new { background-color: #f6f8ff; }
|
||||
table.data em {font-weight:bolder; color:red;}
|
||||
table td.item { padding:5px 5px 2px 5px; }
|
||||
table td.static { background-color: #FFF; }
|
||||
.left { text-align:left !important;}
|
||||
.right { text-align:right !important;}
|
||||
.mid { text-align:center !important;}
|
||||
.nowrap {white-space:nowrap;}
|
||||
#detailstable { width: 70%; }
|
||||
#detailstable th { width: 70px; }
|
||||
|
||||
table.innerdata { border-collapse:collapse;}
|
||||
table.innerdata td { padding:2px; border-left-width:0; border-bottom-width:0; border-color: #EEE; }
|
||||
table.innerdata th { padding:2px; border-style: none; background-color:#EEE;}
|
||||
|
||||
table.input th, table.input td { text-align: left; vertical-align:top; }
|
||||
|
||||
/*
|
||||
form inputs and helpers
|
||||
*/
|
||||
div.hint, div.hint a {font-size:0.9em; font-style:italic; color:#999;}
|
||||
div.hint { margin-bottom:10px;}
|
||||
input.long {width:400px; }
|
||||
input.short { width:40px; }
|
||||
input.tiny { width: 25px; }
|
||||
input.date { width:70px; }
|
||||
fieldset { margin-bottom:20px; border:1px solid #999;}
|
||||
legend { padding: 0.4em 0.6em; border:1px solid #999; font-weight:bold; text-align:left; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
pager
|
||||
*/
|
||||
div.pager {display:inline;}
|
||||
div.pager a {font-weight:bold; background-color:#DDD; padding:0 3px 0px 4px; border:1px #CCC solid;}
|
||||
div.pager .current {color:#fff; font-weight:bold; background-color:#777; padding:0 4px 0px 4px; border:1px #CCC solid;}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
round buttoning
|
||||
*/
|
||||
.rndbtn { padding:0 4px 0 4px; margin-right:1px; border:1px #CCC solid; background-color:#EEE; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
|
||||
table.highlight tr:hover .rndbtn, table tr.alt .rndbtn { background-color: #fff; }
|
||||
table.highlight tr:hover .rndbtn:hover { background-color: #DDD; }
|
||||
table.highlight tr:hover td.static { background-color: #FFF; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
site wide covers and images with dropshadows
|
||||
*/
|
||||
img.shadow {padding: 5px 5px 5px 5px; background: #FFF; border:1px solid #EEE; -moz-box-shadow: 3px 6px 8px -4px #777; -webkit-box-shadow: 3px 6px 8px -4px #777; box-shadow: 3px 6px 8px -4px #777; border-collapse:separate; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
mainly one-off styles used on individual pages
|
||||
*/
|
||||
#forumtable a.title { font-size: 1.4em; }
|
||||
|
||||
pre#nfo { font-family: "Courier New", "DejaVu Sans Mono", monospace; font-size: 12px; line-height: 13px; }
|
||||
|
||||
div.resextra { padding-top:7px; color: #555; font-size: 0.9em; height:16px; }
|
||||
div.resextra a { color: #555; text-decoration:none; }
|
||||
div.resextra div.admin { float:right; }
|
||||
div.resextra div.btns {float:left; }
|
||||
|
||||
div.movextra { padding-top:5px; color: #888; font-size: 0.9em; }
|
||||
div.movextra td {border:0; padding:0 0 10px 0}
|
||||
div.movextra tr.mlextra {display:none;}
|
||||
|
||||
div.movcover { width:140px; }
|
||||
div.movcover img { margin-bottom:5px;}
|
||||
div.movcover .rndbtn {display:inline-block; margin-top:2px;}
|
||||
.mediainfo, .seriesinfo, .preinfo {cursor:pointer;}
|
||||
|
||||
a.external { background: url('../images/newwindow.png') center right no-repeat !important; padding-right:13px !important;}
|
||||
|
||||
ol.tracklist li { line-height: 140%; }
|
||||
|
||||
div.tvseriesheading img {float:right; margin:10px 0 10px 10px; max-width:300px;}
|
||||
div.tvseriesheading p {text-align:left;}
|
||||
|
||||
span.descfull {display:none;}
|
||||
a.descmore { display: inline; margin: 0px; margin-left:5px;}
|
||||
|
||||
|
||||
div.error { padding:20px; padding-left:50px; border:1px solid #BBB; background: #FED0D0 url(../images/icons/warning.png) no-repeat top; background-position: 5px 50%; font-size:1.2em; font-weight:bold; margin-bottom:10px;}
|
||||
div.info { padding:20px; padding-left:50px; border:1px solid #BBB; background: #5bc0de url(../images/icons/information.png) no-repeat top; background-position: 5px 50%; font-size:1.2em; font-weight:bold; margin-bottom:10px;}
|
||||
div.comments { padding-top:20px; }
|
||||
|
||||
.invitesuccess {display:none; font-weight:bold; padding-left:10px; color:green;}
|
||||
.invitefailed {display:none; font-weight:bold; padding-left:10px; color:red;}
|
||||
|
||||
div.nosearchresults {margin-left:25px; padding-top:50px;}
|
||||
div.nosearchresults ul { line-height: 150%;}
|
||||
|
||||
span.warning { color: red; }
|
||||
|
||||
|
||||
/*! Newznab tooltip style */
|
||||
.ui-tooltip-tmux .ui-tooltip-titlebar,
|
||||
.ui-tooltip-tmux .ui-tooltip-content{
|
||||
border-color: #90D93F;
|
||||
color: #3F6219;
|
||||
}
|
||||
|
||||
.ui-tooltip-tmux .ui-tooltip-content{
|
||||
background-color: #CAED9E;
|
||||
}
|
||||
|
||||
.ui-tooltip-tmux .ui-tooltip-titlebar{
|
||||
background-color: #B0DE78;
|
||||
color:white;
|
||||
font-size:1.2em;
|
||||
}
|
||||
|
||||
.ui-tooltip-tmuxb .ui-state-default .ui-tooltip-icon{
|
||||
background-position: -42px 0;
|
||||
}
|
||||
|
||||
table.ui-tooltip-tmux th {vertical-align:top;text-align:right;}
|
||||
ul.ui-tooltip-tmux li {text-align:left;}
|
||||
|
||||
.rarfilelist {cursor:pointer;}
|
||||
/*.tooltiphead {background-color:#A9DB66; padding:5px;color:white; font-weight:bold; margin:-5px -10px 5px -10px;}*/
|
||||
.ui-tooltip ul {padding:0; margin:0;line-height: 160%;}
|
||||
.ui-tooltip li {list-style-type:none;}
|
||||
|
||||
.tabs { padding: 0; list-style: none; }
|
||||
.tabs li { float: left; border: 1px solid #AAA; margin-bottom: -1px; margin-right: 5px; overflow: hidden; background: #F4F4F4; }
|
||||
.tabs li a { padding: 0 10px 0 10px; }
|
||||
.tabs li.active { background: #DDD; border-bottom: 1px solid #EEE; }
|
||||
|
||||
|
||||
/*
|
||||
movie, console and music modals with backdrop images.
|
||||
*/
|
||||
#movieinfo { background-position: center center; background-repeat: no-repeat; position: absolute; z-index: 2;}
|
||||
#movieinfo h1 { font-size: 32px; padding: 10px 10px 0px 20px; color: #fff; text-shadow: 0px 0px 4px #000; }
|
||||
#movieinfo h2, #movieinfo h3 { padding: 10px 20px 0px 20px; color: #fff; text-shadow: 0px 0px 4px #000; }
|
||||
#movieinfo a { color: #fff; }
|
||||
#movieinfo img.cover { margin-right: 20px; -webkit-box-shadow: 0px 0px 4px #000; -moz-box-shadow: 0px 0px 4px #000; box-shadow: 0px 0px 4px #000; border-collapse:separate;}
|
||||
#backdrop { position: absolute; width: 810px; height: 455px; left: -1px; top: 5px; background-color: #000; overflow: hidden;}
|
||||
#backdrop img { opacity:0.5; width: 100%; height: 100%;}
|
||||
|
||||
#musicinfo { color:#FFF; min-height:435px; background-color:#7F7F7F; background-image:url('../../covers/music/backdrop.jpg'); background-repeat: repeat-x;}
|
||||
#musicinfo h1 { font-size: 32px; padding: 10px 10px 0px 20px; color: #fff; }
|
||||
#musicinfo h2, #musicinfo h3, #musicinfo p { padding: 10px 20px 0px 20px; color: #fff;}
|
||||
#musicinfo a { color: #fff; }
|
||||
#musicinfo img.cover { float:right; margin:20px 20px 0 20px; padding: 5px 5px 5px 5px; background: #FFF; border:1px solid #EEE; -moz-box-shadow: 3px 6px 8px -4px #333; -webkit-box-shadow: 3px 6px 8px -4px #333; box-shadow: 3px 6px 8px -4px #333; border-collapse:separate; }
|
||||
#musicinfo p {text-align: left; line-height: 180%;}
|
||||
|
||||
#moviefull .pic { margin-left: 20px; float: right; }
|
||||
#moviefull {padding-bottom:20px;}
|
||||
#moviepreviews {text-align: center;}
|
||||
#moviepreviews img {max-width:600px;}
|
||||
#moviepreviews .previewtitle {margin-bottom: 20px;}
|
||||
|
||||
/*
|
||||
icons and multioperation buttons
|
||||
*/
|
||||
input.nzb_check_all { margin-left:5px; }
|
||||
#nzb_multi_operations_form { clear: both; }
|
||||
div.nzb_multi_operations { color:#888; display:inline; float:right; text-align: right; clear: both; }
|
||||
div.nzb_multi_operations input { color:#888; background-color:#fff; border:1px solid #ddd; }
|
||||
div.nzb_multi_operations input:hover { color:#000; border:1px solid #000; cursor:pointer; }
|
||||
|
||||
div.icon { width:16px; height:16px; background-repeat:no-repeat; cursor:pointer; position:relative; float:left; margin:2px; }
|
||||
table.data td.icons div.icon { opacity:.20; }
|
||||
div.icon_cart { background-image:url('../images/icons/cartup.png'); }
|
||||
div.icon_cart_clicked { background-image:url('../images/icons/cartdown.png'); }
|
||||
div.icon_nzb { background-image:url('../images/icons/nzbup.png'); }
|
||||
div.icon_nzb_clicked { background-image:url('../images/icons/nzbdown.png'); }
|
||||
div.icon_nzb a { text-decoration:none; padding-bottom:2px; padding-right:12px; }
|
||||
|
||||
div.icon_sab {
|
||||
background-image: url('../images/icons/queueup.png');
|
||||
}
|
||||
|
||||
div.icon_sab_clicked {
|
||||
background-image: url('../images/icons/queuedown.png');
|
||||
}
|
||||
|
||||
div.icon_tvrage { background-image:url('../images/icons/tvrage.png'); }
|
||||
div.icon_check { background-image:url('../images/icons/check.png'); }
|
||||
div.icon_nzbvortex { background-image: url('../images/icons/vortex/bigsmile.png'); }
|
||||
div.icon_nzbvortex_clicked { background-image: url('../images/icons/vortex/bigsmiledown.png'); }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
ColorBox Core Style
|
||||
The following rules are the styles that are consistant between themes.
|
||||
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
||||
*/
|
||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
|
||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||
#cboxContent{position:relative; overflow:visible;}
|
||||
#cboxLoadedContent{overflow:auto;}
|
||||
#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;}
|
||||
#cboxTitle{margin:0;}
|
||||
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;}
|
||||
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
||||
|
||||
#cboxOverlay{background:#fff;}
|
||||
|
||||
#colorbox{}
|
||||
#cboxTopLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) 0 0 no-repeat;}
|
||||
#cboxTopCenter{height:25px; background:url(../images/colorbox/border1.png) 0 -50px repeat-x;}
|
||||
#cboxTopRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) -25px 0 no-repeat;}
|
||||
#cboxBottomLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) 0 -25px no-repeat;}
|
||||
#cboxBottomCenter{height:25px; background:url(../images/colorbox/border1.png) 0 -75px repeat-x;}
|
||||
#cboxBottomRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) -25px -25px no-repeat;}
|
||||
#cboxMiddleLeft{width:25px; background:url(../images/colorbox/border2.png) 0 0 repeat-y;}
|
||||
#cboxMiddleRight{width:25px; background:url(../images/colorbox/border2.png) -25px 0 repeat-y;}
|
||||
#cboxContent{background:#fff;}
|
||||
#cboxLoadedContent{background:#fff; margin-top:32px; padding:1px; }
|
||||
#cboxLoadingOverlay{background:#fff;}
|
||||
#cboxTitle{position:absolute; font-size:125%; top:-2px; left:0; color:#000; }
|
||||
#cboxCurrent{position:absolute; top:-1px; right:205px; text-indent:-9999px;}
|
||||
#cboxSlideshow, #cboxPrevious, #cboxNext, #cboxClose{text-indent:-9999px; width:20px; height:20px; position:absolute; top:-1px; background:url(../images/colorbox/controls.png) 0 0 no-repeat;}
|
||||
#cboxPrevious{background-position:0px 0px; right:44px;}
|
||||
#cboxPrevious.hover{background-position:0px -25px;}
|
||||
#cboxNext{background-position:-25px 0px; right:22px;}
|
||||
#cboxNext.hover{background-position:-25px -25px;}
|
||||
#cboxClose{background-position:-50px 0px; right:0;}
|
||||
#cboxClose.hover{background-position:-50px -25px;}
|
||||
.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
|
||||
.cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
|
||||
.cboxSlideshow_on #cboxSlideshow.hover{background-position:-100px -25px;}
|
||||
.cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
|
||||
.cboxSlideshow_off #cboxSlideshow.hover{background-position:-75px -25px;}
|
||||
|
||||
/*
|
||||
The following fixes png-transparency for IE6.
|
||||
*/
|
||||
.cboxIE #cboxTopLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderTopLeft.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxTopCenter{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderTopCenter.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxTopRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderTopRight.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxBottomLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderBottomLeft.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxBottomCenter{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderBottomCenter.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxBottomRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderBottomRight.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxMiddleLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderMiddleLeft.png, sizingMethod='scale');}
|
||||
.cboxIE #cboxMiddleRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/colorbox/internet_explorer/borderMiddleRight.png, sizingMethod='scale');}
|
||||
|
||||
/*
|
||||
Use colorbox example 2 css for movieinfo popups
|
||||
*/
|
||||
.cboxMovie{}
|
||||
.cboxMovie #cboxContent{margin-top:32px; background: transparent;}
|
||||
.cboxMovie #cboxTopLeft{display:none;}
|
||||
.cboxMovie #cboxTopCenter{display:none;}
|
||||
.cboxMovie #cboxTopRight{display:none;}
|
||||
.cboxMovie #cboxBottomLeft{display:none;}
|
||||
.cboxMovie #cboxBottomCenter{display:none;}
|
||||
.cboxMovie #cboxBottomRight{display:none;}
|
||||
.cboxMovie #cboxMiddleLeft{display:none;}
|
||||
.cboxMovie #cboxMiddleRight{display:none;}
|
||||
.cboxMovie #cboxLoadedContent{margin-top: 5px; background:#888; padding:1px;}
|
||||
.cboxMovie #cboxLoadingGraphic{background:url(../images/loading.gif) center center no-repeat;}
|
||||
.cboxMovie #cboxLoadingOverlay{background:#000;}
|
||||
.cboxMovie #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
|
||||
.cboxMovie #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
|
||||
.cboxMovie #cboxSlideshow, .cboxMovie #cboxPrevious, .cboxMovie #cboxNext, .cboxMovie #cboxClose{text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(../images/colorbox/controls2.png) 0 0 no-repeat;}
|
||||
.cboxMovie #cboxPrevious{background-position:0px 0px; right:44px;}
|
||||
.cboxMovie #cboxPrevious.hover{background-position:0px -25px;}
|
||||
.cboxMovie #cboxNext{background-position:-25px 0px; right:22px;}
|
||||
.cboxMovie #cboxNext.hover{background-position:-25px -25px;}
|
||||
.cboxMovie #cboxClose{background-position:-50px 0px; right:0;}
|
||||
.cboxMovie #cboxClose.hover{background-position:-50px -25px;}
|
||||
.cboxMovie .cboxSlideshow_on #cboxPrevious, .cboxMovie .cboxSlideshow_off #cboxPrevious{right:66px;}
|
||||
.cboxMovie .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
|
||||
.cboxMovie .cboxSlideshow_on #cboxSlideshow.hover{background-position:-100px -25px;}
|
||||
.cboxMovie .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
|
||||
.cboxMovie .cboxSlideshow_off #cboxSlideshow.hover{background-position:-75px -25px;}
|
||||
|
||||
|
||||
@@ -1,829 +0,0 @@
|
||||
/*
|
||||
* jQuery Pines Notify (pnotify) Plugin 1.2.0
|
||||
*
|
||||
* http://pinesframework.org/pnotify/
|
||||
* Copyright (c) 2009-2012 Hunter Perrin
|
||||
*
|
||||
* Triple license under the GPL, LGPL, and MPL:
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
* http://www.gnu.org/licenses/lgpl.html
|
||||
* http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
var history_handle_top,
|
||||
timer,
|
||||
body,
|
||||
jwindow = $(window),
|
||||
styling = {
|
||||
jqueryui: {
|
||||
container: "ui-widget ui-widget-content ui-corner-all",
|
||||
notice: "ui-state-highlight",
|
||||
// (The actual jQUI notice icon looks terrible.)
|
||||
notice_icon: "ui-icon ui-icon-info",
|
||||
info: "",
|
||||
info_icon: "ui-icon ui-icon-info",
|
||||
success: "ui-state-default",
|
||||
success_icon: "ui-icon ui-icon-circle-check",
|
||||
error: "ui-state-error",
|
||||
error_icon: "ui-icon ui-icon-alert",
|
||||
closer: "ui-icon ui-icon-close",
|
||||
pin_up: "ui-icon ui-icon-pin-w",
|
||||
pin_down: "ui-icon ui-icon-pin-s",
|
||||
hi_menu: "ui-state-default ui-corner-bottom",
|
||||
hi_btn: "ui-state-default ui-corner-all",
|
||||
hi_btnhov: "ui-state-hover",
|
||||
hi_hnd: "ui-icon ui-icon-grip-dotted-horizontal"
|
||||
},
|
||||
bootstrap: {
|
||||
container: "alert",
|
||||
notice: "",
|
||||
notice_icon: "icon-exclamation-sign",
|
||||
info: "alert-info",
|
||||
info_icon: "icon-info-sign",
|
||||
success: "alert-success",
|
||||
success_icon: "icon-ok-sign",
|
||||
error: "alert-error",
|
||||
error_icon: "icon-warning-sign",
|
||||
closer: "icon-remove",
|
||||
pin_up: "icon-pause",
|
||||
pin_down: "icon-play",
|
||||
hi_menu: "well",
|
||||
hi_btn: "btn",
|
||||
hi_btnhov: "",
|
||||
hi_hnd: "icon-chevron-down"
|
||||
}
|
||||
};
|
||||
// Set global variables.
|
||||
var do_when_ready = function(){
|
||||
body = $("body");
|
||||
jwindow = $(window);
|
||||
// Reposition the notices when the window resizes.
|
||||
jwindow.bind('resize', function(){
|
||||
if (timer)
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout($.pnotify_position_all, 10);
|
||||
});
|
||||
};
|
||||
if (document.body)
|
||||
do_when_ready();
|
||||
else
|
||||
$(do_when_ready);
|
||||
$.extend({
|
||||
pnotify_remove_all: function () {
|
||||
var notices_data = jwindow.data("pnotify");
|
||||
/* POA: Added null-check */
|
||||
if (notices_data && notices_data.length) {
|
||||
$.each(notices_data, function(){
|
||||
if (this.pnotify_remove)
|
||||
this.pnotify_remove();
|
||||
});
|
||||
}
|
||||
},
|
||||
pnotify_position_all: function () {
|
||||
// This timer is used for queueing this function so it doesn't run
|
||||
// repeatedly.
|
||||
if (timer)
|
||||
clearTimeout(timer);
|
||||
timer = null;
|
||||
// Get all the notices.
|
||||
var notices_data = jwindow.data("pnotify");
|
||||
if (!notices_data || !notices_data.length)
|
||||
return;
|
||||
// Reset the next position data.
|
||||
$.each(notices_data, function(){
|
||||
var s = this.opts.stack;
|
||||
if (!s) return;
|
||||
s.nextpos1 = s.firstpos1;
|
||||
s.nextpos2 = s.firstpos2;
|
||||
s.addpos2 = 0;
|
||||
s.animation = true;
|
||||
});
|
||||
$.each(notices_data, function(){
|
||||
this.pnotify_position();
|
||||
});
|
||||
},
|
||||
pnotify: function(options) {
|
||||
// Stores what is currently being animated (in or out).
|
||||
var animating;
|
||||
|
||||
// Build main options.
|
||||
var opts;
|
||||
if (typeof options != "object") {
|
||||
opts = $.extend({}, $.pnotify.defaults);
|
||||
opts.text = options;
|
||||
} else {
|
||||
opts = $.extend({}, $.pnotify.defaults, options);
|
||||
}
|
||||
// Translate old pnotify_ style options.
|
||||
for (var i in opts) {
|
||||
if (typeof i == "string" && i.match(/^pnotify_/))
|
||||
opts[i.replace(/^pnotify_/, "")] = opts[i];
|
||||
}
|
||||
|
||||
if (opts.before_init) {
|
||||
if (opts.before_init(opts) === false)
|
||||
return null;
|
||||
}
|
||||
|
||||
// This keeps track of the last element the mouse was over, so
|
||||
// mouseleave, mouseenter, etc can be called.
|
||||
var nonblock_last_elem;
|
||||
// This is used to pass events through the notice if it is non-blocking.
|
||||
var nonblock_pass = function(e, e_name){
|
||||
pnotify.css("display", "none");
|
||||
var element_below = document.elementFromPoint(e.clientX, e.clientY);
|
||||
pnotify.css("display", "block");
|
||||
var jelement_below = $(element_below);
|
||||
var cursor_style = jelement_below.css("cursor");
|
||||
pnotify.css("cursor", cursor_style != "auto" ? cursor_style : "default");
|
||||
// If the element changed, call mouseenter, mouseleave, etc.
|
||||
if (!nonblock_last_elem || nonblock_last_elem.get(0) != element_below) {
|
||||
if (nonblock_last_elem) {
|
||||
dom_event.call(nonblock_last_elem.get(0), "mouseleave", e.originalEvent);
|
||||
dom_event.call(nonblock_last_elem.get(0), "mouseout", e.originalEvent);
|
||||
}
|
||||
dom_event.call(element_below, "mouseenter", e.originalEvent);
|
||||
dom_event.call(element_below, "mouseover", e.originalEvent);
|
||||
}
|
||||
dom_event.call(element_below, e_name, e.originalEvent);
|
||||
// Remember the latest element the mouse was over.
|
||||
nonblock_last_elem = jelement_below;
|
||||
};
|
||||
|
||||
// Get our styling object.
|
||||
var styles = styling[opts.styling];
|
||||
|
||||
// Create our widget.
|
||||
// Stop animation, reset the removal timer, and show the close
|
||||
// button when the user mouses over.
|
||||
var pnotify = $("<div />", {
|
||||
"class": "ui-pnotify "+opts.addclass,
|
||||
"css": {"display": "none"},
|
||||
"mouseenter": function(e){
|
||||
if (opts.nonblock) e.stopPropagation();
|
||||
if (opts.mouse_reset && animating == "out") {
|
||||
// If it's animating out, animate back in really quickly.
|
||||
pnotify.stop(true);
|
||||
animating = "in";
|
||||
pnotify.css("height", "auto").animate({"width": opts.width, "opacity": opts.nonblock ? opts.nonblock_opacity : opts.opacity}, "fast");
|
||||
}
|
||||
if (opts.nonblock) {
|
||||
// If it's non-blocking, animate to the other opacity.
|
||||
pnotify.animate({"opacity": opts.nonblock_opacity}, "fast");
|
||||
}
|
||||
// Stop the close timer.
|
||||
if (opts.hide && opts.mouse_reset) pnotify.pnotify_cancel_remove();
|
||||
// Show the buttons.
|
||||
if (opts.sticker && !opts.nonblock) pnotify.sticker.trigger("pnotify_icon").css("visibility", "visible");
|
||||
if (opts.closer && !opts.nonblock) pnotify.closer.css("visibility", "visible");
|
||||
},
|
||||
"mouseleave": function(e){
|
||||
if (opts.nonblock) e.stopPropagation();
|
||||
nonblock_last_elem = null;
|
||||
pnotify.css("cursor", "auto");
|
||||
// Animate back to the normal opacity.
|
||||
if (opts.nonblock && animating != "out")
|
||||
pnotify.animate({"opacity": opts.opacity}, "fast");
|
||||
// Start the close timer.
|
||||
if (opts.hide && opts.mouse_reset) pnotify.pnotify_queue_remove();
|
||||
// Hide the buttons.
|
||||
if (opts.sticker_hover)
|
||||
pnotify.sticker.css("visibility", "hidden");
|
||||
if (opts.closer_hover)
|
||||
pnotify.closer.css("visibility", "hidden");
|
||||
$.pnotify_position_all();
|
||||
},
|
||||
"mouseover": function(e){
|
||||
if (opts.nonblock) e.stopPropagation();
|
||||
},
|
||||
"mouseout": function(e){
|
||||
if (opts.nonblock) e.stopPropagation();
|
||||
},
|
||||
"mousemove": function(e){
|
||||
if (opts.nonblock) {
|
||||
e.stopPropagation();
|
||||
nonblock_pass(e, "onmousemove");
|
||||
}
|
||||
},
|
||||
"mousedown": function(e){
|
||||
if (opts.nonblock) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
nonblock_pass(e, "onmousedown");
|
||||
}
|
||||
},
|
||||
"mouseup": function(e){
|
||||
if (opts.nonblock) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
nonblock_pass(e, "onmouseup");
|
||||
}
|
||||
},
|
||||
"click": function(e){
|
||||
if (opts.nonblock) {
|
||||
e.stopPropagation();
|
||||
nonblock_pass(e, "onclick");
|
||||
}
|
||||
},
|
||||
"dblclick": function(e){
|
||||
if (opts.nonblock) {
|
||||
e.stopPropagation();
|
||||
nonblock_pass(e, "ondblclick");
|
||||
}
|
||||
}
|
||||
});
|
||||
pnotify.opts = opts;
|
||||
// Create a container for the notice contents.
|
||||
pnotify.container = $("<div />", {"class": styles.container+" ui-pnotify-container "+(opts.type == "error" ? styles.error : (opts.type == "info" ? styles.info : (opts.type == "success" ? styles.success : styles.notice)))})
|
||||
.appendTo(pnotify);
|
||||
if (opts.cornerclass != "")
|
||||
pnotify.container.removeClass("ui-corner-all").addClass(opts.cornerclass);
|
||||
// Create a drop shadow.
|
||||
if (opts.shadow)
|
||||
pnotify.container.addClass("ui-pnotify-shadow");
|
||||
|
||||
// The current version of Pines Notify.
|
||||
pnotify.pnotify_version = "1.2.0";
|
||||
|
||||
// This function is for updating the notice.
|
||||
pnotify.pnotify = function(options) {
|
||||
// Update the notice.
|
||||
var old_opts = opts;
|
||||
if (typeof options == "string")
|
||||
opts.text = options;
|
||||
else
|
||||
opts = $.extend({}, opts, options);
|
||||
// Translate old pnotify_ style options.
|
||||
for (var i in opts) {
|
||||
if (typeof i == "string" && i.match(/^pnotify_/))
|
||||
opts[i.replace(/^pnotify_/, "")] = opts[i];
|
||||
}
|
||||
pnotify.opts = opts;
|
||||
// Update the corner class.
|
||||
if (opts.cornerclass != old_opts.cornerclass)
|
||||
pnotify.container.removeClass("ui-corner-all").addClass(opts.cornerclass);
|
||||
// Update the shadow.
|
||||
if (opts.shadow != old_opts.shadow) {
|
||||
if (opts.shadow)
|
||||
pnotify.container.addClass("ui-pnotify-shadow");
|
||||
else
|
||||
pnotify.container.removeClass("ui-pnotify-shadow");
|
||||
}
|
||||
// Update the additional classes.
|
||||
if (opts.addclass === false)
|
||||
pnotify.removeClass(old_opts.addclass);
|
||||
else if (opts.addclass !== old_opts.addclass)
|
||||
pnotify.removeClass(old_opts.addclass).addClass(opts.addclass);
|
||||
// Update the title.
|
||||
if (opts.title === false)
|
||||
pnotify.title_container.slideUp("fast");
|
||||
else if (opts.title !== old_opts.title) {
|
||||
if (opts.title_escape)
|
||||
pnotify.title_container.text(opts.title).slideDown(200);
|
||||
else
|
||||
pnotify.title_container.html(opts.title).slideDown(200);
|
||||
}
|
||||
// Update the text.
|
||||
if (opts.text === false) {
|
||||
pnotify.text_container.slideUp("fast");
|
||||
} else if (opts.text !== old_opts.text) {
|
||||
if (opts.text_escape)
|
||||
pnotify.text_container.text(opts.text).slideDown(200);
|
||||
else
|
||||
pnotify.text_container.html(opts.insert_brs ? String(opts.text).replace(/\n/g, "<br />") : opts.text).slideDown(200);
|
||||
}
|
||||
// Update values for history menu access.
|
||||
pnotify.pnotify_history = opts.history;
|
||||
pnotify.pnotify_hide = opts.hide;
|
||||
// Change the notice type.
|
||||
if (opts.type != old_opts.type)
|
||||
pnotify.container.removeClass(styles.error+" "+styles.notice+" "+styles.success+" "+styles.info).addClass(opts.type == "error" ? styles.error : (opts.type == "info" ? styles.info : (opts.type == "success" ? styles.success : styles.notice)));
|
||||
if (opts.icon !== old_opts.icon || (opts.icon === true && opts.type != old_opts.type)) {
|
||||
// Remove any old icon.
|
||||
pnotify.container.find("div.ui-pnotify-icon").remove();
|
||||
if (opts.icon !== false) {
|
||||
// Build the new icon.
|
||||
$("<div />", {"class": "ui-pnotify-icon"})
|
||||
.append($("<span />", {"class": opts.icon === true ? (opts.type == "error" ? styles.error_icon : (opts.type == "info" ? styles.info_icon : (opts.type == "success" ? styles.success_icon : styles.notice_icon))) : opts.icon}))
|
||||
.prependTo(pnotify.container);
|
||||
}
|
||||
}
|
||||
// Update the width.
|
||||
if (opts.width !== old_opts.width)
|
||||
pnotify.animate({width: opts.width});
|
||||
// Update the minimum height.
|
||||
if (opts.min_height !== old_opts.min_height)
|
||||
pnotify.container.animate({minHeight: opts.min_height});
|
||||
// Update the opacity.
|
||||
if (opts.opacity !== old_opts.opacity)
|
||||
pnotify.fadeTo(opts.animate_speed, opts.opacity);
|
||||
// Update the sticker and closer buttons.
|
||||
if (!opts.closer || opts.nonblock)
|
||||
pnotify.closer.css("display", "none");
|
||||
else
|
||||
pnotify.closer.css("display", "block");
|
||||
if (!opts.sticker || opts.nonblock)
|
||||
pnotify.sticker.css("display", "none");
|
||||
else
|
||||
pnotify.sticker.css("display", "block");
|
||||
// Update the sticker icon.
|
||||
pnotify.sticker.trigger("pnotify_icon");
|
||||
// Update the hover status of the buttons.
|
||||
if (opts.sticker_hover)
|
||||
pnotify.sticker.css("visibility", "hidden");
|
||||
else if (!opts.nonblock)
|
||||
pnotify.sticker.css("visibility", "visible");
|
||||
if (opts.closer_hover)
|
||||
pnotify.closer.css("visibility", "hidden");
|
||||
else if (!opts.nonblock)
|
||||
pnotify.closer.css("visibility", "visible");
|
||||
// Update the timed hiding.
|
||||
if (!opts.hide)
|
||||
pnotify.pnotify_cancel_remove();
|
||||
else if (!old_opts.hide)
|
||||
pnotify.pnotify_queue_remove();
|
||||
pnotify.pnotify_queue_position();
|
||||
return pnotify;
|
||||
};
|
||||
|
||||
// Position the notice. dont_skip_hidden causes the notice to
|
||||
// position even if it's not visible.
|
||||
pnotify.pnotify_position = function(dont_skip_hidden){
|
||||
// Get the notice's stack.
|
||||
var s = pnotify.opts.stack;
|
||||
if (!s) return;
|
||||
if (!s.nextpos1)
|
||||
s.nextpos1 = s.firstpos1;
|
||||
if (!s.nextpos2)
|
||||
s.nextpos2 = s.firstpos2;
|
||||
if (!s.addpos2)
|
||||
s.addpos2 = 0;
|
||||
var hidden = pnotify.css("display") == "none";
|
||||
// Skip this notice if it's not shown.
|
||||
if (!hidden || dont_skip_hidden) {
|
||||
var curpos1, curpos2;
|
||||
// Store what will need to be animated.
|
||||
var animate = {};
|
||||
// Calculate the current pos1 value.
|
||||
var csspos1;
|
||||
switch (s.dir1) {
|
||||
case "down":
|
||||
csspos1 = "top";
|
||||
break;
|
||||
case "up":
|
||||
csspos1 = "bottom";
|
||||
break;
|
||||
case "left":
|
||||
csspos1 = "right";
|
||||
break;
|
||||
case "right":
|
||||
csspos1 = "left";
|
||||
break;
|
||||
}
|
||||
curpos1 = parseInt(pnotify.css(csspos1));
|
||||
if (isNaN(curpos1))
|
||||
curpos1 = 0;
|
||||
// Remember the first pos1, so the first visible notice goes there.
|
||||
if (typeof s.firstpos1 == "undefined" && !hidden) {
|
||||
s.firstpos1 = curpos1;
|
||||
s.nextpos1 = s.firstpos1;
|
||||
}
|
||||
// Calculate the current pos2 value.
|
||||
var csspos2;
|
||||
switch (s.dir2) {
|
||||
case "down":
|
||||
csspos2 = "top";
|
||||
break;
|
||||
case "up":
|
||||
csspos2 = "bottom";
|
||||
break;
|
||||
case "left":
|
||||
csspos2 = "right";
|
||||
break;
|
||||
case "right":
|
||||
csspos2 = "left";
|
||||
break;
|
||||
}
|
||||
curpos2 = parseInt(pnotify.css(csspos2));
|
||||
if (isNaN(curpos2))
|
||||
curpos2 = 0;
|
||||
// Remember the first pos2, so the first visible notice goes there.
|
||||
if (typeof s.firstpos2 == "undefined" && !hidden) {
|
||||
s.firstpos2 = curpos2;
|
||||
s.nextpos2 = s.firstpos2;
|
||||
}
|
||||
// Check that it's not beyond the viewport edge.
|
||||
if ((s.dir1 == "down" && s.nextpos1 + pnotify.height() > jwindow.height()) ||
|
||||
(s.dir1 == "up" && s.nextpos1 + pnotify.height() > jwindow.height()) ||
|
||||
(s.dir1 == "left" && s.nextpos1 + pnotify.width() > jwindow.width()) ||
|
||||
(s.dir1 == "right" && s.nextpos1 + pnotify.width() > jwindow.width()) ) {
|
||||
// If it is, it needs to go back to the first pos1, and over on pos2.
|
||||
s.nextpos1 = s.firstpos1;
|
||||
s.nextpos2 += s.addpos2 + (typeof s.spacing2 == "undefined" ? 25 : s.spacing2);
|
||||
s.addpos2 = 0;
|
||||
}
|
||||
// Animate if we're moving on dir2.
|
||||
if (s.animation && s.nextpos2 < curpos2) {
|
||||
switch (s.dir2) {
|
||||
case "down":
|
||||
animate.top = s.nextpos2+"px";
|
||||
break;
|
||||
case "up":
|
||||
animate.bottom = s.nextpos2+"px";
|
||||
break;
|
||||
case "left":
|
||||
animate.right = s.nextpos2+"px";
|
||||
break;
|
||||
case "right":
|
||||
animate.left = s.nextpos2+"px";
|
||||
break;
|
||||
}
|
||||
} else
|
||||
pnotify.css(csspos2, s.nextpos2+"px");
|
||||
// Keep track of the widest/tallest notice in the column/row, so we can push the next column/row.
|
||||
switch (s.dir2) {
|
||||
case "down":
|
||||
case "up":
|
||||
if (pnotify.outerHeight(true) > s.addpos2)
|
||||
s.addpos2 = pnotify.height();
|
||||
break;
|
||||
case "left":
|
||||
case "right":
|
||||
if (pnotify.outerWidth(true) > s.addpos2)
|
||||
s.addpos2 = pnotify.width();
|
||||
break;
|
||||
}
|
||||
// Move the notice on dir1.
|
||||
if (s.nextpos1) {
|
||||
// Animate if we're moving toward the first pos.
|
||||
if (s.animation && (curpos1 > s.nextpos1 || animate.top || animate.bottom || animate.right || animate.left)) {
|
||||
switch (s.dir1) {
|
||||
case "down":
|
||||
animate.top = s.nextpos1+"px";
|
||||
break;
|
||||
case "up":
|
||||
animate.bottom = s.nextpos1+"px";
|
||||
break;
|
||||
case "left":
|
||||
animate.right = s.nextpos1+"px";
|
||||
break;
|
||||
case "right":
|
||||
animate.left = s.nextpos1+"px";
|
||||
break;
|
||||
}
|
||||
} else
|
||||
pnotify.css(csspos1, s.nextpos1+"px");
|
||||
}
|
||||
// Run the animation.
|
||||
if (animate.top || animate.bottom || animate.right || animate.left)
|
||||
pnotify.animate(animate, {duration: 500, queue: false});
|
||||
// Calculate the next dir1 position.
|
||||
switch (s.dir1) {
|
||||
case "down":
|
||||
case "up":
|
||||
s.nextpos1 += pnotify.height() + (typeof s.spacing1 == "undefined" ? 25 : s.spacing1);
|
||||
break;
|
||||
case "left":
|
||||
case "right":
|
||||
s.nextpos1 += pnotify.width() + (typeof s.spacing1 == "undefined" ? 25 : s.spacing1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Queue the positiona all function so it doesn't run repeatedly and
|
||||
// use up resources.
|
||||
pnotify.pnotify_queue_position = function(milliseconds){
|
||||
if (timer)
|
||||
clearTimeout(timer);
|
||||
if (!milliseconds)
|
||||
milliseconds = 10;
|
||||
timer = setTimeout($.pnotify_position_all, milliseconds);
|
||||
};
|
||||
|
||||
// Display the notice.
|
||||
pnotify.pnotify_display = function() {
|
||||
// If the notice is not in the DOM, append it.
|
||||
if (!pnotify.parent().length)
|
||||
pnotify.appendTo(body);
|
||||
// Run callback.
|
||||
if (opts.before_open) {
|
||||
if (opts.before_open(pnotify) === false)
|
||||
return;
|
||||
}
|
||||
// Try to put it in the right position.
|
||||
if (opts.stack.push != "top")
|
||||
pnotify.pnotify_position(true);
|
||||
// First show it, then set its opacity, then hide it.
|
||||
if (opts.animation == "fade" || opts.animation.effect_in == "fade") {
|
||||
// If it's fading in, it should start at 0.
|
||||
pnotify.show().fadeTo(0, 0).hide();
|
||||
} else {
|
||||
// Or else it should be set to the opacity.
|
||||
if (opts.opacity != 1)
|
||||
pnotify.show().fadeTo(0, opts.opacity).hide();
|
||||
}
|
||||
pnotify.animate_in(function(){
|
||||
if (opts.after_open)
|
||||
opts.after_open(pnotify);
|
||||
|
||||
pnotify.pnotify_queue_position();
|
||||
|
||||
// Now set it to hide.
|
||||
if (opts.hide)
|
||||
pnotify.pnotify_queue_remove();
|
||||
});
|
||||
};
|
||||
|
||||
// Remove the notice.
|
||||
pnotify.pnotify_remove = function() {
|
||||
if (pnotify.timer) {
|
||||
window.clearTimeout(pnotify.timer);
|
||||
pnotify.timer = null;
|
||||
}
|
||||
// Run callback.
|
||||
if (opts.before_close) {
|
||||
if (opts.before_close(pnotify) === false)
|
||||
return;
|
||||
}
|
||||
pnotify.animate_out(function(){
|
||||
if (opts.after_close) {
|
||||
if (opts.after_close(pnotify) === false)
|
||||
return;
|
||||
}
|
||||
pnotify.pnotify_queue_position();
|
||||
// If we're supposed to remove the notice from the DOM, do it.
|
||||
if (opts.remove)
|
||||
pnotify.detach();
|
||||
});
|
||||
};
|
||||
|
||||
// Animate the notice in.
|
||||
pnotify.animate_in = function(callback){
|
||||
// Declare that the notice is animating in. (Or has completed animating in.)
|
||||
animating = "in";
|
||||
var animation;
|
||||
if (typeof opts.animation.effect_in != "undefined")
|
||||
animation = opts.animation.effect_in;
|
||||
else
|
||||
animation = opts.animation;
|
||||
if (animation == "none") {
|
||||
pnotify.show();
|
||||
callback();
|
||||
} else if (animation == "show")
|
||||
pnotify.show(opts.animate_speed, callback);
|
||||
else if (animation == "fade")
|
||||
pnotify.show().fadeTo(opts.animate_speed, opts.opacity, callback);
|
||||
else if (animation == "slide")
|
||||
pnotify.slideDown(opts.animate_speed, callback);
|
||||
else if (typeof animation == "function")
|
||||
animation("in", callback, pnotify);
|
||||
else
|
||||
pnotify.show(animation, (typeof opts.animation.options_in == "object" ? opts.animation.options_in : {}), opts.animate_speed, callback);
|
||||
};
|
||||
|
||||
// Animate the notice out.
|
||||
pnotify.animate_out = function(callback){
|
||||
// Declare that the notice is animating out. (Or has completed animating out.)
|
||||
animating = "out";
|
||||
var animation;
|
||||
if (typeof opts.animation.effect_out != "undefined")
|
||||
animation = opts.animation.effect_out;
|
||||
else
|
||||
animation = opts.animation;
|
||||
if (animation == "none") {
|
||||
pnotify.hide();
|
||||
callback();
|
||||
} else if (animation == "show")
|
||||
pnotify.hide(opts.animate_speed, callback);
|
||||
else if (animation == "fade")
|
||||
pnotify.fadeOut(opts.animate_speed, callback);
|
||||
else if (animation == "slide")
|
||||
pnotify.slideUp(opts.animate_speed, callback);
|
||||
else if (typeof animation == "function")
|
||||
animation("out", callback, pnotify);
|
||||
else
|
||||
pnotify.hide(animation, (typeof opts.animation.options_out == "object" ? opts.animation.options_out : {}), opts.animate_speed, callback);
|
||||
};
|
||||
|
||||
// Cancel any pending removal timer.
|
||||
pnotify.pnotify_cancel_remove = function() {
|
||||
if (pnotify.timer)
|
||||
window.clearTimeout(pnotify.timer);
|
||||
};
|
||||
|
||||
// Queue a removal timer.
|
||||
pnotify.pnotify_queue_remove = function() {
|
||||
// Cancel any current removal timer.
|
||||
pnotify.pnotify_cancel_remove();
|
||||
pnotify.timer = window.setTimeout(function(){
|
||||
pnotify.pnotify_remove();
|
||||
}, (isNaN(opts.delay) ? 0 : opts.delay));
|
||||
};
|
||||
|
||||
// Provide a button to close the notice.
|
||||
pnotify.closer = $("<div />", {
|
||||
"class": "ui-pnotify-closer",
|
||||
"css": {"cursor": "pointer", "visibility": opts.closer_hover ? "hidden" : "visible"},
|
||||
"click": function(){
|
||||
pnotify.pnotify_remove();
|
||||
pnotify.sticker.css("visibility", "hidden");
|
||||
pnotify.closer.css("visibility", "hidden");
|
||||
}
|
||||
})
|
||||
.append($("<span />", {"class": styles.closer}))
|
||||
.appendTo(pnotify.container);
|
||||
if (!opts.closer || opts.nonblock)
|
||||
pnotify.closer.css("display", "none");
|
||||
|
||||
// Provide a button to stick the notice.
|
||||
pnotify.sticker = $("<div />", {
|
||||
"class": "ui-pnotify-sticker",
|
||||
"css": {"cursor": "pointer", "visibility": opts.sticker_hover ? "hidden" : "visible"},
|
||||
"click": function(){
|
||||
opts.hide = !opts.hide;
|
||||
if (opts.hide)
|
||||
pnotify.pnotify_queue_remove();
|
||||
else
|
||||
pnotify.pnotify_cancel_remove();
|
||||
$(this).trigger("pnotify_icon");
|
||||
}
|
||||
})
|
||||
.bind("pnotify_icon", function(){
|
||||
$(this).children().removeClass(styles.pin_up+" "+styles.pin_down).addClass(opts.hide ? styles.pin_up : styles.pin_down);
|
||||
})
|
||||
.append($("<span />", {"class": styles.pin_up}))
|
||||
.appendTo(pnotify.container);
|
||||
if (!opts.sticker || opts.nonblock)
|
||||
pnotify.sticker.css("display", "none");
|
||||
|
||||
// Add the appropriate icon.
|
||||
if (opts.icon !== false) {
|
||||
$("<div />", {"class": "ui-pnotify-icon"})
|
||||
.append($("<span />", {"class": opts.icon === true ? (opts.type == "error" ? styles.error_icon : (opts.type == "info" ? styles.info_icon : (opts.type == "success" ? styles.success_icon : styles.notice_icon))) : opts.icon}))
|
||||
.prependTo(pnotify.container);
|
||||
}
|
||||
|
||||
// Add a title.
|
||||
pnotify.title_container = $("<h4 />", {
|
||||
"class": "ui-pnotify-title"
|
||||
})
|
||||
.appendTo(pnotify.container);
|
||||
if (opts.title === false)
|
||||
pnotify.title_container.hide();
|
||||
else if (opts.title_escape)
|
||||
pnotify.title_container.text(opts.title);
|
||||
else
|
||||
pnotify.title_container.html(opts.title);
|
||||
|
||||
// Add text.
|
||||
pnotify.text_container = $("<div />", {
|
||||
"class": "ui-pnotify-text"
|
||||
})
|
||||
.appendTo(pnotify.container);
|
||||
if (opts.text === false)
|
||||
pnotify.text_container.hide();
|
||||
else if (opts.text_escape)
|
||||
pnotify.text_container.text(opts.text);
|
||||
else
|
||||
pnotify.text_container.html(opts.insert_brs ? String(opts.text).replace(/\n/g, "<br />") : opts.text);
|
||||
|
||||
// Set width and min height.
|
||||
if (typeof opts.width == "string")
|
||||
pnotify.css("width", opts.width);
|
||||
if (typeof opts.min_height == "string")
|
||||
pnotify.container.css("min-height", opts.min_height);
|
||||
|
||||
// The history variable controls whether the notice gets redisplayed
|
||||
// by the history pull down.
|
||||
pnotify.pnotify_history = opts.history;
|
||||
// The hide variable controls whether the history pull down should
|
||||
// queue a removal timer.
|
||||
pnotify.pnotify_hide = opts.hide;
|
||||
|
||||
// Add the notice to the notice array.
|
||||
var notices_data = jwindow.data("pnotify");
|
||||
if (notices_data == null || typeof notices_data != "object")
|
||||
notices_data = [];
|
||||
if (opts.stack.push == "top")
|
||||
notices_data = $.merge([pnotify], notices_data);
|
||||
else
|
||||
notices_data = $.merge(notices_data, [pnotify]);
|
||||
jwindow.data("pnotify", notices_data);
|
||||
// Now position all the notices if they are to push to the top.
|
||||
if (opts.stack.push == "top")
|
||||
pnotify.pnotify_queue_position(1);
|
||||
|
||||
// Run callback.
|
||||
if (opts.after_init)
|
||||
opts.after_init(pnotify);
|
||||
|
||||
// Mark the stack so it won't animate the new notice.
|
||||
opts.stack.animation = false;
|
||||
|
||||
// Display the notice.
|
||||
pnotify.pnotify_display();
|
||||
|
||||
return pnotify;
|
||||
}
|
||||
});
|
||||
|
||||
// Some useful regexes.
|
||||
var re_on = /^on/,
|
||||
re_mouse_events = /^(dbl)?click$|^mouse(move|down|up|over|out|enter|leave)$|^contextmenu$/,
|
||||
re_ui_events = /^(focus|blur|select|change|reset)$|^key(press|down|up)$/,
|
||||
re_html_events = /^(scroll|resize|(un)?load|abort|error)$/;
|
||||
// Fire a DOM event.
|
||||
var dom_event = function(e, orig_e){
|
||||
var event_object;
|
||||
e = e.toLowerCase();
|
||||
if (document.createEvent && this.dispatchEvent) {
|
||||
// FireFox, Opera, Safari, Chrome
|
||||
e = e.replace(re_on, '');
|
||||
if (e.match(re_mouse_events)) {
|
||||
// This allows the click event to fire on the notice. There is
|
||||
// probably a much better way to do it.
|
||||
$(this).offset();
|
||||
event_object = document.createEvent("MouseEvents");
|
||||
event_object.initMouseEvent(
|
||||
e, orig_e.bubbles, orig_e.cancelable, orig_e.view, orig_e.detail,
|
||||
orig_e.screenX, orig_e.screenY, orig_e.clientX, orig_e.clientY,
|
||||
orig_e.ctrlKey, orig_e.altKey, orig_e.shiftKey, orig_e.metaKey, orig_e.button, orig_e.relatedTarget
|
||||
);
|
||||
} else if (e.match(re_ui_events)) {
|
||||
event_object = document.createEvent("UIEvents");
|
||||
event_object.initUIEvent(e, orig_e.bubbles, orig_e.cancelable, orig_e.view, orig_e.detail);
|
||||
} else if (e.match(re_html_events)) {
|
||||
event_object = document.createEvent("HTMLEvents");
|
||||
event_object.initEvent(e, orig_e.bubbles, orig_e.cancelable);
|
||||
}
|
||||
if (!event_object) return;
|
||||
this.dispatchEvent(event_object);
|
||||
} else {
|
||||
// Internet Explorer
|
||||
if (!e.match(re_on)) e = "on"+e;
|
||||
event_object = document.createEventObject(orig_e);
|
||||
this.fireEvent(e, event_object);
|
||||
}
|
||||
};
|
||||
|
||||
$.pnotify.defaults = {
|
||||
// The notice's title.
|
||||
title: false,
|
||||
// Whether to escape the content of the title. (Not allow HTML.)
|
||||
title_escape: false,
|
||||
// The notice's text.
|
||||
text: false,
|
||||
// Whether to escape the content of the text. (Not allow HTML.)
|
||||
text_escape: false,
|
||||
// What styling classes to use. (Can be either jqueryui or bootstrap.)
|
||||
styling: "bootstrap",
|
||||
// Additional classes to be added to the notice. (For custom styling.)
|
||||
addclass: "",
|
||||
// Class to be added to the notice for corner styling.
|
||||
cornerclass: "",
|
||||
// Create a non-blocking notice. It lets the user click elements underneath it.
|
||||
nonblock: false,
|
||||
// The opacity of the notice (if it's non-blocking) when the mouse is over it.
|
||||
nonblock_opacity: .2,
|
||||
// Display a pull down menu to redisplay previous notices, and place the notice in the history.
|
||||
history: true,
|
||||
// Width of the notice.
|
||||
width: "300px",
|
||||
// Minimum height of the notice. It will expand to fit content.
|
||||
min_height: "16px",
|
||||
// Type of the notice. "notice", "info", "success", or "error".
|
||||
type: "notice",
|
||||
// Set icon to true to use the default icon for the selected style/type, false for no icon, or a string for your own icon class.
|
||||
icon: true,
|
||||
// The animation to use when displaying and hiding the notice. "none", "show", "fade", and "slide" are built in to jQuery. Others require jQuery UI. Use an object with effect_in and effect_out to use different effects.
|
||||
animation: "fade",
|
||||
// Speed at which the notice animates in and out. "slow", "def" or "normal", "fast" or number of milliseconds.
|
||||
animate_speed: "slow",
|
||||
// Opacity of the notice.
|
||||
opacity: 1,
|
||||
// Display a drop shadow.
|
||||
shadow: true,
|
||||
// Provide a button for the user to manually close the notice.
|
||||
closer: true,
|
||||
// Only show the closer button on hover.
|
||||
closer_hover: true,
|
||||
// Provide a button for the user to manually stick the notice.
|
||||
sticker: true,
|
||||
// Only show the sticker button on hover.
|
||||
sticker_hover: true,
|
||||
// After a delay, remove the notice.
|
||||
hide: true,
|
||||
// Delay in milliseconds before the notice is removed.
|
||||
delay: 2000,
|
||||
// Reset the hide timer if the mouse moves over the notice.
|
||||
mouse_reset: true,
|
||||
// Remove the notice's elements from the DOM after it is removed.
|
||||
remove: true,
|
||||
// Change new lines to br tags.
|
||||
insert_brs: true,
|
||||
// The stack on which the notices will be placed. Also controls the direction the notices stack.
|
||||
stack: {"dir1": "down", "dir2": "left", "push": "bottom", "spacing1": 25, "spacing2": 25}
|
||||
};
|
||||
})(jQuery);
|
||||
@@ -1,476 +0,0 @@
|
||||
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
||||
* @license MIT */
|
||||
|
||||
;(function(root, factory) {
|
||||
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(factory);
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory();
|
||||
} else {
|
||||
root.NProgress = factory();
|
||||
}
|
||||
|
||||
})(this, function() {
|
||||
var NProgress = {};
|
||||
|
||||
NProgress.version = '0.1.6';
|
||||
|
||||
var Settings = NProgress.settings = {
|
||||
minimum: 0.08,
|
||||
easing: 'ease',
|
||||
positionUsing: '',
|
||||
speed: 200,
|
||||
trickle: true,
|
||||
trickleRate: 0.02,
|
||||
trickleSpeed: 800,
|
||||
showSpinner: true,
|
||||
barSelector: '[role="bar"]',
|
||||
spinnerSelector: '[role="spinner"]',
|
||||
parent: 'body',
|
||||
template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
|
||||
};
|
||||
|
||||
/**
|
||||
* Updates configuration.
|
||||
*
|
||||
* NProgress.configure({
|
||||
* minimum: 0.1
|
||||
* });
|
||||
*/
|
||||
NProgress.configure = function(options) {
|
||||
var key, value;
|
||||
for (key in options) {
|
||||
value = options[key];
|
||||
if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Last number.
|
||||
*/
|
||||
|
||||
NProgress.status = null;
|
||||
|
||||
/**
|
||||
* Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.
|
||||
*
|
||||
* NProgress.set(0.4);
|
||||
* NProgress.set(1.0);
|
||||
*/
|
||||
|
||||
NProgress.set = function(n) {
|
||||
var started = NProgress.isStarted();
|
||||
|
||||
n = clamp(n, Settings.minimum, 1);
|
||||
NProgress.status = (n === 1 ? null : n);
|
||||
|
||||
var progress = NProgress.render(!started),
|
||||
bar = progress.querySelector(Settings.barSelector),
|
||||
speed = Settings.speed,
|
||||
ease = Settings.easing;
|
||||
|
||||
progress.offsetWidth; /* Repaint */
|
||||
|
||||
queue(function(next) {
|
||||
// Set positionUsing if it hasn't already been set
|
||||
if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();
|
||||
|
||||
// Add transition
|
||||
css(bar, barPositionCSS(n, speed, ease));
|
||||
|
||||
if (n === 1) {
|
||||
// Fade out
|
||||
css(progress, {
|
||||
transition: 'none',
|
||||
opacity: 1
|
||||
});
|
||||
progress.offsetWidth; /* Repaint */
|
||||
|
||||
setTimeout(function() {
|
||||
css(progress, {
|
||||
transition: 'all ' + speed + 'ms linear',
|
||||
opacity: 0
|
||||
});
|
||||
setTimeout(function() {
|
||||
NProgress.remove();
|
||||
next();
|
||||
}, speed);
|
||||
}, speed);
|
||||
} else {
|
||||
setTimeout(next, speed);
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
NProgress.isStarted = function() {
|
||||
return typeof NProgress.status === 'number';
|
||||
};
|
||||
|
||||
/**
|
||||
* Shows the progress bar.
|
||||
* This is the same as setting the status to 0%, except that it doesn't go backwards.
|
||||
*
|
||||
* NProgress.start();
|
||||
*
|
||||
*/
|
||||
NProgress.start = function() {
|
||||
if (!NProgress.status) NProgress.set(0);
|
||||
|
||||
var work = function() {
|
||||
setTimeout(function() {
|
||||
if (!NProgress.status) return;
|
||||
NProgress.trickle();
|
||||
work();
|
||||
}, Settings.trickleSpeed);
|
||||
};
|
||||
|
||||
if (Settings.trickle) work();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Hides the progress bar.
|
||||
* This is the *sort of* the same as setting the status to 100%, with the
|
||||
* difference being `done()` makes some placebo effect of some realistic motion.
|
||||
*
|
||||
* NProgress.done();
|
||||
*
|
||||
* If `true` is passed, it will show the progress bar even if its hidden.
|
||||
*
|
||||
* NProgress.done(true);
|
||||
*/
|
||||
|
||||
NProgress.done = function(force) {
|
||||
if (!force && !NProgress.status) return this;
|
||||
|
||||
return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
|
||||
};
|
||||
|
||||
/**
|
||||
* Increments by a random amount.
|
||||
*/
|
||||
|
||||
NProgress.inc = function(amount) {
|
||||
var n = NProgress.status;
|
||||
|
||||
if (!n) {
|
||||
return NProgress.start();
|
||||
} else {
|
||||
if (typeof amount !== 'number') {
|
||||
amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);
|
||||
}
|
||||
|
||||
n = clamp(n + amount, 0, 0.994);
|
||||
return NProgress.set(n);
|
||||
}
|
||||
};
|
||||
|
||||
NProgress.trickle = function() {
|
||||
return NProgress.inc(Math.random() * Settings.trickleRate);
|
||||
};
|
||||
|
||||
/**
|
||||
* Waits for all supplied jQuery promises and
|
||||
* increases the progress as the promises resolve.
|
||||
*
|
||||
* @param $promise jQUery Promise
|
||||
*/
|
||||
(function() {
|
||||
var initial = 0, current = 0;
|
||||
|
||||
NProgress.promise = function($promise) {
|
||||
if (!$promise || $promise.state() == "resolved") {
|
||||
return this;
|
||||
}
|
||||
|
||||
if (current == 0) {
|
||||
NProgress.start();
|
||||
}
|
||||
|
||||
initial++;
|
||||
current++;
|
||||
|
||||
$promise.always(function() {
|
||||
current--;
|
||||
if (current == 0) {
|
||||
initial = 0;
|
||||
NProgress.done();
|
||||
} else {
|
||||
NProgress.set((initial - current) / initial);
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
/**
|
||||
* (Internal) renders the progress bar markup based on the `template`
|
||||
* setting.
|
||||
*/
|
||||
|
||||
NProgress.render = function(fromStart) {
|
||||
if (NProgress.isRendered()) return document.getElementById('nprogress');
|
||||
|
||||
addClass(document.documentElement, 'nprogress-busy');
|
||||
|
||||
var progress = document.createElement('div');
|
||||
progress.id = 'nprogress';
|
||||
progress.innerHTML = Settings.template;
|
||||
|
||||
var bar = progress.querySelector(Settings.barSelector),
|
||||
perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),
|
||||
parent = document.querySelector(Settings.parent),
|
||||
spinner;
|
||||
|
||||
css(bar, {
|
||||
transition: 'all 0 linear',
|
||||
transform: 'translate3d(' + perc + '%,0,0)'
|
||||
});
|
||||
|
||||
if (!Settings.showSpinner) {
|
||||
spinner = progress.querySelector(Settings.spinnerSelector);
|
||||
spinner && removeElement(spinner);
|
||||
}
|
||||
|
||||
if (parent != document.body) {
|
||||
addClass(parent, 'nprogress-custom-parent');
|
||||
}
|
||||
|
||||
parent.appendChild(progress);
|
||||
return progress;
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes the element. Opposite of render().
|
||||
*/
|
||||
|
||||
NProgress.remove = function() {
|
||||
removeClass(document.documentElement, 'nprogress-busy');
|
||||
removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent')
|
||||
var progress = document.getElementById('nprogress');
|
||||
progress && removeElement(progress);
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks if the progress bar is rendered.
|
||||
*/
|
||||
|
||||
NProgress.isRendered = function() {
|
||||
return !!document.getElementById('nprogress');
|
||||
};
|
||||
|
||||
/**
|
||||
* Determine which positioning CSS rule to use.
|
||||
*/
|
||||
|
||||
NProgress.getPositioningCSS = function() {
|
||||
// Sniff on document.body.style
|
||||
var bodyStyle = document.body.style;
|
||||
|
||||
// Sniff prefixes
|
||||
var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :
|
||||
('MozTransform' in bodyStyle) ? 'Moz' :
|
||||
('msTransform' in bodyStyle) ? 'ms' :
|
||||
('OTransform' in bodyStyle) ? 'O' : '';
|
||||
|
||||
if (vendorPrefix + 'Perspective' in bodyStyle) {
|
||||
// Modern browsers with 3D support, e.g. Webkit, IE10
|
||||
return 'translate3d';
|
||||
} else if (vendorPrefix + 'Transform' in bodyStyle) {
|
||||
// Browsers without 3D support, e.g. IE9
|
||||
return 'translate';
|
||||
} else {
|
||||
// Browsers without translate() support, e.g. IE7-8
|
||||
return 'margin';
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Helpers
|
||||
*/
|
||||
|
||||
function clamp(n, min, max) {
|
||||
if (n < min) return min;
|
||||
if (n > max) return max;
|
||||
return n;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) converts a percentage (`0..1`) to a bar translateX
|
||||
* percentage (`-100%..0%`).
|
||||
*/
|
||||
|
||||
function toBarPerc(n) {
|
||||
return (-1 + n) * 100;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* (Internal) returns the correct CSS for changing the bar's
|
||||
* position given an n percentage, and speed and ease from Settings
|
||||
*/
|
||||
|
||||
function barPositionCSS(n, speed, ease) {
|
||||
var barCSS;
|
||||
|
||||
if (Settings.positionUsing === 'translate3d') {
|
||||
barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };
|
||||
} else if (Settings.positionUsing === 'translate') {
|
||||
barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };
|
||||
} else {
|
||||
barCSS = { 'margin-left': toBarPerc(n)+'%' };
|
||||
}
|
||||
|
||||
barCSS.transition = 'all '+speed+'ms '+ease;
|
||||
|
||||
return barCSS;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Queues a function to be executed.
|
||||
*/
|
||||
|
||||
var queue = (function() {
|
||||
var pending = [];
|
||||
|
||||
function next() {
|
||||
var fn = pending.shift();
|
||||
if (fn) {
|
||||
fn(next);
|
||||
}
|
||||
}
|
||||
|
||||
return function(fn) {
|
||||
pending.push(fn);
|
||||
if (pending.length == 1) next();
|
||||
};
|
||||
})();
|
||||
|
||||
/**
|
||||
* (Internal) Applies css properties to an element, similar to the jQuery
|
||||
* css method.
|
||||
*
|
||||
* While this helper does assist with vendor prefixed property names, it
|
||||
* does not perform any manipulation of values prior to setting styles.
|
||||
*/
|
||||
|
||||
var css = (function() {
|
||||
var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],
|
||||
cssProps = {};
|
||||
|
||||
function camelCase(string) {
|
||||
return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) {
|
||||
return letter.toUpperCase();
|
||||
});
|
||||
}
|
||||
|
||||
function getVendorProp(name) {
|
||||
var style = document.body.style;
|
||||
if (name in style) return name;
|
||||
|
||||
var i = cssPrefixes.length,
|
||||
capName = name.charAt(0).toUpperCase() + name.slice(1),
|
||||
vendorName;
|
||||
while (i--) {
|
||||
vendorName = cssPrefixes[i] + capName;
|
||||
if (vendorName in style) return vendorName;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
function getStyleProp(name) {
|
||||
name = camelCase(name);
|
||||
return cssProps[name] || (cssProps[name] = getVendorProp(name));
|
||||
}
|
||||
|
||||
function applyCss(element, prop, value) {
|
||||
prop = getStyleProp(prop);
|
||||
element.style[prop] = value;
|
||||
}
|
||||
|
||||
return function(element, properties) {
|
||||
var args = arguments,
|
||||
prop,
|
||||
value;
|
||||
|
||||
if (args.length == 2) {
|
||||
for (prop in properties) {
|
||||
value = properties[prop];
|
||||
if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);
|
||||
}
|
||||
} else {
|
||||
applyCss(element, args[1], args[2]);
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
/**
|
||||
* (Internal) Determines if an element or space separated list of class names contains a class name.
|
||||
*/
|
||||
|
||||
function hasClass(element, name) {
|
||||
var list = typeof element == 'string' ? element : classList(element);
|
||||
return list.indexOf(' ' + name + ' ') >= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Adds a class to an element.
|
||||
*/
|
||||
|
||||
function addClass(element, name) {
|
||||
var oldList = classList(element),
|
||||
newList = oldList + name;
|
||||
|
||||
if (hasClass(oldList, name)) return;
|
||||
|
||||
// Trim the opening space.
|
||||
element.className = newList.substring(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Removes a class from an element.
|
||||
*/
|
||||
|
||||
function removeClass(element, name) {
|
||||
var oldList = classList(element),
|
||||
newList;
|
||||
|
||||
if (!hasClass(element, name)) return;
|
||||
|
||||
// Replace the class name.
|
||||
newList = oldList.replace(' ' + name + ' ', ' ');
|
||||
|
||||
// Trim the opening and closing spaces.
|
||||
element.className = newList.substring(1, newList.length - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Gets a space separated list of the class names on the element.
|
||||
* The list is wrapped with a single space on each end to facilitate finding
|
||||
* matches within the list.
|
||||
*/
|
||||
|
||||
function classList(element) {
|
||||
return (' ' + (element.className || '') + ' ').replace(/\s+/gi, ' ');
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Removes an element from the DOM.
|
||||
*/
|
||||
|
||||
function removeElement(element) {
|
||||
element && element.parentNode && element.parentNode.removeChild(element);
|
||||
}
|
||||
|
||||
return NProgress;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user