- 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`.
Full stops in slugs were preventing branch creation for unpublished
entries when using the editorial workflow, as `.` is not an allowed
character in branch names. This commit changes slug generation so
periods are replaced with `-` the same way other "non-sluggable"
characters are.
* 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
* 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