mirror of
https://github.com/laurent22/joplin.git
synced 2025-01-11 18:24:43 +02:00
Mobile: Upgrading to RN 60
This commit is contained in:
parent
7fd445173d
commit
4235288c55
@ -11,21 +11,54 @@
|
|||||||
; Ignore duplicate module providers
|
; Ignore duplicate module providers
|
||||||
; For RN Apps installed via npm, "Libraries" folder is inside
|
; For RN Apps installed via npm, "Libraries" folder is inside
|
||||||
; "node_modules/react-native" but in the source repo it is in the root
|
; "node_modules/react-native" but in the source repo it is in the root
|
||||||
.*/Libraries/react-native/React.js
|
node_modules/react-native/Libraries/react-native/React.js
|
||||||
.*/Libraries/react-native/ReactNative.js
|
|
||||||
|
; Ignore polyfills
|
||||||
|
node_modules/react-native/Libraries/polyfills/.*
|
||||||
|
|
||||||
|
; These should not be required directly
|
||||||
|
; require from fbjs/lib instead: require('fbjs/lib/warning')
|
||||||
|
node_modules/warning/.*
|
||||||
|
|
||||||
|
; Flow doesn't support platforms
|
||||||
|
.*/Libraries/Utilities/HMRLoadingView.js
|
||||||
|
|
||||||
|
[untyped]
|
||||||
|
.*/node_modules/@react-native-community/cli/.*/.*
|
||||||
|
|
||||||
[include]
|
[include]
|
||||||
|
|
||||||
[libs]
|
[libs]
|
||||||
node_modules/react-native/Libraries/react-native/react-native-interface.js
|
node_modules/react-native/Libraries/react-native/react-native-interface.js
|
||||||
node_modules/react-native/flow
|
node_modules/react-native/flow/
|
||||||
|
|
||||||
[options]
|
[options]
|
||||||
emoji=true
|
emoji=true
|
||||||
|
|
||||||
module.system=haste
|
esproposal.optional_chaining=enable
|
||||||
|
esproposal.nullish_coalescing=enable
|
||||||
|
|
||||||
experimental.strict_type_args=true
|
module.file_ext=.js
|
||||||
|
module.file_ext=.json
|
||||||
|
module.file_ext=.ios.js
|
||||||
|
|
||||||
|
module.system=haste
|
||||||
|
module.system.haste.use_name_reducers=true
|
||||||
|
# get basename
|
||||||
|
module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1'
|
||||||
|
# strip .js or .js.flow suffix
|
||||||
|
module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1'
|
||||||
|
# strip .ios suffix
|
||||||
|
module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1'
|
||||||
|
module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1'
|
||||||
|
module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
|
||||||
|
module.system.haste.paths.blacklist=.*/__tests__/.*
|
||||||
|
module.system.haste.paths.blacklist=.*/__mocks__/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/Libraries/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/RNTester/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/IntegrationTests/.*
|
||||||
|
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation.js
|
||||||
|
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/Animated/src/polyfills/.*
|
||||||
|
|
||||||
munge_underscores=true
|
munge_underscores=true
|
||||||
|
|
||||||
@ -33,14 +66,34 @@ module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|we
|
|||||||
|
|
||||||
suppress_type=$FlowIssue
|
suppress_type=$FlowIssue
|
||||||
suppress_type=$FlowFixMe
|
suppress_type=$FlowFixMe
|
||||||
suppress_type=$FixMe
|
suppress_type=$FlowFixMeProps
|
||||||
|
suppress_type=$FlowFixMeState
|
||||||
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-2]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
|
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-2]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
|
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
|
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
|
||||||
|
|
||||||
unsafe.enable_getters_and_setters=true
|
[lints]
|
||||||
|
sketchy-null-number=warn
|
||||||
|
sketchy-null-mixed=warn
|
||||||
|
sketchy-number=warn
|
||||||
|
untyped-type-import=warn
|
||||||
|
nonstrict-import=warn
|
||||||
|
deprecated-type=warn
|
||||||
|
unsafe-getters-setters=warn
|
||||||
|
inexact-spread=warn
|
||||||
|
unnecessary-invariant=warn
|
||||||
|
signature-verification-failure=warn
|
||||||
|
deprecated-utility=error
|
||||||
|
|
||||||
|
[strict]
|
||||||
|
deprecated-type
|
||||||
|
nonstrict-import
|
||||||
|
sketchy-null
|
||||||
|
unclear-type
|
||||||
|
unsafe-getters-setters
|
||||||
|
untyped-import
|
||||||
|
untyped-type-import
|
||||||
|
|
||||||
[version]
|
[version]
|
||||||
^0.92.0
|
^0.98.0
|
||||||
|
3
ReactNativeClient/.gitignore
vendored
3
ReactNativeClient/.gitignore
vendored
@ -41,6 +41,9 @@ buck-out/
|
|||||||
\.buckd/
|
\.buckd/
|
||||||
*.keystore
|
*.keystore
|
||||||
|
|
||||||
|
# CocoaPods
|
||||||
|
ios/Pods/
|
||||||
|
|
||||||
# fastlane
|
# fastlane
|
||||||
#
|
#
|
||||||
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
||||||
|
@ -146,9 +146,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':@react-native-community_slider')
|
|
||||||
implementation "org.webkit:android-jsc:r241213"
|
implementation "org.webkit:android-jsc:r241213"
|
||||||
implementation project(':react-native-webview')
|
|
||||||
compile project(':react-native-push-notification')
|
compile project(':react-native-push-notification')
|
||||||
// implementation (project(':react-native-camera')) {
|
// implementation (project(':react-native-camera')) {
|
||||||
// // This is required because com.google.firebase requires v16.0.x of com.google.android.gms
|
// // This is required because com.google.firebase requires v16.0.x of com.google.android.gms
|
||||||
@ -174,7 +172,7 @@ dependencies {
|
|||||||
implementation project(':rn-fetch-blob')
|
implementation project(':rn-fetch-blob')
|
||||||
implementation project(':react-native-document-picker')
|
implementation project(':react-native-document-picker')
|
||||||
implementation project(':react-native-image-resizer')
|
implementation project(':react-native-image-resizer')
|
||||||
implementation project(':react-native-share-extension')
|
// implementation project(':react-native-share-extension')
|
||||||
implementation project(':react-native-version-info')
|
implementation project(':react-native-version-info')
|
||||||
implementation project(':react-native-camera')
|
implementation project(':react-native-camera')
|
||||||
implementation "com.facebook.react:react-native:+"
|
implementation "com.facebook.react:react-native:+"
|
||||||
|
@ -8,10 +8,3 @@
|
|||||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
# Add any project specific keep options here:
|
# Add any project specific keep options here:
|
||||||
|
|
||||||
# If your project uses WebView with JS, uncomment the following
|
|
||||||
# and specify the fully qualified class name to the JavaScript interface
|
|
||||||
# class:
|
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
||||||
# public *;
|
|
||||||
#}
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,28 +1,19 @@
|
|||||||
package net.cozic.joplin;
|
package net.cozic.joplin;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
import android.util.Log;
|
||||||
|
import com.facebook.react.PackageList;
|
||||||
|
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
|
||||||
|
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
||||||
import com.facebook.react.ReactApplication;
|
import com.facebook.react.ReactApplication;
|
||||||
import com.reactnativecommunity.slider.ReactSliderPackage;
|
|
||||||
import com.reactnativecommunity.webview.RNCWebViewPackage;
|
|
||||||
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
|
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
|
||||||
import com.vinzscam.reactnativefileviewer.RNFileViewerPackage;
|
|
||||||
import net.rhogan.rnsecurerandom.RNSecureRandomPackage;
|
|
||||||
import com.imagepicker.ImagePickerPackage;
|
|
||||||
import com.facebook.react.ReactInstanceManager;
|
import com.facebook.react.ReactInstanceManager;
|
||||||
import com.facebook.react.ReactNativeHost;
|
import com.facebook.react.ReactNativeHost;
|
||||||
import com.facebook.react.ReactPackage;
|
import com.facebook.react.ReactPackage;
|
||||||
import com.facebook.react.shell.MainReactPackage;
|
import com.facebook.react.shell.MainReactPackage;
|
||||||
import com.facebook.soloader.SoLoader;
|
import com.facebook.soloader.SoLoader;
|
||||||
import com.oblador.vectoricons.VectorIconsPackage;
|
|
||||||
import com.reactnativedocumentpicker.ReactNativeDocumentPicker;
|
|
||||||
import com.RNFetchBlob.RNFetchBlobPackage;
|
|
||||||
import com.rnfs.RNFSPackage;
|
|
||||||
import fr.bamlab.rnimageresizer.ImageResizerPackage;
|
|
||||||
import org.pgsqlite.SQLitePluginPackage;
|
|
||||||
import org.reactnative.camera.RNCameraPackage;
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import com.alinz.parkerdan.shareextension.SharePackage;
|
// import com.alinz.parkerdan.shareextension.SharePackage;
|
||||||
import cx.evermeet.versioninfo.RNVersionInfoPackage;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import android.database.CursorWindow;
|
import android.database.CursorWindow;
|
||||||
@ -37,6 +28,15 @@ public class MainApplication extends Application implements ReactApplication {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
|
|
||||||
|
// Was added in RN 60.x:
|
||||||
|
//
|
||||||
|
// @SuppressWarnings("UnnecessaryLocalVariable")
|
||||||
|
// List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||||
|
// // Packages that cannot be autolinked yet can be added manually here, for example:
|
||||||
|
// // packages.add(new MyReactNativePackage());
|
||||||
|
// return packages;
|
||||||
|
|
||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new MainReactPackage(),
|
new MainReactPackage(),
|
||||||
new ReactSliderPackage(),
|
new ReactSliderPackage(),
|
||||||
@ -51,7 +51,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|||||||
new RNFSPackage(),
|
new RNFSPackage(),
|
||||||
new SQLitePluginPackage(),
|
new SQLitePluginPackage(),
|
||||||
new VectorIconsPackage(),
|
new VectorIconsPackage(),
|
||||||
new SharePackage(),
|
// new SharePackage(),
|
||||||
new RNCameraPackage(),
|
new RNCameraPackage(),
|
||||||
new RNVersionInfoPackage()
|
new RNVersionInfoPackage()
|
||||||
);
|
);
|
||||||
|
@ -2,7 +2,7 @@ package net.cozic.joplin.share;
|
|||||||
// import build config
|
// import build config
|
||||||
import net.cozic.joplin.BuildConfig;
|
import net.cozic.joplin.BuildConfig;
|
||||||
|
|
||||||
import com.alinz.parkerdan.shareextension.SharePackage;
|
// import com.alinz.parkerdan.shareextension.SharePackage;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
|
||||||
@ -25,8 +25,8 @@ public class ShareApplication extends Application implements ReactApplication {
|
|||||||
@Override
|
@Override
|
||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new MainReactPackage(),
|
new MainReactPackage()
|
||||||
new SharePackage()
|
// new SharePackage()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||||
<!-- Customize your theme here. -->
|
<!-- Customize your theme here. -->
|
||||||
|
<item name="android:textColor">#000000</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -13,7 +13,7 @@ buildscript {
|
|||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:3.4.0")
|
classpath("com.android.tools.build:gradle:3.4.1")
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
@ -23,19 +23,20 @@ buildscript {
|
|||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
google()
|
|
||||||
jcenter() // Was added by me - still needed?
|
|
||||||
maven { url "https://jitpack.io" }
|
maven { url "https://jitpack.io" }
|
||||||
maven {
|
maven {
|
||||||
url "https://maven.google.com"
|
url "https://maven.google.com"
|
||||||
}
|
}
|
||||||
maven {
|
maven {
|
||||||
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
||||||
url "$rootDir/../node_modules/react-native/android"
|
url("$rootDir/../node_modules/react-native/android")
|
||||||
}
|
}
|
||||||
maven {
|
maven {
|
||||||
url "$rootDir/../node_modules/jsc-android/dist"
|
// Android JSC is installed from npm
|
||||||
|
url("$rootDir/../node_modules/jsc-android/dist")
|
||||||
}
|
}
|
||||||
|
google()
|
||||||
|
jcenter()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
keystore(
|
|
||||||
name = "debug",
|
|
||||||
properties = "debug.keystore.properties",
|
|
||||||
store = "debug.keystore",
|
|
||||||
visibility = [
|
|
||||||
"PUBLIC",
|
|
||||||
],
|
|
||||||
)
|
|
@ -1,4 +0,0 @@
|
|||||||
key.store=debug.keystore
|
|
||||||
key.alias=androiddebugkey
|
|
||||||
key.store.password=android
|
|
||||||
key.alias.password=android
|
|
@ -1,38 +1,14 @@
|
|||||||
rootProject.name = 'Joplin'
|
rootProject.name = 'Joplin'
|
||||||
include ':@react-native-community_slider'
|
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
||||||
project(':@react-native-community_slider').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/slider/android')
|
|
||||||
include ':react-native-webview'
|
|
||||||
project(':react-native-webview').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview/android')
|
|
||||||
include ':react-native-file-viewer'
|
|
||||||
project(':react-native-file-viewer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-file-viewer/android')
|
|
||||||
include ':react-native-securerandom'
|
|
||||||
project(':react-native-securerandom').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-securerandom/android')
|
|
||||||
include ':react-native-fs'
|
|
||||||
project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android')
|
|
||||||
include ':react-native-image-picker'
|
|
||||||
project(':react-native-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker/android')
|
|
||||||
include ':react-native-vector-icons'
|
|
||||||
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
|
|
||||||
include ':react-native-image-resizer'
|
|
||||||
project(':react-native-image-resizer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-resizer/android')
|
|
||||||
include ':react-native-fs'
|
include ':react-native-fs'
|
||||||
project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android')
|
project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android')
|
||||||
|
|
||||||
include ':app'
|
include ':app'
|
||||||
|
|
||||||
include ':react-native-sqlite-storage'
|
|
||||||
project(':react-native-sqlite-storage').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sqlite-storage/src/android')
|
|
||||||
|
|
||||||
include ':rn-fetch-blob'
|
|
||||||
project(':rn-fetch-blob').projectDir = new File(rootProject.projectDir, '../node_modules/rn-fetch-blob/android')
|
|
||||||
|
|
||||||
include ':react-native-document-picker'
|
//include ':app', ':react-native-share-extension'
|
||||||
project(':react-native-document-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-document-picker/android')
|
//project(':react-native-share-extension').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share-extension/android')
|
||||||
include ':app', ':react-native-share-extension'
|
|
||||||
|
|
||||||
project(':react-native-share-extension').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share-extension/android')
|
|
||||||
include ':react-native-version-info'
|
|
||||||
project(':react-native-version-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-version-info/android')
|
|
||||||
|
|
||||||
include ':react-native-push-notification'
|
include ':react-native-push-notification'
|
||||||
project(':react-native-push-notification').projectDir = file('../node_modules/react-native-push-notification/android')
|
project(':react-native-push-notification').projectDir = file('../node_modules/react-native-push-notification/android')
|
||||||
|
File diff suppressed because it is too large
Load Diff
10
ReactNativeClient/ios/Joplin.xcworkspace/contents.xcworkspacedata
generated
Normal file
10
ReactNativeClient/ios/Joplin.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "group:Joplin.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
<FileRef
|
||||||
|
location = "group:Pods/Pods.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEDidComputeMac32BitWarning</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -12,7 +12,7 @@
|
|||||||
#import <React/RCTBridge.h>
|
#import <React/RCTBridge.h>
|
||||||
#import <React/RCTBundleURLProvider.h>
|
#import <React/RCTBundleURLProvider.h>
|
||||||
#import <React/RCTRootView.h>
|
#import <React/RCTRootView.h>
|
||||||
#import <React/RCTPushNotificationManager.h>
|
// #import <React/RCTPushNotificationManager.h>
|
||||||
|
|
||||||
@implementation AppDelegate
|
@implementation AppDelegate
|
||||||
|
|
||||||
@ -34,11 +34,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Required to register for notifications
|
// Required to register for notifications
|
||||||
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { [RCTPushNotificationManager didRegisterUserNotificationSettings:notificationSettings]; } // Required for the register event.
|
// - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { [RCTPushNotificationManager didRegisterUserNotificationSettings:notificationSettings]; } // Required for the register event.
|
||||||
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [RCTPushNotificationManager didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } // Required for the notification event. You must call the completion handler after handling the remote notification.
|
// - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [RCTPushNotificationManager didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } // Required for the notification event. You must call the completion handler after handling the remote notification.
|
||||||
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { [RCTPushNotificationManager didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; } // Required for the registrationError event.
|
// - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { [RCTPushNotificationManager didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; } // Required for the registrationError event.
|
||||||
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [RCTPushNotificationManager didFailToRegisterForRemoteNotificationsWithError:error]; } // Required for the localNotification event.
|
// - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [RCTPushNotificationManager didFailToRegisterForRemoteNotificationsWithError:error]; } // Required for the localNotification event.
|
||||||
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { [RCTPushNotificationManager didReceiveLocalNotification:notification]; }
|
// - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { [RCTPushNotificationManager didReceiveLocalNotification:notification]; }
|
||||||
|
|
||||||
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
||||||
{
|
{
|
||||||
|
@ -46,19 +46,7 @@
|
|||||||
<key>NSPhotoLibraryUsageDescription</key>
|
<key>NSPhotoLibraryUsageDescription</key>
|
||||||
<string>To allow attaching images to a note</string>
|
<string>To allow attaching images to a note</string>
|
||||||
<key>UIAppFonts</key>
|
<key>UIAppFonts</key>
|
||||||
<array>
|
<array/>
|
||||||
<string>Entypo.ttf</string>
|
|
||||||
<string>EvilIcons.ttf</string>
|
|
||||||
<string>Feather.ttf</string>
|
|
||||||
<string>FontAwesome.ttf</string>
|
|
||||||
<string>Foundation.ttf</string>
|
|
||||||
<string>Ionicons.ttf</string>
|
|
||||||
<string>MaterialCommunityIcons.ttf</string>
|
|
||||||
<string>MaterialIcons.ttf</string>
|
|
||||||
<string>Octicons.ttf</string>
|
|
||||||
<string>SimpleLineIcons.ttf</string>
|
|
||||||
<string>Zocial.ttf</string>
|
|
||||||
</array>
|
|
||||||
<key>UILaunchStoryboardName</key>
|
<key>UILaunchStoryboardName</key>
|
||||||
<string>LaunchScreen</string>
|
<string>LaunchScreen</string>
|
||||||
<key>UIRequiredDeviceCapabilities</key>
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
36
ReactNativeClient/ios/Podfile
Normal file
36
ReactNativeClient/ios/Podfile
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
platform :ios, '9.0'
|
||||||
|
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
||||||
|
target 'Joplin' do
|
||||||
|
# Pods for Joplin
|
||||||
|
pod 'React', :path => '../node_modules/react-native/'
|
||||||
|
pod 'React-Core', :path => '../node_modules/react-native/React'
|
||||||
|
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
|
||||||
|
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
|
||||||
|
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
|
||||||
|
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
|
||||||
|
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
|
||||||
|
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
|
||||||
|
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
|
||||||
|
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
|
||||||
|
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
|
||||||
|
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
|
||||||
|
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
|
||||||
|
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
|
||||||
|
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
|
||||||
|
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
|
||||||
|
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
|
||||||
|
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
||||||
|
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
|
||||||
|
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
|
||||||
|
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
|
||||||
|
pod 'rn-fetch-blob', :path => '../node_modules/rn-fetch-blob'
|
||||||
|
use_native_modules!
|
||||||
|
end
|
||||||
|
|
||||||
|
# target 'Joplin-tvOS' do
|
||||||
|
# # Pods for Joplin-tvOS
|
||||||
|
# target 'Joplin-tvOSTests' do
|
||||||
|
# inherit! :search_paths
|
||||||
|
# # Pods for testing
|
||||||
|
# end
|
||||||
|
# end
|
265
ReactNativeClient/ios/Podfile.lock
Normal file
265
ReactNativeClient/ios/Podfile.lock
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
PODS:
|
||||||
|
- boost-for-react-native (1.63.0)
|
||||||
|
- DoubleConversion (1.1.6)
|
||||||
|
- Folly (2018.10.22.00):
|
||||||
|
- boost-for-react-native
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly/Default (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- Folly/Default (2018.10.22.00):
|
||||||
|
- boost-for-react-native
|
||||||
|
- DoubleConversion
|
||||||
|
- glog
|
||||||
|
- glog (0.3.5)
|
||||||
|
- React (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-DevSupport (= 0.60.6)
|
||||||
|
- React-RCTActionSheet (= 0.60.6)
|
||||||
|
- React-RCTAnimation (= 0.60.6)
|
||||||
|
- React-RCTBlob (= 0.60.6)
|
||||||
|
- React-RCTImage (= 0.60.6)
|
||||||
|
- React-RCTLinking (= 0.60.6)
|
||||||
|
- React-RCTNetwork (= 0.60.6)
|
||||||
|
- React-RCTSettings (= 0.60.6)
|
||||||
|
- React-RCTText (= 0.60.6)
|
||||||
|
- React-RCTVibration (= 0.60.6)
|
||||||
|
- React-RCTWebSocket (= 0.60.6)
|
||||||
|
- React-Core (0.60.6):
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- React-cxxreact (= 0.60.6)
|
||||||
|
- React-jsiexecutor (= 0.60.6)
|
||||||
|
- yoga (= 0.60.6.React)
|
||||||
|
- React-cxxreact (0.60.6):
|
||||||
|
- boost-for-react-native (= 1.63.0)
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-jsinspector (= 0.60.6)
|
||||||
|
- React-DevSupport (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTWebSocket (= 0.60.6)
|
||||||
|
- React-jsi (0.60.6):
|
||||||
|
- boost-for-react-native (= 1.63.0)
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-jsi/Default (= 0.60.6)
|
||||||
|
- React-jsi/Default (0.60.6):
|
||||||
|
- boost-for-react-native (= 1.63.0)
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-jsiexecutor (0.60.6):
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-cxxreact (= 0.60.6)
|
||||||
|
- React-jsi (= 0.60.6)
|
||||||
|
- React-jsinspector (0.60.6)
|
||||||
|
- react-native-camera (2.10.2):
|
||||||
|
- React
|
||||||
|
- react-native-camera/RCT (= 2.10.2)
|
||||||
|
- react-native-camera/RN (= 2.10.2)
|
||||||
|
- react-native-camera/RCT (2.10.2):
|
||||||
|
- React
|
||||||
|
- react-native-camera/RN (2.10.2):
|
||||||
|
- React
|
||||||
|
- react-native-document-picker (2.3.0):
|
||||||
|
- React
|
||||||
|
- react-native-image-picker (0.14.3):
|
||||||
|
- React
|
||||||
|
- react-native-image-resizer (1.0.0):
|
||||||
|
- React
|
||||||
|
- react-native-slider (2.0.8):
|
||||||
|
- React
|
||||||
|
- react-native-sqlite-storage (3.3.11):
|
||||||
|
- React
|
||||||
|
- react-native-version-info (0.5.1):
|
||||||
|
- React
|
||||||
|
- react-native-webview (5.12.0):
|
||||||
|
- React
|
||||||
|
- React-RCTActionSheet (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTAnimation (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTBlob (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTNetwork (= 0.60.6)
|
||||||
|
- React-RCTWebSocket (= 0.60.6)
|
||||||
|
- React-RCTImage (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTNetwork (= 0.60.6)
|
||||||
|
- React-RCTLinking (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTNetwork (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTSettings (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTText (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTVibration (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- React-RCTWebSocket (0.60.6):
|
||||||
|
- React-Core (= 0.60.6)
|
||||||
|
- rn-fetch-blob (0.12.0):
|
||||||
|
- React-Core
|
||||||
|
- RNFileViewer (1.0.1):
|
||||||
|
- React
|
||||||
|
- RNFS (2.11.17):
|
||||||
|
- React
|
||||||
|
- RNSecureRandom (1.0.0-rc.0):
|
||||||
|
- React
|
||||||
|
- RNVectorIcons (6.6.0):
|
||||||
|
- React
|
||||||
|
- yoga (0.60.6.React)
|
||||||
|
|
||||||
|
DEPENDENCIES:
|
||||||
|
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||||
|
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
|
||||||
|
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||||
|
- React (from `../node_modules/react-native/`)
|
||||||
|
- React-Core (from `../node_modules/react-native/React`)
|
||||||
|
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
|
||||||
|
- React-DevSupport (from `../node_modules/react-native/React`)
|
||||||
|
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
|
||||||
|
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
|
||||||
|
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
|
||||||
|
- react-native-camera (from `../node_modules/react-native-camera`)
|
||||||
|
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
|
||||||
|
- react-native-image-picker (from `../node_modules/react-native-image-picker`)
|
||||||
|
- react-native-image-resizer (from `../node_modules/react-native-image-resizer`)
|
||||||
|
- "react-native-slider (from `../node_modules/@react-native-community/slider`)"
|
||||||
|
- react-native-sqlite-storage (from `../node_modules/react-native-sqlite-storage`)
|
||||||
|
- react-native-version-info (from `../node_modules/react-native-version-info`)
|
||||||
|
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||||
|
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
|
||||||
|
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
|
||||||
|
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
|
||||||
|
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
|
||||||
|
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
|
||||||
|
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
|
||||||
|
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
|
||||||
|
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
|
||||||
|
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
|
||||||
|
- React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`)
|
||||||
|
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
||||||
|
- RNFileViewer (from `../node_modules/react-native-file-viewer/ios`)
|
||||||
|
- RNFS (from `../node_modules/react-native-fs`)
|
||||||
|
- RNSecureRandom (from `../node_modules/react-native-securerandom`)
|
||||||
|
- RNVectorIcons (from `../node_modules/react-native-vector-icons`)
|
||||||
|
- yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
||||||
|
|
||||||
|
SPEC REPOS:
|
||||||
|
trunk:
|
||||||
|
- boost-for-react-native
|
||||||
|
|
||||||
|
EXTERNAL SOURCES:
|
||||||
|
DoubleConversion:
|
||||||
|
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||||
|
Folly:
|
||||||
|
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
|
||||||
|
glog:
|
||||||
|
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
|
||||||
|
React:
|
||||||
|
:path: "../node_modules/react-native/"
|
||||||
|
React-Core:
|
||||||
|
:path: "../node_modules/react-native/React"
|
||||||
|
React-cxxreact:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/cxxreact"
|
||||||
|
React-DevSupport:
|
||||||
|
:path: "../node_modules/react-native/React"
|
||||||
|
React-jsi:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/jsi"
|
||||||
|
React-jsiexecutor:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
|
||||||
|
React-jsinspector:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/jsinspector"
|
||||||
|
react-native-camera:
|
||||||
|
:path: "../node_modules/react-native-camera"
|
||||||
|
react-native-document-picker:
|
||||||
|
:path: "../node_modules/react-native-document-picker"
|
||||||
|
react-native-image-picker:
|
||||||
|
:path: "../node_modules/react-native-image-picker"
|
||||||
|
react-native-image-resizer:
|
||||||
|
:path: "../node_modules/react-native-image-resizer"
|
||||||
|
react-native-slider:
|
||||||
|
:path: "../node_modules/@react-native-community/slider"
|
||||||
|
react-native-sqlite-storage:
|
||||||
|
:path: "../node_modules/react-native-sqlite-storage"
|
||||||
|
react-native-version-info:
|
||||||
|
:path: "../node_modules/react-native-version-info"
|
||||||
|
react-native-webview:
|
||||||
|
:path: "../node_modules/react-native-webview"
|
||||||
|
React-RCTActionSheet:
|
||||||
|
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
|
||||||
|
React-RCTAnimation:
|
||||||
|
:path: "../node_modules/react-native/Libraries/NativeAnimation"
|
||||||
|
React-RCTBlob:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Blob"
|
||||||
|
React-RCTImage:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Image"
|
||||||
|
React-RCTLinking:
|
||||||
|
:path: "../node_modules/react-native/Libraries/LinkingIOS"
|
||||||
|
React-RCTNetwork:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Network"
|
||||||
|
React-RCTSettings:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Settings"
|
||||||
|
React-RCTText:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Text"
|
||||||
|
React-RCTVibration:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Vibration"
|
||||||
|
React-RCTWebSocket:
|
||||||
|
:path: "../node_modules/react-native/Libraries/WebSocket"
|
||||||
|
rn-fetch-blob:
|
||||||
|
:path: "../node_modules/rn-fetch-blob"
|
||||||
|
RNFileViewer:
|
||||||
|
:path: "../node_modules/react-native-file-viewer/ios"
|
||||||
|
RNFS:
|
||||||
|
:path: "../node_modules/react-native-fs"
|
||||||
|
RNSecureRandom:
|
||||||
|
:path: "../node_modules/react-native-securerandom"
|
||||||
|
RNVectorIcons:
|
||||||
|
:path: "../node_modules/react-native-vector-icons"
|
||||||
|
yoga:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/yoga"
|
||||||
|
|
||||||
|
SPEC CHECKSUMS:
|
||||||
|
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||||
|
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||||
|
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||||
|
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
|
||||||
|
React: 68e7f8dfc27729eade18423072a143120f2f32ab
|
||||||
|
React-Core: fc9dace551f6c8c1007dd2d3cb1bc10c90a01d3e
|
||||||
|
React-cxxreact: abe59014fce932d41a08bf1aa5dcad9ca8f0a2c5
|
||||||
|
React-DevSupport: b0da2fd9ad4ffb25561bf2a328ab84f78f871bdd
|
||||||
|
React-jsi: 1a4248256b96fa453536a8dafe11b784e24e789d
|
||||||
|
React-jsiexecutor: 2279e559b921d02dfc6253ebef3dcb3a9dc6c07e
|
||||||
|
React-jsinspector: a58b86545a0185f69768e78ac96ca9fe43fa3694
|
||||||
|
react-native-camera: ea85f74cf2e501d2a91a3da7092ecdac082f18df
|
||||||
|
react-native-document-picker: 8508bfda34be6c24a2cbecbe515b15108658c183
|
||||||
|
react-native-image-picker: 3693786b3d5958c8f71deed66ec068b323565e0d
|
||||||
|
react-native-image-resizer: aa1600566fd336a044daf9273dcec5033c1d41ca
|
||||||
|
react-native-slider: b2f361499888302147205f17f6fffa921a7bda70
|
||||||
|
react-native-sqlite-storage: 3cfa904d9750f7e846c9a14c47951583ee99dbf4
|
||||||
|
react-native-version-info: 8905d01e64f8444ab6842b3fff89886b3191e732
|
||||||
|
react-native-webview: 26d8993b090ca5d59eb9a9466dcb8291baa3223e
|
||||||
|
React-RCTActionSheet: 49f6a67a7efa6688f637296383d453b97ef13645
|
||||||
|
React-RCTAnimation: e8047438b2927ebbe630bbf600c7309374075df3
|
||||||
|
React-RCTBlob: 2c4b28daca5b3e6e356706d8e0c7436a0e8ef492
|
||||||
|
React-RCTImage: 273501f0529775962551613259c20ccdf1a87cd2
|
||||||
|
React-RCTLinking: 76c88b3cc98657915a2ba2f20d208e44d0530a43
|
||||||
|
React-RCTNetwork: 77c11e672ccdcc33da5d047705f100b016497b15
|
||||||
|
React-RCTSettings: f727c25ad26a8a9bd7272a8ba93781bd1f53952a
|
||||||
|
React-RCTText: d91537e29e38dc69cf09cbca0875cf5dc7402da6
|
||||||
|
React-RCTVibration: 7655d72dfb919dd6d8e135ca108a5a2bd9fcd7b4
|
||||||
|
React-RCTWebSocket: 7cd2c8d0f8ddd680dc76404defba7ab1f56b83af
|
||||||
|
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
||||||
|
RNFileViewer: 5047ecf40477339723cc08abd55b5ebcefcef4b5
|
||||||
|
RNFS: 416676c3a9ae404454bade10e3d78147c7c33a40
|
||||||
|
RNSecureRandom: 1f19ad1492f7ed416b8fc79e92216a1f73f13a4c
|
||||||
|
RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4
|
||||||
|
yoga: 5079887aa3e4c62142d6bcee493022643ee4d730
|
||||||
|
|
||||||
|
PODFILE CHECKSUM: f181745e3dfb6ceb34ab39c6406155aa68a75c7c
|
||||||
|
|
||||||
|
COCOAPODS: 1.8.4
|
@ -10,6 +10,8 @@ const { _ } = require('lib/locale.js');
|
|||||||
const { shim } = require('lib/shim');
|
const { shim } = require('lib/shim');
|
||||||
const Setting = require('lib/models/Setting');
|
const Setting = require('lib/models/Setting');
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
class CameraView extends Component {
|
class CameraView extends Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
@ -8,6 +8,8 @@ const ReactNativeActionButton = require('react-native-action-button').default;
|
|||||||
const { connect } = require('react-redux');
|
const { connect } = require('react-redux');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale.js');
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
actionButtonIcon: {
|
actionButtonIcon: {
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
|
@ -4,6 +4,7 @@ const React = require('react');
|
|||||||
const Component = React.Component;
|
const Component = React.Component;
|
||||||
const { View, TouchableHighlight } = require('react-native');
|
const { View, TouchableHighlight } = require('react-native');
|
||||||
const Icon = require('react-native-vector-icons/Ionicons').default;
|
const Icon = require('react-native-vector-icons/Ionicons').default;
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
const styles = {
|
const styles = {
|
||||||
checkboxIcon: {
|
checkboxIcon: {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const React = require('react');
|
const React = require('react');
|
||||||
const Component = React.Component;
|
const Component = React.Component;
|
||||||
const { connect } = require('react-redux');
|
const { connect } = require('react-redux');
|
||||||
const { ListView, Text, StyleSheet, Button, View } = require('react-native');
|
const { FlatList, Text, StyleSheet, Button, View } = require('react-native');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale.js');
|
||||||
const { NoteItem } = require('lib/components/note-item.js');
|
const { NoteItem } = require('lib/components/note-item.js');
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
@ -12,13 +12,8 @@ const { themeStyle } = require('lib/components/global-style.js');
|
|||||||
class NoteListComponent extends Component {
|
class NoteListComponent extends Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
const ds = new ListView.DataSource({
|
|
||||||
rowHasChanged: (r1, r2) => {
|
|
||||||
return r1 !== r2;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
this.state = {
|
this.state = {
|
||||||
dataSource: ds,
|
|
||||||
items: [],
|
items: [],
|
||||||
selectedItemIds: [],
|
selectedItemIds: [],
|
||||||
};
|
};
|
||||||
@ -82,37 +77,23 @@ class NoteListComponent extends Component {
|
|||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNSAFE_componentWillMount() {
|
|
||||||
const newDataSource = this.state.dataSource.cloneWithRows(this.filterNotes(this.props.items));
|
|
||||||
this.setState({ dataSource: newDataSource });
|
|
||||||
}
|
|
||||||
|
|
||||||
UNSAFE_componentWillReceiveProps(newProps) {
|
UNSAFE_componentWillReceiveProps(newProps) {
|
||||||
// https://stackoverflow.com/questions/38186114/react-native-redux-and-listview
|
|
||||||
this.setState({
|
|
||||||
dataSource: this.state.dataSource.cloneWithRows(this.filterNotes(newProps.items)),
|
|
||||||
});
|
|
||||||
|
|
||||||
// Make sure scroll position is reset when switching from one folder to another or to a tag list.
|
// Make sure scroll position is reset when switching from one folder to another or to a tag list.
|
||||||
if (this.rootRef_ && newProps.notesSource != this.props.notesSource) {
|
if (this.rootRef_ && newProps.notesSource != this.props.notesSource) {
|
||||||
this.rootRef_.scrollTo({ x: 0, y: 0, animated: false });
|
this.rootRef_.scrollToOffset({ offset: 0, animated: false });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
// `enableEmptySections` is to fix this warning: https://github.com/FaridSafi/react-native-gifted-listview/issues/39
|
// `enableEmptySections` is to fix this warning: https://github.com/FaridSafi/react-native-gifted-listview/issues/39
|
||||||
|
|
||||||
if (this.state.dataSource.getRowCount()) {
|
if (this.props.items.length) {
|
||||||
return (
|
return <FlatList
|
||||||
<ListView
|
ref={ref => (this.rootRef_ = ref)}
|
||||||
ref={ref => (this.rootRef_ = ref)}
|
data={this.props.items}
|
||||||
dataSource={this.state.dataSource}
|
renderItem={({ item }) => <NoteItem note={item} />}
|
||||||
renderRow={note => {
|
keyExtractor={item => item.id}
|
||||||
return <NoteItem note={note} />;
|
/>;
|
||||||
}}
|
|
||||||
enableEmptySections={true}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
if (!this.props.folders.length) {
|
if (!this.props.folders.length) {
|
||||||
const noItemMessage = _('You currently have no notebooks.');
|
const noItemMessage = _('You currently have no notebooks.');
|
||||||
|
@ -17,6 +17,8 @@ const { Dropdown } = require('lib/components/Dropdown.js');
|
|||||||
const { dialogs } = require('lib/dialogs.js');
|
const { dialogs } = require('lib/dialogs.js');
|
||||||
const DialogBox = require('react-native-dialogbox').default;
|
const DialogBox = require('react-native-dialogbox').default;
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
// Rather than applying a padding to the whole bar, it is applied to each
|
// Rather than applying a padding to the whole bar, it is applied to each
|
||||||
// individual component (button, picker, etc.) so that the touchable areas
|
// individual component (button, picker, etc.) so that the touchable areas
|
||||||
// are widder and to give more room to the picker component which has a larger
|
// are widder and to give more room to the picker component which has a larger
|
||||||
|
@ -11,6 +11,8 @@ const Icon = require('react-native-vector-icons/Ionicons').default;
|
|||||||
const ModalDialog = require('lib/components/ModalDialog');
|
const ModalDialog = require('lib/components/ModalDialog');
|
||||||
const naturalCompare = require('string-natural-compare');
|
const naturalCompare = require('string-natural-compare');
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
class NoteTagsDialogComponent extends React.Component {
|
class NoteTagsDialogComponent extends React.Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
|
||||||
const { ListView, View, Text, Button, StyleSheet, Platform } = require('react-native');
|
const { FlatList, View, Text, Button, StyleSheet, Platform } = require('react-native');
|
||||||
const { connect } = require('react-redux');
|
const { connect } = require('react-redux');
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
const { ScreenHeader } = require('lib/components/screen-header.js');
|
const { ScreenHeader } = require('lib/components/screen-header.js');
|
||||||
@ -19,13 +19,9 @@ class LogScreenComponent extends BaseScreenComponent {
|
|||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
const ds = new ListView.DataSource({
|
|
||||||
rowHasChanged: (r1, r2) => {
|
|
||||||
return r1 !== r2;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
this.state = {
|
this.state = {
|
||||||
dataSource: ds,
|
logEntries: [],
|
||||||
showErrorsOnly: false,
|
showErrorsOnly: false,
|
||||||
};
|
};
|
||||||
this.styles_ = {};
|
this.styles_ = {};
|
||||||
@ -70,29 +66,24 @@ class LogScreenComponent extends BaseScreenComponent {
|
|||||||
this.resfreshLogEntries();
|
this.resfreshLogEntries();
|
||||||
}
|
}
|
||||||
|
|
||||||
resfreshLogEntries(showErrorsOnly = null) {
|
async resfreshLogEntries(showErrorsOnly = null) {
|
||||||
if (showErrorsOnly === null) showErrorsOnly = this.state.showErrorsOnly;
|
if (showErrorsOnly === null) showErrorsOnly = this.state.showErrorsOnly;
|
||||||
|
|
||||||
let levels = [Logger.LEVEL_DEBUG, Logger.LEVEL_INFO, Logger.LEVEL_WARN, Logger.LEVEL_ERROR];
|
let levels = [Logger.LEVEL_DEBUG, Logger.LEVEL_INFO, Logger.LEVEL_WARN, Logger.LEVEL_ERROR];
|
||||||
if (showErrorsOnly) levels = [Logger.LEVEL_WARN, Logger.LEVEL_ERROR];
|
if (showErrorsOnly) levels = [Logger.LEVEL_WARN, Logger.LEVEL_ERROR];
|
||||||
|
|
||||||
reg
|
this.setState({
|
||||||
.logger()
|
logEntries: await reg.logger().lastEntries(1000, { levels: levels }),
|
||||||
.lastEntries(1000, { levels: levels })
|
showErrorsOnly: showErrorsOnly,
|
||||||
.then(entries => {
|
});
|
||||||
const newDataSource = this.state.dataSource.cloneWithRows(entries);
|
|
||||||
this.setState({ dataSource: newDataSource });
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleErrorsOnly() {
|
toggleErrorsOnly() {
|
||||||
const showErrorsOnly = !this.state.showErrorsOnly;
|
this.resfreshLogEntries(!this.state.showErrorsOnly);
|
||||||
this.setState({ showErrorsOnly: showErrorsOnly });
|
|
||||||
this.resfreshLogEntries(showErrorsOnly);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let renderRow = item => {
|
let renderRow = ({ item }) => {
|
||||||
let textStyle = this.styles().rowText;
|
let textStyle = this.styles().rowText;
|
||||||
if (item.level == Logger.LEVEL_WARN) textStyle = this.styles().rowTextWarn;
|
if (item.level == Logger.LEVEL_WARN) textStyle = this.styles().rowTextWarn;
|
||||||
if (item.level == Logger.LEVEL_ERROR) textStyle = this.styles().rowTextError;
|
if (item.level == Logger.LEVEL_ERROR) textStyle = this.styles().rowTextError;
|
||||||
@ -105,10 +96,15 @@ class LogScreenComponent extends BaseScreenComponent {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// `enableEmptySections` is to fix this warning: https://github.com/FaridSafi/react-native-gifted-listview/issues/39
|
// `enableEmptySections` is to fix this warning: https://github.com/FaridSafi/react-native-gifted-listview/issues/39
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={this.rootStyle(this.props.theme).root}>
|
<View style={this.rootStyle(this.props.theme).root}>
|
||||||
<ScreenHeader title={_('Log')} />
|
<ScreenHeader title={_('Log')} />
|
||||||
<ListView dataSource={this.state.dataSource} renderRow={renderRow} enableEmptySections={true} />
|
<FlatList
|
||||||
|
data={this.state.logEntries}
|
||||||
|
renderItem={renderRow}
|
||||||
|
keyExtractor={item => { return `${item.id}`; }}
|
||||||
|
/>
|
||||||
<View style={{ flexDirection: 'row' }}>
|
<View style={{ flexDirection: 'row' }}>
|
||||||
<View style={{ flex: 1, marginRight: 5 }}>
|
<View style={{ flex: 1, marginRight: 5 }}>
|
||||||
<Button
|
<Button
|
||||||
|
@ -35,7 +35,7 @@ const ImageResizer = require('react-native-image-resizer').default;
|
|||||||
const shared = require('lib/components/shared/note-screen-shared.js');
|
const shared = require('lib/components/shared/note-screen-shared.js');
|
||||||
const ImagePicker = require('react-native-image-picker');
|
const ImagePicker = require('react-native-image-picker');
|
||||||
const { SelectDateTimeDialog } = require('lib/components/select-date-time-dialog.js');
|
const { SelectDateTimeDialog } = require('lib/components/select-date-time-dialog.js');
|
||||||
const ShareExtension = require('react-native-share-extension').default;
|
// const ShareExtension = require('react-native-share-extension').default;
|
||||||
const CameraView = require('lib/components/CameraView');
|
const CameraView = require('lib/components/CameraView');
|
||||||
const SearchEngine = require('lib/services/SearchEngine');
|
const SearchEngine = require('lib/services/SearchEngine');
|
||||||
const urlUtils = require('lib/urlUtils');
|
const urlUtils = require('lib/urlUtils');
|
||||||
@ -305,9 +305,9 @@ class NoteScreenComponent extends BaseScreenComponent {
|
|||||||
|
|
||||||
shared.uninstallResourceHandling(this.refreshResource);
|
shared.uninstallResourceHandling(this.refreshResource);
|
||||||
|
|
||||||
if (Platform.OS !== 'ios' && this.state.fromShare) {
|
// if (Platform.OS !== 'ios' && this.state.fromShare) {
|
||||||
ShareExtension.close();
|
// ShareExtension.close();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
title_changeText(text) {
|
title_changeText(text) {
|
||||||
|
@ -14,6 +14,8 @@ const { themeStyle } = require('lib/components/global-style.js');
|
|||||||
const SearchEngineUtils = require('lib/services/SearchEngineUtils');
|
const SearchEngineUtils = require('lib/services/SearchEngineUtils');
|
||||||
const DialogBox = require('react-native-dialogbox').default;
|
const DialogBox = require('react-native-dialogbox').default;
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
class SearchScreenComponent extends BaseScreenComponent {
|
class SearchScreenComponent extends BaseScreenComponent {
|
||||||
static navigationOptions() {
|
static navigationOptions() {
|
||||||
return { header: null };
|
return { header: null };
|
||||||
|
@ -7,6 +7,8 @@ const { connect } = require('react-redux');
|
|||||||
const Icon = require('react-native-vector-icons/Ionicons').default;
|
const Icon = require('react-native-vector-icons/Ionicons').default;
|
||||||
const { globalStyle, themeStyle } = require('lib/components/global-style.js');
|
const { globalStyle, themeStyle } = require('lib/components/global-style.js');
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
class SideMenuContentNoteComponent extends Component {
|
class SideMenuContentNoteComponent extends Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
@ -12,6 +12,8 @@ const { _ } = require('lib/locale.js');
|
|||||||
const { globalStyle, themeStyle } = require('lib/components/global-style.js');
|
const { globalStyle, themeStyle } = require('lib/components/global-style.js');
|
||||||
const shared = require('lib/components/shared/side-menu-shared.js');
|
const shared = require('lib/components/shared/side-menu-shared.js');
|
||||||
|
|
||||||
|
Icon.loadFont();
|
||||||
|
|
||||||
class SideMenuContentComponent extends Component {
|
class SideMenuContentComponent extends Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
const { PushNotificationIOS } = require('react-native');
|
// const { PushNotificationIOS } = require('react-native');
|
||||||
|
|
||||||
class AlarmServiceDriver {
|
class AlarmServiceDriver {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.hasPermission_ = null;
|
this.hasPermission_ = null;
|
||||||
this.inAppNotificationHandler_ = null;
|
this.inAppNotificationHandler_ = null;
|
||||||
|
|
||||||
PushNotificationIOS.addEventListener('localNotification', instance => {
|
// PushNotificationIOS.addEventListener('localNotification', instance => {
|
||||||
if (!this.inAppNotificationHandler_) return;
|
// if (!this.inAppNotificationHandler_) return;
|
||||||
|
|
||||||
if (!instance || !instance._data || !instance._data.id) {
|
// if (!instance || !instance._data || !instance._data.id) {
|
||||||
console.warn('PushNotificationIOS.addEventListener: Did not receive a proper notification instance');
|
// console.warn('PushNotificationIOS.addEventListener: Did not receive a proper notification instance');
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
const id = instance._data.id;
|
// const id = instance._data.id;
|
||||||
this.inAppNotificationHandler_(id);
|
// this.inAppNotificationHandler_(id);
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
hasPersistentNotifications() {
|
hasPersistentNotifications() {
|
||||||
@ -36,26 +36,28 @@ class AlarmServiceDriver {
|
|||||||
if (this.hasPermission_ !== null) return this.hasPermission_;
|
if (this.hasPermission_ !== null) return this.hasPermission_;
|
||||||
|
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
PushNotificationIOS.checkPermissions(async perm => {
|
this.hasPermission_ = true;
|
||||||
const ok = await this.hasPermissions(perm);
|
resolve(true);
|
||||||
this.hasPermission_ = ok;
|
// PushNotificationIOS.checkPermissions(async perm => {
|
||||||
resolve(ok);
|
// const ok = await this.hasPermissions(perm);
|
||||||
});
|
// this.hasPermission_ = ok;
|
||||||
|
// resolve(ok);
|
||||||
|
// });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async requestPermissions() {
|
async requestPermissions() {
|
||||||
const newPerm = await PushNotificationIOS.requestPermissions({
|
// const newPerm = await PushNotificationIOS.requestPermissions({
|
||||||
alert: 1,
|
// alert: 1,
|
||||||
badge: 1,
|
// badge: 1,
|
||||||
sound: 1,
|
// sound: 1,
|
||||||
});
|
// });
|
||||||
this.hasPermission_ = null;
|
// this.hasPermission_ = null;
|
||||||
return this.hasPermissions(newPerm);
|
// return this.hasPermissions(newPerm);
|
||||||
}
|
}
|
||||||
|
|
||||||
async clearNotification(id) {
|
async clearNotification(/* id */) {
|
||||||
PushNotificationIOS.cancelLocalNotifications({ id: `${id}` });
|
// PushNotificationIOS.cancelLocalNotifications({ id: `${id}` });
|
||||||
}
|
}
|
||||||
|
|
||||||
async scheduleNotification(notification) {
|
async scheduleNotification(notification) {
|
||||||
@ -74,7 +76,7 @@ class AlarmServiceDriver {
|
|||||||
|
|
||||||
if ('body' in notification) iosNotification.alertBody = notification.body;
|
if ('body' in notification) iosNotification.alertBody = notification.body;
|
||||||
|
|
||||||
PushNotificationIOS.scheduleLocalNotification(iosNotification);
|
// PushNotificationIOS.scheduleLocalNotification(iosNotification);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4483
ReactNativeClient/package-lock.json
generated
4483
ReactNativeClient/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -10,25 +10,41 @@
|
|||||||
"encodeAssets": "node encodeAssets.js"
|
"encodeAssets": "node encodeAssets.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-native-community/slider": "^1.1.3",
|
"@react-native-community/slider": "^2.0.8",
|
||||||
"async-mutex": "^0.1.3",
|
"async-mutex": "^0.1.3",
|
||||||
"base-64": "^0.1.0",
|
"base-64": "^0.1.0",
|
||||||
"buffer": "^5.0.8",
|
"buffer": "^5.0.8",
|
||||||
"diacritics": "^1.3.0",
|
"diacritics": "^1.3.0",
|
||||||
"diff-match-patch": "^1.0.4",
|
"diff-match-patch": "^1.0.4",
|
||||||
"events": "^1.1.1",
|
"events": "^1.1.1",
|
||||||
|
"font-awesome-filetypes": "^2.1.0",
|
||||||
"form-data": "^2.1.4",
|
"form-data": "^2.1.4",
|
||||||
|
"highlight.js": "^9.17.1",
|
||||||
"html-entities": "^1.2.1",
|
"html-entities": "^1.2.1",
|
||||||
"jsc-android": "241213.1.0",
|
"jsc-android": "241213.1.0",
|
||||||
|
"json-stringify-safe": "^5.0.1",
|
||||||
|
"katex": "^0.11.1",
|
||||||
"markdown-it": "^10.0.0",
|
"markdown-it": "^10.0.0",
|
||||||
|
"markdown-it-abbr": "^1.0.4",
|
||||||
|
"markdown-it-anchor": "^5.2.5",
|
||||||
|
"markdown-it-deflist": "^2.0.3",
|
||||||
|
"markdown-it-emoji": "^1.4.0",
|
||||||
|
"markdown-it-expand-tabs": "^1.0.13",
|
||||||
|
"markdown-it-footnote": "^3.0.2",
|
||||||
|
"markdown-it-ins": "^3.0.0",
|
||||||
|
"markdown-it-mark": "^3.0.0",
|
||||||
|
"markdown-it-multimd-table": "^4.0.1",
|
||||||
|
"markdown-it-sub": "^1.0.0",
|
||||||
|
"markdown-it-sup": "^1.0.0",
|
||||||
|
"markdown-it-toc-done-right": "^4.1.0",
|
||||||
"md5": "^2.2.1",
|
"md5": "^2.2.1",
|
||||||
"moment": "^2.24.0",
|
"moment": "^2.24.0",
|
||||||
"prop-types": "^15.6.0",
|
"prop-types": "^15.6.0",
|
||||||
"punycode": "^2.1.1",
|
"punycode": "^2.1.1",
|
||||||
"query-string": "4.3.4",
|
"query-string": "4.3.4",
|
||||||
"react": "^16.8.3",
|
"react": "16.8.6",
|
||||||
"react-async": "^10.0.0",
|
"react-async": "^10.0.0",
|
||||||
"react-native": "0.59.10",
|
"react-native": "0.60.6",
|
||||||
"react-native-action-button": "^2.6.9",
|
"react-native-action-button": "^2.6.9",
|
||||||
"react-native-camera": "^2.10.2",
|
"react-native-camera": "^2.10.2",
|
||||||
"react-native-datepicker": "^1.6.0",
|
"react-native-datepicker": "^1.6.0",
|
||||||
@ -43,49 +59,32 @@
|
|||||||
"react-native-popup-dialog": "^0.9.35",
|
"react-native-popup-dialog": "^0.9.35",
|
||||||
"react-native-popup-menu": "^0.10.0",
|
"react-native-popup-menu": "^0.10.0",
|
||||||
"react-native-push-notification": "git+https://github.com/laurent22/react-native-push-notification.git",
|
"react-native-push-notification": "git+https://github.com/laurent22/react-native-push-notification.git",
|
||||||
"react-native-securerandom": "^0.1.1",
|
"react-native-securerandom": "^1.0.0-rc.0",
|
||||||
"react-native-share-extension": "^1.2.1",
|
|
||||||
"react-native-side-menu": "^1.1.3",
|
"react-native-side-menu": "^1.1.3",
|
||||||
"react-native-sqlite-storage": "^3.3.11",
|
"react-native-sqlite-storage": "^3.3.11",
|
||||||
"react-native-vector-icons": "^4.4.2",
|
"react-native-vector-icons": "^6.6.0",
|
||||||
"react-native-version-info": "^0.5.1",
|
"react-native-version-info": "^0.5.1",
|
||||||
"react-native-webview": "^5.12.0",
|
"react-native-webview": "^5.12.0",
|
||||||
"react-navigation": "^1.0.0-beta.21",
|
"react-navigation": "^1.0.0-beta.21",
|
||||||
"react-redux": "5.0.7",
|
"react-redux": "5.0.7",
|
||||||
"redux": "4.0.0",
|
"redux": "4.0.0",
|
||||||
"reselect": "^4.0.0",
|
"reselect": "^4.0.0",
|
||||||
"rn-fetch-blob": "^0.10.13",
|
"rn-fetch-blob": "^0.12.0",
|
||||||
"stream": "0.0.2",
|
"stream": "0.0.2",
|
||||||
"string-natural-compare": "^2.0.2",
|
"string-natural-compare": "^2.0.2",
|
||||||
"string-padding": "^1.0.2",
|
"string-padding": "^1.0.2",
|
||||||
"timers": "^0.1.1",
|
"timers": "^0.1.1",
|
||||||
"url": "^0.11.0",
|
"url": "^0.11.0",
|
||||||
"url-parse": "^1.4.7",
|
"url-parse": "^1.4.7",
|
||||||
|
"uslug": "^1.0.4",
|
||||||
"uuid": "^3.0.1",
|
"uuid": "^3.0.1",
|
||||||
"valid-url": "^1.0.9",
|
"valid-url": "^1.0.9",
|
||||||
"word-wrap": "^1.2.3",
|
"word-wrap": "^1.2.3",
|
||||||
"xml2js": "^0.4.19",
|
"xml2js": "^0.4.19"
|
||||||
"font-awesome-filetypes": "^2.1.0",
|
|
||||||
"highlight.js": "^9.17.1",
|
|
||||||
"json-stringify-safe": "^5.0.1",
|
|
||||||
"katex": "^0.11.1",
|
|
||||||
"markdown-it-abbr": "^1.0.4",
|
|
||||||
"markdown-it-anchor": "^5.2.5",
|
|
||||||
"markdown-it-deflist": "^2.0.3",
|
|
||||||
"markdown-it-emoji": "^1.4.0",
|
|
||||||
"markdown-it-expand-tabs": "^1.0.13",
|
|
||||||
"markdown-it-footnote": "^3.0.2",
|
|
||||||
"markdown-it-ins": "^3.0.0",
|
|
||||||
"markdown-it-mark": "^3.0.0",
|
|
||||||
"markdown-it-multimd-table": "^4.0.1",
|
|
||||||
"markdown-it-sub": "^1.0.0",
|
|
||||||
"markdown-it-sup": "^1.0.0",
|
|
||||||
"markdown-it-toc-done-right": "^4.1.0",
|
|
||||||
"uslug": "^1.0.4"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.4.5",
|
"@babel/core": "^7.6.2",
|
||||||
"@babel/runtime": "^7.4.5",
|
"@babel/runtime": "^7.6.2",
|
||||||
"app-module-path": "^2.2.0",
|
"app-module-path": "^2.2.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"jetifier": "^1.6.4",
|
"jetifier": "^1.6.4",
|
||||||
|
@ -56,7 +56,7 @@ const { PoorManIntervals } = require('lib/poor-man-intervals.js');
|
|||||||
const { reducer, defaultState } = require('lib/reducer.js');
|
const { reducer, defaultState } = require('lib/reducer.js');
|
||||||
const { FileApiDriverLocal } = require('lib/file-api-driver-local.js');
|
const { FileApiDriverLocal } = require('lib/file-api-driver-local.js');
|
||||||
const DropdownAlert = require('react-native-dropdownalert').default;
|
const DropdownAlert = require('react-native-dropdownalert').default;
|
||||||
const ShareExtension = require('react-native-share-extension').default;
|
// const ShareExtension = require('react-native-share-extension').default;
|
||||||
const ResourceFetcher = require('lib/services/ResourceFetcher');
|
const ResourceFetcher = require('lib/services/ResourceFetcher');
|
||||||
const SearchEngine = require('lib/services/SearchEngine');
|
const SearchEngine = require('lib/services/SearchEngine');
|
||||||
const WelcomeUtils = require('lib/WelcomeUtils');
|
const WelcomeUtils = require('lib/WelcomeUtils');
|
||||||
@ -614,40 +614,40 @@ class AppComponent extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Platform.OS !== 'ios') {
|
if (Platform.OS !== 'ios') {
|
||||||
try {
|
// try {
|
||||||
const { type, value } = await ShareExtension.data();
|
// const { type, value } = await ShareExtension.data();
|
||||||
|
|
||||||
// reg.logger().info('Got share data:', type, value);
|
// // reg.logger().info('Got share data:', type, value);
|
||||||
|
|
||||||
if (type != '' && this.props.selectedFolderId) {
|
// if (type != '' && this.props.selectedFolderId) {
|
||||||
const newNote = await Note.save({
|
// const newNote = await Note.save({
|
||||||
title: Note.defaultTitleFromBody(value),
|
// title: Note.defaultTitleFromBody(value),
|
||||||
body: value,
|
// body: value,
|
||||||
parent_id: this.props.selectedFolderId,
|
// parent_id: this.props.selectedFolderId,
|
||||||
});
|
// });
|
||||||
|
|
||||||
// This is a bit hacky, but the surest way to go to
|
// // This is a bit hacky, but the surest way to go to
|
||||||
// the needed note. We go back one screen in case there's
|
// // the needed note. We go back one screen in case there's
|
||||||
// already a note open - if we don't do this, the dispatch
|
// // already a note open - if we don't do this, the dispatch
|
||||||
// below will do nothing (because routeName wouldn't change)
|
// // below will do nothing (because routeName wouldn't change)
|
||||||
// Then we wait a bit for the state to be set correctly, and
|
// // Then we wait a bit for the state to be set correctly, and
|
||||||
// finally we go to the new note.
|
// // finally we go to the new note.
|
||||||
this.props.dispatch({
|
// this.props.dispatch({
|
||||||
type: 'NAV_BACK',
|
// type: 'NAV_BACK',
|
||||||
});
|
// });
|
||||||
|
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
this.props.dispatch({
|
// this.props.dispatch({
|
||||||
type: 'NAV_GO',
|
// type: 'NAV_GO',
|
||||||
routeName: 'Note',
|
// routeName: 'Note',
|
||||||
noteId: newNote.id,
|
// noteId: newNote.id,
|
||||||
});
|
// });
|
||||||
}, 5);
|
// }, 5);
|
||||||
}
|
// }
|
||||||
|
|
||||||
} catch (e) {
|
// } catch (e) {
|
||||||
reg.logger().error('Error in ShareExtension.data', e);
|
// reg.logger().error('Error in ShareExtension.data', e);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
BackButtonService.initialize(this.backButtonHandler_);
|
BackButtonService.initialize(this.backButtonHandler_);
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
"*.bundle.js",
|
"*.bundle.js",
|
||||||
"yarn.lock",
|
"yarn.lock",
|
||||||
"*.icns",
|
"*.icns",
|
||||||
"*.base64",
|
"*.base64"
|
||||||
],
|
],
|
||||||
"folder_exclude_patterns":
|
"folder_exclude_patterns":
|
||||||
[
|
[
|
||||||
@ -65,6 +65,7 @@
|
|||||||
"Clipper/joplin-webclipper/popup/build",
|
"Clipper/joplin-webclipper/popup/build",
|
||||||
"Clipper/joplin-webclipper/dist",
|
"Clipper/joplin-webclipper/dist",
|
||||||
"ReactNativeClient/lib/rnInjectedJs",
|
"ReactNativeClient/lib/rnInjectedJs",
|
||||||
|
"ReactNativeClient/ios/Pods"
|
||||||
],
|
],
|
||||||
"path": "."
|
"path": "."
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user