diff --git a/awx/ui_next/dist/index.html b/awx/ui_next/dist/index.html
index 10a4088e01..8afa7581c8 100644
--- a/awx/ui_next/dist/index.html
+++ b/awx/ui_next/dist/index.html
@@ -1,7 +1,7 @@
-
+
diff --git a/awx/ui_next/src/App.jsx b/awx/ui_next/src/App.jsx
index 704515c113..fdc4bb4ec2 100644
--- a/awx/ui_next/src/App.jsx
+++ b/awx/ui_next/src/App.jsx
@@ -204,7 +204,7 @@ class App extends Component {
/>
diff --git a/awx/ui_next/src/app.scss b/awx/ui_next/src/app.scss
index 2c02873917..6da11a0e7a 100644
--- a/awx/ui_next/src/app.scss
+++ b/awx/ui_next/src/app.scss
@@ -2,116 +2,3 @@
#app {
height: 100%;
}
-
-//
-// data list overrides
-//
-
-.pf-c-data-list {
- --pf-global--target-size--MinHeight: 32px;
- --pf-global--target-size--MinWidth: 32px;
- --pf-global--FontSize--md: 14px;
-
- .pf-c-badge:not(:last-child),
- .pf-c-switch:not(:last-child) {
- margin-right: 18px;
- }
-}
-
-.pf-c-data-list__item-row {
- --pf-c-data-list__item-row--PaddingRight: 20px;
- --pf-c-data-list__item-row--PaddingLeft: 20px;
-}
-
-.pf-c-data-list__item-content {
- --pf-c-data-list__item-content--PaddingBottom: 16px;
-
- min-height: 59px;
- align-items: center;
-}
-
-.pf-c-data-list__item-control {
- --pf-c-data-list__item-control--PaddingTop: 16px;
- --pf-c-data-list__item-control--MarginRight: 8px;
- --pf-c-data-list__item-control--PaddingBottom: 16px;
-}
-
-.pf-c-data-list__item {
- --pf-c-data-list__item--PaddingLeft: 20px;
- --pf-c-data-list__item--PaddingRight: 20px;
-}
-
-.pf-c-data-list__cell {
- --pf-c-data-list__cell--PaddingTop: 16px;
- --pf-c-data-list__cell-cell--PaddingTop: 16px;
-
- &.pf-c-data-list__cell--divider {
- --pf-c-data-list__cell-cell--MarginRight: 0;
- --pf-c-data-list__cell--PaddingTop: 12px;
- flex-grow: 0;
- }
-}
-
-//
-// AlertModal styles
-//
-
-.at-c-alertModal.pf-c-modal-box {
- border: 0;
- border-left: 56px solid black;
-
- .at-c-alertModal__icon {
- position: absolute;
- font-size: 23px;
- top: 28px;
- left: -39px;
- }
-}
-
-.at-c-alertModal--warning.pf-c-modal-box {
- border-color: var(--pf-global--warning-color--100);
-
- .pf-c-title {
- color: var(--pf-global--warning-color--200);
- }
-
- .at-c-alertModal__icon {
- color: var(--pf-global--warning-color--200);
- }
-}
-
-.at-c-alertModal--danger.pf-c-modal-box {
- border-color: var(--pf-global--danger-color--100);
-
- .pf-c-title {
- color: var(--pf-global--danger-color--200);
- }
-
- .at-c-alertModal__icon {
- color: white;
- }
-}
-
-.at-c-alertModal--info.pf-c-modal-box {
- border-color: var(--pf-global--info-color--100);
-
- .pf-c-title {
- color: var(--pf-global--info-color--200);
- }
-
- .at-c-alertModal__icon {
- color: var(--pf-global--info-color--200);
- }
-}
-
-.at-c-alertModal--success.pf-c-modal-box {
- border-color: var(--pf-global--success-color--100);
-
- .pf-c-title {
- color: var(--pf-global--success-color--200);
- }
-
- .at-c-alertModal__icon {
- color: var(--pf-global--success-color--200);
- }
-}
diff --git a/awx/ui_next/src/components/AlertModal/AlertModal.jsx b/awx/ui_next/src/components/AlertModal/AlertModal.jsx
index 1b31f79653..f600d77745 100644
--- a/awx/ui_next/src/components/AlertModal/AlertModal.jsx
+++ b/awx/ui_next/src/components/AlertModal/AlertModal.jsx
@@ -1,42 +1,47 @@
import React from 'react';
-
-import { Modal } from '@patternfly/react-core';
-
+import { Modal, Title } from '@patternfly/react-core';
import {
- ExclamationTriangleIcon,
- ExclamationCircleIcon,
- InfoCircleIcon,
CheckCircleIcon,
+ ExclamationCircleIcon,
+ ExclamationTriangleIcon,
+ InfoCircleIcon,
+ TimesCircleIcon,
} from '@patternfly/react-icons';
+import styled from 'styled-components';
-const getIcon = variant => {
- let icon;
- if (variant === 'warning') {
- icon = ;
- } else if (variant === 'danger') {
- icon = ;
+const Header = styled.div`
+ display: flex;
+ svg {
+ margin-right: 16px;
}
- if (variant === 'info') {
- icon = ;
- }
- if (variant === 'success') {
- icon = ;
- }
- return icon;
-};
+`;
+
+export default ({ isOpen = null, title, variant, children, ...props }) => {
+ const variantIcons = {
+ danger: ,
+ error: ,
+ info: ,
+ success: ,
+ warning: ,
+ };
+
+ const customHeader = (
+
+ {variant ? variantIcons[variant] : null}
+ {title}
+
+ );
-export default ({ variant, children, ...props }) => {
- const { isOpen = null } = props;
- props.isOpen = Boolean(isOpen);
return (
{children}
- {getIcon(variant)}
);
};
diff --git a/awx/ui_next/src/components/AlertModal/AlertModal.test.jsx b/awx/ui_next/src/components/AlertModal/AlertModal.test.jsx
index 4c9389543f..da8b234e5c 100644
--- a/awx/ui_next/src/components/AlertModal/AlertModal.test.jsx
+++ b/awx/ui_next/src/components/AlertModal/AlertModal.test.jsx
@@ -5,7 +5,9 @@ import AlertModal from './AlertModal';
describe('AlertModal', () => {
test('renders the expected content', () => {
- const wrapper = mount();
+ const wrapper = mount(
+ Are you sure?
+ );
expect(wrapper).toHaveLength(1);
});
});
diff --git a/awx/ui_next/src/components/ContentError/ContentError.jsx b/awx/ui_next/src/components/ContentError/ContentError.jsx
index 548cb77c89..7f766f7e91 100644
--- a/awx/ui_next/src/components/ContentError/ContentError.jsx
+++ b/awx/ui_next/src/components/ContentError/ContentError.jsx
@@ -1,12 +1,11 @@
import React, { Fragment } from 'react';
-import styled from 'styled-components';
import { Link, Redirect } from 'react-router-dom';
import { bool, instanceOf } from 'prop-types';
import { t } from '@lingui/macro';
import { withI18n } from '@lingui/react';
import {
Title,
- EmptyState as PFEmptyState,
+ EmptyState,
EmptyStateIcon,
EmptyStateBody,
} from '@patternfly/react-core';
@@ -14,11 +13,6 @@ import { ExclamationTriangleIcon } from '@patternfly/react-icons';
import { RootAPI } from '@api';
import ErrorDetail from '@components/ErrorDetail';
-const EmptyState = styled(PFEmptyState)`
- width: var(--pf-c-empty-state--m-lg--MaxWidth);
- margin: 0 auto;
-`;
-
async function logout() {
await RootAPI.logout();
window.location.replace('/#/login');
diff --git a/awx/ui_next/src/components/DeleteButton/DeleteButton.jsx b/awx/ui_next/src/components/DeleteButton/DeleteButton.jsx
index f434ea40d5..184caf9ef9 100644
--- a/awx/ui_next/src/components/DeleteButton/DeleteButton.jsx
+++ b/awx/ui_next/src/components/DeleteButton/DeleteButton.jsx
@@ -3,7 +3,6 @@ import { withI18n } from '@lingui/react';
import { t } from '@lingui/macro';
import { Button } from '@patternfly/react-core';
import AlertModal from '@components/AlertModal';
-import { CardActionsRow } from '@components/Card';
function DeleteButton({
onConfirm,
@@ -29,26 +28,28 @@ function DeleteButton({
title={modalTitle}
variant="danger"
onClose={() => setIsOpen(false)}
- >
- {i18n._(t`Are you sure you want to delete:`)}
-
- {name}
-
-
+ actions={[
-
+ ,
+ ,
+ ]}
+ >
+ {i18n._(t`Are you sure you want to delete:`)}
+
+ {name}
>
);
diff --git a/awx/ui_next/src/components/LaunchButton/LaunchButton.jsx b/awx/ui_next/src/components/LaunchButton/LaunchButton.jsx
index 1793eed8ba..86df83f41e 100644
--- a/awx/ui_next/src/components/LaunchButton/LaunchButton.jsx
+++ b/awx/ui_next/src/components/LaunchButton/LaunchButton.jsx
@@ -128,7 +128,7 @@ class LaunchButton extends React.Component {
{launchError && (
diff --git a/awx/ui_next/src/components/NotificationList/NotificationList.jsx b/awx/ui_next/src/components/NotificationList/NotificationList.jsx
index 120d9c86b0..3fc3ae429f 100644
--- a/awx/ui_next/src/components/NotificationList/NotificationList.jsx
+++ b/awx/ui_next/src/components/NotificationList/NotificationList.jsx
@@ -250,7 +250,7 @@ class NotificationList extends Component {
)}
/>
,
]}
>
- {i18n._(t`Are you sure you want to delete:`)}
-
+
+ {i18n._(t`This action will delete the following:`)}
+
{itemsToDelete.map(item => (
{item.name || item.username}
))}
-
)}
diff --git a/awx/ui_next/src/components/ResourceAccessList/ResourceAccessList.jsx b/awx/ui_next/src/components/ResourceAccessList/ResourceAccessList.jsx
index 1baefcf6a5..e321a14b2b 100644
--- a/awx/ui_next/src/components/ResourceAccessList/ResourceAccessList.jsx
+++ b/awx/ui_next/src/components/ResourceAccessList/ResourceAccessList.jsx
@@ -232,7 +232,7 @@ class ResourceAccessList extends React.Component {
)}
diff --git a/awx/ui_next/src/components/ResourceAccessList/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap b/awx/ui_next/src/components/ResourceAccessList/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap
index 50969673ec..9ea0627668 100644
--- a/awx/ui_next/src/components/ResourceAccessList/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap
+++ b/awx/ui_next/src/components/ResourceAccessList/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap
@@ -73,7 +73,7 @@ exports[` should render initially 1`] = `
aria-describedby="pf-modal-0"
aria-label="Remove {0} Access"
aria-modal="true"
- class="pf-c-modal-box awx-c-modal at-c-alertModal at-c-alertModal--danger pf-m-lg"
+ class="pf-c-modal-box pf-m-sm"
role="dialog"
>
should render initially 1`] = `
/>
-
-
- Remove {0} Access
-
-
+
+
should render initially 1`] = `
If you only want to remove access for this particular user, please remove them from the team.
-