@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.
Files changed (316) hide show
  1. package/README.md +20 -20
  2. package/dist/{CollectionEditorDialog-BO_aQ-Z4.js → CollectionEditorDialog-B-7uW3iJ.js} +11 -11
  3. package/dist/CollectionEditorDialog-B-7uW3iJ.js.map +1 -0
  4. package/dist/{PropertyEditView-DKzOpMjR.js → PropertyEditView-7KMTcrqi.js} +78 -70
  5. package/dist/PropertyEditView-7KMTcrqi.js.map +1 -0
  6. package/dist/{RouterCollectionsStudioView-BQTIExjA.js → RouterCollectionsStudioView-epqIbZrJ.js} +4 -4
  7. package/dist/{RouterCollectionsStudioView-BQTIExjA.js.map → RouterCollectionsStudioView-epqIbZrJ.js.map} +1 -1
  8. package/dist/collection_editor/_cms_internals.d.ts +3 -3
  9. package/dist/collection_editor/api/generateCollectionApi.d.ts +4 -4
  10. package/dist/collection_editor/extensibility_types.d.ts +3 -3
  11. package/dist/collection_editor/index.d.ts +2 -2
  12. package/dist/collection_editor/pgColumnToProperty.d.ts +3 -3
  13. package/dist/collection_editor/serializable_types.d.ts +7 -7
  14. package/dist/collection_editor/serializable_utils.d.ts +8 -8
  15. package/dist/collection_editor/types/collection_editor_controller.d.ts +5 -5
  16. package/dist/collection_editor/types/collection_inference.d.ts +2 -2
  17. package/dist/collection_editor/types/config_controller.d.ts +7 -7
  18. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -2
  19. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +2 -2
  20. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -2
  21. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +2 -2
  22. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +3 -3
  23. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -2
  24. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +4 -4
  25. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
  26. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -2
  27. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +4 -4
  28. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -2
  29. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -2
  30. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -2
  31. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -2
  32. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -2
  33. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +4 -4
  34. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +3 -3
  35. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
  36. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
  37. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
  38. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
  39. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
  40. package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
  41. package/dist/collection_editor_ui.js +4 -4
  42. package/dist/components/CollectionPanel.d.ts +4 -4
  43. package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +3 -3
  44. package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
  45. package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +1 -1
  46. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +2 -2
  47. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +2 -2
  48. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +2 -2
  49. package/dist/components/CollectionTableBinding/index.d.ts +6 -0
  50. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
  51. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +2 -2
  52. package/dist/components/{EntityCollectionView/EntityBoardCard.d.ts → CollectionViewBinding/BoardCardBinding.d.ts} +8 -8
  53. package/dist/components/{EntityCollectionView/EntityCollectionBoardView.d.ts → CollectionViewBinding/CollectionBoardViewBinding.d.ts} +4 -4
  54. package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
  55. package/dist/components/{EntityCollectionView/EntityCollectionListView.d.ts → CollectionViewBinding/CollectionListViewBinding.d.ts} +4 -4
  56. package/dist/components/{EntityCollectionView/EntityCollectionViewActions.d.ts → CollectionViewBinding/CollectionViewActions.d.ts} +4 -4
  57. package/dist/components/{EntityCollectionView/EntityCollectionView.d.ts → CollectionViewBinding/CollectionViewBinding.d.ts} +4 -4
  58. package/dist/components/{EntityCollectionView/EntityCollectionViewStartActions.d.ts → CollectionViewBinding/CollectionViewStartActions.d.ts} +4 -4
  59. package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
  60. package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +3 -3
  61. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +2 -2
  62. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +2 -2
  63. package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
  64. package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
  65. package/dist/components/DeleteEntityDialog.d.ts +4 -4
  66. package/dist/components/{EntityDetailView.d.ts → DetailViewBinding.d.ts} +5 -5
  67. package/dist/components/EditFormActions.d.ts +3 -0
  68. package/dist/components/{EntityEditView.d.ts → EditViewBinding.d.ts} +9 -9
  69. package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +13 -13
  70. package/dist/components/EntityViewBinding.d.ts +13 -0
  71. package/dist/components/{EntityJsonPreview.d.ts → JsonPreviewBinding.d.ts} +1 -1
  72. package/dist/components/RebaseCMS.d.ts +1 -1
  73. package/dist/components/RebaseNavigation.d.ts +1 -1
  74. package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +5 -5
  75. package/dist/components/SelectableTable/SelectableTable.d.ts +5 -5
  76. package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
  77. package/dist/components/SelectableTable/SelectionStore.d.ts +2 -2
  78. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +6 -1
  79. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +7 -1
  80. package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
  81. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +7 -1
  82. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +7 -1
  83. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +7 -1
  84. package/dist/components/SideDialogs.d.ts +1 -1
  85. package/dist/components/SidePanelBinding.d.ts +11 -0
  86. package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +7 -7
  87. package/dist/components/history/EntityHistoryEntry.d.ts +2 -2
  88. package/dist/components/history/LastEditedByIndicator.d.ts +2 -2
  89. package/dist/components/index.d.ts +14 -13
  90. package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
  91. package/dist/data_export/export/ExportCollectionAction.d.ts +3 -3
  92. package/dist/data_import/components/ImportSaveInProgress.d.ts +2 -2
  93. package/dist/form/EntityForm.d.ts +1 -1
  94. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  95. package/dist/form/form_utils.d.ts +2 -2
  96. package/dist/{history-B3cqBzEV.js → history-7X5bON_n.js} +4 -4
  97. package/dist/history-7X5bON_n.js.map +1 -0
  98. package/dist/hooks/index.d.ts +4 -4
  99. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
  100. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +5 -5
  101. package/dist/hooks/navigation/useNavigationResolution.d.ts +4 -4
  102. package/dist/hooks/navigation/useResolvedCollections.d.ts +7 -7
  103. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +2 -2
  104. package/dist/hooks/navigation/utils.d.ts +5 -5
  105. package/dist/hooks/useBuildSidePanel.d.ts +6 -0
  106. package/dist/hooks/useCMSContext.d.ts +2 -2
  107. package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +1 -1
  108. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  109. package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
  110. package/dist/hooks/useSideDialogsController.d.ts +1 -1
  111. package/dist/hooks/useSidePanel.d.ts +11 -0
  112. package/dist/index.d.ts +2 -2
  113. package/dist/index.js +2 -2
  114. package/dist/{src-cxV1ODRG.js → src-sUZfe29F.js} +737 -647
  115. package/dist/src-sUZfe29F.js.map +1 -0
  116. package/dist/types/components/EntityFormActionsProps.d.ts +2 -2
  117. package/dist/types/components/EntityFormProps.d.ts +3 -3
  118. package/dist/types/fields.d.ts +2 -2
  119. package/dist/util/dataControllerAdapter.d.ts +2 -5
  120. package/dist/util/navigation_utils.d.ts +6 -6
  121. package/dist/util/previews.d.ts +3 -3
  122. package/dist/util/property_utils.d.ts +2 -2
  123. package/dist/util/{entity_view_constants.d.ts → view_constants.d.ts} +1 -1
  124. package/package.json +8 -8
  125. package/src/collection_editor/ConfigControllerProvider.tsx +10 -10
  126. package/src/collection_editor/_cms_internals.ts +3 -3
  127. package/src/collection_editor/api/generateCollectionApi.ts +4 -4
  128. package/src/collection_editor/extensibility_types.ts +3 -3
  129. package/src/collection_editor/index.ts +3 -3
  130. package/src/collection_editor/pgColumnToProperty.ts +3 -3
  131. package/src/collection_editor/serializable_types.ts +8 -8
  132. package/src/collection_editor/serializable_utils.ts +17 -17
  133. package/src/collection_editor/types/collection_editor_controller.tsx +5 -5
  134. package/src/collection_editor/types/collection_inference.ts +2 -2
  135. package/src/collection_editor/types/config_controller.tsx +7 -7
  136. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +2 -2
  137. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +2 -2
  138. package/src/collection_editor/ui/EditorCollectionAction.tsx +2 -2
  139. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +2 -2
  140. package/src/collection_editor/ui/EditorEntityAction.tsx +2 -2
  141. package/src/collection_editor/ui/KanbanSetupAction.tsx +2 -2
  142. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +2 -2
  143. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +5 -5
  144. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +3 -3
  145. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +26 -26
  146. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +3 -3
  147. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +2 -2
  148. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +8 -8
  149. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +2 -2
  150. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +2 -2
  151. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +2 -2
  152. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +2 -2
  153. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -2
  154. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +3 -3
  155. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +5 -5
  156. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +4 -4
  157. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +2 -2
  158. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +7 -7
  159. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +45 -36
  160. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +1 -1
  161. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +5 -5
  162. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +3 -3
  163. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +2 -2
  164. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +2 -2
  165. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +2 -2
  166. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +2 -2
  167. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +2 -2
  168. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
  169. package/src/collection_editor/useJsonCollectionsConfigController.tsx +13 -13
  170. package/src/collection_editor/useLocalCollectionsConfigController.tsx +4 -4
  171. package/src/collection_editor/validateCollectionJson.ts +3 -3
  172. package/src/components/CollectionPanel.tsx +14 -17
  173. package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +6 -6
  174. package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +10 -10
  175. package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +1 -1
  176. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +5 -5
  177. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +10 -10
  178. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +5 -5
  179. package/src/components/CollectionTableBinding/index.tsx +14 -0
  180. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +2 -2
  181. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +2 -2
  182. package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +15 -15
  183. package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +14 -13
  184. package/src/components/{EntityCollectionView/EntityCollectionCardView.tsx → CollectionViewBinding/CollectionCardViewBinding.tsx} +8 -8
  185. package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +12 -12
  186. package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +5 -5
  187. package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +106 -91
  188. package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +5 -5
  189. package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +9 -9
  190. package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +31 -72
  191. package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +9 -9
  192. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +5 -5
  193. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +4 -4
  194. package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +16 -10
  195. package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +8 -8
  196. package/src/components/DeleteEntityDialog.tsx +6 -6
  197. package/src/components/{EntityDetailView.tsx → DetailViewBinding.tsx} +26 -29
  198. package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +12 -12
  199. package/src/components/{EntityEditView.tsx → EditViewBinding.tsx} +29 -32
  200. package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +27 -27
  201. package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +5 -5
  202. package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
  203. package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +1 -1
  204. package/src/components/RebaseCMS.tsx +4 -3
  205. package/src/components/RebaseNavigation.tsx +17 -8
  206. package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +22 -19
  207. package/src/components/ReferenceWidget.tsx +4 -4
  208. package/src/components/RelationSelector.tsx +14 -12
  209. package/src/components/SelectableTable/SelectableTable.tsx +34 -87
  210. package/src/components/SelectableTable/SelectableTableContext.tsx +3 -3
  211. package/src/components/SelectableTable/SelectionStore.ts +4 -4
  212. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +9 -1
  213. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +33 -12
  214. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
  215. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +21 -7
  216. package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
  217. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +66 -12
  218. package/src/components/SideDialogs.tsx +3 -3
  219. package/src/components/{EntitySidePanel.tsx → SidePanelBinding.tsx} +19 -19
  220. package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +16 -16
  221. package/src/components/common/default_entity_actions.tsx +9 -9
  222. package/src/components/history/EntityHistoryEntry.tsx +2 -2
  223. package/src/components/history/EntityHistoryView.tsx +3 -3
  224. package/src/components/history/LastEditedByIndicator.tsx +2 -2
  225. package/src/components/index.ts +15 -14
  226. package/src/contexts/SidePanelControllerContext.tsx +5 -0
  227. package/src/data_export/export/ExportCollectionAction.tsx +4 -4
  228. package/src/data_import/components/ImportSaveInProgress.tsx +3 -3
  229. package/src/data_import/import/ImportCollectionAction.tsx +4 -4
  230. package/src/data_import/utils/data.ts +2 -2
  231. package/src/form/EntityForm.tsx +2 -2
  232. package/src/form/EntityFormActions.tsx +3 -3
  233. package/src/form/EntityFormBinding.tsx +6 -6
  234. package/src/form/PropertyFieldBinding.tsx +4 -4
  235. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +4 -4
  236. package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -19
  237. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +2 -2
  238. package/src/form/field_bindings/ReferenceFieldBinding.tsx +5 -5
  239. package/src/form/field_bindings/RelationFieldBinding.tsx +3 -3
  240. package/src/form/form_utils.ts +2 -2
  241. package/src/hooks/index.ts +4 -4
  242. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +2 -2
  243. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +11 -11
  244. package/src/hooks/navigation/useBuildNavigationStateController.tsx +5 -5
  245. package/src/hooks/navigation/useNavigationResolution.ts +10 -10
  246. package/src/hooks/navigation/useResolvedCollections.ts +8 -8
  247. package/src/hooks/navigation/useTopLevelNavigation.ts +2 -2
  248. package/src/hooks/navigation/utils.ts +5 -5
  249. package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +28 -28
  250. package/src/hooks/useCMSContext.tsx +6 -6
  251. package/src/hooks/{useEntityHistory.ts → useHistory.ts} +1 -1
  252. package/src/hooks/useResolvedNavigationFrom.tsx +8 -5
  253. package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
  254. package/src/hooks/useSideDialogsController.tsx +1 -1
  255. package/src/hooks/useSidePanel.tsx +13 -0
  256. package/src/index.ts +12 -12
  257. package/src/preview/components/ReferencePreview.tsx +10 -10
  258. package/src/preview/components/RelationPreview.tsx +13 -12
  259. package/src/routes/RebaseRoute.tsx +10 -10
  260. package/src/types/components/EntityFormActionsProps.tsx +2 -2
  261. package/src/types/components/EntityFormProps.tsx +3 -3
  262. package/src/types/fields.tsx +2 -2
  263. package/src/util/dataControllerAdapter.ts +9 -15
  264. package/src/util/navigation_utils.ts +7 -7
  265. package/src/util/previews.ts +3 -3
  266. package/src/util/property_utils.tsx +2 -2
  267. package/src/util/{entity_view_constants.ts → view_constants.ts} +1 -1
  268. package/dist/CollectionEditorDialog-BO_aQ-Z4.js.map +0 -1
  269. package/dist/PropertyEditView-DKzOpMjR.js.map +0 -1
  270. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -28
  271. package/dist/components/EntityCollectionTable/index.d.ts +0 -6
  272. package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -21
  273. package/dist/components/EntityEditViewFormActions.d.ts +0 -3
  274. package/dist/components/EntitySidePanel.d.ts +0 -11
  275. package/dist/components/EntityView.d.ts +0 -13
  276. package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
  277. package/dist/history-B3cqBzEV.js.map +0 -1
  278. package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
  279. package/dist/hooks/useSideEntityController.d.ts +0 -11
  280. package/dist/src-cxV1ODRG.js.map +0 -1
  281. package/src/components/EntityCollectionTable/index.tsx +0 -14
  282. package/src/contexts/SideEntityControllerContext.tsx +0 -5
  283. package/src/hooks/useSideEntityController.tsx +0 -13
  284. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
  285. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +0 -0
  286. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +0 -0
  287. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +0 -0
  288. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +0 -0
  289. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +0 -0
  290. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +0 -0
  291. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +0 -0
  292. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +0 -0
  293. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
  294. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
  295. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +0 -0
  296. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.d.ts +0 -0
  297. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +0 -0
  298. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +0 -0
  299. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
  300. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
  301. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +0 -0
  302. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +0 -0
  303. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +0 -0
  304. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +0 -0
  305. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -0
  306. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
  307. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +0 -0
  308. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +0 -0
  309. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +0 -0
  310. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +0 -0
  311. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
  312. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +0 -0
  313. /package/src/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.tsx +0 -0
  314. /package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +0 -0
  315. /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
  316. /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
@@ -4,7 +4,7 @@ import React, { useMemo, useState } from "react";
4
4
  import { useCustomizationController } from "@rebasepro/core";
5
5
  import { getFieldConfig } from "../../../components/field_configs";
6
6
  import { PropertyConfigBadge } from "../../../components/PropertyConfigBadge";
7
- import { EntityCollection, Property } from "@rebasepro/types";
7
+ import { CollectionConfig, Property } from "@rebasepro/types";
8
8
  import {
9
9
  BooleanSwitchWithLabel,
10
10
  Button,
@@ -39,7 +39,7 @@ export function DisplaySettingsForm({
39
39
  setFieldValue,
40
40
  handleChange,
41
41
  submitCount
42
- } = useFormex<EntityCollection>();
42
+ } = useFormex<CollectionConfig>();
43
43
 
44
44
  const [orderPropertyDialogOpen, setOrderPropertyDialogOpen] = useState(false);
45
45
 
@@ -5,7 +5,7 @@ import {
5
5
  useCustomizationController
6
6
  } from "@rebasepro/core";
7
7
  import { resolveEntityAction } from "../../_cms_internals";
8
- import { type EntityCollection } from "@rebasepro/types";
8
+ import { type CollectionConfig } from "@rebasepro/types";
9
9
  import { EntityAction } from "@rebasepro/types";
10
10
  import {
11
11
  Alert,
@@ -30,7 +30,7 @@ export function EntityActionsEditTab({
30
30
  collection,
31
31
  embedded = false
32
32
  }: {
33
- collection: EntityCollection,
33
+ collection: CollectionConfig,
34
34
  embedded?: boolean;
35
35
  }) {
36
36
 
@@ -42,7 +42,7 @@ export function EntityActionsEditTab({
42
42
  const {
43
43
  values,
44
44
  setFieldValue
45
- } = useFormex<EntityCollection>();
45
+ } = useFormex<CollectionConfig>();
46
46
 
47
47
  const resolvedEntityActions = ((values.entityActions ?? []) as (string | EntityAction<any>)[])
48
48
  .filter((e): e is string => typeof e === "string")
@@ -4,7 +4,7 @@ import { FieldCaption } from "../../_cms_internals";
4
4
  import React, { useState } from "react";
5
5
 
6
6
  import { SearchIconsView } from "../../_cms_internals";
7
- import type { EntityCollection, PostgresCollection } from "@rebasepro/types";
7
+ import type { CollectionConfig, PostgresCollectionConfig } from "@rebasepro/types";
8
8
  import {
9
9
  BooleanSwitchWithLabel,
10
10
  Chip,
@@ -27,7 +27,7 @@ import { Field, getIn, useFormex } from "@rebasepro/formex";
27
27
  import { useCollectionsConfigController } from "../../useCollectionsConfigController";
28
28
  import { singular, toSnakeCase } from "@rebasepro/utils";
29
29
  import type { ExtraCollectionFieldsParams } from "../../extensibility_types";
30
- import { toSerializableCollection } from "../../serializable_utils";
30
+ import { toSerializableCollectionConfig } from "../../serializable_utils";
31
31
 
32
32
  export function GeneralSettingsForm({
33
33
  isNewCollection,
@@ -40,7 +40,7 @@ export function GeneralSettingsForm({
40
40
  isNewCollection: boolean;
41
41
  existingPaths?: string[];
42
42
  existingIds?: string[];
43
- parentCollection?: EntityCollection;
43
+ parentCollection?: CollectionConfig;
44
44
  renderExtraCollectionFields?: (params: ExtraCollectionFieldsParams) => React.ReactNode;
45
45
  standalone?: boolean;
46
46
  }) {
@@ -53,7 +53,7 @@ export function GeneralSettingsForm({
53
53
  errors,
54
54
  setFieldTouched,
55
55
  submitCount
56
- } = useFormex<PostgresCollection>();
56
+ } = useFormex<PostgresCollectionConfig>();
57
57
 
58
58
  const [iconDialogOpen, setIconDialogOpen] = useState(false);
59
59
 
@@ -255,7 +255,7 @@ export function GeneralSettingsForm({
255
255
  onMetadataChange: (key: string, value: unknown) => {
256
256
  setFieldValue(`metadata.${key}`, value);
257
257
  },
258
- collection: toSerializableCollection(values),
258
+ collection: toSerializableCollectionConfig(values),
259
259
  })}
260
260
  </div>
261
261
  )}
@@ -1,5 +1,5 @@
1
1
  import { useSafeSnackbarController } from "../../useSafeSnackbarController";
2
- import { EntityCollection } from "@rebasepro/types";
2
+ import { CollectionConfig } from "@rebasepro/types";
3
3
  import { Button, CopyIcon, Dialog, DialogActions, DialogContent, DialogTitle, Typography } from "@rebasepro/ui";
4
4
  import React from "react";
5
5
  import JSON5 from "json5";
@@ -12,12 +12,12 @@ export function GetCodeDialog({
12
12
  collection,
13
13
  onOpenChange,
14
14
  open
15
- }: { onOpenChange: (open: boolean) => void, collection: EntityCollection, open: boolean }) {
15
+ }: { onOpenChange: (open: boolean) => void, collection: CollectionConfig, open: boolean }) {
16
16
 
17
17
  const snackbarController = useSafeSnackbarController();
18
18
 
19
19
  const code = collection
20
- ? "import { EntityCollection } from \"@rebasepro/core\";\n\nconst " + (collection?.name ? camelCase(collection.name) : "my") + "Collection:EntityCollection = " + JSON5.stringify(collectionToCode({ ...collection }), null, "\t")
20
+ ? "import { CollectionConfig } from \"@rebasepro/core\";\n\nconst " + (collection?.name ? camelCase(collection.name) : "my") + "Collection:CollectionConfig = " + JSON5.stringify(collectionToCode({ ...collection }), null, "\t")
21
21
  : "No collection selected";
22
22
  return <Dialog open={open}
23
23
  onOpenChange={onOpenChange}
@@ -78,7 +78,7 @@ export function GetCodeDialog({
78
78
  </Dialog>;
79
79
  }
80
80
 
81
- function collectionToCode(collection: EntityCollection): object {
81
+ function collectionToCode(collection: CollectionConfig): object {
82
82
 
83
83
  const propertyCleanup = (value: unknown): unknown => {
84
84
  if (value === undefined || value === null) {
@@ -2,7 +2,7 @@
2
2
  import { FieldCaption } from "../../_cms_internals";
3
3
  import React, { useMemo, useRef, useState } from "react";
4
4
  import { useAuthController, useCustomizationController } from "@rebasepro/core";
5
- import { EntityCollection, Property } from "@rebasepro/types";
5
+ import { CollectionConfig, Property } from "@rebasepro/types";
6
6
  import { PropertyConfigBadge } from "../../../components/PropertyConfigBadge";
7
7
  import { getFieldConfig } from "../../../components/field_configs";
8
8
  import { Button, IconButton, iconSize, Select, SelectItem, Typography, XIcon } from "@rebasepro/ui";
@@ -19,7 +19,7 @@ export function KanbanConfigSection({
19
19
  }) {
20
20
  const authController = useAuthController();
21
21
  const customizationController = useCustomizationController();
22
- const { values, setFieldValue } = useFormex<EntityCollection>();
22
+ const { values, setFieldValue } = useFormex<CollectionConfig>();
23
23
  const panelRef = useRef<HTMLDivElement>(null);
24
24
  const [columnPropertyDialogOpen, setColumnPropertyDialogOpen] = useState(false);
25
25
 
@@ -6,10 +6,10 @@ import { Formex, FormexController, getIn, useCreateFormex } from "@rebasepro/for
6
6
  import { ConfirmationDialog } from "@rebasepro/core";
7
7
  import { DEFAULT_FIELD_CONFIGS, getFieldConfig, getFieldId } from "../../../components/field_configs";
8
8
  import { PropertyConfigBadge } from "../../../components/PropertyConfigBadge";
9
- import { EntityCollection, Property, PropertyConfig, PropertyConfigId } from "@rebasepro/types";
9
+ import { CollectionConfig, Property, PropertyConfig, PropertyConfigId } from "@rebasepro/types";
10
10
  import type { PropertyTypePreset, PropertyType } from "../../extensibility_types";
11
- import { toSerializableProperty, toSerializableCollection } from "../../serializable_utils";
12
- import type { SerializableProperty, SerializableCollection } from "../../serializable_types";
11
+ import { toSerializableProperty, toSerializableCollectionConfig } from "../../serializable_utils";
12
+ import type { SerializableProperty, SerializableCollectionConfig } from "../../serializable_types";
13
13
  import { isPropertyBuilder } from "@rebasepro/common";
14
14
  import {
15
15
  AlertTriangleIcon,
@@ -91,9 +91,9 @@ export type PropertyFormProps = {
91
91
  metadata: Record<string, unknown>;
92
92
  onMetadataChange: (key: string, value: unknown) => void;
93
93
  property: SerializableProperty;
94
- collection: SerializableCollection;
94
+ collection: SerializableCollectionConfig;
95
95
  }) => React.ReactNode;
96
- collectionValues?: EntityCollection;
96
+ collectionValues?: CollectionConfig;
97
97
 
98
98
  };
99
99
 
@@ -368,7 +368,7 @@ function PropertyEditFormFields({
368
368
  propertyTypePresets?: PropertyTypePreset[];
369
369
  hiddenPropertyTypes?: PropertyType[];
370
370
  renderExtraPropertyFields?: PropertyFormProps["renderExtraPropertyFields"];
371
- collectionValues?: EntityCollection;
371
+ collectionValues?: CollectionConfig;
372
372
 
373
373
  } & FormexController<PropertyWithId>) {
374
374
 
@@ -612,7 +612,7 @@ function PropertyEditFormFields({
612
612
  } as PropertyWithId);
613
613
  },
614
614
  property: toSerializableProperty(values as Property),
615
- collection: toSerializableCollection(collectionValues),
615
+ collection: toSerializableCollectionConfig(collectionValues),
616
616
  })}
617
617
  </div>
618
618
  )}
@@ -47,39 +47,49 @@ export function PropertyFieldPreview({
47
47
  >
48
48
  <PropertyConfigBadge propertyConfig={propertyConfig} size="small"/>
49
49
 
50
- <div className="flex-1 flex flex-col min-w-0 pr-8">
50
+ <div className="flex-1 flex flex-col min-w-0 mr-16">
51
51
  {includeName &&
52
52
  <ErrorBoundary>
53
- <div className="flex items-center gap-2">
54
- <Typography variant="body2" component="span">
53
+ <div className="flex items-center gap-2 min-w-0">
54
+ <Typography variant="body2" component="span" className="truncate font-medium">
55
55
  {property.name || propertyKey || "\u00a0"}
56
56
  </Typography>
57
- {property.name && propertyKey && property.name !== propertyKey && (
58
- <Typography variant="caption" component="span" color="secondary" className="font-mono">
57
+ {propertyConfig?.name && (
58
+ <Typography
59
+ variant={"caption"}
60
+ component="span"
61
+ className="text-text-secondary dark:text-text-secondary-dark shrink-0">
62
+ {propertyConfig.name}
63
+ </Typography>
64
+ )}
65
+ </div>
66
+ <div className="flex items-center gap-1.5 mt-0.5 min-w-0">
67
+ {propertyKey && (
68
+ <Typography variant="caption" component="span" color="secondary" className="font-mono truncate">
59
69
  {propertyKey}
60
70
  </Typography>
61
71
  )}
72
+ <ErrorBoundary>
73
+ <Typography variant="caption" component="span" className="shrink-0 text-text-disabled dark:text-text-disabled-dark font-mono">
74
+ · {"columnType" in property ? (property as { columnType?: string }).columnType ?? property.type : property.type}
75
+ </Typography>
76
+ </ErrorBoundary>
62
77
  </div>
63
78
  </ErrorBoundary>}
64
79
 
65
- <div className="flex flex-row items-center gap-2 mt-0.5">
66
- <ErrorBoundary>
67
- <Typography
68
- variant={"caption"}
69
- component="span"
70
- className="text-text-secondary dark:text-text-secondary-dark font-medium">
71
- {propertyConfig?.name}
72
- </Typography>
73
- </ErrorBoundary>
74
- </div>
80
+ {!includeName &&
81
+ <div className="flex flex-row items-center gap-2">
82
+ <ErrorBoundary>
83
+ <Typography
84
+ variant={"caption"}
85
+ component="span"
86
+ className="text-text-secondary dark:text-text-secondary-dark font-medium">
87
+ {propertyConfig?.name}
88
+ </Typography>
89
+ </ErrorBoundary>
90
+ </div>}
75
91
  </div>
76
92
 
77
- <ErrorBoundary>
78
- <Typography variant="caption" component="span" className="ml-auto shrink-0 text-text-disabled dark:text-text-disabled-dark font-mono bg-surface-100 dark:bg-surface-900 px-1.5 py-0.5 rounded mr-8">
79
- {"columnType" in property ? (property as { columnType?: string }).columnType ?? property.type : property.type}
80
- </Typography>
81
- </ErrorBoundary>
82
-
83
93
  {includeEditButton && <Typography variant={"button"}>EDIT</Typography>}
84
94
  </div>
85
95
  </div>
@@ -120,35 +130,34 @@ export function NonEditablePropertyPreview({
120
130
  <MinusCircleIcon className={"text-surface-accent-400 absolute -right-2 -top-2 bg-surface-50 dark:bg-surface-900 rounded-full"} size={iconSize.small}/>
121
131
  </div>
122
132
 
123
- <div className="flex-1 flex flex-col min-w-0 pr-8">
124
- <Typography variant="label" component="span" className="grow pr-2">
125
- {property?.name ? property.name : name}
126
- </Typography>
127
-
128
- <div className="flex flex-row items-center gap-2 mt-0.5">
129
- {propertyConfig && <Typography variant={"caption"} component="span" className="text-text-secondary dark:text-text-secondary-dark font-medium">
133
+ <div className="flex-1 flex flex-col min-w-0 mr-16">
134
+ <div className="flex items-center gap-2 min-w-0">
135
+ <Typography variant="label" component="span" className="truncate">
136
+ {property?.name ? property.name : name}
137
+ </Typography>
138
+ {propertyConfig && <Typography variant={"caption"} component="span" className="text-text-secondary dark:text-text-secondary-dark shrink-0">
130
139
  {propertyConfig?.name}
131
140
  </Typography>}
141
+ </div>
142
+
143
+ <div className="flex flex-row items-center gap-1.5 mt-0.5 min-w-0">
144
+ <Typography variant="caption" component="span" color="secondary" className="font-mono truncate">
145
+ {name}
146
+ </Typography>
132
147
 
133
148
  {property && isPropertyBuilder(property) && <ErrorBoundary>
134
149
  <Typography variant="caption" component="span" className="text-text-disabled dark:text-text-disabled-dark">
135
- Defined in code
150
+ · Defined in code
136
151
  </Typography>
137
152
  </ErrorBoundary>}
138
153
 
139
154
  {!property && <ErrorBoundary>
140
155
  <Typography variant="caption" component="span" className="text-text-disabled dark:text-text-disabled-dark">
141
- Additional field
156
+ · Additional field
142
157
  </Typography>
143
158
  </ErrorBoundary>}
144
159
  </div>
145
160
  </div>
146
-
147
- {property && !isPropertyBuilder(property) && <ErrorBoundary>
148
- <Typography variant="caption" component="span" className="ml-auto shrink-0 text-text-disabled dark:text-text-disabled-dark font-mono bg-surface-100 dark:bg-surface-900 px-1.5 py-0.5 rounded mr-8">
149
- {"columnType" in property ? (property as { columnType?: string }).columnType ?? property.type : property.type}
150
- </Typography>
151
- </ErrorBoundary>}
152
161
  </div>
153
162
  </div>
154
163
  )
@@ -287,7 +287,7 @@ export function PropertyTreeEntry({
287
287
  selected={selected}/>}
288
288
  </div>
289
289
 
290
- <div className="absolute top-1/2 -translate-y-1/2 right-3 flex flex-row items-center gap-1">
290
+ <div className="absolute top-1/2 -translate-y-1/2 right-2 flex flex-row items-center gap-1">
291
291
  {isAIModified && <AIModifiedIndicator/>}
292
292
  {isPropertyInferred && <>
293
293
  <Tooltip title={"Inferred property"} asChild={true}>
@@ -5,7 +5,7 @@ import {
5
5
  useCustomizationController
6
6
  } from "@rebasepro/core";
7
7
  import { resolveEntityView } from "../../_cms_internals";
8
- import { EntityCollection, EntityCustomView, User } from "@rebasepro/types";
8
+ import { CollectionConfig, EntityCustomView, User } from "@rebasepro/types";
9
9
  import { getSubcollections } from "@rebasepro/common";
10
10
  import {
11
11
  Alert,
@@ -37,8 +37,8 @@ export function SubcollectionsEditTab({
37
37
  getUser,
38
38
  parentCollectionSlugs
39
39
  }: {
40
- collection: EntityCollection,
41
- parentCollection?: EntityCollection,
40
+ collection: CollectionConfig,
41
+ parentCollection?: CollectionConfig,
42
42
  configController: CollectionsConfigController;
43
43
  collectionInference?: CollectionInference;
44
44
  getUser?: (uid: string) => User | null;
@@ -59,9 +59,9 @@ export function SubcollectionsEditTab({
59
59
  const {
60
60
  values,
61
61
  setFieldValue
62
- } = useFormex<EntityCollection>();
62
+ } = useFormex<CollectionConfig>();
63
63
 
64
- const [subcollections, setSubcollections] = React.useState<EntityCollection[]>(getSubcollections(collection) ?? []);
64
+ const [subcollections, setSubcollections] = React.useState<CollectionConfig[]>(getSubcollections(collection) ?? []);
65
65
  const resolvedEntityViews = values.entityViews?.filter(e => typeof e === "string")
66
66
  .map(e => resolveEntityView(e, contextEntityViews))
67
67
  .filter(Boolean) as EntityCustomView[] ?? [];
@@ -1,8 +1,8 @@
1
1
  import { useCollectionRegistryController } from "../../../_cms_internals";
2
2
  import { convertDataToEntity, ImportConfig } from "../../../_cms_internals";
3
3
  import { useAuthController } from "@rebasepro/core";
4
- import { EntityCollectionTable } from "../../../../components/EntityCollectionTable/EntityCollectionTable";
5
- import { useSelectionController } from "../../../../components/EntityCollectionView/useSelectionController";
4
+ import { CollectionTableBinding } from "../../../../components/CollectionTableBinding/CollectionTableBinding";
5
+ import { useSelectionController } from "../../../../components/CollectionViewBinding/useSelectionController";
6
6
  import { CircularProgressCenter } from "@rebasepro/ui";
7
7
  import { Properties } from "@rebasepro/types";
8
8
  import { useEffect, useState } from "react";
@@ -42,7 +42,7 @@ export function CollectionEditorImportDataPreview({
42
42
  if (loading)
43
43
  return <CircularProgressCenter/>
44
44
 
45
- return <EntityCollectionTable
45
+ return <CollectionTableBinding
46
46
  title={<div>
47
47
  <Typography variant={"subtitle2"}>Imported data preview</Typography>
48
48
  <Typography variant={"caption"}>Entities with the same id will be overwritten</Typography>
@@ -6,7 +6,7 @@ import { getIn, useFormex } from "@rebasepro/formex";
6
6
 
7
7
  import { getFieldConfig, getFieldId } from "../../../../components/field_configs";
8
8
  import { PropertyConfigBadge } from "../../../../components/PropertyConfigBadge";
9
- import { EntityCollection, Properties, Property, PropertyConfig } from "@rebasepro/types";
9
+ import { CollectionConfig, Properties, Property, PropertyConfig } from "@rebasepro/types";
10
10
  import { cls, Container, Select, SelectItem, Tooltip, Typography } from "@rebasepro/ui";
11
11
  import React, { useState } from "react";
12
12
  import { OnPropertyChangedParams, PropertyFormDialog, PropertyWithId } from "../PropertyEditView";
@@ -36,7 +36,7 @@ export function CollectionEditorImportMapping({
36
36
  setFieldValue,
37
37
  setFieldTouched,
38
38
  values
39
- } = useFormex<EntityCollection>();
39
+ } = useFormex<CollectionConfig>();
40
40
  const [selectedProperty, setSelectedProperty] = useState<PropertyWithId | undefined>(undefined);
41
41
 
42
42
  const currentPropertiesOrderRef = React.useRef<{
@@ -8,7 +8,7 @@ import {
8
8
  TextField,
9
9
  Typography
10
10
  } from "@rebasepro/ui";
11
- import { EntityCollection, OnAction, RelationProperty } from "@rebasepro/types";
11
+ import { CollectionConfig, OnAction, RelationProperty } from "@rebasepro/types";
12
12
 
13
13
  import { CollectionsSelect } from "./ReferencePropertyField";
14
14
 
@@ -87,7 +87,7 @@ targetColumn: "" };
87
87
  }
88
88
  }, [targetSlug, relationName, setFieldValue]);
89
89
 
90
- const collections: EntityCollection[] = collectionRegistry?.collections ?? [];
90
+ const collections: CollectionConfig[] = collectionRegistry?.collections ?? [];
91
91
 
92
92
  return (
93
93
  <>
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
 
3
3
  export const blogCollectionTemplate = {
4
4
  slug: "blog",
@@ -109,4 +109,4 @@ export const blogCollectionTemplate = {
109
109
  }
110
110
  }
111
111
  }
112
- } as unknown as EntityCollection;
112
+ } as unknown as CollectionConfig;
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
 
3
3
  export const pagesCollectionTemplate = {
4
4
  slug: "pages",
@@ -180,4 +180,4 @@ export const pagesCollectionTemplate = {
180
180
  description: "Should this page be live on the site?"
181
181
  }
182
182
  }
183
- } as unknown as EntityCollection;
183
+ } as unknown as CollectionConfig;
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
 
3
3
  export const productsCollectionTemplate = {
4
4
  slug: "products",
@@ -85,4 +85,4 @@ export const productsCollectionTemplate = {
85
85
  autoValue: "on_create"
86
86
  }
87
87
  }
88
- } as unknown as EntityCollection;
88
+ } as unknown as CollectionConfig;
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
 
3
3
  export const usersCollectionTemplate = {
4
4
  slug: "users",
@@ -39,4 +39,4 @@ export const usersCollectionTemplate = {
39
39
  url: "image"
40
40
  }
41
41
  }
42
- } as unknown as EntityCollection;
42
+ } as unknown as CollectionConfig;
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
- import type { EngineProperties, EntityCollection, NavigationGroupMapping, Property } from "@rebasepro/types";
2
+ import type { EngineProperties, CollectionConfig, NavigationGroupMapping, Property } from "@rebasepro/types";
3
3
  import type {
4
4
  CollectionsConfigController,
5
5
  SaveCollectionParams,
@@ -10,8 +10,8 @@ import type {
10
10
  UpdatePropertiesOrderParams,
11
11
  UpdateKanbanColumnsOrderParams,
12
12
  } from "./types/config_controller";
13
- import type { JsonCollectionStore, SerializableCollection } from "./serializable_types";
14
- import { toSerializableCollection, toSerializableProperty, fromSerializableCollection } from "./serializable_utils";
13
+ import type { JsonCollectionStore, SerializableCollectionConfig } from "./serializable_types";
14
+ import { toSerializableCollectionConfig, toSerializableProperty, fromSerializableCollectionConfig } from "./serializable_utils";
15
15
 
16
16
  export interface UseJsonCollectionsConfigControllerOptions {
17
17
  /**
@@ -55,7 +55,7 @@ export function useJsonCollectionsConfigController({
55
55
  readOnly = false,
56
56
  autoLoad = true,
57
57
  }: UseJsonCollectionsConfigControllerOptions): CollectionsConfigController {
58
- const [collections, setCollections] = useState<EntityCollection[]>([]);
58
+ const [collections, setCollections] = useState<CollectionConfig[]>([]);
59
59
  const [loading, setLoading] = useState(autoLoad);
60
60
  const [navigationEntries, setNavigationEntries] = useState<NavigationGroupMapping[]>([]);
61
61
 
@@ -75,7 +75,7 @@ export function useJsonCollectionsConfigController({
75
75
  storeRef.current.loadNavigationEntries?.() ?? Promise.resolve([]),
76
76
  ]);
77
77
  if (cancelled) return;
78
- setCollections(serialized.map(fromSerializableCollection));
78
+ setCollections(serialized.map(fromSerializableCollectionConfig));
79
79
  setNavigationEntries(navEntries);
80
80
  } catch (e) {
81
81
  console.error("useJsonCollectionsConfigController: failed to load collections", e);
@@ -92,15 +92,15 @@ export function useJsonCollectionsConfigController({
92
92
  /**
93
93
  * Update local state and persist a collection to the store.
94
94
  */
95
- const persistCollection = useCallback(async (collection: EntityCollection) => {
96
- const serializable = toSerializableCollection(collection);
95
+ const persistCollection = useCallback(async (collection: CollectionConfig) => {
96
+ const serializable = toSerializableCollectionConfig(collection);
97
97
  await storeRef.current.save(collection.slug, serializable);
98
98
  }, []);
99
99
 
100
100
  /**
101
101
  * Find collection by id (slug).
102
102
  */
103
- const getCollection = useCallback((id: string): EntityCollection => {
103
+ const getCollection = useCallback((id: string): CollectionConfig => {
104
104
  const found = collections.find(c => c.slug === id);
105
105
  if (found) return found;
106
106
  throw new Error(`Collection "${id}" not found`);
@@ -111,7 +111,7 @@ export function useJsonCollectionsConfigController({
111
111
  const saveCollection = useCallback(async <M extends Record<string, unknown>>(
112
112
  { id, collectionData }: SaveCollectionParams<M>
113
113
  ) => {
114
- const collection = collectionData as EntityCollection;
114
+ const collection = collectionData as CollectionConfig;
115
115
  await persistCollection(collection);
116
116
  setCollections(prev => {
117
117
  const idx = prev.findIndex(c => c.slug === id);
@@ -132,7 +132,7 @@ export function useJsonCollectionsConfigController({
132
132
  const idx = prev.findIndex(c => c.slug === lookupId);
133
133
  if (idx < 0) return prev;
134
134
 
135
- const merged = { ...prev[idx], ...collectionData } as EntityCollection;
135
+ const merged = { ...prev[idx], ...collectionData } as CollectionConfig;
136
136
  const next = [...prev];
137
137
  next[idx] = merged;
138
138
 
@@ -177,7 +177,7 @@ export function useJsonCollectionsConfigController({
177
177
  }
178
178
 
179
179
  const next = [...prev];
180
- next[idx] = collection as EntityCollection;
180
+ next[idx] = collection as CollectionConfig;
181
181
 
182
182
  persistCollection(next[idx]).catch(e =>
183
183
  console.error("useJsonCollectionsConfigController: failed to save property", e)
@@ -204,7 +204,7 @@ export function useJsonCollectionsConfigController({
204
204
  }
205
205
 
206
206
  const next = [...prev];
207
- next[idx] = collection as EntityCollection;
207
+ next[idx] = collection as CollectionConfig;
208
208
 
209
209
  persistCollection(next[idx]).catch(e =>
210
210
  console.error("useJsonCollectionsConfigController: failed to delete property", e)
@@ -221,7 +221,7 @@ export function useJsonCollectionsConfigController({
221
221
  const updated = {
222
222
  ...collection,
223
223
  propertiesOrder: newPropertiesOrder,
224
- } as EntityCollection;
224
+ } as CollectionConfig;
225
225
 
226
226
  setCollections(prev => {
227
227
  const idx = prev.findIndex(c => c.slug === collection.slug);
@@ -1,12 +1,12 @@
1
1
  import { CollectionsConfigController, SaveCollectionParams, UpdateCollectionParams, DeleteCollectionParams, SavePropertyParams, DeletePropertyParams, UpdatePropertiesOrderParams } from "./types/config_controller";
2
- import { EntityCollection, Properties } from "@rebasepro/types";
2
+ import { CollectionConfig, Properties } from "@rebasepro/types";
3
3
  import { getSubcollections } from "@rebasepro/common";
4
4
 
5
5
 
6
6
  import React, { useMemo, useRef } from "react";
7
7
  export function useLocalCollectionsConfigController(
8
8
  clientOrUrl: any,
9
- baseCollections: EntityCollection[] = [],
9
+ baseCollections: CollectionConfig[] = [],
10
10
  options?: {
11
11
  readOnly?: boolean;
12
12
  getAuthToken?: () => Promise<string | null>;
@@ -73,7 +73,7 @@ export function useLocalCollectionsConfigController(
73
73
  readOnlyReason: "Local collection editing is only available in development mode.",
74
74
  collections: parsedCollections,
75
75
  getCollection: (id: string) => {
76
- const found = parsedCollections.find(c => (c as EntityCollection & { id?: string }).id === id || c.slug === id);
76
+ const found = parsedCollections.find(c => (c as CollectionConfig & { id?: string }).id === id || c.slug === id);
77
77
  if (found) return found;
78
78
  throw Error(`Collection ${id} not found in local mode`);
79
79
  },
@@ -109,7 +109,7 @@ collectionData: { propertiesOrder: newPropertiesOrder } });
109
109
  },
110
110
 
111
111
  updatePropertiesOrder: async ({ collection, fullPath, newPropertiesOrder }: UpdatePropertiesOrderParams) => {
112
- const collectionId = (collection as EntityCollection & { id?: string }).id || fullPath.split("/").pop();
112
+ const collectionId = (collection as CollectionConfig & { id?: string }).id || fullPath.split("/").pop();
113
113
  await request("/collection/save", { collectionId,
114
114
  collectionData: { propertiesOrder: newPropertiesOrder } });
115
115
  },
@@ -1,4 +1,4 @@
1
- import { DataType, EntityCollection } from "@rebasepro/types";
1
+ import { DataType, CollectionConfig } from "@rebasepro/types";
2
2
 
3
3
 
4
4
  /**
@@ -33,7 +33,7 @@ export interface CollectionValidationError {
33
33
  export interface CollectionValidationResult {
34
34
  valid: boolean;
35
35
  errors: CollectionValidationError[];
36
- collection?: EntityCollection;
36
+ collection?: CollectionConfig;
37
37
  }
38
38
 
39
39
  /**
@@ -461,6 +461,6 @@ export function validateCollectionJson(jsonString: string): CollectionValidation
461
461
  return {
462
462
  valid: errors.length === 0,
463
463
  errors,
464
- collection: errors.length === 0 ? parsed as unknown as EntityCollection : undefined
464
+ collection: errors.length === 0 ? parsed as unknown as CollectionConfig : undefined
465
465
  };
466
466
  }