Build fixes

This commit is contained in:
Hein 2025-10-21 14:24:28 +02:00
parent 1e0f8ba2c6
commit c42bc20069
6 changed files with 32 additions and 21 deletions

View File

@ -1,5 +1,4 @@
import '@glideapps/glide-data-grid/dist/index.css'; import '@glideapps/glide-data-grid/dist/index.css';
import React from 'react';
import { MantineBetterMenusProvider } from '../MantineBetterMenu'; import { MantineBetterMenusProvider } from '../MantineBetterMenu';
import { GlidlerFormAdaptor } from './components/adaptors/GlidlerFormAdaptor'; import { GlidlerFormAdaptor } from './components/adaptors/GlidlerFormAdaptor';

View File

@ -78,7 +78,7 @@ export interface GridlerProps extends PropsWithChildren {
pageSize?: number; pageSize?: number;
progressiveScroll?: boolean; progressiveScroll?: boolean;
RenderCell?: <TRowType extends Record<string, string>>( RenderCell?: <TRowType extends Record<string, string>>(
row: any, row: TRowType,
colindex: number, colindex: number,
colid: string, colid: string,
value: any, value: any,
@ -176,7 +176,7 @@ export interface GridlerState {
key: K, key: K,
value: (current: GridlerStoreState[K]) => Partial<GridlerStoreState[K]> value: (current: GridlerStoreState[K]) => Partial<GridlerStoreState[K]>
) => Promise<void>; ) => Promise<void>;
toCell: <TRowType extends Record<string, string>>(row: any, col: number) => GridCell; toCell: <TRowType extends Record<string, string>>(row: TRowType, col: number) => GridCell;
} }
export type GridlerStoreState = GridlerProps & GridlerState; export type GridlerStoreState = GridlerProps & GridlerState;
@ -215,13 +215,13 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat
kind: GridCellKind.Loading, kind: GridCellKind.Loading,
}; };
}, },
getCellsForSelection: (selection: Rectangle, abortSignal: AbortSignal) => { getCellsForSelection: (selection: Rectangle, _abortSignal: AbortSignal) => {
return async () => { return async () => {
const state = get(); const state = get();
//const firstPage = Math.max(0, Math.floor(selection.y / state.pageSize)); //const firstPage = Math.max(0, Math.floor(selection.y / state.pageSize));
//const lastPage = Math.floor((selection.y + selection.height) / state.pageSize); //const lastPage = Math.floor((selection.y + selection.height) / state.pageSize);
await state.setStateFN('_visibleArea', (cv) => { await state.setStateFN('_visibleArea', (_cv) => {
//if (r.x === cv.x && r.y === cv.y && r.width === cv.width && r.height === cv.height) //if (r.x === cv.x && r.y === cv.y && r.width === cv.width && r.height === cv.height)
// return cv; // return cv;
return selection; return selection;
@ -382,8 +382,8 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat
onColumnResize: ( onColumnResize: (
column: GridColumn, column: GridColumn,
newSize: number, newSize: number,
colIndex: number, _colIndex: number,
newSizeWithGrow: number _newSizeWithGrow: number
) => { ) => {
const s = get(); const s = get();
const col = s.renderColumns?.find((col) => col.id === column.id); const col = s.renderColumns?.find((col) => col.id === column.id);
@ -615,9 +615,9 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat
}, },
onVisibleRegionChanged: ( onVisibleRegionChanged: (
region: Rectangle, region: Rectangle,
tx: number, _tx: number,
ty: number, _ty: number,
extras: { _extras: {
freezeRegion?: Rectangle; freezeRegion?: Rectangle;
freezeRegions?: readonly Rectangle[]; freezeRegions?: readonly Rectangle[];
selected?: Item; selected?: Item;
@ -632,8 +632,8 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat
//console.log('Gridler:Debug:VisibleRegionChanged', r); //console.log('Gridler:Debug:VisibleRegionChanged', r);
const state = get(); const state = get();
const firstPage = Math.max(0, Math.floor(region.y / state.pageSize)); const firstPage = Math.max(0, Math.floor(region.y / state.pageSize));
const lastPage = Math.floor((region.y + region.height) / state.pageSize); // const lastPage = Math.floor((region.y + region.height) / state.pageSize);
const upperPage = state.pageSize * firstPage; // const upperPage = state.pageSize * firstPage;
const previousPage = Math.max(0, Math.floor(state._visiblePages.y / state.pageSize)); const previousPage = Math.max(0, Math.floor(state._visiblePages.y / state.pageSize));
const pageDif = firstPage - previousPage; const pageDif = firstPage - previousPage;
@ -843,7 +843,7 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat
} }
}, [props.selectedRow]); }, [props.selectedRow]);
getState('_events').addEventListener('reload', (e: Event) => { getState('_events').addEventListener('reload', (_e: Event) => {
getState('reload')?.(); getState('reload')?.();
}); });

View File

@ -1,4 +1,5 @@
import '@testing-library/jest-dom' import '@testing-library/jest-dom'
import { vi } from 'vitest'
// Mock window.matchMedia for Mantine components // Mock window.matchMedia for Mantine components
Object.defineProperty(window, 'matchMedia', { Object.defineProperty(window, 'matchMedia', {

View File

@ -3,19 +3,22 @@
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
"target": "ES2022", "target": "ES2022",
"useDefineForClassFields": true, "useDefineForClassFields": true,
"lib": ["ES2022", "DOM", "DOM.Iterable"], "lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
"module": "ESNext", "module": "ESNext",
"skipLibCheck": true, "skipLibCheck": true,
/* Bundler mode */ /* Bundler mode */
"moduleResolution": "bundler", "moduleResolution": "bundler",
"allowImportingTsExtensions": true, "allowImportingTsExtensions": true,
"verbatimModuleSyntax": true, "verbatimModuleSyntax": true,
"moduleDetection": "force", "moduleDetection": "force",
"noEmit": true,
"declaration": true, "declaration": true,
"emitDeclarationOnly": true, "emitDeclarationOnly": true,
"jsx": "react-jsx", "jsx": "react-jsx",
/* Linting */ /* Linting */
"strict": true, "strict": true,
"noUnusedLocals": true, "noUnusedLocals": true,
@ -24,5 +27,7 @@
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true "noUncheckedSideEffectImports": true
}, },
"include": ["src"] "include": [
} "src"
]
}

View File

@ -1,7 +1,11 @@
{ {
"files": [], "files": [],
"references": [ "references": [
{ "path": "./tsconfig.app.json" }, {
{ "path": "./tsconfig.node.json" } "path": "./tsconfig.app.json"
},
{
"path": "./tsconfig.node.json"
}
] ]
} }

View File

@ -29,6 +29,8 @@ export default defineConfig({
fileName: (format) => `lib.${format}.js`, fileName: (format) => `lib.${format}.js`,
}, },
emptyOutDir: true, emptyOutDir: true,
outDir: "dist",
rollupOptions: { rollupOptions: {
external: Object.keys(peerDependencies), external: Object.keys(peerDependencies),
}, },