mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-01-07 00:48:24 +01:00
5.4.1354
This commit is contained in:
parent
eb885d09b9
commit
1eab71a1a5
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,18 @@
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
hr {
|
||||
background-color: transparent;
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
small, .small {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 1520px) {
|
||||
html {
|
||||
font-size: 95%;
|
||||
@ -18,6 +33,24 @@
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.table {
|
||||
--bs-table-striped-color: none;
|
||||
}
|
||||
|
||||
.table-dark {
|
||||
--bs-table-striped-bg: rgba(255, 255, 255, 0.05);
|
||||
--bs-table-bg: none;
|
||||
}
|
||||
|
||||
.table-dark.table-bordered {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
.card-body p + p {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
@ -35,32 +68,11 @@
|
||||
width: 22% !important;
|
||||
}
|
||||
|
||||
.sidebar-close-modal {
|
||||
position: absolute;
|
||||
opacity: 0.7;
|
||||
background-color: #000;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
width: 0 !important;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.hidden .sidebar .sidebar-brand img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
p.collapsing {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.page-link:not(:disabled):not(.disabled),
|
||||
.close:not(:disabled):not(.disabled) {
|
||||
.page-link:not(:disabled):not(.disabled) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@ -171,12 +183,6 @@ div.scrollbar {
|
||||
}
|
||||
|
||||
/* Navbar ====================================== */
|
||||
.col-red .navbar .navbar-brand,
|
||||
.col-red .navbar .navbar-brand:hover,
|
||||
.col-red .navbar .navbar-brand:active,
|
||||
.col-red .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-red .navbar .nav > li > a:hover,
|
||||
.col-red .navbar .nav > li > a:focus,
|
||||
@ -204,13 +210,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-pink .navbar .navbar-brand,
|
||||
.col-pink .navbar .navbar-brand:hover,
|
||||
.col-pink .navbar .navbar-brand:active,
|
||||
.col-pink .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-pink .navbar .nav > li > a:hover,
|
||||
.col-pink .navbar .nav > li > a:focus,
|
||||
.col-pink .navbar .nav .open > a,
|
||||
@ -237,13 +236,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-purple .navbar .navbar-brand,
|
||||
.col-purple .navbar .navbar-brand:hover,
|
||||
.col-purple .navbar .navbar-brand:active,
|
||||
.col-purple .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-purple .navbar .nav > li > a:hover,
|
||||
.col-purple .navbar .nav > li > a:focus,
|
||||
.col-purple .navbar .nav .open > a,
|
||||
@ -270,13 +262,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-deep-purple .navbar .navbar-brand,
|
||||
.col-deep-purple .navbar .navbar-brand:hover,
|
||||
.col-deep-purple .navbar .navbar-brand:active,
|
||||
.col-deep-purple .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-deep-purple .navbar .nav > li > a:hover,
|
||||
.col-deep-purple .navbar .nav > li > a:focus,
|
||||
.col-deep-purple .navbar .nav .open > a,
|
||||
@ -303,13 +288,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-indigo .navbar .navbar-brand,
|
||||
.col-indigo .navbar .navbar-brand:hover,
|
||||
.col-indigo .navbar .navbar-brand:active,
|
||||
.col-indigo .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-indigo .navbar .nav > li > a:hover,
|
||||
.col-indigo .navbar .nav > li > a:focus,
|
||||
.col-indigo .navbar .nav .open > a,
|
||||
@ -336,13 +314,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-blue .navbar .navbar-brand,
|
||||
.col-blue .navbar .navbar-brand:hover,
|
||||
.col-blue .navbar .navbar-brand:active,
|
||||
.col-blue .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-blue .navbar .nav > li > a:hover,
|
||||
.col-blue .navbar .nav > li > a:focus,
|
||||
.col-blue .navbar .nav .open > a,
|
||||
@ -369,13 +340,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-light-blue .navbar .navbar-brand,
|
||||
.col-light-blue .navbar .navbar-brand:hover,
|
||||
.col-light-blue .navbar .navbar-brand:active,
|
||||
.col-light-blue .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-light-blue .navbar .nav > li > a:hover,
|
||||
.col-light-blue .navbar .nav > li > a:focus,
|
||||
.col-light-blue .navbar .nav .open > a,
|
||||
@ -402,13 +366,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-cyan .navbar .navbar-brand,
|
||||
.col-cyan .navbar .navbar-brand:hover,
|
||||
.col-cyan .navbar .navbar-brand:active,
|
||||
.col-cyan .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-cyan .navbar .nav > li > a:hover,
|
||||
.col-cyan .navbar .nav > li > a:focus,
|
||||
.col-cyan .navbar .nav .open > a,
|
||||
@ -435,13 +392,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-teal .navbar .navbar-brand,
|
||||
.col-teal .navbar .navbar-brand:hover,
|
||||
.col-teal .navbar .navbar-brand:active,
|
||||
.col-teal .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-teal .navbar .nav > li > a:hover,
|
||||
.col-teal .navbar .nav > li > a:focus,
|
||||
.col-teal .navbar .nav .open > a,
|
||||
@ -468,13 +418,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-green .navbar .navbar-brand,
|
||||
.col-green .navbar .navbar-brand:hover,
|
||||
.col-green .navbar .navbar-brand:active,
|
||||
.col-green .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-green .navbar .nav > li > a:hover,
|
||||
.col-green .navbar .nav > li > a:focus,
|
||||
.col-green .navbar .nav .open > a,
|
||||
@ -501,13 +444,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-light-green .navbar .navbar-brand,
|
||||
.col-light-green .navbar .navbar-brand:hover,
|
||||
.col-light-green .navbar .navbar-brand:active,
|
||||
.col-light-green .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-light-green .navbar .nav > li > a:hover,
|
||||
.col-light-green .navbar .nav > li > a:focus,
|
||||
.col-light-green .navbar .nav .open > a,
|
||||
@ -534,13 +470,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-lime .navbar .navbar-brand,
|
||||
.col-lime .navbar .navbar-brand:hover,
|
||||
.col-lime .navbar .navbar-brand:active,
|
||||
.col-lime .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-lime .navbar .nav > li > a:hover,
|
||||
.col-lime .navbar .nav > li > a:focus,
|
||||
.col-lime .navbar .nav .open > a,
|
||||
@ -567,13 +496,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-yellow .navbar .navbar-brand,
|
||||
.col-yellow .navbar .navbar-brand:hover,
|
||||
.col-yellow .navbar .navbar-brand:active,
|
||||
.col-yellow .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-yellow .navbar .nav > li > a:hover,
|
||||
.col-yellow .navbar .nav > li > a:focus,
|
||||
.col-yellow .navbar .nav .open > a,
|
||||
@ -600,13 +522,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-amber .navbar .navbar-brand,
|
||||
.col-amber .navbar .navbar-brand:hover,
|
||||
.col-amber .navbar .navbar-brand:active,
|
||||
.col-amber .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-amber .navbar .nav > li > a:hover,
|
||||
.col-amber .navbar .nav > li > a:focus,
|
||||
.col-amber .navbar .nav .open > a,
|
||||
@ -633,13 +548,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-orange .navbar .navbar-brand,
|
||||
.col-orange .navbar .navbar-brand:hover,
|
||||
.col-orange .navbar .navbar-brand:active,
|
||||
.col-orange .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-orange .navbar .nav > li > a:hover,
|
||||
.col-orange .navbar .nav > li > a:focus,
|
||||
.col-orange .navbar .nav .open > a,
|
||||
@ -666,13 +574,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-deep-orange .navbar .navbar-brand,
|
||||
.col-deep-orange .navbar .navbar-brand:hover,
|
||||
.col-deep-orange .navbar .navbar-brand:active,
|
||||
.col-deep-orange .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-deep-orange .navbar .nav > li > a:hover,
|
||||
.col-deep-orange .navbar .nav > li > a:focus,
|
||||
.col-deep-orange .navbar .nav .open > a,
|
||||
@ -699,13 +600,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-brown .navbar .navbar-brand,
|
||||
.col-brown .navbar .navbar-brand:hover,
|
||||
.col-brown .navbar .navbar-brand:active,
|
||||
.col-brown .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-brown .navbar .nav > li > a:hover,
|
||||
.col-brown .navbar .nav > li > a:focus,
|
||||
.col-brown .navbar .nav .open > a,
|
||||
@ -732,13 +626,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-grey .navbar .navbar-brand,
|
||||
.col-grey .navbar .navbar-brand:hover,
|
||||
.col-grey .navbar .navbar-brand:active,
|
||||
.col-grey .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-grey .navbar .nav > li > a:hover,
|
||||
.col-grey .navbar .nav > li > a:focus,
|
||||
.col-grey .navbar .nav .open > a,
|
||||
@ -765,13 +652,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-blue-grey .navbar .navbar-brand,
|
||||
.col-blue-grey .navbar .navbar-brand:hover,
|
||||
.col-blue-grey .navbar .navbar-brand:active,
|
||||
.col-blue-grey .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-blue-grey .navbar .nav > li > a:hover,
|
||||
.col-blue-grey .navbar .nav > li > a:focus,
|
||||
.col-blue-grey .navbar .nav .open > a,
|
||||
@ -798,13 +678,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-black .navbar .navbar-brand,
|
||||
.col-black .navbar .navbar-brand:hover,
|
||||
.col-black .navbar .navbar-brand:active,
|
||||
.col-black .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-black .navbar .nav > li > a:hover,
|
||||
.col-black .navbar .nav > li > a:focus,
|
||||
.col-black .navbar .nav .open > a,
|
||||
@ -831,13 +704,6 @@ div.scrollbar {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.col-white .navbar .navbar-brand,
|
||||
.col-white .navbar .navbar-brand:hover,
|
||||
.col-white .navbar .navbar-brand:active,
|
||||
.col-white .navbar .navbar-brand:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col-white .navbar .nav > li > a:hover,
|
||||
.col-white .navbar .nav > li > a:focus,
|
||||
.col-white .navbar .nav .open > a,
|
||||
@ -889,7 +755,7 @@ div#navSrvContainer::-webkit-scrollbar-thumb {
|
||||
-webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.bg-gradient {
|
||||
.plan-bg-gradient {
|
||||
background: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.2) 100%);
|
||||
}
|
||||
|
||||
@ -1064,6 +930,7 @@ div#navSrvContainer::-webkit-scrollbar-thumb {
|
||||
.bg-teal-outline {
|
||||
border-color: #009688;
|
||||
border-style: solid;
|
||||
border-width: 3px;
|
||||
outline: #009688 solid 1px;
|
||||
}
|
||||
|
||||
@ -1381,4 +1248,9 @@ body.sidebar-hidden .navbar-nav {
|
||||
|
||||
.sidebar .nav-item .collapse {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
}
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
|
||||
<meta content="Player Analytics, generic error/debug page" name="description">
|
||||
<meta content="AuroraLS3" name="author">
|
||||
@ -18,6 +17,9 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="css/style.css" rel="stylesheet">
|
||||
|
||||
@ -45,18 +47,18 @@
|
||||
|
||||
<hr class="sidebar-divider">
|
||||
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<button class="btn bg-plan" data-target="#colorChooserModal" data-toggle="modal" type="button">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
<button class="btn bg-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
<button class="btn bg-plan" data-target="#informationModal" data-toggle="modal" type="button">
|
||||
<button class="btn bg-plan" data-bs-target="#informationModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-fw fa-question-circle"></i>
|
||||
</button>
|
||||
<a class="btn bg-plan" href="auth/logout" id="logout-button">
|
||||
<i class="fa fa-fw fa-door-open"></i> Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
${version}
|
||||
</div>
|
||||
</ul>
|
||||
@ -98,9 +100,7 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -148,7 +148,7 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -163,9 +163,7 @@
|
||||
<h5 class="modal-title" id="informationModalLabel"><i class="fa fa-fw fa-question-circle"></i>
|
||||
Information about the plugin
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Player Analytics is developed and licensed under <a
|
||||
@ -207,7 +205,7 @@
|
||||
target="_blank"><i class="fa fa-fw fa-chart-area"></i> Velocity</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -220,7 +218,7 @@
|
||||
<div class="modal-content">
|
||||
${updateModal}
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -230,10 +228,12 @@
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="js/sb-admin-2.js"></script>
|
||||
|
@ -150,16 +150,16 @@
|
||||
`.bg-lime {background-color: ${lime};color: #eee8d5;}` +
|
||||
`.bg-yellow {background-color: ${yellow};color: #eee8d5;}` +
|
||||
`.bg-amber {background-color: ${amber};color: #eee8d5;}` +
|
||||
`.badge-warning {background-color: ${warningColor};color: #eee8d5;}` +
|
||||
`.bg-warning {background-color: ${warningColor};color: #eee8d5;}` +
|
||||
`.bg-orange {background-color: ${orange};color: #eee8d5;}` +
|
||||
`.bg-deep-orange {background-color: ${deepOrange};color: #eee8d5;}` +
|
||||
`.badge-danger {background-color: ${dangerColor};color: #eee8d5;}` +
|
||||
`.bg-danger {background-color: ${dangerColor};color: #eee8d5;}` +
|
||||
`.bg-brown {background-color: ${brown};color: #eee8d5;}` +
|
||||
`.bg-grey {background-color: ${grey};color: #eee8d5;}` +
|
||||
`.bg-blue-grey {background-color: ${blueGrey};color: #eee8d5;}` +
|
||||
`.bg-black {background-color: ${black};color: #eee8d5;}` +
|
||||
`.bg-plan,.page-item.active .page-link {background-color: ${planColor};color: #eee8d5;}` +
|
||||
`.badge-success {background-color: ${successColor};color: #eee8d5;}` +
|
||||
`.bg-success {background-color: ${successColor};color: #eee8d5;}` +
|
||||
`.bg-night {background-color: #44475a;color: #eee8d5;}` +
|
||||
`.bg-red-outline {outline-color: ${red};border-color: ${red};}` +
|
||||
`.bg-pink-outline {outline-color: ${pink};border-color: ${pink};}` +
|
||||
@ -215,16 +215,18 @@
|
||||
'.card,.bg-white,.modal-content,.page-loader,.nav-tabs .nav-link:hover,.nav-tabs,hr,form .btn, .btn-outline-secondary{background-color:#44475a!important;border-color:#6272a4!important;}' +
|
||||
'.bg-white.collapse-inner {border:1px solid;}' +
|
||||
'.card-header {background-color:#44475a;border-color:#6272a4;}' +
|
||||
'#content,.col-black,.text-gray-900,.text-gray-800,.collapse-item,.modal-title,.modal-body,.page-loader,.close,.fc-title,.fc-time,pre,.table-dark,input::placeholder{color:#eee8d5 !important;}' +
|
||||
'#content,.col-black,.text-gray-900,.text-gray-800,.collapse-item,.modal-title,.modal-body,.page-loader,.fc-title,.fc-time,pre,.table-dark,input::placeholder{color:#eee8d5 !important;}' +
|
||||
'.collapse-item:hover,.nav-link.active {background-color: #606270 !important;}' +
|
||||
'.nav-tabs .nav-link.active {background-color: #44475a !important;border-color:#6272a4 #6272a4 #44475a !important;}' +
|
||||
'.fc-today {background:#646e8c !important}' +
|
||||
'.fc-popover-body,.fc-popover-header{background-color: #44475a !important;color: #eee8d5 !important;}' +
|
||||
'select,input,.dataTables_paginate .page-item:not(.active) a,.input-group-prepend > * {background-color:#44475a !important;border-color:#6272a4 !important;color: #eee8d5 !important;}' +
|
||||
'select,input,.dataTables_paginate .page-item:not(.active) a,.input-group-text,.input-group-text > * {background-color:#44475a !important;border-color:#6272a4 !important;color: #eee8d5 !important;}' +
|
||||
nightModeColors +
|
||||
'</style>');
|
||||
// Turn bright tables to dark
|
||||
$('.table').addClass('table-dark');
|
||||
// Turn modal close buttons light
|
||||
document.querySelectorAll('button.btn-close').forEach(element => { element.classList.add('btn-close-white'); })
|
||||
// Sidebar is grey when in night mode
|
||||
disableColorSetters();
|
||||
setColor('night');
|
||||
@ -233,6 +235,8 @@
|
||||
$('#nightmode').remove();
|
||||
// Turn dark tables bright again
|
||||
$('.table').removeClass('table-dark');
|
||||
// Turn modal close buttons dark
|
||||
document.querySelectorAll('button.btn-close').forEach(element => { element.classList.remove('btn-close-white'); })
|
||||
// Sidebar is colorful
|
||||
enableColorSetters();
|
||||
setColor(window.localStorage.getItem('themeColor'));
|
||||
|
@ -25,18 +25,25 @@ class MultipleChoiceFilter extends Filter {
|
||||
render(filterCount) {
|
||||
const select = filterCount === 0 ? "of Players who " : "and ";
|
||||
let html =
|
||||
`<div id="${this.id}" class="mt-2 input-group input-row">
|
||||
<div class="col-12">
|
||||
<label for="${this.id}">${select}${this.label}:</label>
|
||||
<button class="filter-remover btn btn-outline-secondary float-right"
|
||||
onclick="removeFilter('${this.id}')"><i class="far fa-fw fa-trash-alt"></i></button>
|
||||
<select class="form-control" multiple style="margin-bottom: 0.5rem;">`;
|
||||
`<div id="${this.id}" class="mt-2">
|
||||
<label class="form-label" for="${this.id}">${select}${this.label}:</label>
|
||||
<div class="row">
|
||||
<div class="col-11 flex-fill">
|
||||
<select class="form-control" multiple style="margin-bottom: 0.5rem;">`;
|
||||
|
||||
for (const option of this.options.options) {
|
||||
html += `<option>${option}</option>`;
|
||||
}
|
||||
|
||||
html += `</select></div></div>`;
|
||||
html +=
|
||||
` </select>
|
||||
</div>
|
||||
<div class="col-1 col-md-auto my-auto">
|
||||
<button class="filter-remover btn btn-outline-secondary float-end"
|
||||
onclick="removeFilter('${this.id}')"><i class="far fa-fw fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
return html;
|
||||
}
|
||||
|
||||
@ -119,50 +126,51 @@ class BetweenDateFilter extends Filter {
|
||||
const select = filterCount === 0 ? "of Players who " : "and ";
|
||||
return (
|
||||
`<div id="${id}">
|
||||
<label class="ml-2 mt-0 mb-0">${select}${this.label}:</label>
|
||||
<div class="mt-2 input-group input-row">
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend"><div class="input-group-text">
|
||||
<label>${select}${this.label}:</label>
|
||||
<div class="my-2 row justify-content-start">
|
||||
<div class="col-6 col-md-3">
|
||||
<div class="input-group">
|
||||
<div class="input-group-text">
|
||||
<i class="far fa-calendar"></i>
|
||||
</div></div>
|
||||
</div>
|
||||
<input id="${id}-afterdate" class="form-control" placeholder="${this.afterDate}" type="text"
|
||||
onkeyup="setFilterOption('${id}', '${id}-afterdate', 'afterDate', isValidDate, correctDate)">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend"><div class="input-group-text">
|
||||
<div class="col-6 col-md-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-text">
|
||||
<i class="far fa-clock"></i>
|
||||
</div></div>
|
||||
</div>
|
||||
<input id="${id}-aftertime" class="form-control" placeholder="${this.afterTime}" type="text"
|
||||
onkeyup="setFilterOption('${id}', '${id}-aftertime', 'afterTime', isValidTime, correctTime)">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<label class="mt-2 mb-0" for="inlineFormCustomSelectPref">&</label>
|
||||
<div class="col-12 col-md-1 text-center my-1 my-md-2 flex-fill">
|
||||
<label for="inlineFormCustomSelectPref">&</label>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend"><div class="input-group-text">
|
||||
<div class="col-6 col-md-3">
|
||||
<div class="input-group">
|
||||
<div class="input-group-text">
|
||||
<i class="far fa-calendar"></i>
|
||||
</div></div>
|
||||
</div>
|
||||
<input id="${id}-beforedate" class="form-control" placeholder="${this.beforeDate}" type="text"
|
||||
onkeyup="setFilterOption('${id}', '${id}-beforedate', 'beforeDate', isValidDate, correctDate)">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend"><div class="input-group-text">
|
||||
<div class="col-5 col-md-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-text">
|
||||
<i class="far fa-clock"></i>
|
||||
</div></div>
|
||||
</div>
|
||||
<input id="${id}-beforetime" class="form-control" placeholder="${this.beforeTime}" type="text"
|
||||
onkeyup="setFilterOption('${id}', '${id}-beforetime', 'beforeTime', isValidTime, correctTime)">
|
||||
</div>
|
||||
</div>
|
||||
<button class="filter-remover btn btn-outline-secondary float-right"
|
||||
style="position: absolute;right: 0.8rem;"
|
||||
<div class="col-1 col-md-auto">
|
||||
<button class="filter-remover btn btn-outline-secondary float-end"
|
||||
onclick="removeFilter('${this.id}')"><i class="far fa-fw fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
);
|
||||
|
@ -220,7 +220,7 @@ function mapToDataSeries(performanceData) {
|
||||
}
|
||||
|
||||
function performanceChart(id, playersOnlineSeries, tpsSeries, cpuSeries, ramSeries, entitySeries, chunkSeries) {
|
||||
graphs.push(Highcharts.stockChart(id, {
|
||||
const chart = Highcharts.stockChart(id, {
|
||||
rangeSelector: {
|
||||
selected: 2,
|
||||
buttons: linegraphButtons
|
||||
@ -270,7 +270,23 @@ function performanceChart(id, playersOnlineSeries, tpsSeries, cpuSeries, ramSeri
|
||||
enabled: true
|
||||
},
|
||||
series: [playersOnlineSeries, tpsSeries, cpuSeries, ramSeries, entitySeries, chunkSeries]
|
||||
}));
|
||||
});
|
||||
|
||||
function toggleLabels() {
|
||||
if (!chart || !chart.yAxis || !chart.yAxis.length) return;
|
||||
const newWidth = $(window).width();
|
||||
chart.yAxis[0].update({labels: {enabled: newWidth >= 900}});
|
||||
chart.yAxis[1].update({labels: {enabled: newWidth >= 900}});
|
||||
chart.yAxis[2].update({labels: {enabled: newWidth >= 1000}});
|
||||
chart.yAxis[3].update({labels: {enabled: newWidth >= 1000}});
|
||||
chart.yAxis[4].update({labels: {enabled: newWidth >= 1400}});
|
||||
chart.yAxis[5].update({labels: {enabled: newWidth >= 1400}});
|
||||
}
|
||||
|
||||
$(window).resize(toggleLabels);
|
||||
toggleLabels();
|
||||
|
||||
graphs.push(chart);
|
||||
}
|
||||
|
||||
function playersChart(id, playersOnlineSeries, sel) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
const trend_up_good = "<span class=\"badge badge-success\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_up_bad = "<span class=\"badge badge-danger\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_down_bad = "<span class=\"badge badge-danger\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_down_good = "<span class=\"badge badge-success\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_same = "<span class=\"badge badge-warning\"><i class=\"fa fa-caret-right\"></i> ";
|
||||
const trend_up_good = "<span class=\"badge bg-success\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_up_bad = "<span class=\"badge bg-danger\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_down_bad = "<span class=\"badge bg-danger\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_down_good = "<span class=\"badge bg-success\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_same = "<span class=\"badge bg-warning\"><i class=\"fa fa-caret-right\"></i> ";
|
||||
|
||||
const trend_end = "</span>";
|
||||
|
||||
@ -276,19 +276,19 @@ function addserverToNav(server) {
|
||||
function createnetworkserverBox(i, server) {
|
||||
return `<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black">
|
||||
<h6 class="m-0 fw-bold col-black">
|
||||
<i class="fas fa-fw fa-server col-light-green"></i> ${server.name}
|
||||
</h6>
|
||||
<div class="mb-0 col-lg-6">
|
||||
<p class="mb-1"><i class="fa fa-fw fa-users col-black"></i> Registered Players<span class="float-right"><b>${server.players}</b></span></p>
|
||||
<p class="mb-0"><i class="fa fa-fw fa-user col-blue"></i> Players Online<span class="float-right"><b>${server.online}</b></span></p>
|
||||
<p class="mb-1"><i class="fa fa-fw fa-users col-black"></i> Registered Players<span class="float-end"><b>${server.players}</b></span></p>
|
||||
<p class="mb-0"><i class="fa fa-fw fa-user col-blue"></i> Players Online<span class="float-end"><b>${server.online}</b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<a class="btn col-light-green ml-2" href="server/${server.name}">
|
||||
<a class="btn col-light-green ms-2" href="server/${server.name}">
|
||||
<i class="fa fa-fw fa-chart-line"></i> Server Analysis
|
||||
</a>
|
||||
<button class="btn bg-blue my-2 mr-2" id="server_quick_view_${i}">
|
||||
<button class="btn bg-blue my-2 me-2" id="server_quick_view_${i}">
|
||||
Quick view <i class="fa fa-fw fa-caret-square-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
@ -373,7 +373,8 @@ function loadHourlyUniqueAndNewGraph(json, error) {
|
||||
}
|
||||
}
|
||||
|
||||
function loadServerPie(json, error) {
|
||||
// Lowercase due to locale translation: Server
|
||||
function loadserverPie(json, error) {
|
||||
if (json) {
|
||||
serverPieSeries = {
|
||||
name: 'Server Playtime',
|
||||
|
@ -197,7 +197,7 @@ function onOpenserver(i, servers) {
|
||||
|
||||
// Lowercase due to locale translation: Server
|
||||
function createserverAccordionTitle(i, server) {
|
||||
return '<tr id="server_h_' + i + '" aria-controls="server_t_' + i + '" aria-expanded="false" class="clickable collapsed bg-light-green-outline" data-target="#server_t_' + i + '" data-toggle="collapse"><td>'
|
||||
return '<tr id="server_h_' + i + '" aria-controls="server_t_' + i + '" aria-expanded="false" class="clickable collapsed bg-light-green-outline" data-bs-target="#server_t_' + i + '" data-bs-toggle="collapse"><td>'
|
||||
+ server.server_name +
|
||||
(server.operator ? ' <i class="fab fa-fw fa-superpowers"></i>' : '') +
|
||||
(server.banned ? ' <i class="fas fa-fw fa-gavel"></i>' : '') +
|
||||
@ -217,15 +217,15 @@ function createserverAccordionBody(i, server) {
|
||||
(server.operator ? `<p><i class="col-blue fab fa-fw fa-superpowers"></i> Operator</p>` : ``) +
|
||||
(server.banned ? `<p><i class="col-red fas fa-fw fa-gavel"></i> Banned</p>` : ``) +
|
||||
(server.operator || server.banned ? `<br>` : ``) +
|
||||
`<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions<span class="float-right"><b>` + server.session_count + `</b></span></p>` +
|
||||
`<p><i class="col-green far fa-fw fa-clock"></i> Playtime<span class="float-right"><b>` + server.playtime + `</b></span></p>` +
|
||||
`<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span class="float-right"><b>` + server.afk_time + `</b></span></p>` +
|
||||
`<p><i class="col-teal far fa-fw fa-clock"></i> Longest Session<span class="float-right"><b>` + server.longest_session_length + `</b></span></p>` +
|
||||
`<p><i class="col-teal far fa-fw fa-clock"></i> Session Median<span class="float-right"><b>` + server.session_median + `</b></span></p>` +
|
||||
`<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions<span class="float-end"><b>` + server.session_count + `</b></span></p>` +
|
||||
`<p><i class="col-green far fa-fw fa-clock"></i> Playtime<span class="float-end"><b>` + server.playtime + `</b></span></p>` +
|
||||
`<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span class="float-end"><b>` + server.afk_time + `</b></span></p>` +
|
||||
`<p><i class="col-teal far fa-fw fa-clock"></i> Longest Session<span class="float-end"><b>` + server.longest_session_length + `</b></span></p>` +
|
||||
`<p><i class="col-teal far fa-fw fa-clock"></i> Session Median<span class="float-end"><b>` + server.session_median + `</b></span></p>` +
|
||||
`<br>` +
|
||||
`<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span class="float-right"><b>` + server.player_kills + `</b></span></p>` +
|
||||
`<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span class="float-right"><b>` + server.mob_kills + `</b></span></p>` +
|
||||
`<p><i class=" fa fa-fw fa-skull"></i> Deaths<span class="float-right"><b>` + server.deaths + `</b></span></p>` +
|
||||
`<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span class="float-end"><b>` + server.player_kills + `</b></span></p>` +
|
||||
`<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span class="float-end"><b>` + server.mob_kills + `</b></span></p>` +
|
||||
`<p><i class=" fa fa-fw fa-skull"></i> Deaths<span class="float-end"><b>` + server.deaths + `</b></span></p>` +
|
||||
`</div><div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">` +
|
||||
`<div id="worldpie_server_` + i + `" class="chart-pie"></div>` +
|
||||
`</div>` +
|
||||
|
@ -349,6 +349,11 @@ function displayResults(json) {
|
||||
data: json.data.players.data,
|
||||
order: [[5, "desc"]]
|
||||
});
|
||||
|
||||
if (nightmode) {
|
||||
document.querySelector('.table').classList.add('table-dark');
|
||||
}
|
||||
|
||||
const activityIndexHeader = document.querySelector("#DataTables_Table_0 thead th:nth-of-type(2)");
|
||||
const lastSeenHeader = document.querySelector("#DataTables_Table_0 thead th:nth-of-type(6)");
|
||||
activityIndexHeader.innerHTML += ` (${json.view.beforeDate})`
|
||||
@ -417,17 +422,15 @@ function displayDataResultScreen(resultCount, view) {
|
||||
<div class="col-xs-12 col-sm-12 col-lg-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black" title=" ${afterDate} ${afterTime} - ${beforeDate} ${beforeTime}"><i
|
||||
<h6 class="m-0 fw-bold col-black" title=" ${afterDate} ${afterTime} - ${beforeDate} ${beforeTime}"><i
|
||||
class="fas fa-fw fa-users col-black"></i>
|
||||
View: ${afterDate} - ${beforeDate}</h6>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-striped table-hover player-table dataTable">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped table-hover player-table" style="width: 100%">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -436,7 +439,7 @@ function displayDataResultScreen(resultCount, view) {
|
||||
<div class="col-xl-8 col-lg-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-chart-line col-amber"></i>
|
||||
Activity of matched players</h6>
|
||||
</div>
|
||||
@ -446,7 +449,7 @@ function displayDataResultScreen(resultCount, view) {
|
||||
<div class="col-xl-4 col-lg-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-users col-amber"></i>
|
||||
Activity on <span id="activity-date"></span></h6>
|
||||
</div>
|
||||
@ -459,29 +462,29 @@ function displayDataResultScreen(resultCount, view) {
|
||||
<div class="col-xl-3 col-lg-3 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="col-teal far fa-calendar"></i> Sessions within view</h6>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="col-teal far fa-calendar"></i> Sessions within view</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_players">
|
||||
<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions<span
|
||||
class="float-right"><b id="data_total_sessions"></b></span></p>
|
||||
class="float-end"><b id="data_total_sessions"></b></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-calendar-check"></i> Average Sessions / Player<span
|
||||
class="float-right"><b id="data_average_sessions"></b></span></p>
|
||||
class="float-end"><b id="data_average_sessions"></b></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-clock"></i> Average Session Length<span
|
||||
class="float-right" id="data_average_session_length"></span></p>
|
||||
class="float-end" id="data_average_session_length"></span></p>
|
||||
<hr>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Playtime<span
|
||||
class="float-right" id="data_total_playtime"></span></p>
|
||||
class="float-end" id="data_total_playtime"></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Active Playtime<span
|
||||
class="float-right" id="data_total_active_playtime"></span></p>
|
||||
class="float-end" id="data_total_active_playtime"></span></p>
|
||||
<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span
|
||||
class="float-right" id="data_total_afk_playtime"></span></p>
|
||||
class="float-end" id="data_total_afk_playtime"></span></p>
|
||||
<hr>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Average Playtime / Player<span
|
||||
class="float-right" id="data_average_playtime"></span></p>
|
||||
class="float-end" id="data_average_playtime"></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Average Active Playtime / Player<span
|
||||
class="float-right" id="data_average_active_playtime"></span></p>
|
||||
class="float-end" id="data_average_active_playtime"></span></p>
|
||||
<p><i class="col-grey far fa-fw fa-clock"></i> Average AFK Time / Player<span
|
||||
class="float-right" id="data_average_afk_playtime"></span></p>
|
||||
class="float-end" id="data_average_afk_playtime"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -489,7 +492,7 @@ function displayDataResultScreen(resultCount, view) {
|
||||
<div class="col-xl-9 col-lg-9 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-globe col-green"></i>
|
||||
Geolocations</h6>
|
||||
</div>
|
||||
|
@ -37,7 +37,14 @@ function openPage() {
|
||||
|
||||
if (uriHash.length > 1) {
|
||||
const bootstrapTabId = uriHash[1];
|
||||
$('a[href="#' + bootstrapTabId + '"]').tab('show');
|
||||
let tab = document.querySelector('a[href="#' + bootstrapTabId + '"]');
|
||||
let tabInstance = bootstrap.Tab.getInstance(tab);
|
||||
|
||||
if (tabInstance) { // show tab if it has been instantiated
|
||||
tabInstance.show();
|
||||
} else { // create new Tab object and show the tab
|
||||
new bootstrap.Tab(tab).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,7 +104,10 @@ function reduceSidebar() {
|
||||
if (!isModalCloserHidden) closeModal.classList.add('hidden');
|
||||
|
||||
// Close any open menu accordions when window is resized
|
||||
$('.sidebar .collapse').collapse('hide');
|
||||
document.querySelectorAll('.sidebar .collapse').forEach(element => {
|
||||
let elCollapse = bootstrap.Collapse.getInstance(element);
|
||||
if (elCollapse) { elCollapse.hide(); }
|
||||
})
|
||||
} else if ($(window).width() > 1400 && isSidebarHidden) {
|
||||
body.classList.remove('sidebar-hidden');
|
||||
if (!isModalCloserHidden) closeModal.classList.add('hidden');
|
||||
@ -110,7 +120,11 @@ $(window).resize(reduceSidebar);
|
||||
|
||||
function toggleSidebar() {
|
||||
document.querySelector('body').classList.toggle('sidebar-hidden');
|
||||
$('.sidebar .collapse').collapse('hide');
|
||||
// Close any open menu accordions
|
||||
document.querySelectorAll('.sidebar .collapse').forEach(element => {
|
||||
let elCollapse = bootstrap.Collapse.getInstance(element);
|
||||
if (elCollapse) { elCollapse.hide(); }
|
||||
})
|
||||
|
||||
const closeModal = document.querySelector('.sidebar-close-modal');
|
||||
if ($(window).width() < 900) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
const trend_up_good = "<span class=\"badge badge-success\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_up_bad = "<span class=\"badge badge-danger\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_down_bad = "<span class=\"badge badge-danger\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_down_good = "<span class=\"badge badge-success\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_same = "<span class=\"badge badge-warning\"><i class=\"fa fa-caret-right\"></i> ";
|
||||
const trend_up_good = "<span class=\"badge bg-success\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_up_bad = "<span class=\"badge bg-danger\"><i class=\"fa fa-caret-up\"></i> ";
|
||||
const trend_down_bad = "<span class=\"badge bg-danger\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_down_good = "<span class=\"badge bg-success\"><i class=\"fa fa-caret-down\"></i> ";
|
||||
const trend_same = "<span class=\"badge bg-warning\"><i class=\"fa fa-caret-right\"></i> ";
|
||||
|
||||
const trend_end = "</span>";
|
||||
|
||||
@ -47,6 +47,7 @@ function displayError(element, error) {
|
||||
}
|
||||
|
||||
/* This function loads Server Overview tab */
|
||||
// Lowercase due to locale translation: Server
|
||||
function loadserverOverviewValues(json, error) {
|
||||
const tab = document.getElementById('server-overview');
|
||||
|
||||
|
@ -67,7 +67,7 @@ function loadPlayerdeaths(json, error) {
|
||||
function createAccordionTitle(i, session) {
|
||||
let style = session.start.includes("Online") ? 'bg-teal' : 'bg-teal-outline';
|
||||
return `<tr id="session_h_${i}" aria-controls="session_t_${i}" aria-expanded="false"
|
||||
class="clickable collapsed ${style}" data-target="#session_t_${i}" data-toggle="collapse">
|
||||
class="clickable collapsed ${style}" data-bs-target="#session_t_${i}" data-bs-toggle="collapse">
|
||||
<td>${session.name}${session.first_session ? ` <i title="Registered (First session)" class="far fa-calendar-plus"></i>` : ``}</td>
|
||||
<td>${session.start}</td><td>${session.length}</td>
|
||||
<td>${session.network_server ? session.network_server : session.most_used_world}</td>
|
||||
@ -79,24 +79,24 @@ function createAccordionBody(i, session) {
|
||||
<td colspan="4">
|
||||
<div class="collapse row" data-parent="#tableAccordion" id="session_t_${i}">
|
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
|
||||
<p><i class="col-teal far fa-fw fa-clock"></i> Ended<span class="float-right"><b>${session.end}</b></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Length<span class="float-right"><b>${session.length}</b></span></p>
|
||||
<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span class="float-right"><b>${session.afk_time}</b></span></p>
|
||||
<p><i class="col-green fa fa-fw fa-server"></i> Server<span class="float-right"><b>${session.server_name}</b></span></p>
|
||||
${session.avg_ping ? `<p><i class="col-amber fa fa-fw fa-signal"></i> Average Ping<span class="float-right"><b>` + session.avg_ping + `</b></span></p>` : ``}
|
||||
<p><i class="col-teal far fa-fw fa-clock"></i> Ended<span class="float-end"><b>${session.end}</b></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Length<span class="float-end"><b>${session.length}</b></span></p>
|
||||
<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span class="float-end"><b>${session.afk_time}</b></span></p>
|
||||
<p><i class="col-green fa fa-fw fa-server"></i> Server<span class="float-end"><b>${session.server_name}</b></span></p>
|
||||
${session.avg_ping ? `<p><i class="col-amber fa fa-fw fa-signal"></i> Average Ping<span class="float-end"><b>` + session.avg_ping + `</b></span></p>` : ``}
|
||||
<br>
|
||||
<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span class="float-right"><b>${session.player_kills.length}</b></span></p>
|
||||
<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span class="float-right"><b>${session.mob_kills}</b></span></p>
|
||||
<p><i class=" fa fa-fw fa-skull"></i> Deaths<span class="float-right"><b>${session.deaths}</b></span></p>
|
||||
<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span class="float-end"><b>${session.player_kills.length}</b></span></p>
|
||||
<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span class="float-end"><b>${session.mob_kills}</b></span></p>
|
||||
<p><i class=" fa fa-fw fa-skull"></i> Deaths<span class="float-end"><b>${session.deaths}</b></span></p>
|
||||
<hr>
|
||||
${createKillsTable(session.player_kills)}
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
|
||||
<div id="worldpie_${i}" class="chart-pie"></div>
|
||||
<a href="${session.network_server ? `./player/` : `../player/`}${session.player_uuid}" class="float-right btn bg-blue">
|
||||
<a href="${session.network_server ? `./player/` : `../player/`}${session.player_uuid}" class="float-end btn bg-blue">
|
||||
<i class="fa fa-user"></i><span> Player Page</span>
|
||||
</a>
|
||||
${session.network_server ? `<a href="./server/${session.server_url_name}" class="float-right btn bg-light-green mr-2">
|
||||
${session.network_server ? `<a href="./server/${session.server_url_name}" class="float-end btn bg-light-green me-2">
|
||||
<i class="fa fa-server"></i><span> Server Analysis</span>
|
||||
</a>` : ``}
|
||||
</div>
|
||||
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
|
||||
<meta content="Player Analytics, login page" name="description">
|
||||
<meta content="AuroraLS3" name="author">
|
||||
@ -18,12 +17,15 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="css/style.css" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="bg-plan bg-gradient">
|
||||
<body class="bg-plan plan-bg-gradient">
|
||||
|
||||
<script>
|
||||
function login() {
|
||||
@ -69,8 +71,8 @@
|
||||
<div class="container">
|
||||
|
||||
<!-- Outer Row -->
|
||||
<div class="row justify-content-center">
|
||||
<img alt="logo" class="w-15 mt-5" src="img/Flaticon_circle.png">
|
||||
<div class="col-12 mt-5 text-center">
|
||||
<img alt="logo" class="w-15" src="img/Flaticon_circle.png">
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xl-6 col-lg-7 col-md-9">
|
||||
@ -84,29 +86,29 @@
|
||||
Failed
|
||||
</div>
|
||||
<form class="user">
|
||||
<div class="form-group">
|
||||
<div class="mb-3">
|
||||
<input autocomplete="username" class="form-control form-control-user"
|
||||
id="inputUser"
|
||||
placeholder="Username" type="text">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="mb-3">
|
||||
<input autocomplete="current-password" class="form-control form-control-user"
|
||||
id="inputPassword" placeholder="Password"
|
||||
type="password">
|
||||
</div>
|
||||
<button class="btn bg-plan btn-user btn-block" href="#" id="login-button">
|
||||
<button class="btn bg-plan btn-user w-100" href="#" id="login-button">
|
||||
Login
|
||||
</button>
|
||||
</form>
|
||||
<hr>
|
||||
<hr class="bg-secondary">
|
||||
<div class="text-center">
|
||||
<a class="col-plan small" href="#" id="forgot-button">Forgot Password?</a>
|
||||
<a class="col-plan small" href="#" data-bs-toggle="modal" data-bs-target="#forgotModal">Forgot Password?</a>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a class="col-plan small" href="./register">Create an Account!</a>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn col-plan" data-target="#colorChooserModal" data-toggle="modal"
|
||||
<button class="btn col-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal"
|
||||
type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
@ -132,9 +134,7 @@
|
||||
<h5 class="modal-title" id="forgotModalLabel"><i class="far fa-fw fa-hand-point-right"></i>
|
||||
Forgot password? Unregister and register again.
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body bg-white">
|
||||
<p>Use the following command in game to remove your current user:</p>
|
||||
@ -155,9 +155,7 @@
|
||||
<div class="modal-header bg-white">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body bg-white">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -205,17 +203,19 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="js/xmlhttprequests.js"></script>
|
||||
@ -235,8 +235,6 @@
|
||||
errorElement.innerText = message;
|
||||
errorElement.classList.remove('hidden');
|
||||
}
|
||||
|
||||
document.getElementById('forgot-button').addEventListener('click', () => $('#forgotModal').modal());
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
|
||||
<meta content="Player Analytics, network page that allows gaining insights to how players play on your network & servers."
|
||||
name="description">
|
||||
@ -20,6 +19,9 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="./css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="./css/style.css" rel="stylesheet">
|
||||
|
||||
@ -60,8 +62,8 @@
|
||||
</div>
|
||||
|
||||
<li class="nav-item">
|
||||
<a aria-controls="serverPages" aria-expanded="true" class="nav-link collapsed" data-target="#serverPages"
|
||||
data-toggle="collapse" href="#">
|
||||
<a aria-controls="serverPages" aria-expanded="true" class="nav-link collapsed" data-bs-target="#serverPages"
|
||||
data-bs-toggle="collapse" href="#">
|
||||
<i class="fas fa-fw fa-server"></i>
|
||||
<span>Servers</span>
|
||||
</a>
|
||||
@ -82,8 +84,8 @@
|
||||
|
||||
<li class="nav-item">
|
||||
<a aria-controls="playerbasePages" aria-expanded="true" class="nav-link collapsed"
|
||||
data-target="#playerbasePages"
|
||||
data-toggle="collapse" href="#">
|
||||
data-bs-target="#playerbasePages"
|
||||
data-bs-toggle="collapse" href="#">
|
||||
<i class="fas fa-fw fa-users"></i>
|
||||
<span>Playerbase</span>
|
||||
</a>
|
||||
@ -123,18 +125,18 @@
|
||||
<hr class="sidebar-divider">
|
||||
</div>
|
||||
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<button class="btn bg-plan" data-target="#colorChooserModal" data-toggle="modal" type="button">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
<button class="btn bg-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
<button class="btn bg-plan" data-target="#informationModal" data-toggle="modal" type="button">
|
||||
<button class="btn bg-plan" data-bs-target="#informationModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-fw fa-question-circle"></i>
|
||||
</button>
|
||||
<a class="btn bg-plan" href="./auth/logout" id="logout-button">
|
||||
<i class="fa fa-fw fa-door-open"></i> Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
${version}
|
||||
</div>
|
||||
</ul>
|
||||
@ -168,18 +170,18 @@
|
||||
<li class="nav-item">
|
||||
<a aria-controls="profile" aria-selected="false"
|
||||
class="nav-link active col-black"
|
||||
data-toggle="tab"
|
||||
data-bs-toggle="tab"
|
||||
href="#online-tab" id="online-online-tab" role="tab">
|
||||
<i class="fas fa-fw fa-chart-area col-blue"></i> Network Online Activity</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="home" aria-selected="true" class="nav-link col-black"
|
||||
data-toggle="tab" href="#unique-tab" id="online-unique-tab" role="tab"><i
|
||||
data-bs-toggle="tab" href="#unique-tab" id="online-unique-tab" role="tab"><i
|
||||
class="fa fa-fw fa-chart-area col-blue"></i> Day by Day</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="home" aria-selected="true" class="nav-link col-black"
|
||||
data-toggle="tab" href="#hourly-unique-tab" id="online-hourly-unique-tab"
|
||||
data-bs-toggle="tab" href="#hourly-unique-tab" id="online-hourly-unique-tab"
|
||||
role="tab"><i
|
||||
class="fa fa-fw fa-chart-area col-blue"></i> Hour by Hour</a>
|
||||
</li>
|
||||
@ -210,24 +212,24 @@
|
||||
<div class="col-xl-3 col-lg-3 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black">Players</h6>
|
||||
<h6 class="m-0 fw-bold col-black">Players</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_players">
|
||||
<p>Last 24 hours</p>
|
||||
<p><i class="col-blue fa fa-fw fa-users"></i> Unique Players<span
|
||||
class="float-right"><b id="data_unique_players_1d"></b></span></p>
|
||||
class="float-end"><b id="data_unique_players_1d"></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-plus"></i> New Players<span
|
||||
class="float-right"><b id="data_new_players_1d"></b></span></p>
|
||||
class="float-end"><b id="data_new_players_1d"></b></span></p>
|
||||
<p>Last 7 days</p>
|
||||
<p><i class="col-blue fa fa-fw fa-users"></i> Unique Players<span
|
||||
class="float-right"><b id="data_unique_players_7d"></b></span></p>
|
||||
class="float-end"><b id="data_unique_players_7d"></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-plus"></i> New Players<span
|
||||
class="float-right"><b id="data_new_players_7d"></b></span></p>
|
||||
class="float-end"><b id="data_new_players_7d"></b></span></p>
|
||||
<p>Last 30 days</p>
|
||||
<p><i class="col-blue fa fa-fw fa-users"></i> Unique Players<span
|
||||
class="float-right"><b id="data_unique_players_30d"></b></span></p>
|
||||
class="float-end"><b id="data_unique_players_30d"></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-plus"></i> New Players<span
|
||||
class="float-right"><b id="data_new_players_30d"></b></span></p>
|
||||
class="float-end"><b id="data_new_players_30d"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -238,7 +240,7 @@
|
||||
<div class="col-lg-4 mb-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="fa fa-fw fa-book-open"></i>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="fa fa-fw fa-book-open"></i>
|
||||
Network as Numbers</h6>
|
||||
</div>
|
||||
<div class="alert alert-warning mb-0 hidden" id="game-server-warning">
|
||||
@ -247,29 +249,29 @@
|
||||
</div>
|
||||
<div class="card-body" id="data_numbers">
|
||||
<p><i class="col-black fa fa-fw fa-users"></i> Total Players<span
|
||||
class="float-right"><b id="data_total"></b></span></p>
|
||||
class="float-end"><b id="data_total"></b></span></p>
|
||||
<p><i class="col-lime fa fa-fw fa-users"></i> Regular Players<span
|
||||
class="float-right"><b id="data_regular"></b></span></p>
|
||||
class="float-end"><b id="data_regular"></b></span></p>
|
||||
<p><i class="col-blue fa fa-fw fa-user"></i> Players Online<span
|
||||
class="float-right"><b id="data_online"></b></span></p>
|
||||
class="float-end"><b id="data_online"></b></span></p>
|
||||
<hr>
|
||||
<p><i class="col-blue fa fa-fw fa-chart-line"></i> Last Peak: <span
|
||||
id="data_last_peak_date"></span><span class="float-right"><b
|
||||
id="data_last_peak_date"></span><span class="float-end"><b
|
||||
id="data_last_peak_players"></b>
|
||||
Players</span></p>
|
||||
<p><i class="col-green fa fa-fw fa-chart-line"></i> Best Peak: <span
|
||||
id="data_best_peak_date"></span><span class="float-right"><b
|
||||
id="data_best_peak_date"></span><span class="float-end"><b
|
||||
id="data_best_peak_players"></b>
|
||||
Players</span></p>
|
||||
<hr>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Total Playtime<span
|
||||
class="float-right" id="data_playtime"></span></p>
|
||||
class="float-end" id="data_playtime"></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Average Playtime / Player<span
|
||||
class="float-right" id="data_player_playtime"></span></p>
|
||||
class="float-end" id="data_player_playtime"></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-clock"></i> Average Session Length<span
|
||||
class="float-right" id="data_session_length_avg"></span></p>
|
||||
class="float-end" id="data_session_length_avg"></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions<span
|
||||
class="float-right"><b id="data_sessions"></b></span></p>
|
||||
class="float-end"><b id="data_sessions"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -278,7 +280,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="fa fa-fw fa-exchange-alt"></i>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="fa fa-fw fa-exchange-alt"></i>
|
||||
Week Comparison</h6>
|
||||
</div>
|
||||
<table class="table" id="data_weeks">
|
||||
@ -360,7 +362,7 @@
|
||||
<div class="col-xl-6 col-lg-6 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-chart-area col-blue"></i>
|
||||
<span class="data_server_name"></span> Online Activity (30 days)</h6>
|
||||
</div>
|
||||
@ -369,32 +371,32 @@
|
||||
<!-- Servers as numbers -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-book-open col-light-green"></i>
|
||||
<span class="data_server_name"></span> as Numbers</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_quick_view">
|
||||
<p><i class="col-blue fa fa-fw fa-chart-line"></i> Last Peak: <span
|
||||
id="data_last_peak_date"></span><span class="float-right"><b
|
||||
id="data_last_peak_date"></span><span class="float-end"><b
|
||||
id="data_last_peak_players"></b> Players</span>
|
||||
</p>
|
||||
<p><i class="col-green fa fa-fw fa-chart-line"></i> Best Peak: <span
|
||||
id="data_best_peak_date"></span><span class="float-right"><b
|
||||
id="data_best_peak_date"></span><span class="float-end"><b
|
||||
id="data_best_peak_players"></b> Players</span>
|
||||
</p>
|
||||
<hr>
|
||||
<p><b>Last 7 days</b></p>
|
||||
<p><i class="col-blue fa fa-fw fa-users"></i> Unique Players<span
|
||||
class="float-right"><b id="data_unique"></b></span></p>
|
||||
class="float-end"><b id="data_unique"></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-users"></i> New Players<span
|
||||
class="float-right"><b id="data_new"></b></span></p>
|
||||
class="float-end"><b id="data_new"></b></span></p>
|
||||
<p></p>
|
||||
<p><i class="col-orange fa fa-fw fa-tachometer-alt"></i> Average TPS<span
|
||||
class="float-right"><b id="data_avg_tps"></b></span></p>
|
||||
class="float-end"><b id="data_avg_tps"></b></span></p>
|
||||
<p><i class="col-red fa fa-fw fa-exclamation-circle"></i> Low TPS Spikes<span
|
||||
class="float-right"><b id="data_low_tps_spikes"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_spikes"></b></span></p>
|
||||
<p><i class="col-red fa fa-fw fa-power-off"></i> Downtime<span
|
||||
class="float-right" id="data_downtime"></span></p>
|
||||
class="float-end" id="data_downtime"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -420,9 +422,9 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-calendar col-teal"></i>
|
||||
Recent Sessions<span class="float-right"><i
|
||||
Recent Sessions<span class="float-end"><i
|
||||
class="far fa-fw fa-hand-pointer"></i>
|
||||
<small>Click to expand</small></span></h6>
|
||||
</div>
|
||||
@ -444,7 +446,7 @@
|
||||
<!-- Server Playtime -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-network-wired col-teal"></i>
|
||||
Server Playtime for 30 days</h6>
|
||||
</div>
|
||||
@ -453,15 +455,15 @@
|
||||
<!-- Insights -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights for 30 days</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_insights">
|
||||
<p><i class="far fa-fw fa-clock col-green"></i> Playtime<span
|
||||
class="float-right" id="data_total_playtime"></span></p>
|
||||
class="float-end" id="data_total_playtime"></span></p>
|
||||
<p><i class="far fa-fw fa-clock col-grey"></i> AFK Time<span
|
||||
class="float-right"><span id="data_afk_time"></span> (<span
|
||||
class="float-end"><span id="data_afk_time"></span> (<span
|
||||
id="data_afk_time_perc"></span>)</span></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -488,7 +490,7 @@
|
||||
<div class="col-xl-8 col-lg-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-chart-line col-amber"></i>
|
||||
Playerbase development</h6>
|
||||
</div>
|
||||
@ -500,7 +502,7 @@
|
||||
<div class="col-xl-4 col-lg-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-users col-amber"></i>
|
||||
Current Playerbase</h6>
|
||||
</div>
|
||||
@ -515,7 +517,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-exchange-alt col-amber"></i>
|
||||
Trends for 30 days</h6>
|
||||
</div>
|
||||
@ -594,7 +596,7 @@
|
||||
<div class="mb-4 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights for 30 days</h6>
|
||||
</div>
|
||||
@ -602,14 +604,14 @@
|
||||
<p><i class="fa fa-fw fa-user col-light-green"></i> New <i
|
||||
class="fa fa-fw fa-long-arrow-alt-right"></i> <i
|
||||
class="fa fa-fw fa-user col-lime"></i> Regular<span
|
||||
class="float-right"><b><span
|
||||
class="float-end"><b><span
|
||||
id="data_new_to_regular"></span></b></span></p>
|
||||
<p><i class="fa fa-fw fa-user col-lime"></i> Regular <i
|
||||
class="fa fa-fw fa-long-arrow-alt-right"></i> <i
|
||||
class="fa fa-fw fa-user col-blue-grey"></i> Inactive<span
|
||||
class="float-right"><b><span
|
||||
class="float-end"><b><span
|
||||
id="data_regular_to_inactive"></span></b></span></p>
|
||||
<p class="float-right"><i class="text-success fa fa-caret-up"></i><i
|
||||
<p class="float-end"><i class="text-success fa fa-caret-up"></i><i
|
||||
class="text-danger fa fa-caret-down"></i>
|
||||
<small>Comparing 30d ago to Now</small>
|
||||
</p>
|
||||
@ -619,7 +621,7 @@
|
||||
<!-- Hostname Analytics -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black">
|
||||
<h6 class="m-0 fw-bold col-black">
|
||||
<i class="fa fa-fw fa-location-arrow col-amber"></i>
|
||||
Join Addresses
|
||||
</h6>
|
||||
@ -650,7 +652,7 @@
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-globe col-green"></i>
|
||||
Geolocations</h6>
|
||||
</div>
|
||||
@ -674,7 +676,7 @@
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-wifi col-green"></i>
|
||||
Connection Information</h6>
|
||||
</div>
|
||||
@ -710,9 +712,7 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -760,7 +760,7 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -775,9 +775,7 @@
|
||||
<h5 class="modal-title" id="informationModalLabel"><i class="fa fa-fw fa-question-circle"></i>
|
||||
Information about the plugin
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Player Analytics is developed and licensed under <a
|
||||
@ -818,7 +816,7 @@
|
||||
target="_blank"><i class="fa fa-fw fa-chart-area"></i> Velocity</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -831,7 +829,7 @@
|
||||
<div class="modal-content">
|
||||
${updateModal}
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -841,10 +839,12 @@
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="./vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script src="./vendor/datatables/datatables.min.js"></script>
|
||||
@ -855,6 +855,7 @@
|
||||
<script src="./vendor/highcharts/drilldown.js"></script>
|
||||
<script src="./vendor/highcharts/highcharts-more.js"></script>
|
||||
<script src="./vendor/highcharts/no-data-to-display.js"></script>
|
||||
<script src="./vendor/masonry/masonry.pkgd.min.js"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="./js/domUtils.js"></script>
|
||||
@ -923,7 +924,7 @@
|
||||
refreshingJsonRequest("./v1/graph?type=playersOnline&server=${serverUUID}", loadPlayersOnlineGraph, 'network-overview', true);
|
||||
refreshingJsonRequest("./v1/graph?type=uniqueAndNew", loadUniqueAndNewGraph, 'network-overview');
|
||||
refreshingJsonRequest("./v1/graph?type=hourlyUniqueAndNew", loadHourlyUniqueAndNewGraph, 'network-overview');
|
||||
refreshingJsonRequest("./v1/graph?type=serverPie", loadServerPie, 'sessions-overview');
|
||||
refreshingJsonRequest("./v1/graph?type=serverPie", loadserverPie, 'sessions-overview');
|
||||
refreshingJsonRequest("./v1/graph?type=joinAddressPie", loadJoinAddressPie, 'playerbase-overview');
|
||||
refreshingJsonRequest("./v1/graph?type=activity", loadActivityGraphs, 'playerbase-overview');
|
||||
refreshingJsonRequest("./v1/graph?type=geolocation", loadGeolocationGraph, 'geolocations');
|
||||
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
|
||||
<meta content="Player Analytics, player page that displays more insights about a specific player"
|
||||
name="description">
|
||||
@ -20,6 +19,9 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="../css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="../css/style.css" rel="stylesheet">
|
||||
|
||||
@ -80,7 +82,7 @@
|
||||
|
||||
<li class="nav-item">
|
||||
<a aria-controls="pluginsPages" aria-expanded="true" class="nav-link collapsed"
|
||||
data-target="#pluginsPages" data-toggle="collapse" href="#">
|
||||
data-bs-target="#pluginsPages" data-bs-toggle="collapse" href="#">
|
||||
<i class="fas fa-fw fa-cubes"></i>
|
||||
<span>Plugins</span>
|
||||
</a>
|
||||
@ -93,18 +95,18 @@
|
||||
|
||||
<hr class="sidebar-divider">
|
||||
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<button class="btn bg-plan" data-target="#colorChooserModal" data-toggle="modal" type="button">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
<button class="btn bg-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
<button class="btn bg-plan" data-target="#informationModal" data-toggle="modal" type="button">
|
||||
<button class="btn bg-plan" data-bs-target="#informationModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-fw fa-question-circle"></i>
|
||||
</button>
|
||||
<a class="btn bg-plan" href="../auth/logout" id="logout-button">
|
||||
<i class="fa fa-fw fa-door-open"></i> Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
${version}
|
||||
</div>
|
||||
</ul>
|
||||
@ -131,7 +133,7 @@
|
||||
<div class="col-xs-12 col-sm-12 col-lg-6">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-address-card"></i>
|
||||
${playerName}</h6>
|
||||
</div>
|
||||
@ -149,10 +151,10 @@
|
||||
</div>
|
||||
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
|
||||
<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span
|
||||
class="float-right"><b id="data_player_kills"></b></span></p>
|
||||
class="float-end"><b id="data_player_kills"></b></span></p>
|
||||
<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span
|
||||
class="float-right"><b id="data_mob_kills"></b></span></p>
|
||||
<p><i class="fa fa-fw fa-skull"></i> Deaths<span class="float-right"><b
|
||||
class="float-end"><b id="data_mob_kills"></b></span></p>
|
||||
<p><i class="fa fa-fw fa-skull"></i> Deaths<span class="float-end"><b
|
||||
id="data_deaths"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -160,48 +162,48 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Total Playtime <span
|
||||
class="float-right" id="data_playtime"></span></p>
|
||||
class="float-end" id="data_playtime"></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Total Active <span
|
||||
class="float-right" id="data_active_playtime"></span></p>
|
||||
class="float-end" id="data_active_playtime"></span></p>
|
||||
<p><i class="col-grey far fa-fw fa-clock"></i> Total AFK <span
|
||||
class="float-right" id="data_afk_time"></span></p>
|
||||
class="float-end" id="data_afk_time"></span></p>
|
||||
<hr>
|
||||
<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions <span
|
||||
class="float-right"><b id="data_session_count"></b></span></p>
|
||||
class="float-end"><b id="data_session_count"></b></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-clock"></i> Longest Session <span
|
||||
class="float-right" id="data_longest_session_length"></span></p>
|
||||
class="float-end" id="data_longest_session_length"></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-clock"></i> Session Median <span
|
||||
class="float-right" id="data_session_median"></span></p>
|
||||
class="float-end" id="data_session_median"></span></p>
|
||||
<hr>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-plus"></i>
|
||||
<b>Registered</b><span class="float-right"
|
||||
<b>Registered</b><span class="float-end"
|
||||
id="data_registered"></span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<p><i class="col-lime fa fa-fw fa-user"></i> Activity Index <span
|
||||
class="float-right"><b id="data_activity_index"></b> (<span
|
||||
class="float-end"><b id="data_activity_index"></b> (<span
|
||||
id="data_activity_index_group"></span>)</span></p>
|
||||
<p><i class="col-green fa fa-fw fa-server"></i> Favorite Server <span
|
||||
class="float-right" id="data_favorite_server"></span></p>
|
||||
class="float-end" id="data_favorite_server"></span></p>
|
||||
<p> </p>
|
||||
<hr>
|
||||
<p><i class="col-amber fa fa-fw fa-signal"></i> Average Ping <span
|
||||
class="float-right" id="data_average_ping"></span></p>
|
||||
class="float-end" id="data_average_ping"></span></p>
|
||||
<p><i class="col-amber fa fa-fw fa-signal"></i> Best Ping <span
|
||||
class="float-right" id="data_best_ping"></span></p>
|
||||
class="float-end" id="data_best_ping"></span></p>
|
||||
<p><i class="col-amber fa fa-fw fa-signal"></i> Worst Ping <span
|
||||
class="float-right" id="data_worst_ping"></span></p>
|
||||
class="float-end" id="data_worst_ping"></span></p>
|
||||
<hr>
|
||||
<p><i class="col-teal far fa-fw fa-calendar"></i> <b>Last Seen</b><span
|
||||
class="float-right" id="data_last_seen"></span></p>
|
||||
class="float-end" id="data_last_seen"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="fa fa-fw fa-signature"></i>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="fa fa-fw fa-signature"></i>
|
||||
Seen Nicknames</h6>
|
||||
</div>
|
||||
<div class="scrollbar">
|
||||
@ -219,7 +221,7 @@
|
||||
</div>
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="fa fa-fw fa-wifi"></i>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="fa fa-fw fa-wifi"></i>
|
||||
Connection information</h6>
|
||||
</div>
|
||||
<div class="scrollbar">
|
||||
@ -240,7 +242,7 @@
|
||||
<div class="col-xl-6 col-lg-6 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="fas fa-fw fa-braille"></i>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="fas fa-fw fa-braille"></i>
|
||||
Punchcard</h6>
|
||||
</div>
|
||||
<div class="chart-area" id="punchCard">
|
||||
@ -249,7 +251,7 @@
|
||||
</div>
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw col-blue fa-book-open"></i>
|
||||
Online Activity</h6>
|
||||
</div>
|
||||
@ -323,7 +325,7 @@
|
||||
<!-- Calendar -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-calendar-alt col-teal"></i>
|
||||
Session Calendar</h6>
|
||||
</div>
|
||||
@ -334,9 +336,9 @@
|
||||
<!-- Most Recent Sessions -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-calendar col-teal"></i>
|
||||
Recent Sessions<span class="float-right"><i
|
||||
Recent Sessions<span class="float-end"><i
|
||||
class="far fa-fw fa-hand-pointer"></i>
|
||||
<small>Click to expand</small></span></h6>
|
||||
</div>
|
||||
@ -359,7 +361,7 @@
|
||||
<!-- World Playtime -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-clock col-teal"></i>
|
||||
World Playtime</h6>
|
||||
</div>
|
||||
@ -384,7 +386,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-campground col-red"></i>
|
||||
PvP & PvE as Numbers</h6>
|
||||
</div>
|
||||
@ -452,17 +454,17 @@
|
||||
<div class="col-lg-4 mb-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_insights">
|
||||
<p><i class="col-amber fa fa-fw fa-khanda"></i> Deadliest PvP Weapon
|
||||
<span class="float-right"><b id="data_weapon_1st"></b></span></p>
|
||||
<span class="float-end"><b id="data_weapon_1st"></b></span></p>
|
||||
<p><i class="col-grey fa fa-fw fa-khanda"></i> 2nd PvP Weapon
|
||||
<span class="float-right"><b id="data_weapon_2nd"></b></span></p>
|
||||
<span class="float-end"><b id="data_weapon_2nd"></b></span></p>
|
||||
<p><i class="col-brown fa fa-fw fa-khanda"></i> 3rd PvP Weapon
|
||||
<span class="float-right"><b id="data_weapon_3rd"></b></span></p>
|
||||
<span class="float-end"><b id="data_weapon_3rd"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -473,7 +475,7 @@
|
||||
<div class="col-xl-6 col-lg-6 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-crosshairs col-red"></i>
|
||||
Recent PvP Kills</h6>
|
||||
</div>
|
||||
@ -484,7 +486,7 @@
|
||||
<div class="col-xl-6 col-lg-6 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-skull col-red"></i>
|
||||
Recent PvP Deaths</h6>
|
||||
</div>
|
||||
@ -509,9 +511,9 @@
|
||||
<!-- Servers -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-server col-light-green"></i>
|
||||
Servers<span class="float-right"><i class="far fa-fw fa-hand-pointer"></i>
|
||||
Servers<span class="float-end"><i class="far fa-fw fa-hand-pointer"></i>
|
||||
<small>Click to expand</small></span></h6>
|
||||
</div>
|
||||
<div class="scrollbar">
|
||||
@ -533,7 +535,7 @@
|
||||
<!-- World Playtime -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-network-wired col-teal"></i>
|
||||
Server Playtime</h6>
|
||||
</div>
|
||||
@ -556,9 +558,7 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -606,7 +606,7 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -621,9 +621,7 @@
|
||||
<h5 class="modal-title" id="informationModalLabel"><i class="fa fa-fw fa-question-circle"></i>
|
||||
Information about the plugin
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Player Analytics is developed and licensed under <a
|
||||
@ -665,7 +663,7 @@
|
||||
target="_blank"><i class="fa fa-fw fa-chart-area"></i> Velocity</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -678,7 +676,7 @@
|
||||
<div class="modal-content">
|
||||
${updateModal}
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -688,10 +686,12 @@
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script src="../vendor/datatables/datatables.min.js"></script>
|
||||
@ -703,6 +703,7 @@
|
||||
<link href='../vendor/fullcalendar/fullcalendar.min.css' rel='stylesheet'/>
|
||||
<script src='../vendor/momentjs/moment.js'></script>
|
||||
<script src='../vendor/fullcalendar/fullcalendar.min.js'></script>
|
||||
<script src="../vendor/masonry/masonry.pkgd.min.js"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="../js/sb-admin-2.js"></script>
|
||||
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
|
||||
<meta content="Player Analytics, players page that displays list of players" name="description">
|
||||
<meta content="AuroraLS3" name="author">
|
||||
@ -18,6 +17,9 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="css/style.css" rel="stylesheet">
|
||||
|
||||
@ -58,18 +60,18 @@
|
||||
<hr class="sidebar-divider">
|
||||
</div>
|
||||
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<button class="btn bg-plan" data-target="#colorChooserModal" data-toggle="modal" type="button">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
<button class="btn bg-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
<button class="btn bg-plan" data-target="#informationModal" data-toggle="modal" type="button">
|
||||
<button class="btn bg-plan" data-bs-target="#informationModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-fw fa-question-circle"></i>
|
||||
</button>
|
||||
<a class="btn bg-plan" href="./auth/logout" id="logout-button">
|
||||
<i class="fa fa-fw fa-door-open"></i> Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
${version}
|
||||
</div>
|
||||
</ul>
|
||||
@ -100,17 +102,15 @@
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-users col-black"></i>
|
||||
Player List</h6>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-striped table-hover player-table dataTable">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped table-hover player-table" style="width: 100%">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -128,9 +128,7 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -178,7 +176,7 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -193,9 +191,7 @@
|
||||
<h5 class="modal-title" id="informationModalLabel"><i class="fa fa-fw fa-question-circle"></i>
|
||||
Information about the plugin
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Player Analytics is developed and licensed under <a
|
||||
@ -237,7 +233,7 @@
|
||||
target="_blank"><i class="fa fa-fw fa-chart-area"></i> Velocity</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -250,7 +246,7 @@
|
||||
<div class="modal-content">
|
||||
${updateModal}
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -260,10 +256,12 @@
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script src="vendor/datatables/datatables.min.js"></script>
|
||||
@ -282,7 +280,7 @@
|
||||
if (playersTableJson) {
|
||||
if (table) {
|
||||
table.destroy();
|
||||
$('.player-table').replaceWith(`<table class="table table-bordered table-striped table-hover player-table dataTable">
|
||||
$('.player-table').replaceWith(`<table class="table table-bordered table-striped table-hover player-table" style="width: 100%">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
|
||||
<meta content="Player Analytics, query player data" name="description">
|
||||
<meta content="AuroraLS3" name="author">
|
||||
@ -17,6 +16,9 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="css/style.css" rel="stylesheet">
|
||||
|
||||
@ -50,18 +52,18 @@
|
||||
|
||||
<hr class="sidebar-divider">
|
||||
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<button class="btn bg-plan" data-target="#colorChooserModal" data-toggle="modal" type="button">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
<button class="btn bg-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
<button class="btn bg-plan" data-target="#informationModal" data-toggle="modal" type="button">
|
||||
<button class="btn bg-plan" data-bs-target="#informationModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-fw fa-question-circle"></i>
|
||||
</button>
|
||||
<a class="btn bg-plan" href="auth/logout" id="logout-button">
|
||||
<i class="fa fa-fw fa-door-open"></i> Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
${version}
|
||||
</div>
|
||||
</ul>
|
||||
@ -89,53 +91,45 @@
|
||||
Failed
|
||||
</div>
|
||||
<label class="mt-2 mb-0" for="viewFromDateField">Show a view</label>
|
||||
<div class="mt-2 input-group input-row">
|
||||
<div class="col-auto">
|
||||
<label class="mt-2 mb-0" for="viewFromDateField">from</label>
|
||||
<div class="my-2 row justify-content-start justify-content-md-center">
|
||||
<div class="col-1 col-md-auto my-2">
|
||||
<label for="viewFromDateField">from</label>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<label class="sr-only" for="viewFromDateField">Date: DD/MM/YYYY</label>
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text"><i class="far fa-calendar"></i></div>
|
||||
</div>
|
||||
<div class="col-5 col-md-3">
|
||||
<label class="visually-hidden" for="viewFromDateField">Date: DD/MM/YYYY</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-text"><i class="far fa-calendar"></i></div>
|
||||
<input class="form-control" id="viewFromDateField"
|
||||
onkeyup="setViewOption('viewFromDateField', 'afterDate', isValidDate, correctDate)"
|
||||
placeholder="31/12/2016"
|
||||
type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="sr-only" for="viewFromTimeField">Time: H H : M M</label>
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text"><i class="far fa-clock"></i></div>
|
||||
</div>
|
||||
<div class="col-6 col-md-2">
|
||||
<label class="visually-hidden" for="viewFromTimeField">Time: H H : M M</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-text"><i class="far fa-clock"></i></div>
|
||||
<input class="form-control" id="viewFromTimeField"
|
||||
onkeyup="setViewOption('viewFromTimeField', 'afterTime', isValidTime, correctTime)"
|
||||
placeholder="23:59"
|
||||
type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<label class="mt-2 mb-0">to</label>
|
||||
<div class="col-1 col-md-auto my-2 text-center flex-fill">
|
||||
<label for="viewToDateField">to</label>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text"><i class="far fa-calendar"></i></div>
|
||||
</div>
|
||||
<div class="col-5 col-md-3">
|
||||
<div class="input-group">
|
||||
<div class="input-group-text"><i class="far fa-calendar"></i></div>
|
||||
<input class="form-control" id="viewToDateField"
|
||||
onkeyup="setViewOption('viewToDateField', 'beforeDate', isValidDate, correctDate)"
|
||||
placeholder="23/03/2020"
|
||||
type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text"><i class="far fa-clock"></i></div>
|
||||
</div>
|
||||
<div class="col-6 col-md-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-text"><i class="far fa-clock"></i></div>
|
||||
<input class="form-control" id="viewToTimeField"
|
||||
onkeyup="setViewOption('viewToTimeField', 'beforeTime', isValidTime, correctTime)"
|
||||
placeholder="21:26"
|
||||
@ -151,7 +145,7 @@
|
||||
|
||||
<div class="mt-2 dropdown" id="addFilter">
|
||||
<button aria-expanded="false" aria-haspopup="true" class="btn dropdown-toggle"
|
||||
data-toggle="dropdown" id="filterDropdown" type="button">
|
||||
data-bs-toggle="dropdown" id="filterDropdown" type="button">
|
||||
<i class="fa fa-plus"></i> Add a filter..
|
||||
</button>
|
||||
<div aria-labelledby="filterDropdown" class="dropdown-menu"
|
||||
@ -180,9 +174,7 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -230,7 +222,7 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -245,9 +237,7 @@
|
||||
<h5 class="modal-title" id="informationModalLabel"><i class="fa fa-fw fa-question-circle"></i>
|
||||
Information about the plugin
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Player Analytics is developed and licensed under <a
|
||||
@ -288,7 +278,7 @@
|
||||
target="_blank"><i class="fa fa-fw fa-chart-area"></i> Velocity</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -301,7 +291,7 @@
|
||||
<div class="modal-content">
|
||||
${updateModal}
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -309,10 +299,12 @@
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="./vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script src="./vendor/datatables/datatables.min.js"></script>
|
||||
@ -338,9 +330,7 @@
|
||||
const element = document.createElement('div');
|
||||
element.classList.add("alert", "alert-danger", "alert-dismissable", "show");
|
||||
element.innerHTML = `<span id="error-text"></span>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>`
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>`
|
||||
return element;
|
||||
});
|
||||
document.getElementById('error-text').innerText = new URLSearchParams(location.search).get("error");
|
||||
|
@ -4,7 +4,6 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
|
||||
<meta content="Player Analytics, register page" name="description">
|
||||
<meta content="AuroraLS3" name="author">
|
||||
@ -18,18 +17,21 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="css/style.css" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="bg-plan bg-gradient">
|
||||
<body class="bg-plan plan-bg-gradient">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Outer Row -->
|
||||
<div class="row justify-content-center">
|
||||
<img alt="logo" class="w-15 mt-5" src="img/Flaticon_circle.png">
|
||||
<div class="col-12 mt-5 text-center">
|
||||
<img alt="logo" class="w-15" src="img/Flaticon_circle.png">
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xl-6 col-lg-7 col-md-9">
|
||||
@ -46,22 +48,22 @@
|
||||
Failed
|
||||
</div>
|
||||
<form class="user">
|
||||
<div class="form-group">
|
||||
<div class="mb-3">
|
||||
<input autocomplete="username" class="form-control form-control-user"
|
||||
id="inputUser"
|
||||
placeholder="Username" type="text">
|
||||
<small class="form-text text-muted" id="usernameHelpBlock">
|
||||
<div class="form-text" id="usernameHelpBlock">
|
||||
Username can be up to 50 characters.
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="mb-3">
|
||||
<input autocomplete="new-password" class="form-control form-control-user"
|
||||
id="inputPassword" placeholder="Password" type="password">
|
||||
<small class="form-text text-muted" id="passwordHelpBlock">
|
||||
<div class="form-text" id="passwordHelpBlock">
|
||||
Password should be more than 8 characters, but there are no limitations.
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn bg-plan btn-user btn-block" href="#" id="register-button">
|
||||
<a class="btn bg-plan btn-user w-100" href="#" id="register-button">
|
||||
Register
|
||||
</a>
|
||||
</form>
|
||||
@ -70,7 +72,7 @@
|
||||
<a class="col-plan small" href="./login">Already have an account? Login!</a>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn col-plan" data-target="#colorChooserModal" data-toggle="modal"
|
||||
<button class="btn col-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal"
|
||||
type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
@ -94,9 +96,7 @@
|
||||
<h5 class="modal-title" id="finalizeModalLabel"><i class="far fa-fw fa-hand-point-right"></i>
|
||||
Complete Registration
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body bg-white">
|
||||
<p>You can now finish registering the user. Code expires in 15 minutes.</p>
|
||||
@ -117,9 +117,7 @@
|
||||
<div class="modal-header bg-white">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body bg-white">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -167,17 +165,19 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="js/xmlhttprequests.js"></script>
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
|
||||
<meta content="Player Analytics, server analysis page that allows gaining insights to how players play on your server."
|
||||
name="description">
|
||||
@ -19,6 +18,9 @@
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
||||
integrity="sha256-hHKA3d/HttC8OW3Sl093W8DoZudhHJDj++kZYo6MLzA="
|
||||
crossorigin="anonymous">
|
||||
<link href="../css/sb-admin-2.css" rel="stylesheet">
|
||||
<link href="../css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
@ -60,8 +62,8 @@
|
||||
|
||||
<li class="nav-item">
|
||||
<a aria-controls="onlineActivityPages" aria-expanded="true" class="nav-link collapsed"
|
||||
data-target="#onlineActivityPages"
|
||||
data-toggle="collapse" href="#">
|
||||
data-bs-target="#onlineActivityPages"
|
||||
data-bs-toggle="collapse" href="#">
|
||||
<i class="fas fa-fw fa-chart-area"></i>
|
||||
<span>Online Activity</span>
|
||||
</a>
|
||||
@ -83,8 +85,8 @@
|
||||
|
||||
<li class="nav-item">
|
||||
<a aria-controls="playerbasePages" aria-expanded="true" class="nav-link collapsed"
|
||||
data-target="#playerbasePages"
|
||||
data-toggle="collapse" href="#">
|
||||
data-bs-target="#playerbasePages"
|
||||
data-bs-toggle="collapse" href="#">
|
||||
<i class="fas fa-fw fa-users"></i>
|
||||
<span>Playerbase</span>
|
||||
</a>
|
||||
@ -130,18 +132,18 @@
|
||||
<hr class="sidebar-divider">
|
||||
</div>
|
||||
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<button class="btn bg-plan" data-target="#colorChooserModal" data-toggle="modal" type="button">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
<button class="btn bg-plan" data-bs-target="#colorChooserModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-palette"></i>
|
||||
</button>
|
||||
<button class="btn bg-plan" data-target="#informationModal" data-toggle="modal" type="button">
|
||||
<button class="btn bg-plan" data-bs-target="#informationModal" data-bs-toggle="modal" type="button">
|
||||
<i class="fa fa-fw fa-question-circle"></i>
|
||||
</button>
|
||||
<a class="btn bg-plan" href="../auth/logout" id="logout-button">
|
||||
<i class="fa fa-fw fa-door-open"></i> Logout
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3 align-items-center justify-content-between">
|
||||
<div class="ms-md-3 text-center text-md-start">
|
||||
${version}
|
||||
</div>
|
||||
</ul>
|
||||
@ -173,7 +175,7 @@
|
||||
<div class="col-xl-9 col-lg-9 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-chart-area col-blue"></i>
|
||||
Online Activity</h6>
|
||||
</div>
|
||||
@ -185,25 +187,25 @@
|
||||
<div class="col-xl-3 col-lg-3 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black">Last 7 days</h6>
|
||||
<h6 class="m-0 fw-bold col-black">Last 7 days</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_7_days">
|
||||
<p><i class="col-blue fa fa-fw fa-users"></i> Unique Players<span
|
||||
class="float-right"><b id="data_unique"></b></span></p>
|
||||
class="float-end"><b id="data_unique"></b></span></p>
|
||||
<p><i class="col-blue fa fa-fw fa-user"></i> Unique Players / Day<span
|
||||
class="float-right"><b id="data_unique_day"></b></span></p>
|
||||
class="float-end"><b id="data_unique_day"></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-users"></i> New Players<span
|
||||
class="float-right"><b id="data_new"></b></span></p>
|
||||
class="float-end"><b id="data_new"></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-circle"></i> New Player Retention
|
||||
<span class="float-right"><span id="data_retention"></span> <b
|
||||
<span class="float-end"><span id="data_retention"></span> <b
|
||||
id="data_retention_perc"></b></span></p>
|
||||
<hr>
|
||||
<p><i class="col-orange fa fa-fw fa-tachometer-alt"></i> Average TPS<span
|
||||
class="float-right"><b id="data_avg_tps"></b></span></p>
|
||||
class="float-end"><b id="data_avg_tps"></b></span></p>
|
||||
<p><i class="col-red fa fa-fw fa-exclamation-circle"></i> Low TPS Spikes<span
|
||||
class="float-right"><b id="data_low_tps_spikes"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_spikes"></b></span></p>
|
||||
<p><i class="col-red fa fa-fw fa-power-off"></i> Downtime<span
|
||||
class="float-right" id="data_downtime"></span></p>
|
||||
class="float-end" id="data_downtime"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -214,39 +216,39 @@
|
||||
<div class="col-lg-4 mb-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i class="fa fa-fw fa-book-open"></i>
|
||||
<h6 class="m-0 fw-bold col-black"><i class="fa fa-fw fa-book-open"></i>
|
||||
Server as Numbers</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_numbers">
|
||||
<p><i class="col-black fa fa-fw fa-users"></i> Total Players<span
|
||||
class="float-right"><b id="data_total"></b></span></p>
|
||||
class="float-end"><b id="data_total"></b></span></p>
|
||||
<p><i class="col-lime fa fa-fw fa-users"></i> Regular Players<span
|
||||
class="float-right"><b id="data_regular"></b></span></p>
|
||||
class="float-end"><b id="data_regular"></b></span></p>
|
||||
<p><i class="col-blue fa fa-fw fa-user"></i> Players Online<span
|
||||
class="float-right"><b id="data_online"></b></span></p>
|
||||
class="float-end"><b id="data_online"></b></span></p>
|
||||
<hr>
|
||||
<p><i class="col-blue fa fa-fw fa-chart-line"></i> Last Peak: <span
|
||||
id="data_last_peak_date"></span><span class="float-right"><b
|
||||
id="data_last_peak_date"></span><span class="float-end"><b
|
||||
id="data_last_peak_players"></b>
|
||||
Players</span></p>
|
||||
<p><i class="col-green fa fa-fw fa-chart-line"></i> Best Peak: <span
|
||||
id="data_best_peak_date"></span><span class="float-right"><b
|
||||
id="data_best_peak_date"></span><span class="float-end"><b
|
||||
id="data_best_peak_players"></b>
|
||||
Players</span></p>
|
||||
<hr>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Total Playtime<span
|
||||
class="float-right" id="data_playtime"></span></p>
|
||||
class="float-end" id="data_playtime"></span></p>
|
||||
<p><i class="col-green far fa-fw fa-clock"></i> Average Playtime / Player<span
|
||||
class="float-right" id="data_player_playtime"></span></p>
|
||||
class="float-end" id="data_player_playtime"></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions<span
|
||||
class="float-right"><b id="data_sessions"></b></span></p>
|
||||
class="float-end"><b id="data_sessions"></b></span></p>
|
||||
<hr>
|
||||
<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span
|
||||
class="float-right"><b id="data_player_kills"></b></span></p>
|
||||
class="float-end"><b id="data_player_kills"></b></span></p>
|
||||
<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span
|
||||
class="float-right"><b id="data_mob_kills"></b></span></p>
|
||||
class="float-end"><b id="data_mob_kills"></b></span></p>
|
||||
<p><i class="col-black fa fa-fw fa-skull"></i> Deaths<span
|
||||
class="float-right"><b id="data_deaths"></b></span></p>
|
||||
class="float-end"><b id="data_deaths"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -255,7 +257,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-exchange-alt"></i>
|
||||
Week Comparison</h6>
|
||||
</div>
|
||||
@ -351,24 +353,24 @@
|
||||
<ul class="nav nav-tabs" id="onlineActivityTab" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a aria-controls="home" aria-selected="true" class="nav-link active col-black"
|
||||
data-toggle="tab" href="#unique-tab" id="online-unique-tab" role="tab"><i
|
||||
data-bs-toggle="tab" href="#unique-tab" id="online-unique-tab" role="tab"><i
|
||||
class="fa fa-fw fa-chart-area col-blue"></i> Day by Day</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="home" aria-selected="true" class="nav-link col-black"
|
||||
data-toggle="tab" href="#hourly-unique-tab" id="online-hourly-unique-tab"
|
||||
data-bs-toggle="tab" href="#hourly-unique-tab" id="online-hourly-unique-tab"
|
||||
role="tab"><i
|
||||
class="fa fa-fw fa-chart-area col-blue"></i> Hour by Hour</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="profile" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab"
|
||||
data-bs-toggle="tab"
|
||||
href="#calendar-tab" id="online-calendar-tab" role="tab"><i
|
||||
class="far fa-fw fa-calendar col-teal"></i> Server Calendar</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="contact" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab" href="#punchcard-tab" id="online-punchcard-tab"
|
||||
data-bs-toggle="tab" href="#punchcard-tab" id="online-punchcard-tab"
|
||||
role="tab"><i class="fa fa-fw fa-braille col-black"></i>
|
||||
Punchcard for 30 days</a>
|
||||
</li>
|
||||
@ -409,7 +411,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-book-open col-blue"></i>
|
||||
Online Activity as Numbers</h6>
|
||||
</div>
|
||||
@ -498,27 +500,27 @@
|
||||
<div class="col-lg-4 mb-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights for 30 days</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_insights">
|
||||
<p><i class="col-light-green fa fa-fw fa-user-friends"></i>
|
||||
Players online on first join<span class="float-right"><b>
|
||||
Players online on first join<span class="float-end"><b>
|
||||
<span id="data_players_first_join_avg"></span></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-clock"></i>
|
||||
Average First session length<span class="float-right"><b>
|
||||
Average First session length<span class="float-end"><b>
|
||||
<span id="data_first_session_length_avg"></span></b></span></p>
|
||||
<p><i class="col-light-green fa fa-fw fa-user-clock"></i>
|
||||
Median First session length<span class="float-right"><b>
|
||||
Median First session length<span class="float-end"><b>
|
||||
<span id="data_first_session_length_median"></span></b></span></p>
|
||||
<p><i class="col-teal far fa-fw fa-calendar"></i> Lone joins<span
|
||||
class="float-right"><b><span id="data_lone_joins"></span></b>
|
||||
class="float-end"><b><span id="data_lone_joins"></span></b>
|
||||
</span></p>
|
||||
<p><i class="col-teal far fa-fw fa-calendar-plus"></i> Lone newbie joins<span
|
||||
class="float-right"><b><span id="data_lone_new_joins"></span></b>
|
||||
class="float-end"><b><span id="data_lone_new_joins"></span></b>
|
||||
</span></p>
|
||||
<p class="float-right"><i class="text-success fa fa-caret-up"></i><i
|
||||
<p class="float-end"><i class="text-success fa fa-caret-up"></i><i
|
||||
class="text-danger fa fa-caret-down"></i>
|
||||
<small>Comparing 15 days</small>
|
||||
</p>
|
||||
@ -548,9 +550,9 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-calendar col-teal"></i>
|
||||
Recent Sessions<span class="float-right"><i
|
||||
Recent Sessions<span class="float-end"><i
|
||||
class="far fa-fw fa-hand-pointer"></i>
|
||||
<small>Click to expand</small></span></h6>
|
||||
</div>
|
||||
@ -574,7 +576,7 @@
|
||||
<!-- World Playtime -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-clock col-teal"></i>
|
||||
World Playtime</h6>
|
||||
</div>
|
||||
@ -585,21 +587,21 @@
|
||||
<!-- Insights -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights for 30 days</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_insights">
|
||||
<p><i class="fa fa-fw fa-gamepad col-teal"></i> Most Active Gamemode<span
|
||||
class="float-right"><b id="data_most_active_gamemode"></b>
|
||||
class="float-end"><b id="data_most_active_gamemode"></b>
|
||||
(<span id="data_most_active_gamemode_perc"></span>)</span></p>
|
||||
<p><i class="fa fa-fw fa-users col-teal"></i> Server occupied<span
|
||||
class="float-right"><span id="data_server_occupied"></span> (<span
|
||||
class="float-end"><span id="data_server_occupied"></span> (<span
|
||||
id="data_server_occupied_perc"></span>)</span></p>
|
||||
<p><i class="far fa-fw fa-clock col-green"></i> Playtime<span
|
||||
class="float-right" id="data_total_playtime"></span></p>
|
||||
class="float-end" id="data_total_playtime"></span></p>
|
||||
<p><i class="far fa-fw fa-clock col-grey"></i> AFK Time<span
|
||||
class="float-right"><span id="data_afk_time"></span> (<span
|
||||
class="float-end"><span id="data_afk_time"></span> (<span
|
||||
id="data_afk_time_perc"></span>)</span></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -627,7 +629,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-campground col-red"></i>
|
||||
PvP & PvE as Numbers</h6>
|
||||
</div>
|
||||
@ -690,17 +692,17 @@
|
||||
<div class="col-lg-4 mb-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights for 30 days</h6>
|
||||
</div>
|
||||
<div class="card-body" id="data_insights">
|
||||
<p><i class="col-amber fa fa-fw fa-khanda"></i> Deadliest PvP Weapon
|
||||
<span class="float-right"><b id="data_weapon_1st"></b></span></p>
|
||||
<span class="float-end"><b id="data_weapon_1st"></b></span></p>
|
||||
<p><i class="col-grey fa fa-fw fa-khanda"></i> 2nd PvP Weapon
|
||||
<span class="float-right"><b id="data_weapon_2nd"></b></span></p>
|
||||
<span class="float-end"><b id="data_weapon_2nd"></b></span></p>
|
||||
<p><i class="col-brown fa fa-fw fa-khanda"></i> 3rd PvP Weapon
|
||||
<span class="float-right"><b id="data_weapon_3rd"></b></span></p>
|
||||
<span class="float-end"><b id="data_weapon_3rd"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -711,7 +713,7 @@
|
||||
<div class="col-xl-8 col-lg-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-crosshairs col-red"></i>
|
||||
Recent Kills</h6>
|
||||
</div>
|
||||
@ -743,7 +745,7 @@
|
||||
<div class="col-xl-8 col-lg-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-chart-line col-amber"></i>
|
||||
Playerbase development</h6>
|
||||
</div>
|
||||
@ -755,7 +757,7 @@
|
||||
<div class="col-xl-4 col-lg-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-users col-amber"></i>
|
||||
Current Playerbase</h6>
|
||||
</div>
|
||||
@ -769,7 +771,7 @@
|
||||
<div class="col-lg-8 mb-8 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fa fa-fw fa-exchange-alt col-amber"></i>
|
||||
Trends for 30 days</h6>
|
||||
</div>
|
||||
@ -846,7 +848,7 @@
|
||||
<div class="col-lg-4 mb-4 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="far fa-fw fa-life-ring col-red"></i>
|
||||
Insights for 30 days</h6>
|
||||
</div>
|
||||
@ -854,14 +856,14 @@
|
||||
<p><i class="fa fa-fw fa-user col-light-green"></i> New <i
|
||||
class="fa fa-fw fa-long-arrow-alt-right"></i> <i
|
||||
class="fa fa-fw fa-user col-lime"></i> Regular<span
|
||||
class="float-right"><b><span
|
||||
class="float-end"><b><span
|
||||
id="data_new_to_regular"></span></b></span></p>
|
||||
<p><i class="fa fa-fw fa-user col-lime"></i> Regular <i
|
||||
class="fa fa-fw fa-long-arrow-alt-right"></i> <i
|
||||
class="fa fa-fw fa-user col-blue-grey"></i> Inactive<span
|
||||
class="float-right"><b><span
|
||||
class="float-end"><b><span
|
||||
id="data_regular_to_inactive"></span></b></span></p>
|
||||
<p class="float-right"><i class="text-success fa fa-caret-up"></i><i
|
||||
<p class="float-end"><i class="text-success fa fa-caret-up"></i><i
|
||||
class="text-danger fa fa-caret-down"></i>
|
||||
<small>Comparing 30d ago to Now</small>
|
||||
</p>
|
||||
@ -871,7 +873,7 @@
|
||||
<!-- Hostname Analytics -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black">
|
||||
<h6 class="m-0 fw-bold col-black">
|
||||
<i class="fa fa-fw fa-location-arrow col-amber"></i>
|
||||
Join Addresses
|
||||
</h6>
|
||||
@ -902,17 +904,15 @@
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-users col-black"></i>
|
||||
Player List</h6>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-striped table-hover player-table dataTable">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="table table-bordered table-striped table-hover player-table" style="width: 100%">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -938,7 +938,7 @@
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-globe col-green"></i>
|
||||
Geolocations</h6>
|
||||
</div>
|
||||
@ -962,7 +962,7 @@
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold col-black"><i
|
||||
<h6 class="m-0 fw-bold col-black"><i
|
||||
class="fas fa-fw fa-wifi col-green"></i>
|
||||
Connection Information</h6>
|
||||
</div>
|
||||
@ -1006,36 +1006,36 @@
|
||||
<ul class="nav nav-tabs" id="performanceChartTab" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a aria-controls="home" aria-selected="true" class="nav-link active col-black"
|
||||
data-toggle="tab" href="#all" id="performance-all-tab" role="tab"><i
|
||||
data-bs-toggle="tab" href="#all" id="performance-all-tab" role="tab"><i
|
||||
class="fa fa-fw fa-cogs col-blue-grey"></i> All</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="profile" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab"
|
||||
data-bs-toggle="tab"
|
||||
href="#tps" id="performance-tps-tab" role="tab"><i
|
||||
class="fa fa-fw fa-tachometer-alt col-deep-orange"></i> TPS</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="contact" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab" href="#cpuram" id="performance-hardware-tab"
|
||||
data-bs-toggle="tab" href="#cpuram" id="performance-hardware-tab"
|
||||
role="tab"><i
|
||||
class="fa fa-fw fa-microchip col-light-green"></i>
|
||||
CPU & RAM</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="contact" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab" href="#worldload" id="performance-minecraft-tab"
|
||||
data-bs-toggle="tab" href="#worldload" id="performance-minecraft-tab"
|
||||
role="tab"><i class="fa fa-fw fa-map col-purple"></i>
|
||||
World Load</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="contact" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab" href="#ping" id="performance-ping-tab" role="tab"><i
|
||||
data-bs-toggle="tab" href="#ping" id="performance-ping-tab" role="tab"><i
|
||||
class="fa fa-fw fa-signal col-amber"></i> Ping</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a aria-controls="contact" aria-selected="false" class="nav-link col-black"
|
||||
data-toggle="tab" href="#disk" id="performance-disk-tab" role="tab"><i
|
||||
data-bs-toggle="tab" href="#disk" id="performance-disk-tab" role="tab"><i
|
||||
class="fa fa-fw fa-hdd col-green"></i> Disk Space</a>
|
||||
</li>
|
||||
</ul>
|
||||
@ -1165,15 +1165,15 @@
|
||||
<div class="card-body" id="data_insights">
|
||||
<p>During Low TPS Spikes:</p>
|
||||
<p><i class="fa fa-fw fa-users col-red"></i> Average Players<span
|
||||
class="float-right"><b id="data_low_tps_players"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_players"></b></span></p>
|
||||
<p><i class="fa fa-fw fa-dragon col-red"></i> Average Entities<span
|
||||
class="float-right"><b id="data_low_tps_entities"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_entities"></b></span></p>
|
||||
<p><i class="fa fa-fw fa-map col-red"></i> Average Chunks<span
|
||||
class="float-right"><b id="data_low_tps_chunks"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_chunks"></b></span></p>
|
||||
<p><i class="fa fa-fw fa-tachometer-alt col-red"></i> Average CPU<span
|
||||
class="float-right"><b id="data_low_tps_cpu"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_cpu"></b></span></p>
|
||||
<p><i class="fa fa-fw fa-tachometer-alt col-red"></i> Average TPS<span
|
||||
class="float-right"><b id="data_low_tps_tps"></b></span></p>
|
||||
class="float-end"><b id="data_low_tps_tps"></b></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1194,9 +1194,7 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="colorChooserModalLabel"><i class="fa fa-palette"></i> Theme Select
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn color-chooser" id="choose-plan" type="button"><i
|
||||
@ -1244,7 +1242,7 @@
|
||||
<button class="btn" id="night-mode-toggle" type="button"><i class="fa fa-fw fa-cloud-moon"></i>
|
||||
Night Mode
|
||||
</button>
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1259,9 +1257,7 @@
|
||||
<h5 class="modal-title" id="informationModalLabel"><i class="fa fa-fw fa-question-circle"></i>
|
||||
Information about the plugin
|
||||
</h5>
|
||||
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Player Analytics is developed and licensed under <a
|
||||
@ -1303,7 +1299,7 @@
|
||||
target="_blank"><i class="fa fa-fw fa-chart-area"></i> Velocity</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1316,7 +1312,7 @@
|
||||
<div class="modal-content">
|
||||
${updateModal}
|
||||
<div class="modal-footer">
|
||||
<button class="btn bg-plan" data-dismiss="modal" type="button">OK</button>
|
||||
<button class="btn bg-plan" data-bs-dismiss="modal" type="button">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1326,10 +1322,12 @@
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script crossorigin="anonymous"
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"
|
||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha256-edRDsV9ULIqKzKjpN/KjyQ7Lp4vUn9usbJuHjH8Sk+k="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Page level plugins -->
|
||||
<script src="../vendor/datatables/datatables.min.js"></script>
|
||||
@ -1343,6 +1341,7 @@
|
||||
<link href='../vendor/fullcalendar/fullcalendar.min.css' rel='stylesheet'/>
|
||||
<script src='../vendor/momentjs/moment.js'></script>
|
||||
<script src='../vendor/fullcalendar/fullcalendar.min.js'></script>
|
||||
<script src="../vendor/masonry/masonry.pkgd.min.js"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="../js/domUtils.js"></script>
|
||||
@ -1418,7 +1417,7 @@
|
||||
if (json) {
|
||||
if (table) {
|
||||
table.destroy();
|
||||
$('.player-table').replaceWith(`<table class="table table-bordered table-striped table-hover player-table dataTable">
|
||||
$('.player-table').replaceWith(`<table class="table table-bordered table-striped table-hover player-table" style="width: 100%">
|
||||
<tr>
|
||||
<td>Loading..</td>
|
||||
</tr>
|
||||
|
File diff suppressed because it is too large
Load Diff
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 one or more lines are too long
@ -1,469 +0,0 @@
|
||||
/*
|
||||
* This combined file was created by the DataTables downloader builder:
|
||||
* https://datatables.net/download
|
||||
*
|
||||
* To rebuild or modify this file with the latest versions of the included
|
||||
* software please visit:
|
||||
* https://datatables.net/download/#bs4/dt-1.10.23/r-2.2.7
|
||||
*
|
||||
* Included libraries:
|
||||
* DataTables 1.10.23, Responsive 2.2.7
|
||||
*/
|
||||
|
||||
@charset "UTF-8";
|
||||
table.dataTable {
|
||||
clear: both;
|
||||
margin-top: 6px !important;
|
||||
margin-bottom: 6px !important;
|
||||
max-width: none !important;
|
||||
border-collapse: separate !important;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
table.dataTable td,
|
||||
table.dataTable th {
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
table.dataTable td.dataTables_empty,
|
||||
table.dataTable th.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.dataTable.nowrap th,
|
||||
table.dataTable.nowrap td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_length label {
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_length select {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_filter {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_filter label {
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_filter input {
|
||||
margin-left: 0.5em;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
padding-top: 0.85em;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
margin: 2px 0;
|
||||
white-space: nowrap;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 200px;
|
||||
margin-left: -100px;
|
||||
margin-top: -26px;
|
||||
text-align: center;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
table.dataTable > thead > tr > th:active,
|
||||
table.dataTable > thead > tr > td:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
table.dataTable > thead > tr > th:not(.sorting_disabled),
|
||||
table.dataTable > thead > tr > td:not(.sorting_disabled) {
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
table.dataTable > thead .sorting,
|
||||
table.dataTable > thead .sorting_asc,
|
||||
table.dataTable > thead .sorting_desc,
|
||||
table.dataTable > thead .sorting_asc_disabled,
|
||||
table.dataTable > thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after,
|
||||
table.dataTable > thead .sorting_asc:before,
|
||||
table.dataTable > thead .sorting_asc:after,
|
||||
table.dataTable > thead .sorting_desc:before,
|
||||
table.dataTable > thead .sorting_desc:after,
|
||||
table.dataTable > thead .sorting_asc_disabled:before,
|
||||
table.dataTable > thead .sorting_asc_disabled:after,
|
||||
table.dataTable > thead .sorting_desc_disabled:before,
|
||||
table.dataTable > thead .sorting_desc_disabled:after {
|
||||
position: absolute;
|
||||
bottom: 0.9em;
|
||||
display: block;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
table.dataTable > thead .sorting:before,
|
||||
table.dataTable > thead .sorting_asc:before,
|
||||
table.dataTable > thead .sorting_desc:before,
|
||||
table.dataTable > thead .sorting_asc_disabled:before,
|
||||
table.dataTable > thead .sorting_desc_disabled:before {
|
||||
right: 1em;
|
||||
content: "↑";
|
||||
}
|
||||
|
||||
table.dataTable > thead .sorting:after,
|
||||
table.dataTable > thead .sorting_asc:after,
|
||||
table.dataTable > thead .sorting_desc:after,
|
||||
table.dataTable > thead .sorting_asc_disabled:after,
|
||||
table.dataTable > thead .sorting_desc_disabled:after {
|
||||
right: 0.5em;
|
||||
content: "↓";
|
||||
}
|
||||
|
||||
table.dataTable > thead .sorting_asc:before,
|
||||
table.dataTable > thead .sorting_desc:after {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
table.dataTable > thead .sorting_asc_disabled:before,
|
||||
table.dataTable > thead .sorting_desc_disabled:after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.dataTable {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top: none;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table thead .sorting:before,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before,
|
||||
div.dataTables_scrollBody table thead .sorting:after,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table tbody tr:first-child th,
|
||||
div.dataTables_scrollBody table tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner {
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
|
||||
margin-top: 0 !important;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dataTables_wrapper div.dataTables_length,
|
||||
div.dataTables_wrapper div.dataTables_filter,
|
||||
div.dataTables_wrapper div.dataTables_info,
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
justify-content: center !important;
|
||||
}
|
||||
}
|
||||
|
||||
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
table.dataTable.table-sm .sorting:before,
|
||||
table.dataTable.table-sm .sorting_asc:before,
|
||||
table.dataTable.table-sm .sorting_desc:before {
|
||||
top: 5px;
|
||||
right: 0.85em;
|
||||
}
|
||||
|
||||
table.dataTable.table-sm .sorting:after,
|
||||
table.dataTable.table-sm .sorting_asc:after,
|
||||
table.dataTable.table-sm .sorting_desc:after {
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable {
|
||||
border-right-width: 0;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable th,
|
||||
table.table-bordered.dataTable td {
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
|
||||
table.table-bordered.dataTable td:last-child,
|
||||
table.table-bordered.dataTable td:last-child {
|
||||
border-right-width: 1px;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable tbody th,
|
||||
table.table-bordered.dataTable tbody td {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.table-bordered {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.table-responsive > div.dataTables_wrapper > div.row {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
|
||||
position: relative;
|
||||
padding-left: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
|
||||
top: 50%;
|
||||
left: 5px;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
margin-top: -9px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 0.15em solid white;
|
||||
border-radius: 1em;
|
||||
box-shadow: 0 0 0.2em #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
text-indent: 0 !important;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
line-height: 1em;
|
||||
content: "+";
|
||||
background-color: #0275d8;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before {
|
||||
content: "-";
|
||||
background-color: #d33333;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control {
|
||||
padding-left: 27px;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control:before {
|
||||
left: 4px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
border-radius: 14px;
|
||||
line-height: 14px;
|
||||
text-indent: 3px;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
height: 0.8em;
|
||||
width: 0.8em;
|
||||
margin-top: -0.5em;
|
||||
margin-left: -0.5em;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 0.15em solid white;
|
||||
border-radius: 1em;
|
||||
box-shadow: 0 0 0.2em #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
text-indent: 0 !important;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
line-height: 1em;
|
||||
content: "+";
|
||||
background-color: #0275d8;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||
content: "-";
|
||||
background-color: #d33333;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child {
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child:hover {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child ul.dtr-details {
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li {
|
||||
border-bottom: 1px solid #efefef;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
table.dataTable > tbody > tr.child span.dtr-title {
|
||||
display: inline-block;
|
||||
min-width: 75px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.dtr-modal {
|
||||
position: fixed;
|
||||
box-sizing: border-box;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 10em 1em;
|
||||
}
|
||||
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
overflow: auto;
|
||||
margin: auto;
|
||||
z-index: 102;
|
||||
overflow: auto;
|
||||
background-color: #f5f5f7;
|
||||
border: 1px solid black;
|
||||
border-radius: 0.5em;
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
div.dtr-modal div.dtr-modal-content {
|
||||
position: relative;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
div.dtr-modal div.dtr-modal-close {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border: 1px solid #eaeaea;
|
||||
background-color: #f9f9f9;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
z-index: 12;
|
||||
}
|
||||
|
||||
div.dtr-modal div.dtr-modal-close:hover {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
div.dtr-modal div.dtr-modal-background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 101;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
width: 95%;
|
||||
}
|
||||
}
|
||||
|
||||
div.dtr-bs-modal table.table tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
table.dataTable.dtr-inline.collapsed.table-sm > tbody > tr > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed.table-sm > tbody > tr > th:first-child:before {
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -4,14 +4,14 @@
|
||||
*
|
||||
* To rebuild or modify this file with the latest versions of the included
|
||||
* software please visit:
|
||||
* https://datatables.net/download/#bs4/dt-1.10.23/r-2.2.7
|
||||
* https://datatables.net/download/#bs5/dt-1.10.25/r-2.2.9
|
||||
*
|
||||
* Included libraries:
|
||||
* DataTables 1.10.23, Responsive 2.2.7
|
||||
* DataTables 1.10.25, Responsive 2.2.9
|
||||
*/
|
||||
|
||||
/*!
|
||||
Copyright 2008-2020 SpryMedia Ltd.
|
||||
Copyright 2008-2021 SpryMedia Ltd.
|
||||
|
||||
This source file is free software, available under the following license:
|
||||
MIT license - http://datatables.net/license
|
||||
@ -21,8 +21,8 @@
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
||||
|
||||
For details please refer to: http://www.datatables.net
|
||||
DataTables 1.10.23
|
||||
©2008-2020 SpryMedia Ltd - datatables.net/license
|
||||
DataTables 1.10.25
|
||||
©2008-2021 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(k,y,z){k instanceof String&&(k=String(k));for(var q=k.length,G=0;G<q;G++){var O=k[G];if(y.call(z,O,G,k))return{i:G,v:O}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;
|
||||
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(k,y,z){if(k==Array.prototype||k==Object.prototype)return k;k[y]=z.value;return k};$jscomp.getGlobal=function(k){k=["object"==typeof globalThis&&globalThis,k,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var y=0;y<k.length;++y){var z=k[y];if(z&&z.Math==Math)return z}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
|
||||
@ -31,174 +31,174 @@ $jscomp.polyfill=function(k,y,z,q){y&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfil
|
||||
$jscomp.polyfillIsolated=function(k,y,z,q){var G=k.split(".");k=1===G.length;q=G[0];q=!k&&q in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var O=0;O<G.length-1;O++){var ma=G[O];if(!(ma in q))return;q=q[ma]}G=G[G.length-1];z=$jscomp.IS_SYMBOL_NATIVE&&"es6"===z?q[G]:null;y=y(z);null!=y&&(k?$jscomp.defineProperty($jscomp.polyfills,G,{configurable:!0,writable:!0,value:y}):y!==z&&($jscomp.propertyToPolyfillSymbol[G]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(G):$jscomp.POLYFILL_PREFIX+G,
|
||||
G=$jscomp.propertyToPolyfillSymbol[G],$jscomp.defineProperty(q,G,{configurable:!0,writable:!0,value:y})))};$jscomp.polyfill("Array.prototype.find",function(k){return k?k:function(y,z){return $jscomp.findInternal(this,y,z).v}},"es6","es3");
|
||||
(function(k){"function"===typeof define&&define.amd?define(["jquery"],function(y){return k(y,window,document)}):"object"===typeof exports?module.exports=function(y,z){y||(y=window);z||(z="undefined"!==typeof window?require("jquery"):require("jquery")(y));return k(z,y,y.document)}:k(jQuery,window,document)})(function(k,y,z,q){function G(a){var b,c,d={};k.each(a,function(e,f){(b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" ")&&(c=e.replace(b[0],b[2].toLowerCase()),
|
||||
d[c]=e,"o"===b[1]&&G(a[e]))});a._hungarianMap=d}function O(a,b,c){a._hungarianMap||G(a);var d;k.each(b,function(e,f){d=a._hungarianMap[e];d===q||!c&&b[d]!==q||("o"===d.charAt(0)?(b[d]||(b[d]={}),k.extend(!0,b[d],b[e]),O(a[d],b[d],c)):b[d]=b[e])})}function ma(a){var b=u.defaults.oLanguage,c=b.sDecimal;c&&Va(c);if(a){var d=a.sZeroRecords;!a.sEmptyTable&&d&&"No data available in table"===b.sEmptyTable&&V(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&d&&"Loading..."===b.sLoadingRecords&&V(a,a,
|
||||
"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&c!==a&&Va(a)}}function yb(a){R(a,"ordering","bSort");R(a,"orderMulti","bSortMulti");R(a,"orderClasses","bSortClasses");R(a,"orderCellsTop","bSortCellsTop");R(a,"order","aaSorting");R(a,"orderFixed","aaSortingFixed");R(a,"paging","bPaginate");R(a,"pagingType","sPaginationType");R(a,"pageLength","iDisplayLength");R(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":
|
||||
"");"boolean"===typeof a.scrollX&&(a.scrollX=a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&O(u.models.oSearch,a[b])}function zb(a){R(a,"orderable","bSortable");R(a,"orderData","aDataSort");R(a,"orderSequence","asSorting");R(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"!==typeof b||Array.isArray(b)||(a.aDataSort=[b])}function Ab(a){if(!u.__browser){var b={};u.__browser=b;var c=k("<div/>").css({position:"fixed",top:0,left:-1*k(y).scrollLeft(),height:1,
|
||||
d[c]=e,"o"===b[1]&&G(a[e]))});a._hungarianMap=d}function O(a,b,c){a._hungarianMap||G(a);var d;k.each(b,function(e,f){d=a._hungarianMap[e];d===q||!c&&b[d]!==q||("o"===d.charAt(0)?(b[d]||(b[d]={}),k.extend(!0,b[d],b[e]),O(a[d],b[d],c)):b[d]=b[e])})}function ma(a){var b=u.defaults.oLanguage,c=b.sDecimal;c&&Wa(c);if(a){var d=a.sZeroRecords;!a.sEmptyTable&&d&&"No data available in table"===b.sEmptyTable&&V(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&d&&"Loading..."===b.sLoadingRecords&&V(a,a,
|
||||
"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&c!==a&&Wa(a)}}function zb(a){R(a,"ordering","bSort");R(a,"orderMulti","bSortMulti");R(a,"orderClasses","bSortClasses");R(a,"orderCellsTop","bSortCellsTop");R(a,"order","aaSorting");R(a,"orderFixed","aaSortingFixed");R(a,"paging","bPaginate");R(a,"pagingType","sPaginationType");R(a,"pageLength","iDisplayLength");R(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":
|
||||
"");"boolean"===typeof a.scrollX&&(a.scrollX=a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&O(u.models.oSearch,a[b])}function Ab(a){R(a,"orderable","bSortable");R(a,"orderData","aDataSort");R(a,"orderSequence","asSorting");R(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"!==typeof b||Array.isArray(b)||(a.aDataSort=[b])}function Bb(a){if(!u.__browser){var b={};u.__browser=b;var c=k("<div/>").css({position:"fixed",top:0,left:-1*k(y).scrollLeft(),height:1,
|
||||
width:1,overflow:"hidden"}).append(k("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(k("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}k.extend(a.oBrowser,u.__browser);a.oScroll.iBarWidth=u.__browser.barWidth}
|
||||
function Bb(a,b,c,d,e,f){var g=!1;if(c!==q){var h=c;g=!0}for(;d!==e;)a.hasOwnProperty(d)&&(h=g?b(h,a[d],d,a):a[d],g=!0,d+=f);return h}function Wa(a,b){var c=u.defaults.column,d=a.aoColumns.length;c=k.extend({},u.models.oColumn,c,{nTh:b?b:z.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=k.extend({},u.models.oSearch,c[d]);Da(a,d,k(b).data())}function Da(a,b,c){b=a.aoColumns[b];
|
||||
var d=a.oClasses,e=k(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==q&&null!==c&&(zb(c),O(u.defaults.column,c,!0),c.mDataProp===q||c.mData||(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),k.extend(b,c),V(b,c,"sWidth","sWidthOrig"),c.iDataSort!==q&&(b.aDataSort=[c.iDataSort]),V(b,c,"aDataSort"));var g=b.mData,h=ia(g),
|
||||
function Cb(a,b,c,d,e,f){var g=!1;if(c!==q){var h=c;g=!0}for(;d!==e;)a.hasOwnProperty(d)&&(h=g?b(h,a[d],d,a):a[d],g=!0,d+=f);return h}function Xa(a,b){var c=u.defaults.column,d=a.aoColumns.length;c=k.extend({},u.models.oColumn,c,{nTh:b?b:z.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=k.extend({},u.models.oSearch,c[d]);Ea(a,d,k(b).data())}function Ea(a,b,c){b=a.aoColumns[b];
|
||||
var d=a.oClasses,e=k(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==q&&null!==c&&(Ab(c),O(u.defaults.column,c,!0),c.mDataProp===q||c.mData||(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),k.extend(b,c),V(b,c,"sWidth","sWidthOrig"),c.iDataSort!==q&&(b.aDataSort=[c.iDataSort]),V(b,c,"aDataSort"));var g=b.mData,h=ia(g),
|
||||
l=b.mRender?ia(b.mRender):null;c=function(n){return"string"===typeof n&&-1!==n.indexOf("@")};b._bAttrSrc=k.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(n,m,p){var t=h(n,m,q,p);return l&&m?l(t,m,n,p):t};b.fnSetData=function(n,m,p){return da(g)(n,m,p)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==k.inArray("asc",b.asSorting);c=-1!==k.inArray("desc",b.asSorting);b.bSortable&&(a||c)?a&&!c?
|
||||
(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI):(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI="")}function ra(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Xa(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;""===b.sY&&""===b.sX||Ea(a);I(a,null,"column-sizing",[a])}function sa(a,b){a=Fa(a,"bVisible");
|
||||
return"number"===typeof a[b]?a[b]:null}function ta(a,b){a=Fa(a,"bVisible");b=k.inArray(b,a);return-1!==b?b:null}function na(a){var b=0;k.each(a.aoColumns,function(c,d){d.bVisible&&"none"!==k(d.nTh).css("display")&&b++});return b}function Fa(a,b){var c=[];k.map(a.aoColumns,function(d,e){d[b]&&c.push(e)});return c}function Ya(a){var b=a.aoColumns,c=a.aoData,d=u.ext.type.detect,e,f,g;var h=0;for(e=b.length;h<e;h++){var l=b[h];var n=[];if(!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){var m=
|
||||
0;for(f=d.length;m<f;m++){var p=0;for(g=c.length;p<g;p++){n[p]===q&&(n[p]=S(a,p,h,"type"));var t=d[m](n[p],a);if(!t&&m!==d.length-1)break;if("html"===t)break}if(t){l.sType=t;break}}l.sType||(l.sType="string")}}}function Cb(a,b,c,d){var e,f,g,h=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){var l=b[e];var n=l.targets!==q?l.targets:l.aTargets;Array.isArray(n)||(n=[n]);var m=0;for(f=n.length;m<f;m++)if("number"===typeof n[m]&&0<=n[m]){for(;h.length<=n[m];)Wa(a);d(n[m],l)}else if("number"===typeof n[m]&&
|
||||
0>n[m])d(h.length+n[m],l);else if("string"===typeof n[m]){var p=0;for(g=h.length;p<g;p++)("_all"==n[m]||k(h[p].nTh).hasClass(n[m]))&&d(p,l)}}if(c)for(e=0,a=c.length;e<a;e++)d(e,c[e])}function ea(a,b,c,d){var e=a.aoData.length,f=k.extend(!0,{},u.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,h=0,l=g.length;h<l;h++)g[h].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==q&&(a.aIds[b]=f);!c&&a.oFeatures.bDeferRender||Za(a,e,c,d);return e}function Ga(a,
|
||||
b){var c;b instanceof k||(b=k(b));return b.map(function(d,e){c=$a(a,e);return ea(a,c.data,e,c.cells)})}function S(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,h=f.sDefaultContent,l=f.fnGetData(g,d,{settings:a,row:b,col:c});if(l===q)return a.iDrawError!=e&&null===h&&(aa(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),h;if((l===g||null===l)&&null!==h&&d!==q)l=h;else if("function"===typeof l)return l.call(g);
|
||||
return null===l&&"display"==d?"":l}function Db(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function ab(a){return k.map(a.match(/(\\.|[^\.])+/g)||[""],function(b){return b.replace(/\\\./g,".")})}function ia(a){if(k.isPlainObject(a)){var b={};k.each(a,function(d,e){e&&(b[d]=ia(e))});return function(d,e,f,g){var h=b[e]||b._;return h!==q?h(d,e,f,g):d}}if(null===a)return function(d){return d};if("function"===typeof a)return function(d,e,f,g){return a(d,e,f,g)};if("string"!==
|
||||
typeof a||-1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("("))return function(d,e){return d[a]};var c=function(d,e,f){if(""!==f){var g=ab(f);for(var h=0,l=g.length;h<l;h++){f=g[h].match(ua);var n=g[h].match(oa);if(f){g[h]=g[h].replace(ua,"");""!==g[h]&&(d=d[g[h]]);n=[];g.splice(0,h+1);g=g.join(".");if(Array.isArray(d))for(h=0,l=d.length;h<l;h++)n.push(c(d[h],e,g));d=f[0].substring(1,f[0].length-1);d=""===d?n:n.join(d);break}else if(n){g[h]=g[h].replace(oa,"");d=d[g[h]]();continue}if(null===
|
||||
d||d[g[h]]===q)return q;d=d[g[h]]}}return d};return function(d,e){return c(d,e,a)}}function da(a){if(k.isPlainObject(a))return da(a._);if(null===a)return function(){};if("function"===typeof a)return function(c,d,e){a(c,"set",d,e)};if("string"!==typeof a||-1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("("))return function(c,d){c[a]=d};var b=function(c,d,e){e=ab(e);var f=e[e.length-1];for(var g,h,l=0,n=e.length-1;l<n;l++){if("__proto__"===e[l]||"constructor"===e[l])throw Error("Cannot set prototype values");
|
||||
g=e[l].match(ua);h=e[l].match(oa);if(g){e[l]=e[l].replace(ua,"");c[e[l]]=[];f=e.slice();f.splice(0,l+1);g=f.join(".");if(Array.isArray(d))for(h=0,n=d.length;h<n;h++)f={},b(f,d[h],g),c[e[l]].push(f);else c[e[l]]=d;return}h&&(e[l]=e[l].replace(oa,""),c=c[e[l]](d));if(null===c[e[l]]||c[e[l]]===q)c[e[l]]={};c=c[e[l]]}if(f.match(oa))c[f.replace(oa,"")](d);else c[f.replace(ua,"")]=d};return function(c,d){return b(c,d,a)}}function bb(a){return T(a.aoData,"_aData")}function Ha(a){a.aoData.length=0;a.aiDisplayMaster.length=
|
||||
0;a.aiDisplay.length=0;a.aIds={}}function Ia(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===q&&a.splice(d,1)}function va(a,b,c,d){var e=a.aoData[b],f,g=function(l,n){for(;l.childNodes.length;)l.removeChild(l.firstChild);l.innerHTML=S(a,b,n,"display")};if("dom"!==c&&(c&&"auto"!==c||"dom"!==e.src)){var h=e.anCells;if(h)if(d!==q)g(h[d],d);else for(c=0,f=h.length;c<f;c++)g(h[c],c)}else e._aData=$a(a,e,d,d===q?q:e._aData).data;e._aSortData=null;e._aFilterData=null;g=
|
||||
a.aoColumns;if(d!==q)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;cb(a,e)}}function $a(a,b,c,d){var e=[],f=b.firstChild,g,h=0,l,n=a.aoColumns,m=a._rowReadObject;d=d!==q?d:m?{}:[];var p=function(x,r){if("string"===typeof x){var A=x.indexOf("@");-1!==A&&(A=x.substring(A+1),da(x)(d,r.getAttribute(A)))}},t=function(x){if(c===q||c===h)g=n[h],l=x.innerHTML.trim(),g&&g._bAttrSrc?(da(g.mData._)(d,l),p(g.mData.sort,x),p(g.mData.type,x),p(g.mData.filter,x)):m?(g._setter||(g._setter=da(g.mData)),
|
||||
g._setter(d,l)):d[h]=l;h++};if(f)for(;f;){var v=f.nodeName.toUpperCase();if("TD"==v||"TH"==v)t(f),e.push(f);f=f.nextSibling}else for(e=b.anCells,f=0,v=e.length;f<v;f++)t(e[f]);(b=b.firstChild?b:b.nTr)&&(b=b.getAttribute("id"))&&da(a.rowId)(d,b);return{data:d,cells:e}}function Za(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],h,l;if(null===e.nTr){var n=c||z.createElement("tr");e.nTr=n;e.anCells=g;n._DT_RowIndex=b;cb(a,e);var m=0;for(h=a.aoColumns.length;m<h;m++){var p=a.aoColumns[m];e=(l=c?!1:!0)?z.createElement(p.sCellType):
|
||||
d[m];e._DT_CellIndex={row:b,column:m};g.push(e);if(l||!(!p.mRender&&p.mData===m||k.isPlainObject(p.mData)&&p.mData._===m+".display"))e.innerHTML=S(a,b,m,"display");p.sClass&&(e.className+=" "+p.sClass);p.bVisible&&!c?n.appendChild(e):!p.bVisible&&c&&e.parentNode.removeChild(e);p.fnCreatedCell&&p.fnCreatedCell.call(a.oInstance,e,S(a,b,m),f,b,m)}I(a,"aoRowCreatedCallback",null,[n,f,b,g])}}function cb(a,b){var c=b.nTr,d=b._aData;if(c){if(a=a.rowIdFn(d))c.id=a;d.DT_RowClass&&(a=d.DT_RowClass.split(" "),
|
||||
b.__rowc=b.__rowc?Ja(b.__rowc.concat(a)):a,k(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&k(c).attr(d.DT_RowAttr);d.DT_RowData&&k(c).data(d.DT_RowData)}}function Eb(a){var b,c,d=a.nTHead,e=a.nTFoot,f=0===k("th, td",d).length,g=a.oClasses,h=a.aoColumns;f&&(c=k("<tr/>").appendTo(d));var l=0;for(b=h.length;l<b;l++){var n=h[l];var m=k(n.nTh).addClass(n.sClass);f&&m.appendTo(c);a.oFeatures.bSort&&(m.addClass(n.sSortingClass),!1!==n.bSortable&&(m.attr("tabindex",a.iTabIndex).attr("aria-controls",
|
||||
a.sTableId),db(a,n.nTh,l)));n.sTitle!=m[0].innerHTML&&m.html(n.sTitle);eb(a,"header")(a,m,n,g)}f&&wa(a.aoHeader,d);k(d).children("tr").attr("role","row");k(d).children("tr").children("th, td").addClass(g.sHeaderTH);k(e).children("tr").children("th, td").addClass(g.sFooterTH);if(null!==e)for(a=a.aoFooter[0],l=0,b=a.length;l<b;l++)n=h[l],n.nTf=a[l].cell,n.sClass&&k(n.nTf).addClass(n.sClass)}function xa(a,b,c){var d,e,f=[],g=[],h=a.aoColumns.length;if(b){c===q&&(c=!1);var l=0;for(d=b.length;l<d;l++){f[l]=
|
||||
b[l].slice();f[l].nTr=b[l].nTr;for(e=h-1;0<=e;e--)a.aoColumns[e].bVisible||c||f[l].splice(e,1);g.push([])}l=0;for(d=f.length;l<d;l++){if(a=f[l].nTr)for(;e=a.firstChild;)a.removeChild(e);e=0;for(b=f[l].length;e<b;e++){var n=h=1;if(g[l][e]===q){a.appendChild(f[l][e].cell);for(g[l][e]=1;f[l+h]!==q&&f[l][e].cell==f[l+h][e].cell;)g[l+h][e]=1,h++;for(;f[l][e+n]!==q&&f[l][e].cell==f[l][e+n].cell;){for(c=0;c<h;c++)g[l+c][e+n]=1;n++}k(f[l][e].cell).attr("rowspan",h).attr("colspan",n)}}}}}function fa(a){var b=
|
||||
I(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==k.inArray(!1,b))U(a,!1);else{b=[];var c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,h="ssp"==P(a),l=a.aiDisplay;a.bDrawing=!0;g!==q&&-1!==g&&(a._iDisplayStart=h?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);g=a._iDisplayStart;var n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,U(a,!1);else if(!h)a.iDraw++;else if(!a.bDestroying&&!Fb(a))return;if(0!==l.length)for(f=h?a.aoData.length:n,h=h?0:g;h<f;h++){var m=
|
||||
l[h],p=a.aoData[m];null===p.nTr&&Za(a,m);var t=p.nTr;if(0!==e){var v=d[c%e];p._sRowStripe!=v&&(k(t).removeClass(p._sRowStripe).addClass(v),p._sRowStripe=v)}I(a,"aoRowCallback",null,[t,p._aData,c,h,m]);b.push(t);c++}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==P(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=k("<tr/>",{"class":e?d[0]:""}).append(k("<td />",{valign:"top",colSpan:na(a),"class":a.oClasses.sRowEmpty}).html(c))[0];I(a,"aoHeaderCallback","header",[k(a.nTHead).children("tr")[0],
|
||||
bb(a),g,n,l]);I(a,"aoFooterCallback","footer",[k(a.nTFoot).children("tr")[0],bb(a),g,n,l]);d=k(a.nTBody);d.children().detach();d.append(k(b));I(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function ja(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&Gb(a);d?ya(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;fa(a);a._drawHold=!1}function Hb(a){var b=a.oClasses,c=k(a.nTable);c=k("<div/>").insertBefore(c);var d=a.oFeatures,
|
||||
(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI):(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI="")}function ra(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ya(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;""===b.sY&&""===b.sX||Fa(a);H(a,null,"column-sizing",[a])}function sa(a,b){a=Ga(a,"bVisible");
|
||||
return"number"===typeof a[b]?a[b]:null}function ta(a,b){a=Ga(a,"bVisible");b=k.inArray(b,a);return-1!==b?b:null}function na(a){var b=0;k.each(a.aoColumns,function(c,d){d.bVisible&&"none"!==k(d.nTh).css("display")&&b++});return b}function Ga(a,b){var c=[];k.map(a.aoColumns,function(d,e){d[b]&&c.push(e)});return c}function Za(a){var b=a.aoColumns,c=a.aoData,d=u.ext.type.detect,e,f,g;var h=0;for(e=b.length;h<e;h++){var l=b[h];var n=[];if(!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){var m=
|
||||
0;for(f=d.length;m<f;m++){var p=0;for(g=c.length;p<g;p++){n[p]===q&&(n[p]=S(a,p,h,"type"));var t=d[m](n[p],a);if(!t&&m!==d.length-1)break;if("html"===t&&!Z(n[p]))break}if(t){l.sType=t;break}}l.sType||(l.sType="string")}}}function Db(a,b,c,d){var e,f,g,h=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){var l=b[e];var n=l.targets!==q?l.targets:l.aTargets;Array.isArray(n)||(n=[n]);var m=0;for(f=n.length;m<f;m++)if("number"===typeof n[m]&&0<=n[m]){for(;h.length<=n[m];)Xa(a);d(n[m],l)}else if("number"===typeof n[m]&&
|
||||
0>n[m])d(h.length+n[m],l);else if("string"===typeof n[m]){var p=0;for(g=h.length;p<g;p++)("_all"==n[m]||k(h[p].nTh).hasClass(n[m]))&&d(p,l)}}if(c)for(e=0,a=c.length;e<a;e++)d(e,c[e])}function ea(a,b,c,d){var e=a.aoData.length,f=k.extend(!0,{},u.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,h=0,l=g.length;h<l;h++)g[h].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==q&&(a.aIds[b]=f);!c&&a.oFeatures.bDeferRender||$a(a,e,c,d);return e}function Ha(a,
|
||||
b){var c;b instanceof k||(b=k(b));return b.map(function(d,e){c=ab(a,e);return ea(a,c.data,e,c.cells)})}function S(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,h=f.sDefaultContent,l=f.fnGetData(g,d,{settings:a,row:b,col:c});if(l===q)return a.iDrawError!=e&&null===h&&(ca(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),h;if((l===g||null===l)&&null!==h&&d!==q)l=h;else if("function"===typeof l)return l.call(g);
|
||||
return null===l&&"display"==d?"":l}function Eb(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function bb(a){return k.map(a.match(/(\\.|[^\.])+/g)||[""],function(b){return b.replace(/\\\./g,".")})}function ia(a){if(k.isPlainObject(a)){var b={};k.each(a,function(d,e){e&&(b[d]=ia(e))});return function(d,e,f,g){var h=b[e]||b._;return h!==q?h(d,e,f,g):d}}if(null===a)return function(d){return d};if("function"===typeof a)return function(d,e,f,g){return a(d,e,f,g)};if("string"!==
|
||||
typeof a||-1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("("))return function(d,e){return d[a]};var c=function(d,e,f){if(""!==f){var g=bb(f);for(var h=0,l=g.length;h<l;h++){f=g[h].match(ua);var n=g[h].match(oa);if(f){g[h]=g[h].replace(ua,"");""!==g[h]&&(d=d[g[h]]);n=[];g.splice(0,h+1);g=g.join(".");if(Array.isArray(d))for(h=0,l=d.length;h<l;h++)n.push(c(d[h],e,g));d=f[0].substring(1,f[0].length-1);d=""===d?n:n.join(d);break}else if(n){g[h]=g[h].replace(oa,"");d=d[g[h]]();continue}if(null===
|
||||
d||d[g[h]]===q)return q;d=d[g[h]]}}return d};return function(d,e){return c(d,e,a)}}function da(a){if(k.isPlainObject(a))return da(a._);if(null===a)return function(){};if("function"===typeof a)return function(c,d,e){a(c,"set",d,e)};if("string"!==typeof a||-1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("("))return function(c,d){c[a]=d};var b=function(c,d,e){e=bb(e);var f=e[e.length-1];for(var g,h,l=0,n=e.length-1;l<n;l++){if("__proto__"===e[l]||"constructor"===e[l])throw Error("Cannot set prototype values");
|
||||
g=e[l].match(ua);h=e[l].match(oa);if(g){e[l]=e[l].replace(ua,"");c[e[l]]=[];f=e.slice();f.splice(0,l+1);g=f.join(".");if(Array.isArray(d))for(h=0,n=d.length;h<n;h++)f={},b(f,d[h],g),c[e[l]].push(f);else c[e[l]]=d;return}h&&(e[l]=e[l].replace(oa,""),c=c[e[l]](d));if(null===c[e[l]]||c[e[l]]===q)c[e[l]]={};c=c[e[l]]}if(f.match(oa))c[f.replace(oa,"")](d);else c[f.replace(ua,"")]=d};return function(c,d){return b(c,d,a)}}function cb(a){return T(a.aoData,"_aData")}function Ia(a){a.aoData.length=0;a.aiDisplayMaster.length=
|
||||
0;a.aiDisplay.length=0;a.aIds={}}function Ja(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===q&&a.splice(d,1)}function va(a,b,c,d){var e=a.aoData[b],f,g=function(l,n){for(;l.childNodes.length;)l.removeChild(l.firstChild);l.innerHTML=S(a,b,n,"display")};if("dom"!==c&&(c&&"auto"!==c||"dom"!==e.src)){var h=e.anCells;if(h)if(d!==q)g(h[d],d);else for(c=0,f=h.length;c<f;c++)g(h[c],c)}else e._aData=ab(a,e,d,d===q?q:e._aData).data;e._aSortData=null;e._aFilterData=null;g=
|
||||
a.aoColumns;if(d!==q)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;db(a,e)}}function ab(a,b,c,d){var e=[],f=b.firstChild,g,h=0,l,n=a.aoColumns,m=a._rowReadObject;d=d!==q?d:m?{}:[];var p=function(x,r){if("string"===typeof x){var A=x.indexOf("@");-1!==A&&(A=x.substring(A+1),da(x)(d,r.getAttribute(A)))}},t=function(x){if(c===q||c===h)g=n[h],l=x.innerHTML.trim(),g&&g._bAttrSrc?(da(g.mData._)(d,l),p(g.mData.sort,x),p(g.mData.type,x),p(g.mData.filter,x)):m?(g._setter||(g._setter=da(g.mData)),
|
||||
g._setter(d,l)):d[h]=l;h++};if(f)for(;f;){var v=f.nodeName.toUpperCase();if("TD"==v||"TH"==v)t(f),e.push(f);f=f.nextSibling}else for(e=b.anCells,f=0,v=e.length;f<v;f++)t(e[f]);(b=b.firstChild?b:b.nTr)&&(b=b.getAttribute("id"))&&da(a.rowId)(d,b);return{data:d,cells:e}}function $a(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],h,l;if(null===e.nTr){var n=c||z.createElement("tr");e.nTr=n;e.anCells=g;n._DT_RowIndex=b;db(a,e);var m=0;for(h=a.aoColumns.length;m<h;m++){var p=a.aoColumns[m];e=(l=c?!1:!0)?z.createElement(p.sCellType):
|
||||
d[m];e._DT_CellIndex={row:b,column:m};g.push(e);if(l||!(!p.mRender&&p.mData===m||k.isPlainObject(p.mData)&&p.mData._===m+".display"))e.innerHTML=S(a,b,m,"display");p.sClass&&(e.className+=" "+p.sClass);p.bVisible&&!c?n.appendChild(e):!p.bVisible&&c&&e.parentNode.removeChild(e);p.fnCreatedCell&&p.fnCreatedCell.call(a.oInstance,e,S(a,b,m),f,b,m)}H(a,"aoRowCreatedCallback",null,[n,f,b,g])}}function db(a,b){var c=b.nTr,d=b._aData;if(c){if(a=a.rowIdFn(d))c.id=a;d.DT_RowClass&&(a=d.DT_RowClass.split(" "),
|
||||
b.__rowc=b.__rowc?Ka(b.__rowc.concat(a)):a,k(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&k(c).attr(d.DT_RowAttr);d.DT_RowData&&k(c).data(d.DT_RowData)}}function Fb(a){var b,c,d=a.nTHead,e=a.nTFoot,f=0===k("th, td",d).length,g=a.oClasses,h=a.aoColumns;f&&(c=k("<tr/>").appendTo(d));var l=0;for(b=h.length;l<b;l++){var n=h[l];var m=k(n.nTh).addClass(n.sClass);f&&m.appendTo(c);a.oFeatures.bSort&&(m.addClass(n.sSortingClass),!1!==n.bSortable&&(m.attr("tabindex",a.iTabIndex).attr("aria-controls",
|
||||
a.sTableId),eb(a,n.nTh,l)));n.sTitle!=m[0].innerHTML&&m.html(n.sTitle);fb(a,"header")(a,m,n,g)}f&&wa(a.aoHeader,d);k(d).children("tr").attr("role","row");k(d).children("tr").children("th, td").addClass(g.sHeaderTH);k(e).children("tr").children("th, td").addClass(g.sFooterTH);if(null!==e)for(a=a.aoFooter[0],l=0,b=a.length;l<b;l++)n=h[l],n.nTf=a[l].cell,n.sClass&&k(n.nTf).addClass(n.sClass)}function xa(a,b,c){var d,e,f=[],g=[],h=a.aoColumns.length;if(b){c===q&&(c=!1);var l=0;for(d=b.length;l<d;l++){f[l]=
|
||||
b[l].slice();f[l].nTr=b[l].nTr;for(e=h-1;0<=e;e--)a.aoColumns[e].bVisible||c||f[l].splice(e,1);g.push([])}l=0;for(d=f.length;l<d;l++){if(a=f[l].nTr)for(;e=a.firstChild;)a.removeChild(e);e=0;for(b=f[l].length;e<b;e++){var n=h=1;if(g[l][e]===q){a.appendChild(f[l][e].cell);for(g[l][e]=1;f[l+h]!==q&&f[l][e].cell==f[l+h][e].cell;)g[l+h][e]=1,h++;for(;f[l][e+n]!==q&&f[l][e].cell==f[l][e+n].cell;){for(c=0;c<h;c++)g[l+c][e+n]=1;n++}k(f[l][e].cell).attr("rowspan",h).attr("colspan",n)}}}}}function fa(a,b){var c=
|
||||
H(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==k.inArray(!1,c))U(a,!1);else{c=[];var d=0,e=a.asStripeClasses,f=e.length,g=a.oLanguage,h=a.iInitDisplayStart,l="ssp"==P(a),n=a.aiDisplay;a.bDrawing=!0;h!==q&&-1!==h&&(a._iDisplayStart=l?h:h>=a.fnRecordsDisplay()?0:h,a.iInitDisplayStart=-1);h=a._iDisplayStart;var m=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,U(a,!1);else if(!l)a.iDraw++;else if(!a.bDestroying&&!b){Gb(a);return}if(0!==n.length)for(b=l?a.aoData.length:m,g=l?0:h;g<b;g++){l=
|
||||
n[g];var p=a.aoData[l];null===p.nTr&&$a(a,l);var t=p.nTr;if(0!==f){var v=e[d%f];p._sRowStripe!=v&&(k(t).removeClass(p._sRowStripe).addClass(v),p._sRowStripe=v)}H(a,"aoRowCallback",null,[t,p._aData,d,g,l]);c.push(t);d++}else d=g.sZeroRecords,1==a.iDraw&&"ajax"==P(a)?d=g.sLoadingRecords:g.sEmptyTable&&0===a.fnRecordsTotal()&&(d=g.sEmptyTable),c[0]=k("<tr/>",{"class":f?e[0]:""}).append(k("<td />",{valign:"top",colSpan:na(a),"class":a.oClasses.sRowEmpty}).html(d))[0];H(a,"aoHeaderCallback","header",[k(a.nTHead).children("tr")[0],
|
||||
cb(a),h,m,n]);H(a,"aoFooterCallback","footer",[k(a.nTFoot).children("tr")[0],cb(a),h,m,n]);e=k(a.nTBody);e.children().detach();e.append(k(c));H(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function ja(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&Hb(a);d?ya(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;fa(a);a._drawHold=!1}function Ib(a){var b=a.oClasses,c=k(a.nTable);c=k("<div/>").insertBefore(c);var d=a.oFeatures,
|
||||
e=k("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,h,l,n,m,p,t=0;t<f.length;t++){g=null;h=f[t];if("<"==h){l=k("<div/>")[0];n=f[t+1];if("'"==n||'"'==n){m="";for(p=2;f[t+p]!=n;)m+=f[t+p],p++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),l.id=n[0].substr(1,n[0].length-1),l.className=n[1]):"#"==m.charAt(0)?l.id=m.substr(1,
|
||||
m.length-1):l.className=m;t+=p}e.append(l);e=k(l)}else if(">"==h)e=e.parent();else if("l"==h&&d.bPaginate&&d.bLengthChange)g=Ib(a);else if("f"==h&&d.bFilter)g=Jb(a);else if("r"==h&&d.bProcessing)g=Kb(a);else if("t"==h)g=Lb(a);else if("i"==h&&d.bInfo)g=Mb(a);else if("p"==h&&d.bPaginate)g=Nb(a);else if(0!==u.ext.feature.length)for(l=u.ext.feature,p=0,n=l.length;p<n;p++)if(h==l[p].cFeature){g=l[p].fnInit(a);break}g&&(l=a.aanFeatures,l[h]||(l[h]=[]),l[h].push(g),e.append(g))}c.replaceWith(e);a.nHolding=
|
||||
m.length-1):l.className=m;t+=p}e.append(l);e=k(l)}else if(">"==h)e=e.parent();else if("l"==h&&d.bPaginate&&d.bLengthChange)g=Jb(a);else if("f"==h&&d.bFilter)g=Kb(a);else if("r"==h&&d.bProcessing)g=Lb(a);else if("t"==h)g=Mb(a);else if("i"==h&&d.bInfo)g=Nb(a);else if("p"==h&&d.bPaginate)g=Ob(a);else if(0!==u.ext.feature.length)for(l=u.ext.feature,p=0,n=l.length;p<n;p++)if(h==l[p].cFeature){g=l[p].fnInit(a);break}g&&(l=a.aanFeatures,l[h]||(l[h]=[]),l[h].push(g),e.append(g))}c.replaceWith(e);a.nHolding=
|
||||
null}function wa(a,b){b=k(b).children("tr");var c,d,e;a.splice(0,a.length);var f=0;for(e=b.length;f<e;f++)a.push([]);f=0;for(e=b.length;f<e;f++){var g=b[f];for(c=g.firstChild;c;){if("TD"==c.nodeName.toUpperCase()||"TH"==c.nodeName.toUpperCase()){var h=1*c.getAttribute("colspan");var l=1*c.getAttribute("rowspan");h=h&&0!==h&&1!==h?h:1;l=l&&0!==l&&1!==l?l:1;var n=0;for(d=a[f];d[n];)n++;var m=n;var p=1===h?!0:!1;for(d=0;d<h;d++)for(n=0;n<l;n++)a[f+n][m+d]={cell:c,unique:p},a[f+n].nTr=g}c=c.nextSibling}}}
|
||||
function Ka(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],wa(c,b)));b=0;for(var e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)!c[b][f].unique||d[f]&&a.bSortCellsTop||(d[f]=c[b][f].cell);return d}function La(a,b,c){I(a,"aoServerParams","serverParams",[b]);if(b&&Array.isArray(b)){var d={},e=/(.*?)\[\]$/;k.each(b,function(m,p){(m=p.name.match(e))?(m=m[0],d[m]||(d[m]=[]),d[m].push(p.value)):d[p.name]=p.value});b=d}var f=a.ajax,g=a.oInstance,h=function(m){I(a,null,"xhr",[a,m,a.jqXHR]);c(m)};if(k.isPlainObject(f)&&
|
||||
f.data){var l=f.data;var n="function"===typeof l?l(b,a):l;b="function"===typeof l&&n?n:k.extend(!0,b,n);delete f.data}n={data:b,success:function(m){var p=m.error||m.sError;p&&aa(a,0,p);a.json=m;h(m)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(m,p,t){t=I(a,null,"xhr",[a,null,a.jqXHR]);-1===k.inArray(!0,t)&&("parsererror"==p?aa(a,0,"Invalid JSON response",1):4===m.readyState&&aa(a,0,"Ajax error",7));U(a,!1)}};a.oAjaxData=b;I(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(g,
|
||||
a.sAjaxSource,k.map(b,function(m,p){return{name:p,value:m}}),h,a):a.sAjaxSource||"string"===typeof f?a.jqXHR=k.ajax(k.extend(n,{url:f||a.sAjaxSource})):"function"===typeof f?a.jqXHR=f.call(g,b,h,a):(a.jqXHR=k.ajax(k.extend(n,f)),f.data=l)}function Fb(a){return a.bAjaxDataGet?(a.iDraw++,U(a,!0),La(a,Ob(a),function(b){Pb(a,b)}),!1):!0}function Ob(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g=[],h=pa(a);var l=a._iDisplayStart;var n=!1!==d.bPaginate?a._iDisplayLength:
|
||||
-1;var m=function(x,r){g.push({name:x,value:r})};m("sEcho",a.iDraw);m("iColumns",c);m("sColumns",T(b,"sName").join(","));m("iDisplayStart",l);m("iDisplayLength",n);var p={draw:a.iDraw,columns:[],order:[],start:l,length:n,search:{value:e.sSearch,regex:e.bRegex}};for(l=0;l<c;l++){var t=b[l];var v=f[l];n="function"==typeof t.mData?"function":t.mData;p.columns.push({data:n,name:t.sName,searchable:t.bSearchable,orderable:t.bSortable,search:{value:v.sSearch,regex:v.bRegex}});m("mDataProp_"+l,n);d.bFilter&&
|
||||
(m("sSearch_"+l,v.sSearch),m("bRegex_"+l,v.bRegex),m("bSearchable_"+l,t.bSearchable));d.bSort&&m("bSortable_"+l,t.bSortable)}d.bFilter&&(m("sSearch",e.sSearch),m("bRegex",e.bRegex));d.bSort&&(k.each(h,function(x,r){p.order.push({column:r.col,dir:r.dir});m("iSortCol_"+x,r.col);m("sSortDir_"+x,r.dir)}),m("iSortingCols",h.length));b=u.ext.legacy.ajax;return null===b?a.sAjaxSource?g:p:b?g:p}function Pb(a,b){var c=function(g,h){return b[g]!==q?b[g]:b[h]},d=Ma(a,b),e=c("sEcho","draw"),f=c("iTotalRecords",
|
||||
"recordsTotal");c=c("iTotalDisplayRecords","recordsFiltered");if(e!==q){if(1*e<a.iDraw)return;a.iDraw=1*e}Ha(a);a._iRecordsTotal=parseInt(f,10);a._iRecordsDisplay=parseInt(c,10);e=0;for(f=d.length;e<f;e++)ea(a,d[e]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;fa(a);a._bInitComplete||Na(a,b);a.bAjaxDataGet=!0;U(a,!1)}function Ma(a,b){a=k.isPlainObject(a.ajax)&&a.ajax.dataSrc!==q?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===a?b.aaData||b[a]:""!==a?ia(a)(b):b}function Jb(a){var b=a.oClasses,
|
||||
c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',h=d.sSearch;h=h.match(/_INPUT_/)?h.replace("_INPUT_",g):h+g;b=k("<div/>",{id:f.f?null:c+"_filter","class":b.sFilter}).append(k("<label/>").append(h));var l=function(){var m=this.value?this.value:"";m!=e.sSearch&&(ya(a,{sSearch:m,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,fa(a))};f=null!==a.searchDelay?a.searchDelay:"ssp"===P(a)?400:0;var n=
|
||||
k("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",f?fb(l,f):l).on("mouseup",function(m){setTimeout(function(){l.call(n[0])},10)}).on("keypress.DT",function(m){if(13==m.keyCode)return!1}).attr("aria-controls",c);k(a.nTable).on("search.dt.DT",function(m,p){if(a===p)try{n[0]!==z.activeElement&&n.val(e.sSearch)}catch(t){}});return b[0]}function ya(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(h){d.sSearch=h.sSearch;d.bRegex=
|
||||
h.bRegex;d.bSmart=h.bSmart;d.bCaseInsensitive=h.bCaseInsensitive},g=function(h){return h.bEscapeRegex!==q?!h.bEscapeRegex:h.bRegex};Ya(a);if("ssp"!=P(a)){Qb(a,b.sSearch,c,g(b),b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)Rb(a,e[b].sSearch,b,g(e[b]),e[b].bSmart,e[b].bCaseInsensitive);Sb(a)}else f(b);a.bFiltered=!0;I(a,null,"search",[a])}function Sb(a){for(var b=u.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var h=[],l=0,n=c.length;l<n;l++)e=c[l],d=a.aoData[e],b[f](a,d._aFilterData,
|
||||
e,d._aData,l)&&h.push(e);c.length=0;k.merge(c,h)}}function Rb(a,b,c,d,e,f){if(""!==b){var g=[],h=a.aiDisplay;d=gb(b,d,e,f);for(e=0;e<h.length;e++)b=a.aoData[h[e]]._aFilterData[c],d.test(b)&&g.push(h[e]);a.aiDisplay=g}}function Qb(a,b,c,d,e,f){e=gb(b,d,e,f);var g=a.oPreviousSearch.sSearch,h=a.aiDisplayMaster;f=[];0!==u.ext.search.length&&(c=!0);var l=Tb(a);if(0>=b.length)a.aiDisplay=h.slice();else{if(l||c||d||g.length>b.length||0!==b.indexOf(g)||a.bSorted)a.aiDisplay=h.slice();b=a.aiDisplay;for(c=
|
||||
0;c<b.length;c++)e.test(a.aoData[b[c]]._sFilterRow)&&f.push(b[c]);a.aiDisplay=f}}function gb(a,b,c,d){a=b?a:hb(a);c&&(a="^(?=.*?"+k.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(e){if('"'===e.charAt(0)){var f=e.match(/^"(.*)"$/);e=f?f[1]:e}return e.replace('"',"")}).join(")(?=.*?")+").*$");return new RegExp(a,d?"i":"")}function Tb(a){var b=a.aoColumns,c,d,e=u.ext.type.search;var f=!1;var g=0;for(c=a.aoData.length;g<c;g++){var h=a.aoData[g];if(!h._aFilterData){var l=[];var n=0;for(d=b.length;n<d;n++){f=
|
||||
b[n];if(f.bSearchable){var m=S(a,g,n,"filter");e[f.sType]&&(m=e[f.sType](m));null===m&&(m="");"string"!==typeof m&&m.toString&&(m=m.toString())}else m="";m.indexOf&&-1!==m.indexOf("&")&&(Oa.innerHTML=m,m=rc?Oa.textContent:Oa.innerText);m.replace&&(m=m.replace(/[\r\n\u2028]/g,""));l.push(m)}h._aFilterData=l;h._sFilterRow=l.join(" ");f=!0}}return f}function Ub(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Vb(a){return{sSearch:a.search,bSmart:a.smart,
|
||||
bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function Mb(a){var b=a.sTableId,c=a.aanFeatures.i,d=k("<div/>",{"class":a.oClasses.sInfo,id:c?null:b+"_info"});c||(a.aoDrawCallback.push({fn:Wb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),k(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Wb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),h=g?c.sInfo:c.sInfoEmpty;
|
||||
g!==f&&(h+=" "+c.sInfoFiltered);h+=c.sInfoPostFix;h=Xb(a,h);c=c.fnInfoCallback;null!==c&&(h=c.call(a.oInstance,a,d,e,f,g,h));k(b).html(h)}}function Xb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/
|
||||
e)))}function za(a){var b=a.iInitDisplayStart,c=a.aoColumns;var d=a.oFeatures;var e=a.bDeferLoading;if(a.bInitialised){Hb(a);Eb(a);xa(a,a.aoHeader);xa(a,a.aoFooter);U(a,!0);d.bAutoWidth&&Xa(a);var f=0;for(d=c.length;f<d;f++){var g=c[f];g.sWidth&&(g.nTh.style.width=K(g.sWidth))}I(a,null,"preInit",[a]);ja(a);c=P(a);if("ssp"!=c||e)"ajax"==c?La(a,[],function(h){var l=Ma(a,h);for(f=0;f<l.length;f++)ea(a,l[f]);a.iInitDisplayStart=b;ja(a);U(a,!1);Na(a,h)},a):(U(a,!1),Na(a))}else setTimeout(function(){za(a)},
|
||||
200)}function Na(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&ra(a);I(a,null,"plugin-init",[a,b]);I(a,"aoInitComplete","init",[a,b])}function ib(a,b){b=parseInt(b,10);a._iDisplayLength=b;jb(a);I(a,null,"length",[a,b])}function Ib(a){var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=Array.isArray(d[0]),f=e?d[0]:d;d=e?d[1]:d;e=k("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect});for(var g=0,h=f.length;g<h;g++)e[0][g]=new Option("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],
|
||||
f[g]);var l=k("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(l[0].id=c+"_length");l.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));k("select",l).val(a._iDisplayLength).on("change.DT",function(n){ib(a,k(this).val());fa(a)});k(a.nTable).on("length.dt.DT",function(n,m,p){a===m&&k("select",l).val(p)});return l[0]}function Nb(a){var b=a.sPaginationType,c=u.ext.pager[b],d="function"===typeof c,e=function(g){fa(g)};b=k("<div/>").addClass(a.oClasses.sPaging+b)[0];
|
||||
var f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(g){if(d){var h=g._iDisplayStart,l=g._iDisplayLength,n=g.fnRecordsDisplay(),m=-1===l;h=m?0:Math.ceil(h/l);l=m?1:Math.ceil(n/l);n=c(h,l);var p;m=0;for(p=f.p.length;m<p;m++)eb(g,"pageButton")(g,f.p[m],m,n,h,l)}else c.fnUpdate(g,e)},sName:"pagination"}));return b}function kb(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&
|
||||
(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:aa(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(I(a,null,"page",[a]),c&&fa(a));return b}function Kb(a){return k("<div/>",{id:a.aanFeatures.r?null:a.sTableId+"_processing","class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function U(a,b){a.oFeatures.bProcessing&&k(a.aanFeatures.r).css("display",b?"block":"none");
|
||||
I(a,null,"processing",[a,b])}function Lb(a){var b=k(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),h=g.length?g[0]._captionSide:null,l=k(b[0].cloneNode(!1)),n=k(b[0].cloneNode(!1)),m=b.children("tfoot");m.length||(m=null);l=k("<div/>",{"class":f.sScrollWrapper}).append(k("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?d?K(d):null:"100%"}).append(k("<div/>",
|
||||
{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(l.removeAttr("id").css("margin-left",0).append("top"===h?g:null).append(b.children("thead"))))).append(k("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:d?K(d):null}).append(b));m&&l.append(k("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?d?K(d):null:"100%"}).append(k("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",
|
||||
0).append("bottom"===h?g:null).append(b.children("tfoot")))));b=l.children();var p=b[0];f=b[1];var t=m?b[2]:null;if(d)k(f).on("scroll.DT",function(v){v=this.scrollLeft;p.scrollLeft=v;m&&(t.scrollLeft=v)});k(f).css("max-height",e);c.bCollapse||k(f).css("height",e);a.nScrollHead=p;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:Ea,sName:"scrolling"});return l[0]}function Ea(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY;b=b.iBarWidth;var f=k(a.nScrollHead),g=f[0].style,h=f.children("div"),l=
|
||||
h[0].style,n=h.children("table");h=a.nScrollBody;var m=k(h),p=h.style,t=k(a.nScrollFoot).children("div"),v=t.children("table"),x=k(a.nTHead),r=k(a.nTable),A=r[0],E=A.style,H=a.nTFoot?k(a.nTFoot):null,W=a.oBrowser,M=W.bScrollOversize,C=T(a.aoColumns,"nTh"),B=[],ba=[],X=[],lb=[],Aa,Yb=function(F){F=F.style;F.paddingTop="0";F.paddingBottom="0";F.borderTopWidth="0";F.borderBottomWidth="0";F.height=0};var ha=h.scrollHeight>h.clientHeight;if(a.scrollBarVis!==ha&&a.scrollBarVis!==q)a.scrollBarVis=ha,ra(a);
|
||||
else{a.scrollBarVis=ha;r.children("thead, tfoot").remove();if(H){var ka=H.clone().prependTo(r);var la=H.find("tr");ka=ka.find("tr")}var mb=x.clone().prependTo(r);x=x.find("tr");ha=mb.find("tr");mb.find("th, td").removeAttr("tabindex");c||(p.width="100%",f[0].style.width="100%");k.each(Ka(a,mb),function(F,Y){Aa=sa(a,F);Y.style.width=a.aoColumns[Aa].sWidth});H&&Z(function(F){F.style.width=""},ka);f=r.outerWidth();""===c?(E.width="100%",M&&(r.find("tbody").height()>h.offsetHeight||"scroll"==m.css("overflow-y"))&&
|
||||
(E.width=K(r.outerWidth()-b)),f=r.outerWidth()):""!==d&&(E.width=K(d),f=r.outerWidth());Z(Yb,ha);Z(function(F){X.push(F.innerHTML);B.push(K(k(F).css("width")))},ha);Z(function(F,Y){-1!==k.inArray(F,C)&&(F.style.width=B[Y])},x);k(ha).height(0);H&&(Z(Yb,ka),Z(function(F){lb.push(F.innerHTML);ba.push(K(k(F).css("width")))},ka),Z(function(F,Y){F.style.width=ba[Y]},la),k(ka).height(0));Z(function(F,Y){F.innerHTML='<div class="dataTables_sizing">'+X[Y]+"</div>";F.childNodes[0].style.height="0";F.childNodes[0].style.overflow=
|
||||
"hidden";F.style.width=B[Y]},ha);H&&Z(function(F,Y){F.innerHTML='<div class="dataTables_sizing">'+lb[Y]+"</div>";F.childNodes[0].style.height="0";F.childNodes[0].style.overflow="hidden";F.style.width=ba[Y]},ka);r.outerWidth()<f?(la=h.scrollHeight>h.offsetHeight||"scroll"==m.css("overflow-y")?f+b:f,M&&(h.scrollHeight>h.offsetHeight||"scroll"==m.css("overflow-y"))&&(E.width=K(la-b)),""!==c&&""===d||aa(a,1,"Possible column misalignment",6)):la="100%";p.width=K(la);g.width=K(la);H&&(a.nScrollFoot.style.width=
|
||||
K(la));!e&&M&&(p.height=K(A.offsetHeight+b));c=r.outerWidth();n[0].style.width=K(c);l.width=K(c);d=r.height()>h.clientHeight||"scroll"==m.css("overflow-y");e="padding"+(W.bScrollbarLeft?"Left":"Right");l[e]=d?b+"px":"0px";H&&(v[0].style.width=K(c),t[0].style.width=K(c),t[0].style[e]=d?b+"px":"0px");r.children("colgroup").insertBefore(r.children("thead"));m.trigger("scroll");!a.bSorted&&!a.bFiltered||a._drawHold||(h.scrollTop=0)}}function Z(a,b,c){for(var d=0,e=0,f=b.length,g,h;e<f;){g=b[e].firstChild;
|
||||
for(h=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,h,d):a(g,d),d++),g=g.nextSibling,h=c?h.nextSibling:null;e++}}function Xa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,h=c.length,l=Fa(a,"bVisible"),n=k("th",a.nTHead),m=b.getAttribute("width"),p=b.parentNode,t=!1,v,x=a.oBrowser;d=x.bScrollOversize;(v=b.style.width)&&-1!==v.indexOf("%")&&(m=v);for(v=0;v<l.length;v++){var r=c[l[v]];null!==r.sWidth&&(r.sWidth=Zb(r.sWidthOrig,p),t=!0)}if(d||!t&&!f&&!e&&h==na(a)&&h==n.length)for(v=
|
||||
0;v<h;v++)l=sa(a,v),null!==l&&(c[l].sWidth=K(n.eq(v).width()));else{h=k(b).clone().css("visibility","hidden").removeAttr("id");h.find("tbody tr").remove();var A=k("<tr/>").appendTo(h.find("tbody"));h.find("thead, tfoot").remove();h.append(k(a.nTHead).clone()).append(k(a.nTFoot).clone());h.find("tfoot th, tfoot td").css("width","");n=Ka(a,h.find("thead")[0]);for(v=0;v<l.length;v++)r=c[l[v]],n[v].style.width=null!==r.sWidthOrig&&""!==r.sWidthOrig?K(r.sWidthOrig):"",r.sWidthOrig&&f&&k(n[v]).append(k("<div/>").css({width:r.sWidthOrig,
|
||||
margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(v=0;v<l.length;v++)t=l[v],r=c[t],k($b(a,t)).clone(!1).append(r.sContentPadding).appendTo(A);k("[name]",h).removeAttr("name");r=k("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(h).appendTo(p);f&&g?h.width(g):f?(h.css("width","auto"),h.removeAttr("width"),h.width()<p.clientWidth&&m&&h.width(p.clientWidth)):e?h.width(p.clientWidth):m&&h.width(m);for(v=e=0;v<l.length;v++)p=k(n[v]),g=p.outerWidth()-
|
||||
p.width(),p=x.bBounding?Math.ceil(n[v].getBoundingClientRect().width):p.outerWidth(),e+=p,c[l[v]].sWidth=K(p-g);b.style.width=K(e);r.remove()}m&&(b.style.width=K(m));!m&&!f||a._reszEvt||(b=function(){k(y).on("resize.DT-"+a.sInstance,fb(function(){ra(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0)}function Zb(a,b){if(!a)return 0;a=k("<div/>").css("width",K(a)).appendTo(b||z.body);b=a[0].offsetWidth;a.remove();return b}function $b(a,b){var c=ac(a,b);if(0>c)return null;var d=a.aoData[c];return d.nTr?d.anCells[b]:
|
||||
k("<td/>").html(S(a,c,b,"display"))[0]}function ac(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=S(a,f,b,"display")+"",c=c.replace(sc,""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function K(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function pa(a){var b=[],c=a.aoColumns;var d=a.aaSortingFixed;var e=k.isPlainObject(d);var f=[];var g=function(m){m.length&&!Array.isArray(m[0])?f.push(m):k.merge(f,m)};Array.isArray(d)&&g(d);
|
||||
e&&d.pre&&g(d.pre);g(a.aaSorting);e&&d.post&&g(d.post);for(a=0;a<f.length;a++){var h=f[a][0];g=c[h].aDataSort;d=0;for(e=g.length;d<e;d++){var l=g[d];var n=c[l].sType||"string";f[a]._idx===q&&(f[a]._idx=k.inArray(f[a][1],c[l].asSorting));b.push({src:h,col:l,dir:f[a][1],index:f[a]._idx,type:n,formatter:u.ext.type.order[n+"-pre"]})}}return b}function Gb(a){var b,c=[],d=u.ext.type.order,e=a.aoData,f=0,g=a.aiDisplayMaster;Ya(a);var h=pa(a);var l=0;for(b=h.length;l<b;l++){var n=h[l];n.formatter&&f++;bc(a,
|
||||
n.col)}if("ssp"!=P(a)&&0!==h.length){l=0;for(b=g.length;l<b;l++)c[g[l]]=l;f===h.length?g.sort(function(m,p){var t,v=h.length,x=e[m]._aSortData,r=e[p]._aSortData;for(t=0;t<v;t++){var A=h[t];var E=x[A.col];var H=r[A.col];E=E<H?-1:E>H?1:0;if(0!==E)return"asc"===A.dir?E:-E}E=c[m];H=c[p];return E<H?-1:E>H?1:0}):g.sort(function(m,p){var t,v=h.length,x=e[m]._aSortData,r=e[p]._aSortData;for(t=0;t<v;t++){var A=h[t];var E=x[A.col];var H=r[A.col];A=d[A.type+"-"+A.dir]||d["string-"+A.dir];E=A(E,H);if(0!==E)return E}E=
|
||||
c[m];H=c[p];return E<H?-1:E>H?1:0})}a.bSorted=!0}function cc(a){var b=a.aoColumns,c=pa(a);a=a.oLanguage.oAria;for(var d=0,e=b.length;d<e;d++){var f=b[d];var g=f.asSorting;var h=f.sTitle.replace(/<.*?>/g,"");var l=f.nTh;l.removeAttribute("aria-sort");f.bSortable&&(0<c.length&&c[0].col==d?(l.setAttribute("aria-sort","asc"==c[0].dir?"ascending":"descending"),f=g[c[0].index+1]||g[0]):f=g[0],h+="asc"===f?a.sSortAscending:a.sSortDescending);l.setAttribute("aria-label",h)}}function nb(a,b,c,d){var e=a.aaSorting,
|
||||
f=a.aoColumns[b].asSorting,g=function(h,l){var n=h._idx;n===q&&(n=k.inArray(h[1],f));return n+1<f.length?n+1:l?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=k.inArray(b,T(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);ja(a);"function"==typeof d&&d(a)}
|
||||
function db(a,b,c,d){var e=a.aoColumns[c];ob(b,{},function(f){!1!==e.bSortable&&(a.oFeatures.bProcessing?(U(a,!0),setTimeout(function(){nb(a,c,f.shiftKey,d);"ssp"!==P(a)&&U(a,!1)},0)):nb(a,c,f.shiftKey,d))})}function Pa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=pa(a),e=a.oFeatures,f;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++){var g=b[e].src;k(T(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3))}e=0;for(f=d.length;e<f;e++)g=d[e].src,k(T(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=
|
||||
d}function bc(a,b){var c=a.aoColumns[b],d=u.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ta(a,b)));for(var f,g=u.ext.type.order[c.sType+"-pre"],h=0,l=a.aoData.length;h<l;h++)if(c=a.aoData[h],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[h]:S(a,h,b,"sort"),c._aSortData[b]=g?g(f):f}function Qa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:k.extend(!0,[],a.aaSorting),search:Ub(a.oPreviousSearch),columns:k.map(a.aoColumns,
|
||||
function(c,d){return{visible:c.bVisible,search:Ub(a.aoPreSearchCols[d])}})};I(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function dc(a,b,c){var d,e,f=a.aoColumns;b=function(h){if(h&&h.time){var l=I(a,"aoStateLoadParams","stateLoadParams",[a,h]);if(-1===k.inArray(!1,l)&&(l=a.iStateDuration,!(0<l&&h.time<+new Date-1E3*l||h.columns&&f.length!==h.columns.length))){a.oLoadedState=k.extend(!0,{},h);h.start!==q&&(a._iDisplayStart=h.start,a.iInitDisplayStart=
|
||||
h.start);h.length!==q&&(a._iDisplayLength=h.length);h.order!==q&&(a.aaSorting=[],k.each(h.order,function(n,m){a.aaSorting.push(m[0]>=f.length?[0,m[1]]:m)}));h.search!==q&&k.extend(a.oPreviousSearch,Vb(h.search));if(h.columns)for(d=0,e=h.columns.length;d<e;d++)l=h.columns[d],l.visible!==q&&(f[d].bVisible=l.visible),l.search!==q&&k.extend(a.aoPreSearchCols[d],Vb(l.search));I(a,"aoStateLoaded","stateLoaded",[a,h])}}c()};if(a.oFeatures.bStateSave){var g=a.fnStateLoadCallback.call(a.oInstance,a,b);g!==
|
||||
q&&b(g)}else c()}function Ra(a){var b=u.settings;a=k.inArray(a,T(b,"nTable"));return-1!==a?b[a]:null}function aa(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)y.console&&console.log&&console.log(c);else if(b=u.ext,b=b.sErrMode||b.errMode,a&&I(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function V(a,b,c,d){Array.isArray(c)?
|
||||
k.each(c,function(e,f){Array.isArray(f)?V(a,b,f[0],f[1]):V(a,b,f)}):(d===q&&(d=c),b[c]!==q&&(a[d]=b[c]))}function pb(a,b,c){var d;for(d in b)if(b.hasOwnProperty(d)){var e=b[d];k.isPlainObject(e)?(k.isPlainObject(a[d])||(a[d]={}),k.extend(!0,a[d],e)):c&&"data"!==d&&"aaData"!==d&&Array.isArray(e)?a[d]=e.slice():a[d]=e}return a}function ob(a,b,c){k(a).on("click.DT",b,function(d){k(a).trigger("blur");c(d)}).on("keypress.DT",b,function(d){13===d.which&&(d.preventDefault(),c(d))}).on("selectstart.DT",function(){return!1})}
|
||||
function Q(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function I(a,b,c,d){var e=[];b&&(e=k.map(a[b].slice().reverse(),function(f,g){return f.fn.apply(a.oInstance,d)}));null!==c&&(b=k.Event(c+".dt"),k(a.nTable).trigger(b,d),e.push(b.result));return e}function jb(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function eb(a,b){a=a.renderer;var c=u.ext.renderer[b];return k.isPlainObject(a)&&a[b]?c[a[b]]||c._:"string"===typeof a?c[a]||
|
||||
c._:c._}function P(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Ba(a,b){var c=ec.numbers_length,d=Math.floor(c/2);b<=c?a=qa(0,b):a<=d?(a=qa(0,c-2),a.push("ellipsis"),a.push(b-1)):(a>=b-1-d?a=qa(b-(c-2),b):(a=qa(a-d+2,a+d-1),a.push("ellipsis"),a.push(b-1)),a.splice(0,0,"ellipsis"),a.splice(0,0,0));a.DT_el="span";return a}function Va(a){k.each({num:function(b){return Sa(b,a)},"num-fmt":function(b){return Sa(b,a,qb)},"html-num":function(b){return Sa(b,a,Ta)},"html-num-fmt":function(b){return Sa(b,
|
||||
a,Ta,qb)}},function(b,c){L.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(L.type.search[b+a]=L.type.search.html)})}function fc(a){return function(){var b=[Ra(this[u.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return u.ext.internal[a].apply(this,b)}}var u=function(a){this.$=function(f,g){return this.api(!0).$(f,g)};this._=function(f,g){return this.api(!0).rows(f,g).data()};this.api=function(f){return f?new D(Ra(this[L.iApiIndex])):new D(this)};this.fnAddData=function(f,g){var h=this.api(!0);
|
||||
f=Array.isArray(f)&&(Array.isArray(f[0])||k.isPlainObject(f[0]))?h.rows.add(f):h.row.add(f);(g===q||g)&&h.draw();return f.flatten().toArray()};this.fnAdjustColumnSizing=function(f){var g=this.api(!0).columns.adjust(),h=g.settings()[0],l=h.oScroll;f===q||f?g.draw(!1):(""!==l.sX||""!==l.sY)&&Ea(h)};this.fnClearTable=function(f){var g=this.api(!0).clear();(f===q||f)&&g.draw()};this.fnClose=function(f){this.api(!0).row(f).child.hide()};this.fnDeleteRow=function(f,g,h){var l=this.api(!0);f=l.rows(f);var n=
|
||||
f.settings()[0],m=n.aoData[f[0][0]];f.remove();g&&g.call(this,n,m);(h===q||h)&&l.draw();return m};this.fnDestroy=function(f){this.api(!0).destroy(f)};this.fnDraw=function(f){this.api(!0).draw(f)};this.fnFilter=function(f,g,h,l,n,m){n=this.api(!0);null===g||g===q?n.search(f,h,l,m):n.column(g).search(f,h,l,m);n.draw()};this.fnGetData=function(f,g){var h=this.api(!0);if(f!==q){var l=f.nodeName?f.nodeName.toLowerCase():"";return g!==q||"td"==l||"th"==l?h.cell(f,g).data():h.row(f).data()||null}return h.data().toArray()};
|
||||
this.fnGetNodes=function(f){var g=this.api(!0);return f!==q?g.row(f).node():g.rows().nodes().flatten().toArray()};this.fnGetPosition=function(f){var g=this.api(!0),h=f.nodeName.toUpperCase();return"TR"==h?g.row(f).index():"TD"==h||"TH"==h?(f=g.cell(f).index(),[f.row,f.columnVisible,f.column]):null};this.fnIsOpen=function(f){return this.api(!0).row(f).child.isShown()};this.fnOpen=function(f,g,h){return this.api(!0).row(f).child(g,h).show().child()[0]};this.fnPageChange=function(f,g){f=this.api(!0).page(f);
|
||||
(g===q||g)&&f.draw(!1)};this.fnSetColumnVis=function(f,g,h){f=this.api(!0).column(f).visible(g);(h===q||h)&&f.columns.adjust().draw()};this.fnSettings=function(){return Ra(this[L.iApiIndex])};this.fnSort=function(f){this.api(!0).order(f).draw()};this.fnSortListener=function(f,g,h){this.api(!0).order.listener(f,g,h)};this.fnUpdate=function(f,g,h,l,n){var m=this.api(!0);h===q||null===h?m.row(g).data(f):m.cell(g,h).data(f);(n===q||n)&&m.columns.adjust();(l===q||l)&&m.draw();return 0};this.fnVersionCheck=
|
||||
L.fnVersionCheck;var b=this,c=a===q,d=this.length;c&&(a={});this.oApi=this.internal=L.internal;for(var e in u.ext.internal)e&&(this[e]=fc(e));this.each(function(){var f={},g=1<d?pb(f,a,!0):a,h=0,l;f=this.getAttribute("id");var n=!1,m=u.defaults,p=k(this);if("table"!=this.nodeName.toLowerCase())aa(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{yb(m);zb(m.column);O(m,m,!0);O(m.column,m.column,!0);O(m,k.extend(g,p.data()),!0);var t=u.settings;h=0;for(l=t.length;h<l;h++){var v=t[h];
|
||||
if(v.nTable==this||v.nTHead&&v.nTHead.parentNode==this||v.nTFoot&&v.nTFoot.parentNode==this){var x=g.bRetrieve!==q?g.bRetrieve:m.bRetrieve;if(c||x)return v.oInstance;if(g.bDestroy!==q?g.bDestroy:m.bDestroy){v.oInstance.fnDestroy();break}else{aa(v,0,"Cannot reinitialise DataTable",3);return}}if(v.sTableId==this.id){t.splice(h,1);break}}if(null===f||""===f)this.id=f="DataTables_Table_"+u.ext._unique++;var r=k.extend(!0,{},u.models.oSettings,{sDestroyWidth:p[0].style.width,sInstance:f,sTableId:f});r.nTable=
|
||||
this;r.oApi=b.internal;r.oInit=g;t.push(r);r.oInstance=1===b.length?b:p.dataTable();yb(g);ma(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=Array.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=pb(k.extend(!0,{},m),g);V(r.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));V(r,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed",
|
||||
"aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);V(r.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);V(r.oLanguage,g,"fnInfoCallback");Q(r,"aoDrawCallback",g.fnDrawCallback,
|
||||
"user");Q(r,"aoServerParams",g.fnServerParams,"user");Q(r,"aoStateSaveParams",g.fnStateSaveParams,"user");Q(r,"aoStateLoadParams",g.fnStateLoadParams,"user");Q(r,"aoStateLoaded",g.fnStateLoaded,"user");Q(r,"aoRowCallback",g.fnRowCallback,"user");Q(r,"aoRowCreatedCallback",g.fnCreatedRow,"user");Q(r,"aoHeaderCallback",g.fnHeaderCallback,"user");Q(r,"aoFooterCallback",g.fnFooterCallback,"user");Q(r,"aoInitComplete",g.fnInitComplete,"user");Q(r,"aoPreDrawCallback",g.fnPreDrawCallback,"user");r.rowIdFn=
|
||||
ia(g.rowId);Ab(r);var A=r.oClasses;k.extend(A,u.ext.classes,g.oClasses);p.addClass(A.sTable);r.iInitDisplayStart===q&&(r.iInitDisplayStart=g.iDisplayStart,r._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(r.bDeferLoading=!0,f=Array.isArray(g.iDeferLoading),r._iRecordsDisplay=f?g.iDeferLoading[0]:g.iDeferLoading,r._iRecordsTotal=f?g.iDeferLoading[1]:g.iDeferLoading);var E=r.oLanguage;k.extend(!0,E,g.oLanguage);E.sUrl&&(k.ajax({dataType:"json",url:E.sUrl,success:function(C){ma(C);O(m.oLanguage,
|
||||
C);k.extend(!0,E,C);za(r)},error:function(){za(r)}}),n=!0);null===g.asStripeClasses&&(r.asStripeClasses=[A.sStripeOdd,A.sStripeEven]);f=r.asStripeClasses;var H=p.children("tbody").find("tr").eq(0);-1!==k.inArray(!0,k.map(f,function(C,B){return H.hasClass(C)}))&&(k("tbody tr",this).removeClass(f.join(" ")),r.asDestroyStripes=f.slice());f=[];t=this.getElementsByTagName("thead");0!==t.length&&(wa(r.aoHeader,t[0]),f=Ka(r));if(null===g.aoColumns)for(t=[],h=0,l=f.length;h<l;h++)t.push(null);else t=g.aoColumns;
|
||||
h=0;for(l=t.length;h<l;h++)Wa(r,f?f[h]:null);Cb(r,g.aoColumnDefs,t,function(C,B){Da(r,C,B)});if(H.length){var W=function(C,B){return null!==C.getAttribute("data-"+B)?B:null};k(H[0]).children("th, td").each(function(C,B){var ba=r.aoColumns[C];if(ba.mData===C){var X=W(B,"sort")||W(B,"order");B=W(B,"filter")||W(B,"search");if(null!==X||null!==B)ba.mData={_:C+".display",sort:null!==X?C+".@data-"+X:q,type:null!==X?C+".@data-"+X:q,filter:null!==B?C+".@data-"+B:q},Da(r,C)}})}var M=r.oFeatures;f=function(){if(g.aaSorting===
|
||||
q){var C=r.aaSorting;h=0;for(l=C.length;h<l;h++)C[h][1]=r.aoColumns[h].asSorting[0]}Pa(r);M.bSort&&Q(r,"aoDrawCallback",function(){if(r.bSorted){var ba=pa(r),X={};k.each(ba,function(lb,Aa){X[Aa.src]=Aa.dir});I(r,null,"order",[r,ba,X]);cc(r)}});Q(r,"aoDrawCallback",function(){(r.bSorted||"ssp"===P(r)||M.bDeferRender)&&Pa(r)},"sc");C=p.children("caption").each(function(){this._captionSide=k(this).css("caption-side")});var B=p.children("thead");0===B.length&&(B=k("<thead/>").appendTo(p));r.nTHead=B[0];
|
||||
B=p.children("tbody");0===B.length&&(B=k("<tbody/>").appendTo(p));r.nTBody=B[0];B=p.children("tfoot");0===B.length&&0<C.length&&(""!==r.oScroll.sX||""!==r.oScroll.sY)&&(B=k("<tfoot/>").appendTo(p));0===B.length||0===B.children().length?p.addClass(A.sNoFooter):0<B.length&&(r.nTFoot=B[0],wa(r.aoFooter,r.nTFoot));if(g.aaData)for(h=0;h<g.aaData.length;h++)ea(r,g.aaData[h]);else(r.bDeferLoading||"dom"==P(r))&&Ga(r,k(r.nTBody).children("tr"));r.aiDisplay=r.aiDisplayMaster.slice();r.bInitialised=!0;!1===
|
||||
n&&za(r)};g.bStateSave?(M.bStateSave=!0,Q(r,"aoDrawCallback",Qa,"state_save"),dc(r,g,f)):f()}});b=null;return this},L,w,J,rb={},gc=/[\r\n\u2028]/g,Ta=/<.*?>/g,tc=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,uc=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g,qb=/['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,ca=function(a){return a&&!0!==a&&"-"!==a?!1:!0},hc=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},ic=function(a,b){rb[b]||
|
||||
(rb[b]=new RegExp(hb(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(rb[b],"."):a},sb=function(a,b,c){var d="string"===typeof a;if(ca(a))return!0;b&&d&&(a=ic(a,b));c&&d&&(a=a.replace(qb,""));return!isNaN(parseFloat(a))&&isFinite(a)},jc=function(a,b,c){return ca(a)?!0:ca(a)||"string"===typeof a?sb(a.replace(Ta,""),b,c)?!0:null:null},T=function(a,b,c){var d=[],e=0,f=a.length;if(c!==q)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},
|
||||
Ca=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==q)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},qa=function(a,b){var c=[];if(b===q){b=0;var d=a}else d=b,b=a;for(a=b;a<d;a++)c.push(a);return c},kc=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},Ja=function(a){a:{if(!(2>a.length)){var b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();b=[];e=a.length;var f,
|
||||
g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b},lc=function(a,b){if(Array.isArray(b))for(var c=0;c<b.length;c++)lc(a,b[c]);else a.push(b);return a};Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});u.util={throttle:function(a,b){var c=b!==q?b:200,d,e;return function(){var f=this,g=
|
||||
+new Date,h=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=q;a.apply(f,h)},c)):(d=g,a.apply(f,h))}},escapeRegex:function(a){return a.replace(uc,"\\$1")}};var R=function(a,b,c){a[b]!==q&&(a[c]=a[b])},ua=/\[.*?\]$/,oa=/\(\)$/,hb=u.util.escapeRegex,Oa=k("<div>")[0],rc=Oa.textContent!==q,sc=/<.*?>/g,fb=u.util.throttle,mc=[],N=Array.prototype,vc=function(a){var b,c=u.settings,d=k.map(c,function(f,g){return f.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase()){var e=
|
||||
k.inArray(a,d);return-1!==e?[c[e]]:null}if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?b=k(a):a instanceof k&&(b=a)}else return[];if(b)return b.map(function(f){e=k.inArray(this,d);return-1!==e?c[e]:null}).toArray()};var D=function(a,b){if(!(this instanceof D))return new D(a,b);var c=[],d=function(g){(g=vc(g))&&c.push.apply(c,g)};if(Array.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=Ja(c);b&&k.merge(this,b);this.selector={rows:null,
|
||||
cols:null,opts:null};D.extend(this,this,mc)};u.Api=D;k.extend(D.prototype,{any:function(){return 0!==this.count()},concat:N.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new D(b[a],this[a]):null},filter:function(a){var b=[];if(N.filter)b=N.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);
|
||||
return new D(this.context,b)},flatten:function(){var a=[];return new D(this.context,a.concat.apply(a,this.toArray()))},join:N.join,indexOf:N.indexOf||function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1},iterator:function(a,b,c,d){var e=[],f,g,h=this.context,l,n=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);var m=0;for(f=h.length;m<f;m++){var p=new D(h[m]);if("table"===b){var t=c.call(p,h[m],m);t!==q&&e.push(t)}else if("columns"===b||"rows"===b)t=c.call(p,h[m],
|
||||
this[m],m),t!==q&&e.push(t);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){var v=this[m];"column-rows"===b&&(l=Ua(h[m],n.opts));var x=0;for(g=v.length;x<g;x++)t=v[x],t="cell"===b?c.call(p,h[m],t.row,t.column,m,x):c.call(p,h[m],t,m,x,l),t!==q&&e.push(t)}}return e.length||d?(a=new D(h,a?e.concat.apply([],e):e),b=a.selector,b.rows=n.rows,b.cols=n.cols,b.opts=n.opts,a):this},lastIndexOf:N.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,
|
||||
map:function(a){var b=[];if(N.map)b=N.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new D(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:N.pop,push:N.push,reduce:N.reduce||function(a,b){return Bb(this,a,b,0,this.length,1)},reduceRight:N.reduceRight||function(a,b){return Bb(this,a,b,this.length-1,-1,-1)},reverse:N.reverse,selector:null,shift:N.shift,slice:function(){return new D(this.context,this)},sort:N.sort,
|
||||
splice:N.splice,toArray:function(){return N.slice.call(this)},to$:function(){return k(this)},toJQuery:function(){return k(this)},unique:function(){return new D(this.context,Ja(this))},unshift:N.unshift});D.extend=function(a,b,c){if(c.length&&b&&(b instanceof D||b.__dt_wrapper)){var d,e=function(h,l,n){return function(){var m=l.apply(h,arguments);D.extend(m,m,n.methodExt);return m}};var f=0;for(d=c.length;f<d;f++){var g=c[f];b[g.name]="function"===g.type?e(a,g.val,g):"object"===g.type?{}:g.val;b[g.name].__dt_wrapper=
|
||||
!0;D.extend(a,b[g.name],g.propExt)}}};D.register=w=function(a,b){if(Array.isArray(a))for(var c=0,d=a.length;c<d;c++)D.register(a[c],b);else{d=a.split(".");var e=mc,f;a=0;for(c=d.length;a<c;a++){var g=(f=-1!==d[a].indexOf("()"))?d[a].replace("()",""):d[a];a:{var h=0;for(var l=e.length;h<l;h++)if(e[h].name===g){h=e[h];break a}h=null}h||(h={name:g,val:{},methodExt:[],propExt:[],type:"object"},e.push(h));a===c-1?(h.val=b,h.type="function"===typeof b?"function":k.isPlainObject(b)?"object":"other"):e=f?
|
||||
h.methodExt:h.propExt}}};D.registerPlural=J=function(a,b,c){D.register(a,c);D.register(b,function(){var d=c.apply(this,arguments);return d===this?this:d instanceof D?d.length?Array.isArray(d[0])?new D(d.context,d[0]):d[0]:q:d})};var nc=function(a,b){if(Array.isArray(a))return k.map(a,function(d){return nc(d,b)});if("number"===typeof a)return[b[a]];var c=k.map(b,function(d,e){return d.nTable});return k(c).filter(a).map(function(d){d=k.inArray(this,c);return b[d]}).toArray()};w("tables()",function(a){return a!==
|
||||
q&&null!==a?new D(nc(a,this.context)):this});w("table()",function(a){a=this.tables(a);var b=a.context;return b.length?new D(b[0]):a});J("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});J("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});J("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});J("tables().footer()","table().footer()",
|
||||
function(){return this.iterator("table",function(a){return a.nTFoot},1)});J("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});w("draw()",function(a){return this.iterator("table",function(b){"page"===a?fa(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),ja(b,!1===a))})});w("page()",function(a){return a===q?this.page.info().page:this.iterator("table",function(b){kb(b,a)})});w("page.info()",function(a){if(0===this.context.length)return q;
|
||||
a=this.context[0];var b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:"ssp"===P(a)}});w("page.len()",function(a){return a===q?0!==this.context.length?this.context[0]._iDisplayLength:q:this.iterator("table",function(b){ib(b,a)})});var oc=function(a,b,c){if(c){var d=new D(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==
|
||||
P(a))ja(a,b);else{U(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();La(a,[],function(f){Ha(a);f=Ma(a,f);for(var g=0,h=f.length;g<h;g++)ea(a,f[g]);ja(a,b);U(a,!1)})}};w("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});w("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});w("ajax.reload()",function(a,b){return this.iterator("table",function(c){oc(c,!1===b,a)})});w("ajax.url()",function(a){var b=this.context;if(a===q){if(0===b.length)return q;
|
||||
b=b[0];return b.ajax?k.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(c){k.isPlainObject(c.ajax)?c.ajax.url=a:c.ajax=a})});w("ajax.url().load()",function(a,b){return this.iterator("table",function(c){oc(c,!1===b,a)})});var tb=function(a,b,c,d,e){var f=[],g,h,l;var n=typeof b;b&&"string"!==n&&"function"!==n&&b.length!==q||(b=[b]);n=0;for(h=b.length;n<h;n++){var m=b[n]&&b[n].split&&!b[n].match(/[\[\(:]/)?b[n].split(","):[b[n]];var p=0;for(l=m.length;p<l;p++)(g=
|
||||
c("string"===typeof m[p]?m[p].trim():m[p]))&&g.length&&(f=f.concat(g))}a=L.selector[a];if(a.length)for(n=0,h=a.length;n<h;n++)f=a[n](d,e,f);return Ja(f)},ub=function(a){a||(a={});a.filter&&a.search===q&&(a.search=a.filter);return k.extend({search:"none",order:"current",page:"all"},a)},vb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ua=function(a,b){var c=[],d=a.aiDisplay;var e=a.aiDisplayMaster;
|
||||
var f=b.search;var g=b.order;b=b.page;if("ssp"==P(a))return"removed"===f?[]:qa(0,e.length);if("current"==b)for(g=a._iDisplayStart,a=a.fnDisplayEnd();g<a;g++)c.push(d[g]);else if("current"==g||"applied"==g)if("none"==f)c=e.slice();else if("applied"==f)c=d.slice();else{if("removed"==f){var h={};g=0;for(a=d.length;g<a;g++)h[d[g]]=null;c=k.map(e,function(l){return h.hasOwnProperty(l)?null:l})}}else if("index"==g||"original"==g)for(g=0,a=a.aoData.length;g<a;g++)"none"==f?c.push(g):(e=k.inArray(g,d),(-1===
|
||||
e&&"removed"==f||0<=e&&"applied"==f)&&c.push(g));return c},wc=function(a,b,c){var d;return tb("row",b,function(e){var f=hc(e),g=a.aoData;if(null!==f&&!c)return[f];d||(d=Ua(a,c));if(null!==f&&-1!==k.inArray(f,d))return[f];if(null===e||e===q||""===e)return d;if("function"===typeof e)return k.map(d,function(l){var n=g[l];return e(l,n._aData,n.nTr)?l:null});if(e.nodeName){f=e._DT_RowIndex;var h=e._DT_CellIndex;if(f!==q)return g[f]&&g[f].nTr===e?[f]:[];if(h)return g[h.row]&&g[h.row].nTr===e.parentNode?
|
||||
[h.row]:[];f=k(e).closest("*[data-dt-row]");return f.length?[f.data("dt-row")]:[]}if("string"===typeof e&&"#"===e.charAt(0)&&(f=a.aIds[e.replace(/^#/,"")],f!==q))return[f.idx];f=kc(Ca(a.aoData,d,"nTr"));return k(f).filter(e).map(function(){return this._DT_RowIndex}).toArray()},a,c)};w("rows()",function(a,b){a===q?a="":k.isPlainObject(a)&&(b=a,a="");b=ub(b);var c=this.iterator("table",function(d){return wc(d,a,b)},1);c.selector.rows=a;c.selector.opts=b;return c});w("rows().nodes()",function(){return this.iterator("row",
|
||||
function(a,b){return a.aoData[b].nTr||q},1)});w("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return Ca(a.aoData,b,"_aData")},1)});J("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){b=b.aoData[c];return"search"===a?b._aFilterData:b._aSortData},1)});J("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){va(b,c,a)})});J("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,
|
||||
b){return b},1)});J("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new D(c,b)});J("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h;e.splice(c,1);var l=0;for(g=e.length;l<g;l++){var n=e[l];var m=n.anCells;null!==n.nTr&&(n.nTr._DT_RowIndex=l);if(null!==m)for(n=0,h=m.length;n<
|
||||
h;n++)m[n]._DT_CellIndex.row=l}Ia(b.aiDisplayMaster,c);Ia(b.aiDisplay,c);Ia(a[d],c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;jb(b);c=b.rowIdFn(f._aData);c!==q&&delete b.aIds[c]});this.iterator("table",function(b){for(var c=0,d=b.aoData.length;c<d;c++)b.aoData[c].idx=c});return this});w("rows.add()",function(a){var b=this.iterator("table",function(d){var e,f=[];var g=0;for(e=a.length;g<e;g++){var h=a[g];h.nodeName&&"TR"===h.nodeName.toUpperCase()?f.push(Ga(d,h)[0]):f.push(ea(d,h))}return f},1),
|
||||
c=this.rows(-1);c.pop();k.merge(c,b);return c});w("row()",function(a,b){return vb(this.rows(a,b))});w("row().data()",function(a){var b=this.context;if(a===q)return b.length&&this.length?b[0].aoData[this[0]]._aData:q;var c=b[0].aoData[this[0]];c._aData=a;Array.isArray(a)&&c.nTr&&c.nTr.id&&da(b[0].rowId)(a,c.nTr.id);va(b[0],this[0],"data");return this});w("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});w("row.add()",function(a){a instanceof
|
||||
k&&a.length&&(a=a[0]);var b=this.iterator("table",function(c){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?Ga(c,a)[0]:ea(c,a)});return this.row(b[0])});var xc=function(a,b,c,d){var e=[],f=function(g,h){if(Array.isArray(g)||g instanceof k)for(var l=0,n=g.length;l<n;l++)f(g[l],h);else g.nodeName&&"tr"===g.nodeName.toLowerCase()?e.push(g):(l=k("<tr><td></td></tr>").addClass(h),k("td",l).addClass(h).html(g)[0].colSpan=na(a),e.push(l[0]))};f(c,d);b._details&&b._details.detach();b._details=k(e);b._detailsShow&&
|
||||
b._details.insertAfter(b.nTr)},wb=function(a,b){var c=a.context;c.length&&(a=c[0].aoData[b!==q?b:a[0]])&&a._details&&(a._details.remove(),a._detailsShow=q,a._details=q)},pc=function(a,b){var c=a.context;c.length&&a.length&&(a=c[0].aoData[a[0]],a._details&&((a._detailsShow=b)?a._details.insertAfter(a.nTr):a._details.detach(),yc(c[0])))},yc=function(a){var b=new D(a),c=a.aoData;b.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<T(c,"_details").length&&(b.on("draw.dt.DT_details",
|
||||
function(d,e){a===e&&b.rows({page:"current"}).eq(0).each(function(f){f=c[f];f._detailsShow&&f._details.insertAfter(f.nTr)})}),b.on("column-visibility.dt.DT_details",function(d,e,f,g){if(a===e)for(e=na(e),f=0,g=c.length;f<g;f++)d=c[f],d._details&&d._details.children("td[colspan]").attr("colspan",e)}),b.on("destroy.dt.DT_details",function(d,e){if(a===e)for(d=0,e=c.length;d<e;d++)c[d]._details&&wb(b,d)}))};w("row().child()",function(a,b){var c=this.context;if(a===q)return c.length&&this.length?c[0].aoData[this[0]]._details:
|
||||
q;!0===a?this.child.show():!1===a?wb(this):c.length&&this.length&&xc(c[0],c[0].aoData[this[0]],a,b);return this});w(["row().child.show()","row().child().show()"],function(a){pc(this,!0);return this});w(["row().child.hide()","row().child().hide()"],function(){pc(this,!1);return this});w(["row().child.remove()","row().child().remove()"],function(){wb(this);return this});w("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var zc=
|
||||
/^([^:]+):(name|visIdx|visible)$/,qc=function(a,b,c,d,e){c=[];d=0;for(var f=e.length;d<f;d++)c.push(S(a,e[d],b));return c},Ac=function(a,b,c){var d=a.aoColumns,e=T(d,"sName"),f=T(d,"nTh");return tb("column",b,function(g){var h=hc(g);if(""===g)return qa(d.length);if(null!==h)return[0<=h?h:d.length+h];if("function"===typeof g){var l=Ua(a,c);return k.map(d,function(p,t){return g(t,qc(a,t,0,0,l),f[t])?t:null})}var n="string"===typeof g?g.match(zc):"";if(n)switch(n[2]){case "visIdx":case "visible":h=parseInt(n[1],
|
||||
10);if(0>h){var m=k.map(d,function(p,t){return p.bVisible?t:null});return[m[m.length+h]]}return[sa(a,h)];case "name":return k.map(e,function(p,t){return p===n[1]?t:null});default:return[]}if(g.nodeName&&g._DT_CellIndex)return[g._DT_CellIndex.column];h=k(f).filter(g).map(function(){return k.inArray(this,f)}).toArray();if(h.length||!g.nodeName)return h;h=k(g).closest("*[data-dt-column]");return h.length?[h.data("dt-column")]:[]},a,c)};w("columns()",function(a,b){a===q?a="":k.isPlainObject(a)&&(b=a,
|
||||
a="");b=ub(b);var c=this.iterator("table",function(d){return Ac(d,a,b)},1);c.selector.cols=a;c.selector.opts=b;return c});J("columns().header()","column().header()",function(a,b){return this.iterator("column",function(c,d){return c.aoColumns[d].nTh},1)});J("columns().footer()","column().footer()",function(a,b){return this.iterator("column",function(c,d){return c.aoColumns[d].nTf},1)});J("columns().data()","column().data()",function(){return this.iterator("column-rows",qc,1)});J("columns().dataSrc()",
|
||||
"column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});J("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return Ca(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});J("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return Ca(a.aoData,e,"anCells",b)},1)});J("columns().visible()","column().visible()",function(a,b){var c=
|
||||
this,d=this.iterator("column",function(e,f){if(a===q)return e.aoColumns[f].bVisible;var g=e.aoColumns,h=g[f],l=e.aoData,n;if(a!==q&&h.bVisible!==a){if(a){var m=k.inArray(!0,T(g,"bVisible"),f+1);g=0;for(n=l.length;g<n;g++){var p=l[g].nTr;e=l[g].anCells;p&&p.insertBefore(e[f],e[m]||null)}}else k(T(e.aoData,"anCells",f)).detach();h.bVisible=a}});a!==q&&this.iterator("table",function(e){xa(e,e.aoHeader);xa(e,e.aoFooter);e.aiDisplay.length||k(e.nTBody).find("td[colspan]").attr("colspan",na(e));Qa(e);c.iterator("column",
|
||||
function(f,g){I(f,null,"column-visibility",[f,g,a,b])});(b===q||b)&&c.columns.adjust()});return d});J("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?ta(b,c):c},1)});w("columns.adjust()",function(){return this.iterator("table",function(a){ra(a)},1)});w("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return sa(c,b);if("fromData"===a||"toVisible"===a)return ta(c,b)}});
|
||||
w("column()",function(a,b){return vb(this.columns(a,b))});var Bc=function(a,b,c){var d=a.aoData,e=Ua(a,c),f=kc(Ca(d,e,"anCells")),g=k(lc([],f)),h,l=a.aoColumns.length,n,m,p,t,v,x;return tb("cell",b,function(r){var A="function"===typeof r;if(null===r||r===q||A){n=[];m=0;for(p=e.length;m<p;m++)for(h=e[m],t=0;t<l;t++)v={row:h,column:t},A?(x=d[h],r(v,S(a,h,t),x.anCells?x.anCells[t]:null)&&n.push(v)):n.push(v);return n}if(k.isPlainObject(r))return r.column!==q&&r.row!==q&&-1!==k.inArray(r.row,e)?[r]:[];
|
||||
A=g.filter(r).map(function(E,H){return{row:H._DT_CellIndex.row,column:H._DT_CellIndex.column}}).toArray();if(A.length||!r.nodeName)return A;x=k(r).closest("*[data-dt-row]");return x.length?[{row:x.data("dt-row"),column:x.data("dt-column")}]:[]},a,c)};w("cells()",function(a,b,c){k.isPlainObject(a)&&(a.row===q?(c=a,a=null):(c=b,b=null));k.isPlainObject(b)&&(c=b,b=null);if(null===b||b===q)return this.iterator("table",function(m){return Bc(m,a,ub(c))});var d=c?{page:c.page,order:c.order,search:c.search}:
|
||||
{},e=this.columns(b,d),f=this.rows(a,d),g,h,l,n;d=this.iterator("table",function(m,p){m=[];g=0;for(h=f[p].length;g<h;g++)for(l=0,n=e[p].length;l<n;l++)m.push({row:f[p][g],column:e[p][l]});return m},1);d=c&&c.selected?this.cells(d,c):d;k.extend(d.selector,{cols:b,rows:a,opts:c});return d});J("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:q},1)});w("cells().data()",function(){return this.iterator("cell",function(a,
|
||||
b,c){return S(a,b,c)},1)});J("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});J("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return S(b,c,d,a)},1)});J("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:ta(a,c)}},1)});J("cells().invalidate()","cell().invalidate()",
|
||||
function(a){return this.iterator("cell",function(b,c,d){va(b,c,a,d)})});w("cell()",function(a,b,c){return vb(this.cells(a,b,c))});w("cell().data()",function(a){var b=this.context,c=this[0];if(a===q)return b.length&&c.length?S(b[0],c[0].row,c[0].column):q;Db(b[0],c[0].row,c[0].column,a);va(b[0],c[0].row,"data",c[0].column);return this});w("order()",function(a,b){var c=this.context;if(a===q)return 0!==c.length?c[0].aaSorting:q;"number"===typeof a?a=[[a,b]]:a.length&&!Array.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));
|
||||
return this.iterator("table",function(d){d.aaSorting=a.slice()})});w("order.listener()",function(a,b,c){return this.iterator("table",function(d){db(d,a,b,c)})});w("order.fixed()",function(a){if(!a){var b=this.context;b=b.length?b[0].aaSortingFixed:q;return Array.isArray(b)?{pre:b}:b}return this.iterator("table",function(c){c.aaSortingFixed=k.extend(!0,{},a)})});w(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];k.each(b[d],function(f,
|
||||
g){e.push([g,a])});c.aaSorting=e})});w("search()",function(a,b,c,d){var e=this.context;return a===q?0!==e.length?e[0].oPreviousSearch.sSearch:q:this.iterator("table",function(f){f.oFeatures.bFilter&&ya(f,k.extend({},f.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});J("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===q)return g[f].sSearch;e.oFeatures.bFilter&&
|
||||
(k.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ya(e,e.oPreviousSearch,1))})});w("state()",function(){return this.context.length?this.context[0].oSavedState:null});w("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});w("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});w("state.save()",function(){return this.iterator("table",function(a){Qa(a)})});
|
||||
u.versionCheck=u.fnVersionCheck=function(a){var b=u.version.split(".");a=a.split(".");for(var c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};u.isDataTable=u.fnIsDataTable=function(a){var b=k(a).get(0),c=!1;if(a instanceof u.Api)return!0;k.each(u.settings,function(d,e){d=e.nScrollHead?k("table",e.nScrollHead)[0]:null;var f=e.nScrollFoot?k("table",e.nScrollFoot)[0]:null;if(e.nTable===b||d===b||f===b)c=!0});return c};u.tables=u.fnTables=function(a){var b=
|
||||
!1;k.isPlainObject(a)&&(b=a.api,a=a.visible);var c=k.map(u.settings,function(d){if(!a||a&&k(d.nTable).is(":visible"))return d.nTable});return b?new D(c):c};u.camelToHungarian=O;w("$()",function(a,b){b=this.rows(b).nodes();b=k(b);return k([].concat(b.filter(a).toArray(),b.find(a).toArray()))});k.each(["on","one","off"],function(a,b){w(b+"()",function(){var c=Array.prototype.slice.call(arguments);c[0]=k.map(c[0].split(/\s/),function(e){return e.match(/\.dt\b/)?e:e+".dt"}).join(" ");var d=k(this.tables().nodes());
|
||||
d[b].apply(d,c);return this})});w("clear()",function(){return this.iterator("table",function(a){Ha(a)})});w("settings()",function(){return new D(this.context,this.context)});w("init()",function(){var a=this.context;return a.length?a[0].oInit:null});w("data()",function(){return this.iterator("table",function(a){return T(a.aoData,"_aData")}).flatten()});w("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,
|
||||
h=b.nTFoot,l=k(e);f=k(f);var n=k(b.nTableWrapper),m=k.map(b.aoData,function(t){return t.nTr}),p;b.bDestroying=!0;I(b,"aoDestroyCallback","destroy",[b]);a||(new D(b)).columns().visible(!0);n.off(".DT").find(":not(tbody *)").off(".DT");k(y).off(".DT-"+b.sInstance);e!=g.parentNode&&(l.children("thead").detach(),l.append(g));h&&e!=h.parentNode&&(l.children("tfoot").detach(),l.append(h));b.aaSorting=[];b.aaSortingFixed=[];Pa(b);k(m).removeClass(b.asStripeClasses.join(" "));k("th, td",g).removeClass(d.sSortable+
|
||||
" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(m);g=a?"remove":"detach";l[g]();n[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),l.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(t){k(this).addClass(b.asDestroyStripes[t%p])}));c=k.inArray(b,u.settings);-1!==c&&u.settings.splice(c,1)})});k.each(["column","row","cell"],function(a,b){w(b+"s().every()",function(c){var d=this.selector.opts,e=
|
||||
this;return this.iterator(b,function(f,g,h,l,n){c.call(e[b](g,"cell"===b?h:d,"cell"===b?d:q),g,h,l,n)})})});w("i18n()",function(a,b,c){var d=this.context[0];a=ia(a)(d.oLanguage);a===q&&(a=b);c!==q&&k.isPlainObject(a)&&(a=a[c]!==q?a[c]:a._);return a.replace("%d",c)});u.version="1.10.23";u.settings=[];u.models={};u.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};u.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,
|
||||
idx:-1};u.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};u.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,
|
||||
25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,
|
||||
fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){return{}}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},
|
||||
fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",
|
||||
sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:k.extend({},u.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};G(u.defaults);u.defaults.column={aDataSort:null,
|
||||
iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};G(u.defaults.column);u.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,
|
||||
iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],
|
||||
aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:q,oAjaxData:q,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,
|
||||
iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==P(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==P(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,
|
||||
f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};u.ext=L={buttons:{},classes:{},build:"bs4/dt-1.10.23/r-2.2.7",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:u.fnVersionCheck,
|
||||
function La(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],wa(c,b)));b=0;for(var e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)!c[b][f].unique||d[f]&&a.bSortCellsTop||(d[f]=c[b][f].cell);return d}function Ma(a,b,c){H(a,"aoServerParams","serverParams",[b]);if(b&&Array.isArray(b)){var d={},e=/(.*?)\[\]$/;k.each(b,function(m,p){(m=p.name.match(e))?(m=m[0],d[m]||(d[m]=[]),d[m].push(p.value)):d[p.name]=p.value});b=d}var f=a.ajax,g=a.oInstance,h=function(m){H(a,null,"xhr",[a,m,a.jqXHR]);c(m)};if(k.isPlainObject(f)&&
|
||||
f.data){var l=f.data;var n="function"===typeof l?l(b,a):l;b="function"===typeof l&&n?n:k.extend(!0,b,n);delete f.data}n={data:b,success:function(m){var p=m.error||m.sError;p&&ca(a,0,p);a.json=m;h(m)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(m,p,t){t=H(a,null,"xhr",[a,null,a.jqXHR]);-1===k.inArray(!0,t)&&("parsererror"==p?ca(a,0,"Invalid JSON response",1):4===m.readyState&&ca(a,0,"Ajax error",7));U(a,!1)}};a.oAjaxData=b;H(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(g,
|
||||
a.sAjaxSource,k.map(b,function(m,p){return{name:p,value:m}}),h,a):a.sAjaxSource||"string"===typeof f?a.jqXHR=k.ajax(k.extend(n,{url:f||a.sAjaxSource})):"function"===typeof f?a.jqXHR=f.call(g,b,h,a):(a.jqXHR=k.ajax(k.extend(n,f)),f.data=l)}function Gb(a){a.iDraw++;U(a,!0);Ma(a,Pb(a),function(b){Qb(a,b)})}function Pb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g=[],h=pa(a);var l=a._iDisplayStart;var n=!1!==d.bPaginate?a._iDisplayLength:-1;var m=function(x,r){g.push({name:x,
|
||||
value:r})};m("sEcho",a.iDraw);m("iColumns",c);m("sColumns",T(b,"sName").join(","));m("iDisplayStart",l);m("iDisplayLength",n);var p={draw:a.iDraw,columns:[],order:[],start:l,length:n,search:{value:e.sSearch,regex:e.bRegex}};for(l=0;l<c;l++){var t=b[l];var v=f[l];n="function"==typeof t.mData?"function":t.mData;p.columns.push({data:n,name:t.sName,searchable:t.bSearchable,orderable:t.bSortable,search:{value:v.sSearch,regex:v.bRegex}});m("mDataProp_"+l,n);d.bFilter&&(m("sSearch_"+l,v.sSearch),m("bRegex_"+
|
||||
l,v.bRegex),m("bSearchable_"+l,t.bSearchable));d.bSort&&m("bSortable_"+l,t.bSortable)}d.bFilter&&(m("sSearch",e.sSearch),m("bRegex",e.bRegex));d.bSort&&(k.each(h,function(x,r){p.order.push({column:r.col,dir:r.dir});m("iSortCol_"+x,r.col);m("sSortDir_"+x,r.dir)}),m("iSortingCols",h.length));b=u.ext.legacy.ajax;return null===b?a.sAjaxSource?g:p:b?g:p}function Qb(a,b){var c=function(g,h){return b[g]!==q?b[g]:b[h]},d=Na(a,b),e=c("sEcho","draw"),f=c("iTotalRecords","recordsTotal");c=c("iTotalDisplayRecords",
|
||||
"recordsFiltered");if(e!==q){if(1*e<a.iDraw)return;a.iDraw=1*e}Ia(a);a._iRecordsTotal=parseInt(f,10);a._iRecordsDisplay=parseInt(c,10);e=0;for(f=d.length;e<f;e++)ea(a,d[e]);a.aiDisplay=a.aiDisplayMaster.slice();fa(a,!0);a._bInitComplete||Oa(a,b);U(a,!1)}function Na(a,b){a=k.isPlainObject(a.ajax)&&a.ajax.dataSrc!==q?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===a?b.aaData||b[a]:""!==a?ia(a)(b):b}function Kb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+
|
||||
b.sFilterInput+'"/>',h=d.sSearch;h=h.match(/_INPUT_/)?h.replace("_INPUT_",g):h+g;b=k("<div/>",{id:f.f?null:c+"_filter","class":b.sFilter}).append(k("<label/>").append(h));var l=function(){var m=this.value?this.value:"";m!=e.sSearch&&(ya(a,{sSearch:m,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,fa(a))};f=null!==a.searchDelay?a.searchDelay:"ssp"===P(a)?400:0;var n=k("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",
|
||||
f?gb(l,f):l).on("mouseup",function(m){setTimeout(function(){l.call(n[0])},10)}).on("keypress.DT",function(m){if(13==m.keyCode)return!1}).attr("aria-controls",c);k(a.nTable).on("search.dt.DT",function(m,p){if(a===p)try{n[0]!==z.activeElement&&n.val(e.sSearch)}catch(t){}});return b[0]}function ya(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(h){d.sSearch=h.sSearch;d.bRegex=h.bRegex;d.bSmart=h.bSmart;d.bCaseInsensitive=h.bCaseInsensitive},g=function(h){return h.bEscapeRegex!==q?!h.bEscapeRegex:
|
||||
h.bRegex};Za(a);if("ssp"!=P(a)){Rb(a,b.sSearch,c,g(b),b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)Sb(a,e[b].sSearch,b,g(e[b]),e[b].bSmart,e[b].bCaseInsensitive);Tb(a)}else f(b);a.bFiltered=!0;H(a,null,"search",[a])}function Tb(a){for(var b=u.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var h=[],l=0,n=c.length;l<n;l++)e=c[l],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,l)&&h.push(e);c.length=0;k.merge(c,h)}}function Sb(a,b,c,d,e,f){if(""!==b){var g=[],h=a.aiDisplay;d=hb(b,
|
||||
d,e,f);for(e=0;e<h.length;e++)b=a.aoData[h[e]]._aFilterData[c],d.test(b)&&g.push(h[e]);a.aiDisplay=g}}function Rb(a,b,c,d,e,f){e=hb(b,d,e,f);var g=a.oPreviousSearch.sSearch,h=a.aiDisplayMaster;f=[];0!==u.ext.search.length&&(c=!0);var l=Ub(a);if(0>=b.length)a.aiDisplay=h.slice();else{if(l||c||d||g.length>b.length||0!==b.indexOf(g)||a.bSorted)a.aiDisplay=h.slice();b=a.aiDisplay;for(c=0;c<b.length;c++)e.test(a.aoData[b[c]]._sFilterRow)&&f.push(b[c]);a.aiDisplay=f}}function hb(a,b,c,d){a=b?a:ib(a);c&&
|
||||
(a="^(?=.*?"+k.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(e){if('"'===e.charAt(0)){var f=e.match(/^"(.*)"$/);e=f?f[1]:e}return e.replace('"',"")}).join(")(?=.*?")+").*$");return new RegExp(a,d?"i":"")}function Ub(a){var b=a.aoColumns,c,d,e=u.ext.type.search;var f=!1;var g=0;for(c=a.aoData.length;g<c;g++){var h=a.aoData[g];if(!h._aFilterData){var l=[];var n=0;for(d=b.length;n<d;n++){f=b[n];if(f.bSearchable){var m=S(a,g,n,"filter");e[f.sType]&&(m=e[f.sType](m));null===m&&(m="");"string"!==typeof m&&
|
||||
m.toString&&(m=m.toString())}else m="";m.indexOf&&-1!==m.indexOf("&")&&(Pa.innerHTML=m,m=rc?Pa.textContent:Pa.innerText);m.replace&&(m=m.replace(/[\r\n\u2028]/g,""));l.push(m)}h._aFilterData=l;h._sFilterRow=l.join(" ");f=!0}}return f}function Vb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Wb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function Nb(a){var b=a.sTableId,c=a.aanFeatures.i,d=k("<div/>",
|
||||
{"class":a.oClasses.sInfo,id:c?null:b+"_info"});c||(a.aoDrawCallback.push({fn:Xb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),k(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Xb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),h=g?c.sInfo:c.sInfoEmpty;g!==f&&(h+=" "+c.sInfoFiltered);h+=c.sInfoPostFix;h=Yb(a,h);c=c.fnInfoCallback;null!==c&&(h=c.call(a.oInstance,
|
||||
a,d,e,f,g,h));k(b).html(h)}}function Yb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function za(a){var b=a.iInitDisplayStart,c=a.aoColumns;var d=a.oFeatures;var e=a.bDeferLoading;if(a.bInitialised){Ib(a);
|
||||
Fb(a);xa(a,a.aoHeader);xa(a,a.aoFooter);U(a,!0);d.bAutoWidth&&Ya(a);var f=0;for(d=c.length;f<d;f++){var g=c[f];g.sWidth&&(g.nTh.style.width=K(g.sWidth))}H(a,null,"preInit",[a]);ja(a);c=P(a);if("ssp"!=c||e)"ajax"==c?Ma(a,[],function(h){var l=Na(a,h);for(f=0;f<l.length;f++)ea(a,l[f]);a.iInitDisplayStart=b;ja(a);U(a,!1);Oa(a,h)},a):(U(a,!1),Oa(a))}else setTimeout(function(){za(a)},200)}function Oa(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&ra(a);H(a,null,"plugin-init",[a,b]);H(a,"aoInitComplete",
|
||||
"init",[a,b])}function jb(a,b){b=parseInt(b,10);a._iDisplayLength=b;kb(a);H(a,null,"length",[a,b])}function Jb(a){var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=Array.isArray(d[0]),f=e?d[0]:d;d=e?d[1]:d;e=k("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect});for(var g=0,h=f.length;g<h;g++)e[0][g]=new Option("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],f[g]);var l=k("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(l[0].id=c+"_length");l.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",
|
||||
e[0].outerHTML));k("select",l).val(a._iDisplayLength).on("change.DT",function(n){jb(a,k(this).val());fa(a)});k(a.nTable).on("length.dt.DT",function(n,m,p){a===m&&k("select",l).val(p)});return l[0]}function Ob(a){var b=a.sPaginationType,c=u.ext.pager[b],d="function"===typeof c,e=function(g){fa(g)};b=k("<div/>").addClass(a.oClasses.sPaging+b)[0];var f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(g){if(d){var h=g._iDisplayStart,l=g._iDisplayLength,
|
||||
n=g.fnRecordsDisplay(),m=-1===l;h=m?0:Math.ceil(h/l);l=m?1:Math.ceil(n/l);n=c(h,l);var p;m=0;for(p=f.p.length;m<p;m++)fb(g,"pageButton")(g,f.p[m],m,n,h,l)}else c.fnUpdate(g,e)},sName:"pagination"}));return b}function lb(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:ca(a,0,"Unknown paging action: "+b,5);
|
||||
b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(H(a,null,"page",[a]),c&&fa(a));return b}function Lb(a){return k("<div/>",{id:a.aanFeatures.r?null:a.sTableId+"_processing","class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function U(a,b){a.oFeatures.bProcessing&&k(a.aanFeatures.r).css("display",b?"block":"none");H(a,null,"processing",[a,b])}function Mb(a){var b=k(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,
|
||||
e=c.sY,f=a.oClasses,g=b.children("caption"),h=g.length?g[0]._captionSide:null,l=k(b[0].cloneNode(!1)),n=k(b[0].cloneNode(!1)),m=b.children("tfoot");m.length||(m=null);l=k("<div/>",{"class":f.sScrollWrapper}).append(k("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?d?K(d):null:"100%"}).append(k("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(l.removeAttr("id").css("margin-left",0).append("top"===h?
|
||||
g:null).append(b.children("thead"))))).append(k("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:d?K(d):null}).append(b));m&&l.append(k("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?d?K(d):null:"100%"}).append(k("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===h?g:null).append(b.children("tfoot")))));b=l.children();var p=b[0];f=b[1];var t=m?b[2]:null;if(d)k(f).on("scroll.DT",function(v){v=
|
||||
this.scrollLeft;p.scrollLeft=v;m&&(t.scrollLeft=v)});k(f).css("max-height",e);c.bCollapse||k(f).css("height",e);a.nScrollHead=p;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:Fa,sName:"scrolling"});return l[0]}function Fa(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY;b=b.iBarWidth;var f=k(a.nScrollHead),g=f[0].style,h=f.children("div"),l=h[0].style,n=h.children("table");h=a.nScrollBody;var m=k(h),p=h.style,t=k(a.nScrollFoot).children("div"),v=t.children("table"),x=k(a.nTHead),r=k(a.nTable),
|
||||
A=r[0],D=A.style,I=a.nTFoot?k(a.nTFoot):null,W=a.oBrowser,M=W.bScrollOversize,B=T(a.aoColumns,"nTh"),E=[],aa=[],X=[],Aa=[],mb,Ba=function(F){F=F.style;F.paddingTop="0";F.paddingBottom="0";F.borderTopWidth="0";F.borderBottomWidth="0";F.height=0};var ha=h.scrollHeight>h.clientHeight;if(a.scrollBarVis!==ha&&a.scrollBarVis!==q)a.scrollBarVis=ha,ra(a);else{a.scrollBarVis=ha;r.children("thead, tfoot").remove();if(I){var ka=I.clone().prependTo(r);var la=I.find("tr");ka=ka.find("tr")}var nb=x.clone().prependTo(r);
|
||||
x=x.find("tr");ha=nb.find("tr");nb.find("th, td").removeAttr("tabindex");c||(p.width="100%",f[0].style.width="100%");k.each(La(a,nb),function(F,Y){mb=sa(a,F);Y.style.width=a.aoColumns[mb].sWidth});I&&ba(function(F){F.style.width=""},ka);f=r.outerWidth();""===c?(D.width="100%",M&&(r.find("tbody").height()>h.offsetHeight||"scroll"==m.css("overflow-y"))&&(D.width=K(r.outerWidth()-b)),f=r.outerWidth()):""!==d&&(D.width=K(d),f=r.outerWidth());ba(Ba,ha);ba(function(F){X.push(F.innerHTML);E.push(K(k(F).css("width")))},
|
||||
ha);ba(function(F,Y){-1!==k.inArray(F,B)&&(F.style.width=E[Y])},x);k(ha).height(0);I&&(ba(Ba,ka),ba(function(F){Aa.push(F.innerHTML);aa.push(K(k(F).css("width")))},ka),ba(function(F,Y){F.style.width=aa[Y]},la),k(ka).height(0));ba(function(F,Y){F.innerHTML='<div class="dataTables_sizing">'+X[Y]+"</div>";F.childNodes[0].style.height="0";F.childNodes[0].style.overflow="hidden";F.style.width=E[Y]},ha);I&&ba(function(F,Y){F.innerHTML='<div class="dataTables_sizing">'+Aa[Y]+"</div>";F.childNodes[0].style.height=
|
||||
"0";F.childNodes[0].style.overflow="hidden";F.style.width=aa[Y]},ka);r.outerWidth()<f?(la=h.scrollHeight>h.offsetHeight||"scroll"==m.css("overflow-y")?f+b:f,M&&(h.scrollHeight>h.offsetHeight||"scroll"==m.css("overflow-y"))&&(D.width=K(la-b)),""!==c&&""===d||ca(a,1,"Possible column misalignment",6)):la="100%";p.width=K(la);g.width=K(la);I&&(a.nScrollFoot.style.width=K(la));!e&&M&&(p.height=K(A.offsetHeight+b));c=r.outerWidth();n[0].style.width=K(c);l.width=K(c);d=r.height()>h.clientHeight||"scroll"==
|
||||
m.css("overflow-y");e="padding"+(W.bScrollbarLeft?"Left":"Right");l[e]=d?b+"px":"0px";I&&(v[0].style.width=K(c),t[0].style.width=K(c),t[0].style[e]=d?b+"px":"0px");r.children("colgroup").insertBefore(r.children("thead"));m.trigger("scroll");!a.bSorted&&!a.bFiltered||a._drawHold||(h.scrollTop=0)}}function ba(a,b,c){for(var d=0,e=0,f=b.length,g,h;e<f;){g=b[e].firstChild;for(h=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,h,d):a(g,d),d++),g=g.nextSibling,h=c?h.nextSibling:null;e++}}function Ya(a){var b=
|
||||
a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,h=c.length,l=Ga(a,"bVisible"),n=k("th",a.nTHead),m=b.getAttribute("width"),p=b.parentNode,t=!1,v,x=a.oBrowser;d=x.bScrollOversize;(v=b.style.width)&&-1!==v.indexOf("%")&&(m=v);for(v=0;v<l.length;v++){var r=c[l[v]];null!==r.sWidth&&(r.sWidth=Zb(r.sWidthOrig,p),t=!0)}if(d||!t&&!f&&!e&&h==na(a)&&h==n.length)for(v=0;v<h;v++)l=sa(a,v),null!==l&&(c[l].sWidth=K(n.eq(v).width()));else{h=k(b).clone().css("visibility","hidden").removeAttr("id");h.find("tbody tr").remove();
|
||||
var A=k("<tr/>").appendTo(h.find("tbody"));h.find("thead, tfoot").remove();h.append(k(a.nTHead).clone()).append(k(a.nTFoot).clone());h.find("tfoot th, tfoot td").css("width","");n=La(a,h.find("thead")[0]);for(v=0;v<l.length;v++)r=c[l[v]],n[v].style.width=null!==r.sWidthOrig&&""!==r.sWidthOrig?K(r.sWidthOrig):"",r.sWidthOrig&&f&&k(n[v]).append(k("<div/>").css({width:r.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(v=0;v<l.length;v++)t=l[v],r=c[t],k($b(a,t)).clone(!1).append(r.sContentPadding).appendTo(A);
|
||||
k("[name]",h).removeAttr("name");r=k("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(h).appendTo(p);f&&g?h.width(g):f?(h.css("width","auto"),h.removeAttr("width"),h.width()<p.clientWidth&&m&&h.width(p.clientWidth)):e?h.width(p.clientWidth):m&&h.width(m);for(v=e=0;v<l.length;v++)p=k(n[v]),g=p.outerWidth()-p.width(),p=x.bBounding?Math.ceil(n[v].getBoundingClientRect().width):p.outerWidth(),e+=p,c[l[v]].sWidth=K(p-g);b.style.width=K(e);r.remove()}m&&
|
||||
(b.style.width=K(m));!m&&!f||a._reszEvt||(b=function(){k(y).on("resize.DT-"+a.sInstance,gb(function(){ra(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0)}function Zb(a,b){if(!a)return 0;a=k("<div/>").css("width",K(a)).appendTo(b||z.body);b=a[0].offsetWidth;a.remove();return b}function $b(a,b){var c=ac(a,b);if(0>c)return null;var d=a.aoData[c];return d.nTr?d.anCells[b]:k("<td/>").html(S(a,c,b,"display"))[0]}function ac(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=S(a,f,b,"display")+"",c=c.replace(sc,
|
||||
""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function K(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function pa(a){var b=[],c=a.aoColumns;var d=a.aaSortingFixed;var e=k.isPlainObject(d);var f=[];var g=function(m){m.length&&!Array.isArray(m[0])?f.push(m):k.merge(f,m)};Array.isArray(d)&&g(d);e&&d.pre&&g(d.pre);g(a.aaSorting);e&&d.post&&g(d.post);for(a=0;a<f.length;a++){var h=f[a][0];g=c[h].aDataSort;d=0;for(e=g.length;d<e;d++){var l=g[d];
|
||||
var n=c[l].sType||"string";f[a]._idx===q&&(f[a]._idx=k.inArray(f[a][1],c[l].asSorting));b.push({src:h,col:l,dir:f[a][1],index:f[a]._idx,type:n,formatter:u.ext.type.order[n+"-pre"]})}}return b}function Hb(a){var b,c=[],d=u.ext.type.order,e=a.aoData,f=0,g=a.aiDisplayMaster;Za(a);var h=pa(a);var l=0;for(b=h.length;l<b;l++){var n=h[l];n.formatter&&f++;bc(a,n.col)}if("ssp"!=P(a)&&0!==h.length){l=0;for(b=g.length;l<b;l++)c[g[l]]=l;f===h.length?g.sort(function(m,p){var t,v=h.length,x=e[m]._aSortData,r=e[p]._aSortData;
|
||||
for(t=0;t<v;t++){var A=h[t];var D=x[A.col];var I=r[A.col];D=D<I?-1:D>I?1:0;if(0!==D)return"asc"===A.dir?D:-D}D=c[m];I=c[p];return D<I?-1:D>I?1:0}):g.sort(function(m,p){var t,v=h.length,x=e[m]._aSortData,r=e[p]._aSortData;for(t=0;t<v;t++){var A=h[t];var D=x[A.col];var I=r[A.col];A=d[A.type+"-"+A.dir]||d["string-"+A.dir];D=A(D,I);if(0!==D)return D}D=c[m];I=c[p];return D<I?-1:D>I?1:0})}a.bSorted=!0}function cc(a){var b=a.aoColumns,c=pa(a);a=a.oLanguage.oAria;for(var d=0,e=b.length;d<e;d++){var f=b[d];
|
||||
var g=f.asSorting;var h=f.ariaTitle||f.sTitle.replace(/<.*?>/g,"");var l=f.nTh;l.removeAttribute("aria-sort");f.bSortable&&(0<c.length&&c[0].col==d?(l.setAttribute("aria-sort","asc"==c[0].dir?"ascending":"descending"),f=g[c[0].index+1]||g[0]):f=g[0],h+="asc"===f?a.sSortAscending:a.sSortDescending);l.setAttribute("aria-label",h)}}function ob(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(h,l){var n=h._idx;n===q&&(n=k.inArray(h[1],f));return n+1<f.length?n+1:l?null:0};"number"===typeof e[0]&&
|
||||
(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=k.inArray(b,T(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);ja(a);"function"==typeof d&&d(a)}function eb(a,b,c,d){var e=a.aoColumns[c];pb(b,{},function(f){!1!==e.bSortable&&(a.oFeatures.bProcessing?(U(a,!0),setTimeout(function(){ob(a,
|
||||
c,f.shiftKey,d);"ssp"!==P(a)&&U(a,!1)},0)):ob(a,c,f.shiftKey,d))})}function Qa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=pa(a),e=a.oFeatures,f;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++){var g=b[e].src;k(T(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3))}e=0;for(f=d.length;e<f;e++)g=d[e].src,k(T(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function bc(a,b){var c=a.aoColumns[b],d=u.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ta(a,b)));for(var f,g=u.ext.type.order[c.sType+
|
||||
"-pre"],h=0,l=a.aoData.length;h<l;h++)if(c=a.aoData[h],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[h]:S(a,h,b,"sort"),c._aSortData[b]=g?g(f):f}function Ra(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:k.extend(!0,[],a.aaSorting),search:Vb(a.oPreviousSearch),columns:k.map(a.aoColumns,function(c,d){return{visible:c.bVisible,search:Vb(a.aoPreSearchCols[d])}})};H(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=
|
||||
b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function dc(a,b,c){var d,e,f=a.aoColumns;b=function(h){if(h&&h.time){var l=H(a,"aoStateLoadParams","stateLoadParams",[a,h]);if(-1===k.inArray(!1,l)&&(l=a.iStateDuration,!(0<l&&h.time<+new Date-1E3*l||h.columns&&f.length!==h.columns.length))){a.oLoadedState=k.extend(!0,{},h);h.start!==q&&(a._iDisplayStart=h.start,a.iInitDisplayStart=h.start);h.length!==q&&(a._iDisplayLength=h.length);h.order!==q&&(a.aaSorting=[],k.each(h.order,function(n,m){a.aaSorting.push(m[0]>=
|
||||
f.length?[0,m[1]]:m)}));h.search!==q&&k.extend(a.oPreviousSearch,Wb(h.search));if(h.columns)for(d=0,e=h.columns.length;d<e;d++)l=h.columns[d],l.visible!==q&&(f[d].bVisible=l.visible),l.search!==q&&k.extend(a.aoPreSearchCols[d],Wb(l.search));H(a,"aoStateLoaded","stateLoaded",[a,h])}}c()};if(a.oFeatures.bStateSave){var g=a.fnStateLoadCallback.call(a.oInstance,a,b);g!==q&&b(g)}else c()}function Sa(a){var b=u.settings;a=k.inArray(a,T(b,"nTable"));return-1!==a?b[a]:null}function ca(a,b,c,d){c="DataTables warning: "+
|
||||
(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)y.console&&console.log&&console.log(c);else if(b=u.ext,b=b.sErrMode||b.errMode,a&&H(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function V(a,b,c,d){Array.isArray(c)?k.each(c,function(e,f){Array.isArray(f)?V(a,b,f[0],f[1]):V(a,b,f)}):(d===q&&(d=c),b[c]!==q&&(a[d]=b[c]))}function qb(a,b,c){var d;for(d in b)if(b.hasOwnProperty(d)){var e=
|
||||
b[d];k.isPlainObject(e)?(k.isPlainObject(a[d])||(a[d]={}),k.extend(!0,a[d],e)):c&&"data"!==d&&"aaData"!==d&&Array.isArray(e)?a[d]=e.slice():a[d]=e}return a}function pb(a,b,c){k(a).on("click.DT",b,function(d){k(a).trigger("blur");c(d)}).on("keypress.DT",b,function(d){13===d.which&&(d.preventDefault(),c(d))}).on("selectstart.DT",function(){return!1})}function Q(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function H(a,b,c,d){var e=[];b&&(e=k.map(a[b].slice().reverse(),function(f,g){return f.fn.apply(a.oInstance,
|
||||
d)}));null!==c&&(b=k.Event(c+".dt"),k(a.nTable).trigger(b,d),e.push(b.result));return e}function kb(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function fb(a,b){a=a.renderer;var c=u.ext.renderer[b];return k.isPlainObject(a)&&a[b]?c[a[b]]||c._:"string"===typeof a?c[a]||c._:c._}function P(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Ca(a,b){var c=ec.numbers_length,d=Math.floor(c/2);
|
||||
b<=c?a=qa(0,b):a<=d?(a=qa(0,c-2),a.push("ellipsis"),a.push(b-1)):(a>=b-1-d?a=qa(b-(c-2),b):(a=qa(a-d+2,a+d-1),a.push("ellipsis"),a.push(b-1)),a.splice(0,0,"ellipsis"),a.splice(0,0,0));a.DT_el="span";return a}function Wa(a){k.each({num:function(b){return Ta(b,a)},"num-fmt":function(b){return Ta(b,a,rb)},"html-num":function(b){return Ta(b,a,Ua)},"html-num-fmt":function(b){return Ta(b,a,Ua,rb)}},function(b,c){L.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(L.type.search[b+a]=L.type.search.html)})}function fc(a){return function(){var b=
|
||||
[Sa(this[u.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return u.ext.internal[a].apply(this,b)}}var u=function(a){this.$=function(f,g){return this.api(!0).$(f,g)};this._=function(f,g){return this.api(!0).rows(f,g).data()};this.api=function(f){return f?new C(Sa(this[L.iApiIndex])):new C(this)};this.fnAddData=function(f,g){var h=this.api(!0);f=Array.isArray(f)&&(Array.isArray(f[0])||k.isPlainObject(f[0]))?h.rows.add(f):h.row.add(f);(g===q||g)&&h.draw();return f.flatten().toArray()};
|
||||
this.fnAdjustColumnSizing=function(f){var g=this.api(!0).columns.adjust(),h=g.settings()[0],l=h.oScroll;f===q||f?g.draw(!1):(""!==l.sX||""!==l.sY)&&Fa(h)};this.fnClearTable=function(f){var g=this.api(!0).clear();(f===q||f)&&g.draw()};this.fnClose=function(f){this.api(!0).row(f).child.hide()};this.fnDeleteRow=function(f,g,h){var l=this.api(!0);f=l.rows(f);var n=f.settings()[0],m=n.aoData[f[0][0]];f.remove();g&&g.call(this,n,m);(h===q||h)&&l.draw();return m};this.fnDestroy=function(f){this.api(!0).destroy(f)};
|
||||
this.fnDraw=function(f){this.api(!0).draw(f)};this.fnFilter=function(f,g,h,l,n,m){n=this.api(!0);null===g||g===q?n.search(f,h,l,m):n.column(g).search(f,h,l,m);n.draw()};this.fnGetData=function(f,g){var h=this.api(!0);if(f!==q){var l=f.nodeName?f.nodeName.toLowerCase():"";return g!==q||"td"==l||"th"==l?h.cell(f,g).data():h.row(f).data()||null}return h.data().toArray()};this.fnGetNodes=function(f){var g=this.api(!0);return f!==q?g.row(f).node():g.rows().nodes().flatten().toArray()};this.fnGetPosition=
|
||||
function(f){var g=this.api(!0),h=f.nodeName.toUpperCase();return"TR"==h?g.row(f).index():"TD"==h||"TH"==h?(f=g.cell(f).index(),[f.row,f.columnVisible,f.column]):null};this.fnIsOpen=function(f){return this.api(!0).row(f).child.isShown()};this.fnOpen=function(f,g,h){return this.api(!0).row(f).child(g,h).show().child()[0]};this.fnPageChange=function(f,g){f=this.api(!0).page(f);(g===q||g)&&f.draw(!1)};this.fnSetColumnVis=function(f,g,h){f=this.api(!0).column(f).visible(g);(h===q||h)&&f.columns.adjust().draw()};
|
||||
this.fnSettings=function(){return Sa(this[L.iApiIndex])};this.fnSort=function(f){this.api(!0).order(f).draw()};this.fnSortListener=function(f,g,h){this.api(!0).order.listener(f,g,h)};this.fnUpdate=function(f,g,h,l,n){var m=this.api(!0);h===q||null===h?m.row(g).data(f):m.cell(g,h).data(f);(n===q||n)&&m.columns.adjust();(l===q||l)&&m.draw();return 0};this.fnVersionCheck=L.fnVersionCheck;var b=this,c=a===q,d=this.length;c&&(a={});this.oApi=this.internal=L.internal;for(var e in u.ext.internal)e&&(this[e]=
|
||||
fc(e));this.each(function(){var f={},g=1<d?qb(f,a,!0):a,h=0,l;f=this.getAttribute("id");var n=!1,m=u.defaults,p=k(this);if("table"!=this.nodeName.toLowerCase())ca(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{zb(m);Ab(m.column);O(m,m,!0);O(m.column,m.column,!0);O(m,k.extend(g,p.data()),!0);var t=u.settings;h=0;for(l=t.length;h<l;h++){var v=t[h];if(v.nTable==this||v.nTHead&&v.nTHead.parentNode==this||v.nTFoot&&v.nTFoot.parentNode==this){var x=g.bRetrieve!==q?g.bRetrieve:m.bRetrieve;
|
||||
if(c||x)return v.oInstance;if(g.bDestroy!==q?g.bDestroy:m.bDestroy){v.oInstance.fnDestroy();break}else{ca(v,0,"Cannot reinitialise DataTable",3);return}}if(v.sTableId==this.id){t.splice(h,1);break}}if(null===f||""===f)this.id=f="DataTables_Table_"+u.ext._unique++;var r=k.extend(!0,{},u.models.oSettings,{sDestroyWidth:p[0].style.width,sInstance:f,sTableId:f});r.nTable=this;r.oApi=b.internal;r.oInit=g;t.push(r);r.oInstance=1===b.length?b:p.dataTable();zb(g);ma(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&
|
||||
(g.iDisplayLength=Array.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=qb(k.extend(!0,{},m),g);V(r.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));V(r,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback",
|
||||
"fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);V(r.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);V(r.oLanguage,g,"fnInfoCallback");Q(r,"aoDrawCallback",g.fnDrawCallback,"user");Q(r,"aoServerParams",g.fnServerParams,"user");Q(r,"aoStateSaveParams",g.fnStateSaveParams,"user");Q(r,"aoStateLoadParams",
|
||||
g.fnStateLoadParams,"user");Q(r,"aoStateLoaded",g.fnStateLoaded,"user");Q(r,"aoRowCallback",g.fnRowCallback,"user");Q(r,"aoRowCreatedCallback",g.fnCreatedRow,"user");Q(r,"aoHeaderCallback",g.fnHeaderCallback,"user");Q(r,"aoFooterCallback",g.fnFooterCallback,"user");Q(r,"aoInitComplete",g.fnInitComplete,"user");Q(r,"aoPreDrawCallback",g.fnPreDrawCallback,"user");r.rowIdFn=ia(g.rowId);Bb(r);var A=r.oClasses;k.extend(A,u.ext.classes,g.oClasses);p.addClass(A.sTable);r.iInitDisplayStart===q&&(r.iInitDisplayStart=
|
||||
g.iDisplayStart,r._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(r.bDeferLoading=!0,f=Array.isArray(g.iDeferLoading),r._iRecordsDisplay=f?g.iDeferLoading[0]:g.iDeferLoading,r._iRecordsTotal=f?g.iDeferLoading[1]:g.iDeferLoading);var D=r.oLanguage;k.extend(!0,D,g.oLanguage);D.sUrl?(k.ajax({dataType:"json",url:D.sUrl,success:function(B){ma(B);O(m.oLanguage,B);k.extend(!0,D,B);H(r,null,"i18n",[r]);za(r)},error:function(){za(r)}}),n=!0):H(r,null,"i18n",[r]);null===g.asStripeClasses&&(r.asStripeClasses=
|
||||
[A.sStripeOdd,A.sStripeEven]);f=r.asStripeClasses;var I=p.children("tbody").find("tr").eq(0);-1!==k.inArray(!0,k.map(f,function(B,E){return I.hasClass(B)}))&&(k("tbody tr",this).removeClass(f.join(" ")),r.asDestroyStripes=f.slice());f=[];t=this.getElementsByTagName("thead");0!==t.length&&(wa(r.aoHeader,t[0]),f=La(r));if(null===g.aoColumns)for(t=[],h=0,l=f.length;h<l;h++)t.push(null);else t=g.aoColumns;h=0;for(l=t.length;h<l;h++)Xa(r,f?f[h]:null);Db(r,g.aoColumnDefs,t,function(B,E){Ea(r,B,E)});if(I.length){var W=
|
||||
function(B,E){return null!==B.getAttribute("data-"+E)?E:null};k(I[0]).children("th, td").each(function(B,E){var aa=r.aoColumns[B];if(aa.mData===B){var X=W(E,"sort")||W(E,"order");E=W(E,"filter")||W(E,"search");if(null!==X||null!==E)aa.mData={_:B+".display",sort:null!==X?B+".@data-"+X:q,type:null!==X?B+".@data-"+X:q,filter:null!==E?B+".@data-"+E:q},Ea(r,B)}})}var M=r.oFeatures;f=function(){if(g.aaSorting===q){var B=r.aaSorting;h=0;for(l=B.length;h<l;h++)B[h][1]=r.aoColumns[h].asSorting[0]}Qa(r);M.bSort&&
|
||||
Q(r,"aoDrawCallback",function(){if(r.bSorted){var X=pa(r),Aa={};k.each(X,function(mb,Ba){Aa[Ba.src]=Ba.dir});H(r,null,"order",[r,X,Aa]);cc(r)}});Q(r,"aoDrawCallback",function(){(r.bSorted||"ssp"===P(r)||M.bDeferRender)&&Qa(r)},"sc");B=p.children("caption").each(function(){this._captionSide=k(this).css("caption-side")});var E=p.children("thead");0===E.length&&(E=k("<thead/>").appendTo(p));r.nTHead=E[0];var aa=p.children("tbody");0===aa.length&&(aa=k("<tbody/>").insertAfter(E));r.nTBody=aa[0];E=p.children("tfoot");
|
||||
0===E.length&&0<B.length&&(""!==r.oScroll.sX||""!==r.oScroll.sY)&&(E=k("<tfoot/>").appendTo(p));0===E.length||0===E.children().length?p.addClass(A.sNoFooter):0<E.length&&(r.nTFoot=E[0],wa(r.aoFooter,r.nTFoot));if(g.aaData)for(h=0;h<g.aaData.length;h++)ea(r,g.aaData[h]);else(r.bDeferLoading||"dom"==P(r))&&Ha(r,k(r.nTBody).children("tr"));r.aiDisplay=r.aiDisplayMaster.slice();r.bInitialised=!0;!1===n&&za(r)};g.bStateSave?(M.bStateSave=!0,Q(r,"aoDrawCallback",Ra,"state_save"),dc(r,g,f)):f()}});b=null;
|
||||
return this},L,w,J,sb={},gc=/[\r\n\u2028]/g,Ua=/<.*?>/g,tc=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,uc=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g,rb=/['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,Z=function(a){return a&&!0!==a&&"-"!==a?!1:!0},hc=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},ic=function(a,b){sb[b]||(sb[b]=new RegExp(ib(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(sb[b],"."):
|
||||
a},tb=function(a,b,c){var d="string"===typeof a;if(Z(a))return!0;b&&d&&(a=ic(a,b));c&&d&&(a=a.replace(rb,""));return!isNaN(parseFloat(a))&&isFinite(a)},jc=function(a,b,c){return Z(a)?!0:Z(a)||"string"===typeof a?tb(a.replace(Ua,""),b,c)?!0:null:null},T=function(a,b,c){var d=[],e=0,f=a.length;if(c!==q)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},Da=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==q)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<
|
||||
g;f++)e.push(a[b[f]][c]);return e},qa=function(a,b){var c=[];if(b===q){b=0;var d=a}else d=b,b=a;for(a=b;a<d;a++)c.push(a);return c},kc=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},Ka=function(a){a:{if(!(2>a.length)){var b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();b=[];e=a.length;var f,g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b},lc=function(a,
|
||||
b){if(Array.isArray(b))for(var c=0;c<b.length;c++)lc(a,b[c]);else a.push(b);return a};Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});u.util={throttle:function(a,b){var c=b!==q?b:200,d,e;return function(){var f=this,g=+new Date,h=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=q;a.apply(f,h)},c)):(d=g,a.apply(f,
|
||||
h))}},escapeRegex:function(a){return a.replace(uc,"\\$1")}};var R=function(a,b,c){a[b]!==q&&(a[c]=a[b])},ua=/\[.*?\]$/,oa=/\(\)$/,ib=u.util.escapeRegex,Pa=k("<div>")[0],rc=Pa.textContent!==q,sc=/<.*?>/g,gb=u.util.throttle,mc=[],N=Array.prototype,vc=function(a){var b,c=u.settings,d=k.map(c,function(f,g){return f.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase()){var e=k.inArray(a,d);return-1!==e?[c[e]]:null}if(a&&"function"===typeof a.settings)return a.settings().toArray();
|
||||
"string"===typeof a?b=k(a):a instanceof k&&(b=a)}else return[];if(b)return b.map(function(f){e=k.inArray(this,d);return-1!==e?c[e]:null}).toArray()};var C=function(a,b){if(!(this instanceof C))return new C(a,b);var c=[],d=function(g){(g=vc(g))&&c.push.apply(c,g)};if(Array.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=Ka(c);b&&k.merge(this,b);this.selector={rows:null,cols:null,opts:null};C.extend(this,this,mc)};u.Api=C;k.extend(C.prototype,{any:function(){return 0!==this.count()},
|
||||
concat:N.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new C(b[a],this[a]):null},filter:function(a){var b=[];if(N.filter)b=N.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new C(this.context,b)},flatten:function(){var a=[];return new C(this.context,a.concat.apply(a,this.toArray()))},
|
||||
join:N.join,indexOf:N.indexOf||function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1},iterator:function(a,b,c,d){var e=[],f,g,h=this.context,l,n=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);var m=0;for(f=h.length;m<f;m++){var p=new C(h[m]);if("table"===b){var t=c.call(p,h[m],m);t!==q&&e.push(t)}else if("columns"===b||"rows"===b)t=c.call(p,h[m],this[m],m),t!==q&&e.push(t);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){var v=this[m];"column-rows"===
|
||||
b&&(l=Va(h[m],n.opts));var x=0;for(g=v.length;x<g;x++)t=v[x],t="cell"===b?c.call(p,h[m],t.row,t.column,m,x):c.call(p,h[m],t,m,x,l),t!==q&&e.push(t)}}return e.length||d?(a=new C(h,a?e.concat.apply([],e):e),b=a.selector,b.rows=n.rows,b.cols=n.cols,b.opts=n.opts,a):this},lastIndexOf:N.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(N.map)b=N.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],
|
||||
c));return new C(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:N.pop,push:N.push,reduce:N.reduce||function(a,b){return Cb(this,a,b,0,this.length,1)},reduceRight:N.reduceRight||function(a,b){return Cb(this,a,b,this.length-1,-1,-1)},reverse:N.reverse,selector:null,shift:N.shift,slice:function(){return new C(this.context,this)},sort:N.sort,splice:N.splice,toArray:function(){return N.slice.call(this)},to$:function(){return k(this)},toJQuery:function(){return k(this)},
|
||||
unique:function(){return new C(this.context,Ka(this))},unshift:N.unshift});C.extend=function(a,b,c){if(c.length&&b&&(b instanceof C||b.__dt_wrapper)){var d,e=function(h,l,n){return function(){var m=l.apply(h,arguments);C.extend(m,m,n.methodExt);return m}};var f=0;for(d=c.length;f<d;f++){var g=c[f];b[g.name]="function"===g.type?e(a,g.val,g):"object"===g.type?{}:g.val;b[g.name].__dt_wrapper=!0;C.extend(a,b[g.name],g.propExt)}}};C.register=w=function(a,b){if(Array.isArray(a))for(var c=0,d=a.length;c<
|
||||
d;c++)C.register(a[c],b);else{d=a.split(".");var e=mc,f;a=0;for(c=d.length;a<c;a++){var g=(f=-1!==d[a].indexOf("()"))?d[a].replace("()",""):d[a];a:{var h=0;for(var l=e.length;h<l;h++)if(e[h].name===g){h=e[h];break a}h=null}h||(h={name:g,val:{},methodExt:[],propExt:[],type:"object"},e.push(h));a===c-1?(h.val=b,h.type="function"===typeof b?"function":k.isPlainObject(b)?"object":"other"):e=f?h.methodExt:h.propExt}}};C.registerPlural=J=function(a,b,c){C.register(a,c);C.register(b,function(){var d=c.apply(this,
|
||||
arguments);return d===this?this:d instanceof C?d.length?Array.isArray(d[0])?new C(d.context,d[0]):d[0]:q:d})};var nc=function(a,b){if(Array.isArray(a))return k.map(a,function(d){return nc(d,b)});if("number"===typeof a)return[b[a]];var c=k.map(b,function(d,e){return d.nTable});return k(c).filter(a).map(function(d){d=k.inArray(this,c);return b[d]}).toArray()};w("tables()",function(a){return a!==q&&null!==a?new C(nc(a,this.context)):this});w("table()",function(a){a=this.tables(a);var b=a.context;return b.length?
|
||||
new C(b[0]):a});J("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});J("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});J("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});J("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});J("tables().containers()","table().container()",
|
||||
function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});w("draw()",function(a){return this.iterator("table",function(b){"page"===a?fa(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),ja(b,!1===a))})});w("page()",function(a){return a===q?this.page.info().page:this.iterator("table",function(b){lb(b,a)})});w("page.info()",function(a){if(0===this.context.length)return q;a=this.context[0];var b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),
|
||||
e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:"ssp"===P(a)}});w("page.len()",function(a){return a===q?0!==this.context.length?this.context[0]._iDisplayLength:q:this.iterator("table",function(b){jb(b,a)})});var oc=function(a,b,c){if(c){var d=new C(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==P(a))ja(a,b);else{U(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();Ma(a,[],function(f){Ia(a);
|
||||
f=Na(a,f);for(var g=0,h=f.length;g<h;g++)ea(a,f[g]);ja(a,b);U(a,!1)})}};w("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});w("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});w("ajax.reload()",function(a,b){return this.iterator("table",function(c){oc(c,!1===b,a)})});w("ajax.url()",function(a){var b=this.context;if(a===q){if(0===b.length)return q;b=b[0];return b.ajax?k.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",
|
||||
function(c){k.isPlainObject(c.ajax)?c.ajax.url=a:c.ajax=a})});w("ajax.url().load()",function(a,b){return this.iterator("table",function(c){oc(c,!1===b,a)})});var ub=function(a,b,c,d,e){var f=[],g,h,l;var n=typeof b;b&&"string"!==n&&"function"!==n&&b.length!==q||(b=[b]);n=0;for(h=b.length;n<h;n++){var m=b[n]&&b[n].split&&!b[n].match(/[\[\(:]/)?b[n].split(","):[b[n]];var p=0;for(l=m.length;p<l;p++)(g=c("string"===typeof m[p]?m[p].trim():m[p]))&&g.length&&(f=f.concat(g))}a=L.selector[a];if(a.length)for(n=
|
||||
0,h=a.length;n<h;n++)f=a[n](d,e,f);return Ka(f)},vb=function(a){a||(a={});a.filter&&a.search===q&&(a.search=a.filter);return k.extend({search:"none",order:"current",page:"all"},a)},wb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Va=function(a,b){var c=[],d=a.aiDisplay;var e=a.aiDisplayMaster;var f=b.search;var g=b.order;b=b.page;if("ssp"==P(a))return"removed"===f?[]:qa(0,e.length);if("current"==
|
||||
b)for(g=a._iDisplayStart,a=a.fnDisplayEnd();g<a;g++)c.push(d[g]);else if("current"==g||"applied"==g)if("none"==f)c=e.slice();else if("applied"==f)c=d.slice();else{if("removed"==f){var h={};g=0;for(a=d.length;g<a;g++)h[d[g]]=null;c=k.map(e,function(l){return h.hasOwnProperty(l)?null:l})}}else if("index"==g||"original"==g)for(g=0,a=a.aoData.length;g<a;g++)"none"==f?c.push(g):(e=k.inArray(g,d),(-1===e&&"removed"==f||0<=e&&"applied"==f)&&c.push(g));return c},wc=function(a,b,c){var d;return ub("row",b,
|
||||
function(e){var f=hc(e),g=a.aoData;if(null!==f&&!c)return[f];d||(d=Va(a,c));if(null!==f&&-1!==k.inArray(f,d))return[f];if(null===e||e===q||""===e)return d;if("function"===typeof e)return k.map(d,function(l){var n=g[l];return e(l,n._aData,n.nTr)?l:null});if(e.nodeName){f=e._DT_RowIndex;var h=e._DT_CellIndex;if(f!==q)return g[f]&&g[f].nTr===e?[f]:[];if(h)return g[h.row]&&g[h.row].nTr===e.parentNode?[h.row]:[];f=k(e).closest("*[data-dt-row]");return f.length?[f.data("dt-row")]:[]}if("string"===typeof e&&
|
||||
"#"===e.charAt(0)&&(f=a.aIds[e.replace(/^#/,"")],f!==q))return[f.idx];f=kc(Da(a.aoData,d,"nTr"));return k(f).filter(e).map(function(){return this._DT_RowIndex}).toArray()},a,c)};w("rows()",function(a,b){a===q?a="":k.isPlainObject(a)&&(b=a,a="");b=vb(b);var c=this.iterator("table",function(d){return wc(d,a,b)},1);c.selector.rows=a;c.selector.opts=b;return c});w("rows().nodes()",function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||q},1)});w("rows().data()",function(){return this.iterator(!0,
|
||||
"rows",function(a,b){return Da(a.aoData,b,"_aData")},1)});J("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){b=b.aoData[c];return"search"===a?b._aFilterData:b._aSortData},1)});J("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){va(b,c,a)})});J("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,b){return b},1)});J("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=
|
||||
0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new C(c,b)});J("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h;e.splice(c,1);var l=0;for(g=e.length;l<g;l++){var n=e[l];var m=n.anCells;null!==n.nTr&&(n.nTr._DT_RowIndex=l);if(null!==m)for(n=0,h=m.length;n<h;n++)m[n]._DT_CellIndex.row=l}Ja(b.aiDisplayMaster,c);Ja(b.aiDisplay,c);Ja(a[d],
|
||||
c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;kb(b);c=b.rowIdFn(f._aData);c!==q&&delete b.aIds[c]});this.iterator("table",function(b){for(var c=0,d=b.aoData.length;c<d;c++)b.aoData[c].idx=c});return this});w("rows.add()",function(a){var b=this.iterator("table",function(d){var e,f=[];var g=0;for(e=a.length;g<e;g++){var h=a[g];h.nodeName&&"TR"===h.nodeName.toUpperCase()?f.push(Ha(d,h)[0]):f.push(ea(d,h))}return f},1),c=this.rows(-1);c.pop();k.merge(c,b);return c});w("row()",function(a,b){return wb(this.rows(a,
|
||||
b))});w("row().data()",function(a){var b=this.context;if(a===q)return b.length&&this.length?b[0].aoData[this[0]]._aData:q;var c=b[0].aoData[this[0]];c._aData=a;Array.isArray(a)&&c.nTr&&c.nTr.id&&da(b[0].rowId)(a,c.nTr.id);va(b[0],this[0],"data");return this});w("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});w("row.add()",function(a){a instanceof k&&a.length&&(a=a[0]);var b=this.iterator("table",function(c){return a.nodeName&&"TR"===
|
||||
a.nodeName.toUpperCase()?Ha(c,a)[0]:ea(c,a)});return this.row(b[0])});var xc=function(a,b,c,d){var e=[],f=function(g,h){if(Array.isArray(g)||g instanceof k)for(var l=0,n=g.length;l<n;l++)f(g[l],h);else g.nodeName&&"tr"===g.nodeName.toLowerCase()?e.push(g):(l=k("<tr><td></td></tr>").addClass(h),k("td",l).addClass(h).html(g)[0].colSpan=na(a),e.push(l[0]))};f(c,d);b._details&&b._details.detach();b._details=k(e);b._detailsShow&&b._details.insertAfter(b.nTr)},xb=function(a,b){var c=a.context;c.length&&
|
||||
(a=c[0].aoData[b!==q?b:a[0]])&&a._details&&(a._details.remove(),a._detailsShow=q,a._details=q)},pc=function(a,b){var c=a.context;c.length&&a.length&&(a=c[0].aoData[a[0]],a._details&&((a._detailsShow=b)?a._details.insertAfter(a.nTr):a._details.detach(),yc(c[0])))},yc=function(a){var b=new C(a),c=a.aoData;b.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<T(c,"_details").length&&(b.on("draw.dt.DT_details",function(d,e){a===e&&b.rows({page:"current"}).eq(0).each(function(f){f=
|
||||
c[f];f._detailsShow&&f._details.insertAfter(f.nTr)})}),b.on("column-visibility.dt.DT_details",function(d,e,f,g){if(a===e)for(e=na(e),f=0,g=c.length;f<g;f++)d=c[f],d._details&&d._details.children("td[colspan]").attr("colspan",e)}),b.on("destroy.dt.DT_details",function(d,e){if(a===e)for(d=0,e=c.length;d<e;d++)c[d]._details&&xb(b,d)}))};w("row().child()",function(a,b){var c=this.context;if(a===q)return c.length&&this.length?c[0].aoData[this[0]]._details:q;!0===a?this.child.show():!1===a?xb(this):c.length&&
|
||||
this.length&&xc(c[0],c[0].aoData[this[0]],a,b);return this});w(["row().child.show()","row().child().show()"],function(a){pc(this,!0);return this});w(["row().child.hide()","row().child().hide()"],function(){pc(this,!1);return this});w(["row().child.remove()","row().child().remove()"],function(){xb(this);return this});w("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var zc=/^([^:]+):(name|visIdx|visible)$/,qc=function(a,
|
||||
b,c,d,e){c=[];d=0;for(var f=e.length;d<f;d++)c.push(S(a,e[d],b));return c},Ac=function(a,b,c){var d=a.aoColumns,e=T(d,"sName"),f=T(d,"nTh");return ub("column",b,function(g){var h=hc(g);if(""===g)return qa(d.length);if(null!==h)return[0<=h?h:d.length+h];if("function"===typeof g){var l=Va(a,c);return k.map(d,function(p,t){return g(t,qc(a,t,0,0,l),f[t])?t:null})}var n="string"===typeof g?g.match(zc):"";if(n)switch(n[2]){case "visIdx":case "visible":h=parseInt(n[1],10);if(0>h){var m=k.map(d,function(p,
|
||||
t){return p.bVisible?t:null});return[m[m.length+h]]}return[sa(a,h)];case "name":return k.map(e,function(p,t){return p===n[1]?t:null});default:return[]}if(g.nodeName&&g._DT_CellIndex)return[g._DT_CellIndex.column];h=k(f).filter(g).map(function(){return k.inArray(this,f)}).toArray();if(h.length||!g.nodeName)return h;h=k(g).closest("*[data-dt-column]");return h.length?[h.data("dt-column")]:[]},a,c)};w("columns()",function(a,b){a===q?a="":k.isPlainObject(a)&&(b=a,a="");b=vb(b);var c=this.iterator("table",
|
||||
function(d){return Ac(d,a,b)},1);c.selector.cols=a;c.selector.opts=b;return c});J("columns().header()","column().header()",function(a,b){return this.iterator("column",function(c,d){return c.aoColumns[d].nTh},1)});J("columns().footer()","column().footer()",function(a,b){return this.iterator("column",function(c,d){return c.aoColumns[d].nTf},1)});J("columns().data()","column().data()",function(){return this.iterator("column-rows",qc,1)});J("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",
|
||||
function(a,b){return a.aoColumns[b].mData},1)});J("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return Da(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});J("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return Da(a.aoData,e,"anCells",b)},1)});J("columns().visible()","column().visible()",function(a,b){var c=this,d=this.iterator("column",function(e,f){if(a===q)return e.aoColumns[f].bVisible;
|
||||
var g=e.aoColumns,h=g[f],l=e.aoData,n;if(a!==q&&h.bVisible!==a){if(a){var m=k.inArray(!0,T(g,"bVisible"),f+1);g=0;for(n=l.length;g<n;g++){var p=l[g].nTr;e=l[g].anCells;p&&p.insertBefore(e[f],e[m]||null)}}else k(T(e.aoData,"anCells",f)).detach();h.bVisible=a}});a!==q&&this.iterator("table",function(e){xa(e,e.aoHeader);xa(e,e.aoFooter);e.aiDisplay.length||k(e.nTBody).find("td[colspan]").attr("colspan",na(e));Ra(e);c.iterator("column",function(f,g){H(f,null,"column-visibility",[f,g,a,b])});(b===q||b)&&
|
||||
c.columns.adjust()});return d});J("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?ta(b,c):c},1)});w("columns.adjust()",function(){return this.iterator("table",function(a){ra(a)},1)});w("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return sa(c,b);if("fromData"===a||"toVisible"===a)return ta(c,b)}});w("column()",function(a,b){return wb(this.columns(a,b))});var Bc=
|
||||
function(a,b,c){var d=a.aoData,e=Va(a,c),f=kc(Da(d,e,"anCells")),g=k(lc([],f)),h,l=a.aoColumns.length,n,m,p,t,v,x;return ub("cell",b,function(r){var A="function"===typeof r;if(null===r||r===q||A){n=[];m=0;for(p=e.length;m<p;m++)for(h=e[m],t=0;t<l;t++)v={row:h,column:t},A?(x=d[h],r(v,S(a,h,t),x.anCells?x.anCells[t]:null)&&n.push(v)):n.push(v);return n}if(k.isPlainObject(r))return r.column!==q&&r.row!==q&&-1!==k.inArray(r.row,e)?[r]:[];A=g.filter(r).map(function(D,I){return{row:I._DT_CellIndex.row,
|
||||
column:I._DT_CellIndex.column}}).toArray();if(A.length||!r.nodeName)return A;x=k(r).closest("*[data-dt-row]");return x.length?[{row:x.data("dt-row"),column:x.data("dt-column")}]:[]},a,c)};w("cells()",function(a,b,c){k.isPlainObject(a)&&(a.row===q?(c=a,a=null):(c=b,b=null));k.isPlainObject(b)&&(c=b,b=null);if(null===b||b===q)return this.iterator("table",function(m){return Bc(m,a,vb(c))});var d=c?{page:c.page,order:c.order,search:c.search}:{},e=this.columns(b,d),f=this.rows(a,d),g,h,l,n;d=this.iterator("table",
|
||||
function(m,p){m=[];g=0;for(h=f[p].length;g<h;g++)for(l=0,n=e[p].length;l<n;l++)m.push({row:f[p][g],column:e[p][l]});return m},1);d=c&&c.selected?this.cells(d,c):d;k.extend(d.selector,{cols:b,rows:a,opts:c});return d});J("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:q},1)});w("cells().data()",function(){return this.iterator("cell",function(a,b,c){return S(a,b,c)},1)});J("cells().cache()","cell().cache()",function(a){a=
|
||||
"search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});J("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return S(b,c,d,a)},1)});J("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:ta(a,c)}},1)});J("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){va(b,c,a,d)})});w("cell()",
|
||||
function(a,b,c){return wb(this.cells(a,b,c))});w("cell().data()",function(a){var b=this.context,c=this[0];if(a===q)return b.length&&c.length?S(b[0],c[0].row,c[0].column):q;Eb(b[0],c[0].row,c[0].column,a);va(b[0],c[0].row,"data",c[0].column);return this});w("order()",function(a,b){var c=this.context;if(a===q)return 0!==c.length?c[0].aaSorting:q;"number"===typeof a?a=[[a,b]]:a.length&&!Array.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(d){d.aaSorting=
|
||||
a.slice()})});w("order.listener()",function(a,b,c){return this.iterator("table",function(d){eb(d,a,b,c)})});w("order.fixed()",function(a){if(!a){var b=this.context;b=b.length?b[0].aaSortingFixed:q;return Array.isArray(b)?{pre:b}:b}return this.iterator("table",function(c){c.aaSortingFixed=k.extend(!0,{},a)})});w(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];k.each(b[d],function(f,g){e.push([g,a])});c.aaSorting=e})});w("search()",
|
||||
function(a,b,c,d){var e=this.context;return a===q?0!==e.length?e[0].oPreviousSearch.sSearch:q:this.iterator("table",function(f){f.oFeatures.bFilter&&ya(f,k.extend({},f.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});J("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===q)return g[f].sSearch;e.oFeatures.bFilter&&(k.extend(g[f],{sSearch:a+"",bRegex:null===
|
||||
b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ya(e,e.oPreviousSearch,1))})});w("state()",function(){return this.context.length?this.context[0].oSavedState:null});w("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});w("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});w("state.save()",function(){return this.iterator("table",function(a){Ra(a)})});u.versionCheck=u.fnVersionCheck=function(a){var b=
|
||||
u.version.split(".");a=a.split(".");for(var c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};u.isDataTable=u.fnIsDataTable=function(a){var b=k(a).get(0),c=!1;if(a instanceof u.Api)return!0;k.each(u.settings,function(d,e){d=e.nScrollHead?k("table",e.nScrollHead)[0]:null;var f=e.nScrollFoot?k("table",e.nScrollFoot)[0]:null;if(e.nTable===b||d===b||f===b)c=!0});return c};u.tables=u.fnTables=function(a){var b=!1;k.isPlainObject(a)&&(b=a.api,a=a.visible);
|
||||
var c=k.map(u.settings,function(d){if(!a||a&&k(d.nTable).is(":visible"))return d.nTable});return b?new C(c):c};u.camelToHungarian=O;w("$()",function(a,b){b=this.rows(b).nodes();b=k(b);return k([].concat(b.filter(a).toArray(),b.find(a).toArray()))});k.each(["on","one","off"],function(a,b){w(b+"()",function(){var c=Array.prototype.slice.call(arguments);c[0]=k.map(c[0].split(/\s/),function(e){return e.match(/\.dt\b/)?e:e+".dt"}).join(" ");var d=k(this.tables().nodes());d[b].apply(d,c);return this})});
|
||||
w("clear()",function(){return this.iterator("table",function(a){Ia(a)})});w("settings()",function(){return new C(this.context,this.context)});w("init()",function(){var a=this.context;return a.length?a[0].oInit:null});w("data()",function(){return this.iterator("table",function(a){return T(a.aoData,"_aData")}).flatten()});w("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,h=b.nTFoot,l=k(e);f=k(f);
|
||||
var n=k(b.nTableWrapper),m=k.map(b.aoData,function(t){return t.nTr}),p;b.bDestroying=!0;H(b,"aoDestroyCallback","destroy",[b]);a||(new C(b)).columns().visible(!0);n.off(".DT").find(":not(tbody *)").off(".DT");k(y).off(".DT-"+b.sInstance);e!=g.parentNode&&(l.children("thead").detach(),l.append(g));h&&e!=h.parentNode&&(l.children("tfoot").detach(),l.append(h));b.aaSorting=[];b.aaSortingFixed=[];Qa(b);k(m).removeClass(b.asStripeClasses.join(" "));k("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+
|
||||
" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(m);g=a?"remove":"detach";l[g]();n[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),l.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(t){k(this).addClass(b.asDestroyStripes[t%p])}));c=k.inArray(b,u.settings);-1!==c&&u.settings.splice(c,1)})});k.each(["column","row","cell"],function(a,b){w(b+"s().every()",function(c){var d=this.selector.opts,e=this;return this.iterator(b,
|
||||
function(f,g,h,l,n){c.call(e[b](g,"cell"===b?h:d,"cell"===b?d:q),g,h,l,n)})})});w("i18n()",function(a,b,c){var d=this.context[0];a=ia(a)(d.oLanguage);a===q&&(a=b);c!==q&&k.isPlainObject(a)&&(a=a[c]!==q?a[c]:a._);return a.replace("%d",c)});u.version="1.10.25";u.settings=[];u.models={};u.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};u.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};u.models.oColumn=
|
||||
{idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};u.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,
|
||||
aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,
|
||||
fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){return{}}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,
|
||||
iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",
|
||||
sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:k.extend({},u.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};G(u.defaults);u.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc",
|
||||
"desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};G(u.defaults.column);u.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,
|
||||
sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],
|
||||
aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,jqXHR:null,json:q,oAjaxData:q,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,
|
||||
iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==P(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==P(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;
|
||||
return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};u.ext=L={buttons:{},classes:{},builder:"bs5/dt-1.10.25/r-2.2.9",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:u.fnVersionCheck,
|
||||
iApiIndex:0,oJUIClasses:{},sVersion:u.version};k.extend(L,{afnFiltering:L.search,aTypes:L.type.detect,ofnSearch:L.type.search,oSort:L.type.order,afnSortData:L.order,aoFeatures:L.feature,oApi:L.internal,oStdClasses:L.classes,oPagination:L.pager});k.extend(u.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",
|
||||
sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",
|
||||
sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var ec=u.ext.pager;k.extend(ec,{simple:function(a,b){return["previous","next"]},full:function(a,b){return["first","previous","next","last"]},numbers:function(a,b){return[Ba(a,b)]},simple_numbers:function(a,b){return["previous",Ba(a,b),"next"]},
|
||||
full_numbers:function(a,b){return["first","previous",Ba(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",Ba(a,b),"last"]},_numbers:Ba,numbers_length:7});k.extend(!0,u.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,h=a.oLanguage.oPaginate,l=a.oLanguage.oAria.paginate||{},n,m,p=0,t=function(x,r){var A,E=g.sPageButtonDisabled,H=function(B){kb(a,B.data.action,!0)};var W=0;for(A=r.length;W<A;W++){var M=r[W];if(Array.isArray(M)){var C=k("<"+(M.DT_el||"div")+"/>").appendTo(x);
|
||||
t(C,M)}else{n=null;m=M;C=a.iTabIndex;switch(M){case "ellipsis":x.append('<span class="ellipsis">…</span>');break;case "first":n=h.sFirst;0===e&&(C=-1,m+=" "+E);break;case "previous":n=h.sPrevious;0===e&&(C=-1,m+=" "+E);break;case "next":n=h.sNext;if(0===f||e===f-1)C=-1,m+=" "+E;break;case "last":n=h.sLast;if(0===f||e===f-1)C=-1,m+=" "+E;break;default:n=a.fnFormatNumber(M+1),m=e===M?g.sPageButtonActive:""}null!==n&&(C=k("<a>",{"class":g.sPageButton+" "+m,"aria-controls":a.sTableId,"aria-label":l[M],
|
||||
"data-dt-idx":p,tabindex:C,id:0===c&&"string"===typeof M?a.sTableId+"_"+M:null}).html(n).appendTo(x),ob(C,{action:M},H),p++)}}};try{var v=k(b).find(z.activeElement).data("dt-idx")}catch(x){}t(k(b).empty(),d);v!==q&&k(b).find("[data-dt-idx="+v+"]").trigger("focus")}}});k.extend(u.ext.type.detect,[function(a,b){b=b.oLanguage.sDecimal;return sb(a,b)?"num"+b:null},function(a,b){if(a&&!(a instanceof Date)&&!tc.test(a))return null;b=Date.parse(a);return null!==b&&!isNaN(b)||ca(a)?"date":null},function(a,
|
||||
b){b=b.oLanguage.sDecimal;return sb(a,b,!0)?"num-fmt"+b:null},function(a,b){b=b.oLanguage.sDecimal;return jc(a,b)?"html-num"+b:null},function(a,b){b=b.oLanguage.sDecimal;return jc(a,b,!0)?"html-num-fmt"+b:null},function(a,b){return ca(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);k.extend(u.ext.type.search,{html:function(a){return ca(a)?a:"string"===typeof a?a.replace(gc," ").replace(Ta,""):""},string:function(a){return ca(a)?a:"string"===typeof a?a.replace(gc," "):a}});var Sa=function(a,
|
||||
b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=ic(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};k.extend(L.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return ca(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return ca(a)?"":"string"===typeof a?a.toLowerCase():a.toString?a.toString():""},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<
|
||||
b?1:a>b?-1:0}});Va("");k.extend(!0,u.ext.renderer,{header:{_:function(a,b,c,d){k(a.nTable).on("order.dt.DT",function(e,f,g,h){a===f&&(e=c.idx,b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass("asc"==h[e]?d.sSortAsc:"desc"==h[e]?d.sSortDesc:c.sSortingClass))})},jqueryui:function(a,b,c,d){k("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(k("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);k(a.nTable).on("order.dt.DT",function(e,f,g,h){a===f&&
|
||||
(e=c.idx,b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass("asc"==h[e]?d.sSortAsc:"desc"==h[e]?d.sSortDesc:c.sSortingClass),b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass("asc"==h[e]?d.sSortJUIAsc:"desc"==h[e]?d.sSortJUIDesc:c.sSortingClassJUI))})}}});var xb=function(a){return"string"===typeof a?a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):a};u.render=
|
||||
{number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return xb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:xb,filter:xb}}};k.extend(u.ext.internal,{_fnExternApiFunc:fc,_fnBuildAjax:La,_fnAjaxUpdate:Fb,_fnAjaxParameters:Ob,_fnAjaxUpdateDraw:Pb,_fnAjaxDataSrc:Ma,
|
||||
_fnAddColumn:Wa,_fnColumnOptions:Da,_fnAdjustColumnSizing:ra,_fnVisibleToColumnIndex:sa,_fnColumnIndexToVisible:ta,_fnVisbleColumns:na,_fnGetColumns:Fa,_fnColumnTypes:Ya,_fnApplyColumnDefs:Cb,_fnHungarianMap:G,_fnCamelToHungarian:O,_fnLanguageCompat:ma,_fnBrowserDetect:Ab,_fnAddData:ea,_fnAddTr:Ga,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==q?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return k.inArray(c,a.aoData[b].anCells)},_fnGetCellData:S,_fnSetCellData:Db,_fnSplitObjNotation:ab,
|
||||
_fnGetObjectDataFn:ia,_fnSetObjectDataFn:da,_fnGetDataMaster:bb,_fnClearTable:Ha,_fnDeleteIndex:Ia,_fnInvalidate:va,_fnGetRowElements:$a,_fnCreateTr:Za,_fnBuildHead:Eb,_fnDrawHead:xa,_fnDraw:fa,_fnReDraw:ja,_fnAddOptionsHtml:Hb,_fnDetectHeader:wa,_fnGetUniqueThs:Ka,_fnFeatureHtmlFilter:Jb,_fnFilterComplete:ya,_fnFilterCustom:Sb,_fnFilterColumn:Rb,_fnFilter:Qb,_fnFilterCreateSearch:gb,_fnEscapeRegex:hb,_fnFilterData:Tb,_fnFeatureHtmlInfo:Mb,_fnUpdateInfo:Wb,_fnInfoMacros:Xb,_fnInitialise:za,_fnInitComplete:Na,
|
||||
_fnLengthChange:ib,_fnFeatureHtmlLength:Ib,_fnFeatureHtmlPaginate:Nb,_fnPageChange:kb,_fnFeatureHtmlProcessing:Kb,_fnProcessingDisplay:U,_fnFeatureHtmlTable:Lb,_fnScrollDraw:Ea,_fnApplyToChildren:Z,_fnCalculateColumnWidths:Xa,_fnThrottle:fb,_fnConvertToWidth:Zb,_fnGetWidestNode:$b,_fnGetMaxLenString:ac,_fnStringToCss:K,_fnSortFlatten:pa,_fnSort:Gb,_fnSortAria:cc,_fnSortListener:nb,_fnSortAttachListener:db,_fnSortingClasses:Pa,_fnSortData:bc,_fnSaveState:Qa,_fnLoadState:dc,_fnSettingsFromNode:Ra,_fnLog:aa,
|
||||
_fnMap:V,_fnBindAction:ob,_fnCallbackReg:Q,_fnCallbackFire:I,_fnLengthOverflow:jb,_fnRenderer:eb,_fnDataSource:P,_fnRowAttributes:cb,_fnExtend:pb,_fnCalculateEnd:function(){}});k.fn.dataTable=u;u.$=k;k.fn.dataTableSettings=u.settings;k.fn.dataTableExt=u.ext;k.fn.DataTable=function(a){return k(this).dataTable(a).api()};k.each(u,function(a,b){k.fn.DataTable[a]=b});return k.fn.dataTable});
|
||||
sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_desc_disabled",sSortableDesc:"sorting_asc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",
|
||||
sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var ec=u.ext.pager;k.extend(ec,{simple:function(a,b){return["previous","next"]},full:function(a,b){return["first","previous","next","last"]},numbers:function(a,b){return[Ca(a,b)]},simple_numbers:function(a,b){return["previous",Ca(a,b),"next"]},
|
||||
full_numbers:function(a,b){return["first","previous",Ca(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",Ca(a,b),"last"]},_numbers:Ca,numbers_length:7});k.extend(!0,u.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,h=a.oLanguage.oPaginate,l=a.oLanguage.oAria.paginate||{},n,m,p=0,t=function(x,r){var A,D=g.sPageButtonDisabled,I=function(E){lb(a,E.data.action,!0)};var W=0;for(A=r.length;W<A;W++){var M=r[W];if(Array.isArray(M)){var B=k("<"+(M.DT_el||"div")+"/>").appendTo(x);
|
||||
t(B,M)}else{n=null;m=M;B=a.iTabIndex;switch(M){case "ellipsis":x.append('<span class="ellipsis">…</span>');break;case "first":n=h.sFirst;0===e&&(B=-1,m+=" "+D);break;case "previous":n=h.sPrevious;0===e&&(B=-1,m+=" "+D);break;case "next":n=h.sNext;if(0===f||e===f-1)B=-1,m+=" "+D;break;case "last":n=h.sLast;if(0===f||e===f-1)B=-1,m+=" "+D;break;default:n=a.fnFormatNumber(M+1),m=e===M?g.sPageButtonActive:""}null!==n&&(B=k("<a>",{"class":g.sPageButton+" "+m,"aria-controls":a.sTableId,"aria-label":l[M],
|
||||
"data-dt-idx":p,tabindex:B,id:0===c&&"string"===typeof M?a.sTableId+"_"+M:null}).html(n).appendTo(x),pb(B,{action:M},I),p++)}}};try{var v=k(b).find(z.activeElement).data("dt-idx")}catch(x){}t(k(b).empty(),d);v!==q&&k(b).find("[data-dt-idx="+v+"]").trigger("focus")}}});k.extend(u.ext.type.detect,[function(a,b){b=b.oLanguage.sDecimal;return tb(a,b)?"num"+b:null},function(a,b){if(a&&!(a instanceof Date)&&!tc.test(a))return null;b=Date.parse(a);return null!==b&&!isNaN(b)||Z(a)?"date":null},function(a,
|
||||
b){b=b.oLanguage.sDecimal;return tb(a,b,!0)?"num-fmt"+b:null},function(a,b){b=b.oLanguage.sDecimal;return jc(a,b)?"html-num"+b:null},function(a,b){b=b.oLanguage.sDecimal;return jc(a,b,!0)?"html-num-fmt"+b:null},function(a,b){return Z(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);k.extend(u.ext.type.search,{html:function(a){return Z(a)?a:"string"===typeof a?a.replace(gc," ").replace(Ua,""):""},string:function(a){return Z(a)?a:"string"===typeof a?a.replace(gc," "):a}});var Ta=function(a,
|
||||
b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=ic(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};k.extend(L.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return Z(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return Z(a)?"":"string"===typeof a?a.toLowerCase():a.toString?a.toString():""},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<
|
||||
b?1:a>b?-1:0}});Wa("");k.extend(!0,u.ext.renderer,{header:{_:function(a,b,c,d){k(a.nTable).on("order.dt.DT",function(e,f,g,h){a===f&&(e=c.idx,b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass("asc"==h[e]?d.sSortAsc:"desc"==h[e]?d.sSortDesc:c.sSortingClass))})},jqueryui:function(a,b,c,d){k("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(k("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);k(a.nTable).on("order.dt.DT",function(e,f,g,h){a===f&&(e=c.idx,b.removeClass(d.sSortAsc+
|
||||
" "+d.sSortDesc).addClass("asc"==h[e]?d.sSortAsc:"desc"==h[e]?d.sSortDesc:c.sSortingClass),b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass("asc"==h[e]?d.sSortJUIAsc:"desc"==h[e]?d.sSortJUIDesc:c.sSortingClassJUI))})}}});var yb=function(a){return"string"===typeof a?a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):a};u.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==
|
||||
typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return yb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";0===h&&0===parseFloat(f)&&(g="");return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:yb,filter:yb}}};k.extend(u.ext.internal,{_fnExternApiFunc:fc,_fnBuildAjax:Ma,_fnAjaxUpdate:Gb,_fnAjaxParameters:Pb,_fnAjaxUpdateDraw:Qb,_fnAjaxDataSrc:Na,_fnAddColumn:Xa,_fnColumnOptions:Ea,
|
||||
_fnAdjustColumnSizing:ra,_fnVisibleToColumnIndex:sa,_fnColumnIndexToVisible:ta,_fnVisbleColumns:na,_fnGetColumns:Ga,_fnColumnTypes:Za,_fnApplyColumnDefs:Db,_fnHungarianMap:G,_fnCamelToHungarian:O,_fnLanguageCompat:ma,_fnBrowserDetect:Bb,_fnAddData:ea,_fnAddTr:Ha,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==q?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return k.inArray(c,a.aoData[b].anCells)},_fnGetCellData:S,_fnSetCellData:Eb,_fnSplitObjNotation:bb,_fnGetObjectDataFn:ia,
|
||||
_fnSetObjectDataFn:da,_fnGetDataMaster:cb,_fnClearTable:Ia,_fnDeleteIndex:Ja,_fnInvalidate:va,_fnGetRowElements:ab,_fnCreateTr:$a,_fnBuildHead:Fb,_fnDrawHead:xa,_fnDraw:fa,_fnReDraw:ja,_fnAddOptionsHtml:Ib,_fnDetectHeader:wa,_fnGetUniqueThs:La,_fnFeatureHtmlFilter:Kb,_fnFilterComplete:ya,_fnFilterCustom:Tb,_fnFilterColumn:Sb,_fnFilter:Rb,_fnFilterCreateSearch:hb,_fnEscapeRegex:ib,_fnFilterData:Ub,_fnFeatureHtmlInfo:Nb,_fnUpdateInfo:Xb,_fnInfoMacros:Yb,_fnInitialise:za,_fnInitComplete:Oa,_fnLengthChange:jb,
|
||||
_fnFeatureHtmlLength:Jb,_fnFeatureHtmlPaginate:Ob,_fnPageChange:lb,_fnFeatureHtmlProcessing:Lb,_fnProcessingDisplay:U,_fnFeatureHtmlTable:Mb,_fnScrollDraw:Fa,_fnApplyToChildren:ba,_fnCalculateColumnWidths:Ya,_fnThrottle:gb,_fnConvertToWidth:Zb,_fnGetWidestNode:$b,_fnGetMaxLenString:ac,_fnStringToCss:K,_fnSortFlatten:pa,_fnSort:Hb,_fnSortAria:cc,_fnSortListener:ob,_fnSortAttachListener:eb,_fnSortingClasses:Qa,_fnSortData:bc,_fnSaveState:Ra,_fnLoadState:dc,_fnSettingsFromNode:Sa,_fnLog:ca,_fnMap:V,
|
||||
_fnBindAction:pb,_fnCallbackReg:Q,_fnCallbackFire:H,_fnLengthOverflow:kb,_fnRenderer:fb,_fnDataSource:P,_fnRowAttributes:db,_fnExtend:qb,_fnCalculateEnd:function(){}});k.fn.dataTable=u;u.$=k;k.fn.dataTableSettings=u.settings;k.fn.dataTableExt=u.ext;k.fn.DataTable=function(a){return k(this).dataTable(a).api()};k.each(u,function(a,b){k.fn.DataTable[a]=b});return k.fn.dataTable});
|
||||
|
||||
|
||||
/*!
|
||||
DataTables Bootstrap 4 integration
|
||||
©2011-2017 SpryMedia Ltd - datatables.net/license
|
||||
DataTables Bootstrap 5 integration
|
||||
2020 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var e=a.length,d=0;d<e;d++){var f=a[d];if(b.call(c,f,d,a))return{i:d,v:f}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;
|
||||
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};$jscomp.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
|
||||
@ -207,9 +207,9 @@ $jscomp.polyfill=function(a,b,c,e){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfil
|
||||
$jscomp.polyfillIsolated=function(a,b,c,e){var d=a.split(".");a=1===d.length;e=d[0];e=!a&&e in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var f=0;f<d.length-1;f++){var l=d[f];if(!(l in e))return;e=e[l]}d=d[d.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&"es6"===c?e[d]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,d,{configurable:!0,writable:!0,value:b}):b!==c&&($jscomp.propertyToPolyfillSymbol[d]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(d):$jscomp.POLYFILL_PREFIX+d,d=
|
||||
$jscomp.propertyToPolyfillSymbol[d],$jscomp.defineProperty(e,d,{configurable:!0,writable:!0,value:b})))};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(b,c){return $jscomp.findInternal(this,b,c).v}},"es6","es3");
|
||||
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);c&&c.fn.dataTable||(c=require("datatables.net")(b,c).$);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a,b,c,e){var d=a.fn.dataTable;a.extend(!0,d.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
||||
renderer:"bootstrap"});a.extend(d.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});d.ext.renderer.pageButton.bootstrap=function(f,l,A,B,m,t){var u=new d.Api(f),C=f.oClasses,n=f.oLanguage.oPaginate,D=f.oLanguage.oAria.paginate||{},h,k,v=0,y=function(q,w){var x,E=function(p){p.preventDefault();
|
||||
a(p.currentTarget).hasClass("disabled")||u.page()==p.data.action||u.page(p.data.action).draw("page")};var r=0;for(x=w.length;r<x;r++){var g=w[r];if(Array.isArray(g))y(q,g);else{k=h="";switch(g){case "ellipsis":h="…";k="disabled";break;case "first":h=n.sFirst;k=g+(0<m?"":" disabled");break;case "previous":h=n.sPrevious;k=g+(0<m?"":" disabled");break;case "next":h=n.sNext;k=g+(m<t-1?"":" disabled");break;case "last":h=n.sLast;k=g+(m<t-1?"":" disabled");break;default:h=g+1,k=m===g?"active":""}if(h){var F=
|
||||
a("<li>",{"class":C.sPageButton+" "+k,id:0===A&&"string"===typeof g?f.sTableId+"_"+g:null}).append(a("<a>",{href:"#","aria-controls":f.sTableId,"aria-label":D[g],"data-dt-idx":v,tabindex:f.iTabIndex,"class":"page-link"}).html(h)).appendTo(q);f.oApi._fnBindAction(F,{action:g},E);v++}}}};try{var z=a(l).find(c.activeElement).data("dt-idx")}catch(q){}y(a(l).empty().html('<ul class="pagination"/>').children("ul"),B);z!==e&&a(l).find("[data-dt-idx="+z+"]").trigger("focus")};return d});
|
||||
renderer:"bootstrap"});a.extend(d.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap5",sFilterInput:"form-control form-control-sm",sLengthSelect:"form-select form-select-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});d.ext.renderer.pageButton.bootstrap=function(f,l,A,B,m,t){var u=new d.Api(f),C=f.oClasses,n=f.oLanguage.oPaginate,D=f.oLanguage.oAria.paginate||{},h,k,v=0,y=function(q,w){var x,E=function(p){p.preventDefault();a(p.currentTarget).hasClass("disabled")||
|
||||
u.page()==p.data.action||u.page(p.data.action).draw("page")};var r=0;for(x=w.length;r<x;r++){var g=w[r];if(Array.isArray(g))y(q,g);else{k=h="";switch(g){case "ellipsis":h="…";k="disabled";break;case "first":h=n.sFirst;k=g+(0<m?"":" disabled");break;case "previous":h=n.sPrevious;k=g+(0<m?"":" disabled");break;case "next":h=n.sNext;k=g+(m<t-1?"":" disabled");break;case "last":h=n.sLast;k=g+(m<t-1?"":" disabled");break;default:h=g+1,k=m===g?"active":""}if(h){var F=a("<li>",{"class":C.sPageButton+
|
||||
" "+k,id:0===A&&"string"===typeof g?f.sTableId+"_"+g:null}).append(a("<a>",{href:"#","aria-controls":f.sTableId,"aria-label":D[g],"data-dt-idx":v,tabindex:f.iTabIndex,"class":"page-link"}).html(h)).appendTo(q);f.oApi._fnBindAction(F,{action:g},E);v++}}}};try{var z=a(l).find(c.activeElement).data("dt-idx")}catch(q){}y(a(l).empty().html('<ul class="pagination"/>').children("ul"),B);z!==e&&a(l).find("[data-dt-idx="+z+"]").trigger("focus")};return d});
|
||||
|
||||
|
||||
/*!
|
||||
@ -223,7 +223,7 @@ a("<li>",{"class":C.sPageButton+" "+k,id:0===A&&"string"===typeof g?f.sTableId+"
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
||||
|
||||
For details please refer to: http://www.datatables.net
|
||||
Responsive 2.2.7
|
||||
Responsive 2.2.9
|
||||
2014-2021 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(b,k,m){b instanceof String&&(b=String(b));for(var n=b.length,p=0;p<n;p++){var y=b[p];if(k.call(m,y,p,b))return{i:p,v:y}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;
|
||||
@ -258,13 +258,13 @@ b(m).off("keypress.dtr")},l=b('<div class="dtr-modal"/>').append(b('<div class="
|
||||
c,d){return(a=b.map(d,function(f){var g=f.className?'class="'+f.className+'"':"";return f.hidden?"<li "+g+' data-dtr-index="'+f.columnIndex+'" data-dt-row="'+f.rowIndex+'" data-dt-column="'+f.columnIndex+'"><span class="dtr-title">'+f.title+'</span> <span class="dtr-data">'+f.data+"</span></li>":""}).join(""))?b('<ul data-dtr-index="'+c+'" class="dtr-details"/>').append(a):!1}},tableAll:function(a){a=b.extend({tableClass:""},a);return function(c,d,f){c=b.map(f,function(g){return"<tr "+(g.className?
|
||||
'class="'+g.className+'"':"")+' data-dt-row="'+g.rowIndex+'" data-dt-column="'+g.columnIndex+'"><td>'+g.title+":</td> <td>"+g.data+"</td></tr>"}).join("");return b('<table class="'+a.tableClass+' dtr-details" width="100%"/>').append(c)}}};u.defaults={breakpoints:u.breakpoints,auto:!0,details:{display:u.display.childRow,renderer:u.renderer.listHidden(),target:0,type:"inline"},orthogonal:"display"};var C=b.fn.dataTable.Api;C.register("responsive()",function(){return this});C.register("responsive.index()",
|
||||
function(a){a=b(a);return{column:a.data("dtr-index"),row:a.parent().data("dtr-index")}});C.register("responsive.rebuild()",function(){return this.iterator("table",function(a){a._responsive&&a._responsive._classLogic()})});C.register("responsive.recalc()",function(){return this.iterator("table",function(a){a._responsive&&(a._responsive._resizeAuto(),a._responsive._resize())})});C.register("responsive.hasHidden()",function(){var a=this.context[0];return a._responsive?-1!==b.inArray(!1,a._responsive._responsiveOnlyHidden()):
|
||||
!1});C.registerPlural("columns().responsiveHidden()","column().responsiveHidden()",function(){return this.iterator("column",function(a,c){return a._responsive?a._responsive._responsiveOnlyHidden()[c]:!1},1)});u.version="2.2.7";b.fn.dataTable.Responsive=u;b.fn.DataTable.Responsive=u;b(m).on("preInit.dt.dtr",function(a,c,d){"dt"===a.namespace&&(b(c.nTable).hasClass("responsive")||b(c.nTable).hasClass("dt-responsive")||c.oInit.responsive||z.defaults.responsive)&&(a=c.oInit.responsive,!1!==a&&new u(c,
|
||||
!1});C.registerPlural("columns().responsiveHidden()","column().responsiveHidden()",function(){return this.iterator("column",function(a,c){return a._responsive?a._responsive._responsiveOnlyHidden()[c]:!1},1)});u.version="2.2.9";b.fn.dataTable.Responsive=u;b.fn.DataTable.Responsive=u;b(m).on("preInit.dt.dtr",function(a,c,d){"dt"===a.namespace&&(b(c.nTable).hasClass("responsive")||b(c.nTable).hasClass("dt-responsive")||c.oInit.responsive||z.defaults.responsive)&&(a=c.oInit.responsive,!1!==a&&new u(c,
|
||||
b.isPlainObject(a)?a:{}))});return u});
|
||||
|
||||
|
||||
/*!
|
||||
Bootstrap 4 integration for DataTables' Responsive
|
||||
©2016 SpryMedia Ltd - datatables.net/license
|
||||
Bootstrap 5 integration for DataTables' Responsive
|
||||
©2021 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var e=a.length,d=0;d<e;d++){var f=a[d];if(b.call(c,f,d,a))return{i:d,v:f}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;
|
||||
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};$jscomp.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
|
||||
@ -272,7 +272,7 @@ $jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x
|
||||
$jscomp.polyfill=function(a,b,c,e){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(a,b,c,e):$jscomp.polyfillUnisolated(a,b,c,e))};$jscomp.polyfillUnisolated=function(a,b,c,e){c=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var d=a[e];if(!(d in c))return;c=c[d]}a=a[a.length-1];e=c[a];b=b(e);b!=e&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})};
|
||||
$jscomp.polyfillIsolated=function(a,b,c,e){var d=a.split(".");a=1===d.length;e=d[0];e=!a&&e in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var f=0;f<d.length-1;f++){var g=d[f];if(!(g in e))return;e=e[g]}d=d[d.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&"es6"===c?e[d]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,d,{configurable:!0,writable:!0,value:b}):b!==c&&($jscomp.propertyToPolyfillSymbol[d]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(d):$jscomp.POLYFILL_PREFIX+d,d=
|
||||
$jscomp.propertyToPolyfillSymbol[d],$jscomp.defineProperty(e,d,{configurable:!0,writable:!0,value:b})))};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(b,c){return $jscomp.findInternal(this,b,c).v}},"es6","es3");
|
||||
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-responsive"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);c&&c.fn.dataTable||(c=require("datatables.net-bs4")(b,c).$);c.fn.dataTable.Responsive||require("datatables.net-responsive")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a,b,c,e){b=a.fn.dataTable;c=b.Responsive.display;var d=c.modal,f=a('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="modal-body"/></div></div></div>');
|
||||
c.modal=function(g){return function(k,h,l){if(!a.fn.modal)d(k,h,l);else if(!h){if(g&&g.header){h=f.find("div.modal-header");var m=h.find("button").detach();h.empty().append('<h4 class="modal-title">'+g.header(k)+"</h4>").append(m)}f.find("div.modal-body").empty().append(l());f.appendTo("body").modal()}}};return b.Responsive});
|
||||
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-responsive"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);c&&c.fn.dataTable||(c=require("datatables.net-bs5")(b,c).$);c.fn.dataTable.Responsive||require("datatables.net-responsive")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a,b,c,e){b=a.fn.dataTable;c=b.Responsive.display;var d=c.modal,f=a('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body"/></div></div></div>'),
|
||||
g;a(function(){g=new bootstrap.Modal(f[0])});c.modal=function(k){return function(l,h,m){if(!a.fn.modal)d(l,h,m);else if(!h){if(k&&k.header){h=f.find("div.modal-header");var n=h.find("button").detach();h.empty().append('<h4 class="modal-title">'+k.header(l)+"</h4>").append(n)}f.find("div.modal-body").empty().append(m());f.appendTo("body").modal();g.show()}}};return b.Responsive});
|
||||
|
||||
|
||||
|
9
Plan/src/main/resources/assets/plan/plan/web/vendor/masonry/masonry.pkgd.min.js
vendored
Normal file
9
Plan/src/main/resources/assets/plan/plan/web/vendor/masonry/masonry.pkgd.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user