Implement Feed admin form

This commit is contained in:
Jan Tuomi
2019-03-13 13:52:02 +02:00
parent e912f89e5f
commit 82ce3fdf03
11 changed files with 404 additions and 31 deletions
+5 -22
View File
@@ -5,28 +5,10 @@ import { isAuthenticated } from "../../auth";
import Form from "react-jsonschema-form";
import { Tag, getTags } from "../../models/Tag";
import { createEvent, getEvent, updateEvent } from "../../models/Event";
const DateTimeWidget = ({ value, onChange, required }) => {
const [date, rest] = value.split("T");
const time = rest.slice(0, 5);
return (
<div className="datetime-widget">
<input
type="date"
onChange={(event) => onChange(`${event.target.value}T${time}`)}
required={required}
value={date} />
<input
type="time"
onChange={(event) => onChange(`${date}T${event.target.value}:00`)}
required={required}
value={time} />
</div>
);
};
import DatetimeWidget from "../../components/DatetimeWidget";
const widgets = {
datetime: DateTimeWidget,
datetime: DatetimeWidget,
};
export interface EventCreatePageProps {
@@ -103,12 +85,14 @@ class EventCreatePage extends React.Component<EventCreatePageProps, EventCreateP
payload.tag_id = payload.tags;
if (payload.id === undefined) {
const resp = await createEvent(payload);
resp.tags = resp.tag_id;
this.setState({
formData: resp,
statusMessage: "Event created successfully",
});
} else {
const resp = await updateEvent(payload);
resp.tags = resp.tag_id;
this.setState({
formData: resp,
statusMessage: "Event updated successfully.",
@@ -127,10 +111,9 @@ class EventCreatePage extends React.Component<EventCreatePageProps, EventCreateP
}
onChange = (data) => {
console.log("changed, data:");
console.log(data);
this.setState({
formData: data.formData,
statusMessage: null,
});
}