mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 18:07:36 -02:30
Rename useSelected hook and update error modal condition
This commit is contained in:
@@ -6,7 +6,7 @@ import { Button, Modal } from '@patternfly/react-core';
|
|||||||
import OptionsList from '@components/Lookup/shared/OptionsList';
|
import OptionsList from '@components/Lookup/shared/OptionsList';
|
||||||
import useRequest from '@util/useRequest';
|
import useRequest from '@util/useRequest';
|
||||||
import { getQSConfig, parseQueryString } from '@util/qs';
|
import { getQSConfig, parseQueryString } from '@util/qs';
|
||||||
import useSelect from '@util/useSelect';
|
import useSelected from '@util/useSelected';
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('associate', {
|
const QS_CONFIG = getQSConfig('associate', {
|
||||||
page: 1,
|
page: 1,
|
||||||
@@ -24,7 +24,7 @@ function AssociateModal({
|
|||||||
isModalOpen = false,
|
isModalOpen = false,
|
||||||
}) {
|
}) {
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
const { selected, handleSelect } = useSelect([]);
|
const { selected, handleSelect } = useSelected([]);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
request: fetchItems,
|
request: fetchItems,
|
||||||
@@ -101,7 +101,7 @@ function AssociateModal({
|
|||||||
>
|
>
|
||||||
<OptionsList
|
<OptionsList
|
||||||
contentError={contentError}
|
contentError={contentError}
|
||||||
deselectItem={item => handleSelect(item)}
|
deselectItem={handleSelect}
|
||||||
header={header}
|
header={header}
|
||||||
isLoading={isLoading}
|
isLoading={isLoading}
|
||||||
multiple
|
multiple
|
||||||
@@ -109,7 +109,7 @@ function AssociateModal({
|
|||||||
options={items}
|
options={items}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
readOnly={false}
|
readOnly={false}
|
||||||
selectItem={item => handleSelect(item)}
|
selectItem={handleSelect}
|
||||||
value={selected}
|
value={selected}
|
||||||
searchColumns={[
|
searchColumns={[
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import useRequest, {
|
|||||||
useDeleteItems,
|
useDeleteItems,
|
||||||
useDismissableError,
|
useDismissableError,
|
||||||
} from '@util/useRequest';
|
} from '@util/useRequest';
|
||||||
import useSelect from '@util/useSelect';
|
import useSelected from '@util/useSelected';
|
||||||
import AlertModal from '@components/AlertModal';
|
import AlertModal from '@components/AlertModal';
|
||||||
import DataListToolbar from '@components/DataListToolbar';
|
import DataListToolbar from '@components/DataListToolbar';
|
||||||
import ErrorDetail from '@components/ErrorDetail';
|
import ErrorDetail from '@components/ErrorDetail';
|
||||||
@@ -56,7 +56,7 @@ function InventoryGroupHostList({ i18n }) {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelect(
|
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
||||||
hosts
|
hosts
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -211,7 +211,7 @@ function InventoryGroupHostList({ i18n }) {
|
|||||||
title={i18n._(t`Select Hosts`)}
|
title={i18n._(t`Select Hosts`)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{(associateError || disassociateError) && (
|
{error && (
|
||||||
<AlertModal
|
<AlertModal
|
||||||
isOpen={error}
|
isOpen={error}
|
||||||
onClose={dismissError}
|
onClose={dismissError}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* useSelect hook provides a way to read and update a selected list
|
* useSelected hook provides a way to read and update a selected list
|
||||||
* Param: array of list items
|
* Param: array of list items
|
||||||
* Returns: {
|
* Returns: {
|
||||||
* selected: array of selected list items
|
* selected: array of selected list items
|
||||||
@@ -11,7 +11,7 @@ import { useState } from 'react';
|
|||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export default function useSelect(list = []) {
|
export default function useSelected(list = []) {
|
||||||
const [selected, setSelected] = useState([]);
|
const [selected, setSelected] = useState([]);
|
||||||
const isAllSelected = selected.length > 0 && selected.length === list.length;
|
const isAllSelected = selected.length > 0 && selected.length === list.length;
|
||||||
|
|
||||||
@@ -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 { mount } from 'enzyme';
|
import { mount } from 'enzyme';
|
||||||
import useSelect from './useSelect';
|
import useSelected from './useSelected';
|
||||||
|
|
||||||
const array = [{ id: '1' }, { id: '2' }, { id: '3' }];
|
const array = [{ id: '1' }, { id: '2' }, { id: '3' }];
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ const testHook = callback => {
|
|||||||
mount(<TestHook callback={callback} />);
|
mount(<TestHook callback={callback} />);
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('useSelect hook', () => {
|
describe('useSelected hook', () => {
|
||||||
let selected;
|
let selected;
|
||||||
let isAllSelected;
|
let isAllSelected;
|
||||||
let handleSelect;
|
let handleSelect;
|
||||||
@@ -22,7 +22,7 @@ describe('useSelect hook', () => {
|
|||||||
|
|
||||||
test('should return expected initial values', () => {
|
test('should return expected initial values', () => {
|
||||||
testHook(() => {
|
testHook(() => {
|
||||||
({ selected, isAllSelected, handleSelect, setSelected } = useSelect());
|
({ selected, isAllSelected, handleSelect, setSelected } = useSelected());
|
||||||
});
|
});
|
||||||
expect(selected).toEqual([]);
|
expect(selected).toEqual([]);
|
||||||
expect(isAllSelected).toEqual(false);
|
expect(isAllSelected).toEqual(false);
|
||||||
@@ -32,7 +32,7 @@ describe('useSelect hook', () => {
|
|||||||
|
|
||||||
test('handleSelect should update and filter selected items', () => {
|
test('handleSelect should update and filter selected items', () => {
|
||||||
testHook(() => {
|
testHook(() => {
|
||||||
({ selected, isAllSelected, handleSelect, setSelected } = useSelect());
|
({ selected, isAllSelected, handleSelect, setSelected } = useSelected());
|
||||||
});
|
});
|
||||||
|
|
||||||
act(() => {
|
act(() => {
|
||||||
@@ -48,7 +48,7 @@ describe('useSelect hook', () => {
|
|||||||
|
|
||||||
test('should return expected isAllSelected value', () => {
|
test('should return expected isAllSelected value', () => {
|
||||||
testHook(() => {
|
testHook(() => {
|
||||||
({ selected, isAllSelected, handleSelect, setSelected } = useSelect(
|
({ selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
||||||
array
|
array
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user