本文整理汇总了TypeScript中@phosphor/dragdrop.IDragEvent类的典型用法代码示例。如果您正苦于以下问题:TypeScript IDragEvent类的具体用法?TypeScript IDragEvent怎么用?TypeScript IDragEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IDragEvent类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: _evtDrop
/**
* Handle the `'p-drop'` event for the widget.
*/
private _evtDrop(event: IDragEvent): void {
if (this.editor.getOption('readOnly') === true) {
return;
}
const data = Private.findTextData(event.mimeData);
if (data === undefined) {
return;
}
this.removeClass(DROP_TARGET_CLASS);
event.preventDefault();
event.stopPropagation();
if (event.proposedAction === 'none') {
event.dropAction = 'none';
return;
}
const coordinate = {
top: event.y,
bottom: event.y,
left: event.x,
right: event.x,
x: event.x,
y: event.y,
width: 0,
height: 0
};
const position = this.editor.getPositionForCoordinate(coordinate);
const offset = this.editor.getOffsetAt(position);
this.model.value.insert(offset, data);
}
示例2: _evtDragLeave
/**
* Handle the `'p-dragleave'` event for the widget.
*/
private _evtDragLeave(event: IDragEvent): void {
event.preventDefault();
event.stopPropagation();
let dropTarget = DOMUtils.findElement(this.node, DROP_TARGET_CLASS);
if (dropTarget) {
dropTarget.classList.remove(DROP_TARGET_CLASS);
}
}
示例3: _evtDragEnter
/**
* Handle the `'p-dragenter'` event for the widget.
*/
private _evtDragEnter(event: IDragEvent): void {
if (event.mimeData.hasData(CONTENTS_MIME)) {
let index = ArrayExt.findFirstIndex(this._crumbs, node => ElementExt.hitTest(node, event.clientX, event.clientY));
if (index !== -1) {
if (index !== Private.Crumb.Current) {
this._crumbs[index].classList.add(DROP_TARGET_CLASS);
event.preventDefault();
event.stopPropagation();
}
}
}
}
示例4: _evtDragLeave
/**
* Handle the `'p-dragleave'` event for the widget.
*/
private _evtDragLeave(event: IDragEvent): void {
this.removeClass(DROP_TARGET_CLASS);
if (this.editor.getOption('readOnly') === true) {
return;
}
const data = Private.findTextData(event.mimeData);
if (data === undefined) {
return;
}
event.preventDefault();
event.stopPropagation();
}
示例5: _evtDragEnter
/**
* Handle the `'p-dragenter'` event for the widget.
*/
private _evtDragEnter(event: IDragEvent): void {
if (this.editor.getOption('readOnly') === true) {
return;
}
const data = Private.findTextData(event.mimeData);
if (data === undefined) {
return;
}
event.preventDefault();
event.stopPropagation();
this.addClass('jp-mod-dropTarget');
}
示例6: _evtDragOver
/**
* Handle the `'p-dragover'` event for the widget.
*/
private _evtDragOver(event: IDragEvent): void {
event.preventDefault();
event.stopPropagation();
event.dropAction = event.proposedAction;
let dropTarget = DOMUtils.findElement(this.node, DROP_TARGET_CLASS);
if (dropTarget) {
dropTarget.classList.remove(DROP_TARGET_CLASS);
}
let index = ArrayExt.findFirstIndex(this._crumbs, node => ElementExt.hitTest(node, event.clientX, event.clientY));
if (index !== -1) {
this._crumbs[index].classList.add(DROP_TARGET_CLASS);
}
}
示例7: _evtDrop
/**
* Handle the `'p-drop'` event for the widget.
*/
private _evtDrop(event: IDragEvent): void {
event.preventDefault();
event.stopPropagation();
if (event.proposedAction === 'none') {
event.dropAction = 'none';
return;
}
if (!event.mimeData.hasData(CONTENTS_MIME)) {
return;
}
event.dropAction = event.proposedAction;
let target = event.target as HTMLElement;
while (target && target.parentElement) {
if (target.classList.contains(DROP_TARGET_CLASS)) {
target.classList.remove(DROP_TARGET_CLASS);
break;
}
target = target.parentElement;
}
// Get the path based on the target node.
let index = ArrayExt.findFirstIndex(this._crumbs, node => node === target);
if (index === -1) {
return;
}
const model = this._model;
const path = PathExt.resolve(model.path, BREAD_CRUMB_PATHS[index]);
const manager = model.manager;
// Move all of the items.
let promises: Promise<any>[] = [];
let oldPaths = event.mimeData.getData(CONTENTS_MIME) as string[];
for (let oldPath of oldPaths) {
let localOldPath = manager.services.contents.localPath(oldPath);
let name = PathExt.basename(localOldPath);
let newPath = PathExt.join(path, name);
promises.push(renameFile(manager, oldPath, newPath));
}
Promise.all(promises).catch(err => {
showErrorMessage('Move Error', err);
});
}