Major
Detail
Detail
#27027
Declarative forms: SelectField disappears after upload if option list depends on mandatory property
#27042
MaintenanceJspBase should write to the log first, then to the client, instead of the other way around.
Bugfix
(User-visible)
Major
#27138
Error when dragging the selected row of a non-initial slice of a table
If you drag the selected row of a scrolled viewport table so that the selected row is not in the first slice of the table, an IndexOutOfBoundsException is thrown when the drag data is hovered over the target.
Caused by: java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 162 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248) at java.base/java.util.Objects.checkIndex(Objects.java:372) at java.base/java.util.ArrayList.get(ArrayList.java:459) at java.base/java.util.Collections$UnmodifiableList.get(Collections.java:1310) at com.top_logic.layout.table.model.AbstractObjectTableModel.getRowObject(AbstractObjectTableModel.java:95) at com.top_logic.layout.table.TableViewModel.getRowObject(TableViewModel.java:2886) at com.top_logic.model.search.providers.TableDragSourceByExpression.getDragObject(TableDragSourceByExpression.java:99) at com.top_logic.model.search.providers.GridDragSourceByExpression.getDragObject(GridDragSourceByExpression.java:53) at com.top_logic.layout.table.control.TableControl.getDragData(TableControl.java:410) at com.top_logic.layout.dnd.DnD.getDraggedData(DnD.java:92) at com.top_logic.layout.dnd.DnD.parse(DnD.java:85) at com.top_logic.layout.dnd.DnD.getDragData(DnD.java:58) at com.top_logic.layout.tree.TreeControl$DragOverAction.execute(TreeControl.java:1071) at com.top_logic.layout.tree.TreeControl$TreeAction.execute(TreeControl.java:754) at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:915) at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:221) at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:231) at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:27) at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:2847) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:192) ... 51 more
Test
Create a table with at least 21 objects, because the default slice size is 20 and then select a row of e.g. the 2nd slice and perform a drag-and-drop operation. No error message must be displayed by the tl:InfoService.