⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 griddd.js

📁 ajax框架extjs是一套完整的富客户端解决方案
💻 JS
字号:
/*
 * Ext JS Library 2.2
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

/** * @class Ext.grid.GridDragZone * @extends Ext.dd.DragZone * <p>A customized implementation of a {@link Ext.dd.DragZone DragZone} which provides default implementations of two of the * template methods of DragZone to enable dragging of the selected rows of a GridPanel.</p> * <p>A cooperating {@link Ext.dd.DropZone DropZone} must be created who's template method implementations of * {@link Ext.dd.DropZone#onNodeEnter onNodeEnter}, {@link Ext.dd.DropZone#onNodeOver onNodeOver}, * {@link Ext.dd.DropZone#onNodeOut onNodeOut} and {@link Ext.dd.DropZone#onNodeDrop onNodeDrop}</p> are able * to process the {@link #getDragData data} which is provided. */Ext.grid.GridDragZone = function(grid, config){    this.view = grid.getView();    Ext.grid.GridDragZone.superclass.constructor.call(this, this.view.mainBody.dom, config);    if(this.view.lockedBody){        this.setHandleElId(Ext.id(this.view.mainBody.dom));        this.setOuterHandleElId(Ext.id(this.view.lockedBody.dom));    }    this.scroll = false;    this.grid = grid;    this.ddel = document.createElement('div');    this.ddel.className = 'x-grid-dd-wrap';};Ext.extend(Ext.grid.GridDragZone, Ext.dd.DragZone, {    ddGroup : "GridDD",    /**     * <p>The provided implementation of the getDragData method which collects the data to be dragged from the GridPanel on mousedown.</p>     * <p>This data is available for processing in the {@link Ext.dd.DropZone#onNodeEnter onNodeEnter}, {@link Ext.dd.DropZone#onNodeOver onNodeOver},     * {@link Ext.dd.DropZone#onNodeOut onNodeOut} and {@link Ext.dd.DropZone#onNodeDrop onNodeDrop} methods of a cooperating {@link Ext.dd.DropZone DropZone}.</p>     * <p>The data object contains the following properties:<ul>     * <li><b>grid</b> : Ext.Grid.GridPanel<div class="sub-desc">The GridPanel from which the data is being dragged.</div></li>     * <li><b>ddel</b> : htmlElement<div class="sub-desc">An htmlElement which provides the "picture" of the data being dragged.</div></li>     * <li><b>rowIndex</b> : Number<div class="sub-desc">The index of the row which receieved the mousedown gesture which triggered the drag.</div></li>     * <li><b>selections</b> : Array<div class="sub-desc">An Array of the selected Records which are being dragged from the GridPanel.</div></li>     * </ul></p>     */    getDragData : function(e){        var t = Ext.lib.Event.getTarget(e);        var rowIndex = this.view.findRowIndex(t);        if(rowIndex !== false){            var sm = this.grid.selModel;            if(!sm.isSelected(rowIndex) || e.hasModifier()){                sm.handleMouseDown(this.grid, rowIndex, e);            }            return {grid: this.grid, ddel: this.ddel, rowIndex: rowIndex, selections:sm.getSelections()};        }        return false;    },    /**     * <p>The provided implementation of the onInitDrag method. Sets the <tt>innerHTML</tt> of the drag proxy which provides the "picture"     * of the data being dragged.</p>     * <p>The <tt>innerHTML</tt> data is found by calling the owning GridPanel's {@link Ext.grid.GridPanel#getDragDropText getDragDropText}.</p>     */    onInitDrag : function(e){        var data = this.dragData;        this.ddel.innerHTML = this.grid.getDragDropText();        this.proxy.update(this.ddel);        // fire start drag?    },    /**     * An empty immplementation. Implement this to provide behaviour after a repair of an invalid drop. An implementation might highlight     * the selected rows to show that they have not been dragged.     */    afterRepair : function(){        this.dragging = false;    },    /**     * <p>An empty implementation. Implement this to provide coordinates for the drag proxy to slide back to after an invalid drop.</p>     * <p>Called before a repair of an invalid drop to get the XY to animate to.</p>     * @param {EventObject} e The mouse up event     * @return {Array} The xy location (e.g. [100, 200])     */    getRepairXY : function(e, data){        return false;    },    onEndDrag : function(data, e){        // fire end drag?    },    onValidDrop : function(dd, e, id){        // fire drag drop?        this.hideProxy();    },    beforeInvalidDrop : function(e, id){    }});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -