Skip to content

Commit 5734432

Browse files
troZeePiotr Trockikrozniata
authored
Add fabric example (#602)
* wip * wip2 * add example * fix ios * chore: add fabric android example * gitignore * fix lint * fix android * fix: remove unnecessary code * feat: add bootstrap script for fabric Co-authored-by: Piotr Trocki <[email protected]> Co-authored-by: krozniata <[email protected]>
1 parent 3b8a67e commit 5734432

File tree

98 files changed

+9583
-92
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+9583
-92
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,8 @@ lib/
6262
#e2e
6363
test-butler-app.apk
6464
example/vendor
65+
66+
#Example
67+
fabricexample/ios/Pods
68+
fabricexample/vendor
69+
fabricexample/android/app/.cxx

android/src/legacy/com/reactnativepagerview/PagerViewViewManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
import com.facebook.react.bridge.ReactApplicationContext;
1212

1313
import java.util.Map;
14+
import com.facebook.react.uimanager.ViewGroupManager;
1415

15-
16-
public class PagerViewViewManager extends SimpleViewManager<PagerViewView> {
16+
public class PagerViewViewManager extends ViewGroupManager<PagerViewView> {
1717

1818
ReactApplicationContext mCallerContext;
1919

android/src/main/java/com/reactnativepagerview/PagerViewViewPackage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class PagerViewViewPackage implements ReactPackage {
1414
@Override
1515
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
1616
List<ViewManager> viewManagers = new ArrayList<>();
17-
viewManagers.add(new PagerViewViewManager(reactContext));
17+
viewManagers.add(new com.reactnativepagerview.PagerViewViewManager(reactContext));
1818
return viewManagers;
1919
}
2020

android/src/turbo/PagerViewViewManager.java

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.facebook.react.module.annotations.ReactModule;
55
import com.facebook.react.uimanager.SimpleViewManager;
66
import com.facebook.react.uimanager.ThemedReactContext;
7+
import com.facebook.react.uimanager.ViewGroupManager;
78
import com.facebook.react.uimanager.ViewManagerDelegate;
89
import com.facebook.react.uimanager.annotations.ReactProp;
910
import com.facebook.react.bridge.ReactApplicationContext;
@@ -13,7 +14,7 @@
1314
import androidx.annotation.Nullable;
1415

1516
@ReactModule(name = PagerViewViewManagerImpl.NAME)
16-
public class PagerViewViewManager extends SimpleViewManager<PagerViewView> implements PagerViewViewManagerInterface<PagerViewView> {
17+
public class PagerViewViewManager extends ViewGroupManager<PagerViewView> implements PagerViewViewManagerInterface<PagerViewView> {
1718
private final ViewManagerDelegate<PagerViewView> mDelegate;
1819

1920
public PagerViewViewManager(ReactApplicationContext context) {
@@ -36,18 +37,58 @@ public PagerViewView createViewInstance(ThemedReactContext context) {
3637
return PagerViewViewManagerImpl.createViewInstance(context);
3738
}
3839

39-
@ReactProp(name = "color")
40-
public void setColor(PagerViewView view, String color) {
41-
PagerViewViewManagerImpl.setColor(view, color);
40+
@Override
41+
public void receiveCommand(PagerViewView root, String commandId, ReadableArray args) {
42+
mDelegate.receiveCommand(root, commandId, args);
4243
}
4344

4445
@Override
45-
public void changeBackgroundColor(PagerViewView view, String color) {
46-
PagerViewViewManagerImpl.setColor(view, color);
46+
public void setLayoutDirection(PagerViewView view, @Nullable String value) {
47+
4748
}
4849

4950
@Override
50-
public void receiveCommand(PagerViewView root, String commandId, ReadableArray args) {
51-
mDelegate.receiveCommand(root, commandId, args);
51+
public void setInitialPage(PagerViewView view, int value) {
52+
53+
}
54+
55+
@Override
56+
public void setOrientation(PagerViewView view, @Nullable String value) {
57+
58+
}
59+
60+
@Override
61+
public void setOffscreenPageLimit(PagerViewView view, int value) {
62+
63+
}
64+
65+
@Override
66+
public void setPageMargin(PagerViewView view, int value) {
67+
68+
}
69+
70+
@Override
71+
public void setOverScrollMode(PagerViewView view, @Nullable String value) {
72+
73+
}
74+
75+
@Override
76+
public void setPage(PagerViewView view, int selectedPage) {
77+
78+
}
79+
80+
@Override
81+
public void setPageWithoutAnimation(PagerViewView view, int selectedPage) {
82+
83+
}
84+
85+
@Override
86+
public void setScrollEnabledImperatively(PagerViewView view, boolean scrollEnabled) {
87+
88+
}
89+
90+
@Override
91+
public void setScrollEnabled(PagerViewView view, boolean scrollEnabled) {
92+
5293
}
5394
}

example/ios/Podfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ
44
platform :ios, '12.4'
55
install! 'cocoapods', :deterministic_uuids => false
66

7+
ENV['RCT_NEW_ARCH_ENABLED'] = '0'
8+
79
target 'PagerViewExample' do
810
config = use_native_modules!
911

example/src/component/NavigationPanel/ControlPanel.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ export function ControlsPanel({
2323
toggleOverdrag,
2424
}: NavigationPanelProps) {
2525
const firstPage = useCallback(() => setPage(0), [setPage]);
26-
const prevPage = useCallback(() => setPage(activePage - 1), [
27-
activePage,
28-
setPage,
29-
]);
30-
const nextPage = useCallback(() => setPage(activePage + 1), [
31-
setPage,
32-
activePage,
33-
]);
34-
const lastPage = useCallback(() => setPage(pages.length - 1), [
35-
pages.length,
36-
setPage,
37-
]);
26+
const prevPage = useCallback(
27+
() => setPage(activePage - 1),
28+
[activePage, setPage]
29+
);
30+
const nextPage = useCallback(
31+
() => setPage(activePage + 1),
32+
[setPage, activePage]
33+
);
34+
const lastPage = useCallback(
35+
() => setPage(pages.length - 1),
36+
[pages.length, setPage]
37+
);
3838
return (
3939
<>
4040
<View style={styles.buttons}>

fabricexample/.buckconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
[android]
3+
target = Google Inc.:Google APIs:23
4+
5+
[maven_repositories]
6+
central = https://repo1.maven.org/maven2

fabricexample/.bundle/config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BUNDLE_PATH: "vendor/bundle"
2+
BUNDLE_FORCE_RUBY_PLATFORM: 1

fabricexample/.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.7.5

fabricexample/.watchmanconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

0 commit comments

Comments
 (0)