diff --git a/frontend/pages/queries/ManageQueriesPage/components/QueriesTable/QueriesTableConfig.tsx b/frontend/pages/queries/ManageQueriesPage/components/QueriesTable/QueriesTableConfig.tsx index c8c7742615..225a5ebb23 100644 --- a/frontend/pages/queries/ManageQueriesPage/components/QueriesTable/QueriesTableConfig.tsx +++ b/frontend/pages/queries/ManageQueriesPage/components/QueriesTable/QueriesTableConfig.tsx @@ -265,56 +265,15 @@ const generateTableHeaders = ({ Header: (cellProps: IHeaderProps): JSX.Element => { const { getToggleAllRowsSelectedProps, - rows, - selectedFlatRows, toggleAllRowsSelected, - toggleRowSelected, } = cellProps; const { checked, indeterminate } = getToggleAllRowsSelectedProps(); - const disableToggleAllRowsSelected = () => { - /* Team admin or team maintainer can only delete queries they authored - If team admin or team maintainer authored 0 queries, disable select all queries for deletion */ - if (isAnyTeamMaintainerOrTeamAdmin) { - return ( - rows.filter( - (r: IQueryRow) => r.original.author_id === currentUser.id - ).length === 0 - ); - } - return false; - }; - const checkboxProps = { value: checked, indeterminate, - disabled: disableToggleAllRowsSelected(), // Disable select all if all rows are disabled onChange: () => { - if (!isAnyTeamMaintainerOrTeamAdmin) { - toggleAllRowsSelected(); - } else { - // Team maintainers may only delete the queries that they have authored - // so we need to do some filtering and then modify the toggle select all - // behavior for the header checkbox - const userAuthoredQueries = rows.filter( - (r: IQueryRow) => r.original.author_id === currentUser.id - ); - if ( - selectedFlatRows.length && - selectedFlatRows.length !== userAuthoredQueries.length - ) { - // If some but not all of the user authored queries are already selected, - // we toggle all of the user's unselected queries to true - userAuthoredQueries.forEach((r: IQueryRow) => - toggleRowSelected(r.id, true) - ); - } else { - // Otherwise, we toggle all of the user's queries to the opposite of their current state - userAuthoredQueries.forEach((r: IQueryRow) => - toggleRowSelected(r.id) - ); - } - } + toggleAllRowsSelected(); }, }; return ; @@ -325,44 +284,9 @@ const generateTableHeaders = ({ const checkboxProps = { value: checked, onChange: () => row.toggleRowSelected(), - disabled: - isAnyTeamMaintainerOrTeamAdmin && - row.original.author_id !== currentUser.id, }; - // If the user is a team maintainer, we only enable checkboxes for queries - // that they authored and we include a tooltip to explain disabled checkboxes - return ( - <> -
- -
{" "} - - <> - You can only delete a
query if you are the author. - -
- - ); + // v4.35.0 Any team admin or maintainer now can add, edit, delete their team's queries + return ; }, disableHidden: true, }); diff --git a/frontend/pages/queries/QueryPage/components/QueryForm/QueryForm.tsx b/frontend/pages/queries/QueryPage/components/QueryForm/QueryForm.tsx index 8bfd1ba48a..75c4e45488 100644 --- a/frontend/pages/queries/QueryPage/components/QueryForm/QueryForm.tsx +++ b/frontend/pages/queries/QueryPage/components/QueryForm/QueryForm.tsx @@ -670,43 +670,14 @@ const QueryForm = ({ )}
-
- -
{" "} - - <> - You can only save -
changes to a query if you -
are the author. - -
+ Save +
)}