diff options
Diffstat (limited to 'frontend/site/viewer/viewer.container.js')
| -rw-r--r-- | frontend/site/viewer/viewer.container.js | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/frontend/site/viewer/viewer.container.js b/frontend/site/viewer/viewer.container.js index 46ef0d0..1add4cf 100644 --- a/frontend/site/viewer/viewer.container.js +++ b/frontend/site/viewer/viewer.container.js @@ -114,28 +114,24 @@ class ViewerContainer extends Component { } handleMouseDown(e, tile) { + const popups = { ...this.props.popups } + let refreshPopups = false if (tile.href) { if (tile.href.indexOf('http') === 0) { window.location.href = tile.href return } else if (tile.href === '__open_popup') { - actions.site.setPopups({ - ...this.props.popups, - [tile.settings.target_popup]: true, - }) + popups[tile.settings.target_popup] = true + refreshPopups = true } else if (tile.href === '__close_popup') { - actions.site.setPopups({ - ...this.props.popups, - [tile.settings.target_popup]: false, - }) + popups[tile.settings.target_popup] = false + refreshPopups = true } else if (tile.href === '__toggle_popup') { - actions.site.setPopups({ - ...this.props.popups, - [tile.settings.target_popup]: !this.props.popups[tile.settings.target_popup], - }) + popups[tile.settings.target_popup] = !this.props.popups[tile.settings.target_popup] + refreshPopups = true } else if (!tile.settings.navigate_when_audio_finishes) { history.push(tile.href) @@ -154,6 +150,13 @@ class ViewerContainer extends Component { [tile.id]: true, } }) + if (tile.settings.show_popup_on_hover && tile.settings.on_hover_popup) { + popups[tile.settings.on_hover_popup] = false + refreshPopups = true + } + } + if (refreshPopups) { + actions.site.setPopups(popups) } } |
