@firecms/core 3.0.0-alpha.7 → 3.0.0-alpha.71
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 +1 -1
- package/dist/components/ArrayContainer.d.ts +42 -0
- package/dist/components/CircularProgressCenter.d.ts +11 -0
- package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
- package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
- package/dist/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
- package/dist/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
- package/dist/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
- package/dist/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
- package/dist/components/EntityCollectionTable/index.d.ts +4 -0
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
- package/dist/components/EntityCollectionTable/internal/DeleteEntityDialog.d.ts +12 -0
- package/dist/components/EntityCollectionTable/internal/EntityCollectionRowActions.d.ts +35 -0
- package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
- package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
- package/dist/components/EntityCollectionTable/internal/PropertyTableCell.d.ts +18 -0
- package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
- package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
- package/dist/components/EntityCollectionTable/types.d.ts +39 -0
- package/dist/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
- package/dist/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +21 -0
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
- package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
- package/dist/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
- package/dist/components/EntityPreview.d.ts +11 -0
- package/dist/components/ErrorBoundary.d.ts +11 -0
- package/dist/components/ErrorTooltip.d.ts +2 -0
- package/dist/components/ErrorView.d.ts +19 -0
- package/dist/components/FieldConfigBadge.d.ts +4 -0
- package/dist/components/FireCMSAppBar.d.ts +26 -0
- package/dist/components/FireCMSLogo.d.ts +7 -0
- package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
- package/dist/components/HomePage/FavouritesView.d.ts +3 -0
- package/dist/components/HomePage/NavigationCollectionCard.d.ts +17 -0
- package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
- package/dist/components/HomePage/index.d.ts +3 -0
- package/dist/components/LabelWithIcon.d.ts +14 -0
- package/dist/components/NotFoundPage.d.ts +1 -0
- package/dist/components/ReferenceSelectionInner.d.ts +58 -0
- package/dist/components/ReferenceWidget.d.ts +28 -0
- package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
- package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
- package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
- package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +215 -0
- package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
- package/dist/components/VirtualTable/common.d.ts +2 -0
- package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
- package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
- package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
- package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
- package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
- package/dist/components/VirtualTable/index.d.ts +2 -0
- package/dist/components/VirtualTable/types.d.ts +34 -0
- package/dist/components/index.d.ts +20 -0
- package/dist/contexts/AuthControllerContext.d.ts +3 -0
- package/dist/contexts/DataSourceContext.d.ts +3 -0
- package/dist/contexts/DialogsProvider.d.ts +4 -0
- package/dist/contexts/ModeController.d.ts +4 -0
- package/dist/contexts/NavigationContext.d.ts +3 -0
- package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
- package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
- package/dist/contexts/SnackbarProvider.d.ts +2 -0
- package/dist/contexts/StorageSourceContext.d.ts +3 -0
- package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
- package/dist/contexts/index.d.ts +3 -0
- package/dist/core/Drawer.d.ts +23 -0
- package/dist/core/EntitySidePanel.d.ts +10 -0
- package/dist/core/FireCMS.d.ts +14 -0
- package/dist/core/NavigationRoutes.d.ts +21 -0
- package/dist/core/Scaffold.d.ts +52 -0
- package/dist/core/SideDialogs.d.ts +23 -0
- package/dist/core/field_configs.d.ts +7 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/dist/core/useBuildModeController.d.ts +6 -0
- package/dist/form/EntityForm.d.ts +75 -0
- package/dist/form/PropertyFieldBinding.d.ts +30 -0
- package/dist/form/components/CustomIdField.d.ts +9 -0
- package/dist/form/components/ErrorFocus.d.ts +4 -0
- package/dist/form/components/FieldHelperText.d.ts +12 -0
- package/dist/form/components/FormikArrayContainer.d.ts +18 -0
- package/dist/form/components/StorageItemPreview.d.ts +13 -0
- package/dist/form/components/StorageUploadProgress.d.ts +10 -0
- package/dist/form/components/SubmitListener.d.ts +1 -0
- package/dist/form/components/SwitchControl.d.ts +8 -0
- package/dist/form/components/index.d.ts +3 -0
- package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
- package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
- package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
- package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
- package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
- package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
- package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
- package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
- package/dist/form/index.d.ts +20 -0
- package/dist/form/useClearRestoreValue.d.ts +13 -0
- package/dist/form/validation.d.ts +25 -0
- package/dist/hooks/data/delete.d.ts +37 -0
- package/dist/hooks/data/save.d.ts +42 -0
- package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
- package/dist/hooks/data/useDataOrder.d.ts +12 -0
- package/dist/hooks/data/useDataSource.d.ts +6 -0
- package/dist/hooks/data/useEntityFetch.d.ts +28 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/useAuthController.d.ts +11 -0
- package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/dist/hooks/useClipboard.d.ts +57 -0
- package/dist/hooks/useDialogsController.d.ts +11 -0
- package/dist/hooks/useFireCMSContext.d.ts +12 -0
- package/dist/hooks/useLargeLayout.d.ts +1 -0
- package/dist/hooks/useModeController.d.ts +20 -0
- package/dist/hooks/useNavigationController.d.ts +9 -0
- package/dist/hooks/useReferenceDialog.d.ts +18 -0
- package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
- package/dist/hooks/useSideDialogsController.d.ts +18 -0
- package/dist/hooks/useSideEntityController.d.ts +12 -0
- package/dist/hooks/useSnackbarController.d.ts +41 -0
- package/dist/hooks/useStorageSource.d.ts +6 -0
- package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.es.js +12415 -25618
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +5 -1027
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/EntityView.d.ts +22 -0
- package/dist/internal/common.d.ts +3 -0
- package/dist/internal/useBuildDataSource.d.ts +22 -0
- package/dist/internal/useBuildNavigationController.d.ts +14 -0
- package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
- package/dist/internal/useBuildSideEntityController.d.ts +4 -0
- package/dist/internal/useLocaleConfig.d.ts +1 -0
- package/dist/internal/useRestoreScroll.d.ts +6 -0
- package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
- package/dist/preview/PropertyPreview.d.ts +7 -0
- package/dist/preview/PropertyPreviewProps.d.ts +43 -0
- package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
- package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
- package/dist/preview/components/BooleanPreview.d.ts +7 -0
- package/dist/preview/components/DatePreview.d.ts +7 -0
- package/dist/preview/components/EmptyValue.d.ts +4 -0
- package/dist/preview/components/EnumValuesChip.d.ts +13 -0
- package/dist/preview/components/ImagePreview.d.ts +12 -0
- package/dist/preview/components/ReferencePreview.d.ts +22 -0
- package/dist/preview/components/StorageThumbnail.d.ts +13 -0
- package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
- package/dist/preview/index.d.ts +23 -0
- package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
- package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
- package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
- package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
- package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
- package/dist/preview/util.d.ts +7 -0
- package/dist/types/analytics.d.ts +1 -0
- package/dist/types/appcheck.d.ts +26 -0
- package/dist/types/auth.d.ts +40 -0
- package/dist/types/collections.d.ts +451 -0
- package/dist/types/datasource.d.ts +262 -0
- package/dist/types/dialogs_controller.d.ts +32 -0
- package/dist/types/entities.d.ts +57 -0
- package/dist/types/entity_actions.d.ts +35 -0
- package/dist/types/entity_callbacks.d.ts +171 -0
- package/dist/types/entity_link_builder.d.ts +7 -0
- package/dist/types/export_import.d.ts +21 -0
- package/dist/types/fields.d.ts +181 -0
- package/dist/types/firecms.d.ts +151 -0
- package/dist/types/firecms_context.d.ts +110 -0
- package/dist/types/index.d.ts +26 -0
- package/dist/types/local_config_persistence.d.ts +21 -0
- package/dist/types/locales.d.ts +4 -0
- package/dist/types/modify_collections.d.ts +5 -0
- package/dist/types/navigation.d.ts +178 -0
- package/dist/types/permissions.d.ts +63 -0
- package/dist/types/plugins.d.ts +179 -0
- package/dist/types/properties.d.ts +681 -0
- package/dist/types/property_config.d.ts +42 -0
- package/dist/types/resolved_entities.d.ts +98 -0
- package/dist/types/side_dialogs_controller.d.ts +57 -0
- package/dist/types/side_entity_controller.d.ts +83 -0
- package/dist/types/storage.d.ts +82 -0
- package/dist/types/user.d.ts +36 -0
- package/dist/util/arrays.d.ts +1 -0
- package/dist/util/builders.d.ts +64 -0
- package/dist/util/chip_utils.d.ts +3 -0
- package/dist/util/collections.d.ts +3 -0
- package/dist/util/common.d.ts +2 -0
- package/dist/util/dates.d.ts +1 -0
- package/dist/util/entities.d.ts +28 -0
- package/dist/util/enums.d.ts +7 -0
- package/dist/util/flatten_object.d.ts +3 -0
- package/dist/util/hash.d.ts +1 -0
- package/dist/util/icons.d.ts +4 -0
- package/dist/util/index.d.ts +20 -0
- package/dist/util/join_collections.d.ts +9 -0
- package/dist/util/make_properties_editable.d.ts +3 -0
- package/dist/util/navigation_from_path.d.ts +24 -0
- package/dist/util/navigation_utils.d.ts +20 -0
- package/dist/util/objects.d.ts +10 -0
- package/dist/util/os.d.ts +2 -0
- package/dist/util/parent_references_from_path.d.ts +6 -0
- package/dist/util/paths.d.ts +14 -0
- package/dist/util/permissions.d.ts +5 -0
- package/dist/util/plurals.d.ts +18 -0
- package/dist/util/property_utils.d.ts +23 -0
- package/dist/util/references.d.ts +2 -0
- package/dist/util/regexp.d.ts +7 -0
- package/dist/util/resolutions.d.ts +64 -0
- package/dist/util/storage.d.ts +3 -0
- package/dist/util/strings.d.ts +6 -0
- package/dist/util/useDebounce.d.ts +1 -0
- package/dist/util/useStorageUploadController.d.ts +36 -0
- package/dist/util/useTraceUpdate.d.ts +1 -0
- package/package.json +114 -142
- package/src/components/ArrayContainer.d.ts +42 -0
- package/src/components/ArrayContainer.tsx +369 -0
- package/src/components/CircularProgressCenter.d.ts +11 -0
- package/src/components/CircularProgressCenter.tsx +26 -0
- package/src/components/DeleteConfirmationDialog.d.ts +9 -0
- package/src/components/DeleteConfirmationDialog.tsx +47 -0
- package/src/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +520 -0
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +150 -0
- package/src/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +159 -0
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
- package/src/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
- package/src/components/EntityCollectionTable/filters/BooleanFilterField.tsx +49 -0
- package/src/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
- package/src/components/EntityCollectionTable/filters/DateTimeFilterField.tsx +109 -0
- package/src/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
- package/src/components/EntityCollectionTable/filters/ReferenceFilterField.tsx +187 -0
- package/src/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
- package/src/components/EntityCollectionTable/filters/StringNumberFilterField.tsx +159 -0
- package/src/components/EntityCollectionTable/index.d.ts +4 -0
- package/src/components/EntityCollectionTable/index.tsx +16 -0
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +113 -0
- package/src/components/EntityCollectionTable/internal/DeleteEntityDialog.d.ts +12 -0
- package/src/components/EntityCollectionTable/internal/DeleteEntityDialog.tsx +207 -0
- package/src/components/EntityCollectionTable/internal/EntityCollectionRowActions.d.ts +35 -0
- package/src/components/EntityCollectionTable/internal/EntityCollectionRowActions.tsx +174 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +264 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/PropertyTableCell.d.ts +18 -0
- package/src/components/EntityCollectionTable/internal/PropertyTableCell.tsx +460 -0
- package/src/components/EntityCollectionTable/internal/common.d.ts +4 -0
- package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
- package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +122 -0
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +401 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
- package/src/components/EntityCollectionTable/types.d.ts +39 -0
- package/src/components/EntityCollectionTable/types.tsx +44 -0
- package/src/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
- package/src/components/EntityCollectionTable/useDebouncedData.ts +49 -0
- package/src/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +21 -0
- package/src/components/EntityCollectionTable/useEntityCollectionTableController.tsx +213 -0
- package/src/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +815 -0
- package/src/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +131 -0
- package/src/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
- package/src/components/EntityCollectionView/useColumnsIds.tsx +100 -0
- package/src/components/EntityPreview.d.ts +11 -0
- package/src/components/EntityPreview.tsx +83 -0
- package/src/components/ErrorBoundary.d.ts +11 -0
- package/src/components/ErrorBoundary.tsx +40 -0
- package/src/components/ErrorTooltip.d.ts +2 -0
- package/src/components/ErrorTooltip.tsx +11 -0
- package/src/components/ErrorView.d.ts +19 -0
- package/src/components/ErrorView.tsx +52 -0
- package/src/components/FieldConfigBadge.d.ts +4 -0
- package/src/components/FieldConfigBadge.tsx +17 -0
- package/src/components/FireCMSAppBar.d.ts +26 -0
- package/src/components/FireCMSAppBar.tsx +157 -0
- package/src/components/FireCMSLogo.d.ts +7 -0
- package/src/components/FireCMSLogo.tsx +73 -0
- package/src/components/HomePage/DefaultHomePage.d.ts +21 -0
- package/src/components/HomePage/DefaultHomePage.tsx +209 -0
- package/src/components/HomePage/FavouritesView.d.ts +3 -0
- package/src/components/HomePage/FavouritesView.tsx +64 -0
- package/src/components/HomePage/NavigationCollectionCard.d.ts +17 -0
- package/src/components/HomePage/NavigationCollectionCard.tsx +145 -0
- package/src/components/HomePage/NavigationGroup.d.ts +4 -0
- package/src/components/HomePage/NavigationGroup.tsx +39 -0
- package/src/components/HomePage/index.d.ts +3 -0
- package/src/components/HomePage/index.tsx +3 -0
- package/src/components/LabelWithIcon.d.ts +14 -0
- package/src/components/LabelWithIcon.tsx +33 -0
- package/src/components/NotFoundPage.d.ts +1 -0
- package/src/components/NotFoundPage.tsx +25 -0
- package/src/components/ReferenceSelectionInner.d.ts +58 -0
- package/src/components/ReferenceSelectionInner.tsx +364 -0
- package/src/components/ReferenceWidget.d.ts +28 -0
- package/src/components/ReferenceWidget.tsx +145 -0
- package/src/components/VirtualTable/VirtualTable.d.ts +11 -0
- package/src/components/VirtualTable/VirtualTable.tsx +402 -0
- package/src/components/VirtualTable/VirtualTableCell.d.ts +14 -0
- package/src/components/VirtualTable/VirtualTableCell.tsx +36 -0
- package/src/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
- package/src/components/VirtualTable/VirtualTableHeader.tsx +260 -0
- package/src/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
- package/src/components/VirtualTable/VirtualTableProps.d.ts +215 -0
- package/src/components/VirtualTable/VirtualTableProps.tsx +270 -0
- package/src/components/VirtualTable/VirtualTableRow.d.ts +3 -0
- package/src/components/VirtualTable/VirtualTableRow.tsx +54 -0
- package/src/components/VirtualTable/common.d.ts +2 -0
- package/src/components/VirtualTable/common.tsx +18 -0
- package/src/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
- package/src/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
- package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
- package/src/components/VirtualTable/index.d.ts +2 -0
- package/src/components/VirtualTable/index.tsx +2 -0
- package/src/components/VirtualTable/types.d.ts +34 -0
- package/src/components/VirtualTable/types.tsx +44 -0
- package/src/components/index.d.ts +20 -0
- package/src/components/index.tsx +30 -0
- package/src/contexts/AuthControllerContext.d.ts +3 -0
- package/src/contexts/AuthControllerContext.tsx +4 -0
- package/src/contexts/DataSourceContext.d.ts +3 -0
- package/src/contexts/DataSourceContext.tsx +4 -0
- package/src/contexts/DialogsProvider.d.ts +4 -0
- package/src/contexts/DialogsProvider.tsx +52 -0
- package/src/contexts/ModeController.d.ts +4 -0
- package/src/contexts/ModeController.tsx +13 -0
- package/src/contexts/NavigationContext.d.ts +3 -0
- package/src/contexts/NavigationContext.tsx +4 -0
- package/src/contexts/SideDialogsControllerContext.d.ts +3 -0
- package/src/contexts/SideDialogsControllerContext.tsx +4 -0
- package/src/contexts/SideEntityControllerContext.d.ts +3 -0
- package/src/contexts/SideEntityControllerContext.tsx +4 -0
- package/src/contexts/SnackbarProvider.d.ts +2 -0
- package/src/contexts/SnackbarProvider.tsx +12 -0
- package/src/contexts/StorageSourceContext.d.ts +3 -0
- package/src/contexts/StorageSourceContext.tsx +4 -0
- package/src/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
- package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
- package/src/contexts/index.d.ts +3 -0
- package/src/contexts/index.ts +3 -0
- package/src/core/Drawer.d.ts +23 -0
- package/src/core/Drawer.tsx +161 -0
- package/src/core/EntitySidePanel.d.ts +10 -0
- package/src/core/EntitySidePanel.tsx +90 -0
- package/src/core/FireCMS.d.ts +14 -0
- package/src/core/FireCMS.tsx +184 -0
- package/src/core/NavigationRoutes.d.ts +21 -0
- package/src/core/NavigationRoutes.tsx +118 -0
- package/src/core/Scaffold.d.ts +52 -0
- package/src/core/Scaffold.tsx +278 -0
- package/src/core/SideDialogs.d.ts +23 -0
- package/src/core/SideDialogs.tsx +156 -0
- package/src/core/field_configs.d.ts +7 -0
- package/src/core/field_configs.tsx +400 -0
- package/src/core/index.d.ts +10 -0
- package/src/core/index.tsx +14 -0
- package/src/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/src/core/useBuildLocalConfigurationPersistence.tsx +67 -0
- package/src/core/useBuildModeController.d.ts +6 -0
- package/src/core/useBuildModeController.tsx +60 -0
- package/src/form/EntityForm.d.ts +75 -0
- package/src/form/EntityForm.tsx +647 -0
- package/src/form/PropertyFieldBinding.d.ts +30 -0
- package/src/form/PropertyFieldBinding.tsx +311 -0
- package/src/form/components/CustomIdField.d.ts +9 -0
- package/src/form/components/CustomIdField.tsx +124 -0
- package/src/form/components/ErrorFocus.d.ts +4 -0
- package/src/form/components/ErrorFocus.tsx +51 -0
- package/src/form/components/FieldHelperText.d.ts +12 -0
- package/src/form/components/FieldHelperText.tsx +58 -0
- package/src/form/components/FormikArrayContainer.d.ts +18 -0
- package/src/form/components/FormikArrayContainer.tsx +44 -0
- package/src/form/components/StorageItemPreview.d.ts +13 -0
- package/src/form/components/StorageItemPreview.tsx +66 -0
- package/src/form/components/StorageUploadProgress.d.ts +10 -0
- package/src/form/components/StorageUploadProgress.tsx +104 -0
- package/src/form/components/SubmitListener.tsx +32 -0
- package/src/form/components/SwitchControl.d.ts +8 -0
- package/src/form/components/SwitchControl.tsx +39 -0
- package/src/form/components/index.d.ts +3 -0
- package/src/form/components/index.tsx +3 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +88 -0
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +153 -0
- package/src/form/field_bindings/BlockFieldBinding.d.ts +10 -0
- package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
- package/src/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +66 -0
- package/src/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +560 -0
- package/src/form/field_bindings/MapFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/MapFieldBinding.tsx +142 -0
- package/src/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +696 -0
- package/src/form/field_bindings/MultiSelectBinding.d.ts +9 -0
- package/src/form/field_bindings/MultiSelectBinding.tsx +115 -0
- package/src/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +70 -0
- package/src/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +122 -0
- package/src/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
- package/src/form/field_bindings/RepeatFieldBinding.tsx +103 -0
- package/src/form/field_bindings/SelectFieldBinding.d.ts +12 -0
- package/src/form/field_bindings/SelectFieldBinding.tsx +100 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +438 -0
- package/src/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
- package/src/form/field_bindings/SwitchFieldBinding.tsx +61 -0
- package/src/form/field_bindings/TextFieldBinding.d.ts +12 -0
- package/src/form/field_bindings/TextFieldBinding.tsx +108 -0
- package/src/form/index.d.ts +20 -0
- package/src/form/index.tsx +42 -0
- package/src/form/useClearRestoreValue.d.ts +13 -0
- package/src/form/useClearRestoreValue.tsx +35 -0
- package/src/form/validation.d.ts +25 -0
- package/src/form/validation.ts +409 -0
- package/src/hooks/data/delete.d.ts +37 -0
- package/src/hooks/data/delete.ts +101 -0
- package/src/hooks/data/save.d.ts +42 -0
- package/src/hooks/data/save.ts +165 -0
- package/src/hooks/data/useCollectionFetch.d.ts +50 -0
- package/src/hooks/data/useCollectionFetch.tsx +162 -0
- package/src/hooks/data/useDataOrder.d.ts +12 -0
- package/src/hooks/data/useDataOrder.ts +26 -0
- package/src/hooks/data/useDataSource.d.ts +6 -0
- package/src/hooks/data/useDataSource.tsx +9 -0
- package/src/hooks/data/useEntityFetch.d.ts +28 -0
- package/src/hooks/data/useEntityFetch.tsx +129 -0
- package/src/hooks/index.d.ts +19 -0
- package/src/hooks/index.tsx +23 -0
- package/src/hooks/useAuthController.d.ts +11 -0
- package/src/hooks/useAuthController.tsx +14 -0
- package/src/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
- package/src/hooks/useClipboard.d.ts +57 -0
- package/src/hooks/useClipboard.tsx +158 -0
- package/src/hooks/useDialogsController.d.ts +11 -0
- package/src/hooks/useDialogsController.tsx +14 -0
- package/src/hooks/useFireCMSContext.d.ts +12 -0
- package/src/hooks/useFireCMSContext.tsx +50 -0
- package/src/hooks/useLargeLayout.d.ts +1 -0
- package/src/hooks/useLargeLayout.tsx +34 -0
- package/src/hooks/useModeController.d.ts +20 -0
- package/src/hooks/useModeController.tsx +24 -0
- package/src/hooks/useNavigationController.d.ts +9 -0
- package/src/hooks/useNavigationController.tsx +12 -0
- package/src/hooks/useReferenceDialog.d.ts +18 -0
- package/src/hooks/useReferenceDialog.tsx +56 -0
- package/src/hooks/useResolvedNavigationFrom.d.ts +72 -0
- package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
- package/src/hooks/useSideDialogsController.d.ts +18 -0
- package/src/hooks/useSideDialogsController.tsx +21 -0
- package/src/hooks/useSideEntityController.d.ts +12 -0
- package/src/hooks/useSideEntityController.tsx +15 -0
- package/src/hooks/useSnackbarController.d.ts +41 -0
- package/src/hooks/useSnackbarController.tsx +76 -0
- package/src/hooks/useStorageSource.d.ts +6 -0
- package/src/hooks/useStorageSource.tsx +9 -0
- package/src/hooks/useUserConfigurationPersistence.d.ts +8 -0
- package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
- package/src/index.d.ts +8 -0
- package/src/index.ts +8 -0
- package/src/internal/EntityView.d.ts +22 -0
- package/src/internal/EntityView.tsx +576 -0
- package/src/internal/common.d.ts +3 -0
- package/src/internal/common.tsx +5 -0
- package/src/internal/useBuildDataSource.d.ts +22 -0
- package/src/internal/useBuildDataSource.ts +360 -0
- package/src/internal/useBuildNavigationController.d.ts +14 -0
- package/src/internal/useBuildNavigationController.tsx +371 -0
- package/src/internal/useBuildSideDialogsController.d.ts +2 -0
- package/src/internal/useBuildSideDialogsController.tsx +125 -0
- package/src/internal/useBuildSideEntityController.d.ts +4 -0
- package/src/internal/useBuildSideEntityController.tsx +160 -0
- package/src/internal/useLocaleConfig.d.ts +1 -0
- package/src/internal/useLocaleConfig.tsx +18 -0
- package/src/internal/useRestoreScroll.d.ts +6 -0
- package/src/internal/useRestoreScroll.tsx +48 -0
- package/src/internal/useUnsavedChangesDialog.d.ts +14 -0
- package/src/internal/useUnsavedChangesDialog.tsx +106 -0
- package/src/preview/PropertyPreview.d.ts +7 -0
- package/src/preview/PropertyPreview.tsx +222 -0
- package/src/preview/PropertyPreviewProps.d.ts +43 -0
- package/src/preview/PropertyPreviewProps.tsx +59 -0
- package/src/preview/components/ArrayEnumPreview.d.ts +11 -0
- package/src/preview/components/ArrayEnumPreview.tsx +39 -0
- package/src/preview/components/AsyncPreviewComponent.d.ts +11 -0
- package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
- package/src/preview/components/BooleanPreview.d.ts +7 -0
- package/src/preview/components/BooleanPreview.tsx +11 -0
- package/src/preview/components/DatePreview.d.ts +7 -0
- package/src/preview/components/DatePreview.tsx +27 -0
- package/src/preview/components/EmptyValue.d.ts +4 -0
- package/src/preview/components/EmptyValue.tsx +10 -0
- package/src/preview/components/EnumValuesChip.d.ts +13 -0
- package/src/preview/components/EnumValuesChip.tsx +38 -0
- package/src/preview/components/ImagePreview.d.ts +12 -0
- package/src/preview/components/ImagePreview.tsx +106 -0
- package/src/preview/components/ReferencePreview.d.ts +22 -0
- package/src/preview/components/ReferencePreview.tsx +249 -0
- package/src/preview/components/StorageThumbnail.d.ts +13 -0
- package/src/preview/components/StorageThumbnail.tsx +84 -0
- package/src/preview/components/UrlComponentPreview.d.ts +12 -0
- package/src/preview/components/UrlComponentPreview.tsx +79 -0
- package/src/preview/index.d.ts +23 -0
- package/src/preview/index.ts +27 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
- package/src/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
- package/src/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
- package/src/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
- package/src/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
- package/src/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
- package/src/preview/property_previews/MapPropertyPreview.d.ts +8 -0
- package/src/preview/property_previews/MapPropertyPreview.tsx +144 -0
- package/src/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
- package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
- package/src/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
- package/src/preview/property_previews/StringPropertyPreview.d.ts +6 -0
- package/src/preview/property_previews/StringPropertyPreview.tsx +60 -0
- package/src/preview/util.d.ts +7 -0
- package/src/preview/util.ts +31 -0
- package/src/types/analytics.d.ts +1 -0
- package/src/types/analytics.ts +34 -0
- package/src/types/appcheck.d.ts +26 -0
- package/src/types/appcheck.ts +29 -0
- package/src/types/auth.d.ts +40 -0
- package/src/types/auth.tsx +49 -0
- package/src/types/collections.d.ts +451 -0
- package/src/types/collections.ts +530 -0
- package/src/types/datasource.d.ts +262 -0
- package/src/types/datasource.ts +389 -0
- package/src/types/dialogs_controller.d.ts +32 -0
- package/src/types/dialogs_controller.tsx +33 -0
- package/src/types/entities.d.ts +57 -0
- package/src/types/entities.ts +76 -0
- package/src/types/entity_actions.d.ts +35 -0
- package/src/types/entity_actions.tsx +39 -0
- package/src/types/entity_callbacks.d.ts +171 -0
- package/src/types/entity_callbacks.ts +209 -0
- package/src/types/entity_link_builder.d.ts +7 -0
- package/src/types/entity_link_builder.ts +8 -0
- package/src/types/export_import.d.ts +21 -0
- package/src/types/export_import.ts +26 -0
- package/src/types/fields.d.ts +181 -0
- package/src/types/fields.tsx +220 -0
- package/src/types/firecms.d.ts +151 -0
- package/src/types/firecms.tsx +175 -0
- package/src/types/firecms_context.d.ts +110 -0
- package/src/types/firecms_context.tsx +128 -0
- package/src/types/index.d.ts +26 -0
- package/src/types/index.ts +26 -0
- package/src/types/local_config_persistence.d.ts +21 -0
- package/src/types/local_config_persistence.tsx +23 -0
- package/src/types/locales.d.ts +4 -0
- package/src/types/locales.ts +81 -0
- package/src/types/modify_collections.d.ts +5 -0
- package/src/types/modify_collections.tsx +6 -0
- package/src/types/navigation.d.ts +178 -0
- package/src/types/navigation.ts +214 -0
- package/src/types/permissions.d.ts +63 -0
- package/src/types/permissions.ts +76 -0
- package/src/types/plugins.d.ts +179 -0
- package/src/types/plugins.tsx +217 -0
- package/src/types/properties.d.ts +681 -0
- package/src/types/properties.ts +851 -0
- package/src/types/property_config.d.ts +42 -0
- package/src/types/property_config.tsx +72 -0
- package/src/types/resolved_entities.d.ts +98 -0
- package/src/types/resolved_entities.ts +148 -0
- package/src/types/side_dialogs_controller.d.ts +57 -0
- package/src/types/side_dialogs_controller.tsx +68 -0
- package/src/types/side_entity_controller.d.ts +83 -0
- package/src/types/side_entity_controller.tsx +96 -0
- package/src/types/storage.d.ts +82 -0
- package/src/types/storage.ts +96 -0
- package/src/types/user.d.ts +36 -0
- package/src/types/user.ts +37 -0
- package/src/util/arrays.d.ts +1 -0
- package/src/util/arrays.ts +3 -0
- package/src/util/builders.d.ts +64 -0
- package/src/util/builders.ts +139 -0
- package/src/util/chip_utils.d.ts +3 -0
- package/src/util/chip_utils.ts +13 -0
- package/src/util/collections.d.ts +3 -0
- package/src/util/collections.ts +50 -0
- package/src/util/common.d.ts +2 -0
- package/src/util/common.tsx +2 -0
- package/src/util/dates.d.ts +1 -0
- package/src/util/dates.ts +1 -0
- package/src/util/entities.d.ts +28 -0
- package/src/util/entities.ts +196 -0
- package/src/util/enums.d.ts +7 -0
- package/src/util/enums.ts +57 -0
- package/src/util/flatten_object.d.ts +3 -0
- package/src/util/flatten_object.ts +45 -0
- package/src/util/hash.d.ts +1 -0
- package/src/util/hash.ts +11 -0
- package/src/util/icons.d.ts +4 -0
- package/src/util/icons.tsx +45 -0
- package/src/util/index.d.ts +20 -0
- package/src/util/index.ts +20 -0
- package/src/util/join_collections.d.ts +9 -0
- package/src/util/join_collections.ts +172 -0
- package/src/util/make_properties_editable.d.ts +3 -0
- package/src/util/make_properties_editable.ts +29 -0
- package/src/util/navigation_from_path.d.ts +24 -0
- package/src/util/navigation_from_path.ts +107 -0
- package/src/util/navigation_utils.d.ts +20 -0
- package/src/util/navigation_utils.ts +111 -0
- package/src/util/objects.d.ts +10 -0
- package/src/util/objects.ts +168 -0
- package/src/util/os.ts +13 -0
- package/src/util/parent_references_from_path.d.ts +6 -0
- package/src/util/parent_references_from_path.ts +56 -0
- package/src/util/paths.d.ts +14 -0
- package/src/util/paths.ts +27 -0
- package/src/util/permissions.d.ts +5 -0
- package/src/util/permissions.ts +80 -0
- package/src/util/plurals.d.ts +18 -0
- package/src/util/plurals.ts +190 -0
- package/src/util/property_utils.d.ts +23 -0
- package/src/util/property_utils.tsx +130 -0
- package/src/util/references.d.ts +2 -0
- package/src/util/references.ts +20 -0
- package/src/util/regexp.d.ts +7 -0
- package/src/util/regexp.ts +32 -0
- package/src/util/resolutions.d.ts +64 -0
- package/src/util/resolutions.ts +399 -0
- package/src/util/storage.d.ts +3 -0
- package/src/util/storage.ts +92 -0
- package/src/util/strings.d.ts +6 -0
- package/src/util/strings.ts +62 -0
- package/src/util/useDebounce.d.ts +1 -0
- package/src/util/useDebounce.ts +25 -0
- package/src/util/useStorageUploadController.d.ts +36 -0
- package/src/util/useStorageUploadController.tsx +243 -0
- package/src/util/useTraceUpdate.tsx +23 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CMSType, PropertyOrBuilder } from "./properties";
|
|
3
|
+
/**
|
|
4
|
+
* This is the configuration object for a property.
|
|
5
|
+
* These configs are generated by default for the properties defined in your
|
|
6
|
+
* collections' configuration, but you can define your own to be used.
|
|
7
|
+
*/
|
|
8
|
+
export type PropertyConfig<T extends CMSType = any> = {
|
|
9
|
+
/**
|
|
10
|
+
* Key used to identify this property config.
|
|
11
|
+
*/
|
|
12
|
+
key: string;
|
|
13
|
+
/**
|
|
14
|
+
* Name of this field type.
|
|
15
|
+
* This is not the name of the property.
|
|
16
|
+
*/
|
|
17
|
+
name: string;
|
|
18
|
+
/**
|
|
19
|
+
* Default config for the property.
|
|
20
|
+
* This property or builder will be used as the base values for the resulting property.
|
|
21
|
+
* You can also use a builder function to generate the base property.
|
|
22
|
+
* You can use a builder function to generate the property based on the values or the path.
|
|
23
|
+
* You can also define a custom Field as a React component to be used for this property.
|
|
24
|
+
*/
|
|
25
|
+
property: PropertyOrBuilder<T>;
|
|
26
|
+
/**
|
|
27
|
+
* Optional icon to be used in the field selector.
|
|
28
|
+
* Use a 24x24 component, in order not to break the layout.
|
|
29
|
+
* Any FireCMS icon can be used.
|
|
30
|
+
*/
|
|
31
|
+
Icon?: React.ComponentType;
|
|
32
|
+
/**
|
|
33
|
+
* CSS color, used only in some plugins like the field selector.
|
|
34
|
+
* e.g. "#2d7ff9"
|
|
35
|
+
*/
|
|
36
|
+
color?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Description of this field type.
|
|
39
|
+
*/
|
|
40
|
+
description?: string;
|
|
41
|
+
};
|
|
42
|
+
export type FieldConfigId = "text_field" | "multiline" | "markdown" | "url" | "email" | "select" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "file_upload" | "multi_file_upload" | "group" | "key_value" | "reference" | "multi_references" | "switch" | "date_time" | "repeat" | "custom_array" | "block";
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CMSType, PropertyOrBuilder } from "./properties";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This is the configuration object for a property.
|
|
6
|
+
* These configs are generated by default for the properties defined in your
|
|
7
|
+
* collections' configuration, but you can define your own to be used.
|
|
8
|
+
*/
|
|
9
|
+
export type PropertyConfig<T extends CMSType = any> = {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Key used to identify this property config.
|
|
13
|
+
*/
|
|
14
|
+
key: string,
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Name of this field type.
|
|
18
|
+
* This is not the name of the property.
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Default config for the property.
|
|
24
|
+
* This property or builder will be used as the base values for the resulting property.
|
|
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
|
+
*/
|
|
29
|
+
property: PropertyOrBuilder<T>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Optional icon to be used in the field selector.
|
|
33
|
+
* Use a 24x24 component, in order not to break the layout.
|
|
34
|
+
* Any FireCMS icon can be used.
|
|
35
|
+
*/
|
|
36
|
+
Icon?: React.ComponentType;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* CSS color, used only in some plugins like the field selector.
|
|
40
|
+
* e.g. "#2d7ff9"
|
|
41
|
+
*/
|
|
42
|
+
color?: string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Description of this field type.
|
|
46
|
+
*/
|
|
47
|
+
description?: string;
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export type FieldConfigId =
|
|
52
|
+
"text_field" |
|
|
53
|
+
"multiline" |
|
|
54
|
+
"markdown" |
|
|
55
|
+
"url" |
|
|
56
|
+
"email" |
|
|
57
|
+
"select" |
|
|
58
|
+
"multi_select" |
|
|
59
|
+
"number_input" |
|
|
60
|
+
"number_select" |
|
|
61
|
+
"multi_number_select" |
|
|
62
|
+
"file_upload" |
|
|
63
|
+
"multi_file_upload" |
|
|
64
|
+
"group" |
|
|
65
|
+
"key_value" |
|
|
66
|
+
"reference" |
|
|
67
|
+
"multi_references" |
|
|
68
|
+
"switch" |
|
|
69
|
+
"date_time" |
|
|
70
|
+
"repeat" |
|
|
71
|
+
"custom_array" |
|
|
72
|
+
"block";
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ArrayProperty, BooleanProperty, CMSType, DateProperty, EnumValueConfig, GeopointProperty, MapProperty, NumberProperty, ReferenceProperty, StringProperty } from "./properties";
|
|
2
|
+
import { EntityReference, GeoPoint } from "./entities";
|
|
3
|
+
import { EntityCollection } from "./collections";
|
|
4
|
+
/**
|
|
5
|
+
* This is the same entity collection you define, only all the property builders
|
|
6
|
+
* are resolved to regular `Property` objects.
|
|
7
|
+
* @group Models
|
|
8
|
+
*/
|
|
9
|
+
export type ResolvedEntityCollection<M extends Record<string, any> = any> = Omit<EntityCollection<M>, "properties"> & {
|
|
10
|
+
properties: ResolvedProperties<M>;
|
|
11
|
+
originalCollection: EntityCollection<M>;
|
|
12
|
+
editable?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* @group Entity properties
|
|
16
|
+
*/
|
|
17
|
+
export type ResolvedProperty<T extends CMSType = CMSType> = T extends string ? ResolvedStringProperty : T extends number ? ResolvedNumberProperty : T extends boolean ? ResolvedBooleanProperty : T extends Date ? ResolvedTimestampProperty : T extends GeoPoint ? ResolvedGeopointProperty : T extends EntityReference ? ResolvedReferenceProperty : T extends CMSType[] ? ResolvedArrayProperty<T> : T extends Record<string, any> ? ResolvedMapProperty<T> : any;
|
|
18
|
+
/**
|
|
19
|
+
* @group Entity properties
|
|
20
|
+
*/
|
|
21
|
+
export type ResolvedProperties<M extends Record<string, any> = any> = {
|
|
22
|
+
[k in keyof M]: ResolvedProperty<M[keyof M]>;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* @group Entity properties
|
|
26
|
+
*/
|
|
27
|
+
export type ResolvedStringProperty = Omit<StringProperty, "enumValues" | "dataType"> & {
|
|
28
|
+
dataType: "string";
|
|
29
|
+
resolved: true;
|
|
30
|
+
enumValues?: EnumValueConfig[];
|
|
31
|
+
fromBuilder: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @group Entity properties
|
|
35
|
+
*/
|
|
36
|
+
export type ResolvedNumberProperty = Omit<NumberProperty, "enumValues" | "dataType"> & {
|
|
37
|
+
dataType: "number";
|
|
38
|
+
resolved: true;
|
|
39
|
+
enumValues?: EnumValueConfig[];
|
|
40
|
+
fromBuilder: boolean;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* @group Entity properties
|
|
44
|
+
*/
|
|
45
|
+
export type ResolvedBooleanProperty = Omit<BooleanProperty, "dataType"> & {
|
|
46
|
+
dataType: "boolean";
|
|
47
|
+
resolved: true;
|
|
48
|
+
fromBuilder: boolean;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* @group Entity properties
|
|
52
|
+
*/
|
|
53
|
+
export type ResolvedTimestampProperty = Omit<DateProperty, "dataType"> & {
|
|
54
|
+
dataType: "date";
|
|
55
|
+
resolved: true;
|
|
56
|
+
fromBuilder: boolean;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* @group Entity properties
|
|
60
|
+
*/
|
|
61
|
+
export type ResolvedGeopointProperty = Omit<GeopointProperty, "dataType"> & {
|
|
62
|
+
dataType: "geopoint";
|
|
63
|
+
resolved: true;
|
|
64
|
+
fromBuilder: boolean;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* @group Entity properties
|
|
68
|
+
*/
|
|
69
|
+
export type ResolvedReferenceProperty = Omit<ReferenceProperty, "dataType"> & {
|
|
70
|
+
dataType: "reference";
|
|
71
|
+
resolved: true;
|
|
72
|
+
fromBuilder: boolean;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* @group Entity properties
|
|
76
|
+
*/
|
|
77
|
+
export type ResolvedArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSType = CMSType> = Omit<ArrayProperty, "of" | "oneOf" | "dataType"> & {
|
|
78
|
+
dataType: "array";
|
|
79
|
+
resolved: true;
|
|
80
|
+
of?: ResolvedProperty<any> | ResolvedProperty<any>[];
|
|
81
|
+
oneOf?: {
|
|
82
|
+
properties: ResolvedProperties;
|
|
83
|
+
typeField?: string;
|
|
84
|
+
valueField?: string;
|
|
85
|
+
};
|
|
86
|
+
resolvedProperties: ResolvedProperty<any>[];
|
|
87
|
+
fromBuilder: boolean;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* @group Entity properties
|
|
91
|
+
*/
|
|
92
|
+
export type ResolvedMapProperty<T extends Record<string, any> = any> = Omit<MapProperty, "properties" | "dataType" | "propertiesOrder"> & {
|
|
93
|
+
dataType: "map";
|
|
94
|
+
resolved: true;
|
|
95
|
+
properties?: ResolvedProperties<T>;
|
|
96
|
+
propertiesOrder?: Extract<keyof T, string>[];
|
|
97
|
+
fromBuilder: boolean;
|
|
98
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ArrayProperty,
|
|
3
|
+
BooleanProperty,
|
|
4
|
+
CMSType,
|
|
5
|
+
DateProperty,
|
|
6
|
+
EnumValueConfig,
|
|
7
|
+
GeopointProperty,
|
|
8
|
+
MapProperty,
|
|
9
|
+
NumberProperty,
|
|
10
|
+
ReferenceProperty,
|
|
11
|
+
StringProperty
|
|
12
|
+
} from "./properties";
|
|
13
|
+
import { EntityReference, GeoPoint } from "./entities";
|
|
14
|
+
import { EntityCollection } from "./collections";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* This is the same entity collection you define, only all the property builders
|
|
18
|
+
* are resolved to regular `Property` objects.
|
|
19
|
+
* @group Models
|
|
20
|
+
*/
|
|
21
|
+
export type ResolvedEntityCollection<M extends Record<string, any> = any> =
|
|
22
|
+
Omit<EntityCollection<M>, "properties">
|
|
23
|
+
&
|
|
24
|
+
{
|
|
25
|
+
properties: ResolvedProperties<M>,
|
|
26
|
+
originalCollection: EntityCollection<M>,
|
|
27
|
+
editable?: boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @group Entity properties
|
|
32
|
+
*/
|
|
33
|
+
export type ResolvedProperty<T extends CMSType = CMSType> =
|
|
34
|
+
T extends string ? ResolvedStringProperty :
|
|
35
|
+
T extends number ? ResolvedNumberProperty :
|
|
36
|
+
T extends boolean ? ResolvedBooleanProperty :
|
|
37
|
+
T extends Date ? ResolvedTimestampProperty :
|
|
38
|
+
T extends GeoPoint ? ResolvedGeopointProperty :
|
|
39
|
+
T extends EntityReference ? ResolvedReferenceProperty :
|
|
40
|
+
T extends CMSType[] ? ResolvedArrayProperty<T> :
|
|
41
|
+
T extends Record<string, any> ? ResolvedMapProperty<T> : any;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @group Entity properties
|
|
45
|
+
*/
|
|
46
|
+
export type ResolvedProperties<M extends Record<string, any> = any> = {
|
|
47
|
+
[k in keyof M]: ResolvedProperty<M[keyof M]>;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @group Entity properties
|
|
52
|
+
*/
|
|
53
|
+
export type ResolvedStringProperty =
|
|
54
|
+
Omit<StringProperty, "enumValues" | "dataType"> &
|
|
55
|
+
{
|
|
56
|
+
dataType: "string";
|
|
57
|
+
resolved: true;
|
|
58
|
+
enumValues?: EnumValueConfig[];
|
|
59
|
+
fromBuilder: boolean;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @group Entity properties
|
|
64
|
+
*/
|
|
65
|
+
export type ResolvedNumberProperty =
|
|
66
|
+
Omit<NumberProperty, "enumValues" | "dataType"> &
|
|
67
|
+
{
|
|
68
|
+
dataType: "number";
|
|
69
|
+
resolved: true;
|
|
70
|
+
enumValues?: EnumValueConfig[];
|
|
71
|
+
fromBuilder: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @group Entity properties
|
|
76
|
+
*/
|
|
77
|
+
export type ResolvedBooleanProperty =
|
|
78
|
+
Omit<BooleanProperty, "dataType"> &
|
|
79
|
+
{
|
|
80
|
+
dataType: "boolean";
|
|
81
|
+
resolved: true;
|
|
82
|
+
fromBuilder: boolean;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @group Entity properties
|
|
87
|
+
*/
|
|
88
|
+
export type ResolvedTimestampProperty =
|
|
89
|
+
Omit<DateProperty, "dataType"> &
|
|
90
|
+
{
|
|
91
|
+
dataType: "date";
|
|
92
|
+
resolved: true;
|
|
93
|
+
fromBuilder: boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @group Entity properties
|
|
98
|
+
*/
|
|
99
|
+
export type ResolvedGeopointProperty =
|
|
100
|
+
Omit<GeopointProperty, "dataType"> &
|
|
101
|
+
{
|
|
102
|
+
dataType: "geopoint";
|
|
103
|
+
resolved: true;
|
|
104
|
+
fromBuilder: boolean;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @group Entity properties
|
|
109
|
+
*/
|
|
110
|
+
export type ResolvedReferenceProperty =
|
|
111
|
+
Omit<ReferenceProperty, "dataType"> &
|
|
112
|
+
{
|
|
113
|
+
dataType: "reference";
|
|
114
|
+
resolved: true;
|
|
115
|
+
fromBuilder: boolean;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @group Entity properties
|
|
120
|
+
*/
|
|
121
|
+
export type ResolvedArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSType = CMSType>
|
|
122
|
+
=
|
|
123
|
+
Omit<ArrayProperty, "of" | "oneOf" | "dataType"> &
|
|
124
|
+
{
|
|
125
|
+
dataType: "array";
|
|
126
|
+
resolved: true;
|
|
127
|
+
of?: ResolvedProperty<any> | ResolvedProperty<any>[],
|
|
128
|
+
oneOf?: {
|
|
129
|
+
properties: ResolvedProperties
|
|
130
|
+
typeField?: string;
|
|
131
|
+
valueField?: string;
|
|
132
|
+
},
|
|
133
|
+
resolvedProperties: ResolvedProperty<any>[];
|
|
134
|
+
fromBuilder: boolean;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @group Entity properties
|
|
139
|
+
*/
|
|
140
|
+
export type ResolvedMapProperty<T extends Record<string, any> = any> =
|
|
141
|
+
Omit<MapProperty, "properties" | "dataType" | "propertiesOrder"> &
|
|
142
|
+
{
|
|
143
|
+
dataType: "map";
|
|
144
|
+
resolved: true;
|
|
145
|
+
properties?: ResolvedProperties<T>;
|
|
146
|
+
propertiesOrder?: Extract<keyof T, string>[];
|
|
147
|
+
fromBuilder: boolean;
|
|
148
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Controller to open the side dialog
|
|
3
|
+
* @group Hooks and utilities
|
|
4
|
+
*/
|
|
5
|
+
export interface SideDialogsController {
|
|
6
|
+
/**
|
|
7
|
+
* Close the last panel
|
|
8
|
+
*/
|
|
9
|
+
close: () => void;
|
|
10
|
+
/**
|
|
11
|
+
* List of side panels currently open
|
|
12
|
+
*/
|
|
13
|
+
sidePanels: SideDialogPanelProps[];
|
|
14
|
+
/**
|
|
15
|
+
* Open one or multiple side panels
|
|
16
|
+
* @param props
|
|
17
|
+
*/
|
|
18
|
+
open: (panelProps: SideDialogPanelProps | SideDialogPanelProps[]) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Replace the last open panel with the given one
|
|
21
|
+
* @param props
|
|
22
|
+
*/
|
|
23
|
+
replace: (panelProps: SideDialogPanelProps | SideDialogPanelProps[]) => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Props used to open a side dialog
|
|
27
|
+
* @group Hooks and utilities
|
|
28
|
+
*/
|
|
29
|
+
export interface SideDialogPanelProps {
|
|
30
|
+
/**
|
|
31
|
+
* A key that identifies this panel
|
|
32
|
+
*/
|
|
33
|
+
key: string;
|
|
34
|
+
/**
|
|
35
|
+
* The component type that will be rendered
|
|
36
|
+
*/
|
|
37
|
+
component: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Optional width of the panel
|
|
40
|
+
*/
|
|
41
|
+
width?: string;
|
|
42
|
+
/**
|
|
43
|
+
* When open, change the URL to this path.
|
|
44
|
+
* Note that if you want to restore state from a URL you need to add the
|
|
45
|
+
* logic yourself by listening to URL updates, and probably call `open`.
|
|
46
|
+
*/
|
|
47
|
+
urlPath?: string;
|
|
48
|
+
/**
|
|
49
|
+
* If the navigation stack is empty (you landed in the `urlPath` url), what
|
|
50
|
+
* url path to change to when the panel gets closed.
|
|
51
|
+
*/
|
|
52
|
+
parentUrlPath?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Callback when the panel is closed
|
|
55
|
+
*/
|
|
56
|
+
onClose?: () => void;
|
|
57
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Controller to open the side dialog
|
|
3
|
+
* @group Hooks and utilities
|
|
4
|
+
*/
|
|
5
|
+
export interface SideDialogsController {
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Close the last panel
|
|
9
|
+
*/
|
|
10
|
+
close: () => void;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* List of side panels currently open
|
|
14
|
+
*/
|
|
15
|
+
sidePanels: SideDialogPanelProps[];
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Open one or multiple side panels
|
|
19
|
+
* @param props
|
|
20
|
+
*/
|
|
21
|
+
open: (panelProps: SideDialogPanelProps | SideDialogPanelProps[]) => void;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Replace the last open panel with the given one
|
|
25
|
+
* @param props
|
|
26
|
+
*/
|
|
27
|
+
replace: (panelProps: SideDialogPanelProps | SideDialogPanelProps[]) => void;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Props used to open a side dialog
|
|
32
|
+
* @group Hooks and utilities
|
|
33
|
+
*/
|
|
34
|
+
export interface SideDialogPanelProps {
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* A key that identifies this panel
|
|
38
|
+
*/
|
|
39
|
+
key: string;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The component type that will be rendered
|
|
43
|
+
*/
|
|
44
|
+
component: React.ReactNode;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Optional width of the panel
|
|
48
|
+
*/
|
|
49
|
+
width?: string;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* When open, change the URL to this path.
|
|
53
|
+
* Note that if you want to restore state from a URL you need to add the
|
|
54
|
+
* logic yourself by listening to URL updates, and probably call `open`.
|
|
55
|
+
*/
|
|
56
|
+
urlPath?: string;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* If the navigation stack is empty (you landed in the `urlPath` url), what
|
|
60
|
+
* url path to change to when the panel gets closed.
|
|
61
|
+
*/
|
|
62
|
+
parentUrlPath?: string;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Callback when the panel is closed
|
|
66
|
+
*/
|
|
67
|
+
onClose?: () => void;
|
|
68
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { EntityCollection } from "./collections";
|
|
2
|
+
import { ResolvedEntityCollection } from "./resolved_entities";
|
|
3
|
+
import { Entity } from "./entities";
|
|
4
|
+
/**
|
|
5
|
+
* Props used to open a side dialog
|
|
6
|
+
* @group Hooks and utilities
|
|
7
|
+
*/
|
|
8
|
+
export interface EntitySidePanelProps<M extends Record<string, any> = any> {
|
|
9
|
+
/**
|
|
10
|
+
* Absolute path of the entity
|
|
11
|
+
*/
|
|
12
|
+
path: string;
|
|
13
|
+
/**
|
|
14
|
+
* ID of the entity, if not set, it means we are creating a new entity
|
|
15
|
+
*/
|
|
16
|
+
entityId?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Set this flag to true if you want to make a copy of an existing entity
|
|
19
|
+
*/
|
|
20
|
+
copy?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Open the entity with a selected sub-collection view. If the panel for this
|
|
23
|
+
* entity was already open, it is replaced.
|
|
24
|
+
*/
|
|
25
|
+
selectedSubPath?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Use this prop to override the width of the form view.
|
|
28
|
+
* e.g. "600px"
|
|
29
|
+
*/
|
|
30
|
+
width?: number | string;
|
|
31
|
+
/**
|
|
32
|
+
* Collection representing the entities of this view.
|
|
33
|
+
* If you leave it blank it will be induced by your navigation
|
|
34
|
+
*/
|
|
35
|
+
collection?: EntityCollection<M> | ResolvedEntityCollection<M>;
|
|
36
|
+
/**
|
|
37
|
+
* Should update the URL when opening the dialog.
|
|
38
|
+
* Consider that if the collection that you provide is not defined in the base
|
|
39
|
+
* config of your `FireCMS` component, you will not be able to recreate
|
|
40
|
+
* the state if copying the URL to a different window.
|
|
41
|
+
*/
|
|
42
|
+
updateUrl?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Callback when the entity is updated
|
|
45
|
+
* @param params
|
|
46
|
+
*/
|
|
47
|
+
onUpdate?: (params: {
|
|
48
|
+
entity: Entity<any>;
|
|
49
|
+
}) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Callback when the dialog is closed
|
|
52
|
+
*/
|
|
53
|
+
onClose?: () => void;
|
|
54
|
+
/**
|
|
55
|
+
* Should this panel close when saving
|
|
56
|
+
*/
|
|
57
|
+
closeOnSave?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Controller to open the side dialog displaying entity forms
|
|
61
|
+
* @group Hooks and utilities
|
|
62
|
+
*/
|
|
63
|
+
export interface SideEntityController {
|
|
64
|
+
/**
|
|
65
|
+
* Close the last panel
|
|
66
|
+
*/
|
|
67
|
+
close: () => void;
|
|
68
|
+
/**
|
|
69
|
+
* Open a new entity sideDialog. By default, the collection and configuration
|
|
70
|
+
* of the view is fetched from the collections you have specified in the
|
|
71
|
+
* navigation.
|
|
72
|
+
* At least you need to pass the path of the entity you would like
|
|
73
|
+
* to edit. You can set an entityId if you would like to edit and existing one
|
|
74
|
+
* (or a new one with that id).
|
|
75
|
+
* @param props
|
|
76
|
+
*/
|
|
77
|
+
open: <M extends Record<string, any> = any>(props: EntitySidePanelProps<M>) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Replace the last open entity panel with the given one.
|
|
80
|
+
* @param props
|
|
81
|
+
*/
|
|
82
|
+
replace: <M extends Record<string, any> = any>(props: EntitySidePanelProps<M>) => void;
|
|
83
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { EntityCollection } from "./collections";
|
|
2
|
+
import { ResolvedEntityCollection } from "./resolved_entities";
|
|
3
|
+
import { Entity } from "./entities";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Props used to open a side dialog
|
|
7
|
+
* @group Hooks and utilities
|
|
8
|
+
*/
|
|
9
|
+
export interface EntitySidePanelProps<M extends Record<string, any> = any> {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Absolute path of the entity
|
|
13
|
+
*/
|
|
14
|
+
path: string;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* ID of the entity, if not set, it means we are creating a new entity
|
|
18
|
+
*/
|
|
19
|
+
entityId?: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Set this flag to true if you want to make a copy of an existing entity
|
|
23
|
+
*/
|
|
24
|
+
copy?: boolean;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Open the entity with a selected sub-collection view. If the panel for this
|
|
28
|
+
* entity was already open, it is replaced.
|
|
29
|
+
*/
|
|
30
|
+
selectedSubPath?: string;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Use this prop to override the width of the form view.
|
|
34
|
+
* e.g. "600px"
|
|
35
|
+
*/
|
|
36
|
+
width?: number | string;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Collection representing the entities of this view.
|
|
40
|
+
* If you leave it blank it will be induced by your navigation
|
|
41
|
+
*/
|
|
42
|
+
collection?: EntityCollection<M> | ResolvedEntityCollection<M>;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Should update the URL when opening the dialog.
|
|
46
|
+
* Consider that if the collection that you provide is not defined in the base
|
|
47
|
+
* config of your `FireCMS` component, you will not be able to recreate
|
|
48
|
+
* the state if copying the URL to a different window.
|
|
49
|
+
*/
|
|
50
|
+
updateUrl?: boolean;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Callback when the entity is updated
|
|
54
|
+
* @param params
|
|
55
|
+
*/
|
|
56
|
+
onUpdate?: (params: { entity: Entity<any> }) => void;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Callback when the dialog is closed
|
|
60
|
+
*/
|
|
61
|
+
onClose?: () => void;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Should this panel close when saving
|
|
65
|
+
*/
|
|
66
|
+
closeOnSave?: boolean;
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Controller to open the side dialog displaying entity forms
|
|
72
|
+
* @group Hooks and utilities
|
|
73
|
+
*/
|
|
74
|
+
export interface SideEntityController {
|
|
75
|
+
/**
|
|
76
|
+
* Close the last panel
|
|
77
|
+
*/
|
|
78
|
+
close: () => void;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Open a new entity sideDialog. By default, the collection and configuration
|
|
82
|
+
* of the view is fetched from the collections you have specified in the
|
|
83
|
+
* navigation.
|
|
84
|
+
* At least you need to pass the path of the entity you would like
|
|
85
|
+
* to edit. You can set an entityId if you would like to edit and existing one
|
|
86
|
+
* (or a new one with that id).
|
|
87
|
+
* @param props
|
|
88
|
+
*/
|
|
89
|
+
open: <M extends Record<string, any> = any>(props: EntitySidePanelProps<M>) => void;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Replace the last open entity panel with the given one.
|
|
93
|
+
* @param props
|
|
94
|
+
*/
|
|
95
|
+
replace: <M extends Record<string, any> = any>(props: EntitySidePanelProps<M>) => void;
|
|
96
|
+
}
|