@Override protected HandlerRegistration hookUpRunnable(final Runnable runnable) { return attachable.addAttachHandler(e -> { if (e.isAttached() == onAttach) { runnable.run(); } }); }
public static Observable<AttachEvent> attach(HasAttachHandlers source) { return Observable.create(s -> register(s, source.addAttachHandler(s::onNext)), uiBackpressureMode()); }
@Override protected HandlerRegistration hookUpEventRunnable(final DomEventRunnable runnable) { return attachable.addAttachHandler(e -> { if (e.isAttached() == onAttach) { runnable.run(null); // AttachEvent is a GwtEvent, not DomEvent } }); }
public static Observable<AttachEvent> attach(HasAttachHandlers source) { return Observable.create(s -> register(s, source.addAttachHandler(s::onNext))); }
public static void onAttachOnce(HasAttachHandlers has, AttachEvent.Handler handler) { HandlerRegistration[] reg = new HandlerRegistration[1]; if (has.isAttached()) { handler.onAttachOrDetach(null); } else { reg[0] = has.addAttachHandler(event -> { if (event.isAttached()) { handler.onAttachOrDetach(event); if (reg[0] != null) { reg[0].removeHandler(); } } }); } } }
public static void onAttachOnce(HasAttachHandlers has, AttachEvent.Handler handler) { HandlerRegistration[] reg = new HandlerRegistration[1]; if (has.isAttached()) { handler.onAttachOrDetach(null); } else { reg[0] = has.addAttachHandler(event -> { if (event.isAttached()) { handler.onAttachOrDetach(event); if (reg[0] != null) { reg[0].removeHandler(); } } }); } } }
private void initListeners(HasAllDragAndDropHandlers dropZoneWidget) { removePreviousHandlers(dropZoneWidget); // final Handlers handlers = new Handlers(); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDropHandler(handlers)); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDragOverHandler(handlers)); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDragHandler(handlers)); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDragEndHandler(handlers)); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDragEnterHandler(handlers)); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDragLeaveHandler(handlers)); rememberHandlerRegistration(dropZoneWidget, dropZoneWidget.addDragStartHandler(handlers)); // to clean up on drop zone detach: if (dropZoneWidget instanceof HasAttachHandlers) { ((HasAttachHandlers) dropZoneWidget).addAttachHandler(handlers); } }