@firecms/core 3.0.0-3.0.0-beta.4.pre.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/components/ArrayContainer.d.ts +40 -0
- package/dist/components/CircularProgressCenter.d.ts +11 -0
- package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
- package/dist/components/DeleteEntityDialog.d.ts +12 -0
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +31 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +27 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +99 -0
- package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +18 -0
- package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +19 -0
- package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
- package/dist/components/EntityCollectionTable/index.d.ts +6 -0
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -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/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/EntityCollectionView/EntityCollectionView.d.ts +36 -0
- package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
- package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
- package/dist/components/EntityPreview.d.ts +29 -0
- package/dist/components/EntityView.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/FieldCaption.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/NavigationCard.d.ts +8 -0
- package/dist/components/HomePage/NavigationCardBinding.d.ts +17 -0
- package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
- package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
- package/dist/components/HomePage/index.d.ts +5 -0
- package/dist/components/NotFoundPage.d.ts +1 -0
- package/dist/components/PropertyConfigBadge.d.ts +4 -0
- package/dist/components/PropertyIdCopyTooltipContent.d.ts +3 -0
- package/dist/components/ReferenceTable/ReferenceSelectionTable.d.ts +58 -0
- package/dist/components/ReferenceWidget.d.ts +28 -0
- package/dist/components/SearchIconsView.d.ts +5 -0
- package/dist/components/SelectableTable/SelectableTable.d.ts +75 -0
- package/dist/components/SelectableTable/SelectableTableContext.d.ts +4 -0
- package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -0
- package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +11 -0
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +14 -0
- package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +13 -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 +214 -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/common/index.d.ts +5 -0
- package/dist/components/common/types.d.ts +60 -0
- package/dist/components/common/useColumnsIds.d.ts +4 -0
- package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +32 -0
- package/dist/components/common/useDebouncedData.d.ts +9 -0
- package/dist/components/common/useTableSearchHelper.d.ts +12 -0
- package/dist/components/index.d.ts +25 -0
- package/dist/contexts/AnalyticsContext.d.ts +3 -0
- package/dist/contexts/AuthControllerContext.d.ts +3 -0
- package/dist/contexts/CustomizationControllerContext.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/EntityEditView.d.ts +22 -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 +55 -0
- package/dist/core/SideDialogs.d.ts +23 -0
- package/dist/core/SideEntityView.d.ts +7 -0
- package/dist/core/field_configs.d.ts +7 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/form/EntityForm.d.ts +77 -0
- package/dist/form/PropertyFieldBinding.d.ts +30 -0
- package/dist/form/components/CustomIdField.d.ts +10 -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/LabelWithIcon.d.ts +14 -0
- package/dist/form/components/StorageItemPreview.d.ts +14 -0
- package/dist/form/components/StorageUploadProgress.d.ts +10 -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 +29 -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 +21 -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 +22 -0
- package/dist/hooks/useAnalyticsController.d.ts +5 -0
- package/dist/hooks/useAuthController.d.ts +11 -0
- package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/dist/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/dist/hooks/useBuildModeController.d.ts +6 -0
- package/dist/hooks/useBuildNavigationController.d.ts +24 -0
- package/dist/hooks/useClipboard.d.ts +57 -0
- package/dist/hooks/useCustomizationController.d.ts +11 -0
- package/dist/hooks/useDialogsController.d.ts +11 -0
- package/dist/hooks/useFireCMSContext.d.ts +11 -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/useProjectLog.d.ts +8 -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 +42 -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 +16602 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +589 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/internal/common.d.ts +3 -0
- package/dist/internal/useBuildCustomizationController.d.ts +2 -0
- package/dist/internal/useBuildDataSource.d.ts +26 -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 +11 -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 +16 -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/analytics_controller.d.ts +7 -0
- package/dist/types/appcheck.d.ts +26 -0
- package/dist/types/auth.d.ts +47 -0
- package/dist/types/collections.d.ts +467 -0
- package/dist/types/customization_controller.d.ts +47 -0
- package/dist/types/datasource.d.ts +262 -0
- package/dist/types/dialogs_controller.d.ts +32 -0
- package/dist/types/entities.d.ts +58 -0
- package/dist/types/entity_actions.d.ts +35 -0
- package/dist/types/entity_callbacks.d.ts +185 -0
- package/dist/types/entity_link_builder.d.ts +7 -0
- package/dist/types/entity_overrides.d.ts +6 -0
- package/dist/types/export_import.d.ts +21 -0
- package/dist/types/fields.d.ts +180 -0
- package/dist/types/firecms.d.ts +132 -0
- package/dist/types/firecms_context.d.ts +70 -0
- package/dist/types/index.d.ts +29 -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 +179 -0
- package/dist/types/permissions.d.ts +67 -0
- package/dist/types/plugins.d.ts +171 -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/collections.d.ts +11 -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/icon_list.d.ts +1 -0
- package/dist/util/icon_synonyms.d.ts +1950 -0
- package/dist/util/icons.d.ts +13 -0
- package/dist/util/index.d.ts +23 -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 +4 -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/useDebouncedCallback.d.ts +1 -0
- package/dist/util/useStorageUploadController.d.ts +36 -0
- package/dist/util/useTraceUpdate.d.ts +1 -0
- package/package.json +122 -0
- package/src/components/ArrayContainer.tsx +334 -0
- package/src/components/CircularProgressCenter.tsx +26 -0
- package/src/components/DeleteConfirmationDialog.tsx +47 -0
- package/src/components/DeleteEntityDialog.tsx +213 -0
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +170 -0
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +325 -0
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +145 -0
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +461 -0
- package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +155 -0
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
- package/src/components/EntityCollectionTable/index.tsx +12 -0
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +116 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +257 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +126 -0
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +408 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +804 -0
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +132 -0
- package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
- package/src/components/EntityPreview.tsx +218 -0
- package/src/components/EntityView.tsx +84 -0
- package/src/components/ErrorBoundary.tsx +40 -0
- package/src/components/ErrorTooltip.tsx +11 -0
- package/src/components/ErrorView.tsx +52 -0
- package/src/components/FieldCaption.tsx +13 -0
- package/src/components/FireCMSAppBar.tsx +165 -0
- package/src/components/FireCMSLogo.tsx +73 -0
- package/src/components/HomePage/DefaultHomePage.tsx +214 -0
- package/src/components/HomePage/FavouritesView.tsx +64 -0
- package/src/components/HomePage/NavigationCard.tsx +69 -0
- package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
- package/src/components/HomePage/NavigationGroup.tsx +39 -0
- package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
- package/src/components/HomePage/index.tsx +5 -0
- package/src/components/NotFoundPage.tsx +25 -0
- package/src/components/PropertyConfigBadge.tsx +17 -0
- package/src/components/PropertyIdCopyTooltipContent.tsx +28 -0
- package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +379 -0
- package/src/components/ReferenceWidget.tsx +145 -0
- package/src/components/SearchIconsView.tsx +75 -0
- package/src/components/SelectableTable/SelectableTable.tsx +329 -0
- package/src/components/SelectableTable/SelectableTableContext.tsx +6 -0
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +49 -0
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +109 -0
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +179 -0
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +158 -0
- package/src/components/VirtualTable/VirtualTable.tsx +405 -0
- package/src/components/VirtualTable/VirtualTableCell.tsx +50 -0
- package/src/components/VirtualTable/VirtualTableHeader.tsx +266 -0
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
- package/src/components/VirtualTable/VirtualTableProps.tsx +269 -0
- package/src/components/VirtualTable/VirtualTableRow.tsx +53 -0
- package/src/components/VirtualTable/common.tsx +18 -0
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
- package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
- package/src/components/VirtualTable/index.tsx +2 -0
- package/src/components/VirtualTable/types.tsx +44 -0
- package/src/components/common/index.ts +5 -0
- package/src/components/common/types.tsx +63 -0
- package/src/components/common/useColumnsIds.tsx +100 -0
- package/src/components/common/useDataSourceEntityCollectionTableController.tsx +225 -0
- package/src/components/common/useDebouncedData.ts +49 -0
- package/src/components/common/useTableSearchHelper.ts +47 -0
- package/src/components/index.tsx +36 -0
- package/src/contexts/AnalyticsContext.tsx +4 -0
- package/src/contexts/AuthControllerContext.tsx +4 -0
- package/src/contexts/CustomizationControllerContext.tsx +4 -0
- package/src/contexts/DataSourceContext.tsx +4 -0
- package/src/contexts/DialogsProvider.tsx +52 -0
- package/src/contexts/ModeController.tsx +13 -0
- package/src/contexts/NavigationContext.tsx +4 -0
- package/src/contexts/SideDialogsControllerContext.tsx +4 -0
- package/src/contexts/SideEntityControllerContext.tsx +4 -0
- package/src/contexts/SnackbarProvider.tsx +12 -0
- package/src/contexts/StorageSourceContext.tsx +4 -0
- package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
- package/src/contexts/index.ts +3 -0
- package/src/core/Drawer.tsx +191 -0
- package/src/core/EntityEditView.tsx +561 -0
- package/src/core/EntitySidePanel.tsx +91 -0
- package/src/core/FireCMS.tsx +198 -0
- package/src/core/NavigationRoutes.tsx +127 -0
- package/src/core/Scaffold.tsx +281 -0
- package/src/core/SideDialogs.tsx +156 -0
- package/src/core/SideEntityView.tsx +38 -0
- package/src/core/field_configs.tsx +400 -0
- package/src/core/index.tsx +12 -0
- package/src/form/EntityForm.tsx +728 -0
- package/src/form/PropertyFieldBinding.tsx +306 -0
- package/src/form/components/CustomIdField.tsx +139 -0
- package/src/form/components/ErrorFocus.tsx +51 -0
- package/src/form/components/FieldHelperText.tsx +58 -0
- package/src/form/components/FormikArrayContainer.tsx +44 -0
- package/src/form/components/LabelWithIcon.tsx +33 -0
- package/src/form/components/StorageItemPreview.tsx +68 -0
- package/src/form/components/StorageUploadProgress.tsx +105 -0
- package/src/form/components/index.tsx +3 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +86 -0
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +149 -0
- package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +67 -0
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +558 -0
- package/src/form/field_bindings/MapFieldBinding.tsx +138 -0
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +695 -0
- package/src/form/field_bindings/MultiSelectBinding.tsx +114 -0
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +69 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +123 -0
- package/src/form/field_bindings/RepeatFieldBinding.tsx +105 -0
- package/src/form/field_bindings/SelectFieldBinding.tsx +99 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +447 -0
- package/src/form/field_bindings/SwitchFieldBinding.tsx +60 -0
- package/src/form/field_bindings/TextFieldBinding.tsx +109 -0
- package/src/form/index.tsx +43 -0
- package/src/form/useClearRestoreValue.tsx +35 -0
- package/src/form/validation.ts +412 -0
- package/src/hooks/data/delete.ts +101 -0
- package/src/hooks/data/save.ts +170 -0
- package/src/hooks/data/useCollectionFetch.tsx +162 -0
- package/src/hooks/data/useDataOrder.ts +26 -0
- package/src/hooks/data/useDataSource.tsx +14 -0
- package/src/hooks/data/useEntityFetch.tsx +129 -0
- package/src/hooks/index.tsx +27 -0
- package/src/hooks/useAnalyticsController.tsx +8 -0
- package/src/hooks/useAuthController.tsx +14 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
- package/src/hooks/useBuildLocalConfigurationPersistence.tsx +67 -0
- package/src/hooks/useBuildModeController.tsx +60 -0
- package/src/hooks/useBuildNavigationController.tsx +433 -0
- package/src/hooks/useClipboard.tsx +158 -0
- package/src/hooks/useCustomizationController.tsx +14 -0
- package/src/hooks/useDialogsController.tsx +14 -0
- package/src/hooks/useFireCMSContext.tsx +99 -0
- package/src/hooks/useLargeLayout.tsx +100 -0
- package/src/hooks/useModeController.tsx +24 -0
- package/src/hooks/useNavigationController.tsx +12 -0
- package/src/hooks/useProjectLog.tsx +39 -0
- package/src/hooks/useReferenceDialog.tsx +56 -0
- package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
- package/src/hooks/useSideDialogsController.tsx +21 -0
- package/src/hooks/useSideEntityController.tsx +15 -0
- package/src/hooks/useSnackbarController.tsx +75 -0
- package/src/hooks/useStorageSource.tsx +14 -0
- package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
- package/src/index.ts +8 -0
- package/src/internal/common.tsx +5 -0
- package/src/internal/useBuildCustomizationController.tsx +5 -0
- package/src/internal/useBuildDataSource.ts +363 -0
- package/src/internal/useBuildSideDialogsController.tsx +125 -0
- package/src/internal/useBuildSideEntityController.tsx +172 -0
- package/src/internal/useLocaleConfig.tsx +18 -0
- package/src/internal/useRestoreScroll.tsx +48 -0
- package/src/internal/useUnsavedChangesDialog.tsx +106 -0
- package/src/preview/PropertyPreview.tsx +225 -0
- package/src/preview/PropertyPreviewProps.tsx +59 -0
- package/src/preview/components/ArrayEnumPreview.tsx +39 -0
- package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
- package/src/preview/components/BooleanPreview.tsx +24 -0
- package/src/preview/components/DatePreview.tsx +26 -0
- package/src/preview/components/EmptyValue.tsx +10 -0
- package/src/preview/components/EnumValuesChip.tsx +38 -0
- package/src/preview/components/ImagePreview.tsx +106 -0
- package/src/preview/components/ReferencePreview.tsx +166 -0
- package/src/preview/components/StorageThumbnail.tsx +84 -0
- package/src/preview/components/UrlComponentPreview.tsx +79 -0
- package/src/preview/index.ts +27 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
- package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
- package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
- package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
- package/src/preview/property_previews/StringPropertyPreview.tsx +60 -0
- package/src/preview/util.ts +31 -0
- package/src/types/analytics.ts +35 -0
- package/src/types/analytics_controller.tsx +10 -0
- package/src/types/appcheck.ts +29 -0
- package/src/types/auth.tsx +59 -0
- package/src/types/collections.ts +548 -0
- package/src/types/customization_controller.tsx +58 -0
- package/src/types/datasource.ts +389 -0
- package/src/types/dialogs_controller.tsx +33 -0
- package/src/types/entities.ts +80 -0
- package/src/types/entity_actions.tsx +43 -0
- package/src/types/entity_callbacks.ts +229 -0
- package/src/types/entity_link_builder.ts +8 -0
- package/src/types/entity_overrides.tsx +7 -0
- package/src/types/export_import.ts +26 -0
- package/src/types/fields.tsx +220 -0
- package/src/types/firecms.tsx +153 -0
- package/src/types/firecms_context.tsx +83 -0
- package/src/types/index.ts +29 -0
- package/src/types/local_config_persistence.tsx +23 -0
- package/src/types/locales.ts +81 -0
- package/src/types/modify_collections.tsx +6 -0
- package/src/types/navigation.ts +215 -0
- package/src/types/permissions.ts +81 -0
- package/src/types/plugins.tsx +207 -0
- package/src/types/properties.ts +851 -0
- package/src/types/property_config.tsx +72 -0
- package/src/types/resolved_entities.ts +148 -0
- package/src/types/side_dialogs_controller.tsx +68 -0
- package/src/types/side_entity_controller.tsx +97 -0
- package/src/types/storage.ts +96 -0
- package/src/types/user.ts +37 -0
- package/src/util/arrays.ts +3 -0
- package/src/util/builders.ts +139 -0
- package/src/util/collections.ts +72 -0
- package/src/util/common.tsx +2 -0
- package/src/util/dates.ts +1 -0
- package/src/util/entities.ts +196 -0
- package/src/util/enums.ts +56 -0
- package/src/util/flatten_object.ts +45 -0
- package/src/util/hash.ts +11 -0
- package/src/util/icon_list.ts +17 -0
- package/src/util/icon_synonyms.ts +1950 -0
- package/src/util/icons.tsx +56 -0
- package/src/util/index.ts +23 -0
- package/src/util/join_collections.ts +172 -0
- package/src/util/make_properties_editable.ts +29 -0
- package/src/util/navigation_from_path.ts +107 -0
- package/src/util/navigation_utils.ts +111 -0
- package/src/util/objects.ts +168 -0
- package/src/util/os.ts +13 -0
- package/src/util/parent_references_from_path.ts +56 -0
- package/src/util/paths.ts +27 -0
- package/src/util/permissions.ts +83 -0
- package/src/util/plurals.ts +190 -0
- package/src/util/property_utils.tsx +130 -0
- package/src/util/references.ts +51 -0
- package/src/util/regexp.ts +32 -0
- package/src/util/resolutions.ts +399 -0
- package/src/util/storage.ts +92 -0
- package/src/util/strings.ts +63 -0
- package/src/util/useDebouncedCallback.ts +25 -0
- package/src/util/useStorageUploadController.tsx +243 -0
- package/src/util/useTraceUpdate.tsx +23 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { WhereFilterOp } from "../../types";
|
|
3
|
+
import { FilterFormFieldProps } from "./VirtualTableHeader";
|
|
4
|
+
export type OnRowClickParams<T extends Record<string, any>> = {
|
|
5
|
+
rowData: T;
|
|
6
|
+
rowIndex: number;
|
|
7
|
+
event: React.SyntheticEvent;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @see Table
|
|
11
|
+
* @group Components
|
|
12
|
+
*/
|
|
13
|
+
export interface VirtualTableProps<T extends Record<string, any>> {
|
|
14
|
+
/**
|
|
15
|
+
* Array of arbitrary data
|
|
16
|
+
*/
|
|
17
|
+
data?: T[];
|
|
18
|
+
/**
|
|
19
|
+
* Properties displayed in this collection. If this property is not set
|
|
20
|
+
* every property is displayed, you can filter
|
|
21
|
+
*/
|
|
22
|
+
columns: VirtualTableColumn[];
|
|
23
|
+
/**
|
|
24
|
+
* Custom cell renderer
|
|
25
|
+
* The renderer receives props `{ cellData, columns, column, columnIndex, rowData, rowIndex, container, isScrolling }`
|
|
26
|
+
*/
|
|
27
|
+
cellRenderer: React.ComponentType<CellRendererParams<T>>;
|
|
28
|
+
/**
|
|
29
|
+
* If enabled, content is loaded in batch
|
|
30
|
+
*/
|
|
31
|
+
paginationEnabled?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Set this callback if you want to support some combinations
|
|
34
|
+
* of filter combinations only.
|
|
35
|
+
* @param filterValues
|
|
36
|
+
* @param sortBy
|
|
37
|
+
*/
|
|
38
|
+
checkFilterCombination?: (filterValues: VirtualTableFilterValues<Extract<keyof T, string>>, sortBy?: [string, "asc" | "desc"]) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* A callback function when scrolling the table to near the end
|
|
41
|
+
*/
|
|
42
|
+
onEndReached?: () => void;
|
|
43
|
+
/**
|
|
44
|
+
* When the pagination should be reset. E.g. the filters or sorting
|
|
45
|
+
* has been reset.
|
|
46
|
+
*/
|
|
47
|
+
onResetPagination?: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* Callback when a row is clicked
|
|
50
|
+
*/
|
|
51
|
+
onRowClick?: (props: OnRowClickParams<T>) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Callback when a column is resized
|
|
54
|
+
*/
|
|
55
|
+
onColumnResize?: (params: OnVirtualTableColumnResizeParams) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Size of the table
|
|
58
|
+
*/
|
|
59
|
+
size?: VirtualTableSize;
|
|
60
|
+
/**
|
|
61
|
+
* In case this table should have some filters set by default
|
|
62
|
+
*/
|
|
63
|
+
filter?: VirtualTableFilterValues<any>;
|
|
64
|
+
/**
|
|
65
|
+
* Callback used when filters are updated
|
|
66
|
+
* @param filter
|
|
67
|
+
*/
|
|
68
|
+
onFilterUpdate?: (filter?: VirtualTableFilterValues<any> | undefined) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Default sort applied to this collection
|
|
71
|
+
*/
|
|
72
|
+
sortBy?: [string, "asc" | "desc"];
|
|
73
|
+
/**
|
|
74
|
+
* Callback used when sorting is updated
|
|
75
|
+
* @param sortBy
|
|
76
|
+
*/
|
|
77
|
+
onSortByUpdate?: (sortBy?: [string, "asc" | "desc"]) => void;
|
|
78
|
+
/**
|
|
79
|
+
* If there is an error loading data you can pass it here, so it gets
|
|
80
|
+
* displayed instead of the content
|
|
81
|
+
*/
|
|
82
|
+
error?: Error;
|
|
83
|
+
/**
|
|
84
|
+
* Message displayed when there is no data
|
|
85
|
+
*/
|
|
86
|
+
emptyComponent?: React.ReactNode;
|
|
87
|
+
/**
|
|
88
|
+
* Is the table in a loading state
|
|
89
|
+
*/
|
|
90
|
+
loading?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Should apply a different style when hovering
|
|
93
|
+
*/
|
|
94
|
+
hoverRow?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Apply a custom class name to the row
|
|
97
|
+
* @param rowData
|
|
98
|
+
*/
|
|
99
|
+
rowClassName?: (rowData: T) => string | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Callback to create a filter field, displayed in the header as a dropdown
|
|
102
|
+
* @param props
|
|
103
|
+
*/
|
|
104
|
+
createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Class name applied to the table
|
|
107
|
+
*/
|
|
108
|
+
className?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Component rendered at the end of the table, after scroll
|
|
111
|
+
*/
|
|
112
|
+
endAdornment?: React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* If adding this callback, a button to add a new column is displayed.
|
|
115
|
+
* @param column
|
|
116
|
+
*/
|
|
117
|
+
AddColumnComponent?: React.ComponentType;
|
|
118
|
+
}
|
|
119
|
+
export type CellRendererParams<T extends any = any> = {
|
|
120
|
+
column: VirtualTableColumn;
|
|
121
|
+
columns: VirtualTableColumn[];
|
|
122
|
+
columnIndex: number;
|
|
123
|
+
rowData?: T;
|
|
124
|
+
rowIndex: number;
|
|
125
|
+
width: number;
|
|
126
|
+
isScrolling?: boolean;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* @see Table
|
|
130
|
+
* @group Components
|
|
131
|
+
*/
|
|
132
|
+
export interface VirtualTableColumn<CustomProps extends any = any> {
|
|
133
|
+
/**
|
|
134
|
+
* Data key for the cell value, could be "a.b.c"
|
|
135
|
+
*/
|
|
136
|
+
key: string;
|
|
137
|
+
/**
|
|
138
|
+
* The width of the column, gutter width is not included
|
|
139
|
+
*/
|
|
140
|
+
width: number;
|
|
141
|
+
/**
|
|
142
|
+
* Label displayed in the header
|
|
143
|
+
*/
|
|
144
|
+
title?: string;
|
|
145
|
+
/**
|
|
146
|
+
* This column is frozen to the left
|
|
147
|
+
*/
|
|
148
|
+
frozen?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* How is the
|
|
151
|
+
*/
|
|
152
|
+
headerAlign?: "left" | "center" | "right";
|
|
153
|
+
/**
|
|
154
|
+
* Icon displayed in the header
|
|
155
|
+
*/
|
|
156
|
+
icon?: React.ReactNode;
|
|
157
|
+
/**
|
|
158
|
+
*
|
|
159
|
+
*/
|
|
160
|
+
filter?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Alignment of the column cell
|
|
163
|
+
*/
|
|
164
|
+
align?: "left" | "right" | "center";
|
|
165
|
+
/**
|
|
166
|
+
* Whether the column is sortable, defaults to false
|
|
167
|
+
*/
|
|
168
|
+
sortable?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Can it be resized
|
|
171
|
+
*/
|
|
172
|
+
resizable?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Custom props passed to the cell renderer
|
|
175
|
+
*/
|
|
176
|
+
custom?: CustomProps;
|
|
177
|
+
/**
|
|
178
|
+
* Additional children to be rendered in the header when hovering
|
|
179
|
+
*/
|
|
180
|
+
AdditionalHeaderWidget?: (props: {
|
|
181
|
+
onHover: boolean;
|
|
182
|
+
}) => React.ReactNode;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @see Table
|
|
186
|
+
* @group Collection components
|
|
187
|
+
*/
|
|
188
|
+
export type OnVirtualTableColumnResizeParams = {
|
|
189
|
+
width: number;
|
|
190
|
+
key: string;
|
|
191
|
+
column: VirtualTableColumn;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* @see Table
|
|
195
|
+
* @group Components
|
|
196
|
+
*/
|
|
197
|
+
export type VirtualTableSize = "xs" | "s" | "m" | "l" | "xl";
|
|
198
|
+
/**
|
|
199
|
+
* @see Table
|
|
200
|
+
* @group Components
|
|
201
|
+
*/
|
|
202
|
+
export type VirtualTableSort = "asc" | "desc" | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* @see Table
|
|
205
|
+
* @group Components
|
|
206
|
+
*/
|
|
207
|
+
export type VirtualTableFilterValues<Key extends string> = Partial<Record<Key, [WhereFilterOp, any]>>;
|
|
208
|
+
/**
|
|
209
|
+
* Filter conditions in a `Query.where()` clause are specified using the
|
|
210
|
+
* strings `<`, `<=`, `==`, `>=`, `>`, `array-contains`, `in`, and `array-contains-any`.
|
|
211
|
+
* @see Table
|
|
212
|
+
* @group Models
|
|
213
|
+
*/
|
|
214
|
+
export type VirtualTableWhereFilterOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "not-in" | "array-contains-any";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare function VirtualTableDateField(props: {
|
|
3
|
+
name: string;
|
|
4
|
+
error: Error | undefined;
|
|
5
|
+
mode?: "date" | "date_time";
|
|
6
|
+
internalValue: Date | undefined | null;
|
|
7
|
+
updateValue: (newValue: (Date | null)) => void;
|
|
8
|
+
focused: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function VirtualTableNumberInput(props: {
|
|
2
|
+
error: Error | undefined;
|
|
3
|
+
value: number;
|
|
4
|
+
align: "right" | "left" | "center";
|
|
5
|
+
updateValue: (newValue: (number | null)) => void;
|
|
6
|
+
focused: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnumValueConfig } from "../../../types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export declare function VirtualTableSelect(props: {
|
|
4
|
+
name: string;
|
|
5
|
+
enumValues: EnumValueConfig[];
|
|
6
|
+
error: Error | undefined;
|
|
7
|
+
multiple: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
small: boolean;
|
|
10
|
+
internalValue: string | number | string[] | number[] | undefined;
|
|
11
|
+
valueType: "string" | "number";
|
|
12
|
+
updateValue: (newValue: (string | number | string[] | number[] | null)) => void;
|
|
13
|
+
focused: boolean;
|
|
14
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableSize, VirtualTableWhereFilterOp } from "./VirtualTableProps";
|
|
3
|
+
import { FilterFormFieldProps } from "./VirtualTableHeader";
|
|
4
|
+
export type VirtualTableRowProps<T> = {
|
|
5
|
+
style: any;
|
|
6
|
+
size: VirtualTableSize;
|
|
7
|
+
rowData: T;
|
|
8
|
+
rowIndex: number;
|
|
9
|
+
onRowClick?: (props: OnRowClickParams<any>) => void;
|
|
10
|
+
children: React.ReactNode[];
|
|
11
|
+
columns: VirtualTableColumn[];
|
|
12
|
+
hoverRow?: boolean;
|
|
13
|
+
rowClassName?: (rowData: T) => string | undefined;
|
|
14
|
+
};
|
|
15
|
+
export type VirtualTableContextProps<T extends any> = {
|
|
16
|
+
data?: T[];
|
|
17
|
+
size?: VirtualTableSize;
|
|
18
|
+
columns: VirtualTableColumn[];
|
|
19
|
+
cellRenderer: React.ComponentType<CellRendererParams<T>>;
|
|
20
|
+
currentSort: "asc" | "desc" | undefined;
|
|
21
|
+
filter?: VirtualTableFilterValues<any>;
|
|
22
|
+
onRowClick?: (props: OnRowClickParams<any>) => void;
|
|
23
|
+
onColumnSort: (key: string) => any;
|
|
24
|
+
onColumnResize: (params: OnVirtualTableColumnResizeParams) => void;
|
|
25
|
+
onColumnResizeEnd: (params: OnVirtualTableColumnResizeParams) => void;
|
|
26
|
+
onFilterUpdate: (column: VirtualTableColumn, filterForProperty?: [VirtualTableWhereFilterOp, any]) => void;
|
|
27
|
+
sortByProperty?: string;
|
|
28
|
+
customView?: React.ReactNode;
|
|
29
|
+
hoverRow: boolean;
|
|
30
|
+
createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
|
|
31
|
+
rowClassName?: (rowData: T) => string | undefined;
|
|
32
|
+
endAdornment?: React.ReactNode;
|
|
33
|
+
AddColumnComponent?: React.ComponentType;
|
|
34
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CollectionSize, Entity, FireCMSContext, ResolvedProperty, SelectedCellProps } from "../../types";
|
|
2
|
+
export type EntityCollectionTableController<M extends Record<string, any>> = {
|
|
3
|
+
/**
|
|
4
|
+
* This cell is displayed as selected
|
|
5
|
+
*/
|
|
6
|
+
selectedCell?: SelectedCellProps<any>;
|
|
7
|
+
/**
|
|
8
|
+
* Select a table cell
|
|
9
|
+
* @param cell
|
|
10
|
+
*/
|
|
11
|
+
select: (cell?: SelectedCellProps<M>) => void;
|
|
12
|
+
/**
|
|
13
|
+
* The cell that is displayed as a popup view.
|
|
14
|
+
* @param cell
|
|
15
|
+
*/
|
|
16
|
+
setPopupCell?: (cell?: SelectedCellProps<M>) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Callback used when the value of a cell has changed.
|
|
19
|
+
* @param params
|
|
20
|
+
*/
|
|
21
|
+
onValueChange?: (params: OnCellValueChangeParams<any, M>) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Size of the elements in the collection
|
|
24
|
+
*/
|
|
25
|
+
size: CollectionSize;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Props passed in a callback when the content of a cell in a table has been edited
|
|
29
|
+
* @group Collection components
|
|
30
|
+
*/
|
|
31
|
+
export interface OnCellValueChangeParams<T = any, M extends Record<string, any> = any> {
|
|
32
|
+
value: T;
|
|
33
|
+
propertyKey: string;
|
|
34
|
+
entity: Entity<M>;
|
|
35
|
+
onValueUpdated: () => void;
|
|
36
|
+
setError: (e: Error) => void;
|
|
37
|
+
fullPath: string;
|
|
38
|
+
context: FireCMSContext;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @group Collection components
|
|
42
|
+
*/
|
|
43
|
+
export type UniqueFieldValidator = (props: {
|
|
44
|
+
name: string;
|
|
45
|
+
value: any;
|
|
46
|
+
property: ResolvedProperty;
|
|
47
|
+
entityId?: string;
|
|
48
|
+
}) => Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Callback when a cell has changed in a table
|
|
51
|
+
* @group Collection components
|
|
52
|
+
*/
|
|
53
|
+
export type OnCellValueChange<T, M extends Record<string, any>> = (params: OnCellValueChangeParams<T, M>) => Promise<void> | void;
|
|
54
|
+
/**
|
|
55
|
+
* @group Collection components
|
|
56
|
+
*/
|
|
57
|
+
export type OnColumnResizeParams = {
|
|
58
|
+
width: number;
|
|
59
|
+
key: string;
|
|
60
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ResolvedEntityCollection, ResolvedProperty } from "../../types";
|
|
2
|
+
import { PropertyColumnConfig } from "../EntityCollectionTable/EntityCollectionTableProps";
|
|
3
|
+
export declare function useColumnIds<M extends Record<string, any>>(collection: ResolvedEntityCollection<M>, includeSubcollections: boolean): PropertyColumnConfig[];
|
|
4
|
+
export declare function getColumnKeysForProperty(property: ResolvedProperty, key: string, disabled?: boolean): PropertyColumnConfig[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Entity, EntityCollection, EntityTableController, FilterValues, User } from "../../types";
|
|
2
|
+
export type DataSourceEntityCollectionTableControllerProps<M extends Record<string, any> = any> = {
|
|
3
|
+
/**
|
|
4
|
+
* Full path where the data of this table is located
|
|
5
|
+
*/
|
|
6
|
+
fullPath: string;
|
|
7
|
+
/**
|
|
8
|
+
* The collection that is represented by this config.
|
|
9
|
+
*/
|
|
10
|
+
collection: EntityCollection<M>;
|
|
11
|
+
/**
|
|
12
|
+
* List of entities that will be displayed on top, no matter the ordering.
|
|
13
|
+
* This is used for reference fields selection
|
|
14
|
+
*/
|
|
15
|
+
entitiesDisplayedFirst?: Entity<M>[];
|
|
16
|
+
lastDeleteTimestamp?: number;
|
|
17
|
+
forceFilter?: FilterValues<string>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Use this hook to build a controller for the {@link EntityCollectionTable}.
|
|
21
|
+
* This controller is bound to data in a path in your specified datasource.
|
|
22
|
+
*
|
|
23
|
+
* Note that you can build your own hook returning a {@link EntityTableController}
|
|
24
|
+
* if you would like to display different data.
|
|
25
|
+
*
|
|
26
|
+
* @param fullPath
|
|
27
|
+
* @param collection
|
|
28
|
+
* @param entitiesDisplayedFirst
|
|
29
|
+
* @param lastDeleteTimestamp
|
|
30
|
+
* @param forceFilterFromProps
|
|
31
|
+
*/
|
|
32
|
+
export declare function useDataSourceEntityCollectionTableController<M extends Record<string, any> = any, UserType extends User = User>({ fullPath, collection, entitiesDisplayedFirst, lastDeleteTimestamp, forceFilter: forceFilterFromProps, }: DataSourceEntityCollectionTableControllerProps<M>): EntityTableController<M>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hack to prevent data updates for incomplete callbacks from Firestore
|
|
3
|
+
* triggers.
|
|
4
|
+
* If any deps change, the update is immediate
|
|
5
|
+
* @param data
|
|
6
|
+
* @param deps
|
|
7
|
+
* @param timeoutMs
|
|
8
|
+
*/
|
|
9
|
+
export declare function useDebouncedData<T>(data: T[], deps: any, timeoutMs?: number): T[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EntityCollection } from "../../types";
|
|
2
|
+
export interface UseTableSearchHelperParams<M extends Record<string, any>> {
|
|
3
|
+
collection: EntityCollection<M>;
|
|
4
|
+
fullPath: string;
|
|
5
|
+
parentCollectionIds?: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function useTableSearchHelper<M extends Record<string, any>>({ collection, fullPath, parentCollectionIds }: UseTableSearchHelperParams<M>): {
|
|
8
|
+
textSearchLoading: boolean;
|
|
9
|
+
textSearchInitialised: boolean;
|
|
10
|
+
onTextSearchClick: (() => void) | undefined;
|
|
11
|
+
textSearchEnabled: boolean;
|
|
12
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type { ErrorViewProps } from "./ErrorView";
|
|
2
|
+
export { ErrorView } from "./ErrorView";
|
|
3
|
+
export type { EntityViewProps } from "./EntityView";
|
|
4
|
+
export { EntityView } from "./EntityView";
|
|
5
|
+
export type { ReferenceSelectionInnerProps } from "./ReferenceTable/ReferenceSelectionTable";
|
|
6
|
+
export { ReferenceSelectionTable } from "./ReferenceTable/ReferenceSelectionTable";
|
|
7
|
+
export { CircularProgressCenter } from "./CircularProgressCenter";
|
|
8
|
+
export * from "./common";
|
|
9
|
+
export * from "./HomePage";
|
|
10
|
+
export * from "./SelectableTable/SelectableTable";
|
|
11
|
+
export * from "./EntityCollectionView/EntityCollectionView";
|
|
12
|
+
export * from "./EntityCollectionView/EntityCollectionViewActions";
|
|
13
|
+
export * from "./EntityCollectionView/useSelectionController";
|
|
14
|
+
export * from "./PropertyConfigBadge";
|
|
15
|
+
export * from "./EntityCollectionTable";
|
|
16
|
+
export * from "./NotFoundPage";
|
|
17
|
+
export * from "./VirtualTable";
|
|
18
|
+
export * from "./ErrorBoundary";
|
|
19
|
+
export * from "./DeleteConfirmationDialog";
|
|
20
|
+
export * from "./FireCMSLogo";
|
|
21
|
+
export * from "./FireCMSAppBar";
|
|
22
|
+
export * from "./ArrayContainer";
|
|
23
|
+
export * from "./ReferenceWidget";
|
|
24
|
+
export * from "./SearchIconsView";
|
|
25
|
+
export * from "./FieldCaption";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Props used in case you need to override the default drawer
|
|
4
|
+
* @group Core
|
|
5
|
+
*/
|
|
6
|
+
export type DrawerProps<T = {}> = T & {
|
|
7
|
+
hovered: boolean;
|
|
8
|
+
drawerOpen: boolean;
|
|
9
|
+
closeDrawer: () => any;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Default drawer used in the CMS
|
|
13
|
+
* @group Core
|
|
14
|
+
*/
|
|
15
|
+
export declare function Drawer({ hovered, drawerOpen, closeDrawer }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function DrawerNavigationItem({ name, icon, drawerOpen, tooltipsOpen, url, onClick }: {
|
|
17
|
+
icon: React.ReactElement;
|
|
18
|
+
name: string;
|
|
19
|
+
tooltipsOpen: boolean;
|
|
20
|
+
drawerOpen: boolean;
|
|
21
|
+
url: string;
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Entity, EntityCollection, User } from "../types";
|
|
2
|
+
export interface EntityEditViewProps<M extends Record<string, any>> {
|
|
3
|
+
path: string;
|
|
4
|
+
collection: EntityCollection<M>;
|
|
5
|
+
entityId?: string;
|
|
6
|
+
copy?: boolean;
|
|
7
|
+
selectedSubPath?: string;
|
|
8
|
+
parentCollectionIds: string[];
|
|
9
|
+
formWidth?: number | string;
|
|
10
|
+
onValuesAreModified: (modified: boolean) => void;
|
|
11
|
+
onUpdate?: (params: {
|
|
12
|
+
entity: Entity<any>;
|
|
13
|
+
}) => void;
|
|
14
|
+
onClose?: () => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* This is the default view that is used as the content of a side panel when
|
|
18
|
+
* an entity is opened.
|
|
19
|
+
* You probably don't want to use this view directly since it is bound to the
|
|
20
|
+
* side panel. Instead, you might want to use {@link EntityForm} or {@link EntityCollectionView}
|
|
21
|
+
*/
|
|
22
|
+
export declare function EntityEditView<M extends Record<string, any>, UserType extends User>({ path, entityId, selectedSubPath, copy, collection, parentCollectionIds, onValuesAreModified, formWidth, onUpdate, onClose, }: EntityEditViewProps<M>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EntitySidePanelProps } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* This is the component in charge of rendering the side dialog used
|
|
4
|
+
* for editing entities. Use the {@link useSideEntityController} to open
|
|
5
|
+
* and control the dialogs.
|
|
6
|
+
* This component needs a parent {@link FireCMS}
|
|
7
|
+
* {@link useSideEntityController}
|
|
8
|
+
* @group Components
|
|
9
|
+
*/
|
|
10
|
+
export declare function EntitySidePanel(props: EntitySidePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EntityCollection, FireCMSProps, User } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* If you are using independent components of the CMS
|
|
4
|
+
* you need to wrap them with this main component, so the internal hooks work.
|
|
5
|
+
*
|
|
6
|
+
* This is the main component of FireCMS. It acts as the provider of all the
|
|
7
|
+
* internal contexts and hooks.
|
|
8
|
+
*
|
|
9
|
+
* You only need to use this component if you are building a custom app.
|
|
10
|
+
*
|
|
11
|
+
* @constructor
|
|
12
|
+
* @group Core
|
|
13
|
+
*/
|
|
14
|
+
export declare function FireCMS<UserType extends User, EC extends EntityCollection>(props: FireCMSProps<UserType, EC>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* @group Components
|
|
4
|
+
*/
|
|
5
|
+
export type NavigationRoutesProps = {
|
|
6
|
+
/**
|
|
7
|
+
* In case you need to override the home page
|
|
8
|
+
*/
|
|
9
|
+
HomePage?: React.ComponentType;
|
|
10
|
+
customRoutes?: React.ReactNode[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* This component is in charge of rendering
|
|
14
|
+
* all the related routes (entity collection root views, custom views
|
|
15
|
+
* or the home route) related to a {@link NavigationController}.
|
|
16
|
+
* This component needs a parent {@link FireCMS}
|
|
17
|
+
*
|
|
18
|
+
* @constructor
|
|
19
|
+
* @group Components
|
|
20
|
+
*/
|
|
21
|
+
export declare const NavigationRoutes: React.NamedExoticComponent<NavigationRoutesProps>;
|