Merge branch 'main' of https://github.com/cisagov/manage.get.gov into rh/3348-domain-dropdown

This commit is contained in:
Rebecca Hsieh 2025-02-11 12:52:53 -08:00
commit 14d77c676a
No known key found for this signature in database
8 changed files with 50 additions and 34 deletions

View file

@ -79,6 +79,8 @@ services:
- POSTGRES_DB=app - POSTGRES_DB=app
- POSTGRES_USER=user - POSTGRES_USER=user
- POSTGRES_PASSWORD=feedabee - POSTGRES_PASSWORD=feedabee
ports:
- "5432:5432"
node: node:
build: build:

View file

@ -116,10 +116,10 @@ export class DomainRequestsTable extends BaseTable {
<td data-label="Status"> <td data-label="Status">
${request.status} ${request.status}
</td> </td>
<td class="${ this.portfolioValue ? '' : "width-quarter"}"> <td class="width--action-column">
<div class="tablet:display-flex tablet:flex-row"> <div class="tablet:display-flex tablet:flex-row flex-wrap">
<a href="${actionUrl}" ${customTableOptions.hasAdditionalActions ? "class='margin-right-2'" : ''}> <a href="${actionUrl}" ${customTableOptions.hasAdditionalActions ? "class='margin-right-2'" : ''}>
<svg class="usa-icon" aria-hidden="true" focusable="false" role="img" width="24"> <svg class="usa-icon top-1px" aria-hidden="true" focusable="false" role="img" width="24">
<use xlink:href="/public/img/sprite.svg#${request.svg_icon}"></use> <use xlink:href="/public/img/sprite.svg#${request.svg_icon}"></use>
</svg> </svg>
${actionLabel} <span class="usa-sr-only">${request.requested_domain ? request.requested_domain : 'New domain request'}</span> ${actionLabel} <span class="usa-sr-only">${request.requested_domain ? request.requested_domain : 'New domain request'}</span>

View file

@ -56,13 +56,15 @@ export class DomainsTable extends BaseTable {
</svg> </svg>
</td> </td>
${markupForSuborganizationRow} ${markupForSuborganizationRow}
<td class="${ this.portfolioValue ? '' : "width-quarter"}"> <td class="width--action-column">
<a href="${actionUrl}"> <div class="tablet:display-flex tablet:flex-row flex-align-center margin-right-2">
<svg class="usa-icon" aria-hidden="true" focusable="false" role="img" width="24"> <a href="${actionUrl}">
<use xlink:href="/public/img/sprite.svg#${domain.svg_icon}"></use> <svg class="usa-icon top-1px" aria-hidden="true" focusable="false" role="img" width="24">
</svg> <use xlink:href="/public/img/sprite.svg#${domain.svg_icon}"></use>
${domain.action_label} <span class="usa-sr-only">${domain.name}</span> </svg>
</a> ${domain.action_label} <span class="usa-sr-only">${domain.name}</span>
</a>
</div>
</td> </td>
`; `;
tbody.appendChild(row); tbody.appendChild(row);

View file

@ -48,18 +48,6 @@ export class MembersTable extends BaseTable {
// Get whether the logged in user has edit members permission // Get whether the logged in user has edit members permission
const hasEditPermission = this.portfolioElement ? this.portfolioElement.getAttribute('data-has-edit-permission')==='True' : null; const hasEditPermission = this.portfolioElement ? this.portfolioElement.getAttribute('data-has-edit-permission')==='True' : null;
let existingExtraActionsHeader = document.querySelector('.extra-actions-header');
if (hasEditPermission && !existingExtraActionsHeader) {
const extraActionsHeader = document.createElement('th');
extraActionsHeader.setAttribute('id', 'extra-actions');
extraActionsHeader.setAttribute('role', 'columnheader');
extraActionsHeader.setAttribute('class', 'extra-actions-header width-5');
extraActionsHeader.innerHTML = `
<span class="usa-sr-only">Extra Actions</span>`;
let tableHeaderRow = this.tableWrapper.querySelector('thead tr');
tableHeaderRow.appendChild(extraActionsHeader);
}
return { return {
'hasAdditionalActions': hasEditPermission, 'hasAdditionalActions': hasEditPermission,
'UserPortfolioPermissionChoices' : data.UserPortfolioPermissionChoices 'UserPortfolioPermissionChoices' : data.UserPortfolioPermissionChoices
@ -121,15 +109,17 @@ export class MembersTable extends BaseTable {
<td headers="header-last-active row-header-${unique_id}" data-sort-value="${last_active.sort_value}" data-label="last_active"> <td headers="header-last-active row-header-${unique_id}" data-sort-value="${last_active.sort_value}" data-label="last_active">
${last_active.display_value} ${last_active.display_value}
</td> </td>
<td headers="header-action row-header-${unique_id}"> <td headers="header-action row-header-${unique_id}" class="width--action-column">
<a href="${member.action_url}"> <div class="tablet:display-flex tablet:flex-row flex-align-center">
<svg class="usa-icon" aria-hidden="true" focusable="false" role="img" width="24"> <a href="${member.action_url}">
<use xlink:href="/public/img/sprite.svg#${member.svg_icon}"></use> <svg class="usa-icon top-1px" aria-hidden="true" focusable="false" role="img" width="24">
</svg> <use xlink:href="/public/img/sprite.svg#${member.svg_icon}"></use>
${member.action_label} <span class="usa-sr-only">${member.name}</span> </svg>
</a> ${member.action_label} <span class="usa-sr-only">${member.name}</span>
</a>
<span class="padding-left-1">${customTableOptions.hasAdditionalActions ? kebabHTML : ''}</span>
</div>
</td> </td>
${customTableOptions.hasAdditionalActions ? '<td>'+kebabHTML+'</td>' : ''}
`; `;
tbody.appendChild(row); tbody.appendChild(row);
if (domainsHTML || permissionsHTML) { if (domainsHTML || permissionsHTML) {

View file

@ -1,7 +1,7 @@
@use "uswds-core" as *; @use "uswds-core" as *;
@use "cisa_colors" as *; @use "cisa_colors" as *;
$widescreen-max-width: 1920px; $widescreen-max-width: 1536px;
$widescreen-x-padding: 4.5rem; $widescreen-x-padding: 4.5rem;
$hot-pink: #FFC3F9; $hot-pink: #FFC3F9;
@ -50,7 +50,7 @@ body {
background-color: color('white'); background-color: color('white');
border: 1px solid color('base-lighter'); border: 1px solid color('base-lighter');
border-radius: 4px; border-radius: 4px;
padding: 0 units(4) units(3) units(2); padding: 0 units(2) units(3) units(2);
margin-top: units(3); margin-top: units(3);
&.margin-top-0 { &.margin-top-0 {
@ -274,3 +274,12 @@ abbr[title] {
.width-quarter { .width-quarter {
width: 25%; width: 25%;
} }
/*
NOTE: width: 3% basically forces a fit-content effect in the table.
Fit-content itself does not work.
*/
.width--action-column {
width: 3%;
padding-right: 0px !important;
}

View file

@ -1,8 +1,21 @@
{% extends "admin/base_site.html" %} {% extends "admin/base_site.html" %}
{% load static %} {% load static %}
{% load i18n %}
{% block content_title %}<h1>Registrar Analytics</h1>{% endblock %} {% block content_title %}<h1>Registrar Analytics</h1>{% endblock %}
{% block breadcrumbs %}
{% comment %}
Overrides the breadcrumb styles found in this file:
https://github.com/django/django/blob/main/django/contrib/admin/templates/admin/base.html
{% endcomment %}
<div class="breadcrumbs">
<a href="{% url "admin:index" %}">{% trans "Home" %}</a>
&rsaquo;
<span>{% trans "Analytics Dashboard" %}</span>
</div>
{% endblock %}
{% block content %} {% block content %}
<div id="content-main" class="custom-admin-template"> <div id="content-main" class="custom-admin-template">

View file

@ -59,7 +59,7 @@
role="columnheader" role="columnheader"
id="header-action" id="header-action"
> >
<span class="usa-sr-only">Action</span> Action
</th> </th>
</tr> </tr>
</thead> </thead>

View file

@ -9,7 +9,7 @@
{# the entire logged in page goes here #} {# the entire logged in page goes here #}
<div class="grid-row {% if not is_widescreen_centered %}max-width--grid-container{% endif %}"> <div class="grid-row {% if not is_widescreen_centered %}max-width--grid-container{% endif %}">
<div class="tablet:grid-col-11 desktop:grid-col-10 {% if is_widescreen_centered %}tablet:grid-offset-1{% endif %}"> <div class="desktop:grid-col-10 {% if not is_widescreen_centered %}tablet:grid-col-11 {% else %}tablet:padding-left-4 tablet:padding-right-4 tablet:grid-col-12 desktop:grid-offset-1{% endif %}">
{% block portfolio_content %}{% endblock %} {% block portfolio_content %}{% endblock %}