From 78ef250ee1d85486c3bff778a5b68f4588d67ebf Mon Sep 17 00:00:00 2001 From: "biqing.hu" Date: Fri, 5 Aug 2022 23:24:42 +0800 Subject: [PATCH 1/3] feat: page-tree code style --- .../src/services/workspace/page-tree.ts | 158 +++++++++--------- 1 file changed, 79 insertions(+), 79 deletions(-) diff --git a/libs/datasource/db-service/src/services/workspace/page-tree.ts b/libs/datasource/db-service/src/services/workspace/page-tree.ts index 89e85b9998..db7edb73ff 100644 --- a/libs/datasource/db-service/src/services/workspace/page-tree.ts +++ b/libs/datasource/db-service/src/services/workspace/page-tree.ts @@ -7,22 +7,22 @@ import { TreeItem } from './types'; export type ObserveCallback = () => void; export class PageTree extends ServiceBaseClass { - private async fetch_page_tree(workspace: string) { - const workspace_db_block = await this.getWorkspaceDbBlock(workspace); - const page_tree_config = - workspace_db_block.getDecoration(PAGE_TREE); - return page_tree_config; + private async fetchPageTree(workspace: string) { + const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); + const PAGE_TREEConfig = + workspaceDbBlock.getDecoration(PAGE_TREE); + return PAGE_TREEConfig; } async getPageTree(workspace: string): Promise { try { - const page_tree = await this.fetch_page_tree(workspace); - if (page_tree && page_tree.length) { + const PAGE_TREE = await this.fetchPageTree(workspace); + if (PAGE_TREE && PAGE_TREE.length) { const db = await this.database.getDatabase(workspace); - const pages = await update_tree_items_title( + const pages = await updateTreeItemsTitle( db, - page_tree as [], + PAGE_TREE as [], {} ); return pages; @@ -36,8 +36,8 @@ export class PageTree extends ServiceBaseClass { /** @deprecated should implement more fine-grained crud methods instead of replacing each time with a new array */ async setPageTree(workspace: string, treeData: TreeItem[]) { - const workspace_db_block = await this.getWorkspaceDbBlock(workspace); - workspace_db_block.setDecoration(PAGE_TREE, treeData); + const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); + workspaceDbBlock.setDecoration(PAGE_TREE, treeData); } async addPage(workspace: string, treeData: TreeItem[] | string) { @@ -52,109 +52,109 @@ export class PageTree extends ServiceBaseClass { } async addPageToWorkspacee( - target_workspace_id: string, - new_page_id: string + targetWorkspaceId: string, + newPageId: string ) { - const items = await this.getPageTree(target_workspace_id); - await this.setPageTree(target_workspace_id, [ - { id: new_page_id, children: [] }, + const items = await this.getPageTree(targetWorkspaceId); + await this.setPageTree(targetWorkspaceId, [ + { id: newPageId, children: [] }, ...items, ]); } async addChildPageToWorkspace( - target_workspace_id: string, - parent_page_id: string, - new_page_id: string + targetWorkspaceId: string, + parentPageId: string, + newPageId: string ) { - const pages = await this.getPageTree(target_workspace_id); - this.build_items_for_child_page(parent_page_id, new_page_id, pages); + const pages = await this.getPageTree(targetWorkspaceId); + this.buildItemsForChildPage(parentPageId, newPageId, pages); - await this.setPageTree(target_workspace_id, [...pages]); + await this.setPageTree(targetWorkspaceId, [...pages]); } async addPrevPageToWorkspace( - target_workspace_id: string, - parent_page_id: string, - new_page_id: string + targetWorkspaceId: string, + parentPageId: string, + newPageId: string ) { - const pages = await this.getPageTree(target_workspace_id); - this.build_items_for_prev_page(parent_page_id, new_page_id, pages); - await this.setPageTree(target_workspace_id, [...pages]); + const pages = await this.getPageTree(targetWorkspaceId); + this.buildItemsForPrevPage(parentPageId, newPageId, pages); + await this.setPageTree(targetWorkspaceId, [...pages]); } async addNextPageToWorkspace( - target_workspace_id: string, - parent_page_id: string, - new_page_id: string + targetWorkspaceId: string, + parentPageId: string, + newPageId: string ) { - const pages = await this.getPageTree(target_workspace_id); - this.build_items_for_next_page(parent_page_id, new_page_id, pages); - await this.setPageTree(target_workspace_id, [...pages]); + const pages = await this.getPageTree(targetWorkspaceId); + this.buildItemsForNextPage(parentPageId, newPageId, pages); + await this.setPageTree(targetWorkspaceId, [...pages]); } - private build_items_for_next_page( - parent_page_id: string, - new_page_id: string, + private buildItemsForNextPage( + parentPageId: string, + newPageId: string, children: TreeItem[] ) { for (let i = 0; i < children.length; i++) { - const child_page = children[i]; - if (child_page.id === parent_page_id) { - const new_page = { - id: new_page_id, + const childPage = children[i]; + if (childPage.id === parentPageId) { + const newPage = { + id: newPageId, title: 'Untitled', children: [] as TreeItem[], }; - children = children.splice(i + 1, 0, new_page); - } else if (child_page.children && child_page.children.length) { - this.build_items_for_next_page( - parent_page_id, - new_page_id, - child_page.children + children = children.splice(i + 1, 0, newPage); + } else if (childPage.children && childPage.children.length) { + this.buildItemsForNextPage( + parentPageId, + newPageId, + childPage.children ); } } } - private build_items_for_prev_page( - parent_page_id: string, - new_page_id: string, + private buildItemsForPrevPage( + parentPageId: string, + newPageId: string, children: TreeItem[] ) { for (let i = 0; i < children.length; i++) { - const child_page = children[i]; - if (child_page.id === parent_page_id) { - const new_page = { - id: new_page_id, + const childPage = children[i]; + if (childPage.id === parentPageId) { + const newPage = { + id: newPageId, title: 'Untitled', children: [] as TreeItem[], }; - children = children.splice(i - 1, 0, new_page); - } else if (child_page.children && child_page.children.length) { - this.build_items_for_prev_page( - parent_page_id, - new_page_id, - child_page.children + children = children.splice(i - 1, 0, newPage); + } else if (childPage.children && childPage.children.length) { + this.buildItemsForPrevPage( + parentPageId, + newPageId, + childPage.children ); } } } - private build_items_for_child_page( - parent_page_id: string, - new_page_id: string, + private buildItemsForChildPage( + parentPageId: string, + newPageId: string, children: TreeItem[] ) { for (let i = 0; i < children.length; i++) { - const child_page = children[i]; - if (child_page.id === parent_page_id) { - child_page.children = child_page.children || []; - child_page.children.push({ - id: new_page_id, + const childPage = children[i]; + if (childPage.id === parentPageId) { + childPage.children = childPage.children || []; + childPage.children.push({ + id: newPageId, title: 'Untitled', children: [], }); - } else if (child_page.children && child_page.children.length) { - this.build_items_for_child_page( - parent_page_id, - new_page_id, - child_page.children + } else if (childPage.children && childPage.children.length) { + this.buildItemsForChildPage( + parentPageId, + newPageId, + childPage.children ); } } @@ -164,10 +164,10 @@ export class PageTree extends ServiceBaseClass { { workspace, page }: { workspace: string; page: string }, callback: ObserveCallback ): Promise { - const workspace_db_block = await this.getWorkspaceDbBlock(workspace); + const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); const unobserveWorkspace = await this._observe( workspace, - workspace_db_block.id, + workspaceDbBlock.id, (states, block) => { callback(); } @@ -187,12 +187,12 @@ export class PageTree extends ServiceBaseClass { } async unobserve({ workspace }: { workspace: string }) { - const workspace_db_block = await this.getWorkspaceDbBlock(workspace); - await this._unobserve(workspace, workspace_db_block.id); + const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); + await this._unobserve(workspace, workspaceDbBlock.id); } } -async function update_tree_items_title< +async function updateTreeItemsTitle< TreeItem extends { id: string; title: string; children: TreeItem[] } >( db: BlockClientInstance, @@ -213,7 +213,7 @@ async function update_tree_items_title< } if (item.children.length) { - item.children = await update_tree_items_title( + item.children = await updateTreeItemsTitle( db, item.children, cache From 93c460f6a519e8e22d287b779683796216b651a6 Mon Sep 17 00:00:00 2001 From: "biqing.hu" Date: Fri, 5 Aug 2022 23:34:31 +0800 Subject: [PATCH 2/3] feat: pageTreeName --- .../src/services/workspace/page-tree.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libs/datasource/db-service/src/services/workspace/page-tree.ts b/libs/datasource/db-service/src/services/workspace/page-tree.ts index db7edb73ff..baf3d080f1 100644 --- a/libs/datasource/db-service/src/services/workspace/page-tree.ts +++ b/libs/datasource/db-service/src/services/workspace/page-tree.ts @@ -1,5 +1,5 @@ import type { BlockClientInstance } from '@toeverything/datasource/jwt'; -import { PAGE_TREE } from '../../utils'; +import { PAGE_TREE as pageTreeName } from '../../utils'; import type { ReturnUnobserve } from '../database/observer'; import { ServiceBaseClass } from '../base'; import { TreeItem } from './types'; @@ -9,20 +9,20 @@ export type ObserveCallback = () => void; export class PageTree extends ServiceBaseClass { private async fetchPageTree(workspace: string) { const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); - const PAGE_TREEConfig = - workspaceDbBlock.getDecoration(PAGE_TREE); - return PAGE_TREEConfig; + const pageTreeConfig = + workspaceDbBlock.getDecoration(pageTreeName); + return pageTreeConfig; } async getPageTree(workspace: string): Promise { try { - const PAGE_TREE = await this.fetchPageTree(workspace); - if (PAGE_TREE && PAGE_TREE.length) { + const pageTree = await this.fetchPageTree(workspace); + if (pageTree && pageTree.length) { const db = await this.database.getDatabase(workspace); const pages = await updateTreeItemsTitle( db, - PAGE_TREE as [], + pageTree as [], {} ); return pages; @@ -37,7 +37,7 @@ export class PageTree extends ServiceBaseClass { /** @deprecated should implement more fine-grained crud methods instead of replacing each time with a new array */ async setPageTree(workspace: string, treeData: TreeItem[]) { const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); - workspaceDbBlock.setDecoration(PAGE_TREE, treeData); + workspaceDbBlock.setDecoration(pageTreeName, treeData); } async addPage(workspace: string, treeData: TreeItem[] | string) { From 16756e770eee4f942da779d4ba027f9da797dd8a Mon Sep 17 00:00:00 2001 From: "biqing.hu" Date: Sat, 6 Aug 2022 18:35:23 +0800 Subject: [PATCH 3/3] feat: add underscore --- .../src/services/workspace/page-tree.ts | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/libs/datasource/db-service/src/services/workspace/page-tree.ts b/libs/datasource/db-service/src/services/workspace/page-tree.ts index baf3d080f1..9b4a348c2f 100644 --- a/libs/datasource/db-service/src/services/workspace/page-tree.ts +++ b/libs/datasource/db-service/src/services/workspace/page-tree.ts @@ -7,7 +7,7 @@ import { TreeItem } from './types'; export type ObserveCallback = () => void; export class PageTree extends ServiceBaseClass { - private async fetchPageTree(workspace: string) { + private async _fetchPageTree(workspace: string) { const workspaceDbBlock = await this.getWorkspaceDbBlock(workspace); const pageTreeConfig = workspaceDbBlock.getDecoration(pageTreeName); @@ -16,11 +16,11 @@ export class PageTree extends ServiceBaseClass { async getPageTree(workspace: string): Promise { try { - const pageTree = await this.fetchPageTree(workspace); + const pageTree = await this._fetchPageTree(workspace); if (pageTree && pageTree.length) { const db = await this.database.getDatabase(workspace); - const pages = await updateTreeItemsTitle( + const pages = await _updateTreeItemsTitle( db, pageTree as [], {} @@ -51,10 +51,7 @@ export class PageTree extends ServiceBaseClass { await dbBlock?.remove(); } - async addPageToWorkspacee( - targetWorkspaceId: string, - newPageId: string - ) { + async addPageToWorkspacee(targetWorkspaceId: string, newPageId: string) { const items = await this.getPageTree(targetWorkspaceId); await this.setPageTree(targetWorkspaceId, [ { id: newPageId, children: [] }, @@ -68,7 +65,7 @@ export class PageTree extends ServiceBaseClass { newPageId: string ) { const pages = await this.getPageTree(targetWorkspaceId); - this.buildItemsForChildPage(parentPageId, newPageId, pages); + this._buildItemsForChildPage(parentPageId, newPageId, pages); await this.setPageTree(targetWorkspaceId, [...pages]); } @@ -78,7 +75,7 @@ export class PageTree extends ServiceBaseClass { newPageId: string ) { const pages = await this.getPageTree(targetWorkspaceId); - this.buildItemsForPrevPage(parentPageId, newPageId, pages); + this._buildItemsForPrevPage(parentPageId, newPageId, pages); await this.setPageTree(targetWorkspaceId, [...pages]); } async addNextPageToWorkspace( @@ -87,10 +84,10 @@ export class PageTree extends ServiceBaseClass { newPageId: string ) { const pages = await this.getPageTree(targetWorkspaceId); - this.buildItemsForNextPage(parentPageId, newPageId, pages); + this._buildItemsForNextPage(parentPageId, newPageId, pages); await this.setPageTree(targetWorkspaceId, [...pages]); } - private buildItemsForNextPage( + private _buildItemsForNextPage( parentPageId: string, newPageId: string, children: TreeItem[] @@ -105,7 +102,7 @@ export class PageTree extends ServiceBaseClass { }; children = children.splice(i + 1, 0, newPage); } else if (childPage.children && childPage.children.length) { - this.buildItemsForNextPage( + this._buildItemsForNextPage( parentPageId, newPageId, childPage.children @@ -113,7 +110,7 @@ export class PageTree extends ServiceBaseClass { } } } - private buildItemsForPrevPage( + private _buildItemsForPrevPage( parentPageId: string, newPageId: string, children: TreeItem[] @@ -128,7 +125,7 @@ export class PageTree extends ServiceBaseClass { }; children = children.splice(i - 1, 0, newPage); } else if (childPage.children && childPage.children.length) { - this.buildItemsForPrevPage( + this._buildItemsForPrevPage( parentPageId, newPageId, childPage.children @@ -136,7 +133,7 @@ export class PageTree extends ServiceBaseClass { } } } - private buildItemsForChildPage( + private _buildItemsForChildPage( parentPageId: string, newPageId: string, children: TreeItem[] @@ -151,7 +148,7 @@ export class PageTree extends ServiceBaseClass { children: [], }); } else if (childPage.children && childPage.children.length) { - this.buildItemsForChildPage( + this._buildItemsForChildPage( parentPageId, newPageId, childPage.children @@ -192,7 +189,7 @@ export class PageTree extends ServiceBaseClass { } } -async function updateTreeItemsTitle< +async function _updateTreeItemsTitle< TreeItem extends { id: string; title: string; children: TreeItem[] } >( db: BlockClientInstance, @@ -213,7 +210,7 @@ async function updateTreeItemsTitle< } if (item.children.length) { - item.children = await updateTreeItemsTitle( + item.children = await _updateTreeItemsTitle( db, item.children, cache