payload 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/components/index.js +1 -1
- package/components/styles.css +1 -1
- package/dist/admin/api.d.ts +1 -1
- package/dist/admin/components/elements/ArrayAction/types.d.ts +1 -1
- package/dist/admin/components/elements/Autosave/types.d.ts +1 -1
- package/dist/admin/components/elements/Banner/types.d.ts +3 -3
- package/dist/admin/components/elements/Button/index.js +19 -13
- package/dist/admin/components/elements/Button/index.scss +0 -16
- package/dist/admin/components/elements/Button/types.d.ts +3 -3
- package/dist/admin/components/elements/Card/types.d.ts +1 -1
- package/dist/admin/components/elements/Collapsible/index.scss +5 -1
- package/dist/admin/components/elements/Collapsible/types.d.ts +1 -1
- package/dist/admin/components/elements/ColumnSelector/types.d.ts +1 -1
- package/dist/admin/components/elements/CopyToClipboard/index.js +2 -9
- package/dist/admin/components/elements/CopyToClipboard/index.scss +0 -14
- package/dist/admin/components/elements/CopyToClipboard/types.d.ts +1 -1
- package/dist/admin/components/elements/DatePicker/types.d.ts +6 -6
- package/dist/admin/components/elements/DeleteDocument/index.js +1 -1
- package/dist/admin/components/elements/DeleteDocument/types.d.ts +1 -1
- package/dist/admin/components/elements/DocumentDrawer/index.d.ts +6 -0
- package/dist/admin/components/elements/DocumentDrawer/index.js +143 -0
- package/dist/admin/components/elements/DocumentDrawer/index.scss +36 -0
- package/dist/admin/components/elements/DocumentDrawer/types.d.ts +28 -0
- package/dist/admin/components/{forms/field-types/Relationship/AddNew/Modal → elements/DocumentDrawer}/types.js +0 -0
- package/dist/admin/components/elements/Drawer/index.d.ts +5 -0
- package/dist/admin/components/elements/Drawer/index.js +44 -0
- package/dist/admin/components/elements/Drawer/index.scss +86 -0
- package/dist/admin/components/elements/Drawer/types.d.ts +13 -0
- package/dist/admin/components/elements/Drawer/types.js +1 -0
- package/dist/admin/components/elements/DuplicateDocument/types.d.ts +1 -1
- package/dist/admin/components/elements/Eyebrow/types.d.ts +1 -1
- package/dist/admin/components/elements/FileDetails/Meta/types.d.ts +1 -1
- package/dist/admin/components/elements/FileDetails/types.d.ts +1 -1
- package/dist/admin/components/elements/GenerateConfirmation/types.d.ts +1 -1
- package/dist/admin/components/elements/Gutter/index.d.ts +1 -1
- package/dist/admin/components/elements/ListControls/types.d.ts +2 -2
- package/dist/admin/components/elements/Localizer/types.d.ts +1 -1
- package/dist/admin/components/elements/NavGroup/index.d.ts +1 -1
- package/dist/admin/components/elements/Paginator/ClickableArrow/types.d.ts +1 -1
- package/dist/admin/components/elements/Paginator/Page/types.d.ts +1 -1
- package/dist/admin/components/elements/Paginator/types.d.ts +2 -2
- package/dist/admin/components/elements/PerPage/index.d.ts +1 -1
- package/dist/admin/components/elements/Pill/types.d.ts +2 -2
- package/dist/admin/components/elements/Popup/PopupButton/types.d.ts +1 -1
- package/dist/admin/components/elements/Popup/types.d.ts +1 -1
- package/dist/admin/components/elements/PreviewButton/types.d.ts +1 -1
- package/dist/admin/components/elements/Publish/types.d.ts +1 -1
- package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.d.ts +5 -0
- package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.js +9 -0
- package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.scss +5 -0
- package/dist/admin/components/elements/ReactSelect/Control/index.d.ts +4 -0
- package/dist/admin/components/elements/ReactSelect/Control/index.js +23 -0
- package/dist/admin/components/elements/ReactSelect/MultiValue/index.d.ts +5 -0
- package/dist/admin/components/elements/ReactSelect/MultiValue/index.js +39 -0
- package/dist/admin/components/elements/ReactSelect/MultiValue/index.scss +15 -0
- package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.d.ts +5 -0
- package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.js +12 -0
- package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.scss +15 -0
- package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.d.ts +5 -0
- package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.js +17 -0
- package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.scss +24 -0
- package/dist/admin/components/elements/ReactSelect/ValueContainer/index.d.ts +5 -0
- package/dist/admin/components/elements/ReactSelect/ValueContainer/index.js +9 -0
- package/dist/admin/components/elements/ReactSelect/ValueContainer/index.scss +33 -0
- package/dist/admin/components/elements/ReactSelect/index.js +58 -44
- package/dist/admin/components/elements/ReactSelect/index.scss +6 -62
- package/dist/admin/components/elements/ReactSelect/types.d.ts +14 -3
- package/dist/admin/components/elements/RenderTitle/types.d.ts +1 -1
- package/dist/admin/components/elements/SearchFilter/types.d.ts +1 -1
- package/dist/admin/components/elements/SortColumn/types.d.ts +1 -1
- package/dist/admin/components/elements/SortComplex/types.d.ts +1 -1
- package/dist/admin/components/elements/Status/types.d.ts +1 -1
- package/dist/admin/components/elements/StepNav/index.js +4 -1
- package/dist/admin/components/elements/StepNav/types.d.ts +2 -2
- package/dist/admin/components/elements/Table/types.d.ts +2 -2
- package/dist/admin/components/elements/Thumbnail/types.d.ts +1 -1
- package/dist/admin/components/elements/Tooltip/index.js +24 -9
- package/dist/admin/components/elements/Tooltip/index.scss +25 -11
- package/dist/admin/components/elements/Tooltip/types.d.ts +3 -1
- package/dist/admin/components/elements/UploadCard/types.d.ts +1 -1
- package/dist/admin/components/elements/UploadGallery/types.d.ts +1 -1
- package/dist/admin/components/elements/VersionsCount/types.d.ts +1 -1
- package/dist/admin/components/elements/ViewDescription/types.d.ts +4 -4
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +7 -7
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/types.d.ts +8 -8
- package/dist/admin/components/forms/Error/index.js +1 -1
- package/dist/admin/components/forms/Error/types.d.ts +1 -1
- package/dist/admin/components/forms/FieldDescription/types.d.ts +4 -4
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +1 -1
- package/dist/admin/components/forms/Form/rows.d.ts +1 -1
- package/dist/admin/components/forms/Form/types.d.ts +30 -30
- package/dist/admin/components/forms/Label/types.d.ts +1 -1
- package/dist/admin/components/forms/RenderFields/types.d.ts +1 -1
- package/dist/admin/components/forms/RowLabel/types.d.ts +5 -5
- package/dist/admin/components/forms/field-types/Array/index.js +1 -1
- package/dist/admin/components/forms/field-types/Array/index.scss +0 -4
- package/dist/admin/components/forms/field-types/Array/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockSelector/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/SectionTitle/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/index.scss +0 -4
- package/dist/admin/components/forms/field-types/Blocks/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Code/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Collapsible/index.scss +0 -4
- package/dist/admin/components/forms/field-types/Collapsible/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/DateTime/index.js +4 -1
- package/dist/admin/components/forms/field-types/DateTime/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Email/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Group/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/HiddenInput/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Number/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Password/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Point/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/types.d.ts +2 -2
- package/dist/admin/components/forms/field-types/Relationship/AddNew/index.js +55 -35
- package/dist/admin/components/forms/field-types/Relationship/AddNew/index.scss +6 -18
- package/dist/admin/components/forms/field-types/Relationship/AddNew/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Relationship/AddNew/useRelatedCollections.js +5 -2
- package/dist/admin/components/forms/field-types/Relationship/GetFilterOptions/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Relationship/createRelationMap.d.ts +2 -2
- package/dist/admin/components/forms/field-types/Relationship/findOptionsByValue.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +11 -1
- package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.d.ts +5 -0
- package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.js +36 -0
- package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.scss +40 -0
- package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.d.ts +5 -0
- package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js +34 -0
- package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.scss +43 -0
- package/dist/admin/components/forms/field-types/Relationship/types.d.ts +10 -10
- package/dist/admin/components/forms/field-types/RichText/RichText.d.ts +2 -2
- package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.js +3 -2
- package/dist/admin/components/forms/field-types/RichText/elements/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/SwapUploadModal/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Row/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Select/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Select/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Tabs/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Text/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Text/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Textarea/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Upload/Add/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Upload/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Upload/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/rowReducer.d.ts +8 -8
- package/dist/admin/components/forms/useField/types.d.ts +2 -2
- package/dist/admin/components/modals/StayLoggedIn/types.d.ts +1 -1
- package/dist/admin/components/templates/Default/types.d.ts +1 -1
- package/dist/admin/components/templates/Minimal/types.d.ts +1 -1
- package/dist/admin/components/utilities/Auth/index.d.ts +1 -1
- package/dist/admin/components/utilities/Auth/types.d.ts +1 -1
- package/dist/admin/components/utilities/DocumentInfo/index.d.ts +0 -2
- package/dist/admin/components/utilities/DocumentInfo/index.js +30 -1
- package/dist/admin/components/utilities/DocumentInfo/types.d.ts +9 -4
- package/dist/admin/components/utilities/Meta/types.d.ts +2 -2
- package/dist/admin/components/utilities/OperationProvider/index.d.ts +1 -1
- package/dist/admin/components/utilities/Preferences/index.d.ts +1 -1
- package/dist/admin/components/utilities/RenderCustomComponent/types.d.ts +1 -1
- package/dist/admin/components/utilities/Theme/index.d.ts +2 -2
- package/dist/admin/components/views/Account/types.d.ts +1 -1
- package/dist/admin/components/views/CreateFirstUser/types.d.ts +1 -1
- package/dist/admin/components/views/Dashboard/types.d.ts +1 -1
- package/dist/admin/components/views/Global/index.js +8 -8
- package/dist/admin/components/views/Global/types.d.ts +2 -2
- package/dist/admin/components/views/Version/Compare/types.d.ts +5 -5
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.d.ts +2 -2
- package/dist/admin/components/views/Version/RenderFieldsToDiff/types.d.ts +1 -1
- package/dist/admin/components/views/Version/Restore/types.d.ts +1 -1
- package/dist/admin/components/views/Version/SelectLocales/types.d.ts +1 -1
- package/dist/admin/components/views/Version/types.d.ts +3 -3
- package/dist/admin/components/views/Versions/types.d.ts +1 -1
- package/dist/admin/components/views/collections/Edit/Auth/types.d.ts +1 -1
- package/dist/admin/components/views/collections/Edit/Upload/types.d.ts +2 -2
- package/dist/admin/components/views/collections/Edit/index.js +8 -8
- package/dist/admin/components/views/collections/Edit/index.scss +6 -3
- package/dist/admin/components/views/collections/Edit/types.d.ts +2 -2
- package/dist/admin/components/views/collections/List/Cell/cellTypes.spec.js +11 -2
- package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.d.ts +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.d.ts +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.d.ts +2 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.js +4 -2
- package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.d.ts +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/index.d.ts +2 -1
- package/dist/admin/components/views/collections/List/Cell/types.d.ts +1 -1
- package/dist/admin/components/views/collections/List/RelationshipProvider/index.d.ts +2 -2
- package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.d.ts +3 -3
- package/dist/admin/components/views/collections/List/types.d.ts +3 -3
- package/dist/admin/hooks/useIntersect.d.ts +1 -1
- package/dist/admin/hooks/usePayloadAPI.d.ts +3 -3
- package/dist/admin/hooks/useThrottledEffect.d.ts +1 -1
- package/dist/admin/scss/type.scss +1 -1
- package/dist/admin/utilities/groupNavItems.d.ts +2 -2
- package/dist/auth/operations/access.d.ts +3 -3
- package/dist/auth/operations/access.js +24 -75
- package/dist/auth/operations/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/local/forgotPassword.d.ts +1 -1
- package/dist/auth/operations/local/login.d.ts +1 -1
- package/dist/auth/operations/local/resetPassword.d.ts +1 -1
- package/dist/auth/operations/local/unlock.d.ts +1 -1
- package/dist/auth/operations/local/verifyEmail.d.ts +1 -1
- package/dist/auth/operations/login.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts +1 -1
- package/dist/auth/operations/me.d.ts +2 -2
- package/dist/auth/operations/refresh.d.ts +2 -2
- package/dist/auth/operations/registerFirstUser.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts +1 -1
- package/dist/auth/operations/verifyEmail.d.ts +1 -1
- package/dist/auth/sendVerificationEmail.d.ts +1 -1
- package/dist/auth/types.d.ts +20 -14
- package/dist/auth/types.js +1 -1
- package/dist/collections/buildEndpoints.js +7 -1
- package/dist/collections/config/types.d.ts +26 -26
- package/dist/collections/graphql/init.js +15 -1
- package/dist/collections/graphql/resolvers/create.d.ts +1 -1
- package/dist/collections/graphql/resolvers/delete.d.ts +1 -1
- package/dist/collections/graphql/resolvers/docAccess.d.ts +9 -0
- package/dist/collections/graphql/resolvers/docAccess.js +15 -0
- package/dist/collections/graphql/resolvers/find.d.ts +1 -1
- package/dist/collections/graphql/resolvers/findByID.d.ts +1 -1
- package/dist/collections/graphql/resolvers/findVersionByID.d.ts +1 -1
- package/dist/collections/graphql/resolvers/findVersions.d.ts +1 -1
- package/dist/collections/graphql/resolvers/restoreVersion.d.ts +1 -1
- package/dist/collections/graphql/resolvers/update.d.ts +1 -1
- package/dist/collections/graphql/types.d.ts +1 -1
- package/dist/collections/init.js +2 -1
- package/dist/collections/operations/create.d.ts +1 -1
- package/dist/collections/operations/delete.d.ts +1 -1
- package/dist/collections/operations/docAccess.d.ts +8 -0
- package/dist/collections/operations/docAccess.js +26 -0
- package/dist/collections/operations/find.d.ts +1 -1
- package/dist/collections/operations/findByID.d.ts +1 -1
- package/dist/collections/operations/findVersionByID.d.ts +1 -1
- package/dist/collections/operations/findVersions.d.ts +1 -1
- package/dist/collections/operations/local/create.d.ts +1 -1
- package/dist/collections/operations/local/delete.d.ts +1 -1
- package/dist/collections/operations/local/find.d.ts +1 -1
- package/dist/collections/operations/local/findByID.d.ts +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +1 -1
- package/dist/collections/operations/local/update.d.ts +1 -1
- package/dist/collections/operations/restoreVersion.d.ts +1 -1
- package/dist/collections/operations/update.d.ts +1 -1
- package/dist/collections/requestHandlers/create.d.ts +1 -1
- package/dist/collections/requestHandlers/delete.d.ts +1 -1
- package/dist/collections/requestHandlers/docAccess.d.ts +4 -0
- package/dist/collections/requestHandlers/docAccess.js +21 -0
- package/dist/collections/requestHandlers/findByID.d.ts +1 -1
- package/dist/collections/requestHandlers/findVersionByID.d.ts +1 -1
- package/dist/collections/requestHandlers/restoreVersion.d.ts +1 -1
- package/dist/collections/requestHandlers/update.d.ts +1 -1
- package/dist/config/types.d.ts +18 -18
- package/dist/email/types.d.ts +3 -3
- package/dist/express/middleware/authenticate.d.ts +1 -1
- package/dist/express/middleware/errorHandler.d.ts +1 -1
- package/dist/express/responses/formatError.d.ts +1 -1
- package/dist/fields/config/types.d.ts +58 -57
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/getDefaultValue.d.ts +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +1 -7
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +1 -1
- package/dist/fields/richText/populate.d.ts +1 -1
- package/dist/fields/richText/recurseNestedFields.d.ts +1 -1
- package/dist/fields/richText/richTextRelationshipPromise.d.ts +2 -2
- package/dist/globals/buildEndpoints.js +8 -2
- package/dist/globals/config/types.d.ts +11 -11
- package/dist/globals/graphql/init.js +12 -1
- package/dist/globals/graphql/resolvers/docAccess.d.ts +8 -0
- package/dist/globals/graphql/resolvers/docAccess.js +15 -0
- package/dist/globals/graphql/resolvers/findVersionByID.d.ts +1 -1
- package/dist/globals/graphql/resolvers/findVersions.d.ts +1 -1
- package/dist/globals/graphql/resolvers/restoreVersion.d.ts +1 -1
- package/dist/globals/graphql/resolvers/update.d.ts +1 -1
- package/dist/globals/init.js +2 -1
- package/dist/globals/operations/docAccess.d.ts +9 -0
- package/dist/globals/operations/docAccess.js +21 -0
- package/dist/globals/operations/findOne.d.ts +1 -1
- package/dist/globals/operations/findVersionByID.d.ts +1 -1
- package/dist/globals/operations/findVersions.d.ts +1 -1
- package/dist/globals/operations/local/findOne.d.ts +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +1 -1
- package/dist/globals/operations/local/update.d.ts +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +1 -1
- package/dist/globals/operations/update.d.ts +1 -1
- package/dist/globals/requestHandlers/docAccess.d.ts +5 -0
- package/dist/globals/requestHandlers/docAccess.js +21 -0
- package/dist/globals/requestHandlers/findOne.d.ts +2 -2
- package/dist/globals/requestHandlers/update.d.ts +2 -2
- package/dist/graphql/schema/buildBlockType.d.ts +1 -1
- package/dist/graphql/schema/buildMutationInputType.d.ts +1 -1
- package/dist/graphql/schema/buildObjectType.d.ts +2 -2
- package/dist/graphql/schema/buildPoliciesType.d.ts +28 -0
- package/dist/graphql/schema/buildPoliciesType.js +63 -27
- package/dist/mongoose/buildSchema.d.ts +1 -1
- package/dist/mongoose/buildSchema.js +7 -1
- package/dist/mongoose/buildSortParam.d.ts +1 -1
- package/dist/mongoose/getLocalizedSortProperty.d.ts +1 -1
- package/dist/mongoose/types.d.ts +1 -1
- package/dist/preferences/requestHandlers/update.d.ts +2 -2
- package/dist/preferences/types.d.ts +8 -8
- package/dist/translations/de.json +2 -0
- package/dist/translations/en.json +2 -0
- package/dist/translations/es.json +2 -0
- package/dist/translations/fr.json +2 -0
- package/dist/translations/index.d.ts +32 -0
- package/dist/translations/it.json +2 -0
- package/dist/translations/ja.json +2 -0
- package/dist/translations/my.json +2 -0
- package/dist/translations/nb.json +2 -0
- package/dist/translations/nl.json +2 -0
- package/dist/translations/pl.json +2 -0
- package/dist/translations/pt.json +2 -0
- package/dist/translations/ru.json +2 -0
- package/dist/translations/sv.json +2 -0
- package/dist/translations/th.json +80 -78
- package/dist/translations/tr.json +2 -0
- package/dist/translations/type.d.ts +1 -1
- package/dist/translations/vi.json +2 -0
- package/dist/types/index.d.ts +8 -5
- package/dist/types/index.js +1 -1
- package/dist/uploads/generateFileData.d.ts +2 -2
- package/dist/uploads/getBaseFields.d.ts +1 -1
- package/dist/uploads/getImageSize.d.ts +1 -1
- package/dist/uploads/imageResizer.d.ts +2 -2
- package/dist/uploads/types.d.ts +10 -10
- package/dist/utilities/getEntityPolicies.d.ts +19 -0
- package/dist/utilities/getEntityPolicies.js +156 -0
- package/dist/utilities/logger.d.ts +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
- package/dist/utilities/telemetry/index.d.ts +4 -4
- package/dist/versions/cleanUpFailedVersion.d.ts +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +1 -1
- package/dist/versions/drafts/saveCollectionDraft.d.ts +1 -1
- package/dist/versions/drafts/saveGlobalDraft.d.ts +1 -1
- package/dist/versions/enforceMaxVersions.d.ts +1 -1
- package/dist/versions/ensurePublishedCollectionVersion.d.ts +1 -1
- package/dist/versions/ensurePublishedGlobalVersion.d.ts +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +1 -1
- package/dist/versions/saveCollectionVersion.d.ts +1 -1
- package/dist/versions/saveGlobalVersion.d.ts +1 -1
- package/dist/versions/shouldIncrementVersionCount.d.ts +1 -1
- package/dist/versions/types.d.ts +7 -7
- package/docs/admin/hooks.mdx +19 -17
- package/docs/authentication/operations.mdx +2 -0
- package/docs/graphql/overview.mdx +1 -1
- package/package.json +4 -3
- package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.d.ts +0 -4
- package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.js +0 -69
- package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.scss +0 -117
- package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/types.d.ts +0 -6
- package/dist/utilities/arrayMove.d.ts +0 -1
- package/dist/utilities/arrayMove.js +0 -10
|
@@ -1,38 +1,36 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
|
-
import { useModal } from '@faceless-ui/modal';
|
|
1
|
+
import React, { Fragment, useCallback, useEffect, useState } from 'react';
|
|
3
2
|
import { useTranslation } from 'react-i18next';
|
|
4
3
|
import Button from '../../../../elements/Button';
|
|
5
4
|
import Popup from '../../../../elements/Popup';
|
|
6
5
|
import { useRelatedCollections } from './useRelatedCollections';
|
|
7
6
|
import { useAuth } from '../../../../utilities/Auth';
|
|
8
|
-
import { AddNewRelationModal } from './Modal';
|
|
9
|
-
import { useEditDepth } from '../../../../utilities/EditDepth';
|
|
10
7
|
import Plus from '../../../../icons/Plus';
|
|
11
8
|
import { getTranslation } from '../../../../../../utilities/getTranslation';
|
|
9
|
+
import Tooltip from '../../../../elements/Tooltip';
|
|
10
|
+
import { useDocumentDrawer } from '../../../../elements/DocumentDrawer';
|
|
12
11
|
import './index.scss';
|
|
13
12
|
const baseClass = 'relationship-add-new';
|
|
14
13
|
export const AddNewRelation = ({ path, hasMany, relationTo, value, setValue, dispatchOptions }) => {
|
|
15
14
|
const relatedCollections = useRelatedCollections(relationTo);
|
|
16
|
-
const { toggleModal, isModalOpen } = useModal();
|
|
17
15
|
const { permissions } = useAuth();
|
|
18
|
-
const [
|
|
19
|
-
const [
|
|
16
|
+
const [show, setShow] = useState(false);
|
|
17
|
+
const [selectedCollection, setSelectedCollection] = useState();
|
|
18
|
+
const relatedToMany = relatedCollections.length > 1;
|
|
19
|
+
const [collectionConfig, setCollectionConfig] = useState(() => (!relatedToMany ? relatedCollections[0] : undefined));
|
|
20
20
|
const [popupOpen, setPopupOpen] = useState(false);
|
|
21
|
-
const editDepth = useEditDepth();
|
|
22
21
|
const { t, i18n } = useTranslation('fields');
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}, [toggleModal, modalSlug]);
|
|
22
|
+
const [showTooltip, setShowTooltip] = useState(false);
|
|
23
|
+
const [DocumentDrawer, DocumentDrawerToggler, { toggleDrawer, isDrawerOpen },] = useDocumentDrawer({
|
|
24
|
+
collectionSlug: collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.slug,
|
|
25
|
+
});
|
|
28
26
|
const onSave = useCallback((json) => {
|
|
29
27
|
const newValue = Array.isArray(relationTo) ? {
|
|
30
|
-
relationTo:
|
|
28
|
+
relationTo: collectionConfig.slug,
|
|
31
29
|
value: json.doc.id,
|
|
32
30
|
} : json.doc.id;
|
|
33
31
|
dispatchOptions({
|
|
34
32
|
type: 'ADD',
|
|
35
|
-
collection:
|
|
33
|
+
collection: collectionConfig,
|
|
36
34
|
docs: [
|
|
37
35
|
json.doc,
|
|
38
36
|
],
|
|
@@ -45,37 +43,59 @@ export const AddNewRelation = ({ path, hasMany, relationTo, value, setValue, dis
|
|
|
45
43
|
else {
|
|
46
44
|
setValue(newValue);
|
|
47
45
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}, [relationTo, modalCollection, dispatchOptions, i18n, hasMany, toggleModal, modalSlug, setValue, value]);
|
|
46
|
+
setSelectedCollection(undefined);
|
|
47
|
+
}, [relationTo, collectionConfig, dispatchOptions, i18n, hasMany, setValue, value]);
|
|
51
48
|
const onPopopToggle = useCallback((state) => {
|
|
52
49
|
setPopupOpen(state);
|
|
53
50
|
}, []);
|
|
54
51
|
useEffect(() => {
|
|
55
52
|
if (permissions) {
|
|
56
53
|
if (relatedCollections.length === 1) {
|
|
57
|
-
|
|
54
|
+
setShow(permissions.collections[relatedCollections[0].slug].create.permission);
|
|
58
55
|
}
|
|
59
56
|
else {
|
|
60
|
-
|
|
57
|
+
setShow(relatedCollections.some((collection) => permissions.collections[collection.slug].create.permission));
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
60
|
}, [permissions, relatedCollections]);
|
|
64
61
|
useEffect(() => {
|
|
65
|
-
if (
|
|
66
|
-
|
|
62
|
+
if (relatedToMany && selectedCollection) {
|
|
63
|
+
setCollectionConfig(relatedCollections.find((collection) => collection.slug === selectedCollection));
|
|
67
64
|
}
|
|
68
|
-
}, [
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
65
|
+
}, [selectedCollection, relatedToMany, relatedCollections]);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (relatedToMany && collectionConfig) {
|
|
68
|
+
// the drawer must be rendered on the page before before opening it
|
|
69
|
+
// this is why 'selectedCollection' is different from 'collectionConfig'
|
|
70
|
+
toggleDrawer();
|
|
71
|
+
setSelectedCollection(undefined);
|
|
72
|
+
}
|
|
73
|
+
}, [toggleDrawer, relatedToMany, collectionConfig]);
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
if (relatedToMany && !isDrawerOpen) {
|
|
76
|
+
setCollectionConfig(undefined);
|
|
77
|
+
}
|
|
78
|
+
}, [isDrawerOpen, relatedToMany]);
|
|
79
|
+
if (show) {
|
|
80
|
+
return (React.createElement("div", { className: baseClass, id: `${path}-add-new` },
|
|
81
|
+
relatedCollections.length === 1 && (React.createElement(Fragment, null,
|
|
82
|
+
React.createElement(DocumentDrawerToggler, { className: `${baseClass}__add-button`, onMouseEnter: () => setShowTooltip(true), onMouseLeave: () => setShowTooltip(false), onClick: () => setShowTooltip(false) },
|
|
83
|
+
React.createElement(Tooltip, { className: `${baseClass}__tooltip`, show: showTooltip }, t('addNewLabel', { label: getTranslation(relatedCollections[0].labels.singular, i18n) })),
|
|
84
|
+
React.createElement(Plus, null)),
|
|
85
|
+
React.createElement(DocumentDrawer, { onSave: onSave }))),
|
|
86
|
+
relatedCollections.length > 1 && (React.createElement(Fragment, null,
|
|
87
|
+
React.createElement(Popup, { buttonType: "custom", horizontalAlign: "center", onToggleOpen: onPopopToggle, button: (React.createElement(Button, { className: `${baseClass}__add-button`, buttonStyle: "none", tooltip: popupOpen ? undefined : t('addNew') },
|
|
88
|
+
React.createElement(Plus, null))), render: ({ close: closePopup }) => (React.createElement("ul", { className: `${baseClass}__relations` }, relatedCollections.map((relatedCollection) => {
|
|
89
|
+
if (permissions.collections[relatedCollection.slug].create.permission) {
|
|
90
|
+
return (React.createElement("li", { key: relatedCollection.slug },
|
|
91
|
+
React.createElement("button", { type: "button", className: `${baseClass}__relation-button ${baseClass}__relation-button--${relatedCollection.slug}`, onClick: () => {
|
|
92
|
+
closePopup();
|
|
93
|
+
setSelectedCollection(relatedCollection.slug);
|
|
94
|
+
} }, getTranslation(relatedCollection.labels.singular, i18n))));
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}))) }),
|
|
98
|
+
collectionConfig && permissions.collections[collectionConfig.slug].create.permission && (React.createElement(DocumentDrawer, { onSave: onSave }))))));
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
81
101
|
};
|
|
@@ -12,28 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
&__add-button {
|
|
14
14
|
@include formInput;
|
|
15
|
+
position: relative;
|
|
15
16
|
height: 100%;
|
|
16
17
|
margin-left: -1px;
|
|
17
18
|
display: flex;
|
|
18
|
-
padding: 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
display: flex;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.btn__content,
|
|
26
|
-
.btn__label {
|
|
27
|
-
height: 100%;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.btn__label {
|
|
31
|
-
padding: 0 base(.5);
|
|
32
|
-
align-items: center;
|
|
33
|
-
}
|
|
19
|
+
padding: 0 base(0.5);
|
|
20
|
+
align-items: center;
|
|
21
|
+
display: flex;
|
|
22
|
+
cursor: pointer;
|
|
34
23
|
}
|
|
35
24
|
|
|
36
|
-
|
|
37
25
|
&__relations {
|
|
38
26
|
list-style: none;
|
|
39
27
|
margin: 0;
|
|
@@ -57,4 +45,4 @@
|
|
|
57
45
|
opacity: .7;
|
|
58
46
|
}
|
|
59
47
|
}
|
|
60
|
-
}
|
|
48
|
+
}
|
package/dist/admin/components/forms/field-types/Relationship/AddNew/useRelatedCollections.js
CHANGED
|
@@ -3,8 +3,11 @@ import { useConfig } from '../../../../utilities/Config';
|
|
|
3
3
|
export const useRelatedCollections = (relationTo) => {
|
|
4
4
|
const config = useConfig();
|
|
5
5
|
const [relatedCollections] = useState(() => {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
if (relationTo) {
|
|
7
|
+
const relations = typeof relationTo === 'string' ? [relationTo] : relationTo;
|
|
8
|
+
return relations.map((relation) => config.collections.find((collection) => collection.slug === relation));
|
|
9
|
+
}
|
|
10
|
+
return [];
|
|
8
11
|
});
|
|
9
12
|
return relatedCollections;
|
|
10
13
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FilterOptions } from '../../../../../../fields/config/types';
|
|
2
2
|
import { FilterOptionsResult } from '../types';
|
|
3
|
-
|
|
3
|
+
type Args = {
|
|
4
4
|
filterOptions: FilterOptions;
|
|
5
5
|
filterOptionsResult: FilterOptionsResult;
|
|
6
6
|
setFilterOptionsResult: (optionFilters: FilterOptionsResult) => void;
|
|
@@ -18,6 +18,8 @@ import wordBoundariesRegex from '../../../../../utilities/wordBoundariesRegex';
|
|
|
18
18
|
import { AddNewRelation } from './AddNew';
|
|
19
19
|
import { findOptionsByValue } from './findOptionsByValue';
|
|
20
20
|
import { GetFilterOptions } from './GetFilterOptions';
|
|
21
|
+
import { SingleValue } from './select-components/SingleValue';
|
|
22
|
+
import { MultiValueLabel } from './select-components/MultiValueLabel';
|
|
21
23
|
import './index.scss';
|
|
22
24
|
const maxResultsPerRequest = 10;
|
|
23
25
|
const baseClass = 'relationship';
|
|
@@ -47,6 +49,7 @@ const Relationship = (props) => {
|
|
|
47
49
|
validate: memoizedValidate,
|
|
48
50
|
condition,
|
|
49
51
|
});
|
|
52
|
+
const [drawerIsOpen, setDrawerIsOpen] = useState(false);
|
|
50
53
|
const getResults = useCallback(async ({ lastFullyLoadedRelation: lastFullyLoadedRelationArg, lastLoadedPage: lastLoadedPageArg, search: searchArg, value: valueArg, sort, onSuccess, }) => {
|
|
51
54
|
if (!permissions) {
|
|
52
55
|
return;
|
|
@@ -273,7 +276,14 @@ const Relationship = (props) => {
|
|
|
273
276
|
value: initialValue,
|
|
274
277
|
sort: false,
|
|
275
278
|
});
|
|
276
|
-
}, value: valueToRender, showError: showError, disabled: formProcessing, options: options, isMulti: hasMany, isSortable: isSortable, isLoading: isLoading,
|
|
279
|
+
}, value: valueToRender, showError: showError, disabled: formProcessing, options: options, isMulti: hasMany, isSortable: isSortable, isLoading: isLoading, components: {
|
|
280
|
+
SingleValue,
|
|
281
|
+
MultiValueLabel,
|
|
282
|
+
}, selectProps: {
|
|
283
|
+
disableMouseDown: drawerIsOpen,
|
|
284
|
+
disableKeyDown: drawerIsOpen,
|
|
285
|
+
setDrawerIsOpen,
|
|
286
|
+
}, onMenuOpen: () => {
|
|
277
287
|
if (!hasLoadedFirstPage) {
|
|
278
288
|
setIsLoading(true);
|
|
279
289
|
getResults({
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React, { Fragment, useEffect, useState } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { components } from 'react-select';
|
|
4
|
+
import { useDocumentDrawer } from '../../../../../elements/DocumentDrawer';
|
|
5
|
+
import Tooltip from '../../../../../elements/Tooltip';
|
|
6
|
+
import Edit from '../../../../../icons/Edit';
|
|
7
|
+
import { useAuth } from '../../../../../utilities/Auth';
|
|
8
|
+
import './index.scss';
|
|
9
|
+
const baseClass = 'relationship--multi-value-label';
|
|
10
|
+
export const MultiValueLabel = (props) => {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
const { data: { value, relationTo, label, }, selectProps: { setDrawerIsOpen, draggableProps, }, } = props;
|
|
13
|
+
const { permissions } = useAuth();
|
|
14
|
+
const [showTooltip, setShowTooltip] = useState(false);
|
|
15
|
+
const { t } = useTranslation('general');
|
|
16
|
+
const hasReadPermission = Boolean((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[relationTo]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission);
|
|
17
|
+
const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen }] = useDocumentDrawer({
|
|
18
|
+
id: value === null || value === void 0 ? void 0 : value.toString(),
|
|
19
|
+
collectionSlug: relationTo,
|
|
20
|
+
});
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (typeof setDrawerIsOpen === 'function')
|
|
23
|
+
setDrawerIsOpen(isDrawerOpen);
|
|
24
|
+
}, [isDrawerOpen, setDrawerIsOpen]);
|
|
25
|
+
return (React.createElement("div", { className: baseClass },
|
|
26
|
+
React.createElement("div", { className: `${baseClass}__content` },
|
|
27
|
+
React.createElement(components.MultiValueLabel, { ...props, innerProps: {
|
|
28
|
+
className: `${baseClass}__text`,
|
|
29
|
+
...draggableProps || {},
|
|
30
|
+
} })),
|
|
31
|
+
relationTo && hasReadPermission && (React.createElement(Fragment, null,
|
|
32
|
+
React.createElement(DocumentDrawerToggler, { className: `${baseClass}__drawer-toggler`, "aria-label": `Edit ${label}`, onMouseEnter: () => setShowTooltip(true), onMouseLeave: () => setShowTooltip(false), onClick: () => setShowTooltip(false) },
|
|
33
|
+
React.createElement(Tooltip, { className: `${baseClass}__tooltip`, show: showTooltip }, t('editLabel', { label: '' })),
|
|
34
|
+
React.createElement(Edit, null)),
|
|
35
|
+
React.createElement(DocumentDrawer, null)))));
|
|
36
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@import '../../../../../../scss/styles.scss';
|
|
2
|
+
|
|
3
|
+
.relationship--multi-value-label {
|
|
4
|
+
display: flex;
|
|
5
|
+
|
|
6
|
+
&__content {
|
|
7
|
+
@extend %small;
|
|
8
|
+
padding: 0 base(.125) 0 base(.25);
|
|
9
|
+
max-width: 150px;
|
|
10
|
+
color: currentColor;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&__text {
|
|
16
|
+
text-overflow: ellipsis;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__drawer-toggler {
|
|
21
|
+
position: relative;
|
|
22
|
+
background: none;
|
|
23
|
+
border: none;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
padding: 0;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
margin-left: base(0.25);
|
|
30
|
+
|
|
31
|
+
.icon {
|
|
32
|
+
width: base(0.75);
|
|
33
|
+
height: base(0.75);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&:hover {
|
|
37
|
+
background-color: var(--theme-elevation-100);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { Fragment, useEffect, useState } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { components as SelectComponents } from 'react-select';
|
|
4
|
+
import { useDocumentDrawer } from '../../../../../elements/DocumentDrawer';
|
|
5
|
+
import Tooltip from '../../../../../elements/Tooltip';
|
|
6
|
+
import Edit from '../../../../../icons/Edit';
|
|
7
|
+
import { useAuth } from '../../../../../utilities/Auth';
|
|
8
|
+
import './index.scss';
|
|
9
|
+
const baseClass = 'relationship--single-value';
|
|
10
|
+
export const SingleValue = (props) => {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
const { data: { value, relationTo, label, }, children, selectProps: { selectProps: { setDrawerIsOpen, }, }, } = props;
|
|
13
|
+
const [showTooltip, setShowTooltip] = useState(false);
|
|
14
|
+
const { t } = useTranslation('general');
|
|
15
|
+
const { permissions } = useAuth();
|
|
16
|
+
const hasReadPermission = Boolean((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[relationTo]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission);
|
|
17
|
+
const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen }] = useDocumentDrawer({
|
|
18
|
+
id: value.toString(),
|
|
19
|
+
collectionSlug: relationTo,
|
|
20
|
+
});
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (typeof setDrawerIsOpen === 'function')
|
|
23
|
+
setDrawerIsOpen(isDrawerOpen);
|
|
24
|
+
}, [isDrawerOpen, setDrawerIsOpen]);
|
|
25
|
+
return (React.createElement("div", { className: baseClass },
|
|
26
|
+
React.createElement("div", { className: `${baseClass}__label` },
|
|
27
|
+
React.createElement(SelectComponents.SingleValue, { ...props },
|
|
28
|
+
React.createElement("div", { className: `${baseClass}__text` }, children),
|
|
29
|
+
relationTo && hasReadPermission && (React.createElement(Fragment, null,
|
|
30
|
+
React.createElement(DocumentDrawerToggler, { className: `${baseClass}__drawer-toggler`, "aria-label": t('editLabel', { label }), onMouseDown: (e) => e.stopPropagation(), onMouseEnter: () => setShowTooltip(true), onMouseLeave: () => setShowTooltip(false), onClick: () => setShowTooltip(false) },
|
|
31
|
+
React.createElement(Tooltip, { className: `${baseClass}__tooltip`, show: showTooltip }, t('edit')),
|
|
32
|
+
React.createElement(Edit, null)))))),
|
|
33
|
+
relationTo && hasReadPermission && (React.createElement(DocumentDrawer, null))));
|
|
34
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@import '../../../../../../scss/styles.scss';
|
|
2
|
+
|
|
3
|
+
.relationship--single-value {
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
|
|
7
|
+
.rs__single-value {
|
|
8
|
+
color: currentColor;
|
|
9
|
+
max-width: unset;
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
overflow: visible;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&__drawer-toggler {
|
|
16
|
+
position: relative;
|
|
17
|
+
background: none;
|
|
18
|
+
border: none;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
padding: 0;
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
margin-left: base(0.25);
|
|
25
|
+
|
|
26
|
+
.icon {
|
|
27
|
+
width: base(0.75);
|
|
28
|
+
height: base(0.75);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:focus {
|
|
32
|
+
outline: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:hover {
|
|
36
|
+
background-color: var(--theme-elevation-100);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&__label {
|
|
41
|
+
flex-grow: 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -2,27 +2,27 @@ import i18n from 'i18next';
|
|
|
2
2
|
import { SanitizedCollectionConfig } from '../../../../../collections/config/types';
|
|
3
3
|
import { RelationshipField } from '../../../../../fields/config/types';
|
|
4
4
|
import { Where } from '../../../../../types';
|
|
5
|
-
export
|
|
5
|
+
export type Props = Omit<RelationshipField, 'type'> & {
|
|
6
6
|
path?: string;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type Option = {
|
|
9
9
|
label: string;
|
|
10
10
|
value: string | number;
|
|
11
11
|
relationTo?: string;
|
|
12
12
|
options?: Option[];
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export type OptionGroup = {
|
|
15
15
|
label: string;
|
|
16
16
|
options: Option[];
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export type Value = {
|
|
19
19
|
relationTo: string;
|
|
20
20
|
value: string | number;
|
|
21
21
|
} | string | number;
|
|
22
|
-
|
|
22
|
+
type CLEAR = {
|
|
23
23
|
type: 'CLEAR';
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
type ADD = {
|
|
26
26
|
type: 'ADD';
|
|
27
27
|
docs: any[];
|
|
28
28
|
collection: SanitizedCollectionConfig;
|
|
@@ -30,12 +30,12 @@ declare type ADD = {
|
|
|
30
30
|
ids?: unknown[];
|
|
31
31
|
i18n: typeof i18n;
|
|
32
32
|
};
|
|
33
|
-
export
|
|
34
|
-
export
|
|
33
|
+
export type Action = CLEAR | ADD;
|
|
34
|
+
export type ValueWithRelation = {
|
|
35
35
|
relationTo: string;
|
|
36
36
|
value: string;
|
|
37
37
|
};
|
|
38
|
-
export
|
|
38
|
+
export type GetResults = (args: {
|
|
39
39
|
lastFullyLoadedRelation?: number;
|
|
40
40
|
lastLoadedPage?: number;
|
|
41
41
|
search?: string;
|
|
@@ -43,7 +43,7 @@ export declare type GetResults = (args: {
|
|
|
43
43
|
sort?: boolean;
|
|
44
44
|
onSuccess?: () => void;
|
|
45
45
|
}) => Promise<void>;
|
|
46
|
-
export
|
|
46
|
+
export type FilterOptionsResult = {
|
|
47
47
|
[relation: string]: Where;
|
|
48
48
|
};
|
|
49
49
|
export {};
|
|
@@ -4,11 +4,11 @@ import { ReactEditor } from 'slate-react';
|
|
|
4
4
|
import { HistoryEditor } from 'slate-history';
|
|
5
5
|
import { Props } from './types';
|
|
6
6
|
import './index.scss';
|
|
7
|
-
|
|
7
|
+
type CustomText = {
|
|
8
8
|
text: string;
|
|
9
9
|
[x: string]: unknown;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type CustomElement = {
|
|
12
12
|
type?: string;
|
|
13
13
|
children: CustomText[];
|
|
14
14
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Field } from '../../../../../../../../fields/config/types';
|
|
2
2
|
import { Fields } from '../../../../../Form/types';
|
|
3
|
-
export
|
|
3
|
+
export type Props = {
|
|
4
4
|
modalSlug: string;
|
|
5
5
|
close: () => void;
|
|
6
6
|
handleModalSubmit: (fields: Fields, data: Record<string, unknown>) => void;
|
package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { useTranslation } from 'react-i18next';
|
|
|
4
4
|
import { useConfig } from '../../../../../../utilities/Config';
|
|
5
5
|
import RelationshipIcon from '../../../../../../icons/Relationship';
|
|
6
6
|
import usePayloadAPI from '../../../../../../../hooks/usePayloadAPI';
|
|
7
|
+
import { getTranslation } from '../../../../../../../../utilities/getTranslation';
|
|
7
8
|
import './index.scss';
|
|
8
9
|
const baseClass = 'rich-text-relationship';
|
|
9
10
|
const initialParams = {
|
|
@@ -17,7 +18,7 @@ const Element = (props) => {
|
|
|
17
18
|
const [relatedCollection] = useState(() => collections.find((coll) => coll.slug === relationTo));
|
|
18
19
|
const selected = useSelected();
|
|
19
20
|
const focused = useFocused();
|
|
20
|
-
const { t } = useTranslation('fields');
|
|
21
|
+
const { t, i18n } = useTranslation('fields');
|
|
21
22
|
const [{ data }] = usePayloadAPI(`${serverURL}${api}/${relatedCollection.slug}/${value === null || value === void 0 ? void 0 : value.id}`, { initialParams });
|
|
22
23
|
return (React.createElement("div", { className: [
|
|
23
24
|
baseClass,
|
|
@@ -25,7 +26,7 @@ const Element = (props) => {
|
|
|
25
26
|
].filter(Boolean).join(' '), contentEditable: false, ...attributes },
|
|
26
27
|
React.createElement(RelationshipIcon, null),
|
|
27
28
|
React.createElement("div", { className: `${baseClass}__wrap` },
|
|
28
|
-
React.createElement("div", { className: `${baseClass}__label` }, t('labelRelationship', { label: relatedCollection.labels.singular })),
|
|
29
|
+
React.createElement("div", { className: `${baseClass}__label` }, t('labelRelationship', { label: getTranslation(relatedCollection.labels.singular, i18n) })),
|
|
29
30
|
React.createElement("h5", null, data[((_a = relatedCollection === null || relatedCollection === void 0 ? void 0 : relatedCollection.admin) === null || _a === void 0 ? void 0 : _a.useAsTitle) || 'id'])),
|
|
30
31
|
children));
|
|
31
32
|
};
|
|
@@ -3,7 +3,7 @@ import { Element } from 'slate';
|
|
|
3
3
|
import { SanitizedCollectionConfig } from '../../../../../../../../../collections/config/types';
|
|
4
4
|
import { Field } from '../../../../../../../../../fields/config/types';
|
|
5
5
|
import './index.scss';
|
|
6
|
-
|
|
6
|
+
type Props = {
|
|
7
7
|
slug: string;
|
|
8
8
|
closeModal: () => void;
|
|
9
9
|
relatedCollectionConfig: SanitizedCollectionConfig;
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { Element } from 'slate';
|
|
3
3
|
import { SanitizedCollectionConfig } from '../../../../../../../../../collections/config/types';
|
|
4
4
|
import '../../addSwapModals.scss';
|
|
5
|
-
|
|
5
|
+
type Props = {
|
|
6
6
|
slug: string;
|
|
7
7
|
element: Element;
|
|
8
8
|
closeModal: () => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RowField } from '../../../../../fields/config/types';
|
|
2
2
|
import { FieldTypes } from '..';
|
|
3
3
|
import { FieldPermissions } from '../../../../../auth/types';
|
|
4
|
-
export
|
|
4
|
+
export type Props = Omit<RowField, 'type'> & {
|
|
5
5
|
path?: string;
|
|
6
6
|
fieldTypes: FieldTypes;
|
|
7
7
|
permissions: FieldPermissions;
|
|
@@ -3,7 +3,7 @@ import { OptionObject, SelectField } from '../../../../../fields/config/types';
|
|
|
3
3
|
import { Description } from '../../FieldDescription/types';
|
|
4
4
|
import { Option } from '../../../elements/ReactSelect/types';
|
|
5
5
|
import './index.scss';
|
|
6
|
-
export
|
|
6
|
+
export type SelectInputProps = Omit<SelectField, 'type' | 'value' | 'options'> & {
|
|
7
7
|
showError?: boolean;
|
|
8
8
|
errorMessage?: string;
|
|
9
9
|
readOnly?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TabsField } from '../../../../../fields/config/types';
|
|
2
2
|
import { FieldTypes } from '..';
|
|
3
3
|
import { FieldPermissions } from '../../../../../auth/types';
|
|
4
|
-
export
|
|
4
|
+
export type Props = Omit<TabsField, 'type'> & {
|
|
5
5
|
path?: string;
|
|
6
6
|
fieldTypes: FieldTypes;
|
|
7
7
|
permissions: FieldPermissions;
|
|
@@ -2,7 +2,7 @@ import React, { ChangeEvent } from 'react';
|
|
|
2
2
|
import { TextField } from '../../../../../fields/config/types';
|
|
3
3
|
import { Description } from '../../FieldDescription/types';
|
|
4
4
|
import './index.scss';
|
|
5
|
-
export
|
|
5
|
+
export type TextInputProps = Omit<TextField, 'type'> & {
|
|
6
6
|
showError?: boolean;
|
|
7
7
|
errorMessage?: string;
|
|
8
8
|
readOnly?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TextField } from '../../../../../fields/config/types';
|
|
3
|
-
export
|
|
3
|
+
export type Props = Omit<TextField, 'type'> & {
|
|
4
4
|
path?: string;
|
|
5
5
|
inputRef?: React.MutableRefObject<HTMLInputElement>;
|
|
6
6
|
onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
|