You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-11-26 22:41:17 +02:00
Applied prettier to code base
This commit is contained in:
@@ -1,59 +1,60 @@
|
||||
const React = require('react'); const Component = React.Component;
|
||||
const { AppState, Keyboard, NativeModules, BackHandler } = require('react-native');
|
||||
const { SafeAreaView } = require('react-navigation');
|
||||
const { connect, Provider } = require('react-redux');
|
||||
const { BackButtonService } = require('lib/services/back-button.js');
|
||||
const NavService = require('lib/services/NavService.js');
|
||||
const AlarmService = require('lib/services/AlarmService.js');
|
||||
const AlarmServiceDriver = require('lib/services/AlarmServiceDriver');
|
||||
const Alarm = require('lib/models/Alarm');
|
||||
const { createStore, applyMiddleware } = require('redux');
|
||||
const { shimInit } = require('lib/shim-init-react.js');
|
||||
const { Log } = require('lib/log.js');
|
||||
const { time } = require('lib/time-utils.js');
|
||||
const { AppNav } = require('lib/components/app-nav.js');
|
||||
const { Logger } = require('lib/logger.js');
|
||||
const Note = require('lib/models/Note.js');
|
||||
const Folder = require('lib/models/Folder.js');
|
||||
const BaseSyncTarget = require('lib/BaseSyncTarget.js');
|
||||
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
|
||||
const Resource = require('lib/models/Resource.js');
|
||||
const Tag = require('lib/models/Tag.js');
|
||||
const NoteTag = require('lib/models/NoteTag.js');
|
||||
const BaseItem = require('lib/models/BaseItem.js');
|
||||
const MasterKey = require('lib/models/MasterKey.js');
|
||||
const BaseModel = require('lib/BaseModel.js');
|
||||
const { JoplinDatabase } = require('lib/joplin-database.js');
|
||||
const { Database } = require('lib/database.js');
|
||||
const { NotesScreen } = require('lib/components/screens/notes.js');
|
||||
const { NoteScreen } = require('lib/components/screens/note.js');
|
||||
const { ConfigScreen } = require('lib/components/screens/config.js');
|
||||
const { FolderScreen } = require('lib/components/screens/folder.js');
|
||||
const { LogScreen } = require('lib/components/screens/log.js');
|
||||
const { StatusScreen } = require('lib/components/screens/status.js');
|
||||
const { WelcomeScreen } = require('lib/components/screens/welcome.js');
|
||||
const { SearchScreen } = require('lib/components/screens/search.js');
|
||||
const { OneDriveLoginScreen } = require('lib/components/screens/onedrive-login.js');
|
||||
const { EncryptionConfigScreen } = require('lib/components/screens/encryption-config.js');
|
||||
const Setting = require('lib/models/Setting.js');
|
||||
const { MenuContext } = require('react-native-popup-menu');
|
||||
const { SideMenu } = require('lib/components/side-menu.js');
|
||||
const { SideMenuContent } = require('lib/components/side-menu-content.js');
|
||||
const { DatabaseDriverReactNative } = require('lib/database-driver-react-native');
|
||||
const { reg } = require('lib/registry.js');
|
||||
const { _, setLocale, closestSupportedLocale, defaultLocale } = require('lib/locale.js');
|
||||
const RNFetchBlob = require('react-native-fetch-blob').default;
|
||||
const { PoorManIntervals } = require('lib/poor-man-intervals.js');
|
||||
const { reducer, defaultState } = require('lib/reducer.js');
|
||||
const { FileApiDriverLocal } = require('lib/file-api-driver-local.js');
|
||||
const DropdownAlert = require('react-native-dropdownalert').default;
|
||||
const React = require("react");
|
||||
const Component = React.Component;
|
||||
const { AppState, Keyboard, NativeModules, BackHandler } = require("react-native");
|
||||
const { SafeAreaView } = require("react-navigation");
|
||||
const { connect, Provider } = require("react-redux");
|
||||
const { BackButtonService } = require("lib/services/back-button.js");
|
||||
const NavService = require("lib/services/NavService.js");
|
||||
const AlarmService = require("lib/services/AlarmService.js");
|
||||
const AlarmServiceDriver = require("lib/services/AlarmServiceDriver");
|
||||
const Alarm = require("lib/models/Alarm");
|
||||
const { createStore, applyMiddleware } = require("redux");
|
||||
const { shimInit } = require("lib/shim-init-react.js");
|
||||
const { Log } = require("lib/log.js");
|
||||
const { time } = require("lib/time-utils.js");
|
||||
const { AppNav } = require("lib/components/app-nav.js");
|
||||
const { Logger } = require("lib/logger.js");
|
||||
const Note = require("lib/models/Note.js");
|
||||
const Folder = require("lib/models/Folder.js");
|
||||
const BaseSyncTarget = require("lib/BaseSyncTarget.js");
|
||||
const { FoldersScreenUtils } = require("lib/folders-screen-utils.js");
|
||||
const Resource = require("lib/models/Resource.js");
|
||||
const Tag = require("lib/models/Tag.js");
|
||||
const NoteTag = require("lib/models/NoteTag.js");
|
||||
const BaseItem = require("lib/models/BaseItem.js");
|
||||
const MasterKey = require("lib/models/MasterKey.js");
|
||||
const BaseModel = require("lib/BaseModel.js");
|
||||
const { JoplinDatabase } = require("lib/joplin-database.js");
|
||||
const { Database } = require("lib/database.js");
|
||||
const { NotesScreen } = require("lib/components/screens/notes.js");
|
||||
const { NoteScreen } = require("lib/components/screens/note.js");
|
||||
const { ConfigScreen } = require("lib/components/screens/config.js");
|
||||
const { FolderScreen } = require("lib/components/screens/folder.js");
|
||||
const { LogScreen } = require("lib/components/screens/log.js");
|
||||
const { StatusScreen } = require("lib/components/screens/status.js");
|
||||
const { WelcomeScreen } = require("lib/components/screens/welcome.js");
|
||||
const { SearchScreen } = require("lib/components/screens/search.js");
|
||||
const { OneDriveLoginScreen } = require("lib/components/screens/onedrive-login.js");
|
||||
const { EncryptionConfigScreen } = require("lib/components/screens/encryption-config.js");
|
||||
const Setting = require("lib/models/Setting.js");
|
||||
const { MenuContext } = require("react-native-popup-menu");
|
||||
const { SideMenu } = require("lib/components/side-menu.js");
|
||||
const { SideMenuContent } = require("lib/components/side-menu-content.js");
|
||||
const { DatabaseDriverReactNative } = require("lib/database-driver-react-native");
|
||||
const { reg } = require("lib/registry.js");
|
||||
const { _, setLocale, closestSupportedLocale, defaultLocale } = require("lib/locale.js");
|
||||
const RNFetchBlob = require("react-native-fetch-blob").default;
|
||||
const { PoorManIntervals } = require("lib/poor-man-intervals.js");
|
||||
const { reducer, defaultState } = require("lib/reducer.js");
|
||||
const { FileApiDriverLocal } = require("lib/file-api-driver-local.js");
|
||||
const DropdownAlert = require("react-native-dropdownalert").default;
|
||||
|
||||
const SyncTargetRegistry = require('lib/SyncTargetRegistry.js');
|
||||
const SyncTargetOneDrive = require('lib/SyncTargetOneDrive.js');
|
||||
const SyncTargetFilesystem = require('lib/SyncTargetFilesystem.js');
|
||||
const SyncTargetOneDriveDev = require('lib/SyncTargetOneDriveDev.js');
|
||||
const SyncTargetNextcloud = require('lib/SyncTargetNextcloud.js');
|
||||
const SyncTargetWebDAV = require('lib/SyncTargetWebDAV.js');
|
||||
const SyncTargetRegistry = require("lib/SyncTargetRegistry.js");
|
||||
const SyncTargetOneDrive = require("lib/SyncTargetOneDrive.js");
|
||||
const SyncTargetFilesystem = require("lib/SyncTargetFilesystem.js");
|
||||
const SyncTargetOneDriveDev = require("lib/SyncTargetOneDriveDev.js");
|
||||
const SyncTargetNextcloud = require("lib/SyncTargetNextcloud.js");
|
||||
const SyncTargetWebDAV = require("lib/SyncTargetWebDAV.js");
|
||||
SyncTargetRegistry.addClass(SyncTargetOneDrive);
|
||||
SyncTargetRegistry.addClass(SyncTargetOneDriveDev);
|
||||
SyncTargetRegistry.addClass(SyncTargetNextcloud);
|
||||
@@ -62,49 +63,49 @@ SyncTargetRegistry.addClass(SyncTargetWebDAV);
|
||||
// Disabled because not fully working
|
||||
//SyncTargetRegistry.addClass(SyncTargetFilesystem);
|
||||
|
||||
const FsDriverRN = require('lib/fs-driver-rn.js').FsDriverRN;
|
||||
const DecryptionWorker = require('lib/services/DecryptionWorker');
|
||||
const EncryptionService = require('lib/services/EncryptionService');
|
||||
const FsDriverRN = require("lib/fs-driver-rn.js").FsDriverRN;
|
||||
const DecryptionWorker = require("lib/services/DecryptionWorker");
|
||||
const EncryptionService = require("lib/services/EncryptionService");
|
||||
|
||||
let storeDispatch = function(action) {};
|
||||
|
||||
const generalMiddleware = store => next => async (action) => {
|
||||
if (['SIDE_MENU_OPEN_PERCENT', 'SYNC_REPORT_UPDATE'].indexOf(action.type) < 0) reg.logger().info('Reducer action', action.type);
|
||||
const generalMiddleware = store => next => async action => {
|
||||
if (["SIDE_MENU_OPEN_PERCENT", "SYNC_REPORT_UPDATE"].indexOf(action.type) < 0) reg.logger().info("Reducer action", action.type);
|
||||
PoorManIntervals.update(); // This function needs to be called regularly so put it here
|
||||
|
||||
const result = next(action);
|
||||
const newState = store.getState();
|
||||
|
||||
if (action.type == 'NAV_GO') Keyboard.dismiss();
|
||||
if (action.type == "NAV_GO") Keyboard.dismiss();
|
||||
|
||||
if (['NOTE_UPDATE_ONE', 'NOTE_DELETE', 'FOLDER_UPDATE_ONE', 'FOLDER_DELETE'].indexOf(action.type) >= 0) {
|
||||
if (["NOTE_UPDATE_ONE", "NOTE_DELETE", "FOLDER_UPDATE_ONE", "FOLDER_DELETE"].indexOf(action.type) >= 0) {
|
||||
if (!await reg.syncTarget().syncStarted()) reg.scheduleSync();
|
||||
}
|
||||
|
||||
if (['EVENT_NOTE_ALARM_FIELD_CHANGE', 'NOTE_DELETE'].indexOf(action.type) >= 0) {
|
||||
await AlarmService.updateNoteNotification(action.id, action.type === 'NOTE_DELETE');
|
||||
if (["EVENT_NOTE_ALARM_FIELD_CHANGE", "NOTE_DELETE"].indexOf(action.type) >= 0) {
|
||||
await AlarmService.updateNoteNotification(action.id, action.type === "NOTE_DELETE");
|
||||
}
|
||||
|
||||
if (action.type == 'SETTING_UPDATE_ONE' && action.key == 'sync.interval' || action.type == 'SETTING_UPDATE_ALL') {
|
||||
if ((action.type == "SETTING_UPDATE_ONE" && action.key == "sync.interval") || action.type == "SETTING_UPDATE_ALL") {
|
||||
reg.setupRecurrentSync();
|
||||
}
|
||||
|
||||
if ((action.type == 'SETTING_UPDATE_ONE' && (action.key == 'dateFormat' || action.key == 'timeFormat')) || (action.type == 'SETTING_UPDATE_ALL')) {
|
||||
time.setDateFormat(Setting.value('dateFormat'));
|
||||
time.setTimeFormat(Setting.value('timeFormat'));
|
||||
if ((action.type == "SETTING_UPDATE_ONE" && (action.key == "dateFormat" || action.key == "timeFormat")) || action.type == "SETTING_UPDATE_ALL") {
|
||||
time.setDateFormat(Setting.value("dateFormat"));
|
||||
time.setTimeFormat(Setting.value("timeFormat"));
|
||||
}
|
||||
|
||||
if (action.type == 'SETTING_UPDATE_ONE' && action.key == 'locale' || action.type == 'SETTING_UPDATE_ALL') {
|
||||
setLocale(Setting.value('locale'));
|
||||
if ((action.type == "SETTING_UPDATE_ONE" && action.key == "locale") || action.type == "SETTING_UPDATE_ALL") {
|
||||
setLocale(Setting.value("locale"));
|
||||
}
|
||||
|
||||
if ((action.type == 'SETTING_UPDATE_ONE' && (action.key.indexOf('encryption.') === 0)) || (action.type == 'SETTING_UPDATE_ALL')) {
|
||||
if ((action.type == "SETTING_UPDATE_ONE" && action.key.indexOf("encryption.") === 0) || action.type == "SETTING_UPDATE_ALL") {
|
||||
await EncryptionService.instance().loadMasterKeysFromSettings();
|
||||
DecryptionWorker.instance().scheduleStart();
|
||||
const loadedMasterKeyIds = EncryptionService.instance().loadedMasterKeyIds();
|
||||
|
||||
storeDispatch({
|
||||
type: 'MASTERKEY_REMOVE_NOT_LOADED',
|
||||
type: "MASTERKEY_REMOVE_NOT_LOADED",
|
||||
ids: loadedMasterKeyIds,
|
||||
});
|
||||
|
||||
@@ -113,22 +114,22 @@ const generalMiddleware = store => next => async (action) => {
|
||||
reg.scheduleSync();
|
||||
}
|
||||
|
||||
if (action.type == 'NAV_GO' && action.routeName == 'Notes') {
|
||||
Setting.setValue('activeFolderId', newState.selectedFolderId);
|
||||
if (action.type == "NAV_GO" && action.routeName == "Notes") {
|
||||
Setting.setValue("activeFolderId", newState.selectedFolderId);
|
||||
}
|
||||
|
||||
if (action.type === 'SYNC_GOT_ENCRYPTED_ITEM') {
|
||||
if (action.type === "SYNC_GOT_ENCRYPTED_ITEM") {
|
||||
DecryptionWorker.instance().scheduleStart();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
let navHistory = [];
|
||||
|
||||
function historyCanGoBackTo(route) {
|
||||
if (route.routeName == 'Note') return false;
|
||||
if (route.routeName == 'Folder') return false;
|
||||
if (route.routeName == "Note") return false;
|
||||
if (route.routeName == "Folder") return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -136,8 +137,8 @@ function historyCanGoBackTo(route) {
|
||||
const appDefaultState = Object.assign({}, defaultState, {
|
||||
sideMenuOpenPercent: 0,
|
||||
route: {
|
||||
type: 'NAV_GO',
|
||||
routeName: 'Welcome',
|
||||
type: "NAV_GO",
|
||||
routeName: "Welcome",
|
||||
params: {},
|
||||
},
|
||||
noteSelectionEnabled: false,
|
||||
@@ -149,9 +150,7 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
|
||||
try {
|
||||
switch (action.type) {
|
||||
|
||||
case 'NAV_BACK':
|
||||
|
||||
case "NAV_BACK":
|
||||
if (!navHistory.length) break;
|
||||
|
||||
let newAction = null;
|
||||
@@ -164,12 +163,11 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
|
||||
historyGoingBack = true;
|
||||
|
||||
// Fall throught
|
||||
|
||||
case 'NAV_GO':
|
||||
// Fall throught
|
||||
|
||||
case "NAV_GO":
|
||||
const currentRoute = state.route;
|
||||
const currentRouteName = currentRoute ? currentRoute.routeName : '';
|
||||
const currentRouteName = currentRoute ? currentRoute.routeName : "";
|
||||
|
||||
if (!historyGoingBack && historyCanGoBackTo(currentRoute)) {
|
||||
// If the route *name* is the same (even if the other parameters are different), we
|
||||
@@ -195,27 +193,27 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
}
|
||||
}
|
||||
|
||||
if (action.routeName == 'Welcome') navHistory = [];
|
||||
if (action.routeName == "Welcome") navHistory = [];
|
||||
|
||||
//reg.logger().info('Route: ' + currentRouteName + ' => ' + action.routeName);
|
||||
|
||||
newState = Object.assign({}, state);
|
||||
|
||||
if ('noteId' in action) {
|
||||
if ("noteId" in action) {
|
||||
newState.selectedNoteIds = action.noteId ? [action.noteId] : [];
|
||||
}
|
||||
|
||||
if ('folderId' in action) {
|
||||
if ("folderId" in action) {
|
||||
newState.selectedFolderId = action.folderId;
|
||||
newState.notesParentType = 'Folder';
|
||||
newState.notesParentType = "Folder";
|
||||
}
|
||||
|
||||
if ('tagId' in action) {
|
||||
if ("tagId" in action) {
|
||||
newState.selectedTagId = action.tagId;
|
||||
newState.notesParentType = 'Tag';
|
||||
newState.notesParentType = "Tag";
|
||||
}
|
||||
|
||||
if ('itemType' in action) {
|
||||
if ("itemType" in action) {
|
||||
newState.selectedItemType = action.itemType;
|
||||
}
|
||||
|
||||
@@ -223,32 +221,27 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
newState.historyCanGoBack = !!navHistory.length;
|
||||
break;
|
||||
|
||||
case 'SIDE_MENU_TOGGLE':
|
||||
|
||||
case "SIDE_MENU_TOGGLE":
|
||||
newState = Object.assign({}, state);
|
||||
newState.showSideMenu = !newState.showSideMenu
|
||||
newState.showSideMenu = !newState.showSideMenu;
|
||||
break;
|
||||
|
||||
case 'SIDE_MENU_OPEN':
|
||||
|
||||
case "SIDE_MENU_OPEN":
|
||||
newState = Object.assign({}, state);
|
||||
newState.showSideMenu = true
|
||||
newState.showSideMenu = true;
|
||||
break;
|
||||
|
||||
case 'SIDE_MENU_CLOSE':
|
||||
|
||||
case "SIDE_MENU_CLOSE":
|
||||
newState = Object.assign({}, state);
|
||||
newState.showSideMenu = false
|
||||
newState.showSideMenu = false;
|
||||
break;
|
||||
|
||||
case 'SIDE_MENU_OPEN_PERCENT':
|
||||
|
||||
case "SIDE_MENU_OPEN_PERCENT":
|
||||
newState = Object.assign({}, state);
|
||||
newState.sideMenuOpenPercent = action.value;
|
||||
break;
|
||||
|
||||
case 'NOTE_SELECTION_TOGGLE':
|
||||
|
||||
case "NOTE_SELECTION_TOGGLE":
|
||||
newState = Object.assign({}, state);
|
||||
|
||||
const noteId = action.id;
|
||||
@@ -265,8 +258,7 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
newState.noteSelectionEnabled = !!newSelectedNoteIds.length;
|
||||
break;
|
||||
|
||||
case 'NOTE_SELECTION_START':
|
||||
|
||||
case "NOTE_SELECTION_START":
|
||||
if (!state.noteSelectionEnabled) {
|
||||
newState = Object.assign({}, state);
|
||||
newState.noteSelectionEnabled = true;
|
||||
@@ -274,22 +266,19 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
}
|
||||
break;
|
||||
|
||||
case 'NOTE_SELECTION_END':
|
||||
|
||||
case "NOTE_SELECTION_END":
|
||||
newState = Object.assign({}, state);
|
||||
newState.noteSelectionEnabled = false;
|
||||
newState.selectedNoteIds = [];
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
} catch (error) {
|
||||
error.message = 'In reducer: ' + error.message + ' Action: ' + JSON.stringify(action);
|
||||
error.message = "In reducer: " + error.message + " Action: " + JSON.stringify(action);
|
||||
throw error;
|
||||
}
|
||||
|
||||
return reducer(newState, action);
|
||||
}
|
||||
};
|
||||
|
||||
let store = createStore(appReducer, applyMiddleware(generalMiddleware));
|
||||
storeDispatch = store.dispatch;
|
||||
@@ -297,35 +286,37 @@ storeDispatch = store.dispatch;
|
||||
async function initialize(dispatch) {
|
||||
shimInit();
|
||||
|
||||
Setting.setConstant('env', __DEV__ ? 'dev' : 'prod');
|
||||
Setting.setConstant('appId', 'net.cozic.joplin-mobile');
|
||||
Setting.setConstant('appType', 'mobile');
|
||||
Setting.setConstant("env", __DEV__ ? "dev" : "prod");
|
||||
Setting.setConstant("appId", "net.cozic.joplin-mobile");
|
||||
Setting.setConstant("appType", "mobile");
|
||||
//Setting.setConstant('resourceDir', () => { return RNFetchBlob.fs.dirs.DocumentDir; });
|
||||
Setting.setConstant('resourceDir', RNFetchBlob.fs.dirs.DocumentDir);
|
||||
Setting.setConstant("resourceDir", RNFetchBlob.fs.dirs.DocumentDir);
|
||||
|
||||
const logDatabase = new Database(new DatabaseDriverReactNative());
|
||||
await logDatabase.open({ name: 'log.sqlite' });
|
||||
await logDatabase.open({ name: "log.sqlite" });
|
||||
await logDatabase.exec(Logger.databaseCreateTableSql());
|
||||
|
||||
const mainLogger = new Logger();
|
||||
mainLogger.addTarget('database', { database: logDatabase, source: 'm' });
|
||||
mainLogger.addTarget("database", { database: logDatabase, source: "m" });
|
||||
mainLogger.setLevel(Logger.LEVEL_INFO);
|
||||
|
||||
if (Setting.value('env') == 'dev') {
|
||||
mainLogger.addTarget('console');
|
||||
|
||||
if (Setting.value("env") == "dev") {
|
||||
mainLogger.addTarget("console");
|
||||
mainLogger.setLevel(Logger.LEVEL_DEBUG);
|
||||
}
|
||||
|
||||
reg.setLogger(mainLogger);
|
||||
reg.setShowErrorMessageBoxHandler((message) => { alert(message) });
|
||||
reg.setShowErrorMessageBoxHandler(message => {
|
||||
alert(message);
|
||||
});
|
||||
|
||||
reg.logger().info('====================================');
|
||||
reg.logger().info('Starting application ' + Setting.value('appId') + ' (' + Setting.value('env') + ')');
|
||||
reg.logger().info("====================================");
|
||||
reg.logger().info("Starting application " + Setting.value("appId") + " (" + Setting.value("env") + ")");
|
||||
|
||||
const dbLogger = new Logger();
|
||||
dbLogger.addTarget('database', { database: logDatabase, source: 'm' });
|
||||
if (Setting.value('env') == 'dev') {
|
||||
dbLogger.addTarget('console');
|
||||
dbLogger.addTarget("database", { database: logDatabase, source: "m" });
|
||||
if (Setting.value("env") == "dev") {
|
||||
dbLogger.addTarget("console");
|
||||
dbLogger.setLevel(Logger.LEVEL_INFO); // Set to LEVEL_DEBUG for full SQL queries
|
||||
} else {
|
||||
dbLogger.setLevel(Logger.LEVEL_INFO);
|
||||
@@ -342,12 +333,12 @@ async function initialize(dispatch) {
|
||||
NavService.dispatch = dispatch;
|
||||
BaseModel.db_ = db;
|
||||
|
||||
BaseItem.loadClass('Note', Note);
|
||||
BaseItem.loadClass('Folder', Folder);
|
||||
BaseItem.loadClass('Resource', Resource);
|
||||
BaseItem.loadClass('Tag', Tag);
|
||||
BaseItem.loadClass('NoteTag', NoteTag);
|
||||
BaseItem.loadClass('MasterKey', MasterKey);
|
||||
BaseItem.loadClass("Note", Note);
|
||||
BaseItem.loadClass("Folder", Folder);
|
||||
BaseItem.loadClass("Resource", Resource);
|
||||
BaseItem.loadClass("Tag", Tag);
|
||||
BaseItem.loadClass("NoteTag", NoteTag);
|
||||
BaseItem.loadClass("MasterKey", MasterKey);
|
||||
|
||||
const fsDriver = new FsDriverRN();
|
||||
|
||||
@@ -358,10 +349,10 @@ async function initialize(dispatch) {
|
||||
AlarmService.setLogger(mainLogger);
|
||||
|
||||
try {
|
||||
if (Setting.value('env') == 'prod') {
|
||||
await db.open({ name: 'joplin.sqlite' })
|
||||
if (Setting.value("env") == "prod") {
|
||||
await db.open({ name: "joplin.sqlite" });
|
||||
} else {
|
||||
await db.open({ name: 'joplin-68.sqlite' })
|
||||
await db.open({ name: "joplin-68.sqlite" });
|
||||
//await db.open({ name: 'joplin-67.sqlite' })
|
||||
|
||||
// await db.exec('DELETE FROM notes');
|
||||
@@ -374,21 +365,21 @@ async function initialize(dispatch) {
|
||||
// await db.exec('UPDATE notes SET is_conflict = 1 where id like "546f%"');
|
||||
}
|
||||
|
||||
reg.logger().info('Database is ready.');
|
||||
reg.logger().info('Loading settings...');
|
||||
reg.logger().info("Database is ready.");
|
||||
reg.logger().info("Loading settings...");
|
||||
await Setting.load();
|
||||
|
||||
if (Setting.value('firstStart')) {
|
||||
let locale = NativeModules.I18nManager.localeIdentifier
|
||||
if (Setting.value("firstStart")) {
|
||||
let locale = NativeModules.I18nManager.localeIdentifier;
|
||||
if (!locale) locale = defaultLocale();
|
||||
Setting.setValue('locale', closestSupportedLocale(locale));
|
||||
if (Setting.value('env') === 'dev') Setting.setValue('sync.target', SyncTargetRegistry.nameToId('onedrive_dev'));
|
||||
Setting.setValue('firstStart', 0)
|
||||
Setting.setValue("locale", closestSupportedLocale(locale));
|
||||
if (Setting.value("env") === "dev") Setting.setValue("sync.target", SyncTargetRegistry.nameToId("onedrive_dev"));
|
||||
Setting.setValue("firstStart", 0);
|
||||
}
|
||||
|
||||
reg.logger().info('Sync target: ' + Setting.value('sync.target'));
|
||||
reg.logger().info("Sync target: " + Setting.value("sync.target"));
|
||||
|
||||
setLocale(Setting.value('locale'));
|
||||
setLocale(Setting.value("locale"));
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// E2EE SETUP
|
||||
@@ -406,43 +397,43 @@ async function initialize(dispatch) {
|
||||
// / E2EE SETUP
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
reg.logger().info('Loading folders...');
|
||||
reg.logger().info("Loading folders...");
|
||||
|
||||
await FoldersScreenUtils.refreshFolders();
|
||||
|
||||
const tags = await Tag.all();
|
||||
|
||||
dispatch({
|
||||
type: 'TAG_UPDATE_ALL',
|
||||
type: "TAG_UPDATE_ALL",
|
||||
items: tags,
|
||||
});
|
||||
|
||||
const masterKeys = await MasterKey.all();
|
||||
|
||||
dispatch({
|
||||
type: 'MASTERKEY_UPDATE_ALL',
|
||||
type: "MASTERKEY_UPDATE_ALL",
|
||||
items: masterKeys,
|
||||
});
|
||||
|
||||
let folderId = Setting.value('activeFolderId');
|
||||
let folderId = Setting.value("activeFolderId");
|
||||
let folder = await Folder.load(folderId);
|
||||
|
||||
if (!folder) folder = await Folder.defaultFolder();
|
||||
|
||||
if (!folder) {
|
||||
dispatch({
|
||||
type: 'NAV_GO',
|
||||
routeName: 'Welcome',
|
||||
type: "NAV_GO",
|
||||
routeName: "Welcome",
|
||||
});
|
||||
} else {
|
||||
dispatch({
|
||||
type: 'NAV_GO',
|
||||
routeName: 'Notes',
|
||||
type: "NAV_GO",
|
||||
routeName: "Notes",
|
||||
folderId: folder.id,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
reg.logger().error('Initialization error:', error);
|
||||
reg.logger().error("Initialization error:", error);
|
||||
}
|
||||
|
||||
reg.setupRecurrentSync();
|
||||
@@ -459,67 +450,66 @@ async function initialize(dispatch) {
|
||||
DecryptionWorker.instance().scheduleStart();
|
||||
});
|
||||
|
||||
reg.logger().info('Application initialized');
|
||||
reg.logger().info("Application initialized");
|
||||
}
|
||||
|
||||
class AppComponent extends React.Component {
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.lastSyncStarted_ = defaultState.syncStarted;
|
||||
|
||||
this.backButtonHandler_ = () => {
|
||||
return this.backButtonHandler();
|
||||
}
|
||||
};
|
||||
|
||||
this.onAppStateChange_ = () => {
|
||||
PoorManIntervals.update();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
async componentDidMount() {
|
||||
if (this.props.appState == 'starting') {
|
||||
if (this.props.appState == "starting") {
|
||||
this.props.dispatch({
|
||||
type: 'APP_STATE_SET',
|
||||
state: 'initializing',
|
||||
type: "APP_STATE_SET",
|
||||
state: "initializing",
|
||||
});
|
||||
|
||||
await initialize(this.props.dispatch);
|
||||
|
||||
this.props.dispatch({
|
||||
type: 'APP_STATE_SET',
|
||||
state: 'ready',
|
||||
type: "APP_STATE_SET",
|
||||
state: "ready",
|
||||
});
|
||||
}
|
||||
|
||||
BackButtonService.initialize(this.backButtonHandler_);
|
||||
|
||||
AlarmService.setInAppNotificationHandler(async (alarmId) => {
|
||||
AlarmService.setInAppNotificationHandler(async alarmId => {
|
||||
const alarm = await Alarm.load(alarmId);
|
||||
const notification = await Alarm.makeNotification(alarm);
|
||||
this.dropdownAlert_.alertWithType('info', notification.title, notification.body ? notification.body : '');
|
||||
this.dropdownAlert_.alertWithType("info", notification.title, notification.body ? notification.body : "");
|
||||
});
|
||||
|
||||
AppState.addEventListener('change', this.onAppStateChange_);
|
||||
AppState.addEventListener("change", this.onAppStateChange_);
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
AppState.removeEventListener('change', this.onAppStateChange_);
|
||||
AppState.removeEventListener("change", this.onAppStateChange_);
|
||||
}
|
||||
|
||||
async backButtonHandler() {
|
||||
if (this.props.noteSelectionEnabled) {
|
||||
this.props.dispatch({ type: 'NOTE_SELECTION_END' });
|
||||
this.props.dispatch({ type: "NOTE_SELECTION_END" });
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this.props.showSideMenu) {
|
||||
this.props.dispatch({ type: 'SIDE_MENU_CLOSE' });
|
||||
this.props.dispatch({ type: "SIDE_MENU_CLOSE" });
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this.props.historyCanGoBack) {
|
||||
this.props.dispatch({ type: 'NAV_BACK' });
|
||||
this.props.dispatch({ type: "NAV_BACK" });
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -539,14 +529,18 @@ class AppComponent extends React.Component {
|
||||
// Make sure showSideMenu property of state is updated
|
||||
// when the menu is open/closed.
|
||||
this.props.dispatch({
|
||||
type: isOpen ? 'SIDE_MENU_OPEN' : 'SIDE_MENU_CLOSE',
|
||||
type: isOpen ? "SIDE_MENU_OPEN" : "SIDE_MENU_CLOSE",
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
if (this.props.appState != 'ready') return null;
|
||||
if (this.props.appState != "ready") return null;
|
||||
|
||||
const sideMenuContent = <SafeAreaView style={{flex:1}}><SideMenuContent/></SafeAreaView>;
|
||||
const sideMenuContent = (
|
||||
<SafeAreaView style={{ flex: 1 }}>
|
||||
<SideMenuContent />
|
||||
</SafeAreaView>
|
||||
);
|
||||
|
||||
const appNavInit = {
|
||||
Welcome: { screen: WelcomeScreen },
|
||||
@@ -564,26 +558,26 @@ class AppComponent extends React.Component {
|
||||
return (
|
||||
<SideMenu
|
||||
menu={sideMenuContent}
|
||||
onChange={(isOpen) => this.sideMenu_change(isOpen)}
|
||||
onSliding={(percent) => {
|
||||
onChange={isOpen => this.sideMenu_change(isOpen)}
|
||||
onSliding={percent => {
|
||||
this.props.dispatch({
|
||||
type: 'SIDE_MENU_OPEN_PERCENT',
|
||||
type: "SIDE_MENU_OPEN_PERCENT",
|
||||
value: percent,
|
||||
});
|
||||
}}
|
||||
>
|
||||
>
|
||||
<MenuContext style={{ flex: 1 }}>
|
||||
<SafeAreaView style={{flex:1}}>
|
||||
<SafeAreaView style={{ flex: 1 }}>
|
||||
<AppNav screens={appNavInit} />
|
||||
</SafeAreaView>
|
||||
<DropdownAlert ref={ref => this.dropdownAlert_ = ref} tapToCloseEnabled={true} />
|
||||
<DropdownAlert ref={ref => (this.dropdownAlert_ = ref)} tapToCloseEnabled={true} />
|
||||
</MenuContext>
|
||||
</SideMenu>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const mapStateToProps = state => {
|
||||
return {
|
||||
historyCanGoBack: state.historyCanGoBack,
|
||||
showSideMenu: state.showSideMenu,
|
||||
@@ -599,10 +593,10 @@ class Root extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<App/>
|
||||
<App />
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { Root };
|
||||
module.exports = { Root };
|
||||
|
||||
Reference in New Issue
Block a user