548 Commits

Author SHA1 Message Date
Benaiah Mischenko
12f5e4cda8 Merge pull request #306 from americool/adding-close-preview-feature
Adding close preview feature
2017-04-06 15:56:24 -07:00
Julian Krispel-Samsel
c560689edd fixes #258 - reverse collection order (#345) 2017-04-05 15:02:13 -07:00
Shawn Erquhart
4752a1f150 add styling for preview toggle 2017-04-05 12:43:18 -04:00
Americool
948158cda3 small fixes changed PREVIEW_STATE to PREVIEW_HIDE 2017-04-05 12:42:30 -04:00
Americool
1f5db5ab3c adding close preview 2017-04-05 12:42:30 -04:00
Shawn Erquhart
71e683f5bf Fix logout for Firefox
The log out menu was nested within a button, which caused
bubbling issues for the log out button event handler. This
was due to a misuse of the React Toolbox AppBar component.
Added a proper IconMenu to trigger the logout dropdown.
2017-03-31 15:47:55 -04:00
Benaiah Mischenko
1aa02eb42a Refactor readUnpublishedBranchFile with resolvePromiseProperties 2017-03-20 17:16:58 -07:00
Benaiah Mischenko
1dc2841609 New promise helper, resolvePromiseProperties
`resolvePromiseProperties` takes on object and returns a promise which
resolves to a copy of the object. This copy has all its immediate
properties which were Promises replaced with the resolved value of
those promises. Promises are run with `Promise.all`. Errors are passed
up to the outer promise chain.

Example usage:

```js
resolvePromiseProperties({
  promise: Promise.resolve("this property will resolve to this string"),
  nonPromise: "this will remain the same",

  // you can nest the function
  nestedPromiseInside: resolvePromiseProperties({
    nestedPromise: Promise.resolve("this will resolve"),
    nestedNonPromise: "this stays the same",
  }),
})
.then(obj => console.log(obj))

```

That will produce the following output:

```js
{
  promise: "this property will resolve to this string",
  nonPromise: "this will remain the same",
  nestedPromiseInside: {
    nestedPromise: "this will resolve",
    nestedNonPromise: "this stays the same",
  },
}
```
2017-03-20 17:04:40 -07:00
Benaiah Mischenko
c079cb96c4 Label cards in editorial workflow 2017-03-20 17:02:52 -07:00
Shawn Erquhart
b3ce95057e fix preview pane height in Safari 2017-03-20 12:33:04 -04:00
Luis Correia
e9c6e8cda1 #294 Make commit messages imperative 2017-03-17 01:09:52 +00:00
Benaiah Mischenko
3adb1ee4fc Set correct hasChanged and set it on all entry persistence actions 2017-03-16 11:34:36 -07:00
Benaiah Mischenko
47c46e7a6a Set state.entryDraft.entry.hasChanged to false when an entry saves succesfully 2017-03-16 11:05:17 -07:00
Shawn Erquhart
3096b4617e improve entry editor UI 2017-03-15 21:18:16 -04:00
Shawn Erquhart
736954da8b Merge pull request #285 from Benaiah/confirm-navigation-while-changes-unsaved
Confirm navigation when it would discard unsaved changes
2017-03-15 18:12:02 -04:00
Benaiah Mischenko
a88b2d6c9f Confirm navigation when it would discard unsaved changes
- 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`.
2017-03-15 14:49:38 -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
Mathias Biilmann Christensen
5e504bbc5a Fix firefox fetch issue in GitHub API 2017-03-15 00:06:31 -07:00
Benaiah Mischenko
47096c1cf0 Filter merged PRs from unpublished posts 2017-03-14 17:01:21 -07:00
Benaiah Mischenko
9fc98a738b Disallow full stops in entry slugs
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.
2017-03-14 13:39:56 -07:00
americool
3c7b8d2322 delete button working (#274)
Fixes #274.
2017-03-11 10:47:36 -08:00
Shawn Erquhart
ff8b420777 remove leading underscore from getWidget method 2017-03-06 19:38:21 -05:00
Shawn Erquhart
e48221a04f add shared widget getter for widgetFor and widgetsFor 2017-03-06 15:22:40 -05:00
Shawn Erquhart
9bc80ed5e4 add object support to widgetsFor 2017-03-06 13:30:40 -05:00
Shawn Erquhart
9dca9f912a add widgetsFor helper
This allows individual widgets to be accessed
from preview templates that handle lists
2017-03-06 12:28:40 -05:00
Mathias Biilmann Christensen
b777343d70 yet another field ordering related change 2017-02-21 23:59:34 -08:00
Mathias Biilmann Christensen
09e6f2c80e Fix ordering when persisting a files based entry 2017-02-21 23:41:40 -08:00
Mathias Biilmann Christensen
e9088957b3 Fix persistence for collections stored in different files
Getting the order of the fields failed when the collections was not folder based
2017-02-21 23:04:12 -08:00
Mathias Biilmann
e294b87554 Merge pull request #231 from verythorough/fix-img-width
Prevent giant images in editor
2017-02-17 16:27:16 -08:00
Luis Correia
471b26a9d5 #222 - Encode branch name on requests to avoid errors with special chars 2017-02-03 15:10:27 +00:00
Jessica Parsons
ffead874bf Fix oversized images 2017-02-02 13:15:20 -08:00
Cássio Zen
507b4cb957 Don't try to validate hidden fields 2017-01-31 17:09:45 -02:00
Cássio Souza
ecbcbf06b5 Role authorization for Netlify-auth (#224) 2017-01-26 19:23:42 -02:00
Cássio Zen
2a7314a3ef Removed console log 2017-01-23 18:32:39 -02:00
Mathias Biilmann Christensen
8e26d5db81 Bump version 2017-01-21 16:57:13 -08:00
Cássio Zen
d237318ef4 Bugfix: Only try to load file if there's a path 2017-01-19 17:28:06 -02:00
Cássio Zen
4dd0c0ccb5 Bugfix: Images not appearing on search 2017-01-19 16:34:13 -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 Zen
f5d1fa7314 Makes input fields easier to click. Closes #173 2017-01-19 14:26:49 -02:00
Cássio Zen
78a9ac0f4b Added more synonyms 2017-01-19 13:44:40 -02:00
Cássio Zen
ef9f499b42 Bugfix: Do not try to normalize absolute paths 2017-01-19 13:31:44 -02:00
Cássio Zen
b64259cb5a Sort frontmatter according to the fields order in config file. Closes #215 2017-01-19 12:09:18 -02:00
Cássio Zen
bd13a847a7 bugfix in path. Closes #219 2017-01-18 18:26:01 -02:00
Cássio Zen
11f7c1e047 bugfix in proptype 2017-01-16 16:52:59 -02:00
Cássio Zen
7b755d5839 Bugfix: List with basic string should call onChange 2017-01-16 16:52:24 -02:00
Cássio Zen
63ae669507 more variety of presence check 2017-01-16 16:51:53 -02:00
Cássio Zen
8c6bbed0cd Make sure to try to persist on next tick 2017-01-13 19:46:49 -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
b710e706da Bugfix: Set draft as persisting for both publish modes 2017-01-13 17:52:27 -02:00
Cássio Zen
58461c0d22 Added same-origin credentials to fetch config file 2017-01-12 19:20:37 -02:00
Cássio Zen
4f2dc92bfe Block save/publish buttons while processing 2017-01-11 22:36:49 -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 Zen
c40171820f Log attempt to fetch unpublished entries 2017-01-11 17:45:54 -02:00
Cássio Zen
19e5c61f05 Catch errors from createObjectURL 2017-01-11 17:40:26 -02:00
Cássio Souza
a4d7622ade Asset API (#204)
Asset API
2017-01-10 22:23:22 -02:00
Cássio Zen
37f690fc44 List only collections where new entries are allowed. Closes #206 2017-01-05 13:43:37 -02:00
Cássio Zen
f6a1718085 Uniform slug generation 2017-01-02 17:31:01 -02:00
Cássio Zen
c20896d073 Removed help command from commandbar 2017-01-02 17:30:26 -02:00
Mathias Biilmann
112bdd348a Merge pull request #198 from netlify/prosemirror-polishing
An assortment of Markdown Editor fixes
2016-12-30 09:49:36 -08:00
Mathias Biilmann Christensen
544fc210ce Fix error in markup render test 2016-12-30 09:45:44 -08:00
Mathias Biilmann Christensen
815701bf11 Improvements to the demo experience
Explain what the email in the login is for
Make a guess at the users name
Don't mark uploaded files as persisted (since they're not)
2016-12-30 09:40:15 -08:00
Mathias Biilmann Christensen
c60d1a71cc Make sure the example login page looks decent 2016-12-29 18:38:16 -08: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 Zen
e47a12f6ec Add support for custom prefix on index name 2016-12-28 15:29:39 -02:00
Mathias Biilmann Christensen
b8e04f72a3 Treat lists as tight in code mirror so we don't get Ps inside them 2016-12-27 23:19:00 -08:00
Mathias Biilmann Christensen
75100eaa3a Support for drag and drop image uploads in both rte and raw editor mode 2016-12-27 23:18:37 -08:00
Mathias Biilmann Christensen
2ed2160c92 Persist richtext vs raw setting in localstorage 2016-12-27 23:17:33 -08:00
Mathias Biilmann Christensen
1e1ec76407 Make MarkupItReactRenderer use media proxies when rendering image paths 2016-12-27 23:16:46 -08:00
Mathias Biilmann Christensen
5ff2942435 Memoize media proxies since we look them up a lot when doing previews 2016-12-27 23:14:19 -08:00
Mathias Biilmann Christensen
06218e55eb Update prosemirror 2016-12-27 23:13:31 -08:00
Cássio Zen
ca98f72c0c Showing errors on login screen 2016-12-27 16:58:02 -02:00
Mathias Biilmann Christensen
8b82a5b72e Add a script for auto configurating a collection 2016-12-26 17:44:50 -08:00
Cássio Zen
ff6bfe3789 changed default localStorage Key 2016-12-23 17:30:27 -02:00
Cássio Souza
1efc59a9fb Netlify auth (#194) 2016-12-23 16:59:48 -02:00
Mathias Biilmann Christensen
83f08e8eb8 Revert "Bump patch version"
This reverts commit 8f6f1a0fcabfeb423ca8af2f9f6d55ace21e45bb.
2016-12-23 08:59:51 -08:00
Mathias Biilmann Christensen
8f6f1a0fca Bump patch version 2016-12-22 23:17:26 -08:00
Cássio Zen
5cc17c05e5 Adjustments to slug processing 2016-12-15 16:20:54 -02:00
Cássio Souza
635049b8db Resizable split pane (#190)
* Integrating with react-split-pane

* block event while resizing panels

* bring scrollsync back

* fixed footer position
2016-12-12 19:23:52 -02:00
Cássio Zen
2ea86f7e48 improved public path resolution 2016-12-07 17:56:49 -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
4f6f4bfae9 Output code tag around pre. Closes #181 2016-12-02 19:58:44 -02:00
Cássio Zen
db58c1216b Temporarily disabling some Find Bar functionalities 2016-12-02 19:25:38 -02:00
Cássio Zen
21073f3f15 Clean state after search command. Closes #124 2016-12-02 17:55:31 -02:00
Cássio Zen
88d02ebb71 Missing Prop. Closes #182 2016-12-02 15:19:08 -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 Zen
692f8e972e Removed global height/padding styles. Fixes #159 2016-12-01 18:47:35 -02:00
Cássio Zen
782c386d3e Widget should set default values through onChange
Otherwise, default value may not get persisted
2016-12-01 16:28:33 -02:00
Cássio Souza
047f84405a Entry Draft Refactor (#178) 2016-11-30 16:52:17 -02:00
Cássio Zen
4ddc46ba25 Fix: Path was being incorrectly injected on entry for persistence. Closes #176 2016-11-30 15:58:09 -02:00
Cássio Zen
aea6d38121 Limit responsive images in default preview to maxWidth 100% 2016-11-30 15:56:54 -02:00
Cássio Souza
3cbb1ba280 List single field (#175)
* accept both single or multiple fields

* labelField should be defined
2016-11-29 20:18:01 -02:00
Cássio Zen
6194e969f5 Friendlier error message for missing media_folder 2016-11-29 16:16:56 -02:00
Cássio Zen
a440b370ea Added a default template for slugFormatter. Fixes #171 2016-11-29 16:13:59 -02:00
Cássio Zen
43c93dff26 Inject base target to '_blank' on preview iframe. Closes #172 2016-11-29 15:18:25 -02:00
Mathias Biilmann Christensen
3f13435ff0 Make sure we export the CMS for npm use 2016-11-23 12:26:15 -08:00
Cássio Souza
b1a5ea95d3 Refinements & Preview Defaults (#167)
* No need for set width for base Card anymore

* entries are not required

* Redirect from Dashboard to first collection if publish mode is simple

* collection inference: Add more synonyms to description

* Implemented a better default preview for editing entries

* Add label field in default preview for small text values

* Added margin for default preview
2016-11-23 16:23:32 -02:00
Cássio Zen
2af586867f Merge with use-publicFolder 2016-11-17 15:36:57 -02:00
Cássio Zen
695f533c8e Added resolvePath helper to normalize and prepend the public_path and as needed 2016-11-17 15:33:02 -02:00
Cássio Souza
1fe386b324 Config default values (#164)
* Use public_folder to display images persisted with no path reference

* Allow for default values on a collection field
2016-11-17 12:03:54 -02:00
Cássio Souza
007575d315 Use public_folder to display images persisted with no path reference (#163) 2016-11-17 11:41:54 -02:00
Cássio Zen
8d9f894928 Use public_folder to display images persisted with no path reference 2016-11-17 11:12:14 -02:00
Mathias Biilmann
d81d0d416f Widget fixes (#162)
* Make string the default widget if none is specified

* Linting fixes for PreviewPane

* Linting fixes for ControlPane

* Add date widget

* Fix name of date control class

* Fix spaces in list control with no fields

* Fix linting error for List Control

* Fix linting errors in raw editor

* Add Select widget

* Fix linting error
2016-11-17 10:08:37 -02:00
Mathias Biilmann Christensen
790619083d Fix cms hanging when going to new entry page 2016-11-15 17:21:33 -08:00
Mathias Biilmann Christensen
0eff4484d0 Fix alignment of entry cards 2016-11-11 17:22:18 -08:00
Mathias Biilmann Christensen
077d9d7fa0 Fix Toolbar.css overwritten by linter script 2016-11-11 16:09:04 -08:00
Cássio Zen
0521757b8c prosemirror integration 2016-11-11 18:36:11 -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
6ce58a789d Do not use expect to get better diffs out of Jest 2016-11-11 11:02:11 +01:00
Mathias Biilmann Christensen
8461abc1b5 Replace md parser for pubstorm to make editor plugins work 2016-11-04 11:04:54 -07:00
Cássio Souza
a6fc8506f5 Dashboard page (#150) 2016-11-02 12:25:43 -02:00
Mathias Biilmann Christensen
038597573c Custom plugin support in rte 2016-11-01 23:31:20 -07:00
Mathias Biilmann Christensen
f02bd9a789 Link support in prose mirror 2016-11-01 17:58:19 -07:00
Mathias Biilmann Christensen
27d33d2a84 Make headers buttons toggle headers 2016-11-01 17:51:49 -07:00
Mathias Biilmann Christensen
97928a7b34 Fix undo history in prose mirror 2016-11-01 17:25:37 -07:00
Mathias Biilmann Christensen
4c221e3238 Fix linter overwriting css 2016-11-01 16:58:38 -07:00
Mathias Biilmann Christensen
d0df70e4d3 Prosemirror working - with some toolbar options 2016-11-01 16:55:21 -07:00
Cássio Zen
44bbb84d44 bugfix in Draft entry editing 2016-11-01 14:31:04 -02: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 Souza
78daa574af Merge pull request #146 from netlify/fix-demo-ui
WIP: Change how single entries are fetched to avoid loading full list
2016-10-31 12:17:10 -02:00
Mathias Biilmann Christensen
67a00e5b65 Fix rendering of plugins returining react components 2016-10-30 23:46:34 -07:00
Mathias Biilmann Christensen
aca88ef441 Make editor plugins work in preview 2016-10-30 23:38:12 -07:00
Mathias Biilmann Christensen
378be79a76 Merge branch 'fix-demo-ui' of github.com:netlify/netlify-cms into fix-demo-ui 2016-10-30 16:01:22 -07:00
Mathias Biilmann Christensen
c23b2fb531 Make list widget sortable 2016-10-30 16:01:10 -07:00
Mathias Biilmann Christensen
13cbf21159 Implement list control with fields 2016-10-28 19:13:26 +02:00
Cássio Zen
3a60ce9f2f Merge branch 'fix-demo-ui' of github.com:netlify/netlify-cms into fix-demo-ui 2016-10-28 11:42:38 -02:00
Cássio Zen
d7f1b25c1b Bugfixes due to new slug signature 2016-10-28 11:42:31 -02:00
Mathias Biilmann Christensen
86e3aed065 Better styling for object controls 2016-10-28 10:21:13 +02:00
Mathias Biilmann Christensen
6b73c39ba8 Support for object widget 2016-10-28 04:51:37 +02:00
Mathias Biilmann Christensen
442a02f009 Fix slugs for search result entries 2016-10-27 19:56:50 +02:00
Cássio Zen
a33aa13d0f moved Entry VO away from implementations 2016-10-27 15:27:39 -02:00
Cássio Zen
1566e247f3 Reverted Collection VO slug generation 2016-10-27 14:59:41 -02:00
Cássio Zen
2e6e5d1bec removed unused function 2016-10-27 13:59:21 -02:00
Cássio Zen
baafe0b32f refactor on slugformatter 2016-10-27 13:50:02 -02:00
Cássio Zen
dabf6a1be1 typo 2016-10-27 13:10:44 -02:00
Mathias Biilmann Christensen
80a2cefbf0 Add json format support 2016-10-27 15:33:15 +02:00
Cássio Zen
6ff7019e7c Removed author from cards (author may not be an available field) 2016-10-27 10:54:24 -02:00
Mathias Biilmann Christensen
7713c4c6f8 Fix some linting errors 2016-10-27 14:45:32 +02:00
Mathias Biilmann Christensen
bbce1c30de Make loading single file work without scanning whole collection 2016-10-27 14:23:36 +02:00
Mathias Biilmann Christensen
2b99e2d176 Support entriesByFiles in test-repo backend 2016-10-27 11:47:19 +02:00
Mathias Biilmann Christensen
8aa8f5ce39 Add shortcut for italics 2016-10-27 11:34:22 +02:00
Andrey Okonetchnikov
c3b4fd9013 Cards typography (#139)
* Fixed some ESLint errors

* Better card's design for the editorial process.

- Use Card component from react-toolbox
- Added "Edit" buttons for cards
- Cleaned up CSS and JS

Fixes #125

* Better ImageCard and card list view. Fixes #125

* Use collection label instead of name on the CollectionPage
2016-10-26 15:51:50 -02:00
Andrey Okonetchnikov
434f45c97c Webpack optimizations (#140)
* Less repetition in webpack configs. Minify CSS classnames in production.

* Ignore all optional deps of moment.js. Fixes #138

* Added target to webpack config

* Automatically extract all 3rd party modules into a separate 'vendor' chunk

* Inline only assets that are smaller than 10KB

* Added autoprefixer options

* Replaced sinfle babel transforms with the stage-1 preset. Cleaned up webpack configs.

* Do not include hot module replacement in production
2016-10-26 15:51:35 -02:00
Cássio Souza
5151e7cdb1 Bugfixes due to new slug signature (#145) 2016-10-26 15:50:34 -02:00
Mathias Biilmann
72b56d1cbc Editor fixes (#143)
* Use icons for style menu

* Add h1/h2 options to style toolbar

* Handle rich paste events
2016-10-26 14:48:47 -02:00
Mathias Biilmann Christensen
9566392dd3 Fix block menu always showing on first char 2016-10-22 23:28:25 +03:00
Mathias Biilmann Christensen
c068fae24e Implement block menu with support for plugins 2016-10-22 23:23:19 +03:00
Mathias Biilmann Christensen
c859d7234e Position editor toolbar 2016-10-22 04:37:22 -07:00
Mathias Biilmann Christensen
3a087e44fa Make linter happier 2016-10-21 23:19:23 -07:00