2026-03-31
- Hardened cURL Axios Configuration Extraction:
- Identified a failure in
executeCurlwhere nested objects inparamsorheaderswere truncated by non-greedy regex matching. - Replaced regex-based extraction with a robust
brace-countingalgorithm inthird-party-service.service.tsto correctly identify the full scope of nested Javascript objects in cURL commands. - Refactored extraction logic into a reusable
extractConfigObject()helper. - Switched to a closure-based parsing approach (
new Function('return { ... }')) for safer and more consistent evaluation of extracted configuration strings.
- Identified a failure in
- Audit and Synchronization of Daily Logs:
- Audited the
md-officecentral daily logs for March 26-31. - Recovered implementation details and synchronized logs with
docs/dynaforms-history.mdfor consistency. - Created missing logs and updated incomplete files to maintain a reliable historical record.
- Audited the
- Matrix Widget: Row Count Configuration Summary:
- Introduced a dedicated automated row count at the bottom of the matrix widget to display the total number of rows.
- Updated the Matrix configuration schema with
includeRowCount(boolean) androwCountLabel(string) properties, defaulting to"Count". - Integrated property panel controls (
right-panel-static.component.ts) and real-time builder feedback incenter-panel.component.htmlto allow designers to customize and preview the count summary. - Synchronized technical registration in
dynaform.service.tsto ensure consistent property initialization for all new Matrix fields.
- Matrix Widget: Row Count for Iterative Tables:
- Extended the newly added Row Count feature to support Iterative (dynamic) Matrix tables, which were previously excluded.
- Simplified the conditional logic in
right-panel-staticto allow the toggle to render for iterative tables without removing count properties. - Updated
center-panel.component.htmlto visualize the row count summary directly above the column mathematical aggregate row in Iterative mode. - Removed redundant layout cells from the Column Summation row in iterative mode to integrate closely with the new layout structure involving the Row Count row.
- Matrix Widget: Refinement of Iterative Table Labels and Initialization:
- Hidden Redundant Configuration Settings: Iterative tables do not render leading label cells for their summary rows. As a result, the Right Panel UI text inputs for
rowCountLabelandcolumnAggregateLabelare now explicitly hidden (&& !selectedItem.iterativeTable) when in iterative mode to avoid confusing the designer. - Garbage Collection of Configuration State: Enhanced safety in the property panel (
right-panel-static.component.ts) by actively clearing both label values toundefinedwhenever the table is switched into Iterative mode. - Streamlined Service Defaults: Cleaned up
dynaform.service.tsby removing the aggressive initialization ofincludeRowCount: falseandrowCountLabel: 'Count'from the basecreateTableElementobject structure, keeping the JSON payload lean. - Matrix Widget: Row Count UI Layout Fix for Row Aggregates:
- Addressed a visual layout bug occurring when a user enabled both "Row Count" and mathematical "Row Aggregates" on the same matrix.
- Updated
center-panel.component.htmlto inject a trailing logical spacer<td *ngIf="item.includeRowAggregate" class="bg-gray-100"></td>at the end of the Row Count row to align perfectly with the extra right-side calculation column. - Applied the correction across both static and dynamic/iterative modes, encompassing nested
useColumnGroupscolumns and flatsimpleColumns.
- Hidden Redundant Configuration Settings: Iterative tables do not render leading label cells for their summary rows. As a result, the Right Panel UI text inputs for