wasp/test/Parser/valid.wasp
2020-02-05 13:46:48 +01:00

82 lines
1.5 KiB
Plaintext

// Test .wasp file.
import something from "some/file"
// App definition.
app test_app {
// Title of the app.
title: "Hello World!"
}
// Page definition.
page Landing {
route: "/",
content: {=jsx
<div>
My landing page! I have { this.props.taskList.length } tasks.
<div>
<TaskCreateForm
onCreate={task => this.props.addTask(task)}
submitButtonLabel={'Create new task'}
/>
</div>
My tasks
<TaskList />
</div>
jsx=},
style: {=css
div {
color: red
}
css=}
}
page TestPage {
route: "/test",
content: {=jsx
<div>This is a test page!</div>
jsx=},
style: "test.css"
}
// Entity definition.
entity Task {
description :: string,
isDone :: boolean
}
// NOTE(matija): this is only being parsed for now, no code is generated yet.
// Entity form definition.
entity-form<Task> CreateTaskForm {
fields: {
description: {
show: true,
defaultValue: "doable task",
placeholder: "What will you do?"
},
isDone: {
show: false,
defaultValue: false // Although not shown, this field will be set to "false".
}
},
submit: {
onEnter: false,
button: {
show: true
}
}
}
entity-list<Task> TaskList {
showHeader: false,
fields: {
description: {
render: {=js
task => task.description
js=}
}
}
}