diff --git a/awx/ui/package-lock.json b/awx/ui/package-lock.json
index 79e3c2cdf..a8eee8c3f 100644
--- a/awx/ui/package-lock.json
+++ b/awx/ui/package-lock.json
@@ -22,7 +22,6 @@
"html-entities": "2.6.0",
"js-yaml": "4.2.0",
"luxon": "^3.7.2",
- "prop-types": "^15.8.1",
"react": "17.0.2",
"react-ace": "^10.1.0",
"react-dom": "17.0.2",
diff --git a/awx/ui/package.json b/awx/ui/package.json
index eb7204749..f7407f165 100644
--- a/awx/ui/package.json
+++ b/awx/ui/package.json
@@ -22,7 +22,6 @@
"html-entities": "2.6.0",
"js-yaml": "4.2.0",
"luxon": "^3.7.2",
- "prop-types": "^15.8.1",
"react": "17.0.2",
"react-ace": "^10.1.0",
"react-dom": "17.0.2",
diff --git a/awx/ui/src/components/About/About.js b/awx/ui/src/components/About/About.js
index 714ef8af4..d87eb8446 100644
--- a/awx/ui/src/components/About/About.js
+++ b/awx/ui/src/components/About/About.js
@@ -3,7 +3,6 @@
//
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { AboutModal } from '@patternfly/react-core';
import useBrandName from 'hooks/useBrandName';
@@ -70,10 +69,4 @@ function About({ version = null, isOpen = false, onClose }) {
);
}
-About.propTypes = {
- isOpen: PropTypes.bool,
- onClose: PropTypes.func.isRequired,
- version: PropTypes.string,
-};
-
export default About;
diff --git a/awx/ui/src/components/AdHocCommands/AdHocCommands.js b/awx/ui/src/components/AdHocCommands/AdHocCommands.js
index c32b6948e..55bf8feef 100644
--- a/awx/ui/src/components/AdHocCommands/AdHocCommands.js
+++ b/awx/ui/src/components/AdHocCommands/AdHocCommands.js
@@ -4,7 +4,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import useRequest, { useDismissableError } from 'hooks/useRequest';
@@ -165,11 +164,4 @@ function AdHocCommands({
);
}
-AdHocCommands.propTypes = {
- adHocItems: PropTypes.arrayOf(PropTypes.object).isRequired,
- hasListItems: PropTypes.bool.isRequired,
- onLaunchLoading: PropTypes.func.isRequired,
- moduleOptions: PropTypes.arrayOf(PropTypes.array).isRequired,
-};
-
export default AdHocCommands;
diff --git a/awx/ui/src/components/AdHocCommands/AdHocCommandsWizard.js b/awx/ui/src/components/AdHocCommands/AdHocCommandsWizard.js
index b59cae024..271f73763 100644
--- a/awx/ui/src/components/AdHocCommands/AdHocCommandsWizard.js
+++ b/awx/ui/src/components/AdHocCommands/AdHocCommandsWizard.js
@@ -2,7 +2,6 @@ import React from 'react';
import { useLingui } from '@lingui/react/macro';
import { withFormik, useFormikContext } from 'formik';
-import PropTypes from 'prop-types';
import Wizard from '../Wizard';
import useAdHocLaunchSteps from './useAdHocLaunchSteps';
@@ -75,10 +74,4 @@ const FormikApp = withFormik({
},
})(AdHocCommandsWizard);
-FormikApp.propTypes = {
- onLaunch: PropTypes.func.isRequired,
- moduleOptions: PropTypes.arrayOf(PropTypes.array).isRequired,
- onCloseWizard: PropTypes.func.isRequired,
- credentialTypeId: PropTypes.number.isRequired,
-};
export default FormikApp;
diff --git a/awx/ui/src/components/AdHocCommands/AdHocCredentialStep.js b/awx/ui/src/components/AdHocCommands/AdHocCredentialStep.js
index 3a9d04d66..1e18c948c 100644
--- a/awx/ui/src/components/AdHocCommands/AdHocCredentialStep.js
+++ b/awx/ui/src/components/AdHocCommands/AdHocCredentialStep.js
@@ -2,7 +2,6 @@ import React, { useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
-import PropTypes from 'prop-types';
import { useField } from 'formik';
import { Form, FormGroup, Alert } from '@patternfly/react-core';
import { CredentialsAPI } from 'api';
@@ -151,7 +150,4 @@ function AdHocCredentialStep({ credentialTypeId }) {
);
}
-AdHocCredentialStep.propTypes = {
- credentialTypeId: PropTypes.number.isRequired,
-};
export default AdHocCredentialStep;
diff --git a/awx/ui/src/components/AdHocCommands/AdHocDetailsStep.js b/awx/ui/src/components/AdHocCommands/AdHocDetailsStep.js
index d7349d861..db84aa18c 100644
--- a/awx/ui/src/components/AdHocCommands/AdHocDetailsStep.js
+++ b/awx/ui/src/components/AdHocCommands/AdHocDetailsStep.js
@@ -1,7 +1,6 @@
/* eslint-disable react/no-unescaped-entities */
import React from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { useField } from 'formik';
import { Form, FormGroup, Switch, Checkbox } from '@patternfly/react-core';
import styled from 'styled-components';
@@ -279,8 +278,4 @@ function AdHocDetailsStep({ moduleOptions }) {
);
}
-AdHocDetailsStep.propTypes = {
- moduleOptions: PropTypes.arrayOf(PropTypes.array).isRequired,
-};
-
export default AdHocDetailsStep;
diff --git a/awx/ui/src/components/AddDropDownButton/AddDropDownButton.js b/awx/ui/src/components/AddDropDownButton/AddDropDownButton.js
index 64d77b332..2f902e8d3 100644
--- a/awx/ui/src/components/AddDropDownButton/AddDropDownButton.js
+++ b/awx/ui/src/components/AddDropDownButton/AddDropDownButton.js
@@ -1,7 +1,6 @@
import React, { useState, useRef, useEffect } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Dropdown, DropdownPosition } from '@patternfly/react-core';
import { useKebabifiedMenu } from 'contexts/Kebabified';
import { ToolbarAddButton } from '../PaginatedTable';
@@ -50,9 +49,5 @@ function AddDropDownButton({ dropdownItems, ouiaId }) {
);
}
-AddDropDownButton.propTypes = {
- dropdownItems: PropTypes.arrayOf(PropTypes.element.isRequired).isRequired,
-};
-
export { AddDropDownButton as _AddDropDownButton };
export default AddDropDownButton;
diff --git a/awx/ui/src/components/AddRole/AddResourceRole.js b/awx/ui/src/components/AddRole/AddResourceRole.js
index 3a297efc2..cbd7bdd25 100644
--- a/awx/ui/src/components/AddRole/AddResourceRole.js
+++ b/awx/ui/src/components/AddRole/AddResourceRole.js
@@ -1,5 +1,4 @@
import React, { useState, useEffect, useMemo } from 'react';
-import PropTypes from 'prop-types';
import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { TeamsAPI, UsersAPI } from 'api';
@@ -284,12 +283,5 @@ function AddResourceRole({
);
}
-AddResourceRole.propTypes = {
- onClose: PropTypes.func.isRequired,
- onSave: PropTypes.func.isRequired,
- roles: PropTypes.shape(),
- resource: PropTypes.shape(),
-};
-
export { AddResourceRole as _AddResourceRole };
export default AddResourceRole;
diff --git a/awx/ui/src/components/AddRole/CheckboxCard.js b/awx/ui/src/components/AddRole/CheckboxCard.js
index b4fd17aae..c5d9826e2 100644
--- a/awx/ui/src/components/AddRole/CheckboxCard.js
+++ b/awx/ui/src/components/AddRole/CheckboxCard.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { Checkbox as PFCheckbox } from '@patternfly/react-core';
import styled from 'styled-components';
@@ -44,12 +43,4 @@ function CheckboxCard({
);
}
-CheckboxCard.propTypes = {
- name: PropTypes.string.isRequired,
- description: PropTypes.string,
- isSelected: PropTypes.bool,
- onSelect: PropTypes.func,
- itemId: PropTypes.number.isRequired,
-};
-
export default CheckboxCard;
diff --git a/awx/ui/src/components/AddRole/SelectResourceStep.js b/awx/ui/src/components/AddRole/SelectResourceStep.js
index 529229fb0..357e3aefa 100644
--- a/awx/ui/src/components/AddRole/SelectResourceStep.js
+++ b/awx/ui/src/components/AddRole/SelectResourceStep.js
@@ -1,9 +1,7 @@
import React, { useCallback, useEffect } from 'react';
-import PropTypes from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import useRequest from 'hooks/useRequest';
-import { SearchColumns, SortColumns } from 'types';
import { getQSConfig, parseQueryString } from 'util/qs';
import DataListToolbar from '../DataListToolbar';
import CheckboxListItem from '../CheckboxListItem';
@@ -140,15 +138,5 @@ function SelectResourceStep({
);
}
-SelectResourceStep.propTypes = {
- searchColumns: SearchColumns,
- sortColumns: SortColumns,
- displayKey: PropTypes.string,
- onRowClick: PropTypes.func,
- fetchItems: PropTypes.func.isRequired,
- selectedLabel: PropTypes.string,
- selectedResourceRows: PropTypes.arrayOf(PropTypes.object),
-};
-
export { SelectResourceStep as _SelectResourceStep };
export default SelectResourceStep;
diff --git a/awx/ui/src/components/AddRole/SelectRoleStep.js b/awx/ui/src/components/AddRole/SelectRoleStep.js
index 81b83559d..bacca104d 100644
--- a/awx/ui/src/components/AddRole/SelectRoleStep.js
+++ b/awx/ui/src/components/AddRole/SelectRoleStep.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -56,13 +55,4 @@ function RolesStep({
);
}
-RolesStep.propTypes = {
- onRolesClick: PropTypes.func,
- roles: PropTypes.objectOf(PropTypes.object).isRequired,
- selectedListKey: PropTypes.string,
- selectedListLabel: PropTypes.string,
- selectedResourceRows: PropTypes.arrayOf(PropTypes.object),
- selectedRoleRows: PropTypes.arrayOf(PropTypes.object),
-};
-
export default RolesStep;
diff --git a/awx/ui/src/components/AnsibleSelect/AnsibleSelect.js b/awx/ui/src/components/AnsibleSelect/AnsibleSelect.js
index 47e58abfc..6e47bdcae 100644
--- a/awx/ui/src/components/AnsibleSelect/AnsibleSelect.js
+++ b/awx/ui/src/components/AnsibleSelect/AnsibleSelect.js
@@ -1,13 +1,4 @@
import React from 'react';
-import {
- arrayOf,
- oneOfType,
- func,
- number,
- string,
- shape,
- bool,
-} from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { FormSelect, FormSelectOption } from '@patternfly/react-core';
@@ -55,23 +46,5 @@ function AnsibleSelect({
);
}
-const Option = shape({
- key: oneOfType([string, number]).isRequired,
- value: oneOfType([string, number]).isRequired,
- label: string.isRequired,
- isDisabled: bool,
-});
-
-AnsibleSelect.propTypes = {
- data: arrayOf(Option),
- id: string.isRequired,
- isValid: bool,
- onBlur: func,
- onChange: func.isRequired,
- value: oneOfType([string, number]).isRequired,
- className: string,
- isDisabled: bool,
-};
-
export { AnsibleSelect as _AnsibleSelect };
export default AnsibleSelect;
diff --git a/awx/ui/src/components/AppContainer/NavExpandableGroup.js b/awx/ui/src/components/AppContainer/NavExpandableGroup.js
index 9a46f51e2..7c552eeee 100644
--- a/awx/ui/src/components/AppContainer/NavExpandableGroup.js
+++ b/awx/ui/src/components/AppContainer/NavExpandableGroup.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes, { oneOfType, string, arrayOf } from 'prop-types';
import { matchPath, Link } from 'react-router-dom';
import { useLocation } from 'react-router-dom-v5-compat';
import { NavExpandable, NavItem } from '@patternfly/react-core';
@@ -44,10 +43,4 @@ function NavExpandableGroup(props) {
);
}
-NavExpandableGroup.propTypes = {
- groupId: string.isRequired,
- groupTitle: oneOfType([PropTypes.element, string]).isRequired,
- routes: arrayOf(PropTypes.object).isRequired,
-};
-
export default NavExpandableGroup;
diff --git a/awx/ui/src/components/AppContainer/PageHeaderToolbar.js b/awx/ui/src/components/AppContainer/PageHeaderToolbar.js
index 132860a35..0e6959acc 100644
--- a/awx/ui/src/components/AppContainer/PageHeaderToolbar.js
+++ b/awx/ui/src/components/AppContainer/PageHeaderToolbar.js
@@ -2,7 +2,6 @@
// Modifications Copyright (c) 2023 Ctrl IQ, Inc.
//
import React, { useCallback, useEffect, useState } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
@@ -233,10 +232,4 @@ function PageHeaderToolbar({
);
}
-PageHeaderToolbar.propTypes = {
- isAboutDisabled: PropTypes.bool,
- onAboutClick: PropTypes.func.isRequired,
- onLogoutClick: PropTypes.func.isRequired,
-};
-
export default PageHeaderToolbar;
diff --git a/awx/ui/src/components/CheckboxListItem/CheckboxListItem.js b/awx/ui/src/components/CheckboxListItem/CheckboxListItem.js
index 506dcc5b6..fba674290 100644
--- a/awx/ui/src/components/CheckboxListItem/CheckboxListItem.js
+++ b/awx/ui/src/components/CheckboxListItem/CheckboxListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Td, Tr } from '@patternfly/react-table';
import { ActionsTd } from 'components/PaginatedTable';
@@ -78,13 +77,4 @@ const CheckboxListItem = ({
);
};
-CheckboxListItem.propTypes = {
- isSelected: PropTypes.bool,
- itemId: PropTypes.number.isRequired,
- label: PropTypes.string.isRequired,
- name: PropTypes.string.isRequired,
- onDeselect: PropTypes.func.isRequired,
- onSelect: PropTypes.func.isRequired,
-};
-
export default CheckboxListItem;
diff --git a/awx/ui/src/components/ChipGroup/ChipGroup.js b/awx/ui/src/components/ChipGroup/ChipGroup.js
index 04478181b..8f067177d 100644
--- a/awx/ui/src/components/ChipGroup/ChipGroup.js
+++ b/awx/ui/src/components/ChipGroup/ChipGroup.js
@@ -3,7 +3,6 @@ import React from 'react';
import { useLingui } from '@lingui/react/macro';
import { ChipGroup as PFChipGroup } from '@patternfly/react-core';
-import { number } from 'prop-types';
function ChipGroup({ numChips, totalChips, ...props }) {
const { t } = useLingui();
@@ -17,9 +16,4 @@ function ChipGroup({ numChips, totalChips, ...props }) {
);
}
-ChipGroup.propTypes = {
- numChips: number.isRequired,
- totalChips: number.isRequired,
-};
-
export default ChipGroup;
diff --git a/awx/ui/src/components/CodeEditor/CodeEditor.js b/awx/ui/src/components/CodeEditor/CodeEditor.js
index 54658c799..ed9c386af 100644
--- a/awx/ui/src/components/CodeEditor/CodeEditor.js
+++ b/awx/ui/src/components/CodeEditor/CodeEditor.js
@@ -1,5 +1,4 @@
import React, { useEffect, useRef, useCallback } from 'react';
-import { oneOf, bool, number, string, func, oneOfType } from 'prop-types';
import ReactAce from 'react-ace';
import 'ace-builds/src-noconflict/mode-json';
@@ -203,14 +202,4 @@ function CodeEditor({
>
);
}
-CodeEditor.propTypes = {
- value: string.isRequired,
- onChange: func,
- mode: oneOf(['javascript', 'yaml', 'jinja2', 'json']).isRequired,
- readOnly: bool,
- hasErrors: bool,
- fullHeight: bool,
- rows: oneOfType([number, string]),
- className: string,
-};
export default CodeEditor;
diff --git a/awx/ui/src/components/CodeEditor/CodeEditorField.js b/awx/ui/src/components/CodeEditor/CodeEditorField.js
index f2fec4404..215802b55 100644
--- a/awx/ui/src/components/CodeEditor/CodeEditorField.js
+++ b/awx/ui/src/components/CodeEditor/CodeEditorField.js
@@ -1,14 +1,4 @@
import React from 'react';
-import {
- string,
- oneOfType,
- object,
- func,
- bool,
- node,
- oneOf,
- number,
-} from 'prop-types';
import { useField } from 'formik';
import { FormGroup } from '@patternfly/react-core';
import CodeEditor from './CodeEditor';
@@ -53,16 +43,5 @@ function CodeEditorField({
);
}
-CodeEditorField.propTypes = {
- helperText: string,
- id: string.isRequired,
- name: string.isRequired,
- label: oneOfType([object, string]).isRequired,
- validate: func,
- isRequired: bool,
- tooltip: node,
- mode: oneOf(['javascript', 'yaml', 'jinja2']).isRequired,
- rows: number,
-};
export default CodeEditorField;
diff --git a/awx/ui/src/components/CodeEditor/VariablesDetail.js b/awx/ui/src/components/CodeEditor/VariablesDetail.js
index 7a2c82384..352e85ad4 100644
--- a/awx/ui/src/components/CodeEditor/VariablesDetail.js
+++ b/awx/ui/src/components/CodeEditor/VariablesDetail.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { node, number, oneOfType, shape, string, arrayOf } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
@@ -150,14 +149,6 @@ function VariablesDetail({
>
);
}
-VariablesDetail.propTypes = {
- value: oneOfType([shape({}), arrayOf(string), string]).isRequired,
- label: node.isRequired,
- rows: oneOfType([number, string]),
- dataCy: string,
- helpText: oneOfType([node, string]),
- name: string.isRequired,
-};
function ModeToggle({
id,
label,
diff --git a/awx/ui/src/components/CodeEditor/VariablesField.js b/awx/ui/src/components/CodeEditor/VariablesField.js
index 21f5f2da8..8d12a2147 100644
--- a/awx/ui/src/components/CodeEditor/VariablesField.js
+++ b/awx/ui/src/components/CodeEditor/VariablesField.js
@@ -1,5 +1,4 @@
import React, { useState, useEffect, useCallback } from 'react';
-import { string, bool, func, oneOf, shape } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { useField } from 'formik';
@@ -183,17 +182,6 @@ function VariablesField({
);
}
-VariablesField.propTypes = {
- id: string.isRequired,
- name: string.isRequired,
- label: string.isRequired,
- readOnly: bool,
- promptId: string,
- initialMode: oneOf([YAML_MODE, JSON_MODE]),
- onModeChange: func,
- isRequired: bool,
- validators: shape({}),
-};
function VariablesFieldInternals({
id,
name,
diff --git a/awx/ui/src/components/ContentError/ContentError.js b/awx/ui/src/components/ContentError/ContentError.js
index 6f19d2ccc..c227bb9fa 100644
--- a/awx/ui/src/components/ContentError/ContentError.js
+++ b/awx/ui/src/components/ContentError/ContentError.js
@@ -2,7 +2,6 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { Navigate } from 'react-router-dom-v5-compat';
-import { bool, instanceOf } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
@@ -54,9 +53,5 @@ function ContentError({ error = null, children, isNotFound = false }) {
>
);
}
-ContentError.propTypes = {
- error: instanceOf(Error),
- isNotFound: bool,
-};
export { ContentError as _ContentError };
export default ContentError;
diff --git a/awx/ui/src/components/CopyButton/CopyButton.js b/awx/ui/src/components/CopyButton/CopyButton.js
index a5d2a03b5..cb7bbc086 100644
--- a/awx/ui/src/components/CopyButton/CopyButton.js
+++ b/awx/ui/src/components/CopyButton/CopyButton.js
@@ -1,6 +1,5 @@
import React, { useEffect } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Button } from '@patternfly/react-core';
import { CopyIcon } from '@patternfly/react-icons';
import useRequest, { useDismissableError } from 'hooks/useRequest';
@@ -60,13 +59,4 @@ function CopyButton({
);
}
-CopyButton.propTypes = {
- copyItem: PropTypes.func.isRequired,
- onCopyStart: PropTypes.func.isRequired,
- onCopyFinish: PropTypes.func.isRequired,
- errorMessage: PropTypes.string.isRequired,
- isDisabled: PropTypes.bool,
- ouiaId: PropTypes.string,
-};
-
export default CopyButton;
diff --git a/awx/ui/src/components/CredentialChip/CredentialChip.js b/awx/ui/src/components/CredentialChip/CredentialChip.js
index 735751bbe..67bf41c0f 100644
--- a/awx/ui/src/components/CredentialChip/CredentialChip.js
+++ b/awx/ui/src/components/CredentialChip/CredentialChip.js
@@ -2,7 +2,6 @@ import React from 'react';
import { useLingui } from '@lingui/react/macro';
import { Chip } from '@patternfly/react-core';
-import { Credential } from 'types';
import { toTitleCase } from 'util/strings';
function CredentialChip({ credential, ...props }) {
@@ -32,9 +31,6 @@ function CredentialChip({ credential, ...props }) {
);
}
-CredentialChip.propTypes = {
- credential: Credential.isRequired,
-};
export { CredentialChip as _CredentialChip };
export default CredentialChip;
diff --git a/awx/ui/src/components/DataListToolbar/DataListToolbar.js b/awx/ui/src/components/DataListToolbar/DataListToolbar.js
index ffc1af1a8..a67a85bd8 100644
--- a/awx/ui/src/components/DataListToolbar/DataListToolbar.js
+++ b/awx/ui/src/components/DataListToolbar/DataListToolbar.js
@@ -1,5 +1,4 @@
import React, { useEffect, useMemo, useState } from 'react';
-import PropTypes from 'prop-types';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
import {
@@ -20,7 +19,6 @@ import {
AngleRightIcon,
SearchIcon,
} from '@patternfly/react-icons';
-import { SearchColumns, SortColumns, QSConfig, SearchableKeys } from 'types';
import { KebabifiedProvider } from 'contexts/Kebabified';
import ExpandCollapse from '../ExpandCollapse';
import Search from '../Search';
@@ -208,26 +206,4 @@ function DataListToolbar({
);
}
-DataListToolbar.propTypes = {
- itemCount: PropTypes.number,
- clearAllFilters: PropTypes.func,
- qsConfig: QSConfig.isRequired,
- searchColumns: SearchColumns.isRequired,
- searchableKeys: SearchableKeys,
- relatedSearchableKeys: PropTypes.arrayOf(PropTypes.string),
- sortColumns: SortColumns,
- isAllSelected: PropTypes.bool,
- isCompact: PropTypes.bool,
- onCompact: PropTypes.func,
- onExpand: PropTypes.func,
- onSearch: PropTypes.func,
- onReplaceSearch: PropTypes.func,
- onSelectAll: PropTypes.func,
- onSort: PropTypes.func,
- additionalControls: PropTypes.arrayOf(PropTypes.node),
- enableNegativeFiltering: PropTypes.bool,
- enableRelatedFuzzyFiltering: PropTypes.bool,
- advancedSearchDisabled: PropTypes.bool,
-};
-
export default DataListToolbar;
diff --git a/awx/ui/src/components/DeleteButton/DeleteButton.js b/awx/ui/src/components/DeleteButton/DeleteButton.js
index 0b3610a51..5467ece47 100644
--- a/awx/ui/src/components/DeleteButton/DeleteButton.js
+++ b/awx/ui/src/components/DeleteButton/DeleteButton.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -151,8 +150,4 @@ function DeleteButton({
);
}
-DeleteButton.propTypes = {
- ouiaId: PropTypes.string,
-};
-
export default DeleteButton;
diff --git a/awx/ui/src/components/DetailList/CodeDetail.js b/awx/ui/src/components/DetailList/CodeDetail.js
index d1f66d369..734eb1bbb 100644
--- a/awx/ui/src/components/DetailList/CodeDetail.js
+++ b/awx/ui/src/components/DetailList/CodeDetail.js
@@ -1,13 +1,4 @@
import React from 'react';
-import {
- arrayOf,
- oneOf,
- oneOfType,
- node,
- number,
- shape,
- string,
-} from 'prop-types';
import { TextListItemVariants } from '@patternfly/react-core';
import { DetailName, DetailValue } from './Detail';
import CodeEditor from '../CodeEditor';
@@ -64,12 +55,4 @@ function CodeDetail({
>
);
}
-CodeDetail.propTypes = {
- value: oneOfType([shape({}), arrayOf(string), string]).isRequired,
- label: node.isRequired,
- dataCy: string,
- helpText: string,
- rows: oneOfType([number, string]),
- mode: oneOf(['json', 'javascript', 'yaml', 'jinja2']).isRequired,
-};
export default CodeDetail;
diff --git a/awx/ui/src/components/DetailList/DeletedDetail.js b/awx/ui/src/components/DetailList/DeletedDetail.js
index 43f5d92df..f2689c97e 100644
--- a/awx/ui/src/components/DetailList/DeletedDetail.js
+++ b/awx/ui/src/components/DetailList/DeletedDetail.js
@@ -1,7 +1,6 @@
import React from 'react';
import { useLingui } from '@lingui/react/macro';
-import { node } from 'prop-types';
import styled from 'styled-components';
import _Detail from './Detail';
@@ -23,8 +22,4 @@ function DeletedDetail({ label, dataCy, helpText }) {
);
}
-DeletedDetail.propTypes = {
- label: node.isRequired,
-};
-
export default DeletedDetail;
diff --git a/awx/ui/src/components/DetailList/Detail.js b/awx/ui/src/components/DetailList/Detail.js
index b7beeac7b..c1f39bf01 100644
--- a/awx/ui/src/components/DetailList/Detail.js
+++ b/awx/ui/src/components/DetailList/Detail.js
@@ -1,6 +1,5 @@
import React from 'react';
-import { oneOfType, node, bool, string } from 'prop-types';
import { TextListItem, TextListItemVariants } from '@patternfly/react-core';
import styled from 'styled-components';
import Popover from '../Popover';
@@ -82,13 +81,6 @@ const Detail = ({
);
};
-Detail.propTypes = {
- label: node.isRequired,
- value: node,
- fullWidth: bool,
- alwaysVisible: bool,
- helpText: oneOfType([string, node]),
-};
export default Detail;
export { DetailName };
export { DetailValue };
diff --git a/awx/ui/src/components/DetailList/DetailBadge.js b/awx/ui/src/components/DetailList/DetailBadge.js
index 1482ae4ad..fd8313dc0 100644
--- a/awx/ui/src/components/DetailList/DetailBadge.js
+++ b/awx/ui/src/components/DetailList/DetailBadge.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { node } from 'prop-types';
import styled from 'styled-components';
import { Badge } from '@patternfly/react-core';
@@ -19,9 +18,5 @@ function DetailBadge({ label, helpText, content, dataCy = null }) {
/>
);
}
-DetailBadge.propTypes = {
- label: node.isRequired,
- content: node.isRequired,
-};
export default DetailBadge;
diff --git a/awx/ui/src/components/DetailList/UserDateDetail.js b/awx/ui/src/components/DetailList/UserDateDetail.js
index b0e54eee3..5dff7ad87 100644
--- a/awx/ui/src/components/DetailList/UserDateDetail.js
+++ b/awx/ui/src/components/DetailList/UserDateDetail.js
@@ -1,10 +1,8 @@
import React from 'react';
-import { node, string } from 'prop-types';
import { Trans } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import styled from 'styled-components';
import { formatDateString } from 'util/dates';
-import { SummaryFieldUser } from 'types';
import _Detail from './Detail';
const Detail = styled(_Detail)`
@@ -30,9 +28,4 @@ function UserDateDetail({ label, date, user = null }) {
/>
);
}
-UserDateDetail.propTypes = {
- label: node.isRequired,
- date: string.isRequired,
- user: SummaryFieldUser,
-};
export default UserDateDetail;
diff --git a/awx/ui/src/components/DisassociateButton/DisassociateButton.js b/awx/ui/src/components/DisassociateButton/DisassociateButton.js
index df4a2e85d..b1ee1c778 100644
--- a/awx/ui/src/components/DisassociateButton/DisassociateButton.js
+++ b/awx/ui/src/components/DisassociateButton/DisassociateButton.js
@@ -1,13 +1,4 @@
import React, { useState, useEffect, useContext } from 'react';
-import {
- arrayOf,
- func,
- shape,
- string,
- oneOfType,
- number,
- node,
-} from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Button, Tooltip, DropdownItem } from '@patternfly/react-core';
@@ -167,24 +158,4 @@ function DisassociateButton({
);
}
-DisassociateButton.propTypes = {
- itemsToDisassociate: oneOfType([
- arrayOf(
- shape({
- id: number.isRequired,
- name: string.isRequired,
- })
- ),
- arrayOf(
- shape({
- id: number.isRequired,
- hostname: string.isRequired,
- })
- ),
- ]),
- modalNote: node,
- modalTitle: string,
- onDisassociate: func.isRequired,
-};
-
export default DisassociateButton;
diff --git a/awx/ui/src/components/ErrorDetail/ErrorDetail.js b/awx/ui/src/components/ErrorDetail/ErrorDetail.js
index 3dae8b2bf..eefd52247 100644
--- a/awx/ui/src/components/ErrorDetail/ErrorDetail.js
+++ b/awx/ui/src/components/ErrorDetail/ErrorDetail.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
@@ -98,7 +97,4 @@ function ErrorDetail({ error = null }) {
);
}
-ErrorDetail.propTypes = {
- error: PropTypes.instanceOf(Error),
-};
export default ErrorDetail;
diff --git a/awx/ui/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.js b/awx/ui/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.js
index 5af2c8f4d..f8bd586d7 100644
--- a/awx/ui/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.js
+++ b/awx/ui/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.js
@@ -1,12 +1,10 @@
import React from 'react';
-import { bool, string } from 'prop-types';
import { Link } from 'react-router-dom';
import { Trans, useLingui } from '@lingui/react/macro';
import { Popover, Tooltip } from '@patternfly/react-core';
import styled from 'styled-components';
import { ExclamationTriangleIcon as PFExclamationTriangleIcon } from '@patternfly/react-icons';
-import { ExecutionEnvironment } from 'types';
import getDocsBaseUrl from 'util/getDocsBaseUrl';
import { useConfig } from 'contexts/Config';
import { Detail } from '../DetailList';
@@ -128,13 +126,4 @@ function ExecutionEnvironmentDetail({
return null;
}
-ExecutionEnvironmentDetail.propTypes = {
- executionEnvironment: ExecutionEnvironment,
- isDefaultEnvironment: bool,
- virtualEnvironment: string,
- verifyMissingVirtualEnv: bool,
- helpText: string,
- dataCy: string,
-};
-
export default ExecutionEnvironmentDetail;
diff --git a/awx/ui/src/components/ExpandCollapse/ExpandCollapse.js b/awx/ui/src/components/ExpandCollapse/ExpandCollapse.js
index fdf78c3e5..b05e6a768 100644
--- a/awx/ui/src/components/ExpandCollapse/ExpandCollapse.js
+++ b/awx/ui/src/components/ExpandCollapse/ExpandCollapse.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
@@ -61,10 +60,4 @@ function ExpandCollapse({ isCompact = true, onCompact, onExpand }) {
);
}
-ExpandCollapse.propTypes = {
- onCompact: PropTypes.func.isRequired,
- onExpand: PropTypes.func.isRequired,
- isCompact: PropTypes.bool,
-};
-
export default ExpandCollapse;
diff --git a/awx/ui/src/components/FieldWithPrompt/FieldWithPrompt.js b/awx/ui/src/components/FieldWithPrompt/FieldWithPrompt.js
index baffc6913..0c3d32b74 100644
--- a/awx/ui/src/components/FieldWithPrompt/FieldWithPrompt.js
+++ b/awx/ui/src/components/FieldWithPrompt/FieldWithPrompt.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { bool, node, string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
@@ -54,13 +53,4 @@ function FieldWithPrompt({
);
}
-FieldWithPrompt.propTypes = {
- fieldId: string.isRequired,
- isRequired: bool,
- label: string.isRequired,
- promptId: string.isRequired,
- promptName: string.isRequired,
- tooltip: node,
-};
-
export default FieldWithPrompt;
diff --git a/awx/ui/src/components/FormActionGroup/FormActionGroup.js b/awx/ui/src/components/FormActionGroup/FormActionGroup.js
index 4cfd0e8d6..8e03e470a 100644
--- a/awx/ui/src/components/FormActionGroup/FormActionGroup.js
+++ b/awx/ui/src/components/FormActionGroup/FormActionGroup.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { ActionGroup, Button } from '@patternfly/react-core';
@@ -35,10 +34,4 @@ const FormActionGroup = ({ onCancel, onSubmit, submitDisabled = false }) => {
);
};
-FormActionGroup.propTypes = {
- onCancel: PropTypes.func.isRequired,
- onSubmit: PropTypes.func.isRequired,
- submitDisabled: PropTypes.bool,
-};
-
export default FormActionGroup;
diff --git a/awx/ui/src/components/FormField/ArrayTextField.js b/awx/ui/src/components/FormField/ArrayTextField.js
index 00ad86ca6..659a9bfee 100644
--- a/awx/ui/src/components/FormField/ArrayTextField.js
+++ b/awx/ui/src/components/FormField/ArrayTextField.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useField } from 'formik';
import { FormGroup, TextArea } from '@patternfly/react-core';
import Popover from '../Popover';
@@ -50,15 +49,4 @@ function ArrayTextField({
);
}
-ArrayTextField.propTypes = {
- helperText: PropTypes.string,
- id: PropTypes.string.isRequired,
- name: PropTypes.string.isRequired,
- label: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired,
- validate: PropTypes.func,
- isRequired: PropTypes.bool,
- tooltip: PropTypes.node,
- tooltipMaxWidth: PropTypes.string,
-};
-
export default ArrayTextField;
diff --git a/awx/ui/src/components/FormField/CheckboxField.js b/awx/ui/src/components/FormField/CheckboxField.js
index abe2f5333..e30448b57 100644
--- a/awx/ui/src/components/FormField/CheckboxField.js
+++ b/awx/ui/src/components/FormField/CheckboxField.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, func, node } from 'prop-types';
import { useField } from 'formik';
import { Checkbox } from '@patternfly/react-core';
import Popover from '../Popover';
@@ -36,11 +35,4 @@ function CheckboxField({
/>
);
}
-CheckboxField.propTypes = {
- id: string.isRequired,
- name: string.isRequired,
- label: string.isRequired,
- validate: func,
- tooltip: node,
-};
export default CheckboxField;
diff --git a/awx/ui/src/components/FormField/FormField.js b/awx/ui/src/components/FormField/FormField.js
index af0468f62..5069a619a 100644
--- a/awx/ui/src/components/FormField/FormField.js
+++ b/awx/ui/src/components/FormField/FormField.js
@@ -1,6 +1,5 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useField } from 'formik';
import { FormGroup, TextInput, TextArea } from '@patternfly/react-core';
import Popover from '../Popover';
@@ -73,16 +72,4 @@ function FormField({
);
}
-FormField.propTypes = {
- helperText: PropTypes.string,
- id: PropTypes.string.isRequired,
- name: PropTypes.string.isRequired,
- label: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired,
- type: PropTypes.string,
- validate: PropTypes.func,
- isRequired: PropTypes.bool,
- tooltip: PropTypes.node,
- tooltipMaxWidth: PropTypes.string,
-};
-
export default FormField;
diff --git a/awx/ui/src/components/FormField/PasswordField.js b/awx/ui/src/components/FormField/PasswordField.js
index 2133e8ab9..1f8975817 100644
--- a/awx/ui/src/components/FormField/PasswordField.js
+++ b/awx/ui/src/components/FormField/PasswordField.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useField } from 'formik';
import { FormGroup, InputGroup } from '@patternfly/react-core';
import Popover from '../Popover';
@@ -41,13 +40,4 @@ function PasswordField({
);
}
-PasswordField.propTypes = {
- id: PropTypes.string.isRequired,
- name: PropTypes.string.isRequired,
- label: PropTypes.string.isRequired,
- validate: PropTypes.func,
- isRequired: PropTypes.bool,
- isDisabled: PropTypes.bool,
-};
-
export default PasswordField;
diff --git a/awx/ui/src/components/FormField/PasswordInput.js b/awx/ui/src/components/FormField/PasswordInput.js
index dd7bcb92e..be8ec1184 100644
--- a/awx/ui/src/components/FormField/PasswordInput.js
+++ b/awx/ui/src/components/FormField/PasswordInput.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { useField } from 'formik';
@@ -66,13 +65,4 @@ function PasswordInput({
);
}
-PasswordInput.propTypes = {
- autocomplete: PropTypes.string,
- id: PropTypes.string.isRequired,
- name: PropTypes.string.isRequired,
- validate: PropTypes.func,
- isRequired: PropTypes.bool,
- isDisabled: PropTypes.bool,
-};
-
export default PasswordInput;
diff --git a/awx/ui/src/components/HostForm/HostForm.js b/awx/ui/src/components/HostForm/HostForm.js
index b2f5e19e2..043cc051e 100644
--- a/awx/ui/src/components/HostForm/HostForm.js
+++ b/awx/ui/src/components/HostForm/HostForm.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import { bool, func, shape } from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { useLingui } from '@lingui/react/macro';
import { Form, FormGroup, Tooltip } from '@patternfly/react-core';
@@ -136,14 +135,5 @@ const HostForm = ({
);
};
-HostForm.propTypes = {
- handleCancel: func.isRequired,
- handleSubmit: func.isRequired,
- host: shape({}),
- isInventoryVisible: bool,
- submitError: shape({}),
- disableInventoryLookup: bool,
-};
-
export { HostForm as _HostForm };
export default HostForm;
diff --git a/awx/ui/src/components/InstanceGroupLabels/InstanceGroupLabels.js b/awx/ui/src/components/InstanceGroupLabels/InstanceGroupLabels.js
index f6fe77fda..e9a06fbcf 100644
--- a/awx/ui/src/components/InstanceGroupLabels/InstanceGroupLabels.js
+++ b/awx/ui/src/components/InstanceGroupLabels/InstanceGroupLabels.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { arrayOf, bool, number, shape, string } from 'prop-types';
import { Label, LabelGroup } from '@patternfly/react-core';
import { Link } from 'react-router-dom';
@@ -38,10 +37,4 @@ function InstanceGroupLabels({ labels, isLinkable = false }) {
);
}
-InstanceGroupLabels.propTypes = {
- labels: arrayOf(shape({ id: number.isRequired, name: string.isRequired }))
- .isRequired,
- isLinkable: bool,
-};
-
export default InstanceGroupLabels;
diff --git a/awx/ui/src/components/JobList/JobListCancelButton.js b/awx/ui/src/components/JobList/JobListCancelButton.js
index 75df44113..0f5f329c8 100644
--- a/awx/ui/src/components/JobList/JobListCancelButton.js
+++ b/awx/ui/src/components/JobList/JobListCancelButton.js
@@ -1,10 +1,8 @@
import React, { useContext, useEffect, useState } from 'react';
import { Plural, useLingui } from '@lingui/react/macro';
-import { arrayOf, func } from 'prop-types';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import { KebabifiedContext } from 'contexts/Kebabified';
import { isJobRunning } from 'util/jobs';
-import { Job } from 'types';
import AlertModal from '../AlertModal';
function cannotCancelBecausePermissions(job) {
@@ -183,9 +181,4 @@ function JobListCancelButton({ jobsToCancel = [], onCancel = () => {} }) {
);
}
-JobListCancelButton.propTypes = {
- jobsToCancel: arrayOf(Job),
- onCancel: func,
-};
-
export default JobListCancelButton;
diff --git a/awx/ui/src/components/LabelSelect/LabelSelect.js b/awx/ui/src/components/LabelSelect/LabelSelect.js
index 016e56126..d8eb0947c 100644
--- a/awx/ui/src/components/LabelSelect/LabelSelect.js
+++ b/awx/ui/src/components/LabelSelect/LabelSelect.js
@@ -1,5 +1,4 @@
import React, { useState, useEffect } from 'react';
-import { func, arrayOf, number, shape, string, oneOfType } from 'prop-types';
import {
Chip,
ChipGroup,
@@ -142,15 +141,4 @@ function LabelSelect({
);
}
-LabelSelect.propTypes = {
- value: arrayOf(
- shape({
- id: oneOfType([number, string]).isRequired,
- name: string.isRequired,
- })
- ).isRequired,
- placeholder: string,
- onChange: func.isRequired,
- onError: func.isRequired,
-};
export default LabelSelect;
diff --git a/awx/ui/src/components/LaunchButton/LaunchButton.js b/awx/ui/src/components/LaunchButton/LaunchButton.js
index f86888987..5536815dc 100644
--- a/awx/ui/src/components/LaunchButton/LaunchButton.js
+++ b/awx/ui/src/components/LaunchButton/LaunchButton.js
@@ -1,6 +1,5 @@
import React, { useState, useRef, useEffect } from 'react';
import { useNavigate } from 'react-router-dom-v5-compat';
-import { number, shape } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
AdHocCommandsAPI,
@@ -257,10 +256,4 @@ function LaunchButton({ resource, children }) {
);
}
-LaunchButton.propTypes = {
- resource: shape({
- id: number.isRequired,
- }).isRequired,
-};
-
export default LaunchButton;
diff --git a/awx/ui/src/components/LaunchPrompt/steps/SurveyStep.js b/awx/ui/src/components/LaunchPrompt/steps/SurveyStep.js
index 3d9cbcedd..113999453 100644
--- a/awx/ui/src/components/LaunchPrompt/steps/SurveyStep.js
+++ b/awx/ui/src/components/LaunchPrompt/steps/SurveyStep.js
@@ -16,7 +16,6 @@ import {
integer,
combine,
} from 'util/validators';
-import { Survey } from 'types';
import FormField from '../../FormField';
import Popover from '../../Popover';
@@ -45,9 +44,6 @@ function SurveyStep({ surveyConfig }) {
);
}
-SurveyStep.propTypes = {
- surveyConfig: Survey.isRequired,
-};
function TextField({ question }) {
const validators = [
diff --git a/awx/ui/src/components/ListHeader/ListHeader.js b/awx/ui/src/components/ListHeader/ListHeader.js
index 9ae5a2fd1..81fe323b9 100644
--- a/awx/ui/src/components/ListHeader/ListHeader.js
+++ b/awx/ui/src/components/ListHeader/ListHeader.js
@@ -1,6 +1,5 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
import styled from 'styled-components';
@@ -12,7 +11,6 @@ import {
removeParams,
updateQueryString,
} from 'util/qs';
-import { QSConfig, SearchColumns, SortColumns, SearchableKeys } from 'types';
import DataListToolbar from '../DataListToolbar';
const EmptyStateControlsWrapper = styled.div`
@@ -130,14 +128,4 @@ function ListHeader({
);
}
-ListHeader.propTypes = {
- itemCount: PropTypes.number.isRequired,
- qsConfig: QSConfig.isRequired,
- searchColumns: SearchColumns.isRequired,
- searchableKeys: SearchableKeys,
- relatedSearchableKeys: PropTypes.arrayOf(PropTypes.string),
- sortColumns: SortColumns,
- renderToolbar: PropTypes.func,
-};
-
export default ListHeader;
diff --git a/awx/ui/src/components/Lookup/ApplicationLookup.js b/awx/ui/src/components/Lookup/ApplicationLookup.js
index 3a14fde85..af5a7274c 100644
--- a/awx/ui/src/components/Lookup/ApplicationLookup.js
+++ b/awx/ui/src/components/Lookup/ApplicationLookup.js
@@ -1,10 +1,8 @@
import React, { useCallback, useEffect } from 'react';
-import { func, node, string } from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import { FormGroup } from '@patternfly/react-core';
import { ApplicationsAPI } from 'api';
-import { Application } from 'types';
import { getSearchableKeys } from 'components/PaginatedTable';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -144,12 +142,5 @@ function ApplicationLookup({
);
}
-ApplicationLookup.propTypes = {
- label: node.isRequired,
- onChange: func.isRequired,
- value: Application,
- validate: func,
- fieldName: string,
-};
export default ApplicationLookup;
diff --git a/awx/ui/src/components/Lookup/CredentialLookup.js b/awx/ui/src/components/Lookup/CredentialLookup.js
index 8b6960cfa..8ae4c1092 100644
--- a/awx/ui/src/components/Lookup/CredentialLookup.js
+++ b/awx/ui/src/components/Lookup/CredentialLookup.js
@@ -1,19 +1,9 @@
import React, { useCallback, useEffect } from 'react';
import { useLocation } from 'react-router-dom-v5-compat';
-import {
- arrayOf,
- bool,
- func,
- node,
- number,
- string,
- oneOfType,
-} from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { FormGroup } from '@patternfly/react-core';
import { CredentialsAPI } from 'api';
-import { Credential } from 'types';
import { getSearchableKeys } from 'components/PaginatedTable';
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
import useAutoPopulateLookup from 'hooks/useAutoPopulateLookup';
@@ -231,43 +221,5 @@ function CredentialLookup({
);
}
-function idOrKind(props, propName, componentName) {
- let error;
- // credentialTypeKind formerly defaulted to '' via defaultProps, which React
- // applied to the element's props BEFORE running PropTypes — so this validator
- // always saw a present empty string and never fired (callers may pass
- // credentialTypeNamespace instead of id/kind). Default params don't reach
- // PropTypes, so treat an omitted/undefined value as that former '' default to
- // preserve behavior.
- const kindValue =
- props.credentialTypeKind === undefined ? '' : props.credentialTypeKind;
- if (
- !Object.prototype.hasOwnProperty.call(props, 'credentialTypeId') &&
- typeof kindValue !== 'string'
- ) {
- error = new Error(
- `Invalid prop '${propName}' '${props[propName]}' supplied to '${componentName}'.`
- );
- }
- return error;
-}
-
-CredentialLookup.propTypes = {
- credentialTypeId: oneOfType([number, string]),
- credentialTypeKind: idOrKind,
- helperTextInvalid: node,
- isValid: bool,
- label: string.isRequired,
- multiple: bool,
- onBlur: func,
- onChange: func.isRequired,
- required: bool,
- value: oneOfType([Credential, arrayOf(Credential)]),
- isDisabled: bool,
- autoPopulate: bool,
- validate: func,
- fieldName: string,
-};
-
export { CredentialLookup as _CredentialLookup };
export default CredentialLookup;
diff --git a/awx/ui/src/components/Lookup/ExecutionEnvironmentLookup.js b/awx/ui/src/components/Lookup/ExecutionEnvironmentLookup.js
index 5bdf399ab..24f62f312 100644
--- a/awx/ui/src/components/Lookup/ExecutionEnvironmentLookup.js
+++ b/awx/ui/src/components/Lookup/ExecutionEnvironmentLookup.js
@@ -1,11 +1,9 @@
import React, { useCallback, useEffect } from 'react';
-import { string, func, bool, oneOfType, number } from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import { FormGroup, Tooltip } from '@patternfly/react-core';
import { ExecutionEnvironmentsAPI, ProjectsAPI } from 'api';
import { getSearchableKeys } from 'components/PaginatedTable';
-import { ExecutionEnvironment } from 'types';
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
import useRequest from 'hooks/useRequest';
import Popover from '../Popover';
@@ -242,16 +240,4 @@ function ExecutionEnvironmentLookup({
);
}
-ExecutionEnvironmentLookup.propTypes = {
- id: string,
- value: ExecutionEnvironment,
- popoverContent: string,
- onChange: func.isRequired,
- projectId: oneOfType([number, string]),
- organizationId: oneOfType([number, string]),
- validate: func,
- fieldName: string,
- overrideLabel: bool,
-};
-
export default ExecutionEnvironmentLookup;
diff --git a/awx/ui/src/components/Lookup/HostFilterLookup.js b/awx/ui/src/components/Lookup/HostFilterLookup.js
index 72a2bf5c8..652bb8182 100644
--- a/awx/ui/src/components/Lookup/HostFilterLookup.js
+++ b/awx/ui/src/components/Lookup/HostFilterLookup.js
@@ -1,7 +1,6 @@
import React, { useState, useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
-import { number, func, bool, string } from 'prop-types';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
@@ -456,13 +455,4 @@ function HostFilterLookup({
);
}
-HostFilterLookup.propTypes = {
- isValid: bool,
- onBlur: func,
- onChange: func,
- organizationId: number,
- value: string,
- enableNegativeFiltering: bool,
- enableRelatedFuzzyFiltering: bool,
-};
export default HostFilterLookup;
diff --git a/awx/ui/src/components/Lookup/InstanceGroupsLookup.js b/awx/ui/src/components/Lookup/InstanceGroupsLookup.js
index 3bacb1303..89795d227 100644
--- a/awx/ui/src/components/Lookup/InstanceGroupsLookup.js
+++ b/awx/ui/src/components/Lookup/InstanceGroupsLookup.js
@@ -1,10 +1,8 @@
import React, { useCallback, useEffect } from 'react';
-import { arrayOf, string, func, bool } from 'prop-types';
import { useLocation } from 'react-router-dom-v5-compat';
import { Trans, useLingui } from '@lingui/react/macro';
import { FormGroup } from '@patternfly/react-core';
import { InstanceGroupsAPI } from 'api';
-import { InstanceGroup } from 'types';
import { getSearchableKeys } from 'components/PaginatedTable';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -158,15 +156,4 @@ function InstanceGroupsLookup({
);
}
-InstanceGroupsLookup.propTypes = {
- id: string,
- value: arrayOf(InstanceGroup).isRequired,
- tooltip: string,
- onChange: func.isRequired,
- className: string,
- required: bool,
- validate: func,
- fieldName: string,
-};
-
export default InstanceGroupsLookup;
diff --git a/awx/ui/src/components/Lookup/InventoryLookup.js b/awx/ui/src/components/Lookup/InventoryLookup.js
index b68f468ee..e6c10ca3b 100644
--- a/awx/ui/src/components/Lookup/InventoryLookup.js
+++ b/awx/ui/src/components/Lookup/InventoryLookup.js
@@ -1,9 +1,7 @@
import React, { useCallback, useEffect } from 'react';
-import { func, bool, string, number, oneOfType, arrayOf } from 'prop-types';
import { useLocation } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { InventoriesAPI } from 'api';
-import { Inventory } from 'types';
import useRequest from 'hooks/useRequest';
import useAutoPopulateLookup from 'hooks/useAutoPopulateLookup';
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
@@ -252,17 +250,4 @@ function InventoryLookup({
);
}
-InventoryLookup.propTypes = {
- autoPopulate: bool,
- excludeIds: arrayOf(number),
- fieldId: string,
- fieldName: string,
- hideAdvancedInventories: bool,
- isDisabled: bool,
- onChange: func.isRequired,
- required: bool,
- validate: func,
- value: oneOfType([Inventory, arrayOf(Inventory)]),
-};
-
export default InventoryLookup;
diff --git a/awx/ui/src/components/Lookup/Lookup.js b/awx/ui/src/components/Lookup/Lookup.js
index bf64007e9..a8be6fab7 100644
--- a/awx/ui/src/components/Lookup/Lookup.js
+++ b/awx/ui/src/components/Lookup/Lookup.js
@@ -1,15 +1,4 @@
import React, { useReducer, useEffect, useState } from 'react';
-import {
- string,
- bool,
- arrayOf,
- func,
- number,
- oneOfType,
- shape,
- node,
- object,
-} from 'prop-types';
import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
import { useField } from 'formik';
import { SearchIcon } from '@patternfly/react-icons';
@@ -24,7 +13,6 @@ import {
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
import useDebounce from 'hooks/useDebounce';
-import { QSConfig } from 'types';
import ChipGroup from '../ChipGroup';
import reducer, { initReducer } from './shared/reducer';
@@ -225,38 +213,5 @@ function Lookup({
);
}
-const Item = shape({
- id: number.isRequired,
-});
-const InstanceItem = shape({
- id: number.isRequired,
- hostname: string.isRequired,
-});
-
-Lookup.propTypes = {
- id: string,
- header: string,
- modalDescription: oneOfType([string, node]),
- onChange: func.isRequired,
- onUpdate: func,
- value: oneOfType([
- Item,
- arrayOf(Item),
- object,
- InstanceItem,
- arrayOf(InstanceItem),
- ]),
- multiple: bool,
- required: bool,
- onBlur: func,
- qsConfig: QSConfig.isRequired,
- renderItemChip: func,
- renderOptionsList: func.isRequired,
- fieldName: string.isRequired,
- validate: func,
- onDebounce: func,
- isDisabled: bool,
-};
-
export { Lookup as _Lookup };
export default Lookup;
diff --git a/awx/ui/src/components/Lookup/MultiCredentialsLookup.js b/awx/ui/src/components/Lookup/MultiCredentialsLookup.js
index 614ea2679..29513fcb8 100644
--- a/awx/ui/src/components/Lookup/MultiCredentialsLookup.js
+++ b/awx/ui/src/components/Lookup/MultiCredentialsLookup.js
@@ -1,6 +1,5 @@
import React, { useState, useCallback, useEffect } from 'react';
import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { ToolbarItem, Alert } from '@patternfly/react-core';
import { CredentialsAPI, CredentialTypesAPI } from 'api';
@@ -244,21 +243,5 @@ function MultiCredentialsLookup({
);
}
-MultiCredentialsLookup.propTypes = {
- value: PropTypes.arrayOf(
- PropTypes.shape({
- id: PropTypes.number,
- name: PropTypes.string,
- description: PropTypes.string,
- kind: PropTypes.string,
- clound: PropTypes.bool,
- })
- ),
- onChange: PropTypes.func.isRequired,
- onError: PropTypes.func.isRequired,
- validate: PropTypes.func,
- fieldName: PropTypes.string,
-};
-
export { MultiCredentialsLookup as _MultiCredentialsLookup };
export default MultiCredentialsLookup;
diff --git a/awx/ui/src/components/Lookup/OrganizationLookup.js b/awx/ui/src/components/Lookup/OrganizationLookup.js
index 40b5ff660..0c551ba12 100644
--- a/awx/ui/src/components/Lookup/OrganizationLookup.js
+++ b/awx/ui/src/components/Lookup/OrganizationLookup.js
@@ -1,10 +1,8 @@
import React, { useCallback, useEffect } from 'react';
-import { node, func, bool, string } from 'prop-types';
import { useLocation } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { FormGroup } from '@patternfly/react-core';
import { OrganizationsAPI } from 'api';
-import { Organization } from 'types';
import { getQSConfig, parseQueryString } from 'util/qs';
import { getSearchableKeys } from 'components/PaginatedTable';
import useRequest from 'hooks/useRequest';
@@ -159,19 +157,5 @@ function OrganizationLookup({
);
}
-OrganizationLookup.propTypes = {
- id: string,
- helperTextInvalid: node,
- isValid: bool,
- onBlur: func,
- onChange: func.isRequired,
- required: bool,
- value: Organization,
- autoPopulate: bool,
- isDisabled: bool,
- validate: func,
- fieldName: string,
-};
-
export { OrganizationLookup as _OrganizationLookup };
export default OrganizationLookup;
diff --git a/awx/ui/src/components/Lookup/PeersLookup.js b/awx/ui/src/components/Lookup/PeersLookup.js
index 481283509..2f8e012c2 100755
--- a/awx/ui/src/components/Lookup/PeersLookup.js
+++ b/awx/ui/src/components/Lookup/PeersLookup.js
@@ -1,10 +1,8 @@
import React, { useCallback, useEffect } from 'react';
-import { arrayOf, string, func, bool, shape } from 'prop-types';
import { useLocation } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { FormGroup, Chip } from '@patternfly/react-core';
import { InstancesAPI } from 'api';
-import { Instance } from 'types';
import { getSearchableKeys } from 'components/PaginatedTable';
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -173,20 +171,4 @@ function PeersLookup({
);
}
-PeersLookup.propTypes = {
- id: string,
- value: arrayOf(Instance).isRequired,
- tooltip: string,
- onChange: func.isRequired,
- className: string,
- required: bool,
- validate: func,
- multiple: bool,
- fieldName: string,
- columns: arrayOf(Object),
- formLabel: string,
- instance_details: (Instance, shape({})),
- typePeers: bool,
-};
-
export default PeersLookup;
diff --git a/awx/ui/src/components/Lookup/ProjectLookup.js b/awx/ui/src/components/Lookup/ProjectLookup.js
index 0decf071e..121a77403 100644
--- a/awx/ui/src/components/Lookup/ProjectLookup.js
+++ b/awx/ui/src/components/Lookup/ProjectLookup.js
@@ -1,10 +1,8 @@
import React, { useCallback, useEffect } from 'react';
-import { node, string, func, bool, object, oneOfType } from 'prop-types';
import { useLocation } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { FormGroup } from '@patternfly/react-core';
import { ProjectsAPI } from 'api';
-import { Project } from 'types';
import useAutoPopulateLookup from 'hooks/useAutoPopulateLookup';
import useRequest from 'hooks/useRequest';
import { getSearchableKeys } from 'components/PaginatedTable';
@@ -178,19 +176,5 @@ function ProjectLookup({
);
}
-ProjectLookup.propTypes = {
- autoPopulate: bool,
- helperTextInvalid: node,
- isValid: bool,
- onBlur: func,
- onChange: func.isRequired,
- required: bool,
- tooltip: string,
- value: oneOfType([Project, object]),
- isOverrideDisabled: bool,
- validate: func,
- fieldName: string,
-};
-
export { ProjectLookup as _ProjectLookup };
export default ProjectLookup;
diff --git a/awx/ui/src/components/MultiButtonToggle/MultiButtonToggle.js b/awx/ui/src/components/MultiButtonToggle/MultiButtonToggle.js
index 2b8c8da7f..d5bfef1e6 100644
--- a/awx/ui/src/components/MultiButtonToggle/MultiButtonToggle.js
+++ b/awx/ui/src/components/MultiButtonToggle/MultiButtonToggle.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { func, string } from 'prop-types';
import styled from 'styled-components';
import { Button } from '@patternfly/react-core';
import ButtonGroup from './ButtonGroup';
@@ -38,37 +37,4 @@ function MultiButtonToggle({ buttons, value, onChange, name }) {
);
}
-const buttonsPropType = {
- isRequired: ({ buttons }) => {
- if (!buttons) {
- return new Error(
- `The prop buttons is marked as required in MultiButtonToggle, but its value is '${buttons}'`
- );
- }
- // We expect this data structure to look like:
- // [[value(unrestricted type), label(string)], [value(unrestricted type), label(string)], ...]
- if (
- !Array.isArray(buttons) ||
- buttons.length < 2 ||
- buttons.reduce(
- (prevVal, button) => prevVal || typeof button[1] !== 'string',
- false
- )
- ) {
- return new Error(
- `Invalid prop buttons supplied to MultiButtonToggle. Validation failed.`
- );
- }
-
- return null;
- },
-};
-
-MultiButtonToggle.propTypes = {
- buttons: buttonsPropType.isRequired,
- value: string.isRequired,
- onChange: func.isRequired,
- name: string.isRequired,
-};
-
export default MultiButtonToggle;
diff --git a/awx/ui/src/components/MultiSelect/TagMultiSelect.js b/awx/ui/src/components/MultiSelect/TagMultiSelect.js
index 53ebbf3f4..eb4e159a7 100644
--- a/awx/ui/src/components/MultiSelect/TagMultiSelect.js
+++ b/awx/ui/src/components/MultiSelect/TagMultiSelect.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { func, string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core';
import { arrayToString, stringToArray } from 'util/strings';
@@ -67,9 +66,4 @@ function TagMultiSelect({ onChange, value }) {
);
}
-TagMultiSelect.propTypes = {
- onChange: func.isRequired,
- value: string.isRequired,
-};
-
export default TagMultiSelect;
diff --git a/awx/ui/src/components/NotificationList/NotificationList.js b/awx/ui/src/components/NotificationList/NotificationList.js
index 9996e2a73..17c80e9c6 100644
--- a/awx/ui/src/components/NotificationList/NotificationList.js
+++ b/awx/ui/src/components/NotificationList/NotificationList.js
@@ -1,6 +1,5 @@
import React, { useEffect, useCallback, useState } from 'react';
import { useLocation } from 'react-router-dom';
-import { number, shape, bool } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { getQSConfig, parseQueryString } from 'util/qs';
@@ -258,11 +257,4 @@ function NotificationList({
);
}
-NotificationList.propTypes = {
- apiModel: shape({}).isRequired,
- id: number.isRequired,
- canToggleNotifications: bool.isRequired,
- showApprovalsToggle: bool,
-};
-
export default NotificationList;
diff --git a/awx/ui/src/components/NotificationList/NotificationListItem.js b/awx/ui/src/components/NotificationList/NotificationListItem.js
index 7a9d53bb0..f18bbcdc5 100644
--- a/awx/ui/src/components/NotificationList/NotificationListItem.js
+++ b/awx/ui/src/components/NotificationList/NotificationListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { shape, number, string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -104,21 +103,4 @@ function NotificationListItem({
);
}
-NotificationListItem.propTypes = {
- notification: shape({
- id: number.isRequired,
- name: string.isRequired,
- notification_type: string.isRequired,
- }).isRequired,
- canToggleNotifications: bool.isRequired,
- detailUrl: string.isRequired,
- approvalsTurnedOn: bool,
- errorTurnedOn: bool,
- startedTurnedOn: bool,
- successTurnedOn: bool,
- toggleNotification: func.isRequired,
- typeLabels: shape().isRequired,
- showApprovalsToggle: bool,
-};
-
export default NotificationListItem;
diff --git a/awx/ui/src/components/OptionsList/OptionsList.js b/awx/ui/src/components/OptionsList/OptionsList.js
index 223496c80..b430a48ca 100644
--- a/awx/ui/src/components/OptionsList/OptionsList.js
+++ b/awx/ui/src/components/OptionsList/OptionsList.js
@@ -1,16 +1,6 @@
import React from 'react';
-import {
- arrayOf,
- shape,
- bool,
- func,
- number,
- string,
- oneOfType,
-} from 'prop-types';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
-import { QSConfig, SearchColumns, SortColumns } from 'types';
import { SelectedList, DraggableSelectedList } from '../SelectedList';
import CheckboxListItem from '../CheckboxListItem';
import DataListToolbar from '../DataListToolbar';
@@ -121,29 +111,4 @@ function OptionsList({
);
}
-const Item = shape({
- id: oneOfType([number, string]).isRequired,
- name: string.isRequired,
- url: string,
-});
-const InstanceItem = shape({
- id: oneOfType([number, string]).isRequired,
- hostname: string.isRequired,
- url: string,
-});
-OptionsList.propTypes = {
- deselectItem: func.isRequired,
- displayKey: string,
- isSelectedDraggable: bool,
- multiple: bool,
- optionCount: number.isRequired,
- options: oneOfType([arrayOf(Item), arrayOf(InstanceItem)]).isRequired,
- qsConfig: QSConfig.isRequired,
- renderItemChip: func,
- searchColumns: SearchColumns,
- selectItem: func.isRequired,
- sortColumns: SortColumns,
- value: oneOfType([arrayOf(Item), arrayOf(InstanceItem)]).isRequired,
-};
-
export default OptionsList;
diff --git a/awx/ui/src/components/PaginatedTable/PaginatedTable.js b/awx/ui/src/components/PaginatedTable/PaginatedTable.js
index d6758f6c2..b743ed7d2 100644
--- a/awx/ui/src/components/PaginatedTable/PaginatedTable.js
+++ b/awx/ui/src/components/PaginatedTable/PaginatedTable.js
@@ -2,7 +2,6 @@
// Modifications Copyright (c) 2023 Ctrl IQ, Inc.
//
import React, { useEffect } from 'react';
-import PropTypes from 'prop-types';
import { TableComposable, Tbody } from '@patternfly/react-table';
import { useLocation } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
@@ -10,7 +9,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { parseQueryString, updateQueryString } from 'util/qs';
-import { QSConfig, SearchColumns, SearchableKeys } from 'types';
import ListHeader from '../ListHeader';
import ContentEmpty from '../ContentEmpty';
import ContentError from '../ContentError';
@@ -187,28 +185,5 @@ function PaginatedTable({
);
}
-const Item = PropTypes.shape({
- id: PropTypes.number.isRequired,
- url: PropTypes.string.isRequired,
- name: PropTypes.string,
-});
-
-PaginatedTable.propTypes = {
- items: PropTypes.arrayOf(Item).isRequired,
- itemCount: PropTypes.number.isRequired,
- pluralizedItemName: PropTypes.string,
- qsConfig: QSConfig.isRequired,
- renderRow: PropTypes.func.isRequired,
- toolbarSearchColumns: SearchColumns,
- toolbarSearchableKeys: SearchableKeys,
- toolbarRelatedSearchableKeys: PropTypes.arrayOf(PropTypes.string),
- showPageSizeOptions: PropTypes.bool,
- renderToolbar: PropTypes.func,
- hasContentLoading: PropTypes.bool,
- contentError: PropTypes.shape(),
- clearSelected: PropTypes.func,
- ouiaId: PropTypes.string,
-};
-
export { PaginatedTable as _PaginatedTable };
export default PaginatedTable;
diff --git a/awx/ui/src/components/PaginatedTable/ToolbarAddButton.js b/awx/ui/src/components/PaginatedTable/ToolbarAddButton.js
index 4a0e9fa3d..ca34ee5a2 100644
--- a/awx/ui/src/components/PaginatedTable/ToolbarAddButton.js
+++ b/awx/ui/src/components/PaginatedTable/ToolbarAddButton.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, func } from 'prop-types';
import { Link } from 'react-router-dom';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import CaretDownIcon from '@patternfly/react-icons/dist/js/icons/caret-down-icon';
@@ -60,9 +59,4 @@ function ToolbarAddButton({
);
}
-ToolbarAddButton.propTypes = {
- linkTo: string,
- onClick: func,
-};
-
export default ToolbarAddButton;
diff --git a/awx/ui/src/components/PaginatedTable/ToolbarDeleteButton.js b/awx/ui/src/components/PaginatedTable/ToolbarDeleteButton.js
index 11ab33ff7..638582151 100644
--- a/awx/ui/src/components/PaginatedTable/ToolbarDeleteButton.js
+++ b/awx/ui/src/components/PaginatedTable/ToolbarDeleteButton.js
@@ -1,14 +1,4 @@
import React, { useContext, useEffect, useState } from 'react';
-import {
- func,
- bool,
- node,
- number,
- string,
- arrayOf,
- shape,
- checkPropTypes,
-} from 'prop-types';
import styled from 'styled-components';
import {
Alert,
@@ -34,58 +24,6 @@ const Label = styled.span`
}
`;
-const requiredField = (props) => {
- const { name, username, image } = props;
- if (!name && !username && !image) {
- return new Error(
- `One of 'name', 'username' or 'image' is required by ItemToDelete component.`
- );
- }
- if (name) {
- checkPropTypes(
- {
- name: string,
- },
- { name: props.name },
- 'prop',
- 'ItemToDelete'
- );
- }
- if (username) {
- checkPropTypes(
- {
- username: string,
- },
- { username: props.username },
- 'prop',
- 'ItemToDelete'
- );
- }
- if (image) {
- checkPropTypes(
- {
- image: string,
- },
- { image: props.image },
- 'prop',
- 'ItemToDelete'
- );
- }
- return null;
-};
-
-const ItemToDelete = shape({
- id: number.isRequired,
- name: requiredField,
- username: requiredField,
- image: requiredField,
- summary_fields: shape({
- user_capabilities: shape({
- delete: bool.isRequired,
- }).isRequired,
- }).isRequired,
-});
-
function ToolbarDeleteButton({
itemsToDelete,
pluralizedItemName = 'Items',
@@ -304,12 +242,4 @@ function ToolbarDeleteButton({
);
}
-ToolbarDeleteButton.propTypes = {
- onDelete: func.isRequired,
- itemsToDelete: arrayOf(ItemToDelete).isRequired,
- pluralizedItemName: string,
- warningMessage: node,
- cannotDelete: func,
-};
-
export default ToolbarDeleteButton;
diff --git a/awx/ui/src/components/PaginatedTable/ToolbarSyncSourceButton.js b/awx/ui/src/components/PaginatedTable/ToolbarSyncSourceButton.js
index 16c81be59..c38f50fa5 100644
--- a/awx/ui/src/components/PaginatedTable/ToolbarSyncSourceButton.js
+++ b/awx/ui/src/components/PaginatedTable/ToolbarSyncSourceButton.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { func } from 'prop-types';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
@@ -40,8 +39,4 @@ function ToolbarSyncSourceButton({ onClick = null }) {
);
}
-ToolbarSyncSourceButton.propTypes = {
- onClick: func,
-};
-
export default ToolbarSyncSourceButton;
diff --git a/awx/ui/src/components/Popover/Popover.js b/awx/ui/src/components/Popover/Popover.js
index 3dceadd1d..d84d7bf97 100644
--- a/awx/ui/src/components/Popover/Popover.js
+++ b/awx/ui/src/components/Popover/Popover.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { node, string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Popover as PFPopover } from '@patternfly/react-core';
import { HelpIcon } from '@patternfly/react-icons';
@@ -48,12 +47,4 @@ function Popover({
);
}
-Popover.propTypes = {
- ariaLabel: string,
- content: node,
- header: node,
- id: string,
- maxWidth: string,
-};
-
export default Popover;
diff --git a/awx/ui/src/components/PromptDetail/PromptDetail.js b/awx/ui/src/components/PromptDetail/PromptDetail.js
index 1039cc785..f9a3069bc 100644
--- a/awx/ui/src/components/PromptDetail/PromptDetail.js
+++ b/awx/ui/src/components/PromptDetail/PromptDetail.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { shape } from 'prop-types';
import { Trans, useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import styled from 'styled-components';
@@ -386,9 +385,4 @@ function PromptDetail({
);
}
-PromptDetail.propTypes = {
- resource: shape({}).isRequired,
- launchConfig: shape({}),
-};
-
export default PromptDetail;
diff --git a/awx/ui/src/components/ResourceAccessList/DeleteRoleConfirmationModal.js b/awx/ui/src/components/ResourceAccessList/DeleteRoleConfirmationModal.js
index badc02286..bc5d0b7fb 100644
--- a/awx/ui/src/components/ResourceAccessList/DeleteRoleConfirmationModal.js
+++ b/awx/ui/src/components/ResourceAccessList/DeleteRoleConfirmationModal.js
@@ -1,10 +1,8 @@
import React from 'react';
-import { func, string } from 'prop-types';
import { Button } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
-import { Role } from 'types';
import AlertModal from '../AlertModal';
function DeleteRoleConfirmationModal({
@@ -59,11 +57,4 @@ function DeleteRoleConfirmationModal({
);
}
-DeleteRoleConfirmationModal.propTypes = {
- role: Role.isRequired,
- username: string,
- onCancel: func.isRequired,
- onConfirm: func.isRequired,
-};
-
export default DeleteRoleConfirmationModal;
diff --git a/awx/ui/src/components/ResourceAccessList/ResourceAccessListItem.js b/awx/ui/src/components/ResourceAccessList/ResourceAccessListItem.js
index fb3ba09a3..8fd603571 100644
--- a/awx/ui/src/components/ResourceAccessList/ResourceAccessListItem.js
+++ b/awx/ui/src/components/ResourceAccessList/ResourceAccessListItem.js
@@ -1,20 +1,13 @@
import React from 'react';
-import { func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Chip } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
-import { AccessRecord } from 'types';
import ChipGroup from '../ChipGroup';
import { DetailList, Detail } from '../DetailList';
function ResourceAccessListItem({ accessRecord, onRoleDelete }) {
- ResourceAccessListItem.propTypes = {
- accessRecord: AccessRecord.isRequired,
- onRoleDelete: func.isRequired,
- };
-
const getRoleLists = () => {
const teamRoles = [];
const userRoles = [];
diff --git a/awx/ui/src/components/RoutedTabs/RoutedTabs.js b/awx/ui/src/components/RoutedTabs/RoutedTabs.js
index 68c5d86fd..5e1c4e134 100644
--- a/awx/ui/src/components/RoutedTabs/RoutedTabs.js
+++ b/awx/ui/src/components/RoutedTabs/RoutedTabs.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { shape, string, number, arrayOf, node, oneOfType } from 'prop-types';
import {
Tab as PFTab,
Tabs as PFTabs,
@@ -70,13 +69,4 @@ function RoutedTabs({ tabsArray }) {
);
}
-RoutedTabs.propTypes = {
- tabsArray: arrayOf(
- shape({
- id: number.isRequired,
- name: oneOfType([string.isRequired, node.isRequired]),
- })
- ).isRequired,
-};
-
export default RoutedTabs;
diff --git a/awx/ui/src/components/Schedule/ScheduleAdd/ScheduleAdd.js b/awx/ui/src/components/Schedule/ScheduleAdd/ScheduleAdd.js
index c8d661c64..bcadd3972 100644
--- a/awx/ui/src/components/Schedule/ScheduleAdd/ScheduleAdd.js
+++ b/awx/ui/src/components/Schedule/ScheduleAdd/ScheduleAdd.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { func, shape } from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
import { Card } from '@patternfly/react-core';
@@ -164,8 +163,4 @@ function ScheduleAdd({
);
}
-ScheduleAdd.propTypes = {
- apiModel: shape({ createSchedule: func.isRequired }).isRequired,
-};
-
export default ScheduleAdd;
diff --git a/awx/ui/src/components/Schedule/ScheduleDetail/ScheduleDetail.js b/awx/ui/src/components/Schedule/ScheduleDetail/ScheduleDetail.js
index 21a987e9b..c592fb09b 100644
--- a/awx/ui/src/components/Schedule/ScheduleDetail/ScheduleDetail.js
+++ b/awx/ui/src/components/Schedule/ScheduleDetail/ScheduleDetail.js
@@ -4,7 +4,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
import { Chip, Divider, Title, Button } from '@patternfly/react-core';
-import { Schedule } from 'types';
import { formatDateString } from 'util/dates';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import { JobTemplatesAPI, SchedulesAPI, WorkflowJobTemplatesAPI } from 'api';
@@ -669,8 +668,4 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) {
);
}
-ScheduleDetail.propTypes = {
- schedule: Schedule.isRequired,
-};
-
export default ScheduleDetail;
diff --git a/awx/ui/src/components/Schedule/ScheduleEdit/ScheduleEdit.js b/awx/ui/src/components/Schedule/ScheduleEdit/ScheduleEdit.js
index ac352cfd0..6a241bd91 100644
--- a/awx/ui/src/components/Schedule/ScheduleEdit/ScheduleEdit.js
+++ b/awx/ui/src/components/Schedule/ScheduleEdit/ScheduleEdit.js
@@ -1,7 +1,6 @@
import React, { useState } from 'react';
import { useLocation } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
-import { shape } from 'prop-types';
import { Card } from '@patternfly/react-core';
import yaml from 'js-yaml';
import { OrganizationsAPI, SchedulesAPI } from 'api';
@@ -197,8 +196,4 @@ function ScheduleEdit({
);
}
-ScheduleEdit.propTypes = {
- schedule: shape({}).isRequired,
-};
-
export default ScheduleEdit;
diff --git a/awx/ui/src/components/Schedule/ScheduleList/ScheduleList.js b/awx/ui/src/components/Schedule/ScheduleList/ScheduleList.js
index aa1cbc8ae..41a538f4d 100644
--- a/awx/ui/src/components/Schedule/ScheduleList/ScheduleList.js
+++ b/awx/ui/src/components/Schedule/ScheduleList/ScheduleList.js
@@ -1,6 +1,5 @@
import React, { useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom';
-import { bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { SchedulesAPI } from 'api';
import useRequest, { useDeleteItems } from 'hooks/useRequest';
@@ -254,10 +253,4 @@ function ScheduleList({
);
}
-ScheduleList.propTypes = {
- hideAddButton: bool,
- loadSchedules: func.isRequired,
- loadScheduleOptions: func.isRequired,
-};
-
export default ScheduleList;
diff --git a/awx/ui/src/components/Schedule/ScheduleList/ScheduleListItem.js b/awx/ui/src/components/Schedule/ScheduleList/ScheduleListItem.js
index 83b2aea21..6fcaf5ea4 100644
--- a/awx/ui/src/components/Schedule/ScheduleList/ScheduleListItem.js
+++ b/awx/ui/src/components/Schedule/ScheduleList/ScheduleListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -11,7 +10,6 @@ import {
ExclamationTriangleIcon as PFExclamationTriangleIcon,
} from '@patternfly/react-icons';
import styled from 'styled-components';
-import { Schedule } from 'types';
import { formatDateString } from 'util/dates';
import { DetailList, Detail } from '../../DetailList';
import { ActionsTd, ActionItem, TdBreakWord } from '../../PaginatedTable';
@@ -148,10 +146,4 @@ function ScheduleListItem({
);
}
-ScheduleListItem.propTypes = {
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
- schedule: Schedule.isRequired,
-};
-
export default ScheduleListItem;
diff --git a/awx/ui/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.js b/awx/ui/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.js
index 3ee01de9d..a110a0e5b 100644
--- a/awx/ui/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.js
+++ b/awx/ui/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { shape, string } from 'prop-types';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
@@ -83,9 +82,4 @@ function ScheduleOccurrences({
);
}
-ScheduleOccurrences.propTypes = {
- preview: shape(),
- tz: string,
-};
-
export default ScheduleOccurrences;
diff --git a/awx/ui/src/components/Schedule/shared/FrequencySelect.js b/awx/ui/src/components/Schedule/shared/FrequencySelect.js
index b76d6357a..6cb139690 100644
--- a/awx/ui/src/components/Schedule/shared/FrequencySelect.js
+++ b/awx/ui/src/components/Schedule/shared/FrequencySelect.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { arrayOf, string } from 'prop-types';
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core';
export default function FrequencySelect({
@@ -48,8 +47,4 @@ export default function FrequencySelect({
);
}
-FrequencySelect.propTypes = {
- value: arrayOf(string).isRequired,
-};
-
export { SelectOption, SelectVariant };
diff --git a/awx/ui/src/components/Schedule/shared/ScheduleForm.js b/awx/ui/src/components/Schedule/shared/ScheduleForm.js
index 78ad95791..58f7139e2 100644
--- a/awx/ui/src/components/Schedule/shared/ScheduleForm.js
+++ b/awx/ui/src/components/Schedule/shared/ScheduleForm.js
@@ -1,5 +1,4 @@
import React, { useEffect, useCallback, useState, useRef } from 'react';
-import { shape, func } from 'prop-types';
import { DateTime } from 'luxon';
import { useLingui } from '@lingui/react/macro';
import { Formik } from 'formik';
@@ -572,13 +571,6 @@ function ScheduleForm({
);
}
-ScheduleForm.propTypes = {
- handleCancel: func.isRequired,
- handleSubmit: func.isRequired,
- schedule: shape({}),
- submitError: shape(),
-};
-
export default ScheduleForm;
function scheduleHasInstances(values) {
diff --git a/awx/ui/src/components/ScreenHeader/ScreenHeader.js b/awx/ui/src/components/ScreenHeader/ScreenHeader.js
index a4437ebeb..82ff5a00b 100644
--- a/awx/ui/src/components/ScreenHeader/ScreenHeader.js
+++ b/awx/ui/src/components/ScreenHeader/ScreenHeader.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import useTitle from 'hooks/useTitle';
import { useLingui } from '@lingui/react/macro';
@@ -140,12 +139,4 @@ const Crumb = ({ breadcrumbConfig, showDivider }) => {
);
};
-ScreenHeader.propTypes = {
- breadcrumbConfig: PropTypes.objectOf(PropTypes.string).isRequired,
-};
-
-Crumb.propTypes = {
- breadcrumbConfig: PropTypes.objectOf(PropTypes.string).isRequired,
-};
-
export default ScreenHeader;
diff --git a/awx/ui/src/components/Search/AdvancedSearch.js b/awx/ui/src/components/Search/AdvancedSearch.js
index 135ad2427..b895807db 100644
--- a/awx/ui/src/components/Search/AdvancedSearch.js
+++ b/awx/ui/src/components/Search/AdvancedSearch.js
@@ -1,5 +1,4 @@
import React, { useEffect, useState } from 'react';
-import { string, func, bool, arrayOf } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
Button,
@@ -18,7 +17,6 @@ import styled from 'styled-components';
import { useLocation } from 'react-router-dom';
import { useConfig } from 'contexts/Config';
import getDocsBaseUrl from 'util/getDocsBaseUrl';
-import { SearchableKeys } from 'types';
import RelatedLookupTypeInput from './RelatedLookupTypeInput';
import LookupTypeInput from './LookupTypeInput';
@@ -346,14 +344,4 @@ function AdvancedSearch({
);
}
-AdvancedSearch.propTypes = {
- onSearch: func.isRequired,
- searchableKeys: SearchableKeys,
- relatedSearchableKeys: arrayOf(string),
- maxSelectHeight: string,
- enableNegativeFiltering: bool,
- enableRelatedFuzzyFiltering: bool,
- handleIsAnsibleFactsSelected: func,
-};
-
export default AdvancedSearch;
diff --git a/awx/ui/src/components/Search/LookupTypeInput.js b/awx/ui/src/components/Search/LookupTypeInput.js
index b5eb60c18..c0f802bad 100644
--- a/awx/ui/src/components/Search/LookupTypeInput.js
+++ b/awx/ui/src/components/Search/LookupTypeInput.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { string, oneOfType, arrayOf, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core';
@@ -144,11 +143,4 @@ function LookupTypeInput({
);
}
-LookupTypeInput.propTypes = {
- type: string,
- value: oneOfType([string, arrayOf(string)]),
- setValue: func.isRequired,
- maxSelectHeight: string,
-};
-
export default LookupTypeInput;
diff --git a/awx/ui/src/components/Search/Search.js b/awx/ui/src/components/Search/Search.js
index 047cf46df..1e607213e 100644
--- a/awx/ui/src/components/Search/Search.js
+++ b/awx/ui/src/components/Search/Search.js
@@ -1,5 +1,4 @@
import React, { useState, useEffect } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { useLocation } from 'react-router-dom';
@@ -18,7 +17,6 @@ import {
import { SearchIcon } from '@patternfly/react-icons';
import styled from 'styled-components';
import { parseQueryString } from 'util/qs';
-import { QSConfig, SearchColumns, SearchableKeys } from 'types';
import AdvancedSearch from './AdvancedSearch';
import getChipsByKey from './getChipsByKey';
@@ -387,17 +385,4 @@ function Search({
);
}
-Search.propTypes = {
- qsConfig: QSConfig.isRequired,
- columns: SearchColumns.isRequired,
- onSearch: PropTypes.func,
- onRemove: PropTypes.func,
- onShowAdvancedSearch: PropTypes.func.isRequired,
- isDisabled: PropTypes.bool,
- maxSelectHeight: PropTypes.string,
- enableNegativeFiltering: PropTypes.bool,
- enableRelatedFuzzyFiltering: PropTypes.bool,
- searchableKeys: SearchableKeys,
-};
-
export default Search;
diff --git a/awx/ui/src/components/SelectableCard/SelectableCard.js b/awx/ui/src/components/SelectableCard/SelectableCard.js
index 0c35a6046..b763f6179 100644
--- a/awx/ui/src/components/SelectableCard/SelectableCard.js
+++ b/awx/ui/src/components/SelectableCard/SelectableCard.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import styled from 'styled-components';
const SelectableItem = styled.div`
@@ -58,12 +57,4 @@ function SelectableCard({
);
}
-SelectableCard.propTypes = {
- label: PropTypes.string,
- description: PropTypes.string,
- onClick: PropTypes.func.isRequired,
- isSelected: PropTypes.bool,
- ariaLabel: PropTypes.string,
-};
-
export default SelectableCard;
diff --git a/awx/ui/src/components/SelectedList/DraggableSelectedList.js b/awx/ui/src/components/SelectedList/DraggableSelectedList.js
index c64c44e6c..7859f8043 100644
--- a/awx/ui/src/components/SelectedList/DraggableSelectedList.js
+++ b/awx/ui/src/components/SelectedList/DraggableSelectedList.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import {
Button,
DataList,
@@ -129,14 +128,4 @@ function DraggableSelectedList({
);
}
-const ListItem = PropTypes.shape({
- id: PropTypes.number.isRequired,
- name: PropTypes.string.isRequired,
-});
-DraggableSelectedList.propTypes = {
- onRemove: PropTypes.func,
- onRowDrag: PropTypes.func,
- selected: PropTypes.arrayOf(ListItem),
-};
-
export default DraggableSelectedList;
diff --git a/awx/ui/src/components/SelectedList/SelectedList.js b/awx/ui/src/components/SelectedList/SelectedList.js
index bd6287cb1..d792305b1 100644
--- a/awx/ui/src/components/SelectedList/SelectedList.js
+++ b/awx/ui/src/components/SelectedList/SelectedList.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { Chip, Split as PFSplit, SplitItem } from '@patternfly/react-core';
import styled from 'styled-components';
@@ -54,13 +53,4 @@ function SelectedList({
);
}
-SelectedList.propTypes = {
- displayKey: PropTypes.string,
- label: PropTypes.string,
- onRemove: PropTypes.func,
- selected: PropTypes.arrayOf(PropTypes.object).isRequired,
- isReadOnly: PropTypes.bool,
- renderItemChip: PropTypes.func,
-};
-
export default SelectedList;
diff --git a/awx/ui/src/components/Sort/Sort.js b/awx/ui/src/components/Sort/Sort.js
index 0a16567f2..069f9af72 100644
--- a/awx/ui/src/components/Sort/Sort.js
+++ b/awx/ui/src/components/Sort/Sort.js
@@ -1,6 +1,5 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
@@ -22,7 +21,6 @@ import {
import styled from 'styled-components';
import { parseQueryString } from 'util/qs';
-import { SortColumns, QSConfig } from 'types';
const NoOptionDropdown = styled.div`
align-self: stretch;
@@ -149,10 +147,4 @@ function Sort({ columns, qsConfig, onSort = null }) {
);
}
-Sort.propTypes = {
- qsConfig: QSConfig.isRequired,
- columns: SortColumns.isRequired,
- onSort: PropTypes.func,
-};
-
export default Sort;
diff --git a/awx/ui/src/components/Sparkline/Sparkline.js b/awx/ui/src/components/Sparkline/Sparkline.js
index 1980f6209..52a5c113f 100644
--- a/awx/ui/src/components/Sparkline/Sparkline.js
+++ b/awx/ui/src/components/Sparkline/Sparkline.js
@@ -1,12 +1,10 @@
import React from 'react';
-import { arrayOf } from 'prop-types';
import { Link as _Link } from 'react-router-dom';
import { Tooltip } from '@patternfly/react-core';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
import { formatDateString } from 'util/dates';
-import { Job } from 'types';
import StatusIcon from '../StatusIcon';
import { JOB_TYPE_URL_SEGMENTS } from '../../constants';
@@ -53,8 +51,4 @@ const Sparkline = ({ jobs = [] }) => {
return {statusIcons};
};
-Sparkline.propTypes = {
- jobs: arrayOf(Job),
-};
-
export default Sparkline;
diff --git a/awx/ui/src/components/StatusIcon/StatusIcon.js b/awx/ui/src/components/StatusIcon/StatusIcon.js
index 909e80025..dbe6f575e 100644
--- a/awx/ui/src/components/StatusIcon/StatusIcon.js
+++ b/awx/ui/src/components/StatusIcon/StatusIcon.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string } from 'prop-types';
import icons from './icons';
const green = '--pf-global--success-color--100';
@@ -47,8 +46,4 @@ function StatusIcon({ status, ...props }) {
);
}
-StatusIcon.propTypes = {
- status: string.isRequired,
-};
-
export default StatusIcon;
diff --git a/awx/ui/src/components/StatusLabel/StatusLabel.js b/awx/ui/src/components/StatusLabel/StatusLabel.js
index d02c2e644..be8dd5e21 100644
--- a/awx/ui/src/components/StatusLabel/StatusLabel.js
+++ b/awx/ui/src/components/StatusLabel/StatusLabel.js
@@ -1,6 +1,5 @@
import React from 'react';
import { useLingui } from '@lingui/react/macro';
-import { oneOf } from 'prop-types';
import { Label, Tooltip } from '@patternfly/react-core';
import icons from '../StatusIcon/icons';
@@ -83,32 +82,3 @@ export default function StatusLabel({ status, tooltipContent = '', children }) {
>
);
}
-
-StatusLabel.propTypes = {
- status: oneOf([
- 'approved',
- 'denied',
- 'success',
- 'successful',
- 'ok',
- 'healthy',
- 'failed',
- 'error',
- 'unreachable',
- 'running',
- 'pending',
- 'skipped',
- 'timedOut',
- 'waiting',
- 'disabled',
- 'canceled',
- 'changed',
- 'ready',
- 'installed',
- 'provisioning',
- 'deprovisioning',
- 'unavailable',
- 'provision-fail',
- 'deprovision-fail',
- ]).isRequired,
-};
diff --git a/awx/ui/src/components/Workflow/WorkflowActionTooltip.js b/awx/ui/src/components/Workflow/WorkflowActionTooltip.js
index e9a4bd612..7f0e85fe6 100644
--- a/awx/ui/src/components/Workflow/WorkflowActionTooltip.js
+++ b/awx/ui/src/components/Workflow/WorkflowActionTooltip.js
@@ -1,6 +1,5 @@
import React from 'react';
import styled from 'styled-components';
-import { node, number } from 'prop-types';
const TooltipContents = styled.div`
display: flex;
@@ -60,10 +59,4 @@ function WorkflowActionTooltip({ actions, pointX, pointY }) {
);
}
-WorkflowActionTooltip.propTypes = {
- actions: node.isRequired,
- pointX: number.isRequired,
- pointY: number.isRequired,
-};
-
export default WorkflowActionTooltip;
diff --git a/awx/ui/src/components/Workflow/WorkflowActionTooltipItem.js b/awx/ui/src/components/Workflow/WorkflowActionTooltipItem.js
index 3dd647857..fc0808bbf 100644
--- a/awx/ui/src/components/Workflow/WorkflowActionTooltipItem.js
+++ b/awx/ui/src/components/Workflow/WorkflowActionTooltipItem.js
@@ -1,6 +1,5 @@
import React from 'react';
import styled from 'styled-components';
-import { func, string } from 'prop-types';
const TooltipItem = styled.div`
align-items: center;
@@ -42,11 +41,4 @@ function WorkflowActionTooltipItem({
);
}
-WorkflowActionTooltipItem.propTypes = {
- id: string.isRequired,
- onClick: func,
- onMouseEnter: func,
- onMouseLeave: func,
-};
-
export default WorkflowActionTooltipItem;
diff --git a/awx/ui/src/components/Workflow/WorkflowLinkHelp.js b/awx/ui/src/components/Workflow/WorkflowLinkHelp.js
index 237b01282..b027c87ea 100644
--- a/awx/ui/src/components/Workflow/WorkflowLinkHelp.js
+++ b/awx/ui/src/components/Workflow/WorkflowLinkHelp.js
@@ -2,7 +2,6 @@ import React from 'react';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
-import { shape } from 'prop-types';
const GridDL = styled.dl`
column-gap: 15px;
@@ -44,8 +43,4 @@ function WorkflowLinkHelp({ link }) {
);
}
-WorkflowLinkHelp.propTypes = {
- link: shape().isRequired,
-};
-
export default WorkflowLinkHelp;
diff --git a/awx/ui/src/components/Workflow/WorkflowNodeHelp.js b/awx/ui/src/components/Workflow/WorkflowNodeHelp.js
index fdf917677..2579591a3 100644
--- a/awx/ui/src/components/Workflow/WorkflowNodeHelp.js
+++ b/awx/ui/src/components/Workflow/WorkflowNodeHelp.js
@@ -2,7 +2,6 @@ import React from 'react';
import { Trans, useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
import { ExclamationTriangleIcon } from '@patternfly/react-icons';
-import { shape } from 'prop-types';
import { secondsToHHMMSS } from 'util/dates';
import { stringIsUUID } from 'util/strings';
@@ -204,8 +203,4 @@ function WorkflowNodeHelp({ node }) {
);
}
-WorkflowNodeHelp.propTypes = {
- node: shape().isRequired,
-};
-
export default WorkflowNodeHelp;
diff --git a/awx/ui/src/components/Workflow/WorkflowNodeTypeLetter.js b/awx/ui/src/components/Workflow/WorkflowNodeTypeLetter.js
index b6a880e74..7108bcc3e 100644
--- a/awx/ui/src/components/Workflow/WorkflowNodeTypeLetter.js
+++ b/awx/ui/src/components/Workflow/WorkflowNodeTypeLetter.js
@@ -1,6 +1,5 @@
import React from 'react';
import styled from 'styled-components';
-import { shape } from 'prop-types';
import { PauseIcon } from '@patternfly/react-icons';
const NodeTypeLetter = styled.div`
@@ -79,8 +78,4 @@ function WorkflowNodeTypeLetter({ node }) {
);
}
-WorkflowNodeTypeLetter.propTypes = {
- node: shape().isRequired,
-};
-
export default WorkflowNodeTypeLetter;
diff --git a/awx/ui/src/components/Workflow/WorkflowStartNode.js b/awx/ui/src/components/Workflow/WorkflowStartNode.js
index f48f9a598..cb5308b7e 100644
--- a/awx/ui/src/components/Workflow/WorkflowStartNode.js
+++ b/awx/ui/src/components/Workflow/WorkflowStartNode.js
@@ -1,7 +1,6 @@
import React, { useContext, useRef, useState } from 'react';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
-import { bool, func } from 'prop-types';
import { PlusIcon } from '@patternfly/react-icons';
import {
WorkflowDispatchContext,
@@ -85,9 +84,4 @@ function WorkflowStartNode({ onUpdateHelpText = () => {}, showActionTooltip }) {
);
}
-WorkflowStartNode.propTypes = {
- showActionTooltip: bool.isRequired,
- onUpdateHelpText: func,
-};
-
export default WorkflowStartNode;
diff --git a/awx/ui/src/components/Workflow/WorkflowTools.js b/awx/ui/src/components/Workflow/WorkflowTools.js
index 1c41c5e0e..682057e10 100644
--- a/awx/ui/src/components/Workflow/WorkflowTools.js
+++ b/awx/ui/src/components/Workflow/WorkflowTools.js
@@ -1,7 +1,6 @@
import React, { useContext } from 'react';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
-import { func, number } from 'prop-types';
import { Button, Tooltip } from '@patternfly/react-core';
import {
CaretDownIcon,
@@ -188,12 +187,4 @@ function WorkflowTools({
);
}
-WorkflowTools.propTypes = {
- onFitGraph: func.isRequired,
- onPan: func.isRequired,
- onPanToMiddle: func.isRequired,
- onZoomChange: func.isRequired,
- zoomPercentage: number.isRequired,
-};
-
export default WorkflowTools;
diff --git a/awx/ui/src/hooks/useToast.js b/awx/ui/src/hooks/useToast.js
index 0f5ec1da6..b1d8367a8 100644
--- a/awx/ui/src/hooks/useToast.js
+++ b/awx/ui/src/hooks/useToast.js
@@ -5,8 +5,6 @@ import {
AlertActionCloseButton,
AlertVariant,
} from '@patternfly/react-core';
-import { arrayOf, func } from 'prop-types';
-import { Toast as ToastType } from 'types';
export default function useToast() {
const [toasts, setToasts] = useState([]);
@@ -56,9 +54,4 @@ export function Toast({ toasts, removeToast }) {
);
}
-Toast.propTypes = {
- toasts: arrayOf(ToastType).isRequired,
- removeToast: func.isRequired,
-};
-
export { AlertVariant };
diff --git a/awx/ui/src/screens/ActivityStream/ActivityStreamListItem.js b/awx/ui/src/screens/ActivityStream/ActivityStreamListItem.js
index 57c07ef93..6afbb4e00 100644
--- a/awx/ui/src/screens/ActivityStream/ActivityStreamListItem.js
+++ b/awx/ui/src/screens/ActivityStream/ActivityStreamListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { shape } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
@@ -12,9 +11,6 @@ import ActivityStreamDescription from './ActivityStreamDescription';
function ActivityStreamListItem({ streamItem }) {
const { t } = useLingui();
- ActivityStreamListItem.propTypes = {
- streamItem: shape({}).isRequired,
- };
const buildUser = (item) => {
let link;
diff --git a/awx/ui/src/screens/Application/ApplicationTokens/ApplicationTokenListItem.js b/awx/ui/src/screens/Application/ApplicationTokens/ApplicationTokenListItem.js
index 896491e8d..d3b10797e 100644
--- a/awx/ui/src/screens/Application/ApplicationTokens/ApplicationTokenListItem.js
+++ b/awx/ui/src/screens/Application/ApplicationTokens/ApplicationTokenListItem.js
@@ -1,10 +1,8 @@
import React from 'react';
-import { string, bool, func, number } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import { Tr, Td } from '@patternfly/react-table';
-import { Token } from 'types';
import { formatDateString } from 'util/dates';
import { toTitleCase } from 'util/strings';
@@ -39,12 +37,4 @@ function ApplicationTokenListItem({
);
}
-ApplicationTokenListItem.propTypes = {
- token: Token.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
- rowIndex: number.isRequired,
-};
-
export default ApplicationTokenListItem;
diff --git a/awx/ui/src/screens/Application/ApplicationsList/ApplicationListItem.js b/awx/ui/src/screens/Application/ApplicationsList/ApplicationListItem.js
index 57ea81b6f..7c2104d7c 100644
--- a/awx/ui/src/screens/Application/ApplicationsList/ApplicationListItem.js
+++ b/awx/ui/src/screens/Application/ApplicationsList/ApplicationListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { Button } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
import { useLingui } from '@lingui/react/macro';
@@ -7,7 +6,6 @@ import { Link } from 'react-router-dom';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
import { formatDateString } from 'util/dates';
-import { Application } from 'types';
function ApplicationListItem({
application,
@@ -66,11 +64,4 @@ function ApplicationListItem({
);
}
-ApplicationListItem.propTypes = {
- application: Application.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default ApplicationListItem;
diff --git a/awx/ui/src/screens/Application/shared/ApplicationForm.js b/awx/ui/src/screens/Application/shared/ApplicationForm.js
index 6b4efe602..07568bc87 100644
--- a/awx/ui/src/screens/Application/shared/ApplicationForm.js
+++ b/awx/ui/src/screens/Application/shared/ApplicationForm.js
@@ -4,7 +4,6 @@ import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import { Formik, useField, useFormikContext } from 'formik';
import { Form, FormGroup } from '@patternfly/react-core';
-import PropTypes from 'prop-types';
import { required } from 'util/validators';
import FormField, { FormSubmitError } from 'components/FormField';
@@ -184,11 +183,4 @@ function ApplicationForm({
);
}
-ApplicationForm.propTypes = {
- onSubmit: PropTypes.func.isRequired,
- onCancel: PropTypes.func.isRequired,
- authorizationOptions: PropTypes.arrayOf(PropTypes.object).isRequired,
- clientTypeOptions: PropTypes.arrayOf(PropTypes.object).isRequired,
-};
-
export default ApplicationForm;
diff --git a/awx/ui/src/screens/Credential/CredentialDetail/CredentialDetail.js b/awx/ui/src/screens/Credential/CredentialDetail/CredentialDetail.js
index 11aee6b82..f7812cce2 100644
--- a/awx/ui/src/screens/Credential/CredentialDetail/CredentialDetail.js
+++ b/awx/ui/src/screens/Credential/CredentialDetail/CredentialDetail.js
@@ -21,7 +21,6 @@ import CodeEditor from 'components/CodeEditor';
import CredentialChip from 'components/CredentialChip';
import ErrorDetail from 'components/ErrorDetail';
import { CredentialsAPI, CredentialTypesAPI } from 'api';
-import { Credential } from 'types';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import { relatedResourceDeleteRequests } from 'util/getRelatedResourceDeleteDetails';
@@ -324,8 +323,4 @@ function CredentialDetail({ credential }) {
);
}
-CredentialDetail.propTypes = {
- credential: Credential.isRequired,
-};
-
export default CredentialDetail;
diff --git a/awx/ui/src/screens/Credential/CredentialEdit/CredentialEdit.js b/awx/ui/src/screens/Credential/CredentialEdit/CredentialEdit.js
index 1279e8c3a..571df6016 100644
--- a/awx/ui/src/screens/Credential/CredentialEdit/CredentialEdit.js
+++ b/awx/ui/src/screens/Credential/CredentialEdit/CredentialEdit.js
@@ -12,7 +12,6 @@ import ContentError from 'components/ContentError';
import ContentLoading from 'components/ContentLoading';
import useRequest from 'hooks/useRequest';
import { useConfig } from 'contexts/Config';
-import { Credential } from 'types';
import CredentialForm from '../shared/CredentialForm';
function CredentialEdit({ credential }) {
@@ -203,9 +202,5 @@ function CredentialEdit({ credential }) {
);
}
-CredentialEdit.propTypes = {
- credential: Credential.isRequired,
-};
-
export { CredentialEdit as _CredentialEdit };
export default CredentialEdit;
diff --git a/awx/ui/src/screens/Credential/CredentialList/CredentialListItem.js b/awx/ui/src/screens/Credential/CredentialList/CredentialListItem.js
index aedf097b6..c45419f16 100644
--- a/awx/ui/src/screens/Credential/CredentialList/CredentialListItem.js
+++ b/awx/ui/src/screens/Credential/CredentialList/CredentialListItem.js
@@ -1,5 +1,4 @@
import React, { useState, useCallback } from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
@@ -9,7 +8,6 @@ import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
import { timeOfDay } from 'util/dates';
-import { Credential } from 'types';
import { CredentialsAPI } from 'api';
import CopyButton from 'components/CopyButton';
@@ -94,11 +92,4 @@ function CredentialListItem({
);
}
-CredentialListItem.propTypes = {
- detailUrl: string.isRequired,
- credential: Credential.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default CredentialListItem;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialForm.js b/awx/ui/src/screens/Credential/shared/CredentialForm.js
index 952f1b351..768dba3e9 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialForm.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialForm.js
@@ -1,6 +1,5 @@
import React, { useCallback, useEffect, useState } from 'react';
import { useLocation } from 'react-router-dom';
-import { shape } from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { useLingui } from '@lingui/react/macro';
@@ -357,11 +356,4 @@ function CredentialForm({
);
}
-CredentialForm.propTypes = {
- credentialTypes: shape({}).isRequired,
- credential: shape({}),
- inputSources: shape({}),
- submitError: shape({}),
-};
-
export default CredentialForm;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialFormFields/BecomeMethodField.js b/awx/ui/src/screens/Credential/shared/CredentialFormFields/BecomeMethodField.js
index d66a53abe..6dc64be67 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialFormFields/BecomeMethodField.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialFormFields/BecomeMethodField.js
@@ -1,6 +1,5 @@
import React, { useState } from 'react';
import { useField } from 'formik';
-import { bool, shape, string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
FormGroup,
@@ -73,12 +72,5 @@ function BecomeMethodField({ fieldOptions, isRequired = false }) {
);
}
-BecomeMethodField.propTypes = {
- fieldOptions: shape({
- id: string.isRequired,
- label: string.isRequired,
- }).isRequired,
- isRequired: bool,
-};
export default BecomeMethodField;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialFormFields/CredentialField.js b/awx/ui/src/screens/Credential/shared/CredentialFormFields/CredentialField.js
index a3e2cef3d..39136a22a 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialFormFields/CredentialField.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialFormFields/CredentialField.js
@@ -2,7 +2,6 @@
import React, { useState } from 'react';
import { useLocation } from 'react-router-dom';
import { useField, useFormikContext } from 'formik';
-import { shape, string } from 'prop-types';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
import {
@@ -17,7 +16,6 @@ import {
import { PficonHistoryIcon } from '@patternfly/react-icons';
import { PasswordInput } from 'components/FormField';
import AnsibleSelect from 'components/AnsibleSelect';
-import { CredentialType } from 'types';
import { required } from 'util/validators';
import { CredentialPluginField } from '../CredentialPlugins';
import BecomeMethodField from './BecomeMethodField';
@@ -159,14 +157,6 @@ function CredentialInput({
);
}
-CredentialInput.propTypes = {
- fieldOptions: shape({
- id: string.isRequired,
- label: string.isRequired,
- }).isRequired,
- credentialKind: string,
-};
-
function CredentialField({ credentialType, fieldOptions }) {
const { values: formikValues } = useFormikContext();
const location = useLocation();
@@ -244,12 +234,4 @@ function CredentialField({ credentialType, fieldOptions }) {
);
}
-CredentialField.propTypes = {
- credentialType: CredentialType.isRequired,
- fieldOptions: shape({
- id: string.isRequired,
- label: string.isRequired,
- }).isRequired,
-};
-
export default CredentialField;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginField.js b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginField.js
index c5643d141..3f126004c 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginField.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginField.js
@@ -1,6 +1,5 @@
import React, { useEffect, useState } from 'react';
-import PropTypes from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
@@ -166,13 +165,4 @@ function CredentialPluginField({
);
}
-CredentialPluginField.propTypes = {
- fieldOptions: PropTypes.shape({
- id: PropTypes.string.isRequired,
- label: PropTypes.string.isRequired,
- }).isRequired,
- isDisabled: PropTypes.bool,
- isRequired: PropTypes.bool,
-};
-
export default CredentialPluginField;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginPrompt/CredentialPluginPrompt.js b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginPrompt/CredentialPluginPrompt.js
index cc44f5536..740238598 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginPrompt/CredentialPluginPrompt.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginPrompt/CredentialPluginPrompt.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import { func, shape } from 'prop-types';
import { Formik, useField } from 'formik';
import { useLingui } from '@lingui/react/macro';
import {
@@ -145,10 +144,4 @@ function CredentialPluginPrompt({ onClose, onSubmit, initialValues = {} }) {
);
}
-CredentialPluginPrompt.propTypes = {
- onClose: func.isRequired,
- onSubmit: func.isRequired,
- initialValues: shape({}),
-};
-
export default CredentialPluginPrompt;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginSelected.js b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginSelected.js
index 865a2fe86..a353d4a0b 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginSelected.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginSelected.js
@@ -1,11 +1,9 @@
import React from 'react';
-import { func } from 'prop-types';
import { Trans, useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
import { Button, ButtonVariant, Tooltip } from '@patternfly/react-core';
import { KeyIcon } from '@patternfly/react-icons';
import CredentialChip from 'components/CredentialChip';
-import { Credential } from 'types';
const SelectedCredential = styled.div`
display: flex;
@@ -57,10 +55,4 @@ function CredentialPluginSelected({
);
}
-CredentialPluginSelected.propTypes = {
- credential: Credential.isRequired,
- onEditPlugin: func,
- onClearPlugin: func,
-};
-
export default CredentialPluginSelected;
diff --git a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginTestAlert.js b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginTestAlert.js
index 2979c7b02..52ff960cb 100644
--- a/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginTestAlert.js
+++ b/awx/ui/src/screens/Credential/shared/CredentialPlugins/CredentialPluginTestAlert.js
@@ -1,7 +1,6 @@
import React, { useEffect, useState } from 'react';
import { useLingui } from '@lingui/react/macro';
-import { string, shape } from 'prop-types';
import {
Alert,
AlertActionCloseButton,
@@ -73,10 +72,4 @@ function CredentialPluginTestAlert({
);
}
-CredentialPluginTestAlert.propTypes = {
- credentialName: string.isRequired,
- successResponse: shape({}),
- errorResponse: shape({}),
-};
-
export default CredentialPluginTestAlert;
diff --git a/awx/ui/src/screens/Credential/shared/ExternalTestModal.js b/awx/ui/src/screens/Credential/shared/ExternalTestModal.js
index 43ad6b1b2..97de537bc 100644
--- a/awx/ui/src/screens/Credential/shared/ExternalTestModal.js
+++ b/awx/ui/src/screens/Credential/shared/ExternalTestModal.js
@@ -1,7 +1,6 @@
import React, { useCallback } from 'react';
import { useLingui } from '@lingui/react/macro';
-import { func, shape } from 'prop-types';
import { Formik } from 'formik';
import { Button, Form, FormGroup, Modal } from '@patternfly/react-core';
import { CredentialsAPI, CredentialTypesAPI } from 'api';
@@ -168,11 +167,4 @@ function ExternalTestModal({
);
}
-ExternalTestModal.propType = {
- credential: shape({}),
- credentialType: shape({}).isRequired,
- credentialFormValues: shape({}).isRequired,
- onClose: func.isRequired,
-};
-
export default ExternalTestModal;
diff --git a/awx/ui/src/screens/Credential/shared/TypeInputsSubForm.js b/awx/ui/src/screens/Credential/shared/TypeInputsSubForm.js
index b295b21a6..08f70fa85 100644
--- a/awx/ui/src/screens/Credential/shared/TypeInputsSubForm.js
+++ b/awx/ui/src/screens/Credential/shared/TypeInputsSubForm.js
@@ -8,7 +8,6 @@ import {
SubFormLayout,
} from 'components/FormLayout';
import { CheckboxField } from 'components/FormField';
-import { CredentialType } from 'types';
import { CredentialField, GceFileUploadField } from './CredentialFormFields';
function TypeInputsSubForm({ credentialType }) {
@@ -67,8 +66,4 @@ function TypeInputsSubForm({ credentialType }) {
);
}
-TypeInputsSubForm.propTypes = {
- credentialType: CredentialType.isRequired,
-};
-
export default TypeInputsSubForm;
diff --git a/awx/ui/src/screens/CredentialType/CredentialTypeList/CredentialTypeListItem.js b/awx/ui/src/screens/CredentialType/CredentialTypeList/CredentialTypeListItem.js
index 14009bd26..a6c904e0f 100644
--- a/awx/ui/src/screens/CredentialType/CredentialTypeList/CredentialTypeListItem.js
+++ b/awx/ui/src/screens/CredentialType/CredentialTypeList/CredentialTypeListItem.js
@@ -1,12 +1,10 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import { Button } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
-import { CredentialType } from 'types';
function CredentialTypeListItem({
credentialType,
@@ -56,11 +54,4 @@ function CredentialTypeListItem({
);
}
-CredentialTypeListItem.prototype = {
- credentialType: CredentialType.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default CredentialTypeListItem;
diff --git a/awx/ui/src/screens/CredentialType/shared/CredentialTypeForm.js b/awx/ui/src/screens/CredentialType/shared/CredentialTypeForm.js
index cb1c11beb..21de53f8b 100644
--- a/awx/ui/src/screens/CredentialType/shared/CredentialTypeForm.js
+++ b/awx/ui/src/screens/CredentialType/shared/CredentialTypeForm.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { func, shape } from 'prop-types';
import { Formik } from 'formik';
import { useLingui } from '@lingui/react/macro';
@@ -89,11 +88,4 @@ function CredentialTypeForm({
);
}
-CredentialTypeForm.propTypes = {
- credentialType: shape({}),
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
-};
-
export default CredentialTypeForm;
diff --git a/awx/ui/src/screens/Dashboard/shared/LineChart.js b/awx/ui/src/screens/Dashboard/shared/LineChart.js
index 0b3bdba1b..400eedb8b 100644
--- a/awx/ui/src/screens/Dashboard/shared/LineChart.js
+++ b/awx/ui/src/screens/Dashboard/shared/LineChart.js
@@ -1,5 +1,4 @@
import React, { useEffect, useCallback } from 'react';
-import { string, number, shape, arrayOf } from 'prop-types';
import * as d3 from 'd3';
import { useLingui } from '@lingui/react/macro';
import { PageContextConsumer } from '@patternfly/react-core';
@@ -286,12 +285,6 @@ function LineChart({ id, data, height, pageContext, jobStatus }) {
return
;
}
-LineChart.propTypes = {
- id: string.isRequired,
- data: arrayOf(shape({})).isRequired,
- height: number.isRequired,
-};
-
const withPageContext = (Component) =>
function contextComponent(props) {
return (
diff --git a/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentList/ExecutionEnvironmentListItem.js b/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentList/ExecutionEnvironmentListItem.js
index d585a3901..5f34b8c64 100644
--- a/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentList/ExecutionEnvironmentListItem.js
+++ b/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentList/ExecutionEnvironmentListItem.js
@@ -1,5 +1,4 @@
import React, { useState, useCallback } from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import { Button } from '@patternfly/react-core';
@@ -8,7 +7,6 @@ import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
import CopyButton from 'components/CopyButton';
-import { ExecutionEnvironment } from 'types';
import { ExecutionEnvironmentsAPI } from 'api';
import { timeOfDay } from 'util/dates';
@@ -132,12 +130,4 @@ function ExecutionEnvironmentListItem({
);
}
-ExecutionEnvironmentListItem.prototype = {
- executionEnvironment: ExecutionEnvironment.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
- onCopy: func.isRequired,
-};
-
export default ExecutionEnvironmentListItem;
diff --git a/awx/ui/src/screens/ExecutionEnvironment/shared/ExecutionEnvironmentForm.js b/awx/ui/src/screens/ExecutionEnvironment/shared/ExecutionEnvironmentForm.js
index 499d70fa6..a6a794580 100644
--- a/awx/ui/src/screens/ExecutionEnvironment/shared/ExecutionEnvironmentForm.js
+++ b/awx/ui/src/screens/ExecutionEnvironment/shared/ExecutionEnvironmentForm.js
@@ -1,5 +1,4 @@
import React, { useCallback, useEffect, useRef } from 'react';
-import { func, shape, bool } from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { useLingui } from '@lingui/react/macro';
import { Form, FormGroup, Tooltip } from '@patternfly/react-core';
@@ -226,12 +225,4 @@ function ExecutionEnvironmentForm({
);
}
-ExecutionEnvironmentForm.propTypes = {
- executionEnvironment: shape({}),
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
- isOrgLookupDisabled: bool,
-};
-
export default ExecutionEnvironmentForm;
diff --git a/awx/ui/src/screens/Host/HostDetail/HostDetail.js b/awx/ui/src/screens/Host/HostDetail/HostDetail.js
index 489f8f431..fba8df958 100644
--- a/awx/ui/src/screens/Host/HostDetail/HostDetail.js
+++ b/awx/ui/src/screens/Host/HostDetail/HostDetail.js
@@ -4,7 +4,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { Button } from '@patternfly/react-core';
-import { Host } from 'types';
import { CardBody, CardActionsRow } from 'components/Card';
import AlertModal from 'components/AlertModal';
import ErrorDetail from 'components/ErrorDetail';
@@ -136,8 +135,4 @@ function HostDetail({ host }) {
);
}
-HostDetail.propTypes = {
- host: Host.isRequired,
-};
-
export default HostDetail;
diff --git a/awx/ui/src/screens/Host/HostEdit/HostEdit.js b/awx/ui/src/screens/Host/HostEdit/HostEdit.js
index b4518d7af..56a291d3f 100644
--- a/awx/ui/src/screens/Host/HostEdit/HostEdit.js
+++ b/awx/ui/src/screens/Host/HostEdit/HostEdit.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useNavigate } from 'react-router-dom-v5-compat';
import { CardBody } from 'components/Card';
import HostForm from 'components/HostForm';
@@ -40,8 +39,4 @@ function HostEdit({ host }) {
);
}
-HostEdit.propTypes = {
- host: PropTypes.shape().isRequired,
-};
-
export default HostEdit;
diff --git a/awx/ui/src/screens/Host/HostFacts/HostFacts.js b/awx/ui/src/screens/Host/HostFacts/HostFacts.js
index 092429fa9..bbbb8ac01 100644
--- a/awx/ui/src/screens/Host/HostFacts/HostFacts.js
+++ b/awx/ui/src/screens/Host/HostFacts/HostFacts.js
@@ -1,7 +1,6 @@
import React, { useCallback, useEffect } from 'react';
import { useLingui } from '@lingui/react/macro';
-import { Host } from 'types';
import { CardBody } from 'components/Card';
import { DetailList } from 'components/DetailList';
import { VariablesDetail } from 'components/CodeEditor';
@@ -54,8 +53,4 @@ function HostFacts({ host }) {
);
}
-HostFacts.propTypes = {
- host: Host.isRequired,
-};
-
export default HostFacts;
diff --git a/awx/ui/src/screens/Host/HostGroups/HostGroupItem.js b/awx/ui/src/screens/Host/HostGroups/HostGroupItem.js
index 15788d9e5..922f7e0a7 100644
--- a/awx/ui/src/screens/Host/HostGroups/HostGroupItem.js
+++ b/awx/ui/src/screens/Host/HostGroups/HostGroupItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { bool, func, number, oneOfType, string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -8,7 +7,6 @@ import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem } from 'components/PaginatedTable';
-import { Group } from 'types';
function HostGroupItem({ group, inventoryId, isSelected, onSelect, rowIndex }) {
const { t } = useLingui();
@@ -51,11 +49,4 @@ function HostGroupItem({ group, inventoryId, isSelected, onSelect, rowIndex }) {
);
}
-HostGroupItem.propTypes = {
- group: Group.isRequired,
- inventoryId: oneOfType([number, string]).isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default HostGroupItem;
diff --git a/awx/ui/src/screens/Host/HostList/HostListItem.js b/awx/ui/src/screens/Host/HostList/HostListItem.js
index 8a279cd9f..5da8b2107 100644
--- a/awx/ui/src/screens/Host/HostList/HostListItem.js
+++ b/awx/ui/src/screens/Host/HostList/HostListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -8,7 +7,6 @@ import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
-import { Host } from 'types';
import HostToggle from 'components/HostToggle';
import Sparkline from 'components/Sparkline';
@@ -79,11 +77,4 @@ function HostListItem({ host, isSelected, onSelect, detailUrl, rowIndex }) {
);
}
-HostListItem.propTypes = {
- host: Host.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default HostListItem;
diff --git a/awx/ui/src/screens/Host/HostList/SmartInventoryButton.js b/awx/ui/src/screens/Host/HostList/SmartInventoryButton.js
index 3d320954f..d5b25cc23 100644
--- a/awx/ui/src/screens/Host/HostList/SmartInventoryButton.js
+++ b/awx/ui/src/screens/Host/HostList/SmartInventoryButton.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { bool, func } from 'prop-types';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
@@ -67,11 +66,5 @@ function SmartInventoryButton({
);
}
-SmartInventoryButton.propTypes = {
- hasInvalidKeys: bool,
- isDisabled: bool,
- onClick: func.isRequired,
- hasAnsibleFactsKeys: bool,
-};
export default SmartInventoryButton;
diff --git a/awx/ui/src/screens/HostMetrics/HostMetricsDeleteButton.js b/awx/ui/src/screens/HostMetrics/HostMetricsDeleteButton.js
index 89e84bdd3..3ae52caaf 100644
--- a/awx/ui/src/screens/HostMetrics/HostMetricsDeleteButton.js
+++ b/awx/ui/src/screens/HostMetrics/HostMetricsDeleteButton.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { func, node, string, arrayOf, shape } from 'prop-types';
import styled from 'styled-components';
import { Alert, Badge, Button, Tooltip } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
@@ -18,10 +17,6 @@ const Label = styled.span`
}
`;
-const ItemToDelete = shape({
- hostname: string.isRequired,
-});
-
function HostMetricsDeleteButton({
itemsToDelete,
pluralizedItemName = 'Items',
@@ -191,11 +186,4 @@ function HostMetricsDeleteButton({
);
}
-HostMetricsDeleteButton.propTypes = {
- onDelete: func.isRequired,
- itemsToDelete: arrayOf(ItemToDelete).isRequired,
- pluralizedItemName: string,
- warningMessage: node,
-};
-
export default HostMetricsDeleteButton;
diff --git a/awx/ui/src/screens/HostMetrics/HostMetricsListItem.js b/awx/ui/src/screens/HostMetrics/HostMetricsListItem.js
index 47fbfce91..0cc612612 100644
--- a/awx/ui/src/screens/HostMetrics/HostMetricsListItem.js
+++ b/awx/ui/src/screens/HostMetrics/HostMetricsListItem.js
@@ -1,9 +1,7 @@
import React from 'react';
import { Tr, Td } from '@patternfly/react-table';
import { formatDateString } from 'util/dates';
-import { HostMetrics } from 'types';
import { useLingui } from '@lingui/react/macro';
-import { bool, func } from 'prop-types';
function HostMetricsListItem({ item, isSelected, onSelect, rowIndex }) {
const { t } = useLingui();
@@ -29,10 +27,4 @@ function HostMetricsListItem({ item, isSelected, onSelect, rowIndex }) {
);
}
-HostMetricsListItem.propTypes = {
- item: HostMetrics.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default HostMetricsListItem;
diff --git a/awx/ui/src/screens/InstanceGroup/InstanceGroupList/InstanceGroupListItem.js b/awx/ui/src/screens/InstanceGroup/InstanceGroupList/InstanceGroupListItem.js
index c28a09df5..a5eff2bfc 100644
--- a/awx/ui/src/screens/InstanceGroup/InstanceGroupList/InstanceGroupListItem.js
+++ b/awx/ui/src/screens/InstanceGroup/InstanceGroupList/InstanceGroupListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -14,7 +13,6 @@ import { Tr, Td } from '@patternfly/react-table';
import { PencilAltIcon } from '@patternfly/react-icons';
import styled from 'styled-components';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
-import { InstanceGroup } from 'types';
const Unavailable = styled.span`
color: var(--pf-global--danger-color--200);
@@ -98,11 +96,4 @@ function InstanceGroupListItem({
);
}
-InstanceGroupListItem.prototype = {
- instanceGroup: InstanceGroup.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InstanceGroupListItem;
diff --git a/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js b/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js
index f9ea196fa..02089a164 100644
--- a/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js
+++ b/awx/ui/src/screens/InstanceGroup/Instances/InstanceListItem.js
@@ -1,7 +1,6 @@
import React, { useState, useCallback } from 'react';
import { Link } from 'react-router-dom';
import { useParams } from 'react-router-dom-v5-compat';
-import { bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
@@ -19,7 +18,6 @@ import { formatDateString } from 'util/dates';
import { ActionsTd, ActionItem } from 'components/PaginatedTable';
import InstanceToggle from 'components/InstanceToggle';
import StatusLabel from 'components/StatusLabel';
-import { Instance } from 'types';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import useDebounce from 'hooks/useDebounce';
import computeForks from 'util/computeForks';
@@ -266,10 +264,4 @@ function InstanceListItem({
);
}
-InstanceListItem.prototype = {
- instance: Instance.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InstanceListItem;
diff --git a/awx/ui/src/screens/InstanceGroup/shared/ContainerGroupForm.js b/awx/ui/src/screens/InstanceGroup/shared/ContainerGroupForm.js
index 49d91f58b..70be681e4 100644
--- a/awx/ui/src/screens/InstanceGroup/shared/ContainerGroupForm.js
+++ b/awx/ui/src/screens/InstanceGroup/shared/ContainerGroupForm.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import { func, shape } from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { useLingui } from '@lingui/react/macro';
@@ -151,12 +150,4 @@ function ContainerGroupForm({
);
}
-ContainerGroupForm.propTypes = {
- instanceGroup: shape({}),
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
- initialPodSpec: shape({}),
-};
-
export default ContainerGroupForm;
diff --git a/awx/ui/src/screens/InstanceGroup/shared/InstanceGroupForm.js b/awx/ui/src/screens/InstanceGroup/shared/InstanceGroupForm.js
index 7efab01e9..c44647975 100644
--- a/awx/ui/src/screens/InstanceGroup/shared/InstanceGroupForm.js
+++ b/awx/ui/src/screens/InstanceGroup/shared/InstanceGroupForm.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { func, shape } from 'prop-types';
import { Formik } from 'formik';
import { useLingui } from '@lingui/react/macro';
import { Form } from '@patternfly/react-core';
@@ -97,11 +96,4 @@ function InstanceGroupForm({
);
}
-InstanceGroupForm.propTypes = {
- instanceGroup: shape({}),
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
-};
-
export default InstanceGroupForm;
diff --git a/awx/ui/src/screens/Instances/InstanceList/InstanceListItem.js b/awx/ui/src/screens/Instances/InstanceList/InstanceListItem.js
index 791bc5068..4ba1daa90 100644
--- a/awx/ui/src/screens/Instances/InstanceList/InstanceListItem.js
+++ b/awx/ui/src/screens/Instances/InstanceList/InstanceListItem.js
@@ -1,6 +1,5 @@
import React, { useState, useCallback } from 'react';
import { Link } from 'react-router-dom';
-import { bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
import {
@@ -18,7 +17,6 @@ import computeForks from 'util/computeForks';
import { ActionsTd, ActionItem } from 'components/PaginatedTable';
import InstanceToggle from 'components/InstanceToggle';
import StatusLabel from 'components/StatusLabel';
-import { Instance } from 'types';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import useDebounce from 'hooks/useDebounce';
import { InstancesAPI } from 'api';
@@ -283,10 +281,4 @@ function InstanceListItem({
);
}
-InstanceListItem.prototype = {
- instance: Instance.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InstanceListItem;
diff --git a/awx/ui/src/screens/Inventory/AdvancedInventoryHostDetail/AdvancedInventoryHostDetail.js b/awx/ui/src/screens/Inventory/AdvancedInventoryHostDetail/AdvancedInventoryHostDetail.js
index 651cc9915..c00b1b7cd 100644
--- a/awx/ui/src/screens/Inventory/AdvancedInventoryHostDetail/AdvancedInventoryHostDetail.js
+++ b/awx/ui/src/screens/Inventory/AdvancedInventoryHostDetail/AdvancedInventoryHostDetail.js
@@ -2,7 +2,6 @@ import React from 'react';
import { Link } from 'react-router-dom';
import { useParams } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
-import { Host } from 'types';
import { CardBody } from 'components/Card';
import { Detail, DetailList, UserDateDetail } from 'components/DetailList';
import Sparkline from 'components/Sparkline';
@@ -71,8 +70,4 @@ function AdvancedInventoryHostDetail({ host }) {
);
}
-AdvancedInventoryHostDetail.propTypes = {
- host: Host.isRequired,
-};
-
export default AdvancedInventoryHostDetail;
diff --git a/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostList.js b/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostList.js
index cf87e955b..c18a1c0fe 100644
--- a/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostList.js
+++ b/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostList.js
@@ -11,7 +11,6 @@ import useRequest from 'hooks/useRequest';
import useSelected from 'hooks/useSelected';
import { getQSConfig, parseQueryString } from 'util/qs';
import { InventoriesAPI } from 'api';
-import { Inventory } from 'types';
import AdHocCommands from 'components/AdHocCommands/AdHocCommands';
import AdvancedInventoryHostListItem from './AdvancedInventoryHostListItem';
@@ -133,8 +132,4 @@ function AdvancedInventoryHostList({ inventory }) {
);
}
-AdvancedInventoryHostList.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default AdvancedInventoryHostList;
diff --git a/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostListItem.js b/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostListItem.js
index aebfab8f6..437f99256 100644
--- a/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostListItem.js
+++ b/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHostListItem.js
@@ -1,10 +1,8 @@
import React from 'react';
import { Link } from 'react-router-dom';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Tr, Td } from '@patternfly/react-table';
import Sparkline from 'components/Sparkline';
-import { Host } from 'types';
function AdvancedInventoryHostListItem({
detailUrl,
@@ -49,11 +47,4 @@ function AdvancedInventoryHostListItem({
);
}
-AdvancedInventoryHostListItem.propTypes = {
- detailUrl: string.isRequired,
- host: Host.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default AdvancedInventoryHostListItem;
diff --git a/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHosts.js b/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHosts.js
index d30713532..5c9ee68a5 100644
--- a/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHosts.js
+++ b/awx/ui/src/screens/Inventory/AdvancedInventoryHosts/AdvancedInventoryHosts.js
@@ -1,6 +1,5 @@
import React from 'react';
import { Routes, Route } from 'react-router-dom-v5-compat';
-import { Inventory } from 'types';
import AdvancedInventoryHostList from './AdvancedInventoryHostList';
import AdvancedInventoryHost from '../AdvancedInventoryHost';
@@ -25,8 +24,4 @@ function AdvancedInventoryHosts({ inventory, setBreadcrumb }) {
);
}
-AdvancedInventoryHosts.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default AdvancedInventoryHosts;
diff --git a/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.js b/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.js
index 09687f978..1cf71d975 100644
--- a/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.js
+++ b/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.js
@@ -15,7 +15,6 @@ import {
Tooltip,
} from '@patternfly/react-core';
import { InventoriesAPI, ConstructedInventoriesAPI } from 'api';
-import { Inventory } from 'types';
import { formatDateString } from 'util/dates';
import { relatedResourceDeleteRequests } from 'util/getRelatedResourceDeleteDetails';
import useRequest, { useDismissableError } from 'hooks/useRequest';
@@ -367,8 +366,4 @@ function ConstructedInventoryDetail({ inventory }) {
);
}
-ConstructedInventoryDetail.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default ConstructedInventoryDetail;
diff --git a/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventorySyncButton.js b/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventorySyncButton.js
index 4976db3a4..d03b2d408 100644
--- a/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventorySyncButton.js
+++ b/awx/ui/src/screens/Inventory/ConstructedInventoryDetail/ConstructedInventorySyncButton.js
@@ -1,6 +1,5 @@
import React, { useCallback } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Button, Tooltip } from '@patternfly/react-core';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import AlertModal from 'components/AlertModal/AlertModal';
@@ -53,8 +52,4 @@ function ConstructedInventorySyncButton({ inventoryId }) {
);
}
-ConstructedInventorySyncButton.propTypes = {
- inventoryId: PropTypes.number.isRequired,
-};
-
export default ConstructedInventorySyncButton;
diff --git a/awx/ui/src/screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.js b/awx/ui/src/screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.js
index 6f6829384..5df78450b 100644
--- a/awx/ui/src/screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.js
+++ b/awx/ui/src/screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.js
@@ -10,7 +10,6 @@ import {
Chip,
} from '@patternfly/react-core';
import { InventoriesAPI, FederatedInventoriesAPI } from 'api';
-import { Inventory } from 'types';
import { relatedResourceDeleteRequests } from 'util/getRelatedResourceDeleteDetails';
import useRequest, { useDismissableError } from 'hooks/useRequest';
import AlertModal from 'components/AlertModal';
@@ -209,8 +208,4 @@ function FederatedInventoryDetail({ inventory }) {
);
}
-FederatedInventoryDetail.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default FederatedInventoryDetail;
diff --git a/awx/ui/src/screens/Inventory/FederatedInventoryEdit/FederatedInventoryEdit.js b/awx/ui/src/screens/Inventory/FederatedInventoryEdit/FederatedInventoryEdit.js
index b5070aa6a..fbedef859 100644
--- a/awx/ui/src/screens/Inventory/FederatedInventoryEdit/FederatedInventoryEdit.js
+++ b/awx/ui/src/screens/Inventory/FederatedInventoryEdit/FederatedInventoryEdit.js
@@ -1,7 +1,6 @@
import React, { useCallback, useEffect, useState } from 'react';
import { useNavigate } from 'react-router-dom-v5-compat';
import { Card, PageSection } from '@patternfly/react-core';
-import { Inventory } from 'types';
import { FederatedInventoriesAPI, InventoriesAPI } from 'api';
import { CardBody } from 'components/Card';
import ContentLoading from 'components/ContentLoading';
@@ -118,8 +117,4 @@ function FederatedInventoryEdit({ inventory }) {
);
}
-FederatedInventoryEdit.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default FederatedInventoryEdit;
diff --git a/awx/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.js b/awx/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.js
index f1b6c587d..01701eda2 100644
--- a/awx/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.js
+++ b/awx/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.js
@@ -22,7 +22,6 @@ import ContentLoading from 'components/ContentLoading';
import ChipGroup from 'components/ChipGroup';
import { InventoriesAPI } from 'api';
import useRequest, { useDismissableError } from 'hooks/useRequest';
-import { Inventory } from 'types';
import { relatedResourceDeleteRequests } from 'util/getRelatedResourceDeleteDetails';
import InstanceGroupLabels from 'components/InstanceGroupLabels';
import getHelpText from '../shared/Inventory.helptext';
@@ -210,8 +209,4 @@ function InventoryDetail({ inventory }) {
);
}
-InventoryDetail.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default InventoryDetail;
diff --git a/awx/ui/src/screens/Inventory/InventoryEdit/InventoryEdit.js b/awx/ui/src/screens/Inventory/InventoryEdit/InventoryEdit.js
index 7c32fa885..c1679cd8e 100644
--- a/awx/ui/src/screens/Inventory/InventoryEdit/InventoryEdit.js
+++ b/awx/ui/src/screens/Inventory/InventoryEdit/InventoryEdit.js
@@ -1,6 +1,5 @@
import React, { useState, useEffect } from 'react';
import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
-import { object } from 'prop-types';
import { CardBody } from 'components/Card';
import { InventoriesAPI } from 'api';
@@ -109,9 +108,5 @@ function InventoryEdit({ inventory }) {
);
}
-InventoryEdit.propType = {
- inventory: object.isRequired,
-};
-
export { InventoryEdit as _InventoryEdit };
export default InventoryEdit;
diff --git a/awx/ui/src/screens/Inventory/InventoryGroupHosts/InventoryGroupHostListItem.js b/awx/ui/src/screens/Inventory/InventoryGroupHosts/InventoryGroupHostListItem.js
index f4982d4e8..92bd809bd 100644
--- a/awx/ui/src/screens/Inventory/InventoryGroupHosts/InventoryGroupHostListItem.js
+++ b/awx/ui/src/screens/Inventory/InventoryGroupHosts/InventoryGroupHostListItem.js
@@ -1,7 +1,6 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { useParams } from 'react-router-dom-v5-compat';
-import { string, bool, func, number } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Button, Tooltip } from '@patternfly/react-core';
import { PencilAltIcon } from '@patternfly/react-icons';
@@ -10,7 +9,6 @@ import { Td, Tr } from '@patternfly/react-table';
import { ActionItem, ActionsTd } from 'components/PaginatedTable';
import HostToggle from 'components/HostToggle';
import Sparkline from 'components/Sparkline';
-import { Host } from 'types';
function InventoryGroupHostListItem({
detailUrl,
@@ -83,13 +81,4 @@ function InventoryGroupHostListItem({
);
}
-InventoryGroupHostListItem.propTypes = {
- detailUrl: string.isRequired,
- editUrl: string.isRequired,
- rowIndex: number.isRequired,
- host: Host.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InventoryGroupHostListItem;
diff --git a/awx/ui/src/screens/Inventory/InventoryGroups/InventoryGroupItem.js b/awx/ui/src/screens/Inventory/InventoryGroups/InventoryGroupItem.js
index 678ccb7de..e16501015 100644
--- a/awx/ui/src/screens/Inventory/InventoryGroups/InventoryGroupItem.js
+++ b/awx/ui/src/screens/Inventory/InventoryGroups/InventoryGroupItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Button } from '@patternfly/react-core';
@@ -9,7 +8,6 @@ import { Link } from 'react-router-dom';
import { useParams } from 'react-router-dom-v5-compat';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem } from 'components/PaginatedTable';
-import { Group } from 'types';
function InventoryGroupItem({ group, isSelected, onSelect, rowIndex }) {
const { t } = useLingui();
@@ -55,10 +53,4 @@ function InventoryGroupItem({ group, isSelected, onSelect, rowIndex }) {
);
}
-InventoryGroupItem.propTypes = {
- group: Group.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InventoryGroupItem;
diff --git a/awx/ui/src/screens/Inventory/InventoryHostDetail/InventoryHostDetail.js b/awx/ui/src/screens/Inventory/InventoryHostDetail/InventoryHostDetail.js
index 6b41fbf57..5f2aa36b4 100644
--- a/awx/ui/src/screens/Inventory/InventoryHostDetail/InventoryHostDetail.js
+++ b/awx/ui/src/screens/Inventory/InventoryHostDetail/InventoryHostDetail.js
@@ -3,7 +3,6 @@ import { Link } from 'react-router-dom';
import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { Button } from '@patternfly/react-core';
-import { Host } from 'types';
import { CardBody, CardActionsRow } from 'components/Card';
import AlertModal from 'components/AlertModal';
import ErrorDetail from 'components/ErrorDetail';
@@ -129,8 +128,4 @@ function InventoryHostDetail({ host }) {
);
}
-InventoryHostDetail.propTypes = {
- host: Host.isRequired,
-};
-
export default InventoryHostDetail;
diff --git a/awx/ui/src/screens/Inventory/InventoryHostEdit/InventoryHostEdit.js b/awx/ui/src/screens/Inventory/InventoryHostEdit/InventoryHostEdit.js
index f0b66410b..6b519cc82 100644
--- a/awx/ui/src/screens/Inventory/InventoryHostEdit/InventoryHostEdit.js
+++ b/awx/ui/src/screens/Inventory/InventoryHostEdit/InventoryHostEdit.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useNavigate } from 'react-router-dom-v5-compat';
import { CardBody } from 'components/Card';
import HostForm from 'components/HostForm';
@@ -37,8 +36,4 @@ function InventoryHostEdit({ host, inventory }) {
);
}
-InventoryHostEdit.propTypes = {
- host: PropTypes.shape().isRequired,
-};
-
export default InventoryHostEdit;
diff --git a/awx/ui/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.js b/awx/ui/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.js
index 223735a36..2f51e6aaf 100644
--- a/awx/ui/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.js
+++ b/awx/ui/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.js
@@ -1,6 +1,5 @@
import React, { useCallback, useEffect } from 'react';
import { useLingui } from '@lingui/react/macro';
-import { Host } from 'types';
import { CardBody } from 'components/Card';
import { DetailList } from 'components/DetailList';
import { VariablesDetail } from 'components/CodeEditor';
@@ -47,8 +46,4 @@ function InventoryHostFacts({ host }) {
);
}
-InventoryHostFacts.propTypes = {
- host: Host.isRequired,
-};
-
export default InventoryHostFacts;
diff --git a/awx/ui/src/screens/Inventory/InventoryHostGroups/InventoryHostGroupItem.js b/awx/ui/src/screens/Inventory/InventoryHostGroups/InventoryHostGroupItem.js
index a94d17d5e..cf638a585 100644
--- a/awx/ui/src/screens/Inventory/InventoryHostGroups/InventoryHostGroupItem.js
+++ b/awx/ui/src/screens/Inventory/InventoryHostGroups/InventoryHostGroupItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { bool, func, number, oneOfType, string } from 'prop-types';
import { Button } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
import { useLingui } from '@lingui/react/macro';
@@ -7,7 +6,6 @@ import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem } from 'components/PaginatedTable';
-import { Group } from 'types';
function InventoryHostGroupItem({
group,
@@ -58,11 +56,4 @@ function InventoryHostGroupItem({
);
}
-InventoryHostGroupItem.propTypes = {
- group: Group.isRequired,
- inventoryId: oneOfType([number, string]).isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InventoryHostGroupItem;
diff --git a/awx/ui/src/screens/Inventory/InventoryHosts/InventoryHostItem.js b/awx/ui/src/screens/Inventory/InventoryHosts/InventoryHostItem.js
index f38297518..963ce1705 100644
--- a/awx/ui/src/screens/Inventory/InventoryHosts/InventoryHostItem.js
+++ b/awx/ui/src/screens/Inventory/InventoryHosts/InventoryHostItem.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
@@ -12,7 +11,6 @@ import ErrorDetail from 'components/ErrorDetail';
import HostToggle from 'components/HostToggle';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
import useRequest, { useDismissableError } from 'hooks/useRequest';
-import { Host } from 'types';
import Sparkline from 'components/Sparkline';
function InventoryHostItem({
@@ -139,11 +137,4 @@ function InventoryHostItem({
);
}
-InventoryHostItem.propTypes = {
- detailUrl: string.isRequired,
- host: Host.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InventoryHostItem;
diff --git a/awx/ui/src/screens/Inventory/InventoryList/InventoryListItem.js b/awx/ui/src/screens/Inventory/InventoryList/InventoryListItem.js
index 087d0231e..53b2be573 100644
--- a/awx/ui/src/screens/Inventory/InventoryList/InventoryListItem.js
+++ b/awx/ui/src/screens/Inventory/InventoryList/InventoryListItem.js
@@ -1,5 +1,4 @@
import React, { useState, useCallback } from 'react';
-import { bool, func } from 'prop-types';
import { Button, Label } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
@@ -8,7 +7,6 @@ import { Plural, useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import { timeOfDay } from 'util/dates';
import { InventoriesAPI } from 'api';
-import { Inventory } from 'types';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
import CopyButton from 'components/CopyButton';
import StatusLabel from 'components/StatusLabel';
@@ -23,11 +21,6 @@ function InventoryListItem({
fetchInventories,
}) {
const { t } = useLingui();
- InventoryListItem.propTypes = {
- inventory: Inventory.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
- };
const [isCopying, setIsCopying] = useState(false);
const copyInventory = useCallback(async () => {
diff --git a/awx/ui/src/screens/Inventory/InventoryRelatedGroups/InventoryRelatedGroupListItem.js b/awx/ui/src/screens/Inventory/InventoryRelatedGroups/InventoryRelatedGroupListItem.js
index c64e1094a..66c0438c6 100644
--- a/awx/ui/src/screens/Inventory/InventoryRelatedGroups/InventoryRelatedGroupListItem.js
+++ b/awx/ui/src/screens/Inventory/InventoryRelatedGroups/InventoryRelatedGroupListItem.js
@@ -1,7 +1,6 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { useParams } from 'react-router-dom-v5-compat';
-import { string, bool, func, number } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
@@ -9,7 +8,6 @@ import { Td, Tr } from '@patternfly/react-table';
import { Button } from '@patternfly/react-core';
import { PencilAltIcon } from '@patternfly/react-icons';
-import { Group } from 'types';
import { ActionItem, ActionsTd } from 'components/PaginatedTable';
function InventoryRelatedGroupListItem({
@@ -64,13 +62,4 @@ function InventoryRelatedGroupListItem({
);
}
-InventoryRelatedGroupListItem.propTypes = {
- detailUrl: string.isRequired,
- editUrl: string.isRequired,
- group: Group.isRequired,
- rowIndex: number.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default InventoryRelatedGroupListItem;
diff --git a/awx/ui/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.js b/awx/ui/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.js
index 2ed176fe1..203ccaa11 100644
--- a/awx/ui/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.js
+++ b/awx/ui/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.js
@@ -5,7 +5,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { Button, Label } from '@patternfly/react-core';
-import { Inventory } from 'types';
import { InventoriesAPI, UnifiedJobsAPI } from 'api';
import useRequest, { useDismissableError } from 'hooks/useRequest';
@@ -184,8 +183,4 @@ function SmartInventoryDetail({ inventory }) {
);
}
-SmartInventoryDetail.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default SmartInventoryDetail;
diff --git a/awx/ui/src/screens/Inventory/SmartInventoryEdit/SmartInventoryEdit.js b/awx/ui/src/screens/Inventory/SmartInventoryEdit/SmartInventoryEdit.js
index 3a15c6ca7..df4703e42 100644
--- a/awx/ui/src/screens/Inventory/SmartInventoryEdit/SmartInventoryEdit.js
+++ b/awx/ui/src/screens/Inventory/SmartInventoryEdit/SmartInventoryEdit.js
@@ -1,6 +1,5 @@
import React, { useCallback, useEffect } from 'react';
import { useNavigate } from 'react-router-dom-v5-compat';
-import { Inventory } from 'types';
import useRequest from 'hooks/useRequest';
import { InventoriesAPI } from 'api';
import { CardBody } from 'components/Card';
@@ -104,8 +103,4 @@ function SmartInventoryEdit({ inventory }) {
);
}
-SmartInventoryEdit.propTypes = {
- inventory: Inventory.isRequired,
-};
-
export default SmartInventoryEdit;
diff --git a/awx/ui/src/screens/Inventory/shared/ConstructedInventoryForm.js b/awx/ui/src/screens/Inventory/shared/ConstructedInventoryForm.js
index 2f58e3de4..ccb8a3ea6 100644
--- a/awx/ui/src/screens/Inventory/shared/ConstructedInventoryForm.js
+++ b/awx/ui/src/screens/Inventory/shared/ConstructedInventoryForm.js
@@ -1,6 +1,5 @@
import React, { useCallback } from 'react';
import { Formik, useField, useFormikContext } from 'formik';
-import { func, shape } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { minMaxValue, required } from 'util/validators';
import { Form, FormGroup } from '@patternfly/react-core';
@@ -194,10 +193,4 @@ function ConstructedInventoryForm({
);
}
-ConstructedInventoryForm.propTypes = {
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
-};
-
export default ConstructedInventoryForm;
diff --git a/awx/ui/src/screens/Inventory/shared/FederatedInventoryForm.js b/awx/ui/src/screens/Inventory/shared/FederatedInventoryForm.js
index 5ded87ec4..fd76853b9 100644
--- a/awx/ui/src/screens/Inventory/shared/FederatedInventoryForm.js
+++ b/awx/ui/src/screens/Inventory/shared/FederatedInventoryForm.js
@@ -1,6 +1,5 @@
import React, { useCallback } from 'react';
import { Formik, useField, useFormikContext } from 'formik';
-import { func, shape } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { required } from 'util/validators';
import { Form, FormGroup } from '@patternfly/react-core';
@@ -137,10 +136,4 @@ function FederatedInventoryForm({
);
}
-FederatedInventoryForm.propTypes = {
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
-};
-
export default FederatedInventoryForm;
diff --git a/awx/ui/src/screens/Inventory/shared/InventoryForm.js b/awx/ui/src/screens/Inventory/shared/InventoryForm.js
index b91fcc9c8..30fd1079e 100644
--- a/awx/ui/src/screens/Inventory/shared/InventoryForm.js
+++ b/awx/ui/src/screens/Inventory/shared/InventoryForm.js
@@ -1,6 +1,5 @@
import React, { useCallback, useState } from 'react';
import { Formik, useField, useFormikContext } from 'formik';
-import { func, shape } from 'prop-types';
import { Form, FormGroup } from '@patternfly/react-core';
import { VariablesField } from 'components/CodeEditor';
import Popover from 'components/Popover';
@@ -159,12 +158,4 @@ function InventoryForm({
);
}
-InventoryForm.propType = {
- handleSubmit: func.isRequired,
- handleCancel: func.isRequired,
- instanceGroups: shape(),
- inventory: shape(),
- submitError: shape(),
-};
-
export default InventoryForm;
diff --git a/awx/ui/src/screens/Inventory/shared/InventoryGroupsDeleteModal.js b/awx/ui/src/screens/Inventory/shared/InventoryGroupsDeleteModal.js
index 14c73c0f5..fa28fc233 100644
--- a/awx/ui/src/screens/Inventory/shared/InventoryGroupsDeleteModal.js
+++ b/awx/ui/src/screens/Inventory/shared/InventoryGroupsDeleteModal.js
@@ -1,12 +1,10 @@
import React, { useState, useContext, useEffect } from 'react';
import { useParams } from 'react-router-dom-v5-compat';
-import { func, bool, arrayOf } from 'prop-types';
import { Plural, useLingui } from '@lingui/react/macro';
import { Button, Radio, DropdownItem } from '@patternfly/react-core';
import styled from 'styled-components';
import { KebabifiedContext } from 'contexts/Kebabified';
import { GroupsAPI, InventoriesAPI } from 'api';
-import { Group } from 'types';
import ErrorDetail from 'components/ErrorDetail';
import AlertModal from 'components/AlertModal';
@@ -164,10 +162,4 @@ const InventoryGroupsDeleteModal = ({
);
};
-InventoryGroupsDeleteModal.propTypes = {
- onAfterDelete: func.isRequired,
- groups: arrayOf(Group),
- isDisabled: bool.isRequired,
-};
-
export default InventoryGroupsDeleteModal;
diff --git a/awx/ui/src/screens/Inventory/shared/InventorySourceForm.js b/awx/ui/src/screens/Inventory/shared/InventorySourceForm.js
index 74e6b55e4..bb4ae498d 100644
--- a/awx/ui/src/screens/Inventory/shared/InventorySourceForm.js
+++ b/awx/ui/src/screens/Inventory/shared/InventorySourceForm.js
@@ -1,7 +1,6 @@
import React, { useEffect, useCallback } from 'react';
import { useLingui } from '@lingui/react/macro';
import { Formik, useField, useFormikContext } from 'formik';
-import { func, shape } from 'prop-types';
import { Form, FormGroup, Title } from '@patternfly/react-core';
import { InventorySourcesAPI } from 'api';
import useRequest from 'hooks/useRequest';
@@ -342,10 +341,4 @@ const InventorySourceForm = ({
);
};
-InventorySourceForm.propTypes = {
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
-};
-
export default InventorySourceForm;
diff --git a/awx/ui/src/screens/Inventory/shared/InventorySourceSyncButton.js b/awx/ui/src/screens/Inventory/shared/InventorySourceSyncButton.js
index 0f6d9daf4..3f7a4233a 100644
--- a/awx/ui/src/screens/Inventory/shared/InventorySourceSyncButton.js
+++ b/awx/ui/src/screens/Inventory/shared/InventorySourceSyncButton.js
@@ -1,7 +1,6 @@
import React, { useCallback } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Button, Tooltip } from '@patternfly/react-core';
import { SyncIcon } from '@patternfly/react-icons';
import useRequest, { useDismissableError } from 'hooks/useRequest';
@@ -58,9 +57,4 @@ function InventorySourceSyncButton({ source = {}, icon = true }) {
);
}
-InventorySourceSyncButton.propTypes = {
- source: PropTypes.shape({}),
- icon: PropTypes.bool,
-};
-
export default InventorySourceSyncButton;
diff --git a/awx/ui/src/screens/Inventory/shared/SmartInventoryForm.js b/awx/ui/src/screens/Inventory/shared/SmartInventoryForm.js
index c30fc4b33..664c1a643 100644
--- a/awx/ui/src/screens/Inventory/shared/SmartInventoryForm.js
+++ b/awx/ui/src/screens/Inventory/shared/SmartInventoryForm.js
@@ -1,9 +1,7 @@
import React, { useEffect, useCallback } from 'react';
import { Formik, useField, useFormikContext } from 'formik';
import { useLocation } from 'react-router-dom';
-import { func, shape, arrayOf } from 'prop-types';
import { Form } from '@patternfly/react-core';
-import { InstanceGroup } from 'types';
import { VariablesField } from 'components/CodeEditor';
import ContentError from 'components/ContentError';
import ContentLoading from 'components/ContentLoading';
@@ -181,12 +179,4 @@ function SmartInventoryForm({
);
}
-SmartInventoryForm.propTypes = {
- instanceGroups: arrayOf(InstanceGroup),
- inventory: shape({}),
- onCancel: func.isRequired,
- onSubmit: func.isRequired,
- submitError: shape({}),
-};
-
export default SmartInventoryForm;
diff --git a/awx/ui/src/screens/Job/JobDetail/JobDetail.js b/awx/ui/src/screens/Job/JobDetail/JobDetail.js
index d7ada6339..290720151 100644
--- a/awx/ui/src/screens/Job/JobDetail/JobDetail.js
+++ b/awx/ui/src/screens/Job/JobDetail/JobDetail.js
@@ -28,7 +28,6 @@ import ExecutionEnvironmentDetail from 'components/ExecutionEnvironmentDetail';
import { VERBOSITY } from 'components/VerbositySelectField';
import { getJobModel, isJobRunning } from 'util/jobs';
import { formatDateString } from 'util/dates';
-import { Job } from 'types';
import getJobHelpText from '../Job.helptext';
const StatusDetailValue = styled.div`
@@ -682,10 +681,6 @@ function JobDetail({ job, inventorySourceLabels }) {
);
}
-JobDetail.propTypes = {
- job: Job.isRequired,
-};
-
export default JobDetail;
function validateReactNode(value) {
diff --git a/awx/ui/src/screens/Job/JobOutput/HostEventModal.js b/awx/ui/src/screens/Job/JobOutput/HostEventModal.js
index dc92b3fea..bdecee11f 100644
--- a/awx/ui/src/screens/Job/JobOutput/HostEventModal.js
+++ b/awx/ui/src/screens/Job/JobOutput/HostEventModal.js
@@ -1,6 +1,5 @@
import React, { useEffect, useState } from 'react';
import { Modal, Tab, Tabs, TabTitleText } from '@patternfly/react-core';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { encode } from 'html-entities';
@@ -217,9 +216,3 @@ function HostEventModal({ onClose, hostEvent = defaultHostEvent, isOpen = false
}
export default HostEventModal;
-
-HostEventModal.propTypes = {
- onClose: PropTypes.func.isRequired,
- hostEvent: PropTypes.shape({}),
- isOpen: PropTypes.bool,
-};
diff --git a/awx/ui/src/screens/Job/JobOutput/shared/OutputToolbar.js b/awx/ui/src/screens/Job/JobOutput/shared/OutputToolbar.js
index 684eafcdb..5cf478458 100644
--- a/awx/ui/src/screens/Job/JobOutput/shared/OutputToolbar.js
+++ b/awx/ui/src/screens/Job/JobOutput/shared/OutputToolbar.js
@@ -1,7 +1,6 @@
import React, { useEffect, useState, useRef } from 'react';
import styled from 'styled-components';
import { calculateElapsed, secondsToHHMMSS } from 'util/dates';
-import { bool, shape, func } from 'prop-types';
import {
DownloadIcon,
RocketIcon,
@@ -253,10 +252,4 @@ const OutputToolbar = ({
);
};
-OutputToolbar.propTypes = {
- isDeleteDisabled: bool,
- job: shape({}).isRequired,
- onDelete: func.isRequired,
-};
-
export default OutputToolbar;
diff --git a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutput.js b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutput.js
index 8ae734124..d385eacd5 100644
--- a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutput.js
+++ b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutput.js
@@ -3,7 +3,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
-import { shape } from 'prop-types';
import { CardBody as PFCardBody } from '@patternfly/react-core';
import {
WorkflowDispatchContext,
@@ -151,8 +150,4 @@ function WorkflowOutput({ job }) {
);
}
-WorkflowOutput.propTypes = {
- job: shape().isRequired,
-};
-
export default WorkflowOutput;
diff --git a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputLink.js b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputLink.js
index 0a671231b..155af3229 100644
--- a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputLink.js
+++ b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputLink.js
@@ -1,5 +1,4 @@
import React, { useContext, useEffect, useRef, useState } from 'react';
-import { func, shape } from 'prop-types';
import { WorkflowStateContext } from 'contexts/Workflow';
import {
generateLine,
@@ -67,10 +66,4 @@ function WorkflowOutputLink({ link, mouseEnter, mouseLeave }) {
);
}
-WorkflowOutputLink.propTypes = {
- link: shape().isRequired,
- mouseEnter: func.isRequired,
- mouseLeave: func.isRequired,
-};
-
export default WorkflowOutputLink;
diff --git a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputNode.js b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputNode.js
index 970f7f151..b0000a594 100644
--- a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputNode.js
+++ b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputNode.js
@@ -3,7 +3,6 @@ import { useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
-import { func, shape } from 'prop-types';
import { WorkflowStateContext } from 'contexts/Workflow';
import StatusIcon from 'components/StatusIcon';
import { WorkflowNodeTypeLetter } from 'components/Workflow';
@@ -233,10 +232,4 @@ function WorkflowOutputNode({ mouseEnter, mouseLeave, node }) {
);
}
-WorkflowOutputNode.propTypes = {
- mouseEnter: func.isRequired,
- mouseLeave: func.isRequired,
- node: shape().isRequired,
-};
-
export default WorkflowOutputNode;
diff --git a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputToolbar.js b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputToolbar.js
index 62f941e6c..709322295 100644
--- a/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputToolbar.js
+++ b/awx/ui/src/screens/Job/WorkflowOutput/WorkflowOutputToolbar.js
@@ -1,6 +1,5 @@
import React, { useContext } from 'react';
import { useNavigate } from 'react-router-dom-v5-compat';
-import { shape, func, bool } from 'prop-types';
import { Badge as PFBadge, Button, Tooltip } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
@@ -263,10 +262,4 @@ function WorkflowOutputToolbar({
);
}
-WorkflowOutputToolbar.propTypes = {
- job: shape().isRequired,
- onDelete: func,
- isDeleteDisabled: bool,
-};
-
export default WorkflowOutputToolbar;
diff --git a/awx/ui/src/screens/NotificationTemplate/NotificationTemplateEdit/NotificationTemplateEdit.js b/awx/ui/src/screens/NotificationTemplate/NotificationTemplateEdit/NotificationTemplateEdit.js
index 0289d62af..94f8974f1 100644
--- a/awx/ui/src/screens/NotificationTemplate/NotificationTemplateEdit/NotificationTemplateEdit.js
+++ b/awx/ui/src/screens/NotificationTemplate/NotificationTemplateEdit/NotificationTemplateEdit.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useNavigate } from 'react-router-dom-v5-compat';
import { CardBody } from 'components/Card';
import { NotificationTemplatesAPI } from 'api';
@@ -36,9 +35,5 @@ function NotificationTemplateEdit({ template, defaultMessages }) {
);
}
-NotificationTemplateEdit.propTypes = {
- template: PropTypes.shape().isRequired,
-};
-
export { NotificationTemplateEdit as _NotificationTemplateEdit };
export default NotificationTemplateEdit;
diff --git a/awx/ui/src/screens/NotificationTemplate/shared/NotificationTemplateForm.js b/awx/ui/src/screens/NotificationTemplate/shared/NotificationTemplateForm.js
index c2541ce16..b0590a7d2 100644
--- a/awx/ui/src/screens/NotificationTemplate/shared/NotificationTemplateForm.js
+++ b/awx/ui/src/screens/NotificationTemplate/shared/NotificationTemplateForm.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import { shape, func } from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { useLingui } from '@lingui/react/macro';
import { Form, FormGroup } from '@patternfly/react-core';
@@ -199,14 +198,6 @@ function NotificationTemplateForm({
);
}
-NotificationTemplateForm.propTypes = {
- template: shape(),
- defaultMessages: shape().isRequired,
- onSubmit: func.isRequired,
- onCancel: func.isRequired,
- submitError: shape(),
-};
-
export default NotificationTemplateForm;
function normalizeFields(values, defaultMessages) {
diff --git a/awx/ui/src/screens/NotificationTemplate/shared/TypeInputsSubForm.js b/awx/ui/src/screens/NotificationTemplate/shared/TypeInputsSubForm.js
index 0c7e618f2..ebfb3a345 100644
--- a/awx/ui/src/screens/NotificationTemplate/shared/TypeInputsSubForm.js
+++ b/awx/ui/src/screens/NotificationTemplate/shared/TypeInputsSubForm.js
@@ -1,5 +1,4 @@
import React, { useMemo } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { useField } from 'formik';
import { FormGroup, InputGroup, Title } from '@patternfly/react-core';
@@ -25,7 +24,6 @@ import {
minMaxValue,
twilioPhoneNumber,
} from 'util/validators';
-import { NotificationType } from 'types';
import Popover from '../../../components/Popover/Popover';
import RevertButton from '../../Setting/shared/RevertButton';
@@ -37,10 +35,6 @@ const PasswordFormGroup = styled(FormGroup)`
}
`;
-const editFieldPropTypes = {
- isEdit: PropTypes.bool,
-};
-
const TypeFields = {
email: EmailFields,
grafana: GrafanaFields,
@@ -66,10 +60,6 @@ function TypeInputsSubForm({ type, isEdit = false }) {
);
}
-TypeInputsSubForm.propTypes = {
- type: NotificationType.isRequired,
- isEdit: PropTypes.bool,
-};
export default TypeInputsSubForm;
@@ -110,14 +100,6 @@ function SecretPasswordField({
);
}
-SecretPasswordField.propTypes = {
- id: PropTypes.string.isRequired,
- label: PropTypes.node.isRequired,
- name: PropTypes.string.isRequired,
- isEdit: PropTypes.bool,
- isRequiredOnCreate: PropTypes.bool,
-};
-
function EmailFields({ isEdit = false }) {
const { t } = useLingui();
const helpText = useMemo(() => ({
@@ -277,9 +259,6 @@ function GrafanaFields({ isEdit = false }) {
);
}
-EmailFields.propTypes = editFieldPropTypes;
-
-GrafanaFields.propTypes = editFieldPropTypes;
function IRCFields({ isEdit = false }) {
const { t } = useLingui();
const helpText = {
@@ -338,8 +317,6 @@ function IRCFields({ isEdit = false }) {
);
}
-IRCFields.propTypes = editFieldPropTypes;
-
function MattermostFields() {
const { t } = useLingui();
return (
@@ -419,8 +396,6 @@ function PagerdutyFields({ isEdit = false }) {
);
}
-PagerdutyFields.propTypes = editFieldPropTypes;
-
function RocketChatFields() {
const { t } = useLingui();
return (
@@ -500,8 +475,6 @@ function SlackFields({ isEdit = false }) {
);
}
-SlackFields.propTypes = editFieldPropTypes;
-
function TwilioFields({ isEdit = false }) {
const { t } = useLingui();
const helpText = {
@@ -549,8 +522,6 @@ function TwilioFields({ isEdit = false }) {
);
}
-TwilioFields.propTypes = editFieldPropTypes;
-
function WebhookFields({ isEdit = false }) {
const { t } = useLingui();
const helpText = {
@@ -625,5 +596,3 @@ function WebhookFields({ isEdit = false }) {
>
);
}
-
-WebhookFields.propTypes = editFieldPropTypes;
diff --git a/awx/ui/src/screens/Organization/OrganizationEdit/OrganizationEdit.js b/awx/ui/src/screens/Organization/OrganizationEdit/OrganizationEdit.js
index 61434a4f0..f5c4b5bef 100644
--- a/awx/ui/src/screens/Organization/OrganizationEdit/OrganizationEdit.js
+++ b/awx/ui/src/screens/Organization/OrganizationEdit/OrganizationEdit.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useNavigate } from 'react-router-dom-v5-compat';
import { CardBody } from 'components/Card';
import { OrganizationsAPI } from 'api';
@@ -71,9 +70,5 @@ function OrganizationEdit({ organization }) {
);
}
-OrganizationEdit.propTypes = {
- organization: PropTypes.shape().isRequired,
-};
-
export { OrganizationEdit as _OrganizationEdit };
export default OrganizationEdit;
diff --git a/awx/ui/src/screens/Organization/OrganizationExecEnvList/OrganizationExecEnvListItem.js b/awx/ui/src/screens/Organization/OrganizationExecEnvList/OrganizationExecEnvListItem.js
index 288bc52de..f28effda4 100644
--- a/awx/ui/src/screens/Organization/OrganizationExecEnvList/OrganizationExecEnvListItem.js
+++ b/awx/ui/src/screens/Organization/OrganizationExecEnvList/OrganizationExecEnvListItem.js
@@ -1,11 +1,8 @@
import React from 'react';
-import { string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Link } from 'react-router-dom';
import { Tr, Td } from '@patternfly/react-table';
-import { ExecutionEnvironment } from 'types';
-
function OrganizationExecEnvListItem({ executionEnvironment, detailUrl }) {
const { t } = useLingui();
return (
@@ -23,9 +20,4 @@ function OrganizationExecEnvListItem({ executionEnvironment, detailUrl }) {
);
}
-OrganizationExecEnvListItem.prototype = {
- executionEnvironment: ExecutionEnvironment.isRequired,
- detailUrl: string.isRequired,
-};
-
export default OrganizationExecEnvListItem;
diff --git a/awx/ui/src/screens/Organization/OrganizationList/OrganizationListItem.js b/awx/ui/src/screens/Organization/OrganizationList/OrganizationListItem.js
index 05634f932..868a55ebd 100644
--- a/awx/ui/src/screens/Organization/OrganizationList/OrganizationListItem.js
+++ b/awx/ui/src/screens/Organization/OrganizationList/OrganizationListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Button } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
@@ -9,8 +8,6 @@ import {
} from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
-import { Organization } from 'types';
-
function OrganizationListItem({
organization,
isSelected,
@@ -65,11 +62,4 @@ function OrganizationListItem({
);
}
-OrganizationListItem.propTypes = {
- organization: Organization.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default OrganizationListItem;
diff --git a/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamList.js b/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamList.js
index ceef39f33..a5cd89862 100644
--- a/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamList.js
+++ b/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamList.js
@@ -1,5 +1,4 @@
import React, { useCallback, useEffect } from 'react';
-import PropTypes from 'prop-types';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import { OrganizationsAPI } from 'api';
@@ -98,9 +97,5 @@ function OrganizationTeamList({ id }) {
);
}
-OrganizationTeamList.propTypes = {
- id: PropTypes.number.isRequired,
-};
-
export { OrganizationTeamList as _OrganizationTeamList };
export default OrganizationTeamList;
diff --git a/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamListItem.js b/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamListItem.js
index 8ac2358d8..8f4242711 100644
--- a/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamListItem.js
+++ b/awx/ui/src/screens/Organization/OrganizationTeams/OrganizationTeamListItem.js
@@ -1,6 +1,5 @@
import React from 'react';
import { Link } from 'react-router-dom';
-import PropTypes from 'prop-types';
import { Button } from '@patternfly/react-core';
import { Tr, Td } from '@patternfly/react-table';
import { useLingui } from '@lingui/react/macro';
@@ -37,10 +36,4 @@ function OrganizationTeamListItem({ team, detailUrl }) {
);
}
-OrganizationTeamListItem.propTypes = {
- team: PropTypes.shape({ id: PropTypes.number, name: PropTypes.string })
- .isRequired,
- detailUrl: PropTypes.string.isRequired,
-};
-
export default OrganizationTeamListItem;
diff --git a/awx/ui/src/screens/Organization/shared/OrganizationForm.js b/awx/ui/src/screens/Organization/shared/OrganizationForm.js
index c7fb5cde4..9de1e529d 100644
--- a/awx/ui/src/screens/Organization/shared/OrganizationForm.js
+++ b/awx/ui/src/screens/Organization/shared/OrganizationForm.js
@@ -1,5 +1,4 @@
import React, { useCallback, useEffect, useState } from 'react';
-import PropTypes from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { Trans, useLingui } from '@lingui/react/macro';
import { Form } from '@patternfly/react-core';
@@ -223,13 +222,5 @@ function OrganizationForm({
);
}
-OrganizationForm.propTypes = {
- defaultGalaxyCredential: PropTypes.shape(),
- organization: PropTypes.shape(),
- onSubmit: PropTypes.func.isRequired,
- onCancel: PropTypes.func.isRequired,
- submitError: PropTypes.shape(),
-};
-
export { OrganizationForm as _OrganizationForm };
export default OrganizationForm;
diff --git a/awx/ui/src/screens/Project/ProjectDetail/ProjectDetail.js b/awx/ui/src/screens/Project/ProjectDetail/ProjectDetail.js
index bff31b75d..4bbdb241d 100644
--- a/awx/ui/src/screens/Project/ProjectDetail/ProjectDetail.js
+++ b/awx/ui/src/screens/Project/ProjectDetail/ProjectDetail.js
@@ -12,7 +12,6 @@ import {
TextListItemVariants,
Tooltip,
} from '@patternfly/react-core';
-import { Project } from 'types';
import { Config, useConfig } from 'contexts/Config';
import AlertModal from 'components/AlertModal';
import { CardBody, CardActionsRow } from 'components/Card';
@@ -366,8 +365,4 @@ function ProjectDetail({ project }) {
);
}
-ProjectDetail.propTypes = {
- project: Project.isRequired,
-};
-
export default ProjectDetail;
diff --git a/awx/ui/src/screens/Project/ProjectList/ProjectListItem.js b/awx/ui/src/screens/Project/ProjectList/ProjectListItem.js
index bebdc6d11..9fb59998d 100644
--- a/awx/ui/src/screens/Project/ProjectList/ProjectListItem.js
+++ b/awx/ui/src/screens/Project/ProjectList/ProjectListItem.js
@@ -1,5 +1,4 @@
import React, { useState, useCallback } from 'react';
-import { string, bool, func } from 'prop-types';
import { Button, ClipboardCopy, Tooltip } from '@patternfly/react-core';
import { Tr, Td, ExpandableRowContent } from '@patternfly/react-table';
import { useLingui } from '@lingui/react/macro';
@@ -18,7 +17,6 @@ import StatusLabel from 'components/StatusLabel';
import { toTitleCase } from 'util/strings';
import { isJobRunning } from 'util/jobs';
import CopyButton from 'components/CopyButton';
-import { Project } from 'types';
import JobCancelButton from 'components/JobCancelButton';
import ProjectSyncButton from '../shared/ProjectSyncButton';
@@ -40,12 +38,6 @@ function ProjectListItem({
}) {
const { t } = useLingui();
const [isDisabled, setIsDisabled] = useState(false);
- ProjectListItem.propTypes = {
- project: Project.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
- };
const copyProject = useCallback(async () => {
const response = await ProjectsAPI.copy(project.id, {
diff --git a/awx/ui/src/screens/Project/shared/ProjectForm.js b/awx/ui/src/screens/Project/shared/ProjectForm.js
index a748301ba..dc81adc36 100644
--- a/awx/ui/src/screens/Project/shared/ProjectForm.js
+++ b/awx/ui/src/screens/Project/shared/ProjectForm.js
@@ -3,7 +3,6 @@
//
/* eslint no-nested-ternary: 0 */
import React, { useCallback, useState, useEffect } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Formik, useField, useFormikContext } from 'formik';
import { Form, FormGroup, Title } from '@patternfly/react-core';
@@ -476,11 +475,4 @@ function ProjectForm({ project = {}, submitError = null, ...props }) {
);
}
-ProjectForm.propTypes = {
- handleCancel: PropTypes.func.isRequired,
- handleSubmit: PropTypes.func.isRequired,
- project: PropTypes.shape({}),
- submitError: PropTypes.shape({}),
-};
-
export default ProjectForm;
diff --git a/awx/ui/src/screens/Project/shared/ProjectSyncButton.js b/awx/ui/src/screens/Project/shared/ProjectSyncButton.js
index 4e44b1bf4..5b7e6508b 100644
--- a/awx/ui/src/screens/Project/shared/ProjectSyncButton.js
+++ b/awx/ui/src/screens/Project/shared/ProjectSyncButton.js
@@ -3,7 +3,6 @@ import { useLocation } from 'react-router-dom-v5-compat';
import { Button, Tooltip } from '@patternfly/react-core';
import { SyncIcon } from '@patternfly/react-icons';
-import { number } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import useRequest, { useDismissableError } from 'hooks/useRequest';
@@ -72,8 +71,4 @@ function ProjectSyncButton({ projectId, lastJobStatus = null }) {
);
}
-ProjectSyncButton.propTypes = {
- projectId: number.isRequired,
-};
-
export default ProjectSyncButton;
diff --git a/awx/ui/src/screens/Setting/shared/RevertButton.js b/awx/ui/src/screens/Setting/shared/RevertButton.js
index fc905a3e2..692580c25 100644
--- a/awx/ui/src/screens/Setting/shared/RevertButton.js
+++ b/awx/ui/src/screens/Setting/shared/RevertButton.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useField } from 'formik';
import { Button, Tooltip } from '@patternfly/react-core';
@@ -67,8 +66,4 @@ function RevertButton({
);
}
-RevertButton.propTypes = {
- id: PropTypes.string.isRequired,
-};
-
export default RevertButton;
diff --git a/awx/ui/src/screens/Setting/shared/RevertFormActionGroup.js b/awx/ui/src/screens/Setting/shared/RevertFormActionGroup.js
index 8ecfa48c2..446618d13 100644
--- a/awx/ui/src/screens/Setting/shared/RevertFormActionGroup.js
+++ b/awx/ui/src/screens/Setting/shared/RevertFormActionGroup.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { ActionGroup, Button } from '@patternfly/react-core';
import { FormFullWidthLayout } from 'components/FormLayout';
@@ -42,10 +41,4 @@ const RevertFormActionGroup = ({ children, onCancel, onRevert, onSubmit }) => {
);
};
-RevertFormActionGroup.propTypes = {
- onCancel: PropTypes.func.isRequired,
- onRevert: PropTypes.func.isRequired,
- onSubmit: PropTypes.func.isRequired,
-};
-
export default RevertFormActionGroup;
diff --git a/awx/ui/src/screens/Setting/shared/SharedFields.js b/awx/ui/src/screens/Setting/shared/SharedFields.js
index 7399d769c..35dc3e6bd 100644
--- a/awx/ui/src/screens/Setting/shared/SharedFields.js
+++ b/awx/ui/src/screens/Setting/shared/SharedFields.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import { shape, string } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { useField } from 'formik';
import {
@@ -164,11 +163,6 @@ const BooleanField = ({
) : null;
};
-BooleanField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const ChoiceField = ({ name, config, isRequired = false }) => {
const { t } = useLingui();
const validate = isRequired ? required(null) : null;
@@ -200,11 +194,6 @@ const ChoiceField = ({ name, config, isRequired = false }) => {
) : null;
};
-ChoiceField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const EncryptedField = ({ name, config, isRequired = false }) => {
const { t } = useLingui();
const validate = isRequired ? required(null) : null;
@@ -234,11 +223,6 @@ const EncryptedField = ({ name, config, isRequired = false }) => {
) : null;
};
-EncryptedField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const ExecutionEnvField = ({ name, config, isRequired = false }) => {
const { t } = useLingui();
const [field, meta, helpers] = useField({ name });
@@ -265,11 +249,6 @@ const ExecutionEnvField = ({ name, config, isRequired = false }) => {
) : null;
};
-ExecutionEnvField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const InputAlertField = ({ name, config }) => {
const { t } = useLingui();
const [field, meta] = useField({ name });
@@ -367,11 +346,6 @@ const InputAlertField = ({ name, config }) => {
) : null;
};
-InputAlertField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const InputField = ({
name,
config = null,
@@ -415,11 +389,6 @@ const InputField = ({
) : null;
};
-InputField.propTypes = {
- name: string.isRequired,
- config: shape({}),
-};
-
const TextAreaField = ({ name, config, isRequired = false }) => {
const { t } = useLingui();
const validate = isRequired ? required(null) : null;
@@ -452,11 +421,6 @@ const TextAreaField = ({ name, config, isRequired = false }) => {
) : null;
};
-TextAreaField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const ObjectField = ({ name, config, revertValue, isRequired = false }) => {
const { t } = useLingui();
const validate = isRequired ? required(null) : null;
@@ -498,11 +462,6 @@ const ObjectField = ({ name, config, revertValue, isRequired = false }) => {
) : null;
};
-ObjectField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
const FileUploadIconWrapper = styled.div`
margin: var(--pf-global--spacer--md);
`;
@@ -567,11 +526,6 @@ const FileUploadField = ({
) : null;
};
-FileUploadField.propTypes = {
- name: string.isRequired,
- config: shape({}).isRequired,
-};
-
export {
BooleanField,
ChoiceField,
diff --git a/awx/ui/src/screens/SubscriptionUsage/ChartComponents/UsageChart.js b/awx/ui/src/screens/SubscriptionUsage/ChartComponents/UsageChart.js
index 0de7da738..1d8b57e78 100644
--- a/awx/ui/src/screens/SubscriptionUsage/ChartComponents/UsageChart.js
+++ b/awx/ui/src/screens/SubscriptionUsage/ChartComponents/UsageChart.js
@@ -1,5 +1,4 @@
import React, { useEffect, useCallback } from 'react';
-import { string, number, shape, arrayOf } from 'prop-types';
import * as d3 from 'd3';
import { PageContextConsumer } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
@@ -324,12 +323,6 @@ function UsageChart({ id, data, height, pageContext }) {
return ;
}
-UsageChart.propTypes = {
- id: string.isRequired,
- data: arrayOf(shape({})).isRequired,
- height: number.isRequired,
-};
-
const withPageContext = (Component) =>
function contextComponent(props) {
return (
diff --git a/awx/ui/src/screens/Team/TeamEdit/TeamEdit.js b/awx/ui/src/screens/Team/TeamEdit/TeamEdit.js
index 80ecb61cf..eb4b869c5 100644
--- a/awx/ui/src/screens/Team/TeamEdit/TeamEdit.js
+++ b/awx/ui/src/screens/Team/TeamEdit/TeamEdit.js
@@ -1,5 +1,4 @@
import React, { useState } from 'react';
-import PropTypes from 'prop-types';
import { useNavigate } from 'react-router-dom-v5-compat';
import { CardBody } from 'components/Card';
@@ -46,8 +45,4 @@ function TeamEdit({ team }) {
);
}
-TeamEdit.propTypes = {
- team: PropTypes.shape().isRequired,
-};
-
export default TeamEdit;
diff --git a/awx/ui/src/screens/Team/TeamList/TeamListItem.js b/awx/ui/src/screens/Team/TeamList/TeamListItem.js
index d3aebdada..7c13c76d7 100644
--- a/awx/ui/src/screens/Team/TeamList/TeamListItem.js
+++ b/awx/ui/src/screens/Team/TeamList/TeamListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Button } from '@patternfly/react-core';
@@ -7,16 +6,9 @@ import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
-import { Team } from 'types';
function TeamListItem({ team, isSelected, onSelect, detailUrl, rowIndex }) {
const { t } = useLingui();
- TeamListItem.propTypes = {
- team: Team.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
- };
const labelId = `check-action-${team.id}`;
diff --git a/awx/ui/src/screens/Team/shared/TeamForm.js b/awx/ui/src/screens/Team/shared/TeamForm.js
index 16111ff7e..47bc84594 100644
--- a/awx/ui/src/screens/Team/shared/TeamForm.js
+++ b/awx/ui/src/screens/Team/shared/TeamForm.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import PropTypes from 'prop-types';
import { Formik, useField, useFormikContext } from 'formik';
import { Form } from '@patternfly/react-core';
@@ -85,11 +84,4 @@ function TeamForm({
);
}
-TeamForm.propTypes = {
- handleCancel: PropTypes.func.isRequired,
- handleSubmit: PropTypes.func.isRequired,
- team: PropTypes.shape({}),
- submitError: PropTypes.shape(),
-};
-
export default TeamForm;
diff --git a/awx/ui/src/screens/Template/JobTemplateEdit/JobTemplateEdit.js b/awx/ui/src/screens/Template/JobTemplateEdit/JobTemplateEdit.js
index bbabd1f0b..5ab3c46b9 100644
--- a/awx/ui/src/screens/Template/JobTemplateEdit/JobTemplateEdit.js
+++ b/awx/ui/src/screens/Template/JobTemplateEdit/JobTemplateEdit.js
@@ -2,7 +2,6 @@
import React, { useState, useCallback, useEffect } from 'react';
import { useNavigate, Navigate } from 'react-router-dom-v5-compat';
-import { JobTemplate } from 'types';
import { JobTemplatesAPI, ProjectsAPI } from 'api';
import { getAddedAndRemoved } from 'util/lists';
import useRequest from 'hooks/useRequest';
@@ -137,7 +136,4 @@ function JobTemplateEdit({ template, reloadTemplate }) {
);
}
-JobTemplateEdit.propTypes = {
- template: JobTemplate.isRequired,
-};
export default JobTemplateEdit;
diff --git a/awx/ui/src/screens/Template/Survey/SurveyQuestionForm.js b/awx/ui/src/screens/Template/Survey/SurveyQuestionForm.js
index c4fa43054..a2a0df055 100644
--- a/awx/ui/src/screens/Template/Survey/SurveyQuestionForm.js
+++ b/awx/ui/src/screens/Template/Survey/SurveyQuestionForm.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { func, string, bool, number, shape } from 'prop-types';
import { Formik, useField } from 'formik';
import { useLingui } from '@lingui/react/macro';
import { Form, FormGroup } from '@patternfly/react-core';
@@ -287,18 +286,4 @@ function SurveyQuestionForm({
);
}
-SurveyQuestionForm.propTypes = {
- question: shape({
- question_name: string.isRequired,
- question_description: string.isRequired,
- required: bool,
- type: string.isRequired,
- min: number,
- max: number,
- }),
- handleSubmit: func.isRequired,
- handleCancel: func.isRequired,
- submitError: shape({}),
-};
-
export default SurveyQuestionForm;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/LinkModals/LinkModal.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/LinkModals/LinkModal.js
index 25f6bbcd2..84b16d2c2 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/LinkModals/LinkModal.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/LinkModals/LinkModal.js
@@ -3,7 +3,6 @@ import { Button, FormGroup, Modal } from '@patternfly/react-core';
import { useLingui } from '@lingui/react/macro';
-import { func } from 'prop-types';
import {
WorkflowDispatchContext,
WorkflowStateContext,
@@ -79,8 +78,4 @@ function LinkModal({ header, onConfirm }) {
);
}
-LinkModal.propTypes = {
- onConfirm: func.isRequired,
-};
-
export default LinkModal;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeModal.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeModal.js
index bb16673d2..9a8774867 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeModal.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeModal.js
@@ -4,7 +4,6 @@ import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
import { useLingui } from '@lingui/react/macro';
import { Formik, useFormikContext } from 'formik';
import yaml from 'js-yaml';
-import { bool, node, func } from 'prop-types';
import {
Button,
WizardContextConsumer,
@@ -409,10 +408,4 @@ const NodeModal = ({ onSave, askLinkType, title }) => {
);
};
-NodeModal.propTypes = {
- askLinkType: bool.isRequired,
- onSave: func.isRequired,
- title: node.isRequired,
-};
-
export default NodeModal;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeNextButton.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeNextButton.js
index dcf8a8d8d..5e3dbfb11 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeNextButton.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeNextButton.js
@@ -1,5 +1,4 @@
import React, { useEffect } from 'react';
-import { func, oneOfType, number, shape, string } from 'prop-types';
import { Button } from '@patternfly/react-core';
function NodeNextButton({
@@ -31,12 +30,4 @@ function NodeNextButton({
);
}
-NodeNextButton.propTypes = {
- activeStep: shape().isRequired,
- buttonText: string.isRequired,
- onClick: func.isRequired,
- onNext: func.isRequired,
- triggerNext: oneOfType([string, number]).isRequired,
-};
-
export default NodeNextButton;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.js
index d32de1dcb..164e08a14 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.js
@@ -1,7 +1,6 @@
import React, { useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom';
-import { func, shape } from 'prop-types';
import { InventorySourcesAPI } from 'api';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -113,9 +112,4 @@ function InventorySourcesList({ nodeResource = null, onUpdateNodeResource }) {
);
}
-InventorySourcesList.propTypes = {
- nodeResource: shape(),
- onUpdateNodeResource: func.isRequired,
-};
-
export default InventorySourcesList;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.js
index 99f4dba9b..efb7943d1 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.js
@@ -4,7 +4,6 @@ import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import { Popover } from '@patternfly/react-core';
import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons';
-import { func, shape } from 'prop-types';
import { JobTemplatesAPI } from 'api';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -174,9 +173,4 @@ function JobTemplatesList({ nodeResource = null, onUpdateNodeResource }) {
);
}
-JobTemplatesList.propTypes = {
- nodeResource: shape(),
- onUpdateNodeResource: func.isRequired,
-};
-
export default JobTemplatesList;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.js
index a6fb7b844..0e5ccff0d 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.js
@@ -2,7 +2,6 @@ import React, { useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
-import { func, shape } from 'prop-types';
import { ProjectsAPI } from 'api';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -120,9 +119,4 @@ function ProjectsList({ nodeResource = null, onUpdateNodeResource }) {
);
}
-ProjectsList.propTypes = {
- nodeResource: shape(),
- onUpdateNodeResource: func.isRequired,
-};
-
export default ProjectsList;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/SystemJobTemplatesList.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/SystemJobTemplatesList.js
index f6b4bf444..01f88ac6f 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/SystemJobTemplatesList.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/SystemJobTemplatesList.js
@@ -1,7 +1,6 @@
import React, { useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
-import { func, shape } from 'prop-types';
import { SystemJobTemplatesAPI } from 'api';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -103,9 +102,4 @@ function SystemJobTemplatesList({ nodeResource = null, onUpdateNodeResource }) {
);
}
-SystemJobTemplatesList.propTypes = {
- nodeResource: shape(),
- onUpdateNodeResource: func.isRequired,
-};
-
export default SystemJobTemplatesList;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/WorkflowJobTemplatesList.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/WorkflowJobTemplatesList.js
index 60cd461da..541f5952c 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/WorkflowJobTemplatesList.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/WorkflowJobTemplatesList.js
@@ -1,7 +1,6 @@
import React, { useEffect, useCallback } from 'react';
import { useLocation } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
-import { func, shape } from 'prop-types';
import { WorkflowJobTemplatesAPI } from 'api';
import { getQSConfig, parseQueryString } from 'util/qs';
import useRequest from 'hooks/useRequest';
@@ -119,9 +118,4 @@ function WorkflowJobTemplatesList({ nodeResource = null, onUpdateNodeResource })
);
}
-WorkflowJobTemplatesList.propTypes = {
- nodeResource: shape(),
- onUpdateNodeResource: func.isRequired,
-};
-
export default WorkflowJobTemplatesList;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/UnsavedChangesModal.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/UnsavedChangesModal.js
index 7b2712c28..96816c8ce 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/UnsavedChangesModal.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/UnsavedChangesModal.js
@@ -2,7 +2,6 @@ import React, { useContext } from 'react';
import { Button, Modal } from '@patternfly/react-core';
import { Trans, useLingui } from '@lingui/react/macro';
-import { func } from 'prop-types';
import { WorkflowDispatchContext } from 'contexts/Workflow';
function UnsavedChangesModal({ onSaveAndExit, onExit }) {
@@ -48,9 +47,4 @@ function UnsavedChangesModal({ onSaveAndExit, onExit }) {
);
}
-UnsavedChangesModal.propTypes = {
- onExit: func.isRequired,
- onSaveAndExit: func.isRequired,
-};
-
export default UnsavedChangesModal;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js
index d57ef5c0a..c5a196f2c 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js
@@ -1,7 +1,6 @@
import React, { useCallback, useEffect, useReducer } from 'react';
import { useNavigate } from 'react-router-dom-v5-compat';
import styled from 'styled-components';
-import { shape } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
@@ -715,8 +714,4 @@ function Visualizer({ template }) {
);
}
-Visualizer.propTypes = {
- template: shape().isRequired,
-};
-
export default Visualizer;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.js
index ba29554f3..0faf28fd9 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.js
@@ -1,7 +1,6 @@
import React, { useContext, useEffect, useRef, useState } from 'react';
import { useLingui } from '@lingui/react/macro';
import styled from 'styled-components';
-import { bool } from 'prop-types';
import * as d3 from 'd3';
import {
WorkflowDispatchContext,
@@ -317,7 +316,4 @@ function VisualizerGraph({ readOnly }) {
>
);
}
-VisualizerGraph.propTypes = {
- readOnly: bool.isRequired,
-};
export default VisualizerGraph;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.js
index 72722888d..fa3c0a5a0 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.js
@@ -2,7 +2,6 @@ import React, { useContext, useEffect, useRef, useState } from 'react';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
-import { bool, func, shape } from 'prop-types';
import { PencilAltIcon, PlusIcon, TrashAltIcon } from '@patternfly/react-icons';
import {
WorkflowDispatchContext,
@@ -151,11 +150,4 @@ function VisualizerLink({ link, updateLinkHelp, readOnly, updateHelpText }) {
);
}
-VisualizerLink.propTypes = {
- link: shape().isRequired,
- readOnly: bool.isRequired,
- updateHelpText: func.isRequired,
- updateLinkHelp: func.isRequired,
-};
-
export default VisualizerLink;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.js
index b01d6689e..34c17a7eb 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.js
@@ -1,7 +1,6 @@
import React, { useContext, useRef, useState } from 'react';
import styled from 'styled-components';
import { useLingui } from '@lingui/react/macro';
-import { bool, func, shape } from 'prop-types';
import {
InfoIcon,
LinkIcon,
@@ -387,12 +386,4 @@ function VisualizerNode({
);
}
-VisualizerNode.propTypes = {
- node: shape().isRequired,
- onMouseOver: func,
- readOnly: bool.isRequired,
- updateHelpText: func.isRequired,
- updateNodeHelp: func.isRequired,
-};
-
export default VisualizerNode;
diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerToolbar.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerToolbar.js
index 2bdd0880a..d916c8304 100644
--- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerToolbar.js
+++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerToolbar.js
@@ -1,7 +1,6 @@
import React, { useContext } from 'react';
import { useLingui } from '@lingui/react/macro';
-import { bool, func, shape } from 'prop-types';
import {
Badge as PFBadge,
Button,
@@ -188,12 +187,4 @@ function VisualizerToolbar({
);
}
-VisualizerToolbar.propTypes = {
- onClose: func.isRequired,
- onSave: func.isRequired,
- template: shape().isRequired,
- hasUnsavedChanges: bool.isRequired,
- readOnly: bool.isRequired,
-};
-
export default VisualizerToolbar;
diff --git a/awx/ui/src/screens/Template/shared/JobTemplateForm.js b/awx/ui/src/screens/Template/shared/JobTemplateForm.js
index 384d8b49b..beba0ed1f 100644
--- a/awx/ui/src/screens/Template/shared/JobTemplateForm.js
+++ b/awx/ui/src/screens/Template/shared/JobTemplateForm.js
@@ -1,5 +1,4 @@
import React, { useState, useEffect, useCallback } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { withFormik, useField } from 'formik';
@@ -31,7 +30,6 @@ import {
} from 'components/FormLayout';
import { VariablesField } from 'components/CodeEditor';
import { required, combine, maxLength } from 'util/validators';
-import { JobTemplate } from 'types';
import {
InventoryLookup,
InstanceGroupsLookup,
@@ -681,13 +679,6 @@ function JobTemplateForm({
);
}
-JobTemplateForm.propTypes = {
- template: JobTemplate,
- handleCancel: PropTypes.func.isRequired,
- handleSubmit: PropTypes.func.isRequired,
- submitError: PropTypes.shape({}),
- isOverrideDisabledLookup: PropTypes.bool,
-};
const FormikApp = withFormik({
mapPropsToValues({ resourceValues = null, template = {} }) {
diff --git a/awx/ui/src/screens/Template/shared/PlaybookSelect.js b/awx/ui/src/screens/Template/shared/PlaybookSelect.js
index 2bb55794d..561420ce1 100644
--- a/awx/ui/src/screens/Template/shared/PlaybookSelect.js
+++ b/awx/ui/src/screens/Template/shared/PlaybookSelect.js
@@ -1,5 +1,4 @@
import React, { useCallback, useEffect, useState } from 'react';
-import { func, number, string, oneOfType } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { SelectVariant, Select, SelectOption } from '@patternfly/react-core';
@@ -81,9 +80,5 @@ function PlaybookSelect({
);
}
-PlaybookSelect.propTypes = {
- projectId: oneOfType([number, string]),
- onChange: func,
-};
export { PlaybookSelect as _PlaybookSelect };
export default PlaybookSelect;
diff --git a/awx/ui/src/screens/Template/shared/WorkflowJobTemplateForm.js b/awx/ui/src/screens/Template/shared/WorkflowJobTemplateForm.js
index 4f7221101..a10550687 100644
--- a/awx/ui/src/screens/Template/shared/WorkflowJobTemplateForm.js
+++ b/awx/ui/src/screens/Template/shared/WorkflowJobTemplateForm.js
@@ -1,6 +1,5 @@
import React, { useCallback, useEffect, useState } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes, { shape } from 'prop-types';
import { useField, useFormikContext, withFormik } from 'formik';
import {
Form,
@@ -25,7 +24,6 @@ import FormActionGroup from 'components/FormActionGroup';
import ContentError from 'components/ContentError';
import CheckboxField from 'components/FormField/CheckboxField';
import Popover from 'components/Popover';
-import { WorkFlowJobTemplate } from 'types';
import LabelSelect from 'components/LabelSelect';
import { TagMultiSelect } from 'components/MultiSelect';
import WebhookSubForm from './WebhookSubForm';
@@ -288,15 +286,6 @@ function WorkflowJobTemplateForm({
);
}
-WorkflowJobTemplateForm.propTypes = {
- template: WorkFlowJobTemplate,
- handleSubmit: PropTypes.func.isRequired,
- handleCancel: PropTypes.func.isRequired,
- submitError: shape({}),
- isOrgAdmin: PropTypes.bool,
- isInventoryDisabled: PropTypes.bool,
-};
-
const FormikApp = withFormik({
mapPropsToValues({ template = {} }) {
return {
diff --git a/awx/ui/src/screens/TopologyView/Header.js b/awx/ui/src/screens/TopologyView/Header.js
index 524667062..eb1d4cec9 100644
--- a/awx/ui/src/screens/TopologyView/Header.js
+++ b/awx/ui/src/screens/TopologyView/Header.js
@@ -1,5 +1,4 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import {
@@ -125,8 +124,4 @@ const Header = ({
);
};
-Header.propTypes = {
- title: PropTypes.string.isRequired,
-};
-
export default Header;
diff --git a/awx/ui/src/screens/User/UserList/UserListItem.js b/awx/ui/src/screens/User/UserList/UserListItem.js
index e7c883bfd..e70017cd8 100644
--- a/awx/ui/src/screens/User/UserList/UserListItem.js
+++ b/awx/ui/src/screens/User/UserList/UserListItem.js
@@ -1,5 +1,4 @@
import React from 'react';
-import { string, bool, func } from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Button, Label } from '@patternfly/react-core';
@@ -8,8 +7,6 @@ import { Link } from 'react-router-dom';
import { PencilAltIcon } from '@patternfly/react-icons';
import { ActionsTd, ActionItem, TdBreakWord } from 'components/PaginatedTable';
-import { User } from 'types';
-
function UserListItem({ user, isSelected, onSelect, detailUrl, rowIndex }) {
const { t } = useLingui();
const labelId = `check-action-${user.id}`;
@@ -79,11 +76,4 @@ function UserListItem({ user, isSelected, onSelect, detailUrl, rowIndex }) {
);
}
-UserListItem.prototype = {
- user: User.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default UserListItem;
diff --git a/awx/ui/src/screens/User/UserTeams/UserTeamListItem.js b/awx/ui/src/screens/User/UserTeams/UserTeamListItem.js
index 7889ba39f..e28c35c61 100644
--- a/awx/ui/src/screens/User/UserTeams/UserTeamListItem.js
+++ b/awx/ui/src/screens/User/UserTeams/UserTeamListItem.js
@@ -1,9 +1,7 @@
import React from 'react';
-import { bool, func } from 'prop-types';
import { Link } from 'react-router-dom';
import { useLingui } from '@lingui/react/macro';
import { Tr, Td } from '@patternfly/react-table';
-import { Team } from 'types';
function UserTeamListItem({ team, isSelected, onSelect, rowIndex }) {
const { t } = useLingui();
@@ -35,10 +33,4 @@ function UserTeamListItem({ team, isSelected, onSelect, rowIndex }) {
);
}
-UserTeamListItem.prototype = {
- team: Team.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default UserTeamListItem;
diff --git a/awx/ui/src/screens/User/shared/UserForm.js b/awx/ui/src/screens/User/shared/UserForm.js
index 7b8462977..c20a35c89 100644
--- a/awx/ui/src/screens/User/shared/UserForm.js
+++ b/awx/ui/src/screens/User/shared/UserForm.js
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
-import PropTypes from 'prop-types';
import { useLingui } from '@lingui/react/macro';
import { Formik, useField, useFormikContext } from 'formik';
import { Form, FormGroup } from '@patternfly/react-core';
@@ -228,10 +227,4 @@ function UserForm({ user = {}, handleCancel, handleSubmit, submitError }) {
);
}
-UserForm.propTypes = {
- handleCancel: PropTypes.func.isRequired,
- handleSubmit: PropTypes.func.isRequired,
- user: PropTypes.shape({}),
-};
-
export default UserForm;
diff --git a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListApproveButton.js b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListApproveButton.js
index d0daad94c..c30f85dab 100644
--- a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListApproveButton.js
+++ b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListApproveButton.js
@@ -1,10 +1,8 @@
import React, { useContext } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import { KebabifiedContext } from 'contexts/Kebabified';
-import { WorkflowApproval } from 'types';
function cannotApprove(item) {
return !item.can_approve_or_deny;
@@ -65,9 +63,4 @@ function WorkflowApprovalListApproveButton({ onApprove, selectedItems = [] }) {
);
}
-WorkflowApprovalListApproveButton.propTypes = {
- onApprove: PropTypes.func.isRequired,
- selectedItems: PropTypes.arrayOf(WorkflowApproval),
-};
-
export default WorkflowApprovalListApproveButton;
diff --git a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListDenyButton.js b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListDenyButton.js
index 5f7684a3d..611aee07e 100644
--- a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListDenyButton.js
+++ b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListDenyButton.js
@@ -1,9 +1,7 @@
import React, { useContext } from 'react';
import { useLingui } from '@lingui/react/macro';
-import PropTypes from 'prop-types';
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
import { KebabifiedContext } from 'contexts/Kebabified';
-import { WorkflowApproval } from 'types';
function cannotDeny(item) {
return !item.can_approve_or_deny;
@@ -64,9 +62,4 @@ function WorkflowApprovalListDenyButton({ onDeny, selectedItems = [] }) {
);
}
-WorkflowApprovalListDenyButton.propTypes = {
- onDeny: PropTypes.func.isRequired,
- selectedItems: PropTypes.arrayOf(WorkflowApproval),
-};
-
export default WorkflowApprovalListDenyButton;
diff --git a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.js b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.js
index eacfa27ea..d80532a14 100644
--- a/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.js
+++ b/awx/ui/src/screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.js
@@ -1,10 +1,8 @@
import React from 'react';
import { useLingui } from '@lingui/react/macro';
import useToast, { AlertVariant } from 'hooks/useToast';
-import { string, bool, func } from 'prop-types';
import { Tr, Td } from '@patternfly/react-table';
import { Link } from 'react-router-dom';
-import { WorkflowApproval } from 'types';
import { formatDateString } from 'util/dates';
import StatusLabel from 'components/StatusLabel';
import JobCancelButton from 'components/JobCancelButton';
@@ -137,11 +135,4 @@ function WorkflowApprovalListItem({
);
}
-WorkflowApprovalListItem.propTypes = {
- workflowApproval: WorkflowApproval.isRequired,
- detailUrl: string.isRequired,
- isSelected: bool.isRequired,
- onSelect: func.isRequired,
-};
-
export default WorkflowApprovalListItem;
diff --git a/awx/ui/src/types.js b/awx/ui/src/types.js
deleted file mode 100644
index 0a097e3e3..000000000
--- a/awx/ui/src/types.js
+++ /dev/null
@@ -1,448 +0,0 @@
-import {
- shape,
- exact,
- arrayOf,
- number,
- string,
- bool,
- objectOf,
- oneOf,
- oneOfType,
-} from 'prop-types';
-import { AlertVariant } from '@patternfly/react-core';
-
-export const Role = shape({
- descendent_roles: arrayOf(string),
- role: shape({
- id: number.isRequired,
- name: string.isRequired,
- description: string,
- user_capabilities: shape({
- unattach: bool,
- }).isRequired,
- }),
-});
-
-export const AccessRecord = shape({
- id: number.isRequired,
- username: string.isRequired,
- url: string.isRequired,
- email: string,
- first_name: string,
- last_name: string,
- is_superuser: bool,
- is_system_auditor: bool,
- created: string,
- last_login: string,
- ldap_dn: string,
- related: shape({}),
- summary_fields: shape({
- direct_access: arrayOf(Role).isRequired,
- indirect_access: arrayOf(Role).isRequired,
- }).isRequired,
- type: string,
-});
-
-export const Application = shape({
- id: number.isRequired,
- name: string.isRequired,
- organization: number,
- summary_fields: shape({
- organization: shape({
- id: number.isRequired,
- name: string.isRequired,
- }),
- }),
-});
-
-export const Organization = shape({
- id: number.isRequired,
- name: string.isRequired,
- description: string,
- max_hosts: number,
- related: shape(),
- summary_fields: shape({
- object_roles: shape(),
- }),
- type: string,
- url: string,
- created: string,
- modified: string,
-});
-
-export const QSConfig = shape({
- defaultParams: shape().isRequired,
- namespace: string,
- integerFields: arrayOf(string).isRequired,
-});
-
-export const JobTemplate = shape({
- name: string.isRequired,
- description: string,
- inventory: number,
- job_type: oneOf(['run', 'check']),
- playbook: string,
- project: number,
- scm_branch: string,
-});
-
-export const WorkFlowJobTemplate = shape({
- name: string.isRequired,
- description: string,
- inventory: number,
-});
-
-export const Inventory = shape({
- id: number.isRequired,
- name: string,
- description: string,
- groups_with_active_failures: number,
- has_active_failures: bool,
- has_inventory_sources: bool,
- hosts_with_active_failures: number,
- inventory_sources_with_failures: number,
- kind: string,
- organization_id: number,
- total_groups: number,
- total_hosts: number,
- total_inventory_sources: number,
-});
-
-export const InventoryScript = shape({
- description: string,
- id: number.isRequired,
- name: string,
-});
-
-export const InstanceGroup = shape({
- id: number.isRequired,
- name: string.isRequired,
-});
-
-export const Instance = shape({
- id: number.isRequired,
- hostname: string.isRequired,
-});
-
-export const Label = shape({
- id: number.isRequired,
- name: string.isRequired,
-});
-
-export const Credential = shape({
- id: number.isRequired,
- name: string.isRequired,
- cloud: bool,
- kind: string,
-});
-
-export const Project = shape({
- id: number.isRequired,
- type: oneOf(['project']),
- url: string,
- related: shape(),
- summary_fields: shape({
- organization: Organization,
- credential: Credential,
- signature_validation_credential: Credential,
- last_job: shape({}),
- last_update: shape({}),
- created_by: shape({}),
- modified_by: shape({}),
- object_roles: shape({}),
- user_capabilities: objectOf(bool),
- }),
- created: string,
- name: string.isRequired,
- description: string,
- scm_type: oneOf(['', 'git', 'svn', 'archive', 'insights']),
- scm_url: string,
- scm_branch: string,
- scm_refspec: string,
- scm_clean: bool,
- scm_delete_on_update: bool,
- scm_track_submodules: bool,
- credential: number,
- signature_validation_credential: number,
- status: oneOf([
- 'new',
- 'pending',
- 'waiting',
- 'running',
- 'successful',
- 'failed',
- 'error',
- 'canceled',
- 'never updated',
- 'ok',
- 'missing',
- ]),
- organization: number,
- scm_update_on_launch: bool,
- scm_update_cache_timeout: number,
- allow_override: bool,
-});
-
-export const Job = shape({
- status: string,
- started: string,
- finished: string,
- job_type: string,
- summary_fields: shape({
- job_template: JobTemplate,
- project: Project,
- inventory: Inventory,
- instance_group: InstanceGroup,
- credentials: arrayOf(Credential),
- labels: shape({
- count: number,
- results: arrayOf(Label),
- }),
- }),
- scm_revision: string,
- limit: oneOfType([number, string]),
- verbosity: number,
- execution_mode: string,
- job_slice_number: number,
- job_slice_count: number,
- extra_vars: string,
- artifacts: shape({}),
-});
-
-export const Host = shape({
- id: number.isRequired,
- type: oneOf(['host']),
- url: string,
- related: shape(),
- summary_fields: shape({
- inventory: Inventory,
- last_job: Job,
- last_job_host_summary: shape({}),
- created_by: shape({}),
- modified_by: shape({}),
- user_capabilities: objectOf(bool),
- groups: shape({}),
- recent_jobs: arrayOf(Job),
- }),
- created: string,
- modified: string,
- name: string.isRequired,
- description: string,
- inventory: number.isRequired,
- enabled: bool,
- instance_id: string,
- variables: string,
- last_job: number,
- last_job_host_summary: number,
-});
-
-export const Team = shape({
- id: number.isRequired,
- name: string.isRequired,
- organization: number,
-});
-
-export const Token = shape({
- id: number.isRequired,
- expires: string.isRequired,
- summary_fields: shape({}),
- scope: string.isRequired,
-});
-
-export const User = shape({
- id: number.isRequired,
- type: oneOf(['user']),
- url: string,
- related: shape(),
- summary_fields: shape({
- user_capabilities: objectOf(bool),
- }),
- created: string,
- username: string,
- first_name: string,
- last_name: string,
- email: string,
- is_superuser: bool,
- is_system_auditor: bool,
- ldap_dn: string,
- last_login: string,
-});
-
-// stripped-down User object found in summary_fields (e.g. modified_by)
-export const SummaryFieldUser = shape({
- id: number.isRequired,
- username: string.isRequired,
- first_name: string,
- last_name: string,
-});
-
-export const Group = shape({
- id: number.isRequired,
- type: oneOf(['group']),
- url: string,
- related: shape({}),
- summary_fields: shape({}),
- created: string,
- modified: string,
- name: string.isRequired,
- description: string,
- inventory: number,
- variables: string,
-});
-
-export const SearchColumns = arrayOf(
- exact({
- name: string.isRequired,
- key: string.isRequired,
- isDefault: bool,
- isBoolean: bool,
- booleanLabels: shape({
- true: string.isRequired,
- false: string.isRequired,
- }),
- options: arrayOf(arrayOf(string, string)),
- })
-);
-
-export const SortColumns = arrayOf(
- exact({
- name: string.isRequired,
- key: string.isRequired,
- })
-);
-
-export const Schedule = shape({
- rrule: string.isRequired,
- id: number.isRequired,
- type: string,
- url: string,
- related: shape({}),
- summary_fields: shape({}),
- created: string,
- modified: string,
- name: string.isRequired,
- description: string,
- extra_data: oneOfType([string, shape({})]),
- inventory: number,
- scm_branch: string,
- job_type: string,
- job_tags: string,
- skip_tags: string,
- limit: string,
- diff_mode: bool,
- verbosity: number,
- unified_job_template: number,
- enabled: bool,
- dtstart: string,
- dtend: string,
- next_run: string,
- timezone: string,
- until: string,
-});
-
-export const SurveyQuestion = shape({
- question_name: string,
- question_description: string,
- required: bool,
- type: string,
- variable: string,
- min: number,
- max: number,
- default: string,
- choices: oneOfType([string, arrayOf(string)]),
-});
-
-export const Survey = shape({
- name: string,
- description: string,
- spec: arrayOf(SurveyQuestion),
-});
-
-export const CredentialType = shape({
- id: number.isRequired,
- type: string.isRequired,
- url: string.isRequired,
- related: shape({}),
- summary_fields: shape({}),
- name: string.isRequired,
- description: string,
- kind: string.isRequired,
- namespace: string,
- inputs: shape({}).isRequired,
-});
-
-export const NotificationType = oneOf([
- 'email',
- 'grafana',
- 'irc',
- 'mattermost',
- 'pagerduty',
- 'rocketchat',
- 'slack',
- 'twilio',
- 'webhook',
-]);
-
-export const NotificationTemplate = shape({
- id: number.isRequired,
- name: string.isRequired,
- description: string,
- url: string.isRequired,
- organization: number.isRequired,
- notification_type: NotificationType,
- summary_fields: shape({
- organization: Organization,
- }),
-});
-
-export const WorkflowApproval = shape({
- id: number.isRequired,
- name: string.isRequired,
- description: string,
- url: string.isRequired,
- failed: bool,
- started: string,
- finished: string,
- canceled_on: string,
- elapsed: number,
- job_explanation: string,
- can_approve_or_deny: bool,
- approval_expiration: string,
- timed_out: bool,
-});
-
-export const ExecutionEnvironment = shape({
- id: number.isRequired,
- name: string,
- organization: number,
- credential: number,
- image: string,
- url: string,
- summary_fields: shape({}),
- description: string,
- pull: string,
-});
-
-export const SearchableKeys = arrayOf(
- shape({
- key: string.isRequired,
- type: string.isRequired,
- })
-);
-
-export const Toast = shape({
- title: string.isRequired,
- variant: oneOf(Object.values(AlertVariant)).isRequired,
- id: oneOfType([string, number]).isRequired,
- hasTimeout: bool,
- message: string,
-});
-
-export const HostMetrics = shape({
- hostname: string.isRequired,
- first_automation: string.isRequired,
- last_automation: string.isRequired,
- automated_counter: number.isRequired,
- used_in_inventories: number,
- deleted_counter: number,
-});
diff --git a/licenses/ui/prop-types.txt b/licenses/ui/prop-types.txt
deleted file mode 100644
index 188fb2b0b..000000000
--- a/licenses/ui/prop-types.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2013-present, Facebook, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.