|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,184 +0,0 @@ |
|||||
/*! DataTables Bootstrap 4 integration |
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
|
||||
*/ |
|
||||
|
|
||||
/** |
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
|
||||
* DataTables 1.10 or newer. |
|
||||
* |
|
||||
* This file sets the defaults and adds options to DataTables to style its |
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||
* for further information. |
|
||||
*/ |
|
||||
(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, which attaches to jQuery, including
|
|
||||
// jQuery if needed and have a $ property so we can access the
|
|
||||
// jQuery object that is used
|
|
||||
$ = 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; |
|
||||
|
|
||||
|
|
||||
/* Set the defaults for DataTables initialisation */ |
|
||||
$.extend( true, DataTable.defaults, { |
|
||||
dom: |
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|
||||
"<'row'<'col-sm-12'tr>>" + |
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|
||||
renderer: 'bootstrap' |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Default class modification */ |
|
||||
$.extend( DataTable.ext.classes, { |
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4", |
|
||||
sFilterInput: "form-control form-control-sm", |
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
|
||||
sProcessing: "dataTables_processing card", |
|
||||
sPageButton: "paginate_button page-item" |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Bootstrap paging button renderer */ |
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|
||||
var api = new DataTable.Api( settings ); |
|
||||
var classes = settings.oClasses; |
|
||||
var lang = settings.oLanguage.oPaginate; |
|
||||
var aria = settings.oLanguage.oAria.paginate || {}; |
|
||||
var btnDisplay, btnClass, counter=0; |
|
||||
|
|
||||
var attach = function( container, buttons ) { |
|
||||
var i, ien, node, button; |
|
||||
var clickHandler = function ( e ) { |
|
||||
e.preventDefault(); |
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|
||||
api.page( e.data.action ).draw( 'page' ); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|
||||
button = buttons[i]; |
|
||||
|
|
||||
if ( $.isArray( button ) ) { |
|
||||
attach( container, button ); |
|
||||
} |
|
||||
else { |
|
||||
btnDisplay = ''; |
|
||||
btnClass = ''; |
|
||||
|
|
||||
switch ( button ) { |
|
||||
case 'ellipsis': |
|
||||
btnDisplay = '…'; |
|
||||
btnClass = 'disabled'; |
|
||||
break; |
|
||||
|
|
||||
case 'first': |
|
||||
btnDisplay = lang.sFirst; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'previous': |
|
||||
btnDisplay = lang.sPrevious; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'next': |
|
||||
btnDisplay = lang.sNext; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'last': |
|
||||
btnDisplay = lang.sLast; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
default: |
|
||||
btnDisplay = button + 1; |
|
||||
btnClass = page === button ? |
|
||||
'active' : ''; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
if ( btnDisplay ) { |
|
||||
node = $('<li>', { |
|
||||
'class': classes.sPageButton+' '+btnClass, |
|
||||
'id': idx === 0 && typeof button === 'string' ? |
|
||||
settings.sTableId +'_'+ button : |
|
||||
null |
|
||||
} ) |
|
||||
.append( $('<a>', { |
|
||||
'href': '#', |
|
||||
'aria-controls': settings.sTableId, |
|
||||
'aria-label': aria[ button ], |
|
||||
'data-dt-idx': counter, |
|
||||
'tabindex': settings.iTabIndex, |
|
||||
'class': 'page-link' |
|
||||
} ) |
|
||||
.html( btnDisplay ) |
|
||||
) |
|
||||
.appendTo( container ); |
|
||||
|
|
||||
settings.oApi._fnBindAction( |
|
||||
node, {action: button}, clickHandler |
|
||||
); |
|
||||
|
|
||||
counter++; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||
// inside an iframe or frame.
|
|
||||
var activeEl; |
|
||||
|
|
||||
try { |
|
||||
// Because this approach is destroying and recreating the paging
|
|
||||
// elements, focus is lost on the select button which is bad for
|
|
||||
// accessibility. So we want to restore focus once the draw has
|
|
||||
// completed
|
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|
||||
} |
|
||||
catch (e) {} |
|
||||
|
|
||||
attach( |
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|
||||
buttons |
|
||||
); |
|
||||
|
|
||||
if ( activeEl !== undefined ) { |
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
return DataTable; |
|
||||
})); |
|
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,184 +0,0 @@ |
|||||
/*! DataTables Bootstrap 4 integration |
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
|
||||
*/ |
|
||||
|
|
||||
/** |
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
|
||||
* DataTables 1.10 or newer. |
|
||||
* |
|
||||
* This file sets the defaults and adds options to DataTables to style its |
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||
* for further information. |
|
||||
*/ |
|
||||
(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, which attaches to jQuery, including
|
|
||||
// jQuery if needed and have a $ property so we can access the
|
|
||||
// jQuery object that is used
|
|
||||
$ = 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; |
|
||||
|
|
||||
|
|
||||
/* Set the defaults for DataTables initialisation */ |
|
||||
$.extend( true, DataTable.defaults, { |
|
||||
dom: |
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|
||||
"<'row'<'col-sm-12'tr>>" + |
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|
||||
renderer: 'bootstrap' |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Default class modification */ |
|
||||
$.extend( DataTable.ext.classes, { |
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4", |
|
||||
sFilterInput: "form-control form-control-sm", |
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
|
||||
sProcessing: "dataTables_processing card", |
|
||||
sPageButton: "paginate_button page-item" |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Bootstrap paging button renderer */ |
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|
||||
var api = new DataTable.Api( settings ); |
|
||||
var classes = settings.oClasses; |
|
||||
var lang = settings.oLanguage.oPaginate; |
|
||||
var aria = settings.oLanguage.oAria.paginate || {}; |
|
||||
var btnDisplay, btnClass, counter=0; |
|
||||
|
|
||||
var attach = function( container, buttons ) { |
|
||||
var i, ien, node, button; |
|
||||
var clickHandler = function ( e ) { |
|
||||
e.preventDefault(); |
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|
||||
api.page( e.data.action ).draw( 'page' ); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|
||||
button = buttons[i]; |
|
||||
|
|
||||
if ( $.isArray( button ) ) { |
|
||||
attach( container, button ); |
|
||||
} |
|
||||
else { |
|
||||
btnDisplay = ''; |
|
||||
btnClass = ''; |
|
||||
|
|
||||
switch ( button ) { |
|
||||
case 'ellipsis': |
|
||||
btnDisplay = '…'; |
|
||||
btnClass = 'disabled'; |
|
||||
break; |
|
||||
|
|
||||
case 'first': |
|
||||
btnDisplay = lang.sFirst; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'previous': |
|
||||
btnDisplay = lang.sPrevious; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'next': |
|
||||
btnDisplay = lang.sNext; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'last': |
|
||||
btnDisplay = lang.sLast; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
default: |
|
||||
btnDisplay = button + 1; |
|
||||
btnClass = page === button ? |
|
||||
'active' : ''; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
if ( btnDisplay ) { |
|
||||
node = $('<li>', { |
|
||||
'class': classes.sPageButton+' '+btnClass, |
|
||||
'id': idx === 0 && typeof button === 'string' ? |
|
||||
settings.sTableId +'_'+ button : |
|
||||
null |
|
||||
} ) |
|
||||
.append( $('<a>', { |
|
||||
'href': '#', |
|
||||
'aria-controls': settings.sTableId, |
|
||||
'aria-label': aria[ button ], |
|
||||
'data-dt-idx': counter, |
|
||||
'tabindex': settings.iTabIndex, |
|
||||
'class': 'page-link' |
|
||||
} ) |
|
||||
.html( btnDisplay ) |
|
||||
) |
|
||||
.appendTo( container ); |
|
||||
|
|
||||
settings.oApi._fnBindAction( |
|
||||
node, {action: button}, clickHandler |
|
||||
); |
|
||||
|
|
||||
counter++; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||
// inside an iframe or frame.
|
|
||||
var activeEl; |
|
||||
|
|
||||
try { |
|
||||
// Because this approach is destroying and recreating the paging
|
|
||||
// elements, focus is lost on the select button which is bad for
|
|
||||
// accessibility. So we want to restore focus once the draw has
|
|
||||
// completed
|
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|
||||
} |
|
||||
catch (e) {} |
|
||||
|
|
||||
attach( |
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|
||||
buttons |
|
||||
); |
|
||||
|
|
||||
if ( activeEl !== undefined ) { |
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
return DataTable; |
|
||||
})); |
|
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,184 +0,0 @@ |
|||||
/*! DataTables Bootstrap 4 integration |
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
|
||||
*/ |
|
||||
|
|
||||
/** |
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
|
||||
* DataTables 1.10 or newer. |
|
||||
* |
|
||||
* This file sets the defaults and adds options to DataTables to style its |
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||
* for further information. |
|
||||
*/ |
|
||||
(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, which attaches to jQuery, including
|
|
||||
// jQuery if needed and have a $ property so we can access the
|
|
||||
// jQuery object that is used
|
|
||||
$ = 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; |
|
||||
|
|
||||
|
|
||||
/* Set the defaults for DataTables initialisation */ |
|
||||
$.extend( true, DataTable.defaults, { |
|
||||
dom: |
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|
||||
"<'row'<'col-sm-12'tr>>" + |
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|
||||
renderer: 'bootstrap' |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Default class modification */ |
|
||||
$.extend( DataTable.ext.classes, { |
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4", |
|
||||
sFilterInput: "form-control form-control-sm", |
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
|
||||
sProcessing: "dataTables_processing card", |
|
||||
sPageButton: "paginate_button page-item" |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Bootstrap paging button renderer */ |
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|
||||
var api = new DataTable.Api( settings ); |
|
||||
var classes = settings.oClasses; |
|
||||
var lang = settings.oLanguage.oPaginate; |
|
||||
var aria = settings.oLanguage.oAria.paginate || {}; |
|
||||
var btnDisplay, btnClass, counter=0; |
|
||||
|
|
||||
var attach = function( container, buttons ) { |
|
||||
var i, ien, node, button; |
|
||||
var clickHandler = function ( e ) { |
|
||||
e.preventDefault(); |
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|
||||
api.page( e.data.action ).draw( 'page' ); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|
||||
button = buttons[i]; |
|
||||
|
|
||||
if ( $.isArray( button ) ) { |
|
||||
attach( container, button ); |
|
||||
} |
|
||||
else { |
|
||||
btnDisplay = ''; |
|
||||
btnClass = ''; |
|
||||
|
|
||||
switch ( button ) { |
|
||||
case 'ellipsis': |
|
||||
btnDisplay = '…'; |
|
||||
btnClass = 'disabled'; |
|
||||
break; |
|
||||
|
|
||||
case 'first': |
|
||||
btnDisplay = lang.sFirst; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'previous': |
|
||||
btnDisplay = lang.sPrevious; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'next': |
|
||||
btnDisplay = lang.sNext; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'last': |
|
||||
btnDisplay = lang.sLast; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
default: |
|
||||
btnDisplay = button + 1; |
|
||||
btnClass = page === button ? |
|
||||
'active' : ''; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
if ( btnDisplay ) { |
|
||||
node = $('<li>', { |
|
||||
'class': classes.sPageButton+' '+btnClass, |
|
||||
'id': idx === 0 && typeof button === 'string' ? |
|
||||
settings.sTableId +'_'+ button : |
|
||||
null |
|
||||
} ) |
|
||||
.append( $('<a>', { |
|
||||
'href': '#', |
|
||||
'aria-controls': settings.sTableId, |
|
||||
'aria-label': aria[ button ], |
|
||||
'data-dt-idx': counter, |
|
||||
'tabindex': settings.iTabIndex, |
|
||||
'class': 'page-link' |
|
||||
} ) |
|
||||
.html( btnDisplay ) |
|
||||
) |
|
||||
.appendTo( container ); |
|
||||
|
|
||||
settings.oApi._fnBindAction( |
|
||||
node, {action: button}, clickHandler |
|
||||
); |
|
||||
|
|
||||
counter++; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||
// inside an iframe or frame.
|
|
||||
var activeEl; |
|
||||
|
|
||||
try { |
|
||||
// Because this approach is destroying and recreating the paging
|
|
||||
// elements, focus is lost on the select button which is bad for
|
|
||||
// accessibility. So we want to restore focus once the draw has
|
|
||||
// completed
|
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|
||||
} |
|
||||
catch (e) {} |
|
||||
|
|
||||
attach( |
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|
||||
buttons |
|
||||
); |
|
||||
|
|
||||
if ( activeEl !== undefined ) { |
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
return DataTable; |
|
||||
})); |
|
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 5 integration |
||||
|
* 2020 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(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, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = 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; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap5", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "form-select form-select-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( Array.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,184 +0,0 @@ |
|||||
/*! DataTables Bootstrap 4 integration |
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
|
||||
*/ |
|
||||
|
|
||||
/** |
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
|
||||
* DataTables 1.10 or newer. |
|
||||
* |
|
||||
* This file sets the defaults and adds options to DataTables to style its |
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||
* for further information. |
|
||||
*/ |
|
||||
(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, which attaches to jQuery, including
|
|
||||
// jQuery if needed and have a $ property so we can access the
|
|
||||
// jQuery object that is used
|
|
||||
$ = 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; |
|
||||
|
|
||||
|
|
||||
/* Set the defaults for DataTables initialisation */ |
|
||||
$.extend( true, DataTable.defaults, { |
|
||||
dom: |
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|
||||
"<'row'<'col-sm-12'tr>>" + |
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|
||||
renderer: 'bootstrap' |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Default class modification */ |
|
||||
$.extend( DataTable.ext.classes, { |
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4", |
|
||||
sFilterInput: "form-control form-control-sm", |
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
|
||||
sProcessing: "dataTables_processing card", |
|
||||
sPageButton: "paginate_button page-item" |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Bootstrap paging button renderer */ |
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|
||||
var api = new DataTable.Api( settings ); |
|
||||
var classes = settings.oClasses; |
|
||||
var lang = settings.oLanguage.oPaginate; |
|
||||
var aria = settings.oLanguage.oAria.paginate || {}; |
|
||||
var btnDisplay, btnClass, counter=0; |
|
||||
|
|
||||
var attach = function( container, buttons ) { |
|
||||
var i, ien, node, button; |
|
||||
var clickHandler = function ( e ) { |
|
||||
e.preventDefault(); |
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|
||||
api.page( e.data.action ).draw( 'page' ); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|
||||
button = buttons[i]; |
|
||||
|
|
||||
if ( $.isArray( button ) ) { |
|
||||
attach( container, button ); |
|
||||
} |
|
||||
else { |
|
||||
btnDisplay = ''; |
|
||||
btnClass = ''; |
|
||||
|
|
||||
switch ( button ) { |
|
||||
case 'ellipsis': |
|
||||
btnDisplay = '…'; |
|
||||
btnClass = 'disabled'; |
|
||||
break; |
|
||||
|
|
||||
case 'first': |
|
||||
btnDisplay = lang.sFirst; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'previous': |
|
||||
btnDisplay = lang.sPrevious; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'next': |
|
||||
btnDisplay = lang.sNext; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'last': |
|
||||
btnDisplay = lang.sLast; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
default: |
|
||||
btnDisplay = button + 1; |
|
||||
btnClass = page === button ? |
|
||||
'active' : ''; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
if ( btnDisplay ) { |
|
||||
node = $('<li>', { |
|
||||
'class': classes.sPageButton+' '+btnClass, |
|
||||
'id': idx === 0 && typeof button === 'string' ? |
|
||||
settings.sTableId +'_'+ button : |
|
||||
null |
|
||||
} ) |
|
||||
.append( $('<a>', { |
|
||||
'href': '#', |
|
||||
'aria-controls': settings.sTableId, |
|
||||
'aria-label': aria[ button ], |
|
||||
'data-dt-idx': counter, |
|
||||
'tabindex': settings.iTabIndex, |
|
||||
'class': 'page-link' |
|
||||
} ) |
|
||||
.html( btnDisplay ) |
|
||||
) |
|
||||
.appendTo( container ); |
|
||||
|
|
||||
settings.oApi._fnBindAction( |
|
||||
node, {action: button}, clickHandler |
|
||||
); |
|
||||
|
|
||||
counter++; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||
// inside an iframe or frame.
|
|
||||
var activeEl; |
|
||||
|
|
||||
try { |
|
||||
// Because this approach is destroying and recreating the paging
|
|
||||
// elements, focus is lost on the select button which is bad for
|
|
||||
// accessibility. So we want to restore focus once the draw has
|
|
||||
// completed
|
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|
||||
} |
|
||||
catch (e) {} |
|
||||
|
|
||||
attach( |
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|
||||
buttons |
|
||||
); |
|
||||
|
|
||||
if ( activeEl !== undefined ) { |
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
return DataTable; |
|
||||
})); |
|
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 5 integration |
||||
|
* 2020 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(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, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = 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; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap5", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "form-select form-select-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( Array.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,184 +0,0 @@ |
|||||
/*! DataTables Bootstrap 4 integration |
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
|
||||
*/ |
|
||||
|
|
||||
/** |
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
|
||||
* DataTables 1.10 or newer. |
|
||||
* |
|
||||
* This file sets the defaults and adds options to DataTables to style its |
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||
* for further information. |
|
||||
*/ |
|
||||
(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, which attaches to jQuery, including
|
|
||||
// jQuery if needed and have a $ property so we can access the
|
|
||||
// jQuery object that is used
|
|
||||
$ = 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; |
|
||||
|
|
||||
|
|
||||
/* Set the defaults for DataTables initialisation */ |
|
||||
$.extend( true, DataTable.defaults, { |
|
||||
dom: |
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|
||||
"<'row'<'col-sm-12'tr>>" + |
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|
||||
renderer: 'bootstrap' |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Default class modification */ |
|
||||
$.extend( DataTable.ext.classes, { |
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4", |
|
||||
sFilterInput: "form-control form-control-sm", |
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
|
||||
sProcessing: "dataTables_processing card", |
|
||||
sPageButton: "paginate_button page-item" |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Bootstrap paging button renderer */ |
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|
||||
var api = new DataTable.Api( settings ); |
|
||||
var classes = settings.oClasses; |
|
||||
var lang = settings.oLanguage.oPaginate; |
|
||||
var aria = settings.oLanguage.oAria.paginate || {}; |
|
||||
var btnDisplay, btnClass, counter=0; |
|
||||
|
|
||||
var attach = function( container, buttons ) { |
|
||||
var i, ien, node, button; |
|
||||
var clickHandler = function ( e ) { |
|
||||
e.preventDefault(); |
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|
||||
api.page( e.data.action ).draw( 'page' ); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|
||||
button = buttons[i]; |
|
||||
|
|
||||
if ( $.isArray( button ) ) { |
|
||||
attach( container, button ); |
|
||||
} |
|
||||
else { |
|
||||
btnDisplay = ''; |
|
||||
btnClass = ''; |
|
||||
|
|
||||
switch ( button ) { |
|
||||
case 'ellipsis': |
|
||||
btnDisplay = '…'; |
|
||||
btnClass = 'disabled'; |
|
||||
break; |
|
||||
|
|
||||
case 'first': |
|
||||
btnDisplay = lang.sFirst; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'previous': |
|
||||
btnDisplay = lang.sPrevious; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'next': |
|
||||
btnDisplay = lang.sNext; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'last': |
|
||||
btnDisplay = lang.sLast; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
default: |
|
||||
btnDisplay = button + 1; |
|
||||
btnClass = page === button ? |
|
||||
'active' : ''; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
if ( btnDisplay ) { |
|
||||
node = $('<li>', { |
|
||||
'class': classes.sPageButton+' '+btnClass, |
|
||||
'id': idx === 0 && typeof button === 'string' ? |
|
||||
settings.sTableId +'_'+ button : |
|
||||
null |
|
||||
} ) |
|
||||
.append( $('<a>', { |
|
||||
'href': '#', |
|
||||
'aria-controls': settings.sTableId, |
|
||||
'aria-label': aria[ button ], |
|
||||
'data-dt-idx': counter, |
|
||||
'tabindex': settings.iTabIndex, |
|
||||
'class': 'page-link' |
|
||||
} ) |
|
||||
.html( btnDisplay ) |
|
||||
) |
|
||||
.appendTo( container ); |
|
||||
|
|
||||
settings.oApi._fnBindAction( |
|
||||
node, {action: button}, clickHandler |
|
||||
); |
|
||||
|
|
||||
counter++; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||
// inside an iframe or frame.
|
|
||||
var activeEl; |
|
||||
|
|
||||
try { |
|
||||
// Because this approach is destroying and recreating the paging
|
|
||||
// elements, focus is lost on the select button which is bad for
|
|
||||
// accessibility. So we want to restore focus once the draw has
|
|
||||
// completed
|
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|
||||
} |
|
||||
catch (e) {} |
|
||||
|
|
||||
attach( |
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|
||||
buttons |
|
||||
); |
|
||||
|
|
||||
if ( activeEl !== undefined ) { |
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
return DataTable; |
|
||||
})); |
|
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 5 integration |
||||
|
* 2020 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(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, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = 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; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap5", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "form-select form-select-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( Array.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
@ -1,212 +0,0 @@ |
|||||
table.dataTable { |
|
||||
clear: both; |
|
||||
margin-top: 6px !important; |
|
||||
margin-bottom: 6px !important; |
|
||||
max-width: none !important; |
|
||||
border-collapse: separate !important; |
|
||||
border-spacing: 0; |
|
||||
} |
|
||||
table.dataTable td, |
|
||||
table.dataTable th { |
|
||||
-webkit-box-sizing: content-box; |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
table.dataTable td.dataTables_empty, |
|
||||
table.dataTable th.dataTables_empty { |
|
||||
text-align: center; |
|
||||
} |
|
||||
table.dataTable.nowrap th, |
|
||||
table.dataTable.nowrap td { |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_wrapper div.dataTables_length label { |
|
||||
font-weight: normal; |
|
||||
text-align: left; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_length select { |
|
||||
width: auto; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter { |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter label { |
|
||||
font-weight: normal; |
|
||||
white-space: nowrap; |
|
||||
text-align: left; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_filter input { |
|
||||
margin-left: 0.5em; |
|
||||
display: inline-block; |
|
||||
width: auto; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_info { |
|
||||
padding-top: 0.85em; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
margin: 0; |
|
||||
white-space: nowrap; |
|
||||
text-align: right; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
margin: 2px 0; |
|
||||
white-space: nowrap; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_processing { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
left: 50%; |
|
||||
width: 200px; |
|
||||
margin-left: -100px; |
|
||||
margin-top: -26px; |
|
||||
text-align: center; |
|
||||
padding: 1em 0; |
|
||||
} |
|
||||
|
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|
||||
table.dataTable thead > tr > td.sorting_asc, |
|
||||
table.dataTable thead > tr > td.sorting_desc, |
|
||||
table.dataTable thead > tr > td.sorting { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
table.dataTable thead > tr > th:active, |
|
||||
table.dataTable thead > tr > td:active { |
|
||||
outline: none; |
|
||||
} |
|
||||
table.dataTable thead .sorting, |
|
||||
table.dataTable thead .sorting_asc, |
|
||||
table.dataTable thead .sorting_desc, |
|
||||
table.dataTable thead .sorting_asc_disabled, |
|
||||
table.dataTable thead .sorting_desc_disabled { |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
position: absolute; |
|
||||
bottom: 0.9em; |
|
||||
display: block; |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
table.dataTable thead .sorting:before, |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:before, |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:before { |
|
||||
right: 1em; |
|
||||
content: "\2191"; |
|
||||
} |
|
||||
table.dataTable thead .sorting:after, |
|
||||
table.dataTable thead .sorting_asc:after, |
|
||||
table.dataTable thead .sorting_desc:after, |
|
||||
table.dataTable thead .sorting_asc_disabled:after, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
right: 0.5em; |
|
||||
content: "\2193"; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc:before, |
|
||||
table.dataTable thead .sorting_desc:after { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
table.dataTable thead .sorting_asc_disabled:before, |
|
||||
table.dataTable thead .sorting_desc_disabled:after { |
|
||||
opacity: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.dataTable { |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollBody table { |
|
||||
border-top: none; |
|
||||
margin-top: 0 !important; |
|
||||
margin-bottom: 0 !important; |
|
||||
} |
|
||||
div.dataTables_scrollBody table thead .sorting:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|
||||
div.dataTables_scrollBody table thead .sorting:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|
||||
display: none; |
|
||||
} |
|
||||
div.dataTables_scrollBody table tbody tr:first-child th, |
|
||||
div.dataTables_scrollBody table tbody tr:first-child td { |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|
||||
box-sizing: content-box; |
|
||||
} |
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|
||||
margin-top: 0 !important; |
|
||||
border-top: none; |
|
||||
} |
|
||||
|
|
||||
@media screen and (max-width: 767px) { |
|
||||
div.dataTables_wrapper div.dataTables_length, |
|
||||
div.dataTables_wrapper div.dataTables_filter, |
|
||||
div.dataTables_wrapper div.dataTables_info, |
|
||||
div.dataTables_wrapper div.dataTables_paginate { |
|
||||
text-align: center; |
|
||||
} |
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|
||||
justify-content: center !important; |
|
||||
} |
|
||||
} |
|
||||
table.dataTable.table-sm > thead > tr > th :not(.sorting_disabled) { |
|
||||
padding-right: 20px; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:before, |
|
||||
table.dataTable.table-sm .sorting_asc:before, |
|
||||
table.dataTable.table-sm .sorting_desc:before { |
|
||||
top: 5px; |
|
||||
right: 0.85em; |
|
||||
} |
|
||||
table.dataTable.table-sm .sorting:after, |
|
||||
table.dataTable.table-sm .sorting_asc:after, |
|
||||
table.dataTable.table-sm .sorting_desc:after { |
|
||||
top: 5px; |
|
||||
} |
|
||||
|
|
||||
table.table-bordered.dataTable { |
|
||||
border-right-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th, |
|
||||
table.table-bordered.dataTable td { |
|
||||
border-left-width: 0; |
|
||||
} |
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|
||||
table.table-bordered.dataTable td:last-child, |
|
||||
table.table-bordered.dataTable td:last-child { |
|
||||
border-right-width: 1px; |
|
||||
} |
|
||||
table.table-bordered.dataTable tbody th, |
|
||||
table.table-bordered.dataTable tbody td { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.dataTables_scrollHead table.table-bordered { |
|
||||
border-bottom-width: 0; |
|
||||
} |
|
||||
|
|
||||
div.table-responsive > div.dataTables_wrapper > div.row { |
|
||||
margin: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|
||||
padding-left: 0; |
|
||||
} |
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|
||||
padding-right: 0; |
|
||||
} |
|
||||
@ -1,184 +0,0 @@ |
|||||
/*! DataTables Bootstrap 4 integration |
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
|
||||
*/ |
|
||||
|
|
||||
/** |
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
|
||||
* DataTables 1.10 or newer. |
|
||||
* |
|
||||
* This file sets the defaults and adds options to DataTables to style its |
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||
* for further information. |
|
||||
*/ |
|
||||
(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, which attaches to jQuery, including
|
|
||||
// jQuery if needed and have a $ property so we can access the
|
|
||||
// jQuery object that is used
|
|
||||
$ = 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; |
|
||||
|
|
||||
|
|
||||
/* Set the defaults for DataTables initialisation */ |
|
||||
$.extend( true, DataTable.defaults, { |
|
||||
dom: |
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|
||||
"<'row'<'col-sm-12'tr>>" + |
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|
||||
renderer: 'bootstrap' |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Default class modification */ |
|
||||
$.extend( DataTable.ext.classes, { |
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4", |
|
||||
sFilterInput: "form-control form-control-sm", |
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
|
||||
sProcessing: "dataTables_processing card", |
|
||||
sPageButton: "paginate_button page-item" |
|
||||
} ); |
|
||||
|
|
||||
|
|
||||
/* Bootstrap paging button renderer */ |
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|
||||
var api = new DataTable.Api( settings ); |
|
||||
var classes = settings.oClasses; |
|
||||
var lang = settings.oLanguage.oPaginate; |
|
||||
var aria = settings.oLanguage.oAria.paginate || {}; |
|
||||
var btnDisplay, btnClass, counter=0; |
|
||||
|
|
||||
var attach = function( container, buttons ) { |
|
||||
var i, ien, node, button; |
|
||||
var clickHandler = function ( e ) { |
|
||||
e.preventDefault(); |
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|
||||
api.page( e.data.action ).draw( 'page' ); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|
||||
button = buttons[i]; |
|
||||
|
|
||||
if ( $.isArray( button ) ) { |
|
||||
attach( container, button ); |
|
||||
} |
|
||||
else { |
|
||||
btnDisplay = ''; |
|
||||
btnClass = ''; |
|
||||
|
|
||||
switch ( button ) { |
|
||||
case 'ellipsis': |
|
||||
btnDisplay = '…'; |
|
||||
btnClass = 'disabled'; |
|
||||
break; |
|
||||
|
|
||||
case 'first': |
|
||||
btnDisplay = lang.sFirst; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'previous': |
|
||||
btnDisplay = lang.sPrevious; |
|
||||
btnClass = button + (page > 0 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'next': |
|
||||
btnDisplay = lang.sNext; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
case 'last': |
|
||||
btnDisplay = lang.sLast; |
|
||||
btnClass = button + (page < pages-1 ? |
|
||||
'' : ' disabled'); |
|
||||
break; |
|
||||
|
|
||||
default: |
|
||||
btnDisplay = button + 1; |
|
||||
btnClass = page === button ? |
|
||||
'active' : ''; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
if ( btnDisplay ) { |
|
||||
node = $('<li>', { |
|
||||
'class': classes.sPageButton+' '+btnClass, |
|
||||
'id': idx === 0 && typeof button === 'string' ? |
|
||||
settings.sTableId +'_'+ button : |
|
||||
null |
|
||||
} ) |
|
||||
.append( $('<a>', { |
|
||||
'href': '#', |
|
||||
'aria-controls': settings.sTableId, |
|
||||
'aria-label': aria[ button ], |
|
||||
'data-dt-idx': counter, |
|
||||
'tabindex': settings.iTabIndex, |
|
||||
'class': 'page-link' |
|
||||
} ) |
|
||||
.html( btnDisplay ) |
|
||||
) |
|
||||
.appendTo( container ); |
|
||||
|
|
||||
settings.oApi._fnBindAction( |
|
||||
node, {action: button}, clickHandler |
|
||||
); |
|
||||
|
|
||||
counter++; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||
// inside an iframe or frame.
|
|
||||
var activeEl; |
|
||||
|
|
||||
try { |
|
||||
// Because this approach is destroying and recreating the paging
|
|
||||
// elements, focus is lost on the select button which is bad for
|
|
||||
// accessibility. So we want to restore focus once the draw has
|
|
||||
// completed
|
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|
||||
} |
|
||||
catch (e) {} |
|
||||
|
|
||||
attach( |
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|
||||
buttons |
|
||||
); |
|
||||
|
|
||||
if ( activeEl !== undefined ) { |
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
return DataTable; |
|
||||
})); |
|
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 5 integration |
||||
|
* 2020 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(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, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = 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; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap5", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "form-select form-select-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( Array.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 5 integration |
||||
|
* 2020 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(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, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = 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; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap5", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "form-select form-select-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( Array.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
@ -0,0 +1,312 @@ |
|||||
|
@charset "UTF-8"; |
||||
|
td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
tr.dt-hasChild td.dt-control { |
||||
|
background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center; |
||||
|
} |
||||
|
|
||||
|
table.dataTable th.dt-left, |
||||
|
table.dataTable td.dt-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable th.dt-center, |
||||
|
table.dataTable td.dt-center, |
||||
|
table.dataTable td.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable th.dt-right, |
||||
|
table.dataTable td.dt-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable th.dt-justify, |
||||
|
table.dataTable td.dt-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable th.dt-nowrap, |
||||
|
table.dataTable td.dt-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-left, |
||||
|
table.dataTable thead td.dt-head-left, |
||||
|
table.dataTable tfoot th.dt-head-left, |
||||
|
table.dataTable tfoot td.dt-head-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-center, |
||||
|
table.dataTable thead td.dt-head-center, |
||||
|
table.dataTable tfoot th.dt-head-center, |
||||
|
table.dataTable tfoot td.dt-head-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-right, |
||||
|
table.dataTable thead td.dt-head-right, |
||||
|
table.dataTable tfoot th.dt-head-right, |
||||
|
table.dataTable tfoot td.dt-head-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-justify, |
||||
|
table.dataTable thead td.dt-head-justify, |
||||
|
table.dataTable tfoot th.dt-head-justify, |
||||
|
table.dataTable tfoot td.dt-head-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable thead th.dt-head-nowrap, |
||||
|
table.dataTable thead td.dt-head-nowrap, |
||||
|
table.dataTable tfoot th.dt-head-nowrap, |
||||
|
table.dataTable tfoot td.dt-head-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-left, |
||||
|
table.dataTable tbody td.dt-body-left { |
||||
|
text-align: left; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-center, |
||||
|
table.dataTable tbody td.dt-body-center { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-right, |
||||
|
table.dataTable tbody td.dt-body-right { |
||||
|
text-align: right; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-justify, |
||||
|
table.dataTable tbody td.dt-body-justify { |
||||
|
text-align: justify; |
||||
|
} |
||||
|
table.dataTable tbody th.dt-body-nowrap, |
||||
|
table.dataTable tbody td.dt-body-nowrap { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
/*! Bootstrap 5 integration for DataTables |
||||
|
* |
||||
|
* ©2020 SpryMedia Ltd, all rights reserved. |
||||
|
* License: MIT datatables.net/license/mit |
||||
|
*/ |
||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable > thead > tr > th:active, |
||||
|
table.dataTable > thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable > thead > tr > th:not(.sorting_disabled), |
||||
|
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable > thead .sorting, |
||||
|
table.dataTable > thead .sorting_asc, |
||||
|
table.dataTable > thead .sorting_desc, |
||||
|
table.dataTable > thead .sorting_asc_disabled, |
||||
|
table.dataTable > thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.5em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:before, |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:before, |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "↑"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting:after, |
||||
|
table.dataTable > thead .sorting_asc:after, |
||||
|
table.dataTable > thead .sorting_desc:after, |
||||
|
table.dataTable > thead .sorting_asc_disabled:after, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "↓"; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc:before, |
||||
|
table.dataTable > thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable > thead .sorting_asc_disabled:before, |
||||
|
table.dataTable > thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody > table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > thead .sorting:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody > table > thead .sorting:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody > table > thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody > table > tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
justify-content: center !important; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable thead tr:first-child th, |
||||
|
table.table-bordered.dataTable thead tr:first-child td { |
||||
|
border-top-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
||||
|
table.table-bordered.dataTable td:first-child, |
||||
|
table.table-bordered.dataTable td:first-child { |
||||
|
border-left-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 1px; |
||||
|
} |
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-bottom-width: 1px; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) { |
||||
|
--bs-table-accent-bg: transparent; |
||||
|
} |
||||
|
table.dataTable.table-striped > tbody > tr.odd { |
||||
|
--bs-table-accent-bg: var(--bs-table-striped-bg); |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 5 integration |
||||
|
* 2020 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(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, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = 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; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap5", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "form-select form-select-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( Array.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
@ -1,6 +1,8 @@ |
|||||
{ |
{ |
||||
"version": "5.0.0-beta.3", |
"version": "5.0.0-rc.1", |
||||
"packages": ["packs/*"], |
"packages": [ |
||||
|
"packs/*" |
||||
|
], |
||||
"npmClient": "yarn", |
"npmClient": "yarn", |
||||
"lerna": "3.18.4" |
"lerna": "3.18.4" |
||||
} |
} |
||||
|
|||||
@ -1,11 +1,11 @@ |
|||||
{ |
{ |
||||
"version": "5.0.0-beta.3", |
"version": "5.0.0-rc.1", |
||||
"name": "@abp/aspnetcore.components.server.basictheme", |
"name": "@abp/aspnetcore.components.server.basictheme", |
||||
"publishConfig": { |
"publishConfig": { |
||||
"access": "public" |
"access": "public" |
||||
}, |
}, |
||||
"dependencies": { |
"dependencies": { |
||||
"@abp/aspnetcore.components.server.theming": "~5.0.0-beta.3" |
"@abp/aspnetcore.components.server.theming": "~5.0.0-rc.1" |
||||
}, |
}, |
||||
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" |
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" |
||||
} |
} |
||||
|
|||||
@ -1,12 +1,12 @@ |
|||||
{ |
{ |
||||
"version": "5.0.0-beta.3", |
"version": "5.0.0-rc.1", |
||||
"name": "@abp/aspnetcore.components.server.theming", |
"name": "@abp/aspnetcore.components.server.theming", |
||||
"publishConfig": { |
"publishConfig": { |
||||
"access": "public" |
"access": "public" |
||||
}, |
}, |
||||
"dependencies": { |
"dependencies": { |
||||
"@abp/bootstrap": "~5.0.0-beta.3", |
"@abp/bootstrap": "~5.0.0-rc.1", |
||||
"@abp/font-awesome": "~5.0.0-beta.3" |
"@abp/font-awesome": "~5.0.0-rc.1" |
||||
}, |
}, |
||||
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" |
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" |
||||
} |
} |
||||
|
|||||