Как я могу скрыть код и перезапустить все ячейки в JupyterLab? - PullRequest
1 голос
/ 05 марта 2020

Я хотел бы сделать точно то, о чем спрашивали и отвечали в посте Как я могу скрыть код и перезапустить все ячейки в блокноте jupyter? , но в JupyterLab. Некоторое время назад это просто казалось невозможным. Но после выпуска v0.33 я полагаю, что это должно быть возможно, поскольку:

Javascript выполнение в ячейках ноутбука было повторно включено

Но если я попытаюсь запустить приведенный ниже сценарий, единственное, что происходит в JupyterLab, - это то, что получается такой вывод:

Вывод:

Button(description='Refresh', style=ButtonStyle())

Код:

from IPython.display import HTML

HTML('''<script>
  function code_toggle() {
    if (code_shown){
      $('div.input').hide('500');
      $('#toggleButton').val('Show code')
    } else {
      $('div.input').show('500');
      $('#toggleButton').val('Hide code')
    }
    code_shown = !code_shown
  }

  $( document ).ready(function(){
    code_shown=false;
    $('div.input').hide()
  });
</script>
<form action="javascript:code_toggle()"><input type="submit" id="toggleButton" value="Show code"></form>''')

from IPython.display import Javascript, display
from ipywidgets import widgets

def run_all(ev):
    display(Javascript('IPython.notebook.execute_cells_below()'))

button = widgets.Button(description="Refresh")
button.on_click(run_all)
display(button)

Итак, кто-нибудь знает, возможно ли это в JupyterLab?

...