Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
825f5f7
expanding bottom sheet widget was rewrited with another third party
Feb 20, 2025
a299ddf
wrapped with bottomsheetview
Feb 20, 2025
0ba8435
new implementation with @gorhom/bottom-sheet
Feb 21, 2025
0c776c5
chore: improved bottomsheet widgets
Feb 28, 2025
fcc53e2
chore: styling
Feb 28, 2025
21de98a
fix: close functionality, animation, onclose for backdrop and etc
Feb 28, 2025
e57b535
fix: improvement for dark mode and active press
Mar 3, 2025
f2de186
removed old dependencies
Mar 3, 2025
5c6c67c
migrated from react-native-file-viewer into react-native-file-viewer-…
Mar 4, 2025
cdba559
react-native-inappbrowser-reborn was replaced with @swan-io/react-nat…
Mar 4, 2025
5fa48c6
removed old dependency
Mar 4, 2025
e552bd6
@react-native-community/geolocation
Mar 5, 2025
84ce290
react-native-webview
Mar 5, 2025
f878350
react-native-view-shot version update
Mar 5, 2025
36938ca
updated version of @react-native-community/netinfo
Mar 5, 2025
c92f8db
version update react-native-blob-util
Mar 5, 2025
a19f20d
@react-native-camera-roll/camera-roll version update
Mar 5, 2025
48345d2
lock update
Mar 5, 2025
f0dab2f
changelog update
Mar 5, 2025
b093322
lock update and refactor
Mar 5, 2025
56029ca
fixing type issues
Mar 11, 2025
fe4ade1
Merge branch 'MOO-1800-pluginSupportedNativeDependencies' into MOO-17…
Mar 11, 2025
fd9bf7d
lock update
Mar 11, 2025
0cadae4
type updates
Mar 11, 2025
f77bfc8
bug fixes ( backdrop click, handle component, positioning, start posi…
Mar 12, 2025
e8e1a67
removed backdrop, made outside of bottom-sheet accesible
Mar 13, 2025
0ac0d47
reverted react-native-file-viewer-turbo since ios needs a patch
Mar 13, 2025
bf2b854
the bug during camera-roll migration was fixed
Mar 13, 2025
71b124b
fixed: type issue
Mar 14, 2025
4d55581
Merge branch 'main' into MOO-1762-reanimatetAndBottomSheetUpdate
Mar 25, 2025
3df0491
lock update
Mar 25, 2025
515abc5
Merge branch 'main' into MOO-1762-reanimatetAndBottomSheetUpdate
Mar 26, 2025
a49346d
update url adress
Mar 26, 2025
3b125a6
log and version update for signature widget
Mar 27, 2025
115a160
Merge branch 'main' into MOO-1762-reanimatetAndBottomSheetUpdate
Mar 27, 2025
a4f200d
Merge branch 'main' into MOO-1762-reanimatetAndBottomSheetUpdate
Mar 27, 2025
f2f9019
chore: update gesture handler
UrazAkgultan Mar 27, 2025
4d984d0
chore: update yarn.lock
UrazAkgultan Mar 27, 2025
cb0a9d1
reapplied a patch with newer version ( partial, gesture button is not…
Mar 27, 2025
3b178fd
linting issue
Mar 28, 2025
77f2d64
unit tests
Mar 28, 2025
78b5ca1
fixed unit tests
Mar 28, 2025
0fb5e21
temporarily disabled unit tests for signature widget
Mar 28, 2025
a815748
Revert "temporarily disabled unit tests for signature widget"
Mar 31, 2025
14d33fa
mendix version update
Mar 31, 2025
f56dbe9
Merge branch 'main' into MOO-1762-reanimatetAndBottomSheetUpdate
karahanharunn Mar 31, 2025
4b73b98
changelog and version bump
Mar 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions configs/e2e/native_dependencies.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
"react-native-maps": "0.31.1",
"react-native-maps": "1.14.0",
"react-native-geocoder": "0.5.0",
"react-native-device-info": "13.0.0",
"react-native-action-button": "2.8.5",
"react-native-material-menu": "1.2.0",
"react-native-linear-gradient": "2.5.6",
"@react-native-community/netinfo": "5.9.7",
"@react-native-community/netinfo": "11.4.1",
"react-native-svg": "15.7.1",
"react-native-system-navigation-bar": "2.6.3",
"react-native-video": "5.2.1",
"@react-native-async-storage/async-storage": "2.0.0",
"react-native-camera": "3.40.0",
"react-native-view-shot": "3.1.2",
"react-native-blob-util": "0.16.2",
"react-native-view-shot": "4.0.3",
"react-native-blob-util": "0.21.2",
"react-native-file-viewer": "2.1.5",
"react-native-localize": "3.2.1",
"react-native-image-picker": "5.0.1",
"react-native-image-picker": "7.2.3",
"react-native-permissions": "4.1.5",
"react-native-webview": "11.26.1"
"react-native-webview": "13.13.2"
}
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@
"react-dom": "18.2.0",
"react-native": "0.75.4",
"@prettier/plugin-xml": "2.2.0",
"@types/react-native": "0.73.0"
"@types/react-native": "0.73.0",
"cheerio": "1.0.0-rc.12"
},
"packageManager": "[email protected]"
}
6 changes: 6 additions & 0 deletions packages/jsActions/mobile-resources-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

- We migrated from react-native-inappbrowser-reborn to @swan-io/react-native-browser to prevent issues for next rn upgrade.

- We migrated from @react-native-community/cameraroll to @react-native-camera-roll/camera-roll to prevent issues for next rn upgrade.

- We also updated several dependencies such as react-native-blob-util, react-native-image-picker to their latest version.

## [9.3.2] Native Mobile Resources - 2025-3-24

## [5.1.1] Maps
Expand Down
8 changes: 4 additions & 4 deletions packages/jsActions/mobile-resources-native/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@
"release:marketplace": "node ../../../scripts/release/marketplaceRelease.js"
},
"dependencies": {
"@react-native-community/cameraroll": "4.0.1",
"@react-native-camera-roll/camera-roll": "7.4.0",
"@react-native-community/push-notification-ios": "1.10.1",
"@react-native-firebase/messaging": "17.3.0",
"@swan-io/react-native-browser": "^0.4.1",
"fbjs": "3.0.4",
"mime": "3.0.0",
"react-native-blob-util": "0.16.2",
"react-native-blob-util": "0.21.2",
"react-native-device-info": "13.0.0",
"react-native-file-viewer": "2.1.5",
"react-native-image-picker": "5.0.1",
"react-native-inappbrowser-reborn": "3.4.0",
"react-native-image-picker": "7.2.3",
"react-native-localize": "3.2.1",
"react-native-permissions": "4.1.5",
"react-native-push-notification": "8.1.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
import { saveToCameraRoll } from "@react-native-community/cameraroll";
import { CameraRoll } from "@react-native-camera-roll/camera-roll";

// BEGIN EXTRA CODE
// END EXTRA CODE
Expand All @@ -31,7 +31,13 @@ export async function SaveToPictureLibrary(picture?: mendix.lib.MxObject): Promi
const changedDate = picture.get("changedDate") as number;
const url = mx.data.getDocumentUrl(guid, changedDate);

return saveToCameraRoll(url);
// Save the file as a photo to the camera roll.
try {
const savedUri = await CameraRoll.saveToCameraRoll(url, "auto");
return Promise.resolve(savedUri.node.image.uri);
} catch (error) {
return Promise.reject(error);
}

// END USER CODE
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
}

// V3 dropped the feature of providing an action sheet so users can decide on which action to take, camera or library.
const nativeVersionMajor = NativeModules.ImagePickerManager.showImagePicker ? 2 : 4;
const nativeVersionMajor = NativeModules?.ImagePickerManager?.showImagePicker ? 2 : 4;
const RNPermissions = nativeVersionMajor === 4 ? (await import("react-native-permissions")).default : null;

try {
Expand Down Expand Up @@ -322,7 +322,7 @@
);
}

function handleImagePickerV4Error(errorCode: ErrorCode, errorMessage?: string) {

Check warning on line 325 in packages/jsActions/mobile-resources-native/src/camera/TakePicture.ts

View workflow job for this annotation

GitHub Actions / Unit tests

Missing return type on function
switch (errorCode) {
case "camera_unavailable":
showAlert("The camera is unavailable", "");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
}

// V3 dropped the feature of providing an action sheet so users can decide on which action to take, camera or library.
const nativeVersionMajor = NativeModules.ImagePickerManager.showImagePicker ? 2 : 4;
const nativeVersionMajor = NativeModules?.ImagePickerManager?.showImagePicker ? 2 : 4;
const RNPermissions = nativeVersionMajor === 4 ? (await import("react-native-permissions")).default : null;
const resultObject = await createMxObject("NativeMobileResources.ImageMetaData");

Expand Down Expand Up @@ -385,7 +385,7 @@
});
}

function handleImagePickerV4Error(errorCode: ErrorCode, errorMessage?: string) {

Check warning on line 388 in packages/jsActions/mobile-resources-native/src/camera/TakePictureAdvanced.ts

View workflow job for this annotation

GitHub Actions / Unit tests

Missing return type on function
switch (errorCode) {
case "camera_unavailable":
showAlert("The camera is unavailable.", "");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
import InAppBrowser, { InAppBrowserOptions } from "react-native-inappbrowser-reborn";
import { openBrowser } from "@swan-io/react-native-browser";

// BEGIN EXTRA CODE
// END EXTRA CODE
Expand All @@ -25,21 +25,23 @@ export async function OpenInAppBrowser(
): Promise<void> {
// BEGIN USER CODE
// Documentation https://github.com/proyecto26/react-native-inappbrowser

if (!url) {
return Promise.reject(new Error("Input parameter 'Url' is required"));
return Promise.reject(new Error("Input parameter 'url' is required"));
}

const options: InAppBrowserOptions = {
toolbarColor,
preferredBarTintColor: toolbarColor,
dismissButtonStyle: iosDismissButtonStyle,
showTitle: androidShowTitle
const options = {
barTintColor: toolbarColor, // iOS toolbar color
controlTintColor: toolbarColor, // iOS control buttons color
dismissButtonStyle: iosDismissButtonStyle, // iOS dismiss button style
showTitle: androidShowTitle // Android show title
};

await InAppBrowser.open(url, options);

return Promise.resolve();
try {
await openBrowser(url, options);
return Promise.resolve();
} catch (error) {
return Promise.reject(error);
}

// END USER CODE
}
2 changes: 1 addition & 1 deletion packages/jsActions/nanoflow-actions-native/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@
"mendix": "~10.0.9976",
"rollup": "^2.79.2"
}
}
}
4 changes: 4 additions & 0 deletions packages/pluggableWidgets/app-events-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

### Changed

- Updated @react-native-community/netinfo from version v5.9.7 to v11.4.1.

## [4.1.0] - 2024-12-3

### Changed
Expand Down
4 changes: 2 additions & 2 deletions packages/pluggableWidgets/app-events-native/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "app-events-native",
"widgetName": "AppEvents",
"version": "4.1.0",
"version": "5.0.0",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand All @@ -24,7 +24,7 @@
},
"dependencies": {
"@mendix/piw-native-utils-internal": "*",
"@react-native-community/netinfo": "5.9.7"
"@react-native-community/netinfo": "11.4.1"
},
"devDependencies": {
"@mendix/piw-utils-internal": "*",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export class AppEvents extends Component<Props> {
}

if (this.props.onOnlineAction || this.props.onOfflineAction) {
this.isConnected = (await NetInfo.fetch()).isConnected;
this.isConnected = Boolean((await NetInfo.fetch()).isConnected);
this.unsubscribeNetworkEventListener = NetInfo.addEventListener(this.onConnectionChangeHandler);
}

Expand Down Expand Up @@ -94,7 +94,7 @@ export class AppEvents extends Component<Props> {
this.lastOnOffline = Date.now();
}

this.isConnected = nextState.isConnected;
this.isConnected = Boolean(nextState.isConnected);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="AppEvents" version="4.1.0" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="AppEvents" version="5.0.0" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="AppEvents.xml" />
</widgetFiles>
Expand Down
4 changes: 4 additions & 0 deletions packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

### Changed

- Rewrote all bottomsheet widgets (customModalSheet, ExpandingDrawer, and NativeBottomSheet) using @gorhom/bottom-sheet.

## [4.0.1] - 2025-2-7

### Changed
Expand Down
10 changes: 5 additions & 5 deletions packages/pluggableWidgets/bottom-sheet-native/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "bottom-sheet-native",
"widgetName": "BottomSheet",
"version": "4.0.1",
"version": "5.0.0",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand All @@ -19,13 +19,13 @@
"version": "yarn release"
},
"dependencies": {
"@gorhom/bottom-sheet": "5.1.1",
"@mendix/piw-native-utils-internal": "*",
"@mendix/piw-utils-internal": "*",
"react-native-actionsheet": "^2.4.2",
"@shopify/flash-list": "1.7.3",
"react-native-device-info": "13.0.0",
"react-native-modal": "^13.0.1",
"react-native-reanimated": "^1.0.1",
"reanimated-bottom-sheet": "^1.0.0-alpha.19"
"react-native-gesture-handler": "2.24.0",
"react-native-reanimated": "3.16.1"
},
"devDependencies": {
"@mendix/pluggable-widgets-tools": "~10.0.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ jest.mock("react-native/Libraries/Utilities/Platform", () => ({
select: jest.fn(dict => dict.ios)
}));

jest.mock("react-native-reanimated", () => jest.requireActual("react-native-reanimated/mock"));

const defaultProps: BottomSheetProps<BottomSheetStyle> = {
name: "bottom-sheet-test",
style: [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,4 @@ exports[`Bottom sheet renders a expanding fullscreen with custom styles 1`] = `
</View>
`;

exports[`Bottom sheet renders a native bottom action sheet for ios (Basic modal) 1`] = `null`;
exports[`Bottom sheet renders a native bottom action sheet for ios (Basic modal) 1`] = `<View />`;
Loading
Loading