Fixed highlight doctest.

This commit is contained in:
2019-07-15 14:42:01 +02:00
parent c3477244b9
commit 9a399ecfe9
4 changed files with 55 additions and 57 deletions
+19 -22
View File
@@ -123,7 +123,7 @@ export class Highlight extends Object {
static animateCircle(target, callback) {
console.log('ANIMATE CIRCLE', this)
// ** DEBUG OUTPUTS **
let circle = target
// We need a unique id to ensure correspondence between circle, mask, and maskImage
if (!circle.hasAttribute('id')) {
@@ -193,28 +193,22 @@ export class Highlight extends Object {
scale = 2,
onExpanded = null
} = {}) {
console.log('Open Highlight!', target)
if (Highlight._isExpanded(target)) {
console.log('Target is already expanded!')
return
} else {
let targetId = target.getAttribute('id')
console.log(targetId, targetId && targetId.startsWith('@@'))
if(targetId && targetId.startsWith('@@')){
if (targetId && targetId.startsWith('@@')) {
let id = targetId.slice(2)
const imageId = '#maskImage'+id
const imageId = '#maskImage' + id
const parent = target.parentNode
if(parent != null){
if (parent != null) {
let image = parent.querySelector(imageId)
if(image){
if (image) {
this._bringToFront(image)
}else console.error('Could not find corresponding image element.')
}else console.log('Element was no parent:', target)
} else console.error('Could not find corresponding image element.')
} else console.log('Element was no parent:', target)
}
console.log("_bringToFront")
this._bringToFront(target)
let svgRoot = target.closest('svg')
@@ -222,8 +216,6 @@ export class Highlight extends Object {
// eslint-disable-next-line no-unused-vars
let [mask, maskImage] = Highlight._getSVGMask(target, { svgRoot, image })
console.log({svgRoot, image, mask, maskImage})
let center = Highlight._calculateCenterRelativeTo(target, image)
TweenLite.set(maskImage, { transformOrigin: `${center.x}% ${center.y}%` })
@@ -235,19 +227,24 @@ export class Highlight extends Object {
})
target.classList.add('expanded')
console.log({target, maskImage, scale, animation})
console.log(maskImage)
}
return
}
static _bringToFront(target){
static toggleHighlight(node) {
if (Highlight._isExpanded(node)) {
Highlight.closeHighlight(node)
}
else {
Highlight.openHighlight(node)
}
}
static _bringToFront(target) {
const parent = target.parentNode
if(target && parent){
if (target && parent) {
parent.removeChild(target)
parent.appendChild(target)
}else console.error('Could not bring to front. Either no target or no parent.', target, parent)
} else console.error('Could not bring to front. Either no target or no parent.', target, parent)
}
static _getSVGMask(circle, { svgRoot = null, image = null } = {}) {