Adding new pages
So far, we are able to change and remove pages from our content management system. We ended the last chapter by seeding our local storage with a serialized array, so we could see it in action. Let's take a step back and make a way to create new pages through the interface.
First, we'll add an insert
method and update the constructor
method of Backend
:
constructor() { super(); var pages = LocalStore.get("pages", []); this.id = 1; this.pages = pages.map((page) => { page.id = this.id++; return page; }); } insert() { this.pages.push({ "id": this.id, "title": "New page " + this.id, "body": "" }); this.id++; LocalStore.set("pages", this.pages); this.emit("update", this.pages); }
The page id
values aren't really important to us outside the context of our React components. So, it's fine to regenerate them as the pages are loaded from local storage. We keep track of the internal id
value, so new...