RxGWT :: Core

RxGWT core utilities.

Лицензия

Лицензия

Категории

Категории

GWT (Google Web Toolkit) Взаимодействие с пользователем Веб-фреймворки
Группа

Группа

com.intendia.gwt.rxgwt
Идентификатор

Идентификатор

rxgwt
Последняя версия

Последняя версия

0.4
Дата

Дата

Тип

Тип

gwt-lib
Описание

Описание

RxGWT :: Core
RxGWT core utilities.

Скачать rxgwt

Имя Файла Размер
rxgwt-0.4.pom
rxgwt-0.4.jar 57 KB
rxgwt-0.4-sources.jar 12 KB
rxgwt-0.4-javadoc.jar 94 KB
Обзор

Зависимости

compile (5)

Идентификатор библиотеки Тип Версия
com.intendia.gwt : rxjava-gwt jar 1.3.4-gwt1
com.google.gwt : gwt-elemental Необязательный jar
com.google.elemental2 : elemental2-dom Необязательный jar 1.0.0-RC1
org.jboss.gwt.elemento : elemento-core Необязательный jar 0.7.0
com.google.code.findbugs : jsr305 Необязательный jar 3.0.0

provided (1)

Идентификатор библиотеки Тип Версия
com.google.gwt : gwt-user jar

Модули Проекта

Данный проект не имеет модулей.

RxGWT: Reactive Extensions for GWT

Maven Central Build Status Join the chat at https://gitter.im/intendia-oss/rxgwt

GWT specific bindings for RxJava (requires RxJava GWT).

This module adds the minimum classes to RxJava that make writing reactive components in GWT applications easy and hassle-free. More specifically, it provides adapters for all available events and various operators like bufferedFinally, debounceFinally, etc.

GWT module system requires all classes used by a module to be included as dependant modules. So to not to force to load all optional modules various independent small modules are exposed by RxGWT.

  • RxGWT.gwt.xml - includes common utils, usually not included explicit as it is included by all other modules
  • RxUser.gwt.xml - includes GWT user dependant utils like RxHandlers and RxEvents
  • RxElemental.gwt.xml - legacy GWT elemental utils
  • RxElemental2.gwt.xml - new generation GWT elemental2 utils
  • RxElemento.gwt.xml - elemento typed events on top of new generation GWT elemental2 utils

Download

Releases are deployed to the Central Repository.

Snapshots of the development version are available in Sonatype's snapshots repository.

Example

Observable<List<double[]>> mouseDiff$ = mouseMove(canvas)
        .map(e -> canvasPosition(canvas, e))
        .buffer(3, 1);

Observable<List<double[]>> mouseDrag$ = mouseDown(canvas).compose(log("mouse down"))
        .flatMap(e -> mouseDiff$.takeUntil(mouseUp(canvas).compose(log("mouse up"))));

Observable<List<double[]>> touchDiff$ = touchMove(canvas)
        .map(e -> e.getTouches().get(0))
        .map(e -> canvasPosition(canvas, e))
        .buffer(2, 1);

Observable<List<double[]>> touchDrag$ = touchStart(canvas).compose(log("touch down"))
        .flatMap(e -> touchDiff$.takeUntil(touchEnd(canvas).compose(log("touch up"))));

Observable<Object> down$ = merge(mouseDown(canvas), touchStart(canvas));
Observable<List<double[]>> drag$ = merge(mouseDrag$, touchDrag$);

Observable<String> paint$ = keyPress(canvas, '1').map(e -> "paint").startWith("default");
Observable<String> erase$ = keyPress(canvas, '2').map(e -> "erase");

All the mouseMove, mouseDown, touchMove, touchStart, touchEnd and keyPress static methods are exposed by the RxGWT API. To find all of them just explore RxGwt, or RxHandlers and RxEvents. RxEvents and RxHandlers are auto-generated using all classes in gwt-user extending from Events and HasValue respectively.

You can see this complete code example here RxCanvas, or other interesting one in RxSnake.

com.intendia.gwt.rxgwt

Intendia OSS

Intendia open source software

Версии библиотеки

Версия
0.4
0.3
0.2
0.1