Hide space room management checkboxes if you don't have permission at the root space
This commit is contained in:
parent
8c6d92cc99
commit
a8c1b7abab
1 changed files with 5 additions and 3 deletions
|
@ -252,7 +252,7 @@ export const HierarchyLevel = ({
|
||||||
}: IHierarchyLevelProps) => {
|
}: IHierarchyLevelProps) => {
|
||||||
const cli = MatrixClientPeg.get();
|
const cli = MatrixClientPeg.get();
|
||||||
const space = cli.getRoom(spaceId);
|
const space = cli.getRoom(spaceId);
|
||||||
const hasPermissions = space?.currentState.maySendStateEvent(EventType.SpaceChild, cli.getUserId())
|
const hasPermissions = space?.currentState.maySendStateEvent(EventType.SpaceChild, cli.getUserId());
|
||||||
|
|
||||||
const sortedChildren = sortBy([...(relations.get(spaceId)?.values() || [])], ev => ev.content.order || null);
|
const sortedChildren = sortBy([...(relations.get(spaceId)?.values() || [])], ev => ev.content.order || null);
|
||||||
const [subspaces, childRooms] = sortedChildren.reduce((result, ev: ISpaceSummaryEvent) => {
|
const [subspaces, childRooms] = sortedChildren.reduce((result, ev: ISpaceSummaryEvent) => {
|
||||||
|
@ -487,6 +487,8 @@ export const SpaceHierarchy: React.FC<IHierarchyProps> = ({
|
||||||
|
|
||||||
let results;
|
let results;
|
||||||
if (roomsMap.size) {
|
if (roomsMap.size) {
|
||||||
|
const hasPermissions = space?.currentState.maySendStateEvent(EventType.SpaceChild, cli.getUserId());
|
||||||
|
|
||||||
results = <>
|
results = <>
|
||||||
<HierarchyLevel
|
<HierarchyLevel
|
||||||
spaceId={space.roomId}
|
spaceId={space.roomId}
|
||||||
|
@ -494,7 +496,7 @@ export const SpaceHierarchy: React.FC<IHierarchyProps> = ({
|
||||||
relations={parentChildMap}
|
relations={parentChildMap}
|
||||||
parents={new Set()}
|
parents={new Set()}
|
||||||
selectedMap={selected}
|
selectedMap={selected}
|
||||||
onToggleClick={(parentId, childId) => {
|
onToggleClick={hasPermissions ? (parentId, childId) => {
|
||||||
setError("");
|
setError("");
|
||||||
if (!selected.has(parentId)) {
|
if (!selected.has(parentId)) {
|
||||||
setSelected(new Map(selected.set(parentId, new Set([childId]))));
|
setSelected(new Map(selected.set(parentId, new Set([childId]))));
|
||||||
|
@ -509,7 +511,7 @@ export const SpaceHierarchy: React.FC<IHierarchyProps> = ({
|
||||||
|
|
||||||
parentSet.delete(childId);
|
parentSet.delete(childId);
|
||||||
setSelected(new Map(selected.set(parentId, new Set(parentSet))));
|
setSelected(new Map(selected.set(parentId, new Set(parentSet))));
|
||||||
}}
|
} : undefined}
|
||||||
onViewRoomClick={(roomId, autoJoin) => {
|
onViewRoomClick={(roomId, autoJoin) => {
|
||||||
showRoom(roomsMap.get(roomId), Array.from(viaMap.get(roomId) || []), autoJoin);
|
showRoom(roomsMap.get(roomId), Array.from(viaMap.get(roomId) || []), autoJoin);
|
||||||
}}
|
}}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue