Skip to content

Commit

Permalink
Add portals for selects in dialogs (#5253)
Browse files Browse the repository at this point in the history
  • Loading branch information
WithoutPants committed Sep 11, 2024
1 parent 17be7e9 commit 5c4bf4e
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 0 deletions.
2 changes: 2 additions & 0 deletions ui/v2.5/src/components/Dialogs/IdentifyDialog/Options.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ export const OptionsEditor: React.FC<IOptionsEditor> = ({
options.skipMultipleMatchTag ? [options.skipMultipleMatchTag] : []
}
noSelectionString="Select/create tag..."
menuPortalTarget={document.body}
/>
</Col>
</Form.Group>
Expand Down Expand Up @@ -98,6 +99,7 @@ export const OptionsEditor: React.FC<IOptionsEditor> = ({
: []
}
noSelectionString="Select/create tag..."
menuPortalTarget={document.body}
/>
</Col>
</Form.Group>
Expand Down
2 changes: 2 additions & 0 deletions ui/v2.5/src/components/Galleries/EditGalleriesDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ export const EditGalleriesDialog: React.FC<IListOperationProps> = (
existingIds={existingIds ?? []}
ids={ids ?? []}
mode={mode}
menuPortalTarget={document.body}
/>
);
}
Expand Down Expand Up @@ -273,6 +274,7 @@ export const EditGalleriesDialog: React.FC<IListOperationProps> = (
}
ids={studioId ? [studioId] : []}
isDisabled={isUpdating}
menuPortalTarget={document.body}
/>
</Col>
</Form.Group>
Expand Down
3 changes: 3 additions & 0 deletions ui/v2.5/src/components/Groups/ContainingGroupsMultiSet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export const ContainingGroupsMultiSet: React.FC<{
disabled?: boolean;
onUpdate: (value: IRelatedGroupEntry[]) => void;
onSetMode: (mode: GQL.BulkUpdateIdMode) => void;
menuPortalTarget?: HTMLElement | null;
}> = (props) => {
const { mode, onUpdate, existingValue } = props;

Expand Down Expand Up @@ -48,12 +49,14 @@ export const ContainingGroupsMultiSet: React.FC<{
value={props.value}
onUpdate={props.onUpdate}
disabled={props.disabled}
menuPortalTarget={props.menuPortalTarget}
/>
) : (
<GroupSelect
onSelect={(items) => onRemoveSet(items)}
values={[]}
isDisabled={props.disabled}
menuPortalTarget={props.menuPortalTarget}
/>
)}
</div>
Expand Down
3 changes: 3 additions & 0 deletions ui/v2.5/src/components/Groups/EditGroupsDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ export const EditGroupsDialog: React.FC<IListOperationProps> = (
}
ids={studioId ? [studioId] : []}
isDisabled={isUpdating}
menuPortalTarget={document.body}
/>
</Col>
</Form.Group>
Expand All @@ -241,6 +242,7 @@ export const EditGroupsDialog: React.FC<IListOperationProps> = (
existingValue={existingContainingGroups ?? []}
value={containingGroups ?? []}
mode={containingGroupsMode}
menuPortalTarget={document.body}
/>
</Form.Group>
<Form.Group controlId="director">
Expand All @@ -267,6 +269,7 @@ export const EditGroupsDialog: React.FC<IListOperationProps> = (
existingIds={existingTagIds ?? []}
ids={tagIds ?? []}
mode={tagMode}
menuPortalTarget={document.body}
/>
</Form.Group>
</Form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export const RelatedGroupTable: React.FC<{
excludeIDs?: string[];
filterHook?: (f: ListFilterModel) => ListFilterModel;
disabled?: boolean;
menuPortalTarget?: HTMLElement | null;
}> = (props) => {
const { value, onUpdate } = props;

Expand Down Expand Up @@ -101,6 +102,7 @@ export const RelatedGroupTable: React.FC<{
excludeIds={excludeIDs}
filterHook={props.filterHook}
isDisabled={props.disabled}
menuPortalTarget={props.menuPortalTarget}
/>
</Col>
<Col xs={3}>
Expand Down Expand Up @@ -129,6 +131,7 @@ export const RelatedGroupTable: React.FC<{
excludeIds={excludeIDs}
filterHook={props.filterHook}
isDisabled={props.disabled}
menuPortalTarget={props.menuPortalTarget}
/>
</Col>
</Row>
Expand Down
4 changes: 4 additions & 0 deletions ui/v2.5/src/components/Images/EditImagesDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ export const EditImagesDialog: React.FC<IListOperationProps> = (
}
ids={studioId ? [studioId] : []}
isDisabled={isUpdating}
menuPortalTarget={document.body}
/>
</Col>
</Form.Group>
Expand All @@ -253,6 +254,7 @@ export const EditImagesDialog: React.FC<IListOperationProps> = (
existingIds={existingPerformerIds ?? []}
ids={performerIds ?? []}
mode={performerMode}
menuPortalTarget={document.body}
/>
</Form.Group>

Expand All @@ -268,6 +270,7 @@ export const EditImagesDialog: React.FC<IListOperationProps> = (
existingIds={existingTagIds ?? []}
ids={tagIds ?? []}
mode={tagMode}
menuPortalTarget={document.body}
/>
</Form.Group>

Expand All @@ -283,6 +286,7 @@ export const EditImagesDialog: React.FC<IListOperationProps> = (
existingIds={existingGalleryIds ?? []}
ids={galleryIds ?? []}
mode={galleryMode}
menuPortalTarget={document.body}
/>
</Form.Group>

Expand Down
1 change: 1 addition & 0 deletions ui/v2.5/src/components/Performers/EditPerformersDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,7 @@ export const EditPerformersDialog: React.FC<IListOperationProps> = (
existingIds={existingTagIds ?? []}
ids={tagIds.ids ?? []}
mode={tagIds.mode}
menuPortalTarget={document.body}
/>
</Form.Group>

Expand Down
2 changes: 2 additions & 0 deletions ui/v2.5/src/components/Scenes/EditScenesDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ export const EditScenesDialog: React.FC<IListOperationProps> = (
ids={ids ?? []}
existingIds={existingIds ?? []}
mode={mode}
menuPortalTarget={document.body}
/>
);
}
Expand Down Expand Up @@ -288,6 +289,7 @@ export const EditScenesDialog: React.FC<IListOperationProps> = (
}
ids={studioId ? [studioId] : []}
isDisabled={isUpdating}
menuPortalTarget={document.body}
/>
</Col>
</Form.Group>
Expand Down
3 changes: 3 additions & 0 deletions ui/v2.5/src/components/Shared/MultiSet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ interface IMultiSetProps {
disabled?: boolean;
onUpdate: (ids: string[]) => void;
onSetMode: (mode: GQL.BulkUpdateIdMode) => void;
menuPortalTarget?: HTMLElement | null;
}

const Select: React.FC<IMultiSetProps> = (props) => {
Expand All @@ -36,6 +37,7 @@ const Select: React.FC<IMultiSetProps> = (props) => {
ids={props.ids ?? []}
// exclude file-based galleries when setting galleries
extraCriteria={excludeFileBasedGalleries}
menuPortalTarget={props.menuPortalTarget}
/>
);
}
Expand All @@ -48,6 +50,7 @@ const Select: React.FC<IMultiSetProps> = (props) => {
isClearable={false}
onSelect={onUpdate}
ids={props.ids ?? []}
menuPortalTarget={props.menuPortalTarget}
/>
);
};
Expand Down
1 change: 1 addition & 0 deletions ui/v2.5/src/components/Tags/EditTagsDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ function Tags(props: {
existingIds={existingTagIds ?? []}
ids={tagIDs.ids ?? []}
mode={tagIDs.mode}
menuPortalTarget={document.body}
/>
</Form.Group>
);
Expand Down

0 comments on commit 5c4bf4e

Please sign in to comment.