Spiegel von
https://github.com/dani-garcia/vaultwarden.git
synchronisiert 2024-11-22 05:10:29 +01:00
Update admin interface dependencies (#4581)
- Updated JS/CSS dependencies - Fixed a small issue regarding DNS IP detection fixes #3946 fixes #3947
Dieser Commit ist enthalten in:
Ursprung
9555ac7bb8
Commit
f05398a6b3
9 geänderte Dateien mit 1832 neuen und 2200 gelöschten Zeilen
|
@ -170,7 +170,7 @@ pub fn static_files(filename: &str) -> Result<(ContentType, &'static [u8]), Erro
|
||||||
}
|
}
|
||||||
"bootstrap.css" => Ok((ContentType::CSS, include_bytes!("../static/scripts/bootstrap.css"))),
|
"bootstrap.css" => Ok((ContentType::CSS, include_bytes!("../static/scripts/bootstrap.css"))),
|
||||||
"bootstrap.bundle.js" => Ok((ContentType::JavaScript, include_bytes!("../static/scripts/bootstrap.bundle.js"))),
|
"bootstrap.bundle.js" => Ok((ContentType::JavaScript, include_bytes!("../static/scripts/bootstrap.bundle.js"))),
|
||||||
"jdenticon.js" => Ok((ContentType::JavaScript, include_bytes!("../static/scripts/jdenticon.js"))),
|
"jdenticon-3.3.0.js" => Ok((ContentType::JavaScript, include_bytes!("../static/scripts/jdenticon-3.3.0.js"))),
|
||||||
"datatables.js" => Ok((ContentType::JavaScript, include_bytes!("../static/scripts/datatables.js"))),
|
"datatables.js" => Ok((ContentType::JavaScript, include_bytes!("../static/scripts/datatables.js"))),
|
||||||
"datatables.css" => Ok((ContentType::CSS, include_bytes!("../static/scripts/datatables.css"))),
|
"datatables.css" => Ok((ContentType::CSS, include_bytes!("../static/scripts/datatables.css"))),
|
||||||
"jquery-3.7.1.slim.js" => {
|
"jquery-3.7.1.slim.js" => {
|
||||||
|
|
6
src/static/scripts/admin_diagnostics.js
gevendort
6
src/static/scripts/admin_diagnostics.js
gevendort
|
@ -21,7 +21,11 @@ const browserUTC = `${year}-${month}-${day} ${hour}:${minute}:${seconds} UTC`;
|
||||||
|
|
||||||
// ================================
|
// ================================
|
||||||
// Check if the output is a valid IP
|
// Check if the output is a valid IP
|
||||||
const isValidIp = value => (/^(?:(?:^|\.)(?:2(?:5[0-5]|[0-4]\d)|1?\d?\d)){4}$/.test(value) ? true : false);
|
function isValidIp(ip) {
|
||||||
|
const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
|
||||||
|
const ipv6Regex = /^(?:[a-fA-F0-9]{1,4}:){7}[a-fA-F0-9]{1,4}|((?:[a-fA-F0-9]{1,4}:){1,7}:|:(:[a-fA-F0-9]{1,4}){1,7}|[a-fA-F0-9]{1,4}:((:[a-fA-F0-9]{1,4}){1,6}))$/;
|
||||||
|
return ipv4Regex.test(ip) || ipv6Regex.test(ip);
|
||||||
|
}
|
||||||
|
|
||||||
function checkVersions(platform, installed, latest, commit=null) {
|
function checkVersions(platform, installed, latest, commit=null) {
|
||||||
if (installed === "-" || latest === "-") {
|
if (installed === "-" || latest === "-") {
|
||||||
|
|
17
src/static/scripts/bootstrap.bundle.js
gevendort
17
src/static/scripts/bootstrap.bundle.js
gevendort
|
@ -1,6 +1,6 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap v5.3.2 (https://getbootstrap.com/)
|
* Bootstrap v5.3.3 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||||
*/
|
*/
|
||||||
(function (global, factory) {
|
(function (global, factory) {
|
||||||
|
@ -210,7 +210,6 @@
|
||||||
const reflow = element => {
|
const reflow = element => {
|
||||||
element.offsetHeight; // eslint-disable-line no-unused-expressions
|
element.offsetHeight; // eslint-disable-line no-unused-expressions
|
||||||
};
|
};
|
||||||
|
|
||||||
const getjQuery = () => {
|
const getjQuery = () => {
|
||||||
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
||||||
return window.jQuery;
|
return window.jQuery;
|
||||||
|
@ -648,7 +647,7 @@
|
||||||
* Constants
|
* Constants
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const VERSION = '5.3.2';
|
const VERSION = '5.3.3';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class definition
|
* Class definition
|
||||||
|
@ -729,9 +728,9 @@
|
||||||
if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
|
if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
|
||||||
hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
|
hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
|
||||||
}
|
}
|
||||||
selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null;
|
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
|
||||||
}
|
}
|
||||||
return selector;
|
return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;
|
||||||
};
|
};
|
||||||
const SelectorEngine = {
|
const SelectorEngine = {
|
||||||
find(selector, element = document.documentElement) {
|
find(selector, element = document.documentElement) {
|
||||||
|
@ -3916,7 +3915,6 @@
|
||||||
// if false, we use the backdrop helper without adding any element to the dom
|
// if false, we use the backdrop helper without adding any element to the dom
|
||||||
rootElement: 'body' // give the choice to place backdrop under different elements
|
rootElement: 'body' // give the choice to place backdrop under different elements
|
||||||
};
|
};
|
||||||
|
|
||||||
const DefaultType$8 = {
|
const DefaultType$8 = {
|
||||||
className: 'string',
|
className: 'string',
|
||||||
clickCallback: '(function|null)',
|
clickCallback: '(function|null)',
|
||||||
|
@ -4041,7 +4039,6 @@
|
||||||
autofocus: true,
|
autofocus: true,
|
||||||
trapElement: null // The element to trap focus inside of
|
trapElement: null // The element to trap focus inside of
|
||||||
};
|
};
|
||||||
|
|
||||||
const DefaultType$7 = {
|
const DefaultType$7 = {
|
||||||
autofocus: 'boolean',
|
autofocus: 'boolean',
|
||||||
trapElement: 'element'
|
trapElement: 'element'
|
||||||
|
@ -4768,7 +4765,10 @@
|
||||||
br: [],
|
br: [],
|
||||||
col: [],
|
col: [],
|
||||||
code: [],
|
code: [],
|
||||||
|
dd: [],
|
||||||
div: [],
|
div: [],
|
||||||
|
dl: [],
|
||||||
|
dt: [],
|
||||||
em: [],
|
em: [],
|
||||||
hr: [],
|
hr: [],
|
||||||
h1: [],
|
h1: [],
|
||||||
|
@ -6311,3 +6311,4 @@
|
||||||
return index_umd;
|
return index_umd;
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
//# sourceMappingURL=bootstrap.bundle.js.map
|
||||||
|
|
53
src/static/scripts/bootstrap.css
gevendort
53
src/static/scripts/bootstrap.css
gevendort
|
@ -1,7 +1,7 @@
|
||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap v5.3.2 (https://getbootstrap.com/)
|
* Bootstrap v5.3.3 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2023 The Bootstrap Authors
|
* Copyright 2011-2024 The Bootstrap Authors
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||||
*/
|
*/
|
||||||
:root,
|
:root,
|
||||||
|
@ -3042,6 +3042,9 @@ textarea.form-control-lg {
|
||||||
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
|
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
|
||||||
box-shadow: var(--bs-btn-focus-box-shadow);
|
box-shadow: var(--bs-btn-focus-box-shadow);
|
||||||
}
|
}
|
||||||
|
.btn-check:checked:focus-visible + .btn {
|
||||||
|
box-shadow: var(--bs-btn-focus-box-shadow);
|
||||||
|
}
|
||||||
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
|
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
|
||||||
color: var(--bs-btn-disabled-color);
|
color: var(--bs-btn-disabled-color);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
@ -4573,12 +4576,11 @@ textarea.form-control-lg {
|
||||||
--bs-accordion-btn-padding-y: 1rem;
|
--bs-accordion-btn-padding-y: 1rem;
|
||||||
--bs-accordion-btn-color: var(--bs-body-color);
|
--bs-accordion-btn-color: var(--bs-body-color);
|
||||||
--bs-accordion-btn-bg: var(--bs-accordion-bg);
|
--bs-accordion-btn-bg: var(--bs-accordion-bg);
|
||||||
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
|
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
|
||||||
--bs-accordion-btn-icon-width: 1.25rem;
|
--bs-accordion-btn-icon-width: 1.25rem;
|
||||||
--bs-accordion-btn-icon-transform: rotate(-180deg);
|
--bs-accordion-btn-icon-transform: rotate(-180deg);
|
||||||
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
|
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
|
||||||
--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
|
--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
|
||||||
--bs-accordion-btn-focus-border-color: #86b7fe;
|
|
||||||
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
||||||
--bs-accordion-body-padding-x: 1.25rem;
|
--bs-accordion-body-padding-x: 1.25rem;
|
||||||
--bs-accordion-body-padding-y: 1rem;
|
--bs-accordion-body-padding-y: 1rem;
|
||||||
|
@ -4636,7 +4638,6 @@ textarea.form-control-lg {
|
||||||
}
|
}
|
||||||
.accordion-button:focus {
|
.accordion-button:focus {
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
border-color: var(--bs-accordion-btn-focus-border-color);
|
|
||||||
outline: 0;
|
outline: 0;
|
||||||
box-shadow: var(--bs-accordion-btn-focus-box-shadow);
|
box-shadow: var(--bs-accordion-btn-focus-box-shadow);
|
||||||
}
|
}
|
||||||
|
@ -4654,7 +4655,7 @@ textarea.form-control-lg {
|
||||||
border-top-left-radius: var(--bs-accordion-border-radius);
|
border-top-left-radius: var(--bs-accordion-border-radius);
|
||||||
border-top-right-radius: var(--bs-accordion-border-radius);
|
border-top-right-radius: var(--bs-accordion-border-radius);
|
||||||
}
|
}
|
||||||
.accordion-item:first-of-type .accordion-button {
|
.accordion-item:first-of-type > .accordion-header .accordion-button {
|
||||||
border-top-left-radius: var(--bs-accordion-inner-border-radius);
|
border-top-left-radius: var(--bs-accordion-inner-border-radius);
|
||||||
border-top-right-radius: var(--bs-accordion-inner-border-radius);
|
border-top-right-radius: var(--bs-accordion-inner-border-radius);
|
||||||
}
|
}
|
||||||
|
@ -4665,11 +4666,11 @@ textarea.form-control-lg {
|
||||||
border-bottom-right-radius: var(--bs-accordion-border-radius);
|
border-bottom-right-radius: var(--bs-accordion-border-radius);
|
||||||
border-bottom-left-radius: var(--bs-accordion-border-radius);
|
border-bottom-left-radius: var(--bs-accordion-border-radius);
|
||||||
}
|
}
|
||||||
.accordion-item:last-of-type .accordion-button.collapsed {
|
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
|
||||||
border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
|
border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
|
||||||
border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
|
border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
|
||||||
}
|
}
|
||||||
.accordion-item:last-of-type .accordion-collapse {
|
.accordion-item:last-of-type > .accordion-collapse {
|
||||||
border-bottom-right-radius: var(--bs-accordion-border-radius);
|
border-bottom-right-radius: var(--bs-accordion-border-radius);
|
||||||
border-bottom-left-radius: var(--bs-accordion-border-radius);
|
border-bottom-left-radius: var(--bs-accordion-border-radius);
|
||||||
}
|
}
|
||||||
|
@ -4678,21 +4679,21 @@ textarea.form-control-lg {
|
||||||
padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
|
padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
|
||||||
}
|
}
|
||||||
|
|
||||||
.accordion-flush .accordion-collapse {
|
.accordion-flush > .accordion-item {
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
.accordion-flush .accordion-item {
|
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
border-left: 0;
|
border-left: 0;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
.accordion-flush .accordion-item:first-child {
|
.accordion-flush > .accordion-item:first-child {
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
}
|
}
|
||||||
.accordion-flush .accordion-item:last-child {
|
.accordion-flush > .accordion-item:last-child {
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
|
.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
.accordion-flush > .accordion-item > .accordion-collapse {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5578,7 +5579,6 @@ textarea.form-control-lg {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
|
||||||
padding: var(--bs-modal-header-padding);
|
padding: var(--bs-modal-header-padding);
|
||||||
border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
|
border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
|
||||||
border-top-left-radius: var(--bs-modal-inner-border-radius);
|
border-top-left-radius: var(--bs-modal-inner-border-radius);
|
||||||
|
@ -6144,20 +6144,12 @@ textarea.form-control-lg {
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* rtl:options: {
|
|
||||||
"autoRename": true,
|
|
||||||
"stringMap":[ {
|
|
||||||
"name" : "prev-next",
|
|
||||||
"search" : "prev",
|
|
||||||
"replace" : "next"
|
|
||||||
} ]
|
|
||||||
} */
|
|
||||||
.carousel-control-prev-icon {
|
.carousel-control-prev-icon {
|
||||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/;
|
||||||
}
|
}
|
||||||
|
|
||||||
.carousel-control-next-icon {
|
.carousel-control-next-icon {
|
||||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/;
|
||||||
}
|
}
|
||||||
|
|
||||||
.carousel-indicators {
|
.carousel-indicators {
|
||||||
|
@ -6777,14 +6769,11 @@ textarea.form-control-lg {
|
||||||
.offcanvas-header {
|
.offcanvas-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
|
||||||
padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
|
padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
|
||||||
}
|
}
|
||||||
.offcanvas-header .btn-close {
|
.offcanvas-header .btn-close {
|
||||||
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
|
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
|
||||||
margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
|
margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) auto;
|
||||||
margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
|
|
||||||
margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.offcanvas-title {
|
.offcanvas-title {
|
||||||
|
@ -12064,3 +12053,5 @@ textarea.form-control-lg {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=bootstrap.css.map */
|
18
src/static/scripts/datatables.css
gevendort
18
src/static/scripts/datatables.css
gevendort
|
@ -4,10 +4,10 @@
|
||||||
*
|
*
|
||||||
* To rebuild or modify this file with the latest versions of the included
|
* To rebuild or modify this file with the latest versions of the included
|
||||||
* software please visit:
|
* software please visit:
|
||||||
* https://datatables.net/download/#bs5/dt-2.0.0
|
* https://datatables.net/download/#bs5/dt-2.0.7
|
||||||
*
|
*
|
||||||
* Included libraries:
|
* Included libraries:
|
||||||
* DataTables 2.0.0
|
* DataTables 2.0.7
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
|
@ -347,7 +347,7 @@ table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
table.table.dataTable > :not(caption) > * > * {
|
table.table.dataTable > :not(caption) > * > * {
|
||||||
background-color: transparent;
|
background-color: var(--bs-table-bg);
|
||||||
}
|
}
|
||||||
table.table.dataTable > tbody > tr {
|
table.table.dataTable > tbody > tr {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
@ -463,10 +463,18 @@ div.dt-scroll-foot > .dt-scroll-footInner > table > tfoot > tr:first-child {
|
||||||
justify-content: center !important;
|
justify-content: center !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) {
|
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: 20px;
|
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 {
|
table.dataTable.table-sm > thead > tr th.dt-orderable-asc span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-orderable-desc span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-ordering-asc span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-ordering-desc span.dt-column-order,
|
||||||
|
table.dataTable.table-sm > thead > tr td.dt-orderable-asc span.dt-column-order,
|
||||||
|
table.dataTable.table-sm > thead > tr td.dt-orderable-desc span.dt-column-order,
|
||||||
|
table.dataTable.table-sm > thead > tr td.dt-ordering-asc span.dt-column-order,
|
||||||
|
table.dataTable.table-sm > thead > tr td.dt-ordering-desc span.dt-column-order {
|
||||||
right: 5px;
|
right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1029
src/static/scripts/datatables.js
gevendort
1029
src/static/scripts/datatables.js
gevendort
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
|
@ -1,12 +1,12 @@
|
||||||
/**
|
/**
|
||||||
* Jdenticon 3.2.0
|
* Jdenticon 3.3.0
|
||||||
* http://jdenticon.com
|
* http://jdenticon.com
|
||||||
*
|
*
|
||||||
* Built: 2022-08-07T11:23:11.640Z
|
* Built: 2024-05-10T09:48:41.921Z
|
||||||
*
|
*
|
||||||
* MIT License
|
* MIT License
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2021 Daniel Mester Pirttijärvi
|
* Copyright (c) 2014-2024 Daniel Mester Pirttijärvi
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -304,6 +304,8 @@ var ATTRIBUTES = {
|
||||||
o/*VALUE*/: "data-jdenticon-value"
|
o/*VALUE*/: "data-jdenticon-value"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var IS_RENDERED_PROPERTY = "jdenticonRendered";
|
||||||
|
|
||||||
var ICON_SELECTOR = "[" + ATTRIBUTES.t/*HASH*/ +"],[" + ATTRIBUTES.o/*VALUE*/ +"]";
|
var ICON_SELECTOR = "[" + ATTRIBUTES.t/*HASH*/ +"],[" + ATTRIBUTES.o/*VALUE*/ +"]";
|
||||||
|
|
||||||
var documentQuerySelectorAll = /** @type {!Function} */ (
|
var documentQuerySelectorAll = /** @type {!Function} */ (
|
||||||
|
@ -323,6 +325,27 @@ function getIdenticonType(el) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function whenDocumentIsReady(/** @type {Function} */ callback) {
|
||||||
|
function loadedHandler() {
|
||||||
|
document.removeEventListener("DOMContentLoaded", loadedHandler);
|
||||||
|
window.removeEventListener("load", loadedHandler);
|
||||||
|
setTimeout(callback, 0); // Give scripts a chance to run
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof document !== "undefined" &&
|
||||||
|
typeof window !== "undefined" &&
|
||||||
|
typeof setTimeout !== "undefined"
|
||||||
|
) {
|
||||||
|
if (document.readyState === "loading") {
|
||||||
|
document.addEventListener("DOMContentLoaded", loadedHandler);
|
||||||
|
window.addEventListener("load", loadedHandler);
|
||||||
|
} else {
|
||||||
|
// Document already loaded. The load events above likely won't be raised
|
||||||
|
setTimeout(callback, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function observer(updateCallback) {
|
function observer(updateCallback) {
|
||||||
if (typeof MutationObserver != "undefined") {
|
if (typeof MutationObserver != "undefined") {
|
||||||
var mutationObserver = new MutationObserver(function onmutation(mutations) {
|
var mutationObserver = new MutationObserver(function onmutation(mutations) {
|
||||||
|
@ -1011,6 +1034,11 @@ function drawIcon(ctx, hashOrValue, size, config) {
|
||||||
iconGenerator(new CanvasRenderer(ctx, size),
|
iconGenerator(new CanvasRenderer(ctx, size),
|
||||||
isValidHash(hashOrValue) || computeHash(hashOrValue),
|
isValidHash(hashOrValue) || computeHash(hashOrValue),
|
||||||
config);
|
config);
|
||||||
|
|
||||||
|
var canvas = ctx.canvas;
|
||||||
|
if (canvas) {
|
||||||
|
canvas[IS_RENDERED_PROPERTY] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1313,6 +1341,24 @@ function updateAll() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates all canvas elements with the `data-jdenticon-hash` or `data-jdenticon-value` attribute that have not already
|
||||||
|
* been rendered.
|
||||||
|
*/
|
||||||
|
function updateAllConditional() {
|
||||||
|
if (documentQuerySelectorAll) {
|
||||||
|
/** @type {NodeListOf<HTMLElement>} */
|
||||||
|
var elements = documentQuerySelectorAll(ICON_SELECTOR);
|
||||||
|
|
||||||
|
for (var i = 0; i < elements.length; i++) {
|
||||||
|
var el = elements[i];
|
||||||
|
if (!el[IS_RENDERED_PROPERTY]) {
|
||||||
|
update(el);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the identicon in the specified `<canvas>` or `<svg>` elements.
|
* Updates the identicon in the specified `<canvas>` or `<svg>` elements.
|
||||||
* @param {(string|Element)} el - Specifies the container in which the icon is rendered as a DOM element of the type
|
* @param {(string|Element)} el - Specifies the container in which the icon is rendered as a DOM element of the type
|
||||||
|
@ -1381,6 +1427,7 @@ function renderDomElement(el, hashOrValue, config, rendererFactory) {
|
||||||
if (renderer) {
|
if (renderer) {
|
||||||
// Draw icon
|
// Draw icon
|
||||||
iconGenerator(renderer, hash, config);
|
iconGenerator(renderer, hash, config);
|
||||||
|
el[IS_RENDERED_PROPERTY] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1419,7 +1466,7 @@ jdenticon["updateSvg"] = update;
|
||||||
* Specifies the version of the Jdenticon package in use.
|
* Specifies the version of the Jdenticon package in use.
|
||||||
* @type {string}
|
* @type {string}
|
||||||
*/
|
*/
|
||||||
jdenticon["version"] = "3.2.0";
|
jdenticon["version"] = "3.3.0";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies which bundle of Jdenticon that is used.
|
* Specifies which bundle of Jdenticon that is used.
|
||||||
|
@ -1444,7 +1491,7 @@ function jdenticonStartup() {
|
||||||
)["replaceMode"];
|
)["replaceMode"];
|
||||||
|
|
||||||
if (replaceMode != "never") {
|
if (replaceMode != "never") {
|
||||||
updateAll();
|
updateAllConditional();
|
||||||
|
|
||||||
if (replaceMode == "observe") {
|
if (replaceMode == "observe") {
|
||||||
observer(update);
|
observer(update);
|
||||||
|
@ -1453,9 +1500,7 @@ function jdenticonStartup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Schedule to render all identicons on the page once it has been loaded.
|
// Schedule to render all identicons on the page once it has been loaded.
|
||||||
if (typeof setTimeout === "function") {
|
whenDocumentIsReady(jdenticonStartup);
|
||||||
setTimeout(jdenticonStartup, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return jdenticon;
|
return jdenticon;
|
||||||
|
|
|
@ -62,4 +62,4 @@
|
||||||
<script src="{{urlpath}}/vw_static/jquery-3.7.1.slim.js"></script>
|
<script src="{{urlpath}}/vw_static/jquery-3.7.1.slim.js"></script>
|
||||||
<script src="{{urlpath}}/vw_static/datatables.js"></script>
|
<script src="{{urlpath}}/vw_static/datatables.js"></script>
|
||||||
<script src="{{urlpath}}/vw_static/admin_organizations.js"></script>
|
<script src="{{urlpath}}/vw_static/admin_organizations.js"></script>
|
||||||
<script src="{{urlpath}}/vw_static/jdenticon.js"></script>
|
<script src="{{urlpath}}/vw_static/jdenticon-3.3.0.js"></script>
|
||||||
|
|
|
@ -143,4 +143,4 @@
|
||||||
<script src="{{urlpath}}/vw_static/jquery-3.7.1.slim.js"></script>
|
<script src="{{urlpath}}/vw_static/jquery-3.7.1.slim.js"></script>
|
||||||
<script src="{{urlpath}}/vw_static/datatables.js"></script>
|
<script src="{{urlpath}}/vw_static/datatables.js"></script>
|
||||||
<script src="{{urlpath}}/vw_static/admin_users.js"></script>
|
<script src="{{urlpath}}/vw_static/admin_users.js"></script>
|
||||||
<script src="{{urlpath}}/vw_static/jdenticon.js"></script>
|
<script src="{{urlpath}}/vw_static/jdenticon-3.3.0.js"></script>
|
||||||
|
|
Laden …
In neuem Issue referenzieren