Skip to content

UVE experiment#34173

Draft
fmontes wants to merge 117 commits intomainfrom
uve-experiment
Draft

UVE experiment#34173
fmontes wants to merge 117 commits intomainfrom
uve-experiment

Conversation

@fmontes
Copy link
Member

@fmontes fmontes commented Dec 26, 2025

Proposed Changes

  • change 1
  • change 2

Checklist

  • Tests
  • Translations
  • Security Implications Contemplated (add notes if applicable)

Additional Info

** any additional useful context or info **

Screenshots

Original Updated
** original screenshot ** ** updated screenshot **

- Replaced the usage header with a PrimeNG toolbar for better action handling.
- Enhanced loading state with a more structured skeleton layout for site metrics, system configuration, and user activity.
- Updated error handling to use PrimeNG card components for a cleaner presentation.
- Refactored dashboard content layout to utilize flexbox for better responsiveness.
- Adjusted SCSS styles to align with new component structure and improve overall styling consistency.

This update enhances the user experience and maintains a modern design approach.
…yling

- Adjusted skeleton component heights for better visual consistency.
- Added margin utility class to paragraph elements within skeleton templates.
- Enhanced SCSS styles for skeleton display and h3 elements to improve layout and readability.

These changes aim to refine the user interface and enhance the loading experience in the dot-usage-shell component.
- Introduced DotUsageService to fetch usage summary metrics from the backend API.
- Implemented error handling for various HTTP status codes.
- Added unit tests for DotUsageService to validate summary retrieval and error handling.
- Updated dot-usage-shell component to manage loading and error states using signals.
- Refactored component tests to utilize the new service structure.

These changes enhance the functionality and reliability of the dot-usage feature, ensuring accurate data retrieval and user-friendly error messages.
…itioning calculations for zoom functionality
…nused expanded property from node definitions
…d enhance data structure for container information
…nused service injections for improved code clarity
…handling to scroll to corresponding elements in the editor, improving user navigation experience.
…om levels, enhancing the accuracy of element positioning in the editor.
… for tree nodes, allowing users to reorder rows within the layout. Add event handling for node selection and drop validation to improve user interaction and layout management.
…ve function: implement updateRows method for saving reordered layout rows, enhancing layout management and state handling in the editor.
…s and paddings for improved layout, and modify row label to use styleClass for better representation.
…ith validation, integrate form submission handling, and update layout for improved user interaction. Adjust styles for right sidebar and contentlet tools to support new features.
…ing state during submission, and update submit button behavior for improved user experience.
…order component for improved row management, enhancing drag-and-drop functionality and simplifying layout handling.
fmontes and others added 22 commits January 4, 2026 17:35
- Removed unnecessary whitespace in withPageContext function for cleaner code.
- Updated withLock function to reset selectedContentlet in the editor state upon locking and unlocking, ensuring consistent state management.
- Enhanced lock loading state handling to improve user experience during page reloads.
- Changed the active tab condition in dot-uve-palette.component.html to use the TABS_MAP.LAYERS constant for improved readability and maintainability.
- Adjusted the UVE_PALETTE_TABS enum to swap the indices of STYLE_EDITOR and LAYERS, aligning with the new tab structure.
…ering and submission

- Added calls to spectator.detectChanges() to ensure the form is built and rendered correctly during tests.
- Updated input query to accommodate both form control name and ID for better test reliability.
- Improved assertions to verify emitted data upon form submission, ensuring accurate test coverage for the component's functionality.
…ection and rendering

- Added interactions to select contentlet by clicking hover bounds during tests.
- Updated assertions to verify correct rendering of bounds and actions based on contentlet area changes.
- Improved test coverage for handling undefined properties in contentlet area, ensuring robust behavior in various scenarios.
- Introduced comprehensive unit tests for the DotUveIframeComponent, covering component creation, input handling, and iframe behavior.
- Implemented tests for different page types (HEADLESS and TRADITIONAL) to ensure correct event emissions and content insertion.
- Enhanced coverage for SEO data handling and inline script management, ensuring robust functionality and state management.
- Introduced comprehensive unit tests for the DotRowReorderComponent, covering component creation, rendering of rows and columns, row selection, and drag-and-drop functionality.
- Implemented tests for row and column label rendering, ensuring correct display based on style classes and default values.
- Enhanced coverage for edit dialog interactions, verifying correct behavior for row and column editing, including form control value setting and submission logic.
- Added tests for row expansion and collapse, ensuring proper state management during user interactions.
- Added new signals for managing view state properties, including device, social media, and orientation.
- Introduced computed signals for view state and page parameters to improve test control and state management.
- Updated unit tests to reflect changes in signal handling and ensure accurate behavior during preview mode interactions.
- Refactored state management in tests to utilize new editor state structure, enhancing clarity and maintainability.
- Removed legacy unlock button tests, replacing them with assertions for the toggle lock button.
- Updated calendar interaction tests to ensure proper rendering and functionality in live mode.
- Improved overall test coverage by addressing various UI interactions and state changes.
- Added DotPageLayoutService mock to improve test coverage for layout-related functionality.
- Included calls to spectator.detectChanges() in relevant tests to ensure proper component rendering and state updates.
- Updated afterEach cleanup logic to handle activatedRoute more robustly, ensuring consistent test behavior.
Replace zoomService.$zoomLevel() with uveStore.$zoomLevel() in the
dot-ema-page-dropzone component binding. The zoom level now lives in
the UVE store as part of the withZoom feature.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ore features

## Summary
Refactors the access method for  in the  to utilize the new editor structure. Additionally, updates the store features to include new methods for handling GraphQL responses and history management.

## Changes
- Updated  access in  to use .
- Enhanced  with new methods for managing GraphQL responses and history.
- Adjusted imports in  for better organization.
- Modified  and  to align with the new structure and ensure proper functionality.

## Testing
- Verified that the form correctly retrieves and updates the active contentlet.
- Ensured that new store methods function as expected without breaking existing features.

## Related Issues
None
…ontrols components

## Summary
This commit addresses missing import statements in the test files for the dot-row-reorder and dot-uve-zoom-controls components.

## Changes
- Added the  import in .
- Included a blank line for better readability in .

## Testing
- Ensured that the test files compile successfully after the import adjustments.

## Related Issues
None
@semgrep-code-dotcms-test
Copy link

Semgrep found 9 ssc-4fd3a3fc-acff-4277-9d88-60469f5a4fa5 findings:

  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-zoom-controls/dot-uve-zoom-controls.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-toolbar/dot-uve-toolbar.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-palette/dot-uve-palette.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-palette/components/dot-uve-palette-list/dot-uve-palette-list.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-palette/components/dot-row-reorder/dot-row-reorder.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-iframe/dot-uve-iframe.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-contentlet-quick-edit/dot-uve-contentlet-quick-edit.component.ts
  • core-web/libs/portlets/edit-ema/portlet/src/lib/dot-ema-shell/dot-ema-shell.component.ts

Risk: Affected versions of @angular/compiler and @angular/core are vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Angular's template compiler fails to classify the href and xlink:href attributes on SVG <script> elements as Resource URL contexts. This allows an attacker to bind a malicious data: URI or external script via [attr.href] or [attr.xlink:href], resulting in arbitrary JavaScript execution (XSS) in the victim's browser.

Fix: Upgrade this library to at least version 20.3.16 at core/core-web/yarn.lock:512.

Reference(s): GHSA-jrmj-c5cx-3cw6, CVE-2026-22610

If this is a critical or high severity finding, please also link this issue in the #security channel in Slack.

fmontes and others added 7 commits February 2, 2026 12:50
- Updated EditEmaEditorComponent to use activeContentlet instead of selectedContentlet for better clarity and functionality.
- Refactored related methods and store actions to align with the new naming convention.
- Removed references to selectedContentlet in tests and store state, ensuring consistency across the application.
- Adjusted tests to validate the new activeContentlet behavior.

This change enhances the codebase by improving the naming consistency and reducing confusion regarding contentlet state management.
…ActionsHandler

- Eliminated unnecessary console.log statements from the DotUvePaletteComponent and DotUveActionsHandlerService to clean up the code and improve performance.
- This change enhances code readability and reduces clutter in the console output during development.
- Changed method calls from  to  for consistency and improved readability.
- Adjusted form handling in  to clear the form before setting new values, preventing stale DOM issues.
- Updated related tests to reflect the new method access pattern, ensuring accurate assertions on active contentlet state.

This refactor enhances code clarity and maintains consistent access patterns across the UVE editor components.
- Updated the right sidebar to include a tab view for managing contentlet quick edits and style editing.
- Integrated NgRx signalState for managing the active tab state, improving the user experience.
- Removed the style editor tab from the DotUvePalette component, consolidating tab management within the EditEmaEditor.
- Adjusted image paths for toolbar icons to ensure correct asset loading.

This refactor improves the organization and usability of the editing interface, allowing for a more streamlined editing process.
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