@proteinjs/db-ui 1.11.3 → 1.12.1

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/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.12.1](https://github.com/proteinjs/db/compare/@proteinjs/db-ui@1.12.0...@proteinjs/db-ui@1.12.1) (2026-08-26)
7
+
8
+ **Note:** Version bump only for package @proteinjs/db-ui
9
+
10
+
11
+
12
+
13
+
14
+ # [1.12.0](https://github.com/proteinjs/db/compare/@proteinjs/db-ui@1.11.3...@proteinjs/db-ui@1.12.0) (2026-08-26)
15
+
16
+
17
+ ### Features
18
+
19
+ * record form field renderers — a customization can take over a field's slot with its own component ([8b7ff2a](https://github.com/proteinjs/db/commit/8b7ff2ab02f6bda908df03b09a618fa5da1b4513))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [1.11.3](https://github.com/proteinjs/db/compare/@proteinjs/db-ui@1.11.2...@proteinjs/db-ui@1.11.3) (2026-08-26)
7
26
 
8
27
  **Note:** Version bump only for package @proteinjs/db-ui
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  require("@proteinjs/db");
19
19
  require("@proteinjs/ui");
20
20
  /** Generate Source Graph */
21
- var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-ui/QueryCursorLoader\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"QueryCursorLoader\",\"filePath\":\"src/table/QueryCursorLoader.ts\",\"qualifiedName\":\"@proteinjs/db-ui/QueryCursorLoader\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"reactQueryKeys\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"ReactQueryKeys\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/ReactQueryKeys\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"pager\",\"type\":{\"packageName\":\"\",\"name\":\"CursorWindowPager<T>\",\"filePath\":null,\"qualifiedName\":\"/CursorWindowPager<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"loadWindow\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<CursorWindow<T>>\",\"filePath\":null,\"qualifiedName\":\"/Promise<CursorWindow<T>>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"cursor\",\"type\":{\"packageName\":\"\",\"name\":\"CursorValue | null\",\"filePath\":null,\"qualifiedName\":\"/CursorValue | null\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"windowSize\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[\"/T extends Record\"],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"CursorLoader\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/CursorLoader\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/ui/CursorLoader\"},{\"v\":\"@proteinjs/db-ui/QueryTableLoader\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"QueryTableLoader\",\"filePath\":\"src/table/QueryTableLoader.ts\",\"qualifiedName\":\"@proteinjs/db-ui/QueryTableLoader\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"rowCountQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"paginationQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"reactQueryKeys\",\"type\":{\"packageName\":\"\",\"name\":\"TableLoader<T>['reactQueryKeys']\",\"filePath\":null,\"qualifiedName\":\"/TableLoader<T>['reactQueryKeys']\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<T>\",\"filePath\":null,\"qualifiedName\":\"/Table<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"query\",\"type\":{\"packageName\":\"\",\"name\":\"Query<T>\",\"filePath\":null,\"qualifiedName\":\"/Query<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"sort\",\"type\":{\"packageName\":\"\",\"name\":\"SortCriteria<T>[]\",\"filePath\":null,\"qualifiedName\":\"/SortCriteria<T>[]\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"queryOptions\",\"type\":{\"packageName\":\"\",\"name\":\"QueryOptions<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryOptions<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"load\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<RowWindow<T>>\",\"filePath\":null,\"qualifiedName\":\"/Promise<RowWindow<T>>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"startIndex\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"endIndex\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"skipRowCount\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[\"/T extends Record\"],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"TableLoader\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/TableLoader\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/ui/TableLoader\"},{\"v\":\"@proteinjs/db-ui/RecordFormCustomization\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"RecordFormCustomization\",\"filePath\":\"src/form/RecordFormCustomization.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/RecordFormCustomization\",\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[{\"name\":\"getFormButtons\",\"returnType\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"record\",\"type\":{\"packageName\":\"\",\"name\":\"any\",\"filePath\":null,\"qualifiedName\":\"/any\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"defaultFormButtons\",\"type\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFieldLayout\",\"returnType\":{\"packageName\":\"\",\"name\":\"string[] | string[][]\",\"filePath\":null,\"qualifiedName\":\"/string[] | string[][]\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"record\",\"type\":{\"packageName\":\"\",\"name\":\"any\",\"filePath\":null,\"qualifiedName\":\"/any\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"defaultFieldLayout\",\"type\":{\"packageName\":\"\",\"name\":\"string[] | string[][]\",\"filePath\":null,\"qualifiedName\":\"/string[] | string[][]\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/db-ui/hashGeneratorPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"hashGeneratorPage\",\"filePath\":\"src/pages/HashGeneratorPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/hashGeneratorPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/ui/Page\"},{\"v\":\"@proteinjs/db-ui/recordFormPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"recordFormPage\",\"filePath\":\"src/pages/RecordFormPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/recordFormPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/recordTablePage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"recordTablePage\",\"filePath\":\"src/pages/RecordTablePage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/recordTablePage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/tablesPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"tablesPage\",\"filePath\":\"src/pages/TablesPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/tablesPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/uuidGeneratorPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"uuidGeneratorPage\",\"filePath\":\"src/pages/UuidGeneratorPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/uuidGeneratorPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/SpecificTableProps\"},{\"v\":\"@proteinjs/db-ui/MigrationRecordFormCustomization\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"MigrationRecordFormCustomization\",\"filePath\":\"src/form/customizations/MigrationRecordFormCustomization.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/MigrationRecordFormCustomization\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"table\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[{\"name\":\"getFormButtons\",\"returnType\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"migration\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"Migration\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Migration\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"defaultFormButtons\",\"type\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"setRetired\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"migration\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"Migration\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Migration\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"retired\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"fields\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Fields\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Fields\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"formButtons\",\"type\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"RecordFormCustomization\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-ui/RecordFormCustomization\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}}],\"edges\":[{\"v\":\"@proteinjs/db-ui/QueryCursorLoader\",\"w\":\"@proteinjs/ui/CursorLoader\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-ui/QueryTableLoader\",\"w\":\"@proteinjs/ui/TableLoader\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-ui/RecordFormCustomization\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-ui/hashGeneratorPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/recordFormPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/recordTablePage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/tablesPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/uuidGeneratorPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/MigrationRecordFormCustomization\",\"w\":\"@proteinjs/db-ui/RecordFormCustomization\",\"value\":\"extends class\"}]}";
21
+ var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-ui/QueryCursorLoader\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"QueryCursorLoader\",\"filePath\":\"src/table/QueryCursorLoader.ts\",\"qualifiedName\":\"@proteinjs/db-ui/QueryCursorLoader\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"reactQueryKeys\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"ReactQueryKeys\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/ReactQueryKeys\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"pager\",\"type\":{\"packageName\":\"\",\"name\":\"CursorWindowPager<T>\",\"filePath\":null,\"qualifiedName\":\"/CursorWindowPager<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"loadWindow\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<CursorWindow<T>>\",\"filePath\":null,\"qualifiedName\":\"/Promise<CursorWindow<T>>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"cursor\",\"type\":{\"packageName\":\"\",\"name\":\"CursorValue | null\",\"filePath\":null,\"qualifiedName\":\"/CursorValue | null\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"windowSize\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[\"/T extends Record\"],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"CursorLoader\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/CursorLoader\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/ui/CursorLoader\"},{\"v\":\"@proteinjs/db-ui/QueryTableLoader\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"QueryTableLoader\",\"filePath\":\"src/table/QueryTableLoader.ts\",\"qualifiedName\":\"@proteinjs/db-ui/QueryTableLoader\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"rowCountQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"paginationQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"reactQueryKeys\",\"type\":{\"packageName\":\"\",\"name\":\"TableLoader<T>['reactQueryKeys']\",\"filePath\":null,\"qualifiedName\":\"/TableLoader<T>['reactQueryKeys']\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<T>\",\"filePath\":null,\"qualifiedName\":\"/Table<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"query\",\"type\":{\"packageName\":\"\",\"name\":\"Query<T>\",\"filePath\":null,\"qualifiedName\":\"/Query<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"sort\",\"type\":{\"packageName\":\"\",\"name\":\"SortCriteria<T>[]\",\"filePath\":null,\"qualifiedName\":\"/SortCriteria<T>[]\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"queryOptions\",\"type\":{\"packageName\":\"\",\"name\":\"QueryOptions<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryOptions<T>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"load\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<RowWindow<T>>\",\"filePath\":null,\"qualifiedName\":\"/Promise<RowWindow<T>>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"startIndex\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"endIndex\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"skipRowCount\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[\"/T extends Record\"],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"TableLoader\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/TableLoader\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/ui/TableLoader\"},{\"v\":\"/React.ComponentType\"},{\"v\":\"@proteinjs/db-ui/RecordFormCustomization\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"RecordFormCustomization\",\"filePath\":\"src/form/RecordFormCustomization.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/RecordFormCustomization\",\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[{\"name\":\"getFormButtons\",\"returnType\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"record\",\"type\":{\"packageName\":\"\",\"name\":\"any\",\"filePath\":null,\"qualifiedName\":\"/any\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"defaultFormButtons\",\"type\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFieldLayout\",\"returnType\":{\"packageName\":\"\",\"name\":\"string[] | string[][]\",\"filePath\":null,\"qualifiedName\":\"/string[] | string[][]\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"record\",\"type\":{\"packageName\":\"\",\"name\":\"any\",\"filePath\":null,\"qualifiedName\":\"/any\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"defaultFieldLayout\",\"type\":{\"packageName\":\"\",\"name\":\"string[] | string[][]\",\"filePath\":null,\"qualifiedName\":\"/string[] | string[][]\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFieldRenderer\",\"returnType\":{\"packageName\":\"\",\"name\":\"RecordFormFieldRenderer | undefined\",\"filePath\":null,\"qualifiedName\":\"/RecordFormFieldRenderer | undefined\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fieldName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"record\",\"type\":{\"packageName\":\"\",\"name\":\"any\",\"filePath\":null,\"qualifiedName\":\"/any\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/db-ui/hashGeneratorPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"hashGeneratorPage\",\"filePath\":\"src/pages/HashGeneratorPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/hashGeneratorPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/ui/Page\"},{\"v\":\"@proteinjs/db-ui/recordFormPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"recordFormPage\",\"filePath\":\"src/pages/RecordFormPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/recordFormPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/recordTablePage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"recordTablePage\",\"filePath\":\"src/pages/RecordTablePage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/recordTablePage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/tablesPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"tablesPage\",\"filePath\":\"src/pages/TablesPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/tablesPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/uuidGeneratorPage\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"uuidGeneratorPage\",\"filePath\":\"src/pages/UuidGeneratorPage.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/uuidGeneratorPage\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Page\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-ui/SpecificTableProps\"},{\"v\":\"@proteinjs/db-ui/MigrationRecordFormCustomization\",\"value\":{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"MigrationRecordFormCustomization\",\"filePath\":\"src/form/customizations/MigrationRecordFormCustomization.tsx\",\"qualifiedName\":\"@proteinjs/db-ui/MigrationRecordFormCustomization\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"table\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[{\"name\":\"getFormButtons\",\"returnType\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"migration\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"Migration\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Migration\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"defaultFormButtons\",\"type\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"setRetired\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"migration\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"Migration\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Migration\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"retired\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"fields\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Fields\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/Fields\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"formButtons\",\"type\":{\"packageName\":\"\",\"name\":\"FormButtons<any>\",\"filePath\":null,\"qualifiedName\":\"/FormButtons<any>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db-ui\",\"name\":\"RecordFormCustomization\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-ui/RecordFormCustomization\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}}],\"edges\":[{\"v\":\"@proteinjs/db-ui/QueryCursorLoader\",\"w\":\"@proteinjs/ui/CursorLoader\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-ui/QueryTableLoader\",\"w\":\"@proteinjs/ui/TableLoader\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-ui/RecordFormCustomization\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-ui/hashGeneratorPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/recordFormPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/recordTablePage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/tablesPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/uuidGeneratorPage\",\"w\":\"@proteinjs/ui/Page\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-ui/MigrationRecordFormCustomization\",\"w\":\"@proteinjs/db-ui/RecordFormCustomization\",\"value\":\"extends class\"}]}";
22
22
  /** Generate Source Links */
23
23
  var QueryCursorLoader_1 = require("../src/table/QueryCursorLoader");
24
24
  var QueryTableLoader_1 = require("../src/table/QueryTableLoader");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,yBAAuB;AACvB,yBAAuB;AAGvB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,wxcAAwxc,CAAC;AAG7yc,4BAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,+EAA8E;AAC9E,oEAAmE;AACnE,8DAA6D;AAC7D,gEAA+D;AAC/D,sDAAqD;AACrD,oEAAmE;AACnE,gHAA+G;AAE/G,IAAM,WAAW,GAAG;IACnB,oCAAoC,EAAE,qCAAiB;IACvD,mCAAmC,EAAE,mCAAgB;IACrD,0CAA0C,EAAE,iDAAuB;IACnE,oCAAoC,EAAE,qCAAiB;IACvD,iCAAiC,EAAE,+BAAc;IACjD,kCAAkC,EAAE,iCAAe;IACnD,6BAA6B,EAAE,uBAAU;IACzC,oCAAoC,EAAE,qCAAiB;IACvD,mDAAmD,EAAE,mEAAgC;CACrF,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,yBAAuB;AACvB,yBAAuB;AAGvB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,q/dAAq/d,CAAC;AAG1ge,4BAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,+EAA8E;AAC9E,oEAAmE;AACnE,8DAA6D;AAC7D,gEAA+D;AAC/D,sDAAqD;AACrD,oEAAmE;AACnE,gHAA+G;AAE/G,IAAM,WAAW,GAAG;IACnB,oCAAoC,EAAE,qCAAiB;IACvD,mCAAmC,EAAE,mCAAgB;IACrD,0CAA0C,EAAE,iDAAuB;IACnE,oCAAoC,EAAE,qCAAiB;IACvD,iCAAiC,EAAE,+BAAc;IACjD,kCAAkC,EAAE,iCAAe;IACnD,6BAA6B,EAAE,uBAAU;IACzC,oCAAoC,EAAE,qCAAiB;IACvD,mDAAmD,EAAE,mEAAgC;CACrF,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecordForm.d.ts","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EACL,KAAK,EACL,MAAM,EAUP,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IAC9C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOrG;AAqED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,qBAyTjF"}
1
+ {"version":3,"file":"RecordForm.d.ts","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EACL,KAAK,EACL,MAAM,EAUP,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IAC9C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOrG;AAqED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,qBAsYjF"}
@@ -152,7 +152,8 @@ function RecordForm(_a) {
152
152
  if (columnPropertyName == 'name' || columnPropertyName == 'created' || columnPropertyName == 'updated') {
153
153
  continue;
154
154
  }
155
- if ((_b = (_a = column.options) === null || _a === void 0 ? void 0 : _a.ui) === null || _b === void 0 ? void 0 : _b.hidden) {
155
+ // A customization's field component surfaces a column the default form hides
156
+ if (((_b = (_a = column.options) === null || _a === void 0 ? void 0 : _a.ui) === null || _b === void 0 ? void 0 : _b.hidden) && !getFieldRenderer(columnPropertyName)) {
156
157
  continue;
157
158
  }
158
159
  columns[columnPropertyName] = column;
@@ -186,11 +187,26 @@ function RecordForm(_a) {
186
187
  columnPropertyName == 'updated' ||
187
188
  (0, util_1.isInstanceOf)(column, db_1.DateTimeColumn)));
188
189
  }
190
+ /**
191
+ * A customization's component for the field, if it declared one. Only existing records have
192
+ * stored state to present, so the new-record form never consults renderers (see
193
+ * `RecordFormCustomization.getFieldRenderer`).
194
+ */
195
+ function getFieldRenderer(columnPropertyName) {
196
+ if (isNewRecord || !recordFormCustomization) {
197
+ return undefined;
198
+ }
199
+ return recordFormCustomization.getFieldRenderer(columnPropertyName, record);
200
+ }
189
201
  /** Pick the field control that tells the truth about the column's type. */
190
202
  function createField(columnPropertyName, column) {
191
203
  var _this = this;
192
204
  var name = columnPropertyName;
193
205
  var label = util_1.StringUtil.humanizeCamel(columnPropertyName);
206
+ var fieldRenderer = getFieldRenderer(columnPropertyName);
207
+ if (fieldRenderer) {
208
+ return customField(name, label, column, fieldRenderer);
209
+ }
194
210
  // Readonly values render as text (a native date input isn't text-selectable): copyable
195
211
  // ids/timestamps beat a type-specific control the user can't interact with anyway.
196
212
  if (isReadonlyField(columnPropertyName, column)) {
@@ -232,6 +248,40 @@ function RecordForm(_a) {
232
248
  }
233
249
  return (0, ui_1.textField)({ name: name, label: label });
234
250
  }
251
+ /**
252
+ * The slot a customization's component renders in. The component reads its value from the
253
+ * loaded record (not the form's field value), so one `reload` refreshes every custom field:
254
+ * reload re-reads the record in place and reports the change through the form's own onChange,
255
+ * which is what re-renders the form.
256
+ */
257
+ function customField(name, label, column, FieldRenderer) {
258
+ var _this = this;
259
+ var loadedRecord = record;
260
+ return {
261
+ field: { name: name, label: label },
262
+ component: function (_a) {
263
+ var field = _a.field, onChange = _a.onChange;
264
+ return (react_1.default.createElement(FieldRenderer, { table: table, column: column, fieldName: name, label: label, record: loadedRecord, value: loadedRecord[name], reload: function () { return __awaiter(_this, void 0, void 0, function () {
265
+ var fresh;
266
+ return __generator(this, function (_a) {
267
+ switch (_a.label) {
268
+ case 0: return [4 /*yield*/, (0, db_1.getDbService)().get(table, { id: loadedRecord.id })];
269
+ case 1:
270
+ fresh = _a.sent();
271
+ if (!fresh) {
272
+ throw new Error("".concat((0, string_1.default)(table.name).humanize().s, " no longer exists"));
273
+ }
274
+ Object.assign(loadedRecord, fresh);
275
+ return [4 /*yield*/, onChange(field, fresh[name], function () { })];
276
+ case 2:
277
+ _a.sent();
278
+ return [2 /*return*/];
279
+ }
280
+ });
281
+ }); } }));
282
+ },
283
+ };
284
+ }
235
285
  function fieldLayout() {
236
286
  var columns = getColumns();
237
287
  var layoutColumns = Object.entries(columns).length > 6 ? 2 : 1;
@@ -276,6 +326,21 @@ function RecordForm(_a) {
276
326
  }
277
327
  return fieldValue;
278
328
  }
329
+ /**
330
+ * The update payload is the loaded record minus what this form doesn't own: service-protected
331
+ * columns, and custom-rendered fields — those are their component's, written through the
332
+ * component's own service. Echoing a loaded value back would clobber whatever that service
333
+ * wrote since the load.
334
+ */
335
+ function savePayload() {
336
+ var payload = stripServiceProtectedColumns(table, record);
337
+ for (var columnPropertyName in getColumns()) {
338
+ if (getFieldRenderer(columnPropertyName)) {
339
+ delete payload[columnPropertyName];
340
+ }
341
+ }
342
+ return payload;
343
+ }
279
344
  function buttons() {
280
345
  var _this = this;
281
346
  var newRecord;
@@ -341,10 +406,13 @@ function RecordForm(_a) {
341
406
  if (isReadonlyField(columnPropertyName, getColumn(columnPropertyName))) {
342
407
  continue;
343
408
  }
409
+ if (getFieldRenderer(columnPropertyName)) {
410
+ continue;
411
+ }
344
412
  field = fields[columnPropertyName];
345
413
  record[columnPropertyName] = getFieldValue(columnPropertyName, field.field.value);
346
414
  }
347
- return [4 /*yield*/, (0, db_1.getDbService)().update(table, stripServiceProtectedColumns(table, record))];
415
+ return [4 /*yield*/, (0, db_1.getDbService)().update(table, savePayload())];
348
416
  case 1:
349
417
  _a.sent();
350
418
  return [2 /*return*/, "Saved ".concat((0, string_1.default)(table.name).humanize().s)];
@@ -400,6 +468,10 @@ function RecordForm(_a) {
400
468
  return [2 /*return*/];
401
469
  }
402
470
  for (columnPropertyName in fields) {
471
+ // Custom-rendered fields read straight from the loaded record
472
+ if (getFieldRenderer(columnPropertyName)) {
473
+ continue;
474
+ }
403
475
  column = getColumn(columnPropertyName);
404
476
  field = fields[columnPropertyName].field;
405
477
  fieldValue = record[columnPropertyName];
@@ -1 +1 @@
1
- {"version":3,"file":"RecordForm.js","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordForm.js","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,29 @@
1
+ import React from 'react';
1
2
  import { Loadable } from '@proteinjs/reflection';
2
3
  import { FormButtons } from '@proteinjs/ui';
3
- import { Table } from '@proteinjs/db';
4
+ import { Column, Record, Table } from '@proteinjs/db';
4
5
  export declare const getRecordFormCustomizations: () => RecordFormCustomization[];
5
6
  export declare const getRecordFormCustomization: (tableName: string) => RecordFormCustomization | undefined;
7
+ /**
8
+ * What a custom field component receives. The component OWNS its field: it presents `value`
9
+ * (read from the loaded record) and performs any edit through a service of its own, then calls
10
+ * `reload` so the slot shows the stored truth. The form's save payload never carries a
11
+ * custom-rendered field.
12
+ */
13
+ export type RecordFormFieldProps<T extends Record = any, V = any> = {
14
+ table: Table<T>;
15
+ column: Column<T, any>;
16
+ /** The column's property name on the record (the field's key in the form layout). */
17
+ fieldName: string;
18
+ /** The humanized label the default control would have carried. */
19
+ label: string;
20
+ /** The loaded record. Renderers are only consulted for existing records, so this is never undefined. */
21
+ record: T;
22
+ value: V;
23
+ /** Re-read the record through the db service and re-render the form from it. */
24
+ reload: () => Promise<void>;
25
+ };
26
+ export type RecordFormFieldRenderer<T extends Record = any> = React.ComponentType<RecordFormFieldProps<T>>;
6
27
  export declare abstract class RecordFormCustomization implements Loadable {
7
28
  abstract table: Table<any>;
8
29
  getFormButtons(record: any, defaultFormButtons: FormButtons<any>): FormButtons<any>;
@@ -12,5 +33,15 @@ export declare abstract class RecordFormCustomization implements Loadable {
12
33
  * an invite) can show only the fields that action actually consumes.
13
34
  */
14
35
  getFieldLayout(record: any, defaultFieldLayout: string[] | string[][]): string[] | string[][];
36
+ /**
37
+ * Take over a field's slot with a component of your own (see `RecordFormFieldProps` for what it
38
+ * receives and owns). Declaring a renderer also surfaces a column the default form hides (ie. an
39
+ * `ArrayColumn`), so service-owned state like `user.roles` can be presented and acted on from the
40
+ * record form without the form's generic controls pretending to edit it.
41
+ *
42
+ * Consulted only for existing records: a record that doesn't exist yet has no stored state to
43
+ * present or service to write through, so the new-record form renders its default controls.
44
+ */
45
+ getFieldRenderer(fieldName: string, record: any): RecordFormFieldRenderer | undefined;
15
46
  }
16
47
  //# sourceMappingURL=RecordFormCustomization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordFormCustomization.d.ts","sourceRoot":"","sources":["../../../src/form/RecordFormCustomization.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,eAAO,MAAM,2BAA2B,iCAC6D,CAAC;AAEtG,eAAO,MAAM,0BAA0B,cAAe,MAAM,wCAO3D,CAAC;AAEF,8BAAsB,uBAAwB,YAAW,QAAQ;IAC/D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3B,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;IAInF;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE;CAG9F"}
1
+ {"version":3,"file":"RecordFormCustomization.d.ts","sourceRoot":"","sources":["../../../src/form/RecordFormCustomization.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,2BAA2B,iCAC6D,CAAC;AAEtG,eAAO,MAAM,0BAA0B,cAAe,MAAM,wCAO3D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI;IAClE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvB,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,wGAAwG;IACxG,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,CAAC,CAAC;IACT,gFAAgF;IAChF,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3G,8BAAsB,uBAAwB,YAAW,QAAQ;IAC/D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3B,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;IAInF;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE;IAI7F;;;;;;;;OAQG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,uBAAuB,GAAG,SAAS;CAGtF"}
@@ -30,6 +30,18 @@ var RecordFormCustomization = /** @class */ (function () {
30
30
  RecordFormCustomization.prototype.getFieldLayout = function (record, defaultFieldLayout) {
31
31
  return defaultFieldLayout;
32
32
  };
33
+ /**
34
+ * Take over a field's slot with a component of your own (see `RecordFormFieldProps` for what it
35
+ * receives and owns). Declaring a renderer also surfaces a column the default form hides (ie. an
36
+ * `ArrayColumn`), so service-owned state like `user.roles` can be presented and acted on from the
37
+ * record form without the form's generic controls pretending to edit it.
38
+ *
39
+ * Consulted only for existing records: a record that doesn't exist yet has no stored state to
40
+ * present or service to write through, so the new-record form renders its default controls.
41
+ */
42
+ RecordFormCustomization.prototype.getFieldRenderer = function (fieldName, record) {
43
+ return undefined;
44
+ };
33
45
  return RecordFormCustomization;
34
46
  }());
35
47
  exports.RecordFormCustomization = RecordFormCustomization;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordFormCustomization.js","sourceRoot":"","sources":["../../../src/form/RecordFormCustomization.tsx"],"names":[],"mappings":";;;AAAA,oDAAmE;AAI5D,IAAM,2BAA2B,GAAG;IACzC,OAAA,6BAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAA0B,0CAA0C,CAAC;AAAnG,CAAmG,CAAC;AADzF,QAAA,2BAA2B,+BAC8D;AAE/F,IAAM,0BAA0B,GAAG,UAAC,SAAiB;IAC1D,IAAM,wBAAwB,GAAG,IAAA,mCAA2B,GAAE,CAAC;IAC/D,KAAsC,UAAwB,EAAxB,qDAAwB,EAAxB,sCAAwB,EAAxB,IAAwB,EAAE;QAA3D,IAAM,uBAAuB,iCAAA;QAChC,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;YACnD,OAAO,uBAAuB,CAAC;SAChC;KACF;AACH,CAAC,CAAC;AAPW,QAAA,0BAA0B,8BAOrC;AAEF;IAAA;IAeA,CAAC;IAZC,gDAAc,GAAd,UAAe,MAAW,EAAE,kBAAoC;QAC9D,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,gDAAc,GAAd,UAAe,MAAW,EAAE,kBAAyC;QACnE,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACH,8BAAC;AAAD,CAAC,AAfD,IAeC;AAfqB,0DAAuB"}
1
+ {"version":3,"file":"RecordFormCustomization.js","sourceRoot":"","sources":["../../../src/form/RecordFormCustomization.tsx"],"names":[],"mappings":";;;AACA,oDAAmE;AAI5D,IAAM,2BAA2B,GAAG;IACzC,OAAA,6BAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAA0B,0CAA0C,CAAC;AAAnG,CAAmG,CAAC;AADzF,QAAA,2BAA2B,+BAC8D;AAE/F,IAAM,0BAA0B,GAAG,UAAC,SAAiB;IAC1D,IAAM,wBAAwB,GAAG,IAAA,mCAA2B,GAAE,CAAC;IAC/D,KAAsC,UAAwB,EAAxB,qDAAwB,EAAxB,sCAAwB,EAAxB,IAAwB,EAAE;QAA3D,IAAM,uBAAuB,iCAAA;QAChC,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;YACnD,OAAO,uBAAuB,CAAC;SAChC;KACF;AACH,CAAC,CAAC;AAPW,QAAA,0BAA0B,8BAOrC;AAwBF;IAAA;IA4BA,CAAC;IAzBC,gDAAc,GAAd,UAAe,MAAW,EAAE,kBAAoC;QAC9D,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,gDAAc,GAAd,UAAe,MAAW,EAAE,kBAAyC;QACnE,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACH,kDAAgB,GAAhB,UAAiB,SAAiB,EAAE,MAAW;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,8BAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BqB,0DAAuB"}
@@ -0,0 +1,5 @@
1
+ import '../generated';
2
+ declare global {
3
+ var IS_REACT_ACT_ENVIRONMENT: boolean;
4
+ }
5
+ //# sourceMappingURL=recordFormFieldRenderers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordFormFieldRenderers.test.d.ts","sourceRoot":"","sources":["../../test/recordFormFieldRenderers.test.tsx"],"names":[],"mappings":"AAuBA,OAAO,cAAc,CAAC;AAgFtB,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,wBAAwB,EAAE,OAAO,CAAC;CACvC"}