@websolutespa/payload-plugin-bowl 1.9.21 → 1.10.0-next.0
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/dist/blocks/MenuItem.js +219 -0
- package/dist/blocks/MenuItem.js.map +1 -0
- package/dist/blocks/index.js +4 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/withComponentBlock.js +31 -0
- package/dist/blocks/withComponentBlock.js.map +1 -0
- package/dist/bowl.js +250 -0
- package/dist/bowl.js.map +1 -0
- package/dist/collections/Address.js +7 -0
- package/dist/collections/Address.js.map +1 -0
- package/dist/collections/Category.js +94 -0
- package/dist/collections/Category.js.map +1 -0
- package/dist/collections/ConsentPreference.js +34 -0
- package/dist/collections/ConsentPreference.js.map +1 -0
- package/dist/collections/Continent.js +24 -0
- package/dist/collections/Continent.js.map +1 -0
- package/dist/collections/Country.js +66 -0
- package/dist/collections/Country.js.map +1 -0
- package/dist/collections/CountryZone.js +24 -0
- package/dist/collections/CountryZone.js.map +1 -0
- package/dist/collections/EmailConfig.js +84 -0
- package/dist/collections/EmailConfig.js.map +1 -0
- package/dist/collections/EndUsers.js +24 -0
- package/dist/collections/EndUsers.js.map +1 -0
- package/dist/collections/Label.js +26 -0
- package/dist/collections/Label.js.map +1 -0
- package/dist/collections/Language.js +35 -0
- package/dist/collections/Language.js.map +1 -0
- package/dist/collections/LegalNotice.js +29 -0
- package/dist/collections/LegalNotice.js.map +1 -0
- package/dist/collections/Market.js +106 -0
- package/dist/collections/Market.js.map +1 -0
- package/dist/collections/Media.js +40 -0
- package/dist/collections/Media.js.map +1 -0
- package/dist/collections/Menu.js +49 -0
- package/dist/collections/Menu.js.map +1 -0
- package/dist/collections/Municipality.js +68 -0
- package/dist/collections/Municipality.js.map +1 -0
- package/dist/collections/Province.js +59 -0
- package/dist/collections/Province.js.map +1 -0
- package/dist/collections/Redirect.js +90 -0
- package/dist/collections/Redirect.js.map +1 -0
- package/dist/collections/Region.js +45 -0
- package/dist/collections/Region.js.map +1 -0
- package/dist/collections/SubContinent.js +36 -0
- package/dist/collections/SubContinent.js.map +1 -0
- package/dist/collections/Template.js +79 -0
- package/dist/collections/Template.js.map +1 -0
- package/dist/collections/Users.js +11 -0
- package/dist/collections/Users.js.map +1 -0
- package/dist/components/Category/CategoryMenu.js +47 -0
- package/dist/components/Category/CategoryMenu.js.map +1 -0
- package/dist/components/Category/CategoryTree.js +431 -0
- package/dist/components/Category/CategoryTree.js.map +1 -0
- package/dist/components/Category/CategoryTree.scss +330 -0
- package/dist/components/Category/CategoryTreeBak.js +425 -0
- package/dist/components/Category/CategoryTreeBak.js.map +1 -0
- package/dist/components/Category/CategoryTreeRoute.js +51 -0
- package/dist/components/Category/CategoryTreeRoute.js.map +1 -0
- package/dist/components/Category/category.service.js +32 -0
- package/dist/components/Category/category.service.js.map +1 -0
- package/dist/components/DataTree/DataTree.js +281 -0
- package/dist/components/DataTree/DataTree.js.map +1 -0
- package/dist/components/DataTree/DataTree.scss +364 -0
- package/dist/components/DataTree/DataTreeProvider.js +67 -0
- package/dist/components/DataTree/DataTreeProvider.js.map +1 -0
- package/dist/components/DataTree/EventEmitter.js +38 -0
- package/dist/components/DataTree/EventEmitter.js.map +1 -0
- package/dist/components/DataTree/useDataTree.js +52 -0
- package/dist/components/DataTree/useDataTree.js.map +1 -0
- package/dist/components/DecoratedList/DecoratedList.js +17 -0
- package/dist/components/DecoratedList/DecoratedList.js.map +1 -0
- package/dist/components/IconServer/IconServer.js +15 -0
- package/dist/components/IconServer/IconServer.js.map +1 -0
- package/dist/components/IconServer/IconServer.scss +14 -0
- package/dist/components/ImportExport/ImportExportList.js +68 -0
- package/dist/components/ImportExport/ImportExportList.js.map +1 -0
- package/dist/components/ImportExport/ImportExportList.scss +70 -0
- package/dist/components/ImportExport/ImportExportRedirect.js +114 -0
- package/dist/components/ImportExport/ImportExportRedirect.js.map +1 -0
- package/dist/components/ImportExport/ImportExportRedirectList.js +110 -0
- package/dist/components/ImportExport/ImportExportRedirectList.js.map +1 -0
- package/dist/components/ImportExport/ImportModal.js +456 -0
- package/dist/components/ImportExport/ImportModal.js.map +1 -0
- package/dist/components/ImportExport/ImportModal.scss +99 -0
- package/dist/components/ImportExport/types.js +3 -0
- package/dist/components/ImportExport/types.js.map +1 -0
- package/dist/components/LeaveWithoutSaving/LeaveWithoutSaving.js +83 -0
- package/dist/components/LeaveWithoutSaving/LeaveWithoutSaving.js.map +1 -0
- package/dist/components/LeaveWithoutSaving/LeaveWithoutSaving.scss +46 -0
- package/dist/components/LeaveWithoutSaving/usePreventLeave.js +119 -0
- package/dist/components/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
- package/dist/components/LocalizedDescription/LocalizedDescriptionClient.js +15 -0
- package/dist/components/LocalizedDescription/LocalizedDescriptionClient.js.map +1 -0
- package/dist/components/LocalizedDescription/LocalizedDescriptionServer.js +13 -0
- package/dist/components/LocalizedDescription/LocalizedDescriptionServer.js.map +1 -0
- package/dist/components/LogoServer/LogoServer.js +20 -0
- package/dist/components/LogoServer/LogoServer.js.map +1 -0
- package/dist/components/LogoServer/LogoServer.scss +21 -0
- package/dist/core/access/access.js +143 -0
- package/dist/core/access/access.js.map +1 -0
- package/dist/core/access/access.test.js +375 -0
- package/dist/core/access/access.test.js.map +1 -0
- package/dist/core/access/index.js +3 -0
- package/dist/core/access/index.js.map +1 -0
- package/dist/core/api/action.service.js +436 -0
- package/dist/core/api/action.service.js.map +1 -0
- package/dist/core/api/action.service.test.js +207 -0
- package/dist/core/api/action.service.test.js.map +1 -0
- package/dist/core/api/cache.service.js +33 -0
- package/dist/core/api/cache.service.js.map +1 -0
- package/dist/core/api/cache.service.test.js +32 -0
- package/dist/core/api/cache.service.test.js.map +1 -0
- package/dist/core/api/category.service.js +53 -0
- package/dist/core/api/category.service.js.map +1 -0
- package/dist/core/api/collection.service.js +429 -0
- package/dist/core/api/collection.service.js.map +1 -0
- package/dist/core/api/collection.service.test.js +256 -0
- package/dist/core/api/collection.service.test.js.map +1 -0
- package/dist/core/api/email.service.js +84 -0
- package/dist/core/api/email.service.js.map +1 -0
- package/dist/core/api/global.service.js +22 -0
- package/dist/core/api/global.service.js.map +1 -0
- package/dist/core/api/health.service.js +12 -0
- package/dist/core/api/health.service.js.map +1 -0
- package/dist/core/api/index.js +16 -0
- package/dist/core/api/index.js.map +1 -0
- package/dist/core/api/locale.service.js +54 -0
- package/dist/core/api/locale.service.js.map +1 -0
- package/dist/core/api/locale.service.test.js +39 -0
- package/dist/core/api/locale.service.test.js.map +1 -0
- package/dist/core/api/menu.service.js +88 -0
- package/dist/core/api/menu.service.js.map +1 -0
- package/dist/core/api/menu.service.test.js +234 -0
- package/dist/core/api/menu.service.test.js.map +1 -0
- package/dist/core/api/page.service.js +136 -0
- package/dist/core/api/page.service.js.map +1 -0
- package/dist/core/api/page.service.test.js +47 -0
- package/dist/core/api/page.service.test.js.map +1 -0
- package/dist/core/api/pagination.service.js +28 -0
- package/dist/core/api/pagination.service.js.map +1 -0
- package/dist/core/api/pagination.service.test.js +174 -0
- package/dist/core/api/pagination.service.test.js.map +1 -0
- package/dist/core/api/redirect.service.js +106 -0
- package/dist/core/api/redirect.service.js.map +1 -0
- package/dist/core/api/redirect.service.test.js +76 -0
- package/dist/core/api/redirect.service.test.js.map +1 -0
- package/dist/core/api/route.service.js +404 -0
- package/dist/core/api/route.service.js.map +1 -0
- package/dist/core/api/route.service.test.js +158 -0
- package/dist/core/api/route.service.test.js.map +1 -0
- package/dist/core/api/static.service.js +193 -0
- package/dist/core/api/static.service.js.map +1 -0
- package/dist/core/api/store.service.js +256 -0
- package/dist/core/api/store.service.js.map +1 -0
- package/dist/core/api/store.service.test.js +80 -0
- package/dist/core/api/store.service.test.js.map +1 -0
- package/dist/core/api/types.js +21 -0
- package/dist/core/api/types.js.map +1 -0
- package/dist/core/api/utils.js +64 -0
- package/dist/core/api/utils.js.map +1 -0
- package/dist/core/api/where.service.js +107 -0
- package/dist/core/api/where.service.js.map +1 -0
- package/dist/core/collections/index.js +12 -0
- package/dist/core/collections/index.js.map +1 -0
- package/dist/core/collections/withAction.js +91 -0
- package/dist/core/collections/withAction.js.map +1 -0
- package/dist/core/collections/withAction.test.js +57 -0
- package/dist/core/collections/withAction.test.js.map +1 -0
- package/dist/core/collections/withAddress.js +122 -0
- package/dist/core/collections/withAddress.js.map +1 -0
- package/dist/core/collections/withBlock.js +17 -0
- package/dist/core/collections/withBlock.js.map +1 -0
- package/dist/core/collections/withBlock.test.js +57 -0
- package/dist/core/collections/withBlock.test.js.map +1 -0
- package/dist/core/collections/withCollection.js +60 -0
- package/dist/core/collections/withCollection.js.map +1 -0
- package/dist/core/collections/withCollection.test.js +49 -0
- package/dist/core/collections/withCollection.test.js.map +1 -0
- package/dist/core/collections/withEndUser.js +301 -0
- package/dist/core/collections/withEndUser.js.map +1 -0
- package/dist/core/collections/withGlobal.js +27 -0
- package/dist/core/collections/withGlobal.js.map +1 -0
- package/dist/core/collections/withGlobal.test.js +46 -0
- package/dist/core/collections/withGlobal.test.js.map +1 -0
- package/dist/core/collections/withMenu.js +17 -0
- package/dist/core/collections/withMenu.js.map +1 -0
- package/dist/core/collections/withMenu.test.js +52 -0
- package/dist/core/collections/withMenu.test.js.map +1 -0
- package/dist/core/collections/withPage.js +122 -0
- package/dist/core/collections/withPage.js.map +1 -0
- package/dist/core/collections/withPage.test.js +90 -0
- package/dist/core/collections/withPage.test.js.map +1 -0
- package/dist/core/collections/withStaticCollection.js +138 -0
- package/dist/core/collections/withStaticCollection.js.map +1 -0
- package/dist/core/collections/withStaticCollection.test.js +57 -0
- package/dist/core/collections/withStaticCollection.test.js.map +1 -0
- package/dist/core/collections/withUser.js +56 -0
- package/dist/core/collections/withUser.js.map +1 -0
- package/dist/core/decorators/category.js +28 -0
- package/dist/core/decorators/category.js.map +1 -0
- package/dist/core/decorators/href.js +25 -0
- package/dist/core/decorators/href.js.map +1 -0
- package/dist/core/decorators/index.js +8 -0
- package/dist/core/decorators/index.js.map +1 -0
- package/dist/core/decorators/localize.js +27 -0
- package/dist/core/decorators/localize.js.map +1 -0
- package/dist/core/decorators/menu.js +243 -0
- package/dist/core/decorators/menu.js.map +1 -0
- package/dist/core/decorators/nav.js +42 -0
- package/dist/core/decorators/nav.js.map +1 -0
- package/dist/core/decorators/schema.js +16 -0
- package/dist/core/decorators/schema.js.map +1 -0
- package/dist/core/decorators/static.js +108 -0
- package/dist/core/decorators/static.js.map +1 -0
- package/dist/core/encryption/encryption.js +66 -0
- package/dist/core/encryption/encryption.js.map +1 -0
- package/dist/core/encryption/index.js +3 -0
- package/dist/core/encryption/index.js.map +1 -0
- package/dist/core/fields/index.js +26 -0
- package/dist/core/fields/index.js.map +1 -0
- package/dist/core/fields/withAbstract.js +15 -0
- package/dist/core/fields/withAbstract.js.map +1 -0
- package/dist/core/fields/withAbstract.test.js +54 -0
- package/dist/core/fields/withAbstract.test.js.map +1 -0
- package/dist/core/fields/withAnchor.js +56 -0
- package/dist/core/fields/withAnchor.js.map +1 -0
- package/dist/core/fields/withCategory.js +21 -0
- package/dist/core/fields/withCategory.js.map +1 -0
- package/dist/core/fields/withCategory.test.js +50 -0
- package/dist/core/fields/withCategory.test.js.map +1 -0
- package/dist/core/fields/withCheckbox.js +19 -0
- package/dist/core/fields/withCheckbox.js.map +1 -0
- package/dist/core/fields/withCheckbox.test.js +46 -0
- package/dist/core/fields/withCheckbox.test.js.map +1 -0
- package/dist/core/fields/withComponents.js +14 -0
- package/dist/core/fields/withComponents.js.map +1 -0
- package/dist/core/fields/withComponents.test.js +49 -0
- package/dist/core/fields/withComponents.test.js.map +1 -0
- package/dist/core/fields/withDate.js +18 -0
- package/dist/core/fields/withDate.js.map +1 -0
- package/dist/core/fields/withDate.test.js +43 -0
- package/dist/core/fields/withDate.test.js.map +1 -0
- package/dist/core/fields/withDescription.js +15 -0
- package/dist/core/fields/withDescription.js.map +1 -0
- package/dist/core/fields/withDescription.test.js +54 -0
- package/dist/core/fields/withDescription.test.js.map +1 -0
- package/dist/core/fields/withId.js +19 -0
- package/dist/core/fields/withId.js.map +1 -0
- package/dist/core/fields/withId.test.js +48 -0
- package/dist/core/fields/withId.test.js.map +1 -0
- package/dist/core/fields/withIsActive.js +15 -0
- package/dist/core/fields/withIsActive.js.map +1 -0
- package/dist/core/fields/withIsActive.test.js +46 -0
- package/dist/core/fields/withIsActive.test.js.map +1 -0
- package/dist/core/fields/withIsDefault.js +15 -0
- package/dist/core/fields/withIsDefault.js.map +1 -0
- package/dist/core/fields/withIsDefault.test.js +46 -0
- package/dist/core/fields/withIsDefault.test.js.map +1 -0
- package/dist/core/fields/withLink.js +116 -0
- package/dist/core/fields/withLink.js.map +1 -0
- package/dist/core/fields/withLink.test.js +133 -0
- package/dist/core/fields/withLink.test.js.map +1 -0
- package/dist/core/fields/withMarkets.js +21 -0
- package/dist/core/fields/withMarkets.js.map +1 -0
- package/dist/core/fields/withMarkets.test.js +52 -0
- package/dist/core/fields/withMarkets.test.js.map +1 -0
- package/dist/core/fields/withMedia.js +20 -0
- package/dist/core/fields/withMedia.js.map +1 -0
- package/dist/core/fields/withMedia.test.js +34 -0
- package/dist/core/fields/withMedia.test.js.map +1 -0
- package/dist/core/fields/withMedias.js +22 -0
- package/dist/core/fields/withMedias.js.map +1 -0
- package/dist/core/fields/withMedias.test.js +39 -0
- package/dist/core/fields/withMedias.test.js.map +1 -0
- package/dist/core/fields/withName.js +17 -0
- package/dist/core/fields/withName.js.map +1 -0
- package/dist/core/fields/withName.test.js +46 -0
- package/dist/core/fields/withName.test.js.map +1 -0
- package/dist/core/fields/withOrder.js +80 -0
- package/dist/core/fields/withOrder.js.map +1 -0
- package/dist/core/fields/withOrder.test.js +43 -0
- package/dist/core/fields/withOrder.test.js.map +1 -0
- package/dist/core/fields/withRelated.js +15 -0
- package/dist/core/fields/withRelated.js.map +1 -0
- package/dist/core/fields/withRelated.test.js +49 -0
- package/dist/core/fields/withRelated.test.js.map +1 -0
- package/dist/core/fields/withRichText.js +32 -0
- package/dist/core/fields/withRichText.js.map +1 -0
- package/dist/core/fields/withRichText.test.js +54 -0
- package/dist/core/fields/withRichText.test.js.map +1 -0
- package/dist/core/fields/withRoles.js +27 -0
- package/dist/core/fields/withRoles.js.map +1 -0
- package/dist/core/fields/withRoles.test.js +41 -0
- package/dist/core/fields/withRoles.test.js.map +1 -0
- package/dist/core/fields/withSelect.js +23 -0
- package/dist/core/fields/withSelect.js.map +1 -0
- package/dist/core/fields/withSelect.test.js +46 -0
- package/dist/core/fields/withSelect.test.js.map +1 -0
- package/dist/core/fields/withSeoWeight.js +19 -0
- package/dist/core/fields/withSeoWeight.js.map +1 -0
- package/dist/core/fields/withSlug.js +33 -0
- package/dist/core/fields/withSlug.js.map +1 -0
- package/dist/core/fields/withSlug.test.js +54 -0
- package/dist/core/fields/withSlug.test.js.map +1 -0
- package/dist/core/fields/withTemplate.js +49 -0
- package/dist/core/fields/withTemplate.js.map +1 -0
- package/dist/core/fields/withTemplate.test.js +66 -0
- package/dist/core/fields/withTemplate.test.js.map +1 -0
- package/dist/core/fields/withTenants.js +21 -0
- package/dist/core/fields/withTenants.js.map +1 -0
- package/dist/core/fields/withTenants.test.js +34 -0
- package/dist/core/fields/withTenants.test.js.map +1 -0
- package/dist/core/fields/withText.js +18 -0
- package/dist/core/fields/withText.js.map +1 -0
- package/dist/core/fields/withText.test.js +43 -0
- package/dist/core/fields/withText.test.js.map +1 -0
- package/dist/core/fields/withTitle.js +17 -0
- package/dist/core/fields/withTitle.js.map +1 -0
- package/dist/core/fields/withTitle.test.js +45 -0
- package/dist/core/fields/withTitle.test.js.map +1 -0
- package/dist/core/index.js +11 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger/index.js +3 -0
- package/dist/core/logger/index.js.map +1 -0
- package/dist/core/logger/logger.js +9 -0
- package/dist/core/logger/logger.js.map +1 -0
- package/dist/core/translations/index.js +3 -0
- package/dist/core/translations/index.js.map +1 -0
- package/dist/core/translations/translations.js +133 -0
- package/dist/core/translations/translations.js.map +1 -0
- package/dist/core/translations/translations.test.js +62 -0
- package/dist/core/translations/translations.test.js.map +1 -0
- package/dist/core/utils/findByIDHandler.js +28 -0
- package/dist/core/utils/findByIDHandler.js.map +1 -0
- package/dist/core/utils/findHandler.js +31 -0
- package/dist/core/utils/findHandler.js.map +1 -0
- package/dist/core/utils/getPreviewURL.js +45 -0
- package/dist/core/utils/getPreviewURL.js.map +1 -0
- package/dist/core/utils/getRequestCollection.js +49 -0
- package/dist/core/utils/getRequestCollection.js.map +1 -0
- package/dist/core/utils/index.js +7 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/mergeCollections.js +17 -0
- package/dist/core/utils/mergeCollections.js.map +1 -0
- package/dist/core/utils/mergeFields.js +20 -0
- package/dist/core/utils/mergeFields.js.map +1 -0
- package/dist/core/utils/mergeGlobals.js +17 -0
- package/dist/core/utils/mergeGlobals.js.map +1 -0
- package/dist/core/utils/slateNodesToHTML.js +99 -0
- package/dist/core/utils/slateNodesToHTML.js.map +1 -0
- package/dist/core/utils/sortByGroup.js +36 -0
- package/dist/core/utils/sortByGroup.js.map +1 -0
- package/dist/debug.js +25 -0
- package/dist/debug.js.map +1 -0
- package/dist/declaration.d.js +3 -0
- package/dist/declaration.d.js.map +1 -0
- package/dist/exports/client.js +8 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/rsc.js +5 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/fields/color-picker/ColorCell.js +19 -0
- package/dist/fields/color-picker/ColorCell.js.map +1 -0
- package/dist/fields/color-picker/ColorField.js +131 -0
- package/dist/fields/color-picker/ColorField.js.map +1 -0
- package/dist/fields/color-picker/index.js +26 -0
- package/dist/fields/color-picker/index.js.map +1 -0
- package/dist/fields/color-picker/styles.scss +47 -0
- package/dist/fields/color-picker/utils.js +6 -0
- package/dist/fields/color-picker/utils.js.map +1 -0
- package/dist/fields/index.js +3 -0
- package/dist/fields/index.js.map +1 -0
- package/dist/globals/Locale.js +82 -0
- package/dist/globals/Locale.js.map +1 -0
- package/dist/globals/LocaleRowLabel.js +16 -0
- package/dist/globals/LocaleRowLabel.js.map +1 -0
- package/dist/index.d.ts +782 -790
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -8893
- package/dist/index.js.map +1 -0
- package/dist/mapper.js +192 -0
- package/dist/mapper.js.map +1 -0
- package/dist/options.js +75 -0
- package/dist/options.js.map +1 -0
- package/dist/test/helpers/testHelpers.js +237 -0
- package/dist/test/helpers/testHelpers.js.map +1 -0
- package/dist/test/test.config.js +561 -0
- package/dist/test/test.config.js.map +1 -0
- package/dist/translations.js +441 -0
- package/dist/translations.js.map +1 -0
- package/dist/types.js +31 -0
- package/dist/types.js.map +1 -0
- package/dist/webpack.js +60 -0
- package/dist/webpack.js.map +1 -0
- package/package.json +70 -28
- package/CHANGELOG.md +0 -604
- package/dist/index.css +0 -796
- package/scss/styles.scss +0 -144
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { hasRole, isRole } from '../core';
|
|
2
|
+
import { afterCategoryChangeHook, afterCategoryDeleteHook } from '../core/api';
|
|
3
|
+
import { roles } from '../types';
|
|
4
|
+
export const Category = (options)=>({
|
|
5
|
+
type: 'withCollection',
|
|
6
|
+
slug: options.slug.category,
|
|
7
|
+
admin: {
|
|
8
|
+
group: options.group.nav,
|
|
9
|
+
useAsTitle: 'id',
|
|
10
|
+
defaultColumns: [
|
|
11
|
+
'id',
|
|
12
|
+
'title',
|
|
13
|
+
'category',
|
|
14
|
+
'order'
|
|
15
|
+
],
|
|
16
|
+
components: {
|
|
17
|
+
beforeList: [
|
|
18
|
+
'@websolutespa/payload-plugin-bowl/client#CategoryMenu'
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin, roles.Contributor)
|
|
22
|
+
},
|
|
23
|
+
access: {
|
|
24
|
+
create: isRole(roles.Admin, roles.Contributor),
|
|
25
|
+
read: isRole(),
|
|
26
|
+
update: isRole(roles.Admin, roles.Contributor),
|
|
27
|
+
delete: isRole(roles.Admin, roles.Contributor)
|
|
28
|
+
},
|
|
29
|
+
hooks: {
|
|
30
|
+
afterChange: [
|
|
31
|
+
afterCategoryChangeHook
|
|
32
|
+
],
|
|
33
|
+
afterDelete: [
|
|
34
|
+
afterCategoryDeleteHook
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
views: {
|
|
38
|
+
CategoryTree: {
|
|
39
|
+
path: `/tree/${options.slug.category}`,
|
|
40
|
+
exact: true,
|
|
41
|
+
Component: '@websolutespa/payload-plugin-bowl/rsc#CategoryTreeRoute'
|
|
42
|
+
},
|
|
43
|
+
CategoryTreeDetail: {
|
|
44
|
+
path: `/tree/${options.slug.category}/:itemId`,
|
|
45
|
+
exact: true,
|
|
46
|
+
Component: '@websolutespa/payload-plugin-bowl/rsc#CategoryTreeRoute'
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
fields: [
|
|
50
|
+
// inherited fields: id, createdAt, updatedAt
|
|
51
|
+
{
|
|
52
|
+
type: 'withId',
|
|
53
|
+
required: true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: 'withTitle',
|
|
57
|
+
required: true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: 'withSlug',
|
|
61
|
+
fieldToUse: 'title',
|
|
62
|
+
unique: false,
|
|
63
|
+
admin: {
|
|
64
|
+
position: 'sidebar'
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'withCheckbox',
|
|
69
|
+
name: 'isHidden',
|
|
70
|
+
defaultValue: false,
|
|
71
|
+
admin: {
|
|
72
|
+
position: 'sidebar'
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'withMedia'
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: 'withCategory',
|
|
80
|
+
admin: {
|
|
81
|
+
position: 'sidebar'
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'withOrder',
|
|
86
|
+
slug: options.slug.category,
|
|
87
|
+
admin: {
|
|
88
|
+
position: 'sidebar'
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=Category.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Category.ts"],"sourcesContent":["import { hasRole, isRole } from '../core';\r\nimport { afterCategoryChangeHook, afterCategoryDeleteHook } from '../core/api';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const Category = (options: BowlOptions): BowlCollection => ({\r\n type: 'withCollection',\r\n slug: options.slug.category,\r\n admin: {\r\n group: options.group.nav,\r\n useAsTitle: 'id',\r\n defaultColumns: ['id', 'title', 'category', 'order'],\r\n components: {\r\n beforeList: [\r\n '@websolutespa/payload-plugin-bowl/client#CategoryMenu',\r\n ],\r\n },\r\n hidden: (args) => !hasRole(args.user, roles.Admin, roles.Contributor),\r\n },\r\n access: {\r\n create: isRole(roles.Admin, roles.Contributor),\r\n read: isRole(),\r\n update: isRole(roles.Admin, roles.Contributor),\r\n delete: isRole(roles.Admin, roles.Contributor),\r\n },\r\n hooks: {\r\n afterChange: [afterCategoryChangeHook],\r\n afterDelete: [afterCategoryDeleteHook],\r\n },\r\n views: {\r\n CategoryTree: {\r\n path: `/tree/${options.slug.category}`,\r\n exact: true,\r\n Component: '@websolutespa/payload-plugin-bowl/rsc#CategoryTreeRoute',\r\n },\r\n CategoryTreeDetail: {\r\n path: `/tree/${options.slug.category}/:itemId`,\r\n exact: true,\r\n Component: '@websolutespa/payload-plugin-bowl/rsc#CategoryTreeRoute',\r\n },\r\n },\r\n fields: [\r\n // inherited fields: id, createdAt, updatedAt\r\n { type: 'withId', required: true },\r\n { type: 'withTitle', required: true },\r\n {\r\n type: 'withSlug',\r\n fieldToUse: 'title',\r\n unique: false,\r\n admin: {\r\n position: 'sidebar',\r\n },\r\n },\r\n {\r\n type: 'withCheckbox', name: 'isHidden',\r\n defaultValue: false,\r\n admin: {\r\n position: 'sidebar',\r\n },\r\n },\r\n { type: 'withMedia' },\r\n {\r\n type: 'withCategory',\r\n admin: {\r\n position: 'sidebar',\r\n },\r\n },\r\n {\r\n type: 'withOrder',\r\n slug: options.slug.category,\r\n admin: {\r\n position: 'sidebar',\r\n },\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","isRole","afterCategoryChangeHook","afterCategoryDeleteHook","roles","Category","options","type","slug","category","admin","group","nav","useAsTitle","defaultColumns","components","beforeList","hidden","args","user","Admin","Contributor","access","create","read","update","delete","hooks","afterChange","afterDelete","views","CategoryTree","path","exact","Component","CategoryTreeDetail","fields","required","fieldToUse","unique","position","name","defaultValue"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,UAAU;AAC1C,SAASC,uBAAuB,EAAEC,uBAAuB,QAAQ,cAAc;AAC/E,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,WAAW,CAACC,UAA0C,CAAA;QACjEC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,QAAQ;QAC3BC,OAAO;YACLC,OAAOL,QAAQK,KAAK,CAACC,GAAG;YACxBC,YAAY;YACZC,gBAAgB;gBAAC;gBAAM;gBAAS;gBAAY;aAAQ;YACpDC,YAAY;gBACVC,YAAY;oBACV;iBACD;YACH;YACAC,QAAQ,CAACC,OAAS,CAAClB,QAAQkB,KAAKC,IAAI,EAAEf,MAAMgB,KAAK,EAAEhB,MAAMiB,WAAW;QACtE;QACAC,QAAQ;YACNC,QAAQtB,OAAOG,MAAMgB,KAAK,EAAEhB,MAAMiB,WAAW;YAC7CG,MAAMvB;YACNwB,QAAQxB,OAAOG,MAAMgB,KAAK,EAAEhB,MAAMiB,WAAW;YAC7CK,QAAQzB,OAAOG,MAAMgB,KAAK,EAAEhB,MAAMiB,WAAW;QAC/C;QACAM,OAAO;YACLC,aAAa;gBAAC1B;aAAwB;YACtC2B,aAAa;gBAAC1B;aAAwB;QACxC;QACA2B,OAAO;YACLC,cAAc;gBACZC,MAAM,CAAC,MAAM,EAAE1B,QAAQE,IAAI,CAACC,QAAQ,CAAC,CAAC;gBACtCwB,OAAO;gBACPC,WAAW;YACb;YACAC,oBAAoB;gBAClBH,MAAM,CAAC,MAAM,EAAE1B,QAAQE,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC;gBAC9CwB,OAAO;gBACPC,WAAW;YACb;QACF;QACAE,QAAQ;YACN,6CAA6C;YAC7C;gBAAE7B,MAAM;gBAAU8B,UAAU;YAAK;YACjC;gBAAE9B,MAAM;gBAAa8B,UAAU;YAAK;YACpC;gBACE9B,MAAM;gBACN+B,YAAY;gBACZC,QAAQ;gBACR7B,OAAO;oBACL8B,UAAU;gBACZ;YACF;YACA;gBACEjC,MAAM;gBAAgBkC,MAAM;gBAC5BC,cAAc;gBACdhC,OAAO;oBACL8B,UAAU;gBACZ;YACF;YACA;gBAAEjC,MAAM;YAAY;YACpB;gBACEA,MAAM;gBACNG,OAAO;oBACL8B,UAAU;gBACZ;YACF;YACA;gBACEjC,MAAM;gBACNC,MAAMF,QAAQE,IAAI,CAACC,QAAQ;gBAC3BC,OAAO;oBACL8B,UAAU;gBACZ;YACF;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { hasRole, isAdmin, isRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const ConsentPreference = (options)=>({
|
|
4
|
+
type: 'withCollection',
|
|
5
|
+
slug: options.slug.consentPreference,
|
|
6
|
+
admin: {
|
|
7
|
+
group: options.group.gdpr,
|
|
8
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin)
|
|
9
|
+
},
|
|
10
|
+
access: {
|
|
11
|
+
create: isAdmin,
|
|
12
|
+
read: isRole(),
|
|
13
|
+
update: isAdmin,
|
|
14
|
+
delete: isAdmin
|
|
15
|
+
},
|
|
16
|
+
fields: [
|
|
17
|
+
{
|
|
18
|
+
type: 'withId'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'description',
|
|
22
|
+
label: 'Description',
|
|
23
|
+
type: 'withRichText'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'legalNotice',
|
|
27
|
+
label: 'Legal Notice',
|
|
28
|
+
type: 'relationship',
|
|
29
|
+
relationTo: options.slug.legalNotice
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=ConsentPreference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/ConsentPreference.ts"],"sourcesContent":["import { hasRole, isAdmin, isRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const ConsentPreference = (options: BowlOptions): BowlCollection => ({\r\n type: 'withCollection',\r\n slug: options.slug.consentPreference,\r\n admin: {\r\n group: options.group.gdpr,\r\n hidden: (args) => !hasRole(args.user, roles.Admin),\r\n },\r\n access: {\r\n create: isAdmin,\r\n read: isRole(),\r\n update: isAdmin,\r\n delete: isAdmin,\r\n },\r\n fields: [\r\n {\r\n type: 'withId',\r\n },\r\n {\r\n name: 'description',\r\n label: 'Description',\r\n type: 'withRichText',\r\n },\r\n {\r\n name: 'legalNotice',\r\n label: 'Legal Notice',\r\n type: 'relationship',\r\n relationTo: options.slug.legalNotice,\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","isAdmin","isRole","roles","ConsentPreference","options","type","slug","consentPreference","admin","group","gdpr","hidden","args","user","Admin","access","create","read","update","delete","fields","name","label","relationTo","legalNotice"],"mappings":"AAAA,SAASA,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,UAAU;AACnD,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,oBAAoB,CAACC,UAA0C,CAAA;QAC1EC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,iBAAiB;QACpCC,OAAO;YACLC,OAAOL,QAAQK,KAAK,CAACC,IAAI;YACzBC,QAAQ,CAACC,OAAS,CAACb,QAAQa,KAAKC,IAAI,EAAEX,MAAMY,KAAK;QACnD;QACAC,QAAQ;YACNC,QAAQhB;YACRiB,MAAMhB;YACNiB,QAAQlB;YACRmB,QAAQnB;QACV;QACAoB,QAAQ;YACN;gBACEf,MAAM;YACR;YACA;gBACEgB,MAAM;gBACNC,OAAO;gBACPjB,MAAM;YACR;YACA;gBACEgB,MAAM;gBACNC,OAAO;gBACPjB,MAAM;gBACNkB,YAAYnB,QAAQE,IAAI,CAACkB,WAAW;YACtC;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { hasRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const Continent = (options)=>({
|
|
4
|
+
type: 'withStatic',
|
|
5
|
+
src: 'https://actarian.github.io/cms-i18n-react/api/continent.json',
|
|
6
|
+
slug: options.slug.continent,
|
|
7
|
+
admin: {
|
|
8
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin)
|
|
9
|
+
},
|
|
10
|
+
fields: [
|
|
11
|
+
{
|
|
12
|
+
name: 'id',
|
|
13
|
+
label: 'ID',
|
|
14
|
+
type: 'text'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'name',
|
|
18
|
+
label: 'Name',
|
|
19
|
+
type: 'text'
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=Continent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Continent.ts"],"sourcesContent":["import { hasRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const Continent = (options: BowlOptions): BowlCollection => ({\r\n type: 'withStatic',\r\n src: 'https://actarian.github.io/cms-i18n-react/api/continent.json',\r\n slug: options.slug.continent,\r\n admin: {\r\n hidden: (args) => !hasRole(args.user, roles.Admin),\r\n },\r\n fields: [\r\n {\r\n name: 'id',\r\n label: 'ID',\r\n type: 'text',\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n type: 'text',\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","roles","Continent","options","type","src","slug","continent","admin","hidden","args","user","Admin","fields","name","label"],"mappings":"AAAA,SAASA,OAAO,QAAQ,UAAU;AAClC,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,YAAY,CAACC,UAA0C,CAAA;QAClEC,MAAM;QACNC,KAAK;QACLC,MAAMH,QAAQG,IAAI,CAACC,SAAS;QAC5BC,OAAO;YACLC,QAAQ,CAACC,OAAS,CAACV,QAAQU,KAAKC,IAAI,EAAEV,MAAMW,KAAK;QACnD;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { hasRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const Country = (options)=>({
|
|
4
|
+
type: 'withStatic',
|
|
5
|
+
src: 'https://actarian.github.io/cms-i18n-react/api/country.json',
|
|
6
|
+
slug: options.slug.country,
|
|
7
|
+
admin: {
|
|
8
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin)
|
|
9
|
+
},
|
|
10
|
+
/*
|
|
11
|
+
map: {
|
|
12
|
+
continentId: 'continent',
|
|
13
|
+
subContinentId: 'subContinent',
|
|
14
|
+
},
|
|
15
|
+
*/ fields: [
|
|
16
|
+
{
|
|
17
|
+
name: 'id',
|
|
18
|
+
label: 'ID',
|
|
19
|
+
type: 'text'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'name',
|
|
23
|
+
label: 'Name',
|
|
24
|
+
type: 'text',
|
|
25
|
+
localized: true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'englishName',
|
|
29
|
+
label: 'English Name',
|
|
30
|
+
type: 'text'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'nativeName',
|
|
34
|
+
label: 'Native Name',
|
|
35
|
+
type: 'text'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'alpha2Code',
|
|
39
|
+
label: 'Alpha2 Code',
|
|
40
|
+
type: 'text'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'alpha3Code',
|
|
44
|
+
label: 'Alpha3 Code',
|
|
45
|
+
type: 'text'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'continent',
|
|
49
|
+
label: 'Continent',
|
|
50
|
+
type: 'relationship',
|
|
51
|
+
relationTo: options.slug.continent,
|
|
52
|
+
hasMany: false,
|
|
53
|
+
required: true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'subContinent',
|
|
57
|
+
label: 'Sub Continent',
|
|
58
|
+
type: 'relationship',
|
|
59
|
+
relationTo: options.slug.subContinent,
|
|
60
|
+
hasMany: false,
|
|
61
|
+
required: true
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=Country.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Country.ts"],"sourcesContent":["import { hasRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const Country = (options: BowlOptions): BowlCollection => ({\r\n type: 'withStatic',\r\n src: 'https://actarian.github.io/cms-i18n-react/api/country.json',\r\n slug: options.slug.country,\r\n admin: {\r\n hidden: (args) => !hasRole(args.user, roles.Admin),\r\n },\r\n /*\r\n map: {\r\n continentId: 'continent',\r\n subContinentId: 'subContinent',\r\n },\r\n */\r\n fields: [\r\n {\r\n name: 'id',\r\n label: 'ID',\r\n type: 'text',\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n type: 'text',\r\n localized: true,\r\n },\r\n {\r\n name: 'englishName',\r\n label: 'English Name',\r\n type: 'text',\r\n },\r\n {\r\n name: 'nativeName',\r\n label: 'Native Name',\r\n type: 'text',\r\n },\r\n {\r\n name: 'alpha2Code',\r\n label: 'Alpha2 Code',\r\n type: 'text',\r\n },\r\n {\r\n name: 'alpha3Code',\r\n label: 'Alpha3 Code',\r\n type: 'text',\r\n },\r\n {\r\n name: 'continent',\r\n label: 'Continent',\r\n type: 'relationship',\r\n relationTo: options.slug.continent,\r\n hasMany: false,\r\n required: true,\r\n },\r\n {\r\n name: 'subContinent',\r\n label: 'Sub Continent',\r\n type: 'relationship',\r\n relationTo: options.slug.subContinent,\r\n hasMany: false,\r\n required: true,\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","roles","Country","options","type","src","slug","country","admin","hidden","args","user","Admin","fields","name","label","localized","relationTo","continent","hasMany","required","subContinent"],"mappings":"AAAA,SAASA,OAAO,QAAQ,UAAU;AAClC,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,UAAU,CAACC,UAA0C,CAAA;QAChEC,MAAM;QACNC,KAAK;QACLC,MAAMH,QAAQG,IAAI,CAACC,OAAO;QAC1BC,OAAO;YACLC,QAAQ,CAACC,OAAS,CAACV,QAAQU,KAAKC,IAAI,EAAEV,MAAMW,KAAK;QACnD;QACA;;;;;EAKA,GACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;gBACNY,WAAW;YACb;YACA;gBACEF,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;gBACNa,YAAYd,QAAQG,IAAI,CAACY,SAAS;gBAClCC,SAAS;gBACTC,UAAU;YACZ;YACA;gBACEN,MAAM;gBACNC,OAAO;gBACPX,MAAM;gBACNa,YAAYd,QAAQG,IAAI,CAACe,YAAY;gBACrCF,SAAS;gBACTC,UAAU;YACZ;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { hasRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const CountryZone = (options)=>({
|
|
4
|
+
type: 'withStatic',
|
|
5
|
+
src: 'https://actarian.github.io/cms-i18n-react/api/countryZone.json',
|
|
6
|
+
slug: options.slug.countryZone,
|
|
7
|
+
admin: {
|
|
8
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin)
|
|
9
|
+
},
|
|
10
|
+
fields: [
|
|
11
|
+
{
|
|
12
|
+
name: 'id',
|
|
13
|
+
label: 'ID',
|
|
14
|
+
type: 'text'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'name',
|
|
18
|
+
label: 'Name',
|
|
19
|
+
type: 'text'
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=CountryZone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/CountryZone.ts"],"sourcesContent":["import { hasRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const CountryZone = (options: BowlOptions): BowlCollection => ({\r\n type: 'withStatic',\r\n src: 'https://actarian.github.io/cms-i18n-react/api/countryZone.json',\r\n slug: options.slug.countryZone,\r\n admin: {\r\n hidden: (args) => !hasRole(args.user, roles.Admin),\r\n },\r\n fields: [\r\n {\r\n name: 'id',\r\n label: 'ID',\r\n type: 'text',\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n type: 'text',\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","roles","CountryZone","options","type","src","slug","countryZone","admin","hidden","args","user","Admin","fields","name","label"],"mappings":"AAAA,SAASA,OAAO,QAAQ,UAAU;AAClC,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,cAAc,CAACC,UAA0C,CAAA;QACpEC,MAAM;QACNC,KAAK;QACLC,MAAMH,QAAQG,IAAI,CAACC,WAAW;QAC9BC,OAAO;YACLC,QAAQ,CAACC,OAAS,CAACV,QAAQU,KAAKC,IAAI,EAAEV,MAAMW,KAAK;QACnD;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export const EmailConfig = (options)=>({
|
|
2
|
+
type: 'withCollection',
|
|
3
|
+
slug: options.slug.emailConfig,
|
|
4
|
+
admin: {
|
|
5
|
+
group: options.group.config,
|
|
6
|
+
useAsTitle: 'id',
|
|
7
|
+
defaultColumns: [
|
|
8
|
+
'id',
|
|
9
|
+
'name'
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
type: 'withId',
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'withName',
|
|
19
|
+
required: true,
|
|
20
|
+
localized: false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: 'select',
|
|
24
|
+
name: 'action',
|
|
25
|
+
options: (()=>{
|
|
26
|
+
const selectOptions = options.actions.map((slug)=>({
|
|
27
|
+
value: slug,
|
|
28
|
+
label: slug
|
|
29
|
+
}));
|
|
30
|
+
if (selectOptions.length > 0) {
|
|
31
|
+
return selectOptions;
|
|
32
|
+
} else {
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
value: '',
|
|
36
|
+
label: 'none'
|
|
37
|
+
}
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
})()
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: 'withText',
|
|
44
|
+
name: 'subject',
|
|
45
|
+
localized: true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'withText',
|
|
49
|
+
name: 'fromAddress'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: 'array',
|
|
53
|
+
name: 'to',
|
|
54
|
+
fields: [
|
|
55
|
+
{
|
|
56
|
+
type: 'withText',
|
|
57
|
+
name: 'address'
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: 'array',
|
|
63
|
+
name: 'cc',
|
|
64
|
+
fields: [
|
|
65
|
+
{
|
|
66
|
+
type: 'withText',
|
|
67
|
+
name: 'address'
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'array',
|
|
73
|
+
name: 'bcc',
|
|
74
|
+
fields: [
|
|
75
|
+
{
|
|
76
|
+
type: 'withText',
|
|
77
|
+
name: 'address'
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=EmailConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/EmailConfig.ts"],"sourcesContent":["import { BowlCollection, BowlOptions } from '../types';\r\n\r\nexport const EmailConfig = (options: BowlOptions): BowlCollection => ({\r\n type: 'withCollection',\r\n slug: options.slug.emailConfig,\r\n admin: {\r\n group: options.group.config,\r\n useAsTitle: 'id',\r\n defaultColumns: ['id', 'name'],\r\n },\r\n fields: [\r\n {\r\n type: 'withId',\r\n required: true,\r\n },\r\n {\r\n type: 'withName',\r\n required: true,\r\n localized: false,\r\n },\r\n {\r\n type: 'select',\r\n name: 'action',\r\n options: (() => {\r\n const selectOptions = options.actions.map(slug => ({\r\n value: slug,\r\n label: slug,\r\n }));\r\n if (selectOptions.length > 0) {\r\n return selectOptions;\r\n } else {\r\n return [{\r\n value: '',\r\n label: 'none',\r\n }];\r\n }\r\n })(),\r\n },\r\n {\r\n type: 'withText',\r\n name: 'subject',\r\n localized: true,\r\n },\r\n {\r\n type: 'withText',\r\n name: 'fromAddress',\r\n // localized: true,\r\n },\r\n {\r\n type: 'array',\r\n name: 'to',\r\n fields: [\r\n {\r\n type: 'withText',\r\n name: 'address',\r\n // localized: true,\r\n },\r\n ],\r\n },\r\n {\r\n type: 'array',\r\n name: 'cc',\r\n fields: [\r\n {\r\n type: 'withText',\r\n name: 'address',\r\n // localized: true,\r\n },\r\n ],\r\n },\r\n {\r\n type: 'array',\r\n name: 'bcc',\r\n fields: [\r\n {\r\n type: 'withText',\r\n name: 'address',\r\n // localized: true,\r\n },\r\n ],\r\n },\r\n ],\r\n});\r\n"],"names":["EmailConfig","options","type","slug","emailConfig","admin","group","config","useAsTitle","defaultColumns","fields","required","localized","name","selectOptions","actions","map","value","label","length"],"mappings":"AAEA,OAAO,MAAMA,cAAc,CAACC,UAA0C,CAAA;QACpEC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,WAAW;QAC9BC,OAAO;YACLC,OAAOL,QAAQK,KAAK,CAACC,MAAM;YAC3BC,YAAY;YACZC,gBAAgB;gBAAC;gBAAM;aAAO;QAChC;QACAC,QAAQ;YACN;gBACER,MAAM;gBACNS,UAAU;YACZ;YACA;gBACET,MAAM;gBACNS,UAAU;gBACVC,WAAW;YACb;YACA;gBACEV,MAAM;gBACNW,MAAM;gBACNZ,SAAS,AAAC,CAAA;oBACR,MAAMa,gBAAgBb,QAAQc,OAAO,CAACC,GAAG,CAACb,CAAAA,OAAS,CAAA;4BACjDc,OAAOd;4BACPe,OAAOf;wBACT,CAAA;oBACA,IAAIW,cAAcK,MAAM,GAAG,GAAG;wBAC5B,OAAOL;oBACT,OAAO;wBACL,OAAO;4BAAC;gCACNG,OAAO;gCACPC,OAAO;4BACT;yBAAE;oBACJ;gBACF,CAAA;YACF;YACA;gBACEhB,MAAM;gBACNW,MAAM;gBACND,WAAW;YACb;YACA;gBACEV,MAAM;gBACNW,MAAM;YAER;YACA;gBACEX,MAAM;gBACNW,MAAM;gBACNH,QAAQ;oBACN;wBACER,MAAM;wBACNW,MAAM;oBAER;iBACD;YACH;YACA;gBACEX,MAAM;gBACNW,MAAM;gBACNH,QAAQ;oBACN;wBACER,MAAM;wBACNW,MAAM;oBAER;iBACD;YACH;YACA;gBACEX,MAAM;gBACNW,MAAM;gBACNH,QAAQ;oBACN;wBACER,MAAM;wBACNW,MAAM;oBAER;iBACD;YACH;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EndUsers
|
|
3
|
+
* ATTENTION!
|
|
4
|
+
* to all required fields will be assigned a default value when created as role 'guest'
|
|
5
|
+
*/ export const EndUsers = (options)=>({
|
|
6
|
+
type: 'withEndUser',
|
|
7
|
+
slug: options.slug.endUsers,
|
|
8
|
+
fields: [
|
|
9
|
+
{
|
|
10
|
+
name: 'firstName',
|
|
11
|
+
label: 'First Name',
|
|
12
|
+
type: 'withText',
|
|
13
|
+
required: true
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'lastName',
|
|
17
|
+
label: 'Last Name',
|
|
18
|
+
type: 'withText',
|
|
19
|
+
required: true
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=EndUsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/EndUsers.ts"],"sourcesContent":["import { BowlCollection, BowlOptions } from '../types';\r\n\r\n/**\r\n * EndUsers\r\n * ATTENTION!\r\n * to all required fields will be assigned a default value when created as role 'guest'\r\n */\r\nexport const EndUsers = (options: BowlOptions): BowlCollection => ({\r\n type: 'withEndUser',\r\n slug: options.slug.endUsers,\r\n fields: [\r\n {\r\n name: 'firstName',\r\n label: 'First Name',\r\n type: 'withText',\r\n required: true,\r\n },\r\n {\r\n name: 'lastName',\r\n label: 'Last Name',\r\n type: 'withText',\r\n required: true,\r\n },\r\n ],\r\n});\r\n"],"names":["EndUsers","options","type","slug","endUsers","fields","name","label","required"],"mappings":"AAEA;;;;CAIC,GACD,OAAO,MAAMA,WAAW,CAACC,UAA0C,CAAA;QACjEC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,QAAQ;QAC3BC,QAAQ;YACN;gBACEC,MAAM;gBACNC,OAAO;gBACPL,MAAM;gBACNM,UAAU;YACZ;YACA;gBACEF,MAAM;gBACNC,OAAO;gBACPL,MAAM;gBACNM,UAAU;YACZ;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const Label = (options)=>({
|
|
2
|
+
type: 'withCollection',
|
|
3
|
+
slug: options.slug.label,
|
|
4
|
+
admin: {
|
|
5
|
+
group: options.group.config,
|
|
6
|
+
useAsTitle: 'id',
|
|
7
|
+
defaultColumns: [
|
|
8
|
+
'id',
|
|
9
|
+
'text'
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
fields: [
|
|
13
|
+
// inherited fields: id, createdAt, updatedAt
|
|
14
|
+
{
|
|
15
|
+
type: 'withId',
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'withText',
|
|
20
|
+
required: true,
|
|
21
|
+
localized: true
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=Label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Label.ts"],"sourcesContent":["import { BowlCollection, BowlOptions } from '../types';\r\n\r\nexport const Label = (options: BowlOptions): BowlCollection => ({\r\n type: 'withCollection',\r\n slug: options.slug.label,\r\n admin: {\r\n group: options.group.config,\r\n useAsTitle: 'id',\r\n defaultColumns: ['id', 'text'],\r\n },\r\n fields: [\r\n // inherited fields: id, createdAt, updatedAt\r\n { type: 'withId', required: true },\r\n { type: 'withText', required: true, localized: true },\r\n ],\r\n});\r\n"],"names":["Label","options","type","slug","label","admin","group","config","useAsTitle","defaultColumns","fields","required","localized"],"mappings":"AAEA,OAAO,MAAMA,QAAQ,CAACC,UAA0C,CAAA;QAC9DC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,KAAK;QACxBC,OAAO;YACLC,OAAOL,QAAQK,KAAK,CAACC,MAAM;YAC3BC,YAAY;YACZC,gBAAgB;gBAAC;gBAAM;aAAO;QAChC;QACAC,QAAQ;YACN,6CAA6C;YAC7C;gBAAER,MAAM;gBAAUS,UAAU;YAAK;YACjC;gBAAET,MAAM;gBAAYS,UAAU;gBAAMC,WAAW;YAAK;SACrD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { hasRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const Language = (options)=>({
|
|
4
|
+
type: 'withStatic',
|
|
5
|
+
src: 'https://actarian.github.io/cms-i18n-react/api/language.json',
|
|
6
|
+
slug: options.slug.language,
|
|
7
|
+
admin: {
|
|
8
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin)
|
|
9
|
+
},
|
|
10
|
+
fields: [
|
|
11
|
+
{
|
|
12
|
+
name: 'id',
|
|
13
|
+
label: 'ID',
|
|
14
|
+
type: 'text'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'name',
|
|
18
|
+
label: 'Name',
|
|
19
|
+
type: 'text',
|
|
20
|
+
localized: true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'englishName',
|
|
24
|
+
label: 'English Name',
|
|
25
|
+
type: 'text'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'nativeName',
|
|
29
|
+
label: 'Native Name',
|
|
30
|
+
type: 'text'
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=Language.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Language.ts"],"sourcesContent":["import { hasRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const Language = (options: BowlOptions): BowlCollection => ({\r\n type: 'withStatic',\r\n src: 'https://actarian.github.io/cms-i18n-react/api/language.json',\r\n slug: options.slug.language,\r\n admin: {\r\n hidden: (args) => !hasRole(args.user, roles.Admin),\r\n },\r\n fields: [\r\n {\r\n name: 'id',\r\n label: 'ID',\r\n type: 'text',\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n type: 'text',\r\n localized: true,\r\n },\r\n {\r\n name: 'englishName',\r\n label: 'English Name',\r\n type: 'text',\r\n },\r\n {\r\n name: 'nativeName',\r\n label: 'Native Name',\r\n type: 'text',\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","roles","Language","options","type","src","slug","language","admin","hidden","args","user","Admin","fields","name","label","localized"],"mappings":"AAAA,SAASA,OAAO,QAAQ,UAAU;AAClC,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,WAAW,CAACC,UAA0C,CAAA;QACjEC,MAAM;QACNC,KAAK;QACLC,MAAMH,QAAQG,IAAI,CAACC,QAAQ;QAC3BC,OAAO;YACLC,QAAQ,CAACC,OAAS,CAACV,QAAQU,KAAKC,IAAI,EAAEV,MAAMW,KAAK;QACnD;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;gBACNY,WAAW;YACb;YACA;gBACEF,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;YACA;gBACEU,MAAM;gBACNC,OAAO;gBACPX,MAAM;YACR;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isAdmin, isRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const LegalNotice = (options)=>({
|
|
4
|
+
type: 'withCollection',
|
|
5
|
+
slug: options.slug.legalNotice,
|
|
6
|
+
versions: true,
|
|
7
|
+
admin: {
|
|
8
|
+
group: options.group.gdpr
|
|
9
|
+
},
|
|
10
|
+
access: {
|
|
11
|
+
create: isAdmin,
|
|
12
|
+
read: isRole(roles.Admin, roles.Contributor, roles.Editor, roles.Guest, roles.User),
|
|
13
|
+
update: isRole(roles.Admin, roles.Contributor, roles.Editor),
|
|
14
|
+
delete: isAdmin
|
|
15
|
+
},
|
|
16
|
+
fields: [
|
|
17
|
+
{
|
|
18
|
+
type: 'withId'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'text',
|
|
22
|
+
label: 'Text',
|
|
23
|
+
type: 'withRichText',
|
|
24
|
+
localized: true
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=LegalNotice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/LegalNotice.ts"],"sourcesContent":["import { isAdmin, isRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const LegalNotice = (options: BowlOptions): BowlCollection => ({\r\n type: 'withCollection',\r\n slug: options.slug.legalNotice,\r\n versions: true,\r\n admin: {\r\n group: options.group.gdpr,\r\n },\r\n access: {\r\n create: isAdmin,\r\n read: isRole(roles.Admin, roles.Contributor, roles.Editor, roles.Guest, roles.User),\r\n update: isRole(roles.Admin, roles.Contributor, roles.Editor),\r\n delete: isAdmin,\r\n },\r\n fields: [\r\n {\r\n type: 'withId',\r\n },\r\n {\r\n name: 'text',\r\n label: 'Text',\r\n type: 'withRichText',\r\n localized: true,\r\n },\r\n ],\r\n});\r\n"],"names":["isAdmin","isRole","roles","LegalNotice","options","type","slug","legalNotice","versions","admin","group","gdpr","access","create","read","Admin","Contributor","Editor","Guest","User","update","delete","fields","name","label","localized"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,UAAU;AAC1C,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,cAAc,CAACC,UAA0C,CAAA;QACpEC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,WAAW;QAC9BC,UAAU;QACVC,OAAO;YACLC,OAAON,QAAQM,KAAK,CAACC,IAAI;QAC3B;QACAC,QAAQ;YACNC,QAAQb;YACRc,MAAMb,OAAOC,MAAMa,KAAK,EAAEb,MAAMc,WAAW,EAAEd,MAAMe,MAAM,EAAEf,MAAMgB,KAAK,EAAEhB,MAAMiB,IAAI;YAClFC,QAAQnB,OAAOC,MAAMa,KAAK,EAAEb,MAAMc,WAAW,EAAEd,MAAMe,MAAM;YAC3DI,QAAQrB;QACV;QACAsB,QAAQ;YACN;gBACEjB,MAAM;YACR;YACA;gBACEkB,MAAM;gBACNC,OAAO;gBACPnB,MAAM;gBACNoB,WAAW;YACb;SACD;IACH,CAAA,EAAG"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { hasRole, isAdmin, isRole } from '../core';
|
|
2
|
+
import { roles } from '../types';
|
|
3
|
+
export const Market = (options)=>({
|
|
4
|
+
type: 'withCollection',
|
|
5
|
+
slug: options.slug.market,
|
|
6
|
+
admin: {
|
|
7
|
+
group: options.group.config,
|
|
8
|
+
useAsTitle: 'title',
|
|
9
|
+
defaultColumns: [
|
|
10
|
+
'title',
|
|
11
|
+
'id',
|
|
12
|
+
'countries',
|
|
13
|
+
'languages'
|
|
14
|
+
],
|
|
15
|
+
hidden: (args)=>!hasRole(args.user, roles.Admin)
|
|
16
|
+
},
|
|
17
|
+
access: {
|
|
18
|
+
create: isAdmin,
|
|
19
|
+
read: isRole(),
|
|
20
|
+
update: isAdmin,
|
|
21
|
+
delete: isAdmin
|
|
22
|
+
},
|
|
23
|
+
fields: [
|
|
24
|
+
// inherited fields: id, createdAt, updatedAt
|
|
25
|
+
{
|
|
26
|
+
type: 'withId',
|
|
27
|
+
required: true
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: 'withTitle',
|
|
31
|
+
required: true,
|
|
32
|
+
localized: false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
type: 'withIsActive'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: 'withIsDefault'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: 'withCheckbox',
|
|
42
|
+
name: 'isHidden'
|
|
43
|
+
},
|
|
44
|
+
// !!! todo create a generic withRelation(slug.country) ?
|
|
45
|
+
{
|
|
46
|
+
name: 'countries',
|
|
47
|
+
label: 'Countries',
|
|
48
|
+
type: 'relationship',
|
|
49
|
+
relationTo: options.slug.country,
|
|
50
|
+
hasMany: true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'languages',
|
|
54
|
+
label: 'Languages',
|
|
55
|
+
type: 'relationship',
|
|
56
|
+
relationTo: options.slug.language,
|
|
57
|
+
hasMany: true,
|
|
58
|
+
filterOptions: ()=>{
|
|
59
|
+
return {
|
|
60
|
+
'id': {
|
|
61
|
+
in: options.locales
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'defaultLanguage',
|
|
68
|
+
label: 'Default language',
|
|
69
|
+
type: 'relationship',
|
|
70
|
+
relationTo: options.slug.language,
|
|
71
|
+
hasMany: false,
|
|
72
|
+
hooks: {
|
|
73
|
+
beforeChange: [
|
|
74
|
+
({ data, value })=>{
|
|
75
|
+
const languages = data?.languages;
|
|
76
|
+
if (languages && languages.length > 0) return value;
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
admin: {
|
|
82
|
+
condition: (data)=>{
|
|
83
|
+
const languages = data.languages;
|
|
84
|
+
if (languages && languages.length > 0) return true;
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
filterOptions: ()=>{
|
|
89
|
+
return {
|
|
90
|
+
'id': {
|
|
91
|
+
in: options.locales
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
},
|
|
95
|
+
validate: async (value, { data })=>{
|
|
96
|
+
const languages = data && 'languages' in data ? data.languages : undefined;
|
|
97
|
+
if (!value || languages && languages.length > 0 && languages.indexOf(value) < 0) {
|
|
98
|
+
return 'You must select a default language from the selected languages.';
|
|
99
|
+
}
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
//# sourceMappingURL=Market.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Market.ts"],"sourcesContent":["import { hasRole, isAdmin, isRole } from '../core';\r\nimport { BowlCollection, BowlOptions, roles } from '../types';\r\n\r\nexport const Market = (options: BowlOptions): BowlCollection => ({\r\n type: 'withCollection',\r\n slug: options.slug.market,\r\n admin: {\r\n group: options.group.config,\r\n useAsTitle: 'title',\r\n defaultColumns: ['title', 'id', 'countries', 'languages'],\r\n hidden: (args) => !hasRole(args.user, roles.Admin),\r\n },\r\n access: {\r\n create: isAdmin,\r\n read: isRole(),\r\n update: isAdmin,\r\n delete: isAdmin,\r\n },\r\n fields: [\r\n // inherited fields: id, createdAt, updatedAt\r\n { type: 'withId', required: true },\r\n { type: 'withTitle', required: true, localized: false },\r\n { type: 'withIsActive' },\r\n { type: 'withIsDefault' },\r\n { type: 'withCheckbox', name: 'isHidden' },\r\n // !!! todo create a generic withRelation(slug.country) ?\r\n {\r\n name: 'countries',\r\n label: 'Countries',\r\n type: 'relationship',\r\n relationTo: options.slug.country,\r\n hasMany: true,\r\n },\r\n {\r\n name: 'languages',\r\n label: 'Languages',\r\n type: 'relationship',\r\n relationTo: options.slug.language,\r\n hasMany: true,\r\n filterOptions: () => {\r\n return {\r\n 'id': { in: options.locales },\r\n };\r\n },\r\n },\r\n {\r\n name: 'defaultLanguage',\r\n label: 'Default language',\r\n type: 'relationship',\r\n relationTo: options.slug.language,\r\n hasMany: false,\r\n hooks: {\r\n beforeChange: [({ data, value }) => {\r\n const languages = data?.languages;\r\n if (languages && languages.length > 0) return value;\r\n return null;\r\n }],\r\n },\r\n admin: {\r\n condition: (data) => {\r\n const languages = data.languages;\r\n if (languages && languages.length > 0) return true;\r\n return false;\r\n },\r\n },\r\n filterOptions: () => {\r\n return {\r\n 'id': { in: options.locales },\r\n };\r\n },\r\n validate: async (value, { data }) => {\r\n const languages = data && 'languages' in data ? (data.languages as string[]) : undefined;\r\n if (!value || languages && languages.length > 0 && languages.indexOf(value as string) < 0) {\r\n return 'You must select a default language from the selected languages.';\r\n }\r\n return true;\r\n },\r\n },\r\n ],\r\n});\r\n"],"names":["hasRole","isAdmin","isRole","roles","Market","options","type","slug","market","admin","group","config","useAsTitle","defaultColumns","hidden","args","user","Admin","access","create","read","update","delete","fields","required","localized","name","label","relationTo","country","hasMany","language","filterOptions","in","locales","hooks","beforeChange","data","value","languages","length","condition","validate","undefined","indexOf"],"mappings":"AAAA,SAASA,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,UAAU;AACnD,SAAsCC,KAAK,QAAQ,WAAW;AAE9D,OAAO,MAAMC,SAAS,CAACC,UAA0C,CAAA;QAC/DC,MAAM;QACNC,MAAMF,QAAQE,IAAI,CAACC,MAAM;QACzBC,OAAO;YACLC,OAAOL,QAAQK,KAAK,CAACC,MAAM;YAC3BC,YAAY;YACZC,gBAAgB;gBAAC;gBAAS;gBAAM;gBAAa;aAAY;YACzDC,QAAQ,CAACC,OAAS,CAACf,QAAQe,KAAKC,IAAI,EAAEb,MAAMc,KAAK;QACnD;QACAC,QAAQ;YACNC,QAAQlB;YACRmB,MAAMlB;YACNmB,QAAQpB;YACRqB,QAAQrB;QACV;QACAsB,QAAQ;YACN,6CAA6C;YAC7C;gBAAEjB,MAAM;gBAAUkB,UAAU;YAAK;YACjC;gBAAElB,MAAM;gBAAakB,UAAU;gBAAMC,WAAW;YAAM;YACtD;gBAAEnB,MAAM;YAAe;YACvB;gBAAEA,MAAM;YAAgB;YACxB;gBAAEA,MAAM;gBAAgBoB,MAAM;YAAW;YACzC,yDAAyD;YACzD;gBACEA,MAAM;gBACNC,OAAO;gBACPrB,MAAM;gBACNsB,YAAYvB,QAAQE,IAAI,CAACsB,OAAO;gBAChCC,SAAS;YACX;YACA;gBACEJ,MAAM;gBACNC,OAAO;gBACPrB,MAAM;gBACNsB,YAAYvB,QAAQE,IAAI,CAACwB,QAAQ;gBACjCD,SAAS;gBACTE,eAAe;oBACb,OAAO;wBACL,MAAM;4BAAEC,IAAI5B,QAAQ6B,OAAO;wBAAC;oBAC9B;gBACF;YACF;YACA;gBACER,MAAM;gBACNC,OAAO;gBACPrB,MAAM;gBACNsB,YAAYvB,QAAQE,IAAI,CAACwB,QAAQ;gBACjCD,SAAS;gBACTK,OAAO;oBACLC,cAAc;wBAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE;4BAC7B,MAAMC,YAAYF,MAAME;4BACxB,IAAIA,aAAaA,UAAUC,MAAM,GAAG,GAAG,OAAOF;4BAC9C,OAAO;wBACT;qBAAE;gBACJ;gBACA7B,OAAO;oBACLgC,WAAW,CAACJ;wBACV,MAAME,YAAYF,KAAKE,SAAS;wBAChC,IAAIA,aAAaA,UAAUC,MAAM,GAAG,GAAG,OAAO;wBAC9C,OAAO;oBACT;gBACF;gBACAR,eAAe;oBACb,OAAO;wBACL,MAAM;4BAAEC,IAAI5B,QAAQ6B,OAAO;wBAAC;oBAC9B;gBACF;gBACAQ,UAAU,OAAOJ,OAAO,EAAED,IAAI,EAAE;oBAC9B,MAAME,YAAYF,QAAQ,eAAeA,OAAQA,KAAKE,SAAS,GAAgBI;oBAC/E,IAAI,CAACL,SAASC,aAAaA,UAAUC,MAAM,GAAG,KAAKD,UAAUK,OAAO,CAACN,SAAmB,GAAG;wBACzF,OAAO;oBACT;oBACA,OAAO;gBACT;YACF;SACD;IACH,CAAA,EAAG"}
|