107 Commits

Author SHA1 Message Date
Shawn Erquhart
8e00379fdb fix validation toast notification for workflow 2018-03-28 10:14:01 -04:00
Mike Romani
55f01e6f1d Fields default to Blank String (#1126) 2018-03-28 10:07:20 -04:00
Caleb
cd10a713d8 Add option to strip Unicode from entry filenames (#1135) 2018-03-27 18:56:10 -04:00
Shawn Erquhart
a83c04cad0 allow manual initialization and config as an arg 2018-03-06 16:22:55 -05:00
Shawn Erquhart
38c7ef94cd report loadUnpublishedEntries errors 2018-03-03 22:39:49 -05:00
Luís Miguel
3c21a6a6db Fix relation lists (regression #359) 2018-01-23 16:50:10 -05:00
Damien Duhamel
515dde1dfe Fix #783 duplicate uploading same asset name (#853) 2017-12-14 09:44:13 -08:00
Shawn Erquhart
cfbf31b130
WIP - Global UI (#785)
* update top bar and collections sidebar UI

* update collection entries UI

* improve global layout

* merge search page into collection page

* enable new entry button

* search fixup

* wip -initial editor update

* update editor scrolling and markdown toolbar position

* wip

* editor toolbar progress

* editor toolbar wip

* finished basic editor toolbar

* add standalone toggle component

* improve markdown toolbar spacing

* add user avatar placeholder

* finish markdown toggle styling

* refactor icon setup, add new icons

* add new icons to markdown editor toolbar

* remove extra app container

* add markdown active mark style

* relation and text widget styling

* widget design updates, basic list/object design update

* widget style updates, image widget improvements

* refactor widget directory, fix file removal

* widget focus styles

* finish editor widget focus styles

* migrate media library modal to react-modal

* wip - migrate editor component form to modal

* wip - move editor component form to modal

* wip - embed plugin forms in the editor

* inline shortcode forms working

* disable react hot loading, its breaking things

* improve shortcode form styles

* make shortcode form collapsible, improve styling

* add close functionality to shortcode blocks

* improve base media library styling

* fix shortcode label

* migrate unstyled workflow to new UI

* wip - reorganizing everything

* more work moving everything

* finish more moving and eliminating stuff

* restructure, remove react-toolbox

* wip - removing old stuff, more restructure

* finish restructure

* wip - css arch

* switch back to test repo

* update react-datetime to ^2.11.0

* remove leftover react-toolbox button

* more restructuring clean-up

* fix UI component directory case

* wip -css editor control style

* wip - consolidate widget styles

* wip - use a single control renderer

* fixed object values breaking

* wip - editor control active styles

* pass control wrapper to widgets

* ensure branch name is trimmed

* wip - improve widget authoring support

* import Map to Widget component

* refactor toolbar buttons

* wip - more widget active styles

* break out editor toggle component

* add local scroll sync back

* update editor toggle icons

* limit editor control pane content width

* fix editor control spacing

* migrate markdown toolbar stickiness to css

* fix markdown toolbar border radius

* temporarily use test backend

* stop markdown toolbar from going to bottom

* restore disabled markdown toolbar buttons for raw

* test markdown widget without focus styles

* more widget updates

* remove card visuals from editor

* disable dragging editor split off screen

* use editorControl component for shortcode fields

* make header site link configurable

* add configurable collection descriptions

* temporarily add example assets

* add basic list view

* remove outdated css mixins

* add and implement search icon

* activate quick add menu

* visualize usable space in editor view

* fix entry close, other improvements

* wip - editorial workflow updates

* some dropshadow and other CSS tweaks

* workflow ui updates

* add worfklow card buttons

* fix workflow card button handlers

* some dropshadow and other CSS tweaks

* make workflow board wider

* center workflow and collection views

* add basic responsiveness

* a bunch of fun UI fixes! a BUNCH! (#875)

* give `.nc-entryEditor-toolbar-mainSection` left and right child divs

* a bunch of fun UI fixes! a BUNCH!

* remove obscure --buttonShadow

* revert to test repo

* fix not found page styling

* allow workflow publishing from any column

* disallow publishing from all columns, with feedback

* fix new entry button

* fix markdown state persisting across entries

* enable simple workflow save and new from editor

* update slug in address bar when saving new entry

* wip - workflow updates, deletion working

* add status change functionality to editor

* wip - improving status change from editor

* editor toolbar back button improvements, loading improvements, cleanup

* progress on the media library UI cleanup

* remove font smothing css

* a quick fix for these buttons

* tweaks

* progress on media library modal— broken FYI

* fix media library functionality, finish migrating footer

* remove media library footer files

* remove leftover css import

* fix media library

* editor publishing functionality complete (unstyled)

* remove leftover loader var from media library

* wip - editor publishing styles

* add status dropdown styling

* editor toolbar style updates

* editor toolbar state improvements

* progress on the media library UI cleanup, style improvements

* finish editorial workflow editor styling

* finish media library styling

* fix config

* add what-input to optimize focus styling

* fix button

* fix navigation blocking for simple workflow

* improve simple workflow publishing

* add avatar dropdown to editor top bar

* style github and test-repo auth pages

* add git gateway auth page styles

* improve editor error styling
2017-12-07 12:37:10 -05:00
Shawn Erquhart
9569f18ee4 add private media library for integrations 2017-11-19 02:13:27 -05:00
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