Skip to content

Rename DebugTool to DeveloperTools with enhanced features - #8

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/cap2ui5-abap2ui5-sync-dppxkp
Jul 19, 2026
Merged

Rename DebugTool to DeveloperTools with enhanced features#8
oblomov-dev merged 1 commit into
mainfrom
claude/cap2ui5-abap2ui5-sync-dppxkp

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Summary

Rename the debug tool to "Developer Tools" and significantly expand its capabilities with new tabs for viewing system state, error logs, and rendered view content. Add error dialog improvements and fix various control resolution issues across the codebase.

Key Changes

Developer Tools Expansion

  • Rename DebugTool.jsDeveloperTools.js with corresponding XML fragment and class files
  • Add new tabs to the Developer Tools dialog:
    • System tab: Display the entire z2ui5 global state with configurable folding levels
    • Error tab: Show formatted error log from AppState.state.errors
    • View Content tab: Display raw XML view content
    • Rendered Content tab: Show post-templating XML output
  • Implement XML pretty-printing via XSLT processor with caching
  • Add JSON serialization with circular reference detection
  • Implement ACE editor session folding to manage deeply nested content display

Error Handling Improvements

  • Enhance ErrorView.js with friendly error dialog that shows error previews
  • Add HTML entity decoding for backend error pages
  • Implement dialog state persistence to allow reopening from Developer Tools
  • Add error log formatting with timestamps

Control Resolution Fixes

  • Update ViewSlots.js to properly attach shared models when setting views
  • Fix Tree.js to use byIdOfOwner() instead of byId() for proper slot resolution
  • Update Scrolling.js, Focus.js, UITableExt.js, MultiInputExt.js, UploadSetExt.js to use correct control resolution methods
  • Fix Dirty.js to track multiple instances with global state management

Event Handling & Model Updates

  • Update z2ui5_cl_core_srv_event.js to use cs_event.control_by_id constant instead of string literal
  • Add validation in z2ui5_cl_core_srv_model.js to skip non-numeric row indices in delta application
  • Improve z2ui5_cl_core_srv_bind.js error handling for invalid table indices

UI & Formatter Updates

  • Add stock status formatter constants to formatter.js for consistent state/icon mapping
  • Update FrontendAction.js imports to include Filter, FilterOperator, and Sorter
  • Remove unused CSS resource from manifest.json
  • Update dialog title and add escape handler to Developer Tools fragment

Sample Apps

  • Rename z2ui5_cl_sample_app_001.jsz2ui5_cl_demo_app_g00.js
  • Remove z2ui5_cl_demo_app_001.js and z2ui5_cl_demo_app_383.js
  • Add new demo apps: 448-464 showcasing various UI5 controls and patterns
  • Update existing demo apps with minor fixes and improvements

Notable Implementation Details

  • Developer Tools uses module-level singletons for expensive XSLT processor and DOM serializers
  • Circular reference detection in JSON serialization prevents crashes on complex objects
  • ACE editor folding respects indentation levels to intelligently collapse nested structures
  • Error dialog state is preserved to support reopening from Developer Tools without data loss
  • Control resolution now properly scopes to the companion's own slot (MAIN, POPUP, POPOVER, NESTED)

https://claude.ai/code/session_01KL2rJRRu4LLsigfqMTxBuE

Pull the rebuilt core from builder-abap2UI5-js: upstream abap2UI5
5a91ddeb + samples cloud 2aa17092 (DeveloperTools rename, control-call
consolidation into follow_up_action, reorganized samples incl. the new
g00 getting-started gallery). Assembled app green: builder jest 11/11,
app jest 17/17.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KL2rJRRu4LLsigfqMTxBuE
@oblomov-dev
oblomov-dev merged commit 1d34e8d into main Jul 19, 2026
1 check passed
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.

2 participants