Bladeren bron

Set collapsed state for notebook cells on ToC render

kgryte 5 jaren geleden
bovenliggende
commit
30f67b4f91
2 gewijzigde bestanden met toevoegingen van 6 en 1 verwijderingen
  1. 1 1
      packages/toc/src/generators/notebook/index.ts
  2. 5 0
      packages/toc/src/generators/notebook/render.tsx

+ 1 - 1
packages/toc/src/generators/notebook/index.ts

@@ -86,7 +86,7 @@ function createNotebookGenerator(
       let cell: Cell = panel.content.widgets[i];
       let model = cell.model;
 
-      let collapsed = cell.model.metadata.get('toc-hr-collapsed') as boolean;
+      let collapsed = model.metadata.get('toc-hr-collapsed') as boolean;
       collapsed = collapsed || false;
 
       if (model.type === 'code') {

+ 5 - 0
packages/toc/src/generators/notebook/render.tsx

@@ -48,9 +48,13 @@ function render(
         let collapsed = item.cellRef!.model.metadata.get(
           'toc-hr-collapsed'
         ) as boolean;
+
         // Render the twist button:
         let button = twistButton(item.cellRef, collapsed || false, onClick);
 
+        // Update the collapsed state of the corresponding notebook cell:
+        setCollapsedState(tracker, item.cellRef, collapsed);
+
         // Render the heading item:
         jsx = (
           <div className="toc-entry-holder">
@@ -73,6 +77,7 @@ function render(
           'toc-hr-collapsed'
         ) as boolean;
         let button = twistButton(item.cellRef, collapsed || false, onClick);
+        setCollapsedState(tracker, item.cellRef, collapsed);
         jsx = (
           <div className="toc-entry-holder">
             {button}