File tree Expand file tree Collapse file tree
src/authz-module/libraries-manager Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,10 +47,9 @@ const LibrariesTeamManager = () => {
4747 pageTitle = { pageTitle }
4848 pageSubtitle = { libraryId }
4949 actions = {
50- canManageTeam
51- ? [ < PublicReadToggle libraryId = { libraryId } key = "allow-public-read" /> ,
52- < AddNewTeamMemberTrigger libraryId = { libraryId } key = "add-new-member" /> ]
53- : [ ]
50+ [ < PublicReadToggle libraryId = { libraryId } canEditToggle = { canManageTeam } key = "allow-public-read" /> ,
51+ ...( canManageTeam ? [ < AddNewTeamMemberTrigger libraryId = { libraryId } key = "add-new-member" /> ] : [ ] )
52+ ]
5453 }
5554 >
5655 < Tabs
Original file line number Diff line number Diff line change @@ -6,21 +6,29 @@ import messages from './messages';
66
77type PublicReadToggleProps = {
88 libraryId : string ;
9+ canEditToggle : boolean ;
910} ;
1011
11- const PublicReadToggle = ( { libraryId } : PublicReadToggleProps ) => {
12+ const PublicReadToggle = ( { libraryId, canEditToggle } : PublicReadToggleProps ) => {
1213 const intl = useIntl ( ) ;
1314 const { data : library } = useLibrary ( libraryId ) ;
14- const { mutate : updateLibrary } = useUpdateLibrary ( ) ;
15+ const { mutate : updateLibrary , isPending } = useUpdateLibrary ( ) ;
1516
1617 const onChangeToggle = ( ) => updateLibrary ( {
1718 libraryId,
1819 updatedData : { allowPublicRead : ! library . allowPublicRead } ,
1920 } ) ;
2021
22+ if ( ! library ) return null ;
23+
24+ if ( ! library . allowPublicRead && ! canEditToggle ) {
25+ return null ;
26+ }
27+
2128 return (
2229 < Form . Switch
2330 checked = { library . allowPublicRead }
31+ disabled = { ! canEditToggle || isPending }
2432 onChange = { onChangeToggle }
2533 helperText = {
2634 < span > { intl . formatMessage ( messages [ 'libraries.authz.public.read.toggle.subtext' ] ) } </ span >
You can’t perform that action at this time.
0 commit comments