mirror of https://github.com/buster-so/buster.git
permission dataset update
This commit is contained in:
parent
a732a14589
commit
7b60e163d2
|
@ -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';
|
|
@ -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}
|
||||||
/>
|
/>
|
|
@ -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';
|
|
@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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;
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue