@@ -158,6 +158,10 @@ export function UploadInput(props: UploadInputProps) {
158
158
const loadedValueDocsRef = React . useRef < boolean > ( false )
159
159
160
160
const canCreate = useMemo ( ( ) => {
161
+ if ( readOnly || ! allowCreate ) {
162
+ return false
163
+ }
164
+
161
165
if ( typeof activeRelationTo === 'string' ) {
162
166
if ( permissions ?. collections && permissions . collections ?. [ activeRelationTo ] ?. create ) {
163
167
if ( permissions . collections [ activeRelationTo ] . create ?. permission === true ) {
@@ -167,7 +171,7 @@ export function UploadInput(props: UploadInputProps) {
167
171
}
168
172
169
173
return false
170
- } , [ activeRelationTo , permissions ] )
174
+ } , [ activeRelationTo , permissions , readOnly , allowCreate ] )
171
175
172
176
const onChange = React . useCallback (
173
177
( newValue ) => {
@@ -491,10 +495,14 @@ export function UploadInput(props: UploadInputProps) {
491
495
) : null }
492
496
493
497
{ showDropzone ? (
494
- < Dropzone disabled = { ! allowCreate } multipleFiles = { hasMany } onChange = { onLocalFileSelection } >
498
+ < Dropzone
499
+ disabled = { readOnly || ! canCreate }
500
+ multipleFiles = { hasMany }
501
+ onChange = { onLocalFileSelection }
502
+ >
495
503
< div className = { `${ baseClass } __dropzoneContent` } >
496
504
< div className = { `${ baseClass } __dropzoneContent__buttons` } >
497
- { allowCreate && (
505
+ { canCreate && (
498
506
< >
499
507
< Button
500
508
buttonStyle = "pill"
@@ -530,14 +538,14 @@ export function UploadInput(props: UploadInputProps) {
530
538
531
539
< CreateDocDrawer onSave = { onDocCreate } />
532
540
< ListDrawer
533
- allowCreate = { allowCreate }
541
+ allowCreate = { canCreate }
534
542
enableRowSelections = { hasMany }
535
543
onBulkSelect = { onListBulkSelect }
536
544
onSelect = { onListSelect }
537
545
/>
538
546
</ div >
539
547
540
- { allowCreate && (
548
+ { canCreate && (
541
549
< p className = { `${ baseClass } __dragAndDropText` } >
542
550
{ t ( 'general:or' ) } { t ( 'upload:dragAndDrop' ) }
543
551
</ p >
0 commit comments