Too tired to deal with git, so I just reforked to be even with @ajanata | 768f8f5a0a
.
This commit is contained in:
parent
768f8f5a0a
commit
d8e8185b5d
File diff suppressed because it is too large
Load Diff
|
@ -4,8 +4,6 @@
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||||
|
|
||||||
ga('create', 'UA-35005079-2', 'auto');
|
ga('create', 'UA-35005079-2', 'auto');
|
||||||
ga('send', 'pageview');
|
ga('send', 'pageview');
|
||||||
|
</script>
|
||||||
</script>
|
|
|
@ -30,6 +30,14 @@ body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.carddisplayer {
|
||||||
|
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: .8;
|
||||||
|
color: #333;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.card, #game_list {
|
.card, #game_list {
|
||||||
font-family: "helvetica neue", helvetica, Arial, sans-serif;
|
font-family: "helvetica neue", helvetica, Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
@ -71,7 +79,7 @@ h2,h3,h4 {
|
||||||
background:#555;
|
background:#555;
|
||||||
border-bottom:1px solid #333;
|
border-bottom:1px solid #333;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
height: 25px;
|
height: 42px;
|
||||||
padding:.5em;
|
padding:.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +94,7 @@ h2,h3,h4 {
|
||||||
#nickbox {
|
#nickbox {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
display: inline;
|
display: inline;
|
||||||
padding: 5px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#canvas {
|
#canvas {
|
||||||
|
@ -114,16 +122,18 @@ h2,h3,h4 {
|
||||||
|
|
||||||
.gamelist_lobby {
|
.gamelist_lobby {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: .25em;
|
border-radius: .1em;
|
||||||
width: 575px;
|
min-width: 575px;
|
||||||
height: 175px;
|
width: 33.333333%;
|
||||||
|
height: 40%;
|
||||||
float: left;
|
float: left;
|
||||||
border: 1px solid #ccc;
|
border: 2px solid #ccc;
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gamelist_lobby_left {
|
.gamelist_lobby_left {
|
||||||
width: 77%;
|
width: 80%;
|
||||||
|
font-size: 12px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: .5em 1.5%;
|
padding: .5em 1.5%;
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -137,21 +147,18 @@ h2,h3,h4 {
|
||||||
|
|
||||||
.gamelist_lobby_join {
|
.gamelist_lobby_join {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 75%;
|
height: 75.5%;
|
||||||
border: 1px solid #aaa;
|
|
||||||
background: linear-gradient(#fff, #ddd) #ddd;
|
|
||||||
border-radius: .25em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
border: 0px solid #aaa;
|
||||||
|
/* border-radius: .25em; */
|
||||||
|
text-transform: camelcase;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gamelist_lobby_spectate {
|
.gamelist_lobby_spectate {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 25%;
|
height: 25.1%;
|
||||||
border: 1px solid #aaa;
|
/* border-radius: .25em;*/
|
||||||
background: linear-gradient(#fff, #ddd) #ddd;
|
text-transform: camelcase;
|
||||||
border-radius: .25em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,8 +239,8 @@ h2,h3,h4 {
|
||||||
right: 0px;
|
right: 0px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
min-height: 43px;
|
min-height: 43px;
|
||||||
font-size: 16px;
|
font-size: 14px;
|
||||||
font-family: serif;
|
font-family: sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tab-preferences input[type='button'] {
|
#tab-preferences input[type='button'] {
|
||||||
|
@ -244,7 +251,7 @@ h2,h3,h4 {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
left: -1px;
|
left: -1px;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
height: 17px;
|
height: 19px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
|
@ -263,6 +270,7 @@ h2,h3,h4 {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
span.error {
|
span.error {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
@ -322,7 +330,7 @@ span.debug, span.admin {
|
||||||
|
|
||||||
.your_hand {
|
.your_hand {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 10px;
|
bottom: 20px;
|
||||||
right: 5px;
|
right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,7 +343,7 @@ span.debug, span.admin {
|
||||||
}
|
}
|
||||||
|
|
||||||
.game_hand_filter {
|
.game_hand_filter {
|
||||||
height: 100%;
|
height: 90%;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: rgba(192, 192, 192, .5);
|
background: rgba(192, 192, 192, .5);
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
|
@ -345,10 +353,10 @@ span.debug, span.admin {
|
||||||
.game_hand_filter_text {
|
.game_hand_filter_text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
font-size: 300%;
|
font-size: 250%;
|
||||||
margin-top: -30px;
|
margin-top: -30px;
|
||||||
background:#eee;
|
background:#eee;
|
||||||
padding:.25em;
|
padding:.15em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.game_hand_cards {
|
.game_hand_cards {
|
||||||
|
@ -383,9 +391,9 @@ span.debug, span.admin {
|
||||||
}
|
}
|
||||||
|
|
||||||
.game_black_card {
|
.game_black_card {
|
||||||
width: 232px;
|
width: 215px;
|
||||||
height: 232px;
|
height: 215px;
|
||||||
margin-top: 15px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.confirm_card {
|
.confirm_card {
|
||||||
|
@ -405,11 +413,11 @@ span.debug, span.admin {
|
||||||
.game_right_side, .game_options {
|
.game_right_side, .game_options {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 246px;
|
left: 246px;
|
||||||
width: 1000px;
|
width: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.game_options {
|
.game_options {
|
||||||
background: #eee;
|
background: #fff;
|
||||||
z-index: 500;
|
z-index: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -459,7 +467,7 @@ span.debug, span.admin {
|
||||||
|
|
||||||
.scorecard {
|
.scorecard {
|
||||||
background:#fff;
|
background:#fff;
|
||||||
height: 36px;
|
height: 43px;
|
||||||
padding:.25em .5em;
|
padding:.25em .5em;
|
||||||
border-bottom: 1px solid #bbb;
|
border-bottom: 1px solid #bbb;
|
||||||
font-size: 11pt;
|
font-size: 11pt;
|
||||||
|
@ -634,3 +642,4 @@ span.debug, span.admin {
|
||||||
bottom: 19px;
|
bottom: 19px;
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<%--
|
<%--
|
||||||
Copyright (c) 2012, Andy Janata
|
Copyright (c) 2012, Andy Janata
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -35,13 +34,12 @@ created for the user now.
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
HttpSession hSession = request.getSession(true);
|
HttpSession hSession = request.getSession(true);
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
<!DOCTYPE html>
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
<title>Pretend You're Xyzzy</title>
|
<title>Pretend You're Xyzzy</title>
|
||||||
<script type="text/javascript" src="js/jquery-1.8.2.js"></script>
|
<script type="text/javascript" src="js/jquery-2.1.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/jquery-migrate.js"></script>
|
||||||
<script type="text/javascript" src="js/jquery.cookie.js"></script>
|
<script type="text/javascript" src="js/jquery.cookie.js"></script>
|
||||||
<script type="text/javascript" src="js/jquery.json.js"></script>
|
<script type="text/javascript" src="js/jquery.json.js"></script>
|
||||||
<script type="text/javascript" src="js/QTransform.js"></script>
|
<script type="text/javascript" src="js/QTransform.js"></script>
|
||||||
|
@ -64,28 +62,26 @@ HttpSession hSession = request.getSession(true);
|
||||||
<script type="text/javascript" src="js/cah.ajax.builder.js"></script>
|
<script type="text/javascript" src="js/cah.ajax.builder.js"></script>
|
||||||
<script type="text/javascript" src="js/cah.ajax.handlers.js"></script>
|
<script type="text/javascript" src="js/cah.ajax.handlers.js"></script>
|
||||||
<script type="text/javascript" src="js/cah.app.js"></script>
|
<script type="text/javascript" src="js/cah.app.js"></script>
|
||||||
<link rel="stylesheet" type="text/css" href="cah.css" media="screen" />
|
<script type="text/javascript">
|
||||||
<link rel="stylesheet" type="text/css" href="jquery-ui.css" media="screen" />
|
function changeCSS(cssFile, cssLinkIndex) {
|
||||||
|
|
||||||
|
var oldlink = document.getElementsByTagName("link").item(cssLinkIndex);
|
||||||
|
|
||||||
|
var newlink = document.createElement("link");
|
||||||
|
newlink.setAttribute("rel", "stylesheet");
|
||||||
|
newlink.setAttribute("type", "text/css");
|
||||||
|
newlink.setAttribute("href", cssFile);
|
||||||
|
|
||||||
|
document.getElementsByTagName("head").item(0).replaceChild(newlink, oldlink);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="altstyle/default/cah.css" media="screen" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="stylechooser.css" media="screen" />
|
||||||
<jsp:include page="analytics.jsp" />
|
<jsp:include page="analytics.jsp" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div id="welcome">
|
<div id="welcome">
|
||||||
<h1 tabindex="0">
|
|
||||||
Pretend You're <dfn style="border-bottom: 1px dotted black"
|
|
||||||
title="Xyzzy is an Artificial Unintelligence bot. You'll be making more sense than him in this game.">
|
|
||||||
Xyzzy</dfn>
|
|
||||||
</h1>
|
|
||||||
<h3>A <a href="http://cardsagainsthumanity.com/">Cards Against Humanity</a> clone.</h3>
|
|
||||||
<p>
|
|
||||||
This webapp is still in development. There will be bugs, but hopefully they won't affect gameplay
|
|
||||||
very much. To assist with development, <strong>all traffic on this server <em>may</em> be
|
|
||||||
logged.</strong>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
If this is your first time playing, you may wish to read <a href="/">the changelog and list of
|
|
||||||
known issues</a>.
|
|
||||||
</p>
|
|
||||||
<p tabindex="0">Most recent update: 21 February 2015:</p>
|
<p tabindex="0">Most recent update: 21 February 2015:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Servers now run in Amazon Web Services. This is going to cost me more, but at least it
|
<li>Servers now run in Amazon Web Services. This is going to cost me more, but at least it
|
||||||
|
@ -115,11 +111,12 @@ HttpSession hSession = request.getSession(true);
|
||||||
</ul>
|
</ul>
|
||||||
<div id="nickbox">
|
<div id="nickbox">
|
||||||
Nickname:
|
Nickname:
|
||||||
<input type="text" id="nickname" value="" maxlength="30" role="textbox"
|
<input type="text" id="nickname" class="span3" value="" maxlength="30" placeholder="Xyzzy" role="textbox"
|
||||||
aria-label="Enter your nickname." />
|
aria-label="Enter your nickname." />
|
||||||
<input type="button" id="nicknameconfirm" value="Set" />
|
<input type="button" class="btn" id="nicknameconfirm" value="Set" />
|
||||||
<span id="nickbox_error" class="error"></span>
|
<span id="nickbox_error" class="error"></span>
|
||||||
</div>
|
</div>
|
||||||
|
<p></p>
|
||||||
<p>
|
<p>
|
||||||
Pretend You're Xyzzy is a Cards Against Humanity clone, which is available at
|
Pretend You're Xyzzy is a Cards Against Humanity clone, which is available at
|
||||||
<a href="http://www.cardsagainsthumanity.com/">cardsagainsthumanity.com</a>, where you can buy it
|
<a href="http://www.cardsagainsthumanity.com/">cardsagainsthumanity.com</a>, where you can buy it
|
||||||
|
@ -136,22 +133,22 @@ HttpSession hSession = request.getSession(true);
|
||||||
<div id="canvas" class="hide">
|
<div id="canvas" class="hide">
|
||||||
<div id="menubar">
|
<div id="menubar">
|
||||||
<div id="menubar_left">
|
<div id="menubar_left">
|
||||||
<input type="button" id="refresh_games" class="hide" value="Refresh Games" />
|
<input type="button" id="refresh_games" class="hide btn btn-success" value="Refresh Games" />
|
||||||
<input type="button" id="create_game" class="hide" value="Create Game" />
|
<input type="button" id="create_game" class="hide btn btn-primary" value="Create Game" />
|
||||||
<input type="text" id="filter_games" class="hide" placeholder="Filter games by keyword" />
|
<input type="text" id="filter_games" class="hide search-query" placeholder="Filter games by keyword" />
|
||||||
|
|
||||||
<input type="button" id="leave_game" class="hide" value="Leave Game" />
|
<input type="button" id="leave_game" class="hide btn btn-danger" value="Leave Game" />
|
||||||
<input type="button" id="start_game" class="hide" value="Start Game" />
|
<input type="button" id="start_game" class="hide btn btn-success" value="Start Game" />
|
||||||
<input type="button" id="stop_game" class="hide" value="Stop Game" />
|
<input type="button" id="stop_game" class="hide btn btn-danger" value="Stop Game" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="menubar_right">
|
<div id="menubar_right">
|
||||||
Current timer duration: <span id="current_timer">0</span> seconds
|
Current timer duration: <span id="current_timer">0</span> seconds
|
||||||
<%-- disabled as this page can kill the database server without caching
|
<input type="button" class="btn btn-info" id="view_cards" value="View Cards"
|
||||||
<input type="button" id="view_cards" value="View Cards"
|
|
||||||
title="Open a new window to view all cards in the game."
|
title="Open a new window to view all cards in the game."
|
||||||
onclick="window.open('viewcards.jsp', 'viewcards');" />
|
onclick="window.open('viewcards.jsp', 'viewcards');" />
|
||||||
--%>
|
|
||||||
<input type="button" id="logout" value="Log out" />
|
<input type="button" class="btn btn-danger" id="logout" value="Log out" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
|
@ -171,8 +168,19 @@ HttpSession hSession = request.getSession(true);
|
||||||
<li><a href="#tab-global" class="tab-button" id="button-global">Global Chat</a></li>
|
<li><a href="#tab-global" class="tab-button" id="button-global">Global Chat</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="tab-preferences">
|
<div id="tab-preferences">
|
||||||
<input type="button" value="Save" onclick="cah.Preferences.save();" />
|
<input type="button" class="btn btn-info" value="Save" onclick="cah.Preferences.save();" />
|
||||||
<input type="button" value="Revert" onclick="cah.Preferences.load();" />
|
<input type="button" class="btn btn-warning" value="Revert" onclick="cah.Preferences.load();" />
|
||||||
|
<div class="dropdown">
|
||||||
|
<!-- Reference Button :P <input type="button" value="Old Style [ DOES NOT WORK ]" class="btn btn-warning" onclick="changeCSS('oldcah.css', 0);" /> -->
|
||||||
|
<button class="lgbtn lbtn-primary dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
|
||||||
|
Style Chooser [Beta!]
|
||||||
|
<span class="caret"></span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
|
||||||
|
<li role="presentation"><a role="menuitem" onclick="changeCSS('oldcah.css', 0);" tabindex="-1" href="#">Legacy</a></li>
|
||||||
|
<li role="presentation"><a role="menuitem" onclick="changeCSS('newcah.css', 0);" tabindex="-1" href="#">New</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
<label for="hide_connect_quit">
|
<label for="hide_connect_quit">
|
||||||
<dfn style="border-bottom: 1px dotted black"
|
<dfn style="border-bottom: 1px dotted black"
|
||||||
title="Even with this unselected, you might not see these events if the server is configured to not send them.">
|
title="Even with this unselected, you might not see these events if the server is configured to not send them.">
|
||||||
|
@ -184,22 +192,24 @@ HttpSession hSession = request.getSession(true);
|
||||||
<label for="ignore_list">Chat ignore list, one name per line:</label>
|
<label for="ignore_list">Chat ignore list, one name per line:</label>
|
||||||
<br/>
|
<br/>
|
||||||
<textarea id="ignore_list" style="width: 200px; height: 150px"></textarea>
|
<textarea id="ignore_list" style="width: 200px; height: 150px"></textarea>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="tab-gamelist-filters">
|
<div id="tab-gamelist-filters">
|
||||||
You will have to click Refresh Games after saving any changes here.
|
You will have to click Refresh Games after saving any changes here.
|
||||||
<div style="text-align: right; width:100%">
|
<div style="text-align: right; width:100%">
|
||||||
<input type="button" value="Save" onclick="cah.Preferences.save();" />
|
<input type="button" value="Save" class="btn btn-primary" onclick="cah.Preferences.save();" />
|
||||||
<input type="button" value="Revert" onclick="cah.Preferences.load();" />
|
<input type="button" value="Revert" class="btn btn-warning" onclick="cah.Preferences.load();" />
|
||||||
</div>
|
</div>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Card set filters</legend>
|
<legend class="l6g">Card set filters:</legend>
|
||||||
<div class="cardset_filter_list">
|
<div class="cardset_filter_list">
|
||||||
<span title="Any game which uses at least one of these card sets will not be shown in the game list.">
|
<span title="Any game which uses at least one of these card sets will not be shown in the game list.">
|
||||||
Do not show any games with these card sets:
|
Do not show any games with these card sets:
|
||||||
</span>
|
</span>
|
||||||
<select id="cardsets_banned" multiple="multiple"></select>
|
<select id="cardsets_banned" multiple="multiple"></select>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<input type="button" id="banned_remove" value="Remove -->"
|
<input type="button" class="btn btn-warning" id="banned_remove" value="Remove -->"
|
||||||
onclick="cah.Preferences.transferCardSets('banned', 'neutral')" />
|
onclick="cah.Preferences.transferCardSets('banned', 'neutral')" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -207,10 +217,13 @@ HttpSession hSession = request.getSession(true);
|
||||||
<span>Do not require or ban these card sets:</span>
|
<span>Do not require or ban these card sets:</span>
|
||||||
<select id="cardsets_neutral" multiple="multiple"></select>
|
<select id="cardsets_neutral" multiple="multiple"></select>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<input type="button" id="banned_add" value="<-- Ban"
|
<input type="button" id="banned_add" class="btn btn-error" value="<-- Ban"
|
||||||
onclick="cah.Preferences.transferCardSets('neutral', 'banned')" />
|
onclick="cah.Preferences.transferCardSets('neutral', 'banned')" />
|
||||||
<input type="button" id="required_add" value="Require -->"
|
<input type="button" id="required_add" class="btn btn-primary" value="Require -->"
|
||||||
onclick="cah.Preferences.transferCardSets('neutral', 'required')" />
|
onclick="cah.Preferences.transferCardSets('neutral', 'required')" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cardset_filter_list">
|
<div class="cardset_filter_list">
|
||||||
|
@ -219,7 +232,7 @@ HttpSession hSession = request.getSession(true);
|
||||||
</span>
|
</span>
|
||||||
<select id="cardsets_required" multiple="multiple"></select>
|
<select id="cardsets_required" multiple="multiple"></select>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<input type="button" id="required_remove" value="<-- Remove"
|
<input type="button" id="required_remove" class="btn btn-success" value="<-- Remove"
|
||||||
onclick="cah.Preferences.transferCardSets('required', 'neutral')" />
|
onclick="cah.Preferences.transferCardSets('required', 'neutral')" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -227,8 +240,8 @@ HttpSession hSession = request.getSession(true);
|
||||||
</div>
|
</div>
|
||||||
<div id="tab-global">
|
<div id="tab-global">
|
||||||
<div class="log"></div>
|
<div class="log"></div>
|
||||||
<input type="text" class="chat" maxlength="200" aria-label="Type here to chat." />
|
<input type="text" class="chat" maxlength="250" aria-label="Type here to chat." />
|
||||||
<input type="button" class="chat_submit" value="Chat" />
|
<input type="button" class="chat_submit btn btn-primary" value="Chat" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -237,12 +250,12 @@ HttpSession hSession = request.getSession(true);
|
||||||
<div class="hide">
|
<div class="hide">
|
||||||
<div id="gamelist_lobby_template" class="gamelist_lobby" tabindex="0">
|
<div id="gamelist_lobby_template" class="gamelist_lobby" tabindex="0">
|
||||||
<div class="gamelist_lobby_left">
|
<div class="gamelist_lobby_left">
|
||||||
<h3>
|
<h4>
|
||||||
<span class="gamelist_lobby_host">host</span>'s Game
|
<span class="gamelist_lobby_host">host</span>'s Game
|
||||||
(<span class="gamelist_lobby_player_count"></span>/<span class="gamelist_lobby_max_players"></span>,
|
(<span class="gamelist_lobby_player_count"></span>/<span class="gamelist_lobby_max_players"></span>,
|
||||||
<span class="gamelist_lobby_spectator_count"></span>/<span class="gamelist_lobby_max_spectators"></span>)
|
<span class="gamelist_lobby_spectator_count"></span>/<span class="gamelist_lobby_max_spectators"></span>)
|
||||||
<span class="gamelist_lobby_status">status</span>
|
<span class="gamelist_lobby_status">status</span>
|
||||||
</h3>
|
</h4>
|
||||||
<div>
|
<div>
|
||||||
<strong>Players:</strong>
|
<strong>Players:</strong>
|
||||||
<span class="gamelist_lobby_players">host, player1, player2</span>
|
<span class="gamelist_lobby_players">host, player1, player2</span>
|
||||||
|
@ -258,8 +271,8 @@ HttpSession hSession = request.getSession(true);
|
||||||
<div class="hide">Game <span class="gamelist_lobby_id">###</span></div>
|
<div class="hide">Game <span class="gamelist_lobby_id">###</span></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="gamelist_lobby_right">
|
<div class="gamelist_lobby_right">
|
||||||
<input type="button" class="gamelist_lobby_join" value="Join" />
|
<input type="button" class="gamelist_lobby_join btn btn-primary" value="Join" />
|
||||||
<input type="button" class="gamelist_lobby_spectate" value="Spectate" />
|
<input type="button" class="gamelist_lobby_spectate btn btn-success" value="Spectate" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -321,9 +334,9 @@ HttpSession hSession = request.getSession(true);
|
||||||
class="hide">
|
class="hide">
|
||||||
<div id="game_template" class="game">
|
<div id="game_template" class="game">
|
||||||
<div class="game_top">
|
<div class="game_top">
|
||||||
<input type="button" class="game_show_last_round game_menu_bar" value="Show Last Round"
|
<input type="button" class="game_show_last_round game_menu_bar btn btn-info" value="Show Last Round"
|
||||||
disabled="disabled" />
|
disabled="disabled" />
|
||||||
<input type="button" class="game_show_options game_menu_bar" value="Hide Game Options" />
|
<input type="button" class="game_show_options game_menu_bar btn btn-primary" value="Hide Game Options" />
|
||||||
<label class="game_menu_bar checkbox"><input type="checkbox" class="game_animate_cards" checked="checked" /><span> Animate Cards</span></label>
|
<label class="game_menu_bar checkbox"><input type="checkbox" class="game_animate_cards" checked="checked" /><span> Animate Cards</span></label>
|
||||||
<div class="game_message" role="status">
|
<div class="game_message" role="status">
|
||||||
Waiting for server...
|
Waiting for server...
|
||||||
|
@ -339,7 +352,7 @@ HttpSession hSession = request.getSession(true);
|
||||||
<div class="game_black_card" tabindex="0">
|
<div class="game_black_card" tabindex="0">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="button" class="confirm_card" value="Confirm Selection" />
|
<input type="button" class="confirm_card btn btn-primary" value="Confirm Selection" />
|
||||||
</div>
|
</div>
|
||||||
<div class="game_options">
|
<div class="game_options">
|
||||||
</div>
|
</div>
|
||||||
|
@ -369,7 +382,8 @@ HttpSession hSession = request.getSession(true);
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Template for scoreboard container. Holder for design. -->
|
<!-- Template for scoreboard container. Holder for design. -->
|
||||||
<div style="height: 215px; border: 1px solid black;" class="hide">
|
<!--<div style="height: 215px; border: 1px solid black;" class="hide">-->
|
||||||
|
<div style="container" class="hide">
|
||||||
<div id="scoreboard_template" class="scoreboard">
|
<div id="scoreboard_template" class="scoreboard">
|
||||||
<div class="game_message" tabindex="0">Scoreboard</div>
|
<div class="game_message" tabindex="0">Scoreboard</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -402,11 +416,11 @@ HttpSession hSession = request.getSession(true);
|
||||||
|
|
||||||
<!-- Template for game options. -->
|
<!-- Template for game options. -->
|
||||||
<div class="hide">
|
<div class="hide">
|
||||||
<div class="game_options" id="game_options_template">
|
<div class="game_options well" id="game_options_template">
|
||||||
<span class="options_host_only">Only the game host can change options.</span>
|
<span class="options_host_only">Only the game host can change options.</span>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Game options:</legend>
|
<legend class="l6g">Game options:</legend>
|
||||||
<label id="score_limit_template_label" for="score_limit_template">Score limit:</label>
|
<label id="score_limit_template_label" for="score_limit_template">Score limit:</label>
|
||||||
<select id="score_limit_template" class="score_limit">
|
<select id="score_limit_template" class="score_limit">
|
||||||
<%
|
<%
|
||||||
|
@ -446,10 +460,10 @@ HttpSession hSession = request.getSession(true);
|
||||||
Use idle timer.
|
Use idle timer.
|
||||||
</label>
|
</label>
|
||||||
<br/>
|
<br/>
|
||||||
<fieldset class="card_sets">
|
<fieldset class="card_sets">
|
||||||
<legend>Card Sets</legend>
|
<legend class="l6g">Card Sets:</legend>
|
||||||
<span class="base_card_sets"></span>
|
<span class="base_card_sets carddisplayer"></span>
|
||||||
<span class="extra_card_sets"></span>
|
<span class="extra_card_sets carddisplayer"></span>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<br/>
|
<br/>
|
||||||
<label id="blanks_limit_label" title="Blank cards allow a player to type in their own answer.">
|
<label id="blanks_limit_label" title="Blank cards allow a player to type in their own answer.">
|
||||||
|
@ -463,7 +477,7 @@ HttpSession hSession = request.getSession(true);
|
||||||
</label>
|
</label>
|
||||||
<br/>
|
<br/>
|
||||||
<label id="game_password_template_label" for="game_password_template">Game password:</label>
|
<label id="game_password_template_label" for="game_password_template">Game password:</label>
|
||||||
<input type="text" id="game_password_template" class="game_password"
|
<input type="text" id="game_password_template" class="game_password span2"
|
||||||
aria-label="Game password. You must tab outside of the box to apply the password."/>
|
aria-label="Game password. You must tab outside of the box to apply the password."/>
|
||||||
<input type="password" id="game_fake_password_template" class="game_fake_password hide" />
|
<input type="password" id="game_fake_password_template" class="game_fake_password hide" />
|
||||||
You must click outside the box to apply the password.
|
You must click outside the box to apply the password.
|
||||||
|
@ -477,5 +491,19 @@ HttpSession hSession = request.getSession(true);
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="position:absolute; left:-99999px" role="alert" id="aria-notifications"></div>
|
<div style="position:absolute; left:-99999px" role="alert" id="aria-notifications"></div>
|
||||||
|
<script type="text/javascript" src="js/nightui-btst.js"></script>
|
||||||
|
<!--
|
||||||
|
<script type="text/javascript">
|
||||||
|
$( ".game_right_side" ).hover(function() {
|
||||||
|
$( this ).style.zIndex = "1000";
|
||||||
|
$( ".game_hand_cards" ).style.zIndex = "0";
|
||||||
|
}
|
||||||
|
|
||||||
|
$( ".game_hand_cards" ).hover(function() {
|
||||||
|
$( this ).style.zIndex = "1000";
|
||||||
|
$( ".game_right_side" ).style.zIndex = "0";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
File diff suppressed because it is too large
Load Diff
|
@ -196,16 +196,16 @@ cah.ajax.ErrorHandlers[cah.$.AjaxOperation.LEAVE_GAME] = function(data, req) {
|
||||||
cah.ajax.ErrorHandlers[cah.$.AjaxOperation.START_GAME] = function(data, req) {
|
cah.ajax.ErrorHandlers[cah.$.AjaxOperation.START_GAME] = function(data, req) {
|
||||||
if (data[cah.$.AjaxResponse.ERROR_CODE] == cah.$.ErrorCode.NOT_ENOUGH_CARDS) {
|
if (data[cah.$.AjaxResponse.ERROR_CODE] == cah.$.ErrorCode.NOT_ENOUGH_CARDS) {
|
||||||
var msg = "With current settings, the game requires "
|
var msg = "With current settings, the game requires "
|
||||||
+ data[cah.$.ErrorInformation.BLACK_CARDS_REQUIRED] + " black cards and "
|
+ data[cah.$.ErrorInformation.BLACK_CARDS_REQUIRED]
|
||||||
+ data[cah.$.ErrorInformation.WHITE_CARDS_REQUIRED] + " white cards, but only has "
|
+ " black cards and " + data[cah.$.ErrorInformation.WHITE_CARDS_REQUIRED]
|
||||||
+ data[cah.$.ErrorInformation.BLACK_CARDS_PRESENT] + " black cards and "
|
+ " white cards, but only has " + data[cah.$.ErrorInformation.BLACK_CARDS_PRESENT]
|
||||||
+ data[cah.$.ErrorInformation.WHITE_CARDS_PRESENT] + " white cards.";
|
+ " black cards and " + data[cah.$.ErrorInformation.WHITE_CARDS_PRESENT] + " white cards.";
|
||||||
|
|
||||||
cah.log.status_with_game(req[cah.$.AjaxRequest.GAME_ID], msg, "error");
|
cah.log.status_with_game(req[cah.$.AjaxRequest.GAME_ID], msg, "error");
|
||||||
} else {
|
} else {
|
||||||
cah.log.error(cah.$.ErrorCode_msg[data[cah.$.AjaxResponse.ERROR_CODE]]);
|
cah.log.error(cah.$.ErrorCode_msg[data[cah.$.AjaxResponse.ERROR_CODE]]);
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
cah.ajax.SuccessHandlers[cah.$.AjaxOperation.START_GAME] = function(data, req) {
|
cah.ajax.SuccessHandlers[cah.$.AjaxOperation.START_GAME] = function(data, req) {
|
||||||
var game = cah.currentGames[data[cah.$.AjaxRequest.GAME_ID]];
|
var game = cah.currentGames[data[cah.$.AjaxRequest.GAME_ID]];
|
||||||
|
|
|
@ -152,7 +152,7 @@ function chatsubmit_click(game_id, parent_element) {
|
||||||
ajax = cah.Ajax.build(cah.$.AjaxOperation.CHAT);
|
ajax = cah.Ajax.build(cah.$.AjaxOperation.CHAT);
|
||||||
}
|
}
|
||||||
ajax = ajax.withEmote(false).withMessage(text);
|
ajax = ajax.withEmote(false).withMessage(text);
|
||||||
cah.log.status_with_game(game_id, "<" + cah.nickname + "> " + text);
|
cah.log.status_with_game(game_id, "[" + cah.nickname + "]: " + text);
|
||||||
break;
|
break;
|
||||||
case 'me':
|
case 'me':
|
||||||
if (game_id !== null) {
|
if (game_id !== null) {
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,521 @@
|
||||||
|
/*!
|
||||||
|
* jQuery Migrate - v1.2.1 - 2013-05-08
|
||||||
|
* https://github.com/jquery/jquery-migrate
|
||||||
|
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
|
||||||
|
*/
|
||||||
|
(function( jQuery, window, undefined ) {
|
||||||
|
// See http://bugs.jquery.com/ticket/13335
|
||||||
|
// "use strict";
|
||||||
|
|
||||||
|
|
||||||
|
var warnedAbout = {};
|
||||||
|
|
||||||
|
// List of warnings already given; public read only
|
||||||
|
jQuery.migrateWarnings = [];
|
||||||
|
|
||||||
|
// Set to true to prevent console output; migrateWarnings still maintained
|
||||||
|
// jQuery.migrateMute = false;
|
||||||
|
|
||||||
|
// Show a message on the console so devs know we're active
|
||||||
|
if ( !jQuery.migrateMute && window.console && window.console.log ) {
|
||||||
|
window.console.log("JQMIGRATE: Logging is active");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set to false to disable traces that appear with warnings
|
||||||
|
if ( jQuery.migrateTrace === undefined ) {
|
||||||
|
jQuery.migrateTrace = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Forget any warnings we've already given; public
|
||||||
|
jQuery.migrateReset = function() {
|
||||||
|
warnedAbout = {};
|
||||||
|
jQuery.migrateWarnings.length = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
function migrateWarn( msg) {
|
||||||
|
var console = window.console;
|
||||||
|
if ( !warnedAbout[ msg ] ) {
|
||||||
|
warnedAbout[ msg ] = true;
|
||||||
|
jQuery.migrateWarnings.push( msg );
|
||||||
|
if ( console && console.warn && !jQuery.migrateMute ) {
|
||||||
|
console.warn( "JQMIGRATE: " + msg );
|
||||||
|
if ( jQuery.migrateTrace && console.trace ) {
|
||||||
|
console.trace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function migrateWarnProp( obj, prop, value, msg ) {
|
||||||
|
if ( Object.defineProperty ) {
|
||||||
|
// On ES5 browsers (non-oldIE), warn if the code tries to get prop;
|
||||||
|
// allow property to be overwritten in case some other plugin wants it
|
||||||
|
try {
|
||||||
|
Object.defineProperty( obj, prop, {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
migrateWarn( msg );
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
set: function( newValue ) {
|
||||||
|
migrateWarn( msg );
|
||||||
|
value = newValue;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
} catch( err ) {
|
||||||
|
// IE8 is a dope about Object.defineProperty, can't warn there
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Non-ES5 (or broken) browser; just set the property
|
||||||
|
jQuery._definePropertyBroken = true;
|
||||||
|
obj[ prop ] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( document.compatMode === "BackCompat" ) {
|
||||||
|
// jQuery has never supported or tested Quirks Mode
|
||||||
|
migrateWarn( "jQuery is not compatible with Quirks Mode" );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var attrFn = jQuery( "<input/>", { size: 1 } ).attr("size") && jQuery.attrFn,
|
||||||
|
oldAttr = jQuery.attr,
|
||||||
|
valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
|
||||||
|
function() { return null; },
|
||||||
|
valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
|
||||||
|
function() { return undefined; },
|
||||||
|
rnoType = /^(?:input|button)$/i,
|
||||||
|
rnoAttrNodeType = /^[238]$/,
|
||||||
|
rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
|
||||||
|
ruseDefault = /^(?:checked|selected)$/i;
|
||||||
|
|
||||||
|
// jQuery.attrFn
|
||||||
|
migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
|
||||||
|
|
||||||
|
jQuery.attr = function( elem, name, value, pass ) {
|
||||||
|
var lowerName = name.toLowerCase(),
|
||||||
|
nType = elem && elem.nodeType;
|
||||||
|
|
||||||
|
if ( pass ) {
|
||||||
|
// Since pass is used internally, we only warn for new jQuery
|
||||||
|
// versions where there isn't a pass arg in the formal params
|
||||||
|
if ( oldAttr.length < 4 ) {
|
||||||
|
migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
|
||||||
|
}
|
||||||
|
if ( elem && !rnoAttrNodeType.test( nType ) &&
|
||||||
|
(attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
|
||||||
|
return jQuery( elem )[ name ]( value );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
|
||||||
|
// for disconnected elements we don't warn on $( "<button>", { type: "button" } ).
|
||||||
|
if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
|
||||||
|
migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restore boolHook for boolean property/attribute synchronization
|
||||||
|
if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
|
||||||
|
jQuery.attrHooks[ lowerName ] = {
|
||||||
|
get: function( elem, name ) {
|
||||||
|
// Align boolean attributes with corresponding properties
|
||||||
|
// Fall back to attribute presence where some booleans are not supported
|
||||||
|
var attrNode,
|
||||||
|
property = jQuery.prop( elem, name );
|
||||||
|
return property === true || typeof property !== "boolean" &&
|
||||||
|
( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
|
||||||
|
|
||||||
|
name.toLowerCase() :
|
||||||
|
undefined;
|
||||||
|
},
|
||||||
|
set: function( elem, value, name ) {
|
||||||
|
var propName;
|
||||||
|
if ( value === false ) {
|
||||||
|
// Remove boolean attributes when set to false
|
||||||
|
jQuery.removeAttr( elem, name );
|
||||||
|
} else {
|
||||||
|
// value is true since we know at this point it's type boolean and not false
|
||||||
|
// Set boolean attributes to the same name and set the DOM property
|
||||||
|
propName = jQuery.propFix[ name ] || name;
|
||||||
|
if ( propName in elem ) {
|
||||||
|
// Only set the IDL specifically if it already exists on the element
|
||||||
|
elem[ propName ] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
elem.setAttribute( name, name.toLowerCase() );
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Warn only for attributes that can remain distinct from their properties post-1.9
|
||||||
|
if ( ruseDefault.test( lowerName ) ) {
|
||||||
|
migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return oldAttr.call( jQuery, elem, name, value );
|
||||||
|
};
|
||||||
|
|
||||||
|
// attrHooks: value
|
||||||
|
jQuery.attrHooks.value = {
|
||||||
|
get: function( elem, name ) {
|
||||||
|
var nodeName = ( elem.nodeName || "" ).toLowerCase();
|
||||||
|
if ( nodeName === "button" ) {
|
||||||
|
return valueAttrGet.apply( this, arguments );
|
||||||
|
}
|
||||||
|
if ( nodeName !== "input" && nodeName !== "option" ) {
|
||||||
|
migrateWarn("jQuery.fn.attr('value') no longer gets properties");
|
||||||
|
}
|
||||||
|
return name in elem ?
|
||||||
|
elem.value :
|
||||||
|
null;
|
||||||
|
},
|
||||||
|
set: function( elem, value ) {
|
||||||
|
var nodeName = ( elem.nodeName || "" ).toLowerCase();
|
||||||
|
if ( nodeName === "button" ) {
|
||||||
|
return valueAttrSet.apply( this, arguments );
|
||||||
|
}
|
||||||
|
if ( nodeName !== "input" && nodeName !== "option" ) {
|
||||||
|
migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
|
||||||
|
}
|
||||||
|
// Does not return so that setAttribute is also used
|
||||||
|
elem.value = value;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var matched, browser,
|
||||||
|
oldInit = jQuery.fn.init,
|
||||||
|
oldParseJSON = jQuery.parseJSON,
|
||||||
|
// Note: XSS check is done below after string is trimmed
|
||||||
|
rquickExpr = /^([^<]*)(<[\w\W]+>)([^>]*)$/;
|
||||||
|
|
||||||
|
// $(html) "looks like html" rule change
|
||||||
|
jQuery.fn.init = function( selector, context, rootjQuery ) {
|
||||||
|
var match;
|
||||||
|
|
||||||
|
if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
|
||||||
|
(match = rquickExpr.exec( jQuery.trim( selector ) )) && match[ 0 ] ) {
|
||||||
|
// This is an HTML string according to the "old" rules; is it still?
|
||||||
|
if ( selector.charAt( 0 ) !== "<" ) {
|
||||||
|
migrateWarn("$(html) HTML strings must start with '<' character");
|
||||||
|
}
|
||||||
|
if ( match[ 3 ] ) {
|
||||||
|
migrateWarn("$(html) HTML text after last tag is ignored");
|
||||||
|
}
|
||||||
|
// Consistently reject any HTML-like string starting with a hash (#9521)
|
||||||
|
// Note that this may break jQuery 1.6.x code that otherwise would work.
|
||||||
|
if ( match[ 0 ].charAt( 0 ) === "#" ) {
|
||||||
|
migrateWarn("HTML string cannot start with a '#' character");
|
||||||
|
jQuery.error("JQMIGRATE: Invalid selector string (XSS)");
|
||||||
|
}
|
||||||
|
// Now process using loose rules; let pre-1.8 play too
|
||||||
|
if ( context && context.context ) {
|
||||||
|
// jQuery object as context; parseHTML expects a DOM object
|
||||||
|
context = context.context;
|
||||||
|
}
|
||||||
|
if ( jQuery.parseHTML ) {
|
||||||
|
return oldInit.call( this, jQuery.parseHTML( match[ 2 ], context, true ),
|
||||||
|
context, rootjQuery );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return oldInit.apply( this, arguments );
|
||||||
|
};
|
||||||
|
jQuery.fn.init.prototype = jQuery.fn;
|
||||||
|
|
||||||
|
// Let $.parseJSON(falsy_value) return null
|
||||||
|
jQuery.parseJSON = function( json ) {
|
||||||
|
if ( !json && json !== null ) {
|
||||||
|
migrateWarn("jQuery.parseJSON requires a valid JSON string");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return oldParseJSON.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.uaMatch = function( ua ) {
|
||||||
|
ua = ua.toLowerCase();
|
||||||
|
|
||||||
|
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
|
||||||
|
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
|
||||||
|
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
|
||||||
|
/(msie) ([\w.]+)/.exec( ua ) ||
|
||||||
|
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
|
||||||
|
[];
|
||||||
|
|
||||||
|
return {
|
||||||
|
browser: match[ 1 ] || "",
|
||||||
|
version: match[ 2 ] || "0"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Don't clobber any existing jQuery.browser in case it's different
|
||||||
|
if ( !jQuery.browser ) {
|
||||||
|
matched = jQuery.uaMatch( navigator.userAgent );
|
||||||
|
browser = {};
|
||||||
|
|
||||||
|
if ( matched.browser ) {
|
||||||
|
browser[ matched.browser ] = true;
|
||||||
|
browser.version = matched.version;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Chrome is Webkit, but Webkit is also Safari.
|
||||||
|
if ( browser.chrome ) {
|
||||||
|
browser.webkit = true;
|
||||||
|
} else if ( browser.webkit ) {
|
||||||
|
browser.safari = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.browser = browser;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warn if the code tries to get jQuery.browser
|
||||||
|
migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
|
||||||
|
|
||||||
|
jQuery.sub = function() {
|
||||||
|
function jQuerySub( selector, context ) {
|
||||||
|
return new jQuerySub.fn.init( selector, context );
|
||||||
|
}
|
||||||
|
jQuery.extend( true, jQuerySub, this );
|
||||||
|
jQuerySub.superclass = this;
|
||||||
|
jQuerySub.fn = jQuerySub.prototype = this();
|
||||||
|
jQuerySub.fn.constructor = jQuerySub;
|
||||||
|
jQuerySub.sub = this.sub;
|
||||||
|
jQuerySub.fn.init = function init( selector, context ) {
|
||||||
|
if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
|
||||||
|
context = jQuerySub( context );
|
||||||
|
}
|
||||||
|
|
||||||
|
return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
|
||||||
|
};
|
||||||
|
jQuerySub.fn.init.prototype = jQuerySub.fn;
|
||||||
|
var rootjQuerySub = jQuerySub(document);
|
||||||
|
migrateWarn( "jQuery.sub() is deprecated" );
|
||||||
|
return jQuerySub;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Ensure that $.ajax gets the new parseJSON defined in core.js
|
||||||
|
jQuery.ajaxSetup({
|
||||||
|
converters: {
|
||||||
|
"text json": jQuery.parseJSON
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var oldFnData = jQuery.fn.data;
|
||||||
|
|
||||||
|
jQuery.fn.data = function( name ) {
|
||||||
|
var ret, evt,
|
||||||
|
elem = this[0];
|
||||||
|
|
||||||
|
// Handles 1.7 which has this behavior and 1.8 which doesn't
|
||||||
|
if ( elem && name === "events" && arguments.length === 1 ) {
|
||||||
|
ret = jQuery.data( elem, name );
|
||||||
|
evt = jQuery._data( elem, name );
|
||||||
|
if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
|
||||||
|
migrateWarn("Use of jQuery.fn.data('events') is deprecated");
|
||||||
|
return evt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return oldFnData.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var rscriptType = /\/(java|ecma)script/i,
|
||||||
|
oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
|
||||||
|
|
||||||
|
jQuery.fn.andSelf = function() {
|
||||||
|
migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
|
||||||
|
return oldSelf.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
// Since jQuery.clean is used internally on older versions, we only shim if it's missing
|
||||||
|
if ( !jQuery.clean ) {
|
||||||
|
jQuery.clean = function( elems, context, fragment, scripts ) {
|
||||||
|
// Set context per 1.8 logic
|
||||||
|
context = context || document;
|
||||||
|
context = !context.nodeType && context[0] || context;
|
||||||
|
context = context.ownerDocument || context;
|
||||||
|
|
||||||
|
migrateWarn("jQuery.clean() is deprecated");
|
||||||
|
|
||||||
|
var i, elem, handleScript, jsTags,
|
||||||
|
ret = [];
|
||||||
|
|
||||||
|
jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
|
||||||
|
|
||||||
|
// Complex logic lifted directly from jQuery 1.8
|
||||||
|
if ( fragment ) {
|
||||||
|
// Special handling of each script element
|
||||||
|
handleScript = function( elem ) {
|
||||||
|
// Check if we consider it executable
|
||||||
|
if ( !elem.type || rscriptType.test( elem.type ) ) {
|
||||||
|
// Detach the script and store it in the scripts array (if provided) or the fragment
|
||||||
|
// Return truthy to indicate that it has been handled
|
||||||
|
return scripts ?
|
||||||
|
scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
|
||||||
|
fragment.appendChild( elem );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i = 0; (elem = ret[i]) != null; i++ ) {
|
||||||
|
// Check if we're done after handling an executable script
|
||||||
|
if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
|
||||||
|
// Append to fragment and handle embedded scripts
|
||||||
|
fragment.appendChild( elem );
|
||||||
|
if ( typeof elem.getElementsByTagName !== "undefined" ) {
|
||||||
|
// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
|
||||||
|
jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
|
||||||
|
|
||||||
|
// Splice the scripts into ret after their former ancestor and advance our index beyond them
|
||||||
|
ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
|
||||||
|
i += jsTags.length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var eventAdd = jQuery.event.add,
|
||||||
|
eventRemove = jQuery.event.remove,
|
||||||
|
eventTrigger = jQuery.event.trigger,
|
||||||
|
oldToggle = jQuery.fn.toggle,
|
||||||
|
oldLive = jQuery.fn.live,
|
||||||
|
oldDie = jQuery.fn.die,
|
||||||
|
ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
|
||||||
|
rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
|
||||||
|
rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
|
||||||
|
hoverHack = function( events ) {
|
||||||
|
if ( typeof( events ) !== "string" || jQuery.event.special.hover ) {
|
||||||
|
return events;
|
||||||
|
}
|
||||||
|
if ( rhoverHack.test( events ) ) {
|
||||||
|
migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
|
||||||
|
}
|
||||||
|
return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
|
||||||
|
};
|
||||||
|
|
||||||
|
// Event props removed in 1.9, put them back if needed; no practical way to warn them
|
||||||
|
if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
|
||||||
|
jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
|
||||||
|
if ( jQuery.event.dispatch ) {
|
||||||
|
migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Support for 'hover' pseudo-event and ajax event warnings
|
||||||
|
jQuery.event.add = function( elem, types, handler, data, selector ){
|
||||||
|
if ( elem !== document && rajaxEvent.test( types ) ) {
|
||||||
|
migrateWarn( "AJAX events should be attached to document: " + types );
|
||||||
|
}
|
||||||
|
eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
|
||||||
|
};
|
||||||
|
jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
|
||||||
|
eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.error = function() {
|
||||||
|
var args = Array.prototype.slice.call( arguments, 0);
|
||||||
|
migrateWarn("jQuery.fn.error() is deprecated");
|
||||||
|
args.splice( 0, 0, "error" );
|
||||||
|
if ( arguments.length ) {
|
||||||
|
return this.bind.apply( this, args );
|
||||||
|
}
|
||||||
|
// error event should not bubble to window, although it does pre-1.7
|
||||||
|
this.triggerHandler.apply( this, args );
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.toggle = function( fn, fn2 ) {
|
||||||
|
|
||||||
|
// Don't mess with animation or css toggles
|
||||||
|
if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
|
||||||
|
return oldToggle.apply( this, arguments );
|
||||||
|
}
|
||||||
|
migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
|
||||||
|
|
||||||
|
// Save reference to arguments for access in closure
|
||||||
|
var args = arguments,
|
||||||
|
guid = fn.guid || jQuery.guid++,
|
||||||
|
i = 0,
|
||||||
|
toggler = function( event ) {
|
||||||
|
// Figure out which function to execute
|
||||||
|
var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
|
||||||
|
jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
|
||||||
|
|
||||||
|
// Make sure that clicks stop
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
// and execute the function
|
||||||
|
return args[ lastToggle ].apply( this, arguments ) || false;
|
||||||
|
};
|
||||||
|
|
||||||
|
// link all the functions, so any of them can unbind this click handler
|
||||||
|
toggler.guid = guid;
|
||||||
|
while ( i < args.length ) {
|
||||||
|
args[ i++ ].guid = guid;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.click( toggler );
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.live = function( types, data, fn ) {
|
||||||
|
migrateWarn("jQuery.fn.live() is deprecated");
|
||||||
|
if ( oldLive ) {
|
||||||
|
return oldLive.apply( this, arguments );
|
||||||
|
}
|
||||||
|
jQuery( this.context ).on( types, this.selector, data, fn );
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.die = function( types, fn ) {
|
||||||
|
migrateWarn("jQuery.fn.die() is deprecated");
|
||||||
|
if ( oldDie ) {
|
||||||
|
return oldDie.apply( this, arguments );
|
||||||
|
}
|
||||||
|
jQuery( this.context ).off( types, this.selector || "**", fn );
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Turn global events into document-triggered events
|
||||||
|
jQuery.event.trigger = function( event, data, elem, onlyHandlers ){
|
||||||
|
if ( !elem && !rajaxEvent.test( event ) ) {
|
||||||
|
migrateWarn( "Global events are undocumented and deprecated" );
|
||||||
|
}
|
||||||
|
return eventTrigger.call( this, event, data, elem || document, onlyHandlers );
|
||||||
|
};
|
||||||
|
jQuery.each( ajaxEvents.split("|"),
|
||||||
|
function( _, name ) {
|
||||||
|
jQuery.event.special[ name ] = {
|
||||||
|
setup: function() {
|
||||||
|
var elem = this;
|
||||||
|
|
||||||
|
// The document needs no shimming; must be !== for oldIE
|
||||||
|
if ( elem !== document ) {
|
||||||
|
jQuery.event.add( document, name + "." + jQuery.guid, function() {
|
||||||
|
jQuery.event.trigger( name, null, elem, true );
|
||||||
|
});
|
||||||
|
jQuery._data( this, name, jQuery.guid++ );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
teardown: function() {
|
||||||
|
if ( this !== document ) {
|
||||||
|
jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
})( jQuery, window );
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,885 @@
|
||||||
|
/* Style Chooser Prereq's - Author: Night | night@infsys.net */
|
||||||
|
.dropdown-menu {
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
z-index: 1000;
|
||||||
|
display: none;
|
||||||
|
float: left;
|
||||||
|
min-width: 160px;
|
||||||
|
padding: 5px 0;
|
||||||
|
margin: 2px 0 0;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: left;
|
||||||
|
list-style: none;
|
||||||
|
background-color: #fff;
|
||||||
|
-webkit-background-clip: padding-box;
|
||||||
|
background-clip: padding-box;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border: 1px solid rgba(0,0,0,.15);
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
|
||||||
|
box-shadow: 0 6px 12px rgba(0,0,0,.175);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu.pull-right {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu .divider {
|
||||||
|
height: 1px;
|
||||||
|
margin: 9px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #e5e5e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu>li>a {
|
||||||
|
display: block;
|
||||||
|
padding: 3px 20px;
|
||||||
|
clear: both;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 1.42857143;
|
||||||
|
color: #333;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover {
|
||||||
|
color: #262626;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover {
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #428bca;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover {
|
||||||
|
color: #777;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: not-allowed;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: none;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||||
|
}
|
||||||
|
|
||||||
|
.open>.dropdown-menu {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.carddisplayer {
|
||||||
|
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: .8;
|
||||||
|
color: #333;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.open>a {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu-right {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-menu-left {
|
||||||
|
right: auto;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-header {
|
||||||
|
display: block;
|
||||||
|
padding: 3px 20px;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.42857143;
|
||||||
|
color: #777;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-backdrop {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 990;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pull-right>.dropdown-menu {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropup .caret,.navbar-fixed-bottom .dropdown .caret {
|
||||||
|
content: "";
|
||||||
|
border-top: 0;
|
||||||
|
border-bottom: 4px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu {
|
||||||
|
top: auto;
|
||||||
|
bottom: 100%;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width:768px) {
|
||||||
|
.navbar-right .dropdown-menu {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-right .dropdown-menu-left {
|
||||||
|
right: auto;
|
||||||
|
left: 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group,.lbtn-group-vertical {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn,.lbtn-group>.lbtn {
|
||||||
|
position: relative;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn.active,.lbtn-group-vertical>.lbtn:active,.lbtn-group-vertical>.lbtn:focus,.lbtn-group-vertical>.lbtn:hover,.lbtn-group>.lbtn.active,.lbtn-group>.lbtn:active,.lbtn-group>.lbtn:focus,.lbtn-group>.lbtn:hover {
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn:focus,.lbtn-group>.lbtn:focus {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group .lbtn+.lbtn,.lbtn-group .lbtn+.lbtn-group,.lbtn-group .lbtn-group+.lbtn,.lbtn-group .lbtn-group+.lbtn-group {
|
||||||
|
margin-left: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-toolbar {
|
||||||
|
margin-left: -5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-toolbar .lbtn-group,.lbtn-toolbar .input-group {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-toolbar>.lbtn,.lbtn-toolbar>.lbtn-group,.lbtn-toolbar>.input-group {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn:first-child:not(:last-child):not(.dropdown-toggle) {
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn:last-child:not(:first-child),.lbtn-group>.dropdown-toggle:not(:first-child) {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn-group {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn-group:not(:first-child):not(:last-child)>.lbtn {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn-group:first-child>.lbtn:last-child,.lbtn-group>.lbtn-group:first-child>.dropdown-toggle {
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn-group:last-child>.lbtn:first-child {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group .dropdown-toggle:active,.lbtn-group.open .dropdown-toggle {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn+.dropdown-toggle {
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group>.lbtn-lg+.dropdown-toggle {
|
||||||
|
padding-right: 12px;
|
||||||
|
padding-left: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .dropdown-toggle {
|
||||||
|
-webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
|
||||||
|
box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .dropdown-toggle.lbtn-link {
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn .caret {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-lg .caret {
|
||||||
|
border-width: 5px 5px 0;
|
||||||
|
border-bottom-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropup .lbtn-lg .caret {
|
||||||
|
border-width: 0 5px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn,.lbtn-group-vertical>.lbtn-group,.lbtn-group-vertical>.lbtn-group>.lbtn {
|
||||||
|
display: block;
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn-group>.lbtn {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn+.lbtn,.lbtn-group-vertical>.lbtn+.lbtn-group,.lbtn-group-vertical>.lbtn-group+.lbtn,.lbtn-group-vertical>.lbtn-group+.lbtn-group {
|
||||||
|
margin-top: -1px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn:not(:first-child):not(:last-child) {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn:first-child:not(:last-child) {
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn:last-child:not(:first-child) {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn-group:not(:first-child):not(:last-child)>.lbtn {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn-group:first-child:not(:last-child)>.lbtn:last-child,.lbtn-group-vertical>.lbtn-group:first-child:not(:last-child)>.dropdown-toggle {
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical>.lbtn-group:last-child:not(:first-child)>.lbtn:first-child {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-justified {
|
||||||
|
display: table;
|
||||||
|
width: 100%;
|
||||||
|
table-layout: fixed;
|
||||||
|
border-collapse: separate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-justified>.lbtn,.lbtn-group-justified>.lbtn-group {
|
||||||
|
display: table-cell;
|
||||||
|
float: none;
|
||||||
|
width: 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-justified>.lbtn-group .lbtn {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-justified>.lbtn-group .dropdown-menu {
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-toggle=buttons]>.lbtn input[type=checkbox],[data-toggle=buttons]>.lbtn input[type=radio],[data-toggle=buttons]>.lbtn-group>.lbtn input[type=checkbox],[data-toggle=buttons]>.lbtn-group>.lbtn input[type=radio] {
|
||||||
|
position: absolute;
|
||||||
|
z-index: -1;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lgbtn {
|
||||||
|
padding: 4px 12px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
*margin-left: .3em;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
*line-height: 20px;
|
||||||
|
color: #333333;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
*background-color: #e6e6e6;
|
||||||
|
border: 1px solid #bbbbbb;
|
||||||
|
*border: 0;
|
||||||
|
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||||
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
|
border-bottom-color: #a2a2a2;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn:hover,
|
||||||
|
.lbtn:active,
|
||||||
|
.lbtn.active,
|
||||||
|
.lbtn.disabled,
|
||||||
|
.lbtn[disabled] {
|
||||||
|
color: #333333;
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
*background-color: #d9d9d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn:active,
|
||||||
|
.lbtn.active {
|
||||||
|
background-color: #cccccc \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn:first-child {
|
||||||
|
*margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn:hover {
|
||||||
|
color: #333333;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
*background-color: #d9d9d9;
|
||||||
|
/* Buttons in IE7 don't get borders, so darken on hover */
|
||||||
|
|
||||||
|
background-position: 0 -15px;
|
||||||
|
-webkit-transition: background-position 0.1s linear;
|
||||||
|
-moz-transition: background-position 0.1s linear;
|
||||||
|
-o-transition: background-position 0.1s linear;
|
||||||
|
transition: background-position 0.1s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn:focus {
|
||||||
|
outline: thin dotted #333;
|
||||||
|
outline: 5px auto -webkit-focus-ring-color;
|
||||||
|
outline-offset: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn.active,
|
||||||
|
.lbtn:active {
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
background-color: #d9d9d9 \9;
|
||||||
|
background-image: none;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn.disabled,
|
||||||
|
.lbtn[disabled] {
|
||||||
|
cursor: default;
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
background-image: none;
|
||||||
|
opacity: 0.65;
|
||||||
|
filter: alpha(opacity=65);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-large {
|
||||||
|
padding: 11px 19px;
|
||||||
|
font-size: 17.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-large [class^="icon-"],
|
||||||
|
.lbtn-large [class*=" icon-"] {
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-small {
|
||||||
|
padding: 2px 10px;
|
||||||
|
font-size: 11.9px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-small [class^="icon-"],
|
||||||
|
.lbtn-small [class*=" icon-"] {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-mini {
|
||||||
|
padding: 1px 6px;
|
||||||
|
font-size: 10.5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-block {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding-right: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-block + .lbtn-block {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="submit"].lbtn-block,
|
||||||
|
input[type="reset"].lbtn-block,
|
||||||
|
input[type="button"].lbtn-block {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-primary.active,
|
||||||
|
.lbtn-warning.active,
|
||||||
|
.lbtn-danger.active,
|
||||||
|
.lbtn-success.active,
|
||||||
|
.lbtn-info.active,
|
||||||
|
.lbtn-inverse.active {
|
||||||
|
color: rgba(255, 255, 255, 0.75);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn {
|
||||||
|
border-color: #c5c5c5;
|
||||||
|
border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-primary {
|
||||||
|
color: #ffffff;
|
||||||
|
text-shadow: 0;
|
||||||
|
background-color: #3498DB;
|
||||||
|
*background-color: #3498DB;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-primary:hover,
|
||||||
|
.lbtn-primary:active,
|
||||||
|
.lbtn-primary.active,
|
||||||
|
.lbtn-primary.disabled,
|
||||||
|
.lbtn-primary[disabled] {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #2980B9;
|
||||||
|
*background-color: #2980B9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-primary:active,
|
||||||
|
.lbtn-primary.active {
|
||||||
|
background-color: #003399 \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-warning {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #faa732;
|
||||||
|
*background-color: #f89406;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #f89406 #f89406 #ad6704;
|
||||||
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-warning:hover,
|
||||||
|
.lbtn-warning:active,
|
||||||
|
.lbtn-warning.active,
|
||||||
|
.lbtn-warning.disabled,
|
||||||
|
.lbtn-warning[disabled] {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #f89406;
|
||||||
|
*background-color: #df8505;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-warning:active,
|
||||||
|
.lbtn-warning.active {
|
||||||
|
background-color: #c67605 \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-danger {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #da4f49;
|
||||||
|
*background-color: #bd362f;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #bd362f #bd362f #802420;
|
||||||
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-danger:hover,
|
||||||
|
.lbtn-danger:active,
|
||||||
|
.lbtn-danger.active,
|
||||||
|
.lbtn-danger.disabled,
|
||||||
|
.lbtn-danger[disabled] {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #bd362f;
|
||||||
|
*background-color: #a9302a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-danger:active,
|
||||||
|
.lbtn-danger.active {
|
||||||
|
background-color: #942a25 \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-success {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #5bb75b;
|
||||||
|
*background-color: #51a351;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #51a351 #51a351 #387038;
|
||||||
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-success:hover,
|
||||||
|
.lbtn-success:active,
|
||||||
|
.lbtn-success.active,
|
||||||
|
.lbtn-success.disabled,
|
||||||
|
.lbtn-success[disabled] {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #51a351;
|
||||||
|
*background-color: #499249;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-success:active,
|
||||||
|
.lbtn-success.active {
|
||||||
|
background-color: #408140 \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-info {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #49afcd;
|
||||||
|
*background-color: #2f96b4;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #2f96b4 #2f96b4 #1f6377;
|
||||||
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-info:hover,
|
||||||
|
.lbtn-info:active,
|
||||||
|
.lbtn-info.active,
|
||||||
|
.lbtn-info.disabled,
|
||||||
|
.lbtn-info[disabled] {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #2f96b4;
|
||||||
|
*background-color: #2a85a0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-info:active,
|
||||||
|
.lbtn-info.active {
|
||||||
|
background-color: #24748c \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-inverse {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #363636;
|
||||||
|
*background-color: #222222;
|
||||||
|
border-color: #222222 #222222 #000000;
|
||||||
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-inverse:hover,
|
||||||
|
.lbtn-inverse:active,
|
||||||
|
.lbtn-inverse.active,
|
||||||
|
.lbtn-inverse.disabled,
|
||||||
|
.lbtn-inverse[disabled] {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #222222;
|
||||||
|
*background-color: #151515;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-inverse:active,
|
||||||
|
.lbtn-inverse.active {
|
||||||
|
background-color: #080808 \9;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.lbtn,
|
||||||
|
input[type="submit"].lbtn {
|
||||||
|
*padding-top: 3px;
|
||||||
|
*padding-bottom: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.lbtn::-moz-focus-inner,
|
||||||
|
input[type="submit"].lbtn::-moz-focus-inner {
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.lbtn.lbtn-large,
|
||||||
|
input[type="submit"].lbtn.lbtn-large {
|
||||||
|
*padding-top: 7px;
|
||||||
|
*padding-bottom: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.lbtn.lbtn-small,
|
||||||
|
input[type="submit"].lbtn.lbtn-small {
|
||||||
|
*padding-top: 3px;
|
||||||
|
*padding-bottom: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.lbtn.lbtn-mini,
|
||||||
|
input[type="submit"].lbtn.lbtn-mini {
|
||||||
|
*padding-top: 1px;
|
||||||
|
*padding-bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-link,
|
||||||
|
.lbtn-link:active,
|
||||||
|
.lbtn-link[disabled] {
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: none;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-link {
|
||||||
|
color: #0088cc;
|
||||||
|
cursor: pointer;
|
||||||
|
border-color: transparent;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-link:hover {
|
||||||
|
color: #005580;
|
||||||
|
text-decoration: underline;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-link[disabled]:hover {
|
||||||
|
color: #333333;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
*display: inline;
|
||||||
|
*margin-left: .3em;
|
||||||
|
font-size: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
vertical-align: middle;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group:first-child {
|
||||||
|
*margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group + .lbtn-group {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-toolbar {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-toolbar .lbtn + .lbtn,
|
||||||
|
.lbtn-toolbar .lbtn-group + .lbtn,
|
||||||
|
.lbtn-toolbar .lbtn + .lbtn-group {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn {
|
||||||
|
position: relative;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn + .lbtn {
|
||||||
|
margin-left: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn,
|
||||||
|
.lbtn-group > .dropdown-menu {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn-mini {
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn-small {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn-large {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn:last-child,
|
||||||
|
.lbtn-group > .dropdown-toggle {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn.large:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn.large:last-child,
|
||||||
|
.lbtn-group > .large.dropdown-toggle {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn:hover,
|
||||||
|
.lbtn-group > .lbtn:focus,
|
||||||
|
.lbtn-group > .lbtn:active,
|
||||||
|
.lbtn-group > .lbtn.active {
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group .dropdown-toggle:active,
|
||||||
|
.lbtn-group.open .dropdown-toggle {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn + .dropdown-toggle {
|
||||||
|
*padding-top: 5px;
|
||||||
|
padding-right: 8px;
|
||||||
|
*padding-bottom: 5px;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn-mini + .dropdown-toggle {
|
||||||
|
*padding-top: 2px;
|
||||||
|
padding-right: 5px;
|
||||||
|
*padding-bottom: 2px;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn-small + .dropdown-toggle {
|
||||||
|
*padding-top: 5px;
|
||||||
|
*padding-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group > .lbtn-large + .dropdown-toggle {
|
||||||
|
*padding-top: 7px;
|
||||||
|
padding-right: 12px;
|
||||||
|
*padding-bottom: 7px;
|
||||||
|
padding-left: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .dropdown-toggle {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn.dropdown-toggle {
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn-primary.dropdown-toggle {
|
||||||
|
background-color: #0044cc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn-warning.dropdown-toggle {
|
||||||
|
background-color: #f89406;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn-danger.dropdown-toggle {
|
||||||
|
background-color: #bd362f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn-success.dropdown-toggle {
|
||||||
|
background-color: #51a351;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn-info.dropdown-toggle {
|
||||||
|
background-color: #2f96b4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group.open .lbtn-inverse.dropdown-toggle {
|
||||||
|
background-color: #222222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn .caret {
|
||||||
|
margin-top: 8px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-mini .caret,
|
||||||
|
.lbtn-small .caret,
|
||||||
|
.lbtn-large .caret {
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-large .caret {
|
||||||
|
border-top-width: 5px;
|
||||||
|
border-right-width: 5px;
|
||||||
|
border-left-width: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropup .lbtn-large .caret {
|
||||||
|
border-bottom-width: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-primary .caret,
|
||||||
|
.lbtn-warning .caret,
|
||||||
|
.lbtn-danger .caret,
|
||||||
|
.lbtn-info .caret,
|
||||||
|
.lbtn-success .caret,
|
||||||
|
.lbtn-inverse .caret {
|
||||||
|
border-top-color: #ffffff;
|
||||||
|
border-bottom-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical {
|
||||||
|
display: inline-block;
|
||||||
|
*display: inline;
|
||||||
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical .lbtn {
|
||||||
|
display: block;
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical .lbtn + .lbtn {
|
||||||
|
margin-top: -1px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical .lbtn:first-child {
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical .lbtn:last-child {
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical .lbtn-large:first-child {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lbtn-group-vertical .lbtn-large:last-child {
|
||||||
|
}
|
||||||
|
input[type=button].lbtn-block,input[type=reset].lbtn-block,input[type=submit].lbtn-block {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<%--
|
<%--
|
||||||
Copyright (c) 2013, Andy Janata
|
Copyright (c) 2013, Andy Janata
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -129,9 +128,8 @@ try {
|
||||||
whiteCardsData.put(whiteCard.getId(), whiteCardData);
|
whiteCardsData.put(whiteCard.getId(), whiteCardData);
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
--%>
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html>
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
<title>Pretend You're Xyzzy: View Cards</title>
|
<title>Pretend You're Xyzzy: View Cards</title>
|
||||||
|
@ -141,9 +139,10 @@ try {
|
||||||
<script type="text/javascript" src="js/QTransform.js"></script>
|
<script type="text/javascript" src="js/QTransform.js"></script>
|
||||||
<script type="text/javascript" src="js/jquery-ui.js"></script>
|
<script type="text/javascript" src="js/jquery-ui.js"></script>
|
||||||
<link rel="stylesheet" type="text/css" href="jquery-ui.css" media="screen" />
|
<link rel="stylesheet" type="text/css" href="jquery-ui.css" media="screen" />
|
||||||
<jsp:include page="analytics.jsp" />
|
<link rel="stylesheet" type="text/css" href="nightui.css" media="screen" />
|
||||||
|
<!--<jsp:include page="analytics.jsp" />
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var data = <%= JSONValue.toJSONString(data) %>;
|
var data = ;
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
var cardSetsElem = $('#cardSets');
|
var cardSetsElem = $('#cardSets');
|
||||||
|
@ -204,52 +203,42 @@ function applyFilter(cardArray, prefix) {
|
||||||
table td {
|
table td {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
</style>
|
</style> -->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div style="float: left;">
|
<div class="jumbotron">
|
||||||
Show only cards from card sets (hold ctrl or cmd to select multiple):
|
<div class="container">
|
||||||
<br/>
|
<h1>View Cards</h1>
|
||||||
<select id="cardSets" multiple="multiple" style="height: 150px; width: 450px;">
|
<p>This feature has been disabled as it causes excessive strain on server resources.</p>
|
||||||
</select>
|
<!-- <p>CardCast decks will not appear here.</p>-->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
</div>
|
||||||
<label for="search" style="padding-left: 10px;"
|
<!--<div class="input-group">
|
||||||
title="Search for text in cards. You can use regular expressions.">
|
<span class="input-group-addon glyphicon glyphicon-search" id="basic-addon1"></span>
|
||||||
Search card text:
|
|
||||||
</label>
|
<input type="text" class="form-control" placeholder="Search cards" aria-describedby="basic-addon1">
|
||||||
<input type="text" id="search" style="width: 400px;" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
<div style="clear:both"></div>
|
<div style="clear:both"></div>
|
||||||
<table id="cardTable">
|
<table id="cardTable" class="table table-striped table-bordered table-condensed">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr class="info">
|
||||||
<th class="sorting" style="width: 75px;">Type</th>
|
<td class="success sorting" style="width: 75px;">Type</td>
|
||||||
<th class="sorting" style="width: 100%" id="cardTextColumn">Text</th>
|
<td class="info sorting" style="width: 100%" id="cardTextColumn">Text</td>
|
||||||
<th class="sorting" style="width: 100px;">Source</th>
|
<td class="error" style="width: 100px;">Source</td>
|
||||||
<th class="sorting" style="width: 75px;">Draw</th>
|
<td class="warning" style="width: 75px;">Draw</td>
|
||||||
<th class="sorting" style="width: 75px;">Pick</th>
|
<td class="sorting" style="width: 75px;">Pick</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="cards">
|
<tbody id="cards">
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
<%--
|
||||||
<%
|
<%
|
||||||
} finally {
|
} finally {
|
||||||
hibernateSession.close();
|
hibernateSession.close();
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
--%>
|
--%>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
||||||
<title>Pretend You're Xyzzy: View Cards</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p>This page has been disabled as it causes excess strain on server resources.</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
pyx.client.cookie_domain=.socialgamer.net
|
||||||
|
pyx.server.include_inactive_cardsets=false
|
||||||
|
pyx.server.max_users=1000
|
||||||
|
pyx.server.max_games=225
|
Loading…
Reference in New Issue