From 08eee69bbcd06b12ca7f1eb620673935c8657ff2 Mon Sep 17 00:00:00 2001 From: Barbara Valdez <34872381+barbaravaldez@users.noreply.github.com> Date: Mon, 13 Sep 2021 10:15:30 -0700 Subject: [PATCH] only modify toc and move files if the target is a section or book (#17054) --- extensions/notebook/src/book/bookTreeView.ts | 24 +++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/extensions/notebook/src/book/bookTreeView.ts b/extensions/notebook/src/book/bookTreeView.ts index 0e40be1654..6dfe83a122 100644 --- a/extensions/notebook/src/book/bookTreeView.ts +++ b/extensions/notebook/src/book/bookTreeView.ts @@ -737,17 +737,19 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider { - TelemetryReporter.sendActionEvent(BookTelemetryView, NbTelemetryActions.DragAndDrop); - // gets the tree items that are dragged and dropped - let treeItems = JSON.parse(await sources.items.get(this.supportedTypes[0])!.asString()) as BookTreeItem[]; - let rootItems = this.getLocalRoots(treeItems); - rootItems = rootItems.filter(item => item.resourceUri !== target.resourceUri); - if (rootItems && target) { - let sourcesByBook = this.groupTreeItemsByBookModel(rootItems); - const targetBook = this.books.find(book => book.bookPath === target.book.root); - for (let [book, items] of sourcesByBook) { - this.bookTocManager = new BookTocManager(book, targetBook); - await this.bookTocManager.updateBook(items, target); + if (target.contextValue === BookTreeItemType.savedBook || target.contextValue === BookTreeItemType.section) { + TelemetryReporter.sendActionEvent(BookTelemetryView, NbTelemetryActions.DragAndDrop); + // gets the tree items that are dragged and dropped + let treeItems = JSON.parse(await sources.items.get(this.supportedTypes[0])!.asString()) as BookTreeItem[]; + let rootItems = this.getLocalRoots(treeItems); + rootItems = rootItems.filter(item => item.resourceUri !== target.resourceUri); + if (rootItems && target) { + let sourcesByBook = this.groupTreeItemsByBookModel(rootItems); + const targetBook = this.books.find(book => book.bookPath === target.book.root); + for (let [book, items] of sourcesByBook) { + this.bookTocManager = new BookTocManager(book, targetBook); + await this.bookTocManager.updateBook(items, target); + } } } }