From 6d71997b510cbc09d81ad74716b71c121db1cecc Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Mon, 19 Jul 2021 12:31:36 -0400 Subject: [PATCH] Relocate hooks to hooks directory mkdir awx/ui_next/src/hooks mv awx/ui_next/src/util/use* awx/ui_next/src/hooks/ find ./awx/ui_next/src -type f -exec sed -i -e 's/util\/use/hooks\/use/g' {} \; find ./awx/ui_next/src/hooks -type f -exec sed -i -e 's/from \x27\.\//from \x27util\//g' {} \; find ./awx/ui_next/src/hooks -type f -exec sed -i -e 's/from \x27util\/use/from \x27\.\/use/g' {} \; npm --prefix=awx/ui_next run lint -- --fix npm --prefix=awx/ui_next run prettier --- awx/ui_next/CONTRIBUTING.md | 1 + awx/ui_next/src/components/About/About.js | 2 +- awx/ui_next/src/components/About/About.test.js | 2 +- awx/ui_next/src/components/AdHocCommands/AdHocCommands.js | 2 +- .../src/components/AdHocCommands/AdHocCredentialStep.js | 2 +- .../src/components/AdHocCommands/AdHocDetailsStep.js | 2 +- .../AdHocCommands/AdHocExecutionEnvironmentStep.js | 2 +- awx/ui_next/src/components/AddRole/SelectResourceStep.js | 2 +- .../src/components/AppContainer/PageHeaderToolbar.js | 2 +- .../components/AppContainer/useWsPendingApprovalCount.js | 4 ++-- .../AppContainer/useWsPendingApprovalCount.test.js | 2 +- .../src/components/AssociateModal/AssociateModal.js | 4 ++-- awx/ui_next/src/components/CopyButton/CopyButton.js | 2 +- awx/ui_next/src/components/HostToggle/HostToggle.js | 2 +- .../src/components/InstanceToggle/InstanceToggle.js | 2 +- .../src/components/JobCancelButton/JobCancelButton.js | 2 +- awx/ui_next/src/components/JobList/JobList.js | 6 +++--- awx/ui_next/src/components/JobList/useWsJobs.js | 4 ++-- awx/ui_next/src/components/JobList/useWsJobs.test.js | 2 +- awx/ui_next/src/components/LaunchPrompt/LaunchPrompt.js | 2 +- .../src/components/LaunchPrompt/steps/CredentialsStep.js | 2 +- .../src/components/LaunchPrompt/steps/InventoryStep.js | 2 +- awx/ui_next/src/components/Lookup/ApplicationLookup.js | 2 +- awx/ui_next/src/components/Lookup/CredentialLookup.js | 4 ++-- .../src/components/Lookup/ExecutionEnvironmentLookup.js | 2 +- awx/ui_next/src/components/Lookup/HostFilterLookup.js | 2 +- awx/ui_next/src/components/Lookup/InstanceGroupsLookup.js | 2 +- awx/ui_next/src/components/Lookup/InventoryLookup.js | 2 +- awx/ui_next/src/components/Lookup/Lookup.js | 2 +- .../src/components/Lookup/MultiCredentialsLookup.js | 4 ++-- awx/ui_next/src/components/Lookup/OrganizationLookup.js | 4 ++-- awx/ui_next/src/components/Lookup/ProjectLookup.js | 4 ++-- .../src/components/MultiSelect/useSyncedSelectValue.js | 2 +- .../src/components/NotificationList/NotificationList.js | 2 +- .../components/ResourceAccessList/ResourceAccessList.js | 2 +- awx/ui_next/src/components/Schedule/Schedule.js | 2 +- .../components/Schedule/ScheduleDetail/ScheduleDetail.js | 2 +- .../src/components/Schedule/ScheduleList/ScheduleList.js | 4 ++-- .../components/Schedule/ScheduleToggle/ScheduleToggle.js | 2 +- .../src/components/Schedule/shared/ScheduleForm.js | 2 +- .../Schedule/shared/SchedulePromptableFields.js | 2 +- awx/ui_next/src/components/TemplateList/TemplateList.js | 8 ++++---- .../UserAndTeamAccessAdd/UserAndTeamAccessAdd.js | 4 ++-- awx/ui_next/src/contexts/Config.js | 2 +- awx/ui_next/src/{util => hooks}/useAutoPopulateLookup.js | 0 awx/ui_next/src/{util => hooks}/useBrandName.js | 0 awx/ui_next/src/{util => hooks}/useDebounce.js | 0 awx/ui_next/src/{util => hooks}/useDebounce.test.js | 0 awx/ui_next/src/{util => hooks}/useExpanded.js | 0 awx/ui_next/src/{util => hooks}/useExpanded.test.js | 0 awx/ui_next/src/{util => hooks}/useInterval.js | 0 awx/ui_next/src/{util => hooks}/useIsMounted.js | 0 awx/ui_next/src/{util => hooks}/useModal.js | 0 awx/ui_next/src/{util => hooks}/useModal.test.js | 0 awx/ui_next/src/{util => hooks}/useRequest.js | 2 +- awx/ui_next/src/{util => hooks}/useRequest.test.js | 0 awx/ui_next/src/{util => hooks}/useSelected.js | 0 awx/ui_next/src/{util => hooks}/useSelected.test.js | 0 awx/ui_next/src/{util => hooks}/useThrottle.js | 0 awx/ui_next/src/{util => hooks}/useWebsocket.js | 0 awx/ui_next/src/{util => hooks}/useWsTemplates.js | 0 awx/ui_next/src/{util => hooks}/useWsTemplates.test.js | 0 awx/ui_next/src/screens/ActivityStream/ActivityStream.js | 2 +- .../src/screens/Application/Application/Application.js | 2 +- .../screens/Application/ApplicationAdd/ApplicationAdd.js | 2 +- .../Application/ApplicationDetails/ApplicationDetails.js | 2 +- .../Application/ApplicationTokens/ApplicationTokenList.js | 4 ++-- .../Application/ApplicationsList/ApplicationsList.js | 4 ++-- awx/ui_next/src/screens/Credential/Credential.js | 2 +- .../src/screens/Credential/CredentialAdd/CredentialAdd.js | 2 +- .../Credential/CredentialDetail/CredentialDetail.js | 2 +- .../screens/Credential/CredentialEdit/CredentialEdit.js | 2 +- .../screens/Credential/CredentialList/CredentialList.js | 4 ++-- .../CredentialPluginPrompt/CredentialPluginPrompt.js | 2 +- .../CredentialPluginPrompt/CredentialsStep.js | 2 +- .../CredentialPluginPrompt/MetadataStep.js | 2 +- .../src/screens/Credential/shared/ExternalTestModal.js | 2 +- awx/ui_next/src/screens/CredentialType/CredentialType.js | 2 +- .../CredentialTypeDetails/CredentialTypeDetails.js | 2 +- .../CredentialTypeList/CredentialTypeList.js | 4 ++-- awx/ui_next/src/screens/Dashboard/Dashboard.js | 2 +- awx/ui_next/src/screens/Dashboard/DashboardGraph.js | 2 +- .../screens/ExecutionEnvironment/ExecutionEnvironment.js | 2 +- .../ExecutionEnvironmentDetails.js | 2 +- .../ExecutionEnvironmentList/ExecutionEnvironmentList.js | 4 ++-- .../ExecutionEnvironmentTemplateList.js | 2 +- .../shared/ExecutionEnvironmentForm.js | 2 +- awx/ui_next/src/screens/Host/Host.js | 2 +- awx/ui_next/src/screens/Host/HostFacts/HostFacts.js | 2 +- awx/ui_next/src/screens/Host/HostGroups/HostGroupsList.js | 4 ++-- awx/ui_next/src/screens/Host/HostList/HostList.js | 4 ++-- awx/ui_next/src/screens/InstanceGroup/ContainerGroup.js | 2 +- .../InstanceGroup/ContainerGroupAdd/ContainerGroupAdd.js | 2 +- .../ContainerGroupDetails/ContainerGroupDetails.js | 2 +- .../ContainerGroupEdit/ContainerGroupEdit.js | 2 +- awx/ui_next/src/screens/InstanceGroup/InstanceGroup.js | 2 +- .../InstanceGroupDetails/InstanceGroupDetails.js | 2 +- .../InstanceGroup/InstanceGroupList/InstanceGroupList.js | 4 ++-- awx/ui_next/src/screens/InstanceGroup/InstanceGroups.js | 2 +- .../src/screens/InstanceGroup/Instances/InstanceList.js | 4 ++-- .../screens/InstanceGroup/Instances/InstanceListItem.js | 4 ++-- .../InstanceGroup/Instances/InstanceListItem.test.js | 4 ++-- .../screens/Inventory/InventoryDetail/InventoryDetail.js | 2 +- .../src/screens/Inventory/InventoryEdit/InventoryEdit.js | 2 +- .../InventoryGroupHosts/InventoryGroupHostList.js | 4 ++-- .../Inventory/InventoryGroups/InventoryGroupsList.js | 4 ++-- .../src/screens/Inventory/InventoryHost/InventoryHost.js | 2 +- .../Inventory/InventoryHostFacts/InventoryHostFacts.js | 2 +- .../InventoryHostGroups/InventoryHostGroupsList.js | 4 ++-- .../screens/Inventory/InventoryHosts/InventoryHostList.js | 4 ++-- .../src/screens/Inventory/InventoryList/InventoryList.js | 4 ++-- .../screens/Inventory/InventoryList/useWsInventories.js | 4 ++-- .../Inventory/InventoryList/useWsInventories.test.js | 2 +- .../InventoryRelatedGroups/InventoryRelatedGroupList.js | 4 ++-- .../screens/Inventory/InventorySource/InventorySource.js | 2 +- .../Inventory/InventorySourceAdd/InventorySourceAdd.js | 2 +- .../InventorySourceDetail/InventorySourceDetail.js | 4 ++-- .../Inventory/InventorySourceEdit/InventorySourceEdit.js | 2 +- .../Inventory/InventorySources/InventorySourceList.js | 4 ++-- .../Inventory/InventorySources/useWsInventorySources.js | 2 +- .../InventorySources/useWsInventorySources.test.js | 2 +- awx/ui_next/src/screens/Inventory/SmartInventory.js | 2 +- .../Inventory/SmartInventoryAdd/SmartInventoryAdd.js | 2 +- .../SmartInventoryDetail/SmartInventoryDetail.js | 2 +- .../Inventory/SmartInventoryEdit/SmartInventoryEdit.js | 2 +- .../Inventory/SmartInventoryHost/SmartInventoryHost.js | 2 +- .../SmartInventoryHosts/SmartInventoryHostList.js | 4 ++-- .../src/screens/Inventory/shared/InventorySourceForm.js | 2 +- .../shared/InventorySourceSubForms/SCMSubForm.js | 2 +- .../screens/Inventory/shared/InventorySourceSyncButton.js | 2 +- .../src/screens/Inventory/shared/SmartInventoryForm.js | 2 +- awx/ui_next/src/screens/Job/Job.js | 2 +- awx/ui_next/src/screens/Job/JobOutput/JobOutput.js | 6 +++--- awx/ui_next/src/screens/Job/JobTypeRedirect.js | 2 +- .../src/screens/Job/WorkflowOutput/useWsWorkflowOutput.js | 2 +- awx/ui_next/src/screens/Job/useWsJob.js | 2 +- awx/ui_next/src/screens/Login/Login.js | 2 +- awx/ui_next/src/screens/ManagementJob/ManagementJob.js | 2 +- .../ManagementJob/ManagementJobList/ManagementJobList.js | 2 +- awx/ui_next/src/screens/Metrics/Metrics.js | 2 +- .../screens/NotificationTemplate/NotificationTemplate.js | 2 +- .../NotificationTemplate/NotificationTemplateAdd.js | 2 +- .../NotificationTemplateDetail.js | 2 +- .../NotificationTemplateList/NotificationTemplateList.js | 4 ++-- .../NotificationTemplateListItem.js | 2 +- awx/ui_next/src/screens/Organization/Organization.js | 2 +- .../Organization/OrganizationAdd/OrganizationAdd.js | 2 +- .../Organization/OrganizationDetail/OrganizationDetail.js | 2 +- .../OrganizationExecEnvList/OrganizationExecEnvList.js | 2 +- .../Organization/OrganizationList/OrganizationList.js | 4 ++-- .../OrganizationTeams/OrganizationTeamList.js | 2 +- awx/ui_next/src/screens/Project/Project.js | 2 +- .../src/screens/Project/ProjectDetail/ProjectDetail.js | 2 +- .../src/screens/Project/ProjectDetail/useWsProject.js | 2 +- .../ProjectJobTemplatesList/ProjectJobTemplatesList.js | 4 ++-- .../src/screens/Project/ProjectList/ProjectList.js | 6 +++--- .../src/screens/Project/ProjectList/useWsProjects.js | 2 +- .../Project/shared/ProjectSubForms/ManualSubForm.js | 2 +- .../src/screens/Project/shared/ProjectSyncButton.js | 2 +- .../Setting/AzureAD/AzureADDetail/AzureADDetail.js | 2 +- .../screens/Setting/AzureAD/AzureADEdit/AzureADEdit.js | 4 ++-- .../screens/Setting/GitHub/GitHubDetail/GitHubDetail.js | 2 +- .../src/screens/Setting/GitHub/GitHubEdit/GitHubEdit.js | 4 ++-- .../GitHub/GitHubEnterpriseEdit/GitHubEnterpriseEdit.js | 4 ++-- .../GitHubEnterpriseOrgEdit/GitHubEnterpriseOrgEdit.js | 4 ++-- .../GitHubEnterpriseTeamEdit/GitHubEnterpriseTeamEdit.js | 4 ++-- .../screens/Setting/GitHub/GitHubOrgEdit/GitHubOrgEdit.js | 4 ++-- .../Setting/GitHub/GitHubTeamEdit/GitHubTeamEdit.js | 4 ++-- .../GoogleOAuth2/GoogleOAuth2Detail/GoogleOAuth2Detail.js | 2 +- .../GoogleOAuth2/GoogleOAuth2Edit/GoogleOAuth2Edit.js | 4 ++-- .../src/screens/Setting/Jobs/JobsDetail/JobsDetail.js | 2 +- awx/ui_next/src/screens/Setting/Jobs/JobsEdit/JobsEdit.js | 4 ++-- .../src/screens/Setting/LDAP/LDAPDetail/LDAPDetail.js | 2 +- awx/ui_next/src/screens/Setting/LDAP/LDAPEdit/LDAPEdit.js | 4 ++-- .../Setting/Logging/LoggingDetail/LoggingDetail.js | 2 +- .../screens/Setting/Logging/LoggingEdit/LoggingEdit.js | 4 ++-- .../MiscAuthenticationDetail/MiscAuthenticationDetail.js | 2 +- .../MiscAuthenticationEdit/MiscAuthenticationEdit.js | 4 ++-- .../MiscSystem/MiscSystemDetail/MiscSystemDetail.js | 2 +- .../Setting/MiscSystem/MiscSystemEdit/MiscSystemEdit.js | 4 ++-- .../screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.js | 2 +- .../src/screens/Setting/RADIUS/RADIUSEdit/RADIUSEdit.js | 4 ++-- .../src/screens/Setting/SAML/SAMLDetail/SAMLDetail.js | 2 +- awx/ui_next/src/screens/Setting/SAML/SAMLEdit/SAMLEdit.js | 4 ++-- awx/ui_next/src/screens/Setting/SettingList.js | 2 +- awx/ui_next/src/screens/Setting/Settings.js | 2 +- .../Subscription/SubscriptionEdit/SubscriptionEdit.js | 2 +- .../Subscription/SubscriptionEdit/SubscriptionModal.js | 4 ++-- .../Subscription/SubscriptionEdit/SubscriptionStep.js | 2 +- .../screens/Setting/TACACS/TACACSDetail/TACACSDetail.js | 2 +- .../src/screens/Setting/TACACS/TACACSEdit/TACACSEdit.js | 4 ++-- awx/ui_next/src/screens/Setting/UI/UIDetail/UIDetail.js | 2 +- awx/ui_next/src/screens/Setting/UI/UIEdit/UIEdit.js | 4 ++-- awx/ui_next/src/screens/Team/TeamDetail/TeamDetail.js | 2 +- awx/ui_next/src/screens/Team/TeamList/TeamList.js | 4 ++-- awx/ui_next/src/screens/Team/TeamRoles/TeamRolesList.js | 2 +- .../Template/JobTemplateDetail/JobTemplateDetail.js | 2 +- .../screens/Template/JobTemplateEdit/JobTemplateEdit.js | 2 +- .../Template/JobTemplateEdit/JobTemplateEdit.test.js | 4 ++-- awx/ui_next/src/screens/Template/Survey/SurveyList.js | 2 +- awx/ui_next/src/screens/Template/Template.js | 2 +- awx/ui_next/src/screens/Template/TemplateSurvey.js | 2 +- awx/ui_next/src/screens/Template/WorkflowJobTemplate.js | 2 +- .../WorkflowJobTemplateAdd/WorkflowJobTemplateAdd.js | 2 +- .../WorkflowJobTemplateDetail.js | 2 +- .../WorkflowJobTemplateEdit/WorkflowJobTemplateEdit.js | 2 +- .../WorkflowJobTemplateEdit.test.js | 4 ++-- .../Modals/NodeModals/NodeModal.js | 2 +- .../NodeModals/NodeTypeStep/InventorySourcesList.js | 2 +- .../Modals/NodeModals/NodeTypeStep/JobTemplatesList.js | 2 +- .../Modals/NodeModals/NodeTypeStep/ProjectsList.js | 2 +- .../NodeModals/NodeTypeStep/WorkflowJobTemplatesList.js | 2 +- .../Modals/NodeModals/NodeViewModal.js | 2 +- .../Template/WorkflowJobTemplateVisualizer/Visualizer.js | 2 +- .../src/screens/Template/shared/JobTemplateForm.js | 6 +++--- awx/ui_next/src/screens/Template/shared/LabelSelect.js | 2 +- awx/ui_next/src/screens/Template/shared/PlaybookSelect.js | 2 +- awx/ui_next/src/screens/Template/shared/WebhookSubForm.js | 2 +- awx/ui_next/src/screens/User/User.js | 2 +- awx/ui_next/src/screens/User/UserDetail/UserDetail.js | 2 +- awx/ui_next/src/screens/User/UserList/UserList.js | 4 ++-- .../User/UserOrganizations/UserOrganizationList.js | 2 +- awx/ui_next/src/screens/User/UserRoles/UserRolesList.js | 2 +- awx/ui_next/src/screens/User/UserTeams/UserTeamList.js | 4 ++-- awx/ui_next/src/screens/User/UserToken/UserToken.js | 2 +- awx/ui_next/src/screens/User/UserTokenAdd/UserTokenAdd.js | 2 +- .../src/screens/User/UserTokenDetail/UserTokenDetail.js | 2 +- .../src/screens/User/UserTokenList/UserTokenList.js | 4 ++-- .../src/screens/WorkflowApproval/WorkflowApproval.js | 2 +- .../WorkflowApprovalDetail/WorkflowApprovalDetail.js | 2 +- .../WorkflowApprovalList/WorkflowApprovalList.js | 4 ++-- .../WorkflowApprovalList/useWsWorkflowApprovals.js | 4 ++-- .../WorkflowApprovalList/useWsWorkflowApprovals.test.js | 2 +- 233 files changed, 286 insertions(+), 285 deletions(-) rename awx/ui_next/src/{util => hooks}/useAutoPopulateLookup.js (100%) rename awx/ui_next/src/{util => hooks}/useBrandName.js (100%) rename awx/ui_next/src/{util => hooks}/useDebounce.js (100%) rename awx/ui_next/src/{util => hooks}/useDebounce.test.js (100%) rename awx/ui_next/src/{util => hooks}/useExpanded.js (100%) rename awx/ui_next/src/{util => hooks}/useExpanded.test.js (100%) rename awx/ui_next/src/{util => hooks}/useInterval.js (100%) rename awx/ui_next/src/{util => hooks}/useIsMounted.js (100%) rename awx/ui_next/src/{util => hooks}/useModal.js (100%) rename awx/ui_next/src/{util => hooks}/useModal.test.js (100%) rename awx/ui_next/src/{util => hooks}/useRequest.js (98%) rename awx/ui_next/src/{util => hooks}/useRequest.test.js (100%) rename awx/ui_next/src/{util => hooks}/useSelected.js (100%) rename awx/ui_next/src/{util => hooks}/useSelected.test.js (100%) rename awx/ui_next/src/{util => hooks}/useThrottle.js (100%) rename awx/ui_next/src/{util => hooks}/useWebsocket.js (100%) rename awx/ui_next/src/{util => hooks}/useWsTemplates.js (100%) rename awx/ui_next/src/{util => hooks}/useWsTemplates.test.js (100%) diff --git a/awx/ui_next/CONTRIBUTING.md b/awx/ui_next/CONTRIBUTING.md index b5dd40d386..15aaa783fe 100644 --- a/awx/ui_next/CONTRIBUTING.md +++ b/awx/ui_next/CONTRIBUTING.md @@ -156,6 +156,7 @@ Inside these folders, the internal structure is: - **/api** - All classes used to interact with API's are found here. See [AWX REST API Interaction](#awx-rest-api-interaction) for more information. - **/components** - All generic components that are meant to be used in multiple contexts throughout awx. Things like buttons, tabs go here. - **/contexts** - Components which utilize react's context api. +- **/hooks** - Custom react [hooks](https://reactjs.org/docs/hooks-custom.html) - **/locales** - [Internationalization](#internationalization) config and source files. - **/screens** - Based on the various routes of awx. - **/shared** - Components that are meant to be used specifically by a particular route, but might be sharable across pages of that route. For example, a form component which is used on both add and edit screens. diff --git a/awx/ui_next/src/components/About/About.js b/awx/ui_next/src/components/About/About.js index f996fc7457..39842f0623 100644 --- a/awx/ui_next/src/components/About/About.js +++ b/awx/ui_next/src/components/About/About.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { t } from '@lingui/macro'; import { AboutModal } from '@patternfly/react-core'; -import useBrandName from 'util/useBrandName'; +import useBrandName from 'hooks/useBrandName'; function About({ version, isOpen, onClose }) { const brandName = useBrandName(); diff --git a/awx/ui_next/src/components/About/About.test.js b/awx/ui_next/src/components/About/About.test.js index d2cb8a4637..baf7392948 100644 --- a/awx/ui_next/src/components/About/About.test.js +++ b/awx/ui_next/src/components/About/About.test.js @@ -2,7 +2,7 @@ import React from 'react'; import { shallow } from 'enzyme'; import About from './About'; -jest.mock('../../util/useBrandName', () => ({ +jest.mock('../../hooks/useBrandName', () => ({ __esModule: true, default: () => ({ current: 'AWX', diff --git a/awx/ui_next/src/components/AdHocCommands/AdHocCommands.js b/awx/ui_next/src/components/AdHocCommands/AdHocCommands.js index 7104cfb6da..f3bddc6abf 100644 --- a/awx/ui_next/src/components/AdHocCommands/AdHocCommands.js +++ b/awx/ui_next/src/components/AdHocCommands/AdHocCommands.js @@ -5,7 +5,7 @@ import { t } from '@lingui/macro'; import PropTypes from 'prop-types'; import { Button, DropdownItem } from '@patternfly/react-core'; -import useRequest, { useDismissableError } from 'util/useRequest'; +import useRequest, { useDismissableError } from 'hooks/useRequest'; import { InventoriesAPI, CredentialTypesAPI } from 'api'; import { KebabifiedContext } from 'contexts/Kebabified'; diff --git a/awx/ui_next/src/components/AdHocCommands/AdHocCredentialStep.js b/awx/ui_next/src/components/AdHocCommands/AdHocCredentialStep.js index 7389e6a93d..94a8038b54 100644 --- a/awx/ui_next/src/components/AdHocCommands/AdHocCredentialStep.js +++ b/awx/ui_next/src/components/AdHocCommands/AdHocCredentialStep.js @@ -7,7 +7,7 @@ import { useField } from 'formik'; import { Form, FormGroup } from '@patternfly/react-core'; import { CredentialsAPI } from 'api'; import { getQSConfig, parseQueryString, mergeParams } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { required } from 'util/validators'; import Popover from '../Popover'; diff --git a/awx/ui_next/src/components/AdHocCommands/AdHocDetailsStep.js b/awx/ui_next/src/components/AdHocCommands/AdHocDetailsStep.js index 155f6c77a2..0b92e14d84 100644 --- a/awx/ui_next/src/components/AdHocCommands/AdHocDetailsStep.js +++ b/awx/ui_next/src/components/AdHocCommands/AdHocDetailsStep.js @@ -7,7 +7,7 @@ import { useField } from 'formik'; import { Form, FormGroup, Switch, Checkbox } from '@patternfly/react-core'; import styled from 'styled-components'; import { required } from 'util/validators'; -import useBrandName from 'util/useBrandName'; +import useBrandName from 'hooks/useBrandName'; import AnsibleSelect from '../AnsibleSelect'; import FormField from '../FormField'; import { VariablesField } from '../CodeEditor'; diff --git a/awx/ui_next/src/components/AdHocCommands/AdHocExecutionEnvironmentStep.js b/awx/ui_next/src/components/AdHocCommands/AdHocExecutionEnvironmentStep.js index d2d4e54029..6e75c618c4 100644 --- a/awx/ui_next/src/components/AdHocCommands/AdHocExecutionEnvironmentStep.js +++ b/awx/ui_next/src/components/AdHocCommands/AdHocExecutionEnvironmentStep.js @@ -6,7 +6,7 @@ import { Form, FormGroup } from '@patternfly/react-core'; import { ExecutionEnvironmentsAPI } from 'api'; import { parseQueryString, getQSConfig, mergeParams } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import Popover from '../Popover'; import ContentError from '../ContentError'; import ContentLoading from '../ContentLoading'; diff --git a/awx/ui_next/src/components/AddRole/SelectResourceStep.js b/awx/ui_next/src/components/AddRole/SelectResourceStep.js index dfaefeb16d..6121a7abae 100644 --- a/awx/ui_next/src/components/AddRole/SelectResourceStep.js +++ b/awx/ui_next/src/components/AddRole/SelectResourceStep.js @@ -2,7 +2,7 @@ import React, { Fragment, useCallback, useEffect } from 'react'; import PropTypes from 'prop-types'; import { withRouter, useLocation } from 'react-router-dom'; import { t } from '@lingui/macro'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { SearchColumns, SortColumns } from 'types'; import { getQSConfig, parseQueryString } from 'util/qs'; import DataListToolbar from '../DataListToolbar'; diff --git a/awx/ui_next/src/components/AppContainer/PageHeaderToolbar.js b/awx/ui_next/src/components/AppContainer/PageHeaderToolbar.js index 1682469ef0..487ec0f0c6 100644 --- a/awx/ui_next/src/components/AppContainer/PageHeaderToolbar.js +++ b/awx/ui_next/src/components/AppContainer/PageHeaderToolbar.js @@ -21,7 +21,7 @@ import { UserIcon, } from '@patternfly/react-icons'; import { WorkflowApprovalsAPI } from 'api'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import getDocsBaseUrl from 'util/getDocsBaseUrl'; import { useConfig } from 'contexts/Config'; import useWsPendingApprovalCount from './useWsPendingApprovalCount'; diff --git a/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.js b/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.js index 443a311823..da0f713ef4 100644 --- a/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.js +++ b/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.js @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react'; -import useWebsocket from 'util/useWebsocket'; -import useThrottle from 'util/useThrottle'; +import useWebsocket from 'hooks/useWebsocket'; +import useThrottle from 'hooks/useThrottle'; export default function useWsPendingApprovalCount( initialCount, diff --git a/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.test.js b/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.test.js index 51091a12d2..1a1d5cd1b6 100644 --- a/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.test.js +++ b/awx/ui_next/src/components/AppContainer/useWsPendingApprovalCount.test.js @@ -23,7 +23,7 @@ describe('useWsPendingApprovalCount hook', () => { Jest mock timers don’t play well with jest-websocket-mock, so we'll stub out throttling to resolve immediately */ - jest.mock('../../util/useThrottle', () => ({ + jest.mock('../../hooks/useThrottle', () => ({ __esModule: true, default: jest.fn(val => val), })); diff --git a/awx/ui_next/src/components/AssociateModal/AssociateModal.js b/awx/ui_next/src/components/AssociateModal/AssociateModal.js index e959d6395a..57330f4f01 100644 --- a/awx/ui_next/src/components/AssociateModal/AssociateModal.js +++ b/awx/ui_next/src/components/AssociateModal/AssociateModal.js @@ -3,9 +3,9 @@ import { useHistory } from 'react-router-dom'; import { t } from '@lingui/macro'; import { Button, Modal } from '@patternfly/react-core'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useSelected from 'util/useSelected'; +import useSelected from 'hooks/useSelected'; import OptionsList from '../OptionsList'; const QS_CONFIG = (order_by = 'name') => { diff --git a/awx/ui_next/src/components/CopyButton/CopyButton.js b/awx/ui_next/src/components/CopyButton/CopyButton.js index 021f1a8e81..a6caa26a7e 100644 --- a/awx/ui_next/src/components/CopyButton/CopyButton.js +++ b/awx/ui_next/src/components/CopyButton/CopyButton.js @@ -3,7 +3,7 @@ import { t } from '@lingui/macro'; import PropTypes from 'prop-types'; import { Button } from '@patternfly/react-core'; import { CopyIcon } from '@patternfly/react-icons'; -import useRequest, { useDismissableError } from 'util/useRequest'; +import useRequest, { useDismissableError } from 'hooks/useRequest'; import AlertModal from '../AlertModal'; import ErrorDetail from '../ErrorDetail'; diff --git a/awx/ui_next/src/components/HostToggle/HostToggle.js b/awx/ui_next/src/components/HostToggle/HostToggle.js index d590583fc9..1085f5659d 100644 --- a/awx/ui_next/src/components/HostToggle/HostToggle.js +++ b/awx/ui_next/src/components/HostToggle/HostToggle.js @@ -3,7 +3,7 @@ import React, { Fragment, useState, useEffect, useCallback } from 'react'; import { t } from '@lingui/macro'; import { Switch, Tooltip } from '@patternfly/react-core'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { HostsAPI } from 'api'; import AlertModal from '../AlertModal'; import ErrorDetail from '../ErrorDetail'; diff --git a/awx/ui_next/src/components/InstanceToggle/InstanceToggle.js b/awx/ui_next/src/components/InstanceToggle/InstanceToggle.js index 476c55d694..9ff2f6ec8f 100644 --- a/awx/ui_next/src/components/InstanceToggle/InstanceToggle.js +++ b/awx/ui_next/src/components/InstanceToggle/InstanceToggle.js @@ -2,7 +2,7 @@ import React, { useState, useEffect, useCallback } from 'react'; import { t } from '@lingui/macro'; import { Switch, Tooltip } from '@patternfly/react-core'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { InstancesAPI } from 'api'; import { useConfig } from 'contexts/Config'; import ErrorDetail from '../ErrorDetail'; diff --git a/awx/ui_next/src/components/JobCancelButton/JobCancelButton.js b/awx/ui_next/src/components/JobCancelButton/JobCancelButton.js index 7e0d470d06..beab662f81 100644 --- a/awx/ui_next/src/components/JobCancelButton/JobCancelButton.js +++ b/awx/ui_next/src/components/JobCancelButton/JobCancelButton.js @@ -3,7 +3,7 @@ import { t } from '@lingui/macro'; import { MinusCircleIcon } from '@patternfly/react-icons'; import { Button, Tooltip } from '@patternfly/react-core'; import { getJobModel } from 'util/jobs'; -import useRequest, { useDismissableError } from 'util/useRequest'; +import useRequest, { useDismissableError } from 'hooks/useRequest'; import AlertModal from '../AlertModal'; import ErrorDetail from '../ErrorDetail'; diff --git a/awx/ui_next/src/components/JobList/JobList.js b/awx/ui_next/src/components/JobList/JobList.js index c150f6eea7..c2c4c4606e 100644 --- a/awx/ui_next/src/components/JobList/JobList.js +++ b/awx/ui_next/src/components/JobList/JobList.js @@ -6,10 +6,10 @@ import { Card } from '@patternfly/react-core'; import useRequest, { useDeleteItems, useDismissableError, -} from 'util/useRequest'; +} from 'hooks/useRequest'; import { useConfig } from 'contexts/Config'; -import useSelected from 'util/useSelected'; -import useExpanded from 'util/useExpanded'; +import useSelected from 'hooks/useSelected'; +import useExpanded from 'hooks/useExpanded'; import { isJobRunning, getJobModel } from 'util/jobs'; import { getQSConfig, parseQueryString } from 'util/qs'; import { UnifiedJobsAPI } from 'api'; diff --git a/awx/ui_next/src/components/JobList/useWsJobs.js b/awx/ui_next/src/components/JobList/useWsJobs.js index e2bd5ff137..d1bd5a5ded 100644 --- a/awx/ui_next/src/components/JobList/useWsJobs.js +++ b/awx/ui_next/src/components/JobList/useWsJobs.js @@ -1,7 +1,7 @@ import { useState, useEffect } from 'react'; import { useLocation } from 'react-router-dom'; -import useWebsocket from 'util/useWebsocket'; -import useThrottle from 'util/useThrottle'; +import useWebsocket from 'hooks/useWebsocket'; +import useThrottle from 'hooks/useThrottle'; import { parseQueryString } from 'util/qs'; import sortJobs from './sortJobs'; diff --git a/awx/ui_next/src/components/JobList/useWsJobs.test.js b/awx/ui_next/src/components/JobList/useWsJobs.test.js index f88e4c822f..3cc6dc1b72 100644 --- a/awx/ui_next/src/components/JobList/useWsJobs.test.js +++ b/awx/ui_next/src/components/JobList/useWsJobs.test.js @@ -21,7 +21,7 @@ describe('useWsJobs hook', () => { Jest mock timers don’t play well with jest-websocket-mock, so we'll stub out throttling to resolve immediately */ - jest.mock('../../util/useThrottle', () => ({ + jest.mock('../../hooks/useThrottle', () => ({ __esModule: true, default: jest.fn(val => val), })); diff --git a/awx/ui_next/src/components/LaunchPrompt/LaunchPrompt.js b/awx/ui_next/src/components/LaunchPrompt/LaunchPrompt.js index 0f2fb1aedf..042917523b 100644 --- a/awx/ui_next/src/components/LaunchPrompt/LaunchPrompt.js +++ b/awx/ui_next/src/components/LaunchPrompt/LaunchPrompt.js @@ -2,7 +2,7 @@ import React, { useState } from 'react'; import { ExpandableSection, Wizard } from '@patternfly/react-core'; import { t } from '@lingui/macro'; import { Formik, useFormikContext } from 'formik'; -import { useDismissableError } from 'util/useRequest'; +import { useDismissableError } from 'hooks/useRequest'; import mergeExtraVars from 'util/prompt/mergeExtraVars'; import getSurveyValues from 'util/prompt/getSurveyValues'; import ContentLoading from '../ContentLoading'; diff --git a/awx/ui_next/src/components/LaunchPrompt/steps/CredentialsStep.js b/awx/ui_next/src/components/LaunchPrompt/steps/CredentialsStep.js index e04efda7a6..ae777a5a0e 100644 --- a/awx/ui_next/src/components/LaunchPrompt/steps/CredentialsStep.js +++ b/awx/ui_next/src/components/LaunchPrompt/steps/CredentialsStep.js @@ -8,7 +8,7 @@ import styled from 'styled-components'; import { Alert, ToolbarItem } from '@patternfly/react-core'; import { CredentialsAPI, CredentialTypesAPI } from 'api'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import AnsibleSelect from '../../AnsibleSelect'; import OptionsList from '../../OptionsList'; import ContentLoading from '../../ContentLoading'; diff --git a/awx/ui_next/src/components/LaunchPrompt/steps/InventoryStep.js b/awx/ui_next/src/components/LaunchPrompt/steps/InventoryStep.js index d391b326c5..cf1f45dce2 100644 --- a/awx/ui_next/src/components/LaunchPrompt/steps/InventoryStep.js +++ b/awx/ui_next/src/components/LaunchPrompt/steps/InventoryStep.js @@ -7,7 +7,7 @@ import styled from 'styled-components'; import { Alert } from '@patternfly/react-core'; import { InventoriesAPI } from 'api'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import OptionsList from '../../OptionsList'; import ContentLoading from '../../ContentLoading'; import ContentError from '../../ContentError'; diff --git a/awx/ui_next/src/components/Lookup/ApplicationLookup.js b/awx/ui_next/src/components/Lookup/ApplicationLookup.js index 6a5b98d1b6..2a78c63cbf 100644 --- a/awx/ui_next/src/components/Lookup/ApplicationLookup.js +++ b/awx/ui_next/src/components/Lookup/ApplicationLookup.js @@ -6,7 +6,7 @@ import { FormGroup } from '@patternfly/react-core'; import { ApplicationsAPI } from 'api'; import { Application } from 'types'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import Lookup from './Lookup'; import OptionsList from '../OptionsList'; import LookupErrorMessage from './shared/LookupErrorMessage'; diff --git a/awx/ui_next/src/components/Lookup/CredentialLookup.js b/awx/ui_next/src/components/Lookup/CredentialLookup.js index 68b1c00eeb..d76c4ba800 100644 --- a/awx/ui_next/src/components/Lookup/CredentialLookup.js +++ b/awx/ui_next/src/components/Lookup/CredentialLookup.js @@ -15,8 +15,8 @@ import { FormGroup } from '@patternfly/react-core'; import { CredentialsAPI } from 'api'; import { Credential } from 'types'; import { getQSConfig, parseQueryString, mergeParams } from 'util/qs'; -import useAutoPopulateLookup from 'util/useAutoPopulateLookup'; -import useRequest from 'util/useRequest'; +import useAutoPopulateLookup from 'hooks/useAutoPopulateLookup'; +import useRequest from 'hooks/useRequest'; import Popover from '../Popover'; import Lookup from './Lookup'; import OptionsList from '../OptionsList'; diff --git a/awx/ui_next/src/components/Lookup/ExecutionEnvironmentLookup.js b/awx/ui_next/src/components/Lookup/ExecutionEnvironmentLookup.js index 0d4de7dec7..2636915750 100644 --- a/awx/ui_next/src/components/Lookup/ExecutionEnvironmentLookup.js +++ b/awx/ui_next/src/components/Lookup/ExecutionEnvironmentLookup.js @@ -6,7 +6,7 @@ import { FormGroup, Tooltip } from '@patternfly/react-core'; import { ExecutionEnvironmentsAPI, ProjectsAPI } from 'api'; import { ExecutionEnvironment } from 'types'; import { getQSConfig, parseQueryString, mergeParams } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import Popover from '../Popover'; import OptionsList from '../OptionsList'; diff --git a/awx/ui_next/src/components/Lookup/HostFilterLookup.js b/awx/ui_next/src/components/Lookup/HostFilterLookup.js index ee232aecbb..3ca74cb37b 100644 --- a/awx/ui_next/src/components/Lookup/HostFilterLookup.js +++ b/awx/ui_next/src/components/Lookup/HostFilterLookup.js @@ -16,7 +16,7 @@ import { } from '@patternfly/react-core'; import { HostsAPI } from 'api'; import { getQSConfig, mergeParams, parseQueryString } from 'util/qs'; -import useRequest, { useDismissableError } from 'util/useRequest'; +import useRequest, { useDismissableError } from 'hooks/useRequest'; import ChipGroup from '../ChipGroup'; import Popover from '../Popover'; import DataListToolbar from '../DataListToolbar'; diff --git a/awx/ui_next/src/components/Lookup/InstanceGroupsLookup.js b/awx/ui_next/src/components/Lookup/InstanceGroupsLookup.js index 96f9e857b0..9af24e872c 100644 --- a/awx/ui_next/src/components/Lookup/InstanceGroupsLookup.js +++ b/awx/ui_next/src/components/Lookup/InstanceGroupsLookup.js @@ -7,7 +7,7 @@ import { FormGroup } from '@patternfly/react-core'; import { InstanceGroupsAPI } from 'api'; import { InstanceGroup } from 'types'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import Popover from '../Popover'; import OptionsList from '../OptionsList'; import Lookup from './Lookup'; diff --git a/awx/ui_next/src/components/Lookup/InventoryLookup.js b/awx/ui_next/src/components/Lookup/InventoryLookup.js index d5947af4d0..30fb3df9ac 100644 --- a/awx/ui_next/src/components/Lookup/InventoryLookup.js +++ b/awx/ui_next/src/components/Lookup/InventoryLookup.js @@ -4,7 +4,7 @@ import { withRouter } from 'react-router-dom'; import { t } from '@lingui/macro'; import { InventoriesAPI } from 'api'; import { Inventory } from 'types'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { getQSConfig, parseQueryString, mergeParams } from 'util/qs'; import Lookup from './Lookup'; import OptionsList from '../OptionsList'; diff --git a/awx/ui_next/src/components/Lookup/Lookup.js b/awx/ui_next/src/components/Lookup/Lookup.js index d8865373b9..b0cfee323b 100644 --- a/awx/ui_next/src/components/Lookup/Lookup.js +++ b/awx/ui_next/src/components/Lookup/Lookup.js @@ -22,7 +22,7 @@ import { } from '@patternfly/react-core'; import { t } from '@lingui/macro'; import styled from 'styled-components'; -import useDebounce from 'util/useDebounce'; +import useDebounce from 'hooks/useDebounce'; import { QSConfig } from 'types'; import ChipGroup from '../ChipGroup'; import reducer, { initReducer } from './shared/reducer'; diff --git a/awx/ui_next/src/components/Lookup/MultiCredentialsLookup.js b/awx/ui_next/src/components/Lookup/MultiCredentialsLookup.js index dbad506f98..2a436e010b 100644 --- a/awx/ui_next/src/components/Lookup/MultiCredentialsLookup.js +++ b/awx/ui_next/src/components/Lookup/MultiCredentialsLookup.js @@ -5,9 +5,9 @@ import PropTypes from 'prop-types'; import { t } from '@lingui/macro'; import { ToolbarItem, Alert } from '@patternfly/react-core'; import { CredentialsAPI, CredentialTypesAPI } from 'api'; -import useRequest from 'util/useRequest'; +import useRequest from 'hooks/useRequest'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useIsMounted from 'util/useIsMounted'; +import useIsMounted from 'hooks/useIsMounted'; import AnsibleSelect from '../AnsibleSelect'; import CredentialChip from '../CredentialChip'; import OptionsList from '../OptionsList'; diff --git a/awx/ui_next/src/components/Lookup/OrganizationLookup.js b/awx/ui_next/src/components/Lookup/OrganizationLookup.js index 347907d629..78650465e1 100644 --- a/awx/ui_next/src/components/Lookup/OrganizationLookup.js +++ b/awx/ui_next/src/components/Lookup/OrganizationLookup.js @@ -6,8 +6,8 @@ import { FormGroup } from '@patternfly/react-core'; import { OrganizationsAPI } from 'api'; import { Organization } from 'types'; import { getQSConfig, parseQueryString } from 'util/qs'; -import useRequest from 'util/useRequest'; -import useAutoPopulateLookup from 'util/useAutoPopulateLookup'; +import useRequest from 'hooks/useRequest'; +import useAutoPopulateLookup from 'hooks/useAutoPopulateLookup'; import OptionsList from '../OptionsList'; import Lookup from './Lookup'; import LookupErrorMessage from './shared/LookupErrorMessage'; diff --git a/awx/ui_next/src/components/Lookup/ProjectLookup.js b/awx/ui_next/src/components/Lookup/ProjectLookup.js index 7e96fcc768..631d46494c 100644 --- a/awx/ui_next/src/components/Lookup/ProjectLookup.js +++ b/awx/ui_next/src/components/Lookup/ProjectLookup.js @@ -5,8 +5,8 @@ import { t } from '@lingui/macro'; import { FormGroup } from '@patternfly/react-core'; import { ProjectsAPI } from 'api'; import { Project } from 'types'; -import useAutoPopulateLookup from 'util/useAutoPopulateLookup'; -import useRequest from 'util/useRequest'; +import useAutoPopulateLookup from 'hooks/useAutoPopulateLookup'; +import useRequest from 'hooks/useRequest'; import { getQSConfig, parseQueryString } from 'util/qs'; import OptionsList from '../OptionsList'; import Popover from '../Popover'; diff --git a/awx/ui_next/src/components/MultiSelect/useSyncedSelectValue.js b/awx/ui_next/src/components/MultiSelect/useSyncedSelectValue.js index 6244e55c2a..55b6c3b4c9 100644 --- a/awx/ui_next/src/components/MultiSelect/useSyncedSelectValue.js +++ b/awx/ui_next/src/components/MultiSelect/useSyncedSelectValue.js @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react'; -import useIsMounted from 'util/useIsMounted'; +import useIsMounted from 'hooks/useIsMounted'; /* Hook for using PatternFly's