From 70e76d80ef2ac0611bb8d26792edfa7eca84c22b Mon Sep 17 00:00:00 2001 From: James Date: Mon, 17 Sep 2018 20:11:56 -0400 Subject: [PATCH] converts all filters in collection views to find --- .eslintrc.js | 2 +- demo/api/Pages/index.js | 8 +++++++ .../collections/Orders/Add/index.js | 4 +++- .../collections/Orders/Archive/index.js | 4 +++- .../collections/Orders/Edit/index.js | 4 +++- .../components/collections/Pages/Add/index.js | 4 +++- .../collections/Pages/Archive/index.js | 4 +++- .../collections/Pages/Edit/index.js | 4 +++- demo/collections/Orders.js | 20 +++++++++++------- demo/collections/Pages.js | 6 ++++++ demo/collections/index.js | 8 +++---- src/client/components/layout/Sidebar/index.js | 6 +++--- src/client/components/routes/Collections.js | 21 +++++++++++-------- src/client/reducers/collections.js | 4 +--- 14 files changed, 65 insertions(+), 34 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index fe66122eb..5a43d2d72 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 5846224b9..4c41a62cf 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 909b1519d..56ca9b909 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 0d94ea079..55ea5a53b 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 022c14b90..bafb1d671 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 bfc47dec6..1fc63aa90 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 768bd7179..0578f60f8 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 8f3b7a9cb..e82f93d19 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 9edf0f18e..a96f37360 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 6e68e97bb..84ca76e9a 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 abda60290..761ab497a 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 3d5821bc6..cf6c3b519 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 {