This commit is contained in:
2026-04-30 14:09:27 +02:00
parent d2759d464c
commit f4df145b31
3 changed files with 16 additions and 14 deletions

View File

@@ -1,23 +1,23 @@
# SigPro Grid # SigPro Grid
A lightweight, reactive wrapper for AG Grid (Community & Enterprise) built for SigProUI framework. A lightweight, reactive wrapper for AG Grid built for SigProUI.
## Features ## Features
- **Lightweight wrapper** - AG Grid bundled inside - **Lightweight wrapper** - AG Grid bundled inside
- **Reactive** - Automatically updates when data changes - **Reactive** - Automatically updates when data changes
- **Theme aware** - Automatically switches between light/dark themes - **Theme aware** - Automatically switches between light/dark themes
- **Enterprise ready** - Full AG Grid Enterprise modules included
- **TypeScript support** - Full type definitions included - **TypeScript support** - Full type definitions included
- **Auto cleanup** - Proper resource disposal - **Auto cleanup** - Proper resource disposal
## Requirements ## Requirements
- [SigProUI](https://git.natxocc.com/natxocc/sigpro-ui/#) - [SigProUI](https://github.com/natxocc/sigpro-ui)
## Installation ## Installation
```bash ```bash
npm install sigpro-ui
npm install sigpro-grid npm install sigpro-grid
``` ```
@@ -26,6 +26,7 @@ npm install sigpro-grid
## Quick Start ## Quick Start
```javascript ```javascript
import "sigproui";
import { Grid } from 'sigpro-grid'; import { Grid } from 'sigpro-grid';
// Create API reference // Create API reference

View File

@@ -1,4 +1,4 @@
import { h, watch, onUnmount } from "sigpro"; import { h, watch, onUnmount } from "sigpro-ui";
import { import {
ModuleRegistry, ModuleRegistry,
ValidationModule, ValidationModule,
@@ -23,7 +23,7 @@ import {
StatusBarModule, StatusBarModule,
ExcelExportModule, ExcelExportModule,
ClipboardModule, ClipboardModule,
} from "../ag-grid"; } from "./ag-grid";
ModuleRegistry.registerModules([ ModuleRegistry.registerModules([
ValidationModule, ValidationModule,
@@ -45,7 +45,7 @@ ModuleRegistry.registerModules([
ClipboardModule, ClipboardModule,
]); ]);
export const Grid = (props) => { const Grid = (props) => {
const { data, options, api, on, class: className, style = "height: 100%; width: 100%;" } = props; const { data, options, api, on, class: className, style = "height: 100%; width: 100%;" } = props;
let gridApi = null; let gridApi = null;
@@ -141,7 +141,7 @@ export const Grid = (props) => {
if (newOptions[key] !== undefined) { if (newOptions[key] !== undefined) {
try { try {
gridApi.setGridOption(key, newOptions[key]); gridApi.setGridOption(key, newOptions[key]);
} catch (e) {} } catch (e) { }
} }
}); });
}, true); }, true);
@@ -165,4 +165,5 @@ export const Grid = (props) => {
}); });
}; };
export { createGrid, themeQuartz, iconSetQuartzLight, ModuleRegistry }; if (typeof window !== 'undefined') window.Grid = Grid;
export { Grid, createGrid, themeQuartz, iconSetQuartzLight, ModuleRegistry };

View File

@@ -12,10 +12,10 @@
], ],
"scripts": { "scripts": {
"clean": "rm -rf dist", "clean": "rm -rf dist",
"build:iife": "bun build ./src/index.js --bundle --outfile=./dist/sigpro-grid.js --format=iife --global-name=SigProGrid", "build:iife": "bun build ./index.js --bundle --external sigpro-ui --outfile=./dist/sigpro-grid.js --format=iife --global-name=SigProGrid",
"build:iife:min": "bun build ./src/index.js --bundle --outfile=./dist/sigpro-grid.min.js --format=iife --global-name=SigProGrid --minify", "build:iife:min": "bun build ./index.js --bundle --external sigpro-ui --outfile=./dist/sigpro-grid.min.js --format=iife --global-name=SigProGrid --minify",
"build:esm": "bun build ./src/index.js --bundle --outfile=./dist/sigpro-grid.esm.js --format=esm", "build:esm": "bun build ./index.js --bundle --external sigpro-ui --external ag-grid-community --external ag-grid-enterprise --outfile=./dist/sigpro-grid.esm.js --format=esm",
"build:esm:min": "bun build ./src/index.js --bundle --outfile=./dist/sigpro-grid.esm.min.js --format=esm --minify", "build:esm:min": "bun build ./index.js --bundle --external sigpro-ui --external ag-grid-community --external ag-grid-enterprise --outfile=./dist/sigpro-grid.esm.min.js --format=esm --minify",
"build": "bun run clean && bun run build:iife:min && bun run build:esm:min", "build": "bun run clean && bun run build:iife:min && bun run build:esm:min",
"prepublishOnly": "npm run build" "prepublishOnly": "npm run build"
}, },
@@ -40,9 +40,9 @@
"ag-grid-enterprise": "^35.2.0" "ag-grid-enterprise": "^35.2.0"
}, },
"peerDependencies": { "peerDependencies": {
"sigpro": "^1.2.28" "sigpro-ui": "^1.2.6"
}, },
"devDependencies": { "devDependencies": {
"sigpro-ui": "^1.2.6" "sigpro-ui": "^1.2.6"
} }
} }