List of usage examples for com.vaadin.server KeyMapper key
@Override
public String key(V o)
From source file:com.haulmont.cuba.web.widgets.addons.dragdroplayouts.DDUtil.java
License:Apache License
public static void onBeforeClientResponse(HasComponents layout, DragAndDropAwareState state) { DDLayoutState dragAndDropState = state.getDragAndDropState(); Iterator<Component> componentIterator = layout.iterator(); dragAndDropState.draggable = new ArrayList<>(); dragAndDropState.referenceImageComponents = new HashMap<>(); dragAndDropState.nonGrabbable = new ArrayList<>(); dragAndDropState.dragCaptions = new HashMap<>(); if (layout instanceof AbstractClientConnector) { for (DragCaptionInfo dci : dragAndDropState.dragCaptions.values()) { if (dci.iconKey != null) { ((AbstractClientConnector) layout).setConnectorResource(dci.iconKey, null); }//ww w . j av a 2 s. c o m } } KeyMapper<Resource> keyMapper = new KeyMapper<>(); while (componentIterator.hasNext()) { Component c = componentIterator.next(); if (layout instanceof DragFilterSupport && ((DragFilterSupport) layout).getDragFilter().isDraggable(c)) { dragAndDropState.draggable.add(c); } if (layout instanceof DragGrabFilterSupport) { DragGrabFilter dragGrabFilter = ((DragGrabFilterSupport) layout).getDragGrabFilter(); if (dragGrabFilter != null) { addNonGrabbedComponents(dragAndDropState.nonGrabbable, c, dragGrabFilter); } } if (layout instanceof HasDragCaptionProvider) { DragCaptionProvider dragCaptionProvider = ((HasDragCaptionProvider) layout) .getDragCaptionProvider(); if (dragCaptionProvider != null) { DragCaption dragCaption = dragCaptionProvider.getDragCaption(c); if (dragCaption != null) { String dragIconKey = null; if (dragCaption.getIcon() != null && layout instanceof AbstractClientConnector) { dragIconKey = keyMapper.key(dragCaption.getIcon()); ((AbstractClientConnector) layout).setConnectorResource(dragIconKey, dragCaption.getIcon()); } DragCaptionInfo dci = new DragCaptionInfo(); dci.caption = dragCaption.getCaption(); dci.contentMode = dragCaption.getContentMode(); dci.iconKey = dragIconKey; dragAndDropState.dragCaptions.put(c, dci); } } } if (layout instanceof DragImageReferenceSupport) { DragImageProvider provider = ((DragImageReferenceSupport) layout).getDragImageProvider(); if (provider != null) { Component dragImage = provider.getDragImage(c); if (dragImage != null) { dragAndDropState.referenceImageComponents.put(c, dragImage); } } } } }