mirror of
https://github.com/ansible/awx.git
synced 2026-03-20 18:37:39 -02:30
Fix relative imports
python tools/fixrelative.py awx/ui_next/src npm --prefix=awx/ui_next run lint -- --fix npm --prefix=awx/ui_next run prettier
This commit is contained in:
@@ -16,21 +16,21 @@ import {
|
|||||||
ConfigProvider,
|
ConfigProvider,
|
||||||
useAuthorizedPath,
|
useAuthorizedPath,
|
||||||
useUserProfile,
|
useUserProfile,
|
||||||
} from './contexts/Config';
|
} from 'contexts/Config';
|
||||||
import { SessionProvider, useSession } from './contexts/Session';
|
import { SessionProvider, useSession } from 'contexts/Session';
|
||||||
import AppContainer from './components/AppContainer';
|
import AppContainer from 'components/AppContainer';
|
||||||
import Background from './components/Background';
|
import Background from 'components/Background';
|
||||||
import ContentError from './components/ContentError';
|
import ContentError from 'components/ContentError';
|
||||||
import NotFound from './screens/NotFound';
|
import NotFound from 'screens/NotFound';
|
||||||
import Login from './screens/Login';
|
import Login from 'screens/Login';
|
||||||
import { isAuthenticated } from './util/auth';
|
import { isAuthenticated } from 'util/auth';
|
||||||
import { getLanguageWithoutRegionCode } from './util/language';
|
import { getLanguageWithoutRegionCode } from 'util/language';
|
||||||
|
import Metrics from 'screens/Metrics';
|
||||||
|
import SubscriptionEdit from 'screens/Setting/Subscription/SubscriptionEdit';
|
||||||
|
import { RootAPI } from 'api';
|
||||||
import { dynamicActivate, locales } from './i18nLoader';
|
import { dynamicActivate, locales } from './i18nLoader';
|
||||||
import Metrics from './screens/Metrics';
|
|
||||||
import getRouteConfig from './routeConfig';
|
import getRouteConfig from './routeConfig';
|
||||||
import SubscriptionEdit from './screens/Setting/Subscription/SubscriptionEdit';
|
|
||||||
import { SESSION_REDIRECT_URL } from './constants';
|
import { SESSION_REDIRECT_URL } from './constants';
|
||||||
import { RootAPI } from './api';
|
|
||||||
|
|
||||||
function ErrorFallback({ error }) {
|
function ErrorFallback({ error }) {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
import { RootAPI } from 'api';
|
||||||
|
import * as SessionContext from 'contexts/Session';
|
||||||
import { mountWithContexts } from '../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../testUtils/enzymeHelpers';
|
||||||
import { RootAPI } from './api';
|
|
||||||
import * as SessionContext from './contexts/Session';
|
|
||||||
import App from './App';
|
import App from './App';
|
||||||
|
|
||||||
jest.mock('./api');
|
jest.mock('./api');
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import { encodeQueryString } from 'util/qs';
|
||||||
|
import debounce from 'util/debounce';
|
||||||
import { SESSION_TIMEOUT_KEY } from '../constants';
|
import { SESSION_TIMEOUT_KEY } from '../constants';
|
||||||
import { encodeQueryString } from '../util/qs';
|
|
||||||
import debounce from '../util/debounce';
|
|
||||||
|
|
||||||
const updateStorage = debounce((key, val) => {
|
const updateStorage = debounce((key, val) => {
|
||||||
window.localStorage.setItem(key, val);
|
window.localStorage.setItem(key, val);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { AboutModal } from '@patternfly/react-core';
|
import { AboutModal } from '@patternfly/react-core';
|
||||||
import useBrandName from '../../util/useBrandName';
|
import useBrandName from 'util/useBrandName';
|
||||||
|
|
||||||
function About({ version, isOpen, onClose }) {
|
function About({ version, isOpen, onClose }) {
|
||||||
const brandName = useBrandName();
|
const brandName = useBrandName();
|
||||||
|
|||||||
@@ -5,13 +5,13 @@ import { t } from '@lingui/macro';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Button, DropdownItem } from '@patternfly/react-core';
|
import { Button, DropdownItem } from '@patternfly/react-core';
|
||||||
|
|
||||||
import useRequest, { useDismissableError } from '../../util/useRequest';
|
import useRequest, { useDismissableError } from 'util/useRequest';
|
||||||
import { InventoriesAPI, CredentialTypesAPI } from '../../api';
|
import { InventoriesAPI, CredentialTypesAPI } from 'api';
|
||||||
|
|
||||||
|
import { KebabifiedContext } from 'contexts/Kebabified';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import AdHocCommandsWizard from './AdHocCommandsWizard';
|
import AdHocCommandsWizard from './AdHocCommandsWizard';
|
||||||
import { KebabifiedContext } from '../../contexts/Kebabified';
|
|
||||||
import ContentError from '../ContentError';
|
import ContentError from '../ContentError';
|
||||||
|
|
||||||
function AdHocCommands({ adHocItems, hasListItems, onLaunchLoading }) {
|
function AdHocCommands({ adHocItems, hasListItems, onLaunchLoading }) {
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import {
|
|
||||||
mountWithContexts,
|
|
||||||
waitForElement,
|
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
|
||||||
import {
|
import {
|
||||||
CredentialTypesAPI,
|
CredentialTypesAPI,
|
||||||
InventoriesAPI,
|
InventoriesAPI,
|
||||||
CredentialsAPI,
|
CredentialsAPI,
|
||||||
ExecutionEnvironmentsAPI,
|
ExecutionEnvironmentsAPI,
|
||||||
RootAPI,
|
RootAPI,
|
||||||
} from '../../api';
|
} from 'api';
|
||||||
|
import {
|
||||||
|
mountWithContexts,
|
||||||
|
waitForElement,
|
||||||
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import AdHocCommands from './AdHocCommands';
|
import AdHocCommands from './AdHocCommands';
|
||||||
|
|
||||||
jest.mock('../../api/models/CredentialTypes');
|
jest.mock('../../api/models/CredentialTypes');
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
import { CredentialsAPI, ExecutionEnvironmentsAPI, RootAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { CredentialsAPI, ExecutionEnvironmentsAPI, RootAPI } from '../../api';
|
|
||||||
import AdHocCommandsWizard from './AdHocCommandsWizard';
|
import AdHocCommandsWizard from './AdHocCommandsWizard';
|
||||||
|
|
||||||
jest.mock('../../api/models/CredentialTypes');
|
jest.mock('../../api/models/CredentialTypes');
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ import { t } from '@lingui/macro';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { useField } from 'formik';
|
import { useField } from 'formik';
|
||||||
import { Form, FormGroup } from '@patternfly/react-core';
|
import { Form, FormGroup } from '@patternfly/react-core';
|
||||||
import { CredentialsAPI } from '../../api';
|
import { CredentialsAPI } from 'api';
|
||||||
|
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { required } from 'util/validators';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
|
|
||||||
import { getQSConfig, parseQueryString, mergeParams } from '../../util/qs';
|
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import ContentError from '../ContentError';
|
import ContentError from '../ContentError';
|
||||||
import ContentLoading from '../ContentLoading';
|
import ContentLoading from '../ContentLoading';
|
||||||
import { required } from '../../util/validators';
|
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('credentials', {
|
const QS_CONFIG = getQSConfig('credentials', {
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { CredentialsAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { CredentialsAPI } from '../../api';
|
|
||||||
import AdHocCredentialStep from './AdHocCredentialStep';
|
import AdHocCredentialStep from './AdHocCredentialStep';
|
||||||
|
|
||||||
jest.mock('../../api/models/Credentials');
|
jest.mock('../../api/models/Credentials');
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import PropTypes from 'prop-types';
|
|||||||
import { useField } from 'formik';
|
import { useField } from 'formik';
|
||||||
import { Form, FormGroup, Switch, Checkbox } from '@patternfly/react-core';
|
import { Form, FormGroup, Switch, Checkbox } from '@patternfly/react-core';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
import { required } from 'util/validators';
|
||||||
|
import useBrandName from 'util/useBrandName';
|
||||||
import AnsibleSelect from '../AnsibleSelect';
|
import AnsibleSelect from '../AnsibleSelect';
|
||||||
import FormField from '../FormField';
|
import FormField from '../FormField';
|
||||||
import { VariablesField } from '../CodeEditor';
|
import { VariablesField } from '../CodeEditor';
|
||||||
@@ -15,8 +17,6 @@ import {
|
|||||||
FormCheckboxLayout,
|
FormCheckboxLayout,
|
||||||
} from '../FormLayout';
|
} from '../FormLayout';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import { required } from '../../util/validators';
|
|
||||||
import useBrandName from '../../util/useBrandName';
|
|
||||||
|
|
||||||
const TooltipWrapper = styled.div`
|
const TooltipWrapper = styled.div`
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { RootAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import { RootAPI } from '../../api';
|
|
||||||
import DetailsStep from './AdHocDetailsStep';
|
import DetailsStep from './AdHocDetailsStep';
|
||||||
|
|
||||||
jest.mock('../../api/models/Credentials');
|
jest.mock('../../api/models/Credentials');
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { ExecutionEnvironmentsAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { ExecutionEnvironmentsAPI } from '../../api';
|
|
||||||
import AdHocExecutionEnvironmentStep from './AdHocExecutionEnvironmentStep';
|
import AdHocExecutionEnvironmentStep from './AdHocExecutionEnvironmentStep';
|
||||||
|
|
||||||
jest.mock('../../api/models/ExecutionEnvironments');
|
jest.mock('../../api/models/ExecutionEnvironments');
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import { useHistory } from 'react-router-dom';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { useField } from 'formik';
|
import { useField } from 'formik';
|
||||||
import { Form, FormGroup } from '@patternfly/react-core';
|
import { Form, FormGroup } from '@patternfly/react-core';
|
||||||
import { ExecutionEnvironmentsAPI } from '../../api';
|
import { ExecutionEnvironmentsAPI } from 'api';
|
||||||
import Popover from '../Popover';
|
|
||||||
|
|
||||||
import { parseQueryString, getQSConfig, mergeParams } from '../../util/qs';
|
import { parseQueryString, getQSConfig, mergeParams } from 'util/qs';
|
||||||
import useRequest from '../../util/useRequest';
|
import useRequest from 'util/useRequest';
|
||||||
|
import Popover from '../Popover';
|
||||||
import ContentError from '../ContentError';
|
import ContentError from '../ContentError';
|
||||||
import ContentLoading from '../ContentLoading';
|
import ContentLoading from '../ContentLoading';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import React, { useState, useRef, useEffect, Fragment } from 'react';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Dropdown, DropdownPosition } from '@patternfly/react-core';
|
import { Dropdown, DropdownPosition } from '@patternfly/react-core';
|
||||||
|
import { useKebabifiedMenu } from 'contexts/Kebabified';
|
||||||
import { ToolbarAddButton } from '../PaginatedTable';
|
import { ToolbarAddButton } from '../PaginatedTable';
|
||||||
import { useKebabifiedMenu } from '../../contexts/Kebabified';
|
|
||||||
|
|
||||||
function AddDropDownButton({ dropdownItems, ouiaId }) {
|
function AddDropDownButton({ dropdownItems, ouiaId }) {
|
||||||
const { isKebabified } = useKebabifiedMenu();
|
const { isKebabified } = useKebabifiedMenu();
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import React, { Fragment, useState, useEffect } from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
|
import { TeamsAPI, UsersAPI } from 'api';
|
||||||
import SelectableCard from '../SelectableCard';
|
import SelectableCard from '../SelectableCard';
|
||||||
import Wizard from '../Wizard';
|
import Wizard from '../Wizard';
|
||||||
import SelectResourceStep from './SelectResourceStep';
|
import SelectResourceStep from './SelectResourceStep';
|
||||||
import SelectRoleStep from './SelectRoleStep';
|
import SelectRoleStep from './SelectRoleStep';
|
||||||
import { TeamsAPI, UsersAPI } from '../../api';
|
|
||||||
|
|
||||||
const readUsers = async queryParams =>
|
const readUsers = async queryParams =>
|
||||||
UsersAPI.read(Object.assign(queryParams, { is_superuser: false }));
|
UsersAPI.read(Object.assign(queryParams, { is_superuser: false }));
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ import { shallow } from 'enzyme';
|
|||||||
import { createMemoryHistory } from 'history';
|
import { createMemoryHistory } from 'history';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
|
||||||
|
import { TeamsAPI, UsersAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import AddResourceRole, { _AddResourceRole } from './AddResourceRole';
|
import AddResourceRole, { _AddResourceRole } from './AddResourceRole';
|
||||||
import { TeamsAPI, UsersAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api/models/Teams');
|
jest.mock('../../api/models/Teams');
|
||||||
jest.mock('../../api/models/Users');
|
jest.mock('../../api/models/Users');
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ import React, { Fragment, useCallback, useEffect } from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { withRouter, useLocation } from 'react-router-dom';
|
import { withRouter, useLocation } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import useRequest from '../../util/useRequest';
|
import useRequest from 'util/useRequest';
|
||||||
import { SearchColumns, SortColumns } from '../../types';
|
import { SearchColumns, SortColumns } from 'types';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
import DataListToolbar from '../DataListToolbar';
|
import DataListToolbar from '../DataListToolbar';
|
||||||
import CheckboxListItem from '../CheckboxListItem';
|
import CheckboxListItem from '../CheckboxListItem';
|
||||||
import { SelectedList } from '../SelectedList';
|
import { SelectedList } from '../SelectedList';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import PaginatedTable, { HeaderCell, HeaderRow } from '../PaginatedTable';
|
import PaginatedTable, { HeaderCell, HeaderRow } from '../PaginatedTable';
|
||||||
|
|
||||||
const QS_Config = sortColumns => {
|
const QS_Config = sortColumns => {
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ import { t, Plural } from '@lingui/macro';
|
|||||||
|
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
|
||||||
import { useConfig, useAuthorizedPath } from '../../contexts/Config';
|
import { useConfig, useAuthorizedPath } from 'contexts/Config';
|
||||||
import { useSession } from '../../contexts/Session';
|
import { useSession } from 'contexts/Session';
|
||||||
import issuePendoIdentity from '../../util/issuePendoIdentity';
|
import issuePendoIdentity from 'util/issuePendoIdentity';
|
||||||
import About from '../About';
|
import About from '../About';
|
||||||
import BrandLogo from './BrandLogo';
|
import BrandLogo from './BrandLogo';
|
||||||
import NavExpandableGroup from './NavExpandableGroup';
|
import NavExpandableGroup from './NavExpandableGroup';
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
import { MeAPI, RootAPI } from 'api';
|
||||||
|
import { useAuthorizedPath } from 'contexts/Config';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { MeAPI, RootAPI } from '../../api';
|
|
||||||
import { useAuthorizedPath } from '../../contexts/Config';
|
|
||||||
import AppContainer from './AppContainer';
|
import AppContainer from './AppContainer';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ import {
|
|||||||
QuestionCircleIcon,
|
QuestionCircleIcon,
|
||||||
UserIcon,
|
UserIcon,
|
||||||
} from '@patternfly/react-icons';
|
} from '@patternfly/react-icons';
|
||||||
import { WorkflowApprovalsAPI } from '../../api';
|
import { WorkflowApprovalsAPI } from 'api';
|
||||||
import useRequest from '../../util/useRequest';
|
import useRequest from 'util/useRequest';
|
||||||
import getDocsBaseUrl from '../../util/getDocsBaseUrl';
|
import getDocsBaseUrl from 'util/getDocsBaseUrl';
|
||||||
import { useConfig } from '../../contexts/Config';
|
import { useConfig } from 'contexts/Config';
|
||||||
import useWsPendingApprovalCount from './useWsPendingApprovalCount';
|
import useWsPendingApprovalCount from './useWsPendingApprovalCount';
|
||||||
|
|
||||||
const PendingWorkflowApprovals = styled.div`
|
const PendingWorkflowApprovals = styled.div`
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
import { WorkflowApprovalsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import PageHeaderToolbar from './PageHeaderToolbar';
|
import PageHeaderToolbar from './PageHeaderToolbar';
|
||||||
import { WorkflowApprovalsAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import useWebsocket from '../../util/useWebsocket';
|
import useWebsocket from 'util/useWebsocket';
|
||||||
import useThrottle from '../../util/useThrottle';
|
import useThrottle from 'util/useThrottle';
|
||||||
|
|
||||||
export default function useWsPendingApprovalCount(
|
export default function useWsPendingApprovalCount(
|
||||||
initialCount,
|
initialCount,
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import { useHistory } from 'react-router-dom';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Button, Modal } from '@patternfly/react-core';
|
import { Button, Modal } from '@patternfly/react-core';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useSelected from 'util/useSelected';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import useSelected from '../../util/useSelected';
|
|
||||||
|
|
||||||
const QS_CONFIG = (order_by = 'name') => {
|
const QS_CONFIG = (order_by = 'name') => {
|
||||||
return getQSConfig('associate', {
|
return getQSConfig('associate', {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import 'ace-builds/src-noconflict/theme-github';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import debounce from '../../util/debounce';
|
import debounce from 'util/debounce';
|
||||||
|
|
||||||
config.set('loadWorkerFromBlob', false);
|
config.set('loadWorkerFromBlob', false);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import debounce from 'util/debounce';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import CodeEditor from './CodeEditor';
|
import CodeEditor from './CodeEditor';
|
||||||
import debounce from '../../util/debounce';
|
|
||||||
|
|
||||||
jest.mock('../../util/debounce');
|
jest.mock('../../util/debounce');
|
||||||
|
|
||||||
|
|||||||
@@ -11,15 +11,10 @@ import {
|
|||||||
Modal,
|
Modal,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { ExpandArrowsAltIcon } from '@patternfly/react-icons';
|
import { ExpandArrowsAltIcon } from '@patternfly/react-icons';
|
||||||
|
import { yamlToJson, jsonToYaml, isJsonObject, isJsonString } from 'util/yaml';
|
||||||
import { DetailName, DetailValue } from '../DetailList';
|
import { DetailName, DetailValue } from '../DetailList';
|
||||||
import MultiButtonToggle from '../MultiButtonToggle';
|
import MultiButtonToggle from '../MultiButtonToggle';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import {
|
|
||||||
yamlToJson,
|
|
||||||
jsonToYaml,
|
|
||||||
isJsonObject,
|
|
||||||
isJsonString,
|
|
||||||
} from '../../util/yaml';
|
|
||||||
import CodeEditor from './CodeEditor';
|
import CodeEditor from './CodeEditor';
|
||||||
import { JSON_MODE, YAML_MODE } from './constants';
|
import { JSON_MODE, YAML_MODE } from './constants';
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import { useField } from 'formik';
|
|||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Split, SplitItem, Button, Modal } from '@patternfly/react-core';
|
import { Split, SplitItem, Button, Modal } from '@patternfly/react-core';
|
||||||
import { ExpandArrowsAltIcon } from '@patternfly/react-icons';
|
import { ExpandArrowsAltIcon } from '@patternfly/react-icons';
|
||||||
|
import { yamlToJson, jsonToYaml, isJsonString } from 'util/yaml';
|
||||||
import { CheckboxField } from '../FormField';
|
import { CheckboxField } from '../FormField';
|
||||||
import MultiButtonToggle from '../MultiButtonToggle';
|
import MultiButtonToggle from '../MultiButtonToggle';
|
||||||
import { yamlToJson, jsonToYaml, isJsonString } from '../../util/yaml';
|
|
||||||
import CodeEditor from './CodeEditor';
|
import CodeEditor from './CodeEditor';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import { JSON_MODE, YAML_MODE } from './constants';
|
import { JSON_MODE, YAML_MODE } from './constants';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
|
|||||||
import { string, func, bool, number } from 'prop-types';
|
import { string, func, bool, number } from 'prop-types';
|
||||||
import { Split, SplitItem } from '@patternfly/react-core';
|
import { Split, SplitItem } from '@patternfly/react-core';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { yamlToJson, jsonToYaml, isJsonString } from '../../util/yaml';
|
import { yamlToJson, jsonToYaml, isJsonString } from 'util/yaml';
|
||||||
import MultiButtonToggle from '../MultiButtonToggle';
|
import MultiButtonToggle from '../MultiButtonToggle';
|
||||||
import CodeEditor from './CodeEditor';
|
import CodeEditor from './CodeEditor';
|
||||||
import { JSON_MODE, YAML_MODE } from './constants';
|
import { JSON_MODE, YAML_MODE } from './constants';
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
EmptyStateBody,
|
EmptyStateBody,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { ExclamationTriangleIcon } from '@patternfly/react-icons';
|
import { ExclamationTriangleIcon } from '@patternfly/react-icons';
|
||||||
import { useSession } from '../../contexts/Session';
|
import { useSession } from 'contexts/Session';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
|
|
||||||
function ContentError({ error, children, isNotFound }) {
|
function ContentError({ error, children, isNotFound }) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { t } from '@lingui/macro';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Button } from '@patternfly/react-core';
|
import { Button } from '@patternfly/react-core';
|
||||||
import { CopyIcon } from '@patternfly/react-icons';
|
import { CopyIcon } from '@patternfly/react-icons';
|
||||||
import useRequest, { useDismissableError } from '../../util/useRequest';
|
import useRequest, { useDismissableError } from 'util/useRequest';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import React from 'react';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Chip } from '@patternfly/react-core';
|
import { Chip } from '@patternfly/react-core';
|
||||||
import { Credential } from '../../types';
|
import { Credential } from 'types';
|
||||||
import { toTitleCase } from '../../util/strings';
|
import { toTitleCase } from 'util/strings';
|
||||||
|
|
||||||
function CredentialChip({ credential, ...props }) {
|
function CredentialChip({ credential, ...props }) {
|
||||||
let type;
|
let type;
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ import {
|
|||||||
AngleRightIcon,
|
AngleRightIcon,
|
||||||
SearchIcon,
|
SearchIcon,
|
||||||
} from '@patternfly/react-icons';
|
} from '@patternfly/react-icons';
|
||||||
|
import { SearchColumns, SortColumns, QSConfig } from 'types';
|
||||||
|
import { KebabifiedProvider } from 'contexts/Kebabified';
|
||||||
import ExpandCollapse from '../ExpandCollapse';
|
import ExpandCollapse from '../ExpandCollapse';
|
||||||
import Search from '../Search';
|
import Search from '../Search';
|
||||||
import Sort from '../Sort';
|
import Sort from '../Sort';
|
||||||
import { SearchColumns, SortColumns, QSConfig } from '../../types';
|
|
||||||
import { KebabifiedProvider } from '../../contexts/Kebabified';
|
|
||||||
|
|
||||||
const ToolbarContent = styled(PFToolbarContent)`
|
const ToolbarContent = styled(PFToolbarContent)`
|
||||||
& > .pf-c-toolbar__content-section {
|
& > .pf-c-toolbar__content-section {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import PropTypes from 'prop-types';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Button, Badge, Alert, Tooltip } from '@patternfly/react-core';
|
import { Button, Badge, Alert, Tooltip } from '@patternfly/react-core';
|
||||||
|
import { getRelatedResourceDeleteCounts } from 'util/getRelatedResourceDeleteDetails';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import { getRelatedResourceDeleteCounts } from '../../util/getRelatedResourceDeleteDetails';
|
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
|
|
||||||
const WarningMessage = styled(Alert)`
|
const WarningMessage = styled(Alert)`
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
import { CredentialsAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { CredentialsAPI } from '../../api';
|
|
||||||
import DeleteButton from './DeleteButton';
|
import DeleteButton from './DeleteButton';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import { node, string } from 'prop-types';
|
import { node, string } from 'prop-types';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { formatDateString } from '../../util/dates';
|
import { formatDateString } from 'util/dates';
|
||||||
import _Detail from './Detail';
|
import _Detail from './Detail';
|
||||||
|
|
||||||
const Detail = styled(_Detail)`
|
const Detail = styled(_Detail)`
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ import { node, string } from 'prop-types';
|
|||||||
import { Trans } from '@lingui/macro';
|
import { Trans } from '@lingui/macro';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { formatDateString } from '../../util/dates';
|
import { formatDateString } from 'util/dates';
|
||||||
|
import { SummaryFieldUser } from 'types';
|
||||||
import _Detail from './Detail';
|
import _Detail from './Detail';
|
||||||
import { SummaryFieldUser } from '../../types';
|
|
||||||
|
|
||||||
const Detail = styled(_Detail)`
|
const Detail = styled(_Detail)`
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { arrayOf, func, shape, string, oneOfType, number } from 'prop-types';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Button, Tooltip, DropdownItem } from '@patternfly/react-core';
|
import { Button, Tooltip, DropdownItem } from '@patternfly/react-core';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { KebabifiedContext } from '../../contexts/Kebabified';
|
import { KebabifiedContext } from 'contexts/Kebabified';
|
||||||
|
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import { t, Trans } from '@lingui/macro';
|
|||||||
import { Popover, Tooltip } from '@patternfly/react-core';
|
import { Popover, Tooltip } from '@patternfly/react-core';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { ExclamationTriangleIcon as PFExclamationTriangleIcon } from '@patternfly/react-icons';
|
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';
|
import { Detail } from '../DetailList';
|
||||||
import { ExecutionEnvironment } from '../../types';
|
|
||||||
import getDocsBaseUrl from '../../util/getDocsBaseUrl';
|
|
||||||
import { useConfig } from '../../contexts/Config';
|
|
||||||
|
|
||||||
const ExclamationTriangleIcon = styled(PFExclamationTriangleIcon)`
|
const ExclamationTriangleIcon = styled(PFExclamationTriangleIcon)`
|
||||||
color: var(--pf-global--warning-color--100);
|
color: var(--pf-global--warning-color--100);
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import { bool, func, shape } from 'prop-types';
|
|||||||
import { Formik, useField, useFormikContext } from 'formik';
|
import { Formik, useField, useFormikContext } from 'formik';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Form, FormGroup, Tooltip } from '@patternfly/react-core';
|
import { Form, FormGroup, Tooltip } from '@patternfly/react-core';
|
||||||
|
import { required } from 'util/validators';
|
||||||
import FormField, { FormSubmitError } from '../FormField';
|
import FormField, { FormSubmitError } from '../FormField';
|
||||||
import FormActionGroup from '../FormActionGroup/FormActionGroup';
|
import FormActionGroup from '../FormActionGroup/FormActionGroup';
|
||||||
import { VariablesField } from '../CodeEditor';
|
import { VariablesField } from '../CodeEditor';
|
||||||
import { InventoryLookup } from '../Lookup';
|
import { InventoryLookup } from '../Lookup';
|
||||||
import { FormColumnLayout, FormFullWidthLayout } from '../FormLayout';
|
import { FormColumnLayout, FormFullWidthLayout } from '../FormLayout';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import { required } from '../../util/validators';
|
|
||||||
|
|
||||||
const InventoryLookupField = ({ isDisabled }) => {
|
const InventoryLookupField = ({ isDisabled }) => {
|
||||||
const { setFieldValue, setFieldTouched } = useFormikContext();
|
const { setFieldValue, setFieldTouched } = useFormikContext();
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import React, { Fragment, useState, useEffect, useCallback } from 'react';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Switch, Tooltip } from '@patternfly/react-core';
|
import { Switch, Tooltip } from '@patternfly/react-core';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { HostsAPI } from 'api';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import { HostsAPI } from '../../api';
|
|
||||||
|
|
||||||
function HostToggle({
|
function HostToggle({
|
||||||
className,
|
className,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { HostsAPI } from '../../api';
|
import { HostsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import HostToggle from './HostToggle';
|
import HostToggle from './HostToggle';
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import React, { useState, useEffect, useCallback } from 'react';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Switch, Tooltip } from '@patternfly/react-core';
|
import { Switch, Tooltip } from '@patternfly/react-core';
|
||||||
import AlertModal from '../AlertModal';
|
import useRequest from 'util/useRequest';
|
||||||
|
import { InstancesAPI } from 'api';
|
||||||
|
import { useConfig } from 'contexts/Config';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import useRequest from '../../util/useRequest';
|
import AlertModal from '../AlertModal';
|
||||||
import { InstancesAPI } from '../../api';
|
|
||||||
import { useConfig } from '../../contexts/Config';
|
|
||||||
|
|
||||||
function InstanceToggle({ className, fetchInstances, instance, onToggle }) {
|
function InstanceToggle({ className, fetchInstances, instance, onToggle }) {
|
||||||
const { me = {} } = useConfig();
|
const { me = {} } = useConfig();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { InstancesAPI } from '../../api';
|
import { InstancesAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import InstanceToggle from './InstanceToggle';
|
import InstanceToggle from './InstanceToggle';
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import React, { useCallback, useState } from 'react';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { MinusCircleIcon } from '@patternfly/react-icons';
|
import { MinusCircleIcon } from '@patternfly/react-icons';
|
||||||
import { Button, Tooltip } from '@patternfly/react-core';
|
import { Button, Tooltip } from '@patternfly/react-core';
|
||||||
import { getJobModel } from '../../util/jobs';
|
import { getJobModel } from 'util/jobs';
|
||||||
import useRequest, { useDismissableError } from '../../util/useRequest';
|
import useRequest, { useDismissableError } from 'util/useRequest';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
SystemJobsAPI,
|
SystemJobsAPI,
|
||||||
WorkflowJobsAPI,
|
WorkflowJobsAPI,
|
||||||
JobsAPI,
|
JobsAPI,
|
||||||
} from '../../api';
|
} from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import JobCancelButton from './JobCancelButton';
|
import JobCancelButton from './JobCancelButton';
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,16 @@ import { useLocation } from 'react-router-dom';
|
|||||||
import { t, Plural } from '@lingui/macro';
|
import { t, Plural } from '@lingui/macro';
|
||||||
|
|
||||||
import { Card } from '@patternfly/react-core';
|
import { Card } from '@patternfly/react-core';
|
||||||
|
import useRequest, {
|
||||||
|
useDeleteItems,
|
||||||
|
useDismissableError,
|
||||||
|
} from 'util/useRequest';
|
||||||
|
import { useConfig } from 'contexts/Config';
|
||||||
|
import useSelected from 'util/useSelected';
|
||||||
|
import useExpanded from 'util/useExpanded';
|
||||||
|
import { isJobRunning, getJobModel } from 'util/jobs';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import { UnifiedJobsAPI } from 'api';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import DatalistToolbar from '../DataListToolbar';
|
import DatalistToolbar from '../DataListToolbar';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
@@ -11,19 +21,9 @@ import PaginatedTable, {
|
|||||||
HeaderCell,
|
HeaderCell,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../PaginatedTable';
|
} from '../PaginatedTable';
|
||||||
import useRequest, {
|
|
||||||
useDeleteItems,
|
|
||||||
useDismissableError,
|
|
||||||
} from '../../util/useRequest';
|
|
||||||
import { useConfig } from '../../contexts/Config';
|
|
||||||
import useSelected from '../../util/useSelected';
|
|
||||||
import useExpanded from '../../util/useExpanded';
|
|
||||||
import { isJobRunning, getJobModel } from '../../util/jobs';
|
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import JobListItem from './JobListItem';
|
import JobListItem from './JobListItem';
|
||||||
import JobListCancelButton from './JobListCancelButton';
|
import JobListCancelButton from './JobListCancelButton';
|
||||||
import useWsJobs from './useWsJobs';
|
import useWsJobs from './useWsJobs';
|
||||||
import { UnifiedJobsAPI } from '../../api';
|
|
||||||
|
|
||||||
function JobList({ defaultParams, showTypeColumn = false }) {
|
function JobList({ defaultParams, showTypeColumn = false }) {
|
||||||
const qsConfig = getQSConfig(
|
const qsConfig = getQSConfig(
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import {
|
|
||||||
mountWithContexts,
|
|
||||||
waitForElement,
|
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
|
||||||
import {
|
import {
|
||||||
AdHocCommandsAPI,
|
AdHocCommandsAPI,
|
||||||
InventoryUpdatesAPI,
|
InventoryUpdatesAPI,
|
||||||
@@ -12,7 +8,11 @@ import {
|
|||||||
SystemJobsAPI,
|
SystemJobsAPI,
|
||||||
UnifiedJobsAPI,
|
UnifiedJobsAPI,
|
||||||
WorkflowJobsAPI,
|
WorkflowJobsAPI,
|
||||||
} from '../../api';
|
} from 'api';
|
||||||
|
import {
|
||||||
|
mountWithContexts,
|
||||||
|
waitForElement,
|
||||||
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import JobList from './JobList';
|
import JobList from './JobList';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import React, { useContext, useEffect, useState } from 'react';
|
|||||||
import { t, Plural } from '@lingui/macro';
|
import { t, Plural } from '@lingui/macro';
|
||||||
import { arrayOf, func } from 'prop-types';
|
import { arrayOf, func } from 'prop-types';
|
||||||
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
|
import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
|
||||||
import { KebabifiedContext } from '../../contexts/Kebabified';
|
import { KebabifiedContext } from 'contexts/Kebabified';
|
||||||
import { isJobRunning } from '../../util/jobs';
|
import { isJobRunning } from 'util/jobs';
|
||||||
|
import { Job } from 'types';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import { Job } from '../../types';
|
|
||||||
|
|
||||||
function cannotCancelBecausePermissions(job) {
|
function cannotCancelBecausePermissions(job) {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import { Button, Chip } from '@patternfly/react-core';
|
|||||||
import { Tr, Td, ExpandableRowContent } from '@patternfly/react-table';
|
import { Tr, Td, ExpandableRowContent } from '@patternfly/react-table';
|
||||||
import { RocketIcon } from '@patternfly/react-icons';
|
import { RocketIcon } from '@patternfly/react-icons';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
import { formatDateString } from 'util/dates';
|
||||||
|
import { isJobRunning } from 'util/jobs';
|
||||||
import { ActionsTd, ActionItem } from '../PaginatedTable';
|
import { ActionsTd, ActionItem } from '../PaginatedTable';
|
||||||
import { LaunchButton, ReLaunchDropDown } from '../LaunchButton';
|
import { LaunchButton, ReLaunchDropDown } from '../LaunchButton';
|
||||||
import StatusLabel from '../StatusLabel';
|
import StatusLabel from '../StatusLabel';
|
||||||
@@ -13,8 +15,6 @@ import { DetailList, Detail, LaunchedByDetail } from '../DetailList';
|
|||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
import CredentialChip from '../CredentialChip';
|
import CredentialChip from '../CredentialChip';
|
||||||
import ExecutionEnvironmentDetail from '../ExecutionEnvironmentDetail';
|
import ExecutionEnvironmentDetail from '../ExecutionEnvironmentDetail';
|
||||||
import { formatDateString } from '../../util/dates';
|
|
||||||
import { isJobRunning } from '../../util/jobs';
|
|
||||||
import { JOB_TYPE_URL_SEGMENTS } from '../../constants';
|
import { JOB_TYPE_URL_SEGMENTS } from '../../constants';
|
||||||
import JobCancelButton from '../JobCancelButton';
|
import JobCancelButton from '../JobCancelButton';
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import { useLocation } from 'react-router-dom';
|
import { useLocation } from 'react-router-dom';
|
||||||
import useWebsocket from '../../util/useWebsocket';
|
import useWebsocket from 'util/useWebsocket';
|
||||||
import useThrottle from '../../util/useThrottle';
|
import useThrottle from 'util/useThrottle';
|
||||||
import { parseQueryString } from '../../util/qs';
|
import { parseQueryString } from 'util/qs';
|
||||||
import sortJobs from './sortJobs';
|
import sortJobs from './sortJobs';
|
||||||
|
|
||||||
export default function useWsJobs(initialJobs, fetchJobsById, qsConfig) {
|
export default function useWsJobs(initialJobs, fetchJobsById, qsConfig) {
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import { number, shape } from 'prop-types';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
|
|
||||||
import AlertModal from '../AlertModal';
|
|
||||||
import ErrorDetail from '../ErrorDetail';
|
|
||||||
import {
|
import {
|
||||||
AdHocCommandsAPI,
|
AdHocCommandsAPI,
|
||||||
InventorySourcesAPI,
|
InventorySourcesAPI,
|
||||||
@@ -14,7 +12,9 @@ import {
|
|||||||
ProjectsAPI,
|
ProjectsAPI,
|
||||||
WorkflowJobsAPI,
|
WorkflowJobsAPI,
|
||||||
WorkflowJobTemplatesAPI,
|
WorkflowJobTemplatesAPI,
|
||||||
} from '../../api';
|
} from 'api';
|
||||||
|
import AlertModal from '../AlertModal';
|
||||||
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import LaunchPrompt from '../LaunchPrompt';
|
import LaunchPrompt from '../LaunchPrompt';
|
||||||
|
|
||||||
function canLaunchWithoutPrompt(launchData) {
|
function canLaunchWithoutPrompt(launchData) {
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { createMemoryHistory } from 'history';
|
import { createMemoryHistory } from 'history';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
|
||||||
import { sleep } from '../../../testUtils/testUtils';
|
|
||||||
|
|
||||||
import LaunchButton from './LaunchButton';
|
|
||||||
import {
|
import {
|
||||||
InventorySourcesAPI,
|
InventorySourcesAPI,
|
||||||
JobsAPI,
|
JobsAPI,
|
||||||
@@ -12,7 +8,11 @@ import {
|
|||||||
ProjectsAPI,
|
ProjectsAPI,
|
||||||
WorkflowJobsAPI,
|
WorkflowJobsAPI,
|
||||||
WorkflowJobTemplatesAPI,
|
WorkflowJobTemplatesAPI,
|
||||||
} from '../../api';
|
} from 'api';
|
||||||
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
|
import { sleep } from '../../../testUtils/testUtils';
|
||||||
|
|
||||||
|
import LaunchButton from './LaunchButton';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import React, { useState } from 'react';
|
|||||||
import { ExpandableSection, Wizard } from '@patternfly/react-core';
|
import { ExpandableSection, Wizard } from '@patternfly/react-core';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Formik, useFormikContext } from 'formik';
|
import { Formik, useFormikContext } from 'formik';
|
||||||
import ContentError from '../ContentError';
|
import { useDismissableError } from 'util/useRequest';
|
||||||
|
import mergeExtraVars from 'util/prompt/mergeExtraVars';
|
||||||
|
import getSurveyValues from 'util/prompt/getSurveyValues';
|
||||||
import ContentLoading from '../ContentLoading';
|
import ContentLoading from '../ContentLoading';
|
||||||
import { useDismissableError } from '../../util/useRequest';
|
import ContentError from '../ContentError';
|
||||||
import mergeExtraVars from '../../util/prompt/mergeExtraVars';
|
|
||||||
import getSurveyValues from '../../util/prompt/getSurveyValues';
|
|
||||||
import useLaunchSteps from './useLaunchSteps';
|
import useLaunchSteps from './useLaunchSteps';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act, isElementOfType } from 'react-dom/test-utils';
|
import { act, isElementOfType } from 'react-dom/test-utils';
|
||||||
|
import {
|
||||||
|
InventoriesAPI,
|
||||||
|
CredentialsAPI,
|
||||||
|
CredentialTypesAPI,
|
||||||
|
JobTemplatesAPI,
|
||||||
|
} from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
@@ -10,12 +16,6 @@ import CredentialsStep from './steps/CredentialsStep';
|
|||||||
import CredentialPasswordsStep from './steps/CredentialPasswordsStep';
|
import CredentialPasswordsStep from './steps/CredentialPasswordsStep';
|
||||||
import OtherPromptsStep from './steps/OtherPromptsStep';
|
import OtherPromptsStep from './steps/OtherPromptsStep';
|
||||||
import PreviewStep from './steps/PreviewStep';
|
import PreviewStep from './steps/PreviewStep';
|
||||||
import {
|
|
||||||
InventoriesAPI,
|
|
||||||
CredentialsAPI,
|
|
||||||
CredentialTypesAPI,
|
|
||||||
JobTemplatesAPI,
|
|
||||||
} from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api/models/Inventories');
|
jest.mock('../../api/models/Inventories');
|
||||||
jest.mock('../../api/models/CredentialTypes');
|
jest.mock('../../api/models/CredentialTypes');
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ import { t } from '@lingui/macro';
|
|||||||
import { useField } from 'formik';
|
import { useField } from 'formik';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Alert, ToolbarItem } from '@patternfly/react-core';
|
import { Alert, ToolbarItem } from '@patternfly/react-core';
|
||||||
import { CredentialsAPI, CredentialTypesAPI } from '../../../api';
|
import { CredentialsAPI, CredentialTypesAPI } from 'api';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
import AnsibleSelect from '../../AnsibleSelect';
|
import AnsibleSelect from '../../AnsibleSelect';
|
||||||
import OptionsList from '../../OptionsList';
|
import OptionsList from '../../OptionsList';
|
||||||
import ContentLoading from '../../ContentLoading';
|
import ContentLoading from '../../ContentLoading';
|
||||||
import CredentialChip from '../../CredentialChip';
|
import CredentialChip from '../../CredentialChip';
|
||||||
import ContentError from '../../ContentError';
|
import ContentError from '../../ContentError';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
|
||||||
import useRequest from '../../../util/useRequest';
|
|
||||||
import credentialsValidator from './credentialsValidator';
|
import credentialsValidator from './credentialsValidator';
|
||||||
|
|
||||||
const CredentialErrorAlert = styled(Alert)`
|
const CredentialErrorAlert = styled(Alert)`
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { CredentialsAPI, CredentialTypesAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||||
import CredentialsStep from './CredentialsStep';
|
import CredentialsStep from './CredentialsStep';
|
||||||
import { CredentialsAPI, CredentialTypesAPI } from '../../../api';
|
|
||||||
|
|
||||||
jest.mock('../../../api/models/CredentialTypes');
|
jest.mock('../../../api/models/CredentialTypes');
|
||||||
jest.mock('../../../api/models/Credentials');
|
jest.mock('../../../api/models/Credentials');
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { t } from '@lingui/macro';
|
|||||||
import { useField } from 'formik';
|
import { useField } from 'formik';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Alert } from '@patternfly/react-core';
|
import { Alert } from '@patternfly/react-core';
|
||||||
import { InventoriesAPI } from '../../../api';
|
import { InventoriesAPI } from 'api';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
import useRequest from '../../../util/useRequest';
|
import useRequest from 'util/useRequest';
|
||||||
import OptionsList from '../../OptionsList';
|
import OptionsList from '../../OptionsList';
|
||||||
import ContentLoading from '../../ContentLoading';
|
import ContentLoading from '../../ContentLoading';
|
||||||
import ContentError from '../../ContentError';
|
import ContentError from '../../ContentError';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { InventoriesAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||||
import InventoryStep from './InventoryStep';
|
import InventoryStep from './InventoryStep';
|
||||||
import { InventoriesAPI } from '../../../api';
|
|
||||||
|
|
||||||
jest.mock('../../../api/models/Inventories');
|
jest.mock('../../../api/models/Inventories');
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,8 @@ import { t } from '@lingui/macro';
|
|||||||
import { useFormikContext } from 'formik';
|
import { useFormikContext } from 'formik';
|
||||||
|
|
||||||
import yaml from 'js-yaml';
|
import yaml from 'js-yaml';
|
||||||
import mergeExtraVars, {
|
import mergeExtraVars, { maskPasswords } from 'util/prompt/mergeExtraVars';
|
||||||
maskPasswords,
|
import getSurveyValues from 'util/prompt/getSurveyValues';
|
||||||
} from '../../../util/prompt/mergeExtraVars';
|
|
||||||
import getSurveyValues from '../../../util/prompt/getSurveyValues';
|
|
||||||
import PromptDetail from '../../PromptDetail';
|
import PromptDetail from '../../PromptDetail';
|
||||||
|
|
||||||
const ExclamationCircleIcon = styled(PFExclamationCircleIcon)`
|
const ExclamationCircleIcon = styled(PFExclamationCircleIcon)`
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import {
|
|||||||
SelectOption,
|
SelectOption,
|
||||||
SelectVariant,
|
SelectVariant,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import FormField from '../../FormField';
|
|
||||||
import Popover from '../../Popover';
|
|
||||||
import {
|
import {
|
||||||
required,
|
required,
|
||||||
minMaxValue,
|
minMaxValue,
|
||||||
@@ -17,8 +15,10 @@ import {
|
|||||||
minLength,
|
minLength,
|
||||||
integer,
|
integer,
|
||||||
combine,
|
combine,
|
||||||
} from '../../../util/validators';
|
} from 'util/validators';
|
||||||
import { Survey } from '../../../types';
|
import { Survey } from 'types';
|
||||||
|
import FormField from '../../FormField';
|
||||||
|
import Popover from '../../Popover';
|
||||||
|
|
||||||
function SurveyStep({ surveyConfig }) {
|
function SurveyStep({ surveyConfig }) {
|
||||||
const fieldTypes = {
|
const fieldTypes = {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { useField } from 'formik';
|
import { useField } from 'formik';
|
||||||
import { jsonToYaml, yamlToJson } from '../../../util/yaml';
|
import { jsonToYaml, yamlToJson } from 'util/yaml';
|
||||||
import OtherPromptsStep from './OtherPromptsStep';
|
import OtherPromptsStep from './OtherPromptsStep';
|
||||||
import StepName from './StepName';
|
import StepName from './StepName';
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ import PropTypes from 'prop-types';
|
|||||||
import { withRouter } from 'react-router-dom';
|
import { withRouter } from 'react-router-dom';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Toolbar, ToolbarContent } from '@patternfly/react-core';
|
import { Toolbar, ToolbarContent } from '@patternfly/react-core';
|
||||||
import DataListToolbar from '../DataListToolbar';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
parseQueryString,
|
parseQueryString,
|
||||||
mergeParams,
|
mergeParams,
|
||||||
removeParams,
|
removeParams,
|
||||||
updateQueryString,
|
updateQueryString,
|
||||||
} from '../../util/qs';
|
} from 'util/qs';
|
||||||
import { QSConfig, SearchColumns, SortColumns } from '../../types';
|
import { QSConfig, SearchColumns, SortColumns } from 'types';
|
||||||
|
import DataListToolbar from '../DataListToolbar';
|
||||||
|
|
||||||
const EmptyStateControlsWrapper = styled.div`
|
const EmptyStateControlsWrapper = styled.div`
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import { func, node, string } from 'prop-types';
|
|||||||
import { withRouter, useLocation } from 'react-router-dom';
|
import { withRouter, useLocation } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { FormGroup } from '@patternfly/react-core';
|
import { FormGroup } from '@patternfly/react-core';
|
||||||
import { ApplicationsAPI } from '../../api';
|
import { ApplicationsAPI } from 'api';
|
||||||
import { Application } from '../../types';
|
import { Application } from 'types';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('applications', {
|
const QS_CONFIG = getQSConfig('applications', {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { ApplicationsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import ApplicationLookup from './ApplicationLookup';
|
import ApplicationLookup from './ApplicationLookup';
|
||||||
import { ApplicationsAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
const application = {
|
const application = {
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ import {
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { FormGroup } from '@patternfly/react-core';
|
import { FormGroup } from '@patternfly/react-core';
|
||||||
import { CredentialsAPI } from '../../api';
|
import { CredentialsAPI } from 'api';
|
||||||
import { Credential } from '../../types';
|
import { Credential } from 'types';
|
||||||
import { getQSConfig, parseQueryString, mergeParams } from '../../util/qs';
|
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
|
||||||
|
import useAutoPopulateLookup from 'util/useAutoPopulateLookup';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useAutoPopulateLookup from '../../util/useAutoPopulateLookup';
|
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('credentials', {
|
const QS_CONFIG = getQSConfig('credentials', {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { CredentialsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import CredentialLookup, { _CredentialLookup } from './CredentialLookup';
|
import CredentialLookup, { _CredentialLookup } from './CredentialLookup';
|
||||||
import { CredentialsAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import { string, func, bool, oneOfType, number } from 'prop-types';
|
|||||||
import { useLocation } from 'react-router-dom';
|
import { useLocation } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { FormGroup, Tooltip } from '@patternfly/react-core';
|
import { FormGroup, Tooltip } from '@patternfly/react-core';
|
||||||
import { ExecutionEnvironmentsAPI, ProjectsAPI } from '../../api';
|
import { ExecutionEnvironmentsAPI, ProjectsAPI } from 'api';
|
||||||
import { ExecutionEnvironment } from '../../types';
|
import { ExecutionEnvironment } from 'types';
|
||||||
import { getQSConfig, parseQueryString, mergeParams } from '../../util/qs';
|
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
|
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { ExecutionEnvironmentsAPI, ProjectsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import ExecutionEnvironmentLookup from './ExecutionEnvironmentLookup';
|
import ExecutionEnvironmentLookup from './ExecutionEnvironmentLookup';
|
||||||
import { ExecutionEnvironmentsAPI, ProjectsAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -14,15 +14,15 @@ import {
|
|||||||
Modal,
|
Modal,
|
||||||
Tooltip,
|
Tooltip,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
|
import { HostsAPI } from 'api';
|
||||||
|
import { getQSConfig, mergeParams, parseQueryString } from 'util/qs';
|
||||||
|
import useRequest, { useDismissableError } from 'util/useRequest';
|
||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import DataListToolbar from '../DataListToolbar';
|
import DataListToolbar from '../DataListToolbar';
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
import PaginatedTable, { HeaderCell, HeaderRow } from '../PaginatedTable';
|
import PaginatedTable, { HeaderCell, HeaderRow } from '../PaginatedTable';
|
||||||
import HostListItem from './HostListItem';
|
import HostListItem from './HostListItem';
|
||||||
import { HostsAPI } from '../../api';
|
|
||||||
import { getQSConfig, mergeParams, parseQueryString } from '../../util/qs';
|
|
||||||
import useRequest, { useDismissableError } from '../../util/useRequest';
|
|
||||||
import {
|
import {
|
||||||
removeDefaultParams,
|
removeDefaultParams,
|
||||||
removeNamespacedKeys,
|
removeNamespacedKeys,
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ import { withRouter } from 'react-router-dom';
|
|||||||
|
|
||||||
import { t, Trans } from '@lingui/macro';
|
import { t, Trans } from '@lingui/macro';
|
||||||
import { FormGroup } from '@patternfly/react-core';
|
import { FormGroup } from '@patternfly/react-core';
|
||||||
import { InstanceGroupsAPI } from '../../api';
|
import { InstanceGroupsAPI } from 'api';
|
||||||
import { InstanceGroup } from '../../types';
|
import { InstanceGroup } from 'types';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
import Popover from '../Popover';
|
import Popover from '../Popover';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ import React, { useCallback, useEffect } from 'react';
|
|||||||
import { func, bool, string } from 'prop-types';
|
import { func, bool, string } from 'prop-types';
|
||||||
import { withRouter } from 'react-router-dom';
|
import { withRouter } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { InventoriesAPI } from '../../api';
|
import { InventoriesAPI } from 'api';
|
||||||
import { Inventory } from '../../types';
|
import { Inventory } from 'types';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { getQSConfig, parseQueryString, mergeParams } from 'util/qs';
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import { getQSConfig, parseQueryString, mergeParams } from '../../util/qs';
|
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
import FieldWithPrompt from '../FieldWithPrompt';
|
import FieldWithPrompt from '../FieldWithPrompt';
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { InventoriesAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import InventoryLookup from './InventoryLookup';
|
import InventoryLookup from './InventoryLookup';
|
||||||
import { InventoriesAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ import {
|
|||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import useDebounce from '../../util/useDebounce';
|
import useDebounce from 'util/useDebounce';
|
||||||
|
import { QSConfig } from 'types';
|
||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
import reducer, { initReducer } from './shared/reducer';
|
import reducer, { initReducer } from './shared/reducer';
|
||||||
import { QSConfig } from '../../types';
|
|
||||||
|
|
||||||
const ChipHolder = styled.div`
|
const ChipHolder = styled.div`
|
||||||
--pf-c-form-control--Height: auto;
|
--pf-c-form-control--Height: auto;
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { getQSConfig } from 'util/qs';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { getQSConfig } from '../../util/qs';
|
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ import { withRouter } from 'react-router-dom';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { ToolbarItem, Alert } from '@patternfly/react-core';
|
import { ToolbarItem, Alert } from '@patternfly/react-core';
|
||||||
import { CredentialsAPI, CredentialTypesAPI } from '../../api';
|
import { CredentialsAPI, CredentialTypesAPI } from 'api';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useIsMounted from 'util/useIsMounted';
|
||||||
import AnsibleSelect from '../AnsibleSelect';
|
import AnsibleSelect from '../AnsibleSelect';
|
||||||
import CredentialChip from '../CredentialChip';
|
import CredentialChip from '../CredentialChip';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import useIsMounted from '../../util/useIsMounted';
|
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('credentials', {
|
const QS_CONFIG = getQSConfig('credentials', {
|
||||||
page: 1,
|
page: 1,
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { CredentialsAPI, CredentialTypesAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import MultiCredentialsLookup from './MultiCredentialsLookup';
|
import MultiCredentialsLookup from './MultiCredentialsLookup';
|
||||||
import { CredentialsAPI, CredentialTypesAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import { node, func, bool, string } from 'prop-types';
|
|||||||
import { withRouter } from 'react-router-dom';
|
import { withRouter } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { FormGroup } from '@patternfly/react-core';
|
import { FormGroup } from '@patternfly/react-core';
|
||||||
import { OrganizationsAPI } from '../../api';
|
import { OrganizationsAPI } from 'api';
|
||||||
import { Organization } from '../../types';
|
import { Organization } from 'types';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
import useRequest from '../../util/useRequest';
|
import useRequest from 'util/useRequest';
|
||||||
import useAutoPopulateLookup from '../../util/useAutoPopulateLookup';
|
import useAutoPopulateLookup from 'util/useAutoPopulateLookup';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { OrganizationsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import OrganizationLookup, { _OrganizationLookup } from './OrganizationLookup';
|
import OrganizationLookup, { _OrganizationLookup } from './OrganizationLookup';
|
||||||
import { OrganizationsAPI } from '../../api';
|
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import { node, string, func, bool } from 'prop-types';
|
|||||||
import { withRouter } from 'react-router-dom';
|
import { withRouter } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { FormGroup } from '@patternfly/react-core';
|
import { FormGroup } from '@patternfly/react-core';
|
||||||
import { ProjectsAPI } from '../../api';
|
import { ProjectsAPI } from 'api';
|
||||||
import { Project } from '../../types';
|
import { Project } from 'types';
|
||||||
import Popover from '../Popover';
|
import useAutoPopulateLookup from 'util/useAutoPopulateLookup';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
import OptionsList from '../OptionsList';
|
import OptionsList from '../OptionsList';
|
||||||
import useAutoPopulateLookup from '../../util/useAutoPopulateLookup';
|
import Popover from '../Popover';
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import Lookup from './Lookup';
|
import Lookup from './Lookup';
|
||||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { ProjectsAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import { ProjectsAPI } from '../../api';
|
|
||||||
import ProjectLookup from './ProjectLookup';
|
import ProjectLookup from './ProjectLookup';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
|
|||||||
import { func, string } from 'prop-types';
|
import { func, string } from 'prop-types';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core';
|
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core';
|
||||||
import { arrayToString, stringToArray } from '../../util/strings';
|
import { arrayToString, stringToArray } from 'util/strings';
|
||||||
|
|
||||||
function TagMultiSelect({ onChange, value }) {
|
function TagMultiSelect({ onChange, value }) {
|
||||||
const selections = stringToArray(value);
|
const selections = stringToArray(value);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import useIsMounted from '../../util/useIsMounted';
|
import useIsMounted from 'util/useIsMounted';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Hook for using PatternFly's <Select> component when a pre-existing value
|
Hook for using PatternFly's <Select> component when a pre-existing value
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import { useLocation } from 'react-router-dom';
|
|||||||
import { number, shape, bool } from 'prop-types';
|
import { number, shape, bool } from 'prop-types';
|
||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
|
import { NotificationTemplatesAPI } from 'api';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import NotificationListItem from './NotificationListItem';
|
import NotificationListItem from './NotificationListItem';
|
||||||
import PaginatedTable, { HeaderRow, HeaderCell } from '../PaginatedTable';
|
import PaginatedTable, { HeaderRow, HeaderCell } from '../PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
import { NotificationTemplatesAPI } from '../../api';
|
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('notification', {
|
const QS_CONFIG = getQSConfig('notification', {
|
||||||
page: 1,
|
page: 1,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
import { NotificationTemplatesAPI, JobTemplatesAPI } from 'api';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import { NotificationTemplatesAPI, JobTemplatesAPI } from '../../api';
|
|
||||||
import NotificationList from './NotificationList';
|
import NotificationList from './NotificationList';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import {
|
|||||||
} from 'prop-types';
|
} from 'prop-types';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
|
import { QSConfig, SearchColumns, SortColumns } from 'types';
|
||||||
import { SelectedList, DraggableSelectedList } from '../SelectedList';
|
import { SelectedList, DraggableSelectedList } from '../SelectedList';
|
||||||
import CheckboxListItem from '../CheckboxListItem';
|
import CheckboxListItem from '../CheckboxListItem';
|
||||||
import DataListToolbar from '../DataListToolbar';
|
import DataListToolbar from '../DataListToolbar';
|
||||||
import { QSConfig, SearchColumns, SortColumns } from '../../types';
|
|
||||||
import PaginatedTable, { HeaderCell, HeaderRow } from '../PaginatedTable';
|
import PaginatedTable, { HeaderCell, HeaderRow } from '../PaginatedTable';
|
||||||
|
|
||||||
const ModalList = styled.div`
|
const ModalList = styled.div`
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import { getQSConfig } from 'util/qs';
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||||
import { getQSConfig } from '../../util/qs';
|
|
||||||
import OptionsList from './OptionsList';
|
import OptionsList from './OptionsList';
|
||||||
|
|
||||||
const qsConfig = getQSConfig('test', { order_by: 'foo' });
|
const qsConfig = getQSConfig('test', { order_by: 'foo' });
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import React from 'react';
|
|||||||
import { useLocation, useHistory } from 'react-router-dom';
|
import { useLocation, useHistory } from 'react-router-dom';
|
||||||
import { Thead, Tr, Th as PFTh } from '@patternfly/react-table';
|
import { Thead, Tr, Th as PFTh } from '@patternfly/react-table';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { parseQueryString, updateQueryString } from '../../util/qs';
|
import { parseQueryString, updateQueryString } from 'util/qs';
|
||||||
|
|
||||||
const Th = styled(PFTh)`
|
const Th = styled(PFTh)`
|
||||||
--pf-c-table--cell--Overflow: initial;
|
--pf-c-table--cell--Overflow: initial;
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import { TableComposable, Tbody } from '@patternfly/react-table';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { useLocation, useHistory } from 'react-router-dom';
|
import { useLocation, useHistory } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { parseQueryString, updateQueryString } from 'util/qs';
|
||||||
|
import { QSConfig, SearchColumns } from 'types';
|
||||||
import ListHeader from '../ListHeader';
|
import ListHeader from '../ListHeader';
|
||||||
import ContentEmpty from '../ContentEmpty';
|
import ContentEmpty from '../ContentEmpty';
|
||||||
import ContentError from '../ContentError';
|
import ContentError from '../ContentError';
|
||||||
@@ -14,9 +16,6 @@ import Pagination from '../Pagination';
|
|||||||
import DataListToolbar from '../DataListToolbar';
|
import DataListToolbar from '../DataListToolbar';
|
||||||
import LoadingSpinner from '../LoadingSpinner';
|
import LoadingSpinner from '../LoadingSpinner';
|
||||||
|
|
||||||
import { parseQueryString, updateQueryString } from '../../util/qs';
|
|
||||||
import { QSConfig, SearchColumns } from '../../types';
|
|
||||||
|
|
||||||
function PaginatedTable({
|
function PaginatedTable({
|
||||||
contentError,
|
contentError,
|
||||||
hasContentLoading,
|
hasContentLoading,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { Button, DropdownItem, Tooltip } from '@patternfly/react-core';
|
|||||||
import CaretDownIcon from '@patternfly/react-icons/dist/js/icons/caret-down-icon';
|
import CaretDownIcon from '@patternfly/react-icons/dist/js/icons/caret-down-icon';
|
||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { useKebabifiedMenu } from '../../contexts/Kebabified';
|
import { useKebabifiedMenu } from 'contexts/Kebabified';
|
||||||
|
|
||||||
function ToolbarAddButton({
|
function ToolbarAddButton({
|
||||||
linkTo,
|
linkTo,
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ import {
|
|||||||
Tooltip,
|
Tooltip,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
|
import { KebabifiedContext } from 'contexts/Kebabified';
|
||||||
|
import { getRelatedResourceDeleteCounts } from 'util/getRelatedResourceDeleteDetails';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import { KebabifiedContext } from '../../contexts/Kebabified';
|
|
||||||
import { getRelatedResourceDeleteCounts } from '../../util/getRelatedResourceDeleteDetails';
|
|
||||||
|
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
|
||||||
|
import { CredentialsAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
import { CredentialsAPI } from '../../api';
|
|
||||||
import ToolbarDeleteButton from './ToolbarDeleteButton';
|
import ToolbarDeleteButton from './ToolbarDeleteButton';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { t, Trans } from '@lingui/macro';
|
|||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Chip, Divider, Title } from '@patternfly/react-core';
|
import { Chip, Divider, Title } from '@patternfly/react-core';
|
||||||
import { toTitleCase } from '../../util/strings';
|
import { toTitleCase } from 'util/strings';
|
||||||
|
|
||||||
import CredentialChip from '../CredentialChip';
|
import CredentialChip from '../CredentialChip';
|
||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ import {
|
|||||||
TextListVariants,
|
TextListVariants,
|
||||||
TextListItemVariants,
|
TextListItemVariants,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
|
import { toTitleCase } from 'util/strings';
|
||||||
import CredentialChip from '../CredentialChip';
|
import CredentialChip from '../CredentialChip';
|
||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
import Sparkline from '../Sparkline';
|
import Sparkline from '../Sparkline';
|
||||||
import { Detail, DeletedDetail } from '../DetailList';
|
import { Detail, DeletedDetail } from '../DetailList';
|
||||||
import { VariablesDetail } from '../CodeEditor';
|
import { VariablesDetail } from '../CodeEditor';
|
||||||
import ExecutionEnvironmentDetail from '../ExecutionEnvironmentDetail';
|
import ExecutionEnvironmentDetail from '../ExecutionEnvironmentDetail';
|
||||||
import { toTitleCase } from '../../util/strings';
|
|
||||||
|
|
||||||
function PromptJobTemplateDetail({ resource }) {
|
function PromptJobTemplateDetail({ resource }) {
|
||||||
const {
|
const {
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ import {
|
|||||||
TextListItemVariants,
|
TextListItemVariants,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import { Config } from '../../contexts/Config';
|
import { Config } from 'contexts/Config';
|
||||||
|
import { toTitleCase } from 'util/strings';
|
||||||
import { Detail, DeletedDetail } from '../DetailList';
|
import { Detail, DeletedDetail } from '../DetailList';
|
||||||
import CredentialChip from '../CredentialChip';
|
import CredentialChip from '../CredentialChip';
|
||||||
import { toTitleCase } from '../../util/strings';
|
|
||||||
import ExecutionEnvironmentDetail from '../ExecutionEnvironmentDetail';
|
import ExecutionEnvironmentDetail from '../ExecutionEnvironmentDetail';
|
||||||
|
|
||||||
function PromptProjectDetail({ resource }) {
|
function PromptProjectDetail({ resource }) {
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ import {
|
|||||||
TextListVariants,
|
TextListVariants,
|
||||||
TextListItemVariants,
|
TextListItemVariants,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
|
import { toTitleCase } from 'util/strings';
|
||||||
import CredentialChip from '../CredentialChip';
|
import CredentialChip from '../CredentialChip';
|
||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
import { Detail } from '../DetailList';
|
import { Detail } from '../DetailList';
|
||||||
import { VariablesDetail } from '../CodeEditor';
|
import { VariablesDetail } from '../CodeEditor';
|
||||||
import Sparkline from '../Sparkline';
|
import Sparkline from '../Sparkline';
|
||||||
import { toTitleCase } from '../../util/strings';
|
|
||||||
|
|
||||||
function PromptWFJobTemplateDetail({ resource }) {
|
function PromptWFJobTemplateDetail({ resource }) {
|
||||||
const {
|
const {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import { Button } from '@patternfly/react-core';
|
|||||||
|
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
|
|
||||||
|
import { Role } from 'types';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import { Role } from '../../types';
|
|
||||||
|
|
||||||
function DeleteRoleConfirmationModal({ role, username, onCancel, onConfirm }) {
|
function DeleteRoleConfirmationModal({ role, username, onCancel, onConfirm }) {
|
||||||
const isTeamRole = () => {
|
const isTeamRole = () => {
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import React, { useCallback, useEffect, useState } from 'react';
|
import React, { useCallback, useEffect, useState } from 'react';
|
||||||
import { useLocation } from 'react-router-dom';
|
import { useLocation } from 'react-router-dom';
|
||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import { RolesAPI, TeamsAPI, UsersAPI } from '../../api';
|
import { RolesAPI, TeamsAPI, UsersAPI } from 'api';
|
||||||
|
import { getQSConfig, parseQueryString } from 'util/qs';
|
||||||
|
import useRequest, { useDeleteItems } from 'util/useRequest';
|
||||||
import AddResourceRole from '../AddRole/AddResourceRole';
|
import AddResourceRole from '../AddRole/AddResourceRole';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import DataListToolbar from '../DataListToolbar';
|
import DataListToolbar from '../DataListToolbar';
|
||||||
@@ -10,8 +12,6 @@ import PaginatedTable, {
|
|||||||
HeaderCell,
|
HeaderCell,
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
} from '../PaginatedTable';
|
} from '../PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
|
||||||
import useRequest, { useDeleteItems } from '../../util/useRequest';
|
|
||||||
import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal';
|
import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal';
|
||||||
import ResourceAccessListItem from './ResourceAccessListItem';
|
import ResourceAccessListItem from './ResourceAccessListItem';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { createMemoryHistory } from 'history';
|
import { createMemoryHistory } from 'history';
|
||||||
|
import { OrganizationsAPI, TeamsAPI, UsersAPI, RolesAPI } from 'api';
|
||||||
import {
|
import {
|
||||||
mountWithContexts,
|
mountWithContexts,
|
||||||
waitForElement,
|
waitForElement,
|
||||||
} from '../../../testUtils/enzymeHelpers';
|
} from '../../../testUtils/enzymeHelpers';
|
||||||
|
|
||||||
import { OrganizationsAPI, TeamsAPI, UsersAPI, RolesAPI } from '../../api';
|
|
||||||
|
|
||||||
import ResourceAccessList from './ResourceAccessList';
|
import ResourceAccessList from './ResourceAccessList';
|
||||||
|
|
||||||
jest.mock('../../api');
|
jest.mock('../../api');
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import { Chip } from '@patternfly/react-core';
|
|||||||
import { Tr, Td } from '@patternfly/react-table';
|
import { Tr, Td } from '@patternfly/react-table';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { AccessRecord } from 'types';
|
||||||
import ChipGroup from '../ChipGroup';
|
import ChipGroup from '../ChipGroup';
|
||||||
import { DetailList, Detail } from '../DetailList';
|
import { DetailList, Detail } from '../DetailList';
|
||||||
import { AccessRecord } from '../../types';
|
|
||||||
|
|
||||||
function ResourceAccessListItem({ accessRecord, onRoleDelete }) {
|
function ResourceAccessListItem({ accessRecord, onRoleDelete }) {
|
||||||
ResourceAccessListItem.propTypes = {
|
ResourceAccessListItem.propTypes = {
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ import {
|
|||||||
useParams,
|
useParams,
|
||||||
} from 'react-router-dom';
|
} from 'react-router-dom';
|
||||||
import { CaretLeftIcon } from '@patternfly/react-icons';
|
import { CaretLeftIcon } from '@patternfly/react-icons';
|
||||||
|
import { SchedulesAPI } from 'api';
|
||||||
|
import useRequest from 'util/useRequest';
|
||||||
import RoutedTabs from '../RoutedTabs';
|
import RoutedTabs from '../RoutedTabs';
|
||||||
import ContentError from '../ContentError';
|
import ContentError from '../ContentError';
|
||||||
import ContentLoading from '../ContentLoading';
|
import ContentLoading from '../ContentLoading';
|
||||||
import ScheduleDetail from './ScheduleDetail';
|
import ScheduleDetail from './ScheduleDetail';
|
||||||
import ScheduleEdit from './ScheduleEdit';
|
import ScheduleEdit from './ScheduleEdit';
|
||||||
import { SchedulesAPI } from '../../api';
|
|
||||||
import useRequest from '../../util/useRequest';
|
|
||||||
|
|
||||||
function Schedule({
|
function Schedule({
|
||||||
setBreadcrumb,
|
setBreadcrumb,
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user