64 Commits

Author SHA1 Message Date
Shashank Bairy R
c28cc0c9e7
feat: add filter to collection view (#3741) 2020-05-24 20:37:08 +03:00
Hannes Küttner
588622adb2
feat: improve search to target single collections (#3760) 2020-05-18 10:52:06 +03:00
Erez Rokah
213ae86b54
feat(widget-relation): string templates support (#3659) 2020-04-30 16:03:08 +03:00
Erez Rokah
cf57284f40
fix(sort): don't clear sort data on entries request (#3648) 2020-04-22 16:05:47 +03:00
Hannes Küttner
625a9980f1
fix: unify the title used in entry cards and workflow cards (#3573) (#3575) 2020-04-12 19:31:25 +03:00
Erez Rokah
4afbbdd8a9
feat(yaml): support comments (#3529) 2020-04-07 15:00:06 +03:00
Erez Rokah
1a577b8e27
fix: set default public_folder on files and fields (#3519) 2020-04-01 17:18:56 +03:00
Erez Rokah
174d86f0a0
Feat: entry sorting (#3494)
* refactor: typescript search actions, add tests avoid duplicate search

* refactor: switch from promise chain to async/await in loadEntries

* feat: add sorting, initial commit

* fix: set isFetching to true on entries request

* fix: ui improvments and bug fixes

* test: fix tests

* feat(backend-gitlab): cache local tree)

* fix: fix prop type warning

* refactor: code cleanup

* feat(backend-bitbucket): add local tree caching support

* feat: swtich to orderBy and support multiple sort keys

* fix: backoff function

* fix: improve backoff

* feat: infer sortable fields

* feat: fetch file commit metadata - initial commit

* feat: extract file author and date, finalize GitLab & Bitbucket

* refactor: code cleanup

* feat: handle github rate limit errors

* refactor: code cleanup

* fix(github): add missing author and date when traversing cursor

* fix: add missing author and date when traversing cursor

* refactor: code cleanup

* refactor: code cleanup

* refactor: code cleanup

* test: fix tests

* fix: rebuild local tree when head doesn't exist in remote branch

* fix: allow sortable fields to be an empty array

* fix: allow translation of built in sort fields

* build: fix proxy server build

* fix: hide commit author and date fields by default on non git backends

* fix(algolia): add listAllEntries method for alogolia integration

* fix: handle sort fields overflow

* test(bitbucket): re-record some bitbucket e2e tests

* test(bitbucket): fix media library test

* refactor(gitgateway-gitlab): share request code and handle 404 errors

* fix: always show commit date by default

* docs: add sortableFields

* refactor: code cleanup

* improvement: drop multi-sort, rework sort UI

* chore: force main package bumps

Co-authored-by: Shawn Erquhart <shawn@erquh.art>
2020-03-31 23:13:27 -04:00
Erez Rokah
45a1654404
fix: don't use getAsset for draft entries (#3403) 2020-03-22 16:53:06 +02:00
Erez Rokah
2409323dba
fix: call createDraftFromEntry after entry is loaded instead in Editor (#3418)
* fix: call createDraftFromEntry after entry is loaded instead in Editor
2020-03-16 20:48:49 +01:00
Erez Rokah
e0b1246810
feat: populate new entry from URL params (#3343) 2020-03-02 11:32:22 +01:00
Erez Rokah
961cde4ea5
fix: consider variable types when traversing collection fields (#3347) 2020-02-28 20:06:34 +01:00
Bartholomew
cf81f587cf
fix: ensure draft changes (#3306) 2020-02-28 11:40:51 +01:00
Erez Rokah
1d63038e78
fix(core): report config error when external media lib is missing (#3255) 2020-02-14 15:32:36 -05:00
Erez Rokah
02ef2010e7
Fix: show specific field media files in library, cascade folder templates (#3252)
* feat: cascade & compose media folders - initial commit

* refactor: code cleanup

* fix: pass field instead of folder to getAsset

* fix: only show field media files in library

* test: fix medial library selector test

* fix: fallback to original path when asset not found

* fix: only show field media files in media library

* fix: properly handle empty strings in field folders
2020-02-14 15:31:33 -05:00
Erez Rokah
ab685e8594
fix: change getAsset to not return a promise (#3232)
* fix: change getAsset to not return a promise

* fix: update markdown widget per getAsset changes

* test: fix editor component image test

* docs: update getAsset docs
2020-02-12 19:12:36 -05:00
Erez Rokah
c4125625f9
Feat: Allow using subfields as identifier field (#3219) 2020-02-12 08:30:44 +02:00
Erez Rokah
97bc0c8dc4
feat: field based media/public folders (#3208) 2020-02-10 11:05:47 -05:00
Erez Rokah
a215cfbe3a
fix: allow absolute paths for collection media folder (#3160) 2020-01-28 10:33:21 -08:00
Erez Rokah
cf57da223d Feat: media folders templates (#3116)
* refactor: typescript backendHelper

* test: add string templating tests

* test: add createPreviewUrl invalid date test

* refactor: move all formatters to one file

* feat: support media folders templating

* feat: add filename and extension template variables

* feat: support paths in string templates

* docs: add media folder templating docs

* style(docs): remove line break
2020-01-22 13:42:24 -05:00
Erez Rokah
6f221ab3c1 Feat: editorial workflow bitbucket gitlab (#3014)
* refactor: typescript the backends

* feat: support multiple files upload for GitLab and BitBucket

* fix: load entry media files from media folder or UI state

* chore: cleanup log message

* chore: code cleanup

* refactor: typescript the test backend

* refactor: cleanup getEntry unsued variables

* refactor: moved shared backend code to lib util

* chore: rename files to preserve history

* fix: bind readFile method to API classes

* test(e2e): switch to chrome in cypress tests

* refactor: extract common api methods

* refactor: remove most of immutable js usage from backends

* feat(backend-gitlab): initial editorial workflow support

* feat(backend-gitlab): implement missing workflow methods

* chore: fix lint error

* feat(backend-gitlab): support files deletion

* test(e2e): add gitlab cypress tests

* feat(backend-bitbucket): implement missing editorial workflow methods

* test(e2e): add BitBucket backend e2e tests

* build: update node version to 12 on netlify builds

* fix(backend-bitbucket): extract BitBucket avatar url

* test: fix git-gateway AuthenticationPage test

* test(e2e): fix some backend tests

* test(e2e): fix tests

* test(e2e): add git-gateway editorial workflow test

* chore: code cleanup

* test(e2e): revert back to electron

* test(e2e): add non editorial workflow tests

* fix(git-gateway-gitlab): don't call unpublishedEntry in simple workflow

gitlab git-gateway doesn't support editorial workflow APIs yet. This change makes sure not to call them in simple workflow

* refactor(backend-bitbucket): switch to diffstat API instead of raw diff

* chore: fix test

* test(e2e): add more git-gateway tests

* fix: post rebase typescript fixes

* test(e2e): fix tests

* fix: fix parsing of content key and add tests

* refactor: rename test file

* test(unit): add getStatues unit tests

* chore: update cypress

* docs: update beta docs
2020-01-14 17:15:14 -05:00
Erez Rokah
0a50efda8e feat: support per collection public_folder (#3069)
* feat: support per collection public_folder

* test: improve tests readability
2020-01-14 13:02:53 -05:00
Mauro Bieg
24a81ef9b7 Add media_library.config.max_file_size option (#3028)
* feat: add media_library.config.max_file_size option
2020-01-09 19:56:11 +02:00
Erez Rokah
2b41d8a838 feat: bundle assets with content (#2958)
* fix(media_folder_relative): use collection name in unpublished entry

* refactor: pass arguments as object to AssetProxy ctor

* feat: support media folders per collection

* feat: resolve media files path based on entry path

* fix: asset public path resolving

* refactor: introduce typescript for AssetProxy

* refactor: code cleanup

* refactor(asset-proxy): add tests,switch to typescript,extract arguments

* refactor: typescript for editorialWorkflow

* refactor: add typescript for media library actions

* refactor: fix type error on map set

* refactor: move locale selector into reducer

* refactor: add typescript for entries actions

* refactor: remove duplication between asset store and media lib

* feat: load assets from backend using API

* refactor(github): add typescript, cache media files

* fix: don't load media URL if already loaded

* feat: add media folder config to collection

* fix: load assets from API when not in UI state

* feat: load entry media files when opening media library

* fix: editorial workflow draft media files bug fixes

* test(unit): fix unit tests

* fix: editor control losing focus

* style: add eslint object-shorthand rule

* test(cypress): re-record mock data

* fix: fix non github backends, large media

* test: uncomment only in tests

* fix(backend-test): add missing displayURL property

* test(e2e): add media library tests

* test(e2e): enable visual testing

* test(e2e): add github backend media library tests

* test(e2e): add git-gateway large media tests

* chore: post rebase fixes

* test: fix tests

* test: fix tests

* test(cypress): fix tests

* docs: add media_folder docs

* test(e2e): add media library delete test

* test(e2e): try and fix image comparison on CI

* ci: reduce test machines from 9 to 8

* test: add reducers and selectors unit tests

* test(e2e): disable visual regression testing for now

* test: add getAsset unit tests

* refactor: use Asset class component instead of hooks

* build: don't inline source maps

* test: add more media path tests
2019-12-18 11:16:02 -05:00
Erez Rokah
af61245360
fix: don't show progress when loading preview status (#2974) 2019-12-17 08:30:08 +02:00
Shawn Erquhart
18c579d0e9 feat: Code Widget + Markdown Widget Internal Overhaul (#2828)
* wip - upgrade to slate 0.43

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* finish list handling logic

* add plugins directory

* tests wip

* setup testing

* wip

* add selection commands

* finish list testing

* stuff

* add codemirror

* abstract codemirror from slate

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* codemirror mostly working, some bugs

* upgrade to slate 46

* upgrade to slate 47

* wip

* wip

* progress

* wip

* mostly working links with surrounding marks

* wip

* tests passing

* add test

* fix formatting

* update snapshots

* close self closing tag in markdown html output

* wip - commonmark

* hold on commonmark work

* all tests passing

* fix e2e specs

* ignore tests in esm builds

* break/backspace plugins wip

* finish enter/backspace spec

* fix soft break handling

* wip - editor component deletion

* add insertion points

* make insertion points invisible

* fix empty mark nodes output to markdown

* fix pasting

* improve insertion points

* add static bottom insertion point

* improve click handling at insertion points

* restore current table functionality

* add paste support for Slate fragments

* support cut/copy markdown, paste between rich/raw editor

* fix copy paste

* wip - paste/select bug fixing

* fixed known slate issues

* split plugins

* fix editor toggles

* force text cursor in code widget

* wip - reorg plugins

* finish markdown control reorg

* configure plugin types

* quote block adjacent handling with tests

* wip

* finish quote logic and tests

* fix copy paste plugin migration regressions

* fix force insert before node

* fix trailing insertion point

* remove empty headers

* codemirror working properly in markdown widget

* return focus to codemirror on lang select enter

* fix state issues for widgets with local state

* wip - vim working, just need to work out distribution

* add settings pane

* wip - default modes

* fix deps

* add programming language data

* implement linguist langs in code widget

* everything built in

* remove old registration code, fix focus styling

* fix/update linting setup

* fix js lint errors

* remove stylelint from format script

* fix remaining linting errors

* fix reducer test failures

* chore: update commitlint for worktree support

* chore: fix remaining tests

* chore: drop unused monaco plugin

* chore: remove extraneous global styles rendering

* chore: fix failing tests

* fix: tests

* fix: quote/list nesting (tests still broken)

* fix: update quote tests

* chore: bring back code widget test config

* fix: autofocus

* fix: code blocks without the code widget

* fix: code editor component state issues

* fix: error

* fix: add code block test, few fixes

* chore: remove notes

* fix: [wip] update stateful shortcodes on undo/redo

* fix: support code styled links, handle unknown langs

* fix: few fixes

* fix: autofocus on insert, focus on all clicks

* fix: linting

* fix: autofocus

* fix: update code block fixture

* fix: remove unused cypress snapshot plugin

* fix: drop node 8 test, add node 12

* fix: use lodash.flatten instead of Array.flat

* fix: remove console logs
2019-12-16 19:17:37 +02:00
Bartholomew
d180bffb44 feat: duplicate entry (#2956) 2019-12-10 20:33:02 -05:00
Erez Rokah
afcfe5b6d5 feat: content in sub folders (#2897) 2019-11-27 22:39:33 -05:00
Erez Rokah
ead46af194
chore(deps): update dependency prettier to v1.19.1 (#2893)
* chore(deps): update dependency prettier to v1.19.1

* style: format files after prettier upgrade
2019-11-18 17:51:51 +02:00
Erez Rokah
6515dee871
feat: commit media with post (#2851)
* feat: commit media with post - initial commit

* feat: add draft media indication

* feat: sync UI media files with GitHub on entry load

* feat: bug fixes

* feat: delete media files from github when removed from library

* test: add GitHub backend tests

* test: add unit tests

* fix: meta data object files are not updated

* feat: used nested paths when update a tree instead of recursion

* feat(test-backend): update test backend to persist media file with entry

* test(e2e): re-record fixtures data

* chore: code cleanup

* chore: code cleanup

* fix: wait for library to load before adding entry media files

* chore: code cleanup

* fix: don't add media files on entry when not a draft

* fix: sync media library after draft entry was published

* feat: update media library card draft style, add tests

* test: add Editor unit tests

* chore: test code cleanup

* fix: publishing an entry from workflow tab throws an error

* fix: duplicate media files when using test backend

* refactor: fix lodash import

* chore: update translations and yarn file after rebase

* test(cypress): update recorded data

* fix(test-backend): fix mapping of media files on publish
2019-11-17 11:51:50 +02:00
Ananthakumar
542a7acfe6 fix(workflow): label file collection entries in Workflow (#2566) 2019-11-08 18:28:17 -05:00
Erez Rokah
d38d4665c4
test(cleanup): remove/reintorduce skipped tests (#2788) 2019-10-23 13:22:48 +03:00
polemius
04b371825e chore: fix the typos in comments (#2679) 2019-09-24 16:16:09 -04:00
melbourne2991
8bdfea4728 fix: prevent deletion of file collection entries by default (#2627) 2019-09-05 18:08:07 -04:00
Benaiah Mischenko
34e1f09105 Open Authoring bugfixes and pagination improvements (#2523)
* Fix handling of displayURLs which are strings

* Add fromFetchArguments to unsentRequest

* Add parseLinkHeader to backendUtil

* Handle paginated endpoints in GitHub API

* Rename fork workflow to Open Authoring across the whole repo

* Fixes for bugs in GitHub API introduced by Open Authoring changes

* Fix getDeployPreview

* Fix incorrect auth header formatting GitHub implementation

cf. https://github.com/netlify/netlify-cms/pull/2456#discussion_r309633387

* Remove unused and broken method from GitHub API

cf. https://github.com/netlify/netlify-cms/pull/2456#discussion_r308687145

* Fix editorialWorkflowGit method in GitHub API

* Request published entry content from origin repo

* Better error when deleting a published post in Open Authoring

* Rename to Open Authoring in fork request message

Also adds a note to the fork request message that an existing fork of
the same repo will be used automatically.

* fix linting
2019-08-24 13:54:59 -04:00
Benaiah Mischenko
edf0a3afdc feat(backend-github): Open Authoring (#2430)
* Make filterPromises resolve entries before filtering

* Add filterPromisesWith & onlySuccessfulPromises to utility library

* Memoize user method in GitHub API

* Make storeMetadata safe to call concurrently in GitHub API

* Fork workflow: startup and authentication

* Fork workflow: backend support

* Fork workflow: disable unused UI elements

* Fork workflow: docs

* Fork workflow: fix deploy previews

* Suggested edits for fork workflow doc

* Change future tense to present

* Fork workflow: add beta status to docs

* remove debug statement

* rename fork workflow to Open Authoring
2019-07-24 18:20:41 -04:00
Bartholomew
0ce995d78c fix(core): ensure against slug overwrite (#2139) 2019-04-10 16:38:53 -04:00
Austin Devine
573ad8816d feat(core): allow custom summary on entry cards (#2140) 2019-03-29 14:30:38 -04:00
Tony Alves
e04f6bec1d fix: fix umd builds (#2214) 2019-03-18 15:47:57 -04:00
Shawn Erquhart
ccef446d72
feat: upgrade to Emotion 10 (#2166) 2019-03-15 10:19:57 -04:00
Shawn Erquhart
686504adee
feat(core): recover entry after unexpected quit (#2129) 2019-02-28 13:30:23 -05:00
Benaiah Mischenko
da2249c651 Netlify Large Media integration (#2124) 2019-02-26 13:11:15 -05:00
Shawn Erquhart
49195fdb1a
enhancement(collections): use identifier field in collections view (#2058) 2019-02-19 16:14:37 -05:00
Shawn Erquhart
15d221d4a4
feat(workflow): add deploy preview links (#2028) 2019-02-08 12:26:59 -05:00
Bartholomew
627e600d29 fix(netlify-cms-core): validate nested fields (#1873) 2019-02-05 17:27:34 -05:00
Bartholomew
cedcbf89a5 fix(netlify-cms-core): avoid partially loaded collection list (#1964) 2018-12-19 15:28:45 -05:00
Shawn Erquhart
1fc2f50499
feat: add cloudinary support (#1932) 2018-12-04 17:04:52 -05:00
Steve Lathrop
d5f4c99002 fix(netlify-cms-core): fix identifier field validation (#1907) 2018-11-26 20:31:14 -05:00
Matt Kane
12418dd7f0 feat(config): add support for setting custom identifier field (#1543) 2018-11-01 14:02:11 -04:00
Shawn Erquhart
0596904e0b
feat(media): add external media library support, Uploadcare integration (#1602) 2018-08-30 16:24:28 -04:00