summaryrefslogtreecommitdiff
path: root/django/contrib/admin/static
diff options
context:
space:
mode:
authorFabian Braun <fsbraun@gmx.de>2025-04-26 19:08:28 +0200
committernessita <124304+nessita@users.noreply.github.com>2025-04-28 17:48:19 -0300
commit65bbdbd10b25700d1166b1a698e672a4695281bc (patch)
tree048c391840cf2a1b69aec74c9634e0196422dc5b /django/contrib/admin/static
parent0ee06c04e0256094270db3ffe8b5dafa6a8457a3 (diff)
Fixed #36354 -- Removed JavaScript workaround for browsers lacking `:has()` CSS support.
This branch removes the JavaScript fallback added in the admin for the add user and change password templates/flows (Refs #34429). Django documents suport for "modern, web standards compliant browsers". See https://caniuse.com/css-has for info on browser support per version.
Diffstat (limited to 'django/contrib/admin/static')
-rw-r--r--django/contrib/admin/static/admin/js/unusable_password_field.js29
1 files changed, 0 insertions, 29 deletions
diff --git a/django/contrib/admin/static/admin/js/unusable_password_field.js b/django/contrib/admin/static/admin/js/unusable_password_field.js
deleted file mode 100644
index ec26238c29..0000000000
--- a/django/contrib/admin/static/admin/js/unusable_password_field.js
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict";
-// Fallback JS for browsers which do not support :has selector used in
-// admin/css/unusable_password_fields.css
-// Remove file once all supported browsers support :has selector
-try {
- // If browser does not support :has selector this will raise an error
- document.querySelector("form:has(input)");
-} catch (error) {
- console.log("Defaulting to javascript for usable password form management: " + error);
- // JS replacement for unsupported :has selector
- document.querySelectorAll('input[name="usable_password"]').forEach(option => {
- option.addEventListener('change', function() {
- const usablePassword = (this.value === "true" ? this.checked : !this.checked);
- const submit1 = document.querySelector('input[type="submit"].set-password');
- const submit2 = document.querySelector('input[type="submit"].unset-password');
- const messages = document.querySelector('#id_unusable_warning');
- document.getElementById('id_password1').closest('.form-row').hidden = !usablePassword;
- document.getElementById('id_password2').closest('.form-row').hidden = !usablePassword;
- if (messages) {
- messages.hidden = usablePassword;
- }
- if (submit1 && submit2) {
- submit1.hidden = !usablePassword;
- submit2.hidden = usablePassword;
- }
- });
- option.dispatchEvent(new Event('change'));
- });
-}