diff --git a/.eslintrc.js b/.eslintrc.js
index fe66122eb9..5a43d2d724 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -83,7 +83,7 @@ module.exports = exports = {
"no-void": WARN,
// Produce warnings when something is commented as TODO or FIXME
"no-warning-comments": [ WARN, {
- "terms": [ "TODO", "FIXME" ],
+ "terms": [ "FIXME" ],
"location": "start"
}],
"no-with": WARN,
diff --git a/demo/api/Pages/index.js b/demo/api/Pages/index.js
index 5846224b94..4c41a62cfd 100644
--- a/demo/api/Pages/index.js
+++ b/demo/api/Pages/index.js
@@ -2,17 +2,25 @@ const app = require('../../server');
const mongoose = require('mongoose');
const Page = mongoose.model('Page');
+// TODO: Authentication
app.get('/pages', (req, res) => {
+ // TODO: Filter, Sort
Page.find((err, pages, next) => {
if (err) { return next(err); }
return res.json(pages);
});
});
+// TODO: Authentication
app.post('/pages', (req, res) => {
const newPage = new Page(req.body);
+
+ // TODO: Permissions
+ // TODO: Validate
newPage.save((err, page, next) => {
if (err) { return next(err); }
return res.json(page);
});
});
+
+// TODO: DELETE route
diff --git a/demo/client/components/collections/Orders/Add/index.js b/demo/client/components/collections/Orders/Add/index.js
index 909b1519da..56ca9b909e 100644
--- a/demo/client/components/collections/Orders/Add/index.js
+++ b/demo/client/components/collections/Orders/Add/index.js
@@ -11,7 +11,9 @@ class Add extends Component {
constructor(props) {
super(props);
this.slug = 'orders';
- this.collection = this.props.collections[this.slug];
+ this.collection = this.props.collections.find(collection => {
+ return collection.slug === this.slug;
+ });
}
render() {
diff --git a/demo/client/components/collections/Orders/Archive/index.js b/demo/client/components/collections/Orders/Archive/index.js
index 0d94ea0799..55ea5a53b0 100644
--- a/demo/client/components/collections/Orders/Archive/index.js
+++ b/demo/client/components/collections/Orders/Archive/index.js
@@ -11,7 +11,9 @@ class Archive extends Component {
constructor(props) {
super(props);
this.slug = 'orders';
- this.collection = this.props.collections[this.slug];
+ this.collection = this.props.collections.find(collection => {
+ return collection.slug === this.slug;
+ });
}
render() {
diff --git a/demo/client/components/collections/Orders/Edit/index.js b/demo/client/components/collections/Orders/Edit/index.js
index 022c14b903..bafb1d6713 100644
--- a/demo/client/components/collections/Orders/Edit/index.js
+++ b/demo/client/components/collections/Orders/Edit/index.js
@@ -11,7 +11,9 @@ class Edit extends Component {
constructor(props) {
super(props);
this.slug = 'orders';
- this.collection = this.props.collections[this.slug];
+ this.collection = this.props.collections.find(collection => {
+ return collection.slug === this.slug;
+ });
}
render() {
diff --git a/demo/client/components/collections/Pages/Add/index.js b/demo/client/components/collections/Pages/Add/index.js
index bfc47dec6b..1fc63aa907 100644
--- a/demo/client/components/collections/Pages/Add/index.js
+++ b/demo/client/components/collections/Pages/Add/index.js
@@ -19,7 +19,9 @@ class Add extends Component {
constructor(props) {
super(props);
this.slug = 'pages';
- this.collection = this.props.collections[this.slug];
+ this.collection = this.props.collections.find(collection => {
+ return collection.slug === this.slug;
+ });;
this.state = {
apiUrl: 'https://site.com/page?slug=about-us'
};
diff --git a/demo/client/components/collections/Pages/Archive/index.js b/demo/client/components/collections/Pages/Archive/index.js
index 768bd71793..0578f60f84 100644
--- a/demo/client/components/collections/Pages/Archive/index.js
+++ b/demo/client/components/collections/Pages/Archive/index.js
@@ -11,7 +11,9 @@ class Archive extends Component {
constructor(props) {
super(props);
this.slug = 'pages';
- this.collection = this.props.collections[this.slug];
+ this.collection = this.props.collections.find(collection => {
+ return collection.slug === this.slug;
+ });
}
render() {
diff --git a/demo/client/components/collections/Pages/Edit/index.js b/demo/client/components/collections/Pages/Edit/index.js
index 8f3b7a9cbb..e82f93d197 100644
--- a/demo/client/components/collections/Pages/Edit/index.js
+++ b/demo/client/components/collections/Pages/Edit/index.js
@@ -11,7 +11,9 @@ class Edit extends Component {
constructor(props) {
super(props);
this.slug = 'pages';
- this.collection = this.props.collections[this.slug];
+ this.collection = this.props.collections.find(collection => {
+ return collection.slug === this.slug;
+ });
}
render() {
diff --git a/demo/collections/Orders.js b/demo/collections/Orders.js
index 9edf0f18e9..a96f373606 100644
--- a/demo/collections/Orders.js
+++ b/demo/collections/Orders.js
@@ -3,8 +3,9 @@ export default {
label: 'Orders',
singular: 'Order',
plural: 'Orders',
- fields: {
- metaInfo: {
+ fields: [
+ {
+ name: 'metaInfo',
type: 'group',
fields: {
title: {
@@ -18,22 +19,25 @@ export default {
keywords: { type: 'text' }
}
},
- content: {
+ {
+ name: 'content',
type: 'group',
- fields: {
- exampleField1: {
+ fields: [
+ {
+ name: 'exampleField1',
type: 'textarea',
wysiwyg: true,
height: 400
},
- flexibleContentExample: {
+ {
+ name: 'flexibleContentExample',
type: 'flex',
availableLayouts: [
'layout1',
'layout5'
]
}
- }
+ ]
}
- }
+ ]
};
diff --git a/demo/collections/Pages.js b/demo/collections/Pages.js
index 6e68e97bb9..84ca76e9ac 100644
--- a/demo/collections/Pages.js
+++ b/demo/collections/Pages.js
@@ -15,5 +15,11 @@ export default {
label: 'Content',
type: 'textarea'
}
+ ],
+ relationships: [
+ {
+ relation: 'orders',
+ type: 'hasMany'
+ }
]
};
diff --git a/demo/collections/index.js b/demo/collections/index.js
index abda602900..761ab497ac 100644
--- a/demo/collections/index.js
+++ b/demo/collections/index.js
@@ -1,7 +1,7 @@
import Orders from './Orders';
import Pages from './Pages';
-export default {
- ...Orders,
- ...Pages
-};
+export default [
+ Orders,
+ Pages
+];
diff --git a/src/client/components/layout/Sidebar/index.js b/src/client/components/layout/Sidebar/index.js
index 3d5821bc6b..cf6c3b5192 100644
--- a/src/client/components/layout/Sidebar/index.js
+++ b/src/client/components/layout/Sidebar/index.js
@@ -21,8 +21,8 @@ class Sidebar extends Component {