Creating
========
The next step is to add the code to create new modules. Create a new file ``src/js/routes/modules/new.jsx`` and add the following code:
.. code-block:: jsx
import m from "mithril";
import Athena from "../../athena.jsx";
import api from "../../api.js";
export default function New() {
let code = "";
let name = "";
let semester = "WS18/19";
function setCode(ev) {
code = ev.target.value;
}
function setName(ev) {
name = ev.target.value;
}
function setSemester(ev) {
semester = ev.target.value;
}
function createModule(ev) {
ev.preventDefault();
m.request({
method: "POST",
url: `${api.base}/modules`,
body: {
data: {
type: "modules",
attributes: {
code,
name,
semester,
},
relationships: {
teacher: {
data: {
type: "users",
id: 1,
},
},
},
},
},
}).then((data) => {
m.route.set("/modules");
});
}
/**
* render the component
*/
return {
view: (vnode) => {
return (
Create new Module