Skip to content

Commit 6ca5dd7

Browse files
committed
Merge branch 'series-selection-width-2' of JulianKniephoff/opencast-admin-interface into r/18.x
Pull request #1445 Refactor dropdown components and fix width in metadata modals
2 parents e7c578c + 6a442e1 commit 6ca5dd7

File tree

1 file changed

+45
-25
lines changed

1 file changed

+45
-25
lines changed

src/components/shared/wizard/RenderField.tsx

Lines changed: 45 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ const EditableSingleSelect = (props: EditableSingleSelectProps) => {
213213
field,
214214
metadataField,
215215
text,
216-
form: { setFieldValue },
216+
form,
217217
isFirstField,
218218
focused,
219219
setFocused,
@@ -224,26 +224,16 @@ const EditableSingleSelect = (props: EditableSingleSelectProps) => {
224224
return <EditableSingleSelectSeries {...props} />;
225225
}
226226

227-
return (
228-
<DropDown
229-
ref={ref}
230-
value={field.value as string}
231-
text={text}
232-
options={metadataField.collection
233-
? metadataField.collection.map(item => ({ label: item.label ?? item.name, value: item.value, order: item.order }))
234-
: []}
235-
required={metadataField.required}
236-
handleChange={element => element && setFieldValue(field.name, element.value)}
237-
placeholder={focused
238-
? `-- ${t("SELECT_NO_OPTION_SELECTED")} --`
239-
: `${t("SELECT_NO_OPTION_SELECTED")}`
240-
}
241-
customCSS={{ isMetadataStyle: focused ? false : true }}
242-
handleMenuIsOpen={(open: boolean) => setFocused(open)}
243-
openMenuOnFocus
244-
autoFocus={isFirstField}
245-
/>
246-
);
227+
return <EditableSingleSelectDropDown
228+
field={field}
229+
metadataField={metadataField}
230+
text={text}
231+
form={form}
232+
isFirstField={isFirstField}
233+
focused={focused}
234+
setFocused={setFocused}
235+
ref={ref}
236+
/>;
247237
};
248238

249239
// Renders editable text area
@@ -338,8 +328,7 @@ const EditableSingleValueTime = ({
338328
const EditableSingleSelectSeries = ({
339329
field,
340330
metadataField,
341-
text,
342-
form: { setFieldValue },
331+
form,
343332
isFirstField,
344333
focused,
345334
setFocused,
@@ -371,19 +360,50 @@ const EditableSingleSelectSeries = ({
371360
return transformListProvider(data);
372361
};
373362

363+
return <EditableSingleSelectDropDown
364+
field={field}
365+
metadataField={metadataField}
366+
text={label}
367+
form={form}
368+
isFirstField={isFirstField}
369+
focused={focused}
370+
setFocused={setFocused}
371+
ref={ref}
372+
fetchOptions={fetchOptions}
373+
/>;
374+
};
375+
376+
const EditableSingleSelectDropDown = ({
377+
field,
378+
metadataField,
379+
text,
380+
form: { setFieldValue },
381+
options,
382+
fetchOptions,
383+
isFirstField,
384+
focused,
385+
setFocused,
386+
ref,
387+
}: EditableSingleSelectProps & Pick<
388+
Parameters<typeof DropDown>[0],
389+
"options" | "fetchOptions"
390+
>) => {
391+
const { t } = useTranslation();
392+
374393
return (
375394
<DropDown
376395
ref={ref}
377396
value={field.value as string}
378-
text={label}
397+
text={text}
398+
options={options}
379399
fetchOptions={fetchOptions}
380400
required={metadataField.required}
381401
handleChange={element => element && setFieldValue(field.name, element.value)}
382402
placeholder={focused
383403
? `-- ${t("SELECT_NO_OPTION_SELECTED")} --`
384404
: `${t("SELECT_NO_OPTION_SELECTED")}`
385405
}
386-
customCSS={{ isMetadataStyle: focused ? false : true }}
406+
customCSS={{ isMetadataStyle: focused ? false : true, width: "100%" }}
387407
handleMenuIsOpen={(open: boolean) => setFocused(open)}
388408
openMenuOnFocus
389409
autoFocus={isFirstField}

0 commit comments

Comments
 (0)