Search in sources :

Example 6 with CanvasHandler

use of org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler in project kie-wb-common by kiegroup.

the class AbstractProjectDiagramEditor method save.

/**
 * Considering the diagram valid at this point ,
 * it delegates the save operation to the diagram services bean.
 * @param commitMessage The commit's message.
 */
@Override
@SuppressWarnings("unchecked")
protected void save(final String commitMessage) {
    super.save(commitMessage);
    showLoadingViews();
    // Update diagram's image data as thumbnail.
    final CanvasHandler canvasHandler = getSession().getCanvasHandler();
    final Diagram diagram = canvasHandler.getDiagram();
    // Perform update operation remote call.
    projectDiagramServices.saveOrUpdate(versionRecordManager.getCurrentPath(), getDiagram(), metadata, commitMessage, new ServiceCallback<ProjectDiagram>() {

        @Override
        public void onSuccess(final ProjectDiagram item) {
            getSaveSuccessCallback(item.hashCode());
            onSaveSuccess();
            hideLoadingViews();
        }

        @Override
        public void onError(final ClientRuntimeError error) {
            onSaveError(error);
        }
    });
}
Also used : CanvasHandler(org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler) ClientRuntimeError(org.kie.workbench.common.stunner.core.client.service.ClientRuntimeError) ProjectDiagram(org.kie.workbench.common.stunner.project.diagram.ProjectDiagram) Diagram(org.kie.workbench.common.stunner.core.diagram.Diagram) ProjectDiagram(org.kie.workbench.common.stunner.project.diagram.ProjectDiagram)

Example 7 with CanvasHandler

use of org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler in project kie-wb-common by kiegroup.

the class LienzoMultipleSelectionControlTest method testOnShapeLocationsChanged.

@Test
public void testOnShapeLocationsChanged() {
    // Different canvas
    when(shapeLocationsChangedEvent.getCanvasHandler()).thenReturn(mock(CanvasHandler.class));
    tested.onShapeLocationsChanged(shapeLocationsChangedEvent);
    verify(selectedItems, never()).rebuildBoundingBox();
    verify(selectionManager, never()).drawSelectionShape(eq(MIN_WIDTH), eq(MIN_HEIGHT), eq(MAX_WIDTH), eq(MAX_HEIGHT), eq(overLayer));
    // Same canvas no selectedItems
    when(shapeLocationsChangedEvent.getCanvasHandler()).thenReturn(canvasHandler);
    when(shapeLocationsChangedEvent.getUuids()).thenReturn(new ArrayList<>());
    tested.onShapeLocationsChanged(shapeLocationsChangedEvent);
    verify(selectedItems, never()).rebuildBoundingBox();
    verify(selectionManager, never()).drawSelectionShape(eq(MIN_WIDTH), eq(MIN_HEIGHT), eq(MAX_WIDTH), eq(MAX_HEIGHT), eq(overLayer));
    // Same canvas with selected items
    when(shapeLocationsChangedEvent.getCanvasHandler()).thenReturn(canvasHandler);
    List<String> selectedUUIds = new ArrayList<>();
    selectedUUIds.add("ELEMENT_UUID");
    when(shapeLocationsChangedEvent.getUuids()).thenReturn(selectedUUIds);
    when(tested.getSelectedItems()).thenReturn(selectedUUIds);
    when(delegateShapeProvider.getShape()).thenReturn(mock(com.ait.lienzo.client.core.shape.Shape.class));
    when(selectionManager.getSelectedItems()).thenReturn(selectedItems);
    when(selectedItems.getBoundingBox()).thenReturn(new BoundingBox(MIN_WIDTH, MIN_HEIGHT, MAX_WIDTH, MAX_HEIGHT));
    when(shapeLocationsChangedEvent.getCanvasHandler()).thenReturn(canvasHandler);
    tested.onShapeLocationsChanged(shapeLocationsChangedEvent);
    verify(selectedItems, times(1)).rebuildBoundingBox();
    verify(selectionManager, times(1)).drawSelectionShape(eq(MIN_WIDTH), eq(MIN_HEIGHT), eq(MAX_WIDTH), eq(MAX_HEIGHT), eq(overLayer));
}
Also used : AbstractCanvasHandler(org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler) CanvasHandler(org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler) Shape(org.kie.workbench.common.stunner.core.client.shape.Shape) BoundingBox(com.ait.lienzo.client.core.types.BoundingBox) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 8 with CanvasHandler

use of org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler in project kie-wb-common by kiegroup.

the class NotificationsObserver method translateCommand.

@SuppressWarnings("unchecked")
private Notification translateCommand(final AbstractCanvasCommandEvent<? extends CanvasHandler> commandExecutedEvent) {
    final CanvasHandler canvasHandler = commandExecutedEvent.getCanvasHandler();
    final NotificationContext context = NotificationContext.Builder.build(canvasHandler.toString(), canvasHandler.getDiagram().getName(), canvasHandler.getDiagram().getMetadata().getTitle());
    return notificationBuilder.createCommandNotification(context, commandExecutedEvent.getCommand(), commandExecutedEvent.getResult());
}
Also used : CanvasHandler(org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler)

Example 9 with CanvasHandler

use of org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler in project kie-wb-common by kiegroup.

the class BaseNavigateCommand method enableHandlers.

protected void enableHandlers(final boolean enabled) {
    final CanvasHandler handler = getCanvasHandler();
    if (handler == null) {
        return;
    }
    final Layer layer = handler.getCanvas().getLayer();
    if (enabled) {
        layer.enableHandlers();
        ((AbstractClientSession) sessionManager.getCurrentSession()).resume();
    } else {
        layer.disableHandlers();
        ((AbstractClientSession) sessionManager.getCurrentSession()).pause();
    }
}
Also used : AbstractCanvasHandler(org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler) CanvasHandler(org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler) AbstractClientSession(org.kie.workbench.common.stunner.core.client.session.impl.AbstractClientSession) Layer(org.kie.workbench.common.stunner.core.client.canvas.Layer)

Aggregations

CanvasHandler (org.kie.workbench.common.stunner.core.client.canvas.CanvasHandler)9 AbstractCanvasHandler (org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler)6 Diagram (org.kie.workbench.common.stunner.core.diagram.Diagram)5 ClientRuntimeError (org.kie.workbench.common.stunner.core.client.service.ClientRuntimeError)2 BoundingBox (com.ait.lienzo.client.core.types.BoundingBox)1 ArrayList (java.util.ArrayList)1 Dependent (javax.enterprise.context.Dependent)1 Inject (javax.inject.Inject)1 Test (org.junit.Test)1 PortablePreconditions.checkNotNull (org.kie.soup.commons.validation.PortablePreconditions.checkNotNull)1 DefinitionManager (org.kie.workbench.common.stunner.core.api.DefinitionManager)1 Layer (org.kie.workbench.common.stunner.core.client.canvas.Layer)1 ElementBuildRequestImpl (org.kie.workbench.common.stunner.core.client.canvas.controls.builder.request.ElementBuildRequestImpl)1 CanvasSelectionEvent (org.kie.workbench.common.stunner.core.client.canvas.event.selection.CanvasSelectionEvent)1 ClientFullSession (org.kie.workbench.common.stunner.core.client.session.ClientFullSession)1 AbstractClientSession (org.kie.workbench.common.stunner.core.client.session.impl.AbstractClientSession)1 Shape (org.kie.workbench.common.stunner.core.client.shape.Shape)1 Metadata (org.kie.workbench.common.stunner.core.diagram.Metadata)1 Edge (org.kie.workbench.common.stunner.core.graph.Edge)1 Element (org.kie.workbench.common.stunner.core.graph.Element)1