delete unused libs
This commit is contained in:
parent
ac3fce2913
commit
62a43cf695
@ -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
Loading…
Reference in New Issue
Block a user