@@ -134,6 +134,8 @@ export function GrantAccess({handleCloseDrawer}: GrantAccessProps) {
134134 [ setExplicitRightsChanges ] ,
135135 ) ;
136136
137+ const rightsLoading = aclIsFetching || availableRightsAreFetching ;
138+
137139 const renderSubject = ( ) => {
138140 if ( aclSubject ) {
139141 return < SubjectWithAvatar subject = { aclSubject } /> ;
@@ -144,45 +146,45 @@ export function GrantAccess({handleCloseDrawer}: GrantAccessProps) {
144146 const subjectSelected = Boolean ( aclSubject || newSubjects . length > 0 ) ;
145147
146148 return (
147- < LoaderWrapper loading = { aclIsFetching || availableRightsAreFetching } >
148- < div className = { block ( ) } >
149- < Flex direction = "column" >
150- < Flex gap = { 4 } direction = "column" className = { block ( 'navigation' ) } >
151- { renderSubject ( ) }
152- { /* wrapper to prevent radio button stretch */ }
153- { subjectSelected && (
154- < RightsSectionSelector
155- value = { rightView }
156- onUpdate = { setRightsView }
157- rights = { currentRightsMap }
158- availablePermissions = { availablePermissions }
159- />
160- ) }
161- </ Flex >
149+ < Flex direction = "column" className = { block ( ) } height = { '100%' } >
150+ < Flex direction = "column" grow = { 1 } >
151+ < Flex gap = { 4 } direction = "column" className = { block ( 'navigation' ) } >
152+ { renderSubject ( ) }
153+ { /* wrapper to prevent radio button stretch */ }
162154 { subjectSelected && (
163- < div className = { block ( 'rights-wrapper' ) } >
155+ < RightsSectionSelector
156+ value = { rightView }
157+ onUpdate = { setRightsView }
158+ rights = { currentRightsMap }
159+ availablePermissions = { availablePermissions }
160+ />
161+ ) }
162+ </ Flex >
163+ { subjectSelected && (
164+ < LoaderWrapper loading = { rightsLoading } >
165+ < Flex grow = { 1 } position = "relative" qa = "access-rights-wrapper" >
164166 < Rights
165167 inheritedRights = { inheritedRightsSet }
166168 rights = { currentRightsMap }
167169 availablePermissions = { availablePermissions }
168170 handleChangeRightGetter = { handleChangeRightGetter }
169171 view = { rightView }
170172 />
171- </ div >
172- ) }
173- </ Flex >
174-
175- { subjectSelected && (
176- < Footer
177- onCancel = { handleCloseDrawer }
178- onDiscard = { handleDiscardRightsChanges }
179- onSave = { handleSaveRightsChanges }
180- loading = { updateRightsResponse . isLoading }
181- error = { updateRightsError }
182- disabled = { ! hasChanges }
183- />
173+ </ Flex >
174+ </ LoaderWrapper >
184175 ) }
185- </ div >
186- </ LoaderWrapper >
176+ </ Flex >
177+
178+ { subjectSelected && (
179+ < Footer
180+ onCancel = { handleCloseDrawer }
181+ onDiscard = { handleDiscardRightsChanges }
182+ onSave = { handleSaveRightsChanges }
183+ loading = { updateRightsResponse . isLoading }
184+ error = { updateRightsError }
185+ disabled = { ! hasChanges }
186+ />
187+ ) }
188+ </ Flex >
187189 ) ;
188190}
0 commit comments