@rebasepro/admin 0.8.0 → 0.9.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/README.md +20 -20
- package/dist/{CollectionEditorDialog-BO_aQ-Z4.js → CollectionEditorDialog-B-7uW3iJ.js} +11 -11
- package/dist/CollectionEditorDialog-B-7uW3iJ.js.map +1 -0
- package/dist/{PropertyEditView-DKzOpMjR.js → PropertyEditView-7KMTcrqi.js} +78 -70
- package/dist/PropertyEditView-7KMTcrqi.js.map +1 -0
- package/dist/{RouterCollectionsStudioView-BQTIExjA.js → RouterCollectionsStudioView-epqIbZrJ.js} +4 -4
- package/dist/{RouterCollectionsStudioView-BQTIExjA.js.map → RouterCollectionsStudioView-epqIbZrJ.js.map} +1 -1
- package/dist/collection_editor/_cms_internals.d.ts +3 -3
- package/dist/collection_editor/api/generateCollectionApi.d.ts +4 -4
- 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 +4 -4
- package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +3 -3
- 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/validateCollectionJson.d.ts +2 -2
- package/dist/collection_editor_ui.js +4 -4
- 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} +1 -1
- 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/common.d.ts +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +2 -2
- 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 +2 -2
- 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 +1 -1
- package/dist/components/RebaseNavigation.d.ts +1 -1
- package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +5 -5
- package/dist/components/SelectableTable/SelectableTable.d.ts +5 -5
- 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 +14 -13
- 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/form/EntityForm.d.ts +1 -1
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/form_utils.d.ts +2 -2
- package/dist/{history-B3cqBzEV.js → history-7X5bON_n.js} +4 -4
- package/dist/history-7X5bON_n.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-sUZfe29F.js} +737 -647
- package/dist/src-sUZfe29F.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/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 +8 -8
- package/src/collection_editor/ConfigControllerProvider.tsx +10 -10
- package/src/collection_editor/_cms_internals.ts +3 -3
- package/src/collection_editor/api/generateCollectionApi.ts +4 -4
- 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 +2 -2
- package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +2 -2
- package/src/collection_editor/ui/EditorCollectionAction.tsx +2 -2
- package/src/collection_editor/ui/EditorCollectionActionStart.tsx +2 -2
- package/src/collection_editor/ui/EditorEntityAction.tsx +2 -2
- package/src/collection_editor/ui/KanbanSetupAction.tsx +2 -2
- package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +26 -26
- package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +8 -8
- package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +7 -7
- package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +45 -36
- package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.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/validateCollectionJson.ts +3 -3
- package/src/components/CollectionPanel.tsx +14 -17
- package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +6 -6
- package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +10 -10
- package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +1 -1
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +5 -5
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +10 -10
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +5 -5
- package/src/components/CollectionTableBinding/index.tsx +14 -0
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +2 -2
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +2 -2
- package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +15 -15
- package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +14 -13
- package/src/components/{EntityCollectionView/EntityCollectionCardView.tsx → CollectionViewBinding/CollectionCardViewBinding.tsx} +8 -8
- package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +12 -12
- package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +5 -5
- package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +106 -91
- package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +5 -5
- package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +9 -9
- package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +31 -72
- package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +9 -9
- package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +5 -5
- package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +4 -4
- package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +16 -10
- package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +8 -8
- package/src/components/DeleteEntityDialog.tsx +6 -6
- package/src/components/{EntityDetailView.tsx → DetailViewBinding.tsx} +26 -29
- package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +12 -12
- package/src/components/{EntityEditView.tsx → EditViewBinding.tsx} +29 -32
- package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +27 -27
- package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +5 -5
- package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
- package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +1 -1
- package/src/components/RebaseCMS.tsx +4 -3
- package/src/components/RebaseNavigation.tsx +17 -8
- package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +22 -19
- package/src/components/ReferenceWidget.tsx +4 -4
- package/src/components/RelationSelector.tsx +14 -12
- package/src/components/SelectableTable/SelectableTable.tsx +34 -87
- package/src/components/SelectableTable/SelectableTableContext.tsx +3 -3
- package/src/components/SelectableTable/SelectionStore.ts +4 -4
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +9 -1
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +33 -12
- package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +21 -7
- package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +66 -12
- package/src/components/SideDialogs.tsx +3 -3
- package/src/components/{EntitySidePanel.tsx → SidePanelBinding.tsx} +19 -19
- package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +16 -16
- package/src/components/common/default_entity_actions.tsx +9 -9
- package/src/components/history/EntityHistoryEntry.tsx +2 -2
- package/src/components/history/EntityHistoryView.tsx +3 -3
- package/src/components/history/LastEditedByIndicator.tsx +2 -2
- package/src/components/index.ts +15 -14
- package/src/contexts/SidePanelControllerContext.tsx +5 -0
- package/src/data_export/export/ExportCollectionAction.tsx +4 -4
- package/src/data_import/components/ImportSaveInProgress.tsx +3 -3
- package/src/data_import/import/ImportCollectionAction.tsx +4 -4
- package/src/data_import/utils/data.ts +2 -2
- package/src/form/EntityForm.tsx +2 -2
- package/src/form/EntityFormActions.tsx +3 -3
- package/src/form/EntityFormBinding.tsx +6 -6
- package/src/form/PropertyFieldBinding.tsx +4 -4
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +4 -4
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -19
- package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +2 -2
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +5 -5
- package/src/form/field_bindings/RelationFieldBinding.tsx +3 -3
- package/src/form/form_utils.ts +2 -2
- 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 +10 -10
- 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} +28 -28
- package/src/hooks/useCMSContext.tsx +6 -6
- package/src/hooks/{useEntityHistory.ts → useHistory.ts} +1 -1
- package/src/hooks/useResolvedNavigationFrom.tsx +8 -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 +12 -12
- package/src/preview/components/ReferencePreview.tsx +10 -10
- package/src/preview/components/RelationPreview.tsx +13 -12
- package/src/routes/RebaseRoute.tsx +10 -10
- package/src/types/components/EntityFormActionsProps.tsx +2 -2
- package/src/types/components/EntityFormProps.tsx +3 -3
- 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 +3 -3
- 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/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/EntityTableCell.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/{EntityCollectionTable → CollectionTableBinding}/table_bindings.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}/PropertyTableCell.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.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/CollectionTableToolbar.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.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/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CollectionConfig, NavigationGroupMapping, Property } from "@rebasepro/types";
|
|
2
2
|
|
|
3
3
|
export interface CollectionsSetupInfo {
|
|
4
4
|
status: "ongoing" | "complete" | "error";
|
|
@@ -13,7 +13,7 @@ export interface CollectionsConfigController {
|
|
|
13
13
|
|
|
14
14
|
loading: boolean;
|
|
15
15
|
|
|
16
|
-
collections?:
|
|
16
|
+
collections?: CollectionConfig[];
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* If true, the configuration cannot be modified.
|
|
@@ -32,7 +32,7 @@ export interface CollectionsConfigController {
|
|
|
32
32
|
*/
|
|
33
33
|
collectionsSetup?: CollectionsSetupInfo;
|
|
34
34
|
|
|
35
|
-
getCollection: (id: string) =>
|
|
35
|
+
getCollection: (id: string) => CollectionConfig;
|
|
36
36
|
|
|
37
37
|
saveCollection: <M extends { [Key: string]: any }>(params: SaveCollectionParams<M>) => Promise<void>;
|
|
38
38
|
updateCollection: <M extends { [Key: string]: any }>(params: UpdateCollectionParams<M>) => Promise<void>;
|
|
@@ -59,14 +59,14 @@ export interface CollectionsConfigController {
|
|
|
59
59
|
|
|
60
60
|
export type UpdateCollectionParams<M extends Record<string, unknown> = Record<string, unknown>> = {
|
|
61
61
|
id: string,
|
|
62
|
-
collectionData: Partial<
|
|
62
|
+
collectionData: Partial<CollectionConfig<M>>,
|
|
63
63
|
previousId?: string,
|
|
64
64
|
parentCollectionSlugs?: string[], parentEntityIds?: string[]
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
export type SaveCollectionParams<M extends Record<string, unknown> = Record<string, unknown>> = {
|
|
68
68
|
id: string,
|
|
69
|
-
collectionData:
|
|
69
|
+
collectionData: CollectionConfig<M>,
|
|
70
70
|
previousId?: string,
|
|
71
71
|
parentCollectionSlugs?: string[], parentEntityIds?: string[]
|
|
72
72
|
}
|
|
@@ -96,14 +96,14 @@ export type DeleteCollectionParams = {
|
|
|
96
96
|
export type UpdatePropertiesOrderParams = {
|
|
97
97
|
fullPath: string;
|
|
98
98
|
parentCollectionSlugs: string[], parentEntityIds: string[];
|
|
99
|
-
collection:
|
|
99
|
+
collection: CollectionConfig;
|
|
100
100
|
newPropertiesOrder: string[];
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
export type UpdateKanbanColumnsOrderParams = {
|
|
104
104
|
fullPath: string;
|
|
105
105
|
parentCollectionSlugs: string[], parentEntityIds: string[];
|
|
106
|
-
collection:
|
|
106
|
+
collection: CollectionConfig;
|
|
107
107
|
kanbanColumnProperty: string;
|
|
108
108
|
newColumnsOrder: string[];
|
|
109
109
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
useTranslation
|
|
7
7
|
} from "@rebasepro/core";
|
|
8
8
|
import { getPropertyInPath } from "../_cms_internals";
|
|
9
|
-
import {
|
|
9
|
+
import { CollectionConfig, EnumValueConfig, StringProperty } from "@rebasepro/types";
|
|
10
10
|
import { resolveEnumValues } from "@rebasepro/common";
|
|
11
11
|
import {
|
|
12
12
|
Button,
|
|
@@ -34,7 +34,7 @@ export function AddKanbanColumnAction({
|
|
|
34
34
|
parentCollectionSlugs, parentEntityIds,
|
|
35
35
|
columnProperty
|
|
36
36
|
}: {
|
|
37
|
-
collection:
|
|
37
|
+
collection: CollectionConfig;
|
|
38
38
|
fullPath: string;
|
|
39
39
|
parentCollectionSlugs: string[], parentEntityIds: string[];
|
|
40
40
|
columnProperty: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useTranslation } from "@rebasepro/core";
|
|
2
|
-
import {
|
|
2
|
+
import { CollectionConfig, EntityTableController, Property } from "@rebasepro/types";
|
|
3
3
|
import { IconButton, SettingsIcon, Tooltip } from "@rebasepro/ui";
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { useCollectionEditorController } from "../useCollectionEditorController";
|
|
@@ -18,7 +18,7 @@ export function CollectionViewHeaderAction({
|
|
|
18
18
|
onHover: boolean,
|
|
19
19
|
path: string,
|
|
20
20
|
parentCollectionSlugs: string[], parentEntityIds: string[],
|
|
21
|
-
collection:
|
|
21
|
+
collection: CollectionConfig;
|
|
22
22
|
tableController: EntityTableController;
|
|
23
23
|
}) {
|
|
24
24
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCollectionRegistryController } from "../_cms_internals";
|
|
2
2
|
import { useAuthController, useTranslation } from "@rebasepro/core";
|
|
3
|
-
import {
|
|
3
|
+
import { CollectionConfig, CollectionActionsProps } from "@rebasepro/types";
|
|
4
4
|
import { IconButton, SettingsIcon, Tooltip } from "@rebasepro/ui";
|
|
5
5
|
|
|
6
6
|
import { useCollectionEditorController } from "../useCollectionEditorController";
|
|
@@ -38,7 +38,7 @@ export function EditorCollectionAction({
|
|
|
38
38
|
path,
|
|
39
39
|
parentCollectionSlugs,
|
|
40
40
|
parentEntityIds,
|
|
41
|
-
parentCollection: parentCollection as
|
|
41
|
+
parentCollection: parentCollection as CollectionConfig,
|
|
42
42
|
existingEntities: tableController?.data ?? []
|
|
43
43
|
})
|
|
44
44
|
: undefined}>
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
useSnackbarController,
|
|
6
6
|
useTranslation
|
|
7
7
|
} from "@rebasepro/core";
|
|
8
|
-
import {
|
|
8
|
+
import { CollectionConfig, CollectionActionsProps } from "@rebasepro/types";
|
|
9
9
|
import { Button, SaveIcon, Tooltip, UndoIcon } from "@rebasepro/ui";
|
|
10
10
|
|
|
11
11
|
import { useCollectionEditorController } from "../useCollectionEditorController";
|
|
@@ -42,7 +42,7 @@ export function EditorCollectionActionStart({
|
|
|
42
42
|
id: collection.slug,
|
|
43
43
|
parentCollectionSlugs,
|
|
44
44
|
parentEntityIds,
|
|
45
|
-
collectionData: mergeDeep(collection as
|
|
45
|
+
collectionData: mergeDeep(collection as CollectionConfig,
|
|
46
46
|
{
|
|
47
47
|
defaultFilter: tableController.filterValues ?? null,
|
|
48
48
|
sort: tableController.sortBy ?? null
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCollectionRegistryController } from "../_cms_internals";
|
|
2
2
|
import { useAuthController, useTranslation } from "@rebasepro/core";
|
|
3
|
-
import {
|
|
3
|
+
import { CollectionConfig, PluginFormActionProps } from "@rebasepro/types";
|
|
4
4
|
import { IconButton, SettingsIcon, Tooltip } from "@rebasepro/ui";
|
|
5
5
|
|
|
6
6
|
import { useCollectionEditorController } from "../useCollectionEditorController";
|
|
@@ -35,7 +35,7 @@ export function EditorEntityAction({
|
|
|
35
35
|
path,
|
|
36
36
|
parentCollectionSlugs,
|
|
37
37
|
parentEntityIds,
|
|
38
|
-
parentCollection: parentCollection as
|
|
38
|
+
parentCollection: parentCollection as CollectionConfig
|
|
39
39
|
})
|
|
40
40
|
: undefined}>
|
|
41
41
|
<SettingsIcon/>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { useTranslation } from "@rebasepro/core";
|
|
3
|
-
import {
|
|
3
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
4
4
|
import { Button } from "@rebasepro/ui";
|
|
5
5
|
import { useCollectionEditorController } from "../useCollectionEditorController";
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@ export function KanbanSetupAction({
|
|
|
14
14
|
parentCollectionSlugs,
|
|
15
15
|
parentEntityIds
|
|
16
16
|
}: {
|
|
17
|
-
collection:
|
|
17
|
+
collection: CollectionConfig;
|
|
18
18
|
fullPath: string;
|
|
19
19
|
parentCollectionSlugs: string[], parentEntityIds: string[];
|
|
20
20
|
}) {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
useTranslation
|
|
4
4
|
} from "@rebasepro/core";
|
|
5
5
|
import { getDefaultPropertiesOrder } from "../_cms_internals";
|
|
6
|
-
import {
|
|
6
|
+
import { CollectionConfig, EntityTableController } from "@rebasepro/types";
|
|
7
7
|
import { PlusIcon, Tooltip } from "@rebasepro/ui";
|
|
8
8
|
import { useCollectionEditorController } from "../useCollectionEditorController";
|
|
9
9
|
|
|
@@ -15,7 +15,7 @@ export function PropertyAddColumnComponent({
|
|
|
15
15
|
}: {
|
|
16
16
|
path: string,
|
|
17
17
|
parentCollectionSlugs: string[], parentEntityIds: string[],
|
|
18
|
-
collection:
|
|
18
|
+
collection: CollectionConfig;
|
|
19
19
|
tableController: EntityTableController;
|
|
20
20
|
}) {
|
|
21
21
|
|
|
@@ -3,7 +3,7 @@ import { AIIcon } from "@rebasepro/core";
|
|
|
3
3
|
import { useCollectionRegistryController } from "../../_cms_internals";
|
|
4
4
|
import React, { useState } from "react";
|
|
5
5
|
import { useSafeSnackbarController } from "../../useSafeSnackbarController";
|
|
6
|
-
import {
|
|
6
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
7
7
|
import {
|
|
8
8
|
Button,
|
|
9
9
|
CircularProgress,
|
|
@@ -25,13 +25,13 @@ export interface AICollectionGeneratorPopoverProps {
|
|
|
25
25
|
/**
|
|
26
26
|
* Current collection being edited (if modifying an existing collection)
|
|
27
27
|
*/
|
|
28
|
-
existingCollection?:
|
|
28
|
+
existingCollection?: CollectionConfig<any>;
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Callback when a collection is generated or modified.
|
|
32
32
|
* Includes the collection and optionally the operations that were applied.
|
|
33
33
|
*/
|
|
34
|
-
onGenerated: (collection:
|
|
34
|
+
onGenerated: (collection: CollectionConfig, operations?: CollectionOperation[]) => void;
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Callback function for generating/modifying collections.
|
|
@@ -95,7 +95,7 @@ export function AICollectionGeneratorPopover({
|
|
|
95
95
|
name: c.name,
|
|
96
96
|
properties: c.properties,
|
|
97
97
|
propertiesOrder: c.propertiesOrder
|
|
98
|
-
} as Partial<
|
|
98
|
+
} as Partial<CollectionConfig>));
|
|
99
99
|
|
|
100
100
|
const result = await generateCollection({
|
|
101
101
|
prompt: prompt.trim(),
|
|
@@ -106,7 +106,7 @@ export function AICollectionGeneratorPopover({
|
|
|
106
106
|
name: existingCollection.name,
|
|
107
107
|
properties: existingCollection.properties,
|
|
108
108
|
propertiesOrder: existingCollection.propertiesOrder
|
|
109
|
-
} as Partial<
|
|
109
|
+
} as Partial<CollectionConfig>
|
|
110
110
|
})
|
|
111
111
|
});
|
|
112
112
|
|
|
@@ -4,7 +4,7 @@ import { FieldCaption } from "../../_cms_internals";
|
|
|
4
4
|
import React, { useMemo, useState } from "react";
|
|
5
5
|
import { useAuthController, useCustomizationController } from "@rebasepro/core";
|
|
6
6
|
import { getFieldConfig, PropertyConfigBadge, SearchIconsView } from "../../_cms_internals";
|
|
7
|
-
import {
|
|
7
|
+
import { CollectionConfig, Property } from "@rebasepro/types";
|
|
8
8
|
import {
|
|
9
9
|
BooleanSwitchWithLabel,
|
|
10
10
|
Button,
|
|
@@ -42,7 +42,7 @@ export function CollectionDetailsForm({
|
|
|
42
42
|
isNewCollection: boolean,
|
|
43
43
|
existingPaths?: string[];
|
|
44
44
|
existingIds?: string[];
|
|
45
|
-
parentCollection?:
|
|
45
|
+
parentCollection?: CollectionConfig;
|
|
46
46
|
parentCollectionSlugs?: string[], parentEntityIds?: string[];
|
|
47
47
|
expandKanban?: boolean;
|
|
48
48
|
}) {
|
|
@@ -57,7 +57,7 @@ export function CollectionDetailsForm({
|
|
|
57
57
|
setFieldTouched,
|
|
58
58
|
isSubmitting,
|
|
59
59
|
submitCount
|
|
60
|
-
} = useFormex<
|
|
60
|
+
} = useFormex<CollectionConfig>();
|
|
61
61
|
|
|
62
62
|
const collectionEditor = useCollectionEditorController();
|
|
63
63
|
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
import {
|
|
36
36
|
EngineProperties,
|
|
37
37
|
Entity,
|
|
38
|
-
|
|
38
|
+
CollectionConfig,
|
|
39
39
|
getDataSourceCapabilities,
|
|
40
40
|
MapProperty,
|
|
41
41
|
Properties,
|
|
@@ -77,11 +77,11 @@ export interface CollectionEditorDialogProps extends CollectionEditorExtensionPr
|
|
|
77
77
|
* A collection to duplicate from. If provided, the new collection will be
|
|
78
78
|
* pre-populated with the same properties (but with empty name, path, and id).
|
|
79
79
|
*/
|
|
80
|
-
copyFrom?:
|
|
80
|
+
copyFrom?: CollectionConfig;
|
|
81
81
|
editedCollectionId?: string;
|
|
82
82
|
path?: string; // full path of this particular collection, like `products/123/locales`
|
|
83
83
|
parentCollectionSlugs?: string[], parentEntityIds?: string[]; // path ids of the parent collection, like [`products`]
|
|
84
|
-
handleClose: (collection?:
|
|
84
|
+
handleClose: (collection?: CollectionConfig) => void;
|
|
85
85
|
configController: CollectionsConfigController;
|
|
86
86
|
collectionInference?: CollectionInference;
|
|
87
87
|
extraView?: {
|
|
@@ -92,7 +92,7 @@ export interface CollectionEditorDialogProps extends CollectionEditorExtensionPr
|
|
|
92
92
|
};
|
|
93
93
|
getUser?: (uid: string) => User | null;
|
|
94
94
|
getData?: (path: string, parentPaths: string[]) => Promise<object[]>;
|
|
95
|
-
parentCollection?:
|
|
95
|
+
parentCollection?: CollectionConfig;
|
|
96
96
|
existingEntities?: Entity<any>[];
|
|
97
97
|
/**
|
|
98
98
|
* Initial view to open when editing: "general", "display", or "properties".
|
|
@@ -213,7 +213,7 @@ export function CollectionEditor(props: CollectionEditorDialogProps & {
|
|
|
213
213
|
const collectionsInThisLevel = (props.parentCollection ? getSubcollections(props.parentCollection) : collections) ?? [];
|
|
214
214
|
const existingPaths = collectionsInThisLevel.map(col => getTableName(col)?.trim().toLowerCase()).filter(Boolean);
|
|
215
215
|
const existingIds = collectionsInThisLevel.map(col => col.slug?.trim().toLowerCase()).filter(Boolean) as string[];
|
|
216
|
-
const [collection, setCollection] = React.useState<
|
|
216
|
+
const [collection, setCollection] = React.useState<CollectionConfig<any> | undefined>();
|
|
217
217
|
const [initialLoadingCompleted, setInitialLoadingCompleted] = React.useState(false);
|
|
218
218
|
|
|
219
219
|
useEffect(() => {
|
|
@@ -234,7 +234,7 @@ export function CollectionEditor(props: CollectionEditorDialogProps & {
|
|
|
234
234
|
|
|
235
235
|
const registryCol = getRawCollection ? getRawCollection(collectionPath) : undefined;
|
|
236
236
|
const configCol = props.configController?.collections?.find(c => c.slug === props.editedCollectionId);
|
|
237
|
-
setCollection((registryCol ?? configCol) as
|
|
237
|
+
setCollection((registryCol ?? configCol) as CollectionConfig<any>);
|
|
238
238
|
} else {
|
|
239
239
|
setCollection(undefined);
|
|
240
240
|
}
|
|
@@ -259,7 +259,7 @@ export function CollectionEditor(props: CollectionEditorDialogProps & {
|
|
|
259
259
|
}, [collection, fallbackSlug]);
|
|
260
260
|
|
|
261
261
|
// Build initial values - handle copyFrom for duplication
|
|
262
|
-
const initialValues = React.useMemo(():
|
|
262
|
+
const initialValues = React.useMemo((): CollectionConfig<any> => {
|
|
263
263
|
return (initialCollection
|
|
264
264
|
? applyPropertyConfigs(initialCollection, propertyConfigs)
|
|
265
265
|
: copyFromProp
|
|
@@ -270,7 +270,7 @@ export function CollectionEditor(props: CollectionEditorDialogProps & {
|
|
|
270
270
|
...rest,
|
|
271
271
|
name: "",
|
|
272
272
|
ownerId: authController.user?.uid ?? ""
|
|
273
|
-
} as
|
|
273
|
+
} as CollectionConfig<any>;
|
|
274
274
|
})()
|
|
275
275
|
: {
|
|
276
276
|
slug: initialValuesProp?.slug ?? fallbackSlug,
|
|
@@ -280,7 +280,7 @@ export function CollectionEditor(props: CollectionEditorDialogProps & {
|
|
|
280
280
|
propertiesOrder: [],
|
|
281
281
|
icon: initialIcon,
|
|
282
282
|
ownerId: authController.user?.uid ?? ""
|
|
283
|
-
}) as
|
|
283
|
+
}) as CollectionConfig<any>;
|
|
284
284
|
}, [initialCollection, propertyConfigs, copyFromProp, initialValuesProp, fallbackSlug, initialIcon, authController.user?.uid]);
|
|
285
285
|
|
|
286
286
|
if (!initialLoadingCompleted) {
|
|
@@ -341,12 +341,12 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
341
341
|
}: CollectionEditorDialogProps & {
|
|
342
342
|
handleCancel: () => void,
|
|
343
343
|
setFormDirty: (dirty: boolean) => void,
|
|
344
|
-
initialValues:
|
|
344
|
+
initialValues: CollectionConfig<M>,
|
|
345
345
|
existingPaths: string[],
|
|
346
346
|
existingIds: string[],
|
|
347
347
|
includeTemplates: boolean,
|
|
348
|
-
collection:
|
|
349
|
-
setCollection: (collection:
|
|
348
|
+
collection: CollectionConfig<M> | undefined,
|
|
349
|
+
setCollection: (collection: CollectionConfig<M>) => void,
|
|
350
350
|
propertyConfigs: Record<string, PropertyConfig>,
|
|
351
351
|
}
|
|
352
352
|
) {
|
|
@@ -395,7 +395,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
395
395
|
|
|
396
396
|
const [error, setError] = React.useState<Error | undefined>();
|
|
397
397
|
|
|
398
|
-
const saveCollection = (updatedCollection:
|
|
398
|
+
const saveCollection = (updatedCollection: CollectionConfig<M>): Promise<boolean> => {
|
|
399
399
|
const id = updatedCollection.slug;
|
|
400
400
|
|
|
401
401
|
return configController.saveCollection({
|
|
@@ -442,7 +442,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
442
442
|
|
|
443
443
|
};
|
|
444
444
|
|
|
445
|
-
const doCollectionInference = collectionInference ? (collection:
|
|
445
|
+
const doCollectionInference = collectionInference ? (collection: CollectionConfig<any>) => {
|
|
446
446
|
if (!collectionInference) return undefined;
|
|
447
447
|
return collectionInference?.(
|
|
448
448
|
collection.slug,
|
|
@@ -451,7 +451,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
451
451
|
);
|
|
452
452
|
} : undefined;
|
|
453
453
|
|
|
454
|
-
const inferCollectionFromData = async (newCollection:
|
|
454
|
+
const inferCollectionFromData = async (newCollection: CollectionConfig<M>) => {
|
|
455
455
|
|
|
456
456
|
try {
|
|
457
457
|
if (!doCollectionInference) {
|
|
@@ -497,7 +497,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
497
497
|
}
|
|
498
498
|
};
|
|
499
499
|
|
|
500
|
-
const onSubmit = async (newCollectionState:
|
|
500
|
+
const onSubmit = async (newCollectionState: CollectionConfig<M>, formexController: FormexController<CollectionConfig<M>>) => {
|
|
501
501
|
console.debug("Submitting collection", newCollectionState);
|
|
502
502
|
try {
|
|
503
503
|
|
|
@@ -506,7 +506,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
506
506
|
if (success) {
|
|
507
507
|
aiModifiedPaths?.clearAllPaths();
|
|
508
508
|
formexController.resetForm({ values: newCollectionState });
|
|
509
|
-
handleClose(newCollectionState as
|
|
509
|
+
handleClose(newCollectionState as CollectionConfig);
|
|
510
510
|
}
|
|
511
511
|
return;
|
|
512
512
|
}
|
|
@@ -544,7 +544,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
544
544
|
if (success) {
|
|
545
545
|
formexController.resetForm({ values: initialValues });
|
|
546
546
|
setNextMode();
|
|
547
|
-
handleClose(newCollectionState as
|
|
547
|
+
handleClose(newCollectionState as CollectionConfig);
|
|
548
548
|
}
|
|
549
549
|
} else {
|
|
550
550
|
setNextMode();
|
|
@@ -560,7 +560,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
560
560
|
}
|
|
561
561
|
};
|
|
562
562
|
|
|
563
|
-
const validation = (col:
|
|
563
|
+
const validation = (col: CollectionConfig<M>) => {
|
|
564
564
|
|
|
565
565
|
let errors: Record<string, string> = {};
|
|
566
566
|
const schema = (currentView === "properties" || currentView === "general") && CollectionEditorSchema;
|
|
@@ -595,7 +595,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
595
595
|
return errors;
|
|
596
596
|
};
|
|
597
597
|
|
|
598
|
-
const formController = useCreateFormex<
|
|
598
|
+
const formController = useCreateFormex<CollectionConfig<M>>({
|
|
599
599
|
initialValues,
|
|
600
600
|
onSubmit,
|
|
601
601
|
validation,
|
|
@@ -689,8 +689,8 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
689
689
|
|
|
690
690
|
const aiModifiedPaths = useAIModifiedPaths();
|
|
691
691
|
|
|
692
|
-
const handleAIGenerated = (generatedCollection:
|
|
693
|
-
formController.setValues(generatedCollection as
|
|
692
|
+
const handleAIGenerated = (generatedCollection: CollectionConfig, operations?: CollectionOperation[]) => {
|
|
693
|
+
formController.setValues(generatedCollection as CollectionConfig<M>);
|
|
694
694
|
if (operations && aiModifiedPaths) {
|
|
695
695
|
aiModifiedPaths.addModifiedPaths(operations);
|
|
696
696
|
}
|
|
@@ -749,7 +749,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
749
749
|
onSubmit={formController.handleSubmit}
|
|
750
750
|
className="flex-grow flex flex-col min-h-0 relative">
|
|
751
751
|
|
|
752
|
-
<div className="flex-grow flex flex-col min-h-0
|
|
752
|
+
<div className="flex-grow flex flex-col min-h-0 relative w-full h-full bg-surface-50 dark:bg-surface-800">
|
|
753
753
|
|
|
754
754
|
{currentView === "loading" &&
|
|
755
755
|
<CircularProgressCenter/>}
|
|
@@ -776,7 +776,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
776
776
|
formController.setValues({
|
|
777
777
|
...formController.values,
|
|
778
778
|
...collectionData
|
|
779
|
-
} as
|
|
779
|
+
} as CollectionConfig<M>);
|
|
780
780
|
onWelcomeScreenContinue();
|
|
781
781
|
} catch (e: unknown) {
|
|
782
782
|
console.error("Error importing table:", e);
|
|
@@ -975,7 +975,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
|
|
|
975
975
|
|
|
976
976
|
}
|
|
977
977
|
|
|
978
|
-
function applyPropertyConfigs<M extends Record<string, unknown> = Record<string, unknown>>(collection:
|
|
978
|
+
function applyPropertyConfigs<M extends Record<string, unknown> = Record<string, unknown>>(collection: CollectionConfig<M>, propertyConfigs: Record<string, PropertyConfig>): CollectionConfig<M> {
|
|
979
979
|
const {
|
|
980
980
|
properties,
|
|
981
981
|
...rest
|
|
@@ -992,7 +992,7 @@ function applyPropertyConfigs<M extends Record<string, unknown> = Record<string,
|
|
|
992
992
|
return {
|
|
993
993
|
...rest,
|
|
994
994
|
properties: propertiesResult as EngineProperties
|
|
995
|
-
} as
|
|
995
|
+
} as CollectionConfig<M>;
|
|
996
996
|
}
|
|
997
997
|
|
|
998
998
|
function applyPropertiesConfig(property: Property, propertyConfigs: Record<string, PropertyConfig>) {
|
|
@@ -2,7 +2,7 @@ import { AIIcon } from "@rebasepro/core";
|
|
|
2
2
|
;
|
|
3
3
|
import React, { useState } from "react";
|
|
4
4
|
;
|
|
5
|
-
import {
|
|
5
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
6
6
|
import {
|
|
7
7
|
Button,
|
|
8
8
|
Card,
|
|
@@ -43,7 +43,7 @@ export function CollectionEditorWelcomeView({
|
|
|
43
43
|
onImportFromTable
|
|
44
44
|
}: {
|
|
45
45
|
path: string;
|
|
46
|
-
parentCollection?:
|
|
46
|
+
parentCollection?: CollectionConfig;
|
|
47
47
|
onContinue: (importData?: object[], propertiesOrder?: string[]) => void;
|
|
48
48
|
existingCollectionPaths?: string[];
|
|
49
49
|
generateCollection?: CollectionGenerationCallback;
|
|
@@ -61,7 +61,7 @@ export function CollectionEditorWelcomeView({
|
|
|
61
61
|
setFieldValue,
|
|
62
62
|
setValues,
|
|
63
63
|
submitCount
|
|
64
|
-
} = useFormex<
|
|
64
|
+
} = useFormex<CollectionConfig>();
|
|
65
65
|
|
|
66
66
|
const [jsonImportOpen, setJsonImportOpen] = useState(false);
|
|
67
67
|
const [importingTable, setImportingTable] = useState<string | null>(null);
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TextField,
|
|
14
14
|
Typography
|
|
15
15
|
} from "@rebasepro/ui";
|
|
16
|
-
import {
|
|
16
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
17
17
|
import { validateCollectionJson, CollectionValidationError } from "../../validateCollectionJson";
|
|
18
18
|
|
|
19
19
|
const EXAMPLE_JSON = `{
|
|
@@ -41,7 +41,7 @@ const EXAMPLE_JSON = `{
|
|
|
41
41
|
export interface CollectionJsonImportDialogProps {
|
|
42
42
|
open: boolean;
|
|
43
43
|
onClose: () => void;
|
|
44
|
-
onImport: (collection:
|
|
44
|
+
onImport: (collection: CollectionConfig) => void;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export function CollectionJsonImportDialog({
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
Tooltip,
|
|
22
22
|
Typography
|
|
23
23
|
} from "@rebasepro/ui";
|
|
24
|
-
import {
|
|
24
|
+
import { CollectionConfig, MapProperty, Properties, Property, PropertyConfig, User } from "@rebasepro/types";
|
|
25
25
|
import { isPropertyBuilder } from "@rebasepro/common";
|
|
26
26
|
|
|
27
27
|
import { getFullId, idToPropertiesPath, namespaceToPropertiesOrderPath } from "./util";
|
|
@@ -31,7 +31,7 @@ import { GetCodeDialog } from "./GetCodeDialog";
|
|
|
31
31
|
import { useAIModifiedPaths } from "./AIModifiedPathsContext";
|
|
32
32
|
import { useCollectionsConfigController } from "../../useCollectionsConfigController";
|
|
33
33
|
import type { PropertyTypePreset, PropertyType } from "../../extensibility_types";
|
|
34
|
-
import type { SerializableProperty,
|
|
34
|
+
import type { SerializableProperty, SerializableCollectionConfig } from "../../serializable_types";
|
|
35
35
|
|
|
36
36
|
type PropertyOrBuilder = Property | Record<string, unknown>;
|
|
37
37
|
|
|
@@ -44,7 +44,7 @@ type CollectionEditorFormProps = {
|
|
|
44
44
|
extraIcon: React.ReactNode;
|
|
45
45
|
getUser?: (uid: string) => User | null;
|
|
46
46
|
getData?: () => Promise<object[]>;
|
|
47
|
-
doCollectionInference?: (collection:
|
|
47
|
+
doCollectionInference?: (collection: CollectionConfig) => Promise<Partial<CollectionConfig> | null> | undefined;
|
|
48
48
|
propertyConfigs: Record<string, PropertyConfig>;
|
|
49
49
|
propertyTypePresets?: PropertyTypePreset[];
|
|
50
50
|
hiddenPropertyTypes?: PropertyType[];
|
|
@@ -52,7 +52,7 @@ type CollectionEditorFormProps = {
|
|
|
52
52
|
metadata: Record<string, unknown>;
|
|
53
53
|
onMetadataChange: (key: string, value: unknown) => void;
|
|
54
54
|
property: SerializableProperty;
|
|
55
|
-
collection:
|
|
55
|
+
collection: SerializableCollectionConfig;
|
|
56
56
|
}) => React.ReactNode;
|
|
57
57
|
standalone?: boolean;
|
|
58
58
|
};
|
|
@@ -82,7 +82,7 @@ export function CollectionPropertiesEditorForm({
|
|
|
82
82
|
setFieldTouched,
|
|
83
83
|
errors,
|
|
84
84
|
dirty
|
|
85
|
-
} = useFormex<
|
|
85
|
+
} = useFormex<CollectionConfig>();
|
|
86
86
|
|
|
87
87
|
const snackbarController = useSafeSnackbarController();
|
|
88
88
|
const configControllerFromContext = useCollectionsConfigController();
|
|
@@ -420,9 +420,9 @@ export function CollectionPropertiesEditorForm({
|
|
|
420
420
|
};
|
|
421
421
|
|
|
422
422
|
const body = (
|
|
423
|
-
<div className={"grid grid-cols-12 h-full bg-surface-50 dark:bg-surface-800"}>
|
|
423
|
+
<div className={"grid grid-cols-12 h-full min-h-0 bg-surface-50 dark:bg-surface-800"}>
|
|
424
424
|
<div className={cls(
|
|
425
|
-
"col-span-12 lg:col-span-5 h-full flex flex-col bg-surface-50 dark:bg-surface-800",
|
|
425
|
+
"col-span-12 lg:col-span-5 h-full min-h-0 flex flex-col bg-surface-50 dark:bg-surface-800",
|
|
426
426
|
!asDialog && "border-r " + defaultBorderMixin
|
|
427
427
|
)}>
|
|
428
428
|
{/* Sidebar Header */}
|
|
@@ -467,7 +467,7 @@ export function CollectionPropertiesEditorForm({
|
|
|
467
467
|
</div>
|
|
468
468
|
|
|
469
469
|
{/* Sidebar Content */}
|
|
470
|
-
<div className="flex-grow overflow-y-auto p-3
|
|
470
|
+
<div className="flex-grow overflow-y-auto p-3 space-y-3 bg-surface-50 dark:bg-surface-800">
|
|
471
471
|
{owner && (
|
|
472
472
|
<div className="px-1 py-0.5">
|
|
473
473
|
<Typography variant="body2" color="secondary">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
3
3
|
import React, { useState, useEffect } from "react";
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -61,7 +61,7 @@ interface SecurityRule {
|
|
|
61
61
|
roles?: string[];
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
type CollectionWithSecurity =
|
|
64
|
+
type CollectionWithSecurity = CollectionConfig & {
|
|
65
65
|
securityRules?: SecurityRule[];
|
|
66
66
|
id?: string;
|
|
67
67
|
table?: string;
|
|
@@ -22,11 +22,11 @@ import {
|
|
|
22
22
|
Typography
|
|
23
23
|
} from "@rebasepro/ui";
|
|
24
24
|
import { useFormex } from "@rebasepro/formex";
|
|
25
|
-
import {
|
|
25
|
+
import { PostgresCollectionConfig, Relation } from "@rebasepro/types";
|
|
26
26
|
import { useCollectionsConfigController } from "../../useCollectionsConfigController";
|
|
27
27
|
|
|
28
28
|
export function CollectionRelationsTab() {
|
|
29
|
-
const { values, setFieldValue } = useFormex<
|
|
29
|
+
const { values, setFieldValue } = useFormex<PostgresCollectionConfig>();
|
|
30
30
|
const { collections } = useCollectionsConfigController();
|
|
31
31
|
const [editingRelationIndex, setEditingRelationIndex] = useState<number | null>(null);
|
|
32
32
|
const [editingRelationState, setEditingRelationState] = useState<Partial<Relation> | null>(null);
|
|
@@ -6,7 +6,7 @@ import { Button, PlusIcon, Typography } from "@rebasepro/ui";
|
|
|
6
6
|
import { CollectionEditorDialogProps } from "./CollectionEditorDialog";
|
|
7
7
|
import { AIModifiedPathsProvider } from "./AIModifiedPathsContext";
|
|
8
8
|
import { CollectionEditor } from "./CollectionEditorDialog";
|
|
9
|
-
import type {
|
|
9
|
+
import type { CollectionConfig } from "@rebasepro/types";
|
|
10
10
|
|
|
11
11
|
export type CollectionStudioViewProps = Omit<CollectionEditorDialogProps, "open" | "isNewCollection" | "editedCollectionId" | "handleClose" | "handleCancel"> & {
|
|
12
12
|
collectionId?: string | "new";
|
|
@@ -16,7 +16,7 @@ export type CollectionStudioViewProps = Omit<CollectionEditorDialogProps, "open"
|
|
|
16
16
|
* Receives the saved collection (or undefined if dismissed without saving).
|
|
17
17
|
* When not provided, save completes silently.
|
|
18
18
|
*/
|
|
19
|
-
onSave?: (collection?:
|
|
19
|
+
onSave?: (collection?: CollectionConfig) => void;
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Called when the user cancels editing.
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
Tooltip,
|
|
13
13
|
Typography
|
|
14
14
|
} from "@rebasepro/ui";
|
|
15
|
-
import type {
|
|
15
|
+
import type { CollectionConfig } from "@rebasepro/types";
|
|
16
16
|
import { CollectionsConfigController } from "../../types/config_controller";
|
|
17
17
|
import { CollectionStudioView } from "./CollectionStudioView";
|
|
18
18
|
import type { CollectionEditorExtensionProps } from "../../extensibility_types";
|
|
@@ -25,7 +25,7 @@ export interface CollectionsStudioViewProps extends CollectionEditorExtensionPro
|
|
|
25
25
|
* When provided, overrides the collections from `configController`.
|
|
26
26
|
* Use this to control exactly which collections the editor displays.
|
|
27
27
|
*/
|
|
28
|
-
collections?:
|
|
28
|
+
collections?: CollectionConfig[];
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Controlled active collection ID.
|