From d1ae1b1f023cd5c8a146b33628f5ea5b36ee4dc2 Mon Sep 17 00:00:00 2001 From: funzin Date: Sun, 19 Jan 2020 18:34:03 +0900 Subject: [PATCH 1/4] Add getStorageItemId --- src/lib/nav.ts | 8 ++++++-- src/lib/specs/nav.spec.ts | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/lib/specs/nav.spec.ts diff --git a/src/lib/nav.ts b/src/lib/nav.ts index e3cbecdef9..e76540c420 100644 --- a/src/lib/nav.ts +++ b/src/lib/nav.ts @@ -1,7 +1,11 @@ +export function getStorageItemId(storageId: string) { + return `storage:${storageId}` +} + export function getFolderItemId(storageId: string, folderPathname: string) { - return `storage:${storageId}/folder:${folderPathname}` + return `${getStorageItemId(storageId)}/folder:${folderPathname}` } export function getTagListItemId(storageId: string) { - return `storage:${storageId}/tags` + return `${getStorageItemId(storageId)}/tags` } diff --git a/src/lib/specs/nav.spec.ts b/src/lib/specs/nav.spec.ts new file mode 100644 index 0000000000..38209ffc98 --- /dev/null +++ b/src/lib/specs/nav.spec.ts @@ -0,0 +1,23 @@ +import { + getStorageItemId, + getFolderItemId, + getTagListItemId +} from '../nav' + +describe('getStorageItemId', () => { + it('returns a correct storage path', () => { + expect(getStorageItemId("test_storage")).toBe("storage:test_storage") + }) +}) + +describe('getFolderItemId', () => { + it('returns a correct folder item path', () => { + expect(getFolderItemId("test_storage", "test_folder")).toBe("storage:test_storage/folder:test_folder") + }) +}) + +describe('getTagListItemId', () => { + it('returns a correct tags path', () => { + expect(getTagListItemId("test_storage")).toBe("storage:test_storage/tags") + }) +}) \ No newline at end of file From ec1d947f93e9afbdf1db46bed63db0fca41d7856 Mon Sep 17 00:00:00 2001 From: funzin Date: Sun, 19 Jan 2020 18:35:16 +0900 Subject: [PATCH 2/4] Push storage id to itemIdListToOpen in advance --- src/lib/generalStatus.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/generalStatus.ts b/src/lib/generalStatus.ts index 3d73f45783..8105000d59 100644 --- a/src/lib/generalStatus.ts +++ b/src/lib/generalStatus.ts @@ -3,7 +3,7 @@ import { localLiteStorage } from 'ltstrg' import { useSetState } from 'react-use' import { generalStatusKey } from './localStorageKeys' import { createStoreContext } from './context' -import { getFolderItemId } from './nav' +import { getFolderItemId, getStorageItemId } from './nav' export type ViewModeType = 'edit' | 'preview' | 'split' @@ -91,6 +91,7 @@ function useGeneralStatusStore() { const folderPathElements = folderPathname.slice(1).split('/') const itemIdListToOpen = [] let currentPathname = '' + itemIdListToOpen.push(getStorageItemId(storageId)) for (const element of folderPathElements) { currentPathname = `${currentPathname}/${element}` itemIdListToOpen.push(getFolderItemId(storageId, currentPathname)) From 537f9acbe04f59d1bfcb330cd64ad3933bbe4293 Mon Sep 17 00:00:00 2001 From: funzin Date: Sun, 19 Jan 2020 18:37:20 +0900 Subject: [PATCH 3/4] Use getStorageItemId --- src/components/SideNavigator/SideNavigator.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/SideNavigator/SideNavigator.tsx b/src/components/SideNavigator/SideNavigator.tsx index 9539409ba4..87effb833a 100644 --- a/src/components/SideNavigator/SideNavigator.tsx +++ b/src/components/SideNavigator/SideNavigator.tsx @@ -31,6 +31,7 @@ import { IconBook, IconStarActive } from '../icons' +import { getStorageItemId } from '../../lib/nav' const Description = styled.nav` margin-left: 15px; @@ -212,7 +213,7 @@ export default () => {
{storageEntries.map(([, storage]) => { - const itemId = `storage:${storage.id}` + const itemId = getStorageItemId(storage.id) const storageIsFolded = !sideNavOpenedItemSet.has(itemId) const showPromptToCreateFolder = (folderPathname: string) => { prompt({ From 8d17346e36c95f41474a5ca6bbe2720a7f9650c8 Mon Sep 17 00:00:00 2001 From: Junyoung Choi Date: Wed, 5 Feb 2020 16:31:17 +0900 Subject: [PATCH 4/4] Format --- src/lib/specs/nav.spec.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/lib/specs/nav.spec.ts b/src/lib/specs/nav.spec.ts index 38209ffc98..eb36863f37 100644 --- a/src/lib/specs/nav.spec.ts +++ b/src/lib/specs/nav.spec.ts @@ -1,23 +1,21 @@ -import { - getStorageItemId, - getFolderItemId, - getTagListItemId -} from '../nav' +import { getStorageItemId, getFolderItemId, getTagListItemId } from '../nav' describe('getStorageItemId', () => { it('returns a correct storage path', () => { - expect(getStorageItemId("test_storage")).toBe("storage:test_storage") + expect(getStorageItemId('test_storage')).toBe('storage:test_storage') }) }) describe('getFolderItemId', () => { it('returns a correct folder item path', () => { - expect(getFolderItemId("test_storage", "test_folder")).toBe("storage:test_storage/folder:test_folder") + expect(getFolderItemId('test_storage', 'test_folder')).toBe( + 'storage:test_storage/folder:test_folder' + ) }) }) describe('getTagListItemId', () => { it('returns a correct tags path', () => { - expect(getTagListItemId("test_storage")).toBe("storage:test_storage/tags") + expect(getTagListItemId('test_storage')).toBe('storage:test_storage/tags') }) -}) \ No newline at end of file +})