MCPcopy Create free account
hub / github.com/experdot/pointer / createPage

Function createPage

src/renderer/src/services/pagesService.ts:93–125  ·  view source on GitHub ↗
(
  name?: string,
  afterItemId?: string,
  inFolderId?: string
)

Source from the content-addressed store, hash-verified

91
92// 创建新页面
93export async function createPage(
94 name?: string,
95 afterItemId?: string,
96 inFolderId?: string
97): Promise<PageRecord> {
98 const { page, folder } = stores
99
100 let parentFolderId: string | undefined
101 let order: number
102
103 if (inFolderId) {
104 // 直接在指定文件夹中创建
105 parentFolderId = inFolderId
106 const itemsInFolder = [...page.findByFolderId(inFolderId), ...folder.findByParentId(inFolderId)]
107 order = itemsInFolder.length > 0 ? Math.max(...itemsInFolder.map((i) => i.order ?? 0)) + 1 : 0
108 } else {
109 const position = await prepareInsertPosition(afterItemId)
110 parentFolderId = position.parentFolderId
111 order = position.order
112 }
113
114 // Generate unique name among sibling pages
115 const baseName = name || '新对话'
116 const siblingPages = page.findByFolderId(parentFolderId)
117 const existingNames = siblingPages.map((p) => p.name)
118 const uniqueName = generateUniqueName(baseName, existingNames)
119
120 return page.create({
121 name: uniqueName,
122 parentFolderId,
123 order
124 })
125}
126
127// 更新页面
128export async function updatePage(id: string, updates: Partial<PageRecord>): Promise<void> {

Callers 3

handleEditFunction · 0.85
handleCreatePageFunction · 0.85
handleCreatePageInFolderFunction · 0.85

Calls 5

generateUniqueNameFunction · 0.85
findByFolderIdMethod · 0.80
findByParentIdMethod · 0.80
createMethod · 0.80
prepareInsertPositionFunction · 0.70

Tested by

no test coverage detected