|
1 | 1 | # Ignite UI Grid Lite |
2 | 2 | [](https://github.com/IgniteUI/igniteui-grid-lite/actions/workflows/node.js.yml) |
3 | 3 | [](https://coveralls.io/github/IgniteUI/igniteui-grid-lite?branch=master) |
| 4 | +[](https://badge.fury.io/js/igniteui-grid-lite) |
4 | 5 |
|
| 6 | +Ignite UI Grid Lite is a high-performance, lightweight data grid built as a web component using [Lit](https://lit.dev/). It provides essential grid functionality with a small footprint, making it perfect for applications that need fast, efficient data visualization without the overhead of a full-featured grid. |
5 | 7 |
|
6 | | -This is still a **very** early proof of concept for a web component based data grid. |
| 8 | +## Table of Contents |
| 9 | +- [Features](#features) |
| 10 | +- [Browser Support](#browser-support) |
| 11 | +- [Getting Started](#getting-started) |
| 12 | +- [Usage](#usage) |
| 13 | +- [Building the Library](#building-the-library) |
| 14 | +- [Running Tests](#running-tests) |
| 15 | +- [Documentation](#documentation) |
| 16 | +- [Ignite UI Grid Lite vs. Ignite UI for Angular](#ignite-ui-grid-lite-vs-ignite-ui-for-angular) |
| 17 | +- [Contributing](#contributing) |
| 18 | +- [Support](#support) |
| 19 | +- [License](#license) |
7 | 20 |
|
8 | | -## Local Development |
| 21 | +## Features |
9 | 22 |
|
10 | | -1. Clone the repository. |
11 | | -2. Run `npm install` |
12 | | -3. Run `npm run build` |
13 | | -3. Play and explore the codebase. |
| 23 | +Ignite UI Grid Lite provides core data grid capabilities with an emphasis on performance and simplicity: |
14 | 24 |
|
15 | | -## Local demo with Vite |
| 25 | +- **High Performance Row Virtualization** - Handles large datasets efficiently with built-in virtual scrolling |
| 26 | +- **Column Filtering** - Built-in column filtering capabilities |
| 27 | +- **Sorting** - Column sorting support for better data organization |
| 28 | +- **Lightweight** - Minimal bundle size for fast load times |
| 29 | +- **Web Standards** - Built with web components for framework-agnostic usage |
| 30 | +- **Modern Architecture** - Built with Lit and TypeScript for maintainability |
| 31 | +- **Customizable** - Flexible theming and styling options |
| 32 | +- **Cell Templating** - Custom cell rendering for flexible data display |
| 33 | +- **Header Templating** - Custom header rendering for enhanced grid headers |
| 34 | +- **Accessible** - Designed with accessibility in mind |
16 | 35 |
|
17 | | -Run `npm start` to open the demo page in `demo/index.html` |
| 36 | +## Browser Support |
| 37 | + |
| 38 | +Ignite UI Grid Lite supports all modern browsers: |
| 39 | + |
| 40 | +| ![chrome] | ![firefox] | ![edge] | ![safari] | ![opera] | |
| 41 | +|:---:|:---:|:---:|:---:|:---:| |
| 42 | +| Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | |
| 43 | + |
| 44 | +## Getting Started |
| 45 | + |
| 46 | +### Installation |
| 47 | + |
| 48 | +Install via npm: |
| 49 | + |
| 50 | +```bash |
| 51 | +npm install igniteui-grid-lite |
| 52 | +``` |
| 53 | + |
| 54 | +### Quick Start |
| 55 | + |
| 56 | +1. Import the grid component in your JavaScript/TypeScript file: |
| 57 | + |
| 58 | +```typescript |
| 59 | +import 'igniteui-grid-lite'; |
| 60 | +``` |
| 61 | + |
| 62 | +2. Use the grid in your HTML: |
| 63 | + |
| 64 | +```html |
| 65 | +<igc-grid-lite> |
| 66 | + <!-- Grid configuration here --> |
| 67 | +</igc-grid-lite> |
| 68 | +``` |
| 69 | + |
| 70 | +3. For a complete example, check out the [demo application](./demo). |
| 71 | + |
| 72 | +## Usage |
| 73 | + |
| 74 | +For detailed usage instructions and API documentation, visit: |
| 75 | +- <a href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grid-lite/overview">Grid Lite Overview</a> |
| 76 | +- [API Documentation](https://igniteui.github.io/igniteui-grid-lite/) |
| 77 | + |
| 78 | +## Building the Library |
| 79 | + |
| 80 | +### Setup |
| 81 | + |
| 82 | +Clone the repository and install dependencies: |
| 83 | + |
| 84 | +```bash |
| 85 | +git clone https://github.com/IgniteUI/igniteui-grid-lite.git |
| 86 | +cd igniteui-grid-lite |
| 87 | +npm install |
| 88 | +``` |
| 89 | + |
| 90 | +### Build |
| 91 | + |
| 92 | +To build the library: |
| 93 | + |
| 94 | +```bash |
| 95 | +npm run build |
| 96 | +``` |
| 97 | + |
| 98 | +This will: |
| 99 | +- Analyze custom elements |
| 100 | +- Build the TypeScript source |
| 101 | +- Generate API documentation |
| 102 | + |
| 103 | +### Development |
| 104 | + |
| 105 | +Start the development server with live reload: |
| 106 | + |
| 107 | +```bash |
| 108 | +npm start |
| 109 | +``` |
| 110 | + |
| 111 | +This will open the demo page at `demo/index.html` with automatic rebuilding on file changes. |
| 112 | + |
| 113 | +## Running Tests |
| 114 | + |
| 115 | +Run tests once: |
| 116 | + |
| 117 | +```bash |
| 118 | +npm test |
| 119 | +``` |
| 120 | + |
| 121 | +Run tests in watch mode: |
| 122 | + |
| 123 | +```bash |
| 124 | +npm run test:watch |
| 125 | +``` |
| 126 | + |
| 127 | +Tests are written using [@web/test-runner](https://modern-web.dev/docs/test-runner/overview/) and [@open-wc/testing](https://open-wc.org/docs/testing/helpers/). |
| 128 | + |
| 129 | +## Documentation |
| 130 | + |
| 131 | +### API Documentation |
| 132 | + |
| 133 | +The API documentation is generated using [TypeDoc](https://typedoc.org/). To build the docs: |
| 134 | + |
| 135 | +```bash |
| 136 | +npm run build |
| 137 | +``` |
| 138 | + |
| 139 | +Documentation will be available in the build output. |
| 140 | + |
| 141 | +### Additional Resources |
| 142 | + |
| 143 | +- <a href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/general-getting-started">Ignite UI Web Components Product Documentation</a> |
| 144 | +- <a href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grid-lite/overview">Grid Lite Documentation</a> |
| 145 | +- [Web Components Guide](https://lit.dev/) |
| 146 | + |
| 147 | +## Ignite UI Grid Lite vs. Ignite UI for Angular |
| 148 | + |
| 149 | +Ignite UI Grid Lite is designed as a lightweight, open-source alternative to the full-featured <a href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grids/data-grid">Ignite UI for Web Components Data Grid</a>, while allowing for an easy swap with the full-featured grid, if application needs require it. |
| 150 | + |
| 151 | +### Ignite UI Grid Lite (Open Source - MIT) |
| 152 | + |
| 153 | +**Best for:** |
| 154 | +- Applications requiring basic grid functionality |
| 155 | +- Projects where bundle size is critical |
| 156 | +- Framework-agnostic web applications |
| 157 | +- Community-driven development |
| 158 | + |
| 159 | +**Includes:** |
| 160 | +- Core data virtualization |
| 161 | +- Basic filtering and sorting |
| 162 | +- Lightweight and fast |
| 163 | +- MIT licensed and free for all use |
| 164 | + |
| 165 | +**Best for:** |
| 166 | +- Enterprise applications requiring advanced features |
| 167 | +- Complex data scenarios with editing, grouping, and aggregation |
| 168 | +- Applications needing professional support and SLA |
| 169 | + |
| 170 | +**Includes:** |
| 171 | +- All Grid Lite features plus: |
| 172 | + - Advanced filtering with query builder |
| 173 | + - Excel-style column filtering |
| 174 | + - Grouping |
| 175 | + - Cell editing, row editing, batch editing |
| 176 | + - Summaries and aggregations |
| 177 | + - Excel, PDF, and CSV export |
| 178 | + - Column pinning, hiding, and resizing |
| 179 | + - Row selection |
| 180 | + - Paging |
| 181 | + - Multi-column headers and collapsible column groups |
| 182 | + - Cell merging |
| 183 | + - Custom row layouts |
| 184 | + - Master-detail views |
| 185 | + - Hierarchical grid |
| 186 | + - Tree grid |
| 187 | + - Pivot grid |
| 188 | + - 24/5 developer support |
| 189 | + |
| 190 | +<a href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/general-open-source-vs-premium">Learn more about Open-Source vs Premium Ignite UI options</a> |
| 191 | + |
| 192 | +## Contributing |
| 193 | + |
| 194 | +We welcome contributions! Please see our [contributing guidelines](CONTRIBUTING.md) for details on: |
| 195 | +- Code of conduct |
| 196 | +- Development workflow |
| 197 | +- Submitting pull requests |
| 198 | +- Coding standards |
| 199 | + |
| 200 | +To contribute: |
| 201 | + |
| 202 | +1. Fork the repository |
| 203 | +2. Create a feature branch (`git checkout -b feature/amazing-feature`) |
| 204 | +3. Commit your changes (`git commit -m 'Add amazing feature'`) |
| 205 | +4. Push to the branch (`git push origin feature/amazing-feature`) |
| 206 | +5. Open a Pull Request |
| 207 | + |
| 208 | +## Support |
| 209 | + |
| 210 | +### Community Support |
| 211 | + |
| 212 | +Community support for open source usage of this product is available at: |
| 213 | +- [GitHub Issues](https://github.com/IgniteUI/igniteui-grid-lite/issues) - Report bugs or request features |
| 214 | +- [Stack Overflow](https://stackoverflow.com/questions/tagged/igniteui) - Ask questions using the `igniteui` tag |
| 215 | + |
| 216 | +### Commercial Support |
| 217 | + |
| 218 | +For professional support and access to the full Ignite UI for Web Components suite with advanced grid features: |
| 219 | +- Visit [Infragistics Support](https://www.infragistics.com/support) |
| 220 | +- Explore [Ignite UI for Web Components](https://www.infragistics.com/products/ignite-ui-web-components) |
| 221 | +- [Register for a trial](https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/general-getting-started) |
| 222 | + |
| 223 | +## License |
| 224 | + |
| 225 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 226 | + |
| 227 | +**MIT License** - Free for commercial and non-commercial use. |
| 228 | + |
| 229 | +© Copyright 2025 INFRAGISTICS. All Rights Reserved. |
| 230 | + |
| 231 | +For the commercial Ignite UI for Angular product, please visit [Infragistics Licensing](https://www.infragistics.com/legal/license). |
| 232 | + |
| 233 | +--- |
| 234 | + |
| 235 | +**Built with ❤️ by [Infragistics](https://www.infragistics.com/)** |
| 236 | + |
| 237 | +<!-- Browser Logos --> |
| 238 | +[chrome]: https://user-images.githubusercontent.com/2188411/168109445-fbd7b217-35f9-44d1-8002-1eb97e39cdc6.png "Google Chrome" |
| 239 | +[firefox]: https://user-images.githubusercontent.com/2188411/168109465-e46305ee-f69f-4fa5-8f4a-14876f7fd3ca.png "Mozilla Firefox" |
| 240 | +[edge]: https://user-images.githubusercontent.com/2188411/168109472-a730f8c0-3822-4ae6-9f54-785a66695245.png "Microsoft Edge" |
| 241 | +[opera]: https://user-images.githubusercontent.com/2188411/168109520-b6865a6c-b69f-44a4-9948-748d8afd687c.png "Opera" |
| 242 | +[safari]: https://user-images.githubusercontent.com/2188411/168109527-6c58f2cf-7386-4b97-98b1-cfe0ab4e8626.png "Safari" |
0 commit comments