Skip to content

Commit 7f69bdb

Browse files
authored
Merge pull request #1041 from Arnei/edit-multifields-in-editmultipleeventsmodal
Fix metadata fields not editable during multi edit
2 parents adcdca0 + f00bdf1 commit 7f69bdb

4 files changed

Lines changed: 5 additions & 67 deletions

File tree

src/components/events/partials/ModalTabsAndPages/DetailsMetadataTab.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,7 @@ const DetailsMetadataTab = ({
122122
) : (
123123
<td className="editable">
124124
{/* Render single value or multi value editable input */}
125-
{field.type === "mixed_text" &&
126-
field.collection?.length !== 0 ? (
125+
{field.type === "mixed_text" ? (
127126
<Field
128127
name={field.id}
129128
fieldInfo={field}

src/components/events/partials/ModalTabsAndPages/NewMetadataPage.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ const NewMetadataPage = ({
4848
</td>
4949
{field.readOnly ? (
5050
// non-editable field if readOnly is set or user doesn't have edit access rights
51-
!!field.collection &&
52-
field.collection.length !== 0 ? (
51+
!!field.collection ? (
5352
<td>{getMetadataCollectionFieldName(field, field, t)}</td>
5453
) : (
5554
<td>{field.value}</td>

src/components/events/partials/modals/EditMetadataEventsModal.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,7 @@ const EditMetadataEventsModal = ({
250250
</td>
251251
<td className="editable ng-isolated-scope">
252252
{/* Render single value or multi value input */}
253-
{metadata.type === "mixed_text" &&
254-
!!metadata.collection &&
255-
metadata.collection.length !== 0 ? (
253+
{metadata.type === "mixed_text" ? (
256254
<Field
257255
name={metadata.id}
258256
fieldInfo={metadata}

src/components/shared/wizard/RenderMultiField.tsx

Lines changed: 2 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ const RenderMultiField = ({
8787
// (types: see metadata.json retrieved from backend)
8888
editMode ? (
8989
<>
90-
{fieldInfo.type === "mixed_text" && !!fieldInfo.collection ? (
90+
{fieldInfo.type === "mixed_text" && (
9191
<EditMultiSelect
92-
collection={fieldInfo.collection}
92+
collection={fieldInfo.collection ? fieldInfo.collection : []}
9393
field={field}
9494
fieldValue={fieldValue}
9595
inputValue={inputValue}
@@ -98,18 +98,6 @@ const RenderMultiField = ({
9898
handleKeyDown={handleKeyDown}
9999
handleBlur={submitValue}
100100
/>
101-
) : (
102-
fieldInfo.type === "mixed_text" && (
103-
<EditMultiValue
104-
setEditMode={setEditMode}
105-
fieldValue={fieldValue}
106-
field={field}
107-
inputValue={inputValue}
108-
removeItem={removeItem}
109-
handleChange={handleChange}
110-
handleKeyDown={handleKeyDown}
111-
/>
112-
)
113101
)}
114102
</>
115103
) : (
@@ -193,52 +181,6 @@ const EditMultiSelect = ({
193181
);
194182
};
195183

196-
// Renders editable field input for multiple values
197-
const EditMultiValue = ({
198-
setEditMode,
199-
inputValue,
200-
removeItem,
201-
handleChange,
202-
handleKeyDown,
203-
field,
204-
fieldValue,
205-
}: {
206-
setEditMode: (e: boolean) => void
207-
inputValue: HTMLInputElement["value"]
208-
removeItem: (key: number) => void
209-
handleChange: (event: React.ChangeEvent<HTMLInputElement>) => void
210-
handleKeyDown: (event: React.KeyboardEvent) => void
211-
field: FieldProps["field"]
212-
fieldValue: FieldInputProps<unknown>["value"]
213-
}) => {
214-
const { t } = useTranslation();
215-
216-
return (
217-
<>
218-
<div onBlur={() => setEditMode(false)} ref={childRef}>
219-
<input
220-
type="text"
221-
name={field.name}
222-
onKeyDown={(e) => handleKeyDown(e)}
223-
onChange={(e) => handleChange(e)}
224-
value={inputValue}
225-
placeholder={t("EDITABLE.MULTI.PLACEHOLDER")}
226-
/>
227-
</div>
228-
{fieldValue instanceof Array &&
229-
fieldValue.length !== 0 &&
230-
fieldValue.map((item, key) => (
231-
<span className="ng-multi-value" key={key}>
232-
{item}
233-
<button className="button-like-anchor" onClick={() => removeItem(key)}>
234-
<i className="fa fa-times" />
235-
</button>
236-
</span>
237-
))}
238-
</>
239-
);
240-
};
241-
242184
// Shows the values of the array in non-edit mode
243185
const ShowValue = ({
244186
setEditMode,

0 commit comments

Comments
 (0)