80 Commits

Author SHA1 Message Date
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
dac57c60a0 Entry deletion for the simple workflow (#485) 2017-07-21 23:40:33 -07:00
6d7bf3b186 Fixes 298 Basic validation for config 2017-04-21 11:03:24 -07:00
4be23e5fc7 Show error if config fails to parse 2017-04-14 17:22:24 +01:00
c560689edd fixes #258 - reverse collection order (#345) 2017-04-05 15:02:13 -07:00
3adb1ee4fc Set correct hasChanged and set it on all entry persistence actions 2017-03-16 11:34:36 -07:00
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
3c7b8d2322 delete button working (#274)
Fixes #274.
2017-03-11 10:47:36 -08:00
ecbcbf06b5 Role authorization for Netlify-auth (#224) 2017-01-26 19:23:42 -02:00
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
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
58461c0d22 Added same-origin credentials to fetch config file 2017-01-12 19:20:37 -02:00
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
a4d7622ade Asset API (#204)
Asset API
2017-01-10 22:23:22 -02:00
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
1efc59a9fb Netlify auth (#194) 2016-12-23 16:59:48 -02:00
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
14c798517c Github 'Not Found' for unplublished entries means there are no unpublished entries 2016-12-01 19:59:29 -02:00
047f84405a Entry Draft Refactor (#178) 2016-11-30 16:52:17 -02:00
6194e969f5 Friendlier error message for missing media_folder 2016-11-29 16:16:56 -02:00
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
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
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
295cdd2f6d Persistence editorial workflow through own actions & reducer 2016-10-31 18:19:51 -02:00
baafe0b32f refactor on slugformatter 2016-10-27 13:50:02 -02:00
bbce1c30de Make loading single file work without scanning whole collection 2016-10-27 14:23:36 +02:00
bd1216c760 bugfixes for test-repo. Closes #126 and #127 2016-10-20 14:27:58 -02:00
3f8f9197c1 small ui adjustments 2016-10-18 15:18:29 -02:00
e001714aed Optimistic Updates (#114)
* Optimistic Updates structure
* Optimistic update for Editorial Workflow
2016-10-18 14:30:13 -02:00
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
e53262d92c Moved persisting logic to entryDraft reducer + added tests. 2016-10-13 14:30:11 +02:00
077e83dfc9 Handle entry persisting state in actions and reducer + added tests. 2016-10-12 19:19:05 +02:00
2f37b3df12 Fixed eslint errors 2016-10-12 16:01:27 +02:00
190aa05d68 Use react-toolbox buttons. Added Cancel button for the entry editor. 2016-10-11 18:27:37 +02:00
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
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
d7363f276e Removed “AppHeader” and “FindBar” from UI 2016-09-19 15:52:20 -03:00
cc80ef4a29 Added navigation drawer with list of collections. Closes #71 2016-09-16 15:00:24 +02:00
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
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
71b5b0bde9 merge button for editorial workflow 2016-09-14 18:25:45 -03:00
0b447d483d Editorial workflow Drag'nDrop 2016-09-13 18:54:39 -03:00
686dd51410 Commiting unpublished branches on pre existing branch (updates PR) 2016-09-13 14:31:18 -03:00
911e3f7077 initialize editorialWorkflow state after config loaded & parsed 2016-09-13 04:29:30 -03:00
165c758bb9 Updated reducer for editorial workflow 2016-09-13 04:09:52 -03:00
f51525baaa edit unpublished content on EntryPage (through HOC) 2016-09-13 03:59:48 -03:00
04c50d8def editorial workflow HoC 2016-09-08 16:18:38 -03:00
90d4b39fc1 Load unpublished entries 2016-09-06 17:18:27 -03:00
f0e608a209 Editorial Workflow skeleton 2016-09-06 13:04:17 -03:00
b0e62d1ca9 Refactor: Publish mode to publish 'workflow' 2016-09-05 18:56:03 -03:00