@firecms/core 3.0.0-canary.26 → 3.0.0-canary.261
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/README.md +3 -3
- package/dist/app/AppBar.d.ts +12 -0
- package/dist/app/Drawer.d.ts +16 -0
- package/dist/app/Scaffold.d.ts +34 -0
- package/dist/app/index.d.ts +4 -0
- package/dist/app/useApp.d.ts +16 -0
- package/dist/components/ArrayContainer.d.ts +31 -12
- package/dist/components/CircularProgressCenter.d.ts +1 -1
- package/dist/components/ClearFilterSortButton.d.ts +5 -0
- package/dist/components/{DeleteConfirmationDialog.d.ts → ConfirmationDialog.d.ts} +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +14 -13
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +22 -6
- package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +1 -0
- package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -1
- package/dist/components/EntityCollectionTable/index.d.ts +1 -1
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
- package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +7 -4
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +20 -2
- package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
- package/dist/components/EntityCollectionView/utils.d.ts +3 -0
- package/dist/components/EntityJsonPreview.d.ts +3 -0
- package/dist/components/EntityPreview.d.ts +8 -5
- package/dist/components/ErrorView.d.ts +1 -1
- package/dist/components/HomePage/DefaultHomePage.d.ts +2 -15
- package/dist/components/HomePage/HomePageDnD.d.ts +76 -0
- package/dist/components/HomePage/NavigationCard.d.ts +3 -1
- package/dist/components/HomePage/NavigationCardBinding.d.ts +4 -3
- package/dist/components/HomePage/NavigationGroup.d.ts +7 -1
- package/dist/components/HomePage/RenameGroupDialog.d.ts +9 -0
- package/dist/components/PropertyConfigBadge.d.ts +2 -1
- package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
- package/dist/components/ReferenceWidget.d.ts +3 -1
- package/dist/components/SelectableTable/SelectableTable.d.ts +14 -4
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
- package/dist/components/UnsavedChangesDialog.d.ts +8 -0
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +24 -12
- package/dist/components/VirtualTable/types.d.ts +3 -3
- package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -3
- package/dist/components/common/index.d.ts +2 -1
- package/dist/components/common/table_height.d.ts +5 -0
- package/dist/components/common/types.d.ts +4 -6
- package/dist/components/common/useColumnsIds.d.ts +3 -1
- package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +13 -2
- package/dist/components/common/useDebouncedCallback.d.ts +1 -0
- package/dist/components/common/useScrollRestoration.d.ts +14 -0
- package/dist/components/index.d.ts +5 -2
- package/dist/contexts/BreacrumbsContext.d.ts +8 -0
- package/dist/core/DefaultAppBar.d.ts +29 -0
- package/dist/core/DefaultDrawer.d.ts +19 -0
- package/dist/core/DrawerNavigationItem.d.ts +10 -0
- package/dist/core/EntityEditView.d.ts +43 -11
- package/dist/core/EntityEditViewFormActions.d.ts +2 -0
- package/dist/core/FireCMS.d.ts +3 -3
- package/dist/core/FireCMSRouter.d.ts +4 -0
- package/dist/core/NavigationRoutes.d.ts +2 -3
- package/dist/core/SideDialogs.d.ts +4 -2
- package/dist/core/field_configs.d.ts +1 -1
- package/dist/core/index.d.ts +4 -4
- package/dist/form/EntityForm.d.ts +37 -64
- package/dist/form/EntityFormActions.d.ts +21 -0
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/components/ErrorFocus.d.ts +1 -1
- package/dist/form/components/FieldHelperText.d.ts +3 -3
- package/dist/form/components/FormEntry.d.ts +6 -0
- package/dist/form/components/FormLayout.d.ts +5 -0
- package/dist/form/components/LabelWithIcon.d.ts +1 -1
- package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
- package/dist/form/components/StorageItemPreview.d.ts +4 -4
- package/dist/form/components/index.d.ts +3 -1
- package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/{MultiSelectBinding.d.ts → MultiSelectFieldBinding.d.ts} +1 -1
- package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -2
- package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +5 -13
- package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
- package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
- package/dist/form/index.d.ts +17 -18
- package/dist/form/useClearRestoreValue.d.ts +2 -2
- package/dist/hooks/data/delete.d.ts +4 -4
- package/dist/hooks/data/save.d.ts +4 -5
- package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
- package/dist/hooks/data/useEntityFetch.d.ts +4 -3
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useAuthController.d.ts +1 -1
- package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
- package/dist/hooks/useBuildNavigationController.d.ts +57 -13
- package/dist/hooks/useFireCMSContext.d.ts +1 -1
- package/dist/hooks/useModeController.d.ts +1 -2
- package/dist/hooks/useProjectLog.d.ts +8 -2
- package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
- package/dist/hooks/useValidateAuthenticator.d.ts +4 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +23088 -13940
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +25823 -588
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/useBuildDataSource.d.ts +3 -17
- package/dist/internal/useBuildSideEntityController.d.ts +3 -3
- package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
- package/dist/preview/PropertyPreviewProps.d.ts +6 -1
- package/dist/preview/components/EnumValuesChip.d.ts +1 -1
- package/dist/preview/components/ReferencePreview.d.ts +3 -2
- package/dist/preview/components/StorageThumbnail.d.ts +2 -1
- package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
- package/dist/preview/util.d.ts +3 -3
- package/dist/routes/CustomCMSRoute.d.ts +4 -0
- package/dist/routes/FireCMSRoute.d.ts +1 -0
- package/dist/routes/HomePageRoute.d.ts +3 -0
- package/dist/types/analytics.d.ts +1 -1
- package/dist/types/auth.d.ts +8 -10
- package/dist/types/collections.d.ts +110 -25
- package/dist/types/customization_controller.d.ts +8 -0
- package/dist/types/datasource.d.ts +52 -36
- package/dist/types/dialogs_controller.d.ts +7 -3
- package/dist/types/entities.d.ts +7 -2
- package/dist/types/entity_actions.d.ts +72 -8
- package/dist/types/entity_callbacks.d.ts +16 -16
- package/dist/types/entity_overrides.d.ts +2 -2
- package/dist/types/export_import.d.ts +4 -4
- package/dist/types/fields.d.ts +74 -42
- package/dist/types/firecms.d.ts +16 -3
- package/dist/types/firecms_context.d.ts +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/navigation.d.ts +62 -19
- package/dist/types/permissions.d.ts +4 -4
- package/dist/types/plugins.d.ts +56 -13
- package/dist/types/properties.d.ts +80 -24
- package/dist/types/property_config.d.ts +1 -3
- package/dist/types/roles.d.ts +3 -0
- package/dist/types/side_dialogs_controller.d.ts +10 -0
- package/dist/types/side_entity_controller.d.ts +14 -1
- package/dist/types/storage.d.ts +75 -0
- package/dist/types/user.d.ts +1 -0
- package/dist/util/builders.d.ts +3 -3
- package/dist/util/callbacks.d.ts +2 -0
- package/dist/util/createFormexStub.d.ts +2 -0
- package/dist/util/entities.d.ts +3 -3
- package/dist/util/entity_actions.d.ts +2 -0
- package/dist/util/entity_cache.d.ts +23 -0
- package/dist/util/icon_list.d.ts +5 -1
- package/dist/util/icon_synonyms.d.ts +1 -98
- package/dist/util/icons.d.ts +7 -4
- package/dist/util/index.d.ts +3 -0
- package/dist/util/navigation_from_path.d.ts +10 -1
- package/dist/util/navigation_utils.d.ts +15 -3
- package/dist/util/objects.d.ts +2 -1
- package/dist/util/permissions.d.ts +4 -4
- package/dist/util/plurals.d.ts +0 -2
- package/dist/util/property_utils.d.ts +4 -4
- package/dist/util/references.d.ts +2 -2
- package/dist/util/resolutions.d.ts +42 -17
- package/dist/util/storage.d.ts +23 -2
- package/dist/util/useStorageUploadController.d.ts +3 -3
- package/package.json +64 -48
- package/src/app/AppBar.tsx +18 -0
- package/src/app/Drawer.tsx +24 -0
- package/src/app/Scaffold.tsx +253 -0
- package/src/app/index.ts +4 -0
- package/src/app/useApp.tsx +32 -0
- package/src/components/ArrayContainer.tsx +447 -229
- package/src/components/CircularProgressCenter.tsx +2 -2
- package/src/components/ClearFilterSortButton.tsx +41 -0
- package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +12 -11
- package/src/components/DeleteEntityDialog.tsx +13 -20
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +65 -40
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +38 -31
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +30 -9
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +72 -42
- package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -16
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +19 -17
- package/src/components/EntityCollectionTable/index.tsx +1 -1
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +34 -39
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +49 -36
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +135 -105
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +9 -9
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +235 -118
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +7 -4
- package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
- package/src/components/EntityCollectionView/useSelectionController.tsx +20 -7
- package/src/components/EntityCollectionView/utils.ts +19 -0
- package/src/components/EntityJsonPreview.tsx +66 -0
- package/src/components/EntityPreview.tsx +80 -59
- package/src/components/EntityView.tsx +13 -10
- package/src/components/ErrorView.tsx +4 -4
- package/src/components/FireCMSLogo.tsx +7 -51
- package/src/components/HomePage/DefaultHomePage.tsx +499 -157
- package/src/components/HomePage/FavouritesView.tsx +9 -14
- package/src/components/HomePage/HomePageDnD.tsx +599 -0
- package/src/components/HomePage/NavigationCard.tsx +48 -39
- package/src/components/HomePage/NavigationCardBinding.tsx +17 -16
- package/src/components/HomePage/NavigationGroup.tsx +63 -29
- package/src/components/HomePage/RenameGroupDialog.tsx +117 -0
- package/src/components/HomePage/SmallNavigationCard.tsx +5 -6
- package/src/components/NotFoundPage.tsx +2 -2
- package/src/components/PropertyConfigBadge.tsx +9 -3
- package/src/components/PropertyIdCopyTooltip.tsx +47 -0
- package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +21 -13
- package/src/components/ReferenceWidget.tsx +21 -11
- package/src/components/SearchIconsView.tsx +10 -7
- package/src/components/SelectableTable/SelectableTable.tsx +157 -145
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +25 -8
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +36 -12
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +92 -23
- package/src/components/UnsavedChangesDialog.tsx +46 -0
- package/src/components/VirtualTable/VirtualTable.tsx +105 -51
- package/src/components/VirtualTable/VirtualTableCell.tsx +1 -9
- package/src/components/VirtualTable/VirtualTableHeader.tsx +10 -10
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
- package/src/components/VirtualTable/VirtualTableProps.tsx +28 -14
- package/src/components/VirtualTable/VirtualTableRow.tsx +5 -6
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +5 -5
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +2 -2
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +2 -1
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +16 -28
- package/src/components/VirtualTable/types.tsx +2 -3
- package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +64 -44
- package/src/components/common/index.ts +2 -1
- package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
- package/src/components/common/types.tsx +4 -6
- package/src/components/common/useColumnsIds.tsx +24 -3
- package/src/components/common/useDataSourceTableController.tsx +420 -0
- package/src/components/common/useDebouncedCallback.tsx +20 -0
- package/src/components/common/useScrollRestoration.tsx +68 -0
- package/src/components/common/useTableSearchHelper.ts +53 -12
- package/src/components/index.tsx +6 -2
- package/src/contexts/BreacrumbsContext.tsx +38 -0
- package/src/contexts/DialogsProvider.tsx +5 -4
- package/src/contexts/ModeController.tsx +1 -3
- package/src/contexts/SnackbarProvider.tsx +2 -0
- package/src/core/DefaultAppBar.tsx +219 -0
- package/src/core/DefaultDrawer.tsx +185 -0
- package/src/core/DrawerNavigationItem.tsx +66 -0
- package/src/core/EntityEditView.tsx +435 -470
- package/src/core/EntityEditViewFormActions.tsx +329 -0
- package/src/core/EntitySidePanel.tsx +88 -21
- package/src/core/FireCMS.tsx +74 -58
- package/src/core/FireCMSRouter.tsx +17 -0
- package/src/core/NavigationRoutes.tsx +28 -38
- package/src/core/SideDialogs.tsx +22 -12
- package/src/core/field_configs.tsx +26 -13
- package/src/core/index.tsx +6 -5
- package/src/form/EntityForm.tsx +620 -534
- package/src/form/EntityFormActions.tsx +211 -0
- package/src/form/PropertyFieldBinding.tsx +88 -45
- package/src/form/components/CustomIdField.tsx +9 -3
- package/src/form/components/FieldHelperText.tsx +4 -4
- package/src/form/components/FormEntry.tsx +22 -0
- package/src/form/components/FormLayout.tsx +16 -0
- package/src/form/components/LabelWithIcon.tsx +30 -19
- package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
- package/src/form/components/StorageItemPreview.tsx +23 -13
- package/src/form/components/StorageUploadProgress.tsx +5 -6
- package/src/form/components/index.tsx +3 -1
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +34 -19
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +50 -36
- package/src/form/field_bindings/BlockFieldBinding.tsx +56 -34
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +18 -14
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +61 -52
- package/src/form/field_bindings/MapFieldBinding.tsx +73 -55
- package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +159 -0
- package/src/form/field_bindings/{MultiSelectBinding.tsx → MultiSelectFieldBinding.tsx} +26 -21
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +11 -16
- package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +135 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +42 -31
- package/src/form/field_bindings/RepeatFieldBinding.tsx +62 -35
- package/src/form/field_bindings/SelectFieldBinding.tsx +24 -15
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +257 -199
- package/src/form/field_bindings/SwitchFieldBinding.tsx +29 -24
- package/src/form/field_bindings/TextFieldBinding.tsx +28 -24
- package/src/form/index.tsx +17 -37
- package/src/form/useClearRestoreValue.tsx +2 -2
- package/src/form/validation.ts +13 -23
- package/src/hooks/data/delete.ts +6 -5
- package/src/hooks/data/save.ts +26 -33
- package/src/hooks/data/useCollectionFetch.tsx +3 -3
- package/src/hooks/data/useDataSource.tsx +11 -3
- package/src/hooks/data/useEntityFetch.tsx +10 -6
- package/src/hooks/index.tsx +1 -0
- package/src/hooks/useAuthController.tsx +1 -1
- package/src/hooks/useBreadcrumbsController.tsx +31 -0
- package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
- package/src/hooks/useBuildModeController.tsx +22 -29
- package/src/hooks/useBuildNavigationController.tsx +440 -119
- package/src/hooks/useFireCMSContext.tsx +3 -33
- package/src/hooks/useLargeLayout.tsx +0 -35
- package/src/hooks/useModeController.tsx +1 -2
- package/src/hooks/useProjectLog.tsx +32 -10
- package/src/hooks/useResolvedNavigationFrom.tsx +10 -12
- package/src/hooks/useValidateAuthenticator.tsx +17 -37
- package/src/index.ts +1 -0
- package/src/internal/useBuildDataSource.ts +79 -85
- package/src/internal/useBuildSideDialogsController.tsx +4 -2
- package/src/internal/useBuildSideEntityController.tsx +204 -77
- package/src/internal/useUnsavedChangesDialog.tsx +127 -91
- package/src/preview/PropertyPreview.tsx +34 -25
- package/src/preview/PropertyPreviewProps.tsx +7 -1
- package/src/preview/components/BooleanPreview.tsx +2 -2
- package/src/preview/components/EmptyValue.tsx +1 -1
- package/src/preview/components/EnumValuesChip.tsx +2 -2
- package/src/preview/components/ImagePreview.tsx +26 -37
- package/src/preview/components/ReferencePreview.tsx +23 -34
- package/src/preview/components/StorageThumbnail.tsx +5 -1
- package/src/preview/components/UrlComponentPreview.tsx +60 -28
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +6 -6
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +7 -5
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +5 -4
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +4 -4
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +7 -6
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +7 -6
- package/src/preview/property_previews/MapPropertyPreview.tsx +12 -11
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +13 -13
- package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
- package/src/preview/util.ts +10 -10
- package/src/routes/CustomCMSRoute.tsx +21 -0
- package/src/routes/FireCMSRoute.tsx +246 -0
- package/src/routes/HomePageRoute.tsx +17 -0
- package/src/types/analytics.ts +3 -0
- package/src/types/auth.tsx +9 -13
- package/src/types/collections.ts +132 -30
- package/src/types/customization_controller.tsx +9 -1
- package/src/types/datasource.ts +61 -43
- package/src/types/dialogs_controller.tsx +7 -3
- package/src/types/entities.ts +12 -2
- package/src/types/entity_actions.tsx +86 -10
- package/src/types/entity_callbacks.ts +18 -18
- package/src/types/entity_overrides.tsx +2 -2
- package/src/types/export_import.ts +4 -4
- package/src/types/fields.tsx +85 -46
- package/src/types/firecms.tsx +18 -4
- package/src/types/firecms_context.tsx +1 -1
- package/src/types/index.ts +0 -1
- package/src/types/navigation.ts +77 -24
- package/src/types/permissions.ts +5 -5
- package/src/types/plugins.tsx +66 -15
- package/src/types/properties.ts +95 -26
- package/src/types/property_config.tsx +1 -2
- package/src/types/roles.ts +3 -0
- package/src/types/side_dialogs_controller.tsx +15 -0
- package/src/types/side_entity_controller.tsx +16 -1
- package/src/types/storage.ts +83 -1
- package/src/types/user.ts +2 -0
- package/src/util/builders.ts +10 -8
- package/src/util/callbacks.ts +119 -0
- package/src/util/createFormexStub.tsx +62 -0
- package/src/util/entities.ts +9 -6
- package/src/util/entity_actions.ts +28 -0
- package/src/util/entity_cache.ts +204 -0
- package/src/util/enums.ts +1 -1
- package/src/util/icon_list.ts +16 -10
- package/src/util/icon_synonyms.ts +3 -100
- package/src/util/icons.tsx +36 -11
- package/src/util/index.ts +3 -0
- package/src/util/join_collections.ts +9 -2
- package/src/util/make_properties_editable.ts +13 -5
- package/src/util/navigation_from_path.ts +33 -12
- package/src/util/navigation_utils.ts +141 -25
- package/src/util/objects.ts +90 -33
- package/src/util/parent_references_from_path.ts +3 -3
- package/src/util/permissions.ts +9 -8
- package/src/util/plurals.ts +0 -2
- package/src/util/property_utils.tsx +17 -6
- package/src/util/references.ts +19 -8
- package/src/util/resolutions.ts +122 -48
- package/src/util/storage.ts +79 -21
- package/src/util/strings.ts +2 -2
- package/src/util/useStorageUploadController.tsx +91 -28
- package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +0 -5
- package/dist/components/FireCMSAppBar.d.ts +0 -26
- package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
- package/dist/components/VirtualTable/common.d.ts +0 -2
- package/dist/core/Drawer.d.ts +0 -23
- package/dist/core/Scaffold.d.ts +0 -55
- package/dist/core/SideEntityView.d.ts +0 -7
- package/dist/form/components/FormikArrayContainer.d.ts +0 -18
- package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
- package/dist/internal/useBuildCustomizationController.d.ts +0 -2
- package/dist/internal/useLocaleConfig.d.ts +0 -1
- package/dist/types/appcheck.d.ts +0 -26
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +0 -59
- package/src/components/FireCMSAppBar.tsx +0 -165
- package/src/components/PropertyIdCopyTooltipContent.tsx +0 -28
- package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -225
- package/src/core/Drawer.tsx +0 -191
- package/src/core/Scaffold.tsx +0 -281
- package/src/core/SideEntityView.tsx +0 -38
- package/src/form/components/FormikArrayContainer.tsx +0 -44
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
- package/src/internal/useBuildCustomizationController.tsx +0 -5
- package/src/internal/useLocaleConfig.tsx +0 -18
- package/src/types/appcheck.ts +0 -29
- /package/src/util/{common.tsx → common.ts} +0 -0
package/src/types/datasource.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Entity,
|
|
1
|
+
import { Entity, EntityStatus, EntityValues } from "./entities";
|
|
2
2
|
import { EntityCollection, FilterValues } from "./collections";
|
|
3
3
|
import { ResolvedEntityCollection } from "./resolved_entities";
|
|
4
|
+
import { FireCMSContext } from "./firecms_context";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @group Datasource
|
|
@@ -8,6 +9,7 @@ import { ResolvedEntityCollection } from "./resolved_entities";
|
|
|
8
9
|
export interface FetchEntityProps<M extends Record<string, any> = any> {
|
|
9
10
|
path: string;
|
|
10
11
|
entityId: string;
|
|
12
|
+
databaseId?: string;
|
|
11
13
|
collection?: EntityCollection<M, any>
|
|
12
14
|
}
|
|
13
15
|
|
|
@@ -62,12 +64,12 @@ export interface SaveEntityProps<M extends Record<string, any> = any> {
|
|
|
62
64
|
*/
|
|
63
65
|
export interface DeleteEntityProps<M extends Record<string, any> = any> {
|
|
64
66
|
entity: Entity<M>;
|
|
67
|
+
collection?: EntityCollection<M> | ResolvedEntityCollection<M>;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* A Firestore implementation of this interface can be found in {@link useFirestoreDataSource}
|
|
71
|
+
* Component in charge of communicating with the data source.
|
|
72
|
+
* Usually you won't need to implement this interface, but a {@link DataSourceDelegate} instead.
|
|
71
73
|
* @group Datasource
|
|
72
74
|
*/
|
|
73
75
|
export interface DataSource {
|
|
@@ -137,6 +139,7 @@ export interface DataSource {
|
|
|
137
139
|
fetchEntity<M extends Record<string, any> = any>({
|
|
138
140
|
path,
|
|
139
141
|
entityId,
|
|
142
|
+
databaseId,
|
|
140
143
|
collection
|
|
141
144
|
}: FetchEntityProps<M>
|
|
142
145
|
): Promise<Entity<M> | undefined>;
|
|
@@ -181,7 +184,8 @@ export interface DataSource {
|
|
|
181
184
|
*/
|
|
182
185
|
deleteEntity<M extends Record<string, any> = any>(
|
|
183
186
|
{
|
|
184
|
-
entity
|
|
187
|
+
entity,
|
|
188
|
+
collection
|
|
185
189
|
}: DeleteEntityProps<M>
|
|
186
190
|
): Promise<void>;
|
|
187
191
|
|
|
@@ -190,7 +194,7 @@ export interface DataSource {
|
|
|
190
194
|
* @param path Collection path
|
|
191
195
|
* @param name of the property
|
|
192
196
|
* @param value
|
|
193
|
-
* @param
|
|
197
|
+
* @param collection
|
|
194
198
|
* @param entityId
|
|
195
199
|
* @return `true` if there are no other fields besides the given entity
|
|
196
200
|
*/
|
|
@@ -198,13 +202,14 @@ export interface DataSource {
|
|
|
198
202
|
path: string,
|
|
199
203
|
name: string,
|
|
200
204
|
value: any,
|
|
201
|
-
entityId?: string
|
|
205
|
+
entityId?: string,
|
|
206
|
+
collection?: EntityCollection
|
|
202
207
|
): Promise<boolean>;
|
|
203
208
|
|
|
204
209
|
/**
|
|
205
210
|
* Generate an id for a new entity
|
|
206
211
|
*/
|
|
207
|
-
generateEntityId(path: string): string;
|
|
212
|
+
generateEntityId(path: string, collection: EntityCollection): string;
|
|
208
213
|
|
|
209
214
|
/**
|
|
210
215
|
* Count the number of entities in a collection
|
|
@@ -216,6 +221,19 @@ export interface DataSource {
|
|
|
216
221
|
* @param props
|
|
217
222
|
*/
|
|
218
223
|
isFilterCombinationValid?(props: FilterCombinationValidProps): boolean;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Called when the user clicks on the search bar in a collection view.
|
|
227
|
+
* Useful for initializing a text search index.
|
|
228
|
+
* @param props
|
|
229
|
+
*/
|
|
230
|
+
initTextSearch?: (props: {
|
|
231
|
+
context: FireCMSContext,
|
|
232
|
+
path: string,
|
|
233
|
+
collection: EntityCollection,
|
|
234
|
+
parentCollectionIds?: string[]
|
|
235
|
+
}) => Promise<boolean>;
|
|
236
|
+
|
|
219
237
|
}
|
|
220
238
|
|
|
221
239
|
export type FilterCombinationValidProps = {
|
|
@@ -225,21 +243,24 @@ export type FilterCombinationValidProps = {
|
|
|
225
243
|
sortBy?: [string, "asc" | "desc"];
|
|
226
244
|
};
|
|
227
245
|
|
|
228
|
-
export type SaveEntityDelegateProps<M extends Record<string, any> = any> =
|
|
246
|
+
export type SaveEntityDelegateProps<M extends Record<string, any> = any> = SaveEntityProps<M>;
|
|
229
247
|
|
|
230
|
-
export type FetchCollectionDelegateProps<M extends Record<string, any> = any> =
|
|
231
|
-
Omit<FetchCollectionProps<M>, "collection">
|
|
232
|
-
& {
|
|
233
|
-
isCollectionGroup?: boolean
|
|
234
|
-
};
|
|
248
|
+
export type FetchCollectionDelegateProps<M extends Record<string, any> = any> = FetchCollectionProps<M>;
|
|
235
249
|
|
|
236
|
-
export type ListenCollectionDelegateProps<M extends Record<string, any> = any> =
|
|
237
|
-
ListenCollectionProps<M>
|
|
238
|
-
& {
|
|
239
|
-
isCollectionGroup?: boolean;
|
|
240
|
-
};
|
|
250
|
+
export type ListenCollectionDelegateProps<M extends Record<string, any> = any> = ListenCollectionProps<M>;
|
|
241
251
|
|
|
242
252
|
export interface DataSourceDelegate {
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Key that identifies this data source delegate
|
|
256
|
+
*/
|
|
257
|
+
key: string;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* If the data source has been initialised
|
|
261
|
+
*/
|
|
262
|
+
initialised?: boolean;
|
|
263
|
+
|
|
243
264
|
/**
|
|
244
265
|
* Fetch data from a collection
|
|
245
266
|
* @param path
|
|
@@ -297,7 +318,7 @@ export interface DataSourceDelegate {
|
|
|
297
318
|
fetchEntity<M extends Record<string, any> = any>({
|
|
298
319
|
path,
|
|
299
320
|
entityId,
|
|
300
|
-
}:
|
|
321
|
+
}: FetchEntityProps<M>): Promise<Entity<M> | undefined>;
|
|
301
322
|
|
|
302
323
|
/**
|
|
303
324
|
* Get realtime updates on one entity.
|
|
@@ -313,13 +334,13 @@ export interface DataSourceDelegate {
|
|
|
313
334
|
entityId,
|
|
314
335
|
onUpdate,
|
|
315
336
|
onError
|
|
316
|
-
}:
|
|
337
|
+
}: ListenEntityProps<M>): () => void;
|
|
317
338
|
|
|
318
339
|
/**
|
|
319
340
|
* Save entity to the specified path
|
|
320
341
|
* @param path
|
|
321
|
-
* @param
|
|
322
|
-
* @param
|
|
342
|
+
* @param entityId
|
|
343
|
+
* @param values
|
|
323
344
|
* @param status
|
|
324
345
|
*/
|
|
325
346
|
saveEntity<M extends Record<string, any> = any>({
|
|
@@ -342,14 +363,15 @@ export interface DataSourceDelegate {
|
|
|
342
363
|
* @param name of the property
|
|
343
364
|
* @param value
|
|
344
365
|
* @param entityId
|
|
366
|
+
* @param collection
|
|
345
367
|
* @return `true` if there are no other fields besides the given entity
|
|
346
368
|
*/
|
|
347
|
-
checkUniqueField(path: string, name: string, value: any, entityId?: string): Promise<boolean>;
|
|
369
|
+
checkUniqueField(path: string, name: string, value: any, entityId?: string, collection?: EntityCollection): Promise<boolean>;
|
|
348
370
|
|
|
349
371
|
/**
|
|
350
372
|
* Generate an id for a new entity
|
|
351
373
|
*/
|
|
352
|
-
generateEntityId(path: string): string;
|
|
374
|
+
generateEntityId(path: string, collection?: EntityCollection): string;
|
|
353
375
|
|
|
354
376
|
/**
|
|
355
377
|
* Count the number of entities in a collection
|
|
@@ -360,30 +382,26 @@ export interface DataSourceDelegate {
|
|
|
360
382
|
* Check if the given filter combination is valid
|
|
361
383
|
* @param props
|
|
362
384
|
*/
|
|
363
|
-
isFilterCombinationValid?(props: Omit<FilterCombinationValidProps, "collection">
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
* Convert a FireCMS reference to a reference that can be used by the datasource
|
|
367
|
-
* @param reference
|
|
368
|
-
*/
|
|
369
|
-
buildReference: (reference: EntityReference) => any,
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Convert a FireCMS GeoPoint to a GeoPoint that can be used by the datasource
|
|
373
|
-
* @param geoPoint
|
|
374
|
-
*/
|
|
375
|
-
buildGeoPoint: (geoPoint: GeoPoint) => any,
|
|
385
|
+
isFilterCombinationValid?(props: Omit<FilterCombinationValidProps, "collection"> & {
|
|
386
|
+
databaseId?: string
|
|
387
|
+
}): boolean;
|
|
376
388
|
|
|
377
389
|
/**
|
|
378
390
|
* Get the object to generate the current time in the datasource
|
|
379
391
|
*/
|
|
380
|
-
currentTime()
|
|
381
|
-
|
|
382
|
-
buildDate: (date: Date) => any;
|
|
383
|
-
|
|
384
|
-
buildDeleteFieldValue: () => any;
|
|
392
|
+
currentTime?: () => any;
|
|
385
393
|
|
|
386
394
|
delegateToCMSModel: (data: any) => any;
|
|
387
395
|
|
|
396
|
+
cmsToDelegateModel: (data: any) => any;
|
|
397
|
+
|
|
388
398
|
setDateToMidnight: (input?: any) => any;
|
|
399
|
+
|
|
400
|
+
initTextSearch?: (props: {
|
|
401
|
+
context: FireCMSContext,
|
|
402
|
+
path: string,
|
|
403
|
+
databaseId?: string,
|
|
404
|
+
collection: EntityCollection,
|
|
405
|
+
parentCollectionIds?: string[]
|
|
406
|
+
}) => Promise<boolean>;
|
|
389
407
|
}
|
|
@@ -15,19 +15,23 @@ export interface DialogsController {
|
|
|
15
15
|
* Open a dialog
|
|
16
16
|
* @param props
|
|
17
17
|
*/
|
|
18
|
-
open: (props: DialogControllerEntryProps) => { closeDialog: () => void };
|
|
18
|
+
open: <T extends object = object>(props: DialogControllerEntryProps<T>) => { closeDialog: () => void };
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Props used to open a side dialog
|
|
23
23
|
* @group Hooks and utilities
|
|
24
24
|
*/
|
|
25
|
-
export interface DialogControllerEntryProps {
|
|
25
|
+
export interface DialogControllerEntryProps<T extends object = object> {
|
|
26
26
|
|
|
27
27
|
key: string;
|
|
28
28
|
/**
|
|
29
29
|
* The component type that will be rendered
|
|
30
30
|
*/
|
|
31
|
-
Component: React.ComponentType<{ open: boolean, closeDialog: () => void }>;
|
|
31
|
+
Component: React.ComponentType<{ open: boolean, closeDialog: () => void } & T>;
|
|
32
|
+
/**
|
|
33
|
+
* Props to pass to the dialog component
|
|
34
|
+
*/
|
|
35
|
+
props?: T;
|
|
32
36
|
|
|
33
37
|
}
|
package/src/types/entities.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type EntityStatus = "new" | "existing" | "copy";
|
|
|
8
8
|
* Representation of an entity fetched from the datasource
|
|
9
9
|
* @group Models
|
|
10
10
|
*/
|
|
11
|
-
export interface Entity<M extends object> {
|
|
11
|
+
export interface Entity<M extends object = any> {
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* ID of the entity
|
|
@@ -25,6 +25,8 @@ export interface Entity<M extends object> {
|
|
|
25
25
|
* Current values
|
|
26
26
|
*/
|
|
27
27
|
values: EntityValues<M>;
|
|
28
|
+
|
|
29
|
+
databaseId?: string;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
/**
|
|
@@ -37,7 +39,7 @@ export type EntityValues<M extends object> = M;
|
|
|
37
39
|
/**
|
|
38
40
|
* Class used to create a reference to an entity in a different path
|
|
39
41
|
*/
|
|
40
|
-
export class EntityReference
|
|
42
|
+
export class EntityReference {
|
|
41
43
|
/**
|
|
42
44
|
* ID of the entity
|
|
43
45
|
*/
|
|
@@ -78,3 +80,11 @@ export class GeoPoint {
|
|
|
78
80
|
this.longitude = longitude;
|
|
79
81
|
}
|
|
80
82
|
}
|
|
83
|
+
|
|
84
|
+
export class Vector {
|
|
85
|
+
readonly value: number[];
|
|
86
|
+
|
|
87
|
+
constructor(value: number[]) {
|
|
88
|
+
this.value = value;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -4,12 +4,47 @@ import { Entity } from "./entities";
|
|
|
4
4
|
import { EntityCollection, SelectionController } from "./collections";
|
|
5
5
|
import { User } from "./user";
|
|
6
6
|
import { SideEntityController } from "./side_entity_controller";
|
|
7
|
-
import {
|
|
7
|
+
import { FormContext } from "./fields";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* An entity action is a custom action that can be performed on an entity.
|
|
11
|
+
* They are displayed in the entity view and in the collection view.
|
|
12
|
+
*/
|
|
13
|
+
export type EntityAction<M extends object = any, USER extends User = User> = {
|
|
14
|
+
/**
|
|
15
|
+
* Title of the action
|
|
16
|
+
*/
|
|
10
17
|
name: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Key of the action. You only need to provide this if you want to
|
|
21
|
+
* override the default actions, or if you are not passing the action
|
|
22
|
+
* directly to the `entityActions` prop of a collection.
|
|
23
|
+
* You can define your actions at the app level, in which case you
|
|
24
|
+
* must provide a key.
|
|
25
|
+
* The default actions are:
|
|
26
|
+
* - edit
|
|
27
|
+
* - delete
|
|
28
|
+
* - copy
|
|
29
|
+
*/
|
|
30
|
+
key?: string;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Icon of the action
|
|
34
|
+
*/
|
|
11
35
|
icon?: React.ReactElement;
|
|
12
|
-
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Callback when the action is clicked
|
|
39
|
+
* @param props
|
|
40
|
+
*/
|
|
41
|
+
onClick: (props: EntityActionClickProps<M, USER>) => Promise<void> | void;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Optional callback in case you want to disable the action
|
|
45
|
+
* @param props
|
|
46
|
+
*/
|
|
47
|
+
isEnabled?: (props: EntityActionClickProps<M, USER>) => boolean;
|
|
13
48
|
|
|
14
49
|
/**
|
|
15
50
|
* Show this action collapsed in the menu of the collection view.
|
|
@@ -25,19 +60,60 @@ export type EntityAction<M extends object = any, UserType extends User = User> =
|
|
|
25
60
|
|
|
26
61
|
}
|
|
27
62
|
|
|
63
|
+
export type EntityActionClickProps<M extends object, USER extends User = User> = {
|
|
64
|
+
entity?: Entity<M>;
|
|
65
|
+
context: FireCMSContext<USER>;
|
|
28
66
|
|
|
29
|
-
|
|
30
|
-
export type EntityActionClickProps<M extends object, UserType extends User = User> = {
|
|
31
|
-
entity: Entity<M>;
|
|
32
|
-
context: FireCMSContext<UserType>;
|
|
33
67
|
fullPath?: string;
|
|
68
|
+
fullIdPath?: string;
|
|
34
69
|
collection?: EntityCollection<M>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Optional form context, present if the action is being called from a form.
|
|
73
|
+
* This allows you to access the form state and methods, including modifying the form values.
|
|
74
|
+
*/
|
|
75
|
+
formContext?: FormContext;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Present if this actions is being called from a side dialog only
|
|
79
|
+
*/
|
|
80
|
+
sideEntityController?: SideEntityController;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Is the action being called from the collection view or from the entity form view?
|
|
84
|
+
*/
|
|
85
|
+
view: "collection" | "form";
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* If the action is rendered in the form, is it open in a side panel or full screen?
|
|
89
|
+
*/
|
|
90
|
+
openEntityMode: "side_panel" | "full_screen";
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Optional selection controller, present if the action is being called from a collection view
|
|
94
|
+
*/
|
|
35
95
|
selectionController?: SelectionController;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Optional highlight function to highlight the entity in the collection view
|
|
99
|
+
* @param entity
|
|
100
|
+
*/
|
|
36
101
|
highlightEntity?: (entity: Entity<any>) => void;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Optional unhighlight function to remove the highlight from the entity in the collection view
|
|
105
|
+
* @param entity
|
|
106
|
+
*/
|
|
37
107
|
unhighlightEntity?: (entity: Entity<any>) => void;
|
|
38
|
-
|
|
108
|
+
|
|
39
109
|
/**
|
|
40
|
-
*
|
|
110
|
+
* Optional function to navigate back (e.g. when deleting an entity or navigating from a form)
|
|
41
111
|
*/
|
|
42
|
-
|
|
112
|
+
navigateBack?: () => void;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Callback to be called when the collection changes, e.g. after an entity is deleted or created.
|
|
116
|
+
*/
|
|
117
|
+
onCollectionChange?: () => void;
|
|
118
|
+
|
|
43
119
|
};
|
|
@@ -10,27 +10,27 @@ import { User } from "./user";
|
|
|
10
10
|
* Useful for adding your own logic or blocking the execution of the operation.
|
|
11
11
|
* @group Models
|
|
12
12
|
*/
|
|
13
|
-
export type EntityCallbacks<M extends Record<string, any> = any,
|
|
13
|
+
export type EntityCallbacks<M extends Record<string, any> = any, USER extends User = User> = {
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Callback used after fetching data
|
|
17
17
|
* @param entityFetchProps
|
|
18
18
|
*/
|
|
19
|
-
onFetch?(entityFetchProps: EntityOnFetchProps<M,
|
|
19
|
+
onFetch?(entityFetchProps: EntityOnFetchProps<M, USER>)
|
|
20
20
|
: Promise<Entity<M>> | Entity<M>;
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Callback used when save is successful
|
|
24
24
|
* @param entitySaveProps
|
|
25
25
|
*/
|
|
26
|
-
onSaveSuccess?(entitySaveProps: EntityOnSaveProps<M,
|
|
26
|
+
onSaveSuccess?(entitySaveProps: EntityOnSaveProps<M, USER>)
|
|
27
27
|
: Promise<void> | void;
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Callback used when saving fails
|
|
31
31
|
* @param entitySaveProps
|
|
32
32
|
*/
|
|
33
|
-
onSaveFailure?(entitySaveProps: EntityOnSaveFailureProps<M,
|
|
33
|
+
onSaveFailure?(entitySaveProps: EntityOnSaveFailureProps<M, USER>)
|
|
34
34
|
: Promise<void> | void;
|
|
35
35
|
|
|
36
36
|
/**
|
|
@@ -39,7 +39,7 @@ export type EntityCallbacks<M extends Record<string, any> = any, UserType extend
|
|
|
39
39
|
* error snackbar gets displayed.
|
|
40
40
|
* @param entitySaveProps
|
|
41
41
|
*/
|
|
42
|
-
onPreSave?(entitySaveProps: EntityOnPreSaveProps<M,
|
|
42
|
+
onPreSave?(entitySaveProps: EntityOnPreSaveProps<M, USER>)
|
|
43
43
|
: Promise<Partial<EntityValues<M>>> | Partial<EntityValues<M>>;
|
|
44
44
|
|
|
45
45
|
/**
|
|
@@ -49,14 +49,14 @@ export type EntityCallbacks<M extends Record<string, any> = any, UserType extend
|
|
|
49
49
|
*
|
|
50
50
|
* @param entityDeleteProps
|
|
51
51
|
*/
|
|
52
|
-
onPreDelete?(entityDeleteProps: EntityOnDeleteProps<M,
|
|
52
|
+
onPreDelete?(entityDeleteProps: EntityOnDeleteProps<M, USER>): void;
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
55
|
* Callback used after the entity is deleted.
|
|
56
56
|
*
|
|
57
57
|
* @param entityDeleteProps
|
|
58
58
|
*/
|
|
59
|
-
onDelete?(entityDeleteProps: EntityOnDeleteProps<M,
|
|
59
|
+
onDelete?(entityDeleteProps: EntityOnDeleteProps<M, USER>): void;
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Callback fired when any value in the form changes. You can use it
|
|
@@ -73,12 +73,12 @@ export type EntityCallbacks<M extends Record<string, any> = any, UserType extend
|
|
|
73
73
|
* Parameters passed to hooks when an entity is fetched
|
|
74
74
|
* @group Models
|
|
75
75
|
*/
|
|
76
|
-
export interface EntityOnFetchProps<M extends Record<string, any> = any,
|
|
76
|
+
export interface EntityOnFetchProps<M extends Record<string, any> = any, USER extends User = User> {
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Collection of the entity
|
|
80
80
|
*/
|
|
81
|
-
collection: EntityCollection<M,
|
|
81
|
+
collection: EntityCollection<M, USER>;
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
84
|
* Full path of the CMS where this collection is being fetched.
|
|
@@ -94,15 +94,15 @@ export interface EntityOnFetchProps<M extends Record<string, any> = any, UserTyp
|
|
|
94
94
|
/**
|
|
95
95
|
* Context of the app status
|
|
96
96
|
*/
|
|
97
|
-
context: FireCMSContext<
|
|
97
|
+
context: FireCMSContext<USER>;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
101
|
* Parameters passed to hooks before an entity is saved
|
|
102
102
|
* @group Models
|
|
103
103
|
*/
|
|
104
|
-
export type EntityOnPreSaveProps<M extends Record<string, any> = any,
|
|
105
|
-
Omit<EntityOnSaveProps<M,
|
|
104
|
+
export type EntityOnPreSaveProps<M extends Record<string, any> = any, USER extends User = User> =
|
|
105
|
+
Omit<EntityOnSaveProps<M, USER>, "entityId">
|
|
106
106
|
& {
|
|
107
107
|
entityId?: string;
|
|
108
108
|
}
|
|
@@ -110,8 +110,8 @@ export type EntityOnPreSaveProps<M extends Record<string, any> = any, UserType e
|
|
|
110
110
|
* Parameters passed to hooks before an entity is saved
|
|
111
111
|
* @group Models
|
|
112
112
|
*/
|
|
113
|
-
export type EntityOnSaveFailureProps<M extends Record<string, any> = any,
|
|
114
|
-
Omit<EntityOnSaveProps<M,
|
|
113
|
+
export type EntityOnSaveFailureProps<M extends Record<string, any> = any, USER extends User = User> =
|
|
114
|
+
Omit<EntityOnSaveProps<M, USER>, "entityId">
|
|
115
115
|
& {
|
|
116
116
|
entityId?: string;
|
|
117
117
|
}
|
|
@@ -120,7 +120,7 @@ export type EntityOnSaveFailureProps<M extends Record<string, any> = any, UserTy
|
|
|
120
120
|
* Parameters passed to hooks when an entity is saved
|
|
121
121
|
* @group Models
|
|
122
122
|
*/
|
|
123
|
-
export interface EntityOnSaveProps<M extends Record<string, any> = any,
|
|
123
|
+
export interface EntityOnSaveProps<M extends Record<string, any> = any, USER extends User = User> {
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Resolved collection of the entity
|
|
@@ -161,14 +161,14 @@ export interface EntityOnSaveProps<M extends Record<string, any> = any, UserType
|
|
|
161
161
|
/**
|
|
162
162
|
* Context of the app status
|
|
163
163
|
*/
|
|
164
|
-
context: FireCMSContext<
|
|
164
|
+
context: FireCMSContext<USER>;
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
/**
|
|
168
168
|
* Parameters passed to hooks when an entity is deleted
|
|
169
169
|
* @group Models
|
|
170
170
|
*/
|
|
171
|
-
export interface EntityOnDeleteProps<M extends Record<string, any> = any,
|
|
171
|
+
export interface EntityOnDeleteProps<M extends Record<string, any> = any, USER extends User = User> {
|
|
172
172
|
|
|
173
173
|
/**
|
|
174
174
|
* collection of the entity being deleted
|
|
@@ -193,7 +193,7 @@ export interface EntityOnDeleteProps<M extends Record<string, any> = any, UserTy
|
|
|
193
193
|
/**
|
|
194
194
|
* Context of the app status
|
|
195
195
|
*/
|
|
196
|
-
context: FireCMSContext<
|
|
196
|
+
context: FireCMSContext<USER>;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DataSource } from "./datasource";
|
|
1
|
+
import { DataSource, DataSourceDelegate } from "./datasource";
|
|
2
2
|
import { StorageSource } from "./storage";
|
|
3
3
|
|
|
4
4
|
export type EntityOverrides = {
|
|
5
|
-
|
|
5
|
+
dataSourceDelegate?: DataSourceDelegate;
|
|
6
6
|
storageSource?: StorageSource;
|
|
7
7
|
};
|
|
@@ -7,20 +7,20 @@ import { FireCMSContext } from "./firecms_context";
|
|
|
7
7
|
* exports
|
|
8
8
|
* @group Models
|
|
9
9
|
*/
|
|
10
|
-
export interface ExportConfig<
|
|
11
|
-
additionalFields: ExportMappingFunction<
|
|
10
|
+
export interface ExportConfig<USER extends User = User> {
|
|
11
|
+
additionalFields: ExportMappingFunction<USER> [];
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @group Models
|
|
16
16
|
*/
|
|
17
|
-
export interface ExportMappingFunction<
|
|
17
|
+
export interface ExportMappingFunction<USER extends User = User> {
|
|
18
18
|
key: string;
|
|
19
19
|
builder: ({
|
|
20
20
|
entity,
|
|
21
21
|
context
|
|
22
22
|
}: {
|
|
23
23
|
entity: Entity<any>,
|
|
24
|
-
context: FireCMSContext<
|
|
24
|
+
context: FireCMSContext<USER>
|
|
25
25
|
}) => Promise<string> | string;
|
|
26
26
|
}
|