mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 01:18:42 +00:00
UI sidequest - update naming of delete policies modal (#31015)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
This commit is contained in:
parent
bc0389e10d
commit
a8e83c489b
6 changed files with 41 additions and 41 deletions
|
|
@ -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}
|
||||
/>
|
||||
)}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from "./DeletePoliciesModal";
|
||||
|
|
@ -1 +0,0 @@
|
|||
export { default } from "./DeletePolicyModal";
|
||||
|
|
@ -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}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -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({
|
||||
|
|
|
|||
Loading…
Reference in a new issue