当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript dragdrop.IDragEvent类代码示例

本文整理汇总了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);
 }
开发者ID:AlbertHilb,项目名称:jupyterlab,代码行数:32,代码来源:widget.ts

示例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);
   }
 }
开发者ID:cameronoelsen,项目名称:jupyterlab,代码行数:11,代码来源:crumbs.ts

示例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();
       }
     }
   }
 }
开发者ID:cameronoelsen,项目名称:jupyterlab,代码行数:15,代码来源:crumbs.ts

示例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();
 }
开发者ID:AlbertHilb,项目名称:jupyterlab,代码行数:15,代码来源:widget.ts

示例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');
 }
开发者ID:AlbertHilb,项目名称:jupyterlab,代码行数:15,代码来源:widget.ts

示例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);
   }
 }
开发者ID:cameronoelsen,项目名称:jupyterlab,代码行数:16,代码来源:crumbs.ts

示例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);
    });
  }
开发者ID:7125messi,项目名称:jupyterlab,代码行数:47,代码来源:crumbs.ts


注:本文中的@phosphor/dragdrop.IDragEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。