本文整理汇总了TypeScript中@nteract/types.NotebookModel类的典型用法代码示例。如果您正苦于以下问题:TypeScript NotebookModel类的具体用法?TypeScript NotebookModel怎么用?TypeScript NotebookModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NotebookModel类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: changeCellType
function changeCellType(
state: NotebookModel,
action: actionTypes.ChangeCellType
): RecordOf<DocumentRecordProps> {
const id = action.payload.id ? action.payload.id : state.cellFocused;
if (!id) {
return state;
}
const { to } = action.payload;
const cell = state.getIn(["notebook", "cellMap", id]);
const from = cell.cell_type;
// NOOP, since we're already that cell type
if (from === to) {
return state;
}
let nextState = state;
// from === "code"
if (from === "code") {
nextState = cleanCellTransient(
state
.deleteIn(["notebook", "cellMap", id, "execution_count"])
.deleteIn(["notebook", "cellMap", id, "outputs"]),
id
);
}
switch (to) {
case "code":
return nextState.setIn(
["notebook", "cellMap", id],
makeCodeCell({
source: cell.source
})
);
case "markdown":
return nextState.setIn(
["notebook", "cellMap", id],
makeMarkdownCell({
source: cell.source
})
);
case "raw":
return nextState.setIn(
["notebook", "cellMap", id],
makeRawCell({
source: cell.source
})
);
}
// If we didn't match on the `to`, we should change nothing as we don't implement
// other cell types (as there aren't any)
return state;
}
示例2: copyCell
function copyCell(state: NotebookModel, action: actionTypes.CopyCell) {
let id = action.payload.id || state.cellFocused;
const cell = state.getIn(["notebook", "cellMap", id]);
if (!cell) {
return state;
}
return state.set("copied", cell);
}
示例3: focusPreviousCellEditor
function focusPreviousCellEditor(
state: NotebookModel,
action: actionTypes.FocusPreviousCellEditor
): RecordOf<DocumentRecordProps> {
const cellOrder: List<CellId> = state.getIn(["notebook", "cellOrder"]);
const curIndex = cellOrder.findIndex(
(id: CellId) => id === action.payload.id
);
const nextIndex = Math.max(0, curIndex - 1);
return state.set("editorFocused", cellOrder.get(nextIndex));
}
示例4: focusPreviousCell
function focusPreviousCell(
state: NotebookModel,
action: actionTypes.FocusPreviousCell
): NotebookModel {
const cellOrder = state.getIn(["notebook", "cellOrder"]);
const curIndex = cellOrder.findIndex(
(id: CellId) => id === action.payload.id
);
const nextIndex = Math.max(0, curIndex - 1);
return state.set("cellFocused", cellOrder.get(nextIndex));
}
示例5: createCellAppend
function createCellAppend(
state: NotebookModel,
action: actionTypes.CreateCellAppend
): RecordOf<DocumentRecordProps> {
const { cellType } = action.payload;
const notebook: ImmutableNotebook = state.get("notebook");
const cellOrder: List<CellId> = notebook.get("cellOrder", List());
const cell: ImmutableCell =
cellType === "markdown" ? emptyMarkdownCell : emptyCodeCell;
const index = cellOrder.count();
const cellId = uuid();
return state.set("notebook", insertCellAt(notebook, cell, cellId, index));
}
示例6: toggleCellOutputVisibility
function toggleCellOutputVisibility(
state: NotebookModel,
action: actionTypes.ToggleCellOutputVisibility
) {
const id = action.payload.id ? action.payload.id : state.cellFocused;
if (!id) {
return state;
}
return state.setIn(
["notebook", "cellMap", id, "metadata", "outputHidden"],
!state.getIn(["notebook", "cellMap", id, "metadata", "outputHidden"])
);
}
示例7: toggleCellInputVisibility
function toggleCellInputVisibility(
state: NotebookModel,
action: actionTypes.ToggleCellInputVisibility
): RecordOf<DocumentRecordProps> {
const id = action.payload.id ? action.payload.id : state.cellFocused;
if (!id) {
return state;
}
return state.setIn(
["notebook", "cellMap", id, "metadata", "inputHidden"],
!state.getIn(["notebook", "cellMap", id, "metadata", "inputHidden"])
);
}
示例8: createCellAfter
function createCellAfter(
state: NotebookModel,
action: actionTypes.CreateCellAfter
): RecordOf<DocumentRecordProps> {
console.log(
"DEPRECATION WARNING: This function is being deprecated. Please use createCellBelow() instead"
);
const id = action.payload.id ? action.payload.id : state.cellFocused;
if (!id) {
return state;
}
const { cellType, source } = action.payload;
const cell = cellType === "markdown" ? emptyMarkdownCell : emptyCodeCell;
const cellId = uuid();
return state.update("notebook", (notebook: ImmutableNotebook) => {
const index = notebook.get("cellOrder", List()).indexOf(id) + 1;
return insertCellAt(
notebook,
(cell as ImmutableMarkdownCell).set("source", source),
cellId,
index
);
});
}
示例9: updateDisplay
function updateDisplay(
state: NotebookModel,
action: actionTypes.UpdateDisplay
): RecordOf<DocumentRecordProps> {
const { content } = action.payload;
if (!(content && content.transient && content.transient.display_id)) {
return state;
}
const displayID = content.transient.display_id;
const keyPaths: KeyPaths = state.getIn([
"transient",
"keyPathsForDisplays",
displayID
]);
const updatedContent = {
data: createFrozenMediaBundle(content.data),
metadata: fromJS(content.metadata || {})
};
return keyPaths.reduce(
(currState: NotebookModel, kp: KeyPath) =>
currState.updateIn(kp, output => {
return output.merge(updatedContent);
}),
state
);
}
示例10: updateDisplay
function updateDisplay(
state: NotebookModel,
action: actionTypes.UpdateDisplay
) {
const { content } = action.payload;
if (!(content && content.transient && content.transient.display_id)) {
return state;
}
const displayID = content.transient.display_id;
const keyPaths: KeyPaths = state.getIn([
"transient",
"keyPathsForDisplays",
displayID
]);
const updatedContent = {
data: createImmutableMimeBundle(content.data),
metadata: Immutable.fromJS(content.metadata || {})
};
return keyPaths.reduce(
(currState: NotebookModel, kp: KeyPath) =>
// $FlowFixMe: gnarly one we need to FIXME
currState.updateIn(kp, output => {
return output.merge(updatedContent);
}),
state
);
}