@contember/bindx-dataview 0.1.5 → 0.1.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"columnTypes.d.ts","sourceRoot":"","sources":["../src/columnTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,KAAK,EACX,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,kBAAkB,CAAA;AAgBzB,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,eAAe,SAAS,cAAc,GAAG,cAAc;IACvG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC,eAAe,CAAC,CAAA;IACnF,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;CACtF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,SAAS,cAAc,EAC9E,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,GACzC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAExC;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAIxF;AAYD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,yBAAyB,CAMlF,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAM7E,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,GAAG,IAAI,EAAE,qBAAqB,CAMhF,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,sBAAsB,CAM5F,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE,uBAAuB,CAM7E,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAMzE,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAM1E,CAAA"}
1
+ {"version":3,"file":"columnTypes.d.ts","sourceRoot":"","sources":["../src/columnTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,KAAK,EACX,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,kBAAkB,CAAA;AAgBzB,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,eAAe,SAAS,cAAc,GAAG,cAAc;IACvG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC,eAAe,CAAC,CAAA;IACnF,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;CACtF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,SAAS,cAAc,EAC9E,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,GACzC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAExC;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGxF;AAYD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,yBAAyB,CAMlF,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAM7E,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,GAAG,IAAI,EAAE,qBAAqB,CAMhF,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,sBAAsB,CAM5F,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAMzE,CAAA;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE,uBAAuB,CAM7E,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAMzE,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAM1E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDataGridSetup.d.ts","sourceRoot":"","sources":["../src/useDataGridSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDataGridSetup.d.ts","sourceRoot":"","sources":["../src/useDataGridSetup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/bindx-dataview",
3
- "version": "0.1.5",
3
+ "version": "0.1.11",
4
4
  "description": "Headless DataGrid and DataView components for bindx",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -15,8 +15,8 @@
15
15
  "react": ">=18.0.0"
16
16
  },
17
17
  "dependencies": {
18
- "@contember/bindx": "0.1.5",
19
- "@contember/bindx-react": "0.1.5",
18
+ "@contember/bindx": "0.1.11",
19
+ "@contember/bindx-react": "0.1.11",
20
20
  "@radix-ui/primitive": "^1.1.3",
21
21
  "@radix-ui/react-slot": "^1.2.4"
22
22
  },
package/src/DataGrid.tsx CHANGED
@@ -105,27 +105,27 @@ function DataGridImpl<TRoleMap extends Record<string, object>>({
105
105
  queryKey: setup.queryKey,
106
106
  })
107
107
 
108
- const items = result.status === 'ready' ? result.items : []
108
+ const items = result.$status === 'ready' ? result.items : []
109
109
  const itemCount = items.length
110
110
 
111
111
  // Update loader state
112
112
  useEffect(() => {
113
- if (result.status === 'ready') {
113
+ if (result.$status === 'ready') {
114
114
  hasLoadedOnce.current = true
115
115
  setLoaderState('loaded')
116
- } else if (result.status === 'error') {
116
+ } else if (result.$status === 'error') {
117
117
  setLoaderState('failed')
118
- } else if (result.status === 'loading') {
118
+ } else if (result.$status === 'loading') {
119
119
  setLoaderState(hasLoadedOnce.current ? 'refreshing' : 'initial')
120
120
  }
121
- }, [result.status])
121
+ }, [result.$status])
122
122
 
123
123
  // Update total count when data is ready
124
124
  useEffect(() => {
125
- if (result.status === 'ready' && setup.paging.queryLimit !== undefined && setup.paging.queryOffset !== undefined && itemCount < setup.paging.queryLimit) {
125
+ if (result.$status === 'ready' && setup.paging.queryLimit !== undefined && setup.paging.queryOffset !== undefined && itemCount < setup.paging.queryLimit) {
126
126
  setup.paging.setTotalCount(setup.paging.queryOffset + itemCount)
127
127
  }
128
- }, [result.status, itemCount, setup.paging.queryLimit, setup.paging.queryOffset, setup.paging.setTotalCount])
128
+ }, [result.$status, itemCount, setup.paging.queryLimit, setup.paging.queryOffset, setup.paging.setTotalCount])
129
129
 
130
130
  // ---- Reload ----
131
131
  const [, setReloadCounter] = useState(0)
@@ -206,7 +206,7 @@ function HasManyDataGridImpl<TEntity extends object>({
206
206
 
207
207
  const relationData = (result.data[alias] ?? result.data[fieldName]) as Array<Record<string, unknown>> | undefined
208
208
  const totalCount = Array.isArray(relationData) && 'totalCount' in relationData
209
- ? (relationData as unknown as { totalCount: number }).totalCount
209
+ ? (relationData as Array<Record<string, unknown>> & { totalCount: number }).totalCount
210
210
  : undefined
211
211
 
212
212
  if (!Array.isArray(relationData)) {
@@ -57,8 +57,7 @@ export function defineColumnType<TValue, TFilterArtifact extends FilterArtifact>
57
57
  */
58
58
  export function accessField(accessor: EntityAccessor<object>, fieldName: string): unknown {
59
59
  // EntityAccessor is a Proxy — bracket access goes through the get trap
60
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
- return (accessor as any)[fieldName]
60
+ return (accessor as unknown as Record<string, unknown>)[fieldName]
62
61
  }
63
62
 
64
63
  function extractScalarValue<T>(accessor: EntityAccessor<object>, fieldName: string): T | null {
@@ -86,7 +86,7 @@ function SelectDataViewImpl({
86
86
 
87
87
  const { selection, queryKey } = useMemo(() => {
88
88
  const scope = new SelectionScope()
89
- const collector = createCollectorProxy<object>(scope, entityType, schemaRegistry ?? undefined) as unknown as EntityAccessor<object>
89
+ const collector = createCollectorProxy<object>(scope, entityType, schemaRegistry ?? undefined) as EntityAccessor<object>
90
90
 
91
91
  if (selectionDefinerRef.current) {
92
92
  const jsx = selectionDefinerRef.current(collector)
@@ -162,27 +162,27 @@ function SelectDataViewImpl({
162
162
  queryKey,
163
163
  })
164
164
 
165
- const items = result.status === 'ready' ? result.items : []
165
+ const items = result.$status === 'ready' ? result.items : []
166
166
  const itemCount = items.length
167
167
 
168
168
  // Update loader state
169
169
  useEffect(() => {
170
- if (result.status === 'ready') {
170
+ if (result.$status === 'ready') {
171
171
  hasLoadedOnce.current = true
172
172
  setLoaderState('loaded')
173
- } else if (result.status === 'error') {
173
+ } else if (result.$status === 'error') {
174
174
  setLoaderState('failed')
175
- } else if (result.status === 'loading') {
175
+ } else if (result.$status === 'loading') {
176
176
  setLoaderState(hasLoadedOnce.current ? 'refreshing' : 'initial')
177
177
  }
178
- }, [result.status])
178
+ }, [result.$status])
179
179
 
180
180
  // Update total count for paging
181
181
  useEffect(() => {
182
- if (result.status === 'ready' && paging.queryLimit !== undefined && paging.queryOffset !== undefined && itemCount < paging.queryLimit) {
182
+ if (result.$status === 'ready' && paging.queryLimit !== undefined && paging.queryOffset !== undefined && itemCount < paging.queryLimit) {
183
183
  paging.setTotalCount(paging.queryOffset + itemCount)
184
184
  }
185
- }, [result.status, itemCount, paging.queryLimit, paging.queryOffset, paging.setTotalCount])
185
+ }, [result.$status, itemCount, paging.queryLimit, paging.queryOffset, paging.setTotalCount])
186
186
 
187
187
  // ---- Reload ----
188
188
  const [, setReloadCounter] = useState(0)
@@ -102,14 +102,15 @@ export function useDataGridSetup<TEntity extends object>({
102
102
  // ---- Phase 1: Collection ----
103
103
  const { childrenJsx, columns, selection, queryKey, toolbarContent, layoutRenders, layoutElements, effectiveLayouts } = useMemo(() => {
104
104
  const scope = new SelectionScope()
105
- const collector = createCollectorProxy<TEntity>(scope, entityType, schemaRegistry ?? undefined) as unknown as EntityAccessor<TEntity>
105
+ // Collector proxy satisfies EntityAccessor interface at runtime for selection collection
106
+ const collector = createCollectorProxy<TEntity>(scope, entityType, schemaRegistry ?? undefined) as EntityAccessor<TEntity>
106
107
 
107
108
  const jsx = children(collector)
108
109
  const analysis = analyzeChildren(jsx, MARKER_TYPES)
109
110
 
110
- const cols = analysis.getAll(ColumnLeaf) as unknown as ColumnLeafProps[]
111
- const toolbarMarker = analysis.getFirst(DataGridToolbarContent) as DataGridToolbarContentProps | undefined
112
- const layoutMarkers = analysis.getAll(DataGridLayout) as unknown as DataGridLayoutProps[]
111
+ const cols = analysis.getAll<ColumnLeafProps>(ColumnLeaf)
112
+ const toolbarMarker = analysis.getFirst<DataGridToolbarContentProps>(DataGridToolbarContent)
113
+ const layoutMarkers = analysis.getAll<DataGridLayoutProps>(DataGridLayout)
113
114
 
114
115
  for (const col of cols) {
115
116
  col.collectSelection?.(collector)
@@ -119,13 +120,13 @@ export function useDataGridSetup<TEntity extends object>({
119
120
  const elements = new Map<string, readonly DataViewElementData[]>()
120
121
  for (const marker of layoutMarkers) {
121
122
  const layoutCallback = marker.children as (item: EntityAccessor<object>) => ReactNode
122
- const layoutJsx = layoutCallback(collector as unknown as EntityAccessor<object>)
123
+ const layoutJsx = layoutCallback(collector as EntityAccessor<object>)
123
124
  const layoutSel = collectSelection(layoutJsx)
124
125
  mergeSelections(scope.toSelectionMeta(), layoutSel)
125
126
  renders.set(marker.name, layoutCallback)
126
127
 
127
128
  const elementAnalysis = analyzeChildren(layoutJsx, ELEMENT_MARKER_TYPES)
128
- const elementProps = elementAnalysis.getAll(DataViewElement) as unknown as DataViewElementProps[]
129
+ const elementProps = elementAnalysis.getAll<DataViewElementProps>(DataViewElement)
129
130
  if (elementProps.length > 0) {
130
131
  elements.set(marker.name, elementProps.map(it => ({ name: it.name, label: it.label, fallback: it.fallback })))
131
132
  }
@@ -134,11 +134,11 @@ export function useDataView(
134
134
  selection,
135
135
  })
136
136
 
137
- const items = result.status === 'ready' ? result.items : []
137
+ const items = result.$status === 'ready' ? result.items : []
138
138
 
139
139
  return {
140
- status: result.status,
141
- error: result.status === 'error' ? result.error : undefined,
140
+ status: result.$status,
141
+ error: result.$status === 'error' ? result.$error : undefined,
142
142
  items,
143
143
  filtering,
144
144
  sorting,