@firecms/core 3.0.0-canary.99 → 3.0.0-rc.2
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 +2 -2
- package/dist/app/Drawer.d.ts +0 -1
- package/dist/app/Scaffold.d.ts +4 -0
- package/dist/components/ArrayContainer.d.ts +31 -12
- package/dist/components/{DeleteConfirmationDialog.d.ts → ConfirmationDialog.d.ts} +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +3 -1
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +17 -3
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +1 -1
- package/dist/components/EntityCollectionTable/index.d.ts +1 -1
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +6 -3
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +8 -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 -6
- 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 +3 -2
- package/dist/components/HomePage/NavigationGroup.d.ts +8 -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/SelectableTable/SelectableTable.d.ts +13 -3
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +1 -1
- package/dist/components/UnsavedChangesDialog.d.ts +8 -0
- package/dist/components/UserDisplay.d.ts +7 -0
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +11 -2
- package/dist/components/VirtualTable/fields/VirtualTableUserSelect.d.ts +12 -0
- package/dist/components/common/default_entity_actions.d.ts +0 -2
- package/dist/components/common/index.d.ts +1 -1
- package/dist/components/common/useColumnsIds.d.ts +1 -0
- package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +10 -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 +3 -1
- package/dist/contexts/BreacrumbsContext.d.ts +8 -0
- package/dist/contexts/InternalUserManagementContext.d.ts +3 -0
- package/dist/core/DefaultAppBar.d.ts +8 -2
- package/dist/core/DrawerNavigationItem.d.ts +2 -1
- package/dist/core/EntityEditView.d.ts +40 -22
- package/dist/core/EntityEditViewFormActions.d.ts +2 -0
- package/dist/core/FireCMS.d.ts +2 -3
- package/dist/core/FireCMSRouter.d.ts +4 -0
- package/dist/core/NavigationRoutes.d.ts +0 -1
- package/dist/core/SideDialogs.d.ts +4 -2
- package/dist/core/field_configs.d.ts +1 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/form/EntityForm.d.ts +50 -0
- package/dist/form/EntityFormActions.d.ts +21 -0
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- 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/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 +4 -10
- package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
- package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +12 -0
- package/dist/form/index.d.ts +17 -16
- package/dist/form/useClearRestoreValue.d.ts +2 -2
- package/dist/hooks/data/delete.d.ts +4 -4
- package/dist/hooks/data/save.d.ts +3 -3
- package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
- package/dist/hooks/data/useEntityFetch.d.ts +4 -3
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useAuthController.d.ts +1 -1
- package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
- package/dist/hooks/useBuildNavigationController.d.ts +57 -12
- package/dist/hooks/useCollapsedGroups.d.ts +9 -0
- package/dist/hooks/useFireCMSContext.d.ts +1 -1
- package/dist/hooks/useInternalUserManagementController.d.ts +12 -0
- package/dist/hooks/useModeController.d.ts +1 -2
- package/dist/hooks/useProjectLog.d.ts +7 -1
- package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
- package/dist/hooks/useValidateAuthenticator.d.ts +3 -3
- package/dist/index.es.js +20480 -14434
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +20250 -14209
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/useBuildDataSource.d.ts +3 -2
- package/dist/internal/useBuildSideEntityController.d.ts +3 -3
- package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
- package/dist/preview/PropertyPreviewProps.d.ts +1 -1
- package/dist/preview/components/EnumValuesChip.d.ts +1 -1
- package/dist/preview/components/ReferencePreview.d.ts +2 -2
- package/dist/preview/components/UserPreview.d.ts +8 -0
- package/dist/preview/index.d.ts +1 -0
- 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 +7 -9
- package/dist/types/collections.d.ts +88 -25
- package/dist/types/customization_controller.d.ts +8 -0
- package/dist/types/datasource.d.ts +19 -17
- package/dist/types/dialogs_controller.d.ts +7 -3
- package/dist/types/entities.d.ts +7 -2
- package/dist/types/entity_actions.d.ts +58 -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 +43 -17
- package/dist/types/firecms.d.ts +31 -3
- package/dist/types/firecms_context.d.ts +17 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/internal_user_management.d.ts +20 -0
- package/dist/types/navigation.d.ts +60 -17
- package/dist/types/permissions.d.ts +4 -4
- package/dist/types/plugins.d.ts +44 -9
- package/dist/types/properties.d.ts +74 -22
- 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 +2 -1
- 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 +2 -2
- package/dist/util/entity_actions.d.ts +2 -0
- package/dist/util/entity_cache.d.ts +23 -0
- package/dist/util/icon_synonyms.d.ts +0 -1
- package/dist/util/icons.d.ts +5 -2
- 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 +13 -1
- package/dist/util/objects.d.ts +2 -1
- package/dist/util/permissions.d.ts +4 -4
- package/dist/util/property_utils.d.ts +4 -4
- package/dist/util/references.d.ts +2 -2
- package/dist/util/resolutions.d.ts +30 -6
- package/dist/util/storage.d.ts +1 -1
- package/dist/util/useStorageUploadController.d.ts +2 -2
- package/package.json +133 -125
- package/src/app/Drawer.tsx +0 -1
- package/src/app/Scaffold.tsx +33 -29
- package/src/components/ArrayContainer.tsx +447 -229
- package/src/components/CircularProgressCenter.tsx +1 -1
- package/src/components/ClearFilterSortButton.tsx +1 -1
- package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +12 -11
- package/src/components/DeleteEntityDialog.tsx +13 -20
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +59 -25
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +23 -17
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +20 -3
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +47 -9
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +21 -16
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +6 -12
- package/src/components/EntityCollectionTable/index.tsx +1 -1
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +6 -6
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +35 -26
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +132 -101
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +9 -9
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +178 -85
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +7 -4
- package/src/components/EntityCollectionView/useSelectionController.tsx +5 -4
- package/src/components/EntityCollectionView/utils.ts +19 -0
- package/src/components/EntityJsonPreview.tsx +66 -0
- package/src/components/EntityPreview.tsx +75 -57
- package/src/components/EntityView.tsx +8 -5
- package/src/components/ErrorView.tsx +3 -3
- package/src/components/FireCMSLogo.tsx +7 -51
- package/src/components/HomePage/DefaultHomePage.tsx +506 -161
- package/src/components/HomePage/FavouritesView.tsx +9 -14
- package/src/components/HomePage/HomePageDnD.tsx +600 -0
- package/src/components/HomePage/NavigationCard.tsx +47 -38
- package/src/components/HomePage/NavigationCardBinding.tsx +16 -15
- package/src/components/HomePage/NavigationGroup.tsx +144 -30
- package/src/components/HomePage/RenameGroupDialog.tsx +123 -0
- package/src/components/HomePage/SmallNavigationCard.tsx +1 -2
- package/src/components/NotFoundPage.tsx +2 -2
- package/src/components/PropertyConfigBadge.tsx +10 -4
- package/src/components/PropertyIdCopyTooltip.tsx +47 -0
- package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +22 -13
- package/src/components/SearchIconsView.tsx +2 -2
- package/src/components/SelectableTable/SelectableTable.tsx +154 -142
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +4 -2
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +10 -8
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +60 -11
- package/src/components/UnsavedChangesDialog.tsx +46 -0
- package/src/components/UserDisplay.tsx +55 -0
- package/src/components/VirtualTable/VirtualTable.tsx +65 -44
- package/src/components/VirtualTable/VirtualTableCell.tsx +0 -8
- package/src/components/VirtualTable/VirtualTableHeader.tsx +8 -8
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +1 -1
- package/src/components/VirtualTable/VirtualTableProps.tsx +12 -2
- package/src/components/VirtualTable/VirtualTableRow.tsx +1 -1
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +4 -4
- 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/fields/VirtualTableUserSelect.tsx +99 -0
- package/src/components/common/default_entity_actions.tsx +62 -42
- package/src/components/common/index.ts +1 -1
- package/src/components/common/useColumnsIds.tsx +2 -9
- 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 +1 -0
- package/src/components/index.tsx +4 -1
- package/src/contexts/BreacrumbsContext.tsx +38 -0
- package/src/contexts/DialogsProvider.tsx +3 -2
- package/src/contexts/InternalUserManagementContext.tsx +4 -0
- package/src/contexts/ModeController.tsx +1 -3
- package/src/contexts/SnackbarProvider.tsx +2 -0
- package/src/core/DefaultAppBar.tsx +124 -85
- package/src/core/DefaultDrawer.tsx +30 -22
- package/src/core/DrawerNavigationItem.tsx +32 -28
- package/src/core/EntityEditView.tsx +388 -995
- package/src/core/EntityEditViewFormActions.tsx +329 -0
- package/src/core/EntitySidePanel.tsx +88 -20
- package/src/core/FireCMS.tsx +58 -28
- package/src/core/FireCMSRouter.tsx +17 -0
- package/src/core/NavigationRoutes.tsx +23 -32
- package/src/core/SideDialogs.tsx +22 -12
- package/src/core/field_configs.tsx +39 -11
- package/src/core/index.tsx +4 -2
- package/src/form/EntityForm.tsx +814 -0
- package/src/form/EntityFormActions.tsx +211 -0
- package/src/form/PropertyFieldBinding.tsx +59 -41
- package/src/form/components/CustomIdField.tsx +9 -3
- package/src/form/components/FieldHelperText.tsx +1 -1
- 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 +5 -4
- package/src/form/components/StorageUploadProgress.tsx +2 -3
- package/src/form/components/index.tsx +3 -1
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +30 -18
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +47 -36
- package/src/form/field_bindings/BlockFieldBinding.tsx +55 -33
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +18 -14
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -15
- package/src/form/field_bindings/MapFieldBinding.tsx +72 -62
- 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 +10 -8
- package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +135 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +28 -19
- package/src/form/field_bindings/RepeatFieldBinding.tsx +56 -32
- package/src/form/field_bindings/SelectFieldBinding.tsx +22 -13
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +247 -168
- package/src/form/field_bindings/SwitchFieldBinding.tsx +29 -24
- package/src/form/field_bindings/TextFieldBinding.tsx +28 -24
- package/src/form/field_bindings/UserSelectFieldBinding.tsx +94 -0
- package/src/form/index.tsx +17 -37
- package/src/form/useClearRestoreValue.tsx +2 -2
- package/src/form/validation.ts +12 -6
- package/src/hooks/data/delete.ts +6 -5
- package/src/hooks/data/save.ts +26 -35
- package/src/hooks/data/useCollectionFetch.tsx +3 -3
- package/src/hooks/data/useDataSource.tsx +10 -2
- package/src/hooks/data/useEntityFetch.tsx +10 -6
- package/src/hooks/index.tsx +3 -0
- package/src/hooks/useAuthController.tsx +1 -1
- package/src/hooks/useBreadcrumbsController.tsx +31 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +1 -1
- package/src/hooks/useBuildModeController.tsx +15 -28
- package/src/hooks/useBuildNavigationController.tsx +386 -124
- package/src/hooks/useCollapsedGroups.ts +64 -0
- package/src/hooks/useFireCMSContext.tsx +9 -35
- package/src/hooks/useInternalUserManagementController.tsx +16 -0
- package/src/hooks/useLargeLayout.tsx +0 -35
- package/src/hooks/useModeController.tsx +1 -2
- package/src/hooks/useProjectLog.tsx +16 -5
- package/src/hooks/useResolvedNavigationFrom.tsx +9 -11
- package/src/hooks/useValidateAuthenticator.tsx +3 -3
- package/src/internal/useBuildDataSource.ts +67 -80
- package/src/internal/useBuildSideDialogsController.tsx +4 -2
- package/src/internal/useBuildSideEntityController.tsx +149 -86
- package/src/internal/useUnsavedChangesDialog.tsx +127 -91
- package/src/preview/PropertyPreview.tsx +36 -12
- package/src/preview/PropertyPreviewProps.tsx +1 -1
- package/src/preview/components/BooleanPreview.tsx +1 -1
- package/src/preview/components/EmptyValue.tsx +1 -1
- package/src/preview/components/EnumValuesChip.tsx +1 -1
- package/src/preview/components/ImagePreview.tsx +10 -9
- package/src/preview/components/ReferencePreview.tsx +10 -18
- package/src/preview/components/UrlComponentPreview.tsx +20 -21
- package/src/preview/components/UserPreview.tsx +27 -0
- package/src/preview/index.ts +1 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +6 -5
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +5 -4
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +5 -3
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +4 -3
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +6 -4
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +6 -4
- package/src/preview/property_previews/MapPropertyPreview.tsx +7 -6
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +13 -13
- package/src/preview/property_previews/StringPropertyPreview.tsx +2 -2
- 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 +8 -12
- package/src/types/collections.ts +103 -28
- package/src/types/customization_controller.tsx +9 -0
- package/src/types/datasource.ts +21 -20
- package/src/types/dialogs_controller.tsx +7 -3
- package/src/types/entities.ts +10 -2
- package/src/types/entity_actions.tsx +71 -8
- 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 +52 -19
- package/src/types/firecms.tsx +34 -4
- package/src/types/firecms_context.tsx +18 -1
- package/src/types/index.ts +1 -0
- package/src/types/internal_user_management.ts +24 -0
- package/src/types/navigation.ts +76 -22
- package/src/types/permissions.ts +5 -5
- package/src/types/plugins.tsx +53 -9
- package/src/types/properties.ts +84 -22
- package/src/types/property_config.tsx +2 -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 +82 -0
- package/src/types/user.ts +3 -1
- 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 +6 -4
- package/src/util/entity_actions.ts +28 -0
- package/src/util/entity_cache.ts +204 -0
- package/src/util/icon_list.ts +1 -1
- package/src/util/icon_synonyms.ts +0 -1
- 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 +135 -19
- package/src/util/objects.ts +74 -14
- package/src/util/parent_references_from_path.ts +3 -3
- package/src/util/permissions.ts +8 -8
- package/src/util/property_utils.tsx +17 -6
- package/src/util/references.ts +19 -8
- package/src/util/resolutions.ts +93 -24
- package/src/util/storage.ts +6 -2
- package/src/util/useStorageUploadController.tsx +74 -29
- package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +0 -5
- package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
- package/dist/form/PropertiesForm.d.ts +0 -8
- package/dist/form/components/FormikArrayContainer.d.ts +0 -18
- package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +0 -59
- package/src/components/PropertyIdCopyTooltipContent.tsx +0 -27
- package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -236
- package/src/form/PropertiesForm.tsx +0 -81
- package/src/form/components/FormikArrayContainer.tsx +0 -44
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
- /package/src/util/{common.tsx → common.ts} +0 -0
package/src/types/plugins.tsx
CHANGED
|
@@ -7,6 +7,8 @@ import { FieldProps, FormContext } from "./fields";
|
|
|
7
7
|
import { CMSType, Property } from "./properties";
|
|
8
8
|
import { EntityStatus } from "./entities";
|
|
9
9
|
import { ResolvedProperty } from "./resolved_entities";
|
|
10
|
+
import { NavigationGroupMapping } from "./navigation";
|
|
11
|
+
import { InternalUserManagement } from "./internal_user_management";
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Interface used to define plugins for FireCMS.
|
|
@@ -42,6 +44,8 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
|
|
|
42
44
|
props?: PROPS;
|
|
43
45
|
};
|
|
44
46
|
|
|
47
|
+
userManagement?: InternalUserManagement
|
|
48
|
+
|
|
45
49
|
homePage?: {
|
|
46
50
|
|
|
47
51
|
/**
|
|
@@ -84,6 +88,20 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
|
|
|
84
88
|
children: React.ReactNode;
|
|
85
89
|
}
|
|
86
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Allow reordering with drag and drop of the collections in the home page.
|
|
93
|
+
*/
|
|
94
|
+
allowDragAndDrop?: boolean;
|
|
95
|
+
|
|
96
|
+
navigationEntries?: NavigationGroupMapping[];
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* This method will be called when the entries are updated in the home page.
|
|
100
|
+
* group => navigationEntriesOrder (path)
|
|
101
|
+
* @param entries
|
|
102
|
+
*/
|
|
103
|
+
onNavigationEntriesUpdate?: (entries: NavigationGroupMapping[]) => void;
|
|
104
|
+
|
|
87
105
|
}
|
|
88
106
|
|
|
89
107
|
collectionView?: {
|
|
@@ -151,13 +169,37 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
|
|
|
151
169
|
props?: FORM_PROPS;
|
|
152
170
|
}
|
|
153
171
|
|
|
172
|
+
/**
|
|
173
|
+
* Add custom actions to the default ones ("Save", "Discard"...)
|
|
174
|
+
*/
|
|
154
175
|
Actions?: React.ComponentType<PluginFormActionProps<any, EC>>;
|
|
155
176
|
|
|
177
|
+
/**
|
|
178
|
+
* Add custom actions to the top of the form
|
|
179
|
+
*/
|
|
180
|
+
ActionsTop?: React.ComponentType<PluginFormActionProps<any, EC>>;
|
|
181
|
+
|
|
156
182
|
fieldBuilder?: <T extends CMSType = CMSType>(props: PluginFieldBuilderParams<T, any, EC>) => React.ComponentType<FieldProps<T>> | null;
|
|
157
183
|
|
|
158
184
|
fieldBuilderEnabled?: <T extends CMSType = CMSType>(props: PluginFieldBuilderParams<T>) => boolean;
|
|
159
185
|
}
|
|
160
186
|
|
|
187
|
+
collection?: {
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Use this method to modify a single collection before it is rendered.
|
|
191
|
+
* @param collection
|
|
192
|
+
*/
|
|
193
|
+
modifyCollection?: (collection: EntityCollection) => EntityCollection;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Use this method to modify, add or remove collections.
|
|
197
|
+
* @param collections
|
|
198
|
+
*/
|
|
199
|
+
injectCollections?: (collections: EntityCollection[]) => EntityCollection[];
|
|
200
|
+
|
|
201
|
+
}
|
|
202
|
+
|
|
161
203
|
}
|
|
162
204
|
|
|
163
205
|
/**
|
|
@@ -166,7 +208,7 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
|
|
|
166
208
|
*
|
|
167
209
|
* @group Models
|
|
168
210
|
*/
|
|
169
|
-
export interface PluginHomePageActionsProps<EP extends object = object, M extends Record<string, any> = any,
|
|
211
|
+
export interface PluginHomePageActionsProps<EP extends object = object, M extends Record<string, any> = any, USER extends User = User, EC extends EntityCollection<M> = EntityCollection<M>> {
|
|
170
212
|
/**
|
|
171
213
|
* Collection path of this entity. This is the full path, like
|
|
172
214
|
* `users/1234/addresses`
|
|
@@ -181,20 +223,22 @@ export interface PluginHomePageActionsProps<EP extends object = object, M extend
|
|
|
181
223
|
/**
|
|
182
224
|
* Context of the app status
|
|
183
225
|
*/
|
|
184
|
-
context: FireCMSContext<
|
|
226
|
+
context: FireCMSContext<USER>;
|
|
185
227
|
|
|
186
228
|
extraProps?: EP;
|
|
187
229
|
|
|
188
230
|
}
|
|
189
231
|
|
|
190
|
-
export interface PluginFormActionProps<
|
|
232
|
+
export interface PluginFormActionProps<USER extends User = User, EC extends EntityCollection = EntityCollection> {
|
|
191
233
|
entityId?: string;
|
|
192
234
|
path: string;
|
|
235
|
+
parentCollectionIds: string[];
|
|
193
236
|
status: EntityStatus;
|
|
194
237
|
collection: EC;
|
|
238
|
+
disabled: boolean;
|
|
195
239
|
formContext?: FormContext<any>;
|
|
196
|
-
context: FireCMSContext<
|
|
197
|
-
|
|
240
|
+
context: FireCMSContext<USER>;
|
|
241
|
+
openEntityMode: "side_panel" | "full_screen";
|
|
198
242
|
}
|
|
199
243
|
|
|
200
244
|
export type PluginFieldBuilderParams<T extends CMSType = CMSType, M extends Record<string, any> = any, EC extends EntityCollection<M> = EntityCollection<M>> = {
|
|
@@ -207,11 +251,11 @@ export type PluginFieldBuilderParams<T extends CMSType = CMSType, M extends Reco
|
|
|
207
251
|
collection?: EC;
|
|
208
252
|
};
|
|
209
253
|
|
|
210
|
-
export interface PluginGenericProps<
|
|
211
|
-
context: FireCMSContext<
|
|
254
|
+
export interface PluginGenericProps<USER extends User = User> {
|
|
255
|
+
context: FireCMSContext<USER>;
|
|
212
256
|
}
|
|
213
257
|
|
|
214
|
-
export interface PluginHomePageAdditionalCardsProps<
|
|
258
|
+
export interface PluginHomePageAdditionalCardsProps<USER extends User = User> {
|
|
215
259
|
group?: string;
|
|
216
|
-
context: FireCMSContext<
|
|
260
|
+
context: FireCMSContext<USER>;
|
|
217
261
|
}
|
package/src/types/properties.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { EntityReference, EntityValues, GeoPoint, Vector } from "./entities";
|
|
|
5
5
|
import { ResolvedArrayProperty, ResolvedStringProperty } from "./resolved_entities";
|
|
6
6
|
import { FilterValues } from "./collections";
|
|
7
7
|
import { ChipColorKey, ChipColorScheme } from "@firecms/ui";
|
|
8
|
+
import { AuthController } from "./auth";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* @group Entity properties
|
|
@@ -17,7 +18,7 @@ export type DataType<T extends CMSType = CMSType> =
|
|
|
17
18
|
T extends GeoPoint ? "geopoint" :
|
|
18
19
|
T extends Vector ? "vector" :
|
|
19
20
|
T extends EntityReference ? "reference" :
|
|
20
|
-
T extends Array<
|
|
21
|
+
T extends Array<any> ? "array" :
|
|
21
22
|
T extends Record<string, any> ? "map" : never;
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -49,7 +50,7 @@ export type AnyProperty =
|
|
|
49
50
|
/**
|
|
50
51
|
* @group Entity properties
|
|
51
52
|
*/
|
|
52
|
-
export type Property<T extends CMSType =
|
|
53
|
+
export type Property<T extends CMSType = any> =
|
|
53
54
|
T extends string ? StringProperty :
|
|
54
55
|
T extends number ? NumberProperty :
|
|
55
56
|
T extends boolean ? BooleanProperty :
|
|
@@ -156,6 +157,12 @@ export interface BaseProperty<T extends CMSType, CustomProps = any> {
|
|
|
156
157
|
* save the new config. The saved config will then become the source of truth.
|
|
157
158
|
*/
|
|
158
159
|
editable?: boolean;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* A number between 0 and 100 that indicates the width of the field in the form view.
|
|
163
|
+
* It defaults to 100, but you can set it to 50 to have two fields in the same row.
|
|
164
|
+
*/
|
|
165
|
+
widthPercentage?: number;
|
|
159
166
|
}
|
|
160
167
|
|
|
161
168
|
/**
|
|
@@ -264,6 +271,11 @@ export type PropertyBuilderProps<M extends Record<string, any> = any> =
|
|
|
264
271
|
* Entity ID
|
|
265
272
|
*/
|
|
266
273
|
entityId?: string;
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Controller to manage authentication
|
|
277
|
+
*/
|
|
278
|
+
authController: AuthController;
|
|
267
279
|
};
|
|
268
280
|
|
|
269
281
|
/**
|
|
@@ -279,20 +291,21 @@ export type PropertyBuilder<T extends CMSType = any, M extends Record<string, an
|
|
|
279
291
|
propertyValue,
|
|
280
292
|
index,
|
|
281
293
|
path,
|
|
282
|
-
entityId
|
|
294
|
+
entityId,
|
|
295
|
+
authController
|
|
283
296
|
}: PropertyBuilderProps<M>) => Property<T> | null;
|
|
284
297
|
|
|
285
298
|
/**
|
|
286
299
|
* @group Entity properties
|
|
287
300
|
*/
|
|
288
|
-
export type PropertyOrBuilder<T extends CMSType = CMSType, M extends Record<string, any> =
|
|
301
|
+
export type PropertyOrBuilder<T extends CMSType = CMSType, M extends Record<string, any> = any> =
|
|
289
302
|
Property<T>
|
|
290
303
|
| PropertyBuilder<T, M>;
|
|
291
304
|
|
|
292
305
|
/**
|
|
293
306
|
* @group Entity properties
|
|
294
307
|
*/
|
|
295
|
-
export type PropertiesOrBuilders<M extends Record<string, any> =
|
|
308
|
+
export type PropertiesOrBuilders<M extends Record<string, any> = any> =
|
|
296
309
|
{
|
|
297
310
|
[k in keyof M]: PropertyOrBuilder<M[k], M>;
|
|
298
311
|
};
|
|
@@ -371,10 +384,20 @@ export interface StringProperty extends BaseProperty<string> {
|
|
|
371
384
|
|
|
372
385
|
/**
|
|
373
386
|
* You can specify a `Storage` configuration. It is used to
|
|
374
|
-
* indicate that this string refers to a path in
|
|
387
|
+
* indicate that this string refers to a path in your storage provider.
|
|
375
388
|
*/
|
|
376
389
|
storage?: StorageConfig;
|
|
377
390
|
|
|
391
|
+
/**
|
|
392
|
+
* This property is used to indicate that the string is a user ID, and
|
|
393
|
+
* it will be rendered as a user picker.
|
|
394
|
+
* Note that the user ID needs to be the one used in your authentication
|
|
395
|
+
* provider, e.g. Firebase Auth.
|
|
396
|
+
* You can also use a property builder to specify the user path dynamically
|
|
397
|
+
* based on other values of the entity.
|
|
398
|
+
*/
|
|
399
|
+
userSelect?: boolean;
|
|
400
|
+
|
|
378
401
|
/**
|
|
379
402
|
* If the value of this property is a URL, you can set this flag to true
|
|
380
403
|
* to add a link, or one of the supported media types to render a preview
|
|
@@ -400,12 +423,20 @@ export interface StringProperty extends BaseProperty<string> {
|
|
|
400
423
|
* Add an icon to clear the value and set it to `null`. Defaults to `false`
|
|
401
424
|
*/
|
|
402
425
|
clearable?: boolean;
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* You can use this property (a string) to behave as a reference to another
|
|
429
|
+
* collection. The stored value is the ID of the entity in the
|
|
430
|
+
* collection, and the `path` prop is used to
|
|
431
|
+
* define the collection this reference points to.
|
|
432
|
+
*/
|
|
433
|
+
reference?: ReferenceProperty;
|
|
403
434
|
}
|
|
404
435
|
|
|
405
436
|
/**
|
|
406
437
|
* @group Entity properties
|
|
407
438
|
*/
|
|
408
|
-
export interface ArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSType =
|
|
439
|
+
export interface ArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSType = any> extends BaseProperty<T> {
|
|
409
440
|
|
|
410
441
|
dataType: "array";
|
|
411
442
|
|
|
@@ -469,6 +500,24 @@ export interface ArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSTyp
|
|
|
469
500
|
*/
|
|
470
501
|
expanded?: boolean;
|
|
471
502
|
|
|
503
|
+
/**
|
|
504
|
+
* Display the child properties directly, without being wrapped in an
|
|
505
|
+
* extendable panel.
|
|
506
|
+
*/
|
|
507
|
+
minimalistView?: boolean;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Can the elements in this array be reordered. Defaults to `true`.
|
|
511
|
+
* This prop has no effect if `disabled` is set to true.
|
|
512
|
+
*/
|
|
513
|
+
sortable?: boolean;
|
|
514
|
+
|
|
515
|
+
/**
|
|
516
|
+
* Can the elements in this array be added. Defaults to `true`
|
|
517
|
+
* This prop has no effect if `disabled` is set to true.
|
|
518
|
+
*/
|
|
519
|
+
canAddElements?: boolean;
|
|
520
|
+
|
|
472
521
|
}
|
|
473
522
|
|
|
474
523
|
/**
|
|
@@ -517,6 +566,12 @@ export interface MapProperty<T extends Record<string, CMSType> = Record<string,
|
|
|
517
566
|
*/
|
|
518
567
|
spreadChildren?: boolean;
|
|
519
568
|
|
|
569
|
+
/**
|
|
570
|
+
* Display the child properties directly, without being wrapped in an
|
|
571
|
+
* extendable panel. Note that this will also hide the title of this property.
|
|
572
|
+
*/
|
|
573
|
+
minimalistView?: boolean;
|
|
574
|
+
|
|
520
575
|
/**
|
|
521
576
|
* Should the field be initially expanded. Defaults to `true`
|
|
522
577
|
*/
|
|
@@ -593,7 +648,7 @@ export interface ReferenceProperty extends BaseProperty<EntityReference> {
|
|
|
593
648
|
* You can leave this prop undefined if the path is not yet know, e.g.
|
|
594
649
|
* you are using a property builder and the path depends on a different
|
|
595
650
|
* property.
|
|
596
|
-
* Note that you can also use a collection
|
|
651
|
+
* Note that you can also use a collection id.
|
|
597
652
|
*/
|
|
598
653
|
path?: string;
|
|
599
654
|
|
|
@@ -734,13 +789,13 @@ export type StorageConfig = {
|
|
|
734
789
|
* You can use this prop to customize the uploaded filename.
|
|
735
790
|
* You can use a function as a callback or a string where you
|
|
736
791
|
* specify some placeholders that get replaced with the corresponding values.
|
|
737
|
-
* - {file} - Full file name
|
|
738
|
-
* - {file.name} - Name of the file without extension
|
|
739
|
-
* - {file.ext} - Extension of the file
|
|
740
|
-
* - {rand} - Random value used to avoid name collisions
|
|
741
|
-
* - {entityId} - ID of the entity
|
|
742
|
-
* - {propertyKey} - ID of this property
|
|
743
|
-
* - {path} - Path of this entity
|
|
792
|
+
* - `{file}` - Full file name
|
|
793
|
+
* - `{file.name}` - Name of the file without extension
|
|
794
|
+
* - `{file.ext}` - Extension of the file
|
|
795
|
+
* - `{rand}` - Random value used to avoid name collisions
|
|
796
|
+
* - `{entityId}` - ID of the entity
|
|
797
|
+
* - `{propertyKey}` - ID of this property
|
|
798
|
+
* - `{path}` - Path of this entity
|
|
744
799
|
*
|
|
745
800
|
* @param context
|
|
746
801
|
*/
|
|
@@ -751,13 +806,13 @@ export type StorageConfig = {
|
|
|
751
806
|
*
|
|
752
807
|
* You can use a function as a callback or a string where you
|
|
753
808
|
* specify some placeholders that get replaced with the corresponding values.
|
|
754
|
-
* - {file} - Full file name
|
|
755
|
-
* - {file.name} - Name of the file without extension
|
|
756
|
-
* - {file.ext} - Extension of the file
|
|
757
|
-
* - {rand} - Random value used to avoid name collisions
|
|
758
|
-
* - {entityId} - ID of the entity
|
|
759
|
-
* - {propertyKey} - ID of this property
|
|
760
|
-
* - {path} - Path of this entity
|
|
809
|
+
* - `{file}` - Full file name
|
|
810
|
+
* - `{file.name}` - Name of the file without extension
|
|
811
|
+
* - `{file.ext}` - Extension of the file
|
|
812
|
+
* - `{rand}` - Random value used to avoid name collisions
|
|
813
|
+
* - `{entityId}` - ID of the entity
|
|
814
|
+
* - `{propertyKey}` - ID of this property
|
|
815
|
+
* - `{path}` - Path of this entity
|
|
761
816
|
*/
|
|
762
817
|
storagePath: string | ((context: UploadedFileContext) => string);
|
|
763
818
|
|
|
@@ -778,6 +833,13 @@ export type StorageConfig = {
|
|
|
778
833
|
*/
|
|
779
834
|
maxSize?: number,
|
|
780
835
|
|
|
836
|
+
/**
|
|
837
|
+
* Use this callback to process the file before uploading it to the storage.
|
|
838
|
+
* If nothing is returned, the file is uploaded as it is.
|
|
839
|
+
* @param file
|
|
840
|
+
*/
|
|
841
|
+
processFile?: (file: File) => Promise<File> | undefined;
|
|
842
|
+
|
|
781
843
|
/**
|
|
782
844
|
* Postprocess the saved value (storage path or URL)
|
|
783
845
|
* after it has been resolved.
|
|
@@ -23,8 +23,6 @@ export type PropertyConfig<T extends CMSType = any> = {
|
|
|
23
23
|
* Default config for the property.
|
|
24
24
|
* This property or builder will be used as the base values for the resulting property.
|
|
25
25
|
* You can also use a builder function to generate the base property.
|
|
26
|
-
* You can use a builder function to generate the property based on the values or the path.
|
|
27
|
-
* You can also define a custom Field as a React component to be used for this property.
|
|
28
26
|
*/
|
|
29
27
|
property: PropertyOrBuilder<T>;
|
|
30
28
|
|
|
@@ -54,6 +52,7 @@ export type PropertyConfigId =
|
|
|
54
52
|
"markdown" |
|
|
55
53
|
"url" |
|
|
56
54
|
"email" |
|
|
55
|
+
"user_select" |
|
|
57
56
|
"select" |
|
|
58
57
|
"multi_select" |
|
|
59
58
|
"number_input" |
|
|
@@ -64,6 +63,7 @@ export type PropertyConfigId =
|
|
|
64
63
|
"group" |
|
|
65
64
|
"key_value" |
|
|
66
65
|
"reference" |
|
|
66
|
+
"reference_as_string" |
|
|
67
67
|
"multi_references" |
|
|
68
68
|
"switch" |
|
|
69
69
|
"date_time" |
|
package/src/types/roles.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EntityFormProps } from "../form";
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Controller to open the side dialog
|
|
3
6
|
* @group Hooks and utilities
|
|
@@ -14,6 +17,12 @@ export interface SideDialogsController {
|
|
|
14
17
|
*/
|
|
15
18
|
sidePanels: SideDialogPanelProps[];
|
|
16
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Override the current side panels
|
|
22
|
+
* @param panels
|
|
23
|
+
*/
|
|
24
|
+
setSidePanels: (panels: SideDialogPanelProps[]) => void;
|
|
25
|
+
|
|
17
26
|
/**
|
|
18
27
|
* Open one or multiple side panels
|
|
19
28
|
* @param props
|
|
@@ -65,4 +74,10 @@ export interface SideDialogPanelProps {
|
|
|
65
74
|
* Callback when the panel is closed
|
|
66
75
|
*/
|
|
67
76
|
onClose?: () => void;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Use this prop to store additional data in the panel
|
|
80
|
+
*/
|
|
81
|
+
additional?: any;
|
|
82
|
+
|
|
68
83
|
}
|
|
@@ -2,6 +2,7 @@ import { EntityCollection } from "./collections";
|
|
|
2
2
|
import { ResolvedEntityCollection } from "./resolved_entities";
|
|
3
3
|
import { Entity } from "./entities";
|
|
4
4
|
import { EntityOverrides } from "./entity_overrides";
|
|
5
|
+
import { EntityFormProps } from "../form";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Props used to open a side dialog
|
|
@@ -14,6 +15,11 @@ export interface EntitySidePanelProps<M extends Record<string, any> = any> {
|
|
|
14
15
|
*/
|
|
15
16
|
path: string;
|
|
16
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Full CMS path of the entity, including the collection and sub-collections.
|
|
20
|
+
*/
|
|
21
|
+
fullIdPath?: string;
|
|
22
|
+
|
|
17
23
|
/**
|
|
18
24
|
* ID of the entity, if not set, it means we are creating a new entity
|
|
19
25
|
*/
|
|
@@ -28,7 +34,7 @@ export interface EntitySidePanelProps<M extends Record<string, any> = any> {
|
|
|
28
34
|
* Open the entity with a selected sub-collection view. If the panel for this
|
|
29
35
|
* entity was already open, it is replaced.
|
|
30
36
|
*/
|
|
31
|
-
|
|
37
|
+
selectedTab?: string;
|
|
32
38
|
|
|
33
39
|
/**
|
|
34
40
|
* Use this prop to override the width of the form view.
|
|
@@ -66,6 +72,15 @@ export interface EntitySidePanelProps<M extends Record<string, any> = any> {
|
|
|
66
72
|
*/
|
|
67
73
|
closeOnSave?: boolean;
|
|
68
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Override some form properties
|
|
77
|
+
*/
|
|
78
|
+
formProps?: Partial<EntityFormProps<M>>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Allow the user to open the entity fullscreen
|
|
82
|
+
*/
|
|
83
|
+
allowFullScreen?: boolean;
|
|
69
84
|
}
|
|
70
85
|
|
|
71
86
|
/**
|
package/src/types/storage.ts
CHANGED
|
@@ -102,4 +102,86 @@ export interface StorageSource {
|
|
|
102
102
|
* @param bucket
|
|
103
103
|
*/
|
|
104
104
|
getFile: (path: string, bucket?: string) => Promise<File | null>;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Delete a file.
|
|
108
|
+
* @param path
|
|
109
|
+
* @param bucket
|
|
110
|
+
*/
|
|
111
|
+
deleteFile: (path: string, bucket?: string) => Promise<void>;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* List the contents of a path.
|
|
115
|
+
* @param path
|
|
116
|
+
* @param options
|
|
117
|
+
*/
|
|
118
|
+
list: (path: string, options?: {
|
|
119
|
+
bucket?: string,
|
|
120
|
+
maxResults?: number,
|
|
121
|
+
pageToken?: string
|
|
122
|
+
}) => Promise<StorageListResult>;
|
|
123
|
+
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Result returned by list().
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
export declare interface StorageListResult {
|
|
131
|
+
/**
|
|
132
|
+
* References to prefixes (sub-folders). You can call list() on them to
|
|
133
|
+
* get its contents.
|
|
134
|
+
*
|
|
135
|
+
* Folders are implicit based on '/' in the object paths.
|
|
136
|
+
* For example, if a bucket has two objects '/a/b/1' and '/a/b/2', list('/a')
|
|
137
|
+
* will return '/a/b' as a prefix.
|
|
138
|
+
*/
|
|
139
|
+
prefixes: StorageReference[];
|
|
140
|
+
/**
|
|
141
|
+
* Objects in this directory.
|
|
142
|
+
* You can call getMetadata() and getDownloadUrl() on them.
|
|
143
|
+
*/
|
|
144
|
+
items: StorageReference[];
|
|
145
|
+
/**
|
|
146
|
+
* If set, there might be more results for this list. Use this token to resume the list.
|
|
147
|
+
*/
|
|
148
|
+
nextPageToken?: string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Represents a reference to a Google Cloud Storage object. Developers can
|
|
153
|
+
* upload, download, and delete objects, as well as get/set object metadata.
|
|
154
|
+
* @public
|
|
155
|
+
*/
|
|
156
|
+
export declare interface StorageReference {
|
|
157
|
+
/**
|
|
158
|
+
* Returns a gs:// URL for this object in the form
|
|
159
|
+
* `gs://<bucket>/<path>/<to>/<object>`
|
|
160
|
+
* @returns The gs:// URL.
|
|
161
|
+
*/
|
|
162
|
+
toString(): string;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* A reference to the root of this object's bucket.
|
|
166
|
+
*/
|
|
167
|
+
root: StorageReference;
|
|
168
|
+
/**
|
|
169
|
+
* The name of the bucket containing this reference's object.
|
|
170
|
+
*/
|
|
171
|
+
bucket: string;
|
|
172
|
+
/**
|
|
173
|
+
* The full path of this object.
|
|
174
|
+
*/
|
|
175
|
+
fullPath: string;
|
|
176
|
+
/**
|
|
177
|
+
* The short name of this object, which is the last component of the full path.
|
|
178
|
+
* For example, if fullPath is 'full/path/image.png', name is 'image.png'.
|
|
179
|
+
*/
|
|
180
|
+
name: string;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* A reference pointing to the parent location of this reference, or null if
|
|
184
|
+
* this reference is the root.
|
|
185
|
+
*/
|
|
186
|
+
parent: StorageReference | null;
|
|
105
187
|
}
|
package/src/types/user.ts
CHANGED
package/src/util/builders.ts
CHANGED
|
@@ -26,10 +26,12 @@ import {
|
|
|
26
26
|
* @param collection
|
|
27
27
|
* @group Builder
|
|
28
28
|
*/
|
|
29
|
-
export function buildCollection<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
export function buildCollection<
|
|
30
|
+
M extends Record<string, any> = any,
|
|
31
|
+
USER extends User = User>
|
|
32
|
+
(
|
|
33
|
+
collection: EntityCollection<M, USER>
|
|
34
|
+
): EntityCollection<M, USER> {
|
|
33
35
|
return collection;
|
|
34
36
|
}
|
|
35
37
|
|
|
@@ -39,7 +41,7 @@ export function buildCollection<M extends Record<string, any> = any,
|
|
|
39
41
|
* @param property
|
|
40
42
|
* @group Builder
|
|
41
43
|
*/
|
|
42
|
-
export function buildProperty<T extends CMSType = CMSType, P extends PropertyOrBuilder<T> = PropertyOrBuilder<T>, M extends Record<string, any> =
|
|
44
|
+
export function buildProperty<T extends CMSType = CMSType, P extends PropertyOrBuilder<T> = PropertyOrBuilder<T>, M extends Record<string, any> = any>(
|
|
43
45
|
property: P
|
|
44
46
|
):
|
|
45
47
|
P extends StringProperty ? StringProperty :
|
|
@@ -120,9 +122,9 @@ export function buildEntityCallbacks<M extends Record<string, any> = any>(
|
|
|
120
122
|
* @param additionalFieldDelegate
|
|
121
123
|
* @group Builder
|
|
122
124
|
*/
|
|
123
|
-
export function buildAdditionalFieldDelegate<M extends Record<string, any>,
|
|
124
|
-
additionalFieldDelegate: AdditionalFieldDelegate<M,
|
|
125
|
-
): AdditionalFieldDelegate<M,
|
|
125
|
+
export function buildAdditionalFieldDelegate<M extends Record<string, any>, USER extends User = User>(
|
|
126
|
+
additionalFieldDelegate: AdditionalFieldDelegate<M, USER>
|
|
127
|
+
): AdditionalFieldDelegate<M, USER> {
|
|
126
128
|
return additionalFieldDelegate;
|
|
127
129
|
}
|
|
128
130
|
|