Type fixes

This commit is contained in:
Aarni Halinen
2020-11-24 19:01:24 +02:00
parent 1d41802827
commit 0849cafc65
5 changed files with 24 additions and 23 deletions
+5 -2
View File
@@ -5,6 +5,9 @@ const url = `${process.env.API_URL}/feed/`;
export interface Post {
id: number;
tags: number[];
visible: boolean;
image: string;
title_fi: string;
title_en: string;
description_fi: string;
@@ -13,10 +16,10 @@ export interface Post {
content_en: string;
publish_time: string;
autohide: string;
tags: number[];
visible: boolean;
autohide_enabled: boolean;
}
export async function getFeed(): Promise<Post[]> {
try {
const resp = await axios.get(url);
+4 -4
View File
@@ -4,7 +4,7 @@ import Form from "react-jsonschema-form";
import AdminCreateCommon from "./AdminCreateCommon";
import { Tag, getTags } from "@models/Tag";
import { SignupForm, getForms } from "@models/SignupForm";
import { createEvent, getEvent, updateEvent, Event } from "@models/Event";
import { Event, createEvent, getEvent, updateEvent } from "@models/Event";
import DatetimeWidget from "@components/Widgets/DatetimeWidget/DatetimeWidget";
import SectionDividerWidget from "@components/Widgets/SectionDividerWidget/SectionDividerWidget";
import MarkdownEditorWidget from "@components/Widgets/MarkdownEditorWidget";
@@ -31,7 +31,7 @@ export interface EventCreatePageState {
signupForm: SignupForm[];
error?: string;
statusMessage?: string;
formData: any;
formData: Event;
}
class EventCreatePage extends React.Component<EventCreatePageProps, EventCreatePageState> {
@@ -40,7 +40,7 @@ class EventCreatePage extends React.Component<EventCreatePageProps, EventCreateP
this.state = {
tags: [],
signupForm: [],
formData: {},
formData: {} as Event,
};
this.fetchTags();
@@ -304,7 +304,7 @@ class EventCreatePage extends React.Component<EventCreatePageProps, EventCreateP
render() {
const { error, statusMessage } = this.state;
const formData = this.state.formData as Event;
const { formData } = this.state;
const schema = this.buildSchema();
const uiSchema = this.buildUISchema();
+5 -5
View File
@@ -4,7 +4,7 @@ import Form from "react-jsonschema-form";
import { RouteComponentProps } from "react-router-dom";
import AdminCreateCommon from "./AdminCreateCommon";
import { Tag, getTags } from "@models/Tag";
import { createPost, getPost, updatePost } from "@models/Feed";
import { Post, createPost, getPost, updatePost } from "@models/Feed";
import DatetimeWidget from "@components/Widgets/DatetimeWidget/DatetimeWidget";
const widgets = {
@@ -21,7 +21,7 @@ export interface FeedCreatePageState {
tags: Tag[];
error?: string;
statusMessage?: string;
formData: any;
formData: Post;
}
class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePageState> {
@@ -29,7 +29,7 @@ class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePage
super(props);
this.state = {
tags: [],
formData: {},
formData: {} as Post,
};
this.fetchTags();
@@ -124,7 +124,7 @@ class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePage
const currentDatetime = date.toISOString();
const schema = {
title: formData.id ? formData.title : "New Post",
title: formData.id ? formData.title_fi : "New Post",
type: "object",
required: ["title", "description", "content", "publish_time"],
properties: {
@@ -202,7 +202,7 @@ class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePage
const uiSchema = this.buildUISchema();
const title = formData.id
? `Edit Post "${formData.title}"`
? `Edit Post "${formData.title_fi}"`
: "Create Post";
return (
-2
View File
@@ -153,8 +153,6 @@ const JobAdCreatePage: React.FC<JobAdCreatePageProps> = ({ match: { params: { id
const onChange = (data) => setFormData(data.formData);
const onFocus = () => setStatusMessage(null);
const title = formData?.id
? `Edit Ad "${formData.title_fi}"`
: "Create Ad";
+10 -10
View File
@@ -3,7 +3,7 @@ import { Helmet } from "react-helmet";
import { Link } from "react-router-dom";
import Form from "react-jsonschema-form";
import AdminCreateCommon from "./AdminCreateCommon";
import { createForm, getForm, updateForm, SignupForm } from "@models/SignupForm";
import { SignupForm, createForm, getForm, updateForm } from "@models/SignupForm";
import DatetimeWidget from "@components/Widgets/DatetimeWidget/DatetimeWidget";
import SignupQuestionsWidget from "@components/Widgets/SignupQuestionsWidget";
import MarkdownEditorWidget from "@components/Widgets/MarkdownEditorWidget";
@@ -32,14 +32,14 @@ export interface SignupCreatePageProps {
export interface SignupCreatePageState {
error?: string;
statusMessage?: string;
formData: any;
formData: SignupForm;
}
class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCreatePageState> {
constructor(props: SignupCreatePageProps) {
super(props);
this.state = {
formData: {},
formData: {} as SignupForm,
};
const {id} = props.match.params;
@@ -54,7 +54,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
this.setState({
formData: {
...data,
questions: JSON.stringify(data.questions)
questions: JSON.stringify(data.questions) as any
},
});
} catch (err) {
@@ -78,7 +78,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
this.setState({
formData: {
...resp,
questions: JSON.stringify(resp.questions)
questions: JSON.stringify(resp.questions) as any
},
statusMessage: "Sign-up created successfully",
});
@@ -87,7 +87,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
this.setState({
formData: {
...resp,
questions: JSON.stringify(resp.questions)
questions: JSON.stringify(resp.questions) as any
},
statusMessage: "Sign-up updated successfully.",
});
@@ -127,7 +127,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
const tomorrowDatetime = tomorrowDate.toISOString();
const schema = {
title: formData.id ? formData.title : "New Sign-up form",
title: formData.id ? formData.title_fi : "New Sign-up form",
type: "object",
required: ["title_fi", "title_en", "start_time", "end_time", "questions"],
properties: {
@@ -201,18 +201,18 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
const uiSchema = this.buildUISchema();
const title = formData.id
? `Edit Sign-up Form "${formData.title}"`
? `Edit Sign-up Form "${formData.title_fi}"`
: "Create Sign-up form";
return (
<AdminCreateCommon>
<Helmet>
<link rel="canonical" href="https://sik.ayy.fi/admin/feed/create" />
<link rel="canonical" href="https://sik.ayy.fi/admin/signups/create" />
</Helmet>
<h1>{title}</h1>
{statusMessage && <div className="success">{statusMessage}</div>}
{formData.id && <p>
Check out the signup form here: <Link to={`/signup/${formData.id}`}>{formData.title}</Link>
Check out the signup form here: <Link to={`/signup/${formData.id}`}>{formData.title_fi}</Link>
</p>}
<Form schema={schema as any}
uiSchema={uiSchema}