Releases: NGXSMK/ngxsmk-datatable
🚀 **ENTERPRISE EDITION!** Professional Features Suite
This is a MASSIVE release adding 16 enterprise-level features that transform ngxsmk-datatable into a complete business application platform!
🆕 New Features (v1.7.0)
📄 PDF Export Support
- PdfExportService: Advanced PDF generation with jsPDF integration
- Customizable templates (minimal, professional, colorful)
- Page orientation (portrait/landscape) and size options (A4, A3, letter, legal, tabloid)
- Custom headers and footers with templates
- Watermark support with opacity and rotation
- Logo embedding and branding
- Table styling with borders, alternating rows, and custom colors
- Auto-pagination with page numbers
- Compression support for smaller file sizes
- Print and download functionality
👥 Real-time Collaborative Editing
- CollaborativeEditingService: Multi-user editing with WebSocket
- Live cursor tracking and user presence
- Real-time operation broadcasting
- Conflict detection and resolution strategies
- Operational transformation (OT) support
- User avatars and color-coded cursors
- Auto-reconnect with exponential backoff
- Session management with user permissions
- Presence broadcasting with configurable intervals
- Sync and conflict resolution
📊 Advanced Charting Integration
- ChartingService: Inline visualizations and sparklines
- Sparkline charts (line, smooth, step)
- Bar charts with custom colors
- Bullet charts for KPI tracking
- Progress bars with status indicators
- Gauge charts (full, semi, arch)
- Mini charts in table cells
- Customizable colors, sizes, and animations
- Tooltips and value labels
- Theme support (light, dark, auto)
🧮 Custom Formula Support
- FormulaService: Excel-like calculations
- 30+ built-in functions (SUM, AVERAGE, IF, VLOOKUP, etc.)
- Math functions (ROUND, ABS, SQRT, POW, MIN, MAX)
- String functions (CONCAT, UPPER, LOWER, TRIM, LEFT, RIGHT)
- Date functions (NOW, TODAY, YEAR, MONTH, DAY, DATEDIFF)
- Logical functions (IF, AND, OR, NOT, ISNULL)
- Statistical functions (MEDIAN, MODE, STDEV, VAR, PERCENTILE)
- Computed columns with dependencies
- Circular reference detection
- Formula caching for performance
- Custom function registration
- Row and aggregate calculations
📅 Alternative View Modes
- ViewModesService: Gantt, Calendar/Timeline, and Kanban views
- Gantt Chart: Project timeline visualization with task dependencies
- Calendar View: Event scheduling with month/week/day/agenda views
- Kanban Board: Drag-and-drop task management with columns
- Timeline View: Chronological event display
- Seamless switching between table and alternative views
- View-specific configurations and customizations
- Data transformation for each view mode
- Touch-friendly mobile interactions
🎨 Advanced Theming System
- ThemingService: Complete visual customization
- Theme builder with live preview
- 11 predefined themes (Material, Bootstrap, Fluent, etc.)
- Custom color schemes and palettes
- Typography customization (fonts, sizes, weights)
- Spacing and layout controls
- Border and shadow customization
- CSS variable generation
- Theme import/export functionality
- Auto dark mode support
- Component-specific overrides
🔌 Plugin System
- PluginService: Extensible architecture
- Plugin lifecycle management (register, initialize, destroy)
- Hook system for extending functionality
- Before/after hooks for data, render, sort, filter, edit, export
- Plugin API for custom methods
- Event emitter for plugin communication
- Plugin storage API with localStorage
- Dependency management
- Plugin validation and error handling
- Sandbox mode for security
- Plugin metadata and statistics
📦 Batch Operations
- BatchOperationsService: Bulk editing and mass operations
- Bulk edit with multiple field updates
- Bulk delete with soft delete support
- Find and replace operations
- Mathematical operations (increment, decrement)
- String operations (append, prepend)
- Progress tracking for large operations
- Confirmation dialogs
- Undo/redo support with history
- Custom batch operations
- Error handling and reporting
- Operation throttling for performance
✅ Advanced Data Validation
- ValidationService: Comprehensive validation rules
- 15+ built-in validators (required, email, URL, numeric, etc.)
- Pattern matching with regex
- Min/max value and length validation
- Phone number and date validation
- Unique value checking
- Custom validation functions
- Async validation support
- Field and row-level validation
- Real-time validation (immediate, onBlur, onSubmit)
- Inline error messages
- Validation summary
- Prevent invalid data save
🎯 Conditional Formatting
- ConditionalFormattingService: Dynamic cell styling
- Value-based formatting rules
- Range and threshold conditions
- Top/bottom N and percentile formatting
- Above/below average highlighting
- Duplicate and unique value detection
- Data bars with gradients
- Color scales (2-color and 3-color)
- Icon sets (arrows, traffic lights, ratings)
- Custom CSS and classes
- Rule priority system
- Format caching for performance
- Column statistics calculation
📌 Frozen Rows & Columns
- Freeze header rows (sticky header)
- Freeze footer rows (sticky footer)
- Freeze left columns
- Freeze right columns
- Custom frozen row positions
- Configurable z-index and shadows
- Separator lines for frozen sections
- Allow/prevent unfreezing
- Smooth scrolling with frozen elements
📑 Multiple Sheet Support
- SheetsService: Excel-like multi-sheet functionality
- Tab-based sheet navigation
- Add, delete, rename, duplicate sheets
- Sheet reordering with drag-and-drop
- Sheet protection and visibility
- Active sheet management
- Sheet templates
- Cross-sheet references
- Sheet-specific configurations
- Context menu for sheet operations
- Modified sheet tracking
- Maximum sheet limits
📥 Data Import Wizard
- DataImportService: Import from CSV, Excel, JSON
- Multi-step import wizard
- File format auto-detection
- CSV parsing with custom delimiters
- JSON path extraction
- Excel sheet selection (requires xlsx library)
- Column mapping interface
- Data preview before import
- Transform functions
- Data validation on import
- Error and warning reporting
- Progress tracking
- Import templates
- Multiple import modes (replace, append, merge)
📱 Mobile App Integration
- MobileIntegrationService: Ionic and Capacitor support
- Platform detection (iOS, Android, Web)
- Touch gesture support (swipe, long-press, pinch-zoom, pull-to-refresh)
- Native camera integration
- Share API integration
- Clipboard API
- Haptic feedback
- Toast notifications
- Network status monitoring
- App state management
- Offline mode support
- Touch-optimized UI
- Status bar configuration
- Safe area handling
- Performance optimizations for mobile
📝 API Changes
New Services
PdfExportServiceCollaborativeEditingServiceChartingServiceFormulaServiceViewModesServiceThemingServicePluginServiceBatchOperationsServiceValidationServiceConditionalFormattingServiceDataImportServiceSheetsServiceMobileIntegrationService
New Interfaces
- PDF Export:
PdfExportOptions,PdfExportResult,PdfTemplate - Collaboration:
CollaborativeEditingConfig,CollaborativeUser,CollaborativeOperation - Charting:
ChartingConfig,ColumnChartConfig,SparklineOptions - Formulas:
FormulaConfig,FormulaExpression,ComputedColumn - View Modes:
GanttConfig,CalendarConfig,KanbanConfig - Theming:
ThemeConfig,ThemeColors,ThemeExport - Plugins:
Plugin,PluginContext,PluginHooks - Batch Ops:
BatchOperation,BatchOperationResult,BulkEditOperation - Validation:
ValidationRule,ValidationResult,ValidationContext - Formatting:
ConditionalFormattingRule,CellFormat,FormattingContext - Frozen:
FrozenRowsConfig,FrozenColumnsConfig - Sheets:
Sheet,SheetTemplate,SheetOperation - Import:
ImportOptions,ImportResult,ColumnMapping - Mobile:
MobileIntegrationConfig,TouchGestureConfig,OfflineModeConfig
🔧 Dependencies
Peer Dependencies (Optional)
jspdfandjspdf-autotablefor PDF exportxlsxorexceljsfor Excel import@capacitor/camera,@capacitor/share,@capacitor/clipboardfor mobile features- WebSocket server for collaborative editing
💡 Usage Examples
See updated documentation for complete examples of all new features.
🎯 Breaking Changes
None - All new features are opt-in and backward compatible.
🆕 New Features (v1.6.0)
Responsive Card View Mode 🌟
- Auto-switching: Automatically switches from table to card view on mobile (< 768px)
- Configurable breakpoints: Custom breakpoints for mobile, tablet, desktop
- Card roles: Assign semantic roles to columns (title, subtitle, description, image, badge, meta)
- Touch-friendly: Optimized spacing and interactions for mobile devices
- Smooth animations: Beautiful hover effects and transitions
- Selection support: Full checkbox selection in card view
- Image support: Display product images or avatars
- Responsive grid: Auto-adapts to screen size with CSS Grid
- Zero configuration: Works out of the box with sensible defaults
Features
responsiveConfiginput for configuration- Card-specific column properties:
cardRole,cardPriority,hideInCardView - Helper methods:
getCardTitle(),getCardSubtitle(),getCardDescription(), etc. - Beautiful card styling with modern design
- Responsive utilities and CSS media queries
- Complete demo page at
/responsive
Release Notes - v1.1.1
Release Notes - v1.1.1
📚 Documentation Enhancement Release
Release Date: October 28, 2025
Type: Documentation Update (Patch Release)
🎉 What's New
StackBlitz Setup Guide
We've added a comprehensive StackBlitz Setup Guide to make it easier than ever to try ngxsmk-datatable without any local setup!
New Documentation
- 📄
docs/STACKBLITZ.md- Complete guide for using ngxsmk-datatable on StackBlitz
✨ Key Features of the Guide
1. Quick Start Section
- Direct links to pre-configured demos
- Instant access to working examples
- Zero setup required
2. Step-by-Step Instructions
- Creating new Angular projects on StackBlitz
- Installing the package (2 different methods)
- Basic and advanced setup examples
- Support for both Standalone and NgModule approaches
3. Complete Working Examples
- Copy-paste ready code snippets
- Full component implementation
- Inline templates and styles
- TypeScript interfaces and type safety
4. Troubleshooting Section
- Common issues and solutions
- Module not found errors
- Animation setup problems
- Performance optimization tips
- TypeScript error resolution
5. Best Practices
- Using TypeScript interfaces
- Progressive feature enhancement
- Console debugging tips
- Configuration experimentation
- Sharing and forking projects
- Keyboard shortcuts for productivity
📖 What's Included in the Guide
The new StackBlitz guide covers:
✅ Introduction - What is StackBlitz and why use it
✅ Quick Start - Get running in seconds
✅ Creating Projects - From scratch setup
✅ Installation - Multiple installation methods
✅ Basic Setup - Module imports and configuration
✅ Complete Example - Full working application code
✅ Troubleshooting - Solutions to 5+ common issues
✅ Tips & Best Practices - Professional development workflow
✅ Additional Resources - Links to other documentation
🎯 Why This Matters
For New Users
- Try Before You Buy - Test the library without installing locally
- Faster Learning - Interactive examples in the browser
- No Setup Friction - Start coding immediately
For Bug Reports
- Better Issues - Include StackBlitz reproductions
- Faster Resolution - Maintainers can see the problem instantly
- Clear Communication - Shared working examples
For Documentation
- Live Demos - All examples can be interactive
- Community Sharing - Easy to share solutions and patterns
- Educational Content - Better tutorials and guides
📦 Installation & Usage
No changes to the package itself. Simply refer to the new documentation:
# The package remains the same
npm install ngxsmk-datatableRead the guide:
- Local:
docs/STACKBLITZ.md - GitHub: View on GitHub
🔗 Documentation Structure
The documentation suite now includes:
docs/
├── README.md # Main documentation hub
├── INSTALLATION.md # Installation instructions
├── API.md # API reference
├── EXAMPLES.md # Code examples
├── CUSTOMIZATION.md # Styling and theming
├── PERFORMANCE.md # Optimization tips
├── TYPED-ROWS.md # TypeScript patterns
└── STACKBLITZ.md # ⭐ NEW: StackBlitz guide
🚀 Quick Links
💡 Coming Soon
Based on this documentation update, future enhancements may include:
- Live StackBlitz embeds in documentation
- Interactive API playground
- More pre-configured demo templates
- Video tutorials using StackBlitz
- Community example gallery
🙏 Acknowledgments
Thank you to the community for requesting better onboarding documentation and easier ways to try the library!
📝 Version Information
- Version: 1.1.1
- Previous Version: 1.1.0
- Type: Documentation Update (Patch)
- Breaking Changes: None
- Migration Required: No
📞 Support
Need help with StackBlitz setup?
- 📖 Read the StackBlitz Setup Guide
- 💬 Join our Discussions
- 🐛 Report Issues
Happy Coding! 🎉
🚀 v1.0.1 - StackBlitz Integration & Enhanced Documentation
🚀 ngxsmk-datatable v1.0.1
StackBlitz Integration & Enhanced Documentation
This release makes ngxsmk-datatable fully compatible with StackBlitz and includes comprehensive documentation improvements, making it easier than ever to try, learn, and contribute to the library.
✨ What's New
🎮 Try it Online - Zero Installation Required!
You can now try ngxsmk-datatable instantly in your browser without any installation:
- ⚡ Instant browser-based demo
- 🔄 Real-time code editing
- 📊 All 10 demo examples included
- 🎨 Live theme customization
- 💾 No local setup required
📚 New Documentation
- STACKBLITZ.md - Complete StackBlitz setup and troubleshooting guide
- CONTRIBUTING.md - Comprehensive contribution guidelines with coding standards, commit conventions, and PR process
- Enhanced README - Added npm download badges, better quick start examples, and improved navigation
🎨 UI Improvements
- Added "Try on StackBlitz" button to demo app header with lightning bolt icon ⚡
- Improved header button styling with better visual hierarchy
- Enhanced responsive design for header actions
🔧 Technical Enhancements
- StackBlitz Compatibility - Updated TypeScript path mappings for direct source file imports
- Package Metadata - Added
stackblitzfield andenginesspecification - Better Discoverability - Enhanced keywords for improved npm search results
- GitHub Funding - Added sponsor configuration
🐛 Bug Fixes
- ✅ Fixed row details not showing in advanced demo
- ✅ Improved theme customization live preview functionality
- ✅ Enhanced sorting and pagination consistency across all demo pages
🌐 All Links Updated
All project URLs are now consistent across documentation:
- GitHub: https://github.com/toozuuu/ngxsmk-datatable
- StackBlitz: https://stackblitz.com/~/github.com/toozuuu/ngxsmk-datatable
- npm: https://www.npmjs.com/package/ngxsmk-datatable
📦 Installation
npm install ngxsmk-datatable🚀 Quick Start
import { Component } from '@angular/core';
import { NgxsmkDatatableComponent } from 'ngxsmk-datatable';
@Component({
standalone: true,
imports: [NgxsmkDatatableComponent],
template: `
<ngxsmk-datatable
[columns]="columns"
[rows]="rows"
[pagination]="{ pageSize: 10 }"
[virtualScrolling]="true"
>
</ngxsmk-datatable>
`
})
export class AppComponent {
columns = [
{ prop: 'name', name: 'Name', sortable: true },
{ prop: 'email', name: 'Email', sortable: true }
];
rows = [
{ id: 1, name: 'Alice', email: 'alice@example.com' },
{ id: 2, name: 'Bob', email: 'bob@example.com' }
];
}🎯 Key Features
✅ Virtual Scrolling - Smooth 10,000+ rows with 60fps
✅ Client & Server-Side - Sorting an