UI sidequest - update naming of delete policies modal (#31015)

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
This commit is contained in:
jacobshandling 2025-07-18 10:16:57 -07:00 committed by GitHub
parent bc0389e10d
commit a8e83c489b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 41 additions and 41 deletions

View file

@ -57,7 +57,7 @@ import TooltipWrapper from "components/TooltipWrapper";
import PoliciesTable from "./components/PoliciesTable";
import OtherWorkflowsModal from "./components/OtherWorkflowsModal";
import DeletePolicyModal from "./components/DeletePolicyModal";
import DeletePoliciesModal from "./components/DeletePoliciesModal";
import CalendarEventsModal from "./components/CalendarEventsModal";
import { ICalendarEventsFormData } from "./components/CalendarEventsModal/CalendarEventsModal";
import InstallSoftwareModal from "./components/InstallSoftwareModal";
@ -162,7 +162,7 @@ const ManagePolicyPage = ({
const [isUpdatingPolicies, setIsUpdatingPolicies] = useState(false);
const [selectedPolicyIds, setSelectedPolicyIds] = useState<number[]>([]);
const [showDeletePolicyModal, setShowDeletePolicyModal] = useState(false);
const [showDeletePoliciesModal, setShowDeletePoliciesModal] = useState(false);
const [showInstallSoftwareModal, setShowInstallSoftwareModal] = useState(
false
);
@ -361,7 +361,7 @@ const ManagePolicyPage = ({
}
);
const canAddOrDeletePolicy =
const canAddOrDeletePolicies =
isGlobalAdmin || isGlobalMaintainer || isTeamMaintainer || isTeamAdmin;
const canManageAutomations =
isGlobalAdmin || isGlobalMaintainer || isTeamAdmin || isTeamMaintainer;
@ -376,7 +376,7 @@ const ManagePolicyPage = ({
return configAPI.loadAll();
},
{
enabled: isRouteOk && canAddOrDeletePolicy,
enabled: isRouteOk && canAddOrDeletePolicies,
onSuccess: (data) => {
setConfig(data);
},
@ -393,7 +393,7 @@ const ManagePolicyPage = ({
() => teamsAPI.load(teamIdForApi),
{
// no call for no team (teamIdForApi === 0)
enabled: isRouteOk && !!teamIdForApi && canAddOrDeletePolicy,
enabled: isRouteOk && !!teamIdForApi && canAddOrDeletePolicies,
select: (data) => data.team,
}
);
@ -475,8 +475,8 @@ const ManagePolicyPage = ({
const toggleOtherWorkflowsModal = () =>
setShowOtherWorkflowsModal(!showOtherWorkflowsModal);
const toggleDeletePolicyModal = () =>
setShowDeletePolicyModal(!showDeletePolicyModal);
const toggleDeletePoliciesModal = () =>
setShowDeletePoliciesModal(!showDeletePoliciesModal);
const toggleInstallSoftwareModal = () => {
setShowInstallSoftwareModal(!showInstallSoftwareModal);
@ -857,8 +857,8 @@ const ManagePolicyPage = ({
);
};
const onDeletePolicyClick = (selectedTableIds: number[]): void => {
toggleDeletePolicyModal();
const onDeletePoliciesClick = (selectedTableIds: number[]): void => {
toggleDeletePoliciesModal();
setSelectedPolicyIds(selectedTableIds);
};
@ -922,7 +922,7 @@ const ManagePolicyPage = ({
}. Please try again.`
);
} finally {
toggleDeletePolicyModal();
toggleDeletePoliciesModal();
setIsUpdatingPolicies(false);
}
}, [
@ -934,7 +934,7 @@ const ManagePolicyPage = ({
setResetSelectedRows,
teamIdForApi,
teamPolicies,
toggleDeletePolicyModal,
toggleDeletePoliciesModal,
]);
const policiesErrors = !isAllTeamsSelected
@ -1047,8 +1047,8 @@ const ManagePolicyPage = ({
<PoliciesTable
policiesList={globalPolicies || []}
isLoading={isFetchingGlobalPolicies || isFetchingGlobalConfig}
onDeletePolicyClick={onDeletePolicyClick}
canAddOrDeletePolicy={canAddOrDeletePolicy}
onDeletePoliciesClick={onDeletePoliciesClick}
canAddOrDeletePolicies={canAddOrDeletePolicies}
hasPoliciesToDelete={hasPoliciesToDelete}
currentTeam={currentTeamSummary}
currentAutomatedPolicies={currentAutomatedPolicies}
@ -1082,8 +1082,8 @@ const ManagePolicyPage = ({
isFetchingTeamConfig ||
isFetchingGlobalConfig
}
onDeletePolicyClick={onDeletePolicyClick}
canAddOrDeletePolicy={canAddOrDeletePolicy}
onDeletePoliciesClick={onDeletePoliciesClick}
canAddOrDeletePolicies={canAddOrDeletePolicies}
hasPoliciesToDelete={hasPoliciesToDelete}
currentTeam={currentTeamSummary}
currentAutomatedPolicies={currentAutomatedPolicies}
@ -1322,7 +1322,7 @@ const ManagePolicyPage = ({
{showCtaButtons && (
<div className={`${baseClass} button-wrap`}>
{automationsDropdown}
{canAddOrDeletePolicy && (
{canAddOrDeletePolicies && (
<div className={`${baseClass}__action-button-container`}>
<Button
className={`${baseClass}__select-policy-button`}
@ -1351,10 +1351,10 @@ const ManagePolicyPage = ({
gitOpsModeEnabled={gitOpsModeEnabled}
/>
)}
{showDeletePolicyModal && (
<DeletePolicyModal
{showDeletePoliciesModal && (
<DeletePoliciesModal
isUpdatingPolicies={isUpdatingPolicies}
onCancel={toggleDeletePolicyModal}
onCancel={toggleDeletePoliciesModal}
onSubmit={onDeletePolicySubmit}
/>
)}

View file

@ -5,17 +5,17 @@ import Button from "components/buttons/Button";
const baseClass = "delete-policy-modal";
interface IDeletePolicyModalProps {
interface IDeletePoliciesModalProps {
isUpdatingPolicies: boolean;
onCancel: () => void;
onSubmit: () => void;
}
const DeletePolicyModal = ({
isUpdatingPolicies,
const DeletePoliciesModal = ({
isUpdatingPolicies, // shared state from parent, not only for deletes
onCancel,
onSubmit,
}: IDeletePolicyModalProps): JSX.Element => {
}: IDeletePoliciesModalProps): JSX.Element => {
return (
<Modal
title="Delete policies"
@ -45,4 +45,4 @@ const DeletePolicyModal = ({
);
};
export default DeletePolicyModal;
export default DeletePoliciesModal;

View file

@ -0,0 +1 @@
export { default } from "./DeletePoliciesModal";

View file

@ -1 +0,0 @@
export { default } from "./DeletePolicyModal";

View file

@ -22,7 +22,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: -1, name: "All teams" }}
searchQuery=""
page={0}
@ -51,7 +51,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: -1, name: "All teams" }}
isPremiumTier
searchQuery=""
@ -83,7 +83,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: 1, name: "Some team" }}
isPremiumTier
searchQuery=""
@ -114,7 +114,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: -1, name: "All teams" }}
isPremiumTier
searchQuery="shouldn't match anything"
@ -146,7 +146,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[testCriticalPolicy]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: -1, name: "All teams" }}
isPremiumTier
searchQuery=""
@ -184,7 +184,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[testInheritedPolicy]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: 2, name: "Team 2" }}
isPremiumTier
searchQuery=""
@ -222,7 +222,7 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={[testGlobalPolicy]}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: -1, name: "All teams" }}
isPremiumTier
searchQuery=""
@ -263,14 +263,14 @@ describe("Policies table", () => {
<PoliciesTable
policiesList={policiesList}
isLoading={false}
onDeletePolicyClick={noop}
onDeletePoliciesClick={noop}
currentTeam={{ id: 2, name: "Team 2" }}
isPremiumTier
searchQuery=""
page={0}
onQueryChange={noop}
renderPoliciesCount={() => null}
canAddOrDeletePolicy
canAddOrDeletePolicies
hasPoliciesToDelete
count={policiesList.length}
/>

View file

@ -24,8 +24,8 @@ const baseClass = "policies-table";
interface IPoliciesTableProps {
policiesList: IPolicyStats[];
isLoading: boolean;
onDeletePolicyClick: (selectedTableIds: number[]) => void;
canAddOrDeletePolicy?: boolean;
onDeletePoliciesClick: (selectedTableIds: number[]) => void;
canAddOrDeletePolicies?: boolean;
hasPoliciesToDelete?: boolean;
currentTeam: ITeamSummary | undefined;
currentAutomatedPolicies?: number[];
@ -42,8 +42,8 @@ interface IPoliciesTableProps {
const PoliciesTable = ({
policiesList,
isLoading,
onDeletePolicyClick,
canAddOrDeletePolicy,
onDeletePoliciesClick,
canAddOrDeletePolicies,
hasPoliciesToDelete,
currentTeam,
currentAutomatedPolicies,
@ -76,7 +76,7 @@ const PoliciesTable = ({
}
}
if (!canAddOrDeletePolicy) {
if (!canAddOrDeletePolicies) {
emptyState.info = "";
}
@ -90,7 +90,7 @@ const PoliciesTable = ({
const searchable = !(policiesList?.length === 0 && searchQuery === "");
const hasPermissionAndPoliciesToDelete =
canAddOrDeletePolicy && hasPoliciesToDelete;
canAddOrDeletePolicies && hasPoliciesToDelete;
return (
<div className={baseClass}>
@ -122,7 +122,7 @@ const PoliciesTable = ({
buttonText: "Delete",
iconSvg: "trash",
variant: "text-icon",
onClick: onDeletePolicyClick,
onClick: onDeletePoliciesClick,
}}
emptyComponent={() =>
EmptyTable({