From 440661c076ab243a66d6f056d41b8d2d2e2b8330 Mon Sep 17 00:00:00 2001 From: NejcZdovc Date: Mon, 21 Aug 2017 13:38:05 +0200 Subject: [PATCH] Fixes Other bookmarks not being usable Resolves #10157 Resovles #4202 Auditors: Test Plan: --- app/common/state/bookmarkFoldersState.js | 8 ++++---- app/common/state/bookmarksState.js | 12 ++++++++---- .../bookmarks/addEditBookmarkFolderForm.js | 3 ++- .../components/bookmarks/addEditBookmarkForm.js | 3 ++- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/common/state/bookmarkFoldersState.js b/app/common/state/bookmarkFoldersState.js index 49046a08a03..1ef80f249a1 100644 --- a/app/common/state/bookmarkFoldersState.js +++ b/app/common/state/bookmarkFoldersState.js @@ -61,7 +61,7 @@ const bookmarkFoldersState = { title: folderDetails.get('title'), folderId: ~~key, key: key.toString(), - parentFolderId: ~~folderDetails.get('parentFolderId', 0), + parentFolderId: Number(folderDetails.get('parentFolderId', 0)), partitionNumber: ~~folderDetails.get('partitionNumber', 0), objectId: folderDetails.get('objectId', null), type: siteTags.BOOKMARK_FOLDER, @@ -83,7 +83,7 @@ const bookmarkFoldersState = { const newFolder = oldFolder.merge(makeImmutable({ title: folderDetails.get('title'), - parentFolderId: ~~folderDetails.get('parentFolderId', 0) + parentFolderId: Number(folderDetails.get('parentFolderId', 0)) })) if (oldFolder.get('parentFolderId') !== newFolder.get('parentFolderId')) { @@ -108,7 +108,7 @@ const bookmarkFoldersState = { syncActions.removeSites([folder.toJS()]) } - folders.filter(folder => folder.get('parentFolderId') === ~~folderKey) + folders.filter(folder => folder.get('parentFolderId') === Number(folderKey)) .map(folder => { state = bookmarksState.removeBookmarksByParentId(state, folder.get('folderId')) state = bookmarkFoldersState.removeFolder(state, folder.get('folderId')) @@ -168,7 +168,7 @@ const bookmarkFoldersState = { : destinationItem.get('folderId') state = bookmarkOrderCache.removeCacheKey(state, folder.get('parentFolderId'), folderKey) - folder = folder.set('parentFolderId', ~~parentFolderId) + folder = folder.set('parentFolderId', Number(parentFolderId)) const newKey = bookmarkFoldersUtil.getKey(folder) state = state.deleteIn([STATE_SITES.BOOKMARK_FOLDERS, folderKey]) state = bookmarkOrderCache.addFolderToCache(state, folder.get('parentFolderId'), newKey) diff --git a/app/common/state/bookmarksState.js b/app/common/state/bookmarksState.js index 6d0b38c2a27..bf0f63d4866 100644 --- a/app/common/state/bookmarksState.js +++ b/app/common/state/bookmarksState.js @@ -116,7 +116,7 @@ const bookmarksState = { let bookmark = makeImmutable({ title: bookmarkDetail.get('title', ''), location: bookmarkDetail.get('location'), - parentFolderId: ~~bookmarkDetail.get('parentFolderId', 0), + parentFolderId: Number(bookmarkDetail.get('parentFolderId', 0)), partitionNumber: ~~dataItem.get('partitionNumber', 0), objectId: bookmarkDetail.get('objectId', null), favicon: dataItem.get('favicon'), @@ -210,7 +210,7 @@ const bookmarksState = { const removedBookmarks = [] const bookmarks = bookmarksState.getBookmarks(state) .filter(bookmark => { - if (bookmark.get('parentFolderId') !== ~~parentFolderId) { + if (bookmark.get('parentFolderId') !== Number(parentFolderId)) { return true } if (syncEnabled) { @@ -265,12 +265,16 @@ const bookmarksState = { // move bookmark into a new folder if (moveIntoParent || destinationItem.get('parentFolderId') !== bookmark.get('parentFolderId')) { - const parentFolderId = destinationItem.get('type') === siteTags.BOOKMARK + let parentFolderId = destinationItem.get('type') === siteTags.BOOKMARK ? destinationItem.get('parentFolderId') : destinationItem.get('folderId') + if (parentFolderId == null) { + parentFolderId = destinationKey + } + state = bookmarkOrderCache.removeCacheKey(state, bookmark.get('parentFolderId'), bookmarkKey) - bookmark = bookmark.set('parentFolderId', ~~parentFolderId) + bookmark = bookmark.set('parentFolderId', Number(parentFolderId)) const newKey = bookmarkUtil.getKey(bookmark) state = state.deleteIn([STATE_SITES.BOOKMARKS, bookmarkKey]) state = bookmarkOrderCache.addBookmarkToCache(state, bookmark.get('parentFolderId'), newKey) diff --git a/app/renderer/components/bookmarks/addEditBookmarkFolderForm.js b/app/renderer/components/bookmarks/addEditBookmarkFolderForm.js index 5d015c851a1..ff49e9fd134 100644 --- a/app/renderer/components/bookmarks/addEditBookmarkFolderForm.js +++ b/app/renderer/components/bookmarks/addEditBookmarkFolderForm.js @@ -89,7 +89,7 @@ class AddEditBookmarkFolderForm extends React.Component { onParentFolderChange (e) { this.setState({ - parentFolderId: ~~e.target.value + parentFolderId: Number(e.target.value) }) } @@ -185,6 +185,7 @@ class AddEditBookmarkFolderForm extends React.Component { defaultValue={this.state.parentFolderId} onChange={this.onParentFolderChange} > ) } diff --git a/app/renderer/components/bookmarks/addEditBookmarkForm.js b/app/renderer/components/bookmarks/addEditBookmarkForm.js index d7ed82dcb2c..7765583c0fc 100644 --- a/app/renderer/components/bookmarks/addEditBookmarkForm.js +++ b/app/renderer/components/bookmarks/addEditBookmarkForm.js @@ -100,7 +100,7 @@ class AddEditBookmarkForm extends React.Component { onParentFolderChange (e) { this.setState({ - parentFolderId: ~~e.target.value + parentFolderId: Number(e.target.value) }) } @@ -221,6 +221,7 @@ class AddEditBookmarkForm extends React.Component { defaultValue={this.state.parentFolderId} onChange={this.onParentFolderChange} > ) }