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.
- New state field: `state.entryDraft.hasChanged`, initialized to
`false`.
- `state.entryDraft.hasChanged` set to `true` in `entryDraft` reducer
for `DRAFT_CHANGE_FIELD`.
- `EntryPage` adds a `listenBefore` listener to `history` on
`componentDidMount` that checks `this.props.entryDraft.hasChanged`
and, if that is true, asks the user to confirm the navigation.
- `EntryPage` removes its listener on `componentWillUnmount`.
* 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
* Merge conflicts automatically. Closes#208
* removed unpublished entry route
All entries (either under editorial workflow or not) go through the same edit route.
* 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
* 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
* Files based collections skeleton
* listing file based cards
* create new entry with collection
* moved lookupEntry to main backend
* Editing single page Collections file
* List widget basic implementation
* Adjustments for test-repo
* check if value exists before trying to iterate over