Working on stacked buttons.
This commit is contained in:
+6
-12
@@ -5,10 +5,7 @@ import Events from '../events.js'
|
||||
import { Points } from '../utils.js'
|
||||
|
||||
export default class CardWrapper extends Object {
|
||||
constructor(
|
||||
domNode,
|
||||
{ triggerSVGClicks = true, allowClickDistance = 44 } = {}
|
||||
) {
|
||||
constructor(domNode, { triggerSVGClicks = true, allowClickDistance = 44 } = {}) {
|
||||
super()
|
||||
this.domNode = domNode
|
||||
this.triggerSVGClicks = triggerSVGClicks
|
||||
@@ -57,7 +54,7 @@ export default class CardWrapper extends Object {
|
||||
|
||||
isClickable(node) {
|
||||
if (node == null) return false
|
||||
// console.log("isClickable", node, this.isClickPrevented(node))
|
||||
// console.log("isClickable", node, this.isClickPrevented(node))
|
||||
if (this.isClickPrevented(node)) {
|
||||
return false
|
||||
}
|
||||
@@ -99,9 +96,7 @@ export default class CardWrapper extends Object {
|
||||
nearestActive(event) {
|
||||
let element = this.domNode
|
||||
let activeNodes = this.activeNodes()
|
||||
let globalClick = event.center
|
||||
? event.center
|
||||
: { x: event.x, y: event.y }
|
||||
let globalClick = event.center ? event.center : { x: event.x, y: event.y }
|
||||
let localClick = Points.fromPageToNode(element, globalClick)
|
||||
|
||||
let clickRects = activeNodes.map(link => {
|
||||
@@ -154,7 +149,7 @@ export default class CardWrapper extends Object {
|
||||
}
|
||||
|
||||
nodeTapped(node, event) {
|
||||
console.log("nodeTapped", node, this.isClickable(node))
|
||||
console.log('nodeTapped', node, this.isClickable(node))
|
||||
if (this.isClickable(node)) {
|
||||
this.simulateClick(node, event)
|
||||
return true
|
||||
@@ -165,7 +160,7 @@ export default class CardWrapper extends Object {
|
||||
return true
|
||||
}
|
||||
for (let [selector, handler] of this.tapHandler.entries()) {
|
||||
console.log("nodeTapped", selector)
|
||||
console.log('nodeTapped', selector)
|
||||
for (let obj of this.domNode.querySelectorAll(selector)) {
|
||||
if (node == obj) {
|
||||
handler(event, node)
|
||||
@@ -177,10 +172,9 @@ export default class CardWrapper extends Object {
|
||||
}
|
||||
|
||||
tap(event, calledBy = 'unknown') {
|
||||
|
||||
if (event.isTrusted) {
|
||||
let node = this.nearestActive(event)
|
||||
console.log("tap", node)
|
||||
console.log('tap', node)
|
||||
this.nodeTapped(node, event)
|
||||
|
||||
/* let node = document.elementFromPoint(event.clientX, event.clientY)
|
||||
|
||||
Reference in New Issue
Block a user