diff --git a/src/features/editors/list/EventList.jsx b/src/features/editors/list/EventList.jsx
index dc31b808d..ebe91d014 100644
--- a/src/features/editors/list/EventList.jsx
+++ b/src/features/editors/list/EventList.jsx
@@ -22,7 +22,7 @@ export default function EventList(props) {
// TODO: Replace this with global def somewhere
// TODO: handle random ids better
let newEvent = {
- id: Math.floor(Math.random()*10000000),
+ id: Math.floor(Math.random() * 10000000),
order: startPosition + 1,
title: '',
subtitle: '',
@@ -47,7 +47,7 @@ export default function EventList(props) {
};
const deleteEvent = (position) => {
- // ?? SHould i reorder after?
+ // ?? Should i reorder after?
// remove event from array
let filtered = events.filter((e) => e.id !== position);
@@ -56,6 +56,17 @@ export default function EventList(props) {
setEvents(filtered);
};
+ const replaceAt = (array, index, value) => {
+ const ret = array.slice(0);
+ ret[index] = value;
+ return ret;
+ };
+
+ const updateData = (itemIndex, data) => {
+ const newEvents = replaceAt(events, itemIndex, data);
+ setEvents(newEvents);
+ };
+
return (
<>
@@ -73,13 +84,15 @@ export default function EventList(props) {
/>
- {sortByOrderVal(events).map((e) => (
+ {sortByOrderVal(events).map((e, index) => (
))}
diff --git a/src/features/editors/list/EventListItem.jsx b/src/features/editors/list/EventListItem.jsx
index e6a9ec473..e47ff575b 100644
--- a/src/features/editors/list/EventListItem.jsx
+++ b/src/features/editors/list/EventListItem.jsx
@@ -12,7 +12,7 @@ import {
EditablePreview,
EditableInput,
} from '@chakra-ui/react';
-import { useState } from 'react';
+import { useEffect, useState } from 'react';
import style from './List.module.css';
export default function EventListItem(props) {
@@ -21,104 +21,130 @@ export default function EventListItem(props) {
const { data, selected, ...rest } = props;
+ const updateValues = (field, value) => {
+ // validate field
+ if (field in data) {
+ // create object with new field
+ const newData = { ...data, [field]: value };
+
+ // request update in parent
+ props.updateData(props.index, newData);
+ } else {
+ console.log('field error', field);
+ }
+ };
+
return (
-
-
setArmed(!armed)}
- />
-
-
-
-
-
-
-
-
-
-
-
-
-