feat: @digit-ui/datagrid package + DIGIT Studio configurator UI - #4
Open
ChakshuGautam wants to merge 37 commits into
Open
feat: @digit-ui/datagrid package + DIGIT Studio configurator UI#4ChakshuGautam wants to merge 37 commits into
ChakshuGautam wants to merge 37 commits into
Conversation
- React 18 + Vite + TypeScript + Tailwind CSS + shadcn/ui - 4-phase wizard: Tenant, Boundary, Masters, Employee setup - DIGIT-styled components (SubmitBar, LabelFieldPair, DigitCard, etc.) - Orange DIGIT theme (#c84c0e) with Roboto fonts - Mobile-responsive design - Mock data for all phases (ready for API integration) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add API client with OAuth2 authentication - Add MDMS, Boundary, HRMS, and Localization services - Add Excel parsing utilities for all data types - Wire up LoginPage with real authentication - Wire up Phase1 (Tenant & Branding) with MDMS API - Wire up Phase2 (Boundaries) with Boundary Service API - Wire up Phase3 (Common Masters) with MDMS API - Wire up Phase4 (Employees) with HRMS API - Add proper error handling and validation - All phases now use live DIGIT APIs instead of mock data Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Built on react-admin (ra-core) with a custom DIGIT data provider, adding a full Management Mode for browsing and editing all DIGIT platform entities: tenants, departments, designations, employees, complaints, complaint types, boundaries, hierarchies, roles, localization, MDMS schemas, workflow services, and user management. Includes EntityLink cross-references, shadcn/ui components, docs pane, and telemetry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…verse refs Use MDMS v2 JSON Schema definitions (x-unique, required, x-ref-schema) to auto-generate List columns and Show field groups. EntityLink badges resolve foreign keys (e.g. rolecode → "Super User"), reverse-reference sections show what links back, and a collapsible Schema Definition viewer shows the raw JSON schema. Fixes React 19 strict type errors in Show components and DigitDatagrid rowClick="show" routing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Double-click any editable cell to edit in place. Enter/blur saves via the data provider, Escape cancels. Single click still navigates to the show page (250ms delay disambiguates click vs double-click). Enabled on: departments (name, description), designations (name, description), complaint types (name, slaHours), localization (message), and all schema-driven MDMS columns (auto-set for non-key, non-ref fields). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Double-clicking a reference column (e.g. Department on Complaint Types) now shows a shadcn Select dropdown populated via useGetList. Uses pointer-events to prevent EntityLink click interception. Schema-driven views auto-detect reference fields and mark them editable with type: 'reference'. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Covers: mutation modes (undoable/optimistic/pessimistic), polymorphic EditableCell, inline delete, auto row actions, column configurability, mutation callbacks/transforms, and monorepo workspace package structure. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 tasks covering: package scaffolding, useMutationMode hook, polymorphic EditableCell, useColumnConfig, RowActions + InlineDelete, schema auto-detection, DigitDatagrid integration, DigitList column config, barrel exports, app wiring, and final cleanup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…imitives Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…stic modes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…back Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…polymorphic cells Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ma utilities Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Admin barrel re-exports DigitDatagrid, DigitList, types from package - schemaUtils.ts wraps package generateColumns with EntityLink renderRef - Package @/ aliases converted to relative imports for vite compat Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 238 files, which is 88 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (238)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
16 tasks across 5 chunks: filter input components, structural components (FilterBar, AddFilterButton, FilterFormInput), DigitList integration, generateFilterElements schema auto-generation, and app wiring. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n, Date, NullableBoolean, Reference) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- C1: Define FilterElement/FilterElementProps types for React 19 safe .props access (ReactElement.props is unknown in @types/react 19) - I1: Add "All" clear option to SelectFilterInput and ReferenceFilterInput - I2: Fix SearchFilterInput useCallback dependency ([field] → [field.onChange]) - I3: Memoize useGetList pagination/sort params in ReferenceFilterInput - S1: Close AddFilterButton popover after selecting a filter - S2: Use orderFields() in generateFilterElements for consistent ordering Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DigitFormCodeInput: auto-derives code from sibling name field (e.g., "Public Works" → PUBLIC_WORKS) with Generate button - DigitFormSelect: reusable select component for DIGIT forms - MdmsResourceCreate: generic MDMS record creation page - WorkflowActionSelect: workflow action selector component - validation.ts: form validation utilities with relaxed code regex - Create forms for all MDMS resources (departments, designations, complaint types, boundaries, employees, localization, users) - Updated Edit forms with improved layouts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bugs found and fixed while running the E2E onboarding test: - config.ts: PGR schema code was RAINMAKER_PGR (underscore) but actual schema in DIGIT is RAINMAKER-PGR (hyphen) - mdms.ts: createTenant() missing tenantId in data payload - mdms.ts: createDesignation() missing required 'description' field and 'department' must be string[] not string per schema - mdms.ts: createComplaintType() used 'serviceName' but schema field is 'name', and missing required 'keywords' field - mdms.ts: getComplaintTypes() now reads 'name' field fallback - boundary.ts: searchBoundaries() only read TenantBoundary[] (old nested format) but DIGIT returns Boundary[] (flat array format) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Walks through the complete 4-phase onboarding wizard: Login → Phase 1 (Tenant) → Phase 2 (Boundaries) → Phase 3 (Masters) → Phase 4 (Employees) - Generates unique XLSX fixtures per run (timestamp-based) for test isolation — no cleanup needed between runs - Serial test suite with shared browser page for session state - Screenshots at each step for debugging - 5 tests, all passing in ~11s Run: npx playwright test --config e2e-onboarding/playwright.config.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Playwright tests for CRUD operations on all management-mode resources: boundaries, complaints, complaint-types, departments, designations, employees, localization, users, and generic MDMS records. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
i18n: API-first architecture using DIGIT's localization API for app.* translations (EN/HI/PT/FR), with ra.* framework strings bundled per-locale. English is fully bundled for synchronous boot. Non-English locales fetch from API on demand with localStorage caching (1-day TTL). Themes: CSS variable-based theme presets (digit-orange, material-indigo, material-teal, material-blue, digit-dark) with localStorage persistence. Switching themes swaps CSS custom properties at runtime. Layout: Added LocaleSwitcher and ThemeSwitcher to DigitLayout header. Sidebar navigation uses i18n keys for all labels. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All column headers and field labels now use useTranslate() with app.* keys, enabling full translation of the management UI when switching locales. Added AccessAction and RoleAction resource pages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ChakshuGautam
force-pushed
the
configurator
branch
from
April 7, 2026 05:36
c44f3a7 to
da40a47
Compare
Add scripts/setup-configurator.sh for automated build and deployment of the configurator UI, including DIGIT-MCP dependency resolution. Replace boilerplate Vite README with project-specific documentation covering prerequisites, dev/prod setup, and API configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ChakshuGautam
force-pushed
the
configurator
branch
2 times, most recently
from
April 7, 2026 11:23
fe8c927 to
2da5cfd
Compare
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@digit-ui/datagridas a publishable monorepo workspace package with vendored Radix primitivesuseMutationModehook (pessimistic/optimistic/undoable), polymorphicEditableCell(text/number/boolean/date/select/reference),useColumnConfigwith localStorage persistence,RowActions+InlineDelete, and schema-driven column auto-detection (boolean/date/enum)DigitDatagridandDigitListcomponents with column configurability popoverTest plan
packages/digit-datagrid)utilities/crs_dataloader/ui-mockup)