Add dialog

This commit is contained in:
zandercymatics 2024-04-04 13:27:40 -06:00
parent 52a4a2d45a
commit 95f9860bd9
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
4 changed files with 70 additions and 2 deletions

View file

@ -163,9 +163,21 @@ function openInNewTab(el, removeAttribute = false){
buttonIcon.setAttribute('xlink:href', baseHref + '#check'); buttonIcon.setAttribute('xlink:href', baseHref + '#check');
// Find the nearest .admin-icon-group__success-dialog and update its classes // Find the nearest .admin-icon-group__success-dialog and update its classes
let parentFlexContainer = null
let brElement = null let brElement = null
let successDialog = document.querySelector(`#email-clipboard__success-dialog-${userId}`); let successDialog = null
if (userId) {
successDialog = document.querySelector(`#email-clipboard__success-dialog-${userId}`);
}else {
successDialog = document.querySelector("#email-clipboard__success-dialog");
}
if (successDialog) { if (successDialog) {
if (!userId) {
parentFlexContainer = successDialog.closest('.flex-container');
// Flex container overrides display-none
parentFlexContainer.classList.remove('dja-important__display-none');
}
successDialog.classList.remove('display-none'); successDialog.classList.remove('display-none');
// Find the associated BR if it exists // Find the associated BR if it exists
brElement = successDialog.nextElementSibling brElement = successDialog.nextElementSibling
@ -190,6 +202,10 @@ function openInNewTab(el, removeAttribute = false){
if (brElement) { if (brElement) {
brElement.classList.remove("display-none"); brElement.classList.remove("display-none");
} }
if (parentFlexContainer) {
parentFlexContainer.classList.add("dja-important__display-none");
}
}, 1500); }, 1500);
} }

View file

@ -590,6 +590,12 @@ address.dja-address-contact-list {
.usa-alert__body { .usa-alert__body {
padding-left: 2.5rem; padding-left: 2.5rem;
} }
.admin-icon-group__success-dialog--input {
.usa-alert__body {
padding-right: 53px !important;
}
}
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
.usa-alert--success.usa-alert--slim--dja-admin { .usa-alert--success.usa-alert--slim--dja-admin {
@ -619,3 +625,7 @@ svg.no-pointer-events {
pointer-events: none; pointer-events: none;
} }
} }
.dja-important__display-none {
display: none !important;
}

View file

@ -27,7 +27,7 @@
{% if user.contact.email %} {% if user.contact.email %}
{{ user.contact.email }} | {{ user.contact.email }} |
<div class="admin-icon-group admin-icon-group__clipboard-link"> <div class="admin-icon-group admin-icon-group__clipboard-link">
<input aria-hidden="true" class="display-none" value="{{ user.email }}" /> <input user-id="{{ user.contact.id }}" aria-hidden="true" class="display-none" value="{{ user.contact.email }}" />
<button <button
class="usa-button usa-button--unstyled padding-right-1 usa-button__icon usa-button__clipboard text-no-underline" class="usa-button usa-button--unstyled padding-right-1 usa-button__icon usa-button__clipboard text-no-underline"
type="button" type="button"
@ -40,6 +40,23 @@
Copy Copy
</button> </button>
</div> </div>
<div
id="email-clipboard__success-dialog-{{ user.contact.id }}"
class="admin-icon-group__success-dialog
display-none
usa-alert
usa-alert--success
usa-alert--slim
usa-alert--slim--dja-admin
margin-top-1
margin-bottom-1"
>
<div class="usa-alert__body">
<p class="usa-alert__text">
Email copied to clipboard.
</p>
</div>
</div>
{% else %} {% else %}
{{ user.email }} | {{ user.email }} |
<div class="admin-icon-group admin-icon-group__clipboard-link"> <div class="admin-icon-group admin-icon-group__clipboard-link">

View file

@ -11,3 +11,28 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html)
{{ block.super }} {{ block.super }}
{% endif %} {% endif %}
{% endblock field_other %} {% endblock field_other %}
{% block after_help_text %}
{% if field.field.name == "email" %}
<div class="flex-container dja-important__display-none">
<label aria-label="Clipboard"></label>
<div
id="email-clipboard__success-dialog"
class="admin-icon-group__success-dialog
admin-icon-group__success-dialog--input
display-none
usa-alert
usa-alert--success
usa-alert--slim
usa-alert--slim--dja-admin
margin-top-1"
>
<div class="usa-alert__body">
<p class="usa-alert__text">
Email copied to clipboard.
</p>
</div>
</div>
</div>
{% endif %}
{% endblock %}