mirror of
https://github.com/ansible/awx.git
synced 2026-05-07 01:17:37 -02:30
update remaining lists to clear selection on pagination/search/sort
This commit is contained in:
@@ -90,7 +90,6 @@ function JobList({ defaultParams, showTypeColumn = false }) {
|
|||||||
selected,
|
selected,
|
||||||
isAllSelected,
|
isAllSelected,
|
||||||
handleSelect,
|
handleSelect,
|
||||||
setSelected,
|
|
||||||
selectAll,
|
selectAll,
|
||||||
clearSelected,
|
clearSelected,
|
||||||
} = useSelected(jobs);
|
} = useSelected(jobs);
|
||||||
@@ -140,12 +139,12 @@ function JobList({ defaultParams, showTypeColumn = false }) {
|
|||||||
|
|
||||||
const handleJobCancel = async () => {
|
const handleJobCancel = async () => {
|
||||||
await cancelJobs();
|
await cancelJobs();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleJobDelete = async () => {
|
const handleJobDelete = async () => {
|
||||||
await deleteJobs();
|
await deleteJobs();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const cannotDeleteItems = selected.filter(job => isJobRunning(job.status));
|
const cannotDeleteItems = selected.filter(job => isJobRunning(job.status));
|
||||||
|
|||||||
@@ -77,9 +77,13 @@ function ApplicationsList() {
|
|||||||
fetchApplications();
|
fetchApplications();
|
||||||
}, [fetchApplications]);
|
}, [fetchApplications]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
applications
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(applications);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: deleteLoading,
|
isLoading: deleteLoading,
|
||||||
@@ -99,7 +103,7 @@ function ApplicationsList() {
|
|||||||
|
|
||||||
const handleDeleteApplications = async () => {
|
const handleDeleteApplications = async () => {
|
||||||
await deleteApplications();
|
await deleteApplications();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const canAdd = actions && actions.POST;
|
const canAdd = actions && actions.POST;
|
||||||
@@ -115,7 +119,7 @@ function ApplicationsList() {
|
|||||||
itemCount={itemCount}
|
itemCount={itemCount}
|
||||||
pluralizedItemName={t`Applications`}
|
pluralizedItemName={t`Applications`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Name`,
|
name: t`Name`,
|
||||||
@@ -134,9 +138,7 @@ function ApplicationsList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...applications] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -77,9 +77,13 @@ function CredentialTypeList() {
|
|||||||
fetchCredentialTypes();
|
fetchCredentialTypes();
|
||||||
}, [fetchCredentialTypes]);
|
}, [fetchCredentialTypes]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
credentialTypes
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(credentialTypes);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: deleteLoading,
|
isLoading: deleteLoading,
|
||||||
@@ -101,7 +105,7 @@ function CredentialTypeList() {
|
|||||||
|
|
||||||
const handleDelete = async () => {
|
const handleDelete = async () => {
|
||||||
await deleteCredentialTypes();
|
await deleteCredentialTypes();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const canAdd = actions && actions.POST;
|
const canAdd = actions && actions.POST;
|
||||||
@@ -121,7 +125,7 @@ function CredentialTypeList() {
|
|||||||
itemCount={credentialTypesCount}
|
itemCount={credentialTypesCount}
|
||||||
pluralizedItemName={t`Credential Types`}
|
pluralizedItemName={t`Credential Types`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Name`,
|
name: t`Name`,
|
||||||
@@ -148,9 +152,7 @@ function CredentialTypeList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...credentialTypes] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -76,9 +76,13 @@ function ExecutionEnvironmentList() {
|
|||||||
fetchExecutionEnvironments();
|
fetchExecutionEnvironments();
|
||||||
}, [fetchExecutionEnvironments]);
|
}, [fetchExecutionEnvironments]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
executionEnvironments
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(executionEnvironments);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: deleteLoading,
|
isLoading: deleteLoading,
|
||||||
@@ -100,7 +104,7 @@ function ExecutionEnvironmentList() {
|
|||||||
|
|
||||||
const handleDelete = async () => {
|
const handleDelete = async () => {
|
||||||
await deleteExecutionEnvironments();
|
await deleteExecutionEnvironments();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const canAdd = actions && actions.POST;
|
const canAdd = actions && actions.POST;
|
||||||
@@ -119,7 +123,7 @@ function ExecutionEnvironmentList() {
|
|||||||
itemCount={executionEnvironmentsCount}
|
itemCount={executionEnvironmentsCount}
|
||||||
pluralizedItemName={t`Execution Environments`}
|
pluralizedItemName={t`Execution Environments`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchableKeys={searchableKeys}
|
toolbarSearchableKeys={searchableKeys}
|
||||||
toolbarRelatedSearchableKeys={relatedSearchableKeys}
|
toolbarRelatedSearchableKeys={relatedSearchableKeys}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
@@ -164,9 +168,7 @@ function ExecutionEnvironmentList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...executionEnvironments] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -92,9 +92,13 @@ function InstanceGroupList() {
|
|||||||
fetchInstanceGroups();
|
fetchInstanceGroups();
|
||||||
}, [fetchInstanceGroups]);
|
}, [fetchInstanceGroups]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
instanceGroups
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(instanceGroups);
|
||||||
|
|
||||||
const modifiedSelected = modifyInstanceGroups(selected);
|
const modifiedSelected = modifyInstanceGroups(selected);
|
||||||
|
|
||||||
@@ -118,7 +122,7 @@ function InstanceGroupList() {
|
|||||||
|
|
||||||
const handleDelete = async () => {
|
const handleDelete = async () => {
|
||||||
await deleteInstanceGroups();
|
await deleteInstanceGroups();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const canAdd = actions && actions.POST;
|
const canAdd = actions && actions.POST;
|
||||||
@@ -201,7 +205,7 @@ function InstanceGroupList() {
|
|||||||
itemCount={instanceGroupsCount}
|
itemCount={instanceGroupsCount}
|
||||||
pluralizedItemName={pluralizedItemName}
|
pluralizedItemName={pluralizedItemName}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchableKeys={searchableKeys}
|
toolbarSearchableKeys={searchableKeys}
|
||||||
toolbarRelatedSearchableKeys={relatedSearchableKeys}
|
toolbarRelatedSearchableKeys={relatedSearchableKeys}
|
||||||
renderToolbar={props => (
|
renderToolbar={props => (
|
||||||
@@ -209,9 +213,7 @@ function InstanceGroupList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...instanceGroups] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd ? [addButton] : []),
|
...(canAdd ? [addButton] : []),
|
||||||
|
|||||||
@@ -77,9 +77,13 @@ function InventoryGroupsList() {
|
|||||||
fetchData();
|
fetchData();
|
||||||
}, [fetchData]);
|
}, [fetchData]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
groups
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(groups);
|
||||||
|
|
||||||
const renderTooltip = () => {
|
const renderTooltip = () => {
|
||||||
const itemsUnableToDelete = selected
|
const itemsUnableToDelete = selected
|
||||||
@@ -111,7 +115,7 @@ function InventoryGroupsList() {
|
|||||||
items={groups}
|
items={groups}
|
||||||
itemCount={groupCount}
|
itemCount={groupCount}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Name`,
|
name: t`Name`,
|
||||||
@@ -159,9 +163,7 @@ function InventoryGroupsList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...groups] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
@@ -185,7 +187,7 @@ function InventoryGroupsList() {
|
|||||||
}
|
}
|
||||||
onAfterDelete={() => {
|
onAfterDelete={() => {
|
||||||
fetchData();
|
fetchData();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Tooltip>,
|
</Tooltip>,
|
||||||
|
|||||||
@@ -84,9 +84,13 @@ function InventoryHostGroupsList() {
|
|||||||
fetchGroups();
|
fetchGroups();
|
||||||
}, [fetchGroups]);
|
}, [fetchGroups]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
groups
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(groups);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: isDisassociateLoading,
|
isLoading: isDisassociateLoading,
|
||||||
@@ -107,7 +111,7 @@ function InventoryHostGroupsList() {
|
|||||||
|
|
||||||
const handleDisassociate = async () => {
|
const handleDisassociate = async () => {
|
||||||
await disassociateHosts();
|
await disassociateHosts();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchGroupsToAssociate = useCallback(
|
const fetchGroupsToAssociate = useCallback(
|
||||||
@@ -156,7 +160,7 @@ function InventoryHostGroupsList() {
|
|||||||
items={groups}
|
items={groups}
|
||||||
itemCount={itemCount}
|
itemCount={itemCount}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Name`,
|
name: t`Name`,
|
||||||
@@ -195,9 +199,7 @@ function InventoryHostGroupsList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...groups] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -83,9 +83,13 @@ function InventorySourceList() {
|
|||||||
fetchSources();
|
fetchSources();
|
||||||
}, [fetchSources]);
|
}, [fetchSources]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
sources
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(sources);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: isDeleteLoading,
|
isLoading: isDeleteLoading,
|
||||||
@@ -140,7 +144,7 @@ function InventorySourceList() {
|
|||||||
if (!deleteRelatedResourcesError) {
|
if (!deleteRelatedResourcesError) {
|
||||||
await handleDeleteSources();
|
await handleDeleteSources();
|
||||||
}
|
}
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
const canAdd =
|
const canAdd =
|
||||||
sourceChoicesOptions &&
|
sourceChoicesOptions &&
|
||||||
@@ -164,14 +168,13 @@ function InventorySourceList() {
|
|||||||
itemCount={sourceCount}
|
itemCount={sourceCount}
|
||||||
pluralizedItemName={t`Inventory Sources`}
|
pluralizedItemName={t`Inventory Sources`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
|
clearSelected={clearSelected}
|
||||||
renderToolbar={props => (
|
renderToolbar={props => (
|
||||||
<DatalistToolbar
|
<DatalistToolbar
|
||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...sources] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -82,9 +82,13 @@ function NotificationTemplatesList() {
|
|||||||
fetchTemplates();
|
fetchTemplates();
|
||||||
}, [fetchTemplates]);
|
}, [fetchTemplates]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
templates
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(templates);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: isDeleteLoading,
|
isLoading: isDeleteLoading,
|
||||||
@@ -106,7 +110,7 @@ function NotificationTemplatesList() {
|
|||||||
|
|
||||||
const handleDelete = async () => {
|
const handleDelete = async () => {
|
||||||
await deleteTemplates();
|
await deleteTemplates();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const addTestToast = useCallback(notification => {
|
const addTestToast = useCallback(notification => {
|
||||||
@@ -133,7 +137,7 @@ function NotificationTemplatesList() {
|
|||||||
itemCount={count}
|
itemCount={count}
|
||||||
pluralizedItemName={t`Notification Templates`}
|
pluralizedItemName={t`Notification Templates`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Name`,
|
name: t`Name`,
|
||||||
@@ -176,7 +180,7 @@ function NotificationTemplatesList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={set => setSelected(set ? [...templates] : [])}
|
onSelectAll={selectAll}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ function SubscriptionModal({
|
|||||||
[]
|
[]
|
||||||
);
|
);
|
||||||
|
|
||||||
const { selected, handleSelect } = useSelected(subscriptions);
|
const { selected, setSelected } = useSelected(subscriptions);
|
||||||
|
|
||||||
function handleConfirm() {
|
function handleConfirm() {
|
||||||
const [subscription] = selected;
|
const [subscription] = selected;
|
||||||
@@ -64,6 +64,14 @@ function SubscriptionModal({
|
|||||||
fetchSubscriptions();
|
fetchSubscriptions();
|
||||||
}, [fetchSubscriptions]);
|
}, [fetchSubscriptions]);
|
||||||
|
|
||||||
|
const handleSelect = item => {
|
||||||
|
if (selected.some(s => s.pool_id === item.pool_id)) {
|
||||||
|
setSelected(selected.filter(s => s.pool_id !== item.pool_id));
|
||||||
|
} else {
|
||||||
|
setSelected(selected.concat(item));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (selectedSubscription?.pool_id) {
|
if (selectedSubscription?.pool_id) {
|
||||||
handleSelect({ pool_id: selectedSubscription.pool_id });
|
handleSelect({ pool_id: selectedSubscription.pool_id });
|
||||||
|
|||||||
@@ -73,9 +73,13 @@ function UserList() {
|
|||||||
fetchUsers();
|
fetchUsers();
|
||||||
}, [fetchUsers]);
|
}, [fetchUsers]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
users
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(users);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: isDeleteLoading,
|
isLoading: isDeleteLoading,
|
||||||
@@ -95,7 +99,7 @@ function UserList() {
|
|||||||
|
|
||||||
const handleUserDelete = async () => {
|
const handleUserDelete = async () => {
|
||||||
await deleteUsers();
|
await deleteUsers();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const hasContentLoading = isDeleteLoading || isLoading;
|
const hasContentLoading = isDeleteLoading || isLoading;
|
||||||
@@ -112,7 +116,7 @@ function UserList() {
|
|||||||
itemCount={itemCount}
|
itemCount={itemCount}
|
||||||
pluralizedItemName={t`Users`}
|
pluralizedItemName={t`Users`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Username`,
|
name: t`Username`,
|
||||||
@@ -135,9 +139,7 @@ function UserList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...users] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -85,9 +85,13 @@ function UserTeamList() {
|
|||||||
fetchTeams();
|
fetchTeams();
|
||||||
}, [fetchTeams]);
|
}, [fetchTeams]);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
teams
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(teams);
|
||||||
|
|
||||||
const disassociateUserRoles = team => {
|
const disassociateUserRoles = team => {
|
||||||
return [
|
return [
|
||||||
@@ -141,7 +145,7 @@ function UserTeamList() {
|
|||||||
|
|
||||||
const handleDisassociate = async () => {
|
const handleDisassociate = async () => {
|
||||||
await disassociateTeams();
|
await disassociateTeams();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const { error, dismissError } = useDismissableError(
|
const { error, dismissError } = useDismissableError(
|
||||||
@@ -176,7 +180,7 @@ function UserTeamList() {
|
|||||||
itemCount={count}
|
itemCount={count}
|
||||||
pluralizedItemName={t`Teams`}
|
pluralizedItemName={t`Teams`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
headerRow={
|
headerRow={
|
||||||
<HeaderRow qsConfig={QS_CONFIG}>
|
<HeaderRow qsConfig={QS_CONFIG}>
|
||||||
<HeaderCell sortKey="name">{t`Name`}</HeaderCell>
|
<HeaderCell sortKey="name">{t`Name`}</HeaderCell>
|
||||||
@@ -200,9 +204,7 @@ function UserTeamList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={isSelected =>
|
onSelectAll={selectAll}
|
||||||
setSelected(isSelected ? [...teams] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
...(canAdd
|
...(canAdd
|
||||||
|
|||||||
@@ -84,9 +84,13 @@ function WorkflowApprovalsList() {
|
|||||||
QS_CONFIG
|
QS_CONFIG
|
||||||
);
|
);
|
||||||
|
|
||||||
const { selected, isAllSelected, handleSelect, setSelected } = useSelected(
|
const {
|
||||||
workflowApprovals
|
selected,
|
||||||
);
|
isAllSelected,
|
||||||
|
handleSelect,
|
||||||
|
clearSelected,
|
||||||
|
selectAll,
|
||||||
|
} = useSelected(workflowApprovals);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isLoading: isDeleteLoading,
|
isLoading: isDeleteLoading,
|
||||||
@@ -108,7 +112,7 @@ function WorkflowApprovalsList() {
|
|||||||
|
|
||||||
const handleDelete = async () => {
|
const handleDelete = async () => {
|
||||||
await deleteWorkflowApprovals();
|
await deleteWorkflowApprovals();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@@ -126,7 +130,7 @@ function WorkflowApprovalsList() {
|
|||||||
|
|
||||||
const handleApprove = async () => {
|
const handleApprove = async () => {
|
||||||
await approveWorkflowApprovals();
|
await approveWorkflowApprovals();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@@ -144,7 +148,7 @@ function WorkflowApprovalsList() {
|
|||||||
|
|
||||||
const handleDeny = async () => {
|
const handleDeny = async () => {
|
||||||
await denyWorkflowApprovals();
|
await denyWorkflowApprovals();
|
||||||
setSelected([]);
|
clearSelected();
|
||||||
};
|
};
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@@ -168,7 +172,7 @@ function WorkflowApprovalsList() {
|
|||||||
itemCount={count}
|
itemCount={count}
|
||||||
pluralizedItemName={t`Workflow Approvals`}
|
pluralizedItemName={t`Workflow Approvals`}
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
onRowClick={handleSelect}
|
clearSelected={clearSelected}
|
||||||
toolbarSearchColumns={[
|
toolbarSearchColumns={[
|
||||||
{
|
{
|
||||||
name: t`Name`,
|
name: t`Name`,
|
||||||
@@ -187,9 +191,7 @@ function WorkflowApprovalsList() {
|
|||||||
{...props}
|
{...props}
|
||||||
showSelectAll
|
showSelectAll
|
||||||
isAllSelected={isAllSelected}
|
isAllSelected={isAllSelected}
|
||||||
onSelectAll={set =>
|
onSelectAll={selectAll}
|
||||||
setSelected(set ? [...workflowApprovals] : [])
|
|
||||||
}
|
|
||||||
qsConfig={QS_CONFIG}
|
qsConfig={QS_CONFIG}
|
||||||
additionalControls={[
|
additionalControls={[
|
||||||
<WorkflowApprovalListApproveButton
|
<WorkflowApprovalListApproveButton
|
||||||
|
|||||||
Reference in New Issue
Block a user