本文整理匯總了TypeScript中phosphor-dragdrop.MimeData類的典型用法代碼示例。如果您正苦於以下問題:TypeScript MimeData類的具體用法?TypeScript MimeData怎麽用?TypeScript MimeData使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了MimeData類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: cut
function cut(widget: Notebook, clipboard: IClipboard): void {
if (!widget.model) {
return;
}
clipboard.clear();
let data: nbformat.IBaseCell[] = [];
let model = widget.model;
let cells = model.cells;
// Preserve the history as one undo event.
model.cells.beginCompoundOperation();
for (let i = 0; i < widget.childCount(); i++) {
let child = widget.childAt(i);
if (widget.isSelected(child)) {
data.push(child.model.toJSON());
cells.remove(child.model);
}
}
if (!model.cells.length) {
let cell = model.factory.createCodeCell();
model.cells.add(cell);
}
model.cells.endCompoundOperation();
clipboard.setData(JUPYTER_CELL_MIME, data);
Private.deselectCells(widget);
}
示例2: paste
function paste(widget: Notebook, clipboard: IClipboard): void {
if (!widget.model) {
return;
}
if (!clipboard.hasData(JUPYTER_CELL_MIME)) {
return;
}
let values = clipboard.getData(JUPYTER_CELL_MIME) as nbformat.IBaseCell[];
let model = widget.model;
let cells: ICellModel[] = [];
for (let value of values) {
switch (value.cell_type) {
case 'code':
cells.push(model.factory.createCodeCell(value));
break;
case 'markdown':
cells.push(model.factory.createMarkdownCell(value));
break;
default:
cells.push(model.factory.createRawCell(value));
break;
}
}
let index = widget.activeCellIndex;
widget.model.cells.replace(index, 0, cells);
Private.deselectCells(widget);
}
示例3: it
it('should copy the selected cells to a clipboard', () => {
let next = widget.childAt(1);
widget.select(next);
NotebookActions.copy(widget, clipboard);
expect(clipboard.hasData(JUPYTER_CELL_MIME)).to.be(true);
let data = clipboard.getData(JUPYTER_CELL_MIME);
expect(data.length).to.be(2);
});
示例4: copy
function copy(widget: ActiveNotebook, clipboard: IClipboard): void {
clipboard.clear();
let data: nbformat.IBaseCell[] = [];
for (let i = 0; i < widget.childCount(); i++) {
let child = widget.childAt(i);
if (widget.isSelected(child)) {
data.push(child.model.toJSON());
}
}
clipboard.setData(JUPYTER_CELL_MIME, data);
Private.deselectCells(widget);
}
示例5: cut
function cut(widget: Notebook, clipboard: IClipboard): void {
if (!widget.model || !widget.activeCell) {
return;
}
let data: nbformat.IBaseCell[] = [];
let model = widget.model;
let cells = model.cells;
let toDelete: ICellModel[] = [];
widget.mode = 'command';
// Gather the cell data.
for (let i = 0; i < widget.childCount(); i++) {
let child = widget.childAt(i);
if (widget.isSelected(child)) {
data.push(child.model.toJSON());
toDelete.push(child.model);
}
}
// Preserve the history as one undo event.
model.cells.beginCompoundOperation();
for (let cell of toDelete) {
cells.remove(cell);
}
// If there are no cells, add a code cell.
if (!model.cells.length) {
let cell = model.factory.createCodeCell();
model.cells.add(cell);
}
model.cells.endCompoundOperation();
clipboard.setData(JUPYTER_CELL_MIME, data);
}
示例6: it
it('should copy when clicked', () => {
let button = ToolbarItems.createCopyButton(panel);
let count = panel.content.childCount();
button.attach(document.body);
button.node.click();
expect(panel.content.childCount()).to.be(count);
expect(clipboard.hasData(JUPYTER_CELL_MIME)).to.be(true);
button.dispose();
});
示例7: afterEach
afterEach(() => {
widget.dispose();
kernel.dispose();
clipboard.clear();
});