Skip to main content
Version: 3.9.0-beta.107 (Latest)

ViewportActionCorner

Key Changes and Rationale​

Previously, the ViewportActionCornersService used the setComponent or setComponents methods to add components to viewport corners. These methods, when used with multiple components, would essentially overwrite existing components at the same location, unless great care was taken with the indexPriority property. This made it difficult to reliably position multiple components within the same corner.

The new approach introduces the methods addComponent and addComponents, which insert components into the viewport corners based on an optional indexPriority property and provide predictable ordering based on the relative indexPriority of the components already at the corner. If no indexPriority is given, components are added to the end (for the left side) or the beginning (for the right side) by default.

Migration Steps​

Update Component Addition Methods: Replace calls to setComponent and setComponents with addComponent and addComponents, respectively.

// Old API
viewportActionCornersService.setComponent({
viewportId,
id: 'myComponent',
component: <MyComponent />,
location: viewportActionCornersService.LOCATIONS.topRight
});

New API

viewportActionCornersService.addComponent({
viewportId,
id: 'myComponent',
component: <MyComponent />,
location: viewportActionCornersService.LOCATIONS.topRight,
indexPriority: 1, // indexPriority is now optional and determines placement order within the corner
});