Implement Feed admin form
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user