flowable / flowable/flowable-engine
UI Modeler App: Scrolling or zooming loses currently selected elements
- Lenguaje dominante
- Java
- Estrellas
- 9.5k
- Forks
- 2.9k
- Merge medio
- 7 h 8 min
- PR fusionados (30 d)
- 2
Descripción
When using the UI Modeler App, the currently selected elements are lost and the process definition is selected, when using a scrollbar or the zoom functionality from the toolbar.
The behaviour is demonstrated in the following gif files:


I tried to investigate a possible solution:
flowable-ui-modeler/flowable-ui-modeler-app/src/main/resources/static/editor-app/stencil-controller.js
```
// Only do something if another element is selected (Oryx fires this event multiple times)
if ($scope.selectedShape !== undefined && $scope.selectedShape.getId() === selectedShape.getId()) {
if ($rootScope.forceSelectionRefresh) {
// Switch the flag again, this run will force refresh
$rootScope.forceSelectionRefresh = false;
} else {
// Selected the same element again, no need to update anything
return;
}
}
```
If I add an else block to this if, e.g like this
```
} else {
if (event.elements.length === 0) {
return;
}
}
```
the problem could be fixed, but then the processdefinition itself is not selectable anymore (by clicking on an empty spot)
I could not find any information on the event (e.g. what element was clicked) to adjust the if clause accordingly and it seems the event itself with its attributes comes from deep inside the oryx editor. Here I was a bit lost to find the relevant files / code snippets.
Could you please fix this problem or point me in a direction to fix it myself and submit a merge request? Thanks!
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza en flowable-ui-modeler/flowable-ui-modeler-app/src/main/resources/static/editor-app/stencil-controller.js y reproduce el problema usando la barra de desplazamiento y los controles de zoom de la barra de herramientas que se muestran en los GIF enlazados. Rastrea el evento de selección y sus elements data para distinguir los cambios del viewport de hacer clic en un punto vacío. Se considera terminado cuando desplazarse o hacer zoom conserva los elementos seleccionados, mientras que hacer clic en un área vacía sigue seleccionando la definición del proceso.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript
- Área
- frontend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100