react-open-source-grid 1.7.3 → 1.7.5
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/README.md
CHANGED
|
@@ -97,23 +97,23 @@ const rows = [
|
|
|
97
97
|
|
|
98
98
|
## Documentation
|
|
99
99
|
|
|
100
|
-
- **Full Documentation**: See [DATAGRID_README.md](./DATAGRID_README.md)
|
|
101
|
-
- **Quick Start Guide**: See [QUICKSTART.md](./QUICKSTART.md)
|
|
100
|
+
- **Full Documentation**: See [DATAGRID_README.md](./docs/DATAGRID_README.md)
|
|
101
|
+
- **Quick Start Guide**: See [QUICKSTART.md](./docs/QUICKSTART.md)
|
|
102
102
|
- **Architecture Guide**: See [src/components/DataGrid/ARCHITECTURE.md.ts](./src/components/DataGrid/ARCHITECTURE.md.ts)
|
|
103
|
-
- **Aggregation Footer Feature**: See [AGGREGATION_FOOTER_FEATURE.md](./AGGREGATION_FOOTER_FEATURE.md)
|
|
104
|
-
- **Footer Quick Reference**: See [FOOTER_QUICK_REFERENCE.md](./FOOTER_QUICK_REFERENCE.md)
|
|
105
|
-
- **Cell Renderer Framework**: See [CELL_RENDERER_FRAMEWORK.md](./CELL_RENDERER_FRAMEWORK.md)
|
|
106
|
-
- **Cell Renderer Quick Reference**: See [CELL_RENDERER_QUICK_REF.md](./CELL_RENDERER_QUICK_REF.md)
|
|
107
|
-
- **Layout Persistence**: See [LAYOUT_PERSISTENCE_INDEX.md](./LAYOUT_PERSISTENCE_INDEX.md)
|
|
108
|
-
- **Layout Persistence Feature Guide**: See [LAYOUT_PERSISTENCE_FEATURE.md](./LAYOUT_PERSISTENCE_FEATURE.md)
|
|
109
|
-
- **Layout Persistence Quick Reference**: See [LAYOUT_PERSISTENCE_QUICK_REF.md](./LAYOUT_PERSISTENCE_QUICK_REF.md)
|
|
110
|
-
- **Context Menu**: See [CONTEXT_MENU_FEATURE.md](./CONTEXT_MENU_FEATURE.md)
|
|
111
|
-
- **Context Menu Quick Reference**: See [CONTEXT_MENU_QUICK_REF.md](./CONTEXT_MENU_QUICK_REF.md)
|
|
112
|
-
- **Density Modes**: See [DENSITY_MODE_INDEX.md](./DENSITY_MODE_INDEX.md)
|
|
113
|
-
- **Density Mode Quick Reference**: See [DENSITY_MODE_QUICK_REF.md](./DENSITY_MODE_QUICK_REF.md)
|
|
114
|
-
- **Theme System**: See [THEME_SYSTEM.md](./THEME_SYSTEM.md) 🆕
|
|
115
|
-
- **Themes Overview**: See [THEMES_OVERVIEW.md](./THEMES_OVERVIEW.md) 🆕
|
|
116
|
-
- **Theme Integration**: See [THEME_INTEGRATION_MIGRATION.md](./THEME_INTEGRATION_MIGRATION.md) - Migration guide
|
|
103
|
+
- **Aggregation Footer Feature**: See [AGGREGATION_FOOTER_FEATURE.md](./docs/AGGREGATION_FOOTER_FEATURE.md)
|
|
104
|
+
- **Footer Quick Reference**: See [FOOTER_QUICK_REFERENCE.md](./docs/FOOTER_QUICK_REFERENCE.md)
|
|
105
|
+
- **Cell Renderer Framework**: See [CELL_RENDERER_FRAMEWORK.md](./docs/CELL_RENDERER_FRAMEWORK.md)
|
|
106
|
+
- **Cell Renderer Quick Reference**: See [CELL_RENDERER_QUICK_REF.md](./docs/CELL_RENDERER_QUICK_REF.md)
|
|
107
|
+
- **Layout Persistence**: See [LAYOUT_PERSISTENCE_INDEX.md](./docs/LAYOUT_PERSISTENCE_INDEX.md)
|
|
108
|
+
- **Layout Persistence Feature Guide**: See [LAYOUT_PERSISTENCE_FEATURE.md](./docs/LAYOUT_PERSISTENCE_FEATURE.md)
|
|
109
|
+
- **Layout Persistence Quick Reference**: See [LAYOUT_PERSISTENCE_QUICK_REF.md](./docs/LAYOUT_PERSISTENCE_QUICK_REF.md)
|
|
110
|
+
- **Context Menu**: See [CONTEXT_MENU_FEATURE.md](./docs/CONTEXT_MENU_FEATURE.md)
|
|
111
|
+
- **Context Menu Quick Reference**: See [CONTEXT_MENU_QUICK_REF.md](./docs/CONTEXT_MENU_QUICK_REF.md)
|
|
112
|
+
- **Density Modes**: See [DENSITY_MODE_INDEX.md](./docs/DENSITY_MODE_INDEX.md)
|
|
113
|
+
- **Density Mode Quick Reference**: See [DENSITY_MODE_QUICK_REF.md](./docs/DENSITY_MODE_QUICK_REF.md)
|
|
114
|
+
- **Theme System**: See [THEME_SYSTEM.md](./docs/THEME_SYSTEM.md) 🆕
|
|
115
|
+
- **Themes Overview**: See [THEMES_OVERVIEW.md](./docs/THEMES_OVERVIEW.md) 🆕
|
|
116
|
+
- **Theme Integration**: See [THEME_INTEGRATION_MIGRATION.md](./docs/THEME_INTEGRATION_MIGRATION.md) - Migration guide
|
|
117
117
|
|
|
118
118
|
## Technology Stack
|
|
119
119
|
|
|
@@ -226,8 +226,8 @@ const virtualConfig: VirtualScrollConfig = {
|
|
|
226
226
|
- Smooth 60 FPS scrolling
|
|
227
227
|
|
|
228
228
|
**See also:**
|
|
229
|
-
- [VIRTUAL_SCROLLING.md](./VIRTUAL_SCROLLING.md) - Complete documentation
|
|
230
|
-
- [VIRTUAL_SCROLLING_QUICK_REF.md](./VIRTUAL_SCROLLING_QUICK_REF.md) - Quick reference guide
|
|
229
|
+
- [VIRTUAL_SCROLLING.md](./docs/VIRTUAL_SCROLLING.md) - Complete documentation
|
|
230
|
+
- [VIRTUAL_SCROLLING_QUICK_REF.md](./docs/VIRTUAL_SCROLLING_QUICK_REF.md) - Quick reference guide
|
|
231
231
|
|
|
232
232
|
## Infinite Scrolling with Server-Side DataSource
|
|
233
233
|
|
|
@@ -292,9 +292,9 @@ Response:
|
|
|
292
292
|
```
|
|
293
293
|
|
|
294
294
|
**See also:**
|
|
295
|
-
- [INFINITE_SCROLLING_INDEX.md](./INFINITE_SCROLLING_INDEX.md) - Documentation index
|
|
296
|
-
- [INFINITE_SCROLLING_FEATURE.md](./INFINITE_SCROLLING_FEATURE.md) - Complete guide
|
|
297
|
-
- [INFINITE_SCROLLING_QUICK_REF.md](./INFINITE_SCROLLING_QUICK_REF.md) - Quick reference
|
|
295
|
+
- [INFINITE_SCROLLING_INDEX.md](./docs/INFINITE_SCROLLING_INDEX.md) - Documentation index
|
|
296
|
+
- [INFINITE_SCROLLING_FEATURE.md](./docs/INFINITE_SCROLLING_FEATURE.md) - Complete guide
|
|
297
|
+
- [INFINITE_SCROLLING_QUICK_REF.md](./docs/INFINITE_SCROLLING_QUICK_REF.md) - Quick reference
|
|
298
298
|
|
|
299
299
|
## Themes
|
|
300
300
|
|
|
@@ -344,5 +344,146 @@ function App() {
|
|
|
344
344
|
- Easy theme customization
|
|
345
345
|
|
|
346
346
|
**See also:**
|
|
347
|
-
- [THEME_SYSTEM.md](./THEME_SYSTEM.md) - Complete theme documentation
|
|
348
|
-
- [THEMES_OVERVIEW.md](./THEMES_OVERVIEW.md) - Visual comparison of all themes
|
|
347
|
+
- [THEME_SYSTEM.md](./docs/THEME_SYSTEM.md) - Complete theme documentation
|
|
348
|
+
- [THEMES_OVERVIEW.md](./docs/THEMES_OVERVIEW.md) - Visual comparison of all themes
|
|
349
|
+
|
|
350
|
+
## Contributing
|
|
351
|
+
|
|
352
|
+
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
|
|
353
|
+
|
|
354
|
+
### Getting Started
|
|
355
|
+
|
|
356
|
+
1. **Fork the repository**
|
|
357
|
+
```bash
|
|
358
|
+
# Click the "Fork" button on GitHub, then clone your fork
|
|
359
|
+
git clone https://github.com/YOUR_USERNAME/react-open-source-datagrid.git
|
|
360
|
+
cd react-open-source-datagrid
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
2. **Install dependencies**
|
|
364
|
+
```bash
|
|
365
|
+
npm install
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
3. **Start the development server**
|
|
369
|
+
```bash
|
|
370
|
+
npm run dev
|
|
371
|
+
```
|
|
372
|
+
Visit http://localhost:5173 to see the demo
|
|
373
|
+
|
|
374
|
+
### Development Workflow
|
|
375
|
+
|
|
376
|
+
1. **Create a feature branch**
|
|
377
|
+
```bash
|
|
378
|
+
git checkout -b feature/your-feature-name
|
|
379
|
+
# or
|
|
380
|
+
git checkout -b fix/your-bug-fix
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
2. **Make your changes**
|
|
384
|
+
- Write clean, readable code following the existing patterns
|
|
385
|
+
- Use TypeScript for type safety
|
|
386
|
+
- Follow the component structure in `src/components/DataGrid/`
|
|
387
|
+
- Add proper JSDoc comments for public APIs
|
|
388
|
+
|
|
389
|
+
3. **Test your changes**
|
|
390
|
+
```bash
|
|
391
|
+
# Run linter
|
|
392
|
+
npm run lint
|
|
393
|
+
|
|
394
|
+
# Run type checking
|
|
395
|
+
npm run build
|
|
396
|
+
|
|
397
|
+
# Test in the browser
|
|
398
|
+
npm run dev
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
4. **Commit your changes**
|
|
402
|
+
```bash
|
|
403
|
+
git add .
|
|
404
|
+
git commit -m "feat: add awesome feature"
|
|
405
|
+
# or
|
|
406
|
+
git commit -m "fix: resolve issue with column sorting"
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
Use conventional commit messages:
|
|
410
|
+
- `feat:` - New feature
|
|
411
|
+
- `fix:` - Bug fix
|
|
412
|
+
- `docs:` - Documentation changes
|
|
413
|
+
- `style:` - Code style/formatting
|
|
414
|
+
- `refactor:` - Code refactoring
|
|
415
|
+
- `test:` - Adding tests
|
|
416
|
+
- `chore:` - Maintenance tasks
|
|
417
|
+
|
|
418
|
+
5. **Push to your fork**
|
|
419
|
+
```bash
|
|
420
|
+
git push origin feature/your-feature-name
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
6. **Create a Pull Request**
|
|
424
|
+
- Go to the original repository on GitHub
|
|
425
|
+
- Click "New Pull Request"
|
|
426
|
+
- Select your fork and branch
|
|
427
|
+
- Provide a clear description of your changes
|
|
428
|
+
- Reference any related issues
|
|
429
|
+
|
|
430
|
+
### Project Structure
|
|
431
|
+
|
|
432
|
+
```
|
|
433
|
+
react-open-source-datagrid/
|
|
434
|
+
├── src/
|
|
435
|
+
│ ├── components/
|
|
436
|
+
│ │ └── DataGrid/ # Main grid component
|
|
437
|
+
│ │ ├── DataGrid.tsx # Core grid logic
|
|
438
|
+
│ │ ├── types.ts # TypeScript interfaces
|
|
439
|
+
│ │ ├── hooks/ # Custom React hooks
|
|
440
|
+
│ │ └── utils/ # Utility functions
|
|
441
|
+
│ ├── charts/ # Integrated charts feature
|
|
442
|
+
│ ├── demos/ # Demo pages
|
|
443
|
+
│ └── index.ts # Public API exports
|
|
444
|
+
├── docs/ # Documentation files
|
|
445
|
+
├── tests/ # Test files
|
|
446
|
+
└── package.json
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### Code Guidelines
|
|
450
|
+
|
|
451
|
+
- **TypeScript**: Use strict typing, avoid `any` when possible
|
|
452
|
+
- **React**: Use functional components and hooks
|
|
453
|
+
- **Styling**: Use Tailwind CSS utility classes
|
|
454
|
+
- **Performance**: Consider virtual scrolling for large datasets
|
|
455
|
+
- **Accessibility**: Follow WCAG 2.1 AA guidelines
|
|
456
|
+
- **Documentation**: Update relevant docs in the `docs/` folder
|
|
457
|
+
|
|
458
|
+
### Adding New Features
|
|
459
|
+
|
|
460
|
+
1. Check existing issues or create a new one to discuss the feature
|
|
461
|
+
2. Review the [documentation](./docs/) for similar features
|
|
462
|
+
3. Implement your feature with proper TypeScript types
|
|
463
|
+
4. Add demo examples if applicable
|
|
464
|
+
5. Update documentation in the `docs/` folder
|
|
465
|
+
6. Test thoroughly with different datasets and configurations
|
|
466
|
+
|
|
467
|
+
### Reporting Issues
|
|
468
|
+
|
|
469
|
+
When reporting bugs, please include:
|
|
470
|
+
- Clear description of the issue
|
|
471
|
+
- Steps to reproduce
|
|
472
|
+
- Expected vs actual behavior
|
|
473
|
+
- Browser and OS information
|
|
474
|
+
- Code samples or screenshots if relevant
|
|
475
|
+
|
|
476
|
+
### Questions?
|
|
477
|
+
|
|
478
|
+
- Check the [documentation](./docs/) folder
|
|
479
|
+
- Open a GitHub Discussion for questions
|
|
480
|
+
- Review existing issues and PRs
|
|
481
|
+
|
|
482
|
+
Thank you for contributing! 🎉
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## Related Projects
|
|
487
|
+
|
|
488
|
+
- **[React Pivot Table](https://bhushanpoojary.github.io/react-pivot/)** - A lightweight, customizable pivot table component for React with drag-and-drop field configuration, multiple aggregation types, and beautiful theming.
|
|
489
|
+
|