permission dataset update

This commit is contained in:
Nate Kelley 2025-04-17 14:26:06 -06:00
parent a732a14589
commit 7b60e163d2
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
6 changed files with 26 additions and 32 deletions

View File

@ -4,7 +4,7 @@ import { BusterListSelectedOptionPopupContainer } from '@/components/ui/list';
import { useMemoizedFn } from '@/hooks'; import { useMemoizedFn } from '@/hooks';
import React from 'react'; import React from 'react';
export const DatasetGroupDatasetGroupSelectedPopup: React.FC<{ export const DatasetGroupPermissionGroupSelectedPopup: React.FC<{
selectedRowKeys: string[]; selectedRowKeys: string[];
onSelectChange: (selectedRowKeys: string[]) => void; onSelectChange: (selectedRowKeys: string[]) => void;
datasetGroupId: string; datasetGroupId: string;
@ -35,4 +35,4 @@ export const DatasetGroupDatasetGroupSelectedPopup: React.FC<{
); );
}); });
DatasetGroupDatasetGroupSelectedPopup.displayName = 'DatasetGroupDatasetGroupSelectedPopup'; DatasetGroupPermissionGroupSelectedPopup.displayName = 'DatasetGroupPermissionGroupSelectedPopup';

View File

@ -11,11 +11,11 @@ import {
} from '@/components/features/PermissionComponents'; } from '@/components/features/PermissionComponents';
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { Button } from '@/components/ui/buttons'; import { Button } from '@/components/ui/buttons';
import { DatasetGroupDatasetGroupsListContainer } from './DatasetGroupDatasetsListContainer'; import { DatasetGroupPermissionGroupsListContainer } from './DatasetGroupPermissionGroupsListContainer';
import { useMemoizedFn } from '@/hooks'; import { useMemoizedFn } from '@/hooks';
import { Plus } from '@/components/ui/icons'; import { Plus } from '@/components/ui/icons';
export const DatasetGroupDatasetGroupsController: React.FC<{ export const DatasetGroupPermissionGroupsController: React.FC<{
datasetGroupId: string; datasetGroupId: string;
}> = ({ datasetGroupId }) => { }> = ({ datasetGroupId }) => {
const { data } = useGetDatasetGroupPermissionGroups(datasetGroupId); const { data } = useGetDatasetGroupPermissionGroups(datasetGroupId);
@ -50,7 +50,7 @@ export const DatasetGroupDatasetGroupsController: React.FC<{
handleSearchChange={handleSearchChange} handleSearchChange={handleSearchChange}
searchPlaceholder="Search by dataset group name..." searchPlaceholder="Search by dataset group name..."
searchChildren={NewDatasetGroupButton}> searchChildren={NewDatasetGroupButton}>
<DatasetGroupDatasetGroupsListContainer <DatasetGroupPermissionGroupsListContainer
filteredDatasetGroups={filteredItems} filteredDatasetGroups={filteredItems}
datasetGroupId={datasetGroupId} datasetGroupId={datasetGroupId}
/> />

View File

@ -16,9 +16,9 @@ import { BusterInfiniteList } from '@/components/ui/list/BusterInfiniteList';
import { BusterRoutes, createBusterRoute } from '@/routes'; import { BusterRoutes, createBusterRoute } from '@/routes';
import { useMemoizedFn } from '@/hooks'; import { useMemoizedFn } from '@/hooks';
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { DatasetGroupDatasetGroupSelectedPopup } from './DatasetGroupDatasetSelectedPopup'; import { DatasetGroupPermissionGroupSelectedPopup } from './DatasetGroupPermissionGroupSelectedPopup';
export const DatasetGroupDatasetGroupsListContainer: React.FC<{ export const DatasetGroupPermissionGroupsListContainer: React.FC<{
filteredDatasetGroups: GetDatasetGroupPermissionGroupsResponse[]; filteredDatasetGroups: GetDatasetGroupPermissionGroupsResponse[];
datasetGroupId: string; datasetGroupId: string;
}> = React.memo(({ filteredDatasetGroups, datasetGroupId }) => { }> = React.memo(({ filteredDatasetGroups, datasetGroupId }) => {
@ -72,8 +72,8 @@ export const DatasetGroupDatasetGroupsListContainer: React.FC<{
id: datasetGroup.id, id: datasetGroup.id,
data: datasetGroup, data: datasetGroup,
link: createBusterRoute({ link: createBusterRoute({
route: BusterRoutes.SETTINGS_DATASET_GROUPS_ID_DATASETS, route: BusterRoutes.SETTINGS_PERMISSION_GROUPS_ID_DATASETS,
datasetGroupId: datasetGroup.id permissionGroupId: datasetGroup.id
}) })
}; };
if (datasetGroup.assigned) { if (datasetGroup.assigned) {
@ -120,7 +120,7 @@ export const DatasetGroupDatasetGroupsListContainer: React.FC<{
return ( return (
<InfiniteListContainer <InfiniteListContainer
popupNode={ popupNode={
<DatasetGroupDatasetGroupSelectedPopup <DatasetGroupPermissionGroupSelectedPopup
selectedRowKeys={selectedRowKeys} selectedRowKeys={selectedRowKeys}
onSelectChange={setSelectedRowKeys} onSelectChange={setSelectedRowKeys}
datasetGroupId={datasetGroupId} datasetGroupId={datasetGroupId}
@ -136,7 +136,7 @@ export const DatasetGroupDatasetGroupsListContainer: React.FC<{
onSelectChange={setSelectedRowKeys} onSelectChange={setSelectedRowKeys}
emptyState={useMemo( emptyState={useMemo(
() => ( () => (
<EmptyStateList text="No dataset groups found" /> <EmptyStateList text="No permission groups found" />
), ),
[] []
)} )}
@ -145,4 +145,4 @@ export const DatasetGroupDatasetGroupsListContainer: React.FC<{
); );
}); });
DatasetGroupDatasetGroupsListContainer.displayName = 'DatasetGroupDatasetGroupsListContainer'; DatasetGroupPermissionGroupSelectedPopup.displayName = 'DatasetGroupPermissionGroupSelectedPopup';

View File

@ -1,23 +1,17 @@
import { prefetchDatasetGroupPermissionGroups } from '@/api/buster_rest'; import { prefetchDatasetGroupPermissionGroups } from '@/api/buster_rest';
import { HydrationBoundary, dehydrate } from '@tanstack/react-query'; import { HydrationBoundary, dehydrate } from '@tanstack/react-query';
import { DatasetGroupDatasetGroupsController } from './DatasetGroupDatasetGroupsController'; import { DatasetGroupPermissionGroupsController } from './DatasetGroupPermissionGroupsController';
export default async function Page( export default async function Page(props: { params: Promise<{ datasetGroupId: string }> }) {
props: {
params: Promise<{ datasetGroupId: string }>;
}
) {
const params = await props.params; const params = await props.params;
const { const { datasetGroupId } = params;
datasetGroupId
} = params;
const queryClient = await prefetchDatasetGroupPermissionGroups(datasetGroupId); const queryClient = await prefetchDatasetGroupPermissionGroups(datasetGroupId);
return ( return (
<HydrationBoundary state={dehydrate(queryClient)}> <HydrationBoundary state={dehydrate(queryClient)}>
<DatasetGroupDatasetGroupsController datasetGroupId={datasetGroupId} /> <DatasetGroupPermissionGroupsController datasetGroupId={datasetGroupId} />
</HydrationBoundary> </HydrationBoundary>
); );
} }

View File

@ -45,7 +45,7 @@ export const PermissionGroupDatasetGroupsController: React.FC<{
<PermissionSearchAndListWrapper <PermissionSearchAndListWrapper
searchText={searchText} searchText={searchText}
handleSearchChange={handleSearchChange} handleSearchChange={handleSearchChange}
searchPlaceholder="Search by dataset group name..." searchPlaceholder="Search by permission group name..."
searchChildren={NewDatasetGroupButton}> searchChildren={NewDatasetGroupButton}>
<PermissionGroupDatasetGroupsListContainer <PermissionGroupDatasetGroupsListContainer
filteredDatasetGroups={filteredItems} filteredDatasetGroups={filteredItems}

View File

@ -62,19 +62,19 @@ export const PermissionGroupDatasetGroupsListContainer: React.FC<{
cannotQueryPermissionDatasetGroups: BusterListRowItem[]; cannotQueryPermissionDatasetGroups: BusterListRowItem[];
canQueryPermissionDatasetGroups: BusterListRowItem[]; canQueryPermissionDatasetGroups: BusterListRowItem[];
}>( }>(
(acc, datasetGroup) => { (acc, permissionGroupDatasetGroup) => {
const datasetGroupItem: BusterListRowItem = { const permissionGroupDatasetGroupItem: BusterListRowItem = {
id: datasetGroup.id, id: permissionGroupDatasetGroup.id,
data: datasetGroup, data: permissionGroupDatasetGroup,
link: createBusterRoute({ link: createBusterRoute({
route: BusterRoutes.SETTINGS_DATASET_GROUPS_ID_DATASETS, route: BusterRoutes.SETTINGS_PERMISSION_GROUPS_ID_USERS,
datasetGroupId: datasetGroup.id permissionGroupId: permissionGroupId
}) })
}; };
if (datasetGroup.assigned) { if (permissionGroupDatasetGroup.assigned) {
acc.canQueryPermissionDatasetGroups.push(datasetGroupItem); acc.canQueryPermissionDatasetGroups.push(permissionGroupDatasetGroupItem);
} else { } else {
acc.cannotQueryPermissionDatasetGroups.push(datasetGroupItem); acc.cannotQueryPermissionDatasetGroups.push(permissionGroupDatasetGroupItem);
} }
return acc; return acc;
}, },