diff --git a/gulpfile.js b/gulpfile.js
index 2b7d9cc1..bf1a4228 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -6,6 +6,7 @@ var es = require('child_process').execSync;
var flatten = require('gulp-flatten');
var fontello = require('gulp-fontello');
var pump = require('pump');
+var removeSourcemaps = require('gulp-remove-sourcemaps');
var sass = require('gulp-sass')(require('sass'));
var sassGlob = require('gulp-sass-glob');
var styleLint = require('gulp-stylelint');
@@ -180,18 +181,21 @@ function lint(cb) {
function scripts(cb) {
pump([
gulp.src(config.scriptsConfig.vendor),
+ removeSourcemaps(),
concat('vendor.js'),
gulp.dest(config.scriptsConfig.dest)
], cb);
pump([
gulp.src(config.scriptsConfig.graph),
+ removeSourcemaps(),
concat('graph.js'),
gulp.dest(config.scriptsConfig.dest)
], cb);
pump([
gulp.src(config.scriptsConfig.app),
+ removeSourcemaps(),
concat('app.js'),
gulp.dest(config.scriptsConfig.dest)
], cb);
diff --git a/package-lock.json b/package-lock.json
index 0d55c9cb..1dcd4f98 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,7 @@
"gulp-csso": "^4.0.1",
"gulp-flatten": "^0.4.0",
"gulp-fontello": "^0.5.2",
+ "gulp-remove-sourcemaps": "^1.0.4",
"gulp-sass": "^5.0.0",
"gulp-sass-glob": "^1.1.0",
"gulp-spawn": "^1.0.0",
@@ -3858,6 +3859,12 @@
"y18n": "^3.2.0"
}
},
+ "node_modules/gulp-remove-sourcemaps": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/gulp-remove-sourcemaps/-/gulp-remove-sourcemaps-1.0.4.tgz",
+ "integrity": "sha512-zW+YRzgbJIDDqAlIa/EtFJbOV1GSzQe2qV2zy+PjI1TJ27JCykQ5eYC+ajogEKZUOzoosgBnXzUGQlVW3YQUIw==",
+ "dev": true
+ },
"node_modules/gulp-sass": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz",
@@ -13127,6 +13134,12 @@
}
}
},
+ "gulp-remove-sourcemaps": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/gulp-remove-sourcemaps/-/gulp-remove-sourcemaps-1.0.4.tgz",
+ "integrity": "sha512-zW+YRzgbJIDDqAlIa/EtFJbOV1GSzQe2qV2zy+PjI1TJ27JCykQ5eYC+ajogEKZUOzoosgBnXzUGQlVW3YQUIw==",
+ "dev": true
+ },
"gulp-sass": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz",
diff --git a/package.json b/package.json
index f5b20064..545bec27 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"gulp-csso": "^4.0.1",
"gulp-flatten": "^0.4.0",
"gulp-fontello": "^0.5.2",
+ "gulp-remove-sourcemaps": "^1.0.4",
"gulp-sass": "^5.0.0",
"gulp-sass-glob": "^1.1.0",
"gulp-spawn": "^1.0.0",
diff --git a/static/admin/css/changelists.c70d77c47e69.css.gz b/static/admin/css/changelists.c70d77c47e69.css.gz
deleted file mode 100644
index f2ae5651..00000000
Binary files a/static/admin/css/changelists.c70d77c47e69.css.gz and /dev/null differ
diff --git a/static/admin/css/changelists.c70d77c47e69.css b/static/admin/css/changelists.cd4dd90ae1a1.css
similarity index 99%
rename from static/admin/css/changelists.c70d77c47e69.css
rename to static/admin/css/changelists.cd4dd90ae1a1.css
index b4a15578..a4baf329 100644
--- a/static/admin/css/changelists.c70d77c47e69.css
+++ b/static/admin/css/changelists.cd4dd90ae1a1.css
@@ -125,6 +125,10 @@
margin-right: 4px;
}
+#changelist-search .help {
+ word-break: break-word;
+}
+
/* FILTER COLUMN */
#changelist-filter {
diff --git a/static/admin/css/changelists.cd4dd90ae1a1.css.gz b/static/admin/css/changelists.cd4dd90ae1a1.css.gz
new file mode 100644
index 00000000..3c0c4eb3
Binary files /dev/null and b/static/admin/css/changelists.cd4dd90ae1a1.css.gz differ
diff --git a/static/admin/css/changelists.css b/static/admin/css/changelists.css
index b4a15578..a4baf329 100644
--- a/static/admin/css/changelists.css
+++ b/static/admin/css/changelists.css
@@ -125,6 +125,10 @@
margin-right: 4px;
}
+#changelist-search .help {
+ word-break: break-word;
+}
+
/* FILTER COLUMN */
#changelist-filter {
diff --git a/static/admin/css/changelists.css.gz b/static/admin/css/changelists.css.gz
index f2ae5651..3c0c4eb3 100644
Binary files a/static/admin/css/changelists.css.gz and b/static/admin/css/changelists.css.gz differ
diff --git a/static/admin/css/forms.1d89ec6432f5.css.gz b/static/admin/css/forms.1d89ec6432f5.css.gz
deleted file mode 100644
index c7a45be1..00000000
Binary files a/static/admin/css/forms.1d89ec6432f5.css.gz and /dev/null differ
diff --git a/static/admin/css/forms.1d89ec6432f5.css b/static/admin/css/forms.332ab41432e2.css
similarity index 97%
rename from static/admin/css/forms.1d89ec6432f5.css
rename to static/admin/css/forms.332ab41432e2.css
index 02f9ac0f..2e62f9ec 100644
--- a/static/admin/css/forms.1d89ec6432f5.css
+++ b/static/admin/css/forms.332ab41432e2.css
@@ -37,16 +37,19 @@ label {
/* RADIO BUTTONS */
-form ul.radiolist li {
- list-style-type: none;
+form div.radiolist div {
+ padding-right: 7px;
}
-form ul.radiolist label {
- float: none;
- display: inline;
+form div.radiolist.inline div {
+ display: inline-block;
}
-form ul.radiolist input[type="radio"] {
+form div.radiolist label {
+ width: auto;
+}
+
+form div.radiolist input[type="radio"] {
margin: -2px 4px 0 0;
padding: 0;
}
@@ -84,6 +87,7 @@ form ul.inline li {
margin-top: 0;
margin-bottom: 0;
margin-left: 170px;
+ overflow-wrap: break-word;
}
.aligned ul label {
@@ -105,7 +109,7 @@ form .aligned ul {
padding-left: 10px;
}
-form .aligned ul.radiolist {
+form .aligned div.radiolist {
display: inline-block;
margin: 0;
padding: 0;
diff --git a/static/admin/css/forms.332ab41432e2.css.gz b/static/admin/css/forms.332ab41432e2.css.gz
new file mode 100644
index 00000000..364917b7
Binary files /dev/null and b/static/admin/css/forms.332ab41432e2.css.gz differ
diff --git a/static/admin/css/forms.css b/static/admin/css/forms.css
index 89b22701..bb44be7f 100644
--- a/static/admin/css/forms.css
+++ b/static/admin/css/forms.css
@@ -37,16 +37,19 @@ label {
/* RADIO BUTTONS */
-form ul.radiolist li {
- list-style-type: none;
+form div.radiolist div {
+ padding-right: 7px;
}
-form ul.radiolist label {
- float: none;
- display: inline;
+form div.radiolist.inline div {
+ display: inline-block;
}
-form ul.radiolist input[type="radio"] {
+form div.radiolist label {
+ width: auto;
+}
+
+form div.radiolist input[type="radio"] {
margin: -2px 4px 0 0;
padding: 0;
}
@@ -84,6 +87,7 @@ form ul.inline li {
margin-top: 0;
margin-bottom: 0;
margin-left: 170px;
+ overflow-wrap: break-word;
}
.aligned ul label {
@@ -105,7 +109,7 @@ form .aligned ul {
padding-left: 10px;
}
-form .aligned ul.radiolist {
+form .aligned div.radiolist {
display: inline-block;
margin: 0;
padding: 0;
diff --git a/static/admin/css/forms.css.gz b/static/admin/css/forms.css.gz
index a76a095e..1ba69a9c 100644
Binary files a/static/admin/css/forms.css.gz and b/static/admin/css/forms.css.gz differ
diff --git a/static/admin/css/login.c35adf41bb6e.css b/static/admin/css/login.8b76a9f7cbf6.css
similarity index 98%
rename from static/admin/css/login.c35adf41bb6e.css
rename to static/admin/css/login.8b76a9f7cbf6.css
index 10d9d220..bf4ba8d3 100644
--- a/static/admin/css/login.c35adf41bb6e.css
+++ b/static/admin/css/login.8b76a9f7cbf6.css
@@ -13,6 +13,7 @@
.login #header h1 {
font-size: 18px;
+ margin: 0;
}
.login #header h1 a {
diff --git a/static/admin/css/login.8b76a9f7cbf6.css.gz b/static/admin/css/login.8b76a9f7cbf6.css.gz
new file mode 100644
index 00000000..42f98bd9
Binary files /dev/null and b/static/admin/css/login.8b76a9f7cbf6.css.gz differ
diff --git a/static/admin/css/login.c35adf41bb6e.css.gz b/static/admin/css/login.c35adf41bb6e.css.gz
deleted file mode 100644
index 5ffa5aac..00000000
Binary files a/static/admin/css/login.c35adf41bb6e.css.gz and /dev/null differ
diff --git a/static/admin/css/login.css b/static/admin/css/login.css
index 10d9d220..bf4ba8d3 100644
--- a/static/admin/css/login.css
+++ b/static/admin/css/login.css
@@ -13,6 +13,7 @@
.login #header h1 {
font-size: 18px;
+ margin: 0;
}
.login #header h1 a {
diff --git a/static/admin/css/login.css.gz b/static/admin/css/login.css.gz
index 5ffa5aac..42f98bd9 100644
Binary files a/static/admin/css/login.css.gz and b/static/admin/css/login.css.gz differ
diff --git a/static/admin/css/nav_sidebar.0fd434145f4d.css.gz b/static/admin/css/nav_sidebar.0fd434145f4d.css.gz
deleted file mode 100644
index 9642e376..00000000
Binary files a/static/admin/css/nav_sidebar.0fd434145f4d.css.gz and /dev/null differ
diff --git a/static/admin/css/nav_sidebar.css b/static/admin/css/nav_sidebar.css
index f3c2fd80..0c590ff2 100644
--- a/static/admin/css/nav_sidebar.css
+++ b/static/admin/css/nav_sidebar.css
@@ -60,13 +60,10 @@
}
.main.shifted > #nav-sidebar {
- left: 24px;
margin-left: 0;
}
[dir="rtl"] .main.shifted > #nav-sidebar {
- left: 0;
- right: 24px;
margin-right: 0;
}
@@ -118,3 +115,25 @@
max-width: 100%;
}
}
+
+#nav-filter {
+ width: 100%;
+ box-sizing: border-box;
+ padding: 2px 5px;
+ margin: 5px 0;
+ border: 1px solid var(--border-color);
+ background-color: var(--darkened-bg);
+ color: var(--body-fg);
+}
+
+#nav-filter:focus {
+ border-color: var(--body-quiet-color);
+}
+
+#nav-filter.no-results {
+ background: var(--message-error-bg);
+}
+
+#nav-sidebar table {
+ width: 100%;
+}
diff --git a/static/admin/css/nav_sidebar.css.gz b/static/admin/css/nav_sidebar.css.gz
index 9642e376..237bb1f6 100644
Binary files a/static/admin/css/nav_sidebar.css.gz and b/static/admin/css/nav_sidebar.css.gz differ
diff --git a/static/admin/css/nav_sidebar.0fd434145f4d.css b/static/admin/css/nav_sidebar.e32d345464bd.css
similarity index 85%
rename from static/admin/css/nav_sidebar.0fd434145f4d.css
rename to static/admin/css/nav_sidebar.e32d345464bd.css
index f3c2fd80..0c590ff2 100644
--- a/static/admin/css/nav_sidebar.0fd434145f4d.css
+++ b/static/admin/css/nav_sidebar.e32d345464bd.css
@@ -60,13 +60,10 @@
}
.main.shifted > #nav-sidebar {
- left: 24px;
margin-left: 0;
}
[dir="rtl"] .main.shifted > #nav-sidebar {
- left: 0;
- right: 24px;
margin-right: 0;
}
@@ -118,3 +115,25 @@
max-width: 100%;
}
}
+
+#nav-filter {
+ width: 100%;
+ box-sizing: border-box;
+ padding: 2px 5px;
+ margin: 5px 0;
+ border: 1px solid var(--border-color);
+ background-color: var(--darkened-bg);
+ color: var(--body-fg);
+}
+
+#nav-filter:focus {
+ border-color: var(--body-quiet-color);
+}
+
+#nav-filter.no-results {
+ background: var(--message-error-bg);
+}
+
+#nav-sidebar table {
+ width: 100%;
+}
diff --git a/static/admin/css/nav_sidebar.e32d345464bd.css.gz b/static/admin/css/nav_sidebar.e32d345464bd.css.gz
new file mode 100644
index 00000000..237bb1f6
Binary files /dev/null and b/static/admin/css/nav_sidebar.e32d345464bd.css.gz differ
diff --git a/static/admin/css/responsive.b128bdf0edef.css.gz b/static/admin/css/responsive.b128bdf0edef.css.gz
deleted file mode 100644
index 2102288e..00000000
Binary files a/static/admin/css/responsive.b128bdf0edef.css.gz and /dev/null differ
diff --git a/static/admin/css/responsive.b128bdf0edef.css b/static/admin/css/responsive.b9e1565b3609.css
similarity index 99%
rename from static/admin/css/responsive.b128bdf0edef.css
rename to static/admin/css/responsive.b9e1565b3609.css
index 8c6dd810..5779c5a9 100644
--- a/static/admin/css/responsive.b128bdf0edef.css
+++ b/static/admin/css/responsive.b9e1565b3609.css
@@ -232,7 +232,7 @@ input[type="submit"], button {
margin-left: 15px;
}
- form .aligned ul.radiolist {
+ form .aligned div.radiolist {
margin-left: 2px;
}
@@ -650,12 +650,13 @@ input[type="submit"], button {
padding-left: 0;
}
- form .aligned ul.radiolist {
+ form .aligned div.radiolist {
+ margin-top: 5px;
margin-right: 15px;
margin-bottom: -3px;
}
- form .aligned ul.radiolist:not(.inline) li + li {
+ form .aligned div.radiolist:not(.inline) div + div {
margin-top: 5px;
}
diff --git a/static/admin/css/responsive.b9e1565b3609.css.gz b/static/admin/css/responsive.b9e1565b3609.css.gz
new file mode 100644
index 00000000..e9905771
Binary files /dev/null and b/static/admin/css/responsive.b9e1565b3609.css.gz differ
diff --git a/static/admin/css/responsive.css b/static/admin/css/responsive.css
index 8c6dd810..5779c5a9 100644
--- a/static/admin/css/responsive.css
+++ b/static/admin/css/responsive.css
@@ -232,7 +232,7 @@ input[type="submit"], button {
margin-left: 15px;
}
- form .aligned ul.radiolist {
+ form .aligned div.radiolist {
margin-left: 2px;
}
@@ -650,12 +650,13 @@ input[type="submit"], button {
padding-left: 0;
}
- form .aligned ul.radiolist {
+ form .aligned div.radiolist {
+ margin-top: 5px;
margin-right: 15px;
margin-bottom: -3px;
}
- form .aligned ul.radiolist:not(.inline) li + li {
+ form .aligned div.radiolist:not(.inline) div + div {
margin-top: 5px;
}
diff --git a/static/admin/css/responsive.css.gz b/static/admin/css/responsive.css.gz
index 2102288e..e9905771 100644
Binary files a/static/admin/css/responsive.css.gz and b/static/admin/css/responsive.css.gz differ
diff --git a/static/admin/js/actions.3edba334d0a4.js.gz b/static/admin/js/actions.3edba334d0a4.js.gz
deleted file mode 100644
index 3bcc2350..00000000
Binary files a/static/admin/js/actions.3edba334d0a4.js.gz and /dev/null differ
diff --git a/static/admin/js/actions.3edba334d0a4.js b/static/admin/js/actions.eac7e3441574.js
similarity index 99%
rename from static/admin/js/actions.3edba334d0a4.js
rename to static/admin/js/actions.eac7e3441574.js
index 2830e911..20a5c143 100644
--- a/static/admin/js/actions.3edba334d0a4.js
+++ b/static/admin/js/actions.eac7e3441574.js
@@ -156,7 +156,7 @@
});
});
- document.querySelector('#changelist-form button[name=index]').addEventListener('click', function() {
+ document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) {
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) {
diff --git a/static/admin/js/actions.eac7e3441574.js.gz b/static/admin/js/actions.eac7e3441574.js.gz
new file mode 100644
index 00000000..a86a6c9c
Binary files /dev/null and b/static/admin/js/actions.eac7e3441574.js.gz differ
diff --git a/static/admin/js/actions.js b/static/admin/js/actions.js
index 2830e911..20a5c143 100644
--- a/static/admin/js/actions.js
+++ b/static/admin/js/actions.js
@@ -156,7 +156,7 @@
});
});
- document.querySelector('#changelist-form button[name=index]').addEventListener('click', function() {
+ document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) {
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) {
diff --git a/static/admin/js/actions.js.gz b/static/admin/js/actions.js.gz
index 3bcc2350..a86a6c9c 100644
Binary files a/static/admin/js/actions.js.gz and b/static/admin/js/actions.js.gz differ
diff --git a/static/admin/js/autocomplete.b6b77d0e5906.js b/static/admin/js/autocomplete.b6b77d0e5906.js
deleted file mode 100644
index c55eee1f..00000000
--- a/static/admin/js/autocomplete.b6b77d0e5906.js
+++ /dev/null
@@ -1,41 +0,0 @@
-'use strict';
-{
- const $ = django.jQuery;
- const init = function($element, options) {
- const settings = $.extend({
- ajax: {
- data: function(params) {
- return {
- term: params.term,
- page: params.page,
- app_label: $element.data('app-label'),
- model_name: $element.data('model-name'),
- field_name: $element.data('field-name')
- };
- }
- }
- }, options);
- $element.select2(settings);
- };
-
- $.fn.djangoAdminSelect2 = function(options) {
- const settings = $.extend({}, options);
- $.each(this, function(i, element) {
- const $element = $(element);
- init($element, settings);
- });
- return this;
- };
-
- $(function() {
- // Initialize all autocomplete widgets except the one in the template
- // form used when a new formset is added.
- $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2();
- });
-
- $(document).on('formset:added', (function() {
- return function(event, $newFormset) {
- return $newFormset.find('.admin-autocomplete').djangoAdminSelect2();
- };
- })(this));
-}
diff --git a/static/admin/js/autocomplete.b6b77d0e5906.js.gz b/static/admin/js/autocomplete.b6b77d0e5906.js.gz
deleted file mode 100644
index 3c73ff10..00000000
Binary files a/static/admin/js/autocomplete.b6b77d0e5906.js.gz and /dev/null differ
diff --git a/static/admin/js/autocomplete.c508b167ab61.js b/static/admin/js/autocomplete.c508b167ab61.js
new file mode 100644
index 00000000..6095abe2
--- /dev/null
+++ b/static/admin/js/autocomplete.c508b167ab61.js
@@ -0,0 +1,35 @@
+'use strict';
+{
+ const $ = django.jQuery;
+
+ $.fn.djangoAdminSelect2 = function() {
+ $.each(this, function(i, element) {
+ $(element).select2({
+ ajax: {
+ data: (params) => {
+ return {
+ term: params.term,
+ page: params.page,
+ app_label: element.dataset.appLabel,
+ model_name: element.dataset.modelName,
+ field_name: element.dataset.fieldName
+ };
+ }
+ }
+ });
+ });
+ return this;
+ };
+
+ $(function() {
+ // Initialize all autocomplete widgets except the one in the template
+ // form used when a new formset is added.
+ $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2();
+ });
+
+ $(document).on('formset:added', (function() {
+ return function(event, $newFormset) {
+ return $newFormset.find('.admin-autocomplete').djangoAdminSelect2();
+ };
+ })(this));
+}
diff --git a/static/admin/js/autocomplete.c508b167ab61.js.gz b/static/admin/js/autocomplete.c508b167ab61.js.gz
new file mode 100644
index 00000000..5492178c
Binary files /dev/null and b/static/admin/js/autocomplete.c508b167ab61.js.gz differ
diff --git a/static/admin/js/autocomplete.js b/static/admin/js/autocomplete.js
index c55eee1f..6095abe2 100644
--- a/static/admin/js/autocomplete.js
+++ b/static/admin/js/autocomplete.js
@@ -1,28 +1,22 @@
'use strict';
{
const $ = django.jQuery;
- const init = function($element, options) {
- const settings = $.extend({
- ajax: {
- data: function(params) {
- return {
- term: params.term,
- page: params.page,
- app_label: $element.data('app-label'),
- model_name: $element.data('model-name'),
- field_name: $element.data('field-name')
- };
- }
- }
- }, options);
- $element.select2(settings);
- };
- $.fn.djangoAdminSelect2 = function(options) {
- const settings = $.extend({}, options);
+ $.fn.djangoAdminSelect2 = function() {
$.each(this, function(i, element) {
- const $element = $(element);
- init($element, settings);
+ $(element).select2({
+ ajax: {
+ data: (params) => {
+ return {
+ term: params.term,
+ page: params.page,
+ app_label: element.dataset.appLabel,
+ model_name: element.dataset.modelName,
+ field_name: element.dataset.fieldName
+ };
+ }
+ }
+ });
});
return this;
};
diff --git a/static/admin/js/autocomplete.js.gz b/static/admin/js/autocomplete.js.gz
index 3c73ff10..5492178c 100644
Binary files a/static/admin/js/autocomplete.js.gz and b/static/admin/js/autocomplete.js.gz differ
diff --git a/static/admin/js/core.ccd84108ec57.js b/static/admin/js/core.5d6b384a08b5.js
similarity index 99%
rename from static/admin/js/core.ccd84108ec57.js
rename to static/admin/js/core.5d6b384a08b5.js
index 3a2e4aa7..afdae281 100644
--- a/static/admin/js/core.ccd84108ec57.js
+++ b/static/admin/js/core.5d6b384a08b5.js
@@ -1,4 +1,4 @@
-// Core javascript helper functions
+// Core JavaScript helper functions
'use strict';
// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]);
diff --git a/static/admin/js/core.5d6b384a08b5.js.gz b/static/admin/js/core.5d6b384a08b5.js.gz
new file mode 100644
index 00000000..d7f3fbfa
Binary files /dev/null and b/static/admin/js/core.5d6b384a08b5.js.gz differ
diff --git a/static/admin/js/core.ccd84108ec57.js.gz b/static/admin/js/core.ccd84108ec57.js.gz
deleted file mode 100644
index 049e88a6..00000000
Binary files a/static/admin/js/core.ccd84108ec57.js.gz and /dev/null differ
diff --git a/static/admin/js/core.js b/static/admin/js/core.js
index 3a2e4aa7..afdae281 100644
--- a/static/admin/js/core.js
+++ b/static/admin/js/core.js
@@ -1,4 +1,4 @@
-// Core javascript helper functions
+// Core JavaScript helper functions
'use strict';
// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]);
diff --git a/static/admin/js/core.js.gz b/static/admin/js/core.js.gz
index 049e88a6..d7f3fbfa 100644
Binary files a/static/admin/js/core.js.gz and b/static/admin/js/core.js.gz differ
diff --git a/static/admin/js/inlines.7596b7fd289e.js.gz b/static/admin/js/inlines.7596b7fd289e.js.gz
deleted file mode 100644
index d2e5502d..00000000
Binary files a/static/admin/js/inlines.7596b7fd289e.js.gz and /dev/null differ
diff --git a/static/admin/js/inlines.7596b7fd289e.js b/static/admin/js/inlines.fb1617228dbe.js
similarity index 96%
rename from static/admin/js/inlines.7596b7fd289e.js
rename to static/admin/js/inlines.fb1617228dbe.js
index 82ec0272..d9a9032c 100644
--- a/static/admin/js/inlines.7596b7fd289e.js
+++ b/static/admin/js/inlines.fb1617228dbe.js
@@ -218,12 +218,10 @@
// instantiate a new SelectFilter instance for it.
if (typeof SelectFilter !== 'undefined') {
$('.selectfilter').each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], false);
+ SelectFilter.init(value.id, this.dataset.fieldName, false);
});
$('.selectfilterstacked').each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], true);
+ SelectFilter.init(value.id, this.dataset.fieldName, true);
});
}
};
@@ -283,12 +281,10 @@
// If any SelectFilter widgets were added, instantiate a new instance.
if (typeof SelectFilter !== "undefined") {
$(".selectfilter").each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], false);
+ SelectFilter.init(value.id, this.dataset.fieldName, false);
});
$(".selectfilterstacked").each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], true);
+ SelectFilter.init(value.id, this.dataset.fieldName, true);
});
}
};
diff --git a/static/admin/js/inlines.fb1617228dbe.js.gz b/static/admin/js/inlines.fb1617228dbe.js.gz
new file mode 100644
index 00000000..880e2c0c
Binary files /dev/null and b/static/admin/js/inlines.fb1617228dbe.js.gz differ
diff --git a/static/admin/js/inlines.js b/static/admin/js/inlines.js
index 82ec0272..d9a9032c 100644
--- a/static/admin/js/inlines.js
+++ b/static/admin/js/inlines.js
@@ -218,12 +218,10 @@
// instantiate a new SelectFilter instance for it.
if (typeof SelectFilter !== 'undefined') {
$('.selectfilter').each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], false);
+ SelectFilter.init(value.id, this.dataset.fieldName, false);
});
$('.selectfilterstacked').each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], true);
+ SelectFilter.init(value.id, this.dataset.fieldName, true);
});
}
};
@@ -283,12 +281,10 @@
// If any SelectFilter widgets were added, instantiate a new instance.
if (typeof SelectFilter !== "undefined") {
$(".selectfilter").each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], false);
+ SelectFilter.init(value.id, this.dataset.fieldName, false);
});
$(".selectfilterstacked").each(function(index, value) {
- const namearr = value.name.split('-');
- SelectFilter.init(value.id, namearr[namearr.length - 1], true);
+ SelectFilter.init(value.id, this.dataset.fieldName, true);
});
}
};
diff --git a/static/admin/js/inlines.js.gz b/static/admin/js/inlines.js.gz
index d2e5502d..880e2c0c 100644
Binary files a/static/admin/js/inlines.js.gz and b/static/admin/js/inlines.js.gz differ
diff --git a/static/admin/js/nav_sidebar.3535caba9444.js b/static/admin/js/nav_sidebar.3535caba9444.js
new file mode 100644
index 00000000..86cb1cf8
--- /dev/null
+++ b/static/admin/js/nav_sidebar.3535caba9444.js
@@ -0,0 +1,93 @@
+'use strict';
+{
+ const toggleNavSidebar = document.getElementById('toggle-nav-sidebar');
+ if (toggleNavSidebar !== null) {
+ const navLinks = document.querySelectorAll('#nav-sidebar a');
+ function disableNavLinkTabbing() {
+ for (const navLink of navLinks) {
+ navLink.tabIndex = -1;
+ }
+ }
+ function enableNavLinkTabbing() {
+ for (const navLink of navLinks) {
+ navLink.tabIndex = 0;
+ }
+ }
+
+ const main = document.getElementById('main');
+ let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen');
+ if (navSidebarIsOpen === null) {
+ navSidebarIsOpen = 'true';
+ }
+ if (navSidebarIsOpen === 'false') {
+ disableNavLinkTabbing();
+ }
+ main.classList.toggle('shifted', navSidebarIsOpen === 'true');
+
+ toggleNavSidebar.addEventListener('click', function() {
+ if (navSidebarIsOpen === 'true') {
+ navSidebarIsOpen = 'false';
+ disableNavLinkTabbing();
+ } else {
+ navSidebarIsOpen = 'true';
+ enableNavLinkTabbing();
+ }
+ localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen);
+ main.classList.toggle('shifted');
+ });
+ }
+
+ function initSidebarQuickFilter() {
+ const options = [];
+ const navSidebar = document.getElementById('nav-sidebar');
+ if (!navSidebar) {
+ return;
+ }
+ navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => {
+ options.push({title: container.innerHTML, node: container});
+ });
+
+ function checkValue(event) {
+ let filterValue = event.target.value;
+ if (filterValue) {
+ filterValue = filterValue.toLowerCase();
+ }
+ if (event.key === 'Escape') {
+ filterValue = '';
+ event.target.value = ''; // clear input
+ }
+ let matches = false;
+ for (const o of options) {
+ let displayValue = '';
+ if (filterValue) {
+ if (o.title.toLowerCase().indexOf(filterValue) === -1) {
+ displayValue = 'none';
+ } else {
+ matches = true;
+ }
+ }
+ // show/hide parent
+ o.node.parentNode.parentNode.style.display = displayValue;
+ }
+ if (!filterValue || matches) {
+ event.target.classList.remove('no-results');
+ } else {
+ event.target.classList.add('no-results');
+ }
+ sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue);
+ }
+
+ const nav = document.getElementById('nav-filter');
+ nav.addEventListener('change', checkValue, false);
+ nav.addEventListener('input', checkValue, false);
+ nav.addEventListener('keyup', checkValue, false);
+
+ const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue');
+ if (storedValue) {
+ nav.value = storedValue;
+ checkValue({target: nav, key: ''});
+ }
+ }
+ window.initSidebarQuickFilter = initSidebarQuickFilter;
+ initSidebarQuickFilter();
+}
diff --git a/static/admin/js/nav_sidebar.3535caba9444.js.gz b/static/admin/js/nav_sidebar.3535caba9444.js.gz
new file mode 100644
index 00000000..bdb3ae1f
Binary files /dev/null and b/static/admin/js/nav_sidebar.3535caba9444.js.gz differ
diff --git a/static/admin/js/nav_sidebar.7605597ddf52.js b/static/admin/js/nav_sidebar.7605597ddf52.js
deleted file mode 100644
index efaa7214..00000000
--- a/static/admin/js/nav_sidebar.7605597ddf52.js
+++ /dev/null
@@ -1,39 +0,0 @@
-'use strict';
-{
- const toggleNavSidebar = document.getElementById('toggle-nav-sidebar');
- if (toggleNavSidebar !== null) {
- const navLinks = document.querySelectorAll('#nav-sidebar a');
- function disableNavLinkTabbing() {
- for (const navLink of navLinks) {
- navLink.tabIndex = -1;
- }
- }
- function enableNavLinkTabbing() {
- for (const navLink of navLinks) {
- navLink.tabIndex = 0;
- }
- }
-
- const main = document.getElementById('main');
- let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen');
- if (navSidebarIsOpen === null) {
- navSidebarIsOpen = 'true';
- }
- if (navSidebarIsOpen === 'false') {
- disableNavLinkTabbing();
- }
- main.classList.toggle('shifted', navSidebarIsOpen === 'true');
-
- toggleNavSidebar.addEventListener('click', function() {
- if (navSidebarIsOpen === 'true') {
- navSidebarIsOpen = 'false';
- disableNavLinkTabbing();
- } else {
- navSidebarIsOpen = 'true';
- enableNavLinkTabbing();
- }
- localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen);
- main.classList.toggle('shifted');
- });
- }
-}
diff --git a/static/admin/js/nav_sidebar.7605597ddf52.js.gz b/static/admin/js/nav_sidebar.7605597ddf52.js.gz
deleted file mode 100644
index 2a1d6d9e..00000000
Binary files a/static/admin/js/nav_sidebar.7605597ddf52.js.gz and /dev/null differ
diff --git a/static/admin/js/nav_sidebar.js b/static/admin/js/nav_sidebar.js
index efaa7214..86cb1cf8 100644
--- a/static/admin/js/nav_sidebar.js
+++ b/static/admin/js/nav_sidebar.js
@@ -36,4 +36,58 @@
main.classList.toggle('shifted');
});
}
+
+ function initSidebarQuickFilter() {
+ const options = [];
+ const navSidebar = document.getElementById('nav-sidebar');
+ if (!navSidebar) {
+ return;
+ }
+ navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => {
+ options.push({title: container.innerHTML, node: container});
+ });
+
+ function checkValue(event) {
+ let filterValue = event.target.value;
+ if (filterValue) {
+ filterValue = filterValue.toLowerCase();
+ }
+ if (event.key === 'Escape') {
+ filterValue = '';
+ event.target.value = ''; // clear input
+ }
+ let matches = false;
+ for (const o of options) {
+ let displayValue = '';
+ if (filterValue) {
+ if (o.title.toLowerCase().indexOf(filterValue) === -1) {
+ displayValue = 'none';
+ } else {
+ matches = true;
+ }
+ }
+ // show/hide parent
+ o.node.parentNode.parentNode.style.display = displayValue;
+ }
+ if (!filterValue || matches) {
+ event.target.classList.remove('no-results');
+ } else {
+ event.target.classList.add('no-results');
+ }
+ sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue);
+ }
+
+ const nav = document.getElementById('nav-filter');
+ nav.addEventListener('change', checkValue, false);
+ nav.addEventListener('input', checkValue, false);
+ nav.addEventListener('keyup', checkValue, false);
+
+ const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue');
+ if (storedValue) {
+ nav.value = storedValue;
+ checkValue({target: nav, key: ''});
+ }
+ }
+ window.initSidebarQuickFilter = initSidebarQuickFilter;
+ initSidebarQuickFilter();
}
diff --git a/static/admin/js/nav_sidebar.js.gz b/static/admin/js/nav_sidebar.js.gz
index 2a1d6d9e..bdb3ae1f 100644
Binary files a/static/admin/js/nav_sidebar.js.gz and b/static/admin/js/nav_sidebar.js.gz differ
diff --git a/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt.gz b/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt.gz
deleted file mode 100644
index 696bd413..00000000
Binary files a/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt.gz and /dev/null differ
diff --git a/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt b/static/admin/js/vendor/jquery/LICENSE.de877aa6d744.txt
similarity index 93%
rename from static/admin/js/vendor/jquery/LICENSE.75308107741f.txt
rename to static/admin/js/vendor/jquery/LICENSE.de877aa6d744.txt
index e3dbacb9..f642c3f7 100644
--- a/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt
+++ b/static/admin/js/vendor/jquery/LICENSE.de877aa6d744.txt
@@ -1,4 +1,4 @@
-Copyright JS Foundation and other contributors, https://js.foundation/
+Copyright OpenJS Foundation and other contributors, https://openjsf.org/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/static/admin/js/vendor/jquery/LICENSE.de877aa6d744.txt.gz b/static/admin/js/vendor/jquery/LICENSE.de877aa6d744.txt.gz
new file mode 100644
index 00000000..484afc02
Binary files /dev/null and b/static/admin/js/vendor/jquery/LICENSE.de877aa6d744.txt.gz differ
diff --git a/static/admin/js/vendor/jquery/LICENSE.txt b/static/admin/js/vendor/jquery/LICENSE.txt
index e3dbacb9..f642c3f7 100644
--- a/static/admin/js/vendor/jquery/LICENSE.txt
+++ b/static/admin/js/vendor/jquery/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright JS Foundation and other contributors, https://js.foundation/
+Copyright OpenJS Foundation and other contributors, https://openjsf.org/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/static/admin/js/vendor/jquery/LICENSE.txt.gz b/static/admin/js/vendor/jquery/LICENSE.txt.gz
index 696bd413..484afc02 100644
Binary files a/static/admin/js/vendor/jquery/LICENSE.txt.gz and b/static/admin/js/vendor/jquery/LICENSE.txt.gz differ
diff --git a/static/admin/js/vendor/jquery/jquery.23c7c5d2d131.js.gz b/static/admin/js/vendor/jquery/jquery.23c7c5d2d131.js.gz
deleted file mode 100644
index c1b367a8..00000000
Binary files a/static/admin/js/vendor/jquery/jquery.23c7c5d2d131.js.gz and /dev/null differ
diff --git a/static/admin/js/vendor/jquery/jquery.23c7c5d2d131.js b/static/admin/js/vendor/jquery/jquery.2849239b95f5.js
similarity index 98%
rename from static/admin/js/vendor/jquery/jquery.23c7c5d2d131.js
rename to static/admin/js/vendor/jquery/jquery.2849239b95f5.js
index 50937333..fc6c299b 100644
--- a/static/admin/js/vendor/jquery/jquery.23c7c5d2d131.js
+++ b/static/admin/js/vendor/jquery/jquery.2849239b95f5.js
@@ -1,15 +1,15 @@
/*!
- * jQuery JavaScript Library v3.5.1
+ * jQuery JavaScript Library v3.6.0
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
- * Copyright JS Foundation and other contributors
+ * Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
- * Date: 2020-05-04T22:49Z
+ * Date: 2021-03-02T17:08Z
*/
( function( global, factory ) {
@@ -76,12 +76,16 @@ var support = {};
var isFunction = function isFunction( obj ) {
- // Support: Chrome <=57, Firefox <=52
- // In some browsers, typeof returns "function" for HTML