Skip to content

Commit 3991b70

Browse files
committed
fix: fixes from merge
1 parent 08f550b commit 3991b70

3 files changed

Lines changed: 17 additions & 34 deletions

File tree

src/library-authoring/containers/UnitInfo.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,14 @@ const UnitInfo = () => {
112112
);
113113
}, [hiddenTabs, defaultTab.unit, unitId]);
114114

115-
// istanbul ignore if: this should never happen
116-
if (!unitId) {
117-
throw new Error('unitId is required');
118-
}
119-
120115
useEffect(() => {
121116
// Show Organize tab if JumpToAddCollections action is set in sidebarComponentInfo
122117
if (jumpToCollections) {
123118
setSidebarTab(UNIT_INFO_TABS.Organize);
124119
}
125120
}, [jumpToCollections, setSidebarTab]);
126121

127-
if (!container) {
122+
if (!container || !unitId) {
128123
return null;
129124
}
130125

src/library-authoring/data/apiHooks.ts

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -131,14 +131,6 @@ export const xblockQueryKeys = {
131131
componentDownstreamLinks: (usageKey: string) => [...xblockQueryKeys.xblock(usageKey), 'downstreamLinks'],
132132
};
133133

134-
export const containerQueryKeys = {
135-
all: ['container', 'children'],
136-
/**
137-
* Base key for data specific to a container
138-
*/
139-
container: (containerId?: string) => [...containerQueryKeys.all, containerId],
140-
};
141-
142134
/**
143135
* Tell react-query to refresh its cache of any data related to the given
144136
* component (XBlock).
@@ -609,13 +601,14 @@ export const useCreateLibraryContainer = (libraryId: string) => {
609601
/**
610602
* Get the metadata for a container in a library
611603
*/
612-
export const useContainer = (containerId?: string) => (
613-
useQuery({
604+
export const useContainer = (containerId?: string) => {
605+
const libraryId = getLibraryId(containerId);
606+
return useQuery({
614607
enabled: !!containerId,
615-
queryKey: containerQueryKeys.container(containerId),
608+
queryKey: libraryAuthoringQueryKeys.container(libraryId, containerId!),
616609
queryFn: () => getContainerMetadata(containerId!),
617-
})
618-
);
610+
});
611+
};
619612

620613
/**
621614
* Use this mutation to update the fields of a container in a library
@@ -629,7 +622,7 @@ export const useUpdateContainer = (containerId: string) => {
629622
// NOTE: We invalidate the library query here because we need to update the library's
630623
// container list.
631624
queryClient.invalidateQueries({ predicate: (query) => libraryQueryPredicate(query, libraryId) });
632-
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.containerChildren(libraryId, containerId) });
625+
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.container(libraryId, containerId) });
633626
},
634627
});
635628
};
@@ -666,19 +659,19 @@ export const useRestoreContainer = (containerId: string) => {
666659
/**
667660
* Get the metadata and children for a container in a library
668661
*/
669-
export const useContainerChildren = (containerId: string) => {
670-
const libraryId = getLibraryId(containerId);
662+
export const useContainerChildren = (containerId?: string) => {
663+
const libraryId = containerId ? getLibraryId(containerId) : undefined;
671664
return useQuery({
672665
enabled: !!containerId,
673666
queryKey: libraryAuthoringQueryKeys.containerChildren(libraryId, containerId),
674667
queryFn: () => getLibraryContainerChildren(containerId!),
675668
});
676-
);
669+
};
677670

678671
/**
679672
* Use this mutation to add components to a container
680673
*/
681-
export const useAddComponentsToContainer = (libraryId?: string, containerId?: string) => {
674+
export const useAddComponentsToContainer = (libraryId: string, containerId?: string) => {
682675
const queryClient = useQueryClient();
683676
return useMutation({
684677
mutationFn: async (componentIds: string[]) => {
@@ -688,7 +681,7 @@ export const useAddComponentsToContainer = (libraryId?: string, containerId?: st
688681
return undefined;
689682
},
690683
onSettled: () => {
691-
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.containerChildren(libraryId, containerId) });
684+
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.containerChildren(libraryId, containerId!) });
692685
},
693686
});
694687
};
@@ -702,7 +695,7 @@ export const useUpdateContainerCollections = (containerId: string) => {
702695
return useMutation({
703696
mutationFn: async (collectionKeys: string[]) => updateContainerCollections(containerId, collectionKeys),
704697
onSettled: () => {
705-
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.container(containerId) });
698+
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.container(libraryId, containerId) });
706699
queryClient.invalidateQueries({ predicate: (query) => libraryQueryPredicate(query, libraryId) });
707700
},
708701
});

src/library-authoring/units/LibraryUnitBlocks.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import TagCount from '../../generic/tag-count';
1818
import { useLibraryContext } from '../common/context/LibraryContext';
1919
import ComponentMenu from '../components';
2020
import { LibraryBlockMetadata } from '../data/api';
21-
import { containerQueryKeys, useContainerChildren } from '../data/apiHooks';
21+
import { libraryAuthoringQueryKeys, useContainerChildren } from '../data/apiHooks';
2222
import { LibraryBlock } from '../LibraryBlock';
2323
import { useLibraryRoutes } from '../routes';
2424
import messages from './messages';
@@ -31,6 +31,7 @@ export const LibraryUnitBlocks = () => {
3131
const { navigateTo } = useLibraryRoutes();
3232

3333
const {
34+
libraryId,
3435
unitId,
3536
showOnlyPublished,
3637
componentId,
@@ -42,11 +43,6 @@ export const LibraryUnitBlocks = () => {
4243
openAddContentSidebar,
4344
} = useSidebarContext();
4445

45-
// istanbul ignore if: this should never happen
46-
if (!unitId) {
47-
throw new Error('unitId is required');
48-
}
49-
5046
const queryClient = useQueryClient();
5147
const {
5248
data: blocks,
@@ -55,7 +51,6 @@ export const LibraryUnitBlocks = () => {
5551
error,
5652
} = useContainerChildren(unitId);
5753

58-
5954
useEffect(() => setOrderedBlocks(blocks || []), [blocks]);
6055

6156
if (isLoading) {
@@ -75,7 +70,7 @@ export const LibraryUnitBlocks = () => {
7570
};
7671

7772
const onTagSidebarClose = () => {
78-
queryClient.invalidateQueries(containerQueryKeys.children(unitId));
73+
queryClient.invalidateQueries(libraryAuthoringQueryKeys.containerChildren(libraryId, unitId));
7974
closeManageTagsDrawer();
8075
};
8176

0 commit comments

Comments
 (0)