delete unused libs
This commit is contained in:
@ -4,35 +4,26 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<title>WasteInformation Server</title>
|
<title>WasteInformation Server</title>
|
||||||
|
|
||||||
|
|
||||||
<!-- Tell the browser to be responsive to screen width -->
|
<!-- Tell the browser to be responsive to screen width -->
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<!-- Font Awesome -->
|
<!-- Font Awesome -->
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/fontawesome-free/css/all.min.css">
|
<link rel="stylesheet" href="lib/AdminLTE/plugins/fontawesome-free/css/all.min.css">
|
||||||
<!-- Ionicons -->
|
<!-- Ionicons -->
|
||||||
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
<!-- DataTables -->
|
<!-- DataTables -->
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/datatables-bs4/css/dataTables.bootstrap4.css">
|
<link rel="stylesheet" href="lib/AdminLTE/plugins/datatables-bs4/css/dataTables.bootstrap4.css">
|
||||||
<!-- Tempusdominus Bbootstrap 4 -->
|
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css">
|
<!-- !Theme style -->
|
||||||
<!-- iCheck -->
|
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/icheck-bootstrap/icheck-bootstrap.min.css">
|
|
||||||
<!-- JQVMap -->
|
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/jqvmap/jqvmap.min.css">
|
|
||||||
<!-- Theme style -->
|
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/dist/css/adminlte.min.css">
|
<link rel="stylesheet" href="lib/AdminLTE/dist/css/adminlte.min.css">
|
||||||
<!-- overlayScrollbars -->
|
<!-- !overlayScrollbars -->
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
|
<link rel="stylesheet" href="lib/AdminLTE/plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
|
||||||
<!-- Daterange picker -->
|
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/daterangepicker/daterangepicker.css">
|
|
||||||
<!-- summernote -->
|
|
||||||
<link rel="stylesheet" href="lib/AdminLTE/plugins/summernote/summernote-bs4.css">
|
|
||||||
<!-- Google Font: Source Sans Pro -->
|
<!-- Google Font: Source Sans Pro -->
|
||||||
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
|
||||||
|
|
||||||
<!-- Bootstrap Date-Picker Plugin -->
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/>
|
||||||
|
|
||||||
<link rel="stylesheet"
|
|
||||||
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/>
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/dashboard.css">
|
<link rel="stylesheet" type="text/css" href="css/dashboard.css">
|
||||||
<link rel="stylesheet" type="text/css" href="css/general.css">
|
<link rel="stylesheet" type="text/css" href="css/general.css">
|
||||||
@ -444,36 +435,14 @@
|
|||||||
</script>
|
</script>
|
||||||
<!-- Bootstrap 4 -->
|
<!-- Bootstrap 4 -->
|
||||||
<script src="lib/AdminLTE/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
|
<script src="lib/AdminLTE/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||||
<!-- ChartJS -->
|
|
||||||
<script src="lib/AdminLTE/plugins/chart.js/Chart.min.js"></script>
|
|
||||||
<!-- Sparkline -->
|
|
||||||
<script src="lib/AdminLTE/plugins/sparklines/sparkline.js"></script>
|
|
||||||
<!-- JQVMap -->
|
|
||||||
<script src="lib/AdminLTE/plugins/jqvmap/jquery.vmap.min.js"></script>
|
|
||||||
<script src="lib/AdminLTE/plugins/jqvmap/maps/jquery.vmap.usa.js"></script>
|
|
||||||
<!-- jQuery Knob Chart -->
|
|
||||||
<script src="lib/AdminLTE/plugins/jquery-knob/jquery.knob.min.js"></script>
|
|
||||||
<!-- daterangepicker -->
|
|
||||||
<script src="lib/AdminLTE/plugins/moment/moment.min.js"></script>
|
|
||||||
<script src="lib/AdminLTE/plugins/daterangepicker/daterangepicker.js"></script>
|
|
||||||
<!-- Tempusdominus Bootstrap 4 -->
|
|
||||||
<script src="lib/AdminLTE/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
|
|
||||||
<!-- Summernote -->
|
|
||||||
<script src="lib/AdminLTE/plugins/summernote/summernote-bs4.min.js"></script>
|
|
||||||
<!-- overlayScrollbars -->
|
|
||||||
<script src="lib/AdminLTE/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
|
|
||||||
<!-- AdminLTE App -->
|
<!-- AdminLTE App -->
|
||||||
<script src="lib/AdminLTE/dist/js/adminlte.js"></script>
|
<script src="lib/AdminLTE/dist/js/adminlte.js"></script>
|
||||||
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
|
|
||||||
<script src="lib/AdminLTE/dist/js/pages/dashboard.js"></script>
|
|
||||||
<!-- AdminLTE for demo purposes -->
|
<!-- AdminLTE for demo purposes -->
|
||||||
<script src="lib/AdminLTE/dist/js/demo.js"></script>
|
<script src="lib/AdminLTE/dist/js/demo.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript"
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
|
||||||
src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
|
|
||||||
|
|
||||||
<!-- DataTables -->
|
<!-- DataTables -->
|
||||||
<script src="lib/AdminLTE/plugins/datatables/jquery.dataTables.js"></script>
|
|
||||||
<script src="lib/AdminLTE/plugins/datatables-bs4/js/dataTables.bootstrap4.js"></script>
|
<script src="lib/AdminLTE/plugins/datatables-bs4/js/dataTables.bootstrap4.js"></script>
|
||||||
|
|
||||||
<script src="lib/AdminLTE/plugins/sweetalert2/sweetalert2.all.js"></script>
|
<script src="lib/AdminLTE/plugins/sweetalert2/sweetalert2.all.js"></script>
|
||||||
|
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 one or more lines are too long
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
File diff suppressed because one or more lines are too long
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,444 +0,0 @@
|
|||||||
/*!
|
|
||||||
* AdminLTE v3.0.0
|
|
||||||
* Only Pages
|
|
||||||
* Author: Colorlib
|
|
||||||
* Website: AdminLTE.io <http://adminlte.io>
|
|
||||||
* License: Open source - MIT <http://opensource.org/licenses/MIT>
|
|
||||||
*/
|
|
||||||
.close, .mailbox-attachment-close {
|
|
||||||
float: right;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 1;
|
|
||||||
color: #000;
|
|
||||||
text-shadow: 0 1px 0 #ffffff;
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close:hover, .mailbox-attachment-close:hover {
|
|
||||||
color: #000;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close:not(:disabled):not(.disabled):hover, .mailbox-attachment-close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus, .mailbox-attachment-close:not(:disabled):not(.disabled):focus {
|
|
||||||
opacity: .75;
|
|
||||||
}
|
|
||||||
|
|
||||||
button.close, button.mailbox-attachment-close {
|
|
||||||
padding: 0;
|
|
||||||
background-color: transparent;
|
|
||||||
border: 0;
|
|
||||||
appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.close.disabled, a.disabled.mailbox-attachment-close {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-messages > .table {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-controls {
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-controls.with-border {
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-read-info {
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-read-info h3 {
|
|
||||||
font-size: 20px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-read-info h5 {
|
|
||||||
margin: 0;
|
|
||||||
padding: 5px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-read-time {
|
|
||||||
color: #999;
|
|
||||||
font-size: 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-read-message {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachments {
|
|
||||||
padding-left: 0;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachments li {
|
|
||||||
border: 1px solid #eee;
|
|
||||||
float: left;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-name {
|
|
||||||
color: #666;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-icon,
|
|
||||||
.mailbox-attachment-info,
|
|
||||||
.mailbox-attachment-size {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-info {
|
|
||||||
background: #f8f9fa;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-size {
|
|
||||||
color: #999;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-size > span {
|
|
||||||
display: inline-block;
|
|
||||||
padding-top: 0.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-icon {
|
|
||||||
color: #666;
|
|
||||||
font-size: 65px;
|
|
||||||
max-height: 132.5px;
|
|
||||||
padding: 20px 10px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-icon.has-img {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mailbox-attachment-icon.has-img > img {
|
|
||||||
height: auto;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen {
|
|
||||||
background: #e9ecef;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen .lockscreen-name {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-logo {
|
|
||||||
font-size: 35px;
|
|
||||||
font-weight: 300;
|
|
||||||
margin-bottom: 25px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-logo a {
|
|
||||||
color: #495057;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-wrapper {
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-top: 10%;
|
|
||||||
max-width: 400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-item {
|
|
||||||
border-radius: 4px;
|
|
||||||
background: #ffffff;
|
|
||||||
margin: 10px auto 30px;
|
|
||||||
padding: 0;
|
|
||||||
position: relative;
|
|
||||||
width: 290px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-image {
|
|
||||||
border-radius: 50%;
|
|
||||||
background: #ffffff;
|
|
||||||
left: -10px;
|
|
||||||
padding: 5px;
|
|
||||||
position: absolute;
|
|
||||||
top: -25px;
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-image > img {
|
|
||||||
border-radius: 50%;
|
|
||||||
height: 70px;
|
|
||||||
width: 70px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-credentials {
|
|
||||||
margin-left: 70px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-credentials .form-control {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-credentials .btn {
|
|
||||||
background-color: #ffffff;
|
|
||||||
border: 0;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lockscreen-footer {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-logo,
|
|
||||||
.register-logo {
|
|
||||||
font-size: 2.1rem;
|
|
||||||
font-weight: 300;
|
|
||||||
margin-bottom: .9rem;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-logo a,
|
|
||||||
.register-logo a {
|
|
||||||
color: #495057;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-page,
|
|
||||||
.register-page {
|
|
||||||
align-items: center;
|
|
||||||
background: #e9ecef;
|
|
||||||
display: flex;
|
|
||||||
height: 100vh;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-box,
|
|
||||||
.register-box {
|
|
||||||
width: 360px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 576px) {
|
|
||||||
.login-box,
|
|
||||||
.register-box {
|
|
||||||
margin-top: 20px;
|
|
||||||
width: 90%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body,
|
|
||||||
.register-card-body {
|
|
||||||
background: #ffffff;
|
|
||||||
border-top: 0;
|
|
||||||
color: #666;
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control,
|
|
||||||
.register-card-body .input-group .form-control {
|
|
||||||
border-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control:focus,
|
|
||||||
.register-card-body .input-group .form-control:focus {
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control:focus ~ .input-group-append .input-group-text,
|
|
||||||
.register-card-body .input-group .form-control:focus ~ .input-group-append .input-group-text {
|
|
||||||
border-color: #80bdff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control.is-valid:focus,
|
|
||||||
.register-card-body .input-group .form-control.is-valid:focus {
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control.is-valid ~ .input-group-append .input-group-text,
|
|
||||||
.register-card-body .input-group .form-control.is-valid ~ .input-group-append .input-group-text {
|
|
||||||
border-color: #28a745;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control.is-invalid:focus,
|
|
||||||
.register-card-body .input-group .form-control.is-invalid:focus {
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .form-control.is-invalid ~ .input-group-append .input-group-text,
|
|
||||||
.register-card-body .input-group .form-control.is-invalid ~ .input-group-append .input-group-text {
|
|
||||||
border-color: #dc3545;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-card-body .input-group .input-group-text,
|
|
||||||
.register-card-body .input-group .input-group-text {
|
|
||||||
background-color: transparent;
|
|
||||||
border-bottom-right-radius: 0.25rem;
|
|
||||||
border-left: 0;
|
|
||||||
border-top-right-radius: 0.25rem;
|
|
||||||
color: #777;
|
|
||||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-box-msg,
|
|
||||||
.register-box-msg {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0 20px 20px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-auth-links {
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.error-page {
|
|
||||||
margin: 20px auto 0;
|
|
||||||
width: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
|
||||||
.error-page {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.error-page > .headline {
|
|
||||||
float: left;
|
|
||||||
font-size: 100px;
|
|
||||||
font-weight: 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
|
||||||
.error-page > .headline {
|
|
||||||
float: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.error-page > .error-content {
|
|
||||||
display: block;
|
|
||||||
margin-left: 190px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
|
||||||
.error-page > .error-content {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.error-page > .error-content > h3 {
|
|
||||||
font-size: 25px;
|
|
||||||
font-weight: 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
|
||||||
.error-page > .error-content > h3 {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.invoice {
|
|
||||||
background: #ffffff;
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.invoice-title {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.profile-user-img {
|
|
||||||
border: 3px solid #adb5bd;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 3px;
|
|
||||||
width: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.profile-username {
|
|
||||||
font-size: 21px;
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post {
|
|
||||||
border-bottom: 1px solid #adb5bd;
|
|
||||||
color: #666;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post:last-of-type {
|
|
||||||
border-bottom: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post .user-block {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post .row {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.product-image {
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.product-image-thumbs {
|
|
||||||
align-items: stretch;
|
|
||||||
display: flex;
|
|
||||||
margin-top: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.product-image-thumb {
|
|
||||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
|
||||||
border-radius: 0.25rem;
|
|
||||||
background-color: #ffffff;
|
|
||||||
border: 1px solid #dee2e6;
|
|
||||||
display: flex;
|
|
||||||
margin-right: 1rem;
|
|
||||||
max-width: 7rem;
|
|
||||||
padding: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.product-image-thumb img {
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
align-self: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.product-image-thumb:hover {
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.product-share a {
|
|
||||||
margin-right: .5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.projects td {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.projects .list-inline {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.projects img.table-avatar,
|
|
||||||
.projects .table-avatar img {
|
|
||||||
border-radius: 50%;
|
|
||||||
display: inline;
|
|
||||||
width: 2.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.projects .project-state {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*# sourceMappingURL=adminlte.pages.css.map */
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 10 KiB |
@ -1,264 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Abdullah A Almsaeed
|
|
||||||
* Date: 4 Jan 2014
|
|
||||||
* Description:
|
|
||||||
* This is a demo file used only for the main dashboard (index.html)
|
|
||||||
**/
|
|
||||||
|
|
||||||
$(function () {
|
|
||||||
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
// Make the dashboard widgets sortable Using jquery UI
|
|
||||||
$('.connectedSortable').sortable({
|
|
||||||
placeholder : 'sort-highlight',
|
|
||||||
connectWith : '.connectedSortable',
|
|
||||||
handle : '.card-header, .nav-tabs',
|
|
||||||
forcePlaceholderSize: true,
|
|
||||||
zIndex : 999999
|
|
||||||
})
|
|
||||||
$('.connectedSortable .card-header, .connectedSortable .nav-tabs-custom').css('cursor', 'move')
|
|
||||||
|
|
||||||
// jQuery UI sortable for the todo list
|
|
||||||
$('.todo-list').sortable({
|
|
||||||
placeholder : 'sort-highlight',
|
|
||||||
handle : '.handle',
|
|
||||||
forcePlaceholderSize: true,
|
|
||||||
zIndex : 999999
|
|
||||||
})
|
|
||||||
|
|
||||||
// bootstrap WYSIHTML5 - text editor
|
|
||||||
$('.textarea').summernote()
|
|
||||||
|
|
||||||
$('.daterange').daterangepicker({
|
|
||||||
ranges : {
|
|
||||||
'Today' : [moment(), moment()],
|
|
||||||
'Yesterday' : [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
|
||||||
'Last 7 Days' : [moment().subtract(6, 'days'), moment()],
|
|
||||||
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
|
||||||
'This Month' : [moment().startOf('month'), moment().endOf('month')],
|
|
||||||
'Last Month' : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
|
||||||
},
|
|
||||||
startDate: moment().subtract(29, 'days'),
|
|
||||||
endDate : moment()
|
|
||||||
}, function (start, end) {
|
|
||||||
window.alert('You chose: ' + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'))
|
|
||||||
})
|
|
||||||
|
|
||||||
/* jQueryKnob */
|
|
||||||
$('.knob').knob()
|
|
||||||
|
|
||||||
// jvectormap data
|
|
||||||
var visitorsData = {
|
|
||||||
'US': 398, //USA
|
|
||||||
'SA': 400, //Saudi Arabia
|
|
||||||
'CA': 1000, //Canada
|
|
||||||
'DE': 500, //Germany
|
|
||||||
'FR': 760, //France
|
|
||||||
'CN': 300, //China
|
|
||||||
'AU': 700, //Australia
|
|
||||||
'BR': 600, //Brazil
|
|
||||||
'IN': 800, //India
|
|
||||||
'GB': 320, //Great Britain
|
|
||||||
'RU': 3000 //Russia
|
|
||||||
}
|
|
||||||
// World map by jvectormap
|
|
||||||
$('#world-map').vectorMap({
|
|
||||||
map : 'usa_en',
|
|
||||||
backgroundColor : 'transparent',
|
|
||||||
regionStyle : {
|
|
||||||
initial: {
|
|
||||||
fill : 'rgba(255, 255, 255, 0.7)',
|
|
||||||
'fill-opacity' : 1,
|
|
||||||
stroke : 'rgba(0,0,0,.2)',
|
|
||||||
'stroke-width' : 1,
|
|
||||||
'stroke-opacity': 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
series : {
|
|
||||||
regions: [{
|
|
||||||
values : visitorsData,
|
|
||||||
scale : ['#ffffff', '#0154ad'],
|
|
||||||
normalizeFunction: 'polynomial'
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
onRegionLabelShow: function (e, el, code) {
|
|
||||||
if (typeof visitorsData[code] != 'undefined')
|
|
||||||
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Sparkline charts
|
|
||||||
var sparkline1 = new Sparkline($("#sparkline-1")[0], {width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9'});
|
|
||||||
var sparkline2 = new Sparkline($("#sparkline-2")[0], {width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9'});
|
|
||||||
var sparkline3 = new Sparkline($("#sparkline-3")[0], {width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9'});
|
|
||||||
|
|
||||||
sparkline1.draw([1000, 1200, 920, 927, 931, 1027, 819, 930, 1021]);
|
|
||||||
sparkline2.draw([515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921]);
|
|
||||||
sparkline3.draw([15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21]);
|
|
||||||
|
|
||||||
// The Calender
|
|
||||||
$('#calendar').datetimepicker({
|
|
||||||
format: 'L',
|
|
||||||
inline: true
|
|
||||||
})
|
|
||||||
|
|
||||||
// SLIMSCROLL FOR CHAT WIDGET
|
|
||||||
$('#chat-box').overlayScrollbars({
|
|
||||||
height: '250px'
|
|
||||||
})
|
|
||||||
|
|
||||||
/* Chart.js Charts */
|
|
||||||
// Sales chart
|
|
||||||
var salesChartCanvas = document.getElementById('revenue-chart-canvas').getContext('2d');
|
|
||||||
//$('#revenue-chart').get(0).getContext('2d');
|
|
||||||
|
|
||||||
var salesChartData = {
|
|
||||||
labels : ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
label : 'Digital Goods',
|
|
||||||
backgroundColor : 'rgba(60,141,188,0.9)',
|
|
||||||
borderColor : 'rgba(60,141,188,0.8)',
|
|
||||||
pointRadius : false,
|
|
||||||
pointColor : '#3b8bba',
|
|
||||||
pointStrokeColor : 'rgba(60,141,188,1)',
|
|
||||||
pointHighlightFill : '#fff',
|
|
||||||
pointHighlightStroke: 'rgba(60,141,188,1)',
|
|
||||||
data : [28, 48, 40, 19, 86, 27, 90]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label : 'Electronics',
|
|
||||||
backgroundColor : 'rgba(210, 214, 222, 1)',
|
|
||||||
borderColor : 'rgba(210, 214, 222, 1)',
|
|
||||||
pointRadius : false,
|
|
||||||
pointColor : 'rgba(210, 214, 222, 1)',
|
|
||||||
pointStrokeColor : '#c1c7d1',
|
|
||||||
pointHighlightFill : '#fff',
|
|
||||||
pointHighlightStroke: 'rgba(220,220,220,1)',
|
|
||||||
data : [65, 59, 80, 81, 56, 55, 40]
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
var salesChartOptions = {
|
|
||||||
maintainAspectRatio : false,
|
|
||||||
responsive : true,
|
|
||||||
legend: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
scales: {
|
|
||||||
xAxes: [{
|
|
||||||
gridLines : {
|
|
||||||
display : false,
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
yAxes: [{
|
|
||||||
gridLines : {
|
|
||||||
display : false,
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This will get the first returned node in the jQuery collection.
|
|
||||||
var salesChart = new Chart(salesChartCanvas, {
|
|
||||||
type: 'line',
|
|
||||||
data: salesChartData,
|
|
||||||
options: salesChartOptions
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// Donut Chart
|
|
||||||
var pieChartCanvas = $('#sales-chart-canvas').get(0).getContext('2d')
|
|
||||||
var pieData = {
|
|
||||||
labels: [
|
|
||||||
'Instore Sales',
|
|
||||||
'Download Sales',
|
|
||||||
'Mail-Order Sales',
|
|
||||||
],
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
data: [30,12,20],
|
|
||||||
backgroundColor : ['#f56954', '#00a65a', '#f39c12'],
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
var pieOptions = {
|
|
||||||
legend: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
maintainAspectRatio : false,
|
|
||||||
responsive : true,
|
|
||||||
}
|
|
||||||
//Create pie or douhnut chart
|
|
||||||
// You can switch between pie and douhnut using the method below.
|
|
||||||
var pieChart = new Chart(pieChartCanvas, {
|
|
||||||
type: 'doughnut',
|
|
||||||
data: pieData,
|
|
||||||
options: pieOptions
|
|
||||||
});
|
|
||||||
|
|
||||||
// Sales graph chart
|
|
||||||
var salesGraphChartCanvas = $('#line-chart').get(0).getContext('2d');
|
|
||||||
//$('#revenue-chart').get(0).getContext('2d');
|
|
||||||
|
|
||||||
var salesGraphChartData = {
|
|
||||||
labels : ['2011 Q1', '2011 Q2', '2011 Q3', '2011 Q4', '2012 Q1', '2012 Q2', '2012 Q3', '2012 Q4', '2013 Q1', '2013 Q2'],
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
label : 'Digital Goods',
|
|
||||||
fill : false,
|
|
||||||
borderWidth : 2,
|
|
||||||
lineTension : 0,
|
|
||||||
spanGaps : true,
|
|
||||||
borderColor : '#efefef',
|
|
||||||
pointRadius : 3,
|
|
||||||
pointHoverRadius : 7,
|
|
||||||
pointColor : '#efefef',
|
|
||||||
pointBackgroundColor: '#efefef',
|
|
||||||
data : [2666, 2778, 4912, 3767, 6810, 5670, 4820, 15073, 10687, 8432]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
var salesGraphChartOptions = {
|
|
||||||
maintainAspectRatio : false,
|
|
||||||
responsive : true,
|
|
||||||
legend: {
|
|
||||||
display: false,
|
|
||||||
},
|
|
||||||
scales: {
|
|
||||||
xAxes: [{
|
|
||||||
ticks : {
|
|
||||||
fontColor: '#efefef',
|
|
||||||
},
|
|
||||||
gridLines : {
|
|
||||||
display : false,
|
|
||||||
color: '#efefef',
|
|
||||||
drawBorder: false,
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
yAxes: [{
|
|
||||||
ticks : {
|
|
||||||
stepSize: 5000,
|
|
||||||
fontColor: '#efefef',
|
|
||||||
},
|
|
||||||
gridLines : {
|
|
||||||
display : true,
|
|
||||||
color: '#efefef',
|
|
||||||
drawBorder: false,
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This will get the first returned node in the jQuery collection.
|
|
||||||
var salesGraphChart = new Chart(salesGraphChartCanvas, {
|
|
||||||
type: 'line',
|
|
||||||
data: salesGraphChartData,
|
|
||||||
options: salesGraphChartOptions
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
})
|
|
@ -1,267 +0,0 @@
|
|||||||
$(function () {
|
|
||||||
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
/* ChartJS
|
|
||||||
* -------
|
|
||||||
* Here we will create a few charts using ChartJS
|
|
||||||
*/
|
|
||||||
|
|
||||||
//-----------------------
|
|
||||||
//- MONTHLY SALES CHART -
|
|
||||||
//-----------------------
|
|
||||||
|
|
||||||
// Get context with jQuery - using jQuery's .get() method.
|
|
||||||
var salesChartCanvas = $('#salesChart').get(0).getContext('2d')
|
|
||||||
|
|
||||||
var salesChartData = {
|
|
||||||
labels : ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
label : 'Digital Goods',
|
|
||||||
backgroundColor : 'rgba(60,141,188,0.9)',
|
|
||||||
borderColor : 'rgba(60,141,188,0.8)',
|
|
||||||
pointRadius : false,
|
|
||||||
pointColor : '#3b8bba',
|
|
||||||
pointStrokeColor : 'rgba(60,141,188,1)',
|
|
||||||
pointHighlightFill : '#fff',
|
|
||||||
pointHighlightStroke: 'rgba(60,141,188,1)',
|
|
||||||
data : [28, 48, 40, 19, 86, 27, 90]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label : 'Electronics',
|
|
||||||
backgroundColor : 'rgba(210, 214, 222, 1)',
|
|
||||||
borderColor : 'rgba(210, 214, 222, 1)',
|
|
||||||
pointRadius : false,
|
|
||||||
pointColor : 'rgba(210, 214, 222, 1)',
|
|
||||||
pointStrokeColor : '#c1c7d1',
|
|
||||||
pointHighlightFill : '#fff',
|
|
||||||
pointHighlightStroke: 'rgba(220,220,220,1)',
|
|
||||||
data : [65, 59, 80, 81, 56, 55, 40]
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
var salesChartOptions = {
|
|
||||||
maintainAspectRatio : false,
|
|
||||||
responsive : true,
|
|
||||||
legend: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
scales: {
|
|
||||||
xAxes: [{
|
|
||||||
gridLines : {
|
|
||||||
display : false,
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
yAxes: [{
|
|
||||||
gridLines : {
|
|
||||||
display : false,
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This will get the first returned node in the jQuery collection.
|
|
||||||
var salesChart = new Chart(salesChartCanvas, {
|
|
||||||
type: 'line',
|
|
||||||
data: salesChartData,
|
|
||||||
options: salesChartOptions
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
//---------------------------
|
|
||||||
//- END MONTHLY SALES CHART -
|
|
||||||
//---------------------------
|
|
||||||
|
|
||||||
//-------------
|
|
||||||
//- PIE CHART -
|
|
||||||
//-------------
|
|
||||||
// Get context with jQuery - using jQuery's .get() method.
|
|
||||||
var pieChartCanvas = $('#pieChart').get(0).getContext('2d')
|
|
||||||
var pieData = {
|
|
||||||
labels: [
|
|
||||||
'Chrome',
|
|
||||||
'IE',
|
|
||||||
'FireFox',
|
|
||||||
'Safari',
|
|
||||||
'Opera',
|
|
||||||
'Navigator',
|
|
||||||
],
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
data: [700,500,400,600,300,100],
|
|
||||||
backgroundColor : ['#f56954', '#00a65a', '#f39c12', '#00c0ef', '#3c8dbc', '#d2d6de'],
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
var pieOptions = {
|
|
||||||
legend: {
|
|
||||||
display: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//Create pie or douhnut chart
|
|
||||||
// You can switch between pie and douhnut using the method below.
|
|
||||||
var pieChart = new Chart(pieChartCanvas, {
|
|
||||||
type: 'doughnut',
|
|
||||||
data: pieData,
|
|
||||||
options: pieOptions
|
|
||||||
})
|
|
||||||
|
|
||||||
//-----------------
|
|
||||||
//- END PIE CHART -
|
|
||||||
//-----------------
|
|
||||||
|
|
||||||
/* jVector Maps
|
|
||||||
* ------------
|
|
||||||
* Create a world map with markers
|
|
||||||
*/
|
|
||||||
$('#world-map-markers').mapael({
|
|
||||||
map: {
|
|
||||||
name : "usa_states",
|
|
||||||
zoom: {
|
|
||||||
enabled: true,
|
|
||||||
maxLevel: 10
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// $('#world-map-markers').vectorMap({
|
|
||||||
// map : 'world_en',
|
|
||||||
// normalizeFunction: 'polynomial',
|
|
||||||
// hoverOpacity : 0.7,
|
|
||||||
// hoverColor : false,
|
|
||||||
// backgroundColor : 'transparent',
|
|
||||||
// regionStyle : {
|
|
||||||
// initial : {
|
|
||||||
// fill : 'rgba(210, 214, 222, 1)',
|
|
||||||
// 'fill-opacity' : 1,
|
|
||||||
// stroke : 'none',
|
|
||||||
// 'stroke-width' : 0,
|
|
||||||
// 'stroke-opacity': 1
|
|
||||||
// },
|
|
||||||
// hover : {
|
|
||||||
// 'fill-opacity': 0.7,
|
|
||||||
// cursor : 'pointer'
|
|
||||||
// },
|
|
||||||
// selected : {
|
|
||||||
// fill: 'yellow'
|
|
||||||
// },
|
|
||||||
// selectedHover: {}
|
|
||||||
// },
|
|
||||||
// markerStyle : {
|
|
||||||
// initial: {
|
|
||||||
// fill : '#00a65a',
|
|
||||||
// stroke: '#111'
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// markers : [
|
|
||||||
// {
|
|
||||||
// latLng: [41.90, 12.45],
|
|
||||||
// name : 'Vatican City'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [43.73, 7.41],
|
|
||||||
// name : 'Monaco'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [-0.52, 166.93],
|
|
||||||
// name : 'Nauru'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [-8.51, 179.21],
|
|
||||||
// name : 'Tuvalu'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [43.93, 12.46],
|
|
||||||
// name : 'San Marino'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [47.14, 9.52],
|
|
||||||
// name : 'Liechtenstein'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [7.11, 171.06],
|
|
||||||
// name : 'Marshall Islands'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [17.3, -62.73],
|
|
||||||
// name : 'Saint Kitts and Nevis'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [3.2, 73.22],
|
|
||||||
// name : 'Maldives'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [35.88, 14.5],
|
|
||||||
// name : 'Malta'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [12.05, -61.75],
|
|
||||||
// name : 'Grenada'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [13.16, -61.23],
|
|
||||||
// name : 'Saint Vincent and the Grenadines'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [13.16, -59.55],
|
|
||||||
// name : 'Barbados'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [17.11, -61.85],
|
|
||||||
// name : 'Antigua and Barbuda'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [-4.61, 55.45],
|
|
||||||
// name : 'Seychelles'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [7.35, 134.46],
|
|
||||||
// name : 'Palau'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [42.5, 1.51],
|
|
||||||
// name : 'Andorra'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [14.01, -60.98],
|
|
||||||
// name : 'Saint Lucia'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [6.91, 158.18],
|
|
||||||
// name : 'Federated States of Micronesia'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [1.3, 103.8],
|
|
||||||
// name : 'Singapore'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [1.46, 173.03],
|
|
||||||
// name : 'Kiribati'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [-21.13, -175.2],
|
|
||||||
// name : 'Tonga'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [15.3, -61.38],
|
|
||||||
// name : 'Dominica'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [-20.2, 57.5],
|
|
||||||
// name : 'Mauritius'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [26.02, 50.55],
|
|
||||||
// name : 'Bahrain'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// latLng: [0.33, 6.73],
|
|
||||||
// name : 'São Tomé and Príncipe'
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// })
|
|
||||||
|
|
||||||
})
|
|
@ -1,140 +0,0 @@
|
|||||||
$(function () {
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
var ticksStyle = {
|
|
||||||
fontColor: '#495057',
|
|
||||||
fontStyle: 'bold'
|
|
||||||
}
|
|
||||||
|
|
||||||
var mode = 'index'
|
|
||||||
var intersect = true
|
|
||||||
|
|
||||||
var $salesChart = $('#sales-chart')
|
|
||||||
var salesChart = new Chart($salesChart, {
|
|
||||||
type : 'bar',
|
|
||||||
data : {
|
|
||||||
labels : ['JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'],
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
backgroundColor: '#007bff',
|
|
||||||
borderColor : '#007bff',
|
|
||||||
data : [1000, 2000, 3000, 2500, 2700, 2500, 3000]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
backgroundColor: '#ced4da',
|
|
||||||
borderColor : '#ced4da',
|
|
||||||
data : [700, 1700, 2700, 2000, 1800, 1500, 2000]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
options: {
|
|
||||||
maintainAspectRatio: false,
|
|
||||||
tooltips : {
|
|
||||||
mode : mode,
|
|
||||||
intersect: intersect
|
|
||||||
},
|
|
||||||
hover : {
|
|
||||||
mode : mode,
|
|
||||||
intersect: intersect
|
|
||||||
},
|
|
||||||
legend : {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
scales : {
|
|
||||||
yAxes: [{
|
|
||||||
// display: false,
|
|
||||||
gridLines: {
|
|
||||||
display : true,
|
|
||||||
lineWidth : '4px',
|
|
||||||
color : 'rgba(0, 0, 0, .2)',
|
|
||||||
zeroLineColor: 'transparent'
|
|
||||||
},
|
|
||||||
ticks : $.extend({
|
|
||||||
beginAtZero: true,
|
|
||||||
|
|
||||||
// Include a dollar sign in the ticks
|
|
||||||
callback: function (value, index, values) {
|
|
||||||
if (value >= 1000) {
|
|
||||||
value /= 1000
|
|
||||||
value += 'k'
|
|
||||||
}
|
|
||||||
return '$' + value
|
|
||||||
}
|
|
||||||
}, ticksStyle)
|
|
||||||
}],
|
|
||||||
xAxes: [{
|
|
||||||
display : true,
|
|
||||||
gridLines: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
ticks : ticksStyle
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
var $visitorsChart = $('#visitors-chart')
|
|
||||||
var visitorsChart = new Chart($visitorsChart, {
|
|
||||||
data : {
|
|
||||||
labels : ['18th', '20th', '22nd', '24th', '26th', '28th', '30th'],
|
|
||||||
datasets: [{
|
|
||||||
type : 'line',
|
|
||||||
data : [100, 120, 170, 167, 180, 177, 160],
|
|
||||||
backgroundColor : 'transparent',
|
|
||||||
borderColor : '#007bff',
|
|
||||||
pointBorderColor : '#007bff',
|
|
||||||
pointBackgroundColor: '#007bff',
|
|
||||||
fill : false
|
|
||||||
// pointHoverBackgroundColor: '#007bff',
|
|
||||||
// pointHoverBorderColor : '#007bff'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type : 'line',
|
|
||||||
data : [60, 80, 70, 67, 80, 77, 100],
|
|
||||||
backgroundColor : 'tansparent',
|
|
||||||
borderColor : '#ced4da',
|
|
||||||
pointBorderColor : '#ced4da',
|
|
||||||
pointBackgroundColor: '#ced4da',
|
|
||||||
fill : false
|
|
||||||
// pointHoverBackgroundColor: '#ced4da',
|
|
||||||
// pointHoverBorderColor : '#ced4da'
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
options: {
|
|
||||||
maintainAspectRatio: false,
|
|
||||||
tooltips : {
|
|
||||||
mode : mode,
|
|
||||||
intersect: intersect
|
|
||||||
},
|
|
||||||
hover : {
|
|
||||||
mode : mode,
|
|
||||||
intersect: intersect
|
|
||||||
},
|
|
||||||
legend : {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
scales : {
|
|
||||||
yAxes: [{
|
|
||||||
// display: false,
|
|
||||||
gridLines: {
|
|
||||||
display : true,
|
|
||||||
lineWidth : '4px',
|
|
||||||
color : 'rgba(0, 0, 0, .2)',
|
|
||||||
zeroLineColor: 'transparent'
|
|
||||||
},
|
|
||||||
ticks : $.extend({
|
|
||||||
beginAtZero : true,
|
|
||||||
suggestedMax: 200
|
|
||||||
}, ticksStyle)
|
|
||||||
}],
|
|
||||||
xAxes: [{
|
|
||||||
display : true,
|
|
||||||
gridLines: {
|
|
||||||
display: false
|
|
||||||
},
|
|
||||||
ticks : ticksStyle
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!/plugins/flot-old/
|
|
@ -1,399 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4.
|
|
||||||
* @package bootstrap-colorpicker
|
|
||||||
* @version v3.1.2
|
|
||||||
* @license MIT
|
|
||||||
* @link https://farbelous.github.io/bootstrap-colorpicker/
|
|
||||||
* @link https://github.com/farbelous/bootstrap-colorpicker.git
|
|
||||||
*/
|
|
||||||
.colorpicker {
|
|
||||||
position: relative;
|
|
||||||
display: none;
|
|
||||||
font-size: inherit;
|
|
||||||
color: inherit;
|
|
||||||
text-align: left;
|
|
||||||
list-style: none;
|
|
||||||
background-color: #ffffff;
|
|
||||||
background-clip: padding-box;
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
|
||||||
padding: .75rem .75rem;
|
|
||||||
width: 148px;
|
|
||||||
border-radius: 4px;
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
box-sizing: content-box; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-disabled,
|
|
||||||
.colorpicker.colorpicker-disabled * {
|
|
||||||
cursor: default !important; }
|
|
||||||
|
|
||||||
.colorpicker div {
|
|
||||||
position: relative; }
|
|
||||||
|
|
||||||
.colorpicker-popup {
|
|
||||||
position: absolute;
|
|
||||||
top: 100%;
|
|
||||||
left: 0;
|
|
||||||
float: left;
|
|
||||||
margin-top: 1px;
|
|
||||||
z-index: 1060; }
|
|
||||||
|
|
||||||
.colorpicker-popup.colorpicker-bs-popover-content {
|
|
||||||
position: relative;
|
|
||||||
top: auto;
|
|
||||||
left: auto;
|
|
||||||
float: none;
|
|
||||||
margin: 0;
|
|
||||||
z-index: initial;
|
|
||||||
border: none;
|
|
||||||
padding: 0.25rem 0;
|
|
||||||
border-radius: 0;
|
|
||||||
background: none;
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
box-shadow: none; }
|
|
||||||
|
|
||||||
.colorpicker:before,
|
|
||||||
.colorpicker:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
clear: both;
|
|
||||||
line-height: 0; }
|
|
||||||
|
|
||||||
.colorpicker-clear {
|
|
||||||
clear: both;
|
|
||||||
display: block; }
|
|
||||||
|
|
||||||
.colorpicker:before {
|
|
||||||
content: '';
|
|
||||||
display: inline-block;
|
|
||||||
border-left: 7px solid transparent;
|
|
||||||
border-right: 7px solid transparent;
|
|
||||||
border-bottom: 7px solid #ccc;
|
|
||||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
|
||||||
position: absolute;
|
|
||||||
top: -7px;
|
|
||||||
left: auto;
|
|
||||||
right: 6px; }
|
|
||||||
|
|
||||||
.colorpicker:after {
|
|
||||||
content: '';
|
|
||||||
display: inline-block;
|
|
||||||
border-left: 6px solid transparent;
|
|
||||||
border-right: 6px solid transparent;
|
|
||||||
border-bottom: 6px solid #ffffff;
|
|
||||||
position: absolute;
|
|
||||||
top: -6px;
|
|
||||||
left: auto;
|
|
||||||
right: 7px; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-with-alpha {
|
|
||||||
width: 170px; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
|
|
||||||
display: block; }
|
|
||||||
|
|
||||||
.colorpicker-saturation {
|
|
||||||
position: relative;
|
|
||||||
width: 126px;
|
|
||||||
height: 126px;
|
|
||||||
/* FF3.6+ */
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
/* IE10+ */
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(black)), -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0)));
|
|
||||||
background: linear-gradient(to bottom, transparent 0%, black 100%), linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
/* W3C */
|
|
||||||
cursor: crosshair;
|
|
||||||
float: left;
|
|
||||||
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
||||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
||||||
margin-bottom: 6px; }
|
|
||||||
.colorpicker-saturation .colorpicker-guide {
|
|
||||||
display: block;
|
|
||||||
height: 6px;
|
|
||||||
width: 6px;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: 1px solid #000;
|
|
||||||
-webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
|
|
||||||
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
margin: -3px 0 0 -3px; }
|
|
||||||
|
|
||||||
.colorpicker-hue,
|
|
||||||
.colorpicker-alpha {
|
|
||||||
position: relative;
|
|
||||||
width: 16px;
|
|
||||||
height: 126px;
|
|
||||||
float: left;
|
|
||||||
cursor: row-resize;
|
|
||||||
margin-left: 6px;
|
|
||||||
margin-bottom: 6px; }
|
|
||||||
|
|
||||||
.colorpicker-alpha-color {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%; }
|
|
||||||
|
|
||||||
.colorpicker-hue,
|
|
||||||
.colorpicker-alpha-color {
|
|
||||||
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
||||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }
|
|
||||||
|
|
||||||
.colorpicker-hue .colorpicker-guide,
|
|
||||||
.colorpicker-alpha .colorpicker-guide {
|
|
||||||
display: block;
|
|
||||||
height: 4px;
|
|
||||||
background: rgba(255, 255, 255, 0.8);
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.4);
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
margin-left: -2px;
|
|
||||||
margin-top: -2px;
|
|
||||||
right: -2px;
|
|
||||||
z-index: 1; }
|
|
||||||
|
|
||||||
.colorpicker-hue {
|
|
||||||
/* FF3.6+ */
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
/* IE10+ */
|
|
||||||
background: -webkit-gradient(linear, left bottom, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red));
|
|
||||||
background: linear-gradient(to top, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%);
|
|
||||||
/* W3C */ }
|
|
||||||
|
|
||||||
.colorpicker-alpha {
|
|
||||||
background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;
|
|
||||||
background-size: 10px 10px;
|
|
||||||
background-position: 0 0, 5px 5px;
|
|
||||||
display: none; }
|
|
||||||
|
|
||||||
.colorpicker-bar {
|
|
||||||
min-height: 16px;
|
|
||||||
margin: 6px 0 0 0;
|
|
||||||
clear: both;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 10px;
|
|
||||||
line-height: normal;
|
|
||||||
max-width: 100%;
|
|
||||||
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
||||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }
|
|
||||||
.colorpicker-bar:before {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
clear: both; }
|
|
||||||
|
|
||||||
.colorpicker-bar.colorpicker-bar-horizontal {
|
|
||||||
height: 126px;
|
|
||||||
width: 16px;
|
|
||||||
margin: 0 0 6px 0;
|
|
||||||
float: left; }
|
|
||||||
|
|
||||||
.colorpicker-input-addon {
|
|
||||||
position: relative; }
|
|
||||||
|
|
||||||
.colorpicker-input-addon i {
|
|
||||||
display: inline-block;
|
|
||||||
cursor: pointer;
|
|
||||||
vertical-align: text-top;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
position: relative; }
|
|
||||||
|
|
||||||
.colorpicker-input-addon:before {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: text-top;
|
|
||||||
background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;
|
|
||||||
background-size: 10px 10px;
|
|
||||||
background-position: 0 0, 5px 5px; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-inline {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
float: none;
|
|
||||||
z-index: auto;
|
|
||||||
vertical-align: text-bottom; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal {
|
|
||||||
width: 126px;
|
|
||||||
height: auto; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-bar {
|
|
||||||
width: 126px; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-saturation {
|
|
||||||
float: none;
|
|
||||||
margin-bottom: 0; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-hue,
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
|
||||||
float: none;
|
|
||||||
width: 126px;
|
|
||||||
height: 16px;
|
|
||||||
cursor: col-resize;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-top: 6px;
|
|
||||||
margin-bottom: 0; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-hue .colorpicker-guide,
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha .colorpicker-guide {
|
|
||||||
position: absolute;
|
|
||||||
display: block;
|
|
||||||
bottom: -2px;
|
|
||||||
left: 0;
|
|
||||||
right: auto;
|
|
||||||
height: auto;
|
|
||||||
width: 4px; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-hue {
|
|
||||||
/* FF3.6+ */
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
/* IE10+ */
|
|
||||||
background: -webkit-gradient(linear, right top, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red));
|
|
||||||
background: linear-gradient(to left, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%);
|
|
||||||
/* W3C */ }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
|
||||||
background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;
|
|
||||||
background-size: 10px 10px;
|
|
||||||
background-position: 0 0, 5px 5px; }
|
|
||||||
|
|
||||||
.colorpicker-inline:before,
|
|
||||||
.colorpicker-no-arrow:before,
|
|
||||||
.colorpicker-popup.colorpicker-bs-popover-content:before {
|
|
||||||
content: none;
|
|
||||||
display: none; }
|
|
||||||
|
|
||||||
.colorpicker-inline:after,
|
|
||||||
.colorpicker-no-arrow:after,
|
|
||||||
.colorpicker-popup.colorpicker-bs-popover-content:after {
|
|
||||||
content: none;
|
|
||||||
display: none; }
|
|
||||||
|
|
||||||
.colorpicker-alpha,
|
|
||||||
.colorpicker-saturation,
|
|
||||||
.colorpicker-hue {
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-visible,
|
|
||||||
.colorpicker-alpha.colorpicker-visible,
|
|
||||||
.colorpicker-saturation.colorpicker-visible,
|
|
||||||
.colorpicker-hue.colorpicker-visible,
|
|
||||||
.colorpicker-bar.colorpicker-visible {
|
|
||||||
display: block; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-hidden,
|
|
||||||
.colorpicker-alpha.colorpicker-hidden,
|
|
||||||
.colorpicker-saturation.colorpicker-hidden,
|
|
||||||
.colorpicker-hue.colorpicker-hidden,
|
|
||||||
.colorpicker-bar.colorpicker-hidden {
|
|
||||||
display: none; }
|
|
||||||
|
|
||||||
.colorpicker-inline.colorpicker-visible {
|
|
||||||
display: inline-block; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-disabled:after {
|
|
||||||
border: none;
|
|
||||||
content: '';
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background: rgba(233, 236, 239, 0.33);
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: auto;
|
|
||||||
z-index: 2;
|
|
||||||
position: absolute; }
|
|
||||||
|
|
||||||
.colorpicker.colorpicker-disabled .colorpicker-guide {
|
|
||||||
display: none; }
|
|
||||||
|
|
||||||
/** EXTENSIONS **/
|
|
||||||
.colorpicker-preview {
|
|
||||||
background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;
|
|
||||||
background-size: 10px 10px;
|
|
||||||
background-position: 0 0, 5px 5px; }
|
|
||||||
|
|
||||||
.colorpicker-preview > div {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%; }
|
|
||||||
|
|
||||||
.colorpicker-bar.colorpicker-swatches {
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
box-shadow: none;
|
|
||||||
height: auto; }
|
|
||||||
|
|
||||||
.colorpicker-swatches--inner {
|
|
||||||
clear: both;
|
|
||||||
margin-top: -6px; }
|
|
||||||
|
|
||||||
.colorpicker-swatch {
|
|
||||||
position: relative;
|
|
||||||
cursor: pointer;
|
|
||||||
float: left;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
margin-right: 6px;
|
|
||||||
margin-top: 6px;
|
|
||||||
margin-left: 0;
|
|
||||||
display: block;
|
|
||||||
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
||||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
||||||
background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;
|
|
||||||
background-size: 10px 10px;
|
|
||||||
background-position: 0 0, 5px 5px; }
|
|
||||||
|
|
||||||
.colorpicker-swatch--inner {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%; }
|
|
||||||
|
|
||||||
.colorpicker-swatch:nth-of-type(7n+0) {
|
|
||||||
margin-right: 0; }
|
|
||||||
|
|
||||||
.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(7n+0) {
|
|
||||||
margin-right: 6px; }
|
|
||||||
|
|
||||||
.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(8n+0) {
|
|
||||||
margin-right: 0; }
|
|
||||||
|
|
||||||
.colorpicker-horizontal .colorpicker-swatch:nth-of-type(6n+0) {
|
|
||||||
margin-right: 0; }
|
|
||||||
|
|
||||||
.colorpicker-horizontal .colorpicker-swatch:nth-of-type(7n+0) {
|
|
||||||
margin-right: 6px; }
|
|
||||||
|
|
||||||
.colorpicker-horizontal .colorpicker-swatch:nth-of-type(8n+0) {
|
|
||||||
margin-right: 6px; }
|
|
||||||
|
|
||||||
.colorpicker-swatch:last-of-type:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
clear: both; }
|
|
||||||
|
|
||||||
*[dir='rtl'] .colorpicker-element input,
|
|
||||||
.colorpicker-element[dir='rtl'] input,
|
|
||||||
.colorpicker-element input[dir='rtl'] {
|
|
||||||
direction: ltr;
|
|
||||||
text-align: right; }
|
|
||||||
|
|
||||||
/*# sourceMappingURL=bootstrap-colorpicker.css.map */
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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
File diff suppressed because one or more lines are too long
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,328 +0,0 @@
|
|||||||
/*! =======================================================
|
|
||||||
VERSION 10.6.2
|
|
||||||
========================================================= */
|
|
||||||
/*! =========================================================
|
|
||||||
* bootstrap-slider.js
|
|
||||||
*
|
|
||||||
* Maintainers:
|
|
||||||
* Kyle Kemp
|
|
||||||
* - Twitter: @seiyria
|
|
||||||
* - Github: seiyria
|
|
||||||
* Rohit Kalkur
|
|
||||||
* - Twitter: @Rovolutionary
|
|
||||||
* - Github: rovolution
|
|
||||||
*
|
|
||||||
* =========================================================
|
|
||||||
*
|
|
||||||
* bootstrap-slider is released under the MIT License
|
|
||||||
* Copyright (c) 2019 Kyle Kemp, Rohit Kalkur, and contributors
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person
|
|
||||||
* obtaining a copy of this software and associated documentation
|
|
||||||
* files (the "Software"), to deal in the Software without
|
|
||||||
* restriction, including without limitation the rights to use,
|
|
||||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
* copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following
|
|
||||||
* conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be
|
|
||||||
* included in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* ========================================================= */
|
|
||||||
.slider {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal {
|
|
||||||
width: 210px;
|
|
||||||
height: 20px;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-track {
|
|
||||||
height: 10px;
|
|
||||||
width: 100%;
|
|
||||||
margin-top: -5px;
|
|
||||||
top: 50%;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-selection,
|
|
||||||
.slider.slider-horizontal .slider-track-low,
|
|
||||||
.slider.slider-horizontal .slider-track-high {
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-tick,
|
|
||||||
.slider.slider-horizontal .slider-handle {
|
|
||||||
margin-left: -10px;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-tick.triangle,
|
|
||||||
.slider.slider-horizontal .slider-handle.triangle {
|
|
||||||
position: relative;
|
|
||||||
top: 50%;
|
|
||||||
-ms-transform: translateY(-50%);
|
|
||||||
transform: translateY(-50%);
|
|
||||||
border-width: 0 10px 10px 10px;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border-bottom-color: #2e6da4;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-tick-container {
|
|
||||||
white-space: nowrap;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-tick-label-container {
|
|
||||||
white-space: nowrap;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .slider-tick-label-container .slider-tick-label {
|
|
||||||
padding-top: 4px;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal .tooltip {
|
|
||||||
-ms-transform: translateX(-50%);
|
|
||||||
transform: translateX(-50%);
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal.slider-rtl .slider-track {
|
|
||||||
left: initial;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal.slider-rtl .slider-tick,
|
|
||||||
.slider.slider-horizontal.slider-rtl .slider-handle {
|
|
||||||
margin-left: initial;
|
|
||||||
margin-right: -10px;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal.slider-rtl .slider-tick-container {
|
|
||||||
left: initial;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-horizontal.slider-rtl .tooltip {
|
|
||||||
-ms-transform: translateX(50%);
|
|
||||||
transform: translateX(50%);
|
|
||||||
}
|
|
||||||
.slider.slider-vertical {
|
|
||||||
height: 210px;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-track {
|
|
||||||
width: 10px;
|
|
||||||
height: 100%;
|
|
||||||
left: 25%;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-selection {
|
|
||||||
width: 100%;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-track-low,
|
|
||||||
.slider.slider-vertical .slider-track-high {
|
|
||||||
width: 100%;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-tick,
|
|
||||||
.slider.slider-vertical .slider-handle {
|
|
||||||
margin-top: -10px;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-tick.triangle,
|
|
||||||
.slider.slider-vertical .slider-handle.triangle {
|
|
||||||
border-width: 10px 0 10px 10px;
|
|
||||||
width: 1px;
|
|
||||||
height: 1px;
|
|
||||||
border-left-color: #2e6da4;
|
|
||||||
border-right-color: #2e6da4;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-tick-label-container {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .slider-tick-label-container .slider-tick-label {
|
|
||||||
padding-left: 4px;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical .tooltip {
|
|
||||||
-ms-transform: translateY(-50%);
|
|
||||||
transform: translateY(-50%);
|
|
||||||
}
|
|
||||||
.slider.slider-vertical.slider-rtl .slider-track {
|
|
||||||
left: initial;
|
|
||||||
right: 25%;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical.slider-rtl .slider-selection {
|
|
||||||
left: initial;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical.slider-rtl .slider-tick.triangle,
|
|
||||||
.slider.slider-vertical.slider-rtl .slider-handle.triangle {
|
|
||||||
border-width: 10px 10px 10px 0;
|
|
||||||
}
|
|
||||||
.slider.slider-vertical.slider-rtl .slider-tick-label-container .slider-tick-label {
|
|
||||||
padding-left: initial;
|
|
||||||
padding-right: 4px;
|
|
||||||
}
|
|
||||||
.slider.slider-disabled .slider-handle {
|
|
||||||
background-image: -webkit-linear-gradient(top, #dfdfdf 0%, #bebebe 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #dfdfdf 0%, #bebebe 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #dfdfdf 0%, #bebebe 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdfdfdf', endColorstr='#ffbebebe', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
}
|
|
||||||
.slider.slider-disabled .slider-track {
|
|
||||||
background-image: -webkit-linear-gradient(top, #e5e5e5 0%, #e9e9e9 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #e5e5e5 0%, #e9e9e9 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #e5e5e5 0%, #e9e9e9 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe5e5e5', endColorstr='#ffe9e9e9', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
cursor: not-allowed;
|
|
||||||
}
|
|
||||||
.slider input {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.slider .tooltip {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
.slider .tooltip.top {
|
|
||||||
margin-top: -36px;
|
|
||||||
}
|
|
||||||
.slider .tooltip-inner {
|
|
||||||
white-space: nowrap;
|
|
||||||
max-width: none;
|
|
||||||
}
|
|
||||||
.slider .hide {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.slider-track {
|
|
||||||
position: absolute;
|
|
||||||
cursor: pointer;
|
|
||||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #f9f9f9 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
||||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.slider-selection {
|
|
||||||
position: absolute;
|
|
||||||
background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #f9f9f9 0%, #f5f5f5 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
|
||||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.slider-selection.tick-slider-selection {
|
|
||||||
background-image: -webkit-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #8ac1ef 0%, #82b3de 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ac1ef', endColorstr='#ff82b3de', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
}
|
|
||||||
.slider-track-low,
|
|
||||||
.slider-track-high {
|
|
||||||
position: absolute;
|
|
||||||
background: transparent;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.slider-handle {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
background-color: #337ab7;
|
|
||||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: none;
|
|
||||||
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
|
||||||
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
|
||||||
border: 0px solid transparent;
|
|
||||||
}
|
|
||||||
.slider-handle:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.slider-handle.round {
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
.slider-handle.triangle {
|
|
||||||
background: transparent none;
|
|
||||||
}
|
|
||||||
.slider-handle.custom {
|
|
||||||
background: transparent none;
|
|
||||||
}
|
|
||||||
.slider-handle.custom::before {
|
|
||||||
line-height: 20px;
|
|
||||||
font-size: 20px;
|
|
||||||
content: '\2605';
|
|
||||||
color: #726204;
|
|
||||||
}
|
|
||||||
.slider-tick {
|
|
||||||
position: absolute;
|
|
||||||
cursor: pointer;
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #f9f9f9 0%, #f5f5f5 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
|
||||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
filter: none;
|
|
||||||
opacity: 0.8;
|
|
||||||
border: 0px solid transparent;
|
|
||||||
}
|
|
||||||
.slider-tick.round {
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
.slider-tick.triangle {
|
|
||||||
background: transparent none;
|
|
||||||
}
|
|
||||||
.slider-tick.custom {
|
|
||||||
background: transparent none;
|
|
||||||
}
|
|
||||||
.slider-tick.custom::before {
|
|
||||||
line-height: 20px;
|
|
||||||
font-size: 20px;
|
|
||||||
content: '\2605';
|
|
||||||
color: #726204;
|
|
||||||
}
|
|
||||||
.slider-tick.in-selection {
|
|
||||||
background-image: -webkit-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
|
|
||||||
background-image: linear-gradient(to bottom, #8ac1ef 0%, #82b3de 100%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ac1ef', endColorstr='#ff82b3de', GradientType=0);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -1,510 +0,0 @@
|
|||||||
/**
|
|
||||||
* bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
|
|
||||||
*
|
|
||||||
* @version v3.4.0
|
|
||||||
* @homepage https://bttstrp.github.io/bootstrap-switch
|
|
||||||
* @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
.clearfix {
|
|
||||||
*zoom: 1;
|
|
||||||
}
|
|
||||||
.clearfix:before,
|
|
||||||
.clearfix:after {
|
|
||||||
display: table;
|
|
||||||
content: "";
|
|
||||||
line-height: 0;
|
|
||||||
}
|
|
||||||
.clearfix:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.hide-text {
|
|
||||||
font: 0/0 a;
|
|
||||||
color: transparent;
|
|
||||||
text-shadow: none;
|
|
||||||
background-color: transparent;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
.input-block-level {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
min-height: 30px;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.bootstrap-switch {
|
|
||||||
display: inline-block;
|
|
||||||
direction: ltr;
|
|
||||||
cursor: pointer;
|
|
||||||
-webkit-border-radius: 5px;
|
|
||||||
-moz-border-radius: 5px;
|
|
||||||
border-radius: 5px;
|
|
||||||
border: 1px solid;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
position: relative;
|
|
||||||
text-align: left;
|
|
||||||
overflow: hidden;
|
|
||||||
line-height: 8px;
|
|
||||||
z-index: 0;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
-o-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
-moz-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-container {
|
|
||||||
display: inline-block;
|
|
||||||
top: 0;
|
|
||||||
-webkit-border-radius: 4px;
|
|
||||||
-moz-border-radius: 4px;
|
|
||||||
border-radius: 4px;
|
|
||||||
-webkit-transform: translate3d(0, 0, 0);
|
|
||||||
-moz-transform: translate3d(0, 0, 0);
|
|
||||||
-o-transform: translate3d(0, 0, 0);
|
|
||||||
transform: translate3d(0, 0, 0);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
cursor: pointer;
|
|
||||||
display: inline-block !important;
|
|
||||||
padding-top: 4px;
|
|
||||||
padding-bottom: 4px;
|
|
||||||
padding-left: 8px;
|
|
||||||
padding-right: 8px;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
|
||||||
text-align: center;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
|
|
||||||
color: #fff;
|
|
||||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #005fcc;
|
|
||||||
background-image: -moz-linear-gradient(top, #0044cc, #08c);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0044cc), to(#08c));
|
|
||||||
background-image: -webkit-linear-gradient(top, #0044cc, #08c);
|
|
||||||
background-image: -o-linear-gradient(top, #0044cc, #08c);
|
|
||||||
background-image: linear-gradient(to bottom, #0044cc, #08c);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0044cc', endColorstr='#ff0088cc', GradientType=0);
|
|
||||||
border-color: #08c #08c #005580;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #08c;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary[disabled],
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary[disabled] {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #08c;
|
|
||||||
*background-color: #0077b3;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.active {
|
|
||||||
background-color: #006699 \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
|
|
||||||
color: #fff;
|
|
||||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #41a7c5;
|
|
||||||
background-image: -moz-linear-gradient(top, #2f96b4, #5bc0de);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2f96b4), to(#5bc0de));
|
|
||||||
background-image: -webkit-linear-gradient(top, #2f96b4, #5bc0de);
|
|
||||||
background-image: -o-linear-gradient(top, #2f96b4, #5bc0de);
|
|
||||||
background-image: linear-gradient(to bottom, #2f96b4, #5bc0de);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f96b4', endColorstr='#ff5bc0de', GradientType=0);
|
|
||||||
border-color: #5bc0de #5bc0de #28a1c5;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #5bc0de;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info[disabled],
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info[disabled] {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #5bc0de;
|
|
||||||
*background-color: #46b8da;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info.active {
|
|
||||||
background-color: #31b0d5 \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
|
|
||||||
color: #fff;
|
|
||||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #58b058;
|
|
||||||
background-image: -moz-linear-gradient(top, #51a351, #62c462);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#51a351), to(#62c462));
|
|
||||||
background-image: -webkit-linear-gradient(top, #51a351, #62c462);
|
|
||||||
background-image: -o-linear-gradient(top, #51a351, #62c462);
|
|
||||||
background-image: linear-gradient(to bottom, #51a351, #62c462);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff51a351', endColorstr='#ff62c462', GradientType=0);
|
|
||||||
border-color: #62c462 #62c462 #3b9e3b;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #62c462;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success[disabled],
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success[disabled] {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #62c462;
|
|
||||||
*background-color: #4fbd4f;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success.active {
|
|
||||||
background-color: #42b142 \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
|
|
||||||
color: #fff;
|
|
||||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #f9a123;
|
|
||||||
background-image: -moz-linear-gradient(top, #f89406, #fbb450);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f89406), to(#fbb450));
|
|
||||||
background-image: -webkit-linear-gradient(top, #f89406, #fbb450);
|
|
||||||
background-image: -o-linear-gradient(top, #f89406, #fbb450);
|
|
||||||
background-image: linear-gradient(to bottom, #f89406, #fbb450);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff89406', endColorstr='#fffbb450', GradientType=0);
|
|
||||||
border-color: #fbb450 #fbb450 #f89406;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #fbb450;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning[disabled],
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning[disabled] {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #fbb450;
|
|
||||||
*background-color: #faa937;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning.active {
|
|
||||||
background-color: #fa9f1e \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
|
|
||||||
color: #fff;
|
|
||||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #d14641;
|
|
||||||
background-image: -moz-linear-gradient(top, #bd362f, #ee5f5b);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bd362f), to(#ee5f5b));
|
|
||||||
background-image: -webkit-linear-gradient(top, #bd362f, #ee5f5b);
|
|
||||||
background-image: -o-linear-gradient(top, #bd362f, #ee5f5b);
|
|
||||||
background-image: linear-gradient(to bottom, #bd362f, #ee5f5b);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbd362f', endColorstr='#ffee5f5b', GradientType=0);
|
|
||||||
border-color: #ee5f5b #ee5f5b #e51d18;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #ee5f5b;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger[disabled],
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger[disabled] {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #ee5f5b;
|
|
||||||
*background-color: #ec4844;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger.active {
|
|
||||||
background-color: #e9322d \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
|
|
||||||
color: #333;
|
|
||||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
|
||||||
background-color: #f0f0f0;
|
|
||||||
background-image: -moz-linear-gradient(top, #e6e6e6, #fff);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#fff));
|
|
||||||
background-image: -webkit-linear-gradient(top, #e6e6e6, #fff);
|
|
||||||
background-image: -o-linear-gradient(top, #e6e6e6, #fff);
|
|
||||||
background-image: linear-gradient(to bottom, #e6e6e6, #fff);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffffffff', GradientType=0);
|
|
||||||
border-color: #fff #fff #d9d9d9;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #fff;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default[disabled],
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default[disabled] {
|
|
||||||
color: #333;
|
|
||||||
background-color: #fff;
|
|
||||||
*background-color: #f2f2f2;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.active {
|
|
||||||
background-color: #e6e6e6 \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-label {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: -1px;
|
|
||||||
margin-bottom: -1px;
|
|
||||||
z-index: 100;
|
|
||||||
border-left: 1px solid #ccc;
|
|
||||||
border-right: 1px solid #ccc;
|
|
||||||
color: #333;
|
|
||||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
background-image: -moz-linear-gradient(top, #fff, #e6e6e6);
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#e6e6e6));
|
|
||||||
background-image: -webkit-linear-gradient(top, #fff, #e6e6e6);
|
|
||||||
background-image: -o-linear-gradient(top, #fff, #e6e6e6);
|
|
||||||
background-image: linear-gradient(to bottom, #fff, #e6e6e6);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
|
|
||||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
||||||
*background-color: #e6e6e6;
|
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-label:hover,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label:focus,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label.active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label.disabled,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label[disabled] {
|
|
||||||
color: #333;
|
|
||||||
background-color: #e6e6e6;
|
|
||||||
*background-color: #d9d9d9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-label:active,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label.active {
|
|
||||||
background-color: #cccccc \9;
|
|
||||||
}
|
|
||||||
.bootstrap-switch span::before {
|
|
||||||
content: "\200b";
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on {
|
|
||||||
-webkit-border-top-left-radius: 4px;
|
|
||||||
-moz-border-radius-topleft: 4px;
|
|
||||||
border-top-left-radius: 4px;
|
|
||||||
-webkit-border-bottom-left-radius: 4px;
|
|
||||||
-moz-border-radius-bottomleft: 4px;
|
|
||||||
border-bottom-left-radius: 4px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
|
||||||
-webkit-border-top-right-radius: 4px;
|
|
||||||
-moz-border-radius-topright: 4px;
|
|
||||||
border-top-right-radius: 4px;
|
|
||||||
-webkit-border-bottom-right-radius: 4px;
|
|
||||||
-moz-border-radius-bottomright: 4px;
|
|
||||||
border-bottom-right-radius: 4px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch input[type='radio'],
|
|
||||||
.bootstrap-switch input[type='checkbox'] {
|
|
||||||
position: absolute !important;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
z-index: -1;
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
.bootstrap-switch input[type='radio'].form-control,
|
|
||||||
.bootstrap-switch input[type='checkbox'].form-control {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini {
|
|
||||||
min-width: 71px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
|
||||||
padding: 3px 6px;
|
|
||||||
font-size: 10px;
|
|
||||||
line-height: 9px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-small {
|
|
||||||
min-width: 79px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
|
||||||
padding: 3px 6px;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 18px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-large {
|
|
||||||
min-width: 120px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
|
||||||
padding: 9px 12px;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: normal;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate {
|
|
||||||
cursor: default !important;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
|
||||||
opacity: 0.5;
|
|
||||||
filter: alpha(opacity=50);
|
|
||||||
cursor: default !important;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
|
||||||
-webkit-transition: margin-left 0.5s;
|
|
||||||
-moz-transition: margin-left 0.5s;
|
|
||||||
-o-transition: margin-left 0.5s;
|
|
||||||
transition: margin-left 0.5s;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
|
|
||||||
-webkit-border-top-left-radius: 0;
|
|
||||||
-moz-border-radius-topleft: 0;
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
-webkit-border-bottom-left-radius: 0;
|
|
||||||
-moz-border-radius-bottomleft: 0;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
-webkit-border-top-right-radius: 4px;
|
|
||||||
-moz-border-radius-topright: 4px;
|
|
||||||
border-top-right-radius: 4px;
|
|
||||||
-webkit-border-bottom-right-radius: 4px;
|
|
||||||
-moz-border-radius-bottomright: 4px;
|
|
||||||
border-bottom-right-radius: 4px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
|
|
||||||
-webkit-border-top-right-radius: 0;
|
|
||||||
-moz-border-radius-topright: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
-webkit-border-bottom-right-radius: 0;
|
|
||||||
-moz-border-radius-bottomright: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
-webkit-border-top-left-radius: 4px;
|
|
||||||
-moz-border-radius-topleft: 4px;
|
|
||||||
border-top-left-radius: 4px;
|
|
||||||
-webkit-border-bottom-left-radius: 4px;
|
|
||||||
-moz-border-radius-bottomleft: 4px;
|
|
||||||
border-bottom-left-radius: 4px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-focused {
|
|
||||||
border-color: rgba(82, 168, 236, 0.8);
|
|
||||||
outline: 0;
|
|
||||||
outline: thin dotted \9;
|
|
||||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82, 168, 236, .6);
|
|
||||||
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82, 168, 236, .6);
|
|
||||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82, 168, 236, .6);
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
|
|
||||||
-webkit-border-top-right-radius: 4px;
|
|
||||||
-moz-border-radius-topright: 4px;
|
|
||||||
border-top-right-radius: 4px;
|
|
||||||
-webkit-border-bottom-right-radius: 4px;
|
|
||||||
-moz-border-radius-bottomright: 4px;
|
|
||||||
border-bottom-right-radius: 4px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
|
|
||||||
-webkit-border-top-left-radius: 4px;
|
|
||||||
-moz-border-radius-topleft: 4px;
|
|
||||||
border-top-left-radius: 4px;
|
|
||||||
-webkit-border-bottom-left-radius: 4px;
|
|
||||||
-moz-border-radius-bottomleft: 4px;
|
|
||||||
border-bottom-left-radius: 4px;
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -1,187 +0,0 @@
|
|||||||
/**
|
|
||||||
* bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
|
|
||||||
*
|
|
||||||
* @version v3.4.0
|
|
||||||
* @homepage https://bttstrp.github.io/bootstrap-switch
|
|
||||||
* @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
.bootstrap-switch {
|
|
||||||
display: inline-block;
|
|
||||||
direction: ltr;
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 4px;
|
|
||||||
border: 1px solid;
|
|
||||||
border-color: #ccc;
|
|
||||||
position: relative;
|
|
||||||
text-align: left;
|
|
||||||
overflow: hidden;
|
|
||||||
line-height: 8px;
|
|
||||||
z-index: 0;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-container {
|
|
||||||
display: inline-block;
|
|
||||||
top: 0;
|
|
||||||
border-radius: 4px;
|
|
||||||
-webkit-transform: translate3d(0, 0, 0);
|
|
||||||
transform: translate3d(0, 0, 0);
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch .bootstrap-switch-label {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
cursor: pointer;
|
|
||||||
display: table-cell;
|
|
||||||
vertical-align: middle;
|
|
||||||
padding: 6px 12px;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
|
||||||
text-align: center;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
|
|
||||||
color: #fff;
|
|
||||||
background: #337ab7;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
|
|
||||||
color: #fff;
|
|
||||||
background: #5bc0de;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
|
|
||||||
color: #fff;
|
|
||||||
background: #5cb85c;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
|
|
||||||
background: #f0ad4e;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
|
|
||||||
color: #fff;
|
|
||||||
background: #d9534f;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
|
|
||||||
color: #000;
|
|
||||||
background: #eeeeee;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-label {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: -1px;
|
|
||||||
margin-bottom: -1px;
|
|
||||||
z-index: 100;
|
|
||||||
color: #333;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
.bootstrap-switch span::before {
|
|
||||||
content: "\200b";
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-on {
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
|
||||||
border-bottom-right-radius: 3px;
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch input[type='radio'],
|
|
||||||
.bootstrap-switch input[type='checkbox'] {
|
|
||||||
position: absolute !important;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
margin: 0;
|
|
||||||
z-index: -1;
|
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
|
||||||
padding: 1px 5px;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
|
||||||
padding: 5px 10px;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
|
||||||
padding: 6px 16px;
|
|
||||||
font-size: 18px;
|
|
||||||
line-height: 1.3333333;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate {
|
|
||||||
cursor: default !important;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
|
||||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
|
||||||
opacity: 0.5;
|
|
||||||
filter: alpha(opacity=50);
|
|
||||||
cursor: default !important;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
|
||||||
-webkit-transition: margin-left 0.5s;
|
|
||||||
-o-transition: margin-left 0.5s;
|
|
||||||
transition: margin-left 0.5s;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 3px;
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-focused {
|
|
||||||
border-color: #66afe9;
|
|
||||||
outline: 0;
|
|
||||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
|
||||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
|
|
||||||
border-bottom-right-radius: 3px;
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
|
|
||||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -1,767 +0,0 @@
|
|||||||
/**
|
|
||||||
* bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
|
|
||||||
*
|
|
||||||
* @version v3.4.0
|
|
||||||
* @homepage https://bttstrp.github.io/bootstrap-switch
|
|
||||||
* @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function (global, factory) {
|
|
||||||
if (typeof define === "function" && define.amd) {
|
|
||||||
define(['jquery'], factory);
|
|
||||||
} else if (typeof exports !== "undefined") {
|
|
||||||
factory(require('jquery'));
|
|
||||||
} else {
|
|
||||||
var mod = {
|
|
||||||
exports: {}
|
|
||||||
};
|
|
||||||
factory(global.jquery);
|
|
||||||
global.bootstrapSwitch = mod.exports;
|
|
||||||
}
|
|
||||||
})(this, function (_jquery) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var _jquery2 = _interopRequireDefault(_jquery);
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) {
|
|
||||||
return obj && obj.__esModule ? obj : {
|
|
||||||
default: obj
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
var _extends = Object.assign || function (target) {
|
|
||||||
for (var i = 1; i < arguments.length; i++) {
|
|
||||||
var source = arguments[i];
|
|
||||||
|
|
||||||
for (var key in source) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
||||||
target[key] = source[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return target;
|
|
||||||
};
|
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) {
|
|
||||||
if (!(instance instanceof Constructor)) {
|
|
||||||
throw new TypeError("Cannot call a class as a function");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var _createClass = function () {
|
|
||||||
function defineProperties(target, props) {
|
|
||||||
for (var i = 0; i < props.length; i++) {
|
|
||||||
var descriptor = props[i];
|
|
||||||
descriptor.enumerable = descriptor.enumerable || false;
|
|
||||||
descriptor.configurable = true;
|
|
||||||
if ("value" in descriptor) descriptor.writable = true;
|
|
||||||
Object.defineProperty(target, descriptor.key, descriptor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return function (Constructor, protoProps, staticProps) {
|
|
||||||
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
|
||||||
if (staticProps) defineProperties(Constructor, staticProps);
|
|
||||||
return Constructor;
|
|
||||||
};
|
|
||||||
}();
|
|
||||||
|
|
||||||
var $ = _jquery2.default || window.jQuery || window.$;
|
|
||||||
|
|
||||||
function getClasses(options, id) {
|
|
||||||
var state = options.state,
|
|
||||||
size = options.size,
|
|
||||||
disabled = options.disabled,
|
|
||||||
readonly = options.readonly,
|
|
||||||
indeterminate = options.indeterminate,
|
|
||||||
inverse = options.inverse;
|
|
||||||
|
|
||||||
return [state ? 'on' : 'off', size, disabled ? 'disabled' : undefined, readonly ? 'readonly' : undefined, indeterminate ? 'indeterminate' : undefined, inverse ? 'inverse' : undefined, id ? 'id-' + id : undefined].filter(function (v) {
|
|
||||||
return v == null;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvgetElementOptions() {
|
|
||||||
return {
|
|
||||||
state: this.$element.is(':checked'),
|
|
||||||
size: this.$element.data('size'),
|
|
||||||
animate: this.$element.data('animate'),
|
|
||||||
disabled: this.$element.is(':disabled'),
|
|
||||||
readonly: this.$element.is('[readonly]'),
|
|
||||||
indeterminate: this.$element.data('indeterminate'),
|
|
||||||
inverse: this.$element.data('inverse'),
|
|
||||||
radioAllOff: this.$element.data('radio-all-off'),
|
|
||||||
onColor: this.$element.data('on-color'),
|
|
||||||
offColor: this.$element.data('off-color'),
|
|
||||||
onText: this.$element.data('on-text'),
|
|
||||||
offText: this.$element.data('off-text'),
|
|
||||||
labelText: this.$element.data('label-text'),
|
|
||||||
handleWidth: this.$element.data('handle-width'),
|
|
||||||
labelWidth: this.$element.data('label-width'),
|
|
||||||
baseClass: this.$element.data('base-class'),
|
|
||||||
wrapperClass: this.$element.data('wrapper-class')
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvwidth() {
|
|
||||||
var _this = this;
|
|
||||||
|
|
||||||
var $handles = this.$on.add(this.$off).add(this.$label).css('width', '');
|
|
||||||
var handleWidth = this.options.handleWidth === 'auto' ? Math.round(Math.max(this.$on.width(), this.$off.width())) : this.options.handleWidth;
|
|
||||||
$handles.width(handleWidth);
|
|
||||||
this.$label.width(function (index, width) {
|
|
||||||
if (_this.options.labelWidth !== 'auto') {
|
|
||||||
return _this.options.labelWidth;
|
|
||||||
}
|
|
||||||
if (width < handleWidth) {
|
|
||||||
return handleWidth;
|
|
||||||
}
|
|
||||||
return width;
|
|
||||||
});
|
|
||||||
this.privateHandleWidth = this.$on.outerWidth();
|
|
||||||
this.privateLabelWidth = this.$label.outerWidth();
|
|
||||||
this.$container.width(this.privateHandleWidth * 2 + this.privateLabelWidth);
|
|
||||||
return this.$wrapper.width(this.privateHandleWidth + this.privateLabelWidth);
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvcontainerPosition() {
|
|
||||||
var _this2 = this;
|
|
||||||
|
|
||||||
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.ope;
|
|
||||||
|
|
||||||
this.$container.css('margin-left', function () {
|
|
||||||
var values = [0, '-' + _this2.privateHandleWidth + 'px'];
|
|
||||||
if (_this2.options.indeterminate) {
|
|
||||||
return '-' + _this2.privateHandleWidth / 2 + 'px';
|
|
||||||
}
|
|
||||||
if (state) {
|
|
||||||
if (_this2.options.inverse) {
|
|
||||||
return values[1];
|
|
||||||
}
|
|
||||||
return values[0];
|
|
||||||
}
|
|
||||||
if (_this2.options.inverse) {
|
|
||||||
return values[0];
|
|
||||||
}
|
|
||||||
return values[1];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvgetClass(name) {
|
|
||||||
return this.options.baseClass + '-' + name;
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvinit() {
|
|
||||||
var _this3 = this;
|
|
||||||
|
|
||||||
var init = function init() {
|
|
||||||
_this3.setPrevOptions();
|
|
||||||
prvwidth.call(_this3);
|
|
||||||
prvcontainerPosition.call(_this3);
|
|
||||||
setTimeout(function () {
|
|
||||||
return _this3.options.animate && _this3.$wrapper.addClass(prvgetClass.call(_this3, 'animate'));
|
|
||||||
}, 50);
|
|
||||||
};
|
|
||||||
if (this.$wrapper.is(':visible')) {
|
|
||||||
init();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var initInterval = window.setInterval(function () {
|
|
||||||
return _this3.$wrapper.is(':visible') && (init() || true) && window.clearInterval(initInterval);
|
|
||||||
}, 50);
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvelementHandlers() {
|
|
||||||
var _this4 = this;
|
|
||||||
|
|
||||||
return this.$element.on({
|
|
||||||
'setPreviousOptions.bootstrapSwitch': function setPreviousOptionsBootstrapSwitch() {
|
|
||||||
return _this4.setPrevOptions();
|
|
||||||
},
|
|
||||||
|
|
||||||
'previousState.bootstrapSwitch': function previousStateBootstrapSwitch() {
|
|
||||||
_this4.options = _this4.prevOptions;
|
|
||||||
if (_this4.options.indeterminate) {
|
|
||||||
_this4.$wrapper.addClass(prvgetClass.call(_this4, 'indeterminate'));
|
|
||||||
}
|
|
||||||
_this4.$element.prop('checked', _this4.options.state).trigger('change.bootstrapSwitch', true);
|
|
||||||
},
|
|
||||||
|
|
||||||
'change.bootstrapSwitch': function changeBootstrapSwitch(event, skip) {
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopImmediatePropagation();
|
|
||||||
var state = _this4.$element.is(':checked');
|
|
||||||
prvcontainerPosition.call(_this4, state);
|
|
||||||
if (state === _this4.options.state) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_this4.options.state = state;
|
|
||||||
_this4.$wrapper.toggleClass(prvgetClass.call(_this4, 'off')).toggleClass(prvgetClass.call(_this4, 'on'));
|
|
||||||
if (!skip) {
|
|
||||||
if (_this4.$element.is(':radio')) {
|
|
||||||
$('[name="' + _this4.$element.attr('name') + '"]').not(_this4.$element).prop('checked', false).trigger('change.bootstrapSwitch', true);
|
|
||||||
}
|
|
||||||
_this4.$element.trigger('switchChange.bootstrapSwitch', [state]);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
'focus.bootstrapSwitch': function focusBootstrapSwitch(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
_this4.$wrapper.addClass(prvgetClass.call(_this4, 'focused'));
|
|
||||||
},
|
|
||||||
|
|
||||||
'blur.bootstrapSwitch': function blurBootstrapSwitch(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
_this4.$wrapper.removeClass(prvgetClass.call(_this4, 'focused'));
|
|
||||||
},
|
|
||||||
|
|
||||||
'keydown.bootstrapSwitch': function keydownBootstrapSwitch(event) {
|
|
||||||
if (!event.which || _this4.options.disabled || _this4.options.readonly) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (event.which === 37 || event.which === 39) {
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopImmediatePropagation();
|
|
||||||
_this4.state(event.which === 39);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvhandleHandlers() {
|
|
||||||
var _this5 = this;
|
|
||||||
|
|
||||||
this.$on.on('click.bootstrapSwitch', function (event) {
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopPropagation();
|
|
||||||
_this5.state(false);
|
|
||||||
return _this5.$element.trigger('focus.bootstrapSwitch');
|
|
||||||
});
|
|
||||||
return this.$off.on('click.bootstrapSwitch', function (event) {
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopPropagation();
|
|
||||||
_this5.state(true);
|
|
||||||
return _this5.$element.trigger('focus.bootstrapSwitch');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvlabelHandlers() {
|
|
||||||
var _this6 = this;
|
|
||||||
|
|
||||||
var dragStart = void 0;
|
|
||||||
var dragEnd = void 0;
|
|
||||||
var handlers = {
|
|
||||||
click: function click(event) {
|
|
||||||
event.stopPropagation();
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
'mousedown.bootstrapSwitch touchstart.bootstrapSwitch': function mousedownBootstrapSwitchTouchstartBootstrapSwitch(event) {
|
|
||||||
if (dragStart || _this6.options.disabled || _this6.options.readonly) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopPropagation();
|
|
||||||
dragStart = (event.pageX || event.originalEvent.touches[0].pageX) - parseInt(_this6.$container.css('margin-left'), 10);
|
|
||||||
if (_this6.options.animate) {
|
|
||||||
_this6.$wrapper.removeClass(prvgetClass.call(_this6, 'animate'));
|
|
||||||
}
|
|
||||||
_this6.$element.trigger('focus.bootstrapSwitch');
|
|
||||||
},
|
|
||||||
|
|
||||||
'mousemove.bootstrapSwitch touchmove.bootstrapSwitch': function mousemoveBootstrapSwitchTouchmoveBootstrapSwitch(event) {
|
|
||||||
if (dragStart == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var difference = (event.pageX || event.originalEvent.touches[0].pageX) - dragStart;
|
|
||||||
event.preventDefault();
|
|
||||||
if (difference < -_this6.privateHandleWidth || difference > 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dragEnd = difference;
|
|
||||||
_this6.$container.css('margin-left', dragEnd + 'px');
|
|
||||||
},
|
|
||||||
|
|
||||||
'mouseup.bootstrapSwitch touchend.bootstrapSwitch': function mouseupBootstrapSwitchTouchendBootstrapSwitch(event) {
|
|
||||||
if (!dragStart) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
event.preventDefault();
|
|
||||||
if (_this6.options.animate) {
|
|
||||||
_this6.$wrapper.addClass(prvgetClass.call(_this6, 'animate'));
|
|
||||||
}
|
|
||||||
if (dragEnd) {
|
|
||||||
var state = dragEnd > -(_this6.privateHandleWidth / 2);
|
|
||||||
dragEnd = false;
|
|
||||||
_this6.state(_this6.options.inverse ? !state : state);
|
|
||||||
} else {
|
|
||||||
_this6.state(!_this6.options.state);
|
|
||||||
}
|
|
||||||
dragStart = false;
|
|
||||||
},
|
|
||||||
|
|
||||||
'mouseleave.bootstrapSwitch': function mouseleaveBootstrapSwitch() {
|
|
||||||
_this6.$label.trigger('mouseup.bootstrapSwitch');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$label.on(handlers);
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvexternalLabelHandler() {
|
|
||||||
var _this7 = this;
|
|
||||||
|
|
||||||
var $externalLabel = this.$element.closest('label');
|
|
||||||
$externalLabel.on('click', function (event) {
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopImmediatePropagation();
|
|
||||||
if (event.target === $externalLabel[0]) {
|
|
||||||
_this7.toggleState();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvformHandler() {
|
|
||||||
function isBootstrapSwitch() {
|
|
||||||
return $(this).data('bootstrap-switch');
|
|
||||||
}
|
|
||||||
|
|
||||||
function performReset() {
|
|
||||||
return $(this).bootstrapSwitch('state', this.checked);
|
|
||||||
}
|
|
||||||
|
|
||||||
var $form = this.$element.closest('form');
|
|
||||||
if ($form.data('bootstrap-switch')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$form.on('reset.bootstrapSwitch', function () {
|
|
||||||
window.setTimeout(function () {
|
|
||||||
$form.find('input').filter(isBootstrapSwitch).each(performReset);
|
|
||||||
}, 1);
|
|
||||||
}).data('bootstrap-switch', true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function prvgetClasses(classes) {
|
|
||||||
var _this8 = this;
|
|
||||||
|
|
||||||
if (!$.isArray(classes)) {
|
|
||||||
return [prvgetClass.call(this, classes)];
|
|
||||||
}
|
|
||||||
return classes.map(function (v) {
|
|
||||||
return prvgetClass.call(_this8, v);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var BootstrapSwitch = function () {
|
|
||||||
function BootstrapSwitch(element) {
|
|
||||||
var _this9 = this;
|
|
||||||
|
|
||||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
||||||
|
|
||||||
_classCallCheck(this, BootstrapSwitch);
|
|
||||||
|
|
||||||
this.$element = $(element);
|
|
||||||
this.options = $.extend({}, $.fn.bootstrapSwitch.defaults, prvgetElementOptions.call(this), options);
|
|
||||||
this.prevOptions = {};
|
|
||||||
this.$wrapper = $('<div>', {
|
|
||||||
class: function _class() {
|
|
||||||
return getClasses(_this9.options, _this9.$element.attr('id')).map(function (v) {
|
|
||||||
return prvgetClass.call(_this9, v);
|
|
||||||
}).concat([_this9.options.baseClass], prvgetClasses.call(_this9, _this9.options.wrapperClass)).join(' ');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.$container = $('<div>', { class: prvgetClass.call(this, 'container') });
|
|
||||||
this.$on = $('<span>', {
|
|
||||||
html: this.options.onText,
|
|
||||||
class: prvgetClass.call(this, 'handle-on') + ' ' + prvgetClass.call(this, this.options.onColor)
|
|
||||||
});
|
|
||||||
this.$off = $('<span>', {
|
|
||||||
html: this.options.offText,
|
|
||||||
class: prvgetClass.call(this, 'handle-off') + ' ' + prvgetClass.call(this, this.options.offColor)
|
|
||||||
});
|
|
||||||
this.$label = $('<span>', {
|
|
||||||
html: this.options.labelText,
|
|
||||||
class: prvgetClass.call(this, 'label')
|
|
||||||
});
|
|
||||||
|
|
||||||
this.$element.on('init.bootstrapSwitch', function () {
|
|
||||||
return _this9.options.onInit(element);
|
|
||||||
});
|
|
||||||
this.$element.on('switchChange.bootstrapSwitch', function () {
|
|
||||||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
||||||
args[_key] = arguments[_key];
|
|
||||||
}
|
|
||||||
|
|
||||||
var changeState = _this9.options.onSwitchChange.apply(element, args);
|
|
||||||
if (changeState === false) {
|
|
||||||
if (_this9.$element.is(':radio')) {
|
|
||||||
$('[name="' + _this9.$element.attr('name') + '"]').trigger('previousState.bootstrapSwitch', true);
|
|
||||||
} else {
|
|
||||||
_this9.$element.trigger('previousState.bootstrapSwitch', true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this.$container = this.$element.wrap(this.$container).parent();
|
|
||||||
this.$wrapper = this.$container.wrap(this.$wrapper).parent();
|
|
||||||
this.$element.before(this.options.inverse ? this.$off : this.$on).before(this.$label).before(this.options.inverse ? this.$on : this.$off);
|
|
||||||
|
|
||||||
if (this.options.indeterminate) {
|
|
||||||
this.$element.prop('indeterminate', true);
|
|
||||||
}
|
|
||||||
|
|
||||||
prvinit.call(this);
|
|
||||||
prvelementHandlers.call(this);
|
|
||||||
prvhandleHandlers.call(this);
|
|
||||||
prvlabelHandlers.call(this);
|
|
||||||
prvformHandler.call(this);
|
|
||||||
prvexternalLabelHandler.call(this);
|
|
||||||
this.$element.trigger('init.bootstrapSwitch', this.options.state);
|
|
||||||
}
|
|
||||||
|
|
||||||
_createClass(BootstrapSwitch, [{
|
|
||||||
key: 'setPrevOptions',
|
|
||||||
value: function setPrevOptions() {
|
|
||||||
this.prevOptions = _extends({}, this.options);
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'state',
|
|
||||||
value: function state(value, skip) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.state;
|
|
||||||
}
|
|
||||||
if (this.options.disabled || this.options.readonly || this.options.state && !this.options.radioAllOff && this.$element.is(':radio')) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
if (this.$element.is(':radio')) {
|
|
||||||
$('[name="' + this.$element.attr('name') + '"]').trigger('setPreviousOptions.bootstrapSwitch');
|
|
||||||
} else {
|
|
||||||
this.$element.trigger('setPreviousOptions.bootstrapSwitch');
|
|
||||||
}
|
|
||||||
if (this.options.indeterminate) {
|
|
||||||
this.indeterminate(false);
|
|
||||||
}
|
|
||||||
this.$element.prop('checked', Boolean(value)).trigger('change.bootstrapSwitch', skip);
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'toggleState',
|
|
||||||
value: function toggleState(skip) {
|
|
||||||
if (this.options.disabled || this.options.readonly) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
if (this.options.indeterminate) {
|
|
||||||
this.indeterminate(false);
|
|
||||||
return this.state(true);
|
|
||||||
}
|
|
||||||
return this.$element.prop('checked', !this.options.state).trigger('change.bootstrapSwitch', skip);
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'size',
|
|
||||||
value: function size(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.size;
|
|
||||||
}
|
|
||||||
if (this.options.size != null) {
|
|
||||||
this.$wrapper.removeClass(prvgetClass.call(this, this.options.size));
|
|
||||||
}
|
|
||||||
if (value) {
|
|
||||||
this.$wrapper.addClass(prvgetClass.call(this, value));
|
|
||||||
}
|
|
||||||
prvwidth.call(this);
|
|
||||||
prvcontainerPosition.call(this);
|
|
||||||
this.options.size = value;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'animate',
|
|
||||||
value: function animate(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.animate;
|
|
||||||
}
|
|
||||||
if (this.options.animate === Boolean(value)) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
return this.toggleAnimate();
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'toggleAnimate',
|
|
||||||
value: function toggleAnimate() {
|
|
||||||
this.options.animate = !this.options.animate;
|
|
||||||
this.$wrapper.toggleClass(prvgetClass.call(this, 'animate'));
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'disabled',
|
|
||||||
value: function disabled(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.disabled;
|
|
||||||
}
|
|
||||||
if (this.options.disabled === Boolean(value)) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
return this.toggleDisabled();
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'toggleDisabled',
|
|
||||||
value: function toggleDisabled() {
|
|
||||||
this.options.disabled = !this.options.disabled;
|
|
||||||
this.$element.prop('disabled', this.options.disabled);
|
|
||||||
this.$wrapper.toggleClass(prvgetClass.call(this, 'disabled'));
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'readonly',
|
|
||||||
value: function readonly(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.readonly;
|
|
||||||
}
|
|
||||||
if (this.options.readonly === Boolean(value)) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
return this.toggleReadonly();
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'toggleReadonly',
|
|
||||||
value: function toggleReadonly() {
|
|
||||||
this.options.readonly = !this.options.readonly;
|
|
||||||
this.$element.prop('readonly', this.options.readonly);
|
|
||||||
this.$wrapper.toggleClass(prvgetClass.call(this, 'readonly'));
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'indeterminate',
|
|
||||||
value: function indeterminate(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.indeterminate;
|
|
||||||
}
|
|
||||||
if (this.options.indeterminate === Boolean(value)) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
return this.toggleIndeterminate();
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'toggleIndeterminate',
|
|
||||||
value: function toggleIndeterminate() {
|
|
||||||
this.options.indeterminate = !this.options.indeterminate;
|
|
||||||
this.$element.prop('indeterminate', this.options.indeterminate);
|
|
||||||
this.$wrapper.toggleClass(prvgetClass.call(this, 'indeterminate'));
|
|
||||||
prvcontainerPosition.call(this);
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'inverse',
|
|
||||||
value: function inverse(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.inverse;
|
|
||||||
}
|
|
||||||
if (this.options.inverse === Boolean(value)) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
return this.toggleInverse();
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'toggleInverse',
|
|
||||||
value: function toggleInverse() {
|
|
||||||
this.$wrapper.toggleClass(prvgetClass.call(this, 'inverse'));
|
|
||||||
var $on = this.$on.clone(true);
|
|
||||||
var $off = this.$off.clone(true);
|
|
||||||
this.$on.replaceWith($off);
|
|
||||||
this.$off.replaceWith($on);
|
|
||||||
this.$on = $off;
|
|
||||||
this.$off = $on;
|
|
||||||
this.options.inverse = !this.options.inverse;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'onColor',
|
|
||||||
value: function onColor(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.onColor;
|
|
||||||
}
|
|
||||||
if (this.options.onColor) {
|
|
||||||
this.$on.removeClass(prvgetClass.call(this, this.options.onColor));
|
|
||||||
}
|
|
||||||
this.$on.addClass(prvgetClass.call(this, value));
|
|
||||||
this.options.onColor = value;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'offColor',
|
|
||||||
value: function offColor(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.offColor;
|
|
||||||
}
|
|
||||||
if (this.options.offColor) {
|
|
||||||
this.$off.removeClass(prvgetClass.call(this, this.options.offColor));
|
|
||||||
}
|
|
||||||
this.$off.addClass(prvgetClass.call(this, value));
|
|
||||||
this.options.offColor = value;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'onText',
|
|
||||||
value: function onText(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.onText;
|
|
||||||
}
|
|
||||||
this.$on.html(value);
|
|
||||||
prvwidth.call(this);
|
|
||||||
prvcontainerPosition.call(this);
|
|
||||||
this.options.onText = value;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'offText',
|
|
||||||
value: function offText(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.offText;
|
|
||||||
}
|
|
||||||
this.$off.html(value);
|
|
||||||
prvwidth.call(this);
|
|
||||||
prvcontainerPosition.call(this);
|
|
||||||
this.options.offText = value;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'labelText',
|
|
||||||
value: function labelText(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.labelText;
|
|
||||||
}
|
|
||||||
this.$label.html(value);
|
|
||||||
prvwidth.call(this);
|
|
||||||
this.options.labelText = value;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'handleWidth',
|
|
||||||
value: function handleWidth(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.handleWidth;
|
|
||||||
}
|
|
||||||
this.options.handleWidth = value;
|
|
||||||
prvwidth.call(this);
|
|
||||||
prvcontainerPosition.call(this);
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'labelWidth',
|
|
||||||
value: function labelWidth(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.labelWidth;
|
|
||||||
}
|
|
||||||
this.options.labelWidth = value;
|
|
||||||
prvwidth.call(this);
|
|
||||||
prvcontainerPosition.call(this);
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'baseClass',
|
|
||||||
value: function baseClass() {
|
|
||||||
return this.options.baseClass;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'wrapperClass',
|
|
||||||
value: function wrapperClass(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.wrapperClass;
|
|
||||||
}
|
|
||||||
var wrapperClass = value || $.fn.bootstrapSwitch.defaults.wrapperClass;
|
|
||||||
this.$wrapper.removeClass(prvgetClasses.call(this, this.options.wrapperClass).join(' '));
|
|
||||||
this.$wrapper.addClass(prvgetClasses.call(this, wrapperClass).join(' '));
|
|
||||||
this.options.wrapperClass = wrapperClass;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'radioAllOff',
|
|
||||||
value: function radioAllOff(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.radioAllOff;
|
|
||||||
}
|
|
||||||
var val = Boolean(value);
|
|
||||||
if (this.options.radioAllOff === val) {
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
this.options.radioAllOff = val;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'onInit',
|
|
||||||
value: function onInit(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.onInit;
|
|
||||||
}
|
|
||||||
this.options.onInit = value || $.fn.bootstrapSwitch.defaults.onInit;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'onSwitchChange',
|
|
||||||
value: function onSwitchChange(value) {
|
|
||||||
if (typeof value === 'undefined') {
|
|
||||||
return this.options.onSwitchChange;
|
|
||||||
}
|
|
||||||
this.options.onSwitchChange = value || $.fn.bootstrapSwitch.defaults.onSwitchChange;
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: 'destroy',
|
|
||||||
value: function destroy() {
|
|
||||||
var $form = this.$element.closest('form');
|
|
||||||
if ($form.length) {
|
|
||||||
$form.off('reset.bootstrapSwitch').removeData('bootstrap-switch');
|
|
||||||
}
|
|
||||||
this.$container.children().not(this.$element).remove();
|
|
||||||
this.$element.unwrap().unwrap().off('.bootstrapSwitch').removeData('bootstrap-switch');
|
|
||||||
return this.$element;
|
|
||||||
}
|
|
||||||
}]);
|
|
||||||
|
|
||||||
return BootstrapSwitch;
|
|
||||||
}();
|
|
||||||
|
|
||||||
function bootstrapSwitch(option) {
|
|
||||||
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
||||||
args[_key2 - 1] = arguments[_key2];
|
|
||||||
}
|
|
||||||
|
|
||||||
function reducer(ret, next) {
|
|
||||||
var $this = $(next);
|
|
||||||
var existingData = $this.data('bootstrap-switch');
|
|
||||||
var data = existingData || new BootstrapSwitch(next, option);
|
|
||||||
if (!existingData) {
|
|
||||||
$this.data('bootstrap-switch', data);
|
|
||||||
}
|
|
||||||
if (typeof option === 'string') {
|
|
||||||
return data[option].apply(data, args);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
return Array.prototype.reduce.call(this, reducer, this);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.bootstrapSwitch = bootstrapSwitch;
|
|
||||||
$.fn.bootstrapSwitch.Constructor = BootstrapSwitch;
|
|
||||||
$.fn.bootstrapSwitch.defaults = {
|
|
||||||
state: true,
|
|
||||||
size: null,
|
|
||||||
animate: true,
|
|
||||||
disabled: false,
|
|
||||||
readonly: false,
|
|
||||||
indeterminate: false,
|
|
||||||
inverse: false,
|
|
||||||
radioAllOff: false,
|
|
||||||
onColor: 'primary',
|
|
||||||
offColor: 'default',
|
|
||||||
onText: 'ON',
|
|
||||||
offText: 'OFF',
|
|
||||||
labelText: ' ',
|
|
||||||
handleWidth: 'auto',
|
|
||||||
labelWidth: 'auto',
|
|
||||||
baseClass: 'bootstrap-switch',
|
|
||||||
wrapperClass: 'wrapper',
|
|
||||||
onInit: function onInit() {},
|
|
||||||
onSwitchChange: function onSwitchChange() {}
|
|
||||||
};
|
|
||||||
});
|
|
File diff suppressed because one or more lines are too long
@ -1,87 +0,0 @@
|
|||||||
/*
|
|
||||||
* Bootstrap Duallistbox - v4.0.1
|
|
||||||
* A responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices.
|
|
||||||
* http://www.virtuosoft.eu/code/bootstrap-duallistbox/
|
|
||||||
*
|
|
||||||
* Made by István Ujj-Mészáros
|
|
||||||
* Under Apache License v2.0 License
|
|
||||||
*/
|
|
||||||
.bootstrap-duallistbox-container .buttons {
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container label {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .info {
|
|
||||||
display: inline-block;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
font-size: 11px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .clear1,
|
|
||||||
.bootstrap-duallistbox-container .clear2 {
|
|
||||||
display: none;
|
|
||||||
font-size: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .box1.filtered .clear1,
|
|
||||||
.bootstrap-duallistbox-container .box2.filtered .clear2 {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .move,
|
|
||||||
.bootstrap-duallistbox-container .remove {
|
|
||||||
width: 50%;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .btn-group .btn {
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
.bootstrap-duallistbox-container:not(.moveonselect) select {
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
|
||||||
.bootstrap-duallistbox-container .moveall,
|
|
||||||
.bootstrap-duallistbox-container .removeall {
|
|
||||||
width: 50%;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container.bs2compatible .btn-group > .btn + .btn {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container select {
|
|
||||||
width: 100%;
|
|
||||||
height: 300px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .filter {
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
height: 31px;
|
|
||||||
margin: 0 0 5px 0;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container .filter.placeholder {
|
|
||||||
color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container.moveonselect .move,
|
|
||||||
.bootstrap-duallistbox-container.moveonselect .remove {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bootstrap-duallistbox-container.moveonselect .moveall,
|
|
||||||
.bootstrap-duallistbox-container.moveonselect .removeall {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
.bootstrap-duallistbox-container .buttons{width:100%;margin-bottom:-1px}.bootstrap-duallistbox-container label{display:block}.bootstrap-duallistbox-container .info{display:inline-block;margin-bottom:5px;font-size:11px}.bootstrap-duallistbox-container .clear1,.bootstrap-duallistbox-container .clear2{display:none;font-size:10px}.bootstrap-duallistbox-container .box1.filtered .clear1,.bootstrap-duallistbox-container .box2.filtered .clear2{display:inline-block}.bootstrap-duallistbox-container .move,.bootstrap-duallistbox-container .remove{width:50%;box-sizing:content-box}.bootstrap-duallistbox-container .btn-group .btn{border-bottom-left-radius:0;border-bottom-right-radius:0}.bootstrap-duallistbox-container:not(.moveonselect) select{border-top-left-radius:0;border-top-right-radius:0}.bootstrap-duallistbox-container .moveall,.bootstrap-duallistbox-container .removeall{width:50%;box-sizing:content-box}.bootstrap-duallistbox-container.bs2compatible .btn-group>.btn+.btn{margin-left:0}.bootstrap-duallistbox-container select{width:100%;height:300px;padding:0}.bootstrap-duallistbox-container .filter{display:inline-block;width:100%;height:31px;margin:0 0 5px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-duallistbox-container .filter.placeholder{color:#aaa}.bootstrap-duallistbox-container.moveonselect .move,.bootstrap-duallistbox-container.moveonselect .remove{display:none}.bootstrap-duallistbox-container.moveonselect .moveall,.bootstrap-duallistbox-container.moveonselect .removeall{width:100%}
|
|
@ -1,890 +0,0 @@
|
|||||||
/*
|
|
||||||
* Bootstrap Duallistbox - v4.0.1
|
|
||||||
* A responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices.
|
|
||||||
* http://www.virtuosoft.eu/code/bootstrap-duallistbox/
|
|
||||||
*
|
|
||||||
* Made by István Ujj-Mészáros
|
|
||||||
* Under Apache License v2.0 License
|
|
||||||
*/
|
|
||||||
(function(factory) {
|
|
||||||
if (typeof define === 'function' && define.amd) {
|
|
||||||
define(['jquery'], factory);
|
|
||||||
} else if (typeof module === 'object' && module.exports) {
|
|
||||||
module.exports = function(root, jQuery) {
|
|
||||||
if (jQuery === undefined) {
|
|
||||||
if (typeof window !== 'undefined') {
|
|
||||||
jQuery = require('jquery');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
jQuery = require('jquery')(root);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
factory(jQuery);
|
|
||||||
return jQuery;
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
factory(jQuery);
|
|
||||||
}
|
|
||||||
}(function($) {
|
|
||||||
// Create the defaults once
|
|
||||||
var pluginName = 'bootstrapDualListbox',
|
|
||||||
defaults = {
|
|
||||||
filterTextClear: 'show all',
|
|
||||||
filterPlaceHolder: 'Filter',
|
|
||||||
moveSelectedLabel: 'Move selected',
|
|
||||||
moveAllLabel: 'Move all',
|
|
||||||
removeSelectedLabel: 'Remove selected',
|
|
||||||
removeAllLabel: 'Remove all',
|
|
||||||
moveOnSelect: true, // true/false (forced true on androids, see the comment later)
|
|
||||||
moveOnDoubleClick: true, // true/false (forced false on androids, cause moveOnSelect is forced to true)
|
|
||||||
preserveSelectionOnMove: false, // 'all' / 'moved' / false
|
|
||||||
selectedListLabel: false, // 'string', false
|
|
||||||
nonSelectedListLabel: false, // 'string', false
|
|
||||||
helperSelectNamePostfix: '_helper', // 'string_of_postfix' / false
|
|
||||||
selectorMinimalHeight: 100,
|
|
||||||
showFilterInputs: true, // whether to show filter inputs
|
|
||||||
nonSelectedFilter: '', // string, filter the non selected options
|
|
||||||
selectedFilter: '', // string, filter the selected options
|
|
||||||
infoText: 'Showing all {0}', // text when all options are visible / false for no info text
|
|
||||||
infoTextFiltered: '<span class="badge badge-warning">Filtered</span> {0} from {1}', // when not all of the options are visible due to the filter
|
|
||||||
infoTextEmpty: 'Empty list', // when there are no options present in the list
|
|
||||||
filterOnValues: false, // filter by selector's values, boolean
|
|
||||||
sortByInputOrder: false,
|
|
||||||
eventMoveOverride: false, // boolean, allows user to unbind default event behaviour and run their own instead
|
|
||||||
eventMoveAllOverride: false, // boolean, allows user to unbind default event behaviour and run their own instead
|
|
||||||
eventRemoveOverride: false, // boolean, allows user to unbind default event behaviour and run their own instead
|
|
||||||
eventRemoveAllOverride: false, // boolean, allows user to unbind default event behaviour and run their own instead
|
|
||||||
btnClass: 'btn-outline-secondary', // sets the button style class for all the buttons
|
|
||||||
btnMoveText: '>', // string, sets the text for the "Move" button
|
|
||||||
btnRemoveText: '<', // string, sets the text for the "Remove" button
|
|
||||||
btnMoveAllText: '>>', // string, sets the text for the "Move All" button
|
|
||||||
btnRemoveAllText: '<<' // string, sets the text for the "Remove All" button
|
|
||||||
},
|
|
||||||
// Selections are invisible on android if the containing select is styled with CSS
|
|
||||||
// http://code.google.com/p/android/issues/detail?id=16922
|
|
||||||
isBuggyAndroid = /android/i.test(navigator.userAgent.toLowerCase());
|
|
||||||
|
|
||||||
// The actual plugin constructor
|
|
||||||
function BootstrapDualListbox(element, options) {
|
|
||||||
this.element = $(element);
|
|
||||||
// jQuery has an extend method which merges the contents of two or
|
|
||||||
// more objects, storing the result in the first object. The first object
|
|
||||||
// is generally empty as we don't want to alter the default options for
|
|
||||||
// future instances of the plugin
|
|
||||||
this.settings = $.extend({}, defaults, options);
|
|
||||||
this._defaults = defaults;
|
|
||||||
this._name = pluginName;
|
|
||||||
this.init();
|
|
||||||
}
|
|
||||||
|
|
||||||
function triggerChangeEvent(dualListbox) {
|
|
||||||
dualListbox.element.trigger('change');
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateSelectionStates(dualListbox) {
|
|
||||||
dualListbox.element.find('option').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if (typeof($item.data('original-index')) === 'undefined') {
|
|
||||||
$item.data('original-index', dualListbox.elementCount++);
|
|
||||||
}
|
|
||||||
if (typeof($item.data('_selected')) === 'undefined') {
|
|
||||||
$item.data('_selected', false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function changeSelectionState(dualListbox, original_index, selected) {
|
|
||||||
dualListbox.element.find('option').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if ($item.data('original-index') === original_index) {
|
|
||||||
$item.prop('selected', selected);
|
|
||||||
if(selected){
|
|
||||||
$item.attr('data-sortindex', dualListbox.sortIndex);
|
|
||||||
dualListbox.sortIndex++;
|
|
||||||
} else {
|
|
||||||
$item.removeAttr('data-sortindex');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatString(s, args) {
|
|
||||||
console.log(s, args);
|
|
||||||
return s.replace(/{(\d+)}/g, function(match, number) {
|
|
||||||
return typeof args[number] !== 'undefined' ? args[number] : match;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshInfo(dualListbox) {
|
|
||||||
if (!dualListbox.settings.infoText) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var visible1 = dualListbox.elements.select1.find('option').length,
|
|
||||||
visible2 = dualListbox.elements.select2.find('option').length,
|
|
||||||
all1 = dualListbox.element.find('option').length - dualListbox.selectedElements,
|
|
||||||
all2 = dualListbox.selectedElements,
|
|
||||||
content = '';
|
|
||||||
|
|
||||||
if (all1 === 0) {
|
|
||||||
content = dualListbox.settings.infoTextEmpty;
|
|
||||||
} else if (visible1 === all1) {
|
|
||||||
content = formatString(dualListbox.settings.infoText, [visible1, all1]);
|
|
||||||
} else {
|
|
||||||
content = formatString(dualListbox.settings.infoTextFiltered, [visible1, all1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.elements.info1.html(content);
|
|
||||||
dualListbox.elements.box1.toggleClass('filtered', !(visible1 === all1 || all1 === 0));
|
|
||||||
|
|
||||||
if (all2 === 0) {
|
|
||||||
content = dualListbox.settings.infoTextEmpty;
|
|
||||||
} else if (visible2 === all2) {
|
|
||||||
content = formatString(dualListbox.settings.infoText, [visible2, all2]);
|
|
||||||
} else {
|
|
||||||
content = formatString(dualListbox.settings.infoTextFiltered, [visible2, all2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.elements.info2.html(content);
|
|
||||||
dualListbox.elements.box2.toggleClass('filtered', !(visible2 === all2 || all2 === 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshSelects(dualListbox) {
|
|
||||||
dualListbox.selectedElements = 0;
|
|
||||||
|
|
||||||
dualListbox.elements.select1.empty();
|
|
||||||
dualListbox.elements.select2.empty();
|
|
||||||
|
|
||||||
dualListbox.element.find('option').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if ($item.prop('selected')) {
|
|
||||||
dualListbox.selectedElements++;
|
|
||||||
dualListbox.elements.select2.append($item.clone(true).prop('selected', $item.data('_selected')));
|
|
||||||
} else {
|
|
||||||
dualListbox.elements.select1.append($item.clone(true).prop('selected', $item.data('_selected')));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (dualListbox.settings.showFilterInputs) {
|
|
||||||
filter(dualListbox, 1);
|
|
||||||
filter(dualListbox, 2);
|
|
||||||
}
|
|
||||||
refreshInfo(dualListbox);
|
|
||||||
}
|
|
||||||
|
|
||||||
function filter(dualListbox, selectIndex) {
|
|
||||||
if (!dualListbox.settings.showFilterInputs) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
saveSelections(dualListbox, selectIndex);
|
|
||||||
|
|
||||||
dualListbox.elements['select'+selectIndex].empty().scrollTop(0);
|
|
||||||
var regex,
|
|
||||||
allOptions = dualListbox.element.find('option'),
|
|
||||||
options = dualListbox.element;
|
|
||||||
|
|
||||||
if (selectIndex === 1) {
|
|
||||||
options = allOptions.not(':selected');
|
|
||||||
} else {
|
|
||||||
options = options.find('option:selected');
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
regex = new RegExp($.trim(dualListbox.elements['filterInput'+selectIndex].val()), 'gi');
|
|
||||||
}
|
|
||||||
catch(e) {
|
|
||||||
// a regex to match nothing
|
|
||||||
regex = new RegExp('/a^/', 'gi');
|
|
||||||
}
|
|
||||||
|
|
||||||
options.each(function(index, item) {
|
|
||||||
var $item = $(item),
|
|
||||||
isFiltered = true;
|
|
||||||
if (item.text.match(regex) || (dualListbox.settings.filterOnValues && $item.attr('value').match(regex) ) ) {
|
|
||||||
isFiltered = false;
|
|
||||||
dualListbox.elements['select'+selectIndex].append($item.clone(true).prop('selected', $item.data('_selected')));
|
|
||||||
}
|
|
||||||
allOptions.eq($item.data('original-index')).data('filtered'+selectIndex, isFiltered);
|
|
||||||
});
|
|
||||||
|
|
||||||
refreshInfo(dualListbox);
|
|
||||||
}
|
|
||||||
|
|
||||||
function saveSelections(dualListbox, selectIndex) {
|
|
||||||
var options = dualListbox.element.find('option');
|
|
||||||
dualListbox.elements['select'+selectIndex].find('option').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
options.eq($item.data('original-index')).data('_selected', $item.prop('selected'));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function sortOptionsByInputOrder(select){
|
|
||||||
var selectopt = select.children('option');
|
|
||||||
|
|
||||||
selectopt.sort(function(a,b){
|
|
||||||
var an = parseInt(a.getAttribute('data-sortindex')),
|
|
||||||
bn = parseInt(b.getAttribute('data-sortindex'));
|
|
||||||
|
|
||||||
if(an > bn) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if(an < bn) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
});
|
|
||||||
|
|
||||||
selectopt.detach().appendTo(select);
|
|
||||||
}
|
|
||||||
|
|
||||||
function sortOptions(select) {
|
|
||||||
select.find('option').sort(function(a, b) {
|
|
||||||
return ($(a).data('original-index') > $(b).data('original-index')) ? 1 : -1;
|
|
||||||
}).appendTo(select);
|
|
||||||
}
|
|
||||||
|
|
||||||
function clearSelections(dualListbox) {
|
|
||||||
dualListbox.elements.select1.find('option').each(function() {
|
|
||||||
dualListbox.element.find('option').data('_selected', false);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function move(dualListbox) {
|
|
||||||
if (dualListbox.settings.preserveSelectionOnMove === 'all' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 1);
|
|
||||||
saveSelections(dualListbox, 2);
|
|
||||||
} else if (dualListbox.settings.preserveSelectionOnMove === 'moved' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.elements.select1.find('option:selected').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if (!$item.data('filtered1')) {
|
|
||||||
changeSelectionState(dualListbox, $item.data('original-index'), true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
refreshSelects(dualListbox);
|
|
||||||
triggerChangeEvent(dualListbox);
|
|
||||||
if(dualListbox.settings.sortByInputOrder){
|
|
||||||
sortOptionsByInputOrder(dualListbox.elements.select2);
|
|
||||||
} else {
|
|
||||||
sortOptions(dualListbox.elements.select2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function remove(dualListbox) {
|
|
||||||
if (dualListbox.settings.preserveSelectionOnMove === 'all' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 1);
|
|
||||||
saveSelections(dualListbox, 2);
|
|
||||||
} else if (dualListbox.settings.preserveSelectionOnMove === 'moved' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.elements.select2.find('option:selected').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if (!$item.data('filtered2')) {
|
|
||||||
changeSelectionState(dualListbox, $item.data('original-index'), false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
refreshSelects(dualListbox);
|
|
||||||
triggerChangeEvent(dualListbox);
|
|
||||||
sortOptions(dualListbox.elements.select1);
|
|
||||||
if(dualListbox.settings.sortByInputOrder){
|
|
||||||
sortOptionsByInputOrder(dualListbox.elements.select2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function moveAll(dualListbox) {
|
|
||||||
if (dualListbox.settings.preserveSelectionOnMove === 'all' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 1);
|
|
||||||
saveSelections(dualListbox, 2);
|
|
||||||
} else if (dualListbox.settings.preserveSelectionOnMove === 'moved' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.element.find('option').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if (!$item.data('filtered1')) {
|
|
||||||
$item.prop('selected', true);
|
|
||||||
$item.attr('data-sortindex', dualListbox.sortIndex);
|
|
||||||
dualListbox.sortIndex++;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
refreshSelects(dualListbox);
|
|
||||||
triggerChangeEvent(dualListbox);
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeAll(dualListbox) {
|
|
||||||
if (dualListbox.settings.preserveSelectionOnMove === 'all' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 1);
|
|
||||||
saveSelections(dualListbox, 2);
|
|
||||||
} else if (dualListbox.settings.preserveSelectionOnMove === 'moved' && !dualListbox.settings.moveOnSelect) {
|
|
||||||
saveSelections(dualListbox, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.element.find('option').each(function(index, item) {
|
|
||||||
var $item = $(item);
|
|
||||||
if (!$item.data('filtered2')) {
|
|
||||||
$item.prop('selected', false);
|
|
||||||
$item.removeAttr('data-sortindex');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
refreshSelects(dualListbox);
|
|
||||||
triggerChangeEvent(dualListbox);
|
|
||||||
}
|
|
||||||
|
|
||||||
function bindEvents(dualListbox) {
|
|
||||||
dualListbox.elements.form.submit(function(e) {
|
|
||||||
if (dualListbox.elements.filterInput1.is(':focus')) {
|
|
||||||
e.preventDefault();
|
|
||||||
dualListbox.elements.filterInput1.focusout();
|
|
||||||
} else if (dualListbox.elements.filterInput2.is(':focus')) {
|
|
||||||
e.preventDefault();
|
|
||||||
dualListbox.elements.filterInput2.focusout();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
dualListbox.element.on('bootstrapDualListbox.refresh', function(e, mustClearSelections){
|
|
||||||
dualListbox.refresh(mustClearSelections);
|
|
||||||
});
|
|
||||||
|
|
||||||
dualListbox.elements.filterClear1.on('click', function() {
|
|
||||||
dualListbox.setNonSelectedFilter('', true);
|
|
||||||
});
|
|
||||||
|
|
||||||
dualListbox.elements.filterClear2.on('click', function() {
|
|
||||||
dualListbox.setSelectedFilter('', true);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (dualListbox.settings.eventMoveOverride === false) {
|
|
||||||
dualListbox.elements.moveButton.on('click', function() {
|
|
||||||
move(dualListbox);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dualListbox.settings.eventMoveAllOverride === false) {
|
|
||||||
dualListbox.elements.moveAllButton.on('click', function() {
|
|
||||||
moveAll(dualListbox);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dualListbox.settings.eventRemoveOverride === false) {
|
|
||||||
dualListbox.elements.removeButton.on('click', function() {
|
|
||||||
remove(dualListbox);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dualListbox.settings.eventRemoveAllOverride === false) {
|
|
||||||
dualListbox.elements.removeAllButton.on('click', function() {
|
|
||||||
removeAll(dualListbox);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
dualListbox.elements.filterInput1.on('change keyup', function() {
|
|
||||||
filter(dualListbox, 1);
|
|
||||||
});
|
|
||||||
|
|
||||||
dualListbox.elements.filterInput2.on('change keyup', function() {
|
|
||||||
filter(dualListbox, 2);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
BootstrapDualListbox.prototype = {
|
|
||||||
init: function () {
|
|
||||||
// Add the custom HTML template
|
|
||||||
this.container = $('' +
|
|
||||||
'<div class="bootstrap-duallistbox-container row">' +
|
|
||||||
' <div class="box1 col-md-6">' +
|
|
||||||
' <label></label>' +
|
|
||||||
' <span class="info-container">' +
|
|
||||||
' <span class="info"></span>' +
|
|
||||||
' <button type="button" class="btn btn-sm clear1" style="float:right!important;"></button>' +
|
|
||||||
' </span>' +
|
|
||||||
' <input class="form-control filter" type="text">' +
|
|
||||||
' <div class="btn-group buttons">' +
|
|
||||||
' <button type="button" class="btn moveall"></button>' +
|
|
||||||
' <button type="button" class="btn move"></button>' +
|
|
||||||
' </div>' +
|
|
||||||
' <select multiple="multiple"></select>' +
|
|
||||||
' </div>' +
|
|
||||||
' <div class="box2 col-md-6">' +
|
|
||||||
' <label></label>' +
|
|
||||||
' <span class="info-container">' +
|
|
||||||
' <span class="info"></span>' +
|
|
||||||
' <button type="button" class="btn btn-sm clear2" style="float:right!important;"></button>' +
|
|
||||||
' </span>' +
|
|
||||||
' <input class="form-control filter" type="text">' +
|
|
||||||
' <div class="btn-group buttons">' +
|
|
||||||
' <button type="button" class="btn remove"></button>' +
|
|
||||||
' <button type="button" class="btn removeall"></button>' +
|
|
||||||
' </div>' +
|
|
||||||
' <select multiple="multiple"></select>' +
|
|
||||||
' </div>' +
|
|
||||||
'</div>')
|
|
||||||
.insertBefore(this.element);
|
|
||||||
|
|
||||||
// Cache the inner elements
|
|
||||||
this.elements = {
|
|
||||||
originalSelect: this.element,
|
|
||||||
box1: $('.box1', this.container),
|
|
||||||
box2: $('.box2', this.container),
|
|
||||||
filterInput1: $('.box1 .filter', this.container),
|
|
||||||
filterInput2: $('.box2 .filter', this.container),
|
|
||||||
filterClear1: $('.box1 .clear1', this.container),
|
|
||||||
filterClear2: $('.box2 .clear2', this.container),
|
|
||||||
label1: $('.box1 > label', this.container),
|
|
||||||
label2: $('.box2 > label', this.container),
|
|
||||||
info1: $('.box1 .info', this.container),
|
|
||||||
info2: $('.box2 .info', this.container),
|
|
||||||
select1: $('.box1 select', this.container),
|
|
||||||
select2: $('.box2 select', this.container),
|
|
||||||
moveButton: $('.box1 .move', this.container),
|
|
||||||
removeButton: $('.box2 .remove', this.container),
|
|
||||||
moveAllButton: $('.box1 .moveall', this.container),
|
|
||||||
removeAllButton: $('.box2 .removeall', this.container),
|
|
||||||
form: $($('.box1 .filter', this.container)[0].form)
|
|
||||||
};
|
|
||||||
|
|
||||||
// Set select IDs
|
|
||||||
this.originalSelectName = this.element.attr('name') || '';
|
|
||||||
var select1Id = 'bootstrap-duallistbox-nonselected-list_' + this.originalSelectName,
|
|
||||||
select2Id = 'bootstrap-duallistbox-selected-list_' + this.originalSelectName;
|
|
||||||
this.elements.select1.attr('id', select1Id);
|
|
||||||
this.elements.select2.attr('id', select2Id);
|
|
||||||
this.elements.label1.attr('for', select1Id);
|
|
||||||
this.elements.label2.attr('for', select2Id);
|
|
||||||
|
|
||||||
// Apply all settings
|
|
||||||
this.selectedElements = 0;
|
|
||||||
this.sortIndex = 0;
|
|
||||||
this.elementCount = 0;
|
|
||||||
this.setFilterTextClear(this.settings.filterTextClear);
|
|
||||||
this.setFilterPlaceHolder(this.settings.filterPlaceHolder);
|
|
||||||
this.setMoveSelectedLabel(this.settings.moveSelectedLabel);
|
|
||||||
this.setMoveAllLabel(this.settings.moveAllLabel);
|
|
||||||
this.setRemoveSelectedLabel(this.settings.removeSelectedLabel);
|
|
||||||
this.setRemoveAllLabel(this.settings.removeAllLabel);
|
|
||||||
this.setMoveOnSelect(this.settings.moveOnSelect);
|
|
||||||
this.setMoveOnDoubleClick(this.settings.moveOnDoubleClick);
|
|
||||||
this.setPreserveSelectionOnMove(this.settings.preserveSelectionOnMove);
|
|
||||||
this.setSelectedListLabel(this.settings.selectedListLabel);
|
|
||||||
this.setNonSelectedListLabel(this.settings.nonSelectedListLabel);
|
|
||||||
this.setHelperSelectNamePostfix(this.settings.helperSelectNamePostfix);
|
|
||||||
this.setSelectOrMinimalHeight(this.settings.selectorMinimalHeight);
|
|
||||||
|
|
||||||
updateSelectionStates(this);
|
|
||||||
|
|
||||||
this.setShowFilterInputs(this.settings.showFilterInputs);
|
|
||||||
this.setNonSelectedFilter(this.settings.nonSelectedFilter);
|
|
||||||
this.setSelectedFilter(this.settings.selectedFilter);
|
|
||||||
this.setInfoText(this.settings.infoText);
|
|
||||||
this.setInfoTextFiltered(this.settings.infoTextFiltered);
|
|
||||||
this.setInfoTextEmpty(this.settings.infoTextEmpty);
|
|
||||||
this.setFilterOnValues(this.settings.filterOnValues);
|
|
||||||
this.setSortByInputOrder(this.settings.sortByInputOrder);
|
|
||||||
this.setEventMoveOverride(this.settings.eventMoveOverride);
|
|
||||||
this.setEventMoveAllOverride(this.settings.eventMoveAllOverride);
|
|
||||||
this.setEventRemoveOverride(this.settings.eventRemoveOverride);
|
|
||||||
this.setEventRemoveAllOverride(this.settings.eventRemoveAllOverride);
|
|
||||||
this.setBtnClass(this.settings.btnClass);
|
|
||||||
this.setBtnMoveText(this.settings.btnMoveText);
|
|
||||||
this.setBtnRemoveText(this.settings.btnRemoveText);
|
|
||||||
this.setBtnMoveAllText(this.settings.btnMoveAllText);
|
|
||||||
this.setBtnRemoveAllText(this.settings.btnRemoveAllText);
|
|
||||||
|
|
||||||
// Hide the original select
|
|
||||||
this.element.hide();
|
|
||||||
|
|
||||||
bindEvents(this);
|
|
||||||
refreshSelects(this);
|
|
||||||
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setFilterTextClear: function(value, refresh) {
|
|
||||||
this.settings.filterTextClear = value;
|
|
||||||
this.elements.filterClear1.html(value);
|
|
||||||
this.elements.filterClear2.html(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setFilterPlaceHolder: function(value, refresh) {
|
|
||||||
this.settings.filterPlaceHolder = value;
|
|
||||||
this.elements.filterInput1.attr('placeholder', value);
|
|
||||||
this.elements.filterInput2.attr('placeholder', value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setMoveSelectedLabel: function(value, refresh) {
|
|
||||||
this.settings.moveSelectedLabel = value;
|
|
||||||
this.elements.moveButton.attr('title', value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setMoveAllLabel: function(value, refresh) {
|
|
||||||
this.settings.moveAllLabel = value;
|
|
||||||
this.elements.moveAllButton.attr('title', value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setRemoveSelectedLabel: function(value, refresh) {
|
|
||||||
this.settings.removeSelectedLabel = value;
|
|
||||||
this.elements.removeButton.attr('title', value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setRemoveAllLabel: function(value, refresh) {
|
|
||||||
this.settings.removeAllLabel = value;
|
|
||||||
this.elements.removeAllButton.attr('title', value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setMoveOnSelect: function(value, refresh) {
|
|
||||||
if (isBuggyAndroid) {
|
|
||||||
value = true;
|
|
||||||
}
|
|
||||||
this.settings.moveOnSelect = value;
|
|
||||||
if (this.settings.moveOnSelect) {
|
|
||||||
this.container.addClass('moveonselect');
|
|
||||||
var self = this;
|
|
||||||
this.elements.select1.on('change', function() {
|
|
||||||
move(self);
|
|
||||||
});
|
|
||||||
this.elements.select2.on('change', function() {
|
|
||||||
remove(self);
|
|
||||||
});
|
|
||||||
this.elements.moveButton.detach();
|
|
||||||
this.elements.removeButton.detach();
|
|
||||||
} else {
|
|
||||||
this.container.removeClass('moveonselect');
|
|
||||||
this.elements.select1.off('change');
|
|
||||||
this.elements.select2.off('change');
|
|
||||||
this.elements.moveButton.insertAfter(this.elements.moveAllButton);
|
|
||||||
this.elements.removeButton.insertBefore(this.elements.removeAllButton);
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setMoveOnDoubleClick: function(value, refresh) {
|
|
||||||
if (isBuggyAndroid) {
|
|
||||||
value = false;
|
|
||||||
}
|
|
||||||
this.settings.moveOnDoubleClick = value;
|
|
||||||
if (this.settings.moveOnDoubleClick) {
|
|
||||||
this.container.addClass('moveondoubleclick');
|
|
||||||
var self = this;
|
|
||||||
this.elements.select1.on('dblclick', function() {
|
|
||||||
move(self);
|
|
||||||
});
|
|
||||||
this.elements.select2.on('dblclick', function() {
|
|
||||||
remove(self);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.container.removeClass('moveondoubleclick');
|
|
||||||
this.elements.select1.off('dblclick');
|
|
||||||
this.elements.select2.off('dblclick');
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setPreserveSelectionOnMove: function(value, refresh) {
|
|
||||||
// We are forcing to move on select and disabling preserveSelectionOnMove on Android
|
|
||||||
if (isBuggyAndroid) {
|
|
||||||
value = false;
|
|
||||||
}
|
|
||||||
this.settings.preserveSelectionOnMove = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setSelectedListLabel: function(value, refresh) {
|
|
||||||
this.settings.selectedListLabel = value;
|
|
||||||
if (value) {
|
|
||||||
this.elements.label2.show().html(value);
|
|
||||||
} else {
|
|
||||||
this.elements.label2.hide().html(value);
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setNonSelectedListLabel: function(value, refresh) {
|
|
||||||
this.settings.nonSelectedListLabel = value;
|
|
||||||
if (value) {
|
|
||||||
this.elements.label1.show().html(value);
|
|
||||||
} else {
|
|
||||||
this.elements.label1.hide().html(value);
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setHelperSelectNamePostfix: function(value, refresh) {
|
|
||||||
this.settings.helperSelectNamePostfix = value;
|
|
||||||
if (value) {
|
|
||||||
this.elements.select1.attr('name', this.originalSelectName + value + '1');
|
|
||||||
this.elements.select2.attr('name', this.originalSelectName + value + '2');
|
|
||||||
} else {
|
|
||||||
this.elements.select1.removeAttr('name');
|
|
||||||
this.elements.select2.removeAttr('name');
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setSelectOrMinimalHeight: function(value, refresh) {
|
|
||||||
this.settings.selectorMinimalHeight = value;
|
|
||||||
var height = this.element.height();
|
|
||||||
if (this.element.height() < value) {
|
|
||||||
height = value;
|
|
||||||
}
|
|
||||||
this.elements.select1.height(height);
|
|
||||||
this.elements.select2.height(height);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setShowFilterInputs: function(value, refresh) {
|
|
||||||
if (!value) {
|
|
||||||
this.setNonSelectedFilter('');
|
|
||||||
this.setSelectedFilter('');
|
|
||||||
refreshSelects(this);
|
|
||||||
this.elements.filterInput1.hide();
|
|
||||||
this.elements.filterInput2.hide();
|
|
||||||
} else {
|
|
||||||
this.elements.filterInput1.show();
|
|
||||||
this.elements.filterInput2.show();
|
|
||||||
}
|
|
||||||
this.settings.showFilterInputs = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setNonSelectedFilter: function(value, refresh) {
|
|
||||||
if (this.settings.showFilterInputs) {
|
|
||||||
this.settings.nonSelectedFilter = value;
|
|
||||||
this.elements.filterInput1.val(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setSelectedFilter: function(value, refresh) {
|
|
||||||
if (this.settings.showFilterInputs) {
|
|
||||||
this.settings.selectedFilter = value;
|
|
||||||
this.elements.filterInput2.val(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setInfoText: function(value, refresh) {
|
|
||||||
this.settings.infoText = value;
|
|
||||||
if (value) {
|
|
||||||
this.elements.info1.show();
|
|
||||||
this.elements.info2.show();
|
|
||||||
} else {
|
|
||||||
this.elements.info1.hide();
|
|
||||||
this.elements.info2.hide();
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setInfoTextFiltered: function(value, refresh) {
|
|
||||||
this.settings.infoTextFiltered = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setInfoTextEmpty: function(value, refresh) {
|
|
||||||
this.settings.infoTextEmpty = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setFilterOnValues: function(value, refresh) {
|
|
||||||
this.settings.filterOnValues = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setSortByInputOrder: function(value, refresh){
|
|
||||||
this.settings.sortByInputOrder = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setEventMoveOverride: function(value, refresh) {
|
|
||||||
this.settings.eventMoveOverride = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setEventMoveAllOverride: function(value, refresh) {
|
|
||||||
this.settings.eventMoveAllOverride = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setEventRemoveOverride: function(value, refresh) {
|
|
||||||
this.settings.eventRemoveOverride = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setEventRemoveAllOverride: function(value, refresh) {
|
|
||||||
this.settings.eventRemoveAllOverride = value;
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setBtnClass: function(value, refresh) {
|
|
||||||
this.settings.btnClass = value;
|
|
||||||
this.elements.moveButton.attr('class', 'btn move').addClass(value);
|
|
||||||
this.elements.removeButton.attr('class', 'btn remove').addClass(value);
|
|
||||||
this.elements.moveAllButton.attr('class', 'btn moveall').addClass(value);
|
|
||||||
this.elements.removeAllButton.attr('class', 'btn removeall').addClass(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setBtnMoveText: function(value, refresh) {
|
|
||||||
this.settings.btnMoveText = value;
|
|
||||||
this.elements.moveButton.html(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setBtnRemoveText: function(value, refresh) {
|
|
||||||
this.settings.btnMoveText = value;
|
|
||||||
this.elements.removeButton.html(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setBtnMoveAllText: function(value, refresh) {
|
|
||||||
this.settings.btnMoveText = value;
|
|
||||||
this.elements.moveAllButton.html(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
setBtnRemoveAllText: function(value, refresh) {
|
|
||||||
this.settings.btnMoveText = value;
|
|
||||||
this.elements.removeAllButton.html(value);
|
|
||||||
if (refresh) {
|
|
||||||
refreshSelects(this);
|
|
||||||
}
|
|
||||||
return this.element;
|
|
||||||
},
|
|
||||||
getContainer: function() {
|
|
||||||
return this.container;
|
|
||||||
},
|
|
||||||
refresh: function(mustClearSelections) {
|
|
||||||
updateSelectionStates(this);
|
|
||||||
|
|
||||||
if (!mustClearSelections) {
|
|
||||||
saveSelections(this, 1);
|
|
||||||
saveSelections(this, 2);
|
|
||||||
} else {
|
|
||||||
clearSelections(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshSelects(this);
|
|
||||||
},
|
|
||||||
destroy: function() {
|
|
||||||
this.container.remove();
|
|
||||||
this.element.show();
|
|
||||||
$.data(this, 'plugin_' + pluginName, null);
|
|
||||||
return this.element;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// A really lightweight plugin wrapper around the constructor,
|
|
||||||
// preventing against multiple instantiations
|
|
||||||
$.fn[ pluginName ] = function (options) {
|
|
||||||
var args = arguments;
|
|
||||||
|
|
||||||
// Is the first parameter an object (options), or was omitted, instantiate a new instance of the plugin.
|
|
||||||
if (options === undefined || typeof options === 'object') {
|
|
||||||
return this.each(function () {
|
|
||||||
// If this is not a select
|
|
||||||
if (!$(this).is('select')) {
|
|
||||||
$(this).find('select').each(function(index, item) {
|
|
||||||
// For each nested select, instantiate the Dual List Box
|
|
||||||
$(item).bootstrapDualListbox(options);
|
|
||||||
});
|
|
||||||
} else if (!$.data(this, 'plugin_' + pluginName)) {
|
|
||||||
// Only allow the plugin to be instantiated once so we check that the element has no plugin instantiation yet
|
|
||||||
|
|
||||||
// if it has no instance, create a new one, pass options to our plugin constructor,
|
|
||||||
// and store the plugin instance in the elements jQuery data object.
|
|
||||||
$.data(this, 'plugin_' + pluginName, new BootstrapDualListbox(this, options));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// If the first parameter is a string and it doesn't start with an underscore or "contains" the `init`-function,
|
|
||||||
// treat this as a call to a public method.
|
|
||||||
} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
|
|
||||||
|
|
||||||
// Cache the method call to make it possible to return a value
|
|
||||||
var returns;
|
|
||||||
|
|
||||||
this.each(function () {
|
|
||||||
var instance = $.data(this, 'plugin_' + pluginName);
|
|
||||||
// Tests that there's already a plugin-instance and checks that the requested public method exists
|
|
||||||
if (instance instanceof BootstrapDualListbox && typeof instance[options] === 'function') {
|
|
||||||
// Call the method of our plugin instance, and pass it the supplied arguments.
|
|
||||||
returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// If the earlier cached method gives a value back return the value,
|
|
||||||
// otherwise return this to preserve chainability.
|
|
||||||
return returns !== undefined ? returns : this;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}));
|
|
File diff suppressed because one or more lines are too long
@ -1,167 +0,0 @@
|
|||||||
/*!
|
|
||||||
* bsCustomFileInput v1.3.2 (https://github.com/Johann-S/bs-custom-file-input)
|
|
||||||
* Copyright 2018 - 2019 Johann-S <johann.servoire@gmail.com>
|
|
||||||
* Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
|
|
||||||
*/
|
|
||||||
(function (global, factory) {
|
|
||||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
||||||
typeof define === 'function' && define.amd ? define(factory) :
|
|
||||||
(global = global || self, global.bsCustomFileInput = factory());
|
|
||||||
}(this, function () { 'use strict';
|
|
||||||
|
|
||||||
var Selector = {
|
|
||||||
CUSTOMFILE: '.custom-file input[type="file"]',
|
|
||||||
CUSTOMFILELABEL: '.custom-file-label',
|
|
||||||
FORM: 'form',
|
|
||||||
INPUT: 'input'
|
|
||||||
};
|
|
||||||
|
|
||||||
var textNodeType = 3;
|
|
||||||
|
|
||||||
var getDefaultText = function getDefaultText(input) {
|
|
||||||
var defaultText = '';
|
|
||||||
var label = input.parentNode.querySelector(Selector.CUSTOMFILELABEL);
|
|
||||||
|
|
||||||
if (label) {
|
|
||||||
defaultText = label.innerHTML;
|
|
||||||
}
|
|
||||||
|
|
||||||
return defaultText;
|
|
||||||
};
|
|
||||||
|
|
||||||
var findFirstChildNode = function findFirstChildNode(element) {
|
|
||||||
if (element.childNodes.length > 0) {
|
|
||||||
var childNodes = [].slice.call(element.childNodes);
|
|
||||||
|
|
||||||
for (var i = 0; i < childNodes.length; i++) {
|
|
||||||
var node = childNodes[i];
|
|
||||||
|
|
||||||
if (node.nodeType !== textNodeType) {
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return element;
|
|
||||||
};
|
|
||||||
|
|
||||||
var restoreDefaultText = function restoreDefaultText(input) {
|
|
||||||
var defaultText = input.bsCustomFileInput.defaultText;
|
|
||||||
var label = input.parentNode.querySelector(Selector.CUSTOMFILELABEL);
|
|
||||||
|
|
||||||
if (label) {
|
|
||||||
var element = findFirstChildNode(label);
|
|
||||||
element.innerHTML = defaultText;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var fileApi = !!window.File;
|
|
||||||
var FAKE_PATH = 'fakepath';
|
|
||||||
var FAKE_PATH_SEPARATOR = '\\';
|
|
||||||
|
|
||||||
var getSelectedFiles = function getSelectedFiles(input) {
|
|
||||||
if (input.hasAttribute('multiple') && fileApi) {
|
|
||||||
return [].slice.call(input.files).map(function (file) {
|
|
||||||
return file.name;
|
|
||||||
}).join(', ');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (input.value.indexOf(FAKE_PATH) !== -1) {
|
|
||||||
var splittedValue = input.value.split(FAKE_PATH_SEPARATOR);
|
|
||||||
return splittedValue[splittedValue.length - 1];
|
|
||||||
}
|
|
||||||
|
|
||||||
return input.value;
|
|
||||||
};
|
|
||||||
|
|
||||||
function handleInputChange() {
|
|
||||||
var label = this.parentNode.querySelector(Selector.CUSTOMFILELABEL);
|
|
||||||
|
|
||||||
if (label) {
|
|
||||||
var element = findFirstChildNode(label);
|
|
||||||
var inputValue = getSelectedFiles(this);
|
|
||||||
|
|
||||||
if (inputValue.length) {
|
|
||||||
element.innerHTML = inputValue;
|
|
||||||
} else {
|
|
||||||
restoreDefaultText(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleFormReset() {
|
|
||||||
var customFileList = [].slice.call(this.querySelectorAll(Selector.INPUT)).filter(function (input) {
|
|
||||||
return !!input.bsCustomFileInput;
|
|
||||||
});
|
|
||||||
|
|
||||||
for (var i = 0, len = customFileList.length; i < len; i++) {
|
|
||||||
restoreDefaultText(customFileList[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var customProperty = 'bsCustomFileInput';
|
|
||||||
var Event = {
|
|
||||||
FORMRESET: 'reset',
|
|
||||||
INPUTCHANGE: 'change'
|
|
||||||
};
|
|
||||||
var bsCustomFileInput = {
|
|
||||||
init: function init(inputSelector, formSelector) {
|
|
||||||
if (inputSelector === void 0) {
|
|
||||||
inputSelector = Selector.CUSTOMFILE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (formSelector === void 0) {
|
|
||||||
formSelector = Selector.FORM;
|
|
||||||
}
|
|
||||||
|
|
||||||
var customFileInputList = [].slice.call(document.querySelectorAll(inputSelector));
|
|
||||||
var formList = [].slice.call(document.querySelectorAll(formSelector));
|
|
||||||
|
|
||||||
for (var i = 0, len = customFileInputList.length; i < len; i++) {
|
|
||||||
var input = customFileInputList[i];
|
|
||||||
Object.defineProperty(input, customProperty, {
|
|
||||||
value: {
|
|
||||||
defaultText: getDefaultText(input)
|
|
||||||
},
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
handleInputChange.call(input);
|
|
||||||
input.addEventListener(Event.INPUTCHANGE, handleInputChange);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var _i = 0, _len = formList.length; _i < _len; _i++) {
|
|
||||||
formList[_i].addEventListener(Event.FORMRESET, handleFormReset);
|
|
||||||
|
|
||||||
Object.defineProperty(formList[_i], customProperty, {
|
|
||||||
value: true,
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
destroy: function destroy() {
|
|
||||||
var formList = [].slice.call(document.querySelectorAll(Selector.FORM)).filter(function (form) {
|
|
||||||
return !!form.bsCustomFileInput;
|
|
||||||
});
|
|
||||||
var customFileInputList = [].slice.call(document.querySelectorAll(Selector.INPUT)).filter(function (input) {
|
|
||||||
return !!input.bsCustomFileInput;
|
|
||||||
});
|
|
||||||
|
|
||||||
for (var i = 0, len = customFileInputList.length; i < len; i++) {
|
|
||||||
var input = customFileInputList[i];
|
|
||||||
restoreDefaultText(input);
|
|
||||||
input[customProperty] = undefined;
|
|
||||||
input.removeEventListener(Event.INPUTCHANGE, handleInputChange);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var _i2 = 0, _len2 = formList.length; _i2 < _len2; _i2++) {
|
|
||||||
formList[_i2].removeEventListener(Event.FORMRESET, handleFormReset);
|
|
||||||
|
|
||||||
formList[_i2][customProperty] = undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return bsCustomFileInput;
|
|
||||||
|
|
||||||
}));
|
|
||||||
//# sourceMappingURL=bs-custom-file-input.js.map
|
|
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
|||||||
/*!
|
|
||||||
* bsCustomFileInput v1.3.2 (https://github.com/Johann-S/bs-custom-file-input)
|
|
||||||
* Copyright 2018 - 2019 Johann-S <johann.servoire@gmail.com>
|
|
||||||
* Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
|
|
||||||
*/
|
|
||||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).bsCustomFileInput=t()}(this,function(){"use strict";var d={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},r=function(e){if(0<e.childNodes.length)for(var t=[].slice.call(e.childNodes),n=0;n<t.length;n++){var r=t[n];if(3!==r.nodeType)return r}return e},u=function(e){var t=e.bsCustomFileInput.defaultText,n=e.parentNode.querySelector(d.CUSTOMFILELABEL);n&&(r(n).innerHTML=t)},n=!!window.File,l=function(e){if(e.hasAttribute("multiple")&&n)return[].slice.call(e.files).map(function(e){return e.name}).join(", ");if(-1===e.value.indexOf("fakepath"))return e.value;var t=e.value.split("\\");return t[t.length-1]};function v(){var e=this.parentNode.querySelector(d.CUSTOMFILELABEL);if(e){var t=r(e),n=l(this);n.length?t.innerHTML=n:u(this)}}function p(){for(var e=[].slice.call(this.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),t=0,n=e.length;t<n;t++)u(e[t])}var m="bsCustomFileInput",L="reset",h="change";return{init:function(e,t){void 0===e&&(e=d.CUSTOMFILE),void 0===t&&(t=d.FORM);for(var n,r,l,i=[].slice.call(document.querySelectorAll(e)),o=[].slice.call(document.querySelectorAll(t)),u=0,c=i.length;u<c;u++){var f=i[u];Object.defineProperty(f,m,{value:{defaultText:(n=f,r=void 0,void 0,r="",l=n.parentNode.querySelector(d.CUSTOMFILELABEL),l&&(r=l.innerHTML),r)},writable:!0}),v.call(f),f.addEventListener(h,v)}for(var a=0,s=o.length;a<s;a++)o[a].addEventListener(L,p),Object.defineProperty(o[a],m,{value:!0,writable:!0})},destroy:function(){for(var e=[].slice.call(document.querySelectorAll(d.FORM)).filter(function(e){return!!e.bsCustomFileInput}),t=[].slice.call(document.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),n=0,r=t.length;n<r;n++){var l=t[n];u(l),l[m]=void 0,l.removeEventListener(h,v)}for(var i=0,o=e.length;i<o;i++)e[i].removeEventListener(L,p),e[i][m]=void 0}}});
|
|
||||||
//# sourceMappingURL=bs-custom-file-input.min.js.map
|
|
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,47 +0,0 @@
|
|||||||
/*
|
|
||||||
* DOM element rendering detection
|
|
||||||
* https://davidwalsh.name/detect-node-insertion
|
|
||||||
*/
|
|
||||||
@keyframes chartjs-render-animation {
|
|
||||||
from { opacity: 0.99; }
|
|
||||||
to { opacity: 1; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.chartjs-render-monitor {
|
|
||||||
animation: chartjs-render-animation 0.001s;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* DOM element resizing detection
|
|
||||||
* https://github.com/marcj/css-element-queries
|
|
||||||
*/
|
|
||||||
.chartjs-size-monitor,
|
|
||||||
.chartjs-size-monitor-expand,
|
|
||||||
.chartjs-size-monitor-shrink {
|
|
||||||
position: absolute;
|
|
||||||
direction: ltr;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
pointer-events: none;
|
|
||||||
visibility: hidden;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.chartjs-size-monitor-expand > div {
|
|
||||||
position: absolute;
|
|
||||||
width: 1000000px;
|
|
||||||
height: 1000000px;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.chartjs-size-monitor-shrink > div {
|
|
||||||
position: absolute;
|
|
||||||
width: 200%;
|
|
||||||
height: 200%;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
14680
src/resources/wwwroot/lib/AdminLTE/plugins/chart.js/Chart.js
vendored
14680
src/resources/wwwroot/lib/AdminLTE/plugins/chart.js/Chart.js
vendored
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}
|
|
File diff suppressed because one or more lines are too long
@ -1,91 +0,0 @@
|
|||||||
div.dt-autofill-handle {
|
|
||||||
position: absolute;
|
|
||||||
height: 8px;
|
|
||||||
width: 8px;
|
|
||||||
z-index: 102;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #0275d8;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dtk-focus-alt div.dt-autofill-handle {
|
|
||||||
background: #ff8b33;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-autofill-select {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 1001;
|
|
||||||
background-color: #0275d8;
|
|
||||||
background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
|
|
||||||
}
|
|
||||||
div.dt-autofill-select.top, div.dt-autofill-select.bottom {
|
|
||||||
height: 3px;
|
|
||||||
margin-top: -1px;
|
|
||||||
}
|
|
||||||
div.dt-autofill-select.left, div.dt-autofill-select.right {
|
|
||||||
width: 3px;
|
|
||||||
margin-left: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-autofill-list {
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 500px;
|
|
||||||
margin-left: -250px;
|
|
||||||
background-color: white;
|
|
||||||
border-radius: 6px;
|
|
||||||
box-shadow: 0 0 5px #555;
|
|
||||||
border: 2px solid #444;
|
|
||||||
z-index: 11;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 1.5em 2em;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list ul {
|
|
||||||
display: table;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
list-style: none;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list ul li {
|
|
||||||
display: table-row;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list ul li:last-child div.dt-autofill-question, div.dt-autofill-list ul li:last-child div.dt-autofill-button {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list ul li:hover {
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list div.dt-autofill-question {
|
|
||||||
display: table-cell;
|
|
||||||
padding: 0.5em 0;
|
|
||||||
border-bottom: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list div.dt-autofill-question input[type=number] {
|
|
||||||
padding: 6px;
|
|
||||||
width: 30px;
|
|
||||||
margin: -2px 0;
|
|
||||||
}
|
|
||||||
div.dt-autofill-list div.dt-autofill-button {
|
|
||||||
display: table-cell;
|
|
||||||
padding: 0.5em 0;
|
|
||||||
border-bottom: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-autofill-background {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background: rgba(0, 0, 0, 0.7);
|
|
||||||
background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-autofill-list div.dt-autofill-question input[type=number] {
|
|
||||||
padding: 6px;
|
|
||||||
width: 60px;
|
|
||||||
margin: -2px 0;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;background:#0275d8;cursor:pointer}div.dtk-focus-alt div.dt-autofill-handle{background:#ff8b33}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#0275d8;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:60px;margin:-2px 0}
|
|
@ -1,43 +0,0 @@
|
|||||||
/*! Bootstrap integration for DataTables' AutoFill
|
|
||||||
* ©2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net-bs4', 'datatables.net-autofill'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net-bs4')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.AutoFill ) {
|
|
||||||
require('datatables.net-autofill')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
DataTable.AutoFill.classes.btn = 'btn btn-primary';
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
Bootstrap integration for DataTables' AutoFill
|
|
||||||
©2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-autofill"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-bs4")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="btn btn-primary";return a});
|
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
|||||||
/*!
|
|
||||||
AutoFill 2.3.4
|
|
||||||
©2008-2019 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(e){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(g){return e(g,window,document)}):"object"===typeof exports?module.exports=function(g,i){g||(g=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(g,i).$;return e(i,g,g.document)}:e(jQuery,window,document)})(function(e,g,i,r){var l=e.fn.dataTable,t=0,k=function(b,c){if(!l.versionCheck||!l.versionCheck("1.10.8"))throw"Warning: AutoFill requires DataTables 1.10.8 or greater";this.c=e.extend(!0,{},l.defaults.autoFill,
|
|
||||||
k.defaults,c);this.s={dt:new l.Api(b),namespace:".autoFill"+t++,scroll:{},scrollInterval:null,handle:{height:0,width:0},enabled:!1};this.dom={handle:e('<div class="dt-autofill-handle"/>'),select:{top:e('<div class="dt-autofill-select top"/>'),right:e('<div class="dt-autofill-select right"/>'),bottom:e('<div class="dt-autofill-select bottom"/>'),left:e('<div class="dt-autofill-select left"/>')},background:e('<div class="dt-autofill-background"/>'),list:e('<div class="dt-autofill-list">'+this.s.dt.i18n("autoFill.info",
|
|
||||||
"")+"<ul/></div>"),dtScroll:null,offsetParent:null};this._constructor()};e.extend(k.prototype,{enabled:function(){return this.s.enabled},enable:function(b){var c=this;if(!1===b)return this.disable();this.s.enabled=!0;this._focusListener();this.dom.handle.on("mousedown",function(a){c._mousedown(a);return!1});return this},disable:function(){this.s.enabled=!1;this._focusListenerRemove();return this},_constructor:function(){var b=this,c=this.s.dt,a=e("div.dataTables_scrollBody",this.s.dt.table().container());
|
|
||||||
c.settings()[0].autoFill=this;a.length&&(this.dom.dtScroll=a,"static"===a.css("position")&&a.css("position","relative"));!1!==this.c.enable&&this.enable();c.on("destroy.autoFill",function(){b._focusListenerRemove()})},_attach:function(b){var c=this.s.dt,a=c.cell(b).index(),d=this.dom.handle,f=this.s.handle;if(!a||-1===c.columns(this.c.columns).indexes().indexOf(a.column))this._detach();else{this.dom.offsetParent||(this.dom.offsetParent=e(c.table().node()).offsetParent());if(!f.height||!f.width)d.appendTo("body"),
|
|
||||||
f.height=d.outerHeight(),f.width=d.outerWidth();c=this._getPosition(b,this.dom.offsetParent);this.dom.attachedTo=b;d.css({top:c.top+b.offsetHeight-f.height,left:c.left+b.offsetWidth-f.width}).appendTo(this.dom.offsetParent)}},_actionSelector:function(b){var c=this,a=this.s.dt,d=k.actions,f=[];e.each(d,function(c,d){d.available(a,b)&&f.push(c)});if(1===f.length&&!1===this.c.alwaysAsk){var j=d[f[0]].execute(a,b);this._update(j,b)}else{var h=this.dom.list.children("ul").empty();f.push("cancel");e.each(f,
|
|
||||||
function(f,j){h.append(e("<li/>").append('<div class="dt-autofill-question">'+d[j].option(a,b)+"<div>").append(e('<div class="dt-autofill-button">').append(e('<button class="'+k.classes.btn+'">'+a.i18n("autoFill.button",">")+"</button>").on("click",function(){var f=d[j].execute(a,b,e(this).closest("li"));c._update(f,b);c.dom.background.remove();c.dom.list.remove()}))))});this.dom.background.appendTo("body");this.dom.list.appendTo("body");this.dom.list.css("margin-top",-1*(this.dom.list.outerHeight()/
|
|
||||||
2))}},_detach:function(){this.dom.attachedTo=null;this.dom.handle.detach()},_drawSelection:function(b){var c=this.s.dt,a=this.s.start,d=e(this.dom.start),f={row:this.c.vertical?c.rows({page:"current"}).nodes().indexOf(b.parentNode):a.row,column:this.c.horizontal?e(b).index():a.column},b=c.column.index("toData",f.column),j=c.row(":eq("+f.row+")",{page:"current"}),j=e(c.cell(j.index(),b).node());if(c.cell(j).any()&&-1!==c.columns(this.c.columns).indexes().indexOf(b)){this.s.end=f;var h,c=a.row<f.row?
|
|
||||||
d:j;h=a.row<f.row?j:d;b=a.column<f.column?d:j;d=a.column<f.column?j:d;c=this._getPosition(c.get(0)).top;b=this._getPosition(b.get(0)).left;a=this._getPosition(h.get(0)).top+h.outerHeight()-c;d=this._getPosition(d.get(0)).left+d.outerWidth()-b;f=this.dom.select;f.top.css({top:c,left:b,width:d});f.left.css({top:c,left:b,height:a});f.bottom.css({top:c+a,left:b,width:d});f.right.css({top:c,left:b+d,height:a})}},_editor:function(b){var c=this.s.dt,a=this.c.editor;if(a){for(var d={},f=[],e=a.fields(),h=
|
|
||||||
0,i=b.length;h<i;h++)for(var p=0,k=b[h].length;p<k;p++){var n=b[h][p],g=c.settings()[0].aoColumns[n.index.column],o=g.editField;if(o===r)for(var g=g.mData,q=0,l=e.length;q<l;q++){var s=a.field(e[q]);if(s.dataSrc()===g){o=s.name();break}}if(!o)throw"Could not automatically determine field data. Please see https://datatables.net/tn/11";d[o]||(d[o]={});g=c.row(n.index.row).id();d[o][g]=n.set;f.push(n.index)}a.bubble(f,!1).multiSet(d).submit()}},_emitEvent:function(b,c){this.s.dt.iterator("table",function(a){e(a.nTable).triggerHandler(b+
|
|
||||||
".dt",c)})},_focusListener:function(){var b=this,c=this.s.dt,a=this.s.namespace,d=null!==this.c.focus?this.c.focus:c.init().keys||c.settings()[0].keytable?"focus":"hover";if("focus"===d)c.on("key-focus.autoFill",function(a,c,d){b._attach(d.node())}).on("key-blur.autoFill",function(){b._detach()});else if("click"===d)e(c.table().body()).on("click"+a,"td, th",function(){b._attach(this)}),e(i.body).on("click"+a,function(a){e(a.target).parents().filter(c.table().body()).length||b._detach()});else e(c.table().body()).on("mouseenter"+
|
|
||||||
a,"td, th",function(){b._attach(this)}).on("mouseleave"+a,function(a){e(a.relatedTarget).hasClass("dt-autofill-handle")||b._detach()})},_focusListenerRemove:function(){var b=this.s.dt;b.off(".autoFill");e(b.table().body()).off(this.s.namespace);e(i.body).off(this.s.namespace)},_getPosition:function(b,c){var a=b,d,f=0,j=0;c||(c=e(e(this.s.dt.table().node())[0].offsetParent));do{var h=a.offsetTop,i=a.offsetLeft;d=e(a.offsetParent);f+=h+1*parseInt(d.css("border-top-width"));j+=i+1*parseInt(d.css("border-left-width"));
|
|
||||||
if("body"===a.nodeName.toLowerCase())break;a=d.get(0)}while(d.get(0)!==c.get(0));return{top:f,left:j}},_mousedown:function(b){var c=this,a=this.s.dt;this.dom.start=this.dom.attachedTo;this.s.start={row:a.rows({page:"current"}).nodes().indexOf(e(this.dom.start).parent()[0]),column:e(this.dom.start).index()};e(i.body).on("mousemove.autoFill",function(a){c._mousemove(a)}).on("mouseup.autoFill",function(a){c._mouseup(a)});var d=this.dom.select,a=e(a.table().node()).offsetParent();d.top.appendTo(a);d.left.appendTo(a);
|
|
||||||
d.right.appendTo(a);d.bottom.appendTo(a);this._drawSelection(this.dom.start,b);this.dom.handle.css("display","none");b=this.dom.dtScroll;this.s.scroll={windowHeight:e(g).height(),windowWidth:e(g).width(),dtTop:b?b.offset().top:null,dtLeft:b?b.offset().left:null,dtHeight:b?b.outerHeight():null,dtWidth:b?b.outerWidth():null}},_mousemove:function(b){var c=b.target.nodeName.toLowerCase();"td"!==c&&"th"!==c||(this._drawSelection(b.target,b),this._shiftScroll(b))},_mouseup:function(b){e(i.body).off(".autoFill");
|
|
||||||
var c=this,a=this.s.dt,d=this.dom.select;d.top.remove();d.left.remove();d.right.remove();d.bottom.remove();this.dom.handle.css("display","block");var d=this.s.start,f=this.s.end;if(!(d.row===f.row&&d.column===f.column)){var j=a.cell(":eq("+d.row+")",d.column+":visible",{page:"current"});if(e("div.DTE",j.node()).length){var h=a.editor();h.on("submitSuccess.dtaf close.dtaf",function(){h.off(".dtaf");setTimeout(function(){c._mouseup(b)},100)}).on("submitComplete.dtaf preSubmitCancelled.dtaf close.dtaf",
|
|
||||||
function(){h.off(".dtaf")});h.submit()}else{for(var g=this._range(d.row,f.row),d=this._range(d.column,f.column),f=[],k=a.settings()[0],l=k.aoColumns,n=a.columns(this.c.columns).indexes(),m=0;m<g.length;m++)f.push(e.map(d,function(b){var c=a.row(":eq("+g[m]+")",{page:"current"}),b=a.cell(c.index(),b+":visible"),c=b.data(),d=b.index(),f=l[d.column].editField;f!==r&&(c=k.oApi._fnGetObjectDataFn(f)(a.row(d.row).data()));if(-1!==n.indexOf(d.column))return{cell:b,data:c,label:b.data(),index:d}}));this._actionSelector(f);
|
|
||||||
clearInterval(this.s.scrollInterval);this.s.scrollInterval=null}}},_range:function(b,c){var a=[],d;if(b<=c)for(d=b;d<=c;d++)a.push(d);else for(d=b;d>=c;d--)a.push(d);return a},_shiftScroll:function(b){var c=this,a=this.s.scroll,d=!1,f=b.pageY-i.body.scrollTop,e=b.pageX-i.body.scrollLeft,h,g,k,l;65>f?h=-5:f>a.windowHeight-65&&(h=5);65>e?g=-5:e>a.windowWidth-65&&(g=5);null!==a.dtTop&&b.pageY<a.dtTop+65?k=-5:null!==a.dtTop&&b.pageY>a.dtTop+a.dtHeight-65&&(k=5);null!==a.dtLeft&&b.pageX<a.dtLeft+65?l=
|
|
||||||
-5:null!==a.dtLeft&&b.pageX>a.dtLeft+a.dtWidth-65&&(l=5);h||g||k||l?(a.windowVert=h,a.windowHoriz=g,a.dtVert=k,a.dtHoriz=l,d=!0):this.s.scrollInterval&&(clearInterval(this.s.scrollInterval),this.s.scrollInterval=null);!this.s.scrollInterval&&d&&(this.s.scrollInterval=setInterval(function(){if(a.windowVert)i.body.scrollTop=i.body.scrollTop+a.windowVert;if(a.windowHoriz)i.body.scrollLeft=i.body.scrollLeft+a.windowHoriz;if(a.dtVert||a.dtHoriz){var b=c.dom.dtScroll[0];if(a.dtVert)b.scrollTop=b.scrollTop+
|
|
||||||
a.dtVert;if(a.dtHoriz)b.scrollLeft=b.scrollLeft+a.dtHoriz}},20))},_update:function(b,c){if(!1!==b){var a=this.s.dt,d,f=a.columns(this.c.columns).indexes();this._emitEvent("preAutoFill",[a,c]);this._editor(c);if(null!==this.c.update?this.c.update:!this.c.editor){for(var e=0,h=c.length;e<h;e++)for(var g=0,i=c[e].length;g<i;g++)d=c[e][g],-1!==f.indexOf(d.index.column)&&d.cell.data(d.set);a.draw(!1)}this._emitEvent("autoFill",[a,c])}}});k.actions={increment:{available:function(b,c){var a=c[0][0].label;
|
|
||||||
return!isNaN(a-parseFloat(a))},option:function(b){return b.i18n("autoFill.increment",'Increment / decrement each cell by: <input type="number" value="1">')},execute:function(b,c,a){for(var b=1*c[0][0].data,a=1*e("input",a).val(),d=0,f=c.length;d<f;d++)for(var j=0,g=c[d].length;j<g;j++)c[d][j].set=b,b+=a}},fill:{available:function(){return!0},option:function(b,c){return b.i18n("autoFill.fill","Fill all cells with <i>"+c[0][0].label+"</i>")},execute:function(b,c){for(var a=c[0][0].data,d=0,f=c.length;d<
|
|
||||||
f;d++)for(var e=0,g=c[d].length;e<g;e++)c[d][e].set=a}},fillHorizontal:{available:function(b,c){return 1<c.length&&1<c[0].length},option:function(b){return b.i18n("autoFill.fillHorizontal","Fill cells horizontally")},execute:function(b,c){for(var a=0,d=c.length;a<d;a++)for(var e=0,g=c[a].length;e<g;e++)c[a][e].set=c[a][0].data}},fillVertical:{available:function(b,c){return 1<c.length&&1<c[0].length},option:function(b){return b.i18n("autoFill.fillVertical","Fill cells vertically")},execute:function(b,
|
|
||||||
c){for(var a=0,d=c.length;a<d;a++)for(var e=0,g=c[a].length;e<g;e++)c[a][e].set=c[0][e].data}},cancel:{available:function(){return!1},option:function(b){return b.i18n("autoFill.cancel","Cancel")},execute:function(){return!1}}};k.version="2.3.4";k.defaults={alwaysAsk:!1,focus:null,columns:"",enable:!0,update:null,editor:null,vertical:!0,horizontal:!0};k.classes={btn:"btn"};var m=e.fn.dataTable.Api;m.register("autoFill()",function(){return this});m.register("autoFill().enabled()",function(){var b=this.context[0];
|
|
||||||
return b.autoFill?b.autoFill.enabled():!1});m.register("autoFill().enable()",function(b){return this.iterator("table",function(c){c.autoFill&&c.autoFill.enable(b)})});m.register("autoFill().disable()",function(){return this.iterator("table",function(b){b.autoFill&&b.autoFill.disable()})});e(i).on("preInit.dt.autofill",function(b,c){if("dt"===b.namespace){var a=c.oInit.autoFill,d=l.defaults.autoFill;if(a||d)d=e.extend({},a,d),!1!==a&&new k(c,d)}});l.AutoFill=k;return l.AutoFill=k});
|
|
@ -1,195 +0,0 @@
|
|||||||
@keyframes dtb-spinner {
|
|
||||||
100% {
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-o-keyframes dtb-spinner {
|
|
||||||
100% {
|
|
||||||
-o-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-ms-keyframes dtb-spinner {
|
|
||||||
100% {
|
|
||||||
-ms-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-webkit-keyframes dtb-spinner {
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-moz-keyframes dtb-spinner {
|
|
||||||
100% {
|
|
||||||
-moz-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
div.dt-button-info {
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 400px;
|
|
||||||
margin-top: -100px;
|
|
||||||
margin-left: -200px;
|
|
||||||
background-color: white;
|
|
||||||
border: 2px solid #111;
|
|
||||||
box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
|
|
||||||
border-radius: 3px;
|
|
||||||
text-align: center;
|
|
||||||
z-index: 21;
|
|
||||||
}
|
|
||||||
div.dt-button-info h2 {
|
|
||||||
padding: 0.5em;
|
|
||||||
margin: 0;
|
|
||||||
font-weight: normal;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
background-color: #f3f3f3;
|
|
||||||
}
|
|
||||||
div.dt-button-info > div {
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-button-collection-title {
|
|
||||||
text-align: center;
|
|
||||||
padding: 0.3em 0 0.5em;
|
|
||||||
font-size: 0.9em;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-button-collection-title:empty {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-button-collection {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 2001;
|
|
||||||
}
|
|
||||||
div.dt-button-collection div.dropdown-menu {
|
|
||||||
display: block;
|
|
||||||
z-index: 2002;
|
|
||||||
min-width: 100%;
|
|
||||||
}
|
|
||||||
div.dt-button-collection div.dt-button-collection-title {
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
|
||||||
}
|
|
||||||
div.dt-button-collection.fixed {
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -75px;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.fixed.two-column {
|
|
||||||
margin-left: -200px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.fixed.three-column {
|
|
||||||
margin-left: -225px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.fixed.four-column {
|
|
||||||
margin-left: -300px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection > :last-child {
|
|
||||||
display: block !important;
|
|
||||||
-webkit-column-gap: 8px;
|
|
||||||
-moz-column-gap: 8px;
|
|
||||||
-ms-column-gap: 8px;
|
|
||||||
-o-column-gap: 8px;
|
|
||||||
column-gap: 8px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection > :last-child > * {
|
|
||||||
-webkit-column-break-inside: avoid;
|
|
||||||
break-inside: avoid;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.two-column {
|
|
||||||
width: 400px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.two-column > :last-child {
|
|
||||||
padding-bottom: 1px;
|
|
||||||
-webkit-column-count: 2;
|
|
||||||
-moz-column-count: 2;
|
|
||||||
-ms-column-count: 2;
|
|
||||||
-o-column-count: 2;
|
|
||||||
column-count: 2;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.three-column {
|
|
||||||
width: 450px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.three-column > :last-child {
|
|
||||||
padding-bottom: 1px;
|
|
||||||
-webkit-column-count: 3;
|
|
||||||
-moz-column-count: 3;
|
|
||||||
-ms-column-count: 3;
|
|
||||||
-o-column-count: 3;
|
|
||||||
column-count: 3;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.four-column {
|
|
||||||
width: 600px;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.four-column > :last-child {
|
|
||||||
padding-bottom: 1px;
|
|
||||||
-webkit-column-count: 4;
|
|
||||||
-moz-column-count: 4;
|
|
||||||
-ms-column-count: 4;
|
|
||||||
-o-column-count: 4;
|
|
||||||
column-count: 4;
|
|
||||||
}
|
|
||||||
div.dt-button-collection .dt-button {
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.fixed {
|
|
||||||
max-width: none;
|
|
||||||
}
|
|
||||||
div.dt-button-collection.fixed:before, div.dt-button-collection.fixed:after {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dt-button-background {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
z-index: 999;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
div.dt-buttons {
|
|
||||||
float: none;
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
div.dt-buttons a.btn {
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
div.dt-buttons button.btn.processing,
|
|
||||||
div.dt-buttons div.btn.processing,
|
|
||||||
div.dt-buttons a.btn.processing {
|
|
||||||
color: rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
div.dt-buttons button.btn.processing:after,
|
|
||||||
div.dt-buttons div.btn.processing:after,
|
|
||||||
div.dt-buttons a.btn.processing:after {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
margin: -8px 0 0 -8px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: block;
|
|
||||||
content: ' ';
|
|
||||||
border: 2px solid #282828;
|
|
||||||
border-radius: 50%;
|
|
||||||
border-left-color: transparent;
|
|
||||||
border-right-color: transparent;
|
|
||||||
animation: dtb-spinner 1500ms infinite linear;
|
|
||||||
-o-animation: dtb-spinner 1500ms infinite linear;
|
|
||||||
-ms-animation: dtb-spinner 1500ms infinite linear;
|
|
||||||
-webkit-animation: dtb-spinner 1500ms infinite linear;
|
|
||||||
-moz-animation: dtb-spinner 1500ms infinite linear;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-button-collection-title{text-align:center;padding:0.3em 0 0.5em;font-size:0.9em}div.dt-button-collection-title:empty{display:none}div.dt-button-collection{position:absolute;z-index:2001}div.dt-button-collection div.dropdown-menu{display:block;z-index:2002;min-width:100%}div.dt-button-collection div.dt-button-collection-title{background-color:white;border:1px solid rgba(0,0,0,0.15)}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-200px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>:last-child{display:block !important;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection>:last-child>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:400px}div.dt-button-collection.two-column>:last-child{padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px}div.dt-button-collection.three-column>:last-child{padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px}div.dt-button-collection.four-column>:last-child{padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-collection.fixed{max-width:none}div.dt-button-collection.fixed:before,div.dt-button-collection.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}div.dt-buttons button.btn.processing,div.dt-buttons div.btn.processing,div.dt-buttons a.btn.processing{color:rgba(0,0,0,0.2)}div.dt-buttons button.btn.processing:after,div.dt-buttons div.btn.processing:after,div.dt-buttons a.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
|
|
@ -1,68 +0,0 @@
|
|||||||
/*! Bootstrap integration for DataTables' Buttons
|
|
||||||
* ©2016 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net-bs4', 'datatables.net-buttons'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net-bs4')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.Buttons ) {
|
|
||||||
require('datatables.net-buttons')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
$.extend( true, DataTable.Buttons.defaults, {
|
|
||||||
dom: {
|
|
||||||
container: {
|
|
||||||
className: 'dt-buttons btn-group flex-wrap'
|
|
||||||
},
|
|
||||||
button: {
|
|
||||||
className: 'btn btn-secondary'
|
|
||||||
},
|
|
||||||
collection: {
|
|
||||||
tag: 'div',
|
|
||||||
className: 'dropdown-menu',
|
|
||||||
button: {
|
|
||||||
tag: 'a',
|
|
||||||
className: 'dt-button dropdown-item',
|
|
||||||
active: 'active',
|
|
||||||
disabled: 'disabled'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
buttonCreated: function ( config, button ) {
|
|
||||||
return config.buttons ?
|
|
||||||
$('<div class="btn-group"/>').append(button) :
|
|
||||||
button;
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
DataTable.ext.buttons.collection.className += ' dropdown-toggle';
|
|
||||||
DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right';
|
|
||||||
|
|
||||||
return DataTable.Buttons;
|
|
||||||
}));
|
|
@ -1,6 +0,0 @@
|
|||||||
/*!
|
|
||||||
Bootstrap integration for DataTables' Buttons
|
|
||||||
©2016 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-buttons"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,c){a||(a=window);if(!c||!c.fn.dataTable)c=require("datatables.net-bs4")(a,c).$;c.fn.dataTable.Buttons||require("datatables.net-buttons")(a,c);return b(c,a,a.document)}:b(jQuery,window,document)})(function(b){var a=b.fn.dataTable;b.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group flex-wrap"},
|
|
||||||
button:{className:"btn btn-secondary"},collection:{tag:"div",className:"dropdown-menu",button:{tag:"a",className:"dt-button dropdown-item",active:"active",disabled:"disabled"}}},buttonCreated:function(a,d){return a.buttons?b('<div class="btn-group"/>').append(d):d}});a.ext.buttons.collection.className+=" dropdown-toggle";a.ext.buttons.collection.rightAlignClassName="dropdown-menu-right";return a.Buttons});
|
|
@ -1,206 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Column visibility buttons for Buttons and DataTables.
|
|
||||||
* 2016 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.Buttons ) {
|
|
||||||
require('datatables.net-buttons')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
$.extend( DataTable.ext.buttons, {
|
|
||||||
// A collection of column visibility buttons
|
|
||||||
colvis: function ( dt, conf ) {
|
|
||||||
return {
|
|
||||||
extend: 'collection',
|
|
||||||
text: function ( dt ) {
|
|
||||||
return dt.i18n( 'buttons.colvis', 'Column visibility' );
|
|
||||||
},
|
|
||||||
className: 'buttons-colvis',
|
|
||||||
buttons: [ {
|
|
||||||
extend: 'columnsToggle',
|
|
||||||
columns: conf.columns,
|
|
||||||
columnText: conf.columnText
|
|
||||||
} ]
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
// Selected columns with individual buttons - toggle column visibility
|
|
||||||
columnsToggle: function ( dt, conf ) {
|
|
||||||
var columns = dt.columns( conf.columns ).indexes().map( function ( idx ) {
|
|
||||||
return {
|
|
||||||
extend: 'columnToggle',
|
|
||||||
columns: idx,
|
|
||||||
columnText: conf.columnText
|
|
||||||
};
|
|
||||||
} ).toArray();
|
|
||||||
|
|
||||||
return columns;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Single button to toggle column visibility
|
|
||||||
columnToggle: function ( dt, conf ) {
|
|
||||||
return {
|
|
||||||
extend: 'columnVisibility',
|
|
||||||
columns: conf.columns,
|
|
||||||
columnText: conf.columnText
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
// Selected columns with individual buttons - set column visibility
|
|
||||||
columnsVisibility: function ( dt, conf ) {
|
|
||||||
var columns = dt.columns( conf.columns ).indexes().map( function ( idx ) {
|
|
||||||
return {
|
|
||||||
extend: 'columnVisibility',
|
|
||||||
columns: idx,
|
|
||||||
visibility: conf.visibility,
|
|
||||||
columnText: conf.columnText
|
|
||||||
};
|
|
||||||
} ).toArray();
|
|
||||||
|
|
||||||
return columns;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Single button to set column visibility
|
|
||||||
columnVisibility: {
|
|
||||||
columns: undefined, // column selector
|
|
||||||
text: function ( dt, button, conf ) {
|
|
||||||
return conf._columnText( dt, conf );
|
|
||||||
},
|
|
||||||
className: 'buttons-columnVisibility',
|
|
||||||
action: function ( e, dt, button, conf ) {
|
|
||||||
var col = dt.columns( conf.columns );
|
|
||||||
var curr = col.visible();
|
|
||||||
|
|
||||||
col.visible( conf.visibility !== undefined ?
|
|
||||||
conf.visibility :
|
|
||||||
! (curr.length ? curr[0] : false )
|
|
||||||
);
|
|
||||||
},
|
|
||||||
init: function ( dt, button, conf ) {
|
|
||||||
var that = this;
|
|
||||||
button.attr( 'data-cv-idx', conf.columns );
|
|
||||||
|
|
||||||
dt
|
|
||||||
.on( 'column-visibility.dt'+conf.namespace, function (e, settings) {
|
|
||||||
if ( ! settings.bDestroying && settings.nTable == dt.settings()[0].nTable ) {
|
|
||||||
that.active( dt.column( conf.columns ).visible() );
|
|
||||||
}
|
|
||||||
} )
|
|
||||||
.on( 'column-reorder.dt'+conf.namespace, function (e, settings, details) {
|
|
||||||
if ( dt.columns( conf.columns ).count() !== 1 ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// This button controls the same column index but the text for the column has
|
|
||||||
// changed
|
|
||||||
button.text( conf._columnText( dt, conf ) );
|
|
||||||
|
|
||||||
// Since its a different column, we need to check its visibility
|
|
||||||
that.active( dt.column( conf.columns ).visible() );
|
|
||||||
} );
|
|
||||||
|
|
||||||
this.active( dt.column( conf.columns ).visible() );
|
|
||||||
},
|
|
||||||
destroy: function ( dt, button, conf ) {
|
|
||||||
dt
|
|
||||||
.off( 'column-visibility.dt'+conf.namespace )
|
|
||||||
.off( 'column-reorder.dt'+conf.namespace );
|
|
||||||
},
|
|
||||||
|
|
||||||
_columnText: function ( dt, conf ) {
|
|
||||||
// Use DataTables' internal data structure until this is presented
|
|
||||||
// is a public API. The other option is to use
|
|
||||||
// `$( column(col).node() ).text()` but the node might not have been
|
|
||||||
// populated when Buttons is constructed.
|
|
||||||
var idx = dt.column( conf.columns ).index();
|
|
||||||
var title = dt.settings()[0].aoColumns[ idx ].sTitle
|
|
||||||
.replace(/\n/g," ") // remove new lines
|
|
||||||
.replace(/<br\s*\/?>/gi, " ") // replace line breaks with spaces
|
|
||||||
.replace(/<select(.*?)<\/select>/g, "") // remove select tags, including options text
|
|
||||||
.replace(/<!\-\-.*?\-\->/g, "") // strip HTML comments
|
|
||||||
.replace(/<.*?>/g, "") // strip HTML
|
|
||||||
.replace(/^\s+|\s+$/g,""); // trim
|
|
||||||
|
|
||||||
return conf.columnText ?
|
|
||||||
conf.columnText( dt, idx, title ) :
|
|
||||||
title;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
colvisRestore: {
|
|
||||||
className: 'buttons-colvisRestore',
|
|
||||||
|
|
||||||
text: function ( dt ) {
|
|
||||||
return dt.i18n( 'buttons.colvisRestore', 'Restore visibility' );
|
|
||||||
},
|
|
||||||
|
|
||||||
init: function ( dt, button, conf ) {
|
|
||||||
conf._visOriginal = dt.columns().indexes().map( function ( idx ) {
|
|
||||||
return dt.column( idx ).visible();
|
|
||||||
} ).toArray();
|
|
||||||
},
|
|
||||||
|
|
||||||
action: function ( e, dt, button, conf ) {
|
|
||||||
dt.columns().every( function ( i ) {
|
|
||||||
// Take into account that ColReorder might have disrupted our
|
|
||||||
// indexes
|
|
||||||
var idx = dt.colReorder && dt.colReorder.transpose ?
|
|
||||||
dt.colReorder.transpose( i, 'toOriginal' ) :
|
|
||||||
i;
|
|
||||||
|
|
||||||
this.visible( conf._visOriginal[ idx ] );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
colvisGroup: {
|
|
||||||
className: 'buttons-colvisGroup',
|
|
||||||
|
|
||||||
action: function ( e, dt, button, conf ) {
|
|
||||||
dt.columns( conf.show ).visible( true, false );
|
|
||||||
dt.columns( conf.hide ).visible( false, false );
|
|
||||||
|
|
||||||
dt.columns.adjust();
|
|
||||||
},
|
|
||||||
|
|
||||||
show: [],
|
|
||||||
|
|
||||||
hide: []
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable.Buttons;
|
|
||||||
}));
|
|
@ -1,6 +0,0 @@
|
|||||||
(function(g){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(d){return g(d,window,document)}):"object"===typeof exports?module.exports=function(d,f){d||(d=window);if(!f||!f.fn.dataTable)f=require("datatables.net")(d,f).$;f.fn.dataTable.Buttons||require("datatables.net-buttons")(d,f);return g(f,d,d.document)}:g(jQuery,window,document)})(function(g,d,f,h){d=g.fn.dataTable;g.extend(d.ext.buttons,{colvis:function(a,b){return{extend:"collection",
|
|
||||||
text:function(b){return b.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",buttons:[{extend:"columnsToggle",columns:b.columns,columnText:b.columnText}]}},columnsToggle:function(a,b){return a.columns(b.columns).indexes().map(function(a){return{extend:"columnToggle",columns:a,columnText:b.columnText}}).toArray()},columnToggle:function(a,b){return{extend:"columnVisibility",columns:b.columns,columnText:b.columnText}},columnsVisibility:function(a,b){return a.columns(b.columns).indexes().map(function(a){return{extend:"columnVisibility",
|
|
||||||
columns:a,visibility:b.visibility,columnText:b.columnText}}).toArray()},columnVisibility:{columns:h,text:function(a,b,c){return c._columnText(a,c)},className:"buttons-columnVisibility",action:function(a,b,c,e){a=b.columns(e.columns);b=a.visible();a.visible(e.visibility!==h?e.visibility:!(b.length&&b[0]))},init:function(a,b,c){var e=this;b.attr("data-cv-idx",c.columns);a.on("column-visibility.dt"+c.namespace,function(b,d){!d.bDestroying&&d.nTable==a.settings()[0].nTable&&e.active(a.column(c.columns).visible())}).on("column-reorder.dt"+
|
|
||||||
c.namespace,function(){1===a.columns(c.columns).count()&&(b.text(c._columnText(a,c)),e.active(a.column(c.columns).visible()))});this.active(a.column(c.columns).visible())},destroy:function(a,b,c){a.off("column-visibility.dt"+c.namespace).off("column-reorder.dt"+c.namespace)},_columnText:function(a,b){var c=a.column(b.columns).index(),e=a.settings()[0].aoColumns[c].sTitle.replace(/\n/g," ").replace(/<br\s*\/?>/gi," ").replace(/<select(.*?)<\/select>/g,"").replace(/<!\-\-.*?\-\->/g,"").replace(/<.*?>/g,
|
|
||||||
"").replace(/^\s+|\s+$/g,"");return b.columnText?b.columnText(a,c,e):e}},colvisRestore:{className:"buttons-colvisRestore",text:function(a){return a.i18n("buttons.colvisRestore","Restore visibility")},init:function(a,b,c){c._visOriginal=a.columns().indexes().map(function(b){return a.column(b).visible()}).toArray()},action:function(a,b,c,d){b.columns().every(function(a){a=b.colReorder&&b.colReorder.transpose?b.colReorder.transpose(a,"toOriginal"):a;this.visible(d._visOriginal[a])})}},colvisGroup:{className:"buttons-colvisGroup",
|
|
||||||
action:function(a,b,c,d){b.columns(d.show).visible(!0,!1);b.columns(d.hide).visible(!1,!1);b.columns.adjust()},show:[],hide:[]}});return d.Buttons});
|
|
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,210 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Print button for Buttons and DataTables.
|
|
||||||
* 2016 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.Buttons ) {
|
|
||||||
require('datatables.net-buttons')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
var _link = document.createElement( 'a' );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clone link and style tags, taking into account the need to change the source
|
|
||||||
* path.
|
|
||||||
*
|
|
||||||
* @param {node} el Element to convert
|
|
||||||
*/
|
|
||||||
var _styleToAbs = function( el ) {
|
|
||||||
var url;
|
|
||||||
var clone = $(el).clone()[0];
|
|
||||||
var linkHost;
|
|
||||||
|
|
||||||
if ( clone.nodeName.toLowerCase() === 'link' ) {
|
|
||||||
clone.href = _relToAbs( clone.href );
|
|
||||||
}
|
|
||||||
|
|
||||||
return clone.outerHTML;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert a URL from a relative to an absolute address so it will work
|
|
||||||
* correctly in the popup window which has no base URL.
|
|
||||||
*
|
|
||||||
* @param {string} href URL
|
|
||||||
*/
|
|
||||||
var _relToAbs = function( href ) {
|
|
||||||
// Assign to a link on the original page so the browser will do all the
|
|
||||||
// hard work of figuring out where the file actually is
|
|
||||||
_link.href = href;
|
|
||||||
var linkHost = _link.host;
|
|
||||||
|
|
||||||
// IE doesn't have a trailing slash on the host
|
|
||||||
// Chrome has it on the pathname
|
|
||||||
if ( linkHost.indexOf('/') === -1 && _link.pathname.indexOf('/') !== 0) {
|
|
||||||
linkHost += '/';
|
|
||||||
}
|
|
||||||
|
|
||||||
return _link.protocol+"//"+linkHost+_link.pathname+_link.search;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
DataTable.ext.buttons.print = {
|
|
||||||
className: 'buttons-print',
|
|
||||||
|
|
||||||
text: function ( dt ) {
|
|
||||||
return dt.i18n( 'buttons.print', 'Print' );
|
|
||||||
},
|
|
||||||
|
|
||||||
action: function ( e, dt, button, config ) {
|
|
||||||
var data = dt.buttons.exportData(
|
|
||||||
$.extend( {decodeEntities: false}, config.exportOptions ) // XSS protection
|
|
||||||
);
|
|
||||||
var exportInfo = dt.buttons.exportInfo( config );
|
|
||||||
var columnClasses = dt
|
|
||||||
.columns( config.exportOptions.columns )
|
|
||||||
.flatten()
|
|
||||||
.map( function (idx) {
|
|
||||||
return dt.settings()[0].aoColumns[dt.column(idx).index()].sClass;
|
|
||||||
} )
|
|
||||||
.toArray();
|
|
||||||
|
|
||||||
var addRow = function ( d, tag ) {
|
|
||||||
var str = '<tr>';
|
|
||||||
|
|
||||||
for ( var i=0, ien=d.length ; i<ien ; i++ ) {
|
|
||||||
// null and undefined aren't useful in the print output
|
|
||||||
var dataOut = d[i] === null || d[i] === undefined ?
|
|
||||||
'' :
|
|
||||||
d[i];
|
|
||||||
var classAttr = columnClasses[i] ?
|
|
||||||
'class="'+columnClasses[i]+'"' :
|
|
||||||
'';
|
|
||||||
|
|
||||||
str += '<'+tag+' '+classAttr+'>'+dataOut+'</'+tag+'>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return str + '</tr>';
|
|
||||||
};
|
|
||||||
|
|
||||||
// Construct a table for printing
|
|
||||||
var html = '<table class="'+dt.table().node().className+'">';
|
|
||||||
|
|
||||||
if ( config.header ) {
|
|
||||||
html += '<thead>'+ addRow( data.header, 'th' ) +'</thead>';
|
|
||||||
}
|
|
||||||
|
|
||||||
html += '<tbody>';
|
|
||||||
for ( var i=0, ien=data.body.length ; i<ien ; i++ ) {
|
|
||||||
html += addRow( data.body[i], 'td' );
|
|
||||||
}
|
|
||||||
html += '</tbody>';
|
|
||||||
|
|
||||||
if ( config.footer && data.footer ) {
|
|
||||||
html += '<tfoot>'+ addRow( data.footer, 'th' ) +'</tfoot>';
|
|
||||||
}
|
|
||||||
html += '</table>';
|
|
||||||
|
|
||||||
// Open a new window for the printable table
|
|
||||||
var win = window.open( '', '' );
|
|
||||||
win.document.close();
|
|
||||||
|
|
||||||
// Inject the title and also a copy of the style and link tags from this
|
|
||||||
// document so the table can retain its base styling. Note that we have
|
|
||||||
// to use string manipulation as IE won't allow elements to be created
|
|
||||||
// in the host document and then appended to the new window.
|
|
||||||
var head = '<title>'+exportInfo.title+'</title>';
|
|
||||||
$('style, link').each( function () {
|
|
||||||
head += _styleToAbs( this );
|
|
||||||
} );
|
|
||||||
|
|
||||||
try {
|
|
||||||
win.document.head.innerHTML = head; // Work around for Edge
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
$(win.document.head).html( head ); // Old IE
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inject the table and other surrounding information
|
|
||||||
win.document.body.innerHTML =
|
|
||||||
'<h1>'+exportInfo.title+'</h1>'+
|
|
||||||
'<div>'+(exportInfo.messageTop || '')+'</div>'+
|
|
||||||
html+
|
|
||||||
'<div>'+(exportInfo.messageBottom || '')+'</div>';
|
|
||||||
|
|
||||||
$(win.document.body).addClass('dt-print-view');
|
|
||||||
|
|
||||||
$('img', win.document.body).each( function ( i, img ) {
|
|
||||||
img.setAttribute( 'src', _relToAbs( img.getAttribute('src') ) );
|
|
||||||
} );
|
|
||||||
|
|
||||||
if ( config.customize ) {
|
|
||||||
config.customize( win, config, dt );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allow stylesheets time to load
|
|
||||||
var autoPrint = function () {
|
|
||||||
if ( config.autoPrint ) {
|
|
||||||
win.print(); // blocking - so close will not
|
|
||||||
win.close(); // execute until this is done
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if ( navigator.userAgent.match(/Trident\/\d.\d/) ) { // IE needs to call this without a setTimeout
|
|
||||||
autoPrint();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
win.setTimeout( autoPrint, 1000 );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
title: '*',
|
|
||||||
|
|
||||||
messageTop: '*',
|
|
||||||
|
|
||||||
messageBottom: '*',
|
|
||||||
|
|
||||||
exportOptions: {},
|
|
||||||
|
|
||||||
header: true,
|
|
||||||
|
|
||||||
footer: false,
|
|
||||||
|
|
||||||
autoPrint: true,
|
|
||||||
|
|
||||||
customize: null
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable.Buttons;
|
|
||||||
}));
|
|
@ -1,5 +0,0 @@
|
|||||||
(function(e){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(f){return e(f,window,document)}):"object"===typeof exports?module.exports=function(f,a){f||(f=window);if(!a||!a.fn.dataTable)a=require("datatables.net")(f,a).$;a.fn.dataTable.Buttons||require("datatables.net-buttons")(f,a);return e(a,f,f.document)}:e(jQuery,window,document)})(function(e,f,a,n){var i=e.fn.dataTable,c=a.createElement("a"),m=function(b){c.href=b;b=c.host;-1===b.indexOf("/")&&
|
|
||||||
0!==c.pathname.indexOf("/")&&(b+="/");return c.protocol+"//"+b+c.pathname+c.search};i.ext.buttons.print={className:"buttons-print",text:function(b){return b.i18n("buttons.print","Print")},action:function(b,a,c,h){var b=a.buttons.exportData(e.extend({decodeEntities:!1},h.exportOptions)),c=a.buttons.exportInfo(h),i=a.columns(h.exportOptions.columns).flatten().map(function(b){return a.settings()[0].aoColumns[a.column(b).index()].sClass}).toArray(),k=function(b,a){for(var d="<tr>",c=0,e=b.length;c<e;c++)d+=
|
|
||||||
"<"+a+" "+(i[c]?'class="'+i[c]+'"':"")+">"+(null===b[c]||b[c]===n?"":b[c])+"</"+a+">";return d+"</tr>"},d='<table class="'+a.table().node().className+'">';h.header&&(d+="<thead>"+k(b.header,"th")+"</thead>");for(var d=d+"<tbody>",l=0,o=b.body.length;l<o;l++)d+=k(b.body[l],"td");d+="</tbody>";h.footer&&b.footer&&(d+="<tfoot>"+k(b.footer,"th")+"</tfoot>");var d=d+"</table>",g=f.open("","");g.document.close();var j="<title>"+c.title+"</title>";e("style, link").each(function(){var b=j,a=e(this).clone()[0];
|
|
||||||
"link"===a.nodeName.toLowerCase()&&(a.href=m(a.href));j=b+a.outerHTML});try{g.document.head.innerHTML=j}catch(p){e(g.document.head).html(j)}g.document.body.innerHTML="<h1>"+c.title+"</h1><div>"+(c.messageTop||"")+"</div>"+d+"<div>"+(c.messageBottom||"")+"</div>";e(g.document.body).addClass("dt-print-view");e("img",g.document.body).each(function(b,a){a.setAttribute("src",m(a.getAttribute("src")))});h.customize&&h.customize(g,h,a);b=function(){h.autoPrint&&(g.print(),g.close())};navigator.userAgent.match(/Trident\/\d.\d/)?
|
|
||||||
b():g.setTimeout(b,1E3)},title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!1,autoPrint:!0,customize:null};return i.Buttons});
|
|
File diff suppressed because it is too large
Load Diff
@ -1,42 +0,0 @@
|
|||||||
/*!
|
|
||||||
Buttons for DataTables 1.6.1
|
|
||||||
©2016-2019 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(q){return d(q,window,document)}):"object"===typeof exports?module.exports=function(q,p){q||(q=window);if(!p||!p.fn.dataTable)p=require("datatables.net")(q,p).$;return d(p,q,q.document)}:d(jQuery,window,document)})(function(d,q,p,m){function t(a){var a=new i.Api(a),b=a.init().buttons||i.defaults.buttons;return(new n(a,b)).container()}var i=d.fn.dataTable,w=0,x=0,k=i.ext.buttons,n=function(a,b){if(!(this instanceof
|
|
||||||
n))return function(b){return(new n(b,a)).container()};"undefined"===typeof b&&(b={});!0===b&&(b={});d.isArray(b)&&(b={buttons:b});this.c=d.extend(!0,{},n.defaults,b);b.buttons&&(this.c.buttons=b.buttons);this.s={dt:new i.Api(a),buttons:[],listenKeys:"",namespace:"dtb"+w++};this.dom={container:d("<"+this.c.dom.container.tag+"/>").addClass(this.c.dom.container.className)};this._constructor()};d.extend(n.prototype,{action:function(a,b){var c=this._nodeToButton(a);if(b===m)return c.conf.action;c.conf.action=
|
|
||||||
b;return this},active:function(a,b){var c=this._nodeToButton(a),e=this.c.dom.button.active,c=d(c.node);if(b===m)return c.hasClass(e);c.toggleClass(e,b===m?!0:b);return this},add:function(a,b){var c=this.s.buttons;if("string"===typeof b){for(var e=b.split("-"),d=this.s,c=0,f=e.length-1;c<f;c++)d=d.buttons[1*e[c]];c=d.buttons;b=1*e[e.length-1]}this._expandButton(c,a,d!==m,b);this._draw();return this},container:function(){return this.dom.container},disable:function(a){a=this._nodeToButton(a);d(a.node).addClass(this.c.dom.button.disabled);
|
|
||||||
return this},destroy:function(){d("body").off("keyup."+this.s.namespace);var a=this.s.buttons.slice(),b,c;b=0;for(c=a.length;b<c;b++)this.remove(a[b].node);this.dom.container.remove();a=this.s.dt.settings()[0];b=0;for(c=a.length;b<c;b++)if(a.inst===this){a.splice(b,1);break}return this},enable:function(a,b){if(!1===b)return this.disable(a);var c=this._nodeToButton(a);d(c.node).removeClass(this.c.dom.button.disabled);return this},name:function(){return this.c.name},node:function(a){if(!a)return this.dom.container;
|
|
||||||
a=this._nodeToButton(a);return d(a.node)},processing:function(a,b){var c=this.s.dt,e=this._nodeToButton(a);if(b===m)return d(e.node).hasClass("processing");d(e.node).toggleClass("processing",b);d(c.table().node()).triggerHandler("buttons-processing.dt",[b,c.button(a),c,d(a),e.conf]);return this},remove:function(a){var b=this._nodeToButton(a),c=this._nodeToHost(a),e=this.s.dt;if(b.buttons.length)for(var g=b.buttons.length-1;0<=g;g--)this.remove(b.buttons[g].node);b.conf.destroy&&b.conf.destroy.call(e.button(a),
|
|
||||||
e,d(a),b.conf);this._removeKey(b.conf);d(b.node).remove();a=d.inArray(b,c);c.splice(a,1);return this},text:function(a,b){var c=this._nodeToButton(a),e=this.c.dom.collection.buttonLiner,e=c.inCollection&&e&&e.tag?e.tag:this.c.dom.buttonLiner.tag,g=this.s.dt,f=d(c.node),h=function(a){return"function"===typeof a?a(g,f,c.conf):a};if(b===m)return h(c.conf.text);c.conf.text=b;e?f.children(e).html(h(b)):f.html(h(b));return this},_constructor:function(){var a=this,b=this.s.dt,c=b.settings()[0],e=this.c.buttons;
|
|
||||||
c._buttons||(c._buttons=[]);c._buttons.push({inst:this,name:this.c.name});for(var g=0,f=e.length;g<f;g++)this.add(e[g]);b.on("destroy",function(b,e){e===c&&a.destroy()});d("body").on("keyup."+this.s.namespace,function(b){if(!p.activeElement||p.activeElement===p.body){var c=String.fromCharCode(b.keyCode).toLowerCase();a.s.listenKeys.toLowerCase().indexOf(c)!==-1&&a._keypress(c,b)}})},_addKey:function(a){a.key&&(this.s.listenKeys+=d.isPlainObject(a.key)?a.key.key:a.key)},_draw:function(a,b){a||(a=this.dom.container,
|
|
||||||
b=this.s.buttons);a.children().detach();for(var c=0,e=b.length;c<e;c++)a.append(b[c].inserter),a.append(" "),b[c].buttons&&b[c].buttons.length&&this._draw(b[c].collection,b[c].buttons)},_expandButton:function(a,b,c,e){for(var g=this.s.dt,f=0,b=!d.isArray(b)?[b]:b,h=0,l=b.length;h<l;h++){var o=this._resolveExtends(b[h]);if(o)if(d.isArray(o))this._expandButton(a,o,c,e);else{var j=this._buildButton(o,c);j&&(e!==m?(a.splice(e,0,j),e++):a.push(j),j.conf.buttons&&(j.collection=d("<"+this.c.dom.collection.tag+
|
|
||||||
"/>"),j.conf._collection=j.collection,this._expandButton(j.buttons,j.conf.buttons,!0,e)),o.init&&o.init.call(g.button(j.node),g,d(j.node),o),f++)}}},_buildButton:function(a,b){var c=this.c.dom.button,e=this.c.dom.buttonLiner,g=this.c.dom.collection,f=this.s.dt,h=function(b){return"function"===typeof b?b(f,j,a):b};b&&g.button&&(c=g.button);b&&g.buttonLiner&&(e=g.buttonLiner);if(a.available&&!a.available(f,a))return!1;var l=function(a,b,c,e){e.action.call(b.button(c),a,b,c,e);d(b.table().node()).triggerHandler("buttons-action.dt",
|
|
||||||
[b.button(c),b,c,e])},g=a.tag||c.tag,o=a.clickBlurs===m?!0:a.clickBlurs,j=d("<"+g+"/>").addClass(c.className).attr("tabindex",this.s.dt.settings()[0].iTabIndex).attr("aria-controls",this.s.dt.table().node().id).on("click.dtb",function(b){b.preventDefault();!j.hasClass(c.disabled)&&a.action&&l(b,f,j,a);o&&j.blur()}).on("keyup.dtb",function(b){b.keyCode===13&&!j.hasClass(c.disabled)&&a.action&&l(b,f,j,a)});"a"===g.toLowerCase()&&j.attr("href","#");"button"===g.toLowerCase()&&j.attr("type","button");
|
|
||||||
e.tag?(g=d("<"+e.tag+"/>").html(h(a.text)).addClass(e.className),"a"===e.tag.toLowerCase()&&g.attr("href","#"),j.append(g)):j.html(h(a.text));!1===a.enabled&&j.addClass(c.disabled);a.className&&j.addClass(a.className);a.titleAttr&&j.attr("title",h(a.titleAttr));a.attr&&j.attr(a.attr);a.namespace||(a.namespace=".dt-button-"+x++);e=(e=this.c.dom.buttonContainer)&&e.tag?d("<"+e.tag+"/>").addClass(e.className).append(j):j;this._addKey(a);this.c.buttonCreated&&(e=this.c.buttonCreated(a,e));return{conf:a,
|
|
||||||
node:j.get(0),inserter:e,buttons:[],inCollection:b,collection:null}},_nodeToButton:function(a,b){b||(b=this.s.buttons);for(var c=0,e=b.length;c<e;c++){if(b[c].node===a)return b[c];if(b[c].buttons.length){var d=this._nodeToButton(a,b[c].buttons);if(d)return d}}},_nodeToHost:function(a,b){b||(b=this.s.buttons);for(var c=0,e=b.length;c<e;c++){if(b[c].node===a)return b;if(b[c].buttons.length){var d=this._nodeToHost(a,b[c].buttons);if(d)return d}}},_keypress:function(a,b){if(!b._buttonsHandled){var c=
|
|
||||||
function(e){for(var g=0,f=e.length;g<f;g++){var h=e[g].conf,l=e[g].node;if(h.key)if(h.key===a)b._buttonsHandled=!0,d(l).click();else if(d.isPlainObject(h.key)&&h.key.key===a&&(!h.key.shiftKey||b.shiftKey))if(!h.key.altKey||b.altKey)if(!h.key.ctrlKey||b.ctrlKey)if(!h.key.metaKey||b.metaKey)b._buttonsHandled=!0,d(l).click();e[g].buttons.length&&c(e[g].buttons)}};c(this.s.buttons)}},_removeKey:function(a){if(a.key){var b=d.isPlainObject(a.key)?a.key.key:a.key,a=this.s.listenKeys.split(""),b=d.inArray(b,
|
|
||||||
a);a.splice(b,1);this.s.listenKeys=a.join("")}},_resolveExtends:function(a){for(var b=this.s.dt,c,e,g=function(c){for(var e=0;!d.isPlainObject(c)&&!d.isArray(c);){if(c===m)return;if("function"===typeof c){if(c=c(b,a),!c)return!1}else if("string"===typeof c){if(!k[c])throw"Unknown button type: "+c;c=k[c]}e++;if(30<e)throw"Buttons: Too many iterations";}return d.isArray(c)?c:d.extend({},c)},a=g(a);a&&a.extend;){if(!k[a.extend])throw"Cannot extend unknown button type: "+a.extend;var f=g(k[a.extend]);
|
|
||||||
if(d.isArray(f))return f;if(!f)return!1;c=f.className;a=d.extend({},f,a);c&&a.className!==c&&(a.className=c+" "+a.className);var h=a.postfixButtons;if(h){a.buttons||(a.buttons=[]);c=0;for(e=h.length;c<e;c++)a.buttons.push(h[c]);a.postfixButtons=null}if(h=a.prefixButtons){a.buttons||(a.buttons=[]);c=0;for(e=h.length;c<e;c++)a.buttons.splice(c,0,h[c]);a.prefixButtons=null}a.extend=f.extend}return a},_popover:function(a,b,c){var e=this.c,g=d.extend({align:"button-left",autoClose:!1,background:!0,backgroundClassName:"dt-button-background",
|
|
||||||
contentClassName:e.dom.collection.className,collectionLayout:"",collectionTitle:"",dropup:!1,fade:400,rightAlignClassName:"dt-button-right",tag:e.dom.collection.tag},c),f=b.node(),h=function(){d(".dt-button-collection").stop().fadeOut(g.fade,function(){d(this).detach()});d(b.buttons('[aria-haspopup="true"][aria-expanded="true"]').nodes()).attr("aria-expanded","false");d("div.dt-button-background").off("click.dtb-collection");n.background(!1,g.backgroundClassName,g.fade,f);d("body").off(".dtb-collection");
|
|
||||||
b.off("buttons-action.b-internal")};!1===a&&h();c=d(b.buttons('[aria-haspopup="true"][aria-expanded="true"]').nodes());c.length&&(f=c.eq(0),h());c=d("<div/>").addClass("dt-button-collection").addClass(g.collectionLayout).css("display","none");a=d(a).addClass(g.contentClassName).attr("role","menu").appendTo(c);f.attr("aria-expanded","true");f.parents("body")[0]!==p.body&&(f=p.body.lastChild);g.collectionTitle&&c.prepend('<div class="dt-button-collection-title">'+g.collectionTitle+"</div>");c.insertAfter(f).fadeIn(g.fade);
|
|
||||||
var l=d(b.table().container()),e=c.css("position");"dt-container"===g.align&&(f=f.parent(),c.css("width",l.width()));if("absolute"===e){e=f.position();c.css({top:e.top+f.outerHeight(),left:e.left});var o=c.outerHeight(),j=c.outerWidth(),i=l.offset().top+l.height(),i=e.top+f.outerHeight()+o-i,m=e.top-o,k=l.offset().top,o=e.top-o-5;(i>k-m||g.dropup)&&-o<k&&c.css("top",o);(c.hasClass(g.rightAlignClassName)||"button-right"===g.align)&&c.css("left",e.left+f.outerWidth()-j);o=e.left+j;l=l.offset().left+
|
|
||||||
l.width();o>l&&c.css("left",e.left-(o-l));l=f.offset().left+j;l>d(q).width()&&c.css("left",e.left-(l-d(q).width()))}else e=c.height()/2,e>d(q).height()/2&&(e=d(q).height()/2),c.css("marginTop",-1*e);g.background&&n.background(!0,g.backgroundClassName,g.fade,f);d("div.dt-button-background").on("click.dtb-collection",function(){});d("body").on("click.dtb-collection",function(b){var c=d.fn.addBack?"addBack":"andSelf";d(b.target).parents()[c]().filter(a).length||h()}).on("keyup.dtb-collection",function(a){a.keyCode===
|
|
||||||
27&&h()});g.autoClose&&setTimeout(function(){b.on("buttons-action.b-internal",function(a,b,c,e){e[0]!==f[0]&&h()})},0)}});n.background=function(a,b,c,e){c===m&&(c=400);e||(e=p.body);a?d("<div/>").addClass(b).css("display","none").insertAfter(e).stop().fadeIn(c):d("div."+b).stop().fadeOut(c,function(){d(this).removeClass(b).remove()})};n.instanceSelector=function(a,b){if(a===m||null===a)return d.map(b,function(a){return a.inst});var c=[],e=d.map(b,function(a){return a.name}),g=function(a){if(d.isArray(a))for(var h=
|
|
||||||
0,l=a.length;h<l;h++)g(a[h]);else"string"===typeof a?-1!==a.indexOf(",")?g(a.split(",")):(a=d.inArray(d.trim(a),e),-1!==a&&c.push(b[a].inst)):"number"===typeof a&&c.push(b[a].inst)};g(a);return c};n.buttonSelector=function(a,b){for(var c=[],e=function(a,b,c){for(var d,g,f=0,h=b.length;f<h;f++)if(d=b[f])g=c!==m?c+f:f+"",a.push({node:d.node,name:d.conf.name,idx:g}),d.buttons&&e(a,d.buttons,g+"-")},g=function(a,b){var f,h,i=[];e(i,b.s.buttons);f=d.map(i,function(a){return a.node});if(d.isArray(a)||a instanceof
|
|
||||||
d){f=0;for(h=a.length;f<h;f++)g(a[f],b)}else if(null===a||a===m||"*"===a){f=0;for(h=i.length;f<h;f++)c.push({inst:b,node:i[f].node})}else if("number"===typeof a)c.push({inst:b,node:b.s.buttons[a].node});else if("string"===typeof a)if(-1!==a.indexOf(",")){i=a.split(",");f=0;for(h=i.length;f<h;f++)g(d.trim(i[f]),b)}else if(a.match(/^\d+(\-\d+)*$/))f=d.map(i,function(a){return a.idx}),c.push({inst:b,node:i[d.inArray(a,f)].node});else if(-1!==a.indexOf(":name")){var k=a.replace(":name","");f=0;for(h=
|
|
||||||
i.length;f<h;f++)i[f].name===k&&c.push({inst:b,node:i[f].node})}else d(f).filter(a).each(function(){c.push({inst:b,node:this})});else"object"===typeof a&&a.nodeName&&(i=d.inArray(a,f),-1!==i&&c.push({inst:b,node:f[i]}))},f=0,h=a.length;f<h;f++)g(b,a[f]);return c};n.defaults={buttons:["copy","excel","csv","pdf","print"],name:"main",tabIndex:0,dom:{container:{tag:"div",className:"dt-buttons"},collection:{tag:"div",className:""},button:{tag:"ActiveXObject"in q?"a":"button",className:"dt-button",active:"active",
|
|
||||||
disabled:"disabled"},buttonLiner:{tag:"span",className:""}}};n.version="1.6.1";d.extend(k,{collection:{text:function(a){return a.i18n("buttons.collection","Collection")},className:"buttons-collection",init:function(a,b){b.attr("aria-expanded",!1)},action:function(a,b,c,e){a.stopPropagation();e._collection.parents("body").length?this.popover(!1,e):this.popover(e._collection,e)},attr:{"aria-haspopup":!0}},copy:function(a,b){if(k.copyHtml5)return"copyHtml5";if(k.copyFlash&&k.copyFlash.available(a,b))return"copyFlash"},
|
|
||||||
csv:function(a,b){if(k.csvHtml5&&k.csvHtml5.available(a,b))return"csvHtml5";if(k.csvFlash&&k.csvFlash.available(a,b))return"csvFlash"},excel:function(a,b){if(k.excelHtml5&&k.excelHtml5.available(a,b))return"excelHtml5";if(k.excelFlash&&k.excelFlash.available(a,b))return"excelFlash"},pdf:function(a,b){if(k.pdfHtml5&&k.pdfHtml5.available(a,b))return"pdfHtml5";if(k.pdfFlash&&k.pdfFlash.available(a,b))return"pdfFlash"},pageLength:function(a){var a=a.settings()[0].aLengthMenu,b=d.isArray(a[0])?a[0]:a,
|
|
||||||
c=d.isArray(a[0])?a[1]:a;return{extend:"collection",text:function(a){return a.i18n("buttons.pageLength",{"-1":"Show all rows",_:"Show %d rows"},a.page.len())},className:"buttons-page-length",autoClose:!0,buttons:d.map(b,function(a,b){return{text:c[b],className:"button-page-length",action:function(b,c){c.page.len(a).draw()},init:function(b,c,d){var g=this,c=function(){g.active(b.page.len()===a)};b.on("length.dt"+d.namespace,c);c()},destroy:function(a,b,c){a.off("length.dt"+c.namespace)}}}),init:function(a,
|
|
||||||
b,c){var d=this;a.on("length.dt"+c.namespace,function(){d.text(c.text)})},destroy:function(a,b,c){a.off("length.dt"+c.namespace)}}}});i.Api.register("buttons()",function(a,b){b===m&&(b=a,a=m);this.selector.buttonGroup=a;var c=this.iterator(!0,"table",function(c){if(c._buttons)return n.buttonSelector(n.instanceSelector(a,c._buttons),b)},!0);c._groupSelector=a;return c});i.Api.register("button()",function(a,b){var c=this.buttons(a,b);1<c.length&&c.splice(1,c.length);return c});i.Api.registerPlural("buttons().active()",
|
|
||||||
"button().active()",function(a){return a===m?this.map(function(a){return a.inst.active(a.node)}):this.each(function(b){b.inst.active(b.node,a)})});i.Api.registerPlural("buttons().action()","button().action()",function(a){return a===m?this.map(function(a){return a.inst.action(a.node)}):this.each(function(b){b.inst.action(b.node,a)})});i.Api.register(["buttons().enable()","button().enable()"],function(a){return this.each(function(b){b.inst.enable(b.node,a)})});i.Api.register(["buttons().disable()",
|
|
||||||
"button().disable()"],function(){return this.each(function(a){a.inst.disable(a.node)})});i.Api.registerPlural("buttons().nodes()","button().node()",function(){var a=d();d(this.each(function(b){a=a.add(b.inst.node(b.node))}));return a});i.Api.registerPlural("buttons().processing()","button().processing()",function(a){return a===m?this.map(function(a){return a.inst.processing(a.node)}):this.each(function(b){b.inst.processing(b.node,a)})});i.Api.registerPlural("buttons().text()","button().text()",function(a){return a===
|
|
||||||
m?this.map(function(a){return a.inst.text(a.node)}):this.each(function(b){b.inst.text(b.node,a)})});i.Api.registerPlural("buttons().trigger()","button().trigger()",function(){return this.each(function(a){a.inst.node(a.node).trigger("click")})});i.Api.register("button().popover()",function(a,b){return this.map(function(c){return c.inst._popover(a,this.button(this[0].node),b)})});i.Api.register("buttons().containers()",function(){var a=d(),b=this._groupSelector;this.iterator(!0,"table",function(c){if(c._buttons)for(var c=
|
|
||||||
n.instanceSelector(b,c._buttons),d=0,g=c.length;d<g;d++)a=a.add(c[d].container())});return a});i.Api.register("buttons().container()",function(){return this.containers().eq(0)});i.Api.register("button().add()",function(a,b){var c=this.context;c.length&&(c=n.instanceSelector(this._groupSelector,c[0]._buttons),c.length&&c[0].add(b,a));return this.button(this._groupSelector,a)});i.Api.register("buttons().destroy()",function(){this.pluck("inst").unique().each(function(a){a.destroy()});return this});i.Api.registerPlural("buttons().remove()",
|
|
||||||
"buttons().remove()",function(){this.each(function(a){a.inst.remove(a.node)});return this});var r;i.Api.register("buttons.info()",function(a,b,c){var e=this;if(!1===a)return this.off("destroy.btn-info"),d("#datatables_buttons_info").fadeOut(function(){d(this).remove()}),clearTimeout(r),r=null,this;r&&clearTimeout(r);d("#datatables_buttons_info").length&&d("#datatables_buttons_info").remove();d('<div id="datatables_buttons_info" class="dt-button-info"/>').html(a?"<h2>"+a+"</h2>":"").append(d("<div/>")["string"===
|
|
||||||
typeof b?"html":"append"](b)).css("display","none").appendTo("body").fadeIn();c!==m&&0!==c&&(r=setTimeout(function(){e.buttons.info(!1)},c));this.on("destroy.btn-info",function(){e.buttons.info(!1)});return this});i.Api.register("buttons.exportData()",function(a){if(this.context.length){var b=new i.Api(this.context[0]),c=d.extend(!0,{},{rows:null,columns:"",modifier:{search:"applied",order:"applied"},orthogonal:"display",stripHtml:!0,stripNewlines:!0,decodeEntities:!0,trim:!0,format:{header:function(a){return e(a)},
|
|
||||||
footer:function(a){return e(a)},body:function(a){return e(a)}},customizeData:null},a),e=function(a){if("string"!==typeof a)return a;a=a.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"");a=a.replace(/<!\-\-.*?\-\->/g,"");c.stripHtml&&(a=a.replace(/<[^>]*>/g,""));c.trim&&(a=a.replace(/^\s+|\s+$/g,""));c.stripNewlines&&(a=a.replace(/\n/g," "));c.decodeEntities&&(u.innerHTML=a,a=u.value);return a},a=b.columns(c.columns).indexes().map(function(a){var d=b.column(a).header();return c.format.header(d.innerHTML,
|
|
||||||
a,d)}).toArray(),g=b.table().footer()?b.columns(c.columns).indexes().map(function(a){var d=b.column(a).footer();return c.format.footer(d?d.innerHTML:"",a,d)}).toArray():null,f=d.extend({},c.modifier);b.select&&"function"===typeof b.select.info&&f.selected===m&&b.rows(c.rows,d.extend({selected:!0},f)).any()&&d.extend(f,{selected:!0});for(var f=b.rows(c.rows,f).indexes().toArray(),h=b.cells(f,c.columns),f=h.render(c.orthogonal).toArray(),h=h.nodes().toArray(),l=a.length,k=[],j=0,n=0,q=0<l?f.length/
|
|
||||||
l:0;n<q;n++){for(var p=[l],r=0;r<l;r++)p[r]=c.format.body(f[j],n,r,h[j]),j++;k[n]=p}a={header:a,footer:g,body:k};c.customizeData&&c.customizeData(a);return a}});i.Api.register("buttons.exportInfo()",function(a){a||(a={});var b;var c=a;b="*"===c.filename&&"*"!==c.title&&c.title!==m&&null!==c.title&&""!==c.title?c.title:c.filename;"function"===typeof b&&(b=b());b===m||null===b?b=null:(-1!==b.indexOf("*")&&(b=d.trim(b.replace("*",d("head > title").text()))),b=b.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,
|
|
||||||
""),(c=s(c.extension))||(c=""),b+=c);c=s(a.title);c=null===c?null:-1!==c.indexOf("*")?c.replace("*",d("head > title").text()||"Exported data"):c;return{filename:b,title:c,messageTop:v(this,a.message||a.messageTop,"top"),messageBottom:v(this,a.messageBottom,"bottom")}});var s=function(a){return null===a||a===m?null:"function"===typeof a?a():a},v=function(a,b,c){b=s(b);if(null===b)return null;a=d("caption",a.table().container()).eq(0);return"*"===b?a.css("caption-side")!==c?null:a.length?a.text():"":
|
|
||||||
b},u=d("<textarea/>")[0];d.fn.dataTable.Buttons=n;d.fn.DataTable.Buttons=n;d(p).on("init.dt plugin-init.dt",function(a,b){if("dt"===a.namespace){var c=b.oInit.buttons||i.defaults.buttons;c&&!b._buttons&&(new n(b,c)).container()}});i.ext.feature.push({fnInit:t,cFeature:"B"});i.ext.features&&i.ext.features.register("buttons",t);return n});
|
|
@ -1,11 +0,0 @@
|
|||||||
table.DTCR_clonedTable.dataTable {
|
|
||||||
position: absolute !important;
|
|
||||||
background-color: rgba(255, 255, 255, 0.7);
|
|
||||||
z-index: 202;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTCR_pointer {
|
|
||||||
width: 1px;
|
|
||||||
background-color: #0275d8;
|
|
||||||
z-index: 201;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
table.DTCR_clonedTable.dataTable{position:absolute !important;background-color:rgba(255,255,255,0.7);z-index:202}div.DTCR_pointer{width:1px;background-color:#0275d8;z-index:201}
|
|
@ -1,38 +0,0 @@
|
|||||||
/*! Bootstrap 4 styling wrapper for ColReorder
|
|
||||||
* ©2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net-bs4', 'datatables.net-colreorder'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net-bs4')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.ColReorder ) {
|
|
||||||
require('datatables.net-colreorder')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
|
|
||||||
return $.fn.dataTable;
|
|
||||||
|
|
||||||
}));
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
Bootstrap 4 styling wrapper for ColReorder
|
|
||||||
©2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-colreorder"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs4")(a,b).$;b.fn.dataTable.ColReorder||require("datatables.net-colreorder")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){return c.fn.dataTable});
|
|
File diff suppressed because it is too large
Load Diff
@ -1,30 +0,0 @@
|
|||||||
/*!
|
|
||||||
ColReorder 1.5.2
|
|
||||||
©2010-2019 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(e){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(p){return e(p,window,document)}):"object"===typeof exports?module.exports=function(p,o){p||(p=window);if(!o||!o.fn.dataTable)o=require("datatables.net")(p,o).$;return e(o,p,p.document)}:e(jQuery,window,document)})(function(e,p,o,s){function r(a){for(var b=[],d=0,e=a.length;d<e;d++)b[a[d]]=d;return b}function q(a,b,d){b=a.splice(b,1)[0];a.splice(d,0,b)}function t(a,b,d){for(var e=[],g=0,c=a.childNodes.length;g<
|
|
||||||
c;g++)1==a.childNodes[g].nodeType&&e.push(a.childNodes[g]);b=e[b];null!==d?a.insertBefore(b,e[d]):a.appendChild(b)}var u=e.fn.dataTable;e.fn.dataTableExt.oApi.fnColReorder=function(a,b,d,f,g){var c,h,j,l,n,i=a.aoColumns.length,k;n=function(a,b,c){if(a[b]&&"function"!==typeof a[b]){var d=a[b].split("."),e=d.shift();isNaN(1*e)||(a[b]=c[1*e]+"."+d.join("."))}};if(b!=d)if(0>b||b>=i)this.oApi._fnLog(a,1,"ColReorder 'from' index is out of bounds: "+b);else if(0>d||d>=i)this.oApi._fnLog(a,1,"ColReorder 'to' index is out of bounds: "+
|
|
||||||
d);else{j=[];c=0;for(h=i;c<h;c++)j[c]=c;q(j,b,d);var m=r(j);c=0;for(h=a.aaSorting.length;c<h;c++)a.aaSorting[c][0]=m[a.aaSorting[c][0]];if(null!==a.aaSortingFixed){c=0;for(h=a.aaSortingFixed.length;c<h;c++)a.aaSortingFixed[c][0]=m[a.aaSortingFixed[c][0]]}c=0;for(h=i;c<h;c++){k=a.aoColumns[c];j=0;for(l=k.aDataSort.length;j<l;j++)k.aDataSort[j]=m[k.aDataSort[j]];k.idx=m[k.idx]}e.each(a.aLastSort,function(b,c){a.aLastSort[b].src=m[c.src]});c=0;for(h=i;c<h;c++)k=a.aoColumns[c],"number"==typeof k.mData?
|
|
||||||
k.mData=m[k.mData]:e.isPlainObject(k.mData)&&(n(k.mData,"_",m),n(k.mData,"filter",m),n(k.mData,"sort",m),n(k.mData,"type",m));if(a.aoColumns[b].bVisible){n=this.oApi._fnColumnIndexToVisible(a,b);l=null;for(c=d<b?d:d+1;null===l&&c<i;)l=this.oApi._fnColumnIndexToVisible(a,c),c++;j=a.nTHead.getElementsByTagName("tr");c=0;for(h=j.length;c<h;c++)t(j[c],n,l);if(null!==a.nTFoot){j=a.nTFoot.getElementsByTagName("tr");c=0;for(h=j.length;c<h;c++)t(j[c],n,l)}c=0;for(h=a.aoData.length;c<h;c++)null!==a.aoData[c].nTr&&
|
|
||||||
t(a.aoData[c].nTr,n,l)}q(a.aoColumns,b,d);c=0;for(h=i;c<h;c++)a.oApi._fnColumnOptions(a,c,{});q(a.aoPreSearchCols,b,d);c=0;for(h=a.aoData.length;c<h;c++){l=a.aoData[c];if(k=l.anCells){q(k,b,d);j=0;for(n=k.length;j<n;j++)k[j]&&k[j]._DT_CellIndex&&(k[j]._DT_CellIndex.column=j)}"dom"!==l.src&&e.isArray(l._aData)&&q(l._aData,b,d)}c=0;for(h=a.aoHeader.length;c<h;c++)q(a.aoHeader[c],b,d);if(null!==a.aoFooter){c=0;for(h=a.aoFooter.length;c<h;c++)q(a.aoFooter[c],b,d)}(g||g===s)&&e.fn.dataTable.Api(a).rows().invalidate();
|
|
||||||
c=0;for(h=i;c<h;c++)e(a.aoColumns[c].nTh).off(".DT"),this.oApi._fnSortAttachListener(a,a.aoColumns[c].nTh,c);e(a.oInstance).trigger("column-reorder.dt",[a,{from:b,to:d,mapping:m,drop:f,iFrom:b,iTo:d,aiInvertMapping:m}])}};var i=function(a,b){var d=(new e.fn.dataTable.Api(a)).settings()[0];if(d._colReorder)return d._colReorder;!0===b&&(b={});var f=e.fn.dataTable.camelToHungarian;f&&(f(i.defaults,i.defaults,!0),f(i.defaults,b||{}));this.s={dt:null,enable:null,init:e.extend(!0,{},i.defaults,b),fixed:0,
|
|
||||||
fixedRight:0,reorderCallback:null,mouse:{startX:-1,startY:-1,offsetX:-1,offsetY:-1,target:-1,targetIndex:-1,fromIndex:-1},aoTargets:[]};this.dom={drag:null,pointer:null};this.s.enable=this.s.init.bEnable;this.s.dt=d;this.s.dt._colReorder=this;this._fnConstruct();return this};e.extend(i.prototype,{fnEnable:function(a){if(!1===a)return fnDisable();this.s.enable=!0},fnDisable:function(){this.s.enable=!1},fnReset:function(){this._fnOrderColumns(this.fnOrder());return this},fnGetCurrentOrder:function(){return this.fnOrder()},
|
|
||||||
fnOrder:function(a,b){var d=[],f,g,c=this.s.dt.aoColumns;if(a===s){f=0;for(g=c.length;f<g;f++)d.push(c[f]._ColReorder_iOrigCol);return d}if(b){c=this.fnOrder();f=0;for(g=a.length;f<g;f++)d.push(e.inArray(a[f],c));a=d}this._fnOrderColumns(r(a));return this},fnTranspose:function(a,b){b||(b="toCurrent");var d=this.fnOrder(),f=this.s.dt.aoColumns;return"toCurrent"===b?!e.isArray(a)?e.inArray(a,d):e.map(a,function(a){return e.inArray(a,d)}):!e.isArray(a)?f[a]._ColReorder_iOrigCol:e.map(a,function(a){return f[a]._ColReorder_iOrigCol})},
|
|
||||||
_fnConstruct:function(){var a=this,b=this.s.dt.aoColumns.length,d=this.s.dt.nTable,f;this.s.init.iFixedColumns&&(this.s.fixed=this.s.init.iFixedColumns);this.s.init.iFixedColumnsLeft&&(this.s.fixed=this.s.init.iFixedColumnsLeft);this.s.fixedRight=this.s.init.iFixedColumnsRight?this.s.init.iFixedColumnsRight:0;this.s.init.fnReorderCallback&&(this.s.reorderCallback=this.s.init.fnReorderCallback);for(f=0;f<b;f++)f>this.s.fixed-1&&f<b-this.s.fixedRight&&this._fnMouseListener(f,this.s.dt.aoColumns[f].nTh),
|
|
||||||
this.s.dt.aoColumns[f]._ColReorder_iOrigCol=f;this.s.dt.oApi._fnCallbackReg(this.s.dt,"aoStateSaveParams",function(b,c){a._fnStateSave.call(a,c)},"ColReorder_State");var g=null;this.s.init.aiOrder&&(g=this.s.init.aiOrder.slice());this.s.dt.oLoadedState&&("undefined"!=typeof this.s.dt.oLoadedState.ColReorder&&this.s.dt.oLoadedState.ColReorder.length==this.s.dt.aoColumns.length)&&(g=this.s.dt.oLoadedState.ColReorder);if(g)if(a.s.dt._bInitComplete)b=r(g),a._fnOrderColumns.call(a,b);else{var c=!1;e(d).on("draw.dt.colReorder",
|
|
||||||
function(){if(!a.s.dt._bInitComplete&&!c){c=true;var b=r(g);a._fnOrderColumns.call(a,b)}})}else this._fnSetColumnIndexes();e(d).on("destroy.dt.colReorder",function(){e(d).off("destroy.dt.colReorder draw.dt.colReorder");e.each(a.s.dt.aoColumns,function(a,b){e(b.nTh).off(".ColReorder");e(b.nTh).removeAttr("data-column-index")});a.s.dt._colReorder=null;a.s=null})},_fnOrderColumns:function(a){var b=!1;if(a.length!=this.s.dt.aoColumns.length)this.s.dt.oInstance.oApi._fnLog(this.s.dt,1,"ColReorder - array reorder does not match known number of columns. Skipping.");
|
|
||||||
else{for(var d=0,f=a.length;d<f;d++){var g=e.inArray(d,a);d!=g&&(q(a,g,d),this.s.dt.oInstance.fnColReorder(g,d,!0,!1),b=!0)}this._fnSetColumnIndexes();b&&(e.fn.dataTable.Api(this.s.dt).rows().invalidate(),(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing(!1),this.s.dt.oInstance.oApi._fnSaveState(this.s.dt),null!==this.s.reorderCallback&&this.s.reorderCallback.call(this))}},_fnStateSave:function(a){var b,d,f,g=this.s.dt.aoColumns;a.ColReorder=[];if(a.aaSorting){for(b=
|
|
||||||
0;b<a.aaSorting.length;b++)a.aaSorting[b][0]=g[a.aaSorting[b][0]]._ColReorder_iOrigCol;var c=e.extend(!0,[],a.aoSearchCols);b=0;for(d=g.length;b<d;b++)f=g[b]._ColReorder_iOrigCol,a.aoSearchCols[f]=c[b],a.abVisCols[f]=g[b].bVisible,a.ColReorder.push(f)}else if(a.order){for(b=0;b<a.order.length;b++)a.order[b][0]=g[a.order[b][0]]._ColReorder_iOrigCol;c=e.extend(!0,[],a.columns);b=0;for(d=g.length;b<d;b++)f=g[b]._ColReorder_iOrigCol,a.columns[f]=c[b],a.ColReorder.push(f)}},_fnMouseListener:function(a,
|
|
||||||
b){var d=this;e(b).on("mousedown.ColReorder",function(a){d.s.enable&&1===a.which&&d._fnMouseDown.call(d,a,b)}).on("touchstart.ColReorder",function(a){d.s.enable&&d._fnMouseDown.call(d,a,b)})},_fnMouseDown:function(a,b){var d=this,f=e(a.target).closest("th, td").offset(),g=parseInt(e(b).attr("data-column-index"),10);g!==s&&(this.s.mouse.startX=this._fnCursorPosition(a,"pageX"),this.s.mouse.startY=this._fnCursorPosition(a,"pageY"),this.s.mouse.offsetX=this._fnCursorPosition(a,"pageX")-f.left,this.s.mouse.offsetY=
|
|
||||||
this._fnCursorPosition(a,"pageY")-f.top,this.s.mouse.target=this.s.dt.aoColumns[g].nTh,this.s.mouse.targetIndex=g,this.s.mouse.fromIndex=g,this._fnRegions(),e(o).on("mousemove.ColReorder touchmove.ColReorder",function(a){d._fnMouseMove.call(d,a)}).on("mouseup.ColReorder touchend.ColReorder",function(a){d._fnMouseUp.call(d,a)}))},_fnMouseMove:function(a){var b=this;if(null===this.dom.drag){if(5>Math.pow(Math.pow(this._fnCursorPosition(a,"pageX")-this.s.mouse.startX,2)+Math.pow(this._fnCursorPosition(a,
|
|
||||||
"pageY")-this.s.mouse.startY,2),0.5))return;this._fnCreateDragNode()}this.dom.drag.css({left:this._fnCursorPosition(a,"pageX")-this.s.mouse.offsetX,top:this._fnCursorPosition(a,"pageY")-this.s.mouse.offsetY});for(var d,e=this.s.mouse.toIndex,a=this._fnCursorPosition(a,"pageX"),g=function(){for(var a=b.s.aoTargets.length-1;0<a;a--)if(b.s.aoTargets[a].x!==b.s.aoTargets[a-1].x)return b.s.aoTargets[a]},c=1;c<this.s.aoTargets.length;c++){var h;a:{for(h=c;0<=h;){h--;if(0>=h){h=null;break a}if(b.s.aoTargets[h+
|
|
||||||
1].x!==b.s.aoTargets[h].x){h=b.s.aoTargets[h];break a}}h=void 0}if(!h)a:{for(h=0;h<b.s.aoTargets.length-1;h++)if(b.s.aoTargets[h].x!==b.s.aoTargets[h+1].x){h=b.s.aoTargets[h];break a}h=void 0}var j=h.x+(this.s.aoTargets[c].x-h.x)/2;if(this._fnIsLtr()){if(a<j){d=h;break}}else if(a>j){d=h;break}}d?(this.dom.pointer.css("left",d.x),this.s.mouse.toIndex=d.to):(this.dom.pointer.css("left",g().x),this.s.mouse.toIndex=g().to);this.s.init.bRealtime&&e!==this.s.mouse.toIndex&&(this.s.dt.oInstance.fnColReorder(this.s.mouse.fromIndex,
|
|
||||||
this.s.mouse.toIndex),this.s.mouse.fromIndex=this.s.mouse.toIndex,(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing(!1),this._fnRegions())},_fnMouseUp:function(){e(o).off(".ColReorder");null!==this.dom.drag&&(this.dom.drag.remove(),this.dom.pointer.remove(),this.dom.drag=null,this.dom.pointer=null,this.s.dt.oInstance.fnColReorder(this.s.mouse.fromIndex,this.s.mouse.toIndex,!0),this._fnSetColumnIndexes(),(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&
|
|
||||||
this.s.dt.oInstance.fnAdjustColumnSizing(!1),this.s.dt.oInstance.oApi._fnSaveState(this.s.dt),null!==this.s.reorderCallback&&this.s.reorderCallback.call(this))},_fnRegions:function(){var a=this.s.dt.aoColumns,b=this._fnIsLtr();this.s.aoTargets.splice(0,this.s.aoTargets.length);var d=e(this.s.dt.nTable).offset().left,f=[];e.each(a,function(a,c){if(c.bVisible&&"none"!==c.nTh.style.display){var g=e(c.nTh),i=g.offset().left;b&&(i+=g.outerWidth());f.push({index:a,bound:i});d=i}else f.push({index:a,bound:d})});
|
|
||||||
var g=f[0],a=e(a[g.index].nTh).outerWidth();this.s.aoTargets.push({to:0,x:g.bound-a});for(g=0;g<f.length;g++){var a=f[g],c=a.index;a.index<this.s.mouse.fromIndex&&c++;this.s.aoTargets.push({to:c,x:a.bound})}0!==this.s.fixedRight&&this.s.aoTargets.splice(this.s.aoTargets.length-this.s.fixedRight);0!==this.s.fixed&&this.s.aoTargets.splice(0,this.s.fixed)},_fnCreateDragNode:function(){var a=""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY,b=this.s.dt.aoColumns[this.s.mouse.targetIndex].nTh,d=b.parentNode,
|
|
||||||
f=d.parentNode,g=f.parentNode,c=e(b).clone();this.dom.drag=e(g.cloneNode(!1)).addClass("DTCR_clonedTable").append(e(f.cloneNode(!1)).append(e(d.cloneNode(!1)).append(c[0]))).css({position:"absolute",top:0,left:0,width:e(b).outerWidth(),height:e(b).outerHeight()}).appendTo("body");this.dom.pointer=e("<div></div>").addClass("DTCR_pointer").css({position:"absolute",top:a?e("div.dataTables_scroll",this.s.dt.nTableWrapper).offset().top:e(this.s.dt.nTable).offset().top,height:a?e("div.dataTables_scroll",
|
|
||||||
this.s.dt.nTableWrapper).height():e(this.s.dt.nTable).height()}).appendTo("body")},_fnSetColumnIndexes:function(){e.each(this.s.dt.aoColumns,function(a,b){e(b.nTh).attr("data-column-index",a)})},_fnCursorPosition:function(a,b){return-1!==a.type.indexOf("touch")?a.originalEvent.touches[0][b]:a[b]},_fnIsLtr:function(){return"rtl"!==e(this.s.dt.nTable).css("direction")}});i.defaults={aiOrder:null,bEnable:!0,bRealtime:!0,iFixedColumnsLeft:0,iFixedColumnsRight:0,fnReorderCallback:null};i.version="1.5.2";
|
|
||||||
e.fn.dataTable.ColReorder=i;e.fn.DataTable.ColReorder=i;"function"==typeof e.fn.dataTable&&"function"==typeof e.fn.dataTableExt.fnVersionCheck&&e.fn.dataTableExt.fnVersionCheck("1.10.8")?e.fn.dataTableExt.aoFeatures.push({fnInit:function(a){var b=a.oInstance;a._colReorder?b.oApi._fnLog(a,1,"ColReorder attempted to initialise twice. Ignoring second"):(b=a.oInit,new i(a,b.colReorder||b.oColReorder||{}));return null},cFeature:"R",sFeature:"ColReorder"}):alert("Warning: ColReorder requires DataTables 1.10.8 or greater - www.datatables.net/download");
|
|
||||||
e(o).on("preInit.dt.colReorder",function(a,b){if("dt"===a.namespace){var d=b.oInit.colReorder,f=u.defaults.colReorder;if(d||f)f=e.extend({},d,f),!1!==d&&new i(b,f)}});e.fn.dataTable.Api.register("colReorder.reset()",function(){return this.iterator("table",function(a){a._colReorder.fnReset()})});e.fn.dataTable.Api.register("colReorder.order()",function(a,b){return a?this.iterator("table",function(d){d._colReorder.fnOrder(a,b)}):this.context.length?this.context[0]._colReorder.fnOrder():null});e.fn.dataTable.Api.register("colReorder.transpose()",
|
|
||||||
function(a,b){return this.context.length&&this.context[0]._colReorder?this.context[0]._colReorder.fnTranspose(a,b):a});e.fn.dataTable.Api.register("colReorder.move()",function(a,b,d,e){this.context.length&&(this.context[0]._colReorder.s.dt.oInstance.fnColReorder(a,b,d,e),this.context[0]._colReorder._fnSetColumnIndexes());return this});e.fn.dataTable.Api.register("colReorder.enable()",function(a){return this.iterator("table",function(b){b._colReorder&&b._colReorder.fnEnable(a)})});e.fn.dataTable.Api.register("colReorder.disable()",
|
|
||||||
function(){return this.iterator("table",function(a){a._colReorder&&a._colReorder.fnDisable()})});return i});
|
|
@ -1,64 +0,0 @@
|
|||||||
table.DTFC_Cloned tr {
|
|
||||||
background-color: white;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_LeftHeadWrapper table,
|
|
||||||
div.DTFC_RightHeadWrapper table {
|
|
||||||
border-bottom: none !important;
|
|
||||||
margin-bottom: 0 !important;
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_LeftBodyWrapper table,
|
|
||||||
div.DTFC_RightBodyWrapper table {
|
|
||||||
border-top: none;
|
|
||||||
margin: 0 !important;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting:before, div.DTFC_LeftBodyWrapper table thead .sorting:after,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_asc:before,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_asc:after,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_desc:before,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_desc:after,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting:before,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting:after,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_asc:before,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_asc:after,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_desc:before,
|
|
||||||
div.DTFC_LeftBodyWrapper table thead .sorting_desc:after,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting:before,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting:after,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_asc:before,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_asc:after,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_desc:before,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_desc:after,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting:before,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting:after,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_asc:before,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_asc:after,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_desc:before,
|
|
||||||
div.DTFC_RightBodyWrapper table thead .sorting_desc:after {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
div.DTFC_LeftBodyWrapper table tbody tr:first-child th,
|
|
||||||
div.DTFC_LeftBodyWrapper table tbody tr:first-child td,
|
|
||||||
div.DTFC_RightBodyWrapper table tbody tr:first-child th,
|
|
||||||
div.DTFC_RightBodyWrapper table tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_LeftFootWrapper table,
|
|
||||||
div.DTFC_RightFootWrapper table {
|
|
||||||
border-top: none;
|
|
||||||
margin-top: 0 !important;
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_Blocker {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable.table-striped.DTFC_Cloned tbody {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
table.DTFC_Cloned tr{background-color:white;margin-bottom:0}div.DTFC_LeftHeadWrapper table,div.DTFC_RightHeadWrapper table{border-bottom:none !important;margin-bottom:0 !important;background-color:white}div.DTFC_LeftBodyWrapper table,div.DTFC_RightBodyWrapper table{border-top:none;margin:0 !important;z-index:2}div.DTFC_LeftBodyWrapper table thead .sorting:before,div.DTFC_LeftBodyWrapper table thead .sorting:after,div.DTFC_LeftBodyWrapper table thead .sorting_asc:before,div.DTFC_LeftBodyWrapper table thead .sorting_asc:after,div.DTFC_LeftBodyWrapper table thead .sorting_desc:before,div.DTFC_LeftBodyWrapper table thead .sorting_desc:after,div.DTFC_LeftBodyWrapper table thead .sorting:before,div.DTFC_LeftBodyWrapper table thead .sorting:after,div.DTFC_LeftBodyWrapper table thead .sorting_asc:before,div.DTFC_LeftBodyWrapper table thead .sorting_asc:after,div.DTFC_LeftBodyWrapper table thead .sorting_desc:before,div.DTFC_LeftBodyWrapper table thead .sorting_desc:after,div.DTFC_RightBodyWrapper table thead .sorting:before,div.DTFC_RightBodyWrapper table thead .sorting:after,div.DTFC_RightBodyWrapper table thead .sorting_asc:before,div.DTFC_RightBodyWrapper table thead .sorting_asc:after,div.DTFC_RightBodyWrapper table thead .sorting_desc:before,div.DTFC_RightBodyWrapper table thead .sorting_desc:after,div.DTFC_RightBodyWrapper table thead .sorting:before,div.DTFC_RightBodyWrapper table thead .sorting:after,div.DTFC_RightBodyWrapper table thead .sorting_asc:before,div.DTFC_RightBodyWrapper table thead .sorting_asc:after,div.DTFC_RightBodyWrapper table thead .sorting_desc:before,div.DTFC_RightBodyWrapper table thead .sorting_desc:after{display:none}div.DTFC_LeftBodyWrapper table tbody tr:first-child th,div.DTFC_LeftBodyWrapper table tbody tr:first-child td,div.DTFC_RightBodyWrapper table tbody tr:first-child th,div.DTFC_RightBodyWrapper table tbody tr:first-child td{border-top:none}div.DTFC_LeftFootWrapper table,div.DTFC_RightFootWrapper table{border-top:none;margin-top:0 !important;background-color:white}div.DTFC_Blocker{background-color:white}table.dataTable.table-striped.DTFC_Cloned tbody{background-color:white}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,35 +0,0 @@
|
|||||||
/*!
|
|
||||||
FixedColumns 3.8.0
|
|
||||||
©2010-2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(p){return d(p,window,document)}):"object"===typeof exports?module.exports=function(p,r){p||(p=window);if(!r||!r.fn.dataTable)r=require("datatables.net")(p,r).$;return d(r,p,p.document)}:d(jQuery,window,document)})(function(d,p,r,t){var s=d.fn.dataTable,u,m=function(a,b){var c=this;if(this instanceof m){if(b===t||!0===b)b={};var e=d.fn.dataTable.camelToHungarian;e&&(e(m.defaults,m.defaults,!0),e(m.defaults,
|
|
||||||
b));e=(new d.fn.dataTable.Api(a)).settings()[0];this.s={dt:e,iTableColumns:e.aoColumns.length,aiOuterWidths:[],aiInnerWidths:[],rtl:"rtl"===d(e.nTable).css("direction")};this.dom={scroller:null,header:null,body:null,footer:null,grid:{wrapper:null,dt:null,left:{wrapper:null,head:null,body:null,foot:null},right:{wrapper:null,head:null,body:null,foot:null}},clone:{left:{header:null,body:null,footer:null},right:{header:null,body:null,footer:null}}};if(e._oFixedColumns)throw"FixedColumns already initialised on this table";
|
|
||||||
e._oFixedColumns=this;e._bInitComplete?this._fnConstruct(b):e.oApi._fnCallbackReg(e,"aoInitComplete",function(){c._fnConstruct(b)},"FixedColumns")}else alert("FixedColumns warning: FixedColumns must be initialised with the 'new' keyword.")};d.extend(m.prototype,{fnUpdate:function(){this._fnDraw(!0)},fnRedrawLayout:function(){this._fnColCalc();this._fnGridLayout();this.fnUpdate()},fnRecalculateHeight:function(a){delete a._DTTC_iHeight;a.style.height="auto"},fnSetRowHeight:function(a,b){a.style.height=
|
|
||||||
b+"px"},fnGetPosition:function(a){var b=this.s.dt.oInstance;if(d(a).parents(".DTFC_Cloned").length){if("tr"===a.nodeName.toLowerCase())return a=d(a).index(),b.fnGetPosition(d("tr",this.s.dt.nTBody)[a]);var c=d(a).index(),a=d(a.parentNode).index();return[b.fnGetPosition(d("tr",this.s.dt.nTBody)[a]),c,b.oApi._fnVisibleToColumnIndex(this.s.dt,c)]}return b.fnGetPosition(a)},fnToFixedNode:function(a,b){var c;b<this.s.iLeftColumns?c=d(this.dom.clone.left.body).find("[data-dt-row="+a+"][data-dt-column="+
|
|
||||||
b+"]"):b>=this.s.iRightColumns&&(c=d(this.dom.clone.right.body).find("[data-dt-row="+a+"][data-dt-column="+b+"]"));return c&&c.length?c[0]:(new d.fn.dataTable.Api(this.s.dt)).cell(a,b).node()},_fnConstruct:function(a){var b=this;if("function"!=typeof this.s.dt.oInstance.fnVersionCheck||!0!==this.s.dt.oInstance.fnVersionCheck("1.8.0"))alert("FixedColumns "+m.VERSION+" required DataTables 1.8.0 or later. Please upgrade your DataTables installation");else if(""===this.s.dt.oScroll.sX)this.s.dt.oInstance.oApi._fnLog(this.s.dt,
|
|
||||||
1,"FixedColumns is not needed (no x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for column fixing when scrolling is not enabled");else{this.s=d.extend(!0,this.s,m.defaults,a);a=this.s.dt.oClasses;this.dom.grid.dt=d(this.s.dt.nTable).parents("div."+a.sScrollWrapper)[0];this.dom.scroller=d("div."+a.sScrollBody,this.dom.grid.dt)[0];this._fnColCalc();this._fnGridSetup();var c,e=!1;d(this.s.dt.nTableWrapper).on("mousedown.DTFC",function(a){0===a.button&&(e=!0,d(r).one("mouseup",
|
|
||||||
function(){e=!1}))});d(this.dom.scroller).on("mouseover.DTFC touchstart.DTFC",function(){e||(c="main")}).on("scroll.DTFC",function(a){!c&&a.originalEvent&&(c="main");if("main"===c&&(0<b.s.iLeftColumns&&(b.dom.grid.left.liner.scrollTop=b.dom.scroller.scrollTop),0<b.s.iRightColumns))b.dom.grid.right.liner.scrollTop=b.dom.scroller.scrollTop});var f="onwheel"in r.createElement("div")?"wheel.DTFC":"mousewheel.DTFC";if(0<b.s.iLeftColumns)d(b.dom.grid.left.liner).on("mouseover.DTFC touchstart.DTFC",function(){e||
|
|
||||||
(c="left")}).on("scroll.DTFC",function(a){!c&&a.originalEvent&&(c="left");"left"===c&&(b.dom.scroller.scrollTop=b.dom.grid.left.liner.scrollTop,0<b.s.iRightColumns&&(b.dom.grid.right.liner.scrollTop=b.dom.grid.left.liner.scrollTop))}).on(f,function(a){b.dom.scroller.scrollLeft-="wheel"===a.type?-a.originalEvent.deltaX:a.originalEvent.wheelDeltaX});if(0<b.s.iRightColumns)d(b.dom.grid.right.liner).on("mouseover.DTFC touchstart.DTFC",function(){e||(c="right")}).on("scroll.DTFC",function(a){!c&&a.originalEvent&&
|
|
||||||
(c="right");"right"===c&&(b.dom.scroller.scrollTop=b.dom.grid.right.liner.scrollTop,0<b.s.iLeftColumns&&(b.dom.grid.left.liner.scrollTop=b.dom.grid.right.liner.scrollTop))}).on(f,function(a){b.dom.scroller.scrollLeft-="wheel"===a.type?-a.originalEvent.deltaX:a.originalEvent.wheelDeltaX});d(p).on("resize.DTFC",function(){b._fnGridLayout.call(b)});var g=!0,h=d(this.s.dt.nTable);h.on("draw.dt.DTFC",function(){b._fnColCalc();b._fnDraw.call(b,g);g=!1}).on("column-sizing.dt.DTFC",function(){b._fnColCalc();
|
|
||||||
b._fnGridLayout(b)}).on("column-visibility.dt.DTFC",function(a,c,d,e,f){if(f===t||f)b._fnColCalc(),b._fnGridLayout(b),b._fnDraw(!0)}).on("select.dt.DTFC deselect.dt.DTFC",function(a){"dt"===a.namespace&&b._fnDraw(!1)}).on("destroy.dt.DTFC",function(){h.off(".DTFC");d(b.dom.scroller).off(".DTFC");d(p).off(".DTFC");d(b.s.dt.nTableWrapper).off(".DTFC");d(b.dom.grid.left.liner).off(".DTFC "+f);d(b.dom.grid.left.wrapper).remove();d(b.dom.grid.right.liner).off(".DTFC "+f);d(b.dom.grid.right.wrapper).remove()});
|
|
||||||
this._fnGridLayout();this.s.dt.oInstance.fnDraw(!1)}},_fnColCalc:function(){var a=this,b=0,c=0;this.s.aiInnerWidths=[];this.s.aiOuterWidths=[];d.each(this.s.dt.aoColumns,function(e,f){var g=d(f.nTh),h;if(g.filter(":visible").length){var i=g.outerWidth();0===a.s.aiOuterWidths.length&&(h=d(a.s.dt.nTable).css("border-left-width"),i+="string"===typeof h&&-1===h.indexOf("px")?1:parseInt(h,10));a.s.aiOuterWidths.length===a.s.dt.aoColumns.length-1&&(h=d(a.s.dt.nTable).css("border-right-width"),i+="string"===
|
|
||||||
typeof h&&-1===h.indexOf("px")?1:parseInt(h,10));a.s.aiOuterWidths.push(i);a.s.aiInnerWidths.push(g.width());e<a.s.iLeftColumns&&(b+=i);a.s.iTableColumns-a.s.iRightColumns<=e&&(c+=i)}else a.s.aiInnerWidths.push(0),a.s.aiOuterWidths.push(0)});this.s.iLeftWidth=b;this.s.iRightWidth=c},_fnGridSetup:function(){var a=this._fnDTOverflow(),b;this.dom.body=this.s.dt.nTable;this.dom.header=this.s.dt.nTHead.parentNode;this.dom.header.parentNode.parentNode.style.position="relative";var c=d('<div class="DTFC_ScrollWrapper" style="position:relative; clear:both;"><div class="DTFC_LeftWrapper" style="position:absolute; top:0; left:0;" aria-hidden="true"><div class="DTFC_LeftHeadWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div><div class="DTFC_LeftBodyWrapper" style="position:relative; top:0; left:0; height:0; overflow:hidden;"><div class="DTFC_LeftBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_LeftFootWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div></div><div class="DTFC_RightWrapper" style="position:absolute; top:0; right:0;" aria-hidden="true"><div class="DTFC_RightHeadWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightHeadBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div><div class="DTFC_RightBodyWrapper" style="position:relative; top:0; left:0; height:0; overflow:hidden;"><div class="DTFC_RightBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_RightFootWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightFootBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div></div></div>')[0],
|
|
||||||
e=c.childNodes[0],f=c.childNodes[1];this.dom.grid.dt.parentNode.insertBefore(c,this.dom.grid.dt);c.appendChild(this.dom.grid.dt);this.dom.grid.wrapper=c;0<this.s.iLeftColumns&&(this.dom.grid.left.wrapper=e,this.dom.grid.left.head=e.childNodes[0],this.dom.grid.left.body=e.childNodes[1],this.dom.grid.left.liner=d("div.DTFC_LeftBodyLiner",c)[0],c.appendChild(e));0<this.s.iRightColumns&&(this.dom.grid.right.wrapper=f,this.dom.grid.right.head=f.childNodes[0],this.dom.grid.right.body=f.childNodes[1],this.dom.grid.right.liner=
|
|
||||||
d("div.DTFC_RightBodyLiner",c)[0],f.style.right=a.bar+"px",b=d("div.DTFC_RightHeadBlocker",c)[0],b.style.width=a.bar+"px",b.style.right=-a.bar+"px",this.dom.grid.right.headBlock=b,b=d("div.DTFC_RightFootBlocker",c)[0],b.style.width=a.bar+"px",b.style.right=-a.bar+"px",this.dom.grid.right.footBlock=b,c.appendChild(f));if(this.s.dt.nTFoot&&(this.dom.footer=this.s.dt.nTFoot.parentNode,0<this.s.iLeftColumns&&(this.dom.grid.left.foot=e.childNodes[2]),0<this.s.iRightColumns))this.dom.grid.right.foot=f.childNodes[2];
|
|
||||||
this.s.rtl&&d("div.DTFC_RightHeadBlocker",c).css({left:-a.bar+"px",right:""})},_fnGridLayout:function(){var a=this,b=this.dom.grid;d(b.wrapper).width();var c=this.s.dt.nTable.parentNode.offsetHeight,e=this.s.dt.nTable.parentNode.parentNode.offsetHeight,f=this._fnDTOverflow(),g=this.s.iLeftWidth,h=this.s.iRightWidth,i="rtl"===d(this.dom.body).css("direction"),j=function(b,c){f.bar?a._firefoxScrollError()?34<d(b).height()&&(b.style.width=c+f.bar+"px"):b.style.width=c+f.bar+"px":(b.style.width=c+20+
|
|
||||||
"px",b.style.paddingRight="20px",b.style.boxSizing="border-box")};f.x&&(c-=f.bar);b.wrapper.style.height=e+"px";0<this.s.iLeftColumns&&(e=b.left.wrapper,e.style.width=g+"px",e.style.height="1px",i?(e.style.left="",e.style.right=0):(e.style.left=0,e.style.right=""),b.left.body.style.height=c+"px",b.left.foot&&(b.left.foot.style.top=(f.x?f.bar:0)+"px"),j(b.left.liner,g),b.left.liner.style.height=c+"px",b.left.liner.style.maxHeight=c+"px");0<this.s.iRightColumns&&(e=b.right.wrapper,e.style.width=h+"px",
|
|
||||||
e.style.height="1px",this.s.rtl?(e.style.left=f.y?f.bar+"px":0,e.style.right=""):(e.style.left="",e.style.right=f.y?f.bar+"px":0),b.right.body.style.height=c+"px",b.right.foot&&(b.right.foot.style.top=(f.x?f.bar:0)+"px"),j(b.right.liner,h),b.right.liner.style.height=c+"px",b.right.liner.style.maxHeight=c+"px",b.right.headBlock.style.display=f.y?"block":"none",b.right.footBlock.style.display=f.y?"block":"none")},_fnDTOverflow:function(){var a=this.s.dt.nTable,b=a.parentNode,c={x:!1,y:!1,bar:this.s.dt.oScroll.iBarWidth};
|
|
||||||
a.offsetWidth>b.clientWidth&&(c.x=!0);a.offsetHeight>b.clientHeight&&(c.y=!0);return c},_fnDraw:function(a){this._fnGridLayout();this._fnCloneLeft(a);this._fnCloneRight(a);null!==this.s.fnDrawCallback&&this.s.fnDrawCallback.call(this,this.dom.clone.left,this.dom.clone.right);d(this).trigger("draw.dtfc",{leftClone:this.dom.clone.left,rightClone:this.dom.clone.right})},_fnCloneRight:function(a){if(!(0>=this.s.iRightColumns)){var b,c=[];for(b=this.s.iTableColumns-this.s.iRightColumns;b<this.s.iTableColumns;b++)this.s.dt.aoColumns[b].bVisible&&
|
|
||||||
c.push(b);this._fnClone(this.dom.clone.right,this.dom.grid.right,c,a)}},_fnCloneLeft:function(a){if(!(0>=this.s.iLeftColumns)){var b,c=[];for(b=0;b<this.s.iLeftColumns;b++)this.s.dt.aoColumns[b].bVisible&&c.push(b);this._fnClone(this.dom.clone.left,this.dom.grid.left,c,a)}},_fnCopyLayout:function(a,b,c){for(var e=[],f=[],g=[],h=0,i=a.length;h<i;h++){var j=[];j.nTr=d(a[h].nTr).clone(c,!1)[0];for(var l=0,o=this.s.iTableColumns;l<o;l++)if(-1!==d.inArray(l,b)){var q=d.inArray(a[h][l].cell,g);-1===q?(q=
|
|
||||||
d(a[h][l].cell).clone(c,!1)[0],f.push(q),g.push(a[h][l].cell),j.push({cell:q,unique:a[h][l].unique})):j.push({cell:f[q],unique:a[h][l].unique})}e.push(j)}return e},_fnClone:function(a,b,c,e){var f=this,g,h,i,j,l,o,q,n,m,k=this.s.dt;if(e){d(a.header).remove();a.header=d(this.dom.header).clone(!0,!1)[0];a.header.className+=" DTFC_Cloned";a.header.style.width="100%";b.head.appendChild(a.header);n=this._fnCopyLayout(k.aoHeader,c,!0);j=d(">thead",a.header);j.empty();g=0;for(h=n.length;g<h;g++)j[0].appendChild(n[g].nTr);
|
|
||||||
k.oApi._fnDrawHead(k,n,!0)}else{n=this._fnCopyLayout(k.aoHeader,c,!1);m=[];k.oApi._fnDetectHeader(m,d(">thead",a.header)[0]);g=0;for(h=n.length;g<h;g++){i=0;for(j=n[g].length;i<j;i++)m[g][i].cell.className=n[g][i].cell.className,d("span.DataTables_sort_icon",m[g][i].cell).each(function(){this.className=d("span.DataTables_sort_icon",n[g][i].cell)[0].className})}}this._fnEqualiseHeights("thead",this.dom.header,a.header);"auto"==this.s.sHeightMatch&&d(">tbody>tr",f.dom.body).css("height","auto");null!==
|
|
||||||
a.body&&(d(a.body).remove(),a.body=null);a.body=d(this.dom.body).clone(!0)[0];a.body.className+=" DTFC_Cloned";a.body.style.paddingBottom=k.oScroll.iBarWidth+"px";a.body.style.marginBottom=2*k.oScroll.iBarWidth+"px";null!==a.body.getAttribute("id")&&a.body.removeAttribute("id");d(">thead>tr",a.body).empty();d(">tfoot",a.body).remove();var p=d("tbody",a.body)[0];d(p).empty();if(0<k.aiDisplay.length){h=d(">thead>tr",a.body)[0];for(q=0;q<c.length;q++)l=c[q],o=d(k.aoColumns[l].nTh).clone(!0)[0],o.innerHTML=
|
|
||||||
"",j=o.style,j.paddingTop="0",j.paddingBottom="0",j.borderTopWidth="0",j.borderBottomWidth="0",j.height=0,j.width=f.s.aiInnerWidths[l]+"px",h.appendChild(o);d(">tbody>tr",f.dom.body).each(function(a){var a=f.s.dt.oFeatures.bServerSide===false?f.s.dt.aiDisplay[f.s.dt._iDisplayStart+a]:a,b=f.s.dt.aoData[a].anCells||d(this).children("td, th"),e=this.cloneNode(false);e.removeAttribute("id");e.setAttribute("data-dt-row",a);for(q=0;q<c.length;q++){l=c[q];if(b.length>0){o=d(b[l]).clone(true,true)[0];o.removeAttribute("id");
|
|
||||||
o.setAttribute("data-dt-row",a);o.setAttribute("data-dt-column",l);e.appendChild(o)}}p.appendChild(e)})}else d(">tbody>tr",f.dom.body).each(function(){o=this.cloneNode(true);o.className=o.className+" DTFC_NoData";d("td",o).html("");p.appendChild(o)});a.body.style.width="100%";a.body.style.margin="0";a.body.style.padding="0";k.oScroller!==t&&(h=k.oScroller.dom.force,b.forcer?b.forcer.style.height=h.style.height:(b.forcer=h.cloneNode(!0),b.liner.appendChild(b.forcer)));b.liner.appendChild(a.body);this._fnEqualiseHeights("tbody",
|
|
||||||
f.dom.body,a.body);if(null!==k.nTFoot){if(e){null!==a.footer&&a.footer.parentNode.removeChild(a.footer);a.footer=d(this.dom.footer).clone(!0,!0)[0];a.footer.className+=" DTFC_Cloned";a.footer.style.width="100%";b.foot.appendChild(a.footer);n=this._fnCopyLayout(k.aoFooter,c,!0);b=d(">tfoot",a.footer);b.empty();g=0;for(h=n.length;g<h;g++)b[0].appendChild(n[g].nTr);k.oApi._fnDrawHead(k,n,!0)}else{n=this._fnCopyLayout(k.aoFooter,c,!1);b=[];k.oApi._fnDetectHeader(b,d(">tfoot",a.footer)[0]);g=0;for(h=n.length;g<
|
|
||||||
h;g++){i=0;for(j=n[g].length;i<j;i++)b[g][i].cell.className=n[g][i].cell.className}}this._fnEqualiseHeights("tfoot",this.dom.footer,a.footer)}b=k.oApi._fnGetUniqueThs(k,d(">thead",a.header)[0]);d(b).each(function(a){l=c[a];this.style.width=f.s.aiInnerWidths[l]+"px"});null!==f.s.dt.nTFoot&&(b=k.oApi._fnGetUniqueThs(k,d(">tfoot",a.footer)[0]),d(b).each(function(a){l=c[a];this.style.width=f.s.aiInnerWidths[l]+"px"}))},_fnGetTrNodes:function(a){for(var b=[],c=0,d=a.childNodes.length;c<d;c++)"TR"==a.childNodes[c].nodeName.toUpperCase()&&
|
|
||||||
b.push(a.childNodes[c]);return b},_fnEqualiseHeights:function(a,b,c){if(!("none"==this.s.sHeightMatch&&"thead"!==a&&"tfoot"!==a)){var e,f,g=b.getElementsByTagName(a)[0],c=c.getElementsByTagName(a)[0],a=d(">"+a+">tr:eq(0)",b).children(":first");a.outerHeight();a.height();for(var g=this._fnGetTrNodes(g),b=this._fnGetTrNodes(c),h=[],c=0,a=b.length;c<a;c++)e=g[c].offsetHeight,f=b[c].offsetHeight,e=f>e?f:e,"semiauto"==this.s.sHeightMatch&&(g[c]._DTTC_iHeight=e),h.push(e);c=0;for(a=b.length;c<a;c++)b[c].style.height=
|
|
||||||
h[c]+"px",g[c].style.height=h[c]+"px"}},_firefoxScrollError:function(){if(u===t){var a=d("<div/>").css({position:"absolute",top:0,left:0,height:10,width:50,overflow:"scroll"}).appendTo("body");u=a[0].clientWidth===a[0].offsetWidth&&0!==this._fnDTOverflow().bar;a.remove()}return u}});m.defaults={iLeftColumns:1,iRightColumns:0,fnDrawCallback:null,sHeightMatch:"semiauto"};m.version="3.8.0";s.Api.register("fixedColumns()",function(){return this});s.Api.register("fixedColumns().update()",function(){return this.iterator("table",
|
|
||||||
function(a){a._oFixedColumns&&a._oFixedColumns.fnUpdate()})});s.Api.register("fixedColumns().relayout()",function(){return this.iterator("table",function(a){a._oFixedColumns&&a._oFixedColumns.fnRedrawLayout()})});s.Api.register("rows().recalcHeight()",function(){return this.iterator("row",function(a,b){a._oFixedColumns&&a._oFixedColumns.fnRecalculateHeight(this.row(b).node())})});s.Api.register("fixedColumns().rowIndex()",function(a){a=d(a);return a.parents(".DTFC_Cloned").length?this.rows({page:"current"}).indexes()[a.index()]:
|
|
||||||
this.row(a).index()});s.Api.register("fixedColumns().cellIndex()",function(a){a=d(a);if(a.parents(".DTFC_Cloned").length){var b=a.parent().index(),b=this.rows({page:"current"}).indexes()[b],a=a.parents(".DTFC_LeftWrapper").length?a.index():this.columns().flatten().length-this.context[0]._oFixedColumns.s.iRightColumns+a.index();return{row:b,column:this.column.index("toData",a),columnVisible:a}}return this.cell(a).index()});s.Api.registerPlural("cells().fixedNodes()","cell().fixedNode()",function(){return this.iterator("cell",
|
|
||||||
function(a,b,c){return a._oFixedColumns?a._oFixedColumns.fnToFixedNode(b,c):this.node()},1)});d(r).on("init.dt.fixedColumns",function(a,b){if("dt"===a.namespace){var c=b.oInit.fixedColumns,e=s.defaults.fixedColumns;if(c||e)e=d.extend({},c,e),!1!==c&&new m(b,e)}});d.fn.dataTable.FixedColumns=m;return d.fn.DataTable.FixedColumns=m});
|
|
@ -1,38 +0,0 @@
|
|||||||
/*! Bootstrap 4 styling wrapper for FixedColumns
|
|
||||||
* ©2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net-bs4', 'datatables.net-fixedcolumns'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net-bs4')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.FixedColumns ) {
|
|
||||||
require('datatables.net-fixedcolumns')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
|
|
||||||
return $.fn.dataTable;
|
|
||||||
|
|
||||||
}));
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
Bootstrap 4 styling wrapper for FixedColumns
|
|
||||||
©2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-fixedcolumns"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs4")(a,b).$;b.fn.dataTable.FixedColumns||require("datatables.net-fixedcolumns")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){return c.fn.dataTable});
|
|
@ -1,20 +0,0 @@
|
|||||||
table.dataTable.fixedHeader-floating,
|
|
||||||
table.dataTable.fixedHeader-locked {
|
|
||||||
background-color: white;
|
|
||||||
margin-top: 0 !important;
|
|
||||||
margin-bottom: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable.fixedHeader-floating {
|
|
||||||
position: fixed !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable.fixedHeader-locked {
|
|
||||||
position: absolute !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media print {
|
|
||||||
table.fixedHeader-floating {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
table.dataTable.fixedHeader-floating,table.dataTable.fixedHeader-locked{background-color:white;margin-top:0 !important;margin-bottom:0 !important}table.dataTable.fixedHeader-floating{position:fixed !important}table.dataTable.fixedHeader-locked{position:absolute !important}@media print{table.fixedHeader-floating{display:none}}
|
|
@ -1,726 +0,0 @@
|
|||||||
/*! FixedHeader 3.1.6-dev
|
|
||||||
* ©2009-2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @summary FixedHeader
|
|
||||||
* @description Fix a table's header or footer, so it is always visible while
|
|
||||||
* scrolling
|
|
||||||
* @version 3.1.6-dev
|
|
||||||
* @file dataTables.fixedHeader.js
|
|
||||||
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
|
||||||
* @contact www.sprymedia.co.uk/contact
|
|
||||||
* @copyright Copyright 2009-2018 SpryMedia Ltd.
|
|
||||||
*
|
|
||||||
* This source file is free software, available under the following license:
|
|
||||||
* MIT license - http://datatables.net/license/mit
|
|
||||||
*
|
|
||||||
* This source file is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
|
||||||
*
|
|
||||||
* For details please refer to: http://www.datatables.net
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
var _instCounter = 0;
|
|
||||||
|
|
||||||
var FixedHeader = function ( dt, config ) {
|
|
||||||
// Sanity check - you just know it will happen
|
|
||||||
if ( ! (this instanceof FixedHeader) ) {
|
|
||||||
throw "FixedHeader must be initialised with the 'new' keyword.";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allow a boolean true for defaults
|
|
||||||
if ( config === true ) {
|
|
||||||
config = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
dt = new DataTable.Api( dt );
|
|
||||||
|
|
||||||
this.c = $.extend( true, {}, FixedHeader.defaults, config );
|
|
||||||
|
|
||||||
this.s = {
|
|
||||||
dt: dt,
|
|
||||||
position: {
|
|
||||||
theadTop: 0,
|
|
||||||
tbodyTop: 0,
|
|
||||||
tfootTop: 0,
|
|
||||||
tfootBottom: 0,
|
|
||||||
width: 0,
|
|
||||||
left: 0,
|
|
||||||
tfootHeight: 0,
|
|
||||||
theadHeight: 0,
|
|
||||||
windowHeight: $(window).height(),
|
|
||||||
visible: true
|
|
||||||
},
|
|
||||||
headerMode: null,
|
|
||||||
footerMode: null,
|
|
||||||
autoWidth: dt.settings()[0].oFeatures.bAutoWidth,
|
|
||||||
namespace: '.dtfc'+(_instCounter++),
|
|
||||||
scrollLeft: {
|
|
||||||
header: -1,
|
|
||||||
footer: -1
|
|
||||||
},
|
|
||||||
enable: true
|
|
||||||
};
|
|
||||||
|
|
||||||
this.dom = {
|
|
||||||
floatingHeader: null,
|
|
||||||
thead: $(dt.table().header()),
|
|
||||||
tbody: $(dt.table().body()),
|
|
||||||
tfoot: $(dt.table().footer()),
|
|
||||||
header: {
|
|
||||||
host: null,
|
|
||||||
floating: null,
|
|
||||||
placeholder: null
|
|
||||||
},
|
|
||||||
footer: {
|
|
||||||
host: null,
|
|
||||||
floating: null,
|
|
||||||
placeholder: null
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
this.dom.header.host = this.dom.thead.parent();
|
|
||||||
this.dom.footer.host = this.dom.tfoot.parent();
|
|
||||||
|
|
||||||
var dtSettings = dt.settings()[0];
|
|
||||||
if ( dtSettings._fixedHeader ) {
|
|
||||||
throw "FixedHeader already initialised on table "+dtSettings.nTable.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
dtSettings._fixedHeader = this;
|
|
||||||
|
|
||||||
this._constructor();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Variable: FixedHeader
|
|
||||||
* Purpose: Prototype for FixedHeader
|
|
||||||
* Scope: global
|
|
||||||
*/
|
|
||||||
$.extend( FixedHeader.prototype, {
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
||||||
* API methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Kill off FH and any events
|
|
||||||
*/
|
|
||||||
destroy: function () {
|
|
||||||
this.s.dt.off( '.dtfc' );
|
|
||||||
$(window).off( this.s.namespace );
|
|
||||||
|
|
||||||
if ( this.c.header ) {
|
|
||||||
this._modeChange( 'in-place', 'header', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( this.c.footer && this.dom.tfoot.length ) {
|
|
||||||
this._modeChange( 'in-place', 'footer', true );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable / disable the fixed elements
|
|
||||||
*
|
|
||||||
* @param {boolean} enable `true` to enable, `false` to disable
|
|
||||||
*/
|
|
||||||
enable: function ( enable, update )
|
|
||||||
{
|
|
||||||
this.s.enable = enable;
|
|
||||||
|
|
||||||
if ( update || update === undefined ) {
|
|
||||||
this._positions();
|
|
||||||
this._scroll( true );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get enabled status
|
|
||||||
*/
|
|
||||||
enabled: function ()
|
|
||||||
{
|
|
||||||
return this.s.enable;
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set header offset
|
|
||||||
*
|
|
||||||
* @param {int} new value for headerOffset
|
|
||||||
*/
|
|
||||||
headerOffset: function ( offset )
|
|
||||||
{
|
|
||||||
if ( offset !== undefined ) {
|
|
||||||
this.c.headerOffset = offset;
|
|
||||||
this.update();
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.c.headerOffset;
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set footer offset
|
|
||||||
*
|
|
||||||
* @param {int} new value for footerOffset
|
|
||||||
*/
|
|
||||||
footerOffset: function ( offset )
|
|
||||||
{
|
|
||||||
if ( offset !== undefined ) {
|
|
||||||
this.c.footerOffset = offset;
|
|
||||||
this.update();
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.c.footerOffset;
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Recalculate the position of the fixed elements and force them into place
|
|
||||||
*/
|
|
||||||
update: function ()
|
|
||||||
{
|
|
||||||
var table = this.s.dt.table().node();
|
|
||||||
|
|
||||||
if ( $(table).is(':visible') ) {
|
|
||||||
this.enable( true, false );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.enable( false, false );
|
|
||||||
}
|
|
||||||
|
|
||||||
this._positions();
|
|
||||||
this._scroll( true );
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FixedHeader constructor - adding the required event listeners and
|
|
||||||
* simple initialisation
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_constructor: function ()
|
|
||||||
{
|
|
||||||
var that = this;
|
|
||||||
var dt = this.s.dt;
|
|
||||||
|
|
||||||
$(window)
|
|
||||||
.on( 'scroll'+this.s.namespace, function () {
|
|
||||||
that._scroll();
|
|
||||||
} )
|
|
||||||
.on( 'resize'+this.s.namespace, DataTable.util.throttle( function () {
|
|
||||||
that.s.position.windowHeight = $(window).height();
|
|
||||||
that.update();
|
|
||||||
}, 50 ) );
|
|
||||||
|
|
||||||
var autoHeader = $('.fh-fixedHeader');
|
|
||||||
if ( ! this.c.headerOffset && autoHeader.length ) {
|
|
||||||
this.c.headerOffset = autoHeader.outerHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
var autoFooter = $('.fh-fixedFooter');
|
|
||||||
if ( ! this.c.footerOffset && autoFooter.length ) {
|
|
||||||
this.c.footerOffset = autoFooter.outerHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
dt.on( 'column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc responsive-display.dt.dtfc', function () {
|
|
||||||
that.update();
|
|
||||||
} );
|
|
||||||
|
|
||||||
dt.on( 'destroy.dtfc', function () {
|
|
||||||
that.destroy();
|
|
||||||
} );
|
|
||||||
|
|
||||||
this._positions();
|
|
||||||
this._scroll();
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
||||||
* Private methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clone a fixed item to act as a place holder for the original element
|
|
||||||
* which is moved into a clone of the table element, and moved around the
|
|
||||||
* document to give the fixed effect.
|
|
||||||
*
|
|
||||||
* @param {string} item 'header' or 'footer'
|
|
||||||
* @param {boolean} force Force the clone to happen, or allow automatic
|
|
||||||
* decision (reuse existing if available)
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_clone: function ( item, force )
|
|
||||||
{
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var itemDom = this.dom[ item ];
|
|
||||||
var itemElement = item === 'header' ?
|
|
||||||
this.dom.thead :
|
|
||||||
this.dom.tfoot;
|
|
||||||
|
|
||||||
if ( ! force && itemDom.floating ) {
|
|
||||||
// existing floating element - reuse it
|
|
||||||
itemDom.floating.removeClass( 'fixedHeader-floating fixedHeader-locked' );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if ( itemDom.floating ) {
|
|
||||||
itemDom.placeholder.remove();
|
|
||||||
this._unsize( item );
|
|
||||||
itemDom.floating.children().detach();
|
|
||||||
itemDom.floating.remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
itemDom.floating = $( dt.table().node().cloneNode( false ) )
|
|
||||||
.css( 'table-layout', 'fixed' )
|
|
||||||
.attr( 'aria-hidden', 'true' )
|
|
||||||
.removeAttr( 'id' )
|
|
||||||
.append( itemElement )
|
|
||||||
.appendTo( 'body' );
|
|
||||||
|
|
||||||
// Insert a fake thead/tfoot into the DataTable to stop it jumping around
|
|
||||||
itemDom.placeholder = itemElement.clone( false );
|
|
||||||
itemDom.placeholder
|
|
||||||
.find( '*[id]' )
|
|
||||||
.removeAttr( 'id' );
|
|
||||||
|
|
||||||
itemDom.host.prepend( itemDom.placeholder );
|
|
||||||
|
|
||||||
// Clone widths
|
|
||||||
this._matchWidths( itemDom.placeholder, itemDom.floating );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copy widths from the cells in one element to another. This is required
|
|
||||||
* for the footer as the footer in the main table takes its sizes from the
|
|
||||||
* header columns. That isn't present in the footer so to have it still
|
|
||||||
* align correctly, the sizes need to be copied over. It is also required
|
|
||||||
* for the header when auto width is not enabled
|
|
||||||
*
|
|
||||||
* @param {jQuery} from Copy widths from
|
|
||||||
* @param {jQuery} to Copy widths to
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_matchWidths: function ( from, to ) {
|
|
||||||
var get = function ( name ) {
|
|
||||||
return $(name, from)
|
|
||||||
.map( function () {
|
|
||||||
return $(this).width();
|
|
||||||
} ).toArray();
|
|
||||||
};
|
|
||||||
|
|
||||||
var set = function ( name, toWidths ) {
|
|
||||||
$(name, to).each( function ( i ) {
|
|
||||||
$(this).css( {
|
|
||||||
width: toWidths[i],
|
|
||||||
minWidth: toWidths[i]
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
};
|
|
||||||
|
|
||||||
var thWidths = get( 'th' );
|
|
||||||
var tdWidths = get( 'td' );
|
|
||||||
|
|
||||||
set( 'th', thWidths );
|
|
||||||
set( 'td', tdWidths );
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove assigned widths from the cells in an element. This is required
|
|
||||||
* when inserting the footer back into the main table so the size is defined
|
|
||||||
* by the header columns and also when auto width is disabled in the
|
|
||||||
* DataTable.
|
|
||||||
*
|
|
||||||
* @param {string} item The `header` or `footer`
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_unsize: function ( item ) {
|
|
||||||
var el = this.dom[ item ].floating;
|
|
||||||
|
|
||||||
if ( el && (item === 'footer' || (item === 'header' && ! this.s.autoWidth)) ) {
|
|
||||||
$('th, td', el).css( {
|
|
||||||
width: '',
|
|
||||||
minWidth: ''
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( el && item === 'header' ) {
|
|
||||||
$('th, td', el).css( 'min-width', '' );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reposition the floating elements to take account of horizontal page
|
|
||||||
* scroll
|
|
||||||
*
|
|
||||||
* @param {string} item The `header` or `footer`
|
|
||||||
* @param {int} scrollLeft Document scrollLeft
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_horizontal: function ( item, scrollLeft )
|
|
||||||
{
|
|
||||||
var itemDom = this.dom[ item ];
|
|
||||||
var position = this.s.position;
|
|
||||||
var lastScrollLeft = this.s.scrollLeft;
|
|
||||||
|
|
||||||
if ( itemDom.floating && lastScrollLeft[ item ] !== scrollLeft ) {
|
|
||||||
itemDom.floating.css( 'left', position.left - scrollLeft );
|
|
||||||
|
|
||||||
lastScrollLeft[ item ] = scrollLeft;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Change from one display mode to another. Each fixed item can be in one
|
|
||||||
* of:
|
|
||||||
*
|
|
||||||
* * `in-place` - In the main DataTable
|
|
||||||
* * `in` - Floating over the DataTable
|
|
||||||
* * `below` - (Header only) Fixed to the bottom of the table body
|
|
||||||
* * `above` - (Footer only) Fixed to the top of the table body
|
|
||||||
*
|
|
||||||
* @param {string} mode Mode that the item should be shown in
|
|
||||||
* @param {string} item 'header' or 'footer'
|
|
||||||
* @param {boolean} forceChange Force a redraw of the mode, even if already
|
|
||||||
* in that mode.
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_modeChange: function ( mode, item, forceChange )
|
|
||||||
{
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var itemDom = this.dom[ item ];
|
|
||||||
var position = this.s.position;
|
|
||||||
|
|
||||||
// Record focus. Browser's will cause input elements to loose focus if
|
|
||||||
// they are inserted else where in the doc
|
|
||||||
var tablePart = this.dom[ item==='footer' ? 'tfoot' : 'thead' ];
|
|
||||||
var focus = $.contains( tablePart[0], document.activeElement ) ?
|
|
||||||
document.activeElement :
|
|
||||||
null;
|
|
||||||
|
|
||||||
if ( focus ) {
|
|
||||||
focus.blur();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( mode === 'in-place' ) {
|
|
||||||
// Insert the header back into the table's real header
|
|
||||||
if ( itemDom.placeholder ) {
|
|
||||||
itemDom.placeholder.remove();
|
|
||||||
itemDom.placeholder = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._unsize( item );
|
|
||||||
|
|
||||||
if ( item === 'header' ) {
|
|
||||||
itemDom.host.prepend( tablePart );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
itemDom.host.append( tablePart );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( itemDom.floating ) {
|
|
||||||
itemDom.floating.remove();
|
|
||||||
itemDom.floating = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( mode === 'in' ) {
|
|
||||||
// Remove the header from the read header and insert into a fixed
|
|
||||||
// positioned floating table clone
|
|
||||||
this._clone( item, forceChange );
|
|
||||||
|
|
||||||
itemDom.floating
|
|
||||||
.addClass( 'fixedHeader-floating' )
|
|
||||||
.css( item === 'header' ? 'top' : 'bottom', this.c[item+'Offset'] )
|
|
||||||
.css( 'left', position.left+'px' )
|
|
||||||
.css( 'width', position.width+'px' );
|
|
||||||
|
|
||||||
if ( item === 'footer' ) {
|
|
||||||
itemDom.floating.css( 'top', '' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( mode === 'below' ) { // only used for the header
|
|
||||||
// Fix the position of the floating header at base of the table body
|
|
||||||
this._clone( item, forceChange );
|
|
||||||
|
|
||||||
itemDom.floating
|
|
||||||
.addClass( 'fixedHeader-locked' )
|
|
||||||
.css( 'top', position.tfootTop - position.theadHeight )
|
|
||||||
.css( 'left', position.left+'px' )
|
|
||||||
.css( 'width', position.width+'px' );
|
|
||||||
}
|
|
||||||
else if ( mode === 'above' ) { // only used for the footer
|
|
||||||
// Fix the position of the floating footer at top of the table body
|
|
||||||
this._clone( item, forceChange );
|
|
||||||
|
|
||||||
itemDom.floating
|
|
||||||
.addClass( 'fixedHeader-locked' )
|
|
||||||
.css( 'top', position.tbodyTop )
|
|
||||||
.css( 'left', position.left+'px' )
|
|
||||||
.css( 'width', position.width+'px' );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Restore focus if it was lost
|
|
||||||
if ( focus && focus !== document.activeElement ) {
|
|
||||||
setTimeout( function () {
|
|
||||||
focus.focus();
|
|
||||||
}, 10 );
|
|
||||||
}
|
|
||||||
|
|
||||||
this.s.scrollLeft.header = -1;
|
|
||||||
this.s.scrollLeft.footer = -1;
|
|
||||||
this.s[item+'Mode'] = mode;
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Cache the positional information that is required for the mode
|
|
||||||
* calculations that FixedHeader performs.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_positions: function ()
|
|
||||||
{
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var table = dt.table();
|
|
||||||
var position = this.s.position;
|
|
||||||
var dom = this.dom;
|
|
||||||
var tableNode = $(table.node());
|
|
||||||
|
|
||||||
// Need to use the header and footer that are in the main table,
|
|
||||||
// regardless of if they are clones, since they hold the positions we
|
|
||||||
// want to measure from
|
|
||||||
var thead = tableNode.children('thead');
|
|
||||||
var tfoot = tableNode.children('tfoot');
|
|
||||||
var tbody = dom.tbody;
|
|
||||||
|
|
||||||
position.visible = tableNode.is(':visible');
|
|
||||||
position.width = tableNode.outerWidth();
|
|
||||||
position.left = tableNode.offset().left;
|
|
||||||
position.theadTop = thead.offset().top;
|
|
||||||
position.tbodyTop = tbody.offset().top;
|
|
||||||
position.tbodyHeight = tbody.outerHeight();
|
|
||||||
position.theadHeight = position.tbodyTop - position.theadTop;
|
|
||||||
|
|
||||||
if ( tfoot.length ) {
|
|
||||||
position.tfootTop = tfoot.offset().top;
|
|
||||||
position.tfootBottom = position.tfootTop + tfoot.outerHeight();
|
|
||||||
position.tfootHeight = position.tfootBottom - position.tfootTop;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
position.tfootTop = position.tbodyTop + tbody.outerHeight();
|
|
||||||
position.tfootBottom = position.tfootTop;
|
|
||||||
position.tfootHeight = position.tfootTop;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mode calculation - determine what mode the fixed items should be placed
|
|
||||||
* into.
|
|
||||||
*
|
|
||||||
* @param {boolean} forceChange Force a redraw of the mode, even if already
|
|
||||||
* in that mode.
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_scroll: function ( forceChange )
|
|
||||||
{
|
|
||||||
var windowTop = $(document).scrollTop();
|
|
||||||
var windowLeft = $(document).scrollLeft();
|
|
||||||
var position = this.s.position;
|
|
||||||
var headerMode, footerMode;
|
|
||||||
|
|
||||||
if ( this.c.header ) {
|
|
||||||
if ( ! this.s.enable ) {
|
|
||||||
headerMode = 'in-place';
|
|
||||||
}
|
|
||||||
else if ( ! position.visible || windowTop <= position.theadTop - this.c.headerOffset ) {
|
|
||||||
headerMode = 'in-place';
|
|
||||||
}
|
|
||||||
else if ( windowTop <= position.tfootTop - position.theadHeight - this.c.headerOffset ) {
|
|
||||||
headerMode = 'in';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
headerMode = 'below';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( forceChange || headerMode !== this.s.headerMode ) {
|
|
||||||
this._modeChange( headerMode, 'header', forceChange );
|
|
||||||
}
|
|
||||||
|
|
||||||
this._horizontal( 'header', windowLeft );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( this.c.footer && this.dom.tfoot.length ) {
|
|
||||||
if ( ! this.s.enable ) {
|
|
||||||
headerMode = 'in-place';
|
|
||||||
}
|
|
||||||
else if ( ! position.visible || windowTop + position.windowHeight >= position.tfootBottom + this.c.footerOffset ) {
|
|
||||||
footerMode = 'in-place';
|
|
||||||
}
|
|
||||||
else if ( position.windowHeight + windowTop > position.tbodyTop + position.tfootHeight + this.c.footerOffset ) {
|
|
||||||
footerMode = 'in';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
footerMode = 'above';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( forceChange || footerMode !== this.s.footerMode ) {
|
|
||||||
this._modeChange( footerMode, 'footer', forceChange );
|
|
||||||
}
|
|
||||||
|
|
||||||
this._horizontal( 'footer', windowLeft );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Version
|
|
||||||
* @type {String}
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
FixedHeader.version = "3.1.6-dev";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Defaults
|
|
||||||
* @type {Object}
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
FixedHeader.defaults = {
|
|
||||||
header: true,
|
|
||||||
footer: false,
|
|
||||||
headerOffset: 0,
|
|
||||||
footerOffset: 0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
||||||
* DataTables interfaces
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Attach for constructor access
|
|
||||||
$.fn.dataTable.FixedHeader = FixedHeader;
|
|
||||||
$.fn.DataTable.FixedHeader = FixedHeader;
|
|
||||||
|
|
||||||
|
|
||||||
// DataTables creation - check if the FixedHeader option has been defined on the
|
|
||||||
// table and if so, initialise
|
|
||||||
$(document).on( 'init.dt.dtfh', function (e, settings, json) {
|
|
||||||
if ( e.namespace !== 'dt' ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var init = settings.oInit.fixedHeader;
|
|
||||||
var defaults = DataTable.defaults.fixedHeader;
|
|
||||||
|
|
||||||
if ( (init || defaults) && ! settings._fixedHeader ) {
|
|
||||||
var opts = $.extend( {}, defaults, init );
|
|
||||||
|
|
||||||
if ( init !== false ) {
|
|
||||||
new FixedHeader( settings, opts );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
// DataTables API methods
|
|
||||||
DataTable.Api.register( 'fixedHeader()', function () {} );
|
|
||||||
|
|
||||||
DataTable.Api.register( 'fixedHeader.adjust()', function () {
|
|
||||||
return this.iterator( 'table', function ( ctx ) {
|
|
||||||
var fh = ctx._fixedHeader;
|
|
||||||
|
|
||||||
if ( fh ) {
|
|
||||||
fh.update();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
DataTable.Api.register( 'fixedHeader.enable()', function ( flag ) {
|
|
||||||
return this.iterator( 'table', function ( ctx ) {
|
|
||||||
var fh = ctx._fixedHeader;
|
|
||||||
|
|
||||||
flag = ( flag !== undefined ? flag : true );
|
|
||||||
if ( fh && flag !== fh.enabled() ) {
|
|
||||||
fh.enable( flag );
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
DataTable.Api.register( 'fixedHeader.enabled()', function () {
|
|
||||||
if ( this.context.length ) {
|
|
||||||
var fx = this.content[0]._fixedHeader;
|
|
||||||
|
|
||||||
if ( fh ) {
|
|
||||||
return fh.enabled();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
} );
|
|
||||||
|
|
||||||
DataTable.Api.register( 'fixedHeader.disable()', function ( ) {
|
|
||||||
return this.iterator( 'table', function ( ctx ) {
|
|
||||||
var fh = ctx._fixedHeader;
|
|
||||||
|
|
||||||
if ( fh && fh.enabled() ) {
|
|
||||||
fh.enable( false );
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
$.each( ['header', 'footer'], function ( i, el ) {
|
|
||||||
DataTable.Api.register( 'fixedHeader.'+el+'Offset()', function ( offset ) {
|
|
||||||
var ctx = this.context;
|
|
||||||
|
|
||||||
if ( offset === undefined ) {
|
|
||||||
return ctx.length && ctx[0]._fixedHeader ?
|
|
||||||
ctx[0]._fixedHeader[el +'Offset']() :
|
|
||||||
undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.iterator( 'table', function ( ctx ) {
|
|
||||||
var fh = ctx._fixedHeader;
|
|
||||||
|
|
||||||
if ( fh ) {
|
|
||||||
fh[ el +'Offset' ]( offset );
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
return FixedHeader;
|
|
||||||
}));
|
|
@ -1,18 +0,0 @@
|
|||||||
/*!
|
|
||||||
FixedHeader 3.1.6-dev
|
|
||||||
©2009-2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(g){return d(g,window,document)}):"object"===typeof exports?module.exports=function(g,i){g||(g=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(g,i).$;return d(i,g,g.document)}:d(jQuery,window,document)})(function(d,g,i,k){var h=d.fn.dataTable,l=0,j=function(a,b){if(!(this instanceof j))throw"FixedHeader must be initialised with the 'new' keyword.";!0===b&&(b={});a=new h.Api(a);this.c=d.extend(!0,
|
|
||||||
{},j.defaults,b);this.s={dt:a,position:{theadTop:0,tbodyTop:0,tfootTop:0,tfootBottom:0,width:0,left:0,tfootHeight:0,theadHeight:0,windowHeight:d(g).height(),visible:!0},headerMode:null,footerMode:null,autoWidth:a.settings()[0].oFeatures.bAutoWidth,namespace:".dtfc"+l++,scrollLeft:{header:-1,footer:-1},enable:!0};this.dom={floatingHeader:null,thead:d(a.table().header()),tbody:d(a.table().body()),tfoot:d(a.table().footer()),header:{host:null,floating:null,placeholder:null},footer:{host:null,floating:null,
|
|
||||||
placeholder:null}};this.dom.header.host=this.dom.thead.parent();this.dom.footer.host=this.dom.tfoot.parent();var e=a.settings()[0];if(e._fixedHeader)throw"FixedHeader already initialised on table "+e.nTable.id;e._fixedHeader=this;this._constructor()};d.extend(j.prototype,{destroy:function(){this.s.dt.off(".dtfc");d(g).off(this.s.namespace);this.c.header&&this._modeChange("in-place","header",!0);this.c.footer&&this.dom.tfoot.length&&this._modeChange("in-place","footer",!0)},enable:function(a,b){this.s.enable=
|
|
||||||
a;if(b||b===k)this._positions(),this._scroll(!0)},enabled:function(){return this.s.enable},headerOffset:function(a){a!==k&&(this.c.headerOffset=a,this.update());return this.c.headerOffset},footerOffset:function(a){a!==k&&(this.c.footerOffset=a,this.update());return this.c.footerOffset},update:function(){var a=this.s.dt.table().node();d(a).is(":visible")?this.enable(!0,!1):this.enable(!1,!1);this._positions();this._scroll(!0)},_constructor:function(){var a=this,b=this.s.dt;d(g).on("scroll"+this.s.namespace,
|
|
||||||
function(){a._scroll()}).on("resize"+this.s.namespace,h.util.throttle(function(){a.s.position.windowHeight=d(g).height();a.update()},50));var e=d(".fh-fixedHeader");!this.c.headerOffset&&e.length&&(this.c.headerOffset=e.outerHeight());e=d(".fh-fixedFooter");!this.c.footerOffset&&e.length&&(this.c.footerOffset=e.outerHeight());b.on("column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc responsive-display.dt.dtfc",function(){a.update()});b.on("destroy.dtfc",function(){a.destroy()});
|
|
||||||
this._positions();this._scroll()},_clone:function(a,b){var e=this.s.dt,c=this.dom[a],f="header"===a?this.dom.thead:this.dom.tfoot;!b&&c.floating?c.floating.removeClass("fixedHeader-floating fixedHeader-locked"):(c.floating&&(c.placeholder.remove(),this._unsize(a),c.floating.children().detach(),c.floating.remove()),c.floating=d(e.table().node().cloneNode(!1)).css("table-layout","fixed").attr("aria-hidden","true").removeAttr("id").append(f).appendTo("body"),c.placeholder=f.clone(!1),c.placeholder.find("*[id]").removeAttr("id"),
|
|
||||||
c.host.prepend(c.placeholder),this._matchWidths(c.placeholder,c.floating))},_matchWidths:function(a,b){var e=function(b){return d(b,a).map(function(){return d(this).width()}).toArray()},c=function(a,c){d(a,b).each(function(a){d(this).css({width:c[a],minWidth:c[a]})})},f=e("th"),e=e("td");c("th",f);c("td",e)},_unsize:function(a){var b=this.dom[a].floating;b&&("footer"===a||"header"===a&&!this.s.autoWidth)?d("th, td",b).css({width:"",minWidth:""}):b&&"header"===a&&d("th, td",b).css("min-width","")},
|
|
||||||
_horizontal:function(a,b){var e=this.dom[a],c=this.s.position,d=this.s.scrollLeft;e.floating&&d[a]!==b&&(e.floating.css("left",c.left-b),d[a]=b)},_modeChange:function(a,b,e){var c=this.dom[b],f=this.s.position,g=this.dom["footer"===b?"tfoot":"thead"],h=d.contains(g[0],i.activeElement)?i.activeElement:null;h&&h.blur();if("in-place"===a){if(c.placeholder&&(c.placeholder.remove(),c.placeholder=null),this._unsize(b),"header"===b?c.host.prepend(g):c.host.append(g),c.floating)c.floating.remove(),c.floating=
|
|
||||||
null}else"in"===a?(this._clone(b,e),c.floating.addClass("fixedHeader-floating").css("header"===b?"top":"bottom",this.c[b+"Offset"]).css("left",f.left+"px").css("width",f.width+"px"),"footer"===b&&c.floating.css("top","")):"below"===a?(this._clone(b,e),c.floating.addClass("fixedHeader-locked").css("top",f.tfootTop-f.theadHeight).css("left",f.left+"px").css("width",f.width+"px")):"above"===a&&(this._clone(b,e),c.floating.addClass("fixedHeader-locked").css("top",f.tbodyTop).css("left",f.left+"px").css("width",
|
|
||||||
f.width+"px"));h&&h!==i.activeElement&&setTimeout(function(){h.focus()},10);this.s.scrollLeft.header=-1;this.s.scrollLeft.footer=-1;this.s[b+"Mode"]=a},_positions:function(){var a=this.s.dt.table(),b=this.s.position,e=this.dom,a=d(a.node()),c=a.children("thead"),f=a.children("tfoot"),e=e.tbody;b.visible=a.is(":visible");b.width=a.outerWidth();b.left=a.offset().left;b.theadTop=c.offset().top;b.tbodyTop=e.offset().top;b.tbodyHeight=e.outerHeight();b.theadHeight=b.tbodyTop-b.theadTop;f.length?(b.tfootTop=
|
|
||||||
f.offset().top,b.tfootBottom=b.tfootTop+f.outerHeight(),b.tfootHeight=b.tfootBottom-b.tfootTop):(b.tfootTop=b.tbodyTop+e.outerHeight(),b.tfootBottom=b.tfootTop,b.tfootHeight=b.tfootTop)},_scroll:function(a){var b=d(i).scrollTop(),e=d(i).scrollLeft(),c=this.s.position,f,g;this.c.header&&(f=this.s.enable?!c.visible||b<=c.theadTop-this.c.headerOffset?"in-place":b<=c.tfootTop-c.theadHeight-this.c.headerOffset?"in":"below":"in-place",(a||f!==this.s.headerMode)&&this._modeChange(f,"header",a),this._horizontal("header",
|
|
||||||
e));this.c.footer&&this.dom.tfoot.length&&(this.s.enable&&(g=!c.visible||b+c.windowHeight>=c.tfootBottom+this.c.footerOffset?"in-place":c.windowHeight+b>c.tbodyTop+c.tfootHeight+this.c.footerOffset?"in":"above"),(a||g!==this.s.footerMode)&&this._modeChange(g,"footer",a),this._horizontal("footer",e))}});j.version="3.1.6-dev";j.defaults={header:!0,footer:!1,headerOffset:0,footerOffset:0};d.fn.dataTable.FixedHeader=j;d.fn.DataTable.FixedHeader=j;d(i).on("init.dt.dtfh",function(a,b){if("dt"===a.namespace){var e=
|
|
||||||
b.oInit.fixedHeader,c=h.defaults.fixedHeader;if((e||c)&&!b._fixedHeader)c=d.extend({},c,e),!1!==e&&new j(b,c)}});h.Api.register("fixedHeader()",function(){});h.Api.register("fixedHeader.adjust()",function(){return this.iterator("table",function(a){(a=a._fixedHeader)&&a.update()})});h.Api.register("fixedHeader.enable()",function(a){return this.iterator("table",function(b){b=b._fixedHeader;a=a!==k?a:!0;b&&a!==b.enabled()&&b.enable(a)})});h.Api.register("fixedHeader.enabled()",function(){return this.context.length&&
|
|
||||||
fh?fh.enabled():!1});h.Api.register("fixedHeader.disable()",function(){return this.iterator("table",function(a){(a=a._fixedHeader)&&a.enabled()&&a.enable(!1)})});d.each(["header","footer"],function(a,b){h.Api.register("fixedHeader."+b+"Offset()",function(a){var c=this.context;return a===k?c.length&&c[0]._fixedHeader?c[0]._fixedHeader[b+"Offset"]():k:this.iterator("table",function(c){if(c=c._fixedHeader)c[b+"Offset"](a)})})});return j});
|
|
@ -1,38 +0,0 @@
|
|||||||
/*! Bootstrap 4 styling wrapper for FixedHeader
|
|
||||||
* ©2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net-bs4', 'datatables.net-fixedheader'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net-bs4')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $.fn.dataTable.FixedHeader ) {
|
|
||||||
require('datatables.net-fixedheader')(root, $);
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
|
|
||||||
return $.fn.dataTable;
|
|
||||||
|
|
||||||
}));
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
Bootstrap 4 styling wrapper for FixedHeader
|
|
||||||
©2018 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-fixedheader"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs4")(a,b).$;b.fn.dataTable.FixedHeader||require("datatables.net-fixedheader")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){return c.fn.dataTable});
|
|
@ -1,9 +0,0 @@
|
|||||||
table.dataTable tbody th.focus,
|
|
||||||
table.dataTable tbody td.focus {
|
|
||||||
box-shadow: inset 0 0 1px 2px #0275d8;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dtk-focus-alt table.dataTable tbody th.focus,
|
|
||||||
div.dtk-focus-alt table.dataTable tbody td.focus {
|
|
||||||
box-shadow: inset 0 0 1px 2px #ff8b33;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
table.dataTable tbody th.focus,table.dataTable tbody td.focus{box-shadow:inset 0 0 1px 2px #0275d8}div.dtk-focus-alt table.dataTable tbody th.focus,div.dtk-focus-alt table.dataTable tbody td.focus{box-shadow:inset 0 0 1px 2px #ff8b33}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,25 +0,0 @@
|
|||||||
/*!
|
|
||||||
KeyTable 2.5.1
|
|
||||||
©2009-2019 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(e){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(k){return e(k,window,document)}):"object"===typeof exports?module.exports=function(k,i){k||(k=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(k,i).$;return e(i,k,k.document)}:e(jQuery,window,document)})(function(e,k,i,o){var l=e.fn.dataTable,p=0,m=function(a,b){if(!l.versionCheck||!l.versionCheck("1.10.8"))throw"KeyTable requires DataTables 1.10.8 or newer";this.c=e.extend(!0,{},l.defaults.keyTable,
|
|
||||||
m.defaults,b);this.s={dt:new l.Api(a),enable:!0,focusDraw:!1,waitingForDraw:!1,lastFocus:null,namespace:".keyTable-"+p++};this.dom={};var c=this.s.dt.settings()[0],d=c.keytable;if(d)return d;c.keytable=this;this._constructor()};e.extend(m.prototype,{blur:function(){this._blur()},enable:function(a){this.s.enable=a},focus:function(a,b){this._focus(this.s.dt.cell(a,b))},focused:function(a){if(!this.s.lastFocus)return!1;var b=this.s.lastFocus.cell.index();return a.row===b.row&&a.column===b.column},_constructor:function(){this._tabInput();
|
|
||||||
var a=this,b=this.s.dt,c=e(b.table().node()),d=this.s.namespace,f=!1;"static"===c.css("position")&&c.css("position","relative");e(b.table().body()).on("click"+d,"th, td",function(d){if(!1!==a.s.enable){var c=b.cell(this);c.any()&&a._focus(c,null,!1,d)}});e(i).on("keydown"+d,function(b){f||a._key(b)});if(this.c.blurable)e(i).on("mousedown"+d,function(d){e(d.target).parents(".dataTables_filter").length&&a._blur();e(d.target).parents().filter(b.table().container()).length||e(d.target).parents("div.DTE").length||
|
|
||||||
e(d.target).parents("div.editor-datetime").length||e(d.target).parents().filter(".DTFC_Cloned").length||a._blur()});if(this.c.editor){var j=this.c.editor;j.on("open.keyTableMain",function(b,c){"inline"!==c&&a.s.enable&&(a.enable(!1),j.one("close"+d,function(){a.enable(!0)}))});if(this.c.editOnFocus)b.on("key-focus"+d+" key-refocus"+d,function(b,d,c,f){a._editor(null,f,!0)});b.on("key"+d,function(b,d,c,f,e){a._editor(c,e,!1)});e(b.table().body()).on("dblclick"+d,"th, td",function(d){!1!==a.s.enable&&
|
|
||||||
b.cell(this).any()&&a._editor(null,d,!0)});j.on("preSubmit",function(){f=!0}).on("preSubmitCancelled",function(){f=!1}).on("submitComplete",function(){f=!1})}if(b.settings()[0].oFeatures.bStateSave)b.on("stateSaveParams"+d,function(b,d,c){c.keyTable=a.s.lastFocus?a.s.lastFocus.cell.index():null});b.on("draw"+d,function(d){if(!a.s.focusDraw){var c=a.s.lastFocus;if(c&&c.node&&e(c.node).closest("body")===i.body){var c=a.s.lastFocus.relative,f=b.page.info(),g=c.row+f.start;0!==f.recordsDisplay&&(g>=f.recordsDisplay&&
|
|
||||||
(g=f.recordsDisplay-1),a._focus(g,c.column,!0,d))}}});this.c.clipboard&&this._clipboard();b.on("destroy"+d,function(){a._blur(!0);b.off(d);e(b.table().body()).off("click"+d,"th, td").off("dblclick"+d,"th, td");e(i).off("mousedown"+d).off("keydown"+d).off("copy"+d).off("paste"+d)});var g=b.state.loaded();if(g&&g.keyTable)b.one("init",function(){var a=b.cell(g.keyTable);a.any()&&a.focus()});else this.c.focus&&b.cell(this.c.focus).focus()},_blur:function(a){if(this.s.enable&&this.s.lastFocus){var b=
|
|
||||||
this.s.lastFocus.cell;e(b.node()).removeClass(this.c.className);this.s.lastFocus=null;a||(this._updateFixedColumns(b.index().column),this._emitEvent("key-blur",[this.s.dt,b]))}},_clipboard:function(){var a=this.s.dt,b=this,c=this.s.namespace;k.getSelection&&(e(i).on("copy"+c,function(a){var a=a.originalEvent,c=k.getSelection().toString(),e=b.s.lastFocus;!c&&e&&(a.clipboardData.setData("text/plain",e.cell.render(b.c.clipboardOrthogonal)),a.preventDefault())}),e(i).on("paste"+c,function(d){var d=d.originalEvent,
|
|
||||||
c=b.s.lastFocus,e=i.activeElement,g=b.c.editor,h;if(c&&(!e||"body"===e.nodeName.toLowerCase()))d.preventDefault(),k.clipboardData&&k.clipboardData.getData?h=k.clipboardData.getData("Text"):d.clipboardData&&d.clipboardData.getData&&(h=d.clipboardData.getData("text/plain")),g?g.inline(c.cell.index()).set(g.displayed()[0],h).submit():(c.cell.data(h),a.draw(!1))}))},_columns:function(){var a=this.s.dt,b=a.columns(this.c.columns).indexes(),c=[];a.columns(":visible").every(function(a){-1!==b.indexOf(a)&&
|
|
||||||
c.push(a)});return c},_editor:function(a,b,c){var d=this,f=this.s.dt,j=this.c.editor,g=this.s.lastFocus.cell,h=this.s.namespace;if(!e("div.DTE",g.node()).length&&!(null!==a&&(0<=a&&9>=a||11===a||12===a||14<=a&&31>=a||112<=a&&123>=a||127<=a&&159>=a))){b.stopPropagation();13===a&&b.preventDefault();var n=function(){j.one("open"+h,function(){j.off("cancelOpen"+h);c||e("div.DTE_Field_InputControl input, div.DTE_Field_InputControl textarea").select();f.keys.enable(c?"tab-only":"navigation-only");f.on("key-blur.editor",
|
|
||||||
function(a,b,c){j.displayed()&&c.node()===g.node()&&j.submit()});c&&e(f.table().container()).addClass("dtk-focus-alt");j.on("preSubmitCancelled"+h,function(){setTimeout(function(){d._focus(g,null,!1)},50)});j.on("submitUnsuccessful"+h,function(){d._focus(g,null,!1)});j.one("close",function(){f.keys.enable(!0);f.off("key-blur.editor");j.off(h);e(f.table().container()).removeClass("dtk-focus-alt")})}).one("cancelOpen"+h,function(){j.off(h)}).inline(g.index())};13===a?(c=!0,e(i).one("keyup",function(){n()})):
|
|
||||||
n()}},_emitEvent:function(a,b){this.s.dt.iterator("table",function(c){e(c.nTable).triggerHandler(a,b)})},_focus:function(a,b,c,d){var f=this,j=this.s.dt,g=j.page.info(),h=this.s.lastFocus;d||(d=null);if(this.s.enable){if("number"!==typeof a){if(!a.any())return;var n=a.index(),b=n.column,a=j.rows({filter:"applied",order:"applied"}).indexes().indexOf(n.row);if(0>a)return;g.serverSide&&(a+=g.start)}if(-1!==g.length&&(a<g.start||a>=g.start+g.length))this.s.focusDraw=!0,this.s.waitingForDraw=!0,j.one("draw",
|
|
||||||
function(){f.s.focusDraw=!1;f.s.waitingForDraw=!1;f._focus(a,b,o,d)}).page(Math.floor(a/g.length)).draw(!1);else if(-1!==e.inArray(b,this._columns())){g.serverSide&&(a-=g.start);g=j.cells(null,b,{search:"applied",order:"applied"}).flatten();g=j.cell(g[a]);if(h){if(h.node===g.node()){this._emitEvent("key-refocus",[this.s.dt,g,d||null]);return}this._blur()}this._removeOtherFocus();h=e(g.node());h.addClass(this.c.className);this._updateFixedColumns(b);if(c===o||!0===c)this._scroll(e(k),e(i.body),h,"offset"),
|
|
||||||
c=j.table().body().parentNode,c!==j.table().header().parentNode&&(c=e(c.parentNode),this._scroll(c,c,h,"position"));this.s.lastFocus={cell:g,node:g.node(),relative:{row:j.rows({page:"current"}).indexes().indexOf(g.index().row),column:g.index().column}};this._emitEvent("key-focus",[this.s.dt,g,d||null]);j.state.save()}}},_key:function(a){if(this.s.waitingForDraw)a.preventDefault();else{var b=this.s.enable,c=!0===b||"navigation-only"===b;if(b&&(!(0===a.keyCode||a.ctrlKey||a.metaKey||a.altKey)||a.ctrlKey&&
|
|
||||||
a.altKey)){var d=this.s.lastFocus;if(d)if(this.s.dt.cell(d.node).any()){var d=this.s.dt,f=this.s.dt.settings()[0].oScroll.sY?!0:!1;if(!(this.c.keys&&-1===e.inArray(a.keyCode,this.c.keys)))switch(a.keyCode){case 9:this._shift(a,a.shiftKey?"left":"right",!0);break;case 27:this.s.blurable&&!0===b&&this._blur();break;case 33:case 34:c&&!f&&(a.preventDefault(),d.page(33===a.keyCode?"previous":"next").draw(!1));break;case 35:case 36:c&&(a.preventDefault(),b=d.cells({page:"current"}).indexes(),c=this._columns(),
|
|
||||||
this._focus(d.cell(b[35===a.keyCode?b.length-1:c[0]]),null,!0,a));break;case 37:c&&this._shift(a,"left");break;case 38:c&&this._shift(a,"up");break;case 39:c&&this._shift(a,"right");break;case 40:c&&this._shift(a,"down");break;case 113:if(this.c.editor){this._editor(null,a,!0);break}default:!0===b&&this._emitEvent("key",[d,a.keyCode,this.s.lastFocus.cell,a])}}else this.s.lastFocus=null}}},_removeOtherFocus:function(){var a=this.s.dt.table().node();e.fn.dataTable.tables({api:!0}).iterator("table",
|
|
||||||
function(){this.table().node()!==a&&this.cell.blur()})},_scroll:function(a,b,c,d){var f=c[d](),e=c.outerHeight(),g=c.outerWidth(),h=b.scrollTop(),n=b.scrollLeft(),i=a.height(),a=a.width();"position"===d&&(f.top+=parseInt(c.closest("table").css("top"),10));f.top<h&&b.scrollTop(f.top);f.left<n&&b.scrollLeft(f.left);f.top+e>h+i&&e<i&&b.scrollTop(f.top+e-i);f.left+g>n+a&&g<a&&b.scrollLeft(f.left+g-a)},_shift:function(a,b,c){var d=this.s.dt,f=d.page.info(),j=f.recordsDisplay,g=this.s.lastFocus.cell,h=
|
|
||||||
this._columns();if(g){var i=d.rows({filter:"applied",order:"applied"}).indexes().indexOf(g.index().row);f.serverSide&&(i+=f.start);d=d.columns(h).indexes().indexOf(g.index().column);f=h[d];"right"===b?d>=h.length-1?(i++,f=h[0]):f=h[d+1]:"left"===b?0===d?(i--,f=h[h.length-1]):f=h[d-1]:"up"===b?i--:"down"===b&&i++;0<=i&&i<j&&-1!==e.inArray(f,h)?(a&&a.preventDefault(),this._focus(i,f,!0,a)):!c||!this.c.blurable?a&&a.preventDefault():this._blur()}},_tabInput:function(){var a=this,b=this.s.dt,c=null!==
|
|
||||||
this.c.tabIndex?this.c.tabIndex:b.settings()[0].iTabIndex;if(-1!=c)e('<div><input type="text" tabindex="'+c+'"/></div>').css({position:"absolute",height:1,width:0,overflow:"hidden"}).insertBefore(b.table().node()).children().on("focus",function(c){var f=b.cell(":eq(0)",a._columns(),{page:"current"});f.any()&&a._focus(f,null,!0,c)})},_updateFixedColumns:function(a){var b=this.s.dt,c=b.settings()[0];if(c._oFixedColumns){var d=c.aoColumns.length-c._oFixedColumns.s.iRightColumns;(a<c._oFixedColumns.s.iLeftColumns||
|
|
||||||
a>=d)&&b.fixedColumns().update()}}});m.defaults={blurable:!0,className:"focus",clipboard:!0,clipboardOrthogonal:"display",columns:"",editor:null,editOnFocus:!1,focus:null,keys:null,tabIndex:null};m.version="2.5.1";e.fn.dataTable.KeyTable=m;e.fn.DataTable.KeyTable=m;l.Api.register("cell.blur()",function(){return this.iterator("table",function(a){a.keytable&&a.keytable.blur()})});l.Api.register("cell().focus()",function(){return this.iterator("cell",function(a,b,c){a.keytable&&a.keytable.focus(b,c)})});
|
|
||||||
l.Api.register("keys.disable()",function(){return this.iterator("table",function(a){a.keytable&&a.keytable.enable(!1)})});l.Api.register("keys.enable()",function(a){return this.iterator("table",function(b){b.keytable&&b.keytable.enable(a===o?!0:a)})});l.Api.register("keys.move()",function(a){return this.iterator("table",function(b){b.keytable&&b.keytable._shift(null,a,!1)})});l.ext.selector.cell.push(function(a,b,c){var b=b.focused,a=a.keytable,d=[];if(!a||b===o)return c;for(var f=0,e=c.length;f<
|
|
||||||
e;f++)(!0===b&&a.focused(c[f])||!1===b&&!a.focused(c[f]))&&d.push(c[f]);return d});e(i).on("preInit.dt.dtk",function(a,b){if("dt"===a.namespace){var c=b.oInit.keys,d=l.defaults.keys;if(c||d)d=e.extend({},d,c),!1!==c&&new m(b,d)}});return m});
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user