@egovernments/digit-ui-module-pgr
v1.9.0
Published
## Version: 1.9.0 **Release Date:** October 23, 2025
Keywords
Readme
@egovernments/digit-ui-module-pgr
Version: 1.9.0
Release Date: October 23, 2025
📦 Installation
npm install --save @egovernments/[email protected]🚀 What's New in v1.9.0
📝 Advanced Inbox & Search Capabilities
- New Inbox V2: Complete inbox system overhaul with enhanced performance
- Configuration-Driven Setup: Modular inbox configuration with inboxConfigPGR
- Enhanced Search Performance: Optimized for large complaint datasets
- Better Ward/Locality Filtering: Improved geographical boundary integration
🔍 Enhanced Grievance Management
- Advanced Search Component: Better search criteria and filtering options
- Dynamic Service Type Filtering: Real-time complaint type management
- Enhanced Timeline Components: Better status tracking and history visualization
- Improved Workflow Integration: Seamless workflow service connectivity
👥 Multi-Portal Improvements
- Citizen Portal Enhancement: Streamlined complaint creation and management
- Employee Portal Upgrades: Better employee workflows and complaint handling
- Responsive Design: Improved mobile and tablet experience
- Enhanced Accessibility: WCAG compliant design improvements
⚡ Performance & Architecture
- 50% Faster Data Loading: Optimized complaint search and pagination
- Better State Management: Enhanced form state handling and persistence
- Multi-Tenant Support: Full integration with Core v1.9.0 architecture
- Memory Optimization: Improved component lifecycle management
📋 Core Features
📝 Grievance Management System
Enhanced Complaint Creation (Major Updates)
- SelectAddress: Improved address selection with better validation
- SelectComplaintType: Enhanced complaint categorization system
- SelectImages: Advanced image upload with validation and preview
- Streamlined Workflow: Optimized complaint creation process
Advanced Inbox V2 (New System)
- InboxSearchComposer Integration: Dynamic configuration loading
- Enhanced Filtering: Ward, locality, and service type filtering
- Better Pagination: Improved data loading performance
- Service Definitions: Integrated complaint type management
Improved Complaint Details (Enhanced)
- Better Detail Display: Enhanced complaint information presentation
- Action Management: Improved employee action handling
- Status Tracking: Real-time status updates and history
- Document Management: Better attachment handling
Enhanced Timeline System (Updated)
- rejected.js: Better rejected complaint handling and display
- resolved.js: Enhanced resolved complaint visualization
- History Tracking: Complete complaint lifecycle visualization
- Status Management: Improved status transitions and workflows
🔍 Search & Filtering
Advanced Search Component (Enhanced)
- Multiple Criteria: Search by complaint ID, mobile, type, status
- Geographical Filters: Ward and locality-based filtering
- Date Range Filtering: Complaint creation and resolution dates
- Performance Optimized: Fast search for large datasets
Configuration-Driven Inbox (New)
- Modular Setup: Configurable inbox with inboxConfigPGR.js
- Dynamic Fields: Field configuration and validation
- MDMS Integration: Better dropdown options from master data
- Localization Support: Enhanced multi-language capabilities
👤 Citizen Experience
Enhanced Citizen Portal (Improved)
- ComplaintsList: Better list view with filtering capabilities
- ComplaintDetails: Enhanced detail view with action options
- ReopenComplaint: Improved reopen workflow and validation
- SelectRating: Better rating and feedback system
Mobile Optimization (Enhanced)
- Responsive Design: Optimized for mobile complaint submission
- Touch-Friendly: Enhanced touch interactions
- Offline Capability: Basic offline functionality for critical operations
- Progressive Web App: PWA features for better mobile experience
👔 Employee Experience
Enhanced Employee Workflows (Improved)
- CreateComplaint: Better employee complaint creation interface
- Assignment Management: Improved complaint assignment workflows
- Bulk Operations: Enhanced bulk action capabilities
- Dashboard Integration: Better integration with employee dashboard
FormComposer Enhancement (Updated)
- Dynamic Form Rendering: Better form generation and validation
- Enhanced Field Types: Improved field configurations
- Responsive Forms: Better mobile form experience
- Validation System: Real-time validation with error feedback
🔧 Configuration System
Global Configuration (globalConfigs.getConfig)
These configurations are accessed via window.globalConfigs.getConfig(key):
| Config Key | Type | Default | Description | Usage |
|------------|------|---------|-------------|-------|
| OVERRIDE_ROOT_TENANT_WITH_LOGGEDIN_TENANT | Boolean | false | Multi-tenant support for PGR operations | Tenant context switching for grievances |
| MULTI_ROOT_TENANT | Boolean | false | Enables multi-root tenant support | Enhanced tenant management for PGR |
| PGR_INBOX_SEARCH_CONFIG | String | 'inboxConfigPGR' | Inbox configuration module name | Dynamic inbox setup |
| PGR_ENABLE_LOCATION_FILTER | Boolean | true | Enable ward/locality filtering | Geographical complaint filtering |
| PGR_MAX_COMPLAINT_IMAGES | Number | 3 | Maximum images per complaint | Image upload limit |
| PGR_AUTO_ASSIGN_COMPLAINTS | Boolean | false | Auto-assign complaints to employees | Workflow automation |
Component Props Configuration
These configurations are passed as props to components:
| Config Key | Type | Default | Description | Usage |
|------------|------|---------|-------------|--------|
| tenantId | String | - | Tenant context for complaint operations | Multi-tenant complaint management |
| complaintData | Object | {} | Complaint data for forms and display | Pre-populate complaint forms and details |
| config | Object | {} | Form configuration for complaint creation | Dynamic form generation and validation |
| onSelect | Function | - | Callback for form field selection | Handle user interactions in complaint forms |
| filters | Object | {} | Filter configuration for complaint search | Advanced search and filtering options |
| searchParams | Object | {} | Search parameters for complaint queries | Search state management |
MDMS Configuration
These configurations are managed through MDMS:
| Config Key | Module | Master | Description | Usage |
|------------|--------|--------|-------------|-------|
| ServiceDefs | RAINMAKER-PGR | ServiceDefs | Service type definitions for complaints | Complaint categorization and workflow |
| ComplaintTypes | PGR | ComplaintType | Available complaint types and categories | Complaint classification |
| Boundary | egov-location | boundary-data | Administrative boundaries for location mapping | Geographical complaint assignment |
| inboxConfigPGR | commonUiConfig | inboxConfigPGR | Inbox configuration for PGR module | Inbox display and search configuration |
UI Customizations (Digit.Customizations)
These configurations provide custom behavior through the customization framework:
| Config Key | Path | Description | Usage |
|------------|------|-------------|-------|
| PGR.complaintConfig | Digit.Customizations.PGR.complaintConfig | Custom complaint form configuration | Customize complaint creation workflow and form fields |
Configuration Examples
Global Configuration (globalConfigs.getConfig)
// In your globalConfigs
const getConfig = (key) => {
switch(key) {
case 'OVERRIDE_ROOT_TENANT_WITH_LOGGEDIN_TENANT':
return true; // Enable multi-tenant PGR management
case 'MULTI_ROOT_TENANT':
return true; // Enable multi-root tenant support
case 'PGR_INBOX_SEARCH_CONFIG':
return 'inboxConfigPGR'; // Set inbox configuration module
case 'PGR_ENABLE_LOCATION_FILTER':
return true; // Enable geographical filtering
case 'PGR_MAX_COMPLAINT_IMAGES':
return 5; // Allow up to 5 images per complaint
case 'PGR_AUTO_ASSIGN_COMPLAINTS':
return true; // Enable auto-assignment workflow
default:
return undefined;
}
};Component Props Configuration
// Complaint creation component usage
<CreateComplaint
tenantId="pb.amritsar"
config={{
allowedComplaintTypes: ['water', 'sewerage', 'roads'],
maxImages: 3,
enableLocationPicker: true
}}
onSelect={handleComplaintFieldSelection}
complaintData={existingComplaintData}
/>
// Complaint search component usage
<ComplaintInbox
tenantId="pb.amritsar"
filters={{
status: ['OPEN', 'ASSIGNED'],
serviceType: 'water'
}}
searchParams={currentSearchParams}
onFilter={handleFilterChange}
/>MDMS Configuration
// In RAINMAKER-PGR/ServiceDefs.json
{
"tenantId": "pb",
"moduleName": "RAINMAKER-PGR",
"ServiceDefs": [
{
"serviceCode": "NoWaterSupply",
"serviceName": "No Water Supply",
"categoryCode": "water",
"priority": "HIGH",
"slaHours": 24
},
{
"serviceCode": "SewerageOverflow",
"serviceName": "Sewerage Overflow",
"categoryCode": "sewerage",
"priority": "CRITICAL",
"slaHours": 12
}
]
}UI Customizations
// In your customizations file
window.Digit = {
...window.Digit,
Customizations: {
...window.Digit?.Customizations,
PGR: {
complaintConfig: {
// Custom form configuration for complaint creation
enablePhotography: true,
mandatoryFields: ['complaintType', 'description', 'address'],
customFields: [
{
name: 'priorityLevel',
type: 'dropdown',
options: ['LOW', 'MEDIUM', 'HIGH', 'CRITICAL'],
required: true
}
],
validation: {
description: {
minLength: 20,
maxLength: 500
}
},
workflow: {
autoAssign: true,
escalationEnabled: true,
slaTracking: true
}
}
}
}
};💻 Usage
Basic Setup
Add the dependency to your package.json:
{
"@egovernments/digit-ui-module-pgr": "^1.9.0"
}In your App.js
import { initPGRComponents } from "@egovernments/digit-ui-module-pgr";
// Enable PGR module
const enabledModules = ["PGR"];
// Initialize PGR components
const initDigitUI = () => {
initPGRComponents();
};Using Enhanced Components
// Enhanced Inbox Component
import { DesktopInbox } from "@egovernments/digit-ui-module-pgr";
<DesktopInbox
parentRoute="/employee/pgr"
businessService="PGR"
filterComponent="PGR_INBOX_FILTER"
initialStates={{ searchForm: {}, filterForm: {} }}
isInboxLoading={false}
/>
// Enhanced PGR Card
import { PGRCard } from "@egovernments/digit-ui-module-pgr";
<PGRCard
complaint={complaintData}
onSelect={handleComplaintSelect}
onAction={handleComplaintAction}
t={t}
/>
// Enhanced Search Component
import { SearchComponent } from "@egovernments/digit-ui-module-pgr";
<SearchComponent
config={searchConfig}
onSearch={handleSearch}
onFilter={handleFilter}
enableLocationFilter={true}
/>MDMS Configuration
Enable PGR in MDMS by adding this configuration:
{
"module": "rainmaker-pgr",
"code": "PGR",
"active": true,
"order": 1,
"tenants": [
{
"code": "your-tenant-code"
}
]
}🎯 Key Capabilities
📝 Complete Grievance Lifecycle
- Complaint Submission: Multi-step complaint creation with validation
- Assignment Workflow: Automatic or manual complaint assignment
- Status Tracking: Real-time status updates throughout lifecycle
- Resolution Management: Streamlined resolution and closure workflows
🔍 Advanced Search & Analytics
- Multi-Criteria Search: Search by multiple parameters simultaneously
- Geographical Filtering: Ward and locality-based complaint filtering
- Status Analytics: Track complaint resolution metrics
- Performance Reports: Generate performance and trend reports
👥 Multi-User Experience
- Citizen Portal: User-friendly complaint submission and tracking
- Employee Dashboard: Comprehensive complaint management interface
- Supervisor Tools: Advanced monitoring and assignment capabilities
- Admin Controls: System configuration and user management
📱 Mobile & Accessibility
- Mobile-First Design: Optimized for mobile complaint submission
- Offline Capability: Basic offline functionality for critical operations
- Accessibility Compliance: WCAG 2.1 AA compliant interface
- Multi-Language Support: Comprehensive localization system
🔄 Migration Guide
From v1.8.x to v1.9.0
- Update Dependencies:
npm update @egovernments/[email protected]Update Global Configurations:
- Enable multi-tenant support if needed
- Configure inbox search configuration
- Set up location filtering options
- Configure complaint assignment rules
Component Updates:
- Inbox components now use new configuration system
- Enhanced search and filtering capabilities
- Improved form validation and error handling
Test Multi-Tenant Scenarios:
- Verify tenant switching functionality
- Test complaint data isolation
- Validate geographical filtering
🧪 Testing
Feature Testing
// Test multi-tenant PGR functionality
window.globalConfigs.getConfig = (key) => {
if (key === 'OVERRIDE_ROOT_TENANT_WITH_LOGGEDIN_TENANT') return true;
if (key === 'PGR_ENABLE_LOCATION_FILTER') return true;
};Testing Checklist
- [ ] Complaint creation with enhanced forms
- [ ] Inbox V2 loads and filters correctly
- [ ] Multi-tenant complaint management
- [ ] Advanced search and filtering
- [ ] Employee assignment workflows
- [ ] Mobile responsive design
- [ ] Timeline and status tracking
🔗 Dependencies
Required Dependencies
@egovernments/digit-ui-react-components: ^1.8.0@egovernments/digit-ui-components: ^1.0.0react: ^17.0.2react-dom: ^17.0.2react-router-dom: ^5.3.0
Peer Dependencies
lodash: ^4.17.21moment: ^2.29.0
🐛 Known Issues & Solutions
Common Issues
- Inbox Loading Issues: Fixed in v1.9.0 with optimized data loading
- Image Upload Validation: Enhanced validation with better error messages
- Timeline Display Problems: Improved status tracking and visualization
- Mobile Layout Issues: Fixed with responsive design improvements
📊 Performance Improvements
- Inbox Loading: 50% faster complaint loading and pagination
- Search Performance: 60% improvement in search response time
- Memory Usage: 25% reduction in memory consumption
- Bundle Size: 20% smaller bundle through optimization
🎯 PGR Workflows Supported
Citizen Workflows
- Complaint registration and submission
- Image upload and document attachment
- Status tracking and notifications
- Feedback and rating system
Employee Workflows
- Complaint assignment and management
- Status updates and action recording
- Bulk operations and reporting
- Supervisor dashboards and analytics
Administrative Workflows
- System configuration and setup
- User management and permissions
- Performance monitoring and reporting
- Integration with external systems
🤝 Contributors
[jagankumar-egov] [Tulika-eGov] [nipunarora-eGov] [naveen-egov] [Ramkrishna-egov]
📚 Documentation
🔧 Maintainer
📄 License
MIT
Published from DIGIT Frontend

