Skip to content

Commit 6a76da9

Browse files
committed
More updates on Pinch Js
1 parent dddc246 commit 6a76da9

File tree

3 files changed

+49
-21
lines changed

3 files changed

+49
-21
lines changed

src/main/java/gwt/material/design/addins/client/pinch/PinchZoomPanel.java

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import gwt.material.design.addins.client.pinch.events.HasPinchZoomHandlers;
77
import gwt.material.design.addins.client.pinch.events.OnZoomEndEvent;
88
import gwt.material.design.addins.client.pinch.events.OnZoomStartEvent;
9+
import gwt.material.design.addins.client.pinch.js.JsPinchOptions;
910
import gwt.material.design.addins.client.pinch.js.JsPinchZoom;
1011
import gwt.material.design.client.MaterialDesignBase;
1112
import gwt.material.design.client.ui.MaterialImage;
@@ -24,6 +25,8 @@ public class PinchZoomPanel extends MaterialPanel implements HasPinchZoomHandler
2425
}
2526
}
2627

28+
protected JsPinchOptions options = new JsPinchOptions();
29+
2730
public PinchZoomPanel() {
2831

2932
}
@@ -36,18 +39,36 @@ protected void onLoad() {
3639
}
3740

3841
protected void load() {
39-
jsPinchZoom = new JsPinchZoom(getElement());
40-
jsPinchZoom.onZoomStart = (param1, param2) -> {
42+
43+
options.onZoomStart = (param1, param2) -> {
4144
fireEvent(new OnZoomStartEvent());
4245
};
4346

44-
jsPinchZoom.onZoomEnd = (param1, param2) -> {
47+
options.onZoomEnd = (param1, param2) -> {
4548
fireEvent(new OnZoomEndEvent());
4649
};
4750

48-
jsPinchZoom.onDoubleTap = (param1, param2) -> {
49-
MaterialToast.fireToast("TABS");
51+
options.onDoubleTap = (param1, param2) -> {
52+
5053
};
54+
55+
jsPinchZoom = new JsPinchZoom(getElement(), options);
56+
}
57+
58+
public void setTapZoomFactor(Integer tapZoomFactor) {
59+
options.tapZoomFactor = tapZoomFactor;
60+
}
61+
62+
public Integer getTapZoomFactor() {
63+
return options.tapZoomFactor;
64+
}
65+
66+
public void setLockDragAxis(Boolean lockDragAxis) {
67+
options.lockDragAxis = lockDragAxis;
68+
}
69+
70+
public boolean isLockDragAxis() {
71+
return options.lockDragAxis;
5172
}
5273

5374
public void enable() {

src/main/java/gwt/material/design/addins/client/pinch/js/JsPinchOptions.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
*/
2020
package gwt.material.design.addins.client.pinch.js;
2121

22+
import gwt.material.design.jquery.client.api.Functions;
2223
import jsinterop.annotations.JsPackage;
24+
import jsinterop.annotations.JsProperty;
2325
import jsinterop.annotations.JsType;
2426

2527
/**
@@ -30,5 +32,20 @@
3032
@JsType(isNative = true, name = "Object", namespace = JsPackage.GLOBAL)
3133
public class JsPinchOptions {
3234

33-
//TODO: Methods
35+
@JsProperty
36+
public Integer tapZoomFactor;
37+
38+
@JsProperty
39+
public boolean lockDragAxis;
40+
41+
@JsProperty
42+
public Functions.Func2<JsPinchZoom, Object> onZoomStart;
43+
44+
@JsProperty
45+
public Functions.Func2<JsPinchZoom, Object> onZoomEnd;
46+
47+
@JsProperty
48+
public Functions.Func2<JsPinchZoom, Object> onDoubleTap;
49+
50+
//TODO: Populate all options & events
3451
}

src/main/java/gwt/material/design/addins/client/pinch/js/JsPinchZoom.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,18 @@
11
package gwt.material.design.addins.client.pinch.js;
22

3-
import gwt.material.design.jquery.client.api.Functions;
4-
import jsinterop.annotations.*;
3+
import jsinterop.annotations.JsConstructor;
4+
import jsinterop.annotations.JsMethod;
5+
import jsinterop.annotations.JsPackage;
6+
import jsinterop.annotations.JsType;
57

68
@JsType(isNative = true, name = "PinchZoom", namespace = JsPackage.GLOBAL)
79
public class JsPinchZoom {
810

911
@JsConstructor
10-
public JsPinchZoom(Object element) {
12+
public JsPinchZoom(Object element, JsPinchOptions options) {
1113

1214
}
1315

14-
@JsProperty
15-
public Integer tapZoomFactor;
16-
17-
@JsProperty
18-
public Functions.Func2<JsPinchZoom, Object> onZoomStart;
19-
20-
@JsProperty
21-
public Functions.Func2<JsPinchZoom, Object> onZoomEnd;
22-
23-
@JsProperty
24-
public Functions.Func2<JsPinchZoom, Object> onDoubleTap;
25-
2616
/**
2717
* Enables all gesture capturing (is enabled by default)
2818
*/

0 commit comments

Comments
 (0)