87 Commits

Author SHA1 Message Date
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
Andrey Okonetchnikov
2f37b3df12 Fixed eslint errors 2016-10-12 16:01:27 +02:00
Andrey Okonetchnikov
190aa05d68 Use react-toolbox buttons. Added Cancel button for the entry editor. 2016-10-11 18:27:37 +02:00
Cássio Souza
2815a86e0c Search integration (React Version) (#84)
* algolia integration skeleton

* Configuration Defaults

* Implemented partial entries with lazy loading of complete file

* Moved backend selection logic to actioncreators

* basic pagination for entries

* general search skeleton

* Basic search result listing

* Redo search for different search terms

* search results pagination

* Changing integration config & handling

* Changing integration config & handling

* new integration config model
2016-10-10 15:34:21 -03:00
Andrey Okonetchnikov
0b69f6fa98 Switched to Jest testing framework.
Made tests pass again. Created entries.spec.js + made it pass.
Added wallaby.config.js to support wallaby.js runner.
2016-09-20 14:00:03 +02:00
Cássio Zen
d7363f276e Removed “AppHeader” and “FindBar” from UI 2016-09-19 15:52:20 -03:00
Andrey Okonetchnikov
cc80ef4a29 Added navigation drawer with list of collections. Closes #71 2016-09-16 15:00:24 +02:00
Andrey Okonetchnikov
46667926b2 Moved findBar to components and decopuled it from redux as much as possible.
Removed stories from containers. These aren't possible to write since containers depend on redux.
2016-09-16 12:54:26 +02:00
Andrey Okonetchnikov
5409cc1022 Added "Create new" buttons to the header. Closes #49
Note that this is temp solution UI-wise since it won't scale.
2016-09-15 11:12:33 +02:00
Cássio Zen
71b5b0bde9 merge button for editorial workflow 2016-09-14 18:25:45 -03:00
Cássio Zen
0b447d483d Editorial workflow Drag'nDrop 2016-09-13 18:54:39 -03:00
Cássio Zen
686dd51410 Commiting unpublished branches on pre existing branch (updates PR) 2016-09-13 14:31:18 -03:00