forked from quasarframework/quasar
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtouch.js
More file actions
52 lines (45 loc) · 1.11 KB
/
touch.js
File metadata and controls
52 lines (45 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const directions = [ 'left', 'right', 'up', 'down', 'horizontal', 'vertical' ]
const modifiersAll = {
left: true,
right: true,
up: true,
down: true,
horizontal: true,
vertical: true,
all: true
}
export function getModifierDirections (mod) {
const dir = {}
directions.forEach(direction => {
if (mod[direction]) {
dir[direction] = true
}
})
if (Object.keys(dir).length === 0) {
return modifiersAll
}
if (dir.horizontal === true) {
dir.left = dir.right = true
}
if (dir.vertical === true) {
dir.up = dir.down = true
}
if (dir.left === true && dir.right === true) {
dir.horizontal = true
}
if (dir.up === true && dir.down === true) {
dir.vertical = true
}
if (dir.horizontal === true && dir.vertical === true) {
dir.all = true
}
return dir
}
export function shouldStart (evt, ctx) {
return ctx.event === void 0 &&
evt.target !== void 0 &&
evt.target.draggable !== true &&
typeof ctx.handler === 'function' &&
evt.target.nodeName.toUpperCase() !== 'INPUT' &&
(evt.qClonedBy === void 0 || evt.qClonedBy.indexOf(ctx.uid) === -1)
}