提交 b3162f52 编写于 作者: R rebornix

wait for notebook focus after cell movement.

上级 23f52315
......@@ -226,11 +226,11 @@ registerAction2(class extends NotebookAction {
// Try to select below, fall back on inserting
const nextCell = context.notebookEditor.viewModel?.viewCells[idx + 1];
if (nextCell) {
context.notebookEditor.focusNotebookCell(nextCell, context.cell.editState === CellEditState.Editing ? 'editor' : 'container');
await context.notebookEditor.focusNotebookCell(nextCell, context.cell.editState === CellEditState.Editing ? 'editor' : 'container');
} else {
const newCell = context.notebookEditor.insertNotebookCell(context.cell, CellKind.Code, 'below');
if (newCell) {
context.notebookEditor.focusNotebookCell(newCell, 'editor');
await context.notebookEditor.focusNotebookCell(newCell, 'editor');
}
}
}
......@@ -256,7 +256,7 @@ registerAction2(class extends NotebookAction {
await runCell(context);
const newCell = context.notebookEditor.insertNotebookCell(context.cell, CellKind.Code, 'below');
if (newCell) {
context.notebookEditor.focusNotebookCell(newCell, 'editor');
await context.notebookEditor.focusNotebookCell(newCell, 'editor');
}
}
});
......@@ -313,7 +313,7 @@ registerAction2(class extends NotebookAction {
context.cell.editState = CellEditState.Preview;
}
context.notebookEditor.focusNotebookCell(context.cell, 'container');
await context.notebookEditor.focusNotebookCell(context.cell, 'container');
}
});
......@@ -436,7 +436,7 @@ export async function changeCellToKind(kind: CellKind, context: INotebookCellAct
newCell.model.language = language;
}
notebookEditor.focusNotebookCell(newCell, cell.editState === CellEditState.Editing ? 'editor' : 'container');
await notebookEditor.focusNotebookCell(newCell, cell.editState === CellEditState.Editing ? 'editor' : 'container');
notebookEditor.deleteNotebookCell(cell);
return newCell;
......@@ -461,7 +461,7 @@ abstract class InsertCellCommand extends NotebookAction {
async runWithContext(accessor: ServicesAccessor, context: INotebookCellActionContext): Promise<void> {
const newCell = context.notebookEditor.insertNotebookCell(context.cell, this.kind, this.direction, undefined, context.ui);
if (newCell) {
context.notebookEditor.focusNotebookCell(newCell, 'editor');
await context.notebookEditor.focusNotebookCell(newCell, 'editor');
}
}
}
......@@ -656,12 +656,12 @@ registerAction2(class extends NotebookAction {
// deletion succeeds, move focus to the next cell
const nextCellIdx = index < context.notebookEditor.viewModel!.length ? index : context.notebookEditor.viewModel!.length - 1;
if (nextCellIdx >= 0) {
context.notebookEditor.focusNotebookCell(context.notebookEditor.viewModel!.viewCells[nextCellIdx], 'container');
await context.notebookEditor.focusNotebookCell(context.notebookEditor.viewModel!.viewCells[nextCellIdx], 'container');
} else {
// No cells left, insert a new empty one
const newCell = context.notebookEditor.insertNotebookCell(undefined, context.cell.cellKind);
if (newCell) {
context.notebookEditor.focusNotebookCell(newCell, 'editor');
await context.notebookEditor.focusNotebookCell(newCell, 'editor');
}
}
}
......@@ -675,7 +675,7 @@ async function moveCell(context: INotebookCellActionContext, direction: 'up' | '
if (result) {
// move cell command only works when the cell container has focus
context.notebookEditor.focusNotebookCell(context.cell, 'container');
await context.notebookEditor.focusNotebookCell(context.cell, 'container');
}
}
......@@ -684,7 +684,7 @@ async function copyCell(context: INotebookCellActionContext, direction: 'up' | '
const newCellDirection = direction === 'up' ? 'above' : 'below';
const newCell = context.notebookEditor.insertNotebookCell(context.cell, context.cell.cellKind, newCellDirection, text);
if (newCell) {
context.notebookEditor.focusNotebookCell(newCell, 'container');
await context.notebookEditor.focusNotebookCell(newCell, 'container');
}
}
......@@ -935,7 +935,7 @@ registerAction2(class extends NotebookAction {
return;
}
editor.focusNotebookCell(newCell, 'editor');
await editor.focusNotebookCell(newCell, 'editor');
}
});
......@@ -973,7 +973,7 @@ registerAction2(class extends NotebookAction {
return;
}
editor.focusNotebookCell(newCell, 'editor');
await editor.focusNotebookCell(newCell, 'editor');
}
});
......@@ -997,7 +997,7 @@ registerAction2(class extends NotebookAction {
async runWithContext(accessor: ServicesAccessor, context: INotebookCellActionContext): Promise<void> {
const editor = context.notebookEditor;
const activeCell = context.cell;
editor.focusNotebookCell(activeCell, 'output');
await editor.focusNotebookCell(activeCell, 'output');
}
});
......@@ -1021,7 +1021,7 @@ registerAction2(class extends NotebookAction {
async runWithContext(accessor: ServicesAccessor, context: INotebookCellActionContext): Promise<void> {
const editor = context.notebookEditor;
const activeCell = context.cell;
editor.focusNotebookCell(activeCell, 'editor');
await editor.focusNotebookCell(activeCell, 'editor');
}
});
......@@ -1094,7 +1094,7 @@ registerAction2(class extends NotebookAction {
}
const firstCell = editor.viewModel.viewCells[0];
editor.focusNotebookCell(firstCell, 'container');
await editor.focusNotebookCell(firstCell, 'container');
}
});
......@@ -1122,7 +1122,7 @@ registerAction2(class extends NotebookAction {
}
const firstCell = editor.viewModel.viewCells[editor.viewModel.length - 1];
editor.focusNotebookCell(firstCell, 'container');
await editor.focusNotebookCell(firstCell, 'container');
}
});
......@@ -1225,7 +1225,7 @@ export class ChangeCellLanguageAction extends NotebookAction {
if (selection.languageId === 'markdown' && context.cell?.language !== 'markdown') {
const newCell = await changeCellToKind(CellKind.Markdown, { cell: context.cell, notebookEditor: context.notebookEditor });
if (newCell) {
context.notebookEditor.focusNotebookCell(newCell, 'editor');
await context.notebookEditor.focusNotebookCell(newCell, 'editor');
}
} else if (selection.languageId !== 'markdown' && context.cell?.language === 'markdown') {
await changeCellToKind(CellKind.Code, { cell: context.cell, notebookEditor: context.notebookEditor }, selection.languageId);
......@@ -1288,7 +1288,7 @@ async function splitCell(context: INotebookCellActionContext): Promise<void> {
if (context.cell.cellKind === CellKind.Code) {
const newCells = await context.notebookEditor.splitNotebookCell(context.cell);
if (newCells) {
context.notebookEditor.focusNotebookCell(newCells[newCells.length - 1], 'editor');
await context.notebookEditor.focusNotebookCell(newCells[newCells.length - 1], 'editor');
}
}
}
......@@ -1320,7 +1320,7 @@ registerAction2(class extends NotebookAction {
async function joinCells(context: INotebookCellActionContext, direction: 'above' | 'below'): Promise<void> {
const cell = await context.notebookEditor.joinNotebookCells(context.cell, direction, CellKind.Code);
if (cell) {
context.notebookEditor.focusNotebookCell(cell, 'editor');
await context.notebookEditor.focusNotebookCell(cell, 'editor');
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册