Compare commits

..

1053 Commits

Author SHA1 Message Date
James
21708bcc1c chore(release): v1.0.5 2022-07-19 01:34:03 -07:00
James
23d605c5aa Merge branch 'master' of github.com:payloadcms/payload 2022-07-19 01:32:36 -07:00
James
b4ffa22885 feat: adds initAsync 2022-07-19 01:32:25 -07:00
Elliot DeNolf
d2bc4b72a0 chore: update onInit type 2022-07-19 01:05:49 -07:00
Elliot DeNolf
27c352c2ff chore: update changelog 2022-07-19 00:07:13 -07:00
James
19a354863f chore(release): v1.0.4 2022-07-18 23:54:41 -07:00
James
33f4a1322d chore: 1.0.3 2022-07-18 23:53:22 -07:00
Elliot DeNolf
563f98e2fb feat: merge 1.0 #762 2022-07-18 23:22:02 -07:00
Dan Ribbens
1e4b94c508 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-19 02:03:24 -04:00
Dan Ribbens
cd8d1c7ace docs: dark mode 2022-07-19 02:02:30 -04:00
Dan Ribbens
2ea545f0cf test: list cell data 2022-07-19 02:02:06 -04:00
Elliot DeNolf
e8a1cdafba test: misc e2e fixes 2022-07-18 22:59:48 -07:00
Elliot DeNolf
1f8b5d8e1a test: make auth e2e a todo 2022-07-18 22:53:30 -07:00
Dan Ribbens
793dfe96b9 test: promise hooks 2022-07-19 01:32:31 -04:00
Elliot DeNolf
6533af9c0e chore: add scss breaking change to changelog 2022-07-18 22:23:26 -07:00
Dan Ribbens
87ead2f89b Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-18 23:50:57 -04:00
Dan Ribbens
28e3928094 test: array fields 2022-07-18 23:50:28 -04:00
Elliot DeNolf
dc41372acb test: test sibling data in access control 2022-07-18 20:33:36 -07:00
Elliot DeNolf
6a9ea638d5 test: add access-control int tests 2022-07-18 18:50:41 -07:00
Elliot DeNolf
2a7651eb9c test: fix odd behavior 2022-07-18 15:27:20 -07:00
James
9021d5352d Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-18 13:07:25 -07:00
James
dc5c9ee3a0 chore: better fix to rich text upload 2022-07-18 13:07:20 -07:00
James
079623f40a fix: responsive improvements to rich text upload 2022-07-18 12:50:20 -07:00
Dan Ribbens
b59ba230de Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-18 14:26:09 -04:00
Dan Ribbens
6826e44072 test: field default values 2022-07-18 14:25:18 -04:00
Elliot DeNolf
878fd4ab92 test: custom id crud 2022-07-18 10:29:33 -07:00
Elliot DeNolf
abfb1868ab test: custom id number relation test 2022-07-18 10:08:01 -07:00
Elliot DeNolf
7319a8e90d test: rest client update now can return errors 2022-07-18 10:07:25 -07:00
Elliot DeNolf
d2be893a5a test: port relationships spec 2022-07-18 09:55:59 -07:00
Dan Ribbens
cc8b636248 test: relationship populates with locale 2022-07-18 12:19:35 -04:00
Elliot DeNolf
a103665bd9 chore: typo 2022-07-17 16:38:24 -07:00
Elliot DeNolf
0d1603b467 test: fix more stuff 2022-07-17 16:22:20 -07:00
Elliot DeNolf
d6a7b8c319 test: remove demo and rework node scripts 2022-07-17 16:18:48 -07:00
Elliot DeNolf
f5ad7a163a test: remove all old tests 2022-07-17 16:08:07 -07:00
James
d433351dbd chore: typo in changelog 2022-07-17 15:12:55 -07:00
James
3601ef90bc Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-17 15:12:36 -07:00
James
76b6c736e1 fix: success banner color rendering incorrectly 2022-07-17 15:12:27 -07:00
Dan Ribbens
a194a64845 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-17 18:02:49 -04:00
Dan Ribbens
b00d8584f3 feat: test admin globals 2022-07-17 18:02:41 -04:00
James
39d075b999 fix: ensures passing partial data to update works when fields are localized 2022-07-17 15:00:38 -07:00
James
e57a5741e5 chore: reduces lorem ipsum amount in rich text 2022-07-17 13:34:06 -07:00
James
a6a9ab15b7 feat: merges select isClearable 2022-07-17 13:29:18 -07:00
James
4280a59c77 Merge branch 'master' of github.com:payloadcms/payload into feat/1.0 2022-07-17 13:23:04 -07:00
James
3259e34e27 chore: merges master 2022-07-17 13:23:00 -07:00
Arick
3132d35e27 feat: allow clear select value (#735) 2022-07-17 13:22:49 -07:00
James
7376246592 fix: ensures success pills are properly colored 2022-07-17 13:22:01 -07:00
James
69ce6d78da Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-17 13:11:47 -07:00
James
b43e8c5db0 tests: ports versions tests to new infra 2022-07-17 13:11:38 -07:00
Dan Ribbens
e348bdcc21 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-17 15:58:47 -04:00
Dan Ribbens
039c3ec110 test: int test globals and endpoints 2022-07-17 15:58:32 -04:00
Elliot DeNolf
f98ef62ad3 test: port auth tests to int 2022-07-17 10:46:07 -07:00
Elliot DeNolf
17ebcc6925 chore: remove .prettierignore, unused 2022-07-17 10:45:46 -07:00
James
6347a2febf fix: ensures column selector renders active columns properly 2022-07-17 10:06:58 -07:00
James
2ef8a1e35a fix: ensures point field doesn't interrupt version creation 2022-07-17 10:03:22 -07:00
James
df11478905 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-17 09:51:55 -07:00
James
e7d2bdb45a fix: styles empty version diff row for dark mode 2022-07-17 09:51:42 -07:00
Dan Ribbens
1564fcaeb3 fix test collections rest endpoints 2022-07-17 12:44:39 -04:00
Dan Ribbens
cf38e8d520 feat: test collections rest endpoints 2022-07-17 12:41:47 -04:00
Dan Ribbens
bb9f28fb08 feat: remove files test helper 2022-07-17 12:39:45 -04:00
James
d8a28acfa8 feat: expands rich text field config for better coverage 2022-07-17 09:26:43 -07:00
Elliot DeNolf
b0eccdd12e chore: revert prettier
This reverts commit bc9de859c4.
2022-07-17 09:06:37 -07:00
James
1427fb4078 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-17 08:32:23 -07:00
James
1812be2e16 feat: adds uploads collection for testing to /fields tests 2022-07-17 08:32:15 -07:00
Elliot DeNolf
db87179576 chore: fix .prettierignore 2022-07-17 08:32:06 -07:00
Elliot DeNolf
0d8d41ce7e chore: format demo dir 2022-07-17 08:29:53 -07:00
Elliot DeNolf
a2f95f6cea test: add .gitkeep to uploads/media 2022-07-17 08:23:26 -07:00
Elliot DeNolf
fa9bd6191c chore: run prettier on entire test dir 2022-07-17 08:20:01 -07:00
Elliot DeNolf
bc9de859c4 chore: add prettier config, test dir only 2022-07-17 08:19:07 -07:00
James
73d04262ad chore: version bump 2022-07-16 18:12:18 -07:00
James
6e7d547da5 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-16 18:08:46 -07:00
James
6060e4cb27 fix: bug with version diff screen when arrays have no labels 2022-07-16 18:08:37 -07:00
Elliot DeNolf
b5ce54c7ae test: localization relationship tests 2022-07-16 18:01:13 -07:00
Dan Ribbens
492a1308cc Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-16 21:00:35 -04:00
Dan Ribbens
147a4f8624 hooks tests 2022-07-16 21:00:18 -04:00
James
eac982398e feat: avoids forcing fonts to be inline within webpack builds 2022-07-16 17:59:24 -07:00
Dan Ribbens
9afd51b7dd Merge branch 'feat/1.0' into feat/test-hooks 2022-07-16 20:42:13 -04:00
Dan Ribbens
dd810a3593 fix: tabs top margin 2022-07-16 19:09:36 -04:00
James
75a4c52071 chore: reduces padding in eyebrow on mobile 2022-07-16 16:03:22 -07:00
James
2707af1d45 fix: ensures blocks can be nested within tabs / rows / collapsibles 2022-07-16 15:51:05 -07:00
James
b7d49db536 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-16 15:45:20 -07:00
James
3a98c6ad53 feat: ensures groups within blocks render properly 2022-07-16 15:45:15 -07:00
Elliot DeNolf
79f3de8042 test: add localization int tests 2022-07-16 15:01:31 -07:00
Elliot DeNolf
81024e4753 test: extra desc block 2022-07-16 15:00:44 -07:00
James
e2c333ac02 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-16 13:57:44 -07:00
James
1bdacb9bda chore: removes unused file 2022-07-16 13:57:32 -07:00
James
2fa680cdf8 feat: refactors z index methodology 2022-07-16 13:56:49 -07:00
James
3a17a8a001 feat: styles nested groups and adds gutter back to richText 2022-07-16 12:45:15 -07:00
Dan Ribbens
afbb014cbd Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-16 14:40:46 -04:00
Dan Ribbens
c75c67ec86 feat: point field int test 2022-07-16 14:40:02 -04:00
James
e8b72f186f chore: restores deprecated features for ease of uploading 2022-07-16 11:27:28 -07:00
James
a777032894 chore: only imports get-port if dev 2022-07-16 11:11:14 -07:00
James
624e25c077 chore: adds pretest 2022-07-16 11:06:06 -07:00
James
34d0b89376 chore: increases jest timeout 2022-07-16 11:01:09 -07:00
James
fcd3b0d2cb chore: updates version 2022-07-16 10:59:25 -07:00
James
5512022a10 chore(release): v0.20.1 2022-07-16 10:58:46 -07:00
James
28e31fee72 chore: patch 0.20.0 2022-07-16 10:56:53 -07:00
James
779a60a42c chore: removes unused dependencies 2022-07-16 10:41:54 -07:00
Dan Ribbens
ba29898d97 Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-16 13:40:12 -04:00
Dan Ribbens
a636c65e34 chore: do not track images in media 2022-07-16 13:38:33 -04:00
Dan Ribbens
ff3e137c78 chore: media test dir 2022-07-16 13:37:56 -04:00
James
8c4e0fa7b2 feat: updates styling of group field 2022-07-15 22:24:52 -07:00
James
3ae1c26a07 fix: ensures duplicated rows have properly created ids 2022-07-15 22:04:31 -07:00
James
7a6f2392fa feat: restores built-in fields into table column builder 2022-07-15 21:08:49 -07:00
James
07949525ef Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-15 21:06:22 -07:00
James
3b9fdf3ffd feat: ensures nested fields not affecting data can be traversed properly 2022-07-15 21:06:12 -07:00
Dan Ribbens
2694c0d5bd * feat: point field e2e test (#760) 2022-07-15 23:36:07 -04:00
Elliot DeNolf
4f8b5b9f85 test(int): collections-graphl 2022-07-15 20:32:40 -07:00
Dan Ribbens
e75cca4512 feat: upload integration tests (#759) 2022-07-15 22:48:39 -04:00
James
68e7c41fdc feat: finishes tabs field 2022-07-15 18:40:31 -07:00
James
735e385537 feat: only renders arrays and blocks once they are initialized 2022-07-15 17:26:05 -07:00
James
c995f797fe feat: initializes useField internalValue with incoming field value 2022-07-15 17:20:32 -07:00
James
54162b52cc feat: ensures tabs and collapsibles render in version diff 2022-07-15 17:18:33 -07:00
James
66fc06895a Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/tabs 2022-07-15 16:24:59 -07:00
James
85b7a490eb feat: scaffolds tabs field 2022-07-15 16:24:54 -07:00
Elliot DeNolf
4b0a257246 test: fix all test scripts 2022-07-15 14:36:09 -07:00
Elliot DeNolf
29f1af7eb4 chore: remove console logs 2022-07-15 12:53:07 -07:00
Elliot DeNolf
ba79b4446c test: refactor all test directories into one 2022-07-15 12:51:43 -07:00
Dan Ribbens
40b6afff2d feat: remove duplication of config in tests 2022-07-15 14:11:16 -04:00
Dan Ribbens
a664b627f6 fix: upload e2e file path 2022-07-15 13:39:12 -04:00
Elliot DeNolf
3a4657e368 test: fix bad file ref and update locators 2022-07-15 10:02:09 -07:00
James
4cb565f1cc Merge branch 'feat/1.0' of github.com:payloadcms/payload into feat/1.0 2022-07-14 16:35:58 -07:00
James
31ca363982 feat: revises e2e field testing 2022-07-14 16:35:35 -07:00
Elliot DeNolf
4a3588e965 test: collections and new test ids and classes 2022-07-14 16:16:16 -07:00
Dan Ribbens
11600930b7 feat: e2e test upload (#755) 2022-07-14 18:43:19 -04:00
James
4bb0d3994f fix: bug with base colors 2022-07-14 15:27:17 -07:00
James
5fc4f3adad feat: more maintainable colors 2022-07-14 15:20:34 -07:00
James
41a0ba5780 feat: finishes block field 2022-07-14 14:46:42 -07:00
Elliot DeNolf
f7a81d70ac test(access-control): restricted and read-only (#754) 2022-07-14 14:33:54 -07:00
Elliot DeNolf
baf4664073 feat: add card ids 2022-07-14 14:09:59 -07:00
Dan Ribbens
48700a93e3 * fix: css selectors 2022-07-14 17:00:34 -04:00
James
49d09a349f feat: updates block field to use new collapsible 2022-07-14 14:00:14 -07:00
Dan Ribbens
31bc4c6532 * feat: optimize collection list relationship queries (#749)
* feat: optimize collection list relationship queries
2022-07-14 16:51:41 -04:00
James
aa89251a3b feat: retrofits array to new collapsible component 2022-07-13 20:09:50 -07:00
Elliot DeNolf
057846e250 test: collections-rest and dev type generation (#750) 2022-07-13 17:46:59 -07:00
Dan Ribbens
5a5e3b589c chore: set playwright timeout to 10m 2022-07-13 20:20:25 -04:00
James
270dd22f08 docs: updates fields overview to include collapsible 2022-07-13 15:41:41 -07:00
James
beec04a1bc docs: collapsible 2022-07-13 15:40:59 -07:00
James
60bfb1c3b8 feat: finishes collapsible field 2022-07-13 15:29:49 -07:00
James
98676bea69 feat: adds collapsible field type 2022-07-13 14:45:10 -07:00
James
8589fdefda feat: reorganizes mongo connection 2022-07-13 13:17:00 -07:00
James
8ba25e8602 chore: renames admin url util conventions 2022-07-13 12:47:53 -07:00
James
de43e21ebc chore: stubs out fields e2e 2022-07-13 12:40:29 -07:00
Elliot DeNolf
90ba15f9bd feat: testing refactor (e2e/int) (#748)
Co-authored-by: James <james@trbl.design>
Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-07-13 11:00:10 -07:00
James Mikrut
b9f9f15d77 feat/adds dark mode and evolves admin ui
* feat: builds color palette for light and dark mode, removes all conflicting rgba sass

* chore: replaces colors with css vars

* chore: adapts blur-bg to be more performant and stable

* chore: getting ready for dark mode

* chore: removes unused file

* chore: reverts input bg

* chore: reverses selection in dark mode

* feat: builds theme toggler

* feat: adds auto mode for theme

* feat: establishes light / dark css pattern, updates account and list

* chore: migrates more views to gutter component

* chore: adapts global, adjusts popups

* chore: finishes retrofitting views

* feat: moves to medium instead of semi-bold for headlines

* feat: introduces new font for rte

* feat: updates rich text styles

* feat: styles react select in dark mode

* chore: styles datepicker, misc refinements

* chore: updates style of UploadCard

* chore: fixes code styles

* chore: styles PerPage

* chore: improves styling of column / where selector

* feat: improves field errors in dark mode

* chore: styles built-in rich text elements

* chore: improves styling of rte elements

* chore: tweaks
2022-07-13 10:36:25 -07:00
James
cac5266c79 chore: changelog 2022-07-11 11:53:12 -07:00
James
420afc6838 chore(release): v0.19.2 2022-07-11 11:50:25 -07:00
James
4e3c4e9c0c Merge branch 'master' of github.com:payloadcms/payload into feat/extensible-auth-strategies 2022-07-11 11:45:48 -07:00
James
2c27812ba1 chore: removes cookie-parser 2022-07-11 11:45:44 -07:00
James Mikrut
2f57a983cd Merge pull request #739 from payloadcms/feat/extensible-auth-strategies
Feat/extensible auth strategies
2022-07-11 11:44:32 -07:00
James
91c4ef226b fix: ensures router switch only contains top-level route components 2022-07-11 08:31:43 -07:00
James
38b52bf67b feat: better types useAuth and custom provider components 2022-07-09 22:23:37 -07:00
James
281985970d Merge branch 'feat/extensible-auth-strategies' of github.com:payloadcms/payload into feat/extensible-auth-strategies 2022-07-09 17:39:19 -07:00
James
03f28a4804 feat: ensures auth component doesn't render if disabled 2022-07-09 17:16:19 -07:00
Dan Ribbens
c0acba94c6 Merge branch 'feat/extensible-auth-strategies' of github.com:payloadcms/payload into feat/extensible-auth-strategies 2022-07-09 19:58:19 -04:00
Dan Ribbens
8d550d411e docs: update collection hooks 2022-07-09 19:57:58 -04:00
Elliot DeNolf
e8064371b0 feat: add preMiddleware and postMiddleware, deprecate middleware 2022-07-09 16:47:23 -07:00
Dan Ribbens
166bd31506 feat: add res to token hooks 2022-07-09 19:38:24 -04:00
Dan Ribbens
4055908bc8 feat: add afterMe afterLogout and afterRefresh 2022-07-09 19:29:00 -04:00
James
d68bb8c292 fix: removes reliance on auth email 2022-07-09 14:40:31 -07:00
James
c8be171f24 chore: further disabling of local auth strategy 2022-07-09 12:04:21 -07:00
Dan Ribbens
43eafd4b9f chore(release): v0.19.1 2022-07-09 12:04:17 -04:00
Dan Ribbens
ce1c99b01c fix: ensures duplicative relationship options are not present (#732)
Co-authored-by: James <james@trbl.design>
2022-07-09 11:58:03 -04:00
James
4b2bc36f89 chore: reduces unnecessary strategy complexity 2022-07-09 08:40:13 -07:00
James
58587525e5 feat: adds cookie-parser 2022-07-08 18:36:12 -07:00
James
df76f60e7f fix: ensures anonymous passport strategy is loaded last 2022-07-08 17:56:39 -07:00
James
2c66ad8689 feat: ensures only plain objects are merged within incoming configs 2022-07-08 17:37:43 -07:00
James
6016e2346c feat: extends strategies with more properties 2022-07-08 15:16:30 -07:00
James
56cdd943fd feat: only adds email if local strategy enabled 2022-07-08 14:50:04 -07:00
James
6d02f7d3ac feat: begins extensible auth strategies 2022-07-08 13:46:12 -07:00
Dan Ribbens
18f8790062 chore: breaking changes 0.19.0 2022-07-08 14:08:04 -04:00
Dan Ribbens
854b63ec34 chore(release): v0.19.0 2022-07-08 14:07:28 -04:00
Dan Ribbens
beccbbd3e8 chore: package script quotes windows compatibility 2022-07-08 14:00:23 -04:00
Dan Ribbens
91d0d84c65 docs: update graphql schema 2022-07-08 13:53:40 -04:00
chris-schra
7dd67a8d39 chore: ignore Yarn Berry files in .gitignore (#713) 2022-07-08 13:51:42 -04:00
Dan Ribbens
ad43cbc808 feat: graphql schema output (#730)
* chore: refactor graphql initialization

* feat: generate graphql schema script

* feat: script commands are case insenstive
2022-07-08 13:50:46 -04:00
James Mikrut
2b2a562d83 Merge pull request #731 from payloadcms/fix/auth-me-gql-relationships
Fix/auth me gql relationships
2022-07-08 10:48:09 -07:00
James
d9e7696384 chore: strips trailing slashes from jwt strategy 2022-07-08 10:41:10 -07:00
James
01bc1fef1e fix: ensures auth/me relations in gql can be queried 2022-07-08 10:25:00 -07:00
Dan Ribbens
567d8c19bf fix: allow passing of autoIndex mongoose connectionOptions (#722) 2022-07-06 15:57:02 -04:00
James Mikrut
b722bed24f Merge pull request #720 from payloadcms/fix/#692
fix: ensures old data from arrays is not persisted
2022-07-06 14:36:00 -04:00
James
0af66d68a7 chore: tests array functionality 2022-07-06 11:34:22 -07:00
Henri Tuan
f3b7dcff57 feat: File argument in create/update operation (#708)
Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-07-06 11:26:04 -07:00
chris-schra
67331eb975 fix: copyfiles cross platform (#712) 2022-07-06 13:57:18 -04:00
James
d9ef803d20 fix: ensures old data from arrays is not persisted 2022-07-06 10:52:52 -07:00
Andrzej Kłapeć
9fd171b26d feat: allow clearing DatePicker value (#641)
Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
2022-07-06 09:38:45 -07:00
Dan Ribbens
91e33d1c1c fix: relationship field disabled from access control in related collections (#644)
* fix: disabled relationship field from access control in related collections

* fix: ids can be read from relationships regardless of access of related document
2022-07-03 07:01:45 -04:00
Akansh Sirohi
601e69ab0d Fixes payloadcms/payload#650 (#706)
* fix: min/max number validation of decimal values
2022-07-03 06:25:03 -04:00
Andres Kalle
81aa74bbbe docs: fixed example URL (#705) 2022-07-02 07:42:12 -04:00
Dan Ribbens
e84b7a9c58 chore(release): v0.18.5 2022-06-29 14:14:47 -04:00
Dan Ribbens
b6b0ffb674 fix: empty cell data renders in list (#699) 2022-06-29 14:07:21 -04:00
Dan Ribbens
62bd2db5f9 chore: update json-schema-to-typescript to v11 (#700) 2022-06-29 14:03:30 -04:00
Steven Roh
74342a4dea Avoid app crashing when code (data) is undefined (#681)
* fix: code field ui errors when data is undefined
2022-06-29 12:12:33 -04:00
Min Somai
c78d77446a fix: icon appears above select field's option list (#685)
* fix: icon of the date field appears above the option list
2022-06-29 12:09:53 -04:00
Dan Ribbens
6eb4fc04b1 Fix/validate imagesizes with mimetypes (#688)
* fix: mimetype validation with image sizes

* fix: unique filename error on image sizes
2022-06-29 12:05:57 -04:00
Dan Ribbens
f1b00e85fc docs: update links 2022-06-29 11:19:34 -04:00
gonza moiguer
7c73f2c1d9 Corrected Radio field doc, 'option' for 'label' (#690) 2022-06-27 13:03:41 -04:00
James
704e543c7e chore(release): v0.18.4 2022-06-24 17:53:35 -04:00
Lachlan Heywood
fcaa1454dc Update load.ts (#679) 2022-06-24 17:52:06 -04:00
James
9d388f7a89 chore(release): v0.18.3 2022-06-24 17:51:01 -04:00
James
918062de2f fix: #670, max tokenExpiration 2022-06-24 17:49:36 -04:00
James
375738d99c chore(release): v0.18.2 2022-06-24 17:34:07 -04:00
Dan Ribbens
1c37ec3902 feat: telemetry
* feat: add telemetry to payload config

wip: more telemetry

* feat: send telemetry events

* chore: update node ci versions

* chore: cleanup console log

* chore: updates ts due to dependency update

* chore: remove unused deps

* chore: fix origin and casing

* docs: telemetry

* feat: uses oneWayHash within telemetry

* chore: sends hashed domain in telemetry

* feat: improves reliability of telemetry projectID

* chore: revises telemetry docs

Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
Co-authored-by: James <james@trbl.design>
2022-06-24 17:32:09 -04:00
Kent Warren
7eb804daf9 docs: typo (#683)
Changes "you" to "your"
2022-06-24 16:52:57 -04:00
James
d99a67ca95 chore(release): v0.18.1 2022-06-21 15:45:20 -04:00
James
3d5ed93fce fix: #671, password reset broken 2022-06-21 15:43:12 -04:00
Ahmet Kilinc
b80006be45 Change "ist" to "it" (#668)
docs: Small typo on middleware page
2022-06-20 10:45:34 -04:00
Dan Ribbens
70edb0ba38 chore(release): v0.18.0 2022-06-14 08:53:17 -04:00
Dan Ribbens
a1fe17d05d fix: me auth route breaks with query params (#648) 2022-06-13 11:49:04 -04:00
James Mikrut
7083225abd Feat/remove this bindings (#629)
* feat: removes this bindings for cleaner, more maintainable code

Co-authored-by: Elliot DeNolf <denolfe@users.noreply.github.com>
Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-06-08 14:44:34 -04:00
Jarrod Flesch
af6479bf34 feat: adds timestamps to generated collection types if enabled (#604)
* feat: adds timestamps to generated collection types if enabled
2022-06-08 11:41:09 -04:00
Dan Ribbens
44c12325b4 feat: enable webpack filesystem cache in dev (#621) 2022-06-08 11:38:07 -04:00
Dan Ribbens
f2bf2399fa fix: custom fields values resetting in ui (#626) 2022-06-08 11:37:31 -04:00
Dan Ribbens
7fe2fece6c chore: remove node-sass (#605) 2022-06-08 11:36:33 -04:00
James
bf0fe090ab chore(release): v0.17.3 2022-06-08 10:33:12 -04:00
Dan Ribbens
397dba4a30 Fix/delete document workflow (#622)
* fix: admin ui display server errors when deleting documents

* fix: admin ui display delete document state gets stuck after 403
2022-06-08 10:24:34 -04:00
Dan Ribbens
593d6a596a docs: remove withCondition for custom component fields (#588) 2022-06-08 10:24:21 -04:00
Dan Ribbens
82a6db8b4f docs: add examples to collection hooks (#620) 2022-06-08 10:23:55 -04:00
Dan Ribbens
28aa3dd17b chore: update license in package.json (#631) 2022-06-08 10:23:15 -04:00
James Mikrut
3d4d807370 Fix/propagate locale relationship (#637)
* fix: propagate locale through relationship

* fix: ensures locales are populated properly through local operations

* chore: adds test for locale propagation

Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
2022-06-08 10:23:01 -04:00
James
c18cc23c71 fix: ensures unflattening locales only happens if config specifies locales 2022-06-08 10:07:17 -04:00
GeorgeyB
7ee374ea1a Custom collection/global endpoints (#607)
* feat: add custom endpoints for collections and globals REST APIs

Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-05-30 12:43:18 -04:00
Dan Ribbens
20bbda95c6 fix: duplicate objects in array fields in validate data and siblingData (#599) 2022-05-25 13:44:28 -04:00
James
67fecf6c2c chore(release): v0.17.2 2022-05-23 22:08:23 -04:00
James Mikrut
20d251fd5d fix: #576, graphql where on hasMany relationship not working (#582) 2022-05-23 22:06:37 -04:00
Jarrod Flesch
982b3f0582 fix: adds optional chaining to safely read drafts setting on versions (#577) 2022-05-23 20:23:24 -04:00
Roman Bondarenko
200aa2e1c2 chore: fix typo in plugins/overview (#578) 2022-05-23 20:22:54 -04:00
GeorgeyB
734e905c18 fix: passes required prop for select field (#579) 2022-05-23 20:22:36 -04:00
Elliot DeNolf
5ce223e5f4 ci: remove e2e test run until figure out flaking 2022-05-23 17:07:56 -04:00
James
6a17d3db98 chore: doc readability 2022-05-23 11:01:47 -04:00
James
f27c5ca6f0 docs: adds detail regarding access control arguments 2022-05-23 10:56:49 -04:00
James
ac355b58d4 chore(release): v0.17.1 2022-05-17 13:15:24 -04:00
James
e1a5547fea fix: only localizes schema if both field and top-level config are enabled 2022-05-17 13:13:37 -04:00
Dan Ribbens
dd8c1d7a9e chore(release): v0.17.0 2022-05-16 19:29:03 -04:00
Dan Ribbens
4913441017 Free and open-source under MIT license (#565)
* feat: free and open-source under MIT license
2022-05-16 19:25:20 -04:00
Dan Ribbens
16b7edbc97 fix: prevent changing order of readOnly arrays (#563) 2022-05-16 19:00:08 -04:00
Dan Ribbens
5bfde9da91 chore: fix inconsistent e2e test results (#562)
* chore: fix inconsistent e2e test results
2022-05-11 23:19:08 -04:00
Dan Ribbens
52acfcb0e3 chore: export useDocumentInfo (#561)
* chore: export useDocumentInfo and add to custom component documenation
2022-05-11 21:50:17 -04:00
Dan Ribbens
8813bc7695 chore: e2e running in CI (#559)
* chore: e2e ci testing with mongo-memory-server
2022-05-11 21:49:11 -04:00
Dan Ribbens
1dfe2b8929 fix: apply field condition to custom components (#560) 2022-05-11 19:43:53 -04:00
Dan Ribbens
afb158fb50 chore(release): v0.16.4 2022-05-06 13:58:01 -04:00
Dan Ribbens
78edac684e fix: fields in groups causing console error in browser (#553) 2022-05-06 13:50:58 -04:00
Dan Ribbens
46f4bc2a07 fix: save resized image file when equal to upload size (#555) 2022-05-06 13:50:47 -04:00
James
f361a44cca chore(release): v0.16.3 2022-05-04 11:20:47 -04:00
James
47c37e0153 fix: rare bug while merging locale data 2022-05-04 11:18:52 -04:00
James
5df3b35189 chore(release): v0.16.2 2022-05-02 13:44:31 -04:00
Elliot DeNolf
1e4a68f76e fix: checkbox defaultValues and more typing of sanitize (#550) 2022-05-02 13:42:56 -04:00
James
b3832e21c9 feat: exposes findMany argument to afterRead hooks to discern between find and findByID 2022-05-02 13:38:13 -04:00
James Mikrut
18489faceb feat: optimizes field operations
* wip: beforeChange field op pattern

* feat: optimizes field-level beforeChange

* feat: optimizes beforeValidate

* feat: optimizes afterChange

* feat: optimizes afterRead

* chore: comment accuracy
2022-05-02 12:46:52 -04:00
Dan Ribbens
69d328d15e docs: updated link 2022-04-29 23:29:46 -04:00
Dan Ribbens
738e8ab9b6 docs: preventing abuse of file uploads 2022-04-29 23:25:55 -04:00
Elliot DeNolf
e7349fea9a chore: add explicit release scripts 2022-04-29 20:21:01 -04:00
James
51a6790f26 chore(release): v0.16.1 2022-04-29 18:34:40 -04:00
James
515f20372e chore: passing tests 2022-04-29 18:30:40 -04:00
James
12fbe8368f Merge branch 'fix/localization-defaultvalues' of github.com:payloadcms/payload 2022-04-29 16:49:17 -04:00
Dan Ribbens
55b4dfb309 chore: test defaultValue with localization 2022-04-29 16:48:50 -04:00
James
fb7bb76674 Merge branch 'master' of github.com:payloadcms/payload 2022-04-29 16:48:24 -04:00
James
e46b942259 feat: exposes payload within server-side validation args 2022-04-29 16:48:15 -04:00
Dan Ribbens
e4affd4bf9 docs: updated links 2022-04-29 14:40:49 -04:00
Dan Ribbens
16398d3438 chore(release): v0.16.0 2022-04-29 13:19:34 -04:00
Dan Ribbens
e8503232ba chore: changes eslint rules no-console and cleanup 2022-04-29 12:36:21 -04:00
Dan Ribbens
bf48fdf189 fix: file upload safely handles missing mimeTypes (#540)
* fix: file upload safely handles missing mimeTypes

* feat: uploaded files that do not have mimeTypes are given one based on file extension
2022-04-29 10:36:58 -04:00
Dan Ribbens
834f4c2700 feat: allow subfield readOnly to override parent readOnly (#546) 2022-04-29 10:36:38 -04:00
Dan Ribbens
e297eb9090 feat: allows defaultValue to accept async function to calculate defaultValue (#547)
* feat: field default values with async functions

* docs: improves field default value

* chore: simplifies async defaultValue

* chore: api test coverage for default value functions

* chore: WIP defaultValue async arrays

* chore: refactors and simplifies buildStateFromSchema

* chore: improves tests for defaultValues

Co-authored-by: James <james@trbl.design>
2022-04-29 10:36:10 -04:00
James
1f394bef72 chore(release): v0.15.13 2022-04-26 10:21:55 -04:00
James
1cdd5b96b3 chore: ensures array fields update modified state 2022-04-26 10:19:39 -04:00
James
2d14ab1217 chore(release): v0.15.12 2022-04-25 21:02:31 -04:00
James
8bdbd0dd41 fix: ensures adding array / block rows modifies form state 2022-04-25 20:59:33 -04:00
James
800be4c9a0 chore(release): v0.15.11 2022-04-24 19:37:39 -04:00
James
b99ec060ca fix: improperly typed access control 2022-04-24 19:35:58 -04:00
James
d5f4c030b4 chore(release): v0.15.10 2022-04-24 19:19:41 -04:00
James
4de92e3924 Merge branch 'master' of github.com:payloadcms/payload 2022-04-24 19:16:48 -04:00
James
3b70560e25 fix: block form-data bug 2022-04-24 19:16:39 -04:00
Dan Ribbens
d88c89fb05 chore: update discord invite link 2022-04-24 10:24:37 -04:00
Dan Ribbens
24d6d8e5f9 chore: add public discord link (#541) 2022-04-22 14:35:39 -04:00
Elliot DeNolf
9a9b28113a test: implement cypress test suite (#527) 2022-04-20 23:12:02 -04:00
James
ec84ffbee2 chore(release): v0.15.9 2022-04-20 17:25:20 -04:00
James
3c1dfb88df fix: intermittent blocks UI issue 2022-04-20 17:20:05 -04:00
James
4a6b79b231 chore(release): v0.15.8 2022-04-20 13:53:52 -04:00
James
9e2ed56ef0 chore: migrates to React 18 2022-04-20 11:29:09 -04:00
Alessio Gravili
9e324be057 fix: ensure relationTo is valid in upload fields (#533)
* Error handling

* Improve error message

* Re-position error handling

* Move error checking to sanitize
2022-04-20 09:21:14 -04:00
James Mikrut
b7f47c9bb1 chore/ts dep compat (#535)
* chore: ensures typescript dependency compatibility

* chore: updates dependencies

* chore: updates window-info breakpoints
2022-04-20 09:16:36 -04:00
Dan Ribbens
8a997c82be chore: github action runs demo generate types (#530) 2022-04-17 10:59:32 -04:00
Dan Ribbens
3dcd8a24cb fix: richtext editor input height (#529) 2022-04-17 10:56:33 -04:00
Dan Ribbens
203ce2c2f9 chore: update changelog 2022-04-12 11:50:27 -04:00
Dan Ribbens
42e42175db chore(release): v0.15.7 2022-04-12 11:41:04 -04:00
Dan Ribbens
6f84c0a869 Fix/checkbox validation error position (#521)
* fix: checkbox validation error positioning

* feat: sanitize defaultValue to false when field is required
2022-04-12 11:28:41 -04:00
Dan Ribbens
a4f2c5abd4 chore: update react 18 (#520)
* chore: update to react 18 and related dependencies
2022-04-12 11:26:55 -04:00
Dan Ribbens
6b06fe4481 chore: update react-toastify to 8.x (#522) 2022-04-12 11:26:20 -04:00
Outdated
1fc856faf5 Document Fix for admin/customizing-css (#513)
Addition of node package 'sass-loader' & 'node-sass' as dev dependencies for loading scss for customizing css variables for admin panel.
2022-04-11 17:03:48 -04:00
Dan Ribbens
6e45fd67ce docs: anchor link field component 2022-04-11 10:54:13 -04:00
Dan Ribbens
39415d4eed docs: update anchor links (#518) 2022-04-11 09:31:46 -04:00
John Beene
801b20ae75 Update fields.mdx (#509)
Fix destructuring of args inside exampleFieldHook function
2022-04-07 05:37:04 -04:00
Dan Ribbens
f564402565 chore(release): v0.15.6 2022-04-06 10:25:38 -04:00
Dan Ribbens
0156812af3 chore: generates new demo types 2022-04-06 10:23:48 -04:00
Elliot DeNolf
cf54b336d1 fix: new up separate logger for generateTypes script 2022-04-06 10:08:51 -04:00
Dan Ribbens
096303a93d chore(release): v0.15.5 2022-04-06 07:48:05 -04:00
Dan Ribbens
e1c6d9dd7d fix: relationship component showing no results (#508) 2022-04-06 07:44:30 -04:00
James
ed80d398ea chore: changelog 2022-04-05 16:30:46 -04:00
James
b4ce6ff4b0 chore(release): v0.15.4 2022-04-05 16:30:02 -04:00
James
ec91757257 feat: allows like to search by many words, adds contain to match exact strings 2022-04-05 16:22:57 -04:00
James
b99f6b16af fix: maintains field validation internally for speed 2022-04-05 15:29:03 -04:00
James
9dfb84656d chore: re-implements validation as user types 2022-04-05 15:21:47 -04:00
James
629e63e123 docs: relationship clarity 2022-04-05 15:15:43 -04:00
James
b4131800c9 Merge branch 'master' of github.com:payloadcms/payload 2022-04-05 14:59:09 -04:00
James
aee95eb041 merge: relationship options filter 2022-04-05 14:59:01 -04:00
GeorgeyB
0461c2109b feat: support className config for row, block and array fields (#504) 2022-04-05 14:55:50 -04:00
James
9e9aa6485c docs: payload.init accuracy 2022-04-05 14:55:29 -04:00
James
0651936856 Merge branch 'feat/logger-options' of github.com:payloadcms/payload 2022-04-05 14:51:57 -04:00
James Mikrut
1b4b5707bf feat: extended validation function arguments (#494)
* feat: WIP extended validation function arguments

* chore: optimizes validation extended args

* chore: more consistently passes validation args

* chore: removes field from form state

* chore: passing tests

* fix: default point validation allows not required and some edge cases

* chore: ensures default validate functions receive field config

* chore: demo validation with sibling data

* chore: optimize getDatabByPath and getSiblingData

* chore: adds tests to validate extra arg options

* docs: add validation arguments

* chore: export default field validation

* chore: top level getSiblingData

* fix: #495, avoids appending version to id queries

* chore: revises when field validation is run

* chore: restore original admin field validation

Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-04-05 14:51:28 -04:00
Dan Ribbens
89d56a0886 chore: test coverage for relationship filteroptions 2022-04-05 12:21:45 -04:00
Dan Ribbens
1482fded9a feat: upload field implements filterOptions 2022-04-05 12:03:57 -04:00
Elliot DeNolf
6620a4f682 feat(logging): allow pino logger options to be passed into init 2022-04-04 22:55:54 -04:00
James
df934dfeff feat: working PoC for reusing relationship filters in validate 2022-04-04 21:20:21 -04:00
Dan Ribbens
485991bd48 feat: filter relationship options in admin ui using filterOptions 2022-04-04 19:44:49 -04:00
James
1d4d30ce8f chore: revises when field validation is run 2022-04-04 17:07:24 -04:00
James
6c00c2a113 Merge branch 'feat/validate-extended-args' of github.com:payloadcms/payload into feat/validate-extended-args 2022-04-04 15:30:01 -04:00
James
57b5f17bf4 Merge branch 'master' into feat/validate-extended-args 2022-04-04 15:29:31 -04:00
James
bb3080aef7 chore(release): v0.15.3 2022-04-04 15:11:50 -04:00
James
f4a2dff892 fix: #499, graphql row / ui field bug 2022-04-04 15:09:56 -04:00
James
fa7f234b48 chore(release): v0.15.2 2022-04-04 13:59:36 -04:00
James
6f05fe80ae Merge branch 'master' of github.com:payloadcms/payload 2022-04-04 13:57:10 -04:00
James
a703e0582d fix: #495, avoids appending version to id queries 2022-04-04 13:56:09 -04:00
James
ab432a43dc fix: #495, avoids appending version to id queries 2022-04-04 13:54:02 -04:00
Elliot DeNolf
839e3f9dae test: fix all ts errors, eslint overrides 2022-04-03 23:40:29 -04:00
Elliot DeNolf
9c6af860d4 test: migrate test files to ts 2022-04-03 23:40:29 -04:00
Dan Ribbens
845b0b3709 chore: top level getSiblingData 2022-04-01 11:34:13 -04:00
Dan Ribbens
85596bbba6 chore: export default field validation 2022-04-01 10:58:08 -04:00
Dan Ribbens
9ea2777555 docs: add validation arguments 2022-03-31 01:00:52 -04:00
Dan Ribbens
c7eb929176 chore: adds tests to validate extra arg options 2022-03-30 18:06:05 -04:00
Dan Ribbens
42baf2e27e chore: optimize getDatabByPath and getSiblingData 2022-03-30 17:04:26 -04:00
Dan Ribbens
dade960615 chore: demo validation with sibling data 2022-03-30 15:32:58 -04:00
Dan Ribbens
80de7a720f Merge branch 'feat/validate-extended-args' of github.com:payloadcms/payload into feat/validate-extended-args 2022-03-30 15:00:29 -04:00
James
175642c07b chore: ensures default validate functions receive field config 2022-03-30 15:00:19 -04:00
Dan Ribbens
29405bbc0e fix: default point validation allows not required and some edge cases 2022-03-30 12:12:59 -04:00
James
60f295ba9f chore: passing tests 2022-03-29 18:37:02 -04:00
James
2b1a33efba chore: removes field from form state 2022-03-29 17:57:10 -04:00
James
f5191dc7c8 chore: more consistently passes validation args 2022-03-29 15:38:22 -04:00
James
e597b4c66b chore: optimizes validation extended args 2022-03-29 14:11:22 -04:00
James
50cf34ac2e Merge branch 'feat/validate-extended-args' of github.com:payloadcms/payload into feat/validate-extended-args 2022-03-29 10:41:10 -04:00
James
b3a7c16f8e chore(release): v0.15.1 2022-03-28 15:01:40 -04:00
Dan Ribbens
647cac3612 feat: WIP extended validation function arguments 2022-03-28 12:58:39 -04:00
Dan Ribbens
5a7e8a980b feat: builds a way to inject custom React providers into admin UI
* fix: rich text textarea height

* feat: custom providers for admin panel

* docs: custom provider component
2022-03-28 11:23:22 -04:00
Lukas Chladek
45f70114e6 feat: export Plugin type from config types (#491)
This type is useful for plugin authors to correctly type their plugin.
2022-03-28 11:22:33 -04:00
Dan Ribbens
f442552858 chore: add security readme (#489) 2022-03-24 21:14:17 -04:00
Dan Ribbens
483e8934c9 Merge branch 'master' of github.com:payloadcms/payload 2022-03-17 11:38:28 -04:00
Dan Ribbens
dc9898e355 docs: remove versions payload beta version 2022-03-17 11:38:11 -04:00
James
2b71144015 chore: changelog 2022-03-16 15:30:16 -04:00
James
9b17b5c08c chore(release): v0.15.0 2022-03-16 15:03:22 -04:00
Dan Ribbens
647db5122e feat: add pagination argument to optimize graphql relationships and use in local api (#482) 2022-03-16 14:58:41 -04:00
Dan Ribbens
ad98b29398 feat: adds path to GraphQL errors (#457)
* feat: adds path to GraphQL errors

* feat: afterError hook complete and error handling types

* Revert "feat: afterError hook complete and error handling types"

This reverts commit 5517d16c58f516fd4663b1bff791dd7c78b1e721.

* fix: moves extra graphql error response to extensions
2022-03-16 13:11:30 -04:00
Dan Ribbens
ba1a8284ac docs: init options for email, local, and onInit (#474) 2022-03-16 13:10:45 -04:00
Dan Ribbens
26dbebb380 chore: improve test coverage for upload relationship (#475) 2022-03-16 13:10:22 -04:00
Dan Ribbens
f14e187545 feat: allow empty string radio and select option values (#479) 2022-03-16 13:09:37 -04:00
Jarrod Flesch
8fc4f7f806 fix: adjusts lte and gte types to match docs and codebase (#480) 2022-03-16 13:08:45 -04:00
Dan Ribbens
24aa475640 fix: further sanitize serverURL to prevent undefined in admin routes (#481) 2022-03-16 13:08:11 -04:00
James
0bfc589d47 chore: beta release 2022-03-10 10:02:34 -05:00
James
97f3178005 fix: ensures overrideAccess is false if undefined while populating 2022-03-10 09:49:01 -05:00
James
73f418bb5c feat: exposes data arg within create and update access control 2022-03-08 14:42:47 -05:00
James
7e5eeef122 chore: revises logic used to determine if hasWhereAccessResult 2022-03-08 14:42:28 -05:00
James
aee86c6136 chore: beta release 2022-03-07 10:56:21 -05:00
James
c9795133b3 feat: adds originalDoc to field access control 2022-03-07 10:53:57 -05:00
James
561c43c564 chore: beta release 2022-03-07 10:28:08 -05:00
James
f5535f613a fix: rare crash with link rte element 2022-03-07 10:23:50 -05:00
James
2e9a4c7d71 feat: improves rich text link 2022-03-03 16:29:38 -05:00
James
966c3c6471 feat: improves adding rich text voids to RTE 2022-03-03 15:17:02 -05:00
James
c75054f562 chore: beta release 2022-03-01 19:46:00 -05:00
James
fd0629e932 fix: #464, graphql upload access control 2022-03-01 19:44:03 -05:00
James
bddb65a7a1 chore: beta release 2022-03-01 19:43:33 -05:00
James
8e23a24f34 feat: #458, provides field hooks with sibling data 2022-03-01 18:57:17 -05:00
James
82f0beffce chore: beta release 2022-02-24 10:02:57 -05:00
James
f225ad349d Merge branch 'fix/csrf-no-server-url' of github.com:payloadcms/payload into fix/461-searching-relationship-fields 2022-02-23 16:31:16 -05:00
Dan Ribbens
7e69fcbc7d fix: optimizes relationship input search querying 2022-02-23 14:43:33 -05:00
Dan Ribbens
cbf43fa0d8 fix: prevents None from appearing in hasMany relationship select options 2022-02-23 14:42:01 -05:00
James
bac2a0a0bf chore: cleanup 2022-02-23 09:41:56 -05:00
James
08924a1934 fix: #461 2022-02-23 09:40:54 -05:00
James
cfca6d67f1 chore: type cleanup 2022-02-23 08:16:13 -05:00
Oran Epelbaum
a9b83c8798 fix: #459 - in Relationship field to multiple collections, when the value is null, options are not populated (#460) 2022-02-23 08:05:17 -05:00
James
96a9b75558 chore: cleans up comments 2022-02-20 12:42:05 -05:00
James
d03bda9e87 chore: beta release 2022-02-20 12:27:55 -05:00
James
08b3e8f18f fix: ensures empty hasMany relationships save as empty arrays 2022-02-20 12:22:42 -05:00
Dan Ribbens
40487347e3 fix: allow jwt to work without csrf in config 2022-02-16 12:35:17 -05:00
James
56c16d5c16 fix: #454, withCondition type usability 2022-02-15 12:52:11 -05:00
James
0e5cff1923 chore: beta release 2022-02-14 16:04:22 -05:00
Dan Ribbens
99b9afc81c chore: version documentation for local and graphql apis 2022-02-14 15:50:04 -05:00
Dan Ribbens
4072e7ee06 feat: add local api for versions on globals 2022-02-14 15:50:04 -05:00
Dan Ribbens
85221e6109 chore: add type for collection graphQL 2022-02-14 12:35:07 -05:00
Dan Ribbens
7e7b0589ef fix: config empty and sparse csrf is now allowed 2022-02-14 12:34:09 -05:00
James
c1e4515562 chore: releases beta 2022-02-13 19:11:49 -05:00
James
c9fda13e61 chore: passing global graphql tests 2022-02-13 19:05:21 -05:00
James
2db80d2af8 Merge branch 'feat/graphql-versions' of github.com:payloadcms/payload 2022-02-13 18:20:11 -05:00
Dan Ribbens
76077c539d WIP: globals graphql versions 2022-02-13 17:34:22 -05:00
Dan Ribbens
a5c8ea4e2e fix: version where input type 2022-02-11 15:50:42 -05:00
James
fa8a6b769b chore: simplifies buildVersionWhereInput 2022-02-11 15:00:16 -05:00
James
8422d0dfda Merge branch 'feat/graphql-versions' of github.com:payloadcms/payload into feat/graphql-versions 2022-02-11 14:50:48 -05:00
Dan Ribbens
fc24485455 fix: improves version config sanitization 2022-02-11 14:22:10 -05:00
Dan Ribbens
407bc35a31 chore: rename buildInputObject to withWhereAndOr 2022-02-11 13:45:27 -05:00
Dan Ribbens
26b13a81c3 feat: improve code coverage for graphql versions 2022-02-11 13:39:17 -05:00
James
d65e856ada docs: improves versions heading hierarchy 2022-02-11 12:09:21 -05:00
James
c0150ae846 feat: allows global access control to return query constraints 2022-02-11 11:35:55 -05:00
James
cc4dc59aa9 docs: completes version docs 2022-02-11 11:25:18 -05:00
Dan Ribbens
dca90c4aa9 feat: serverURL is no longer required (#437) 2022-02-11 08:32:37 -05:00
Jacob Fletcher
500fb1c5c4 feat: allows select input to receive new options (#435) 2022-02-10 18:43:20 -05:00
James
6fab8bfbef fix: #431 - relationship field not properly fetching option results 2022-02-10 18:23:40 -05:00
Dan Ribbens
b159e148db chore: rename publishVersion to restoreVersion (#438) 2022-02-10 16:35:03 -05:00
Dan Ribbens
7cfb2f7f02 feat: GraphQL version collection resolvers 2022-02-10 15:23:39 -05:00
Dan Ribbens
ee58471aed WIP: graphql revisions operations 2022-02-10 15:09:08 -05:00
James
48aa27ce70 fix: improperly typed local create method 2022-02-10 14:52:58 -05:00
James
13318ff360 feat: improves relationship field performance 2022-02-10 14:52:35 -05:00
James
964cbe1899 chore: adds comparison to most recently published doc 2022-02-10 12:11:59 -05:00
James
d15c48429b chore: improves version count accuracy 2022-02-10 11:17:19 -05:00
James
6e57040aaf chore: ensures version comparison does not allow to compare same version to itself 2022-02-09 18:04:21 -05:00
James
756981172f fix: ensures VersionCount is accurate 2022-02-09 18:00:54 -05:00
James
6898d6151b chore: fixes DocumentInfo types 2022-02-09 16:38:28 -05:00
James
a9b2f7f3f3 chore: improves copy on Versions view 2022-02-09 16:28:10 -05:00
James
e81ba84ca7 feat: improves versions UI count and list view 2022-02-09 16:23:39 -05:00
James
e2814b5404 chore: swaps placement of version comparisons 2022-02-09 13:56:08 -05:00
James
eaa4858580 docs: progress to versions 2022-02-09 13:26:44 -05:00
James
652bd4ab23 chore: cleans up duplicative versions 2022-02-09 13:26:20 -05:00
James
e2662336b1 chore: removes console log 2022-02-08 19:18:05 -05:00
James
d7b669d404 chore: simplifies array / block field components 2022-02-08 19:04:37 -05:00
James
760dee370f chore: improves opt-in viability for versions 2022-02-08 18:23:14 -05:00
James
f710b8c4f3 fix: adds key to RichText based on initialValue 2022-02-08 17:50:27 -05:00
James
4e773c7152 feat: optimization of unpublish, revert to saved 2022-02-08 17:44:39 -05:00
James
160ab54b85 feat: builds revert to saved, unpublish 2022-02-08 13:13:43 -05:00
James
7841f2a86b fix: ensures fetching published doc only retrieves published docs 2022-02-08 11:54:25 -05:00
James
ee9cd24e10 feat: uses debounce in autosave 2022-02-08 11:46:39 -05:00
James
eb4f9572b8 feat: implements versions in global ui 2022-02-08 11:15:26 -05:00
James
a59b14bd8c feat: implements versions in globals, adds tests 2022-02-07 17:46:51 -05:00
James
86890a2de4 tests: fixes outdated test 2022-02-07 16:44:56 -05:00
James
03c8445a6d fix: removes required from versions status field 2022-02-07 16:16:49 -05:00
James
c5854afb37 docs: stubs version docs 2022-02-07 16:16:38 -05:00
James
0ecd9ff0cb chore: optimizes demo and version operations 2022-02-07 16:11:19 -05:00
James
7397d63073 feat: builds global publishVersion 2022-02-06 20:34:52 -05:00
James
4656381205 Merge branch 'master' of github.com:payloadcms/payload 2022-02-06 15:02:19 -05:00
James
c286e757b3 docs: adds legacy-peer-deps to docs 2022-02-06 15:01:54 -05:00
James
3ca3f533d0 feat: updates dependencies 2022-02-06 14:57:56 -05:00
James
c38470c7b2 feat: allows access control to prevent reading of drafts 2022-02-06 14:46:34 -05:00
James
6dffeeb06f feat: initial drafts and versions merge 2022-02-06 12:13:52 -05:00
Elliot DeNolf
c8ecc168e2 chore: beta release 2022-02-05 13:44:38 -05:00
Elliot DeNolf
ff33453736 feat: add logMockCredentials email option 2022-02-05 13:28:48 -05:00
James
a657c584fc chore: beta release 2022-02-03 12:33:21 -05:00
James
414679d86a fix: #422, prevents loading duplicative relationship options 2022-02-03 12:30:28 -05:00
James
ac4e5985d9 docs: elaborate on safe payload.config re-use, references #416 2022-02-03 12:19:42 -05:00
James
99fea79710 chore: beta release 2022-02-03 12:09:46 -05:00
James
417e83cf71 chore: cleans up _payload from req.body 2022-02-03 12:07:18 -05:00
James
1a05fe448c fix: #424, unable to clear localized property vals 2022-02-03 12:07:05 -05:00
James
28846547af fix: #423, #391 - prevents loading edit views until data initializes 2022-02-03 11:49:15 -05:00
James
7fd4b22180 chore: ensures locale is initiated properly if present in query param 2022-02-03 11:47:21 -05:00
James
5681a2793d chore: cleanup textarea 2022-02-03 11:47:08 -05:00
James
3f538cb818 chore: beta release 2022-02-01 09:47:40 -05:00
James
9dc11b2b83 chore: rich text upload cleanup 2022-02-01 09:45:43 -05:00
James
bef02062e7 feat: exposes useLocale for reuse 2022-02-01 09:33:23 -05:00
James
9a393fa974 chore: beta release 2022-01-31 21:41:02 -05:00
James
72d1099085 chore: beta release 2022-01-31 21:33:49 -05:00
Dan Ribbens
5591eeafca feat: add before and after login components (#427) 2022-01-31 21:26:12 -05:00
James
0a6349e323 chore: beta release 2022-01-31 10:29:34 -05:00
James
dbb3c50222 feat: adds a way to customize express.static options 2022-01-31 10:27:26 -05:00
James
c97cbeb6fd chore: beta release 2022-01-24 22:50:28 -05:00
James
43fb317812 chore: removes unused form stringify functionality 2022-01-24 22:45:26 -05:00
James
89fca20a44 chore: beta release 2022-01-24 18:09:29 -05:00
Jarrod Flesch
8327b5aae5 fix: rte upload field population 2022-01-24 18:07:04 -05:00
James
8451233f95 chore: beta release 2022-01-24 12:13:27 -05:00
James
39438b8460 fix: ensures rte upload is populated when only upload is enabled 2022-01-24 12:11:05 -05:00
James
d887b6bdc5 chore: beta release 2022-01-24 10:50:27 -05:00
James
671077669e chore: removes stubbed test 2022-01-21 16:58:07 -05:00
James
a0efa25616 feat: improvements to rte upload 2022-01-21 16:56:24 -05:00
James
bf142ff746 chore: beta release 2022-01-21 16:46:56 -05:00
Jarrod Flesch
c8b00206d9 style: adjusts style of nested RTE inside edit fields 2022-01-21 15:38:06 -05:00
Jarrod Flesch
0e4eb906f2 feat: enhances rich text upload with custom field API
* feat: adds admin.upload.collections[collection-name].fields to the RTE to save specific data on upload elements

* chore: renames flatten to unflatten in reduceFieldsToValues, disables automatic arrow function return in eslint

* docs: adds documentation for upload.collections[collection-name].fields feature

* feat: adds recursion to richText field to populate relationship and upload nested fields

* chore: removes unused css

* fix: import path for createRichTextRelationshipPromise

* docs: updates docs to include images for the RTE upload docs
2022-01-21 10:15:51 -05:00
Jarrod Flesch
d54d511133 docs: updates docs to include images for the RTE upload docs 2022-01-19 17:37:29 -05:00
Jarrod Flesch
586cd4d6af fix: import path for createRichTextRelationshipPromise 2022-01-19 16:55:51 -05:00
Jarrod Flesch
1e6295a788 chore: removes unused css 2022-01-19 16:44:42 -05:00
Jarrod Flesch
42af22c2a1 feat: adds recursion to richText field to populate relationship and upload nested fields 2022-01-19 15:29:00 -05:00
Jarrod Flesch
e76f7c88a5 docs: adds documentation for upload.collections[collection-name].fields feature 2022-01-19 11:42:18 -05:00
Jarrod Flesch
f8af99b058 chore: renames flatten to unflatten in reduceFieldsToValues, disables automatic arrow function return in eslint 2022-01-19 11:22:27 -05:00
Jarrod Flesch
3adf44a241 feat: adds admin.upload.collections[collection-name].fields to the RTE to save specific data on upload elements 2022-01-19 11:21:08 -05:00
James
d07bb932ca chore: beta release 2022-01-14 12:15:54 -05:00
James
609b871fa2 fix: awaits beforeDelete hooks 2022-01-14 12:13:43 -05:00
James
7c7b546812 chore: beta release 2022-01-12 14:45:22 -05:00
James
20e5dfbb4a fix: ensures nested lists always render properly 2022-01-12 14:39:32 -05:00
James
d7c9d9f55b chore: beta release 2022-01-12 14:21:32 -05:00
James
5e42a835a1 chore: merge rich text indent 2022-01-12 14:17:23 -05:00
James Mikrut
7df50f9bf9 feat: adds indentation controls to rich text
* feat: rich text indent PoC

* fix: new slate version types

* feat: ensures only lowest rich text list is shown as active

* feat: adds icons for indentation

* docs: adds indent to rich text
2022-01-12 14:16:05 -05:00
James
c5de01bfc4 fix: new slate version types 2022-01-10 22:19:19 -05:00
James
2deed8b146 feat: rich text indent PoC 2022-01-10 22:15:14 -05:00
James
baa6258bba chore: beta release 2022-01-07 14:34:41 -05:00
James
ef4e6d32a9 fix: type error in useField 2022-01-07 14:22:59 -05:00
James
df3a83634f feat: exposes FieldWithPath type for reuse 2022-01-07 14:21:36 -05:00
James Mikrut
c67a68f9d8 Merge pull request #415 from oranoran/admin-classname
Added "className" property to admin + documented existing "style" property
2022-01-07 14:20:05 -05:00
Jarrod Flesch
8591d97fa5 Adjusts Point field docs and test variables (#382)
* fix: corrects the label order and removes confusion for the values saved on a Point field type

* fix: adjusts code to mirror the doc change, replaces [x, y] with [lng, lat] and add type names to Geolocation

* chore: add nested point field test cases

* fix: index true creates a 2dsphere spatial index on point fields

Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-01-05 17:46:01 -05:00
Dan Ribbens
d4f3bbd91c chore: beta release 2022-01-05 17:34:13 -05:00
James
dd5ed218a5 Merge branch 'master' of github.com:payloadcms/payload 2022-01-05 17:27:43 -05:00
James
d720509849 chore: beta release 2022-01-05 17:27:37 -05:00
Oran Epelbaum
5549926d2c Fixed saving of a cleared number value (#412)
* Fixed saving of a cleared number value

* fix: clearing saved number for a localized field

Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
2022-01-05 17:24:14 -05:00
Oran Epelbaum
50dd65ef92 Added className property to admin, in addition to the existing style property. Also documented both properties. 2022-01-05 21:24:11 +02:00
James
ae44727fb9 fix: ensures multipart/form-data using _payload flattens field data before sending 2022-01-04 09:30:07 -05:00
James
07c3f757e6 chore: beta release 2022-01-03 17:22:37 -05:00
James
65b0ad7f08 feat: builds a way for multipart/form-data reqs to retain non-string values 2022-01-03 16:54:56 -05:00
James
433a52232b chore(release): v0.14.0 2022-01-03 10:14:33 -05:00
James
0ba508a87e fix: ensures versions have proper data 2021-12-31 17:42:42 -05:00
James
e835cbe0b1 fix: autosave 2021-12-31 17:35:31 -05:00
James
ed8abd94e6 feat: merges back in logic for non draft versions and draft versions 2021-12-31 17:35:27 -05:00
James
6bf7d82047 fix: bug with version count 2021-12-31 16:53:51 -05:00
James
01d07bcb9a feat: disables LeaveWithoutSaving if autosave enabled 2021-12-31 16:50:00 -05:00
James
1fb1eaab50 fix: bug in how find merges drafts 2021-12-31 16:47:57 -05:00
James
a7ecadaa52 fix: uses replace instead of push to autocreate a doc 2021-12-31 16:40:03 -05:00
James
c7c34188e1 fix: avoids console 404 on unpublished docs 2021-12-31 16:38:49 -05:00
James
5afabee1f2 separates version vs draft version functionality 2021-12-31 16:25:47 -05:00
James
c62707cd51 feat: working autosave 2021-12-31 14:32:18 -05:00
James
1e093e1eee feat: adds most recently published comparison doc 2021-12-31 14:29:41 -05:00
James
e4ee0f89eb chore: moves DocumentInfo up one level 2021-12-31 14:12:21 -05:00
James
b00517ec20 feat: working drafts 2021-12-31 14:02:16 -05:00
James
a2024b4f64 chore: removes old code 2021-12-31 13:58:08 -05:00
James
0463982b5b feat: styles multiple collection actions 2021-12-31 13:23:04 -05:00
James
4efc2cf71c feat: builds a way for multipart/form-data reqs to retain non-string values 2021-12-31 12:55:01 -05:00
James
cd0e172708 feat: reorders version creation 2021-12-31 12:45:02 -05:00
James
71c49bc5f2 feat: progress to saving drafts manually 2021-12-30 22:01:42 -05:00
James
f1840a5f6c chore: adds draft tests 2021-12-30 21:13:18 -05:00
James
b80d263e7f chore: passing tests 2021-12-30 21:07:03 -05:00
James
8f30c3bfef feat: uses DocumentInfo to fetch and maintain doc versions 2021-12-30 20:24:46 -05:00
James
7220ff7a8a feat: tests & autosave improvements 2021-12-30 16:37:49 -05:00
James
e910d8938f feat: functional autosave 2021-12-30 13:58:06 -05:00
James
be1da8507a feat: progress to drafts 2021-12-30 11:21:53 -05:00
James
13add5885d feat: progress to Autosave 2021-12-29 21:32:16 -05:00
James
aaab8b036c chore: merge 2021-12-29 16:50:30 -05:00
James
fd4319de06 chore: beta release 2021-12-29 16:49:22 -05:00
James
e5d9335596 chore: safely accesses req files 2021-12-29 16:47:37 -05:00
James
d70d33fb27 chore: merge master 2021-12-29 16:45:52 -05:00
James
932116e953 chore: beta release 2021-12-29 16:10:15 -05:00
James
5c3cfa4c93 fix: #408 2021-12-29 16:08:08 -05:00
James
2e6af97506 chore: beta release 2021-12-29 15:51:47 -05:00
James
e2c5d93751 fix: #408 2021-12-29 15:49:47 -05:00
James
2a8f564500 chore: beta release 2021-12-29 15:33:20 -05:00
James
a09570c78d fix: 407 2021-12-29 15:29:12 -05:00
James
546e6e56f1 chore: beta release 2021-12-29 15:29:05 -05:00
James
961787d681 fix: ensures searching relationships works with many pages of results 2021-12-29 15:09:08 -05:00
James
ec6453bb5f chore: beta release 2021-12-29 15:08:53 -05:00
James
9e091af67e fix: ensures row count is set properly in block fields 2021-12-29 11:03:20 -05:00
James
4119eec796 fix: cross-browser upload drag and drop 2021-12-29 10:56:36 -05:00
James
14e5d0977f feat: adds autosave to versions table 2021-12-28 21:41:43 -05:00
James
de48f4417a feat: builds autosave into existing update operation 2021-12-28 21:31:03 -05:00
James
b5fd917dda chore: de-duplicates upload logic 2021-12-28 20:47:58 -05:00
James
4fbddeeb46 feat: removes mongoose required 2021-12-28 19:56:34 -05:00
James
3a71afbd37 feat: renames revisions to versions 2021-12-28 19:41:36 -05:00
James
fdc6aeb47a Merge branch 'master' into feat/revisions 2021-12-28 12:40:09 -05:00
James
c54da719a1 chore: beta release 2021-12-28 12:40:05 -05:00
James
ba79fd42db fix: allows null in ImageSize width and height types 2021-12-28 11:56:10 -05:00
James
ffe8e17ac0 feat: exposes default Dashboard and Nav components for re-import 2021-12-28 11:25:13 -05:00
Elliot DeNolf
da7c0c984c fix: globals model typing 2021-12-26 23:52:05 -05:00
James
b59bb0bbc2 feat: progress to draft types 2021-12-26 17:04:13 -05:00
James
066b593d8f feat: scaffolds drafts / autosave config 2021-12-26 16:48:01 -05:00
James
23f4555ff6 chore: rolls back to displaying json in rich text diff 2021-12-23 11:35:11 -05:00
James
05288ee08c fix: ensures local findByID retains user 2021-12-23 11:29:45 -05:00
James
7bd60b5a3d feat: attempts to render rich text diffs more appropriately 2021-12-23 11:28:06 -05:00
James
0e093bf15e feat: finishes revision restore 2021-12-23 09:31:13 -05:00
James
210488ba4e feat: progress to revision restore 2021-12-22 16:25:19 -05:00
James
189bc21e48 feat: wires up restore 2021-12-22 16:02:15 -05:00
James
30ec146298 chore: typescript version compatibilities and improvements 2021-12-22 15:32:05 -05:00
James
2e946a0aac feat: progress to restore revision 2021-12-22 14:38:38 -05:00
James
8764a11b1d Merge branch 'feat/revisions' of github.com:payloadcms/payload into feat/revisions 2021-12-22 14:37:11 -05:00
Dan Ribbens
5eea398e43 feat: adds restore revisions to collections 2021-12-22 14:24:24 -05:00
James
35f35e6f42 Merge branch 'master' into feat/revisions 2021-12-22 14:21:43 -05:00
James
5eb03b675e chore: beta 2021-12-22 14:21:02 -05:00
James
140a3aa9ea fix: ensures getDataByPath works 2021-12-22 14:18:50 -05:00
James
a47977084f feat: builds remainder of diff field types 2021-12-22 13:26:24 -05:00
James
bddaefdae7 feat: builds group and iterable diffs 2021-12-21 20:18:53 -05:00
James
242584fd49 Merge branch 'master' into feat/revisions 2021-12-21 18:04:11 -05:00
James
35bf092813 chore: beta release 2021-12-21 17:59:39 -05:00
James
17b7ee29ac chore: updates pattern for before / after component injection 2021-12-21 14:45:57 -05:00
James
e337c62ba1 feat: builds custom routes API, Before/After Dashboard and Nav custom components 2021-12-21 12:27:22 -05:00
James
52edb5b77f feat: exports custom text and select inputs 2021-12-20 10:40:17 -05:00
James
01ae76ec29 chore: merge 2021-12-20 10:37:18 -05:00
James
9765fdb0ae chore: beta release 2021-12-14 16:15:14 -05:00
James Mikrut
3e40944e19 Merge pull request #394 from payloadcms/fix/393
fix: #393, ensures preview button gets up to date data
2021-12-14 10:27:58 -05:00
James
97388738de fix: #370, only performs password functions when auth enabled 2021-12-14 10:27:37 -05:00
James
a16b99b0c8 fix: #390, safari rich text link bug 2021-12-14 10:23:28 -05:00
James
2f47e39a9f fix: #393, ensures preview button gets up to date data 2021-12-14 10:10:13 -05:00
James
245e12e8b6 feat: renders diffs 2021-12-13 16:10:25 -05:00
James
f57223024a feat: allows selection of revisions in certain locales to compare 2021-12-13 14:09:13 -05:00
James
740d6b15e5 feat: further revisions views 2021-12-07 14:49:32 -05:00
James
40f93e9d64 feat: scaffold of individual Revision view 2021-12-01 12:51:37 -05:00
James
da5684df27 feat: abstracts revisions components for reuse in globals 2021-12-01 12:21:56 -05:00
James
1920a937b2 feat: builds revisions list view 2021-12-01 10:36:23 -05:00
James
b31f43f838 chore: merge 2021-12-01 05:18:34 -05:00
James
37f5fc3895 chore(release): v0.13.6 2021-11-30 13:34:13 -05:00
James
1d25c7fca7 Merge branch 'feat/form-onchange' of github.com:payloadcms/payload 2021-11-30 13:32:18 -05:00
Jacob Fletcher
925a33e560 fix: requires path in select, text, textarea, and upload components 2021-11-30 13:19:09 -05:00
James
6a33abbec2 chore(release): v0.13.5 2021-11-30 11:00:35 -05:00
Jacob Fletcher
ecabf130fd fix: select component rendered value 2021-11-30 10:50:32 -05:00
James
be2fdd1488 chore(release): v0.13.4 2021-11-30 09:55:44 -05:00
James
e4d03490a3 Merge branch 'feat/form-onchange' of github.com:payloadcms/payload 2021-11-30 09:54:04 -05:00
Jacob Fletcher
80c81ecfc6 Merge branch 'master' of github.com:payloadcms/payload into feat/form-onchange 2021-11-30 09:48:42 -05:00
Jacob Fletcher
f0fd859347 fix: prevents uncontrolled text field component 2021-11-30 09:28:07 -05:00
James
74f7101524 Merge branch 'feat/form-onchange' of github.com:payloadcms/payload 2021-11-30 08:48:14 -05:00
Jacob Fletcher
7e2b259816 fix: select component types 2021-11-29 18:27:14 -05:00
Jacob Fletcher
0b13eda1e5 fix: threads props through textarea component 2021-11-29 18:05:51 -05:00
Jacob Fletcher
c77bf3aa42 fix: passes hasMany through select component 2021-11-29 17:08:46 -05:00
Jacob Fletcher
86480b7482 feat: abstracts textarea component and improves event typing 2021-11-29 17:08:39 -05:00
Jacob Fletcher
f234f68019 feat: abstracts upload component 2021-11-29 17:08:32 -05:00
Jacob Fletcher
fa671378c7 feat: abstracts select component 2021-11-29 17:08:24 -05:00
Jacob Fletcher
615e3695f2 feat: abstracts input from text component 2021-11-29 17:08:09 -05:00
James
2faade7a03 chore(release): v0.13.3 2021-11-29 12:19:44 -05:00
James
89682cf034 chore: new yarn lock 2021-11-29 12:12:09 -05:00
James Mikrut
82c69a17b9 Merge pull request #372 from payloadcms/fix/sharp-m1-prebuilt
fix: upgrade sharp for prebuilt M1 binaries
2021-11-29 11:22:28 -05:00
James
f0f4dc12e5 chore(release): v0.13.2 2021-11-29 08:34:53 -05:00
James
727fbeceb4 fix: #373 2021-11-29 08:33:20 -05:00
James
5127826de0 chore(release): v0.13.1 2021-11-29 08:20:33 -05:00
James
ded891e390 fix: ensures sorting by _id instead of improper id 2021-11-29 08:18:59 -05:00
Elliot DeNolf
34f416aace fix: upgrade sharp for prebuilt M1 binaries 2021-11-28 20:21:46 -05:00
James
a589877698 feat: adds stepnav to revisions template 2021-11-28 17:11:24 -05:00
James
2176ce0cf7 chore: ensures tests pass 2021-11-28 17:03:20 -05:00
James
72537106a3 feat: scaffolds admin revisions 2021-11-28 16:37:21 -05:00
James
974fdd0bfd chore: tests revisions REST API 2021-11-27 12:24:56 -05:00
James
f56bbe814e fix: ensures revision hooks await promises 2021-11-27 12:13:41 -05:00
James
4a445f03e8 feat: scaffolds new revisions operations and rest routes 2021-11-27 12:09:45 -05:00
James
ec82b923f3 feat: creates global revisions 2021-11-27 11:07:34 -05:00
James
3d5be91f6c Merge branch 'master' into feat/revisions 2021-11-27 10:20:15 -05:00
James
bc753951a0 Merge branch 'master' of github.com:payloadcms/payload 2021-11-27 10:20:05 -05:00
James
d6d76d4088 feat: only adds list search query param if value is present 2021-11-27 10:19:50 -05:00
James
2a7459baf2 chore: test fixes 2021-11-27 10:03:50 -05:00
James
b13615f2bf fix: ensures unique is not set within revisions collections 2021-11-27 10:03:44 -05:00
James
c3f743af03 feat: ensures field hooks run on all locales when locale=all 2021-11-27 10:03:24 -05:00
James
f246252a42 fix: ensures revisions retain all locales 2021-11-27 10:03:04 -05:00
James
8df767e9a2 feat: ensures revisions are created and deleted accordingly 2021-11-26 19:54:35 -05:00
James
8ef1cc5373 chore: merge master 2021-11-26 18:00:59 -05:00
James Mikrut
70b58e2826 Update CHANGELOG.md 2021-11-26 17:14:57 -05:00
James
43a25195b7 chore(release): v0.13.0 2021-11-26 17:12:07 -05:00
James
e01173dd51 Merge branch 'master' of github.com:payloadcms/payload 2021-11-26 17:10:20 -05:00
James
77a208fff7 docs: typescript 2021-11-26 17:10:01 -05:00
James Mikrut
cef06e3c79 Merge pull request #367 from payloadcms/feat/form-onchange
Feat/form onchange
2021-11-25 10:39:02 -05:00
James
a0fb48c9a3 fix: #358 - reuploading with existing filenames 2021-11-25 10:34:03 -05:00
James
6b150e01d3 feat: further types field based functions 2021-11-25 09:54:12 -05:00
Elliot DeNolf
820b6ad4c7 feat: more typing of generics, better commenting of properties 2021-11-25 09:41:44 -05:00
Elliot DeNolf
bb18e8250c fix: typing for collection description 2021-11-25 09:41:44 -05:00
Elliot DeNolf
b99eb8ba73 feat: smarter generics 2021-11-25 09:41:44 -05:00
Elliot DeNolf
f258c5904e feat: type payload operation calls with generics 2021-11-25 09:41:44 -05:00
James
a3171c73d0 Merge branch 'master' into feat/revisions 2021-11-24 18:37:45 -05:00
James
57cab22387 chore: optimizes buildQuery legibility 2021-11-24 18:37:24 -05:00
James
7050b5285e fix: ensures non-localized relationships with many relationTos can be queried 2021-11-24 18:01:33 -05:00
James
38ee73ba2e chore: beta release 2021-11-24 17:20:10 -05:00
James
6d31aa8d86 Merge branch 'master' of github.com:payloadcms/payload into feat/revisions 2021-11-24 17:15:58 -05:00
Jarrod Flesch
96421b3d59 fix: ensures uploads can be fetched with CORS 2021-11-24 17:15:25 -05:00
Jacob Fletcher
0245747020 feat: renames useFieldType to useField 2021-11-24 15:37:36 -05:00
Jacob Fletcher
4affdc3a93 feat: supports custom onChange handling in text, select, and upload fields 2021-11-24 15:28:41 -05:00
James
ccbe9f5137 Merge branch 'master' of github.com:payloadcms/payload 2021-11-24 15:21:55 -05:00
James
23f7efe7d1 chore: changelog 2021-11-24 15:21:52 -05:00
Jarrod Flesch
051b7d45be feat: applies upload access control to all auto-generated image sizes 2021-11-24 15:19:21 -05:00
Jacob Fletcher
3540a188a4 Merge branch 'master' of github.com:payloadcms/payload into feat/form-onchange 2021-11-24 14:25:08 -05:00
James
da6e1df293 fix: allows sync or async preview urls 2021-11-24 13:20:13 -05:00
James
01429b6570 Merge branch 'feat/preview-async' of github.com:payloadcms/payload 2021-11-24 13:19:49 -05:00
James
cdd55a1c6b chore: adds tests for querying use cases 2021-11-24 13:18:10 -05:00
Jacob Fletcher
40ca3dae61 feat: migrates admin preview to async 2021-11-24 12:32:44 -05:00
James
07c8ac08e2 feat: indexes filenames 2021-11-24 11:35:07 -05:00
James
5d43262f42 feat: indexes filenames 2021-11-24 11:02:54 -05:00
James
bd373598b5 chore: beta release 2021-11-24 10:45:51 -05:00
James
26aaef8851 feat: merges type generation 2021-11-24 10:35:30 -05:00
James
6fd5ac2c08 feat: azure cosmos compatibility 2021-11-24 10:30:47 -05:00
James
763f32e22f chore: separates revisions from drafts 2021-11-23 17:14:06 -05:00
Elliot DeNolf
21a810c38c feat: add id fields to generated types 2021-11-23 16:43:59 -05:00
James
27fabf79bd Merge branch 'master' of github.com:payloadcms/payload into feat/revisions 2021-11-23 14:32:26 -05:00
James
91fae55d90 chore: updates type generation log message 2021-11-23 10:19:25 -05:00
James
d9e1b5ede3 fix: issue with querying by id and using comma-separated values 2021-11-23 10:18:30 -05:00
James
99a3386dd6 Merge branch 'master' of github.com:payloadcms/payload 2021-11-22 15:45:36 -05:00
James Mikrut
c49c9b0328 Merge pull request #361 from payloadcms/fix/description-type
fix: updates field description type to include react nodes
2021-11-22 12:22:20 -05:00
James Mikrut
d151003eb6 Merge pull request #364 from tejasahluwalia/fix/webp-support-admin-dashboard
fix: Include 'WebP' as image type for admin dashboard thumbnail component
2021-11-22 12:22:02 -05:00
Jacob Fletcher
3436e6173f wip: custom onchange events for text, select, and upload fields 2021-11-22 08:50:48 -05:00
Tejas Ahluwalia
b2fe27dda5 Include 'WebP' as image type
This is called in the useThumbail hook. Adding webp support for thumbnails in the admin Thumbnail component.
2021-11-21 00:05:10 +05:30
James
ed5a5ebe7e feat: finishes typing all fields 2021-11-16 21:15:49 -05:00
James
2ca76ba8ce feat: generates further field types 2021-11-16 21:01:57 -05:00
James
6dd1b0e033 feat: adds field types to type generation 2021-11-16 20:24:13 -05:00
James
5a965d2263 feat: baseline type generation 2021-11-16 18:49:42 -05:00
James
3ab9d9e740 Merge branch 'feature/ts-type-gen' of github.com:payloadcms/payload into feature/ts-type-gen 2021-11-16 18:17:31 -05:00
James
438b6b3e51 Merge branch 'master' of github.com:payloadcms/payload 2021-11-10 17:30:49 -05:00
James
40899c211b chore: beta release 2021-11-10 17:30:31 -05:00
James
b2c5b7e575 feat: ensures update hooks have access to full original docs even in spite of access control 2021-11-10 17:25:59 -05:00
Jacob Fletcher
291c193ad4 fix: updates field description type to include react nodes 2021-11-10 11:23:10 -05:00
Elliot DeNolf
7c6424ff35 chore: resolve conflicts 2021-11-09 20:00:21 -05:00
James Mikrut
a7525e2931 Merge pull request #355 from donstephan/donstephan-patch-1
Typo in docs for select field
2021-11-05 12:27:38 -04:00
Don Stephan
e7b1adf4ed Better english 2021-11-04 20:28:32 -05:00
Don Stephan
f67286be7b Typo in options label for select field 2021-11-04 20:13:17 -05:00
James
e3e41c3621 Merge branch 'feat/relationship-filter' 2021-11-01 23:16:11 -04:00
James
72fc413764 fix: ensures buildQuery works with fields as well as simultaneous or / and 2021-11-01 23:11:54 -04:00
James
463c4e60de feat: adds relationship filter field 2021-11-01 23:11:03 -04:00
James
e06df905c5 chore: beta release 2021-11-01 22:33:31 -04:00
James
8987ce1f69 chore: scaffolds relationship filter 2021-11-01 22:31:32 -04:00
James
7337169342 chore: adds query testing 2021-11-01 22:30:35 -04:00
James
bee18a5e99 chore: adds buildQuery testing 2021-11-01 22:30:16 -04:00
James
abf61d0734 fix: ensures richtext links retain proper formatting 2021-11-01 19:41:22 -04:00
James
20d4e72a95 fix: ensures 'like' query param remains functional in all cases 2021-11-01 19:05:09 -04:00
James
056f078615 chore: release beta 2021-11-01 17:12:08 -04:00
James
94c2b8d80b fix: #351 2021-11-01 17:10:11 -04:00
James
0eceb8d76c chore: improves demo collections for testing 2021-11-01 17:09:02 -04:00
James
37b21b0762 fix: ensures tquerying by relationship subpaths works 2021-11-01 17:07:42 -04:00
James
40b33d9f5e fix: bug with relationship cell when no doc is available 2021-11-01 17:07:05 -04:00
James Mikrut
7303312142 Merge pull request #349 from payloadcms/feat/query-improvements
feat: improves querying logic
2021-11-01 14:34:58 -04:00
James
57c0346a00 fix: ensures relationship field search can return more than 10 options 2021-11-01 14:34:46 -04:00
James
6b14984352 chore: removes non-functional buildQuery code 2021-10-27 13:08:42 -04:00
James
4c85747849 feat: improves querying logic 2021-10-27 00:49:27 -04:00
James
a870cc7036 chore(release): v0.12.3 2021-10-23 11:37:09 -04:00
James
b4c15ed3f3 fix: #348, relationship options appearing twice in admin ui 2021-10-23 11:34:23 -04:00
James
a0b38f6832 fix: ensures tooltips in email fields are positioned properly 2021-10-23 11:33:56 -04:00
James
ac53bac2f4 feat: revision access control config 2021-10-22 10:58:35 -04:00
James
fbbe590ea2 feat: scaffolds revisions tests 2021-10-22 10:58:14 -04:00
James
6ed11a5563 feat: adds base revision fields 2021-10-22 10:57:56 -04:00
James
d3f88a1bd9 fix: mobile styling to not found page 2021-10-22 10:23:06 -04:00
James
06861261fe feat: builds revisions models 2021-10-22 09:47:34 -04:00
James
83f41df82f chore(release): v0.12.2 2021-10-21 19:36:31 -04:00
James
5b36bd7b43 chore: dependencies 2021-10-21 19:35:22 -04:00
James
d443ea582c fix: improves paste html formatting 2021-10-21 19:33:50 -04:00
James
881952e1cc chore(release): v0.12.1 2021-10-21 18:40:01 -04:00
James
9d7feb9796 fix: rich text copy and paste now saves formatting properly 2021-10-21 18:38:34 -04:00
James
bc6c892e0a chore(release): v0.12.0 2021-10-21 13:22:21 -04:00
James
48315b0e67 Merge branch 'master' of github.com:payloadcms/payload 2021-10-21 13:20:37 -04:00
James
c35009f14c fix: bug where field hooks and access control couuld potentially compete 2021-10-21 13:20:23 -04:00
James Mikrut
935a483eaa Update overview.mdx 2021-10-21 09:27:42 -04:00
James
badbdca351 chore: changelog 2021-10-21 09:19:57 -04:00
James
c02e8f14c7 feat: exposes withCondition for re-use 2021-10-21 09:16:49 -04:00
James Mikrut
92cb30e921 Merge pull request #344 from payloadcms/feat/ui-field
feat: builds UI field
2021-10-20 19:33:03 -04:00
James
edb723a4fb feat: builds UI field 2021-10-20 16:56:07 -04:00
James Mikrut
dbac0724ad Update CHANGELOG.md 2021-10-20 09:27:58 -04:00
James
328585edbd chore(release): v0.11.0 2021-10-20 09:26:26 -04:00
James
914cca6b92 fix: #343 - upload rte element crashes admin when no upload collection present 2021-10-20 09:24:23 -04:00
James
e3b05f9076 chore: changelog, beta release 2021-10-19 10:35:38 -04:00
James
86e88d998f fix: #338, array / block fields with only nested array block fields break admin UI 2021-10-19 10:31:59 -04:00
James Mikrut
6d50afd864 Merge pull request #342 from payloadcms/feat/upload-url-field
feat: adds dynamic url field to upload-enabled collections
2021-10-19 10:30:38 -04:00
James
4527dda08c chore: ensures adminThumbnail uses new url field 2021-10-18 21:21:24 -04:00
James
cc4d1fd045 feat: adds dynamic url field to upload-enabled collections 2021-10-18 21:15:32 -04:00
James
3b99deda45 fix: #341 - searching on multiple relationship collections 2021-10-18 19:25:08 -04:00
James
900f05eefd feat: adds safety checks while querying on id with bad values 2021-10-18 19:23:24 -04:00
James
716c05f5d8 Merge branch 'master' of github.com:payloadcms/payload 2021-10-18 13:48:13 -04:00
James
b22c8963cb docs: accuracy 2021-10-18 13:48:02 -04:00
James
eb05b47c54 chore: changelog 2021-10-18 13:12:26 -04:00
James
ca91f47d32 feat: allows richText enter key break out functionality to be extended in custom elements 2021-10-18 13:08:57 -04:00
James Mikrut
5040ee629f Update README.md 2021-10-14 14:27:29 -04:00
Dan Ribbens
5be09ffc78 Merge branch 'master' of github.com:payloadcms/payload 2021-10-13 17:03:38 -04:00
Dan Ribbens
4c87123514 docs: fix typo 2021-10-13 17:03:21 -04:00
James
f57f81a3cb chore: publish beta 2021-10-13 16:19:38 -04:00
James
423ca01ab1 feat: improves richtext link 2021-10-13 16:14:00 -04:00
James
9eedce7345 Merge branch 'master' of github.com:payloadcms/payload 2021-10-13 09:19:48 -04:00
James
a2df67eccd fix: removes node 15 from CI 2021-10-13 09:19:39 -04:00
James Mikrut
3908c012f9 Update CHANGELOG.md 2021-10-12 21:36:10 -04:00
James
ecda271258 chore: rolls back ts / eslint updates 2021-10-12 21:35:07 -04:00
James
84f6a9d659 fix: more strict field typing 2021-10-12 21:18:12 -04:00
James
7d49302ffa fix: properly types row field 2021-10-12 19:42:37 -04:00
James
f3455aafe9 chore: changelog 2021-10-12 19:36:19 -04:00
James
fcd9c28871 fix: per page now properly modifies search query 2021-10-12 19:31:01 -04:00
James
a6fc1fdc58 feat: saves active list filters in URL, implements per-page control 2021-10-12 19:25:43 -04:00
James
630fa68714 Merge branch 'master' of github.com:payloadcms/payload 2021-10-12 11:08:37 -04:00
James
ef4f284fb0 Merge branch 'feature/per-page' of github.com:payloadcms/payload 2021-10-12 11:08:32 -04:00
James Mikrut
5a63f11ed7 Merge pull request #339 from payloadcms/fix/build-failure-code
fix: use proper error code on webpack build failure
2021-10-12 10:56:20 -04:00
Elliot DeNolf
6807637e25 wip(per-page): thread the needle, not working 2021-10-11 17:42:02 -04:00
Elliot DeNolf
d88ce2d342 feat(per-page): set and load from preferences 2021-10-11 17:09:44 -04:00
Dan Ribbens
b257e01c8d fix: make name required on field types (#337)
* fix: make name required on field types

* fix: improve typescript types
2021-10-11 15:52:18 -04:00
Elliot DeNolf
c132f2ff10 feat(per-page): add pagination to admin config 2021-10-11 11:34:25 -04:00
James
d0259ceecd chore(release): v0.10.11 2021-10-07 20:29:06 -04:00
James
fd4fbe8c8b fix: bug with local API and not passing array / block data 2021-10-07 20:25:42 -04:00
James
4432031341 chore(release): v0.10.10 2021-10-07 11:30:23 -04:00
Jarrod Flesch
932628bc14 Merge branch 'master' of github.com:payloadcms/payload 2021-10-07 10:58:39 -04:00
Jarrod Flesch
27117292f3 fix: deepObjectCopy returns Date object instead of empty object 2021-10-07 10:58:33 -04:00
Elliot DeNolf
3715e011c9 feat(admin): initial per page component 2021-10-06 21:39:12 -04:00
Elliot DeNolf
2eb81546c3 fix: use proper error code on webpack build failure 2021-10-06 10:30:56 -04:00
James
bbdeebd1d4 chore(release): v0.10.9 2021-10-05 18:13:04 -04:00
Jarrod Flesch
5056e18734 Merge branch 'master' of github.com:payloadcms/payload 2021-10-05 18:05:53 -04:00
Jarrod Flesch
e3229c55f3 fix: ensures field read access within login operation has id 2021-10-05 18:05:48 -04:00
James
78c3ab6c44 chore(release): v0.10.8 2021-10-04 18:07:57 -04:00
Jarrod Flesch
ffab6c46c1 fix: ensures update field access control receives id 2021-10-04 18:05:55 -04:00
James
8d6372ee4b chore(release): v0.10.7 2021-10-04 11:26:58 -04:00
James
ad2b47e725 docs: clarity 2021-10-04 11:25:12 -04:00
James
bba1f1ff62 Merge branch 'feat/index-sortable-fields' of github.com:payloadcms/payload 2021-10-04 11:22:13 -04:00
James
0a5a6071f0 chore: renames StrictPolicies to StrictAccess 2021-10-04 11:21:40 -04:00
James
1c69441f17 chore: adds tests for relationship population 2021-10-04 11:19:03 -04:00
James
a20110974d fix: ensures non populated relationships still retain IDs 2021-10-04 11:07:47 -04:00
Jarrod Flesch
d5d774877e Merge branch 'master' of github.com:payloadcms/payload into fix/relationship-access-missing-id 2021-10-01 17:08:37 -04:00
Jarrod Flesch
470d4345f9 fix: ensures relationship field access control receives id 2021-10-01 17:07:26 -04:00
Dan Ribbens
ad097820bf feat: add indexSortableField option to create indexes for sortable fields on all collections 2021-09-30 16:05:47 -04:00
James
fda9356749 chore(release): v0.10.6 2021-09-30 12:41:01 -04:00
James
60ff7afee0 Merge branch 'master' of github.com:payloadcms/payload 2021-09-30 12:36:06 -04:00
James
f42205307e fix: relationship + new slate incompatibility 2021-09-30 12:36:01 -04:00
Dan Ribbens
d498e37083 Merge pull request #330 from payloadcms/fix/debug-config-option
fix: allow debug in payload config
2021-09-28 15:54:25 -04:00
James Mikrut
f06808ac80 Update CHANGELOG.md 2021-09-28 14:38:04 -04:00
James
08b8f3b40a chore(release): v0.10.5 2021-09-28 14:36:58 -04:00
James
2e64fcf92e docs: rich text upload element 2021-09-28 14:32:34 -04:00
James
b4334b2339 chore: merge 2021-09-28 14:25:40 -04:00
James
15970550f7 fix: ensures that fields within non-required groups are correctly not required 2021-09-28 14:22:59 -04:00
James
08db431c0c feat: updates slate, finishes rte upload 2021-09-28 13:52:28 -04:00
Dan Ribbens
e0020bfc16 Merge pull request #329 from payloadcms/fix/localized-indexes
fix: index creation on localized field parent
2021-09-27 14:49:21 -04:00
Dan Ribbens
23e81971eb fix: index creation on localized field parent 2021-09-27 14:40:01 -04:00
Dan Ribbens
004ac8dd8f Merge pull request #328 from payloadcms/fix/query-estimate-count
fix: pagination estimatedCount limited to near query
2021-09-27 14:33:35 -04:00
Dan Ribbens
73bd69870c fix: pagination estimatedCount limited to near query 2021-09-27 13:12:00 -04:00
James
6f3edf9fbb feat: adds UploadGallery to rich text upload 2021-09-27 11:25:26 -04:00
James
85c6c303d5 feat: progress to rich text upload 2021-09-24 12:39:56 -04:00
James
aa769500c9 feat: adds rich text editor upload element 2021-09-23 20:42:44 -04:00
Dan Ribbens
65bf13d7c1 fix: allow debug in payload config 2021-09-23 14:56:21 -04:00
James Mikrut
dece5e68f3 Update CHANGELOG.md 2021-09-22 17:08:55 -04:00
James
9247d2986a chore(release): v0.10.4 2021-09-22 16:41:15 -04:00
James
8661115283 fix: allows image resizing if either width or height is larger 2021-09-22 16:38:30 -04:00
James
df36a6e7e6 chore: revision to overwriteExistingFields 2021-09-22 13:23:25 -04:00
James
dbbff4cfa4 feat: allows local update api to replace existing files with newly uploaded ones 2021-09-22 12:05:09 -04:00
James
3c65f63fef chore: changelog 2021-09-20 21:29:27 -04:00
James
c9cbd1cfd5 chore: bumps sass and node-sass 2021-09-20 21:15:49 -04:00
James
8a890fdc15 feat: adjusts empty group population to be virtual only 2021-09-15 18:06:09 -04:00
James
42ca800c88 Merge branch 'master' of github.com:payloadcms/payload 2021-09-15 17:48:50 -04:00
James
39a8e2c20f feat: defaults empty group fields to empty object 2021-09-15 17:48:35 -04:00
James
e39ece4823 feat: defaults empty group fields to empty object 2021-09-15 16:47:43 -04:00
James
8aa9347a84 Merge branch 'master' of github.com:payloadcms/payload 2021-09-15 16:39:53 -04:00
James
901ad498b4 feat: performance improvement while saving large docs 2021-09-15 16:39:43 -04:00
Dan Ribbens
c676631661 Merge pull request #315 from payloadcms/docs/fix-collection-hook-links
docs: fix links in collection hooks
2021-09-15 14:34:45 -04:00
Dan Ribbens
0171550528 test: check array and group items have id 2021-09-15 14:30:52 -04:00
James
7fc8f6dd3c docs: corrects refresh-token rest route 2021-09-15 13:46:55 -04:00
James
02e7fe3f1f fix: properly types optional req in local findByID 2021-09-15 13:46:08 -04:00
James
2b8f925e81 fix: array objects now properly save IDs 2021-09-15 13:45:49 -04:00
James
7e8df100bb feat: exposes Pill component for re-use 2021-09-13 12:56:03 -04:00
Dan Ribbens
d12bb5043a docs: fix links in collection hooks 2021-09-13 12:17:25 -04:00
James
03c0435e3b fix: date field error message position 2021-09-12 19:47:33 -04:00
Elliot DeNolf
fc844270d9 chore: update beta release script 2021-09-12 14:44:59 -04:00
Dan Ribbens
048103ccf2 chore(release): v0.10.0 2021-09-09 16:03:23 -04:00
Dan Ribbens
0334e9bc21 Merge pull request #313 from payloadcms/feat/custom-id
Feat/custom-id
2021-09-09 15:56:59 -04:00
Dan Ribbens
c7558d8652 fix: sanitize custom id number types 2021-09-09 15:46:04 -04:00
Dan Ribbens
4a0bb7bf74 Merge branch 'feat/custom-id' of github.com:payloadcms/payload into feat/custom-id 2021-09-09 11:56:10 -04:00
Dan Ribbens
fe1dc0b191 feat: add config validation for collections with custom id 2021-09-09 11:55:40 -04:00
Dan Ribbens
d0aaf4a412 feat: add config validation for collections with custom id 2021-09-09 11:24:50 -04:00
Jean-Baptiste
4b70a1225f feat: replace the collection idType option with an explicit id field 2021-09-09 11:24:47 -04:00
Jean-Baptiste
29529b2c56 fix: improve id type semantic and restrict possible types to text and number 2021-09-09 11:21:55 -04:00
Dan Ribbens
bc2a6e1575 feat: graphql support for custom id types 2021-09-09 11:20:06 -04:00
Dan Ribbens
114dc1b3fb fix: sort id columns 2021-09-09 11:20:06 -04:00
Dan Ribbens
dc96b90cba fix: admin UI collection id is required 2021-09-09 11:20:06 -04:00
Jean-Baptiste
af5f931340 update docs with id option 2021-09-09 11:20:06 -04:00
Jean-Baptiste
b3e41ae76d update assessment for consistence 2021-09-09 11:20:06 -04:00
Jean-Baptiste
3cc921acc9 feat: support custom ids 2021-09-09 11:20:02 -04:00
James Mikrut
3ffa480399 Merge pull request #308 from payloadcms/feat/field-type-point
Feat/field type point
2021-08-31 13:32:18 -04:00
James
64ad6a30a5 feat: frontend polish to point field 2021-08-31 13:29:17 -04:00
James
c878400876 Merge branch 'fix/hooks-transform-call-order' into feat/field-type-point 2021-08-31 13:24:58 -04:00
James
39f3619d03 Merge branch 'feat/field-type-point' of github.com:payloadcms/payload into feat/field-type-point 2021-08-31 13:11:32 -04:00
James Mikrut
fdd25ddb1a Merge pull request #311 from payloadcms/fix/option-value-empty-string
fix: config validation correctly prevents empty strings for option vals
2021-08-31 13:07:25 -04:00
James
8675481343 feat: allows user to pass req through local findByID 2021-08-31 13:01:26 -04:00
Dan Ribbens
41e7febf6a fix: config validation correctly prevents empty strings for option values 2021-08-31 11:43:07 -04:00
James
96629f1f01 fix: ensures hooks run before access 2021-08-30 17:10:06 -04:00
Dan Ribbens
d42d8f76ef fix: remove media directory to improve test run consistency 2021-08-25 17:41:24 -04:00
Dan Ribbens
34630757b9 docs: point field and near query 2021-08-25 16:55:47 -04:00
James
c187da00b1 fix: ensures proper order while transforming incoming and outgoing data 2021-08-25 15:38:46 -04:00
James
1d8b0e9724 Merge branch 'fix/hooks-transform-call-order' of github.com:payloadcms/payload into fix/hooks-transform-call-order 2021-08-25 14:29:39 -04:00
Dan Ribbens
f80646c598 fix: allow save of collection with an undefined point 2021-08-25 13:28:42 -04:00
Dan Ribbens
30f17509ea feat: point field localization and graphql 2021-08-24 17:28:08 -04:00
Dan Ribbens
7504155e17 feat: add point field type 2021-08-23 23:12:50 -04:00
James
468408ff41 chore(release): v0.9.5 2021-08-23 18:18:23 -04:00
James Mikrut
05eb3194cf Merge pull request #302 from payloadcms/fix/267-absolute-upload-staticDir-windows
fix: windows compatible absolute paths for staticDir
2021-08-23 18:13:50 -04:00
James
b0dc125604 fix: obscure conditional logic bug 2021-08-23 18:13:19 -04:00
Dan Ribbens
b21316b6cc fix: windows compatible absolute paths for staticDir 2021-08-18 14:30:58 -04:00
James
cb422bb4c6 docs: accuracy improvements 2021-08-12 23:05:21 -04:00
James
20a1ed7da8 chore(release): v0.9.4 2021-08-06 12:56:02 -04:00
James
8534eeea85 docs: typo 2021-08-06 12:53:45 -04:00
James
1d4f604270 chore(release): v0.9.3 2021-08-06 12:41:05 -04:00
James
a5ea0ff619 fix: args no longer optional in collection and global hooks 2021-08-06 12:38:31 -04:00
James
3cf01964de chore(release): v0.9.2 2021-08-06 12:26:18 -04:00
James Mikrut
2243070ac7 Merge pull request #272 from payloadcms/feat/disable-local-file-storage
feat: allow completely disabling local file storage
2021-08-06 12:23:37 -04:00
James
9661c6d40a feat: allow completely disabling local file storage 2021-08-06 12:18:20 -04:00
James
3ed8b010e9 Merge branch 'master' of github.com:payloadcms/payload 2021-08-06 11:38:28 -04:00
James
f61643ac32 chore: revises types in demo 2021-08-06 11:38:20 -04:00
James
d0982bf332 chore: adds test for req.payloadUploadSizes 2021-08-06 11:36:51 -04:00
James
4a44d20d90 chore: merges 2021-08-06 11:14:02 -04:00
James Mikrut
69ba06f5fc Merge pull request #250 from payloadcms/fix/row-admin-type
fix: row admin type
2021-08-06 11:12:27 -04:00
James Mikrut
c51ffedb6f Merge pull request #271 from payloadcms/feat/upload-resize-allow-null
feat: allows upload resizing to maintain aspect ratio
2021-08-06 11:12:11 -04:00
James
8a022e3c55 docs: adds detail about maintaining aspect ratio 2021-08-06 11:11:51 -04:00
James
dea54a4ccc feat: allows upload resizing to maintain aspect ratio 2021-08-06 11:08:48 -04:00
James
9c8935fd51 feat: exposes auto-sized uploads on payload req 2021-08-06 10:40:40 -04:00
James
907f8fd94d feat: reduces group heading from h2 to h3 2021-08-04 14:23:23 -04:00
James
bb7e069b2b chore(release): v0.9.1 2021-08-02 22:03:18 -04:00
James
65db8d9fc2 fix: relationship field access control in admin UI 2021-08-02 21:59:10 -04:00
James
4cc0ea1d81 fix: groups with failing conditions being incorrectly required on backend 2021-08-02 21:58:44 -04:00
James
01a191a139 feat: exposes collection after read hook type 2021-08-02 21:57:50 -04:00
James Mikrut
4b51e9d9a1 Update overview.mdx 2021-08-02 17:17:56 -04:00
James Mikrut
02c7ef11be Update CHANGELOG.md 2021-08-02 17:17:02 -04:00
James
387bfea008 chore(release): v0.9.0 2021-08-02 16:45:40 -04:00
James
8af39472e1 feat: removes sanitization of configs before plugins are instantiated 2021-08-02 16:38:52 -04:00
Elliot DeNolf
a105a486e8 chore(release): v0.8.2 2021-08-02 09:40:45 -04:00
James
33983deb37 fix: more advanced conditional logic edge cases 2021-08-02 09:19:25 -04:00
Elliot DeNolf
12cba62930 feat: export error types 2021-08-02 09:15:11 -04:00
James Mikrut
be69b5892a Update CHANGELOG.md 2021-07-29 07:49:03 -04:00
James Mikrut
cb6fbd7160 Update CHANGELOG.md 2021-07-29 07:48:38 -04:00
James
e6575600cb chore(release): v0.8.1 2021-07-29 07:17:30 -04:00
James
a002b7105f feat: improves plugin writability 2021-07-29 07:15:47 -04:00
Dan Ribbens
deef5202c1 fix: row admin type 2021-07-28 14:37:27 -04:00
James
dbc4115644 chore: updates changelog with breaking change 2021-07-27 20:40:40 -04:00
James
d672e704bf chore(release): v0.8.0 2021-07-27 20:33:42 -04:00
James Mikrut
dc1ecdfc53 Merge pull request #246 from payloadcms/feat/expose-validated-config-types
Feat/expose validated config types
2021-07-27 20:32:08 -04:00
James
aa81e04861 docs: typescript configs 2021-07-27 20:21:51 -04:00
James
5a7e5b921d feat: revises naming conventions of config types 2021-07-27 20:13:25 -04:00
James
c649362b95 fix: ensures text component is always controlled 2021-07-27 18:29:46 -04:00
James
f6fc0972e0 chore(release): v0.7.10 2021-07-27 17:57:59 -04:00
James
a1b3414dd0 chore: ensures tests can run locally on mac 2021-07-27 17:55:57 -04:00
James
a2fa30fad2 fix: jest debug testing 2021-07-27 17:55:14 -04:00
James Mikrut
2e42a34bc4 Merge pull request #244 from payloadcms/fix/conditional-field-children
feat: improves conditional logic performance and edge cases
2021-07-27 14:41:22 -04:00
James
9c4ff004a8 chore: merges master 2021-07-27 13:28:27 -04:00
Dan Ribbens
8f90caeb10 chore(release): v0.7.9 2021-07-27 13:15:35 -04:00
Dan Ribbens
6bd16a5cc7 chore: update package dependencies 2021-07-27 13:10:49 -04:00
Dan Ribbens
1344f3da3f Merge pull request #241 from payloadcms/feature/field-description
feat: field descriptions
2021-07-27 13:02:23 -04:00
Dan Ribbens
fe0098ccd9 feat: add component support to collection and global description 2021-07-27 12:53:43 -04:00
Dan Ribbens
e0933f612a feat: add component support to field description 2021-07-27 12:53:43 -04:00
Dan Ribbens
29a1108518 feat: add descriptions to every allowed field type, globals and collections 2021-07-27 12:53:43 -04:00
Dan Ribbens
4544711f0e feat: add admin description to collections and globals 2021-07-27 12:53:43 -04:00
Dan Ribbens
dac60a024b feat: add customizable admin field descriptions 2021-07-27 12:53:43 -04:00
Dan Ribbens
2ff0434656 Merge pull request #227 from payloadcms/chore/update-mongodb-memory-server
chore: bump mongodb-memory-server
2021-07-27 12:53:00 -04:00
Dan Ribbens
19880cfeb8 Merge pull request #237 from payloadcms/feature/config-validation-collection-field-naming
feat: config validation collection field naming
2021-07-27 12:51:37 -04:00
Dan Ribbens
bb63b4aad1 feat: add global slug and field names to schema validation errors 2021-07-26 23:21:19 -04:00
Dan Ribbens
ebfb72c8fa feat: add collection slug to schema validation errors 2021-07-26 23:21:19 -04:00
James
fedeaeafc9 fix: skipValidation logic 2021-07-26 22:45:31 -04:00
James
d43390f2a4 feat: improves conditional logic performance and edge cases 2021-07-26 22:25:11 -04:00
James
ea358a66e8 feat: improves group styling when there is no label 2021-07-26 14:33:26 -04:00
James
4d1249dd03 fix: missing richtext gutter 2021-07-26 14:33:03 -04:00
James
998122b071 chore(release): v0.7.8 2021-07-23 12:09:45 -04:00
James
cbac8887dd feat: fixes group label schema validation 2021-07-23 12:08:27 -04:00
James
bd0b1df560 chore(release): v0.7.7 2021-07-23 10:00:28 -04:00
James
266ccb3744 feat: only attempts to find config when payload is initialized 2021-07-23 09:56:29 -04:00
James
d418599038 Merge branch 'master' of github.com:payloadcms/payload 2021-07-23 09:50:07 -04:00
James
603a11c4d5 docs: renames plugins overview 2021-07-23 09:50:03 -04:00
James Mikrut
51419feb46 Merge pull request #232 from payloadcms/docs/fix-broken-links
docs: fix collections admin link
2021-07-22 09:11:41 -04:00
James Mikrut
f3cd3ae826 Merge pull request #238 from payloadcms/fix/#59
docs: accurately documents the props for the datepicker field
2021-07-22 09:11:26 -04:00
Jarrod Flesch
dcd8052498 fix: accurately documents the props for the datepicker field 2021-07-21 18:09:14 -04:00
Dan Ribbens
7e52de7daf docs: fix collections admin link 2021-07-15 15:04:47 -04:00
Dan Ribbens
d2e3cba22a chore: bump mongodb-memory-server to 7.2.0 and fix test runner 2021-07-10 17:02:11 -04:00
James
fe54837e73 chore: bumps mongodb-memory-server to dev dependencies 2021-07-06 20:53:58 -04:00
James
a7ea32acd6 chore(release): v0.7.6 2021-07-06 20:48:56 -04:00
James
f04ac74ecb chore: bumps mongodb-memory-server to dev dependency 2021-07-06 20:46:46 -04:00
James
b5642492f6 chore: updates mongodb-memory-server 2021-07-06 20:35:48 -04:00
James
3c7b93ba43 chore(release): v0.7.5 2021-07-06 20:23:01 -04:00
James Mikrut
f95b851c9b Merge pull request #221 from payloadcms/feat/richtext-list-optimizations
Feat/richtext list optimizations
2021-07-06 20:19:20 -04:00
James Mikrut
7b43c997bd Merge pull request #222 from payloadcms/docs/plugins
feat: adds plugins infrastructure
2021-07-06 20:19:02 -04:00
James
6b255315e0 feat: adds plugins infrastructure 2021-07-06 20:17:12 -04:00
James
91141ad62f feat: enables backspace to deactivate richtext list elements 2021-07-06 18:51:09 -04:00
James
538851325d fix: crash on bullet list de-selection 2021-07-06 18:28:22 -04:00
James
007591272f fix: updates demo richtext elements with proper SCSS 2021-07-06 15:15:08 -04:00
James
6a12ffc5fd docs: readability 2021-07-01 17:15:30 -04:00
James
fa4d043e74 Merge branch 'docs/spelling' of github.com:payloadcms/payload 2021-07-01 17:05:12 -04:00
James
08b4c25c70 Merge branch 'docs/relationship-field-variations' of github.com:payloadcms/payload 2021-07-01 17:04:57 -04:00
James
4d3d18132b chore(release): v0.7.4 2021-07-01 16:18:12 -04:00
James
84e31aed14 fix: adds proper scss stylesheets to payload/scss 2021-07-01 16:16:22 -04:00
Jessica Boezwinkle
55344a3644 docs: spelling error in rich text doc 2021-07-01 16:05:34 -04:00
Dan Ribbens
acfcd20bfa docs: relationship field where query examples 2021-07-01 15:54:05 -04:00
Dan Ribbens
b5d272fdbe docs: update relationship field with example variations 2021-07-01 14:50:11 -04:00
James
99d9e193ce chore(release): v0.7.3 2021-07-01 14:48:02 -04:00
James
4359178f7a docs: scss reusability 2021-07-01 14:45:31 -04:00
James
929b21d68b merge: field and scss exports 2021-07-01 14:43:56 -04:00
James
c81c638958 Merge branch 'fix/style-vars-imports' of github.com:payloadcms/payload 2021-07-01 14:39:51 -04:00
Dan Ribbens
5bea9ae126 feat: export all field prop types for custom components 2021-06-30 16:55:45 -04:00
Dan Ribbens
ea80fd68b1 fix: changes scss imports to allow vars imports to payload projects 2021-06-29 09:43:18 -04:00
James
e99359ef0d chore(release): v0.7.2 2021-06-22 17:17:17 -04:00
James Mikrut
19a224cdac Merge pull request #208 from payloadcms/feat/maxdepth-field-property
feat: adds maxDepth to relationships and upload fields
2021-06-22 17:14:38 -04:00
James
d6bc6f9f0e fix: safely stringifies ObjectIDs while populating relationships 2021-06-22 17:12:16 -04:00
James
59e66c4c91 Merge branch 'master' of github.com:payloadcms/payload 2021-06-22 16:36:38 -04:00
James
4933b34f6b fix: parses incoming numbers through query string for use in where clauses 2021-06-22 15:15:15 -04:00
Dan Ribbens
470866ae37 chore: adds test case for relation field maxDepth 2021-06-22 14:29:02 -04:00
Dan Ribbens
95c165018e fix: respect maxDepth 0 2021-06-22 14:14:00 -04:00
Dan Ribbens
880dabdcad feat: adds maxDepth to relationships and upload fields 2021-06-22 13:28:27 -04:00
Dan Ribbens
c2e6aae545 chore(release): v0.7.1 2021-06-21 13:55:40 -04:00
Dan Ribbens
3af2554eac fix: babel config file error 2021-06-21 13:52:38 -04:00
Dan Ribbens
045479b5ec chore(release): v0.7.0 2021-06-21 13:34:55 -04:00
James Mikrut
67c1e280eb feat: exposes babel config via payload/babel (#203)
* feat: exposes babel config via payload/config

* docs: adds info about re-using babel.config.js
2021-06-21 12:59:17 -04:00
Dan Ribbens
fb60bc79a1 feat: user preferences (#195)
* feat: adds preferences to rest api and graphql

* feat: admin panel saves user preferences on locales

* feat: admin panel saves user column preferences for collection lists

* feat: adds new id field to blocks and array items

* feat: exposes new DocumentInfo context and usePreferences hooks to admin panel

* docs: preferences api documentation and useage details

Co-authored-by: James <james@trbl.design>
2021-06-21 12:49:10 -04:00
Elliot DeNolf
dd40ab07fa fix: handle all scenarios in select cell 2021-06-08 09:17:28 -04:00
James Mikrut
530eb8bc70 Merge pull request #184 from payloadcms/chore/package-json-repository
* chore: add repository to package.json
* chore: add homepage to package.json
2021-05-24 08:56:17 -04:00
James
9ada08fafc chore(release): v0.6.10 2021-05-23 11:59:52 -04:00
James
b187c9ea65 chore: ensures backward node compatibility 2021-05-23 11:55:13 -04:00
James
c6ccc3477f chore: migrates sass features 2021-05-23 10:57:45 -04:00
Dan Ribbens
ee080f0d8b chore: add homepage to package.json 2021-05-19 13:45:13 -04:00
Dan Ribbens
db59da5950 chore: add repository to package.json 2021-05-19 13:34:40 -04:00
James Mikrut
39d23d65e5 Update CHANGELOG.md 2021-05-16 13:09:23 -04:00
James
deec08b566 chore(release): v0.6.9 2021-05-16 13:07:03 -04:00
James Mikrut
a2e57b09f2 fix: misc responsive improvements, date clipping in sidebar (#165), express-fileupload schema validation (#180)
* fix: misc responsive improvements
* fix: date clipping in sidebar
* fix: revises popup
* fix: admin _verified field not displaying proper field value
* fix: properly typed express-fileupload config options
2021-05-16 13:04:29 -04:00
Elliot DeNolf
fe7e2d54d2 chore(release): v0.6.8 2021-05-11 22:56:13 -04:00
Dan Ribbens
14106a36ad chore: bump node-sass (#175)
Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
2021-05-11 22:50:20 -04:00
Elliot DeNolf
a5fcdf03ba feat: add mimeTypes validation for uploads 2021-05-11 22:21:03 -04:00
Elliot DeNolf
1c6f32f288 feat: restrict upload mime types in file picker 2021-05-11 22:21:03 -04:00
PatrikKozak
46c1a36fdb feat: disables user scalable in mobile (#177) 2021-05-10 14:53:19 -04:00
James
f9319bd055 chore: better organizes preview types 2021-05-10 09:45:43 -04:00
James
98c3315462 chore: updates demo to reflect preview changes 2021-05-10 09:25:46 -04:00
James
2d67448d8a feat: exposes locale within preview function 2021-05-10 09:24:00 -04:00
James
1612bc8d3a chore(release): v0.6.7 2021-05-06 20:50:01 -04:00
James
c8f1bd19e2 docs: adds * locale to docs 2021-05-06 19:58:06 -04:00
James Mikrut
99466fa41e feat: exposes component types 2021-05-06 19:57:06 -04:00
James
9aebeaf579 feat: allows group field gutter to be disabled 2021-05-04 18:48:51 -04:00
Ontopic
e791c5b7b3 feat: add ability to hide gutter for RichText fields
* Adding ability to hide gutter on RichText field

* Adding documentation for hideGutter

Co-authored-by: anon <no-reply@google.com>
2021-05-04 18:37:26 -04:00
Elliot DeNolf
e565fa6f1c feat: shrink image thumbnails on larger screens 2021-04-29 18:30:11 -04:00
Elliot DeNolf
670ccf2f58 feat: support global date format 2021-04-29 18:29:56 -04:00
Elliot DeNolf
cae24db0e1 chore(release): v0.6.6 2021-04-27 10:18:31 -04:00
Elliot DeNolf
8cfc039cd0 fix: support image resizing on M1 chip 2021-04-27 10:11:16 -04:00
Elliot DeNolf
382089b484 fix: handle rich text saving as empty string 2021-04-27 10:00:21 -04:00
Dan Ribbens
6f188b1fa6 fix: graphql returns compatible error format 2021-04-27 09:51:52 -04:00
Dan Ribbens
6caa696c37 chore: add graphql tests for error handling 2021-04-27 09:51:52 -04:00
Jarrod Flesch
2643e1a100 fix: removes incoming.data.length check, since data is typed as a keyed array when it is an instance of APIError 2021-04-27 09:51:52 -04:00
Dan Ribbens
a85bf9e836 fix: update operation can save password changes 2021-04-27 09:49:43 -04:00
Ontopic
f9906e1cdc docs: fix afterChange example 2021-04-27 09:49:15 -04:00
Elliot DeNolf
49ed6279c9 chore: add release-it rc script 2021-04-23 08:25:40 -04:00
James
5f8cad8389 chore(release): v0.6.5 2021-04-22 08:38:28 -04:00
James Mikrut
f17c6e4010 feat: builds plugin infrastructure (#149) 2021-04-22 08:36:54 -04:00
James
7b7071955e chore(release): v0.6.4 2021-04-21 12:23:36 -04:00
James
74430ea151 fix: allows _verificationToken to come back via showHiddenFields 2021-04-21 12:22:09 -04:00
James
d23f7f980d chore(release): v0.6.3 2021-04-21 11:36:19 -04:00
James
0eddbb0ea8 Merge branch 'master' of github.com:payloadcms/payload 2021-04-21 11:34:51 -04:00
James
9c95c75030 fix: safely parses incoming stringified richtext json 2021-04-21 09:52:10 -04:00
Elliot DeNolf
519c021525 fix: make admin field properties in joi schema match TS types 2021-04-20 10:13:20 -04:00
Elliot DeNolf
fa49811377 fix: properly label arrays/blocks with plural and singular 2021-04-20 09:07:58 -04:00
James
f25e9aca61 chore(release): v0.6.2 2021-04-19 19:51:52 -04:00
James
ddf25fbb65 feat: modifies relationship field to react to changing relationTo 2021-04-19 19:49:49 -04:00
James
21dc861461 chore(release): v0.6.1 2021-04-19 19:10:04 -04:00
James
280f809421 fix: graphql localized relationship bugs 2021-04-19 18:48:52 -04:00
James
035f6c63bb Merge branch 'master' of github.com:payloadcms/payload 2021-04-19 10:40:40 -04:00
James
16ca22b4cc fix: moves enableRichTextRelationship to proper spot 2021-04-19 10:40:31 -04:00
James
5f2073ae68 fix: cleans up duplicative columns 2021-04-19 10:23:20 -04:00
James
99704707dd feat: sets enableRichTextRelationship to true by default 2021-04-19 10:23:07 -04:00
James Mikrut
3678cecb69 Update CHANGELOG.md 2021-04-18 21:37:01 -04:00
James
5a52d4d4bb chore: updates changelog 2021-04-18 21:29:07 -04:00
James
7c2955ba70 chore(release): v0.6.0 2021-04-18 21:26:18 -04:00
James
4359a70a8b fix: ensures api keys are properly populated in admin 2021-04-18 20:58:33 -04:00
James
75a5b04705 fix: ensures first options are loaded only once 2021-04-18 20:40:24 -04:00
James
4b1979540d fix: clears richtext element on enter, refocuses on toolbar button click 2021-04-18 16:04:37 -04:00
James
20d7a01919 feat: improves margins in rich text 2021-04-18 15:47:53 -04:00
James
7db23f8ebb fix: upload useAsTitle set to filename by default 2021-04-18 15:43:35 -04:00
James Mikrut
353042467f feat: dynamically populates richtext relationships
* feat: adds relationship field to test searchable input

* fix: searching on relationship fields properly fetches results

* chore: more dry relationship field

* feat: sets default access control to requiring a user to be logged in

* feat: dynamically populates richtext relationships

* feat: allows depth param in graphql richText field

* feat: ensures relationship input is initialized with up to 3 related collections
2021-04-18 15:29:54 -04:00
James Mikrut
b86c3daa99 fix: searching on relationship fields properly fetches results
* feat: adds relationship field to test searchable input

* fix: searching on relationship fields properly fetches results

* chore: more dry relationship field
2021-04-18 15:27:34 -04:00
Elliot DeNolf
b383eb65c6 feat: autolabel fields when label is omitted (#42)
* feat: autolabel fields when omitted

* feat: handle autolabel in graphql mutation build

* feat: autolabel blocks

* test: add required slug field to blocks

* feat: handle graphql names when label is false

* feat: adds relationship field to test searchable input

* feat: handle block cell type labeling pluralization

* docs: remove all explicit labeling, no longer needed

* fix: falsey column labels, allows false array labels

* fix: client tests

* fix: auto-labels globals

* docs: globals auto-labeling and hooks clarification

* fix; proper object type naming

Co-authored-by: James <james@trbl.design>
2021-04-16 22:37:08 -04:00
Elliot DeNolf
21b2bd4b67 feat: improve uniqueness error handling 2021-04-16 18:37:50 -04:00
Elliot DeNolf
4ee4fae53b docs: remove incorrect code tags 2021-04-16 18:37:20 -04:00
James
2459c12f84 chore(release): v0.5.10 2021-04-14 13:44:08 -04:00
James Mikrut
e3f249b0de Merge pull request #137 from payloadcms/fix/graphql-me
fix: feeds collectionSlug through me auth for graphql
2021-04-14 13:42:24 -04:00
Jacob Fletcher
9ee2f9c0dc fix: feeds collectionSlug through me auth for graphql resolver 2021-04-14 12:41:40 -04:00
James
204b755201 chore(release): v0.5.9 2021-04-13 20:03:39 -04:00
James
27df7a4afc chore: bump config provider 2021-04-13 20:02:29 -04:00
James
fc5e5645f2 chore(release): v0.5.8 2021-04-13 14:56:38 -04:00
James
20f1e6cb04 fix: revises graphql import syntax 2021-04-13 14:55:06 -04:00
James
f2e3c1b1a8 chore(release): v0.5.7 2021-04-13 13:14:05 -04:00
James
224f175c7f chore: manually bumps version 2021-04-13 13:11:59 -04:00
Elliot DeNolf
776b9c9c30 feat: remove mimetype from upload cell type 2021-04-13 13:09:36 -04:00
Elliot DeNolf
414bc01b05 fix: make upload cell mimetype inline 2021-04-13 13:09:36 -04:00
James
a78fc974b8 fix: custom query / mutation types 2021-04-13 13:03:57 -04:00
James
5f56994b02 Merge branch 'master' of github.com:payloadcms/payload 2021-04-13 12:28:15 -04:00
James
282775c69a Merge branch 'feat/remember-conditional-values' of github.com:payloadcms/payload 2021-04-13 12:26:31 -04:00
James
523fd7b050 Merge branch 'fix/array-labeling' of github.com:payloadcms/payload 2021-04-13 12:25:57 -04:00
James Mikrut
c02c5a3f84 Merge pull request #135 from payloadcms/feat/auto-verify-first-register
feat: auto verifies first user registration
2021-04-13 12:24:33 -04:00
James
c977a7b4c5 chore: bumps type dependencies 2021-04-13 12:23:45 -04:00
James
0094837635 feat: prevents DraggableSections from re-mounting on doc save 2021-04-13 12:15:37 -04:00
Jacob Fletcher
e58b152d40 fix: clears verificationToken when _verified is true 2021-04-13 12:10:10 -04:00
Jacob Fletcher
01b0bf1bb3 chore: removes useUnmountEffect hook 2021-04-13 12:10:10 -04:00
Jacob Fletcher
8f720c000d feat: auto verifies first user registration 2021-04-13 12:10:01 -04:00
Jacob Fletcher
4d5db0520c Merge branch 'master' of github.com:payloadcms/payload into fix/config-joi-schema 2021-04-13 09:42:10 -04:00
Jacob Fletcher
afc9454465 fix: updates config schema for graphQL mutations and queries 2021-04-13 09:41:33 -04:00
Elliot DeNolf
cd02b1cef4 Merge pull request #132 from sampittko/patch-1
docs: fix typo in field types overview
2021-04-10 14:42:16 -04:00
Samuel Pitoňák
1008eada65 docs: fix typo in field types overview 2021-04-10 16:46:31 +02:00
Elliot DeNolf
ddf5df290c fix: handle add/remove labels for all usage of Array field type 2021-04-09 10:34:08 -04:00
Elliot DeNolf
000dee85bd fix: pagination calculation for current range 2021-04-06 23:32:13 -04:00
James
91d37fb41d feat: optimize save within Edit 2021-04-02 13:28:40 -04:00
James
31c41c22ec fix: ensures email is still prefilled in auth configs 2021-04-02 12:59:15 -04:00
James
dff72fbf2f fix: ensures failed conditions send path to form 2021-04-02 11:53:03 -04:00
James
988d0a4b08 feat: remembers conditional field values after removing / readding 2021-04-02 11:15:28 -04:00
1021 changed files with 44716 additions and 21355 deletions

View File

@@ -21,6 +21,27 @@ module.exports = {
},
},
overrides: [
{
files: ['test/**/int.spec.ts'],
rules: {
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/consistent-type-imports': 'warn',
'jest/prefer-strict-equal': 'off',
}
},
{
files: ['test/**/e2e.spec.ts'],
extends: [
'plugin:playwright/playwright-test'
],
rules: {
'jest/consistent-test-it': 'off',
'jest/require-top-level-describe': 'off',
'jest/no-test-callback': 'off',
'jest/prefer-strict-equal': 'off',
'jest/expect-expect': 'off',
}
},
{
files: ['*.ts', '*.tsx'],
parser: '@typescript-eslint/parser',
@@ -28,8 +49,8 @@ module.exports = {
'plugin:@typescript-eslint/recommended',
],
rules: {
"no-shadow": "off",
"@typescript-eslint/no-shadow": ["error"],
'no-shadow': 'off',
'@typescript-eslint/no-shadow': ['error'],
'import/no-unresolved': [
2,
{
@@ -38,17 +59,35 @@ module.exports = {
],
},
],
}
},
},
{
files: ['*.spec.ts'],
rules: {
'@typescript-eslint/no-use-before-define': 'off',
},
},
{
files: ['*.e2e.ts'],
rules: {
'@typescript-eslint/no-use-before-define': 'off',
'jest/expect-expect': 'off',
},
},
],
rules: {
"import/no-extraneous-dependencies": ["error", { "packageDir": "./" }],
'import/no-extraneous-dependencies': ['error', { packageDir: './' }],
'react/jsx-filename-extension': [2, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
'import/prefer-default-export': 'off',
'react/prop-types': 'off',
'react/require-default-props': 'off',
'react/no-unused-prop-types': 'off',
'no-console': 'warn',
'no-sparse-arrays': 'off',
'no-underscore-dangle': 'off',
'no-use-before-define': 'off',
'arrow-body-style': 0,
'@typescript-eslint/no-use-before-define': 'off',
'import/extensions': [
'error',
'ignorePackages',

View File

@@ -1,5 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security Vulnerability
url: https://github.com/payloadcms/payload/blob/master/SECURITY.md
about: See instructions to privately disclose any security concerns
- name: Feature Request
url: https://github.com/payloadcms/payload/discussions
about: Suggest an idea to improve Payload in our GitHub Discussions

View File

@@ -3,11 +3,11 @@ name: build
on: [push]
jobs:
build:
build_yarn:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 14.x, 15.x]
node-version: [14.x, 16.x, 18.x]
steps:
- uses: actions/checkout@v2
@@ -31,7 +31,49 @@ jobs:
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: yarn build
- run: yarn test:client
- run: yarn test:int # In-memory db + api tests
- name: Component Tests
run: yarn test:components
- name: Integration Tests
run: yarn test:int
- name: Generate Payload Types
run: yarn dev:generate-types fields
# - name: Install Playwright Browsers
# run: npx playwright install --with-deps
# - name: E2E Tests
# run: yarn test:e2e
# - uses: actions/upload-artifact@v2
# if: always()
# with:
# name: playwright-report
# path: playwright-report/
# retention-days: 30
install_npm:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
scope: '@payloadcms'
always-auth: true
- name: Cache node modules
uses: actions/cache@v1
with:
path: ~/.npm
key: ${{ runner.os }}-node-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-npm-${{ env.cache-name }}-
${{ runner.os }}-npm-
${{ runner.os }}-
- run: npm install --legacy-peer-deps
env:
CI: true
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

13
.gitignore vendored
View File

@@ -86,6 +86,15 @@ typings/
# Yarn Integrity file
.yarn-integrity
# Yarn Berry
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
.pnp.*
# dotenv environment variables file
.env
@@ -228,3 +237,7 @@ build
# Ignore built components
components/index.js
components/styles.css
# Ignore generated
demo/generated-types.ts
demo/generated-schema.graphql

25
.release-it.beta.json Normal file
View File

@@ -0,0 +1,25 @@
{
"preReleaseId": "beta",
"git": {
"requireCleanWorkingDir": false,
"commit": false,
"push": false,
"tag": false
},
"github": {
"release": false
},
"npm": {
"skipChecks": true,
"tag": "beta"
},
"hooks": {
"before:init": ["yarn", "yarn clean", "yarn test"]
},
"plugins": {
"@release-it/conventional-changelog": {
"preset": "angular",
"infile": "CHANGELOG.md"
}
}
}

33
.vscode/launch.json vendored
View File

@@ -18,6 +18,7 @@
},
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/babel-node",
"port": 9229,
"skipFiles": [
"<node_internals>/**"
@@ -28,42 +29,18 @@
"request": "launch",
"name": "Launch Program",
"env": {
"PAYLOAD_CONFIG_PATH": "demo/payload.config.ts",
"BABEL_ENV": "development"
},
"program": "${workspaceFolder}/demo/index.js",
"program": "${workspaceFolder}/test/dev.js",
"skipFiles": [
"<node_internals>/**"
],
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/babel-node",
"runtimeArgs": [
"--nolazy"
],
"args": [
"fields"
]
},
{
"type": "node",
"request": "launch",
"name": "Launch Program - Production",
"env": {
"PAYLOAD_CONFIG_PATH": "demo/payload.config.ts",
"NODE_ENV": "production",
"BABEL_ENV": "development"
},
"program": "${workspaceFolder}/demo/index.js",
"skipFiles": [
"<node_internals>/**"
],
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/babel-node",
"runtimeArgs": [
"--nolazy"
],
},
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against Localhost",
"url": "http://localhost:3000/admin",
"webRoot": "${workspaceFolder}"
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,19 @@
<h1 align="center">Payload</h1>
<p align="center">A self-hosted, JavaScript headless CMS & application framework built with Express, MongoDB and React.</p>
<p align="center">A free and open-source TypeScript headless CMS & application framework built with Express, MongoDB and React.</p>
<p align="center">
<a href="https://github.com/payloadcms/payload/actions">
<img src="https://github.com/payloadcms/payload/workflows/build/badge.svg">
<img src="https://github.com/payloadcms/payload/workflows/build/badge.svg" />
</a>
<a href="https://www.npmjs.com/package/payload">
<img alt="npm" src="https://img.shields.io/npm/v/payload">
<img alt="npm" src="https://img.shields.io/npm/v/payload" />
</a>
<a href="https://twitter.com/intent/tweet?text=Payload%20-%20A%20self-hosted%2C%20headless%20JavaScript%20CMS%20%26%20application%20framework&url=https%3A%2F%2Fgithub.com%2Fpayloadcms%2Fpayload">
<img alt="Tweet Payload" src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social">
<img alt="Tweet Payload" src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social" />
</a>
<a href="https://discord.com/invite/r6sCXqVk3v">
<img alt="Discord" src="https://img.shields.io/discord/967097582721572934?label=Discord" />
</a>
</p>
@@ -17,25 +21,15 @@
<img src="https://payloadcms.com/images/og-image.jpg" alt="Payload headless CMS Admin panel built with React" />
</a>
### Quick Start
```
npx create-payload-app
```
Alternatively, it only takes about five minutes to [create an app from scratch](https://payloadcms.com/docs/getting-started/installation#from-scratch).
### Documentation
Check out the [Payload website](https://payloadcms.com/docs/getting-started/what-is-payload) to find in-depth documentation for everything that Payload offers.
### Features
- Completely free and open-source
- [GraphQL](https://payloadcms.com/docs/graphql/overview), [REST](https://payloadcms.com/docs/rest-api/overview), and [Local](https://payloadcms.com/docs/local-api/overview) APIs
- [Easily customizable ReactJS Admin](https://payloadcms.com/docs/admin/overview)
- [Fully self-hosted](https://payloadcms.com/docs/production/deployment)
- [Extensible Authentication](https://payloadcms.com/docs/authentication/overview)
- [Local file storage & upload](https://payloadcms.com/docs/upload/overview)
- [Version History and Drafts](https://payloadcms.com/docs/versions/overview)
- [Field-based Localization](https://payloadcms.com/docs/configuration/localization)
- [Block-based Layout Builder](https://payloadcms.com/docs/fields/blocks)
- [Extensible SlateJS rich text editor](https://payloadcms.com/docs/fields/rich-text)
@@ -49,18 +43,14 @@ Check out the [Payload website](https://payloadcms.com/docs/getting-started/what
### Code-first
If you know JavaScript, you know Payload. Payload is a _code-first_ CMS, which allows us to do a lot of things right:
Payload is a CMS that has been designed for developers from the ground up to deliver them what they need to build great digital products. If you know JavaScript, you know Payload. It's a _code-first_ CMS, which allows us to do a lot of things right:
- Payload gives you everything you need, but then steps back and lets you build what you want in JavaScript or TypeScript - with no unnecessary complexity brought by GUIs. You'll understand how your CMS works, because you will have written it exactly how you want it.
- Bring your own Express server and do whatever you need on top of Payload. Payload doesn't impose anything on you or your app.
- Completely control the Admin panel by using your own React components. Swap out fields or even entire views with ease.
- Use your data however and wherever you need thanks to auto-generated, yet fully extensible REST, GraphQL and Local Node APIs.
### Free forever for personal use and small projects
Payload is 100% free for personal projects or small use cases where only one admin user is required. You can also get started without an account whatsoever while running on `localhost`.
## Installation
### Quick Start
Before beginning to work with Payload, make sure you have all of the [required software](https://payloadcms.com/docs/getting-started/installation).
@@ -70,8 +60,18 @@ From there, the easiest way to get started with Payload is to use the `create-pa
npx create-payload-app
```
Alternatively, it only takes about five minutes to [write out your own app from scratch](https://payloadcms.com/docs/getting-started/installation#from-scratch).
Alternatively, it only takes about five minutes to [create an app from scratch](https://payloadcms.com/docs/getting-started/installation#from-scratch).
## License
### Documentation
Find the Payload license [here](https://github.com/payloadcms/payload/blob/master/license.md).
Check out the [Payload website](https://payloadcms.com/docs/getting-started/what-is-payload) to find in-depth documentation for everything that Payload offers.
### Other Resources
##### Discussions
There are lots of good conversations and resources in our [GitHub Discussions board](https://github.com/payloadcms/payload/discussions). If you're struggling with something, chances are, someone's already solved what you're up against. Searching Discussions will often provide very helpful tips and tricks.
##### Discord
Join [Payload's Discord channel](https://discord.com/invite/r6sCXqVk3v) to interact with Payload developers in realtime.

5
SECURITY.md Normal file
View File

@@ -0,0 +1,5 @@
# Security Policy
## Reporting a Vulnerability
Please report any security issues or concerns to [info@payloadcms.com](mailto:info@payloadcms.com).

3
babel.js Normal file
View File

@@ -0,0 +1,3 @@
const babelConfig = require('./dist/babel.config');
exports.config = babelConfig;

5
components/elements.ts Normal file
View File

@@ -0,0 +1,5 @@
export { default as Button } from '../dist/admin/components/elements/Button';
export { default as Card } from '../dist/admin/components/elements/Card';
export { default as Eyebrow } from '../dist/admin/components/elements/Eyebrow';
export { default as Nav } from '../dist/admin/components/elements/Nav';
export { default as Gutter } from '../dist/admin/components/elements/Gutter';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props, RenderArrayProps } from '../../dist/admin/components/forms/field-types/Array/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props, RenderBlockProps } from '../../dist/admin/components/forms/field-types/Blocks/types';

View File

@@ -0,0 +1 @@
export { Props } from '../../dist/admin/components/views/collections/List/Cell/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Checkbox/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Code/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/DateTime/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Email/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Group/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Number/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Password/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../../dist/admin/components/forms/field-types/RadioGroup/RadioInput/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../../dist/admin/components/forms/field-types/RadioGroup/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props, Option, ValueWithRelation } from '../../dist/admin/components/forms/field-types/Relationship/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/RichText/types';

2
components/fields/Row.ts Normal file
View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Row/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props, Option } from '../../dist/admin/components/forms/field-types/Select/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Text/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Textarea/types';

View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/forms/field-types/Upload/types';

View File

@@ -6,14 +6,23 @@ export {
useFormModified,
} from '../dist/admin/components/forms/Form/context';
export { default as useFieldType } from '../dist/admin/components/forms/useFieldType';
export { default as useField } from '../dist/admin/components/forms/useField';
export { default as useFieldType } from '../dist/admin/components/forms/useField';
export { default as Form } from '../dist/admin/components/forms/Form';
export { default as Text } from '../dist/admin/components/forms/field-types/Text';
export { default as TextInput } from '../dist/admin/components/forms/field-types/Text/Input';
export { default as Group } from '../dist/admin/components/forms/field-types/Group';
export { default as Select } from '../dist/admin/components/forms/field-types/Select';
export { default as SelectInput } from '../dist/admin/components/forms/field-types/Select/Input';
export { default as Checkbox } from '../dist/admin/components/forms/field-types/Checkbox';
export { default as Submit } from '../dist/admin/components/forms/Submit';
export { default as Label } from '../dist/admin/components/forms/Label';
export { default as reduceFieldsToValues } from '../dist/admin/components/forms/Form/reduceFieldsToValues';
export { default as withCondition } from '../dist/admin/components/forms/withCondition';

1
components/hooks.ts Normal file
View File

@@ -0,0 +1 @@
export { useStepNav } from '../dist/admin/components/elements/StepNav';

2
components/icons.ts Normal file
View File

@@ -0,0 +1,2 @@
export { default as Chevron } from '../src/admin/components/icons/Chevron';
export { default as X } from '../src/admin/components/icons/X';

1
components/index.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
export * from '../dist/admin/components';

View File

@@ -0,0 +1 @@
export { usePreferences } from '../dist/admin/components/utilities/Preferences';

2
components/templates.ts Normal file
View File

@@ -0,0 +1,2 @@
export { default as DefaultTemplate } from '../dist/admin/components/templates/Default';
export { default as MinimalTemplate } from '../dist/admin/components/templates/Minimal';

5
components/utilities.ts Normal file
View File

@@ -0,0 +1,5 @@
export { default as Meta } from '../dist/admin/components/utilities/Meta';
export { useLocale } from '../dist/admin/components/utilities/Locale';
export { useDocumentInfo } from '../dist/admin/components/utilities/DocumentInfo';
export { useConfig } from '../dist/admin/components/utilities/Config';
export { useAuth } from '../dist/admin/components/utilities/Auth';

View File

@@ -1,2 +0,0 @@
export { default as Edit } from '../dist/admin/components/views/collections/Edit/Default';
export { default as List } from '../dist/admin/components/views/collections/List/Default';

3
components/views/Cell.ts Normal file
View File

@@ -0,0 +1,3 @@
export { default as Cell } from '../../dist/admin/components/views/collections/List/Cell';
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/views/collections/List/Cell/types';

View File

@@ -0,0 +1,3 @@
export { default as Dashboard } from '../../dist/admin/components/views/Dashboard/Default';
export type { Props } from '../../dist/admin/components/views/Dashboard/types';

3
components/views/Edit.ts Normal file
View File

@@ -0,0 +1,3 @@
export { default as Edit } from '../../dist/admin/components/views/collections/Edit/Default';
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/views/collections/Edit/types';

3
components/views/List.ts Normal file
View File

@@ -0,0 +1,3 @@
export { default as List } from '../../dist/admin/components/views/collections/List/Default';
// eslint-disable-next-line import/named
export { Props } from '../../dist/admin/components/views/collections/Edit/types';

View File

@@ -2,10 +2,6 @@
Below you'll find a set of guidelines for how to contribute to Payload CMS.
## Payload is proprietary software
Even though you can read Payload's source code, it's technically not "open source". Payload requires an active license to be used in all production purposes. That said, we do not expect PRs from the public, but we still welcome pull requests of any kind.
## Opening issues
Before you submit an issue, please check all existing [open and closed issues](https://github.com/payloadcms/payload/issues) to see if your issue has previously been resolved or is already known. If there is already an issue logged, feel free to upvote it by adding a :thumbsup: [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). If you would like to submit a new issue, please fill out our Issue Template to the best of your ability so we can accurately understand your report.
@@ -22,7 +18,7 @@ Payload documentation can be found directly within its codebase and you can feel
## Building additional features
If you're an incredibly awesome person and want to help us make Payload even better through new features or additions, we would be thrilled to work with you. If your proposed feature is accepted by our team and is significant enough, pending our discretion, we'd be happy to hook you up with a pro-bono license.
If you're an incredibly awesome person and want to help us make Payload even better through new features or additions, we would be thrilled to work with you.
To help us work on new features, you can reach out to our Development team at [`dev@payloadcms.com`](mailto:dev@payloadcms.com). Be as complete and descriptive as possible regarding your vision and we'll go from there!
@@ -30,4 +26,3 @@ To help us work on new features, you can reach out to our Development team at [`
For all Pull Requests, you should be extremely descriptive about both your problem and proposed solution. If there are any affected open or closed issues, please leave the issue number in your PR message.
By opening a Pull Request against Payload's codebase, you automatically give the entirety of the contribution within your PR to Payload CMS, LLC and retain no personal ownership whatsoever afterward. For more information, please read the full [Payload license](https://github.com/payloadcms/payload/blob/master/license.md).

View File

@@ -1,17 +0,0 @@
/**
* authorize a request by comparing the current user with one or more roles
* @param allRoles
* @param user
* @returns {Function}
*/
const checkRole = (allRoles, user) => {
if (user) {
if (allRoles.some((role) => user.roles && user.roles.some((individualRole) => individualRole === role))) {
return true;
}
}
return false;
};
export default checkRole;

View File

@@ -1,7 +0,0 @@
export default [
'admin',
'editor',
'moderator',
'user',
'viewer',
];

View File

@@ -1,26 +0,0 @@
import { Block } from '../../src/fields/config/types';
const CTA: Block = {
slug: 'cta',
labels: {
singular: 'Call to Action',
plural: 'Calls to Action',
},
fields: [
{
name: 'label',
label: 'Label',
type: 'text',
maxLength: 100,
required: true,
},
{
name: 'url',
label: 'URL',
type: 'text',
required: true,
},
],
};
export default CTA;

View File

@@ -1,19 +0,0 @@
import { Block } from '../../src/fields/config/types';
const Email: Block = {
slug: 'email',
labels: {
singular: 'Email',
plural: 'Emails',
},
fields: [
{
name: 'testEmail',
label: 'Test Email Field',
type: 'email',
required: true,
},
],
};
export default Email;

View File

@@ -1,20 +0,0 @@
import { Block } from '../../src/fields/config/types';
const NumberBlock: Block = {
slug: 'number',
labels: {
singular: 'Number',
plural: 'Numbers',
},
fields: [
{
name: 'testNumber',
label: 'Test Number Field',
type: 'number',
max: 100,
required: true,
},
],
};
export default NumberBlock;

View File

@@ -1,34 +0,0 @@
import { Block } from '../../src/fields/config/types';
const Quote: Block = {
imageURL: '/static/assets/images/generic-block-image.svg',
slug: 'quote',
labels: {
singular: 'Quote',
plural: 'Quotes',
},
fields: [
{
name: 'author',
label: 'Author',
type: 'relationship',
relationTo: 'public-users',
required: true,
},
{
name: 'quote',
label: 'Quote',
type: 'textarea',
required: true,
},
{
name: 'color',
label: 'Color',
type: 'text',
maxLength: 7,
required: true,
},
],
};
export default Quote;

View File

@@ -1,33 +0,0 @@
@import '../../../../../../../scss/vars.scss';
.button-rich-text-button {
.btn {
margin-right: base(1);
}
&__modal {
display: flex;
align-items: center;
height: 100%;
&.payload__modal-item--enterDone {
@include blur-bg;
}
}
&__header {
width: 100%;
margin-bottom: $baseline;
display: flex;
justify-content: space-between;
h3 {
margin: 0;
}
svg {
width: base(1.5);
height: base(1.5);
}
}
}

View File

@@ -1,124 +0,0 @@
import React, { Fragment, useCallback } from 'react';
import { Modal, useModal } from '@faceless-ui/modal';
import { Transforms } from 'slate';
import { useSlate, ReactEditor } from 'slate-react';
import MinimalTemplate from '../../../../../../../src/admin/components/templates/Minimal';
import { ElementButton } from '../../../../../../../components/rich-text';
import X from '../../../../../../../src/admin/components/icons/X';
import Button from '../../../../../../../src/admin/components/elements/Button';
import { Form, Text, Checkbox, Select, Submit, reduceFieldsToValues } from '../../../../../../../components/forms';
import './index.scss';
const baseClass = 'button-rich-text-button';
const initialFormData = {
style: 'primary',
};
const insertButton = (editor, { href, label, style, newTab = false }: any) => {
const text = { text: ' ' };
const button = {
type: 'button',
href,
style,
newTab,
label,
children: [
text,
],
};
const nodes = [button, { children: [{ text: '' }] }];
if (editor.blurSelection) {
Transforms.select(editor, editor.blurSelection);
}
Transforms.insertNodes(editor, nodes);
const currentPath = editor.selection.anchor.path[0];
const newSelection = { anchor: { path: [currentPath + 1, 0], offset: 0 }, focus: { path: [currentPath + 1, 0], offset: 0 } };
Transforms.select(editor, newSelection);
ReactEditor.focus(editor);
};
const ToolbarButton: React.FC<{path: string}> = ({ path }) => {
const { open, closeAll } = useModal();
const editor = useSlate();
const handleAddButton = useCallback((fields) => {
const data = reduceFieldsToValues(fields);
insertButton(editor, data);
closeAll();
}, [editor, closeAll]);
const modalSlug = `${path}-add-button`;
return (
<Fragment>
<ElementButton
className={baseClass}
format="button"
onClick={() => open(modalSlug)}
>
Button
</ElementButton>
<Modal
slug={modalSlug}
className={`${baseClass}__modal`}
>
<MinimalTemplate>
<header className={`${baseClass}__header`}>
<h3>Add button</h3>
<Button
buttonStyle="none"
onClick={closeAll}
>
<X />
</Button>
</header>
<Form
onSubmit={handleAddButton}
initialData={initialFormData}
>
<Text
label="Label"
name="label"
required
/>
<Text
label="URL"
name="href"
required
/>
<Select
label="Style"
name="style"
options={[
{
label: 'Primary',
value: 'primary',
},
{
label: 'Secondary',
value: 'secondary',
},
]}
/>
<Checkbox
label="Open in new tab"
name="newTab"
/>
<Submit>
Add button
</Submit>
</Form>
</MinimalTemplate>
</Modal>
</Fragment>
);
};
export default ToolbarButton;

View File

@@ -1,19 +0,0 @@
@import '../../../../../../../scss/vars.scss';
.rich-text-button {
margin: $baseline 0;
}
.rich-text-button__button {
padding: base(.5) base(1.5);
border-radius: $style-radius-s;
&--primary {
background-color: $color-dark-gray;
color: white;
}
&--secondary {
background-color: $color-light-gray;
}
}

View File

@@ -1,44 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
import './index.scss';
const baseClass = 'rich-text-button';
const ButtonElement: React.FC = ({ attributes, children, element }) => {
const { style = 'primary', label } = element;
return (
<div
className={baseClass}
contentEditable={false}
>
<span
{...attributes}
className={[
`${baseClass}__button`,
`${baseClass}__button--${style}`,
].join(' ')}
>
{label}
{children}
</span>
</div>
);
};
ButtonElement.defaultProps = {
attributes: {},
children: null,
};
ButtonElement.propTypes = {
attributes: PropTypes.shape({}),
children: PropTypes.node,
element: PropTypes.shape({
style: PropTypes.oneOf(['primary', 'secondary']),
label: PropTypes.string,
}).isRequired,
};
export default ButtonElement;

View File

@@ -1,12 +0,0 @@
import { Editor } from 'slate';
const withButton = (incomingEditor: Editor): Editor => {
const editor = incomingEditor;
const { isVoid } = editor;
editor.isVoid = (element) => (element.type === 'button' ? true : isVoid(element));
return editor;
};
export default withButton;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import { LeafButton } from '../../../../../../../components/rich-text';
const Button = () => (
<LeafButton format="purple-background">
Purple Background
</LeafButton>
);
export default Button;

View File

@@ -1,23 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
const PurpleBackground: React.FC<any> = ({ attributes, children }) => (
<span
{...attributes}
style={{ backgroundColor: 'purple' }}
>
{children}
</span>
);
PurpleBackground.defaultProps = {
attributes: {},
children: null,
};
PurpleBackground.propTypes = {
attributes: PropTypes.shape({}),
children: PropTypes.node,
};
export default PurpleBackground;

View File

@@ -1,8 +0,0 @@
import Button from './Button';
import Leaf from './Leaf';
export default {
name: 'purple-background',
Button,
Leaf,
};

View File

@@ -1,14 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div id="app"></div>
<div id="portal"></div>
</body>
</html>

View File

@@ -1,9 +0,0 @@
<svg width="82" height="53" viewBox="0 0 82 53" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="0.713013" width="80.574" height="52.7791" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0" transform="scale(0.00387597 0.00591716)"/>
</pattern>
<image id="image0" width="258" height="169" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAACpCAYAAADA4zPJAAALpklEQVR4Ae2dSY/UOhSF+///DCSGHQuEgAVI7BBITAI2zCCGZuhmpqEBP53W8yOvK1UdO3Zyr/NFilJdXalyTo4/X984zlZgQQEUWLwCW4tXAAFQAAUCIMAEKIACgAAPoAAKBECACVAABQABHkABFAiAABOgAAoAAjyAAiggBbhqgA9QAAUAAR5AARQgIsADKIACdA3wAAqggBQgR4APUAAFAAEeQAEUICLAAyiAAnQN8AAKoIAUIEeAD1AABQABHkABFCAiwAMogAJ0DfAACqCAFCBHgA9QAAUAAR5AARQgIsADKIACdA3wAAqggBQgR4APUAAFAAEeQAEUICLAAyiAAnQN8AAKoIAUIEeAD1AABQABHkABFCAiwAMogAJ0DfAACqCAFCBHgA9QAAUAAR5AARQgIsADKIACdA3wAAqggBQgR4APUAAFAAEeQAEUICLAAyiAAnQN8AAKoIAUIEeAD1AABQABHkABFCAiwAMLVmB/fz98+/YtfPr0KXz48CHs7u6GnZ2dg+3Hjx/D169fw48fP8KfP3+aV4muQfOnmAPsKqDKr4r/9u3bsL29PXgVKPb29pqFAiDouoTXzSrw8+fPg5Y+pfL3ffbdu3fh+/fvzekECJo7pRxQVwGF9YoA+ir1mPfUhVB00coCCFo5kxzHigKqqGrBx1T4Tfu+efOmmegAEKzYhzdaUEBdAVXUTRW51P+UVPS+AALvZ5DyryigSGAqCESYeIcBIFixEW94VuDXr1/JVwRiZR671VUFrwsg8HrmKPeKAkoMKok3tkLn7q8oRCDyuAACj2eNMvcqoMFBuZW41H4alORxAQQezxplXlHg9+/fk+cF1sHDYxcBEKxYijc8KvDly5fZo4EIhvfv37uTEBC4O2UU+LACyg2kDhmOlbbWVpcvPS2AwNPZoqy9CigUr1Whc79Xoxk9LYDA09mirL0K1BhCnAuAuJ8iFE8LIPB0tihrrwI1hxHHip2z9XQpERD0Wos3vSig/EBOJZ1iH09XDwCBF8dTzl4FNJx4ikqd8xu6kuFlAQRezhTl7FVAMwjlVNIp9vn8+XNvmS2+aR4E6md56mtZPMktl8niFYMIGU9XDkyDQCdZ47e1eupvtVzxrB0bEUGZM2ISBEoAafLISNa4FWH1PxYUiApo4E70h7UtOYJ4ljK2OrGbLgfpfy1NEZUhEbt0FNA9BtYAEMvjaW5DMxGBWnpN7hBFPGrrfSKIjpd5OVIBa8OLo3c9DTM2AQJRXbdvRgGHbrWP9mVZtgKaanyoZ6b6nPJanrqxs4MgJgRzTxCJxGVDQEevEDzXP7X2E5w8LbOBQLQsOUZ8TCLx9evX4fHjx+HRo0esTjW4efNmKL3eu3cvyBs5sPB2lWsWENSaZlr3gacmEi9fvhyOHTvGiga9Hjh79mwyDJSz8NQtUOQyOQhSEoI5JNY+mrJqyPLy5cvekw8YAGPXA7du3UqKCob6b4hHp/rMZCDITQjmwmBIIvH+/fuAgEjgSA9cuXJlMAh0edtbNCDYTAICjf6a4xKPflO/vW4BBLT83ZZ/3esUEHi6ZNitF1VBIDLqxovcVr3UfipDH6UBASBYV/m77w8FgaeRhF0I6HU1EChpp+Rdqco89nv6EomAABB0K/y610NAoCHxfY3N4Qpn9e8qILAwv3wfODTmoJvIef78+ZH9w3Xm4P3lQOTGjRsbGzSNGfAMgeIRgRKCFkd5HYaCyqiyaj1//jwwIGG41gOnT58Ourp02EPx7zHjVyxFB8UigrkSgvGEpG5jIlEw0ECiO3fusDaowe3bt8PVq1eDwvvU9fr162sh0NqI1tEgsJIQTAVB/Py6RKIlWlOWcQrIo+oSlrpypShADUhLyygQaOYgSwnBWLlTtzoGZkFqydb9xxKBkONZQUSNRqs+yQaBbvRQeJRa6ax+Xsfi6f7xfqvz7lAFVKEVJSjbLzCookc/a6uBQcol6ZKgxgZ4TwYepUsyCBQSeUgI5gJHxmgt7DvKBPwfBZJAIDKW6mflVtQp9tMxeh0hhqVRIEeBQSBQWKQQaYpKaOk3dMyth4Q5pmGf9hQ4EgTqS+3s7CwOAhFIOvZWE0Tt2ZkjylVgIwhaSwjGyp26JZGYay/286JALwiULOubTjy1ArX2ee/jyb2YknJOr8AKCJQk06WT1ipxqeORNiQSpzcqv1hXgf9AsNSEYC4gSCTWNSbfPq0CByBYekIwFwYkEqc1K79WT4GtsdOJ51aiVvZTItHbjLX17MQ3e1Vgq5UKOfdxtHI7ajSy7iYlFxLVaH8LCLa3iyVGlUhMnU7dmsWUK+pOL6dZpxlUZe0slS8PICgIghiV6F4M3ct+6dIlV+vFixcPJmo5d+5c6K4XLlwI+p/l47l27RpdtBF8AAQVQHDmzJm1M94wxVm9Kc6kOzeM5dEAEBQGgR6dRmWvV9mP0lbdM5Z0BQBBYRA8ePAAEMw4B6KeVciSrgAgAARNgQsQpENAewACQAAI8upOU3sBgsIgePjwYVMV66g+ubX/ExHk8QkQFAaB5sA/ceIEMJghT3D8+HHmnczjAF2DeO2/5Pbu3bvh1KlTwGBCGJw8eTI8efIksxqwGxFB4YggAuXVq1fh2bNn4enTp0euL168OJj/QaP4Sq26O1JzLw75/Rqf0czApY5lyPcwfmAczABBJRBEIAzd6ual7nMZx5xWK3eTxkfLjTkW9p1GAUBgBAQRGGMrj7W7SRWV6AYmFtsKAAJjIBAQciqPbgyyPL0cj5YDBMXu7out5lK2QyuPl+nleLScXRgQERiMCLqg2zQLkqIAJdK6n7f+mhmhbcIAEBgHgSp2X+VRlnx3d9cVBLqQGpsLsVmd/JYKEDgAQaxA8bmM1hKCsXypWx4tZwccgMARCFTRFB2kVjjrn2dG6PmBAAicgcB6pc4t36ZcyPzVpP0SAAJAYCbC6MuFtF8FbRwhIAAEZkAQowkeLTc9HAABIDAHAgGBR8tNCwNAAAhMgiBGByQSpwECIAAEpkEgIJBIrA8DQAAIzINAMFAikUfL1QMCIAAELkAQuwqtPVquXtVO+2ZAAAhcgUBAaOHRcmnVtP6nAQEgcAeCGB3ohiuWMgoAAkDgFgQCgm68Ypqy8TAABIDANQgEAxKJgMC9iWOYy3b84+lJJOYDgYiAiKApmGoWpP39/fwasdA9AQEgaAoEMbIqNSP0UrgACABBkyAQEEgkDscYIAAEzYJAMMiZEXp49Wnnk4AAEDQNgthVGDojdDtVO+1IAAEgWAQIBAQSievhAAgAwWJAIBhozAGJxFUgAAJAsCgQxK4C06n/HwaAABAsEgQCAonEvzAABIBgsSCI0QGJxBAAASBYPAgEhKU/lxEQAAJA8K8HljydOiAABIDgkAfio+X+9qDbfwUIDpkg9hvZjr8b0LOGS3suIyAABEQEGzywlOnUAcEGE3hu0Sh7uYhmCdOpAwJAQEQwwAOtJxIBwQAT0LqWa129a9nqcxkBASAgIkj0QIvPZQQEiSbw3qJR/nLRTUuJREAACIgIRniglUQiIBhhAlrXcq2rZy1bmE4dEAACIoJCHvA8nTogKGQCzy0aZS8X2Xh9LiMgAAREBBU84O25jICgggloYcu1sJ619DSdOiAABEQEFT3gJZEICCqawHNrRtnLRjXWE4mAABAQEUzkAcvTqQOCiUxAC1u2hfWsp8Xp1AEBICAimMED1hKJgGAGE3huzSh7ucjG0nTqgAAQEBHM7AEL06kDgplNQAtbroX1rOXciURAAAiICIx4QGMO5kokAgIjJvDcmlH2slHNHM9lBASAgIjAoAemTiQCAoMmoIUt28J61nOqRCIgAAREBMY9MMUsSIDAuAk8t2aUvVxkU3s6dUAACIgIHHmg1nMZAYEjE9DClmthPWtZYzp1QAAIiAiceqDkdOqAwKkJPLdolL1cZFMqkbilkUysaIAH/Hpgb28vjF3+AbSb48mcXO9tAAAAAElFTkSuQmCC"/>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -1,73 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import roles from '../access/roles';
import checkRole from '../access/checkRole';
const access = ({ req: { user } }) => {
const result = checkRole(['admin'], user);
return result;
};
const Admin: PayloadCollectionConfig = {
slug: 'admins',
labels: {
singular: 'Admin',
plural: 'Admins',
},
access: {
create: access,
read: access,
update: access,
delete: access,
admin: () => true,
},
auth: {
tokenExpiration: 7200, // 2 hours
verify: false,
maxLoginAttempts: 5,
lockTime: 600 * 1000, // lock time in ms
useAPIKey: true,
depth: 0,
cookies: {
secure: false,
sameSite: 'lax',
domain: undefined,
},
},
fields: [
{
name: 'roles',
label: 'Role',
type: 'select',
options: roles,
defaultValue: 'user',
required: true,
saveToJWT: true,
hasMany: true,
},
{
name: 'apiKey',
type: 'text',
access: {
read: ({ req: { user } }) => {
if (checkRole(['admin'], user)) {
return true;
}
if (user) {
return {
email: user.email,
};
}
return false;
},
},
},
],
timestamps: true,
admin: {
useAsTitle: 'email',
},
};
export default Admin;

View File

@@ -1,305 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import checkRole from '../access/checkRole';
import Email from '../blocks/Email';
import Quote from '../blocks/Quote';
import NumberBlock from '../blocks/Number';
import CallToAction from '../blocks/CallToAction';
const AllFields: PayloadCollectionConfig = {
slug: 'all-fields',
labels: {
singular: 'All Fields',
plural: 'All Fields',
},
admin: {
useAsTitle: 'text',
preview: (doc, token) => {
if (doc && doc.text) {
return `http://localhost:3000/previewable-posts/${doc.text}?preview=true&token=${token}`;
}
return null;
},
},
access: {
read: () => true,
},
fields: [
{
name: 'text',
type: 'text',
label: 'Text',
required: true,
defaultValue: 'Default Value',
unique: true,
access: {
create: ({ req: { user } }) => checkRole(['admin'], user),
update: ({ req: { user } }) => checkRole(['admin'], user),
read: ({ req: { user } }) => Boolean(user),
},
},
{
name: 'image',
type: 'upload',
label: 'Image',
relationTo: 'media',
},
{
name: 'select',
label: 'Select',
type: 'select',
options: [{
value: 'option-1',
label: 'Option 1 Label',
}, {
value: 'option-2',
label: 'Option 2 Label',
}, {
value: 'option-3',
label: 'Option 3 Label',
}, {
value: 'option-4',
label: 'Option 4 Label',
}],
defaultValue: 'option-1',
required: true,
},
{
name: 'selectMany',
label: 'Select w/ hasMany',
type: 'select',
options: [{
value: 'option-1',
label: 'Option 1 Label',
}, {
value: 'option-2',
label: 'Option 2 Label',
}, {
value: 'option-3',
label: 'Option 3 Label',
}, {
value: 'option-4',
label: 'Option 4 Label',
}],
defaultValue: 'option-1',
required: true,
hasMany: true,
},
{
name: 'dateFieldExample',
label: 'Day and Time',
type: 'date',
admin: {
date: {
timeIntervals: 30,
},
},
},
{
name: 'dayOnlyDateFieldExample',
label: 'Day Only',
type: 'date',
admin: {
date: {
pickerAppearance: 'dayOnly',
monthsToShow: 2,
},
},
},
{
name: 'timeOnlyDateFieldExample',
label: 'Time Only',
type: 'date',
admin: {
date: {
pickerAppearance: 'timeOnly',
},
},
},
{
name: 'radioGroupExample',
label: 'Radio Group Example',
type: 'radio',
options: [{
value: 'option-1',
label: 'Options 1 Label',
}, {
value: 'option-2',
label: 'Option 2 Label',
}, {
value: 'option-3',
label: 'Option 3 Label',
}],
defaultValue: 'option-2',
required: true,
admin: {
readOnly: true,
},
},
{
type: 'row',
fields: [
{
name: 'email',
label: 'Email',
type: 'email',
}, {
name: 'number',
label: 'Number',
type: 'number',
},
],
},
{
type: 'group',
label: 'Group',
name: 'group',
fields: [
{
type: 'row',
fields: [
{
name: 'nestedText1',
label: 'Nested Text 1',
type: 'text',
}, {
name: 'nestedText2',
label: 'Nested Text 2',
type: 'text',
},
],
},
],
},
{
type: 'array',
label: 'Array',
name: 'array',
minRows: 2,
maxRows: 4,
fields: [
{
type: 'row',
fields: [
{
name: 'arrayText1',
label: 'Array Text 1',
type: 'text',
required: true,
admin: {
width: '50%',
},
},
{
name: 'arrayText2',
label: 'Array Text 2',
type: 'text',
required: true,
admin: {
width: '50%',
},
access: {
read: ({ req: { user } }) => Boolean(user),
update: ({ req: { user } }) => checkRole(['admin'], user),
},
},
],
},
{
type: 'text',
name: 'arrayText3',
label: 'Array Text 3',
admin: {
readOnly: true,
},
},
{
name: 'checkbox',
label: 'Checkbox',
type: 'checkbox',
},
],
},
{
type: 'blocks',
label: 'Blocks Content',
name: 'blocks',
minRows: 2,
blocks: [Email, NumberBlock, Quote, CallToAction],
localized: true,
required: true,
},
{
type: 'relationship',
label: 'Relationship to One Collection',
name: 'relationship',
relationTo: 'conditions',
},
{
type: 'relationship',
label: 'Relationship hasMany',
name: 'relationshipHasMany',
relationTo: 'localized-posts',
hasMany: true,
},
{
type: 'relationship',
label: 'Relationship to Multiple Collections',
name: 'relationshipMultipleCollections',
relationTo: ['localized-posts', 'conditions'],
},
{
type: 'textarea',
label: 'Textarea',
name: 'textarea',
},
{
name: 'slug',
type: 'text',
label: 'Slug',
admin: {
position: 'sidebar',
},
localized: true,
unique: true,
required: true,
},
{
name: 'checkbox',
type: 'checkbox',
label: 'Checkbox',
admin: {
position: 'sidebar',
},
},
{
name: 'richText',
type: 'richText',
label: 'Rich Text',
required: true,
admin: {
elements: [
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'blockquote',
'ul',
'ol',
'link',
],
leaves: [
'bold',
'italic',
'underline',
'strikethrough',
],
},
},
],
timestamps: true,
};
export default AllFields;

View File

@@ -1,12 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const AutoLabel: PayloadCollectionConfig = {
slug: 'auto-label',
fields: [{
name: 'text',
type: 'text',
label: 'Text',
}],
};
export default AutoLabel;

View File

@@ -1,43 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import Email from '../blocks/Email';
import Quote from '../blocks/Quote';
import NumberBlock from '../blocks/Number';
import CallToAction from '../blocks/CallToAction';
const Blocks: PayloadCollectionConfig = {
slug: 'blocks',
labels: {
singular: 'Blocks',
plural: 'Blocks',
},
access: {
read: () => true,
},
fields: [
{
name: 'layout',
label: 'Layout Blocks',
labels: {
singular: 'Block',
plural: 'Blocks',
},
type: 'blocks',
blocks: [Email, NumberBlock, Quote, CallToAction],
localized: true,
required: true,
},
{
name: 'nonLocalizedLayout',
label: 'Non Localized Layout',
labels: {
singular: 'Layout',
plural: 'Layouts',
},
type: 'blocks',
blocks: [Email, NumberBlock, Quote, CallToAction],
required: true,
},
],
};
export default Blocks;

View File

@@ -1,22 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Code: PayloadCollectionConfig = {
slug: 'code',
labels: {
singular: 'Code',
plural: 'Codes',
},
fields: [
{
name: 'code',
type: 'code',
label: 'Code',
required: true,
admin: {
language: 'js',
},
},
],
};
export default Code;

View File

@@ -1,55 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Conditions: PayloadCollectionConfig = {
slug: 'conditions',
labels: {
singular: 'Conditions',
plural: 'Conditions',
},
fields: [
{
name: 'title',
type: 'text',
label: 'Title',
required: true,
},
{
name: 'enableTest',
type: 'checkbox',
label: 'Enable Test',
},
{
name: 'number',
type: 'number',
label: 'Number Field',
},
{
name: 'simpleCondition',
type: 'text',
label: 'Enable Test is checked',
required: true,
admin: {
condition: (_, siblings) => siblings.enableTest === true,
},
},
{
name: 'orCondition',
type: 'text',
label: 'Number is greater than 20 OR enableTest is checked',
required: true,
admin: {
condition: (_, siblings) => siblings.number > 20 || siblings.enableTest === true,
},
},
{
name: 'nestedConditions',
type: 'text',
label: 'Number is either greater than 20 AND enableTest is checked, OR number is less than 20 and enableTest is NOT checked',
admin: {
condition: (_, siblings) => (siblings.number > 20 && siblings.enableTest === true) || (siblings.number < 20 && siblings.enableTest === false),
},
},
],
};
export default Conditions;

View File

@@ -1,5 +0,0 @@
import React from 'react';
const Cell: React.FC = () => <div className="description">fake description cell</div>;
export default Cell;

View File

@@ -1,5 +0,0 @@
import React from 'react';
const Description: React.FC = () => <div className="description">fake description field</div>;
export default Description;

View File

@@ -1,3 +0,0 @@
.custom-description-filter {
background: lightgray;
}

View File

@@ -1,15 +0,0 @@
import React from 'react';
import { Props } from './types';
import './index.scss';
const Filter: React.FC<Props> = ({ onChange, value }) => (
<input
className="custom-description-filter"
type="text"
onChange={(e) => onChange(e.target.value)}
value={value}
/>
);
export default Filter;

View File

@@ -1,4 +0,0 @@
export type Props = {
value?: string
onChange?: (value: string) => void
}

View File

@@ -1,19 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Group } from '../../../../../../../components/forms';
const CustomGroup: React.FC = (props) => (
<div className="custom-group">
<Group {...props} />
</div>
);
CustomGroup.defaultProps = {
value: '',
};
CustomGroup.propTypes = {
value: PropTypes.string,
};
export default CustomGroup;

View File

@@ -1,5 +0,0 @@
import React from 'react';
const NestedArrayCustomField = () => <div className="nested-array-custom-field">Nested array custom field</div>;
export default NestedArrayCustomField;

View File

@@ -1,5 +0,0 @@
import React from 'react';
const NestedGroupCustomField = () => <div className="nested-group-custom-field">Nested group custom field</div>;
export default NestedGroupCustomField;

View File

@@ -1,5 +0,0 @@
import React from 'react';
const NestedText1 = () => <div className="nested-text-1">Nested Text 1</div>;
export default NestedText1;

View File

@@ -1,5 +0,0 @@
$color: purple;
.custom-list {
color: $color;
}

View File

@@ -1,14 +0,0 @@
import React from 'react';
import DefaultList from '../../../../../../src/admin/components/views/collections/List/Default';
import './index.scss';
const CustomListView: React.FC = (props) => (
<div className="custom-list">
<p>This is a custom Pages list view</p>
<p>Sup</p>
<DefaultList {...props} />
</div>
);
export default CustomListView;

View File

@@ -1,111 +0,0 @@
import { PayloadCollectionConfig } from '../../../src/collections/config/types';
import DescriptionField from './components/fields/Description/Field';
import DescriptionCell from './components/fields/Description/Cell';
import DescriptionFilter from './components/fields/Description/Filter';
import NestedArrayField from './components/fields/NestedArrayCustomField/Field';
import GroupField from './components/fields/Group/Field';
import NestedGroupField from './components/fields/NestedGroupCustomField/Field';
import NestedText1Field from './components/fields/NestedText1/Field';
import ListView from './components/views/List';
const CustomComponents: PayloadCollectionConfig = {
slug: 'custom-components',
labels: {
singular: 'Custom Component',
plural: 'Custom Components',
},
fields: [
{
name: 'title',
label: 'Title',
type: 'text',
maxLength: 100,
required: true,
unique: true,
localized: true,
},
{
name: 'description',
label: 'Description',
type: 'textarea',
required: true,
localized: true,
admin: {
components: {
Field: DescriptionField,
Cell: DescriptionCell,
Filter: DescriptionFilter,
},
},
},
{
name: 'array',
label: 'Array',
type: 'array',
fields: [
{
type: 'text',
name: 'nestedArrayCustomField',
label: 'Nested Array Custom Field',
admin: {
components: {
Field: NestedArrayField,
},
},
},
],
},
{
name: 'group',
label: 'Group',
type: 'group',
admin: {
components: {
Field: GroupField,
},
},
fields: [
{
type: 'text',
name: 'nestedGroupCustomField',
label: 'Nested Group Custom Field',
admin: {
components: {
Field: NestedGroupField,
},
},
},
],
},
{
type: 'row',
fields: [
{
name: 'nestedText1',
label: 'Nested Text 1',
type: 'text',
admin: {
components: {
Field: NestedText1Field,
},
},
}, {
name: 'nestedText2',
label: 'Nested Text 2',
type: 'text',
},
],
},
],
timestamps: true,
admin: {
useAsTitle: 'title',
components: {
views: {
List: ListView,
},
},
},
};
export default CustomComponents;

View File

@@ -1,287 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import checkRole from '../access/checkRole';
import Email from '../blocks/Email';
import Quote from '../blocks/Quote';
import NumberBlock from '../blocks/Number';
import CallToAction from '../blocks/CallToAction';
const DefaultValues: PayloadCollectionConfig = {
slug: 'default-values',
labels: {
singular: 'Default Value Test',
plural: 'Default Value Tests',
},
admin: {
useAsTitle: 'text',
},
access: {
read: () => true,
},
fields: [
{
name: 'text',
type: 'text',
label: 'Text',
defaultValue: 'Default Value',
unique: true,
access: {
create: ({ req: { user } }) => checkRole(['admin'], user),
update: ({ req: { user } }) => checkRole(['admin'], user),
read: ({ req: { user } }) => Boolean(user),
},
},
{
name: 'image',
type: 'upload',
label: 'Image',
relationTo: 'media',
},
{
name: 'select',
label: 'Select',
type: 'select',
options: [{
value: 'option-1',
label: 'Option 1 Label',
}, {
value: 'option-2',
label: 'Option 2 Label',
}, {
value: 'option-3',
label: 'Option 3 Label',
}, {
value: 'option-4',
label: 'Option 4 Label',
}],
defaultValue: 'option-1',
},
{
name: 'selectMany',
label: 'Select w/ hasMany',
type: 'select',
options: [{
value: 'option-1',
label: 'Option 1 Label',
}, {
value: 'option-2',
label: 'Option 2 Label',
}, {
value: 'option-3',
label: 'Option 3 Label',
}, {
value: 'option-4',
label: 'Option 4 Label',
}],
defaultValue: ['option-1', 'option-4'],
hasMany: true,
},
{
name: 'radioGroupExample',
label: 'Radio Group Example',
type: 'radio',
options: [{
value: 'option-1',
label: 'Options 1 Label',
}, {
value: 'option-2',
label: 'Option 2 Label',
}, {
value: 'option-3',
label: 'Option 3 Label',
}],
defaultValue: 'option-2',
},
{
type: 'row',
fields: [
{
name: 'email',
label: 'Email',
type: 'email',
defaultValue: 'some@email.com',
}, {
name: 'number',
label: 'Number',
type: 'number',
defaultValue: 5,
},
],
},
{
type: 'group',
label: 'Group',
name: 'group',
defaultValue: {
nestedText1: 'neat',
},
fields: [
{
type: 'row',
fields: [
{
name: 'nestedText1',
label: 'Nested Text 1',
type: 'text',
defaultValue: 'nested default text 1',
}, {
name: 'nestedText2',
label: 'Nested Text 2',
type: 'text',
defaultValue: 'nested default text 2',
},
],
},
],
},
{
type: 'array',
label: 'Array',
name: 'array',
admin: {
readOnly: true,
},
defaultValue: [
{
arrayText1: 'Get out',
},
],
fields: [
{
type: 'row',
fields: [
{
name: 'arrayText1',
label: 'Array Text 1',
type: 'text',
admin: {
width: '50%',
},
defaultValue: 'default array text',
},
{
name: 'arrayText2',
label: 'Array Text 2',
type: 'text',
admin: {
width: '50%',
},
access: {
read: ({ req: { user } }) => Boolean(user),
update: ({ req: { user } }) => checkRole(['admin'], user),
},
},
],
},
{
type: 'text',
name: 'arrayText3',
label: 'Array Text 3',
admin: {
readOnly: true,
},
},
{
name: 'checkbox',
label: 'Checkbox',
type: 'checkbox',
defaultValue: true,
},
],
},
{
type: 'blocks',
label: 'Blocks Content',
name: 'blocks',
labels: {
singular: 'Block',
plural: 'Blocks',
},
blocks: [Email, NumberBlock, Quote, CallToAction],
localized: true,
admin: {
readOnly: true,
},
defaultValue: [
{
blockType: 'email',
testEmail: 'dev@payloadcms.com',
},
],
},
{
type: 'relationship',
label: 'Relationship to One Collection',
name: 'relationship',
relationTo: 'conditions',
},
{
type: 'relationship',
label: 'Relationship hasMany',
name: 'relationshipHasMany',
relationTo: 'localized-posts',
hasMany: true,
},
{
type: 'relationship',
label: 'Relationship to Multiple Collections',
name: 'relationshipMultipleCollections',
relationTo: ['localized-posts', 'conditions'],
},
{
type: 'textarea',
label: 'Textarea',
name: 'textarea',
defaultValue: 'my textarea text',
},
{
name: 'slug',
type: 'text',
label: 'Slug',
admin: {
position: 'sidebar',
},
localized: true,
unique: true,
defaultValue: 'my-slug',
},
{
name: 'checkbox',
type: 'checkbox',
label: 'Checkbox',
admin: {
position: 'sidebar',
},
defaultValue: true,
},
{
name: 'richText',
type: 'richText',
label: 'Rich Text',
admin: {
elements: [
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'blockquote',
'ul',
'ol',
'link',
],
leaves: [
'bold',
'italic',
'underline',
'strikethrough',
],
},
defaultValue: [{
children: [{ text: 'Cookin now' }],
}],
},
],
timestamps: true,
};
export default DefaultValues;

View File

@@ -1,70 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import checkRole from '../access/checkRole';
const access = ({ req: { user } }) => {
const isAdmin = checkRole(['admin'], user);
if (isAdmin) {
return true;
}
if (user) {
return {
owner: {
equals: user.id,
},
};
}
return false;
};
const Files: PayloadCollectionConfig = {
slug: 'files',
labels: {
singular: 'File',
plural: 'Files',
},
upload: {
staticURL: '/files',
staticDir: './files',
},
access: {
create: () => true,
read: access,
update: access,
delete: access,
},
fields: [
{
name: 'type',
label: 'Type',
type: 'select',
options: [{
value: 'Type 1',
label: 'Type 1 Label',
}, {
value: 'Type 2',
label: 'Type 2 Label',
}, {
value: 'Type 3',
label: 'Type 3 Label',
}],
defaultValue: 'Type 1',
required: true,
},
{
name: 'owner',
label: 'Owner',
type: 'relationship',
relationTo: 'admins',
required: true,
},
],
timestamps: true,
admin: {
useAsTitle: 'filename',
},
};
export default Files;

View File

@@ -1,35 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const HiddenFields: PayloadCollectionConfig = {
slug: 'hidden-fields',
labels: {
singular: 'Hidden Fields',
plural: 'Hidden Fields',
},
fields: [
{
name: 'title',
type: 'text',
label: 'Title - Not Hidden',
required: true,
},
{
name: 'hiddenAdmin',
type: 'text',
label: 'Hidden on Admin',
admin: {
hidden: true,
},
required: true,
},
{
name: 'hiddenAPI',
type: 'text',
label: 'Hidden on API',
hidden: true,
required: true, // this should not matter
},
],
};
export default HiddenFields;

View File

@@ -1,95 +0,0 @@
/* eslint-disable no-param-reassign */
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Hooks: PayloadCollectionConfig = {
slug: 'hooks',
labels: {
singular: 'Hook',
plural: 'Hooks',
},
admin: {
useAsTitle: 'title',
},
access: {
create: () => true,
read: () => true,
update: () => true,
delete: () => true,
},
hooks: {
beforeRead: [
(operation) => {
if (operation.req.headers.hook === 'beforeRead') {
console.log('before reading Hooks document');
}
},
],
beforeChange: [
(operation) => {
if (operation.req.headers.hook === 'beforeChange') {
operation.data.description += '-beforeChangeSuffix';
}
return operation.data;
},
],
beforeDelete: [
(operation) => {
if (operation.req.headers.hook === 'beforeDelete') {
// TODO: Find a better hook operation to assert against in tests
operation.req.headers.hook = 'afterDelete';
}
},
],
afterRead: [
(operation) => {
const { doc } = operation;
doc.afterReadHook = true;
return doc;
},
],
afterChange: [
(operation) => {
if (operation.req.headers.hook === 'afterChange') {
operation.doc.afterChangeHook = true;
}
return operation.doc;
},
],
afterDelete: [
(operation) => {
if (operation.req.headers.hook === 'afterDelete') {
operation.doc.afterDeleteHook = true;
}
return operation.doc;
},
],
},
fields: [
{
name: 'title',
label: 'Title',
type: 'text',
maxLength: 100,
required: true,
unique: true,
localized: true,
hooks: {
afterRead: [
({ value }) => (value ? value.toUpperCase() : null),
],
},
},
{
name: 'description',
label: 'Description',
type: 'textarea',
required: true,
localized: true,
},
],
timestamps: true,
};
export default Hooks;

View File

@@ -1,38 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const LocalOperations: PayloadCollectionConfig = {
slug: 'local-operations',
labels: {
singular: 'Local Operation',
plural: 'Local Operations',
},
hooks: {
afterRead: [
async ({ req, doc }) => {
const formattedData = { ...doc };
const localizedPosts = await req.payload.find({
collection: 'localized-posts',
});
const blocksGlobal = await req.payload.findGlobal({
global: 'blocks-global',
});
formattedData.localizedPosts = localizedPosts;
formattedData.blocksGlobal = blocksGlobal;
return formattedData;
},
],
},
fields: [
{
name: 'title',
type: 'text',
label: 'title',
required: true,
},
],
};
export default LocalOperations;

View File

@@ -1,124 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import { Block } from '../../src/fields/config/types';
const RichTextBlock: Block = {
slug: 'richTextBlock',
labels: {
singular: 'Rich Text Block',
plural: 'Rich Text Blocks',
},
fields: [
{
name: 'content',
localized: true,
type: 'richText',
},
],
};
const LocalizedPosts: PayloadCollectionConfig = {
slug: 'localized-posts',
labels: {
singular: 'Localized Post',
plural: 'Localized Posts',
},
admin: {
useAsTitle: 'title',
defaultColumns: [
'title',
'priority',
'createdAt',
],
enableRichTextRelationship: true,
},
access: {
read: () => true,
},
fields: [
{
name: 'title',
label: 'Title',
type: 'text',
maxLength: 100,
required: true,
unique: true,
localized: true,
},
{
name: 'summary',
label: 'Summary',
type: 'text',
index: true,
},
{
name: 'description',
label: 'Description',
type: 'textarea',
required: true,
localized: true,
},
{
type: 'richText',
name: 'richText',
label: 'Rich Text',
},
{
name: 'priority',
label: 'Priority',
type: 'number',
required: true,
localized: true,
},
{
name: 'localizedGroup',
label: 'Localized Group',
type: 'group',
localized: true,
fields: [
{
type: 'text',
name: 'text',
label: 'Text',
},
],
},
{
name: 'nonLocalizedGroup',
label: 'Non-Localized Group',
type: 'group',
fields: [
{
type: 'text',
name: 'text',
label: 'Text',
localized: true,
},
],
},
{
type: 'array',
label: 'Non-Localized Array',
name: 'nonLocalizedArray',
maxRows: 3,
fields: [
{
type: 'text',
name: 'localizedEmbeddedText',
label: 'Localized Embedded Text',
localized: true,
},
],
},
{
label: 'Blocks',
name: 'richTextBlocks',
type: 'blocks',
blocks: [
RichTextBlock,
],
},
],
timestamps: true,
};
export default LocalizedPosts;

View File

@@ -1,79 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import { FieldAccess } from '../../src/fields/config/types';
import checkRole from '../access/checkRole';
const PublicReadabilityAccess: FieldAccess = ({ req: { user }, siblingData }) => {
if (checkRole(['admin'], user)) {
return true;
}
if (siblingData.allowPublicReadability) return true;
return false;
};
const LocalizedArrays: PayloadCollectionConfig = {
slug: 'localized-arrays',
labels: {
singular: 'Localized Array',
plural: 'Localized Arrays',
},
access: {
read: () => true,
},
fields: [
{
type: 'array',
label: 'Array',
name: 'array',
localized: true,
required: true,
minRows: 2,
maxRows: 4,
fields: [
{
type: 'row',
fields: [
{
name: 'allowPublicReadability',
label: 'Allow Public Readability',
type: 'checkbox',
},
{
name: 'arrayText1',
label: 'Array Text 1',
type: 'text',
required: true,
admin: {
width: '50%',
},
access: {
read: PublicReadabilityAccess,
},
},
{
name: 'arrayText2',
label: 'Array Text 2',
type: 'text',
required: true,
admin: {
width: '50%',
},
},
],
},
{
type: 'text',
name: 'arrayText3',
label: 'Array Text 3',
admin: {
readOnly: true,
},
},
],
},
],
timestamps: true,
};
export default LocalizedArrays;

View File

@@ -1,51 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Media: PayloadCollectionConfig = {
slug: 'media',
labels: {
singular: 'Media',
plural: 'Media',
},
access: {
read: () => true,
},
admin: {
enableRichTextRelationship: true,
},
upload: {
staticURL: '/media',
staticDir: './media',
adminThumbnail: ({ doc }) => `/media/${doc.filename}`,
imageSizes: [
{
name: 'tablet',
width: 640,
height: 480,
crop: 'left top',
},
{
name: 'mobile',
width: 320,
height: 240,
crop: 'left top',
},
{
name: 'icon',
width: 16,
height: 16,
},
],
},
fields: [
{
name: 'alt',
label: 'Alt Text',
type: 'text',
required: true,
localized: true,
},
],
timestamps: true,
};
export default Media;

View File

@@ -1,71 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const NestedArray: PayloadCollectionConfig = {
slug: 'nested-arrays',
labels: {
singular: 'Nested Array',
plural: 'Nested Arrays',
},
access: {
read: () => true,
},
fields: [
{
type: 'array',
label: 'Array',
name: 'array',
labels: {
singular: 'Parent Row',
plural: 'Parent Rows',
},
required: true,
minRows: 2,
maxRows: 4,
fields: [
{
name: 'parentIdentifier',
label: 'Parent Identifier',
defaultValue: ' ',
type: 'text',
required: true,
},
{
type: 'array',
name: 'nestedArray',
labels: {
singular: 'Child Row',
plural: 'Child Rows',
},
required: true,
fields: [
{
name: 'childIdentifier',
label: 'Child Identifier',
type: 'text',
required: true,
},
{
type: 'array',
name: 'deeplyNestedArray',
labels: {
singular: 'Grandchild Row',
plural: 'Grandchild Rows',
},
required: true,
fields: [
{
name: 'grandchildIdentifier',
label: 'Grandchild Identifier',
type: 'text',
},
],
},
],
},
],
},
],
timestamps: true,
};
export default NestedArray;

View File

@@ -1,33 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Preview: PayloadCollectionConfig = {
slug: 'previewable-post',
labels: {
singular: 'Previewable Post',
plural: 'Previewable Posts',
},
admin: {
useAsTitle: 'title',
preview: (doc, token) => {
if (doc.title) {
return `http://localhost:3000/previewable-posts/${doc.title}?preview=true&token=${token}`;
}
return null;
},
},
fields: [
{
name: 'title',
label: 'Title',
type: 'text',
maxLength: 100,
required: true,
unique: true,
localized: true,
},
],
timestamps: true,
};
export default Preview;

View File

@@ -1,61 +0,0 @@
import checkRole from '../access/checkRole';
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const access = ({ req: { user } }) => checkRole(['admin'], user);
const PublicUsers: PayloadCollectionConfig = {
slug: 'public-users',
labels: {
singular: 'Public User',
plural: 'Public Users',
},
admin: {
useAsTitle: 'email',
},
access: {
admin: () => false,
create: () => true,
read: () => true,
update: ({ req: { user } }) => {
if (checkRole(['admin'], user)) {
return true;
}
if (user) {
return {
id: user.id,
};
}
return false;
},
delete: ({ req: { user } }) => checkRole(['admin'], user),
},
auth: {
tokenExpiration: 300,
verify: true,
maxLoginAttempts: 5,
lockTime: 600 * 1000, // lock time in ms
cookies: {
secure: process.env.NODE_ENV === 'production',
sameSite: 'lax',
domain: undefined,
},
},
fields: [
{
name: 'adminOnly',
label: 'This field should only be readable and editable by Admins with "admin" role',
type: 'text',
defaultValue: 'test',
access: {
create: access,
read: access,
update: access,
},
},
],
timestamps: true,
};
export default PublicUsers;

View File

@@ -1,48 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const RelationshipA: PayloadCollectionConfig = {
slug: 'relationship-a',
access: {
read: () => true,
},
labels: {
singular: 'Relationship A',
plural: 'Relationship A',
},
fields: [
{
name: 'post',
label: 'Post',
type: 'relationship',
relationTo: 'relationship-b',
localized: true,
},
{
name: 'LocalizedPost',
label: 'Localized Post',
type: 'relationship',
relationTo: 'localized-posts',
hasMany: true,
localized: true,
},
{
name: 'postLocalizedMultiple',
label: 'Localized Post Multiple',
type: 'relationship',
relationTo: ['localized-posts', 'all-fields'],
hasMany: true,
localized: true,
},
{
name: 'postManyRelationships',
label: 'Post Many Relationships',
type: 'relationship',
relationTo: ['relationship-b'],
localized: true,
hasMany: false,
},
],
timestamps: true,
};
export default RelationshipA;

View File

@@ -1,33 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const RelationshipB: PayloadCollectionConfig = {
slug: 'relationship-b',
access: {
read: () => true,
},
labels: {
singular: 'Relationship B',
plural: 'Relationship B',
},
fields: [
{
name: 'post',
label: 'Post',
type: 'relationship',
relationTo: 'relationship-a',
localized: false,
hasMany: true,
},
{
name: 'postManyRelationships',
label: 'Post Many Relationships',
type: 'relationship',
relationTo: ['relationship-a'],
localized: true,
hasMany: false,
},
],
timestamps: true,
};
export default RelationshipB;

View File

@@ -1,38 +0,0 @@
import Button from '../client/components/richText/elements/Button';
import PurpleBackground from '../client/components/richText/leaves/PurpleBackground';
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const RichText: PayloadCollectionConfig = {
slug: 'rich-text',
labels: {
singular: 'Rich Text',
plural: 'Rich Texts',
},
fields: [
{
name: 'defaultRichText',
type: 'richText',
label: 'Default Rich Text',
required: true,
},
{
name: 'customRichText',
type: 'richText',
label: 'Customized Rich Text',
required: true,
admin: {
elements: [
'h2',
'h3',
Button,
],
leaves: [
'bold',
PurpleBackground,
],
},
},
],
};
export default RichText;

View File

@@ -1,45 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Select: PayloadCollectionConfig = {
slug: 'select',
labels: {
singular: 'Select',
plural: 'Selects',
},
fields: [
{
name: 'Select',
type: 'select',
options: [{
value: 'one',
label: 'One',
}, {
value: 'two',
label: 'Two',
}, {
value: 'three',
label: 'Three',
}],
label: 'Select From',
required: true,
},
{
name: 'Radio',
type: 'radio',
options: [{
value: 'one',
label: 'One',
}, {
value: 'two',
label: 'Two',
}, {
value: 'three',
label: 'Three',
}],
label: 'Choose From',
required: true,
},
],
};
export default Select;

View File

@@ -1,76 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
import checkRole from '../access/checkRole';
const StrictAccess: PayloadCollectionConfig = {
slug: 'strict-access',
labels: {
singular: 'Strict Access',
plural: 'Strict Access',
},
admin: {
useAsTitle: 'email',
},
access: {
create: () => true,
read: ({ req: { user } }) => {
if (checkRole(['admin'], user)) {
return true;
}
if (user) {
return {
owner: {
equals: user.id,
},
};
}
return false;
},
update: ({ req: { user } }) => {
if (checkRole(['admin'], user)) {
return true;
}
if (user) {
return {
owner: {
equals: user.id,
},
};
}
return false;
},
delete: ({ req: { user } }) => checkRole(['admin'], user),
},
fields: [
{
name: 'address',
type: 'text',
label: 'Address',
required: true,
},
{
name: 'city',
type: 'text',
label: 'City',
required: true,
},
{
name: 'state',
type: 'text',
label: 'State',
required: true,
},
{
name: 'zip',
type: 'number',
label: 'ZIP Code',
required: true,
},
],
timestamps: true,
};
export default StrictAccess;

View File

@@ -1,25 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Uniques: PayloadCollectionConfig = {
slug: 'uniques',
labels: {
singular: 'Unique',
plural: 'Uniques',
},
fields: [
{
name: 'title',
type: 'text',
label: 'Title',
required: true,
unique: true,
},
{
name: 'description',
type: 'textarea',
label: 'Description',
},
],
};
export default Uniques;

View File

@@ -1,113 +0,0 @@
import { PayloadCollectionConfig } from '../../src/collections/config/types';
const Validations: PayloadCollectionConfig = {
slug: 'validations',
labels: {
singular: 'Validation',
plural: 'Validations',
},
access: {
read: () => true,
},
fields: [
{
name: 'text',
type: 'text',
label: 'Text',
required: true,
validate: (value) => {
const result = value === 'test';
if (!result) {
return 'The only accepted value of this field is "test".';
}
return true;
},
},
{
type: 'row',
fields: [
{
name: 'lessThan10',
label: 'Less than 10',
type: 'number',
required: true,
validate: (value) => {
const result = parseInt(value, 10) < 10;
if (!result) {
return 'The value of this field needs to be less than 10.';
}
return true;
},
}, {
name: 'greaterThan10LessThan50',
label: 'Greater than 10, Less than 50',
type: 'number',
required: true,
min: 10,
max: 50,
},
],
},
{
type: 'array',
label: 'Should have at least 3 rows',
name: 'atLeast3Rows',
required: true,
validate: (value) => {
const result = value && value.length >= 3;
if (!result) {
return 'This array needs to have at least 3 rows.';
}
return true;
},
fields: [
{
type: 'number',
name: 'greaterThan30',
label: 'Number should be greater than 30',
required: true,
validate: (value) => {
const result = value > 30;
if (!result) {
return 'This value of this field needs to be greater than 30.';
}
return true;
},
},
],
},
{
type: 'array',
label: 'Default array validation',
name: 'array',
required: true,
fields: [
{
type: 'number',
name: 'lessThan20',
label: 'Number should be less than 20',
required: true,
validate: (value) => {
const result = value < 30;
if (!result) {
return 'This value of this field needs to be less than 20.';
}
return true;
},
},
],
},
],
};
export default Validations;

View File

@@ -1,15 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="application-name" content="My Payload Application" />
</head>
<body>
<div id="app"></div>
<div id="portal"></div>
</body>
</html>

View File

@@ -1,5 +0,0 @@
import React from 'react';
const CustomAccountView: React.FC = () => <div>fake account view</div>;
export default CustomAccountView;

View File

@@ -1,5 +0,0 @@
import React from 'react';
const CustomDashboardView: React.FC = () => <div>fake dashboard view</div>;
export default CustomDashboardView;

View File

@@ -1,22 +0,0 @@
import checkRole from '../access/checkRole';
import Quote from '../blocks/Quote';
import CallToAction from '../blocks/CallToAction';
import { PayloadGlobalConfig } from '../../src/globals/config/types';
export default {
slug: 'blocks-global',
label: 'Blocks Global',
access: {
update: ({ req: { user } }) => checkRole(['admin'], user),
read: () => true,
},
fields: [
{
name: 'blocks',
label: 'Blocks',
type: 'blocks',
blocks: [Quote, CallToAction],
localized: true,
},
],
} as PayloadGlobalConfig;

Some files were not shown because too many files have changed in this diff Show More