Update Node dependencies and static files

This commit is contained in:
Christopher C. Wells 2021-04-11 12:51:12 -07:00
parent fe454013da
commit fe92d3ea17
114 changed files with 1164 additions and 13808 deletions

12840
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ select.admin-autocomplete {
.select2-container--admin-autocomplete.select2-container--focus .select2-selection,
.select2-container--admin-autocomplete.select2-container--open .select2-selection {
border-color: #999;
border-color: var(--body-quiet-color);
min-height: 30px;
}
@ -29,13 +29,13 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--single {
background-color: #fff;
border: 1px solid #ccc;
background-color: var(--body-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
}
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {
color: #444;
color: var(--body-fg);
line-height: 30px;
}
@ -46,7 +46,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder {
color: #999;
color: var(--body-quiet-color);
}
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow {
@ -80,7 +80,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single {
background-color: #eee;
background-color: var(--darkened-bg);
cursor: default;
}
@ -94,8 +94,8 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple {
background-color: white;
border: 1px solid #ccc;
background-color: var(--body-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
cursor: text;
}
@ -104,8 +104,10 @@ select.admin-autocomplete {
box-sizing: border-box;
list-style: none;
margin: 0;
padding: 0 5px;
padding: 0 10px 5px 5px;
width: 100%;
display: flex;
flex-wrap: wrap;
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li {
@ -113,7 +115,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder {
color: #999;
color: var(--body-quiet-color);
margin-top: 5px;
float: left;
}
@ -123,11 +125,13 @@ select.admin-autocomplete {
float: right;
font-weight: bold;
margin: 5px;
position: absolute;
right: 0;
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #ccc;
background-color: var(--darkened-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
cursor: default;
float: left;
@ -137,7 +141,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove {
color: #999;
color: var(--body-quiet-color);
cursor: pointer;
display: inline-block;
font-weight: bold;
@ -145,7 +149,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #333;
color: var(--body-fg);
}
.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline {
@ -163,12 +167,12 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple {
border: solid #999 1px;
border: solid var(--body-quiet-color) 1px;
outline: 0;
}
.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple {
background-color: #eee;
background-color: var(--darkened-bg);
cursor: default;
}
@ -186,12 +190,20 @@ select.admin-autocomplete {
border-bottom-right-radius: 0;
}
.select2-container--admin-autocomplete .select2-search--dropdown {
background: var(--darkened-bg);
}
.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field {
border: 1px solid #ccc;
background: var(--body-bg);
color: var(--body-fg);
border: 1px solid var(--border-color);
border-radius: 4px;
}
.select2-container--admin-autocomplete .select2-search--inline .select2-search__field {
background: transparent;
color: var(--body-fg);
border: none;
outline: 0;
box-shadow: none;
@ -201,6 +213,8 @@ select.admin-autocomplete {
.select2-container--admin-autocomplete .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto;
color: var(--body-fg);
background: var(--body-bg);
}
.select2-container--admin-autocomplete .select2-results__option[role=group] {
@ -208,11 +222,12 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] {
color: #999;
color: var(--body-quiet-color);
}
.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] {
background-color: #ddd;
background-color: var(--selected-bg);
color: var(--body-fg);
}
.select2-container--admin-autocomplete .select2-results__option .select2-results__option {
@ -249,8 +264,8 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
background-color: #79aec8;
color: white;
background-color: var(--primary);
color: var(--primary-fg);
}
.select2-container--admin-autocomplete .select2-results__group {

Binary file not shown.

View File

@ -14,7 +14,7 @@ select.admin-autocomplete {
.select2-container--admin-autocomplete.select2-container--focus .select2-selection,
.select2-container--admin-autocomplete.select2-container--open .select2-selection {
border-color: #999;
border-color: var(--body-quiet-color);
min-height: 30px;
}
@ -29,13 +29,13 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--single {
background-color: #fff;
border: 1px solid #ccc;
background-color: var(--body-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
}
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {
color: #444;
color: var(--body-fg);
line-height: 30px;
}
@ -46,7 +46,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder {
color: #999;
color: var(--body-quiet-color);
}
.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow {
@ -80,7 +80,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single {
background-color: #eee;
background-color: var(--darkened-bg);
cursor: default;
}
@ -94,8 +94,8 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple {
background-color: white;
border: 1px solid #ccc;
background-color: var(--body-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
cursor: text;
}
@ -104,8 +104,10 @@ select.admin-autocomplete {
box-sizing: border-box;
list-style: none;
margin: 0;
padding: 0 5px;
padding: 0 10px 5px 5px;
width: 100%;
display: flex;
flex-wrap: wrap;
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li {
@ -113,7 +115,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder {
color: #999;
color: var(--body-quiet-color);
margin-top: 5px;
float: left;
}
@ -123,11 +125,13 @@ select.admin-autocomplete {
float: right;
font-weight: bold;
margin: 5px;
position: absolute;
right: 0;
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #ccc;
background-color: var(--darkened-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
cursor: default;
float: left;
@ -137,7 +141,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove {
color: #999;
color: var(--body-quiet-color);
cursor: pointer;
display: inline-block;
font-weight: bold;
@ -145,7 +149,7 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #333;
color: var(--body-fg);
}
.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline {
@ -163,12 +167,12 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple {
border: solid #999 1px;
border: solid var(--body-quiet-color) 1px;
outline: 0;
}
.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple {
background-color: #eee;
background-color: var(--darkened-bg);
cursor: default;
}
@ -186,12 +190,20 @@ select.admin-autocomplete {
border-bottom-right-radius: 0;
}
.select2-container--admin-autocomplete .select2-search--dropdown {
background: var(--darkened-bg);
}
.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field {
border: 1px solid #ccc;
background: var(--body-bg);
color: var(--body-fg);
border: 1px solid var(--border-color);
border-radius: 4px;
}
.select2-container--admin-autocomplete .select2-search--inline .select2-search__field {
background: transparent;
color: var(--body-fg);
border: none;
outline: 0;
box-shadow: none;
@ -201,6 +213,8 @@ select.admin-autocomplete {
.select2-container--admin-autocomplete .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto;
color: var(--body-fg);
background: var(--body-bg);
}
.select2-container--admin-autocomplete .select2-results__option[role=group] {
@ -208,11 +222,12 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] {
color: #999;
color: var(--body-quiet-color);
}
.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] {
background-color: #ddd;
background-color: var(--selected-bg);
color: var(--body-fg);
}
.select2-container--admin-autocomplete .select2-results__option .select2-results__option {
@ -249,8 +264,8 @@ select.admin-autocomplete {
}
.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
background-color: #79aec8;
color: white;
background-color: var(--primary);
color: var(--primary-fg);
}
.select2-container--admin-autocomplete .select2-results__group {

Binary file not shown.

View File

@ -4,6 +4,93 @@
@import url("fonts.168bab448fee.css");
/* VARIABLE DEFINITIONS */
:root {
--primary: #79aec8;
--secondary: #417690;
--accent: #f5dd5d;
--primary-fg: #fff;
--body-fg: #333;
--body-bg: #fff;
--body-quiet-color: #666;
--body-loud-color: #000;
--header-color: #ffc;
--header-branding-color: var(--accent);
--header-bg: var(--secondary);
--header-link-color: var(--primary-fg);
--breadcrumbs-fg: #c4dce8;
--breadcrumbs-link-fg: var(--body-bg);
--breadcrumbs-bg: var(--primary);
--link-fg: #447e9b;
--link-hover-color: #036;
--link-selected-fg: #5b80b2;
--hairline-color: #e8e8e8;
--border-color: #ccc;
--error-fg: #ba2121;
--message-success-bg: #dfd;
--message-warning-bg: #ffc;
--message-error-bg: #ffefef;
--darkened-bg: #f8f8f8; /* A bit darker than --body-bg */
--selected-bg: #e4e4e4; /* E.g. selected table cells */
--selected-row: #ffc;
--button-fg: #fff;
--button-bg: var(--primary);
--button-hover-bg: #609ab6;
--default-button-bg: var(--secondary);
--default-button-hover-bg: #205067;
--close-button-bg: #888; /* Previously #bbb, contrast 1.92 */
--close-button-hover-bg: #747474;
--delete-button-bg: #ba2121;
--delete-button-hover-bg: #a41515;
--object-tools-fg: var(--button-fg);
--object-tools-bg: var(--close-button-bg);
--object-tools-hover-bg: var(--close-button-hover-bg);
}
@media (prefers-color-scheme: dark) {
:root {
--primary: #264b5d;
--primary-fg: #eee;
--body-fg: #eeeeee;
--body-bg: #121212;
--body-quiet-color: #e0e0e0;
--body-loud-color: #ffffff;
--breadcrumbs-link-fg: #e0e0e0;
--breadcrumbs-bg: var(--primary);
--link-fg: #81d4fa;
--link-hover-color: #4ac1f7;
--link-selected-fg: #6f94c6;
--hairline-color: #272727;
--border-color: #353535;
--error-fg: #e35f5f;
--message-success-bg: #006b1b;
--message-warning-bg: #583305;
--message-error-bg: #570808;
--darkened-bg: #212121;
--selected-bg: #1b1b1b;
--selected-row: #00363a;
--close-button-bg: #333333;
--close-button-hover-bg: #666666;
}
}
html, body {
height: 100%;
}
@ -13,19 +100,20 @@ body {
padding: 0;
font-size: 14px;
font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
color: #333;
background: #fff;
color: var(--body-fg);
background: var(--body-bg);
}
/* LINKS */
a:link, a:visited {
color: #447e9b;
color: var(--link-fg);
text-decoration: none;
transition: color 0.15s, background 0.15s;
}
a:focus, a:hover {
color: #036;
color: var(--link-hover-color);
}
a:focus {
@ -37,7 +125,7 @@ a img {
}
a.section:link, a.section:visited {
color: #fff;
color: var(--header-link-color);
text-decoration: none;
}
@ -64,7 +152,7 @@ h1 {
margin: 0 0 20px;
font-weight: 300;
font-size: 20px;
color: #666;
color: var(--body-quiet-color);
}
h2 {
@ -80,7 +168,7 @@ h2.subhead {
h3 {
font-size: 14px;
margin: .8em 0 .3em 0;
color: #666;
color: var(--body-quiet-color);
font-weight: bold;
}
@ -93,7 +181,7 @@ h4 {
h5 {
font-size: 10px;
margin: 1.5em 0 .5em 0;
color: #666;
color: var(--body-quiet-color);
text-transform: uppercase;
letter-spacing: 1px;
}
@ -131,7 +219,7 @@ fieldset {
min-width: 0;
padding: 0;
border: none;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
}
blockquote {
@ -144,14 +232,14 @@ blockquote {
code, pre {
font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
color: #666;
color: var(--body-quiet-color);
font-size: 12px;
overflow-x: auto;
}
pre.literal-block {
margin: 10px;
background: #eee;
background: var(--darkened-bg);
padding: 6px 8px;
}
@ -161,8 +249,8 @@ code strong {
hr {
clear: both;
color: #eee;
background-color: #eee;
color: var(--hairline-color);
background-color: var(--hairline-color);
height: 1px;
border: none;
margin: 0;
@ -183,7 +271,7 @@ hr {
.help, p.help, form p.help, div.help, form div.help, div.help li {
font-size: 11px;
color: #999;
color: var(--body-quiet-color);
}
div.help ul {
@ -199,7 +287,7 @@ p img, h1 img, h2 img, h3 img, h4 img, td img {
}
.quiet, a.quiet:link, a.quiet:visited {
color: #999;
color: var(--body-quiet-color);
font-weight: normal;
}
@ -211,20 +299,23 @@ p img, h1 img, h2 img, h3 img, h4 img, td img {
white-space: nowrap;
}
.hidden {
display: none;
}
/* TABLES */
table {
border-collapse: collapse;
border-color: #ccc;
border-color: var(--border-color);
}
td, th {
font-size: 13px;
line-height: 16px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
vertical-align: top;
padding: 8px;
font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif;
}
th {
@ -234,37 +325,37 @@ th {
thead th,
tfoot td {
color: #666;
color: var(--body-quiet-color);
padding: 5px 10px;
font-size: 11px;
background: #fff;
background: var(--body-bg);
border: none;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
border-bottom: 1px solid var(--hairline-color);
}
tfoot td {
border-bottom: none;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
}
thead th.required {
color: #000;
color: var(--body-loud-color);
}
tr.alt {
background: #f6f6f6;
background: var(--darkened-bg);
}
tr:nth-child(odd), .row-form-errors {
background: #fff;
background: var(--body-bg);
}
tr:nth-child(even),
tr:nth-child(even) .errorlist,
tr:nth-child(odd) + .row-form-errors,
tr:nth-child(odd) + .row-form-errors .errorlist {
background: #f9f9f9;
background: var(--darkened-bg);
}
/* SORTABLE TABLES */
@ -273,15 +364,15 @@ thead th {
padding: 5px 10px;
line-height: normal;
text-transform: uppercase;
background: #f6f6f6;
background: var(--darkened-bg);
}
thead th a:link, thead th a:visited {
color: #666;
color: var(--body-quiet-color);
}
thead th.sorted {
background: #eee;
background: var(--selected-bg);
}
thead th.sorted .text {
@ -300,7 +391,7 @@ table thead th .text a {
}
table thead th .text a:focus, table thead th .text a:hover {
background: #eee;
background: var(--selected-bg);
}
thead th.sorted a.sortremove {
@ -347,12 +438,12 @@ table thead th.sorted .sortoptions a.sortremove:after {
left: 3px;
font-weight: 200;
font-size: 18px;
color: #999;
color: var(--body-quiet-color);
}
table thead th.sorted .sortoptions a.sortremove:focus:after,
table thead th.sorted .sortoptions a.sortremove:hover:after {
color: #447e9b;
color: var(--link-fg);
}
table thead th.sorted .sortoptions a.sortremove:focus,
@ -399,16 +490,18 @@ textarea {
input[type=text], input[type=password], input[type=email], input[type=url],
input[type=number], input[type=tel], textarea, select, .vTextField {
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-radius: 4px;
padding: 5px 6px;
margin-top: 0;
color: var(--body-fg);
background-color: var(--body-bg);
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus,
input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus,
textarea:focus, select:focus, .vTextField:focus {
border-color: #999;
border-color: var(--body-quiet-color);
}
select {
@ -424,12 +517,13 @@ select[multiple] {
/* FORM BUTTONS */
.button, input[type=submit], input[type=button], .submit-row input, a.button {
background: #79aec8;
background: var(--button-bg);
padding: 10px 15px;
border: none;
border-radius: 4px;
color: #fff;
color: var(--button-fg);
cursor: pointer;
transition: background 0.15s;
}
a.button {
@ -439,7 +533,7 @@ a.button {
.button:active, input[type=submit]:active, input[type=button]:active,
.button:focus, input[type=submit]:focus, input[type=button]:focus,
.button:hover, input[type=submit]:hover, input[type=button]:hover {
background: #609ab6;
background: var(--button-hover-bg);
}
.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
@ -450,13 +544,13 @@ a.button {
float: right;
border: none;
font-weight: 400;
background: #417690;
background: var(--default-button-bg);
}
.button.default:active, input[type=submit].default:active,
.button.default:focus, input[type=submit].default:focus,
.button.default:hover, input[type=submit].default:hover {
background: #205067;
background: var(--default-button-hover-bg);
}
.button[disabled].default,
@ -471,7 +565,7 @@ input[type=button][disabled].default {
.module {
border: none;
margin-bottom: 30px;
background: #fff;
background: var(--body-bg);
}
.module p, .module ul, .module h3, .module h4, .module dl, .module pre {
@ -497,8 +591,8 @@ input[type=button][disabled].default {
font-weight: 400;
font-size: 13px;
text-align: left;
background: #79aec8;
color: #fff;
background: var(--primary);
color: var(--header-link-color);
}
.module caption,
@ -525,18 +619,18 @@ ul.messagelist li {
font-size: 13px;
padding: 10px 10px 10px 65px;
margin: 0 0 10px 0;
background: #dfd url("../img/icon-yes.d2f9f035226a.svg") 40px 12px no-repeat;
background: var(--message-success-bg) url("../img/icon-yes.d2f9f035226a.svg") 40px 12px no-repeat;
background-size: 16px auto;
color: #333;
color: var(--body-fg);
}
ul.messagelist li.warning {
background: #ffc url("../img/icon-alert.034cc7d8a67f.svg") 40px 14px no-repeat;
background: var(--message-warning-bg) url("../img/icon-alert.034cc7d8a67f.svg") 40px 14px no-repeat;
background-size: 14px auto;
}
ul.messagelist li.error {
background: #ffefef url("../img/icon-no.439e821418cd.svg") 40px 12px no-repeat;
background: var(--message-error-bg) url("../img/icon-no.439e821418cd.svg") 40px 12px no-repeat;
background-size: 16px auto;
}
@ -546,24 +640,26 @@ ul.messagelist li.error {
display: block;
padding: 10px 12px;
margin: 0 0 10px 0;
color: #ba2121;
border: 1px solid #ba2121;
color: var(--error-fg);
border: 1px solid var(--error-fg);
border-radius: 4px;
background-color: #fff;
background-color: var(--body-bg);
background-position: 5px 12px;
overflow-wrap: break-word;
}
ul.errorlist {
margin: 0 0 4px;
padding: 0;
color: #ba2121;
background: #fff;
color: var(--error-fg);
background: var(--body-bg);
}
ul.errorlist li {
font-size: 13px;
display: block;
margin-bottom: 4px;
overflow-wrap: break-word;
}
ul.errorlist li:first-child {
@ -587,7 +683,7 @@ td ul.errorlist li {
.form-row.errors {
margin: 0;
border: none;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
background: none;
}
@ -597,7 +693,7 @@ td ul.errorlist li {
.errors input, .errors select, .errors textarea,
td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea {
border: 1px solid #ba2121;
border: 1px solid var(--error-fg);
}
.description {
@ -608,20 +704,19 @@ td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea {
/* BREADCRUMBS */
div.breadcrumbs {
background: #79aec8;
background: var(--breadcrumbs-bg);
padding: 10px 40px;
border: none;
font-size: 14px;
color: #c4dce8;
color: var(--breadcrumbs-fg);
text-align: left;
}
div.breadcrumbs a {
color: #fff;
color: var(--breadcrumbs-link-fg);
}
div.breadcrumbs a:focus, div.breadcrumbs a:hover {
color: #c4dce8;
color: var(--breadcrumbs-fg);
}
/* ACTION ICONS */
@ -647,11 +742,11 @@ div.breadcrumbs a:focus, div.breadcrumbs a:hover {
}
a.deletelink:link, a.deletelink:visited {
color: #CC3434;
color: #CC3434; /* XXX Probably unused? */
}
a.deletelink:focus, a.deletelink:hover {
color: #993333;
color: #993333; /* XXX Probably unused? */
text-decoration: none;
}
@ -666,14 +761,6 @@ a.deletelink:focus, a.deletelink:hover {
margin-top: -48px;
}
.form-row .object-tools {
margin-top: 5px;
margin-bottom: 5px;
float: none;
height: 2em;
padding-left: 3.5em;
}
.object-tools li {
display: block;
float: left;
@ -689,29 +776,29 @@ a.deletelink:focus, a.deletelink:hover {
display: block;
float: left;
padding: 3px 12px;
background: #999;
background: var(--object-tools-bg);
color: var(--object-tools-fg);
font-weight: 400;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #fff;
}
.object-tools a:focus, .object-tools a:hover {
background-color: #417690;
background-color: var(--object-tools-hover-bg);
}
.object-tools a:focus{
text-decoration: none;
}
.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink {
.object-tools a.viewsitelink, .object-tools a.addlink {
background-repeat: no-repeat;
background-position: right 7px center;
padding-right: 26px;
}
.object-tools a.viewsitelink, .object-tools a.golink {
.object-tools a.viewsitelink {
background-image: url("../img/tooltag-arrowright.bbfb788a849e.svg");
}
@ -813,13 +900,13 @@ table#change-history tbody th {
justify-content: space-between;
align-items: center;
padding: 10px 40px;
background: #417690;
color: #ffc;
background: var(--header-bg);
color: var(--header-color);
overflow: hidden;
}
#header a:link, #header a:visited {
color: #fff;
color: var(--header-link-color);
}
#header a:focus , #header a:hover {
@ -835,11 +922,11 @@ table#change-history tbody th {
margin: 0 20px 0 0;
font-weight: 300;
font-size: 24px;
color: #f5dd5d;
color: var(--accent);
}
#branding h1, #branding h1 a:link, #branding h1 a:visited {
color: #f5dd5d;
color: var(--accent);
}
#branding h2 {
@ -847,7 +934,7 @@ table#change-history tbody th {
font-size: 14px;
margin: -8px 0 8px 0;
font-weight: normal;
color: #ffc;
color: var(--header-color);
}
#branding a:hover {
@ -871,14 +958,14 @@ table#change-history tbody th {
#user-tools a:focus, #user-tools a:hover {
text-decoration: none;
border-bottom-color: #79aec8;
color: #79aec8;
border-bottom-color: var(--primary);
color: var(--primary);
}
/* SIDEBAR */
#content-related {
background: #f8f8f8;
background: var(--darkened-bg);
}
#content-related .module {
@ -886,8 +973,7 @@ table#change-history tbody th {
}
#content-related h3 {
font-size: 14px;
color: #666;
color: var(--body-quiet-color);
padding: 0 16px;
margin: 0 0 16px;
}
@ -916,22 +1002,22 @@ table#change-history tbody th {
background: none;
padding: 16px;
margin-bottom: 16px;
border-bottom: 1px solid #eaeaea;
border-bottom: 1px solid var(--hairline-color);
font-size: 18px;
color: #333;
color: var(--body-fg);
}
.delete-confirmation form input[type="submit"] {
background: #ba2121;
background: var(--delete-button-bg);
border-radius: 4px;
padding: 10px 15px;
color: #fff;
color: var(--button-fg);
}
.delete-confirmation form input[type="submit"]:active,
.delete-confirmation form input[type="submit"]:focus,
.delete-confirmation form input[type="submit"]:hover {
background: #a41515;
background: var(--delete-button-hover-bg);
}
.delete-confirmation form .cancel-link {
@ -939,17 +1025,17 @@ table#change-history tbody th {
vertical-align: middle;
height: 15px;
line-height: 15px;
background: #ddd;
border-radius: 4px;
padding: 10px 15px;
color: #333;
color: var(--button-fg);
background: var(--close-button-bg);
margin: 0 0 0 10px;
}
.delete-confirmation form .cancel-link:active,
.delete-confirmation form .cancel-link:focus,
.delete-confirmation form .cancel-link:hover {
background: #ccc;
background: var(--close-button-hover-bg);
}
/* POPUP */

Binary file not shown.

View File

@ -4,6 +4,93 @@
@import url(fonts.css);
/* VARIABLE DEFINITIONS */
:root {
--primary: #79aec8;
--secondary: #417690;
--accent: #f5dd5d;
--primary-fg: #fff;
--body-fg: #333;
--body-bg: #fff;
--body-quiet-color: #666;
--body-loud-color: #000;
--header-color: #ffc;
--header-branding-color: var(--accent);
--header-bg: var(--secondary);
--header-link-color: var(--primary-fg);
--breadcrumbs-fg: #c4dce8;
--breadcrumbs-link-fg: var(--body-bg);
--breadcrumbs-bg: var(--primary);
--link-fg: #447e9b;
--link-hover-color: #036;
--link-selected-fg: #5b80b2;
--hairline-color: #e8e8e8;
--border-color: #ccc;
--error-fg: #ba2121;
--message-success-bg: #dfd;
--message-warning-bg: #ffc;
--message-error-bg: #ffefef;
--darkened-bg: #f8f8f8; /* A bit darker than --body-bg */
--selected-bg: #e4e4e4; /* E.g. selected table cells */
--selected-row: #ffc;
--button-fg: #fff;
--button-bg: var(--primary);
--button-hover-bg: #609ab6;
--default-button-bg: var(--secondary);
--default-button-hover-bg: #205067;
--close-button-bg: #888; /* Previously #bbb, contrast 1.92 */
--close-button-hover-bg: #747474;
--delete-button-bg: #ba2121;
--delete-button-hover-bg: #a41515;
--object-tools-fg: var(--button-fg);
--object-tools-bg: var(--close-button-bg);
--object-tools-hover-bg: var(--close-button-hover-bg);
}
@media (prefers-color-scheme: dark) {
:root {
--primary: #264b5d;
--primary-fg: #eee;
--body-fg: #eeeeee;
--body-bg: #121212;
--body-quiet-color: #e0e0e0;
--body-loud-color: #ffffff;
--breadcrumbs-link-fg: #e0e0e0;
--breadcrumbs-bg: var(--primary);
--link-fg: #81d4fa;
--link-hover-color: #4ac1f7;
--link-selected-fg: #6f94c6;
--hairline-color: #272727;
--border-color: #353535;
--error-fg: #e35f5f;
--message-success-bg: #006b1b;
--message-warning-bg: #583305;
--message-error-bg: #570808;
--darkened-bg: #212121;
--selected-bg: #1b1b1b;
--selected-row: #00363a;
--close-button-bg: #333333;
--close-button-hover-bg: #666666;
}
}
html, body {
height: 100%;
}
@ -13,19 +100,20 @@ body {
padding: 0;
font-size: 14px;
font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
color: #333;
background: #fff;
color: var(--body-fg);
background: var(--body-bg);
}
/* LINKS */
a:link, a:visited {
color: #447e9b;
color: var(--link-fg);
text-decoration: none;
transition: color 0.15s, background 0.15s;
}
a:focus, a:hover {
color: #036;
color: var(--link-hover-color);
}
a:focus {
@ -37,7 +125,7 @@ a img {
}
a.section:link, a.section:visited {
color: #fff;
color: var(--header-link-color);
text-decoration: none;
}
@ -64,7 +152,7 @@ h1 {
margin: 0 0 20px;
font-weight: 300;
font-size: 20px;
color: #666;
color: var(--body-quiet-color);
}
h2 {
@ -80,7 +168,7 @@ h2.subhead {
h3 {
font-size: 14px;
margin: .8em 0 .3em 0;
color: #666;
color: var(--body-quiet-color);
font-weight: bold;
}
@ -93,7 +181,7 @@ h4 {
h5 {
font-size: 10px;
margin: 1.5em 0 .5em 0;
color: #666;
color: var(--body-quiet-color);
text-transform: uppercase;
letter-spacing: 1px;
}
@ -131,7 +219,7 @@ fieldset {
min-width: 0;
padding: 0;
border: none;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
}
blockquote {
@ -144,14 +232,14 @@ blockquote {
code, pre {
font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
color: #666;
color: var(--body-quiet-color);
font-size: 12px;
overflow-x: auto;
}
pre.literal-block {
margin: 10px;
background: #eee;
background: var(--darkened-bg);
padding: 6px 8px;
}
@ -161,8 +249,8 @@ code strong {
hr {
clear: both;
color: #eee;
background-color: #eee;
color: var(--hairline-color);
background-color: var(--hairline-color);
height: 1px;
border: none;
margin: 0;
@ -183,7 +271,7 @@ hr {
.help, p.help, form p.help, div.help, form div.help, div.help li {
font-size: 11px;
color: #999;
color: var(--body-quiet-color);
}
div.help ul {
@ -199,7 +287,7 @@ p img, h1 img, h2 img, h3 img, h4 img, td img {
}
.quiet, a.quiet:link, a.quiet:visited {
color: #999;
color: var(--body-quiet-color);
font-weight: normal;
}
@ -211,20 +299,23 @@ p img, h1 img, h2 img, h3 img, h4 img, td img {
white-space: nowrap;
}
.hidden {
display: none;
}
/* TABLES */
table {
border-collapse: collapse;
border-color: #ccc;
border-color: var(--border-color);
}
td, th {
font-size: 13px;
line-height: 16px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
vertical-align: top;
padding: 8px;
font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif;
}
th {
@ -234,37 +325,37 @@ th {
thead th,
tfoot td {
color: #666;
color: var(--body-quiet-color);
padding: 5px 10px;
font-size: 11px;
background: #fff;
background: var(--body-bg);
border: none;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
border-bottom: 1px solid var(--hairline-color);
}
tfoot td {
border-bottom: none;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
}
thead th.required {
color: #000;
color: var(--body-loud-color);
}
tr.alt {
background: #f6f6f6;
background: var(--darkened-bg);
}
tr:nth-child(odd), .row-form-errors {
background: #fff;
background: var(--body-bg);
}
tr:nth-child(even),
tr:nth-child(even) .errorlist,
tr:nth-child(odd) + .row-form-errors,
tr:nth-child(odd) + .row-form-errors .errorlist {
background: #f9f9f9;
background: var(--darkened-bg);
}
/* SORTABLE TABLES */
@ -273,15 +364,15 @@ thead th {
padding: 5px 10px;
line-height: normal;
text-transform: uppercase;
background: #f6f6f6;
background: var(--darkened-bg);
}
thead th a:link, thead th a:visited {
color: #666;
color: var(--body-quiet-color);
}
thead th.sorted {
background: #eee;
background: var(--selected-bg);
}
thead th.sorted .text {
@ -300,7 +391,7 @@ table thead th .text a {
}
table thead th .text a:focus, table thead th .text a:hover {
background: #eee;
background: var(--selected-bg);
}
thead th.sorted a.sortremove {
@ -347,12 +438,12 @@ table thead th.sorted .sortoptions a.sortremove:after {
left: 3px;
font-weight: 200;
font-size: 18px;
color: #999;
color: var(--body-quiet-color);
}
table thead th.sorted .sortoptions a.sortremove:focus:after,
table thead th.sorted .sortoptions a.sortremove:hover:after {
color: #447e9b;
color: var(--link-fg);
}
table thead th.sorted .sortoptions a.sortremove:focus,
@ -399,16 +490,18 @@ textarea {
input[type=text], input[type=password], input[type=email], input[type=url],
input[type=number], input[type=tel], textarea, select, .vTextField {
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-radius: 4px;
padding: 5px 6px;
margin-top: 0;
color: var(--body-fg);
background-color: var(--body-bg);
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus,
input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus,
textarea:focus, select:focus, .vTextField:focus {
border-color: #999;
border-color: var(--body-quiet-color);
}
select {
@ -424,12 +517,13 @@ select[multiple] {
/* FORM BUTTONS */
.button, input[type=submit], input[type=button], .submit-row input, a.button {
background: #79aec8;
background: var(--button-bg);
padding: 10px 15px;
border: none;
border-radius: 4px;
color: #fff;
color: var(--button-fg);
cursor: pointer;
transition: background 0.15s;
}
a.button {
@ -439,7 +533,7 @@ a.button {
.button:active, input[type=submit]:active, input[type=button]:active,
.button:focus, input[type=submit]:focus, input[type=button]:focus,
.button:hover, input[type=submit]:hover, input[type=button]:hover {
background: #609ab6;
background: var(--button-hover-bg);
}
.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
@ -450,13 +544,13 @@ a.button {
float: right;
border: none;
font-weight: 400;
background: #417690;
background: var(--default-button-bg);
}
.button.default:active, input[type=submit].default:active,
.button.default:focus, input[type=submit].default:focus,
.button.default:hover, input[type=submit].default:hover {
background: #205067;
background: var(--default-button-hover-bg);
}
.button[disabled].default,
@ -471,7 +565,7 @@ input[type=button][disabled].default {
.module {
border: none;
margin-bottom: 30px;
background: #fff;
background: var(--body-bg);
}
.module p, .module ul, .module h3, .module h4, .module dl, .module pre {
@ -497,8 +591,8 @@ input[type=button][disabled].default {
font-weight: 400;
font-size: 13px;
text-align: left;
background: #79aec8;
color: #fff;
background: var(--primary);
color: var(--header-link-color);
}
.module caption,
@ -525,18 +619,18 @@ ul.messagelist li {
font-size: 13px;
padding: 10px 10px 10px 65px;
margin: 0 0 10px 0;
background: #dfd url(../img/icon-yes.svg) 40px 12px no-repeat;
background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat;
background-size: 16px auto;
color: #333;
color: var(--body-fg);
}
ul.messagelist li.warning {
background: #ffc url(../img/icon-alert.svg) 40px 14px no-repeat;
background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat;
background-size: 14px auto;
}
ul.messagelist li.error {
background: #ffefef url(../img/icon-no.svg) 40px 12px no-repeat;
background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat;
background-size: 16px auto;
}
@ -546,24 +640,26 @@ ul.messagelist li.error {
display: block;
padding: 10px 12px;
margin: 0 0 10px 0;
color: #ba2121;
border: 1px solid #ba2121;
color: var(--error-fg);
border: 1px solid var(--error-fg);
border-radius: 4px;
background-color: #fff;
background-color: var(--body-bg);
background-position: 5px 12px;
overflow-wrap: break-word;
}
ul.errorlist {
margin: 0 0 4px;
padding: 0;
color: #ba2121;
background: #fff;
color: var(--error-fg);
background: var(--body-bg);
}
ul.errorlist li {
font-size: 13px;
display: block;
margin-bottom: 4px;
overflow-wrap: break-word;
}
ul.errorlist li:first-child {
@ -587,7 +683,7 @@ td ul.errorlist li {
.form-row.errors {
margin: 0;
border: none;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
background: none;
}
@ -597,7 +693,7 @@ td ul.errorlist li {
.errors input, .errors select, .errors textarea,
td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea {
border: 1px solid #ba2121;
border: 1px solid var(--error-fg);
}
.description {
@ -608,20 +704,19 @@ td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea {
/* BREADCRUMBS */
div.breadcrumbs {
background: #79aec8;
background: var(--breadcrumbs-bg);
padding: 10px 40px;
border: none;
font-size: 14px;
color: #c4dce8;
color: var(--breadcrumbs-fg);
text-align: left;
}
div.breadcrumbs a {
color: #fff;
color: var(--breadcrumbs-link-fg);
}
div.breadcrumbs a:focus, div.breadcrumbs a:hover {
color: #c4dce8;
color: var(--breadcrumbs-fg);
}
/* ACTION ICONS */
@ -647,11 +742,11 @@ div.breadcrumbs a:focus, div.breadcrumbs a:hover {
}
a.deletelink:link, a.deletelink:visited {
color: #CC3434;
color: #CC3434; /* XXX Probably unused? */
}
a.deletelink:focus, a.deletelink:hover {
color: #993333;
color: #993333; /* XXX Probably unused? */
text-decoration: none;
}
@ -666,14 +761,6 @@ a.deletelink:focus, a.deletelink:hover {
margin-top: -48px;
}
.form-row .object-tools {
margin-top: 5px;
margin-bottom: 5px;
float: none;
height: 2em;
padding-left: 3.5em;
}
.object-tools li {
display: block;
float: left;
@ -689,29 +776,29 @@ a.deletelink:focus, a.deletelink:hover {
display: block;
float: left;
padding: 3px 12px;
background: #999;
background: var(--object-tools-bg);
color: var(--object-tools-fg);
font-weight: 400;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #fff;
}
.object-tools a:focus, .object-tools a:hover {
background-color: #417690;
background-color: var(--object-tools-hover-bg);
}
.object-tools a:focus{
text-decoration: none;
}
.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink {
.object-tools a.viewsitelink, .object-tools a.addlink {
background-repeat: no-repeat;
background-position: right 7px center;
padding-right: 26px;
}
.object-tools a.viewsitelink, .object-tools a.golink {
.object-tools a.viewsitelink {
background-image: url(../img/tooltag-arrowright.svg);
}
@ -813,13 +900,13 @@ table#change-history tbody th {
justify-content: space-between;
align-items: center;
padding: 10px 40px;
background: #417690;
color: #ffc;
background: var(--header-bg);
color: var(--header-color);
overflow: hidden;
}
#header a:link, #header a:visited {
color: #fff;
color: var(--header-link-color);
}
#header a:focus , #header a:hover {
@ -835,11 +922,11 @@ table#change-history tbody th {
margin: 0 20px 0 0;
font-weight: 300;
font-size: 24px;
color: #f5dd5d;
color: var(--accent);
}
#branding h1, #branding h1 a:link, #branding h1 a:visited {
color: #f5dd5d;
color: var(--accent);
}
#branding h2 {
@ -847,7 +934,7 @@ table#change-history tbody th {
font-size: 14px;
margin: -8px 0 8px 0;
font-weight: normal;
color: #ffc;
color: var(--header-color);
}
#branding a:hover {
@ -871,14 +958,14 @@ table#change-history tbody th {
#user-tools a:focus, #user-tools a:hover {
text-decoration: none;
border-bottom-color: #79aec8;
color: #79aec8;
border-bottom-color: var(--primary);
color: var(--primary);
}
/* SIDEBAR */
#content-related {
background: #f8f8f8;
background: var(--darkened-bg);
}
#content-related .module {
@ -886,8 +973,7 @@ table#change-history tbody th {
}
#content-related h3 {
font-size: 14px;
color: #666;
color: var(--body-quiet-color);
padding: 0 16px;
margin: 0 0 16px;
}
@ -916,22 +1002,22 @@ table#change-history tbody th {
background: none;
padding: 16px;
margin-bottom: 16px;
border-bottom: 1px solid #eaeaea;
border-bottom: 1px solid var(--hairline-color);
font-size: 18px;
color: #333;
color: var(--body-fg);
}
.delete-confirmation form input[type="submit"] {
background: #ba2121;
background: var(--delete-button-bg);
border-radius: 4px;
padding: 10px 15px;
color: #fff;
color: var(--button-fg);
}
.delete-confirmation form input[type="submit"]:active,
.delete-confirmation form input[type="submit"]:focus,
.delete-confirmation form input[type="submit"]:hover {
background: #a41515;
background: var(--delete-button-hover-bg);
}
.delete-confirmation form .cancel-link {
@ -939,17 +1025,17 @@ table#change-history tbody th {
vertical-align: middle;
height: 15px;
line-height: 15px;
background: #ddd;
border-radius: 4px;
padding: 10px 15px;
color: #333;
color: var(--button-fg);
background: var(--close-button-bg);
margin: 0 0 0 10px;
}
.delete-confirmation form .cancel-link:active,
.delete-confirmation form .cancel-link:focus,
.delete-confirmation form .cancel-link:hover {
background: #ccc;
background: var(--close-button-hover-bg);
}
/* POPUP */

Binary file not shown.

View File

@ -40,13 +40,13 @@
}
#changelist .toplinks {
border-bottom: 1px solid #ddd;
border-bottom: 1px solid var(--hairline-color);
}
#changelist .paginator {
color: #666;
border-bottom: 1px solid #eee;
background: #fff;
color: var(--body-quiet-color);
border-bottom: 1px solid var(--hairline-color);
background: var(--body-bg);
overflow: hidden;
}
@ -68,7 +68,7 @@
}
#changelist table tfoot {
color: #666;
color: var(--body-quiet-color);
}
/* TOOLBAR */
@ -76,22 +76,22 @@
#toolbar {
padding: 8px 10px;
margin-bottom: 15px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
background: #f8f8f8;
color: #666;
border-top: 1px solid var(--hairline-color);
border-bottom: 1px solid var(--hairline-color);
background: var(--darkened-bg);
color: var(--body-quiet-color);
}
#toolbar form input {
border-radius: 4px;
font-size: 14px;
padding: 5px;
color: #333;
color: var(--body-fg);
}
#toolbar #searchbar {
height: 19px;
border: 1px solid #ccc;
border: 1px solid var(--border-color);
padding: 2px 5px;
margin: 0;
vertical-align: top;
@ -100,24 +100,24 @@
}
#toolbar #searchbar:focus {
border-color: #999;
border-color: var(--body-quiet-color);
}
#toolbar form input[type="submit"] {
border: 1px solid #ccc;
border: 1px solid var(--border-color);
font-size: 13px;
padding: 4px 8px;
margin: 0;
vertical-align: middle;
background: #fff;
background: var(--body-bg);
box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
cursor: pointer;
color: #333;
color: var(--body-fg);
}
#toolbar form input[type="submit"]:focus,
#toolbar form input[type="submit"]:hover {
border-color: #999;
border-color: var(--body-quiet-color);
}
#changelist-search img {
@ -130,8 +130,7 @@
#changelist-filter {
flex: 0 0 240px;
order: 1;
width: 240px;
background: #f8f8f8;
background: var(--darkened-bg);
border-left: none;
margin: 0 0 0 30px;
}
@ -147,7 +146,6 @@
#changelist-filter h3 {
font-weight: 400;
font-size: 14px;
padding: 0 15px;
margin-bottom: 10px;
}
@ -155,7 +153,7 @@
#changelist-filter ul {
margin: 5px 0;
padding: 0 15px 15px;
border-bottom: 1px solid #eaeaea;
border-bottom: 1px solid var(--hairline-color);
}
#changelist-filter ul:last-child {
@ -170,31 +168,31 @@
#changelist-filter a {
display: block;
color: #999;
color: var(--body-quiet-color);
text-overflow: ellipsis;
overflow-x: hidden;
}
#changelist-filter li.selected {
border-left: 5px solid #eaeaea;
border-left: 5px solid var(--hairline-color);
padding-left: 10px;
margin-left: -15px;
}
#changelist-filter li.selected a {
color: #5b80b2;
color: var(--link-selected-fg);
}
#changelist-filter a:focus, #changelist-filter a:hover,
#changelist-filter li.selected a:focus,
#changelist-filter li.selected a:hover {
color: #036;
color: var(--link-hover-color);
}
#changelist-filter #changelist-filter-clear a {
font-size: 13px;
padding-bottom: 10px;
border-bottom: 1px solid #eaeaea;
border-bottom: 1px solid var(--hairline-color);
}
/* DATE DRILLDOWN */
@ -215,12 +213,12 @@
}
.change-list ul.toplinks .date-back a {
color: #999;
color: var(--body-quiet-color);
}
.change-list ul.toplinks .date-back a:focus,
.change-list ul.toplinks .date-back a:hover {
color: #036;
color: var(--link-hover-color);
}
/* PAGINATOR */
@ -231,26 +229,26 @@
padding-bottom: 10px;
line-height: 22px;
margin: 0;
border-top: 1px solid #ddd;
border-top: 1px solid var(--hairline-color);
width: 100%;
}
.paginator a:link, .paginator a:visited {
padding: 2px 6px;
background: #79aec8;
background: var(--button-bg);
text-decoration: none;
color: #fff;
color: var(--button-fg);
}
.paginator a.showall {
border: none;
background: none;
color: #5b80b2;
color: var(--link-fg);
}
.paginator a.showall:focus, .paginator a.showall:hover {
background: none;
color: #036;
color: var(--link-hover-color);
}
.paginator .end {
@ -266,7 +264,7 @@
.paginator a:focus, .paginator a:hover {
color: white;
background: #036;
background: var(--link-hover-color);
}
/* ACTIONS */
@ -281,22 +279,22 @@
}
#changelist table tbody tr.selected {
background-color: #FFFFCC;
background-color: var(--selected-row);
}
#changelist .actions {
padding: 10px;
background: #fff;
background: var(--body-bg);
border-top: none;
border-bottom: none;
line-height: 24px;
color: #999;
color: var(--body-quiet-color);
width: 100%;
}
#changelist .actions.selected {
background: #fffccf;
border-top: 1px solid #fffee8;
#changelist .actions.selected { /* XXX Probably unused? */
background: var(--body-bg);
border-top: 1px solid var(--body-bg);
border-bottom: 1px solid #edecd6;
}
@ -306,7 +304,6 @@
#changelist .actions span.question {
font-size: 13px;
margin: 0 0.5em;
display: none;
}
#changelist .actions:last-child {
@ -316,9 +313,8 @@
#changelist .actions select {
vertical-align: top;
height: 24px;
background: none;
color: #000;
border: 1px solid #ccc;
color: var(--body-fg);
border: 1px solid var(--border-color);
border-radius: 4px;
font-size: 14px;
padding: 0 0 0 4px;
@ -327,7 +323,7 @@
}
#changelist .actions select:focus {
border-color: #999;
border-color: var(--body-quiet-color);
}
#changelist .actions label {
@ -338,18 +334,18 @@
#changelist .actions .button {
font-size: 13px;
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-radius: 4px;
background: #fff;
background: var(--body-bg);
box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
cursor: pointer;
height: 24px;
line-height: 1;
padding: 4px 8px;
margin: 0;
color: #333;
color: var(--body-fg);
}
#changelist .actions .button:focus, #changelist .actions .button:hover {
border-color: #999;
border-color: var(--body-quiet-color);
}

Binary file not shown.

View File

@ -40,13 +40,13 @@
}
#changelist .toplinks {
border-bottom: 1px solid #ddd;
border-bottom: 1px solid var(--hairline-color);
}
#changelist .paginator {
color: #666;
border-bottom: 1px solid #eee;
background: #fff;
color: var(--body-quiet-color);
border-bottom: 1px solid var(--hairline-color);
background: var(--body-bg);
overflow: hidden;
}
@ -68,7 +68,7 @@
}
#changelist table tfoot {
color: #666;
color: var(--body-quiet-color);
}
/* TOOLBAR */
@ -76,22 +76,22 @@
#toolbar {
padding: 8px 10px;
margin-bottom: 15px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
background: #f8f8f8;
color: #666;
border-top: 1px solid var(--hairline-color);
border-bottom: 1px solid var(--hairline-color);
background: var(--darkened-bg);
color: var(--body-quiet-color);
}
#toolbar form input {
border-radius: 4px;
font-size: 14px;
padding: 5px;
color: #333;
color: var(--body-fg);
}
#toolbar #searchbar {
height: 19px;
border: 1px solid #ccc;
border: 1px solid var(--border-color);
padding: 2px 5px;
margin: 0;
vertical-align: top;
@ -100,24 +100,24 @@
}
#toolbar #searchbar:focus {
border-color: #999;
border-color: var(--body-quiet-color);
}
#toolbar form input[type="submit"] {
border: 1px solid #ccc;
border: 1px solid var(--border-color);
font-size: 13px;
padding: 4px 8px;
margin: 0;
vertical-align: middle;
background: #fff;
background: var(--body-bg);
box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
cursor: pointer;
color: #333;
color: var(--body-fg);
}
#toolbar form input[type="submit"]:focus,
#toolbar form input[type="submit"]:hover {
border-color: #999;
border-color: var(--body-quiet-color);
}
#changelist-search img {
@ -130,8 +130,7 @@
#changelist-filter {
flex: 0 0 240px;
order: 1;
width: 240px;
background: #f8f8f8;
background: var(--darkened-bg);
border-left: none;
margin: 0 0 0 30px;
}
@ -147,7 +146,6 @@
#changelist-filter h3 {
font-weight: 400;
font-size: 14px;
padding: 0 15px;
margin-bottom: 10px;
}
@ -155,7 +153,7 @@
#changelist-filter ul {
margin: 5px 0;
padding: 0 15px 15px;
border-bottom: 1px solid #eaeaea;
border-bottom: 1px solid var(--hairline-color);
}
#changelist-filter ul:last-child {
@ -170,31 +168,31 @@
#changelist-filter a {
display: block;
color: #999;
color: var(--body-quiet-color);
text-overflow: ellipsis;
overflow-x: hidden;
}
#changelist-filter li.selected {
border-left: 5px solid #eaeaea;
border-left: 5px solid var(--hairline-color);
padding-left: 10px;
margin-left: -15px;
}
#changelist-filter li.selected a {
color: #5b80b2;
color: var(--link-selected-fg);
}
#changelist-filter a:focus, #changelist-filter a:hover,
#changelist-filter li.selected a:focus,
#changelist-filter li.selected a:hover {
color: #036;
color: var(--link-hover-color);
}
#changelist-filter #changelist-filter-clear a {
font-size: 13px;
padding-bottom: 10px;
border-bottom: 1px solid #eaeaea;
border-bottom: 1px solid var(--hairline-color);
}
/* DATE DRILLDOWN */
@ -215,12 +213,12 @@
}
.change-list ul.toplinks .date-back a {
color: #999;
color: var(--body-quiet-color);
}
.change-list ul.toplinks .date-back a:focus,
.change-list ul.toplinks .date-back a:hover {
color: #036;
color: var(--link-hover-color);
}
/* PAGINATOR */
@ -231,26 +229,26 @@
padding-bottom: 10px;
line-height: 22px;
margin: 0;
border-top: 1px solid #ddd;
border-top: 1px solid var(--hairline-color);
width: 100%;
}
.paginator a:link, .paginator a:visited {
padding: 2px 6px;
background: #79aec8;
background: var(--button-bg);
text-decoration: none;
color: #fff;
color: var(--button-fg);
}
.paginator a.showall {
border: none;
background: none;
color: #5b80b2;
color: var(--link-fg);
}
.paginator a.showall:focus, .paginator a.showall:hover {
background: none;
color: #036;
color: var(--link-hover-color);
}
.paginator .end {
@ -266,7 +264,7 @@
.paginator a:focus, .paginator a:hover {
color: white;
background: #036;
background: var(--link-hover-color);
}
/* ACTIONS */
@ -281,22 +279,22 @@
}
#changelist table tbody tr.selected {
background-color: #FFFFCC;
background-color: var(--selected-row);
}
#changelist .actions {
padding: 10px;
background: #fff;
background: var(--body-bg);
border-top: none;
border-bottom: none;
line-height: 24px;
color: #999;
color: var(--body-quiet-color);
width: 100%;
}
#changelist .actions.selected {
background: #fffccf;
border-top: 1px solid #fffee8;
#changelist .actions.selected { /* XXX Probably unused? */
background: var(--body-bg);
border-top: 1px solid var(--body-bg);
border-bottom: 1px solid #edecd6;
}
@ -306,7 +304,6 @@
#changelist .actions span.question {
font-size: 13px;
margin: 0 0.5em;
display: none;
}
#changelist .actions:last-child {
@ -316,9 +313,8 @@
#changelist .actions select {
vertical-align: top;
height: 24px;
background: none;
color: #000;
border: 1px solid #ccc;
color: var(--body-fg);
border: 1px solid var(--border-color);
border-radius: 4px;
font-size: 14px;
padding: 0 0 0 4px;
@ -327,7 +323,7 @@
}
#changelist .actions select:focus {
border-color: #999;
border-color: var(--body-quiet-color);
}
#changelist .actions label {
@ -338,18 +334,18 @@
#changelist .actions .button {
font-size: 13px;
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-radius: 4px;
background: #fff;
background: var(--body-bg);
box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
cursor: pointer;
height: 24px;
line-height: 1;
padding: 4px 8px;
margin: 0;
color: #333;
color: var(--body-fg);
}
#changelist .actions .button:focus, #changelist .actions .button:hover {
border-color: #999;
border-color: var(--body-quiet-color);
}

Binary file not shown.

View File

@ -1,4 +1,4 @@
@import url("widgets.b12c020d05e0.css");
@import url("widgets.694d845b2cb1.css");
/* FORM ROWS */
@ -6,7 +6,7 @@
overflow: hidden;
padding: 10px;
font-size: 13px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
}
.form-row img, .form-row input {
@ -22,21 +22,17 @@ form .form-row p {
padding-left: 0;
}
.hidden {
display: none;
}
/* FORM LABELS */
label {
font-weight: normal;
color: #666;
color: var(--body-quiet-color);
font-size: 13px;
}
.required label, label.required {
font-weight: bold;
color: #333;
color: var(--body-fg);
}
/* RADIO BUTTONS */
@ -219,24 +215,24 @@ fieldset.collapsed h2, fieldset.collapsed {
}
fieldset.collapsed {
border: 1px solid #eee;
border: 1px solid var(--hairline-color);
border-radius: 4px;
overflow: hidden;
}
fieldset.collapsed h2 {
background: #f8f8f8;
color: #666;
background: var(--darkened-bg);
color: var(--body-quiet-color);
}
fieldset .collapse-toggle {
color: #fff;
color: var(--header-link-color);
}
fieldset.collapsed .collapse-toggle {
background: transparent;
display: inline;
color: #447e9b;
color: var(--link-fg);
}
/* MONOSPACE TEXTAREAS */
@ -250,8 +246,8 @@ fieldset.monospace textarea {
.submit-row {
padding: 12px 14px;
margin: 0 0 20px;
background: #f8f8f8;
border: 1px solid #eee;
background: var(--darkened-bg);
border: 1px solid var(--hairline-color);
border-radius: 4px;
text-align: right;
overflow: hidden;
@ -283,35 +279,35 @@ body.popup .submit-row {
.submit-row a.deletelink {
display: block;
background: #ba2121;
background: var(--delete-button-bg);
border-radius: 4px;
padding: 10px 15px;
height: 15px;
line-height: 15px;
color: #fff;
color: var(--button-fg);
}
.submit-row a.closelink {
display: inline-block;
background: #bbbbbb;
background: var(--close-button-bg);
border-radius: 4px;
padding: 10px 15px;
height: 15px;
line-height: 15px;
margin: 0 0 0 5px;
color: #fff;
color: var(--button-fg);
}
.submit-row a.deletelink:focus,
.submit-row a.deletelink:hover,
.submit-row a.deletelink:active {
background: #a41515;
background: var(--delete-button-hover-bg);
}
.submit-row a.closelink:focus,
.submit-row a.closelink:hover,
.submit-row a.closelink:active {
background: #aaaaaa;
background: var(--close-button-hover-bg);
}
/* CUSTOM FORM FIELDS */
@ -390,12 +386,12 @@ body.popup .submit-row {
.inline-related h3 {
margin: 0;
color: #666;
color: var(--body-quiet-color);
padding: 5px;
font-size: 13px;
background: #f8f8f8;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
background: var(--darkened-bg);
border-top: 1px solid var(--hairline-color);
border-bottom: 1px solid var(--hairline-color);
}
.inline-related h3 span.delete {
@ -409,7 +405,7 @@ body.popup .submit-row {
.inline-related fieldset {
margin: 0;
background: #fff;
background: var(--body-bg);
border: none;
width: 100%;
}
@ -421,7 +417,7 @@ body.popup .submit-row {
text-align: left;
font-weight: bold;
background: #bcd;
color: #fff;
color: var(--body-bg);
}
.inline-group .tabular fieldset.module {
@ -460,7 +456,7 @@ body.popup .submit-row {
overflow: hidden;
font-size: 9px;
font-weight: bold;
color: #666;
color: var(--body-quiet-color);
_width: 700px;
}
@ -477,15 +473,15 @@ body.popup .submit-row {
.inline-group div.add-row,
.inline-group .tabular tr.add-row td {
color: #666;
background: #f8f8f8;
color: var(--body-quiet-color);
background: var(--darkened-bg);
padding: 8px 10px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
}
.inline-group .tabular tr.add-row td {
padding: 8px 10px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
}
.inline-group ul.tools a.add,

Binary file not shown.

View File

@ -6,7 +6,7 @@
overflow: hidden;
padding: 10px;
font-size: 13px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
}
.form-row img, .form-row input {
@ -22,21 +22,17 @@ form .form-row p {
padding-left: 0;
}
.hidden {
display: none;
}
/* FORM LABELS */
label {
font-weight: normal;
color: #666;
color: var(--body-quiet-color);
font-size: 13px;
}
.required label, label.required {
font-weight: bold;
color: #333;
color: var(--body-fg);
}
/* RADIO BUTTONS */
@ -219,24 +215,24 @@ fieldset.collapsed h2, fieldset.collapsed {
}
fieldset.collapsed {
border: 1px solid #eee;
border: 1px solid var(--hairline-color);
border-radius: 4px;
overflow: hidden;
}
fieldset.collapsed h2 {
background: #f8f8f8;
color: #666;
background: var(--darkened-bg);
color: var(--body-quiet-color);
}
fieldset .collapse-toggle {
color: #fff;
color: var(--header-link-color);
}
fieldset.collapsed .collapse-toggle {
background: transparent;
display: inline;
color: #447e9b;
color: var(--link-fg);
}
/* MONOSPACE TEXTAREAS */
@ -250,8 +246,8 @@ fieldset.monospace textarea {
.submit-row {
padding: 12px 14px;
margin: 0 0 20px;
background: #f8f8f8;
border: 1px solid #eee;
background: var(--darkened-bg);
border: 1px solid var(--hairline-color);
border-radius: 4px;
text-align: right;
overflow: hidden;
@ -283,35 +279,35 @@ body.popup .submit-row {
.submit-row a.deletelink {
display: block;
background: #ba2121;
background: var(--delete-button-bg);
border-radius: 4px;
padding: 10px 15px;
height: 15px;
line-height: 15px;
color: #fff;
color: var(--button-fg);
}
.submit-row a.closelink {
display: inline-block;
background: #bbbbbb;
background: var(--close-button-bg);
border-radius: 4px;
padding: 10px 15px;
height: 15px;
line-height: 15px;
margin: 0 0 0 5px;
color: #fff;
color: var(--button-fg);
}
.submit-row a.deletelink:focus,
.submit-row a.deletelink:hover,
.submit-row a.deletelink:active {
background: #a41515;
background: var(--delete-button-hover-bg);
}
.submit-row a.closelink:focus,
.submit-row a.closelink:hover,
.submit-row a.closelink:active {
background: #aaaaaa;
background: var(--close-button-hover-bg);
}
/* CUSTOM FORM FIELDS */
@ -390,12 +386,12 @@ body.popup .submit-row {
.inline-related h3 {
margin: 0;
color: #666;
color: var(--body-quiet-color);
padding: 5px;
font-size: 13px;
background: #f8f8f8;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
background: var(--darkened-bg);
border-top: 1px solid var(--hairline-color);
border-bottom: 1px solid var(--hairline-color);
}
.inline-related h3 span.delete {
@ -409,7 +405,7 @@ body.popup .submit-row {
.inline-related fieldset {
margin: 0;
background: #fff;
background: var(--body-bg);
border: none;
width: 100%;
}
@ -421,7 +417,7 @@ body.popup .submit-row {
text-align: left;
font-weight: bold;
background: #bcd;
color: #fff;
color: var(--body-bg);
}
.inline-group .tabular fieldset.module {
@ -460,7 +456,7 @@ body.popup .submit-row {
overflow: hidden;
font-size: 9px;
font-weight: bold;
color: #666;
color: var(--body-quiet-color);
_width: 700px;
}
@ -477,15 +473,15 @@ body.popup .submit-row {
.inline-group div.add-row,
.inline-group .tabular tr.add-row td {
color: #666;
background: #f8f8f8;
color: var(--body-quiet-color);
background: var(--darkened-bg);
padding: 8px 10px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
}
.inline-group .tabular tr.add-row td {
padding: 8px 10px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--hairline-color);
}
.inline-group ul.tools a.add,

Binary file not shown.

View File

@ -1,7 +1,7 @@
/* LOGIN FORM */
.login {
background: #f8f8f8;
background: var(--darkened-bg);
height: auto;
}
@ -16,7 +16,7 @@
}
.login #header h1 a {
color: #fff;
color: var(--header-link-color);
}
.login #content {
@ -24,8 +24,8 @@
}
.login #container {
background: #fff;
border: 1px solid #eaeaea;
background: var(--body-bg);
border: 1px solid var(--hairline-color);
border-radius: 4px;
overflow: hidden;
width: 28em;
@ -34,44 +34,25 @@
height: auto;
}
.login #content-main {
width: 100%;
}
.login .form-row {
padding: 4px 0;
float: left;
width: 100%;
border-bottom: none;
}
.login .form-row label {
padding-right: 0.5em;
display: block;
line-height: 2em;
font-size: 1em;
clear: both;
color: #333;
}
.login .form-row #id_username, .login .form-row #id_password {
clear: both;
padding: 8px;
width: 100%;
box-sizing: border-box;
}
.login span.help {
font-size: 10px;
display: block;
}
.login .submit-row {
clear: both;
padding: 1em 0 0 9.4em;
padding: 1em 0 0 0;
margin: 0;
border: none;
background: none;
text-align: left;
text-align: center;
}
.login .password-reset-link {

Binary file not shown.

View File

@ -1,7 +1,7 @@
/* LOGIN FORM */
.login {
background: #f8f8f8;
background: var(--darkened-bg);
height: auto;
}
@ -16,7 +16,7 @@
}
.login #header h1 a {
color: #fff;
color: var(--header-link-color);
}
.login #content {
@ -24,8 +24,8 @@
}
.login #container {
background: #fff;
border: 1px solid #eaeaea;
background: var(--body-bg);
border: 1px solid var(--hairline-color);
border-radius: 4px;
overflow: hidden;
width: 28em;
@ -34,44 +34,25 @@
height: auto;
}
.login #content-main {
width: 100%;
}
.login .form-row {
padding: 4px 0;
float: left;
width: 100%;
border-bottom: none;
}
.login .form-row label {
padding-right: 0.5em;
display: block;
line-height: 2em;
font-size: 1em;
clear: both;
color: #333;
}
.login .form-row #id_username, .login .form-row #id_password {
clear: both;
padding: 8px;
width: 100%;
box-sizing: border-box;
}
.login span.help {
font-size: 10px;
display: block;
}
.login .submit-row {
clear: both;
padding: 1em 0 0 9.4em;
padding: 1em 0 0 0;
margin: 0;
border: none;
background: none;
text-align: left;
text-align: center;
}
.login .password-reset-link {

Binary file not shown.

View File

@ -12,22 +12,23 @@
justify-content: center;
flex: 0 0 23px;
width: 23px;
border-right: 1px solid #eaeaea;
background-color: #ffffff;
border: 0;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
cursor: pointer;
font-size: 20px;
color: #447e9b;
color: var(--link-fg);
padding: 0;
}
[dir="rtl"] .toggle-nav-sidebar {
border-left: 1px solid #eaeaea;
border-left: 1px solid var(--hairline-color);
border-right: 0;
}
.toggle-nav-sidebar:hover,
.toggle-nav-sidebar:focus {
background-color: #f6f6f6;
background-color: var(--darkened-bg);
}
#nav-sidebar {
@ -36,13 +37,13 @@
left: -276px;
margin-left: -276px;
border-top: 1px solid transparent;
border-right: 1px solid #eaeaea;
background-color: #ffffff;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
overflow: auto;
}
[dir="rtl"] #nav-sidebar {
border-left: 1px solid #eaeaea;
border-left: 1px solid var(--hairline-color);
border-right: 0;
left: 0;
margin-left: 0;
@ -91,12 +92,12 @@
#nav-sidebar .current-app .section:link,
#nav-sidebar .current-app .section:visited {
color: #ffc;
color: var(--header-color);
font-weight: bold;
}
#nav-sidebar .current-model {
background: #ffc;
background: var(--selected-row);
}
.main > #nav-sidebar + .content {

Binary file not shown.

View File

@ -12,22 +12,23 @@
justify-content: center;
flex: 0 0 23px;
width: 23px;
border-right: 1px solid #eaeaea;
background-color: #ffffff;
border: 0;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
cursor: pointer;
font-size: 20px;
color: #447e9b;
color: var(--link-fg);
padding: 0;
}
[dir="rtl"] .toggle-nav-sidebar {
border-left: 1px solid #eaeaea;
border-left: 1px solid var(--hairline-color);
border-right: 0;
}
.toggle-nav-sidebar:hover,
.toggle-nav-sidebar:focus {
background-color: #f6f6f6;
background-color: var(--darkened-bg);
}
#nav-sidebar {
@ -36,13 +37,13 @@
left: -276px;
margin-left: -276px;
border-top: 1px solid transparent;
border-right: 1px solid #eaeaea;
background-color: #ffffff;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
overflow: auto;
}
[dir="rtl"] #nav-sidebar {
border-left: 1px solid #eaeaea;
border-left: 1px solid var(--hairline-color);
border-right: 0;
left: 0;
margin-left: 0;
@ -91,12 +92,12 @@
#nav-sidebar .current-app .section:link,
#nav-sidebar .current-app .section:visited {
color: #ffc;
color: var(--header-color);
font-weight: bold;
}
#nav-sidebar .current-model {
background: #ffc;
background: var(--selected-row);
}
.main > #nav-sidebar + .content {

Binary file not shown.

View File

@ -140,7 +140,7 @@ input[type="submit"], button {
}
#changelist .actions select {
background: #fff;
background: var(--body-bg);
}
#changelist .actions .button {
@ -166,7 +166,7 @@ input[type="submit"], button {
.filtered .actions,
#changelist .paginator {
border-top-color: #eee;
border-top-color: var(--hairline-color); /* XXX Is this used at all? */
}
#changelist .results + .paginator {
@ -213,7 +213,7 @@ input[type="submit"], button {
fieldset .fieldBox + .fieldBox {
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
}
textarea {
@ -399,11 +399,11 @@ input[type="submit"], button {
.datetime .timezonewarning {
display: block;
font-size: 11px;
color: #999;
color: var(--body-quiet-color);
}
.datetimeshortcuts {
color: #ccc;
color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */
}
.form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
@ -655,7 +655,7 @@ input[type="submit"], button {
margin-bottom: -3px;
}
form .aligned ul.radiolist li + li {
form .aligned ul.radiolist:not(.inline) li + li {
margin-top: 5px;
}
@ -740,7 +740,7 @@ input[type="submit"], button {
/* Inlines */
.inline-group[data-inline-type="stacked"] .inline-related {
border: 2px solid #eee;
border: 1px solid var(--hairline-color);
border-radius: 4px;
margin-top: 15px;
overflow: auto;
@ -750,18 +750,19 @@ input[type="submit"], button {
box-sizing: border-box;
}
.inline-group[data-inline-type="stacked"] .inline-related + .inline-related {
margin-top: 30px;
}
.inline-group[data-inline-type="stacked"] .inline-related .module {
padding: 0 10px;
}
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child {
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row {
border-top: 1px solid var(--hairline-color);
border-bottom: none;
}
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child {
border-top: none;
}
.inline-group[data-inline-type="stacked"] .inline-related h3 {
padding: 10px;
border-top-width: 0;
@ -791,7 +792,7 @@ input[type="submit"], button {
.inline-group[data-inline-type="stacked"] div.add-row {
margin-top: 15px;
border: 1px solid #eee;
border: 1px solid var(--hairline-color);
border-radius: 4px;
}
@ -885,9 +886,7 @@ input[type="submit"], button {
}
.login .form-row label {
display: block;
margin: 0 0 5px;
padding: 0;
line-height: 1.2;
}
@ -895,7 +894,7 @@ input[type="submit"], button {
padding: 15px 0 0;
}
.login br, .login .submit-row label {
.login br {
display: none;
}
@ -963,7 +962,7 @@ input[type="submit"], button {
}
.timelist a {
background: #fff;
background: var(--body-bg);
padding: 4px;
}

Binary file not shown.

View File

@ -140,7 +140,7 @@ input[type="submit"], button {
}
#changelist .actions select {
background: #fff;
background: var(--body-bg);
}
#changelist .actions .button {
@ -166,7 +166,7 @@ input[type="submit"], button {
.filtered .actions,
#changelist .paginator {
border-top-color: #eee;
border-top-color: var(--hairline-color); /* XXX Is this used at all? */
}
#changelist .results + .paginator {
@ -213,7 +213,7 @@ input[type="submit"], button {
fieldset .fieldBox + .fieldBox {
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
}
textarea {
@ -399,11 +399,11 @@ input[type="submit"], button {
.datetime .timezonewarning {
display: block;
font-size: 11px;
color: #999;
color: var(--body-quiet-color);
}
.datetimeshortcuts {
color: #ccc;
color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */
}
.form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
@ -655,7 +655,7 @@ input[type="submit"], button {
margin-bottom: -3px;
}
form .aligned ul.radiolist li + li {
form .aligned ul.radiolist:not(.inline) li + li {
margin-top: 5px;
}
@ -740,7 +740,7 @@ input[type="submit"], button {
/* Inlines */
.inline-group[data-inline-type="stacked"] .inline-related {
border: 2px solid #eee;
border: 1px solid var(--hairline-color);
border-radius: 4px;
margin-top: 15px;
overflow: auto;
@ -750,18 +750,19 @@ input[type="submit"], button {
box-sizing: border-box;
}
.inline-group[data-inline-type="stacked"] .inline-related + .inline-related {
margin-top: 30px;
}
.inline-group[data-inline-type="stacked"] .inline-related .module {
padding: 0 10px;
}
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child {
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row {
border-top: 1px solid var(--hairline-color);
border-bottom: none;
}
.inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child {
border-top: none;
}
.inline-group[data-inline-type="stacked"] .inline-related h3 {
padding: 10px;
border-top-width: 0;
@ -791,7 +792,7 @@ input[type="submit"], button {
.inline-group[data-inline-type="stacked"] div.add-row {
margin-top: 15px;
border: 1px solid #eee;
border: 1px solid var(--hairline-color);
border-radius: 4px;
}
@ -885,9 +886,7 @@ input[type="submit"], button {
}
.login .form-row label {
display: block;
margin: 0 0 5px;
padding: 0;
line-height: 1.2;
}
@ -895,7 +894,7 @@ input[type="submit"], button {
padding: 15px 0 0;
}
.login br, .login .submit-row label {
.login br {
display: none;
}
@ -963,7 +962,7 @@ input[type="submit"], button {
}
.timelist a {
background: #fff;
background: var(--body-bg);
padding: 4px;
}

Binary file not shown.

View File

@ -1,25 +1,3 @@
body {
direction: rtl;
}
/* LOGIN */
.login .form-row {
float: right;
}
.login .form-row label {
float: right;
padding-left: 0.5em;
padding-right: 0;
text-align: left;
}
.login .submit-row {
clear: both;
padding: 1em 9.4em 0 0;
}
/* GLOBAL */
th {
@ -119,7 +97,7 @@ thead th.sorted .text {
border-left: none;
padding-left: 10px;
margin-left: 0;
border-right: 5px solid #eaeaea;
border-right: 5px solid var(--hairline-color);
padding-right: 10px;
margin-right: -15px;
}

Binary file not shown.

View File

@ -1,25 +1,3 @@
body {
direction: rtl;
}
/* LOGIN */
.login .form-row {
float: right;
}
.login .form-row label {
float: right;
padding-left: 0.5em;
padding-right: 0;
text-align: left;
}
.login .submit-row {
clear: both;
padding: 1em 9.4em 0 0;
}
/* GLOBAL */
th {
@ -119,7 +97,7 @@ thead th.sorted .text {
border-left: none;
padding-left: 10px;
margin-left: 0;
border-right: 5px solid #eaeaea;
border-right: 5px solid var(--hairline-color);
padding-right: 10px;
margin-right: -15px;
}

Binary file not shown.

View File

@ -22,26 +22,25 @@
}
.selector-available h2, .selector-chosen h2 {
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-radius: 4px 4px 0 0;
}
.selector-chosen h2 {
background: #79aec8;
color: #fff;
background: var(--primary);
color: var(--header-link-color);
}
.selector .selector-available h2 {
background: #f8f8f8;
color: #666;
background: var(--darkened-bg);
color: var(--body-quiet-color);
}
.selector .selector-filter {
background: white;
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-width: 0 1px;
padding: 8px;
color: #999;
color: var(--body-quiet-color);
font-size: 10px;
margin: 0;
text-align: left;
@ -66,7 +65,7 @@
.selector ul.selector-chooser {
float: left;
width: 22px;
background-color: #eee;
background-color: var(--selected-bg);
border-radius: 10px;
margin: 10em 5px 0 5px;
padding: 0;
@ -91,7 +90,7 @@
text-indent: -3000px;
overflow: hidden;
cursor: default;
opacity: 0.3;
opacity: 0.55;
}
.active.selector-add, .active.selector-remove {
@ -126,14 +125,14 @@ a.selector-chooseall, a.selector-clearall {
overflow: hidden;
font-weight: bold;
line-height: 16px;
color: #666;
color: var(--body-quiet-color);
text-decoration: none;
opacity: 0.3;
opacity: 0.55;
}
a.active.selector-chooseall:focus, a.active.selector-clearall:focus,
a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
color: #447e9b;
color: var(--link-fg);
}
a.active.selector-chooseall, a.active.selector-clearall {
@ -261,7 +260,7 @@ p.datetime {
line-height: 20px;
margin: 0;
padding: 0;
color: #666;
color: var(--body-quiet-color);
font-weight: bold;
}
@ -269,7 +268,7 @@ p.datetime {
white-space: nowrap;
font-weight: normal;
font-size: 11px;
color: #ccc;
color: var(--body-quiet-color);
}
.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
@ -313,7 +312,7 @@ table p.datetime {
.timezonewarning {
font-size: 11px;
color: #999;
color: var(--body-quiet-color);
}
/* URL */
@ -322,7 +321,7 @@ p.url {
line-height: 20px;
margin: 0;
padding: 0;
color: #666;
color: var(--body-quiet-color);
font-size: 11px;
font-weight: bold;
}
@ -337,7 +336,7 @@ p.file-upload {
line-height: 20px;
margin: 0;
padding: 0;
color: #666;
color: var(--body-quiet-color);
font-size: 11px;
font-weight: bold;
}
@ -355,7 +354,7 @@ p.file-upload {
}
span.clearable-file-input label {
color: #333;
color: var(--body-fg);
font-size: 11px;
display: inline;
float: none;
@ -368,8 +367,9 @@ span.clearable-file-input label {
font-size: 12px;
width: 19em;
text-align: center;
background: white;
border: 1px solid #ddd;
background: var(--body-bg);
color: var(--body-fg);
border: 1px solid var(--hairline-color);
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
overflow: hidden;
@ -397,20 +397,20 @@ span.clearable-file-input label {
margin: 0;
text-align: center;
border-top: none;
background: #f5dd5d;
font-weight: 700;
font-size: 12px;
color: #333;
background: var(--accent);
}
.calendar th {
padding: 8px 5px;
background: #f8f8f8;
border-bottom: 1px solid #ddd;
background: var(--darkened-bg);
border-bottom: 1px solid var(--border-color);
font-weight: 400;
font-size: 12px;
text-align: center;
color: #666;
color: var(--body-quiet-color);
}
.calendar td {
@ -418,17 +418,17 @@ span.clearable-file-input label {
font-size: 12px;
text-align: center;
padding: 0;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
border-bottom: none;
}
.calendar td.selected a {
background: #79aec8;
color: #fff;
background: var(--primary);
color: var(--button-fg);
}
.calendar td.nonday {
background: #f8f8f8;
background: var(--darkened-bg);
}
.calendar td.today a {
@ -440,17 +440,17 @@ span.clearable-file-input label {
font-weight: 400;
padding: 6px;
text-decoration: none;
color: #444;
color: var(--body-quiet-color);
}
.calendar td a:focus, .timelist a:focus,
.calendar td a:hover, .timelist a:hover {
background: #79aec8;
background: var(--primary);
color: white;
}
.calendar td a:active, .timelist a:active {
background: #417690;
background: var(--header-bg);
color: white;
}
@ -464,16 +464,16 @@ span.clearable-file-input label {
.calendarnav a:link, #calendarnav a:visited,
#calendarnav a:focus, #calendarnav a:hover {
color: #999;
color: var(--body-quiet-color);
}
.calendar-shortcuts {
background: white;
background: var(--body-bg);
color: var(--body-quiet-color);
font-size: 11px;
line-height: 11px;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
padding: 8px 0;
color: #ccc;
}
.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
@ -511,8 +511,8 @@ span.clearable-file-input label {
padding: 4px 0;
font-size: 12px;
background: #eee;
border-top: 1px solid #ddd;
color: #333;
border-top: 1px solid var(--border-color);
color: var(--body-fg);
}
.calendar-cancel:focus, .calendar-cancel:hover {

Binary file not shown.

View File

@ -22,26 +22,25 @@
}
.selector-available h2, .selector-chosen h2 {
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-radius: 4px 4px 0 0;
}
.selector-chosen h2 {
background: #79aec8;
color: #fff;
background: var(--primary);
color: var(--header-link-color);
}
.selector .selector-available h2 {
background: #f8f8f8;
color: #666;
background: var(--darkened-bg);
color: var(--body-quiet-color);
}
.selector .selector-filter {
background: white;
border: 1px solid #ccc;
border: 1px solid var(--border-color);
border-width: 0 1px;
padding: 8px;
color: #999;
color: var(--body-quiet-color);
font-size: 10px;
margin: 0;
text-align: left;
@ -66,7 +65,7 @@
.selector ul.selector-chooser {
float: left;
width: 22px;
background-color: #eee;
background-color: var(--selected-bg);
border-radius: 10px;
margin: 10em 5px 0 5px;
padding: 0;
@ -91,7 +90,7 @@
text-indent: -3000px;
overflow: hidden;
cursor: default;
opacity: 0.3;
opacity: 0.55;
}
.active.selector-add, .active.selector-remove {
@ -126,14 +125,14 @@ a.selector-chooseall, a.selector-clearall {
overflow: hidden;
font-weight: bold;
line-height: 16px;
color: #666;
color: var(--body-quiet-color);
text-decoration: none;
opacity: 0.3;
opacity: 0.55;
}
a.active.selector-chooseall:focus, a.active.selector-clearall:focus,
a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
color: #447e9b;
color: var(--link-fg);
}
a.active.selector-chooseall, a.active.selector-clearall {
@ -261,7 +260,7 @@ p.datetime {
line-height: 20px;
margin: 0;
padding: 0;
color: #666;
color: var(--body-quiet-color);
font-weight: bold;
}
@ -269,7 +268,7 @@ p.datetime {
white-space: nowrap;
font-weight: normal;
font-size: 11px;
color: #ccc;
color: var(--body-quiet-color);
}
.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
@ -313,7 +312,7 @@ table p.datetime {
.timezonewarning {
font-size: 11px;
color: #999;
color: var(--body-quiet-color);
}
/* URL */
@ -322,7 +321,7 @@ p.url {
line-height: 20px;
margin: 0;
padding: 0;
color: #666;
color: var(--body-quiet-color);
font-size: 11px;
font-weight: bold;
}
@ -337,7 +336,7 @@ p.file-upload {
line-height: 20px;
margin: 0;
padding: 0;
color: #666;
color: var(--body-quiet-color);
font-size: 11px;
font-weight: bold;
}
@ -355,7 +354,7 @@ p.file-upload {
}
span.clearable-file-input label {
color: #333;
color: var(--body-fg);
font-size: 11px;
display: inline;
float: none;
@ -368,8 +367,9 @@ span.clearable-file-input label {
font-size: 12px;
width: 19em;
text-align: center;
background: white;
border: 1px solid #ddd;
background: var(--body-bg);
color: var(--body-fg);
border: 1px solid var(--hairline-color);
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
overflow: hidden;
@ -397,20 +397,20 @@ span.clearable-file-input label {
margin: 0;
text-align: center;
border-top: none;
background: #f5dd5d;
font-weight: 700;
font-size: 12px;
color: #333;
background: var(--accent);
}
.calendar th {
padding: 8px 5px;
background: #f8f8f8;
border-bottom: 1px solid #ddd;
background: var(--darkened-bg);
border-bottom: 1px solid var(--border-color);
font-weight: 400;
font-size: 12px;
text-align: center;
color: #666;
color: var(--body-quiet-color);
}
.calendar td {
@ -418,17 +418,17 @@ span.clearable-file-input label {
font-size: 12px;
text-align: center;
padding: 0;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
border-bottom: none;
}
.calendar td.selected a {
background: #79aec8;
color: #fff;
background: var(--primary);
color: var(--button-fg);
}
.calendar td.nonday {
background: #f8f8f8;
background: var(--darkened-bg);
}
.calendar td.today a {
@ -440,17 +440,17 @@ span.clearable-file-input label {
font-weight: 400;
padding: 6px;
text-decoration: none;
color: #444;
color: var(--body-quiet-color);
}
.calendar td a:focus, .timelist a:focus,
.calendar td a:hover, .timelist a:hover {
background: #79aec8;
background: var(--primary);
color: white;
}
.calendar td a:active, .timelist a:active {
background: #417690;
background: var(--header-bg);
color: white;
}
@ -464,16 +464,16 @@ span.clearable-file-input label {
.calendarnav a:link, #calendarnav a:visited,
#calendarnav a:focus, #calendarnav a:hover {
color: #999;
color: var(--body-quiet-color);
}
.calendar-shortcuts {
background: white;
background: var(--body-bg);
color: var(--body-quiet-color);
font-size: 11px;
line-height: 11px;
border-top: 1px solid #eee;
border-top: 1px solid var(--hairline-color);
padding: 8px 0;
color: #ccc;
}
.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
@ -511,8 +511,8 @@ span.clearable-file-input label {
padding: 4px 0;
font-size: 12px;
background: #eee;
border-top: 1px solid #ddd;
color: #333;
border-top: 1px solid var(--border-color);
color: var(--body-fg);
}
.calendar-cancel:focus, .calendar-cancel:hover {

Binary file not shown.

View File

@ -13,6 +13,7 @@
redisplay: function(id) {
// Repopulate HTML select box from cache
const box = document.getElementById(id);
const scroll_value_from_top = box.scrollTop;
box.innerHTML = '';
for (const node of SelectBox.cache[id]) {
if (node.displayed) {
@ -22,6 +23,7 @@
box.appendChild(new_option);
}
}
box.scrollTop = scroll_value_from_top;
},
filter: function(id, text) {
// Redisplay the HTML select box, displaying only the choices containing ALL
@ -31,7 +33,7 @@
node.displayed = 1;
const node_text = node.text.toLowerCase();
for (const token of tokens) {
if (node_text.indexOf(token) === -1) {
if (!node_text.includes(token)) {
node.displayed = 0;
break; // Once the first token isn't found we're done
}

Binary file not shown.

View File

@ -13,6 +13,7 @@
redisplay: function(id) {
// Repopulate HTML select box from cache
const box = document.getElementById(id);
const scroll_value_from_top = box.scrollTop;
box.innerHTML = '';
for (const node of SelectBox.cache[id]) {
if (node.displayed) {
@ -22,6 +23,7 @@
box.appendChild(new_option);
}
}
box.scrollTop = scroll_value_from_top;
},
filter: function(id, text) {
// Redisplay the HTML select box, displaying only the choices containing ALL
@ -31,7 +33,7 @@
node.displayed = 1;
const node_text = node.text.toLowerCase();
for (const token of tokens) {
if (node_text.indexOf(token) === -1) {
if (!node_text.includes(token)) {
node.displayed = 0;
break; // Once the first token isn't found we're done
}

Binary file not shown.

View File

@ -1,154 +0,0 @@
/*global gettext, interpolate, ngettext*/
'use strict';
{
const $ = django.jQuery;
let lastChecked;
$.fn.actions = function(opts) {
const options = $.extend({}, $.fn.actions.defaults, opts);
const actionCheckboxes = $(this);
let list_editable_changed = false;
const showQuestion = function() {
$(options.acrossClears).hide();
$(options.acrossQuestions).show();
$(options.allContainer).hide();
},
showClear = function() {
$(options.acrossClears).show();
$(options.acrossQuestions).hide();
$(options.actionContainer).toggleClass(options.selectedClass);
$(options.allContainer).show();
$(options.counterContainer).hide();
},
reset = function() {
$(options.acrossClears).hide();
$(options.acrossQuestions).hide();
$(options.allContainer).hide();
$(options.counterContainer).show();
},
clearAcross = function() {
reset();
$(options.acrossInput).val(0);
$(options.actionContainer).removeClass(options.selectedClass);
},
checker = function(checked) {
if (checked) {
showQuestion();
} else {
reset();
}
$(actionCheckboxes).prop("checked", checked)
.parent().parent().toggleClass(options.selectedClass, checked);
},
updateCounter = function() {
const sel = $(actionCheckboxes).filter(":checked").length;
// data-actions-icnt is defined in the generated HTML
// and contains the total amount of objects in the queryset
const actions_icnt = $('.action-counter').data('actionsIcnt');
$(options.counterContainer).html(interpolate(
ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), {
sel: sel,
cnt: actions_icnt
}, true));
$(options.allToggle).prop("checked", function() {
let value;
if (sel === actionCheckboxes.length) {
value = true;
showQuestion();
} else {
value = false;
clearAcross();
}
return value;
});
};
// Show counter by default
$(options.counterContainer).show();
// Check state of checkboxes and reinit state if needed
$(this).filter(":checked").each(function(i) {
$(this).parent().parent().toggleClass(options.selectedClass);
updateCounter();
if ($(options.acrossInput).val() === 1) {
showClear();
}
});
$(options.allToggle).show().on('click', function() {
checker($(this).prop("checked"));
updateCounter();
});
$("a", options.acrossQuestions).on('click', function(event) {
event.preventDefault();
$(options.acrossInput).val(1);
showClear();
});
$("a", options.acrossClears).on('click', function(event) {
event.preventDefault();
$(options.allToggle).prop("checked", false);
clearAcross();
checker(0);
updateCounter();
});
lastChecked = null;
$(actionCheckboxes).on('click', function(event) {
if (!event) { event = window.event; }
const target = event.target ? event.target : event.srcElement;
if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) {
let inrange = false;
$(lastChecked).prop("checked", target.checked)
.parent().parent().toggleClass(options.selectedClass, target.checked);
$(actionCheckboxes).each(function() {
if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) {
inrange = (inrange) ? false : true;
}
if (inrange) {
$(this).prop("checked", target.checked)
.parent().parent().toggleClass(options.selectedClass, target.checked);
}
});
}
$(target).parent().parent().toggleClass(options.selectedClass, target.checked);
lastChecked = target;
updateCounter();
});
$('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() {
list_editable_changed = true;
});
$('form#changelist-form button[name="index"]').on('click', function(event) {
if (list_editable_changed) {
return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."));
}
});
$('form#changelist-form input[name="_save"]').on('click', function(event) {
let action_changed = false;
$('select option:selected', options.actionContainer).each(function() {
if ($(this).val()) {
action_changed = true;
}
});
if (action_changed) {
if (list_editable_changed) {
return confirm(gettext("You have selected an action, but you havent saved your changes to individual fields yet. Please click OK to save. Youll need to re-run the action."));
} else {
return confirm(gettext("You have selected an action, and you havent made any changes on individual fields. Youre probably looking for the Go button rather than the Save button."));
}
}
});
};
/* Setup plugin defaults */
$.fn.actions.defaults = {
actionContainer: "div.actions",
counterContainer: "span.action-counter",
allContainer: "div.actions span.all",
acrossInput: "div.actions input.select-across",
acrossQuestions: "div.actions span.question",
acrossClears: "div.actions span.clear",
allToggle: "#action-toggle",
selectedClass: "selected"
};
$(document).ready(function() {
const $actionsEls = $('tr input.action-select');
if ($actionsEls.length > 0) {
$actionsEls.actions();
}
});
}

View File

@ -0,0 +1,170 @@
/*global gettext, interpolate, ngettext*/
'use strict';
{
function show(selector) {
document.querySelectorAll(selector).forEach(function(el) {
el.classList.remove('hidden');
});
}
function hide(selector) {
document.querySelectorAll(selector).forEach(function(el) {
el.classList.add('hidden');
});
}
function showQuestion(options) {
hide(options.acrossClears);
show(options.acrossQuestions);
hide(options.allContainer);
}
function showClear(options) {
show(options.acrossClears);
hide(options.acrossQuestions);
document.querySelector(options.actionContainer).classList.remove(options.selectedClass);
show(options.allContainer);
hide(options.counterContainer);
}
function reset(options) {
hide(options.acrossClears);
hide(options.acrossQuestions);
hide(options.allContainer);
show(options.counterContainer);
}
function clearAcross(options) {
reset(options);
document.querySelector(options.acrossInput).value = 0;
document.querySelector(options.actionContainer).classList.remove(options.selectedClass);
}
function checker(actionCheckboxes, options, checked) {
if (checked) {
showQuestion(options);
} else {
reset(options);
}
actionCheckboxes.forEach(function(el) {
el.checked = checked;
el.closest('tr').classList.toggle(options.selectedClass, checked);
});
}
function updateCounter(actionCheckboxes, options) {
const sel = Array.from(actionCheckboxes).filter(function(el) {
return el.checked;
}).length;
const counter = document.querySelector(options.counterContainer);
// data-actions-icnt is defined in the generated HTML
// and contains the total amount of objects in the queryset
const actions_icnt = Number(counter.dataset.actionsIcnt);
counter.textContent = interpolate(
ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), {
sel: sel,
cnt: actions_icnt
}, true);
const allToggle = document.getElementById(options.allToggleId);
allToggle.checked = sel === actionCheckboxes.length;
if (allToggle.checked) {
showQuestion(options);
} else {
clearAcross(options);
}
}
const defaults = {
actionContainer: "div.actions",
counterContainer: "span.action-counter",
allContainer: "div.actions span.all",
acrossInput: "div.actions input.select-across",
acrossQuestions: "div.actions span.question",
acrossClears: "div.actions span.clear",
allToggleId: "action-toggle",
selectedClass: "selected"
};
window.Actions = function(actionCheckboxes, options) {
options = Object.assign({}, defaults, options);
let list_editable_changed = false;
document.getElementById(options.allToggleId).addEventListener('click', function(event) {
checker(actionCheckboxes, options, this.checked);
updateCounter(actionCheckboxes, options);
});
document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) {
el.addEventListener('click', function(event) {
event.preventDefault();
const acrossInput = document.querySelector(options.acrossInput);
acrossInput.value = 1;
showClear(options);
});
});
document.querySelectorAll(options.acrossClears + " a").forEach(function(el) {
el.addEventListener('click', function(event) {
event.preventDefault();
document.getElementById(options.allToggleId).checked = false;
clearAcross(options);
checker(actionCheckboxes, options, false);
updateCounter(actionCheckboxes, options);
});
});
Array.from(document.getElementById('result_list').tBodies).forEach(function(el) {
el.addEventListener('change', function(event) {
const target = event.target;
if (target.classList.contains('action-select')) {
target.closest('tr').classList.toggle(options.selectedClass, target.checked);
updateCounter(actionCheckboxes, options);
} else {
list_editable_changed = true;
}
});
});
document.querySelector('#changelist-form button[name=index]').addEventListener('click', function() {
if (list_editable_changed) {
const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."));
if (!confirmed) {
event.preventDefault();
}
}
});
const el = document.querySelector('#changelist-form input[name=_save]');
// The button does not exist if no fields are editable.
if (el) {
el.addEventListener('click', function(event) {
if (document.querySelector('[name=action]').value) {
const text = list_editable_changed
? gettext("You have selected an action, but you havent saved your changes to individual fields yet. Please click OK to save. Youll need to re-run the action.")
: gettext("You have selected an action, and you havent made any changes on individual fields. Youre probably looking for the Go button rather than the Save button.");
if (!confirm(text)) {
event.preventDefault();
}
}
});
}
};
// Call function fn when the DOM is loaded and ready. If it is already
// loaded, call the function now.
// http://youmightnotneedjquery.com/#ready
function ready(fn) {
if (document.readyState !== 'loading') {
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}
ready(function() {
const actionsEls = document.querySelectorAll('tr input.action-select');
if (actionsEls.length > 0) {
Actions(actionsEls);
}
});
}

Binary file not shown.

View File

@ -1,154 +1,170 @@
/*global gettext, interpolate, ngettext*/
'use strict';
{
const $ = django.jQuery;
let lastChecked;
function show(selector) {
document.querySelectorAll(selector).forEach(function(el) {
el.classList.remove('hidden');
});
}
$.fn.actions = function(opts) {
const options = $.extend({}, $.fn.actions.defaults, opts);
const actionCheckboxes = $(this);
let list_editable_changed = false;
const showQuestion = function() {
$(options.acrossClears).hide();
$(options.acrossQuestions).show();
$(options.allContainer).hide();
},
showClear = function() {
$(options.acrossClears).show();
$(options.acrossQuestions).hide();
$(options.actionContainer).toggleClass(options.selectedClass);
$(options.allContainer).show();
$(options.counterContainer).hide();
},
reset = function() {
$(options.acrossClears).hide();
$(options.acrossQuestions).hide();
$(options.allContainer).hide();
$(options.counterContainer).show();
},
clearAcross = function() {
reset();
$(options.acrossInput).val(0);
$(options.actionContainer).removeClass(options.selectedClass);
},
checker = function(checked) {
if (checked) {
showQuestion();
} else {
reset();
}
$(actionCheckboxes).prop("checked", checked)
.parent().parent().toggleClass(options.selectedClass, checked);
},
updateCounter = function() {
const sel = $(actionCheckboxes).filter(":checked").length;
// data-actions-icnt is defined in the generated HTML
// and contains the total amount of objects in the queryset
const actions_icnt = $('.action-counter').data('actionsIcnt');
$(options.counterContainer).html(interpolate(
ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), {
sel: sel,
cnt: actions_icnt
}, true));
$(options.allToggle).prop("checked", function() {
let value;
if (sel === actionCheckboxes.length) {
value = true;
showQuestion();
} else {
value = false;
clearAcross();
}
return value;
});
};
// Show counter by default
$(options.counterContainer).show();
// Check state of checkboxes and reinit state if needed
$(this).filter(":checked").each(function(i) {
$(this).parent().parent().toggleClass(options.selectedClass);
updateCounter();
if ($(options.acrossInput).val() === 1) {
showClear();
}
function hide(selector) {
document.querySelectorAll(selector).forEach(function(el) {
el.classList.add('hidden');
});
$(options.allToggle).show().on('click', function() {
checker($(this).prop("checked"));
updateCounter();
}
function showQuestion(options) {
hide(options.acrossClears);
show(options.acrossQuestions);
hide(options.allContainer);
}
function showClear(options) {
show(options.acrossClears);
hide(options.acrossQuestions);
document.querySelector(options.actionContainer).classList.remove(options.selectedClass);
show(options.allContainer);
hide(options.counterContainer);
}
function reset(options) {
hide(options.acrossClears);
hide(options.acrossQuestions);
hide(options.allContainer);
show(options.counterContainer);
}
function clearAcross(options) {
reset(options);
document.querySelector(options.acrossInput).value = 0;
document.querySelector(options.actionContainer).classList.remove(options.selectedClass);
}
function checker(actionCheckboxes, options, checked) {
if (checked) {
showQuestion(options);
} else {
reset(options);
}
actionCheckboxes.forEach(function(el) {
el.checked = checked;
el.closest('tr').classList.toggle(options.selectedClass, checked);
});
$("a", options.acrossQuestions).on('click', function(event) {
event.preventDefault();
$(options.acrossInput).val(1);
showClear();
});
$("a", options.acrossClears).on('click', function(event) {
event.preventDefault();
$(options.allToggle).prop("checked", false);
clearAcross();
checker(0);
updateCounter();
});
lastChecked = null;
$(actionCheckboxes).on('click', function(event) {
if (!event) { event = window.event; }
const target = event.target ? event.target : event.srcElement;
if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) {
let inrange = false;
$(lastChecked).prop("checked", target.checked)
.parent().parent().toggleClass(options.selectedClass, target.checked);
$(actionCheckboxes).each(function() {
if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) {
inrange = (inrange) ? false : true;
}
if (inrange) {
$(this).prop("checked", target.checked)
.parent().parent().toggleClass(options.selectedClass, target.checked);
}
});
}
$(target).parent().parent().toggleClass(options.selectedClass, target.checked);
lastChecked = target;
updateCounter();
});
$('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() {
list_editable_changed = true;
});
$('form#changelist-form button[name="index"]').on('click', function(event) {
if (list_editable_changed) {
return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."));
}
});
$('form#changelist-form input[name="_save"]').on('click', function(event) {
let action_changed = false;
$('select option:selected', options.actionContainer).each(function() {
if ($(this).val()) {
action_changed = true;
}
});
if (action_changed) {
if (list_editable_changed) {
return confirm(gettext("You have selected an action, but you havent saved your changes to individual fields yet. Please click OK to save. Youll need to re-run the action."));
} else {
return confirm(gettext("You have selected an action, and you havent made any changes on individual fields. Youre probably looking for the Go button rather than the Save button."));
}
}
});
};
/* Setup plugin defaults */
$.fn.actions.defaults = {
}
function updateCounter(actionCheckboxes, options) {
const sel = Array.from(actionCheckboxes).filter(function(el) {
return el.checked;
}).length;
const counter = document.querySelector(options.counterContainer);
// data-actions-icnt is defined in the generated HTML
// and contains the total amount of objects in the queryset
const actions_icnt = Number(counter.dataset.actionsIcnt);
counter.textContent = interpolate(
ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), {
sel: sel,
cnt: actions_icnt
}, true);
const allToggle = document.getElementById(options.allToggleId);
allToggle.checked = sel === actionCheckboxes.length;
if (allToggle.checked) {
showQuestion(options);
} else {
clearAcross(options);
}
}
const defaults = {
actionContainer: "div.actions",
counterContainer: "span.action-counter",
allContainer: "div.actions span.all",
acrossInput: "div.actions input.select-across",
acrossQuestions: "div.actions span.question",
acrossClears: "div.actions span.clear",
allToggle: "#action-toggle",
allToggleId: "action-toggle",
selectedClass: "selected"
};
$(document).ready(function() {
const $actionsEls = $('tr input.action-select');
if ($actionsEls.length > 0) {
$actionsEls.actions();
window.Actions = function(actionCheckboxes, options) {
options = Object.assign({}, defaults, options);
let list_editable_changed = false;
document.getElementById(options.allToggleId).addEventListener('click', function(event) {
checker(actionCheckboxes, options, this.checked);
updateCounter(actionCheckboxes, options);
});
document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) {
el.addEventListener('click', function(event) {
event.preventDefault();
const acrossInput = document.querySelector(options.acrossInput);
acrossInput.value = 1;
showClear(options);
});
});
document.querySelectorAll(options.acrossClears + " a").forEach(function(el) {
el.addEventListener('click', function(event) {
event.preventDefault();
document.getElementById(options.allToggleId).checked = false;
clearAcross(options);
checker(actionCheckboxes, options, false);
updateCounter(actionCheckboxes, options);
});
});
Array.from(document.getElementById('result_list').tBodies).forEach(function(el) {
el.addEventListener('change', function(event) {
const target = event.target;
if (target.classList.contains('action-select')) {
target.closest('tr').classList.toggle(options.selectedClass, target.checked);
updateCounter(actionCheckboxes, options);
} else {
list_editable_changed = true;
}
});
});
document.querySelector('#changelist-form button[name=index]').addEventListener('click', function() {
if (list_editable_changed) {
const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."));
if (!confirmed) {
event.preventDefault();
}
}
});
const el = document.querySelector('#changelist-form input[name=_save]');
// The button does not exist if no fields are editable.
if (el) {
el.addEventListener('click', function(event) {
if (document.querySelector('[name=action]').value) {
const text = list_editable_changed
? gettext("You have selected an action, but you havent saved your changes to individual fields yet. Please click OK to save. Youll need to re-run the action.")
: gettext("You have selected an action, and you havent made any changes on individual fields. Youre probably looking for the Go button rather than the Save button.");
if (!confirm(text)) {
event.preventDefault();
}
}
});
}
};
// Call function fn when the DOM is loaded and ready. If it is already
// loaded, call the function now.
// http://youmightnotneedjquery.com/#ready
function ready(fn) {
if (document.readyState !== 'loading') {
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}
ready(function() {
const actionsEls = document.querySelectorAll('tr input.action-select');
if (actionsEls.length > 0) {
Actions(actionsEls);
}
});
}

Binary file not shown.

View File

@ -1,7 +0,0 @@
'use strict';{const a=django.jQuery;let e;a.fn.actions=function(g){const b=a.extend({},a.fn.actions.defaults,g),f=a(this);let k=!1;const l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},
p=function(){n();a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(f).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){const c=a(f).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){let a;c===f.length?(a=!0,l()):(a=!1,p());return a})};
a(b.counterContainer).show();a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});e=null;a(f).on("click",function(c){c||(c=window.event);
const d=c.target?c.target:c.srcElement;if(e&&a.data(e)!==a.data(d)&&!0===c.shiftKey){let c=!1;a(e).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(f).each(function(){if(a.data(this)===a.data(e)||a.data(this)===a.data(d))c=c?!1:!0;c&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);e=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",
function(){k=!0});a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){let d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven\u2019t saved your changes to individual fields yet. Please click OK to save. You\u2019ll need to re-run the action.")):
confirm(gettext("You have selected an action, and you haven\u2019t made any changes on individual fields. You\u2019re probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){const g=
a("tr input.action-select");0<g.length&&g.actions()})};

View File

@ -1,7 +0,0 @@
'use strict';{const a=django.jQuery;let e;a.fn.actions=function(g){const b=a.extend({},a.fn.actions.defaults,g),f=a(this);let k=!1;const l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},
p=function(){n();a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(f).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){const c=a(f).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){let a;c===f.length?(a=!0,l()):(a=!1,p());return a})};
a(b.counterContainer).show();a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});e=null;a(f).on("click",function(c){c||(c=window.event);
const d=c.target?c.target:c.srcElement;if(e&&a.data(e)!==a.data(d)&&!0===c.shiftKey){let c=!1;a(e).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(f).each(function(){if(a.data(this)===a.data(e)||a.data(this)===a.data(d))c=c?!1:!0;c&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);e=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",
function(){k=!0});a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){let d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven\u2019t saved your changes to individual fields yet. Please click OK to save. You\u2019ll need to re-run the action.")):
confirm(gettext("You have selected an action, and you haven\u2019t made any changes on individual fields. You\u2019re probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){const g=
a("tr input.action-select");0<g.length&&g.actions()})};

Binary file not shown.

View File

@ -28,8 +28,7 @@
timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch
timezoneOffset: 0,
init: function() {
const body = document.getElementsByTagName('body')[0];
const serverOffset = body.dataset.adminUtcOffset;
const serverOffset = document.body.dataset.adminUtcOffset;
if (serverOffset) {
const localOffset = new Date().getTimezoneOffset() * -60;
DateTimeShortcuts.timezoneOffset = localOffset - serverOffset;
@ -48,8 +47,7 @@
},
// Return the current time while accounting for the server timezone.
now: function() {
const body = document.getElementsByTagName('body')[0];
const serverOffset = body.dataset.adminUtcOffset;
const serverOffset = document.body.dataset.adminUtcOffset;
if (serverOffset) {
const localNow = new Date();
const localOffset = localNow.getTimezoneOffset() * -60;

View File

@ -28,8 +28,7 @@
timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch
timezoneOffset: 0,
init: function() {
const body = document.getElementsByTagName('body')[0];
const serverOffset = body.dataset.adminUtcOffset;
const serverOffset = document.body.dataset.adminUtcOffset;
if (serverOffset) {
const localOffset = new Date().getTimezoneOffset() * -60;
DateTimeShortcuts.timezoneOffset = localOffset - serverOffset;
@ -48,8 +47,7 @@
},
// Return the current time while accounting for the server timezone.
now: function() {
const body = document.getElementsByTagName('body')[0];
const serverOffset = body.dataset.adminUtcOffset;
const serverOffset = document.body.dataset.adminUtcOffset;
if (serverOffset) {
const localNow = new Date();
const localOffset = localNow.getTimezoneOffset() * -60;

View File

@ -7,13 +7,9 @@
function showAdminPopup(triggeringLink, name_regexp, add_popup) {
const name = triggeringLink.id.replace(name_regexp, '');
let href = triggeringLink.href;
const href = new URL(triggeringLink.href);
if (add_popup) {
if (href.indexOf('?') === -1) {
href += '?_popup=1';
} else {
href += '&_popup=1';
}
href.searchParams.set('_popup', 1);
}
const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
win.focus();

View File

@ -7,13 +7,9 @@
function showAdminPopup(triggeringLink, name_regexp, add_popup) {
const name = triggeringLink.id.replace(name_regexp, '');
let href = triggeringLink.href;
const href = new URL(triggeringLink.href);
if (add_popup) {
if (href.indexOf('?') === -1) {
href += '?_popup=1';
} else {
href += '&_popup=1';
}
href.searchParams.set('_popup', 1);
}
const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
win.focus();

View File

@ -7,7 +7,10 @@
data: function(params) {
return {
term: params.term,
page: params.page
page: params.page,
app_label: $element.data('app-label'),
model_name: $element.data('model-name'),
field_name: $element.data('field-name')
};
}
}

Binary file not shown.

View File

@ -7,7 +7,10 @@
data: function(params) {
return {
term: params.term,
page: params.page
page: params.page,
app_label: $element.data('app-label'),
model_name: $element.data('model-name'),
field_name: $element.data('field-name')
};
}
}

Binary file not shown.

View File

@ -21,6 +21,20 @@ depends on core.js for utility functions like removeChildren or quickElement
gettext('November'),
gettext('December')
],
monthsOfYearAbbrev: [
pgettext('abbrev. month January', 'Jan'),
pgettext('abbrev. month February', 'Feb'),
pgettext('abbrev. month March', 'Mar'),
pgettext('abbrev. month April', 'Apr'),
pgettext('abbrev. month May', 'May'),
pgettext('abbrev. month June', 'Jun'),
pgettext('abbrev. month July', 'Jul'),
pgettext('abbrev. month August', 'Aug'),
pgettext('abbrev. month September', 'Sep'),
pgettext('abbrev. month October', 'Oct'),
pgettext('abbrev. month November', 'Nov'),
pgettext('abbrev. month December', 'Dec')
],
daysOfWeek: [
pgettext('one letter Sunday', 'S'),
pgettext('one letter Monday', 'M'),

Binary file not shown.

View File

@ -21,6 +21,20 @@ depends on core.js for utility functions like removeChildren or quickElement
gettext('November'),
gettext('December')
],
monthsOfYearAbbrev: [
pgettext('abbrev. month January', 'Jan'),
pgettext('abbrev. month February', 'Feb'),
pgettext('abbrev. month March', 'Mar'),
pgettext('abbrev. month April', 'Apr'),
pgettext('abbrev. month May', 'May'),
pgettext('abbrev. month June', 'Jun'),
pgettext('abbrev. month July', 'Jul'),
pgettext('abbrev. month August', 'Aug'),
pgettext('abbrev. month September', 'Sep'),
pgettext('abbrev. month October', 'Oct'),
pgettext('abbrev. month November', 'Nov'),
pgettext('abbrev. month December', 'Dec')
],
daysOfWeek: [
pgettext('one letter Sunday', 'S'),
pgettext('one letter Monday', 'M'),

Binary file not shown.

View File

@ -14,10 +14,11 @@
ready(function() {
function handleClick(event) {
event.preventDefault();
if (window.location.search.indexOf('&_popup=1') === -1) {
window.history.back(); // Go back if not a popup.
const params = new URLSearchParams(window.location.search);
if (params.has('_popup')) {
window.close(); // Close the popup.
} else {
window.close(); // Otherwise, close the popup.
window.history.back(); // Otherwise, go back.
}
}

Binary file not shown.

View File

@ -14,10 +14,11 @@
ready(function() {
function handleClick(event) {
event.preventDefault();
if (window.location.search.indexOf('&_popup=1') === -1) {
window.history.back(); // Go back if not a popup.
const params = new URLSearchParams(window.location.search);
if (params.has('_popup')) {
window.close(); // Close the popup.
} else {
window.close(); // Otherwise, close the popup.
window.history.back(); // Otherwise, go back.
}
}

Binary file not shown.

View File

@ -1,2 +0,0 @@
'use strict';window.addEventListener("load",function(){var c=document.querySelectorAll("fieldset.collapse");for(const [a,b]of c.entries())if(0===b.querySelectorAll("div.errors, ul.errorlist").length){b.classList.add("collapsed");c=b.querySelector("h2");const d=document.createElement("a");d.id="fieldsetcollapser"+a;d.className="collapse-toggle";d.href="#";d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}const e=
function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();const b=a.target.closest("fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};document.querySelectorAll("fieldset.module").forEach(function(a){a.addEventListener("click",e)})});

View File

@ -1,2 +0,0 @@
'use strict';window.addEventListener("load",function(){var c=document.querySelectorAll("fieldset.collapse");for(const [a,b]of c.entries())if(0===b.querySelectorAll("div.errors, ul.errorlist").length){b.classList.add("collapsed");c=b.querySelector("h2");const d=document.createElement("a");d.id="fieldsetcollapser"+a;d.className="collapse-toggle";d.href="#";d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}const e=
function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();const b=a.target.closest("fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};document.querySelectorAll("fieldset.module").forEach(function(a){a.addEventListener("click",e)})});

Binary file not shown.

View File

@ -85,6 +85,12 @@ function findPosY(obj) {
return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds();
};
Date.prototype.getAbbrevMonthName = function() {
return typeof window.CalendarNamespace === "undefined"
? this.getTwoDigitMonth()
: window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()];
};
Date.prototype.getFullMonthName = function() {
return typeof window.CalendarNamespace === "undefined"
? this.getTwoDigitMonth()
@ -93,6 +99,7 @@ function findPosY(obj) {
Date.prototype.strftime = function(format) {
const fields = {
b: this.getAbbrevMonthName(),
B: this.getFullMonthName(),
c: this.toString(),
d: this.getTwoDigitDate(),

Binary file not shown.

View File

@ -85,6 +85,12 @@ function findPosY(obj) {
return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds();
};
Date.prototype.getAbbrevMonthName = function() {
return typeof window.CalendarNamespace === "undefined"
? this.getTwoDigitMonth()
: window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()];
};
Date.prototype.getFullMonthName = function() {
return typeof window.CalendarNamespace === "undefined"
? this.getTwoDigitMonth()
@ -93,6 +99,7 @@ function findPosY(obj) {
Date.prototype.strftime = function(format) {
const fields = {
b: this.getAbbrevMonthName(),
B: this.getFullMonthName(),
c: this.toString(),
d: this.getTwoDigitDate(),

Binary file not shown.

View File

@ -1,11 +0,0 @@
'use strict';{const b=django.jQuery;b.fn.formset=function(c){const a=b.extend({},b.fn.formset.defaults,c),e=b(this),l=e.parent(),m=function(a,d,h){const g=new RegExp("("+d+"-(\\d+|__prefix__))");d=d+"-"+h;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(g,d));a.id&&(a.id=a.id.replace(g,d));a.name&&(a.name=a.name.replace(g,d))},f=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off");let n=parseInt(f.val(),10);const h=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),q=
b("#id_"+a.prefix+"-MIN_NUM_FORMS").prop("autocomplete","off");let k;const t=function(g){g.preventDefault();g=b("#"+a.prefix+"-empty");const d=g.clone(!0);d.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+n);r(d);d.find("*").each(function(){m(this,a.prefix,f.val())});d.insertBefore(b(g));b(f).val(parseInt(f.val(),10)+1);n+=1;""!==h.val()&&0>=h.val()-f.val()&&k.parent().hide();p(d.closest(".inline-group"));a.added&&a.added(d);b(document).trigger("formset:added",[d,a.prefix])},
r=function(b){b.is("tr")?b.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):b.is("ul")||b.is("ol")?b.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):b.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");b.find("a."+a.deleteCssClass).on("click",u.bind(this))},u=function(g){g.preventDefault();var d=b(g.target).closest("."+a.formCssClass);g=d.closest(".inline-group");
var f=d.prev();f.length&&f.hasClass("row-form-errors")&&f.remove();d.remove();--n;a.removed&&a.removed(d);b(document).trigger("formset:removed",[d,a.prefix]);d=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(d.length);(""===h.val()||0<h.val()-d.length)&&k.parent().show();p(g);let c;f=function(){m(this,a.prefix,c)};c=0;for(g=d.length;c<g;c++)m(b(d).get(c),a.prefix,c),b(d.get(c)).find("*").each(f)},p=function(a){""!==q.val()&&0<=q.val()-f.val()?a.find(".inline-deletelink").hide():a.find(".inline-deletelink").show()};
e.each(function(c){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});e.filter("."+a.formCssClass+":not(.has_original):not(."+a.emptyCssClass+")").each(function(){r(b(this))});p(e);k=a.addButton;(function(){if(null===k)if("TR"===e.prop("tagName")){const b=e.eq(-1).children().length;l.append('<tr class="'+a.addCssClass+'"><td colspan="'+b+'"><a href="#">'+a.addText+"</a></tr>");k=l.find("tr:last a")}else e.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"),
k=e.filter(":last").next().find("a");k.on("click",t)})();c=""===h.val()||0<h.val()-f.val();e.length&&c?k.parent().show():k.parent().hide();return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(c,a){c=b(this);const e=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,
b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},l=function(a){a.find(".prepopulated_field").each(function(){const c=b(this).find("input, select, textarea"),n=c.data("dependency_list")||[],h=[];b.each(n,function(b,c){h.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});h.length&&c.prepopulate(h,c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText,
formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",added:function(a){l(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());e()},addButton:a.addButton});return c};b.fn.stackedFormset=function(c,a){const e=b(this),l=function(a){b(c).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g,"#"+a))})},m=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,
b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},f=function(a){a.find(".prepopulated_field").each(function(){const c=b(this).find("input, select, textarea"),f=c.data("dependency_list")||[],e=[];b.each(f,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))});e.length&&c.prepopulate(e,c.attr("maxlength"))})};e.formset({prefix:a.prefix,
addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:l,added:function(a){f(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());m();l(a)},addButton:a.addButton});return e};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var c=b(this).data();const a=c.inlineFormset;switch(c.inlineType){case "stacked":c=a.name+"-group .inline-related";
b(c).stackedFormset(c,a.options);break;case "tabular":c=a.name+"-group .tabular.inline-related tbody:first > tr.form-row",b(c).tabularFormset(c,a.options)}})})};

View File

@ -1,11 +0,0 @@
'use strict';{const b=django.jQuery;b.fn.formset=function(c){const a=b.extend({},b.fn.formset.defaults,c),e=b(this),l=e.parent(),m=function(a,d,h){const g=new RegExp("("+d+"-(\\d+|__prefix__))");d=d+"-"+h;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(g,d));a.id&&(a.id=a.id.replace(g,d));a.name&&(a.name=a.name.replace(g,d))},f=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off");let n=parseInt(f.val(),10);const h=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),q=
b("#id_"+a.prefix+"-MIN_NUM_FORMS").prop("autocomplete","off");let k;const t=function(g){g.preventDefault();g=b("#"+a.prefix+"-empty");const d=g.clone(!0);d.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+n);r(d);d.find("*").each(function(){m(this,a.prefix,f.val())});d.insertBefore(b(g));b(f).val(parseInt(f.val(),10)+1);n+=1;""!==h.val()&&0>=h.val()-f.val()&&k.parent().hide();p(d.closest(".inline-group"));a.added&&a.added(d);b(document).trigger("formset:added",[d,a.prefix])},
r=function(b){b.is("tr")?b.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):b.is("ul")||b.is("ol")?b.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):b.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");b.find("a."+a.deleteCssClass).on("click",u.bind(this))},u=function(g){g.preventDefault();var d=b(g.target).closest("."+a.formCssClass);g=d.closest(".inline-group");
var f=d.prev();f.length&&f.hasClass("row-form-errors")&&f.remove();d.remove();--n;a.removed&&a.removed(d);b(document).trigger("formset:removed",[d,a.prefix]);d=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(d.length);(""===h.val()||0<h.val()-d.length)&&k.parent().show();p(g);let c;f=function(){m(this,a.prefix,c)};c=0;for(g=d.length;c<g;c++)m(b(d).get(c),a.prefix,c),b(d.get(c)).find("*").each(f)},p=function(a){""!==q.val()&&0<=q.val()-f.val()?a.find(".inline-deletelink").hide():a.find(".inline-deletelink").show()};
e.each(function(c){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});e.filter("."+a.formCssClass+":not(.has_original):not(."+a.emptyCssClass+")").each(function(){r(b(this))});p(e);k=a.addButton;(function(){if(null===k)if("TR"===e.prop("tagName")){const b=e.eq(-1).children().length;l.append('<tr class="'+a.addCssClass+'"><td colspan="'+b+'"><a href="#">'+a.addText+"</a></tr>");k=l.find("tr:last a")}else e.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"),
k=e.filter(":last").next().find("a");k.on("click",t)})();c=""===h.val()||0<h.val()-f.val();e.length&&c?k.parent().show():k.parent().hide();return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(c,a){c=b(this);const e=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,
b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},l=function(a){a.find(".prepopulated_field").each(function(){const c=b(this).find("input, select, textarea"),n=c.data("dependency_list")||[],h=[];b.each(n,function(b,c){h.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});h.length&&c.prepopulate(h,c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText,
formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",added:function(a){l(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());e()},addButton:a.addButton});return c};b.fn.stackedFormset=function(c,a){const e=b(this),l=function(a){b(c).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g,"#"+a))})},m=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,
b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},f=function(a){a.find(".prepopulated_field").each(function(){const c=b(this).find("input, select, textarea"),f=c.data("dependency_list")||[],e=[];b.each(f,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))});e.length&&c.prepopulate(e,c.attr("maxlength"))})};e.formset({prefix:a.prefix,
addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:l,added:function(a){f(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());m();l(a)},addButton:a.addButton});return e};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var c=b(this).data();const a=c.inlineFormset;switch(c.inlineType){case "stacked":c=a.name+"-group .inline-related";
b(c).stackedFormset(c,a.options);break;case "tabular":c=a.name+"-group .tabular.inline-related tbody:first > tr.form-row",b(c).tabularFormset(c,a.options)}})})};

Binary file not shown.

View File

@ -1 +0,0 @@
'use strict';{const b=django.jQuery;b.fn.prepopulate=function(d,f,g){return this.each(function(){const a=b(this),h=function(){if(!a.data("_changed")){var e=[];b.each(d,function(a,c){c=b(c);0<c.val().length&&e.push(c.val())});a.val(URLify(e.join(" "),f,g))}};a.data("_changed",!1);a.on("change",function(){a.data("_changed",!0)});if(!a.val())b(d.join(",")).on("keyup change focus",h)})}};

Some files were not shown because too many files have changed in this diff Show More