* Split permissions for reading documents from updating collection * fix: Admins should have collection read permission, tests * tsc * Add admin option to permission selector * Combine publish and create permissions, update -> createDocuments where appropriate * Plural -> singular * wip * Quick version of collection structure loading, will revisit * Remove documentIds method * stash * fixing tests to account for admin creation * Add self-hosted migration * fix: Allow groups to have admin permission * Prefetch collection documents * fix: Document explorer (move/publish) not working with async documents * fix: Cannot re-parent document to collection by drag and drop * fix: Cannot drag to import into collection item without admin permission * Remove unused isEditor getter
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import * as React from "react";
|
|
import { CollectionPermission } from "@shared/types";
|
|
import CollectionGroupMembership from "~/models/CollectionGroupMembership";
|
|
import Group from "~/models/Group";
|
|
import GroupListItem from "~/components/GroupListItem";
|
|
import CollectionGroupMemberMenu from "~/menus/CollectionGroupMemberMenu";
|
|
import InputMemberPermissionSelect from "./InputMemberPermissionSelect";
|
|
|
|
type Props = {
|
|
group: Group;
|
|
collectionGroupMembership: CollectionGroupMembership | null | undefined;
|
|
onUpdate: (permission: CollectionPermission) => void;
|
|
onRemove: () => void;
|
|
};
|
|
|
|
const CollectionGroupMemberListItem = ({
|
|
group,
|
|
collectionGroupMembership,
|
|
onUpdate,
|
|
onRemove,
|
|
}: Props) => (
|
|
<GroupListItem
|
|
group={group}
|
|
showAvatar
|
|
renderActions={({ openMembersModal }) => (
|
|
<>
|
|
<InputMemberPermissionSelect
|
|
value={
|
|
collectionGroupMembership
|
|
? collectionGroupMembership.permission
|
|
: undefined
|
|
}
|
|
onChange={onUpdate}
|
|
/>
|
|
<CollectionGroupMemberMenu
|
|
onMembers={openMembersModal}
|
|
onRemove={onRemove}
|
|
/>
|
|
</>
|
|
)}
|
|
/>
|
|
);
|
|
|
|
export default CollectionGroupMemberListItem;
|