Skip to content

Feature/ab#30910 edit dynamic dg values#2155

Merged
JamesPasta merged 7 commits intodevfrom
feature/AB#30910-edit-dynamic-dg-values
Mar 24, 2026
Merged

Feature/ab#30910 edit dynamic dg values#2155
JamesPasta merged 7 commits intodevfrom
feature/AB#30910-edit-dynamic-dg-values

Conversation

@AndreGAot
Copy link
Copy Markdown
Contributor

@AndreGAot AndreGAot commented Mar 23, 2026

Enables editing of dynamic DataGrid (CHEFS-driven) column values in the row-edit modal by carrying dynamic column metadata (key/name/type) through the UI and applying type-aware formatting for both input and presentation.

Changes:

Extend DataGrid row-edit flow to include dynamic columns as editable inputs (with type-specific rendering and formatting).
Introduce dynamic field mapping (DynamicFieldMap) and input/presentation formatting helpers for dynamic columns (notably Date/DateTime/Currency).
Adjust DataGrid column generation/merging and summary summation logic.

@github-actions
Copy link
Copy Markdown

🧪 Unit Test Results (Parallel Execution)

Tests

📊 Summary

Result Count
✅ Passed 561
❌ Failed 0
⚠️ Skipped 0

📄 HTML Reports

  • Merged Tests (HTML): Included in artifacts
    Generated automatically by CI.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables editing of dynamic DataGrid (CHEFS-driven) column values in the row-edit modal by carrying dynamic column metadata (key/name/type) through the UI and applying type-aware formatting for both input and presentation.

Changes:

  • Extend DataGrid row-edit flow to include dynamic columns as editable inputs (with type-specific rendering and formatting).
  • Introduce dynamic field mapping (DynamicFieldMap) and input/presentation formatting helpers for dynamic columns (notably Date/DateTime/Currency).
  • Adjust DataGrid column generation/merging and summary summation logic.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Views/Shared/Components/DataGridWidget/Default.css Updates styles used by the edit-row modal layout and adds a “static field” indicator style.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Views/Shared/Components/DataGridWidget/Default.cshtml Minor markup whitespace change in the DataGrid widget view.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Views/Shared/Components/DataGridWidget/DataGridWidget.cs Attempts to dedupe generated columns; enables editing in dynamic/no-columns preview; refactors cell summation loop.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Pages/Components/DataGrid/EditDataRowModal.cshtml.cs Adds dynamic field prefixing, dynamic type/name map handling, checkbox normalization, and dynamic DateTime storage conversion.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Pages/Components/DataGrid/EditDataRowModal.cshtml Renders dynamic fields as editable (type-aware) controls; merges dynamic+custom fields into one list; adds “predefined column” icon/tooltip.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Pages/Components/DataGrid/DataGridServiceUtils.cs Adds Date/DateTime formatting support and replaces dynamic extraction with richer DynamicFieldMap values.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Pages/Components/DataGrid/DataGridReadService.cs Updates API to return DynamicFieldMap[] and excludes custom-column keys from dynamic extraction.
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/DataGridExtensions.cs Adds ApplyInputFormatting and DateTime offset normalization for HTML input compatibility.
Comments suppressed due to low confidence (1)

applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Views/Shared/Components/DataGridWidget/DataGridWidget.cs:152

  • GenerateDataColumns mixes Key and Name when detecting existing columns: existingKeys is built from dataColumns.Select(c => c.Key) but the filter compares against DataGridDefinitionColumn.Name, and new columns are added with Key = dataColumn.Name. This can lead to missing or duplicated columns when existing DataGridValue.Columns keys don’t match names (e.g., dynamic grids where Key comes from schema and Name is a label). Use a consistent identifier (preferably Key) for both the hash set and the comparison, and set the added column’s Key accordingly (or, if the intended de-dupe is by display name, build the set from c.Name instead).
            List<DataGridColumn> dataColumns = dataGridValue?.Columns ?? [];
            var existingKeys = new HashSet<string>(dataColumns.Select(c => c.Key), StringComparer.Ordinal);

            foreach (var dataColumn in (dataGridDefinition?.Columns ?? []).Where(c => !existingKeys.Contains(c.Name)))
            {
                dataColumns.Add(new DataGridColumn()
                {
                    Key = dataColumn.Name,
                    Name = dataColumn.Name,
                    Type = dataColumn.Type
                });

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@AndreGAot AndreGAot marked this pull request as draft March 23, 2026 21:15
@github-actions
Copy link
Copy Markdown

🧪 Unit Test Results (Parallel Execution)

Tests

📊 Summary

Result Count
✅ Passed 561
❌ Failed 0
⚠️ Skipped 0

📄 HTML Reports

  • Merged Tests (HTML): Included in artifacts
    Generated automatically by CI.

@github-actions
Copy link
Copy Markdown

🧪 Unit Test Results (Parallel Execution)

Tests

📊 Summary

Result Count
✅ Passed 561
❌ Failed 0
⚠️ Skipped 0

📄 HTML Reports

  • Merged Tests (HTML): Included in artifacts
    Generated automatically by CI.

@github-actions
Copy link
Copy Markdown

🧪 Unit Test Results (Parallel Execution)

Tests

📊 Summary

Result Count
✅ Passed 561
❌ Failed 0
⚠️ Skipped 0

📄 HTML Reports

  • Merged Tests (HTML): Included in artifacts
    Generated automatically by CI.

@AndreGAot AndreGAot marked this pull request as ready for review March 24, 2026 19:36
@AndreGAot AndreGAot requested a review from JamesPasta March 24, 2026 19:37
@JamesPasta JamesPasta merged commit 450c406 into dev Mar 24, 2026
22 checks passed
@JamesPasta JamesPasta deleted the feature/AB#30910-edit-dynamic-dg-values branch March 24, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants