Admin.UI/src/directive/draggable.js
(开头部分) 16KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
// 复用element-ui的dom处理函数
import { addClass, removeClass, setStyle } from 'element-ui/lib/utils/dom'
// 需要继承Events
import Events from '@/utils/events'
// 拖拽容器的className
const DRAGGABLE_CLASS = 'my-draggable'
// 拖拽句柄的元素className
const DRAGGABLE_HANDLE_CLASS = 'my-draggable__handle'
// 元素正在拖拽中得className
const DRAGGING_CLASS = 'my-draggable--dragging'
// 元素克隆后的元素className
const CLONE_CLASS = 'my-draggable__clone'
// 元素克隆后元素过渡动画className
const CLONE_TRANSLATE = 'my-draggable__clone--translate'
// 禁止页面选择className
const USER_SELECT_NONE = 'user-select--none'
// 空函数
const noop = function() {
}
/**
* 拖拽类实例化默认参数
* @const
* @type {object}
* @property {string} [host=null] 宿主元素选择器
* @property {string} [handle=null] 拖拽句柄元素选择器
* @property {string} [axis=null] 限制拖拽方向可选: v 垂直、h 水平,默认不限制
* @property {number} [delay=100] 延时开始拖拽
* @property {Object} [range={}] 限制拖拽范围
* @property {number} [range.left=-10000] x坐标位置
* @property {number} [range.top=-10000] y坐标位置
* @property {number} [range.width=10000] 最大宽度
* @property {number} [range.height=10000] 最大高度
* @property {Object} [offset={}] 位置定义
* @property {string} [offset.left=left] x位置名称
* @property {string} [offset.top=top] y位置名称
* @property {Object} [autoCalcRange={}] 自动计算范围
* @property {HTMLElement} [target=null] 限制在元素范围内拖拽
* @property {boolean|function} [clone=false] 克隆拖拽对象,可以是函数返回HtmlElement
* @property {boolean} [revert=true] 拖拽放置后动画返回原来位置,clone不为false时才有效
* @property {string} [group=null] 分组名称, 与droppable配合使用
* @property {function} [onStartDrag] 开始拖拽时回调
* @property {function} [onStopDrag] 结束拖拽时回调
* @property {function} [onDrag] 正在拖拽时回调
*/
const defaultOptions = {
// 宿主元素选择器
host: null,
// 拖拽句柄元素选择器
handle: null,
后面还有 580 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
