@rebasepro/admin 0.8.0 → 0.9.1-canary.09aaf62
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 +26 -26
- package/dist/{CollectionEditorDialog-BO_aQ-Z4.js → CollectionEditorDialog-DbPpDDwb.js} +40 -18
- package/dist/CollectionEditorDialog-DbPpDDwb.js.map +1 -0
- package/dist/{PropertyEditView-DKzOpMjR.js → PropertyEditView-DfJbZ67t.js} +81 -73
- package/dist/PropertyEditView-DfJbZ67t.js.map +1 -0
- package/dist/{RouterCollectionsStudioView-BQTIExjA.js → RouterCollectionsStudioView-C6XQ7Il5.js} +5 -5
- package/dist/RouterCollectionsStudioView-C6XQ7Il5.js.map +1 -0
- package/dist/collection_editor/_cms_internals.d.ts +3 -3
- package/dist/collection_editor/api/generateCollectionApi.d.ts +8 -8
- package/dist/collection_editor/extensibility_types.d.ts +3 -3
- package/dist/collection_editor/index.d.ts +2 -2
- package/dist/collection_editor/pgColumnToProperty.d.ts +3 -3
- package/dist/collection_editor/serializable_types.d.ts +7 -7
- package/dist/collection_editor/serializable_utils.d.ts +8 -8
- package/dist/collection_editor/types/collection_editor_controller.d.ts +5 -5
- package/dist/collection_editor/types/collection_inference.d.ts +2 -2
- package/dist/collection_editor/types/config_controller.d.ts +7 -7
- package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -2
- package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +2 -2
- package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -2
- package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +3 -3
- package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +4 -4
- package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +4 -4
- package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +5 -5
- package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +3 -3
- package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
- package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
- package/dist/collection_editor/useSafeSnackbarController.d.ts +1 -1
- package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
- package/dist/collection_editor_ui.js +5 -5
- package/dist/collection_editor_ui.js.map +1 -1
- package/dist/components/CollectionPanel.d.ts +4 -4
- package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +3 -3
- package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
- package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +2 -2
- package/dist/components/CollectionTableBinding/index.d.ts +6 -0
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +1 -1
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +3 -3
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +1 -1
- package/dist/components/{EntityCollectionView/EntityBoardCard.d.ts → CollectionViewBinding/BoardCardBinding.d.ts} +8 -8
- package/dist/components/{EntityCollectionView/EntityCollectionBoardView.d.ts → CollectionViewBinding/CollectionBoardViewBinding.d.ts} +4 -4
- package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
- package/dist/components/{EntityCollectionView/EntityCollectionListView.d.ts → CollectionViewBinding/CollectionListViewBinding.d.ts} +4 -4
- package/dist/components/{EntityCollectionView/EntityCollectionViewActions.d.ts → CollectionViewBinding/CollectionViewActions.d.ts} +4 -4
- package/dist/components/{EntityCollectionView/EntityCollectionView.d.ts → CollectionViewBinding/CollectionViewBinding.d.ts} +4 -4
- package/dist/components/{EntityCollectionView/EntityCollectionViewStartActions.d.ts → CollectionViewBinding/CollectionViewStartActions.d.ts} +4 -4
- package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +3 -3
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +3 -3
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +2 -2
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
- package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
- package/dist/components/DeleteEntityDialog.d.ts +4 -4
- package/dist/components/{EntityDetailView.d.ts → DetailViewBinding.d.ts} +5 -5
- package/dist/components/EditFormActions.d.ts +3 -0
- package/dist/components/{EntityEditView.d.ts → EditViewBinding.d.ts} +9 -9
- package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +13 -13
- package/dist/components/EntityViewBinding.d.ts +13 -0
- package/dist/components/{EntityJsonPreview.d.ts → JsonPreviewBinding.d.ts} +1 -1
- package/dist/components/{RebaseCMS.d.ts → RebaseAdmin.d.ts} +2 -2
- package/dist/components/RebaseLayout.d.ts +5 -4
- package/dist/components/RebaseNavigation.d.ts +1 -1
- package/dist/components/RebaseShell.d.ts +1 -0
- package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +5 -5
- package/dist/components/SelectableTable/SelectableTable.d.ts +6 -6
- package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
- package/dist/components/SelectableTable/SelectionStore.d.ts +2 -2
- package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +6 -1
- package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +7 -1
- package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +7 -1
- package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +7 -1
- package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +7 -1
- package/dist/components/SideDialogs.d.ts +1 -1
- package/dist/components/SidePanelBinding.d.ts +11 -0
- package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +7 -7
- package/dist/components/history/EntityHistoryEntry.d.ts +2 -2
- package/dist/components/history/LastEditedByIndicator.d.ts +2 -2
- package/dist/components/index.d.ts +15 -14
- package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
- package/dist/data_export/export/ExportCollectionAction.d.ts +3 -3
- package/dist/data_import/components/ImportSaveInProgress.d.ts +2 -2
- package/dist/editor.js +1 -1
- package/dist/editor.js.map +1 -1
- package/dist/form/EntityForm.d.ts +1 -1
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/components/LocalChangesMenu.d.ts +1 -1
- package/dist/form/components/StorageUploadProgress.d.ts +1 -1
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +1 -1
- package/dist/form/form_utils.d.ts +2 -2
- package/dist/{history-B3cqBzEV.js → history-GSa4BgDt.js} +7 -7
- package/dist/history-GSa4BgDt.js.map +1 -0
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
- package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +5 -5
- package/dist/hooks/navigation/useNavigationResolution.d.ts +4 -4
- package/dist/hooks/navigation/useResolvedCollections.d.ts +7 -7
- package/dist/hooks/navigation/useTopLevelNavigation.d.ts +2 -2
- package/dist/hooks/navigation/utils.d.ts +5 -5
- package/dist/hooks/useBuildSidePanel.d.ts +6 -0
- package/dist/hooks/useCMSContext.d.ts +2 -2
- package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +1 -1
- package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
- package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
- package/dist/hooks/useSideDialogsController.d.ts +1 -1
- package/dist/hooks/useSidePanel.d.ts +11 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{src-cxV1ODRG.js → src-B8WuGSPZ.js} +886 -692
- package/dist/src-B8WuGSPZ.js.map +1 -0
- package/dist/types/components/EntityFormActionsProps.d.ts +2 -2
- package/dist/types/components/EntityFormProps.d.ts +3 -3
- package/dist/types/components/formex.d.ts +1 -1
- package/dist/types/fields.d.ts +2 -2
- package/dist/util/dataControllerAdapter.d.ts +2 -5
- package/dist/util/navigation_utils.d.ts +6 -6
- package/dist/util/previews.d.ts +3 -3
- package/dist/util/property_utils.d.ts +2 -2
- package/dist/util/{entity_view_constants.d.ts → view_constants.d.ts} +1 -1
- package/package.json +12 -17
- package/src/collection_editor/ConfigControllerProvider.tsx +11 -11
- package/src/collection_editor/_cms_internals.ts +3 -3
- package/src/collection_editor/api/generateCollectionApi.ts +8 -8
- package/src/collection_editor/extensibility_types.ts +3 -3
- package/src/collection_editor/index.ts +3 -3
- package/src/collection_editor/pgColumnToProperty.ts +3 -3
- package/src/collection_editor/serializable_types.ts +8 -8
- package/src/collection_editor/serializable_utils.ts +17 -17
- package/src/collection_editor/types/collection_editor_controller.tsx +5 -5
- package/src/collection_editor/types/collection_inference.ts +2 -2
- package/src/collection_editor/types/config_controller.tsx +7 -7
- package/src/collection_editor/ui/AddKanbanColumnAction.tsx +3 -3
- package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +3 -3
- package/src/collection_editor/ui/EditorCollectionAction.tsx +3 -3
- package/src/collection_editor/ui/EditorCollectionActionStart.tsx +3 -3
- package/src/collection_editor/ui/EditorEntityAction.tsx +3 -3
- package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +1 -1
- package/src/collection_editor/ui/KanbanSetupAction.tsx +3 -3
- package/src/collection_editor/ui/MissingReferenceWidget.tsx +1 -1
- package/src/collection_editor/ui/NewCollectionButton.tsx +1 -1
- package/src/collection_editor/ui/NewCollectionCard.tsx +1 -1
- package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +6 -6
- package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +6 -6
- package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +29 -29
- package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +10 -10
- package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +38 -7
- package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/EnumForm.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +7 -7
- package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +9 -9
- package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +46 -37
- package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/RouterCollectionStudioView.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +7 -7
- package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +2 -2
- package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +2 -2
- package/src/collection_editor/ui/collection_editor/templates/products_template.ts +2 -2
- package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
- package/src/collection_editor/useJsonCollectionsConfigController.tsx +13 -13
- package/src/collection_editor/useLocalCollectionsConfigController.tsx +4 -4
- package/src/collection_editor/useSafeSnackbarController.ts +1 -1
- package/src/collection_editor/validateCollectionJson.ts +3 -3
- package/src/components/AdminModeSyncer.tsx +1 -1
- package/src/components/ArrayContainer.tsx +1 -1
- package/src/components/ClearFilterSortButton.tsx +1 -1
- package/src/components/CollectionPanel.tsx +14 -17
- package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +8 -8
- package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +13 -13
- package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +2 -2
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +1 -1
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +1 -1
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +7 -7
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +10 -10
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +7 -7
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +1 -1
- package/src/components/CollectionTableBinding/index.tsx +14 -0
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +1 -1
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +2 -2
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +1 -1
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +2 -2
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +6 -6
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +1 -1
- package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +17 -17
- package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +17 -16
- package/src/components/{EntityCollectionView/EntityCollectionCardView.tsx → CollectionViewBinding/CollectionCardViewBinding.tsx} +9 -9
- package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +15 -15
- package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +7 -7
- package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +107 -92
- package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +6 -6
- package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +12 -12
- package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +49 -72
- package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +10 -10
- package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +1 -1
- package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +6 -6
- package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +5 -5
- package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +25 -13
- package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +9 -9
- package/src/components/DefaultAppBar.tsx +3 -3
- package/src/components/DefaultDrawer.tsx +3 -3
- package/src/components/DeleteEntityDialog.tsx +7 -7
- package/src/components/{EntityDetailView.tsx → DetailViewBinding.tsx} +28 -31
- package/src/components/DrawerNavigationGroup.tsx +2 -2
- package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +16 -16
- package/src/components/{EntityEditView.tsx → EditViewBinding.tsx} +34 -37
- package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +30 -30
- package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +7 -7
- package/src/components/HomePage/ContentHomePage.tsx +4 -4
- package/src/components/HomePage/FavouritesView.tsx +1 -1
- package/src/components/HomePage/NavigationCardBinding.tsx +4 -4
- package/src/components/HomePage/NavigationGroup.tsx +1 -1
- package/src/components/HomePage/RenameGroupDialog.tsx +1 -1
- package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +2 -2
- package/src/components/{RebaseCMS.tsx → RebaseAdmin.tsx} +6 -5
- package/src/components/RebaseAuthGate.tsx +2 -2
- package/src/components/RebaseLayout.tsx +7 -13
- package/src/components/RebaseNavigation.tsx +35 -11
- package/src/components/RebaseRouteDefs.tsx +2 -2
- package/src/components/RebaseShell.tsx +2 -1
- package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +27 -24
- package/src/components/ReferenceWidget.tsx +4 -4
- package/src/components/RelationSelector.tsx +15 -13
- package/src/components/SearchIconsView.tsx +2 -2
- package/src/components/SelectableTable/SelectableTable.tsx +35 -88
- package/src/components/SelectableTable/SelectableTableContext.tsx +3 -3
- package/src/components/SelectableTable/SelectionStore.ts +4 -4
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +10 -2
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +34 -13
- package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +22 -8
- package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +67 -13
- package/src/components/SideDialogs.tsx +4 -4
- package/src/components/{EntitySidePanel.tsx → SidePanelBinding.tsx} +20 -20
- package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +17 -17
- package/src/components/UserSelector.tsx +1 -1
- package/src/components/admin/CreationResultDialog.tsx +6 -3
- package/src/components/app/Scaffold.tsx +6 -2
- package/src/components/common/default_entity_actions.tsx +132 -34
- package/src/components/field_configs.tsx +1 -1
- package/src/components/history/EntityHistoryEntry.tsx +3 -3
- package/src/components/history/EntityHistoryView.tsx +7 -7
- package/src/components/history/LastEditedByIndicator.tsx +4 -4
- package/src/components/index.ts +16 -15
- package/src/contexts/SidePanelControllerContext.tsx +5 -0
- package/src/data_export/export/BasicExportAction.tsx +1 -1
- package/src/data_export/export/ExportCollectionAction.tsx +5 -5
- package/src/data_import/components/DataNewPropertiesMapping.tsx +1 -1
- package/src/data_import/components/ImportFileUpload.tsx +1 -1
- package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +1 -1
- package/src/data_import/components/ImportSaveInProgress.tsx +4 -4
- package/src/data_import/import/ImportCollectionAction.tsx +6 -6
- package/src/data_import/utils/data.ts +4 -4
- package/src/data_import/utils/get_properties_mapping.ts +1 -1
- package/src/editor/components/image-bubble.tsx +1 -1
- package/src/editor/components/table-bubble.tsx +1 -1
- package/src/editor/editor.tsx +1 -1
- package/src/editor/selectors/link-selector.tsx +1 -1
- package/src/editor/selectors/node-selector.tsx +1 -1
- package/src/form/EntityForm.tsx +6 -6
- package/src/form/EntityFormActions.tsx +4 -4
- package/src/form/EntityFormBinding.tsx +10 -10
- package/src/form/PropertyFieldBinding.tsx +7 -7
- package/src/form/components/ErrorFocus.tsx +1 -1
- package/src/form/components/LocalChangesMenu.tsx +3 -3
- package/src/form/components/StorageItemPreview.tsx +1 -1
- package/src/form/components/StorageUploadProgress.tsx +3 -3
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +1 -1
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +5 -5
- package/src/form/field_bindings/BlockFieldBinding.tsx +2 -2
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +21 -21
- package/src/form/field_bindings/MapFieldBinding.tsx +1 -1
- package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +2 -2
- package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +3 -3
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +7 -7
- package/src/form/field_bindings/RelationFieldBinding.tsx +4 -4
- package/src/form/field_bindings/RepeatFieldBinding.tsx +1 -1
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +3 -3
- package/src/form/form_utils.ts +3 -3
- package/src/hooks/index.ts +4 -4
- package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +2 -2
- package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +11 -11
- package/src/hooks/navigation/useBuildNavigationStateController.tsx +5 -5
- package/src/hooks/navigation/useNavigationResolution.ts +28 -13
- package/src/hooks/navigation/useResolvedCollections.ts +8 -8
- package/src/hooks/navigation/useTopLevelNavigation.ts +2 -2
- package/src/hooks/navigation/utils.ts +5 -5
- package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +29 -29
- package/src/hooks/useCMSContext.tsx +7 -7
- package/src/hooks/{useEntityHistory.ts → useHistory.ts} +2 -2
- package/src/hooks/useResolvedNavigationFrom.tsx +10 -5
- package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
- package/src/hooks/useSideDialogsController.tsx +1 -1
- package/src/hooks/useSidePanel.tsx +13 -0
- package/src/index.ts +15 -15
- package/src/preview/PropertyPreview.tsx +2 -2
- package/src/preview/components/DatePreview.tsx +1 -1
- package/src/preview/components/EnumValuesChip.tsx +1 -1
- package/src/preview/components/ImagePreview.tsx +1 -1
- package/src/preview/components/ReferencePreview.tsx +11 -11
- package/src/preview/components/RelationPreview.tsx +13 -12
- package/src/preview/components/StorageThumbnail.tsx +1 -1
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +1 -1
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +1 -1
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +1 -1
- package/src/routes/RebaseRoute.tsx +12 -12
- package/src/types/components/EntityFormActionsProps.tsx +2 -2
- package/src/types/components/EntityFormProps.tsx +3 -3
- package/src/types/components/formex.tsx +1 -1
- package/src/types/fields.tsx +2 -2
- package/src/util/dataControllerAdapter.ts +9 -15
- package/src/util/navigation_utils.ts +7 -7
- package/src/util/previews.ts +7 -5
- package/src/util/property_utils.tsx +2 -2
- package/src/util/{entity_view_constants.ts → view_constants.ts} +1 -1
- package/dist/CollectionEditorDialog-BO_aQ-Z4.js.map +0 -1
- package/dist/PropertyEditView-DKzOpMjR.js.map +0 -1
- package/dist/RouterCollectionsStudioView-BQTIExjA.js.map +0 -1
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -28
- package/dist/components/EntityCollectionTable/index.d.ts +0 -6
- package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -21
- package/dist/components/EntityEditViewFormActions.d.ts +0 -3
- package/dist/components/EntitySidePanel.d.ts +0 -11
- package/dist/components/EntityView.d.ts +0 -13
- package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
- package/dist/history-B3cqBzEV.js.map +0 -1
- package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
- package/dist/hooks/useSideEntityController.d.ts +0 -11
- package/dist/src-cxV1ODRG.js.map +0 -1
- package/src/components/EntityCollectionTable/index.tsx +0 -14
- package/src/contexts/SideEntityControllerContext.tsx +0 -5
- package/src/hooks/useSideEntityController.tsx +0 -13
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
package/src/form/EntityForm.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CollectionConfig, EntityCustomViewParams, AdditionalFieldDelegateProps } from "@rebasepro/types";
|
|
2
2
|
import type { FormContext, PropertyFieldBindingProps } from "../types/fields";
|
|
3
3
|
import type { PropertyConfig } from "@rebasepro/types";
|
|
4
4
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -10,13 +10,13 @@ import { ErrorBoundary } from "@rebasepro/ui";
|
|
|
10
10
|
import { AlignLeftIcon, CheckIcon, LoaderIcon, PencilIcon, useDebouncedCallback } from "@rebasepro/ui";
|
|
11
11
|
import { getDefaultValuesFor, isHidden, isReadOnly } from "@rebasepro/common";
|
|
12
12
|
|
|
13
|
-
import { useCustomizationController } from "@rebasepro/
|
|
14
|
-
import { getFormFieldKeys } from "@rebasepro/
|
|
13
|
+
import { useCustomizationController } from "@rebasepro/app";
|
|
14
|
+
import { getFormFieldKeys } from "@rebasepro/app";
|
|
15
15
|
import { Alert, Button, Chip, cls, Dialog, DialogActions, DialogContent, DialogTitle, iconSize, paperMixin, Tooltip, Typography } from "@rebasepro/ui";
|
|
16
|
-
import { Formex, FormexController, useCreateFormex } from "@rebasepro/
|
|
16
|
+
import { Formex, FormexController, useCreateFormex } from "@rebasepro/forms";
|
|
17
17
|
|
|
18
18
|
import { FormEntry, FormLayout, LabelWithIconAndTooltip, PropertyFieldBinding } from "../form";
|
|
19
|
-
import { flattenKeys } from "@rebasepro/
|
|
19
|
+
import { flattenKeys } from "@rebasepro/app";
|
|
20
20
|
import { ErrorFocus } from "./components/ErrorFocus";
|
|
21
21
|
import { CustomFieldValidator, getEntitySchema } from "./validation";
|
|
22
22
|
import { EntityFormActions } from "./EntityFormActions";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
/**
|
|
34
34
|
* Headless entity form component.
|
|
35
35
|
*
|
|
36
|
-
* Renders a form for
|
|
36
|
+
* Renders a form for a entity collection without any CMS or backend dependencies.
|
|
37
37
|
* All backend concerns (save, caching, analytics, plugin slots) are provided via
|
|
38
38
|
* callback props. For CMS-connected usage, use {@link EntityFormBinding} instead.
|
|
39
39
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { type
|
|
2
|
+
import { type CollectionConfig, getCollectionDataPath } from "@rebasepro/types";
|
|
3
3
|
import type { FormContext } from "../types/fields";
|
|
4
4
|
import type { EntityAction } from "@rebasepro/types";
|
|
5
5
|
import React from "react";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
Tooltip,
|
|
17
17
|
Typography
|
|
18
18
|
} from "@rebasepro/ui";
|
|
19
|
-
import { FormexController } from "@rebasepro/
|
|
19
|
+
import { FormexController } from "@rebasepro/forms";
|
|
20
20
|
|
|
21
21
|
export function EntityFormActions({
|
|
22
22
|
path,
|
|
@@ -81,7 +81,7 @@ type ActionsViewProps<M extends Record<string, unknown>> = {
|
|
|
81
81
|
savingError: Error | undefined,
|
|
82
82
|
entity: Entity<M> | undefined,
|
|
83
83
|
formActions?: EntityAction[],
|
|
84
|
-
collection:
|
|
84
|
+
collection: CollectionConfig,
|
|
85
85
|
disabled: boolean,
|
|
86
86
|
status: "new" | "existing" | "copy",
|
|
87
87
|
pluginActions?: React.ReactNode[],
|
|
@@ -130,7 +130,7 @@ function buildBottomActions<M extends Record<string, unknown>>({
|
|
|
130
130
|
path: path ?? getCollectionDataPath(collection),
|
|
131
131
|
collection: collection,
|
|
132
132
|
context: undefined,
|
|
133
|
-
|
|
133
|
+
sidePanelController: undefined,
|
|
134
134
|
openEntityMode: openEntityMode,
|
|
135
135
|
navigateBack,
|
|
136
136
|
formContext
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CollectionConfig, PluginFormActionProps } from "@rebasepro/types";
|
|
2
2
|
import type { FormContext } from "../types/fields";
|
|
3
3
|
import React, { useCallback, useMemo, useState } from "react";
|
|
4
4
|
import { AnalyticsEvent, Entity, EntityStatus, EntityValues } from "@rebasepro/types";
|
|
@@ -15,18 +15,18 @@ import {
|
|
|
15
15
|
useSnackbarController,
|
|
16
16
|
useTranslation,
|
|
17
17
|
useSlot
|
|
18
|
-
} from "@rebasepro/
|
|
19
|
-
import { FormexController } from "@rebasepro/
|
|
20
|
-
import { useAnalyticsController } from "@rebasepro/
|
|
18
|
+
} from "@rebasepro/app";
|
|
19
|
+
import { FormexController } from "@rebasepro/forms";
|
|
20
|
+
import { useAnalyticsController } from "@rebasepro/app";
|
|
21
21
|
|
|
22
22
|
import {
|
|
23
23
|
getEntityFromCache,
|
|
24
24
|
removeEntityFromCache,
|
|
25
25
|
removeEntityFromMemoryCache,
|
|
26
26
|
saveEntityToCache
|
|
27
|
-
} from "@rebasepro/
|
|
27
|
+
} from "@rebasepro/app";
|
|
28
28
|
|
|
29
|
-
import { useCollectionRegistryController,
|
|
29
|
+
import { useCollectionRegistryController, useSidePanel, useCMSContext } from "../index";
|
|
30
30
|
import { EntityForm } from "./EntityForm";
|
|
31
31
|
import {
|
|
32
32
|
extractTouchedValues,
|
|
@@ -92,7 +92,7 @@ export function EntityFormBinding<M extends Record<string, unknown>>({
|
|
|
92
92
|
}: EntityFormBindingProps<M>) {
|
|
93
93
|
|
|
94
94
|
const { t } = useTranslation();
|
|
95
|
-
const
|
|
95
|
+
const sidePanelController = useSidePanel();
|
|
96
96
|
const collectionRegistryController = useCollectionRegistryController();
|
|
97
97
|
const authController = useAuthController();
|
|
98
98
|
const dataClient = useData();
|
|
@@ -153,11 +153,11 @@ export function EntityFormBinding<M extends Record<string, unknown>>({
|
|
|
153
153
|
return;
|
|
154
154
|
}
|
|
155
155
|
if (openEntityMode === "side_panel" || openEntityMode === "dialog") {
|
|
156
|
-
|
|
156
|
+
sidePanelController.close();
|
|
157
157
|
} else {
|
|
158
158
|
window.history.back();
|
|
159
159
|
}
|
|
160
|
-
}, [navigateBackProp, openEntityMode,
|
|
160
|
+
}, [navigateBackProp, openEntityMode, sidePanelController]);
|
|
161
161
|
|
|
162
162
|
// --- Cache operations ---
|
|
163
163
|
const clearDirtyCache = useCallback(() => {
|
|
@@ -276,7 +276,7 @@ export function EntityFormBinding<M extends Record<string, unknown>>({
|
|
|
276
276
|
parentEntityIds,
|
|
277
277
|
path,
|
|
278
278
|
status,
|
|
279
|
-
collection: collection as
|
|
279
|
+
collection: collection as CollectionConfig,
|
|
280
280
|
context,
|
|
281
281
|
formContext: undefined as unknown as FormContext<Record<string, unknown>>,
|
|
282
282
|
openEntityMode,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CollectionConfig, FieldProps as CoreFieldProps } from "@rebasepro/types";
|
|
2
2
|
import type { FieldProps, PropertyFieldBindingProps } from "../types/fields";
|
|
3
3
|
import type { RebasePlugin, PluginFieldBuilderParams, Property } from "@rebasepro/types";
|
|
4
4
|
import React, { ComponentType, ReactElement, Suspense, useCallback, useRef } from "react";
|
|
5
5
|
import { deepEqual as equal } from "fast-equals"
|
|
6
6
|
|
|
7
|
-
import { resolveComponentRef } from "@rebasepro/
|
|
7
|
+
import { resolveComponentRef } from "@rebasepro/app";
|
|
8
8
|
|
|
9
|
-
import { Field, FormexFieldProps, getIn } from "@rebasepro/
|
|
9
|
+
import { Field, FormexFieldProps, getIn } from "@rebasepro/forms";
|
|
10
10
|
|
|
11
11
|
;
|
|
12
12
|
import { ReadOnlyFieldBinding } from "./field_bindings/ReadOnlyFieldBinding";
|
|
13
13
|
|
|
14
14
|
import { isHidden, isPropertyBuilder, isReadOnly, resolveProperty } from "@rebasepro/common";
|
|
15
|
-
import { useAuthController, useCustomizationController } from "@rebasepro/
|
|
15
|
+
import { useAuthController, useCustomizationController } from "@rebasepro/app";
|
|
16
16
|
import { Typography } from "@rebasepro/ui";
|
|
17
17
|
import { getFieldConfig, getFieldId } from "../components/field_configs";
|
|
18
18
|
import { ErrorBoundary } from "@rebasepro/ui";
|
|
@@ -29,7 +29,7 @@ import { ErrorBoundary } from "@rebasepro/ui";
|
|
|
29
29
|
*
|
|
30
30
|
* Please note that if you build a custom field in a component, the
|
|
31
31
|
* **validation** passed in the property will have no effect. You need to set
|
|
32
|
-
* the validation in the `
|
|
32
|
+
* the validation in the `CollectionConfig` definition.
|
|
33
33
|
*
|
|
34
34
|
* @param propertyKey You can use nested names such as `address.street` or `friends[2]`
|
|
35
35
|
* @param property
|
|
@@ -292,7 +292,7 @@ const shouldPropertyReRender = (property: Property, plugins?: RebasePlugin[]): b
|
|
|
292
292
|
|
|
293
293
|
interface UseWrappedComponentParams<M extends Record<string, unknown> = Record<string, unknown>> {
|
|
294
294
|
path?: string,
|
|
295
|
-
collection?:
|
|
295
|
+
collection?: CollectionConfig<M>,
|
|
296
296
|
propertyKey: string,
|
|
297
297
|
property: Property,
|
|
298
298
|
Component: ComponentType<FieldProps<Property, unknown, M>>,
|
|
@@ -323,7 +323,7 @@ function useWrappedComponent<T, M extends Record<string, unknown> = Record<strin
|
|
|
323
323
|
Field: Component as unknown as ComponentType<CoreFieldProps<Property, unknown, Record<string, unknown>>>,
|
|
324
324
|
plugin,
|
|
325
325
|
path,
|
|
326
|
-
collection: collection as
|
|
326
|
+
collection: collection as CollectionConfig | undefined
|
|
327
327
|
};
|
|
328
328
|
const enabled = plugin.fieldBuilder.enabled?.(params);
|
|
329
329
|
if (enabled === undefined || enabled)
|
|
@@ -18,9 +18,9 @@ import {
|
|
|
18
18
|
Typography,
|
|
19
19
|
XCircleIcon
|
|
20
20
|
} from "@rebasepro/ui";
|
|
21
|
-
import { FormexController } from "@rebasepro/
|
|
22
|
-
import { useSnackbarController, useTranslation } from "@rebasepro/
|
|
23
|
-
import { flattenKeys, removeEntityFromCache } from "@rebasepro/
|
|
21
|
+
import { FormexController } from "@rebasepro/forms";
|
|
22
|
+
import { useSnackbarController, useTranslation } from "@rebasepro/app";
|
|
23
|
+
import { flattenKeys, removeEntityFromCache } from "@rebasepro/app";
|
|
24
24
|
;
|
|
25
25
|
import { PropertyCollectionView } from "../../components/PropertyCollectionView";
|
|
26
26
|
import { mergeDeep } from "@rebasepro/utils";
|
|
@@ -6,7 +6,7 @@ import { PropertyPreview } from "../../preview";
|
|
|
6
6
|
|
|
7
7
|
import { cls, IconButton, paperMixin, Tooltip } from "@rebasepro/ui";
|
|
8
8
|
import { ErrorBoundary, FileTextIcon, MinusIcon } from "@rebasepro/ui";
|
|
9
|
-
import { useTranslation } from "@rebasepro/
|
|
9
|
+
import { useTranslation } from "@rebasepro/app";
|
|
10
10
|
|
|
11
11
|
interface StorageItemPreviewProps {
|
|
12
12
|
name: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useCallback } from "react";
|
|
2
2
|
|
|
3
|
-
import { useSnackbarController, useStorageSource } from "@rebasepro/
|
|
4
|
-
import { StorageFieldItem } from "@rebasepro/
|
|
5
|
-
import { ErrorView } from "@rebasepro/
|
|
3
|
+
import { useSnackbarController, useStorageSource } from "@rebasepro/app";
|
|
4
|
+
import { StorageFieldItem } from "@rebasepro/app";
|
|
5
|
+
import { ErrorView } from "@rebasepro/app";
|
|
6
6
|
import type { StorageSource } from "@rebasepro/types";
|
|
7
7
|
import { cls, paperMixin, Skeleton } from "@rebasepro/ui";
|
|
8
8
|
|
|
@@ -8,7 +8,7 @@ import { ExpandablePanel, Typography } from "@rebasepro/ui";
|
|
|
8
8
|
import { getArrayResolvedProperties, isReadOnly } from "@rebasepro/common";
|
|
9
9
|
import { getIconForProperty } from "../../util/property_utils";
|
|
10
10
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
11
|
-
import { useAuthController } from "@rebasepro/
|
|
11
|
+
import { useAuthController } from "@rebasepro/app";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Array field used for custom
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import { useSelectionDialog } from "../../hooks/useSelectionDialog";
|
|
2
|
+
import type { CollectionConfig } from "@rebasepro/types";
|
|
3
3
|
import type { FieldProps } from "../../types/fields";
|
|
4
4
|
import type { ArrayProperty, Property } from "@rebasepro/types";
|
|
5
5
|
import React, { useCallback, useMemo } from "react";
|
|
@@ -10,7 +10,7 @@ import { ArrayContainer, ArrayEntryParams } from "../../components/ArrayContaine
|
|
|
10
10
|
import { getIconForProperty } from "../../util/property_utils";
|
|
11
11
|
import { getReferenceFrom } from "@rebasepro/common";
|
|
12
12
|
|
|
13
|
-
import { useTranslation, ErrorView } from "@rebasepro/
|
|
13
|
+
import { useTranslation, ErrorView } from "@rebasepro/app";
|
|
14
14
|
import { Button, cls, ExpandablePanel, fieldBackgroundMixin, PencilIcon, Typography } from "@rebasepro/ui";
|
|
15
15
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
16
16
|
import { useCollectionRegistryController } from "../../index";
|
|
@@ -56,7 +56,7 @@ export function ArrayOfReferencesFieldBinding({
|
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
const collectionRegistryController = useCollectionRegistryController();
|
|
59
|
-
const collection:
|
|
59
|
+
const collection: CollectionConfig | undefined = useMemo(() => {
|
|
60
60
|
return ofProperty.path ? collectionRegistryController.getCollection(ofProperty.path) : undefined;
|
|
61
61
|
}, [ofProperty.path]);
|
|
62
62
|
|
|
@@ -69,7 +69,7 @@ export function ArrayOfReferencesFieldBinding({
|
|
|
69
69
|
setValue(refs);
|
|
70
70
|
}, [setValue]);
|
|
71
71
|
|
|
72
|
-
const referenceDialogController =
|
|
72
|
+
const referenceDialogController = useSelectionDialog({
|
|
73
73
|
multiselect: true,
|
|
74
74
|
path: ofProperty.path,
|
|
75
75
|
collection,
|
|
@@ -2,7 +2,7 @@ import type { FieldProps, FormContext, PropertyFieldBindingProps } from "../../t
|
|
|
2
2
|
import type { ArrayProperty, Property } from "@rebasepro/types";
|
|
3
3
|
import React, { useEffect, useState } from "react";
|
|
4
4
|
|
|
5
|
-
import { Field, useFormex } from "@rebasepro/
|
|
5
|
+
import { Field, useFormex } from "@rebasepro/forms";
|
|
6
6
|
|
|
7
7
|
import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
8
8
|
import { PropertyFieldBinding } from "../PropertyFieldBinding";
|
|
@@ -12,7 +12,7 @@ import { EnumValuesChip } from "../../preview";
|
|
|
12
12
|
import { DEFAULT_ONE_OF_TYPE, DEFAULT_ONE_OF_VALUE, getDefaultValueFor } from "@rebasepro/common";
|
|
13
13
|
import { getIconForProperty } from "../../util/property_utils";
|
|
14
14
|
import { cls, ExpandablePanel, paperMixin, Select, SelectItem, Typography } from "@rebasepro/ui";
|
|
15
|
-
import { useTranslation } from "@rebasepro/
|
|
15
|
+
import { useTranslation } from "@rebasepro/app";
|
|
16
16
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
17
17
|
import { ArrayContainer, ArrayEntryParams } from "../../components/ArrayContainer";
|
|
18
18
|
import { mergeDeep } from "@rebasepro/utils";
|
|
@@ -5,7 +5,7 @@ import React from "react";
|
|
|
5
5
|
;
|
|
6
6
|
|
|
7
7
|
import { FieldHelperText, LabelWithIcon } from "../components";
|
|
8
|
-
import { useCustomizationController } from "@rebasepro/
|
|
8
|
+
import { useCustomizationController } from "@rebasepro/app";
|
|
9
9
|
import { getIconForProperty } from "../../util/property_utils";
|
|
10
10
|
import { DateTimeField } from "@rebasepro/ui";
|
|
11
11
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
@@ -23,8 +23,8 @@ import {
|
|
|
23
23
|
Typography
|
|
24
24
|
} from "@rebasepro/ui";
|
|
25
25
|
import { getIconForProperty } from "../../util/property_utils";
|
|
26
|
-
import { useCustomizationController, useTranslation } from "@rebasepro/
|
|
27
|
-
import { getIn } from "@rebasepro/
|
|
26
|
+
import { useCustomizationController, useTranslation } from "@rebasepro/app";
|
|
27
|
+
import { getIn } from "@rebasepro/forms";
|
|
28
28
|
import { getDefaultValueFortype } from "@rebasepro/common";
|
|
29
29
|
|
|
30
30
|
type MapEditViewRowState = [number, {
|
|
@@ -134,13 +134,13 @@ function MapEditView<T extends Record<string, unknown>>({
|
|
|
134
134
|
setInternalState(newRowIds);
|
|
135
135
|
}, [value]);
|
|
136
136
|
|
|
137
|
-
const updatetype = (
|
|
138
|
-
if (!
|
|
137
|
+
const updatetype = (id: number, type: DataType) => {
|
|
138
|
+
if (!id) {
|
|
139
139
|
console.warn("No key selected for data type update");
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
142
|
setInternalState(internalState.map((row) => {
|
|
143
|
-
if (row[0] ===
|
|
143
|
+
if (row[0] === id) {
|
|
144
144
|
return [row[0], {
|
|
145
145
|
key: row[1].key,
|
|
146
146
|
type
|
|
@@ -150,27 +150,27 @@ function MapEditView<T extends Record<string, unknown>>({
|
|
|
150
150
|
}));
|
|
151
151
|
setValue({
|
|
152
152
|
...(value ?? {} as T),
|
|
153
|
-
[internalState.find((row) => row[0] ===
|
|
153
|
+
[internalState.find((row) => row[0] === id)?.[1].key ?? ""]: getDefaultValueFortype(type)
|
|
154
154
|
})
|
|
155
155
|
};
|
|
156
156
|
|
|
157
157
|
return <div className="py-1 flex flex-col gap-1">
|
|
158
158
|
{internalState
|
|
159
|
-
.map(([
|
|
159
|
+
.map(([id, {
|
|
160
160
|
key: fieldKey,
|
|
161
161
|
type
|
|
162
162
|
}], index) => {
|
|
163
163
|
const entryValue = fieldKey ? value?.[fieldKey] : "";
|
|
164
164
|
const onFieldKeyChange = (newKey: string) => {
|
|
165
165
|
|
|
166
|
-
setInternalState(internalState.map((
|
|
167
|
-
if (
|
|
168
|
-
return [
|
|
166
|
+
setInternalState(internalState.map((currentId) => {
|
|
167
|
+
if (currentId[0] === id) {
|
|
168
|
+
return [id, {
|
|
169
169
|
key: newKey ?? "",
|
|
170
|
-
type:
|
|
170
|
+
type: currentId[1].type
|
|
171
171
|
}];
|
|
172
172
|
}
|
|
173
|
-
return
|
|
173
|
+
return currentId;
|
|
174
174
|
}));
|
|
175
175
|
|
|
176
176
|
if (typeof value === "object" && newKey in value) {
|
|
@@ -189,8 +189,8 @@ function MapEditView<T extends Record<string, unknown>>({
|
|
|
189
189
|
[newKey ?? ""]: entryValue
|
|
190
190
|
});
|
|
191
191
|
};
|
|
192
|
-
return <MapKeyValueRow
|
|
193
|
-
key={
|
|
192
|
+
return <MapKeyValueRow id={id}
|
|
193
|
+
key={id}
|
|
194
194
|
fieldKey={fieldKey}
|
|
195
195
|
value={value ?? {} as T}
|
|
196
196
|
onDeleteClick={() => {
|
|
@@ -200,7 +200,7 @@ function MapEditView<T extends Record<string, unknown>>({
|
|
|
200
200
|
} else {
|
|
201
201
|
delete (newValue as Record<string, unknown>)[fieldKey];
|
|
202
202
|
}
|
|
203
|
-
setInternalState(internalState.filter((
|
|
203
|
+
setInternalState(internalState.filter((currentId) => currentId[0] !== id));
|
|
204
204
|
setValue({
|
|
205
205
|
...newValue
|
|
206
206
|
});
|
|
@@ -238,7 +238,7 @@ function MapEditView<T extends Record<string, unknown>>({
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
function MapKeyValueRow<T extends Record<string, unknown>>({
|
|
241
|
-
|
|
241
|
+
id,
|
|
242
242
|
fieldKey,
|
|
243
243
|
value,
|
|
244
244
|
onFieldKeyChange,
|
|
@@ -249,7 +249,7 @@ function MapKeyValueRow<T extends Record<string, unknown>>({
|
|
|
249
249
|
updatetype,
|
|
250
250
|
disabled
|
|
251
251
|
}: {
|
|
252
|
-
|
|
252
|
+
id: number,
|
|
253
253
|
fieldKey: string,
|
|
254
254
|
value: T,
|
|
255
255
|
onFieldKeyChange: (newKey: string) => void,
|
|
@@ -258,7 +258,7 @@ function MapKeyValueRow<T extends Record<string, unknown>>({
|
|
|
258
258
|
entryValue: unknown,
|
|
259
259
|
type: DataType,
|
|
260
260
|
disabled?: boolean,
|
|
261
|
-
updatetype: (
|
|
261
|
+
updatetype: (id: number, type: DataType) => void
|
|
262
262
|
}) {
|
|
263
263
|
|
|
264
264
|
const { locale } = useCustomizationController();
|
|
@@ -327,7 +327,7 @@ function MapKeyValueRow<T extends Record<string, unknown>>({
|
|
|
327
327
|
className={cls(defaultBorderMixin, "ml-2 pl-2 border-l border-solid")}>
|
|
328
328
|
<ArrayContainer value={arrayValue}
|
|
329
329
|
newDefaultEntry={""}
|
|
330
|
-
droppableId={
|
|
330
|
+
droppableId={id.toString()}
|
|
331
331
|
addLabel={fieldKey ? t("add_to_field", { fieldName: fieldKey }) : t("add")}
|
|
332
332
|
size={"small"}
|
|
333
333
|
disabled={disabled || !fieldKey}
|
|
@@ -379,11 +379,11 @@ function MapKeyValueRow<T extends Record<string, unknown>>({
|
|
|
379
379
|
}
|
|
380
380
|
|
|
381
381
|
function doUpdatetype(type: DataType) {
|
|
382
|
-
updatetype(
|
|
382
|
+
updatetype(id, type);
|
|
383
383
|
}
|
|
384
384
|
|
|
385
385
|
return (<>
|
|
386
|
-
<Typography key={
|
|
386
|
+
<Typography key={id.toString()}
|
|
387
387
|
component={"div"}
|
|
388
388
|
className="font-mono flex flex-row gap-1">
|
|
389
389
|
<div className="w-[300px] max-w-[30%]">
|
|
@@ -2,7 +2,7 @@ import type { FieldProps, PropertyFieldBindingProps } from "../../types/fields";
|
|
|
2
2
|
import type { MapProperty } from "@rebasepro/types";
|
|
3
3
|
import React from "react";
|
|
4
4
|
;
|
|
5
|
-
import { useTranslation } from "@rebasepro/
|
|
5
|
+
import { useTranslation } from "@rebasepro/app";
|
|
6
6
|
|
|
7
7
|
import { ErrorBoundary } from "@rebasepro/ui";
|
|
8
8
|
import { getIconForProperty } from "../../util/property_utils";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { lazy, Suspense, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
2
|
import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
3
|
-
import { useAuthController, useStorageSource } from "@rebasepro/
|
|
4
|
-
import { useStorageSources } from "@rebasepro/
|
|
3
|
+
import { useAuthController, useStorageSource } from "@rebasepro/app";
|
|
4
|
+
import { useStorageSources } from "@rebasepro/app";
|
|
5
5
|
import { resolveStorageSource } from "@rebasepro/common";
|
|
6
6
|
import { getIconForProperty } from "../../util/property_utils";
|
|
7
7
|
import type { FieldProps } from "../../types/fields";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useSelectionDialog } from "../../hooks/useSelectionDialog";
|
|
2
2
|
import type { FieldProps } from "../../types/fields";
|
|
3
3
|
import type { RelationProperty } from "@rebasepro/types";
|
|
4
4
|
import { Entity, getCollectionDataPath, getDataSourceCapabilities } from "@rebasepro/types";
|
|
@@ -8,7 +8,7 @@ import { ArrayContainer, ArrayEntryParams } from "../../components/ArrayContaine
|
|
|
8
8
|
import { getIconForProperty } from "../../util/property_utils";
|
|
9
9
|
import { getRelationFrom, resolveRelationProperty } from "@rebasepro/common";
|
|
10
10
|
|
|
11
|
-
import { ErrorView, useTranslation } from "@rebasepro/
|
|
11
|
+
import { ErrorView, useTranslation } from "@rebasepro/app";
|
|
12
12
|
import { Button, cls, ExpandablePanel, fieldBackgroundMixin, PencilIcon, Typography } from "@rebasepro/ui";
|
|
13
13
|
import { RelationPreview } from "../../preview";
|
|
14
14
|
|
|
@@ -59,7 +59,7 @@ export function MultipleRelationFieldBinding({
|
|
|
59
59
|
setValue(entities.map(e => getRelationFrom(e)));
|
|
60
60
|
}, [setValue]);
|
|
61
61
|
|
|
62
|
-
const referenceDialogController =
|
|
62
|
+
const referenceDialogController = useSelectionDialog({
|
|
63
63
|
multiselect: true,
|
|
64
64
|
path: getCollectionDataPath(collection),
|
|
65
65
|
collection,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import { useSelectionDialog } from "../../hooks/useSelectionDialog";
|
|
2
|
+
import type { CollectionConfig } from "@rebasepro/types";
|
|
3
3
|
import type { FieldProps } from "../../types/fields";
|
|
4
4
|
import type { Property, ReferenceProperty } from "@rebasepro/types";
|
|
5
5
|
import React, { useCallback, useMemo } from "react";
|
|
6
6
|
|
|
7
7
|
import { Entity, EntityReference } from "@rebasepro/types";
|
|
8
|
-
import { ErrorView } from "@rebasepro/
|
|
8
|
+
import { ErrorView } from "@rebasepro/app";
|
|
9
9
|
import { ReadOnlyFieldBinding } from "./ReadOnlyFieldBinding";
|
|
10
10
|
import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
11
|
-
import { EntityPreviewContainer } from "../../components/
|
|
11
|
+
import { EntityPreviewContainer } from "../../components/EntityPreviewBinding";
|
|
12
12
|
import { ReferencePreview } from "../../preview";
|
|
13
|
-
import { IconForView } from "@rebasepro/
|
|
13
|
+
import { IconForView } from "@rebasepro/app";
|
|
14
14
|
import { getIconForProperty } from "../../util/property_utils";
|
|
15
15
|
import { getReferenceFrom } from "@rebasepro/common";
|
|
16
16
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
@@ -64,7 +64,7 @@ function ReferenceFieldBindingInternal({
|
|
|
64
64
|
const validValue = refValue && typeof refValue === "object" && "isEntityReference" in refValue && refValue.isEntityReference();
|
|
65
65
|
|
|
66
66
|
const collectionRegistryController = useCollectionRegistryController();
|
|
67
|
-
const collection:
|
|
67
|
+
const collection: CollectionConfig | undefined = useMemo(() => {
|
|
68
68
|
return property.path ? collectionRegistryController.getCollection(property.path) : undefined;
|
|
69
69
|
}, [property.path]);
|
|
70
70
|
|
|
@@ -77,7 +77,7 @@ function ReferenceFieldBindingInternal({
|
|
|
77
77
|
setValue(ref);
|
|
78
78
|
}, [setValue, propertyKey]);
|
|
79
79
|
|
|
80
|
-
const referenceDialogController =
|
|
80
|
+
const referenceDialogController = useSelectionDialog({
|
|
81
81
|
multiselect: false,
|
|
82
82
|
path: property.path,
|
|
83
83
|
collection,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useSelectionDialog } from "../../hooks/useSelectionDialog";
|
|
2
2
|
import type { FieldProps } from "../../types/fields";
|
|
3
3
|
import type { RelationProperty } from "@rebasepro/types";
|
|
4
4
|
import { Entity, getCollectionDataPath, getDataSourceCapabilities, Relation } from "@rebasepro/types";
|
|
5
5
|
import React, { useCallback } from "react";
|
|
6
6
|
import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
7
|
-
import { EntityPreviewContainer } from "../../components/
|
|
8
|
-
import { ErrorView, IconForView } from "@rebasepro/
|
|
7
|
+
import { EntityPreviewContainer } from "../../components/EntityPreviewBinding";
|
|
8
|
+
import { ErrorView, IconForView } from "@rebasepro/app";
|
|
9
9
|
import { getIconForProperty } from "../../util/property_utils";
|
|
10
10
|
import { getRelationFrom, normalizeToEntityRelation, resolveRelationProperty } from "@rebasepro/common";
|
|
11
11
|
import { cls } from "@rebasepro/ui";
|
|
@@ -120,7 +120,7 @@ function SingleRelationFieldBinding({
|
|
|
120
120
|
setValue(e ? getRelationFrom(e) : null);
|
|
121
121
|
}, [setValue]);
|
|
122
122
|
|
|
123
|
-
const referenceDialogController =
|
|
123
|
+
const referenceDialogController = useSelectionDialog({
|
|
124
124
|
multiselect: false,
|
|
125
125
|
path: getCollectionDataPath(collection),
|
|
126
126
|
collection,
|
|
@@ -10,7 +10,7 @@ import { getIconForProperty } from "../../util/property_utils";
|
|
|
10
10
|
import { PropertyFieldBinding } from "../PropertyFieldBinding";
|
|
11
11
|
import { ExpandablePanel, Typography } from "@rebasepro/ui";
|
|
12
12
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
13
|
-
import { useAuthController, useTranslation } from "@rebasepro/
|
|
13
|
+
import { useAuthController, useTranslation } from "@rebasepro/app";
|
|
14
14
|
import { mergeDeep } from "@rebasepro/utils";
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -9,8 +9,8 @@ import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
|
9
9
|
|
|
10
10
|
import { isReadOnly } from "@rebasepro/common";
|
|
11
11
|
import { getIconForProperty } from "../../util/property_utils";
|
|
12
|
-
import { useAuthController, useSnackbarController, useStorageSource, useTranslation } from "@rebasepro/
|
|
13
|
-
import { StorageSourceContext } from "@rebasepro/
|
|
12
|
+
import { useAuthController, useSnackbarController, useStorageSource, useTranslation } from "@rebasepro/app";
|
|
13
|
+
import { StorageSourceContext } from "@rebasepro/app";
|
|
14
14
|
import {
|
|
15
15
|
closestCenter,
|
|
16
16
|
DndContext,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
useSortable
|
|
29
29
|
} from "@dnd-kit/sortable";
|
|
30
30
|
import { CSS } from "@dnd-kit/utilities";
|
|
31
|
-
import { StorageFieldItem, useStorageUploadController } from "@rebasepro/
|
|
31
|
+
import { StorageFieldItem, useStorageUploadController } from "@rebasepro/app";
|
|
32
32
|
import { StorageUploadProgress } from "../components/StorageUploadProgress";
|
|
33
33
|
import { StorageItemPreview } from "../components/StorageItemPreview";
|
|
34
34
|
import {
|
package/src/form/form_utils.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CollectionConfig, PropertyConfig } from "@rebasepro/types";
|
|
2
2
|
import type { AuthController, Entity, EntityStatus, EntityValues } from "@rebasepro/types";
|
|
3
3
|
import { deepEqual as equal } from "fast-equals";
|
|
4
|
-
import { getIn, setIn } from "@rebasepro/
|
|
4
|
+
import { getIn, setIn } from "@rebasepro/forms";
|
|
5
5
|
import { getDefaultValuesFor } from "@rebasepro/common";
|
|
6
6
|
import { isObject, mergeDeep } from "@rebasepro/utils";
|
|
7
7
|
import { z } from "zod";
|
|
@@ -114,7 +114,7 @@ export function getChanges<T extends object>(source: Partial<T>, comparison: Par
|
|
|
114
114
|
|
|
115
115
|
export function getInitialEntityValues<M extends Record<string, unknown>>(
|
|
116
116
|
authController: AuthController,
|
|
117
|
-
collection:
|
|
117
|
+
collection: CollectionConfig,
|
|
118
118
|
path: string,
|
|
119
119
|
status: "new" | "existing" | "copy",
|
|
120
120
|
entity: Entity<M> | undefined,
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
3
|
-
export * from "./
|
|
1
|
+
export * from "./useSidePanel";
|
|
2
|
+
export * from "./useSelectionDialog";
|
|
3
|
+
export * from "./useBuildSidePanel";
|
|
4
4
|
export * from "./useResolvedNavigationFrom";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./useHistory";
|
|
6
6
|
export * from "./navigation/contexts";
|
|
7
7
|
export * from "./navigation/useBuildCollectionRegistryController";
|
|
8
8
|
export * from "./navigation/useBuildNavigationStateController";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CollectionConfig } from "@rebasepro/types";
|
|
2
2
|
import React, { createContext } from "react";
|
|
3
3
|
import { CollectionRegistryController } from "@rebasepro/types";
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ export const CollectionRegistryContext = createContext<CollectionRegistryControl
|
|
|
12
12
|
initialised: false
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
export function useCollectionRegistryController<DB = Record<string, unknown>, EC extends
|
|
15
|
+
export function useCollectionRegistryController<DB = Record<string, unknown>, EC extends CollectionConfig = CollectionConfig>(): CollectionRegistryController<DB, EC> {
|
|
16
16
|
const context = React.useContext(CollectionRegistryContext);
|
|
17
17
|
if (context === undefined) {
|
|
18
18
|
throw new Error("useCollectionRegistryController must be used within a CollectionRegistryContext.Provider");
|