Search in sources :

Example 16 with DomListenerRegistration

use of com.vaadin.flow.dom.DomListenerRegistration in project flow by vaadin.

the class ElementListenersTest method synchronizeProperty_alwaysMode.

@Test
public void synchronizeProperty_alwaysMode() {
    DomListenerRegistration registration = ns.add("foo", noOp).setDisabledUpdateMode(DisabledUpdateMode.ALWAYS);
    registration.synchronizeProperty("name");
    Assert.assertSame(DisabledUpdateMode.ALWAYS, ns.getPropertySynchronizationMode("name"));
}
Also used : DomListenerRegistration(com.vaadin.flow.dom.DomListenerRegistration) Test(org.junit.Test)

Example 17 with DomListenerRegistration

use of com.vaadin.flow.dom.DomListenerRegistration in project flow by vaadin.

the class ElementListenersTest method addEventDataElement_eventTarget_usesMapEventTargetInstead.

@Test
public void addEventDataElement_eventTarget_usesMapEventTargetInstead() {
    Element parent = new Element("parent");
    Element child = new Element("child");
    parent.appendChild(child);
    new StateTree(new UI().getInternals(), ElementChildrenList.class).getUI().getElement().appendChild(parent);
    final String eventType = "click";
    AtomicReference<DomEvent> capturedTarget = new AtomicReference<>();
    final DomListenerRegistration registration = parent.addEventListener(eventType, capturedTarget::set);
    final ElementListenerMap listenerMap = parent.getNode().getFeature(ElementListenerMap.class);
    registration.addEventDataElement("event.target");
    Set<String> expressions = getExpressions(listenerMap, eventType);
    Assert.assertEquals(1, expressions.size());
    Assert.assertEquals(JsonConstants.MAP_STATE_NODE_EVENT_DATA, expressions.iterator().next());
    final JsonObject eventData = Json.createObject();
    eventData.put(JsonConstants.MAP_STATE_NODE_EVENT_DATA, child.getNode().getId());
    listenerMap.fireEvent(new DomEvent(parent, eventType, eventData));
    Assert.assertEquals(child, capturedTarget.get().getEventTarget().get());
    Assert.assertEquals(child, capturedTarget.get().getEventDataElement("event.target").get());
}
Also used : Element(com.vaadin.flow.dom.Element) JsonObject(elemental.json.JsonObject) AtomicReference(java.util.concurrent.atomic.AtomicReference) StateTree(com.vaadin.flow.internal.StateTree) UI(com.vaadin.flow.component.UI) DomListenerRegistration(com.vaadin.flow.dom.DomListenerRegistration) DomEvent(com.vaadin.flow.dom.DomEvent) Test(org.junit.Test)

Aggregations

DomListenerRegistration (com.vaadin.flow.dom.DomListenerRegistration)17 Test (org.junit.Test)12 Element (com.vaadin.flow.dom.Element)7 DomEvent (com.vaadin.flow.dom.DomEvent)5 StateTree (com.vaadin.flow.internal.StateTree)4 JsonObject (elemental.json.JsonObject)4 AtomicReference (java.util.concurrent.atomic.AtomicReference)4 UI (com.vaadin.flow.component.UI)3 Registration (com.vaadin.flow.shared.Registration)2 Serializable (java.io.Serializable)2 HashSet (java.util.HashSet)2 Set (java.util.Set)2 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)2 Component (com.vaadin.flow.component.Component)1 HtmlComponent (com.vaadin.flow.component.HtmlComponent)1 Label (com.vaadin.flow.component.html.Label)1 DebouncePhase (com.vaadin.flow.dom.DebouncePhase)1 DisabledUpdateMode (com.vaadin.flow.dom.DisabledUpdateMode)1 DomEventListener (com.vaadin.flow.dom.DomEventListener)1 PropertyChangeEvent (com.vaadin.flow.dom.PropertyChangeEvent)1