diff --git a/LICENSE b/LICENSE
index d84d8e37e1c..00eb51888e3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -301,28 +301,28 @@ Files (in server/monitor/src/main/resources/):
Copyright 2019-2024 The Bootstrap Authors
Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
-## DataTables 1.13.11 (https://datatables.net)
+## DataTables 3.0.1 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2008-2024 SpryMedia Ltd
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
-## DataTables Buttons 2.4.2 (https://datatables.net)
+## DataTables Buttons 4.0.1 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2010-2015 SpryMedia Limited
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
-## DataTables ColReorder 1.7.0 (https://datatables.net)
+## DataTables ColReorder 3.0.0 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2010-2015 SpryMedia Limited
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
**********
diff --git a/assemble/src/main/resources/LICENSE b/assemble/src/main/resources/LICENSE
index d6bd358baf6..ec59b91ade0 100644
--- a/assemble/src/main/resources/LICENSE
+++ b/assemble/src/main/resources/LICENSE
@@ -301,28 +301,28 @@ Files (in lib/accumulo-monitor-*.jar):
Copyright 2019-2024 The Bootstrap Authors
Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
-## DataTables 1.13.11 (https://datatables.net)
+## DataTables 3.0.1 (https://datatables.net)
Files (in lib/accumulo-monitor-*.jar):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2008-2024 SpryMedia Ltd
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
-## DataTables Buttons 2.4.2 (https://datatables.net)
+## DataTables Buttons 4.0.1 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2010-2015 SpryMedia Limited
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
-## DataTables ColReorder 1.7.0 (https://datatables.net)
+## DataTables ColReorder 3.0.0 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2010-2015 SpryMedia Limited
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
**********
diff --git a/server/monitor/src/main/appended-resources/META-INF/LICENSE b/server/monitor/src/main/appended-resources/META-INF/LICENSE
index 11f0d3ced7c..cdb027a85db 100644
--- a/server/monitor/src/main/appended-resources/META-INF/LICENSE
+++ b/server/monitor/src/main/appended-resources/META-INF/LICENSE
@@ -63,28 +63,28 @@ Files (in lib/accumulo-monitor-*.jar):
Copyright 2019-2024 The Bootstrap Authors
Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
-## DataTables 1.13.11 (https://datatables.net)
+## DataTables 3.0.1 (https://datatables.net)
Files (in lib/accumulo-monitor-*.jar):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2008-2024 SpryMedia Ltd
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
-## DataTables Buttons 2.4.2 (https://datatables.net)
+## DataTables Buttons 4.0.1 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2010-2015 SpryMedia Limited
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
-## DataTables ColReorder 1.7.0 (https://datatables.net)
+## DataTables ColReorder 3.0.0 (https://datatables.net)
Files (in server/monitor/src/main/resources/):
* org/apache/accumulo/monitor/resources/external/datatables/**/*
- Copyright (c) 2010-2015 SpryMedia Limited
+ Copyright (c) SpryMedia Ltd - datatables.net/license
Licensed under the MIT license (see above)
**********
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/css/screen.css b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/css/screen.css
index bef7ab65324..05a4a78eddb 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/css/screen.css
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/css/screen.css
@@ -239,10 +239,6 @@ pre.logevent {
margin-right: 0;
}
-.align-left {
- float: left;
-}
-
.error, .error a {
color: #ffffff;
background-color: #d9534f;
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/buttons.bootstrap5.css b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/buttons.bootstrap5.css
index df249f01a1f..804b8021aff 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/buttons.bootstrap5.css
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/buttons.bootstrap5.css
@@ -27,8 +27,9 @@
transform: rotate(360deg);
}
}
-div.dataTables_wrapper {
- position: relative;
+:root {
+ --dtb-processing_border: 2px solid rgb(40, 40, 40);
+ --dtb-processing_filter: drop-shadow(0px 0px 3px white);
}
div.dt-buttons {
@@ -37,6 +38,7 @@ div.dt-buttons {
div.dt-buttons .dt-button {
overflow: hidden;
text-overflow: ellipsis;
+ white-space: nowrap;
}
div.dt-button-info {
@@ -80,10 +82,13 @@ button.dtb-hide-drop {
div.dt-button-collection-title {
text-align: center;
- padding: 0.3em 0 0.5em;
+ padding: 0.3em 0.5em 0.5em;
margin-left: 0.5em;
margin-right: 0.5em;
font-size: 0.9em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
div.dt-button-collection-title:empty {
@@ -115,7 +120,7 @@ div.dt-button-collection .dt-button-active:after {
margin-top: -10px;
right: 1em;
display: inline-block;
- content: "✓";
+ content: "\2713";
color: inherit;
}
div.dt-button-collection .dt-button-active.dt-button-split {
@@ -133,7 +138,7 @@ div.dt-button-collection .dt-button-active.dt-button-split > *:first-child:after
margin-top: -10px;
right: 1em;
display: inline-block;
- content: "✓";
+ content: "\2713";
color: inherit;
}
div.dt-button-collection .dt-button-active-a a {
@@ -143,7 +148,7 @@ div.dt-button-collection .dt-button-active-a a:after {
position: absolute;
right: 1em;
display: inline-block;
- content: "✓";
+ content: "\2713";
color: inherit;
}
div.dt-button-collection span.dt-button-spacer {
@@ -162,21 +167,81 @@ div.dt-button-collection span.dt-button-spacer.bar {
padding-left: 0;
}
-html.dark div.dt-button-info {
- background-color: var(--dt-html-background);
- border: 1px solid rgba(255, 255, 255, 0.15);
+@media print {
+ table.dataTable tr > * {
+ box-shadow: none !important;
+ }
+}
+:root[data-bs-theme=dark] {
+ --dtb-processing_border: 2px solid rgb(224, 224, 224);
+ --dtb-processing_filter: drop-shadow(0px 0px 3px black);
}
div.dt-buttons div.btn-group {
position: initial;
}
-div.dt-buttons div.dropdown-menu {
+div.dt-buttons span.dt-button-spacer.empty {
+ margin: 1px;
+}
+div.dt-buttons span.dt-button-spacer.bar:empty {
+ height: inherit;
+}
+div.dt-buttons .btn.processing {
+ color: rgba(0, 0, 0, 0.2);
+}
+div.dt-buttons .btn.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: " ";
+ border: var(--dtb-processing_border);
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+ filter: var(--dtb-processing_filter);
+}
+
+div.dt-button-collection {
+ position: absolute;
+ min-width: 200px;
margin-top: 4px;
+ z-index: 2002;
+ background-color: var(--bs-body-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ box-shadow: var(--bs-box-shadow);
+}
+div.dt-button-collection div.dt-button-collection-title {
+ padding: 0.75em 0 0.25em;
}
-div.dt-buttons div.dropdown-menu .dt-button {
+div.dt-button-collection .dropdown-menu {
position: relative;
+ display: block;
+ width: 100%;
+ background-color: transparent;
+ border: none;
+ border-radius: 0;
+ box-shadow: none;
+}
+div.dt-button-collection .dt-button {
+ position: relative;
+}
+div.dt-button-collection .dt-button.dropdown-toggle::after {
+ position: absolute;
+ right: 12px;
+ top: 14px;
}
-div.dt-buttons div.dropdown-menu div.dt-button-split {
+div.dt-button-collection div.dt-button-split {
display: flex;
flex-direction: row;
flex-wrap: wrap;
@@ -184,12 +249,11 @@ div.dt-buttons div.dropdown-menu div.dt-button-split {
align-content: flex-start;
align-items: stretch;
}
-div.dt-buttons div.dropdown-menu div.dt-button-split a:first-child {
+div.dt-button-collection div.dt-button-split > *:first-child {
min-width: auto;
flex: 1 0 50px;
- padding-right: 0;
}
-div.dt-buttons div.dropdown-menu div.dt-button-split button:last-child {
+div.dt-button-collection div.dt-button-split button:last-child {
min-width: 33px;
flex: 0;
background: transparent;
@@ -197,16 +261,13 @@ div.dt-buttons div.dropdown-menu div.dt-button-split button:last-child {
line-height: 1rem;
color: var(--bs-dropdown-link-color);
padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ overflow: visible;
}
-div.dt-buttons div.dropdown-menu div.dt-button-split button:last-child:hover {
+div.dt-button-collection div.dt-button-split button:last-child:hover {
color: var(--bs-dropdown-link-hover-color);
background-color: var(--bs-dropdown-link-hover-bg);
}
-div.dt-buttons div.dropdown-menu div.dt-button-split button:last-child:after {
- position: relative;
- left: -3px;
-}
-div.dt-buttons div.dropdown-menu.fixed {
+div.dt-button-collection.fixed {
position: fixed;
display: block;
top: 50%;
@@ -216,77 +277,73 @@ div.dt-buttons div.dropdown-menu.fixed {
background-color: white;
padding: 0.5em;
}
-div.dt-buttons div.dropdown-menu.fixed.two-column {
+div.dt-button-collection.fixed.two-column {
margin-left: -200px;
}
-div.dt-buttons div.dropdown-menu.fixed.three-column {
+div.dt-button-collection.fixed.three-column {
margin-left: -225px;
}
-div.dt-buttons div.dropdown-menu.fixed.four-column {
+div.dt-button-collection.fixed.four-column {
margin-left: -300px;
}
-div.dt-buttons div.dropdown-menu.fixed.columns {
+div.dt-button-collection.fixed.columns {
margin-left: -409px;
}
@media screen and (max-width: 1024px) {
- div.dt-buttons div.dropdown-menu.fixed.columns {
+ div.dt-button-collection.fixed.columns {
margin-left: -308px;
}
}
@media screen and (max-width: 640px) {
- div.dt-buttons div.dropdown-menu.fixed.columns {
+ div.dt-button-collection.fixed.columns {
margin-left: -203px;
}
}
@media screen and (max-width: 460px) {
- div.dt-buttons div.dropdown-menu.fixed.columns {
+ div.dt-button-collection.fixed.columns {
margin-left: -100px;
}
}
-div.dt-buttons div.dropdown-menu.fixed > :last-child {
+div.dt-button-collection.fixed > :last-child {
max-height: 100vh;
overflow: auto;
}
-div.dt-buttons div.dropdown-menu.two-column > :last-child, div.dt-buttons div.dropdown-menu.three-column > :last-child, div.dt-buttons div.dropdown-menu.four-column > :last-child {
+div.dt-button-collection.two-column > :last-child, div.dt-button-collection.three-column > :last-child, div.dt-button-collection.four-column > :last-child {
display: block !important;
- -webkit-column-gap: 8px;
- -moz-column-gap: 8px;
- -ms-column-gap: 8px;
- -o-column-gap: 8px;
column-gap: 8px;
}
-div.dt-buttons div.dropdown-menu.two-column > :last-child > *, div.dt-buttons div.dropdown-menu.three-column > :last-child > *, div.dt-buttons div.dropdown-menu.four-column > :last-child > * {
+div.dt-button-collection.two-column > :last-child > *, div.dt-button-collection.three-column > :last-child > *, div.dt-button-collection.four-column > :last-child > * {
-webkit-column-break-inside: avoid;
break-inside: avoid;
}
-div.dt-buttons div.dropdown-menu.two-column {
+div.dt-button-collection.two-column {
width: 400px;
}
-div.dt-buttons div.dropdown-menu.two-column > :last-child {
+div.dt-button-collection.two-column > :last-child {
padding-bottom: 1px;
column-count: 2;
}
-div.dt-buttons div.dropdown-menu.three-column {
+div.dt-button-collection.three-column {
width: 450px;
}
-div.dt-buttons div.dropdown-menu.three-column > :last-child {
+div.dt-button-collection.three-column > :last-child {
padding-bottom: 1px;
column-count: 3;
}
-div.dt-buttons div.dropdown-menu.four-column {
+div.dt-button-collection.four-column {
width: 600px;
}
-div.dt-buttons div.dropdown-menu.four-column > :last-child {
+div.dt-button-collection.four-column > :last-child {
padding-bottom: 1px;
column-count: 4;
}
-div.dt-buttons div.dropdown-menu .dt-button {
+div.dt-button-collection .dt-button {
border-radius: 0;
}
-div.dt-buttons div.dropdown-menu.columns {
+div.dt-button-collection.columns {
width: auto;
}
-div.dt-buttons div.dropdown-menu.columns > :last-child {
+div.dt-button-collection.columns > :last-child {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
@@ -295,70 +352,41 @@ div.dt-buttons div.dropdown-menu.columns > :last-child {
width: 818px;
padding-bottom: 1px;
}
-div.dt-buttons div.dropdown-menu.columns > :last-child .dt-button {
+div.dt-button-collection.columns > :last-child .dt-button {
min-width: 200px;
flex: 0 1;
margin: 0;
}
-div.dt-buttons div.dropdown-menu.columns.dtb-b3 > :last-child, div.dt-buttons div.dropdown-menu.columns.dtb-b2 > :last-child, div.dt-buttons div.dropdown-menu.columns.dtb-b1 > :last-child {
+div.dt-button-collection.columns.dtb-b3 > :last-child, div.dt-button-collection.columns.dtb-b2 > :last-child, div.dt-button-collection.columns.dtb-b1 > :last-child {
justify-content: space-between;
}
-div.dt-buttons div.dropdown-menu.columns.dtb-b3 .dt-button {
+div.dt-button-collection.columns.dtb-b3 .dt-button {
flex: 1 1 32%;
}
-div.dt-buttons div.dropdown-menu.columns.dtb-b2 .dt-button {
+div.dt-button-collection.columns.dtb-b2 .dt-button {
flex: 1 1 48%;
}
-div.dt-buttons div.dropdown-menu.columns.dtb-b1 .dt-button {
+div.dt-button-collection.columns.dtb-b1 .dt-button {
flex: 1 1 100%;
}
@media screen and (max-width: 1024px) {
- div.dt-buttons div.dropdown-menu.columns > :last-child {
+ div.dt-button-collection.columns > :last-child {
width: 612px;
}
}
@media screen and (max-width: 640px) {
- div.dt-buttons div.dropdown-menu.columns > :last-child {
+ div.dt-button-collection.columns > :last-child {
width: 406px;
}
- div.dt-buttons div.dropdown-menu.columns.dtb-b3 .dt-button {
+ div.dt-button-collection.columns.dtb-b3 .dt-button {
flex: 0 1 32%;
}
}
@media screen and (max-width: 460px) {
- div.dt-buttons div.dropdown-menu.columns > :last-child {
+ div.dt-button-collection.columns > :last-child {
width: 200px;
}
}
-div.dt-buttons span.dt-button-spacer.empty {
- margin: 1px;
-}
-div.dt-buttons span.dt-button-spacer.bar:empty {
- height: inherit;
-}
-div.dt-buttons .btn.processing {
- color: rgba(0, 0, 0, 0.2);
-}
-div.dt-buttons .btn.processing:after {
- position: absolute;
- top: 50%;
- left: 50%;
- width: 16px;
- height: 16px;
- margin: -8px 0 0 -8px;
- box-sizing: border-box;
- display: block;
- content: " ";
- border: 2px solid rgb(40, 40, 40);
- border-radius: 50%;
- border-left-color: transparent;
- border-right-color: transparent;
- animation: dtb-spinner 1500ms infinite linear;
- -o-animation: dtb-spinner 1500ms infinite linear;
- -ms-animation: dtb-spinner 1500ms infinite linear;
- -webkit-animation: dtb-spinner 1500ms infinite linear;
- -moz-animation: dtb-spinner 1500ms infinite linear;
-}
div.dt-button-background {
position: fixed;
@@ -380,8 +408,12 @@ div.dt-button-background {
float: none;
}
}
-:root[data-bs-theme=dark] div.dropdown-menu.dt-button-collection.fixed {
- background-color: rgb(33, 37, 41);
- border: 1px solid rgba(255, 255, 255, 0.15);
- border-radius: 8px;
+div.dt-button-info {
+ background-color: var(--bs-body-bg);
+ border: 1px solid var(--bs-border-color-translucent);
+}
+
+:root[data-bs-theme=dark] div.dt-button-collection.fixed {
+ background-color: var(--bs-body-bg);
+ border: 1px solid var(--bs-border-color-translucent);
}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/colReorder.bootstrap5.css b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/colReorder.bootstrap5.css
index fc2b916033c..e6454d24f81 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/colReorder.bootstrap5.css
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/colReorder.bootstrap5.css
@@ -1,19 +1,24 @@
-table.DTCR_clonedTable.dataTable {
+body.dtcr-dragging {
+ overflow-x: hidden;
+}
+
+table.dtcr-cloned.dataTable {
position: absolute !important;
background-color: rgba(255, 255, 255, 0.7);
z-index: 202;
border-radius: 4px;
}
-div.DTCR_pointer {
- width: 1px;
- background-color: #0d6efd;
- z-index: 201;
+table.dataTable tbody tr td.dtcr-moving {
+ background-color: rgba(127, 127, 127, 0.15);
+}
+table.dataTable tbody tr td.dtcr-moving-first {
+ border-left: 1px solid #0d6efd;
+}
+table.dataTable tbody tr td.dtcr-moving-last {
+ border-right: 1px solid #0d6efd;
}
-html.dark table.DTCR_clonedTable.dataTable {
+html.dark table.dtcr-cloned.dataTable {
background-color: rgba(33, 33, 33, 0.9);
}
-html.dark div.DTCR_pointer {
- background-color: rgb(13, 110, 253);
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/dataTables.bootstrap5.css b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/dataTables.bootstrap5.css
index 45201559a47..6c9d9d89855 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/dataTables.bootstrap5.css
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/css/dataTables.bootstrap5.css
@@ -1,95 +1,172 @@
-@charset "UTF-8";
+/*! DataTables Bootstrap 5 integration
+ * © SpryMedia Ltd - datatables.net/license
+ */
:root {
- --dt-row-selected: 13, 110, 253;
- --dt-row-selected-text: 255, 255, 255;
- --dt-row-selected-link: 9, 10, 11;
- --dt-row-stripe: 0, 0, 0;
- --dt-row-hover: 0, 0, 0;
- --dt-column-ordering: 0, 0, 0;
- --dt-html-background: white;
+ --dt_background-selected: 13, 110, 253;
+ --dt_color-selected: 255, 255, 255;
+ --dt_link_color-selected: 228, 228, 228;
+ --dt-row_background: transparent;
+ --dt-row_background-selected: var(--dt_background-selected);
+ --dt-row-text_color-selected: var(--dt_color-selected);
+ --dt-row-link_color-selected: var(--dt_link_color-selected);
+ --dt-row_background-stripe: 0, 0, 0;
+ --dt-row_background-hover: 0, 0, 0;
+ --dt-column-ordering_background: 0, 0, 0;
+ --dt-header-cell_align-items: center;
+ --dt-header-cell_vertical-align: middle;
+ --dt-html_background: white;
}
:root.dark {
- --dt-html-background: rgb(33, 37, 41);
+ --dt-html_background: rgb(33, 37, 41);
}
-table.dataTable td.dt-control {
+table.dataTable tbody td.dt-control {
text-align: center;
cursor: pointer;
}
-table.dataTable td.dt-control:before {
+table.dataTable tbody td.dt-control:before {
display: inline-block;
- color: rgba(0, 0, 0, 0.5);
- content: "▶";
+ box-sizing: border-box;
+ content: "";
+ border-top: 5px solid transparent;
+ border-left: 10px solid rgba(0, 0, 0, 0.5);
+ border-bottom: 5px solid transparent;
+ border-right: 0px solid transparent;
+}
+table.dataTable tbody tr.dt-hasChild td.dt-control:before {
+ border-top: 10px solid rgba(0, 0, 0, 0.5);
+ border-left: 5px solid transparent;
+ border-bottom: 0px solid transparent;
+ border-right: 5px solid transparent;
+}
+
+:root.dark table.dataTable td.dt-control:before,
+:root[data-bs-theme=dark] table.dataTable td.dt-control:before,
+:root[data-theme=dark] table.dataTable td.dt-control:before {
+ border-left-color: rgba(255, 255, 255, 0.5);
}
-table.dataTable tr.dt-hasChild td.dt-control:before {
- content: "▼";
+:root.dark table.dataTable tr.dt-hasChild td.dt-control:before,
+:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,
+:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before {
+ border-top-color: rgba(255, 255, 255, 0.5);
+ border-left-color: transparent;
}
-html.dark table.dataTable td.dt-control:before,
-:root[data-bs-theme=dark] table.dataTable td.dt-control:before {
- color: rgba(255, 255, 255, 0.5);
+div.dt-scroll {
+ width: 100%;
}
-html.dark table.dataTable tr.dt-hasChild td.dt-control:before,
-:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before {
- color: rgba(255, 255, 255, 0.5);
+
+div.dt-scroll-body thead tr,
+div.dt-scroll-body tfoot tr {
+ height: 0;
+}
+div.dt-scroll-body thead tr th, div.dt-scroll-body thead tr td,
+div.dt-scroll-body tfoot tr th,
+div.dt-scroll-body tfoot tr td {
+ height: 0 !important;
+ padding-top: 0px !important;
+ padding-bottom: 0px !important;
+ border-top-width: 0px !important;
+ border-bottom-width: 0px !important;
+}
+div.dt-scroll-body thead tr th div.dt-scroll-sizing, div.dt-scroll-body thead tr td div.dt-scroll-sizing,
+div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,
+div.dt-scroll-body tfoot tr td div.dt-scroll-sizing {
+ height: 0 !important;
+ overflow: hidden !important;
}
-table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled,
-table.dataTable thead > tr > td.sorting,
-table.dataTable thead > tr > td.sorting_asc,
-table.dataTable thead > tr > td.sorting_desc,
-table.dataTable thead > tr > td.sorting_asc_disabled,
-table.dataTable thead > tr > td.sorting_desc_disabled {
- cursor: pointer;
+/*! DataTables Bootstrap 5 integration
+ * © SpryMedia Ltd - datatables.net/license
+ */
+:root {
+ --dt-order-arrow_color: rgb(51, 51, 51);
+ --dt-order-arrow_color-current: rgb(51, 51, 51);
+ --dt-order-arrow-height: 7px;
+ --dt-order-arrow_opacity: 0.125;
+ --dt-order-arrow_opacity-current: 0.65;
+ --dt-order-arrow-width: 8px;
+ --dt-order-arrow-gap: 1px;
+ --dt-order-header_outline-hover: 2px solid rgba(0, 0, 0, 0.05);
+}
+:root.dark, :root[data-bs-theme=dark], :root[data-theme=dark] {
+ --dt-order-arrow_color: rgb(229, 233, 238);
+ --dt-order-arrow_color-current: rgb(229, 233, 238);
+ --dt-order-header_outline-hover: 2px solid rgba(255, 255, 255, 0.05);
+}
+
+table.dataTable thead > tr > th:active,
+table.dataTable thead > tr > td:active {
+ outline: none;
+}
+table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:before {
+ bottom: calc(50% + var(--dt-order-arrow-gap));
+ border-bottom: var(--dt-order-arrow-height) solid var(--dt-order-arrow_color);
+ border-left: calc(var(--dt-order-arrow-width) / 2) solid transparent;
+ border-right: calc(var(--dt-order-arrow-width) / 2) solid transparent;
+}
+table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:after {
+ top: calc(50% + 1px);
+ border-top: var(--dt-order-arrow-height) solid var(--dt-order-arrow_color);
+ border-left: calc(var(--dt-order-arrow-width) / 2) solid transparent;
+ border-right: calc(var(--dt-order-arrow-width) / 2) solid transparent;
+}
+table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order,
+table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order,
+table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order,
+table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order,
+table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order {
position: relative;
- padding-right: 26px;
-}
-table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after,
-table.dataTable thead > tr > td.sorting:before,
-table.dataTable thead > tr > td.sorting:after,
-table.dataTable thead > tr > td.sorting_asc:before,
-table.dataTable thead > tr > td.sorting_asc:after,
-table.dataTable thead > tr > td.sorting_desc:before,
-table.dataTable thead > tr > td.sorting_desc:after,
-table.dataTable thead > tr > td.sorting_asc_disabled:before,
-table.dataTable thead > tr > td.sorting_asc_disabled:after,
-table.dataTable thead > tr > td.sorting_desc_disabled:before,
-table.dataTable thead > tr > td.sorting_desc_disabled:after {
+ width: var(--dt-order-arrow-width);
+ align-self: stretch;
+}
+table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:after {
position: absolute;
display: block;
- opacity: 0.125;
- right: 10px;
- line-height: 9px;
- font-size: 0.8em;
-}
-table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before,
-table.dataTable thead > tr > td.sorting:before,
-table.dataTable thead > tr > td.sorting_asc:before,
-table.dataTable thead > tr > td.sorting_desc:before,
-table.dataTable thead > tr > td.sorting_asc_disabled:before,
-table.dataTable thead > tr > td.sorting_desc_disabled:before {
- bottom: 50%;
- content: "▲";
- content: "▲"/"";
-}
-table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after,
-table.dataTable thead > tr > td.sorting:after,
-table.dataTable thead > tr > td.sorting_asc:after,
-table.dataTable thead > tr > td.sorting_desc:after,
-table.dataTable thead > tr > td.sorting_asc_disabled:after,
-table.dataTable thead > tr > td.sorting_desc_disabled:after {
- top: 50%;
- content: "▼";
- content: "▼"/"";
-}
-table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after,
-table.dataTable thead > tr > td.sorting_asc:before,
-table.dataTable thead > tr > td.sorting_desc:after {
- opacity: 0.6;
+ content: " ";
+ height: 0;
+ width: 0;
+ left: 0;
+ color: var(--dt-order-arrow_color);
+ opacity: var(--dt-order-arrow_opacity);
+}
+table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc,
+table.dataTable thead > tr > td.dt-orderable-asc,
+table.dataTable thead > tr > td.dt-orderable-desc {
+ cursor: pointer;
}
-table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > th.sorting_asc_disabled:before,
-table.dataTable thead > tr > td.sorting_desc_disabled:after,
-table.dataTable thead > tr > td.sorting_asc_disabled:before {
+table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover,
+table.dataTable thead > tr > td.dt-orderable-asc:hover,
+table.dataTable thead > tr > td.dt-orderable-desc:hover {
+ outline: var(--dt-order-header_outline-hover);
+ outline-offset: -2px;
+}
+table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:before,
+table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:before {
+ border-bottom-color: var(--dt-order-arrow_color-current);
+ opacity: var(--dt-order-arrow_opacity-current);
+}
+table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:after,
+table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:after {
+ border-top-color: var(--dt-order-arrow_color-current);
+ opacity: var(--dt-order-arrow_opacity-current);
+}
+table.dataTable thead > tr > th.dt-orderable-none:not(.dt-ordering-asc, .dt-ordering-desc) .dt-column-order:empty, table.dataTable thead > tr > th.sorting_desc_disabled .dt-column-order:after, table.dataTable thead > tr > th.sorting_asc_disabled .dt-column-order:before,
+table.dataTable thead > tr > td.dt-orderable-none:not(.dt-ordering-asc, .dt-ordering-desc) .dt-column-order:empty,
+table.dataTable thead > tr > td.sorting_desc_disabled .dt-column-order:after,
+table.dataTable thead > tr > td.sorting_asc_disabled .dt-column-order:before {
display: none;
}
table.dataTable thead > tr > th:active,
@@ -97,52 +174,101 @@ table.dataTable thead > tr > td:active {
outline: none;
}
-div.dataTables_scrollBody > table.dataTable > thead > tr > th:before, div.dataTables_scrollBody > table.dataTable > thead > tr > th:after,
-div.dataTables_scrollBody > table.dataTable > thead > tr > td:before,
-div.dataTables_scrollBody > table.dataTable > thead > tr > td:after {
+table.dataTable thead > tr > th div.dt-column-header,
+table.dataTable thead > tr > th div.dt-column-footer,
+table.dataTable thead > tr > td div.dt-column-header,
+table.dataTable thead > tr > td div.dt-column-footer,
+table.dataTable tfoot > tr > th div.dt-column-header,
+table.dataTable tfoot > tr > th div.dt-column-footer,
+table.dataTable tfoot > tr > td div.dt-column-header,
+table.dataTable tfoot > tr > td div.dt-column-footer {
+ display: flex;
+ justify-content: space-between;
+ align-items: var(--dt-header-cell_align-items);
+ gap: 4px;
+}
+table.dataTable thead > tr > th div.dt-column-header .dt-column-title,
+table.dataTable thead > tr > th div.dt-column-footer .dt-column-title,
+table.dataTable thead > tr > td div.dt-column-header .dt-column-title,
+table.dataTable thead > tr > td div.dt-column-footer .dt-column-title,
+table.dataTable tfoot > tr > th div.dt-column-header .dt-column-title,
+table.dataTable tfoot > tr > th div.dt-column-footer .dt-column-title,
+table.dataTable tfoot > tr > td div.dt-column-header .dt-column-title,
+table.dataTable tfoot > tr > td div.dt-column-footer .dt-column-title {
+ flex-grow: 1;
+}
+table.dataTable thead > tr > th div.dt-column-header .dt-column-title:empty,
+table.dataTable thead > tr > th div.dt-column-footer .dt-column-title:empty,
+table.dataTable thead > tr > td div.dt-column-header .dt-column-title:empty,
+table.dataTable thead > tr > td div.dt-column-footer .dt-column-title:empty,
+table.dataTable tfoot > tr > th div.dt-column-header .dt-column-title:empty,
+table.dataTable tfoot > tr > th div.dt-column-footer .dt-column-title:empty,
+table.dataTable tfoot > tr > td div.dt-column-header .dt-column-title:empty,
+table.dataTable tfoot > tr > td div.dt-column-footer .dt-column-title:empty {
display: none;
}
-div.dataTables_processing {
+div.dt-scroll-body > table.dataTable > thead > tr > th,
+div.dt-scroll-body > table.dataTable > thead > tr > td {
+ overflow: hidden;
+}
+
+:root.dark table.dataTable thead > tr > th.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > th.dt-orderable-desc:hover,
+:root.dark table.dataTable thead > tr > td.dt-orderable-asc:hover,
+:root.dark table.dataTable thead > tr > td.dt-orderable-desc:hover,
+:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-asc:hover,
+:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-desc:hover,
+:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-asc:hover,
+:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-desc:hover {
+ outline: var(--dt-order-header_outline-hover);
+}
+
+/*! DataTables Bootstrap 5 integration
+ * © SpryMedia Ltd - datatables.net/license
+ */
+:root {
+ --dt-processing-circle_background: var(--dt_background-selected);
+}
+
+div.dt-processing {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
margin-left: -100px;
- margin-top: -26px;
+ margin-top: -22px;
text-align: center;
padding: 2px;
z-index: 10;
}
-div.dataTables_processing > div:last-child {
+div.dt-processing > div:last-child {
position: relative;
width: 80px;
height: 15px;
margin: 1em auto;
}
-div.dataTables_processing > div:last-child > div {
+div.dt-processing > div:last-child > div {
position: absolute;
top: 0;
width: 13px;
height: 13px;
border-radius: 50%;
- background: rgb(13, 110, 253);
- background: rgb(var(--dt-row-selected));
+ background: rgb(var(--dt-processing-circle_background));
animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
-div.dataTables_processing > div:last-child > div:nth-child(1) {
+div.dt-processing > div:last-child > div:nth-child(1) {
left: 8px;
animation: datatables-loader-1 0.6s infinite;
}
-div.dataTables_processing > div:last-child > div:nth-child(2) {
+div.dt-processing > div:last-child > div:nth-child(2) {
left: 8px;
animation: datatables-loader-2 0.6s infinite;
}
-div.dataTables_processing > div:last-child > div:nth-child(3) {
+div.dt-processing > div:last-child > div:nth-child(3) {
left: 32px;
animation: datatables-loader-2 0.6s infinite;
}
-div.dataTables_processing > div:last-child > div:nth-child(4) {
+div.dt-processing > div:last-child > div:nth-child(4) {
left: 56px;
animation: datatables-loader-3 0.6s infinite;
}
@@ -174,32 +300,73 @@ div.dataTables_processing > div:last-child > div:nth-child(4) {
table.dataTable.nowrap th, table.dataTable.nowrap td {
white-space: nowrap;
}
+table.dataTable th,
+table.dataTable td {
+ box-sizing: border-box;
+}
+table.dataTable th.dt-type-numeric, table.dataTable th.dt-type-date,
+table.dataTable td.dt-type-numeric,
+table.dataTable td.dt-type-date {
+ text-align: right;
+}
+table.dataTable th.dt-type-numeric div.dt-column-header,
+table.dataTable th.dt-type-numeric div.dt-column-footer, table.dataTable th.dt-type-date div.dt-column-header,
+table.dataTable th.dt-type-date div.dt-column-footer,
+table.dataTable td.dt-type-numeric div.dt-column-header,
+table.dataTable td.dt-type-numeric div.dt-column-footer,
+table.dataTable td.dt-type-date div.dt-column-header,
+table.dataTable td.dt-type-date div.dt-column-footer {
+ flex-direction: row-reverse;
+}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
text-align: left;
}
+table.dataTable th.dt-left div.dt-column-header,
+table.dataTable th.dt-left div.dt-column-footer,
+table.dataTable td.dt-left div.dt-column-header,
+table.dataTable td.dt-left div.dt-column-footer {
+ flex-direction: row;
+}
table.dataTable th.dt-center,
-table.dataTable td.dt-center,
-table.dataTable td.dataTables_empty {
+table.dataTable td.dt-center {
text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
text-align: right;
}
+table.dataTable th.dt-right div.dt-column-header,
+table.dataTable th.dt-right div.dt-column-footer,
+table.dataTable td.dt-right div.dt-column-header,
+table.dataTable td.dt-right div.dt-column-footer {
+ flex-direction: row-reverse;
+}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
text-align: justify;
}
+table.dataTable th.dt-justify div.dt-column-header,
+table.dataTable th.dt-justify div.dt-column-footer,
+table.dataTable td.dt-justify div.dt-column-header,
+table.dataTable td.dt-justify div.dt-column-footer {
+ flex-direction: row;
+}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
white-space: nowrap;
}
+table.dataTable th.dt-empty,
+table.dataTable td.dt-empty {
+ text-align: center;
+ vertical-align: top;
+}
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tfoot th,
table.dataTable tfoot td {
text-align: left;
+ vertical-align: var(--dt-header-cell_vertical-align);
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
@@ -207,6 +374,16 @@ table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
text-align: left;
}
+table.dataTable thead th.dt-head-left div.dt-column-header,
+table.dataTable thead th.dt-head-left div.dt-column-footer,
+table.dataTable thead td.dt-head-left div.dt-column-header,
+table.dataTable thead td.dt-head-left div.dt-column-footer,
+table.dataTable tfoot th.dt-head-left div.dt-column-header,
+table.dataTable tfoot th.dt-head-left div.dt-column-footer,
+table.dataTable tfoot td.dt-head-left div.dt-column-header,
+table.dataTable tfoot td.dt-head-left div.dt-column-footer {
+ flex-direction: row;
+}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
@@ -219,12 +396,32 @@ table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
text-align: right;
}
+table.dataTable thead th.dt-head-right div.dt-column-header,
+table.dataTable thead th.dt-head-right div.dt-column-footer,
+table.dataTable thead td.dt-head-right div.dt-column-header,
+table.dataTable thead td.dt-head-right div.dt-column-footer,
+table.dataTable tfoot th.dt-head-right div.dt-column-header,
+table.dataTable tfoot th.dt-head-right div.dt-column-footer,
+table.dataTable tfoot td.dt-head-right div.dt-column-header,
+table.dataTable tfoot td.dt-head-right div.dt-column-footer {
+ flex-direction: row-reverse;
+}
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-justify div.dt-column-header,
+table.dataTable thead th.dt-head-justify div.dt-column-footer,
+table.dataTable thead td.dt-head-justify div.dt-column-header,
+table.dataTable thead td.dt-head-justify div.dt-column-footer,
+table.dataTable tfoot th.dt-head-justify div.dt-column-header,
+table.dataTable tfoot th.dt-head-justify div.dt-column-footer,
+table.dataTable tfoot td.dt-head-justify div.dt-column-header,
+table.dataTable tfoot td.dt-head-justify div.dt-column-footer {
+ flex-direction: row;
+}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
@@ -252,192 +449,193 @@ 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 {
+:root {
+ --dt_background-selected: 13, 110, 253;
+}
+
+:root[data-bs-theme=dark] {
+ --dt-row_background-hover: 255, 255, 255;
+ --dt-row_background-stripe: 255, 255, 255;
+ --dt-column-ordering_background: 255, 255, 255;
+}
+
+table.table.dataTable {
clear: both;
- margin-top: 6px !important;
- margin-bottom: 6px !important;
- max-width: none !important;
- border-collapse: separate !important;
+ margin-bottom: 0;
+ max-width: none;
border-spacing: 0;
}
-table.dataTable td,
-table.dataTable th {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
+table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
+ box-shadow: none;
}
-table.dataTable td.dataTables_empty,
-table.dataTable th.dataTables_empty {
- text-align: center;
+table.table.dataTable > :not(caption) > * > * {
+ background-color: var(--bs-table-bg);
}
-table.dataTable.nowrap th,
-table.dataTable.nowrap td {
- white-space: nowrap;
+table.table.dataTable > tbody > tr {
+ background-color: var(--dt-row_background);
}
-table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
- box-shadow: none;
+table.table.dataTable > tbody > tr.selected > * {
+ box-shadow: inset 0 0 0 9999px rgb(var(--dt-row_background-selected));
+ color: rgb(var(--dt-row-text_color-selected));
+}
+table.table.dataTable > tbody > tr.selected a {
+ color: rgb(var(--dt-row-link_color-selected));
+}
+table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row_background-stripe), 0.05);
}
-table.dataTable > tbody > tr {
- background-color: transparent;
+table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1).selected > * {
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row_background-selected), 0.95);
}
-table.dataTable > tbody > tr.selected > * {
- box-shadow: inset 0 0 0 9999px rgb(13, 110, 253);
- box-shadow: inset 0 0 0 9999px rgb(var(--dt-row-selected));
- color: rgb(255, 255, 255);
- color: rgb(var(--dt-row-selected-text));
+table.table.dataTable.table-hover > tbody > tr:hover > * {
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row_background-hover), 0.075);
}
-table.dataTable > tbody > tr.selected a {
- color: rgb(9, 10, 11);
- color: rgb(var(--dt-row-selected-link));
+table.table.dataTable.table-hover > tbody > tr.selected:hover > * {
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row_background-selected), 0.975);
}
-table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
- box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.05);
+
+div.dt-container div.dt-layout-start > *:not(:last-child) {
+ margin-right: 1em;
+}
+div.dt-container div.dt-layout-end > *:not(:first-child) {
+ margin-left: 1em;
}
-table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1).selected > * {
- box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.95);
- box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.95);
+div.dt-container div.dt-layout-full {
+ width: 100%;
}
-table.dataTable.table-hover > tbody > tr:hover > * {
- box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.075);
+div.dt-container div.dt-layout-full > *:only-child {
+ margin-left: auto;
+ margin-right: auto;
}
-table.dataTable.table-hover > tbody > tr.selected:hover > * {
- box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.975);
- box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.975);
+div.dt-container div.dt-layout-table > div {
+ display: block !important;
}
-div.dataTables_wrapper div.dataTables_length label {
+@media screen and (max-width: 767px) {
+ div.dt-container div.dt-layout-start > *:not(:last-child) {
+ margin-right: 0;
+ }
+ div.dt-container div.dt-layout-end > *:not(:first-child) {
+ margin-left: 0;
+ }
+}
+div.dt-container {
+ position: relative;
+}
+div.dt-container div.dt-length label {
font-weight: normal;
text-align: left;
white-space: nowrap;
}
-div.dataTables_wrapper div.dataTables_length select {
+div.dt-container div.dt-length select {
width: auto;
display: inline-block;
+ margin-right: 0.5em;
}
-div.dataTables_wrapper div.dataTables_filter {
+div.dt-container div.dt-search {
text-align: right;
}
-div.dataTables_wrapper div.dataTables_filter label {
+div.dt-container div.dt-search label {
font-weight: normal;
white-space: nowrap;
text-align: left;
}
-div.dataTables_wrapper div.dataTables_filter input {
+div.dt-container div.dt-search 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 {
+div.dt-container div.dt-paging {
margin: 0;
- white-space: nowrap;
- text-align: right;
}
-div.dataTables_wrapper div.dataTables_paginate ul.pagination {
+div.dt-container div.dt-paging ul.pagination {
margin: 2px 0;
- white-space: nowrap;
- justify-content: flex-end;
+ flex-wrap: wrap;
}
-div.dataTables_wrapper div.dt-row {
+div.dt-container div.dt-row {
position: relative;
}
-div.dataTables_scrollHead table.dataTable {
+div.dt-scroll-head table.dataTable {
margin-bottom: 0 !important;
}
-div.dataTables_scrollBody > table {
+div.dt-scroll-body {
+ border-bottom-color: var(--bs-border-color);
+ border-bottom-width: var(--bs-border-width);
+ border-bottom-style: solid;
+}
+div.dt-scroll-body > 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.dt-scroll-body > table > tbody > tr:first-child {
+ border-top-width: 0;
}
-div.dataTables_scrollBody > table > tbody tr:first-child th,
-div.dataTables_scrollBody > table > tbody tr:first-child td {
- border-top: none;
+div.dt-scroll-body > table > thead > tr {
+ border-width: 0 !important;
+}
+div.dt-scroll-body > table > tbody > tr:last-child > * {
+ border-bottom: none;
}
-div.dataTables_scrollFoot > .dataTables_scrollFootInner {
+div.dt-scroll-foot > .dt-scroll-footInner {
box-sizing: content-box;
}
-div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
+div.dt-scroll-foot > .dt-scroll-footInner > table {
margin-top: 0 !important;
border-top: none;
}
+div.dt-scroll-foot > .dt-scroll-footInner > table > tfoot > tr:first-child {
+ border-top-width: 0 !important;
+}
@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 {
+ div.dt-container div.dt-length,
+ div.dt-container div.dt-search,
+ div.dt-container div.dt-info,
+ div.dt-container div.dt-paging {
text-align: center;
}
- div.dataTables_wrapper div.dataTables_paginate ul.pagination {
+ div.dt-container .row {
+ --bs-gutter-y: 0.5rem;
+ }
+ div.dt-container div.dt-paging ul.pagination {
justify-content: center !important;
}
}
-table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) {
- padding-right: 20px;
-}
-table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled):before, table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled):after {
- right: 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;
+table.dataTable.table-sm > thead > tr th.dt-orderable-asc, table.dataTable.table-sm > thead > tr th.dt-orderable-desc, table.dataTable.table-sm > thead > tr th.dt-ordering-asc, table.dataTable.table-sm > thead > tr th.dt-ordering-desc,
+table.dataTable.table-sm > thead > tr td.dt-orderable-asc,
+table.dataTable.table-sm > thead > tr td.dt-orderable-desc,
+table.dataTable.table-sm > thead > tr td.dt-ordering-asc,
+table.dataTable.table-sm > thead > tr td.dt-ordering-desc {
+ padding-right: 0.25rem;
+}
+table.dataTable.table-sm > thead > tr th.dt-orderable-asc .dt-column-order, table.dataTable.table-sm > thead > tr th.dt-orderable-desc .dt-column-order, table.dataTable.table-sm > thead > tr th.dt-ordering-asc .dt-column-order, table.dataTable.table-sm > thead > tr th.dt-ordering-desc .dt-column-order,
+table.dataTable.table-sm > thead > tr td.dt-orderable-asc .dt-column-order,
+table.dataTable.table-sm > thead > tr td.dt-orderable-desc .dt-column-order,
+table.dataTable.table-sm > thead > tr td.dt-ordering-asc .dt-column-order,
+table.dataTable.table-sm > thead > tr td.dt-ordering-desc .dt-column-order {
+ right: 0.25rem;
+}
+table.dataTable.table-sm > thead > tr th.dt-type-date .dt-column-order, table.dataTable.table-sm > thead > tr th.dt-type-numeric .dt-column-order,
+table.dataTable.table-sm > thead > tr td.dt-type-date .dt-column-order,
+table.dataTable.table-sm > thead > tr td.dt-type-numeric .dt-column-order {
+ left: 0.25rem;
}
-div.dataTables_scrollHead table.table-bordered {
+div.dt-scroll-head table.table-bordered {
border-bottom-width: 0;
}
-div.table-responsive > div.dataTables_wrapper > div.row {
- margin: 0;
+div.table-responsive > div.dt-container > div.row {
+ margin-left: 0;
+ margin-right: 0;
}
-div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child {
+div.table-responsive > div.dt-container > div.row > div[class^=col-]:first-child {
padding-left: 0;
}
-div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child {
+div.table-responsive > div.dt-container > div.row > div[class^=col-]:last-child {
padding-right: 0;
}
-
-:root[data-bs-theme=dark] {
- --dt-row-hover: 255, 255, 255;
- --dt-row-stripe: 255, 255, 255;
- --dt-column-ordering: 255, 255, 255;
-}
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.bootstrap5.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.bootstrap5.js
index e3f41e8c0ec..27e0ab84b85 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.bootstrap5.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.bootstrap5.js
@@ -1,117 +1,121 @@
-/*! Bootstrap integration for DataTables' Buttons
- * © SpryMedia Ltd - datatables.net/license
+/*! Buttons Bootstrap 5 styling 4.0.1 for DataTables
+ * Copyright (c) SpryMedia Ltd - datatables.net/license
*/
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
+(function(factory){
+ if (typeof define === 'function' && define.amd) {
// AMD
- define( ['jquery', 'datatables.net-bs5', 'datatables.net-buttons'], function ( $ ) {
- return factory( $, window, document );
- } );
+ define(['datatables.net-bs5', 'datatables.net-buttons'], function (dt) {
+ return factory(window, document, dt);
+ });
}
- else if ( typeof exports === 'object' ) {
+ else if (typeof exports === 'object') {
// CommonJS
- var jq = require('jquery');
- var cjsRequires = function (root, $) {
- if ( ! $.fn.dataTable ) {
- require('datatables.net-bs5')(root, $);
+ var cjsRequires = function (root) {
+ if (! root.DataTable) {
+ require('datatables.net-bs5')(root);
}
- if ( ! $.fn.dataTable.Buttons ) {
- require('datatables.net-buttons')(root, $);
+ if (! window.DataTable.Buttons) {
+ require('datatables.net-buttons')(root);
}
};
if (typeof window === 'undefined') {
- module.exports = function (root, $) {
- if ( ! root ) {
+ module.exports = function (root) {
+ if (! root) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
- if ( ! $ ) {
- $ = jq( root );
- }
-
- cjsRequires( root, $ );
- return factory( $, root, root.document );
+ cjsRequires(root);
+ return factory(root, root.document, root.DataTable);
};
}
else {
- cjsRequires( window, jq );
- module.exports = factory( jq, window, window.document );
+ cjsRequires(window);
+ module.exports = factory(window, window.document, window.DataTable);
}
}
else {
// Browser
- factory( jQuery, window, document );
+ factory(window, document, window.DataTable);
}
-}(function( $, window, document, undefined ) {
-'use strict';
-var DataTable = $.fn.dataTable;
+}(function(window, document, DataTable) {
+ 'use strict';
-$.extend(true, DataTable.Buttons.defaults, {
- dom: {
- container: {
- className: 'dt-buttons btn-group flex-wrap'
- },
- button: {
- className: 'btn btn-secondary',
- active: 'active'
- },
- collection: {
- action: {
- dropHtml: ''
- },
+ var Dom = DataTable.Dom;
+ var util = DataTable.util;
+
+ util.object.assignDeep(DataTable.Buttons.defaults, {
+ dom: {
container: {
- tag: 'div',
- className: 'dropdown-menu dt-button-collection'
+ className: 'dt-buttons btn-group flex-wrap'
},
- closeButton: false,
button: {
- tag: 'a',
- className: 'dt-button dropdown-item',
- active: 'dt-button-active',
- disabled: 'disabled',
- spacer: {
- className: 'dropdown-divider',
- tag: 'hr'
- }
- }
- },
- split: {
- action: {
- tag: 'a',
- className: 'btn btn-secondary dt-button-split-drop-button',
- closeButton: false
- },
- dropdown: {
- tag: 'button',
+ className: 'btn btn-secondary',
+ active: 'active',
dropHtml: '',
- className:
- 'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split',
+ dropClass: 'dropdown-toggle'
+ },
+ collection: {
+ container: {
+ tag: 'div',
+ className: 'dt-button-collection',
+ content: {
+ tag: 'ul',
+ className: 'dropdown-menu show'
+ }
+ },
closeButton: false,
- align: 'split-left',
- splitAlignClass: 'dt-button-split-left'
+ button: {
+ tag: 'li',
+ className: 'dt-button',
+ active: 'dt-button-active-a',
+ disabled: 'disabled',
+ liner: {
+ tag: 'a',
+ className: 'dropdown-item'
+ },
+ spacer: {
+ className: 'divider',
+ tag: 'li'
+ }
+ }
},
- wrapper: {
- tag: 'div',
- className: 'dt-button-split btn-group',
- closeButton: false
+ split: {
+ action: {
+ tag: 'a',
+ className: 'btn btn-secondary dt-button-split-drop-button',
+ closeButton: false
+ },
+ dropdown: {
+ tag: 'button',
+ className:
+ 'btn btn-secondary dt-button-split-drop dropdown-toggle-split',
+ closeButton: false,
+ align: 'split-left',
+ splitAlignClass: 'dt-button-split-left'
+ },
+ wrapper: {
+ tag: 'div',
+ className: 'dt-button-split btn-group',
+ closeButton: false
+ }
}
+ },
+ buttonCreated: function (config, button, inCollection) {
+ return config.buttons && ! inCollection
+ ? Dom.c('div').classAdd('btn-group a').append(button)
+ : button;
}
- },
- buttonCreated: function (config, button) {
- return config.buttons ? $('
').append(button) : button;
- }
-});
+ });
-DataTable.ext.buttons.collection.className += ' dropdown-toggle';
-DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right';
+ DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right';
-return DataTable;
+ return DataTable;
}));
diff --git a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.colVis.js b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.colVis.js
index 7e8491bd1ee..894de4d8993 100644
--- a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.colVis.js
+++ b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/datatables/js/buttons.colVis.js
@@ -1,260 +1,50 @@
-/*!
- * Column visibility buttons for Buttons and DataTables.
- * © SpryMedia Ltd - datatables.net/license
- */
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
+
+(function(factory){
+ if (typeof define === 'function' && define.amd) {
// AMD
- define( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {
- return factory( $, window, document );
- } );
+ define(['datatables.net', 'datatables.net-buttons'], function (dt) {
+ return factory(window, document, dt);
+ });
}
- else if ( typeof exports === 'object' ) {
+ else if (typeof exports === 'object') {
// CommonJS
- var jq = require('jquery');
- var cjsRequires = function (root, $) {
- if ( ! $.fn.dataTable ) {
- require('datatables.net')(root, $);
+ var cjsRequires = function (root) {
+ if (! root.DataTable) {
+ require('datatables.net')(root);
}
- if ( ! $.fn.dataTable.Buttons ) {
- require('datatables.net-buttons')(root, $);
+ if (! window.DataTable.Buttons) {
+ require('datatables.net-buttons')(root);
}
};
if (typeof window === 'undefined') {
- module.exports = function (root, $) {
- if ( ! root ) {
+ module.exports = function (root) {
+ if (! root) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
- if ( ! $ ) {
- $ = jq( root );
- }
-
- cjsRequires( root, $ );
- return factory( $, root, root.document );
+ cjsRequires(root);
+ return factory(root, root.document, root.DataTable);
};
}
else {
- cjsRequires( window, jq );
- module.exports = factory( jq, window, window.document );
+ cjsRequires(window);
+ module.exports = factory(window, window.document, window.DataTable);
}
}
else {
// Browser
- factory( jQuery, window, document );
+ factory(window, document, window.DataTable);
}
-}(function( $, window, document, undefined ) {
-'use strict';
-var DataTable = $.fn.dataTable;
-
-
-
-$.extend(DataTable.ext.buttons, {
- // A collection of column visibility buttons
- colvis: function (dt, conf) {
- var node = null;
- var buttonConf = {
- extend: 'collection',
- init: function (dt, n) {
- node = n;
- },
- text: function (dt) {
- return dt.i18n('buttons.colvis', 'Column visibility');
- },
- className: 'buttons-colvis',
- closeButton: false,
- buttons: [
- {
- extend: 'columnsToggle',
- columns: conf.columns,
- columnText: conf.columnText
- }
- ]
- };
-
- // Rebuild the collection with the new column structure if columns are reordered
- dt.on('column-reorder.dt' + conf.namespace, function (e, settings, details) {
- dt.button(null, dt.button(null, node).node()).collectionRebuild([
- {
- extend: 'columnsToggle',
- columns: conf.columns,
- columnText: conf.columnText
- }
- ]);
- });
-
- return buttonConf;
- },
-
- // Selected columns with individual buttons - toggle column visibility
- columnsToggle: function (dt, conf) {
- var columns = dt
- .columns(conf.columns)
- .indexes()
- .map(function (idx) {
- return {
- extend: 'columnToggle',
- columns: idx,
- columnText: conf.columnText
- };
- })
- .toArray();
-
- return columns;
- },
-
- // Single button to toggle column visibility
- columnToggle: function (dt, conf) {
- return {
- extend: 'columnVisibility',
- columns: conf.columns,
- columnText: conf.columnText
- };
- },
-
- // Selected columns with individual buttons - set column visibility
- columnsVisibility: function (dt, conf) {
- var columns = dt
- .columns(conf.columns)
- .indexes()
- .map(function (idx) {
- return {
- extend: 'columnVisibility',
- columns: idx,
- visibility: conf.visibility,
- columnText: conf.columnText
- };
- })
- .toArray();
-
- return columns;
- },
-
- // Single button to set column visibility
- columnVisibility: {
- columns: undefined, // column selector
- text: function (dt, button, conf) {
- return conf._columnText(dt, conf);
- },
- className: 'buttons-columnVisibility',
- action: function (e, dt, button, conf) {
- var col = dt.columns(conf.columns);
- var curr = col.visible();
-
- col.visible(
- conf.visibility !== undefined ? conf.visibility : !(curr.length ? curr[0] : false)
- );
- },
- init: function (dt, button, conf) {
- var that = this;
- button.attr('data-cv-idx', conf.columns);
-
- dt.on('column-visibility.dt' + conf.namespace, function (e, settings) {
- if (!settings.bDestroying && settings.nTable == dt.settings()[0].nTable) {
- that.active(dt.column(conf.columns).visible());
- }
- }).on('column-reorder.dt' + conf.namespace, function (e, settings, details) {
- // Button has been removed from the DOM
- if (conf.destroying) {
- return;
- }
-
- if (dt.columns(conf.columns).count() !== 1) {
- return;
- }
-
- // This button controls the same column index but the text for the column has
- // changed
- that.text(conf._columnText(dt, conf));
-
- // Since its a different column, we need to check its visibility
- that.active(dt.column(conf.columns).visible());
- });
-
- this.active(dt.column(conf.columns).visible());
- },
- destroy: function (dt, button, conf) {
- dt.off('column-visibility.dt' + conf.namespace).off(
- 'column-reorder.dt' + conf.namespace
- );
- },
-
- _columnText: function (dt, conf) {
- // Use DataTables' internal data structure until this is presented
- // is a public API. The other option is to use
- // `$( column(col).node() ).text()` but the node might not have been
- // populated when Buttons is constructed.
- var idx = dt.column(conf.columns).index();
- var title = dt.settings()[0].aoColumns[idx].sTitle;
-
- if (!title) {
- title = dt.column(idx).header().innerHTML;
- }
-
- title = title
- .replace(/\n/g, ' ') // remove new lines
- .replace(/
/gi, ' ') // replace line breaks with spaces
- .replace(/