98 Commits

Author SHA1 Message Date
Caleb
d378488e0f Stop using logout when no locally stored user was found.
This was causing users to not be able to sign up with Netlify Identity.
2017-11-11 14:52:18 -05:00
Shawn Erquhart
0f8a74be13 only rebase EW PR if no asset store
Editorial workflow pull requests are rebased if the base has
changed to ensure that asset changes on the base branch are
reflected in the PR branch, but if an asset store is in use,
no rebasing is necessary because assets are stored outside
of the content repo.
2017-11-11 14:52:04 -05:00
Caleb
37a36ffed4 Fix other than markdown editorial workflow entries on dashboard.
When entries were loaded for the editorial workflow dashboard, they were
all assumed to be FrontMatter/MarkDown files. This PR allows them to be
any supported format.
2017-11-11 10:34:29 -05:00
Shawn Erquhart
6b45a46a39 add media library
* rebase editorial workflow pull requests when behind

* fix async/await transpilation

* add media library pagination

* switch media library to grid layout

* ensure that only cms branches can be force updated
2017-11-08 15:00:28 -05:00
Caleb
c707228c8f Disable login button while login is in progress. 2017-11-07 12:24:33 -05:00
Shawn Erquhart
3d65cc380e stop navigation on failed entry save in editorial workflow 2017-10-26 14:08:31 -04:00
Aquib Master
c97856c71d Flash an error on save when required fields are missed
- Add error type constants
- Flash an error message when the user saves without completing all required fields
- Surface presence errors
2017-10-26 13:58:37 -04:00
Caleb
024c43a8c8 Upgrade UUID module. (#682) 2017-10-18 13:02:16 -04:00
Shawn Erquhart
3a7594722c fix file collection persist (#628) 2017-09-26 13:20:03 -07:00
Mathias Biilmann Christensen
aaa9d2ab95 Make Neltify CMS work with Netlify Identity Widget
When Netlify CMS uses the git-gateway backend, it will check for a

  window.netlifyIdentity

object and use that to handle the whole auth flow.

This also sets defaults for the git-gateway endpoint, that means it
can be used in templates with zero configuration and fit with a
one-click deploy to Netlify approach.

Netlify Identity itself is based on our open-source GoTrue microservice,
and Netlify's Git Gateway project is completely open-source as well.

The git-gateway backend will work with Netlify without any setup, but can
also be configured to work with any selfhosted GoTrue and Git Gateway
instances.
2017-09-06 13:52:11 -07:00
Shawn Erquhart
4821959951 remove markdown widget serializers 2017-09-01 15:16:51 -04:00
Caleb
74662cb4bd Do not close entry if it failed to save or delete. 2017-08-29 12:22:48 -06:00
Shawn Erquhart
9c0b7262ef fix small code issues in RTE implementation 2017-08-25 16:36:22 -04:00
Shawn Erquhart
842c2935e9 use mdast instead of html for rte local model
markdown is currently serialized to html at load time,
which makes it near impossible to support arbitrary html
in the markdown. This also means we're stringifying to
html on every change.

This commit moves to Remark's MDAST for local serialization,
including parsing from MDAST to Slates's Raw AST. It brings
much more control over the editing experience and full
support for processing unescaped HTML.
2017-08-25 16:30:37 -04:00
Shawn Erquhart
ffbd8d22cc expose widgetValueSerializer registry 2017-08-25 16:24:13 -04:00
Shawn Erquhart
1c0bb6a877 implement widget data serialization for rte perf 2017-08-25 16:24:13 -04:00
Shawn Erquhart
14be00be90 Merge pull request #507 from netlify/fix-post-save-error
Fix runtime error on saving post in editorial workflow
2017-08-17 11:52:54 -04:00
tortilaman
6805a6936d Prevent unauthorized CMS access (#323) and enable use of GitHub Enterprise (#491)
* Prevent unauthorized CMS access and enable use of GitHub Enterprise
2017-08-01 20:28:03 -07:00
Benaiah Mischenko
fda2f2269d Fix runtime error on saving post in editorial workflow
The removed `dispatch(closeEntry)` is handled in the code that's been
erroring out (located in `containers/EntryPage.js`). User-visible
functionality is identical.
2017-08-01 19:48:15 -07:00
Benaiah Mischenko
dac57c60a0 Entry deletion for the simple workflow (#485) 2017-07-21 23:40:33 -07:00
Joseph Earl
6d7bf3b186 Fixes 298 Basic validation for config 2017-04-21 11:03:24 -07:00
Joseph Earl
4be23e5fc7 Show error if config fails to parse 2017-04-14 17:22:24 +01:00
Julian Krispel-Samsel
c560689edd fixes #258 - reverse collection order (#345) 2017-04-05 15:02:13 -07:00
Benaiah Mischenko
3adb1ee4fc Set correct hasChanged and set it on all entry persistence actions 2017-03-16 11:34:36 -07:00
Shawn Erquhart
705e348138 update sidebar styling, add new entry links (#276)
* udpate sidebar styling, add new entry links

* make sidebar new entry links always visible

* simplify app bar implementation, findbar
2017-03-15 11:32:41 -07:00
americool
3c7b8d2322 delete button working (#274)
Fixes #274.
2017-03-11 10:47:36 -08:00
Cássio Souza
ecbcbf06b5 Role authorization for Netlify-auth (#224) 2017-01-26 19:23:42 -02:00
Cássio Souza
0e10c3f984 Local search (#220)
* Version Bump

* local search skeleton

* Added WaitService middleware

* Return matching queries

* wait action middleware rename/refactor

* bigger debounce time

* Fix: Initialize state using Immutable

* Local Search without integrations

* Local Search refactor: Keep state in closure, recurse

* “string” should be treated as the default widget by the inference. Closes #199
2017-01-19 15:50:26 -02:00
Cássio Souza
3306670459 Validation (#216)
* Field config options: 'required' and 'pattern'
* Widget controls can implement it's own isValid
* Validation errors store in redux & displayed
* Support for returned Promises in isValid
* Allow widget controls to return either a boolean, an error object or a promise from isValid
2017-01-13 19:30:40 -02:00
Cássio Zen
58461c0d22 Added same-origin credentials to fetch config file 2017-01-12 19:20:37 -02:00
Cássio Souza
48d8077ff0 Editorial workflow Improvements (#212)
* Merge conflicts automatically. Closes #208
* removed unpublished entry route
All entries (either under editorial workflow or not) go through the same edit route.
2017-01-11 20:58:15 -02:00
Cássio Souza
a4d7622ade Asset API (#204)
Asset API
2017-01-10 22:23:22 -02:00
Cássio Souza
ddfdc59941 Add metadata to draft entry fields (#196)
* Add metadata to draft entry fields
* Do not render widget if value is null
* Pass along metadata
* Namespace queries to avoid conflict
* Query relational field on mount (for when editing entries)
* Make sure metadata is Immutable
* Added collection name  as metadata keys
2016-12-29 17:18:24 -02:00
Cássio Souza
1efc59a9fb Netlify auth (#194) 2016-12-23 16:59:48 -02:00
Cássio Souza
05337ff232 Relation search widget (#186)
* search action/reducer refactor

* Relation widget skeleton

* search clearing

* query action + reducer

* Autocomplete component for RelationControl
2016-12-07 15:44:07 -02:00
Cássio Zen
14c798517c Github 'Not Found' for unplublished entries means there are no unpublished entries 2016-12-01 19:59:29 -02:00
Cássio Souza
047f84405a Entry Draft Refactor (#178) 2016-11-30 16:52:17 -02:00
Cássio Zen
6194e969f5 Friendlier error message for missing media_folder 2016-11-29 16:16:56 -02:00
Cássio Souza
2a2497072d UI updates (#151)
* infer card title

* Infer entry body & image

* infer image

* Better terminology: EntryListing accept a single Collection

* remove log

* Refactored Collections VO into selectors

* use selectors when showning card

* fixed size cards

* Added 'bio' and 'biography' to collection description inference synonyms

* Removed unused card file

* throw error instance

* bugfix for file based collections

* lint

* moved components with css to own folder

* Search Bugfix: More than one collection might be returned

* Changed sidebar implementation. Closes #104 & #152

* Show spinning loading for unpublished entries

* Refactored Sidebar into a separate container

* Make preview widgets more robust
2016-11-11 17:54:58 -02:00
Andrey Okonetchnikov
5b5f1edb22 Moved applyDefaults function and related code to actions (where it belong).
- Moved applyDefaults + related code
- Added tests for /actions/config.js
- Fixed some ESLint errors
2016-11-11 12:32:03 +01:00
Andrey Okonetchnikov
4d696f2253 Login workflow (#137)
* Use collection label instead of name on the CollectionPage

* Added Avatar and logout menu item

* [feat](login) Added userpic with a logout action in the dropdown.

- Display logged in user in the AppHeader
- Implemented logout action and store + tests
- Better styles for GitHub sign in screen

Closes #100

* Better styles for the AppHeader
2016-11-01 11:35:20 -02:00
Cássio Zen
295cdd2f6d Persistence editorial workflow through own actions & reducer 2016-10-31 18:19:51 -02:00
Cássio Zen
baafe0b32f refactor on slugformatter 2016-10-27 13:50:02 -02:00
Mathias Biilmann Christensen
bbce1c30de Make loading single file work without scanning whole collection 2016-10-27 14:23:36 +02:00
Cássio Zen
bd1216c760 bugfixes for test-repo. Closes #126 and #127 2016-10-20 14:27:58 -02:00
Cássio Zen
3f8f9197c1 small ui adjustments 2016-10-18 15:18:29 -02:00
Cássio Souza
e001714aed Optimistic Updates (#114)
* Optimistic Updates structure
* Optimistic update for Editorial Workflow
2016-10-18 14:30:13 -02:00
Andrey Okonetchnikov
f3b448106d Added notifications. Closes #101
- Using react-notifications to manage redux state
- Refactored Toast component to be stateless
- Toasts can be stacked
- Cleaned up CSS
- Updated stories
2016-10-17 12:35:31 +02:00
Andrey Okonetchnikov
e53262d92c Moved persisting logic to entryDraft reducer + added tests. 2016-10-13 14:30:11 +02:00
Andrey Okonetchnikov
077e83dfc9 Handle entry persisting state in actions and reducer + added tests. 2016-10-12 19:19:05 +02:00