fix(gestures)propagate touch to parent so that gestures can work (#6171)

* propagate gesture touch to parent so that gestures can work

* test: swipe passtrough test
This commit is contained in:
Martin Guillon
2018-09-17 09:11:50 +02:00
committed by Alexander Vakrilov
parent bd91bfb28a
commit 8a5f73055e
4 changed files with 46 additions and 6 deletions

View File

@ -14,6 +14,7 @@ export function loadExamples() {
examples.set("gestures", "events/gestures");
examples.set("touch", "events/touch-event");
examples.set("pan", "events/pan-event");
examples.set("swipe-passtrough", "events/swipe-event-passtrough");
examples.set("handlers", "events/handlers");
examples.set("console", "events/console");
examples.set("i61", "events/i61");

View File

@ -0,0 +1,22 @@
import { EventData } from "tns-core-modules/data/observable";
import { Page } from "tns-core-modules/ui/page";
import { SwipeGestureEventData } from "tns-core-modules/ui/gestures";
import { TextView } from "tns-core-modules/ui/text-view";
let outputText: TextView;
export function navigatingTo(args: EventData) {
var page = <Page>args.object;
outputText = page.getViewById<TextView>("output");
}
export function onSwipe(data: SwipeGestureEventData) {
const msg = `swipe state:${data.direction}`;
console.log(msg);
outputText.text += msg + "\n";
}
export function onTap(args) {
const msg = `tapEvent triggered`;
console.log(msg);
outputText.text += msg + "\n";
}

View File

@ -0,0 +1,10 @@
<Page navigatingTo="navigatingTo">
<GridLayout rows="*, *" columns="*, *, *" swipe="onSwipe" backgroundColor="lightgreen">
<StackLayout row="0" col="1" text="swipe here" tap="onTap" backgroundColor="lightblue">
<Label text="swipe/tap inside" verticalAlignement="top"/>
</StackLayout>
<Label row="1" colSpan="3"
text="" textWrap="true"
id="output" automationText="output" style="font-size: 10, font-family: monospace;"/>
</GridLayout>
</Page>