summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/app/views/page/components/page.editor.js2
-rw-r--r--frontend/app/views/tile/components/tile.form.js2
-rw-r--r--frontend/app/views/tile/forms/tile.form.hyperlink.js6
-rw-r--r--frontend/app/views/tile/forms/tile.form.misc.js25
-rw-r--r--frontend/app/views/tile/handles/tile.gradient.js3
-rw-r--r--frontend/app/views/tile/handles/tile.image.js3
-rw-r--r--frontend/app/views/tile/handles/tile.link.js3
-rw-r--r--frontend/app/views/tile/handles/tile.text.js3
-rw-r--r--frontend/app/views/tile/handles/tile.video.js3
-rw-r--r--frontend/site/projects/museum/views/jakrawal.links.css8
-rw-r--r--frontend/site/viewer/viewer.container.js18
11 files changed, 60 insertions, 16 deletions
diff --git a/frontend/app/views/page/components/page.editor.js b/frontend/app/views/page/components/page.editor.js
index cd61932..658da2d 100644
--- a/frontend/app/views/page/components/page.editor.js
+++ b/frontend/app/views/page/components/page.editor.js
@@ -210,6 +210,7 @@ class PageEditor extends Component {
onMouseDown={e => this.handleMouseDown(e, tile)}
onDoubleClick={e => this.props.pageActions.showEditTileForm(tile.id)}
onMouseEnter={e => {}}
+ onMouseLeave={e => {}}
onPlaybackEnded={this.handlePlaybackEnded}
/>
)
@@ -224,6 +225,7 @@ class PageEditor extends Component {
box={currentTile && temporaryTile.id === currentTile.id && currentBox}
onMouseDown={e => this.handleMouseDown(e, temporaryTile)}
onMouseEnter={e => {}}
+ onMouseLeave={e => {}}
onPlaybackEnded={this.handlePlaybackEnded}
/>
)}
diff --git a/frontend/app/views/tile/components/tile.form.js b/frontend/app/views/tile/components/tile.form.js
index 2e6dfef..a3c3131 100644
--- a/frontend/app/views/tile/components/tile.form.js
+++ b/frontend/app/views/tile/components/tile.form.js
@@ -338,7 +338,7 @@ class TileForm extends Component {
pageList={this.state.pageList} popupList={this.state.popupList}
cursors={this.state.cursors}
/>
- <TileMiscForm tile={temporaryTile} errorFields={errorFields} parent={this} />
+ <TileMiscForm tile={temporaryTile} errorFields={errorFields} parent={this} popupList={this.state.popupList} />
<TileSoundForm tile={temporaryTile} errorFields={errorFields} parent={this} />
<div className='row buttons'>
diff --git a/frontend/app/views/tile/forms/tile.form.hyperlink.js b/frontend/app/views/tile/forms/tile.form.hyperlink.js
index f36077d..1d7f22d 100644
--- a/frontend/app/views/tile/forms/tile.form.hyperlink.js
+++ b/frontend/app/views/tile/forms/tile.form.hyperlink.js
@@ -16,15 +16,9 @@ import { toggleCursorList } from 'app/views/page/page.actions'
export default function TileHyperlinkForm({ tile, pageList, popupList, cursors, parent }) {
const isExternalLink = tile.target_page_id === EXTERNAL_LINK
- // const isPopupLink = (
- // tile.target_page_id === OPEN_POPUP_LINK ||
- // tile.target_page_id === CLOSE_POPUP_LINK
- // )
let cursor
- // console.log(tile.settings.cursor, tile.settings.custom_cursor_id)
if (tile.settings.cursor === 'custom' && tile.settings.custom_cursor_id) {
cursor = cursors[tile.settings.custom_cursor_id]
- // console.log(cursor)
}
return (
<div>
diff --git a/frontend/app/views/tile/forms/tile.form.misc.js b/frontend/app/views/tile/forms/tile.form.misc.js
index fd72ad3..68b659c 100644
--- a/frontend/app/views/tile/forms/tile.form.misc.js
+++ b/frontend/app/views/tile/forms/tile.form.misc.js
@@ -5,9 +5,9 @@ import {
Select, Checkbox, Slider,
} from 'app/common'
-import { UNITS } from './tile.constants'
+import { UNITS, NO_POPUP } from './tile.constants'
-export default function TileMiscForm({ tile, parent }) {
+export default function TileMiscForm({ tile, parent, popupList }) {
return (
<div>
<div className='row single'>
@@ -70,6 +70,7 @@ export default function TileMiscForm({ tile, parent }) {
<TextInput
title="Popup group"
name="popup_group"
+ placeholder="Enter group name"
data={tile.settings}
onChange={parent.handleSettingsChange}
autoComplete="off"
@@ -89,6 +90,7 @@ export default function TileMiscForm({ tile, parent }) {
<TextInput
title="Appear after"
name="appear_after"
+ placeholder="0:00"
data={tile.settings}
onChange={parent.handleSettingsChange}
autoComplete="off"
@@ -96,6 +98,25 @@ export default function TileMiscForm({ tile, parent }) {
</div>
)}
<Checkbox
+ label="Show popup on hover"
+ name="show_popup_on_hover"
+ className='short'
+ checked={tile.settings.show_popup_on_hover}
+ onChange={parent.handleSettingsSelect}
+ autoComplete="off"
+ />
+ {tile.settings.show_popup_on_hover && (
+ <div className='row single'>
+ <Select
+ title="Popup"
+ name='on_hover_popup'
+ selected={tile.settings.on_hover_popup || NO_POPUP}
+ options={popupList}
+ onChange={parent.handleSettingsSelect}
+ />
+ </div>
+ )}
+ <Checkbox
label="Hide on click"
name="hide_on_click"
className='short'
diff --git a/frontend/app/views/tile/handles/tile.gradient.js b/frontend/app/views/tile/handles/tile.gradient.js
index 8d7091f..00cbed6 100644
--- a/frontend/app/views/tile/handles/tile.gradient.js
+++ b/frontend/app/views/tile/handles/tile.gradient.js
@@ -1,7 +1,7 @@
import React from 'react'
import { generateTransform, unitsDimension, hexToRgb, pickCursor } from 'app/views/tile/tile.utils'
-export default function TileGradient({ tile, box, bounds, cursors, videoBounds, viewing, onMouseDown, onDoubleClick, onMouseEnter }) {
+export default function TileGradient({ tile, box, bounds, cursors, videoBounds, viewing, onMouseDown, onDoubleClick, onMouseEnter, onMouseLeave }) {
// console.log(tile)
const style = {
transform: generateTransform(tile, box, bounds, videoBounds),
@@ -29,6 +29,7 @@ export default function TileGradient({ tile, box, bounds, cursors, videoBounds,
onMouseDown={onMouseDown}
onDoubleClick={onDoubleClick}
onMouseEnter={onMouseEnter}
+ onMouseLeave={onMouseLeave}
style={style}
/>
)
diff --git a/frontend/app/views/tile/handles/tile.image.js b/frontend/app/views/tile/handles/tile.image.js
index 78b492e..c020b08 100644
--- a/frontend/app/views/tile/handles/tile.image.js
+++ b/frontend/app/views/tile/handles/tile.image.js
@@ -1,7 +1,7 @@
import React from 'react'
import { generateTransform, pickCursor } from 'app/views/tile/tile.utils'
-export default function TileImage({ tile, box, bounds, cursors, videoBounds, viewing, onMouseDown, onDoubleClick, onMouseEnter }) {
+export default function TileImage({ tile, box, bounds, cursors, videoBounds, viewing, onMouseDown, onDoubleClick, onMouseEnter, onMouseLeave }) {
// console.log(tile)
const style = {
transform: generateTransform(tile, box, bounds, videoBounds),
@@ -52,6 +52,7 @@ export default function TileImage({ tile, box, bounds, cursors, videoBounds, vie
onMouseDown={onMouseDown}
onDoubleClick={onDoubleClick}
onMouseEnter={onMouseEnter}
+ onMouseLeave={onMouseLeave}
style={style}
>
{content}
diff --git a/frontend/app/views/tile/handles/tile.link.js b/frontend/app/views/tile/handles/tile.link.js
index 2d0e368..bb12179 100644
--- a/frontend/app/views/tile/handles/tile.link.js
+++ b/frontend/app/views/tile/handles/tile.link.js
@@ -1,7 +1,7 @@
import React from 'react'
import { generateTransform, unitsDimension, pickCursor } from 'app/views/tile/tile.utils'
-export default function TileLink({ tile, box, bounds, videoBounds, cursors, viewing, onMouseDown, onDoubleClick, onMouseEnter }) {
+export default function TileLink({ tile, box, bounds, videoBounds, cursors, viewing, onMouseDown, onDoubleClick, onMouseEnter, onMouseLeave }) {
// console.log(tile)
const style = {
transform: generateTransform(tile, box, bounds, videoBounds),
@@ -29,6 +29,7 @@ export default function TileLink({ tile, box, bounds, videoBounds, cursors, view
onMouseDown={onMouseDown}
onDoubleClick={onDoubleClick}
onMouseEnter={onMouseEnter}
+ onMouseLeave={onMouseLeave}
style={style}
>
{content}
diff --git a/frontend/app/views/tile/handles/tile.text.js b/frontend/app/views/tile/handles/tile.text.js
index 373dca0..46d285d 100644
--- a/frontend/app/views/tile/handles/tile.text.js
+++ b/frontend/app/views/tile/handles/tile.text.js
@@ -7,7 +7,7 @@ const VERTICAL_MARQUEE_DIRECTION = {
down: "right",
}
-export default function TileText({ tile, box, bounds, videoBounds, cursors, viewing, onMouseDown, onDoubleClick, onMouseEnter }) {
+export default function TileText({ tile, box, bounds, videoBounds, cursors, viewing, onMouseDown, onDoubleClick, onMouseEnter, onMouseLeave }) {
if (!tile.settings.content) {
return null
}
@@ -79,6 +79,7 @@ export default function TileText({ tile, box, bounds, videoBounds, cursors, view
onMouseDown={onMouseDown}
onDoubleClick={onDoubleClick}
onMouseEnter={onMouseEnter}
+ onMouseLeave={onMouseLeave}
style={style}
>
{content}
diff --git a/frontend/app/views/tile/handles/tile.video.js b/frontend/app/views/tile/handles/tile.video.js
index 760aabf..ca9286a 100644
--- a/frontend/app/views/tile/handles/tile.video.js
+++ b/frontend/app/views/tile/handles/tile.video.js
@@ -72,7 +72,7 @@ export default class TileVideo extends Component {
}
render() {
- let { tile, box, bounds, videoBounds, cursors, viewing, onMouseDown, onDoubleClick, onMouseEnter } = this.props
+ let { tile, box, bounds, videoBounds, cursors, viewing, onMouseDown, onDoubleClick, onMouseEnter, onMouseLeave } = this.props
if (!tile.settings.url) {
return null
@@ -106,6 +106,7 @@ export default class TileVideo extends Component {
onMouseDown={onMouseDown}
onDoubleClick={onDoubleClick}
onMouseEnter={onMouseEnter}
+ onMouseLeave={onMouseLeave}
style={style}
>
<video
diff --git a/frontend/site/projects/museum/views/jakrawal.links.css b/frontend/site/projects/museum/views/jakrawal.links.css
index 96cc0d3..ca70885 100644
--- a/frontend/site/projects/museum/views/jakrawal.links.css
+++ b/frontend/site/projects/museum/views/jakrawal.links.css
@@ -5,10 +5,12 @@
width: 20%;
min-width: 140px;
height: 100%;
+/*
background-image: url(/last-museum/static/media/last-museum/jakrawal-nilthamrong/left.png);
background-position: left 40px center;
background-repeat: no-repeat;
- cursor: url(/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-102.png) 50 50, pointer;
+*/
+ cursor: url(/last-museum/static/media/last-museum/jakrawal-nilthamrong/left.png) 50 50, pointer;
}
.jakrawal-right {
@@ -18,10 +20,12 @@
width: 20%;
min-width: 140px;
height: 100%;
+/*
background-image: url(/last-museum/static/media/last-museum/jakrawal-nilthamrong/right.png);
background-position: right 40px center;
background-repeat: no-repeat;
- cursor: url(/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-102.png) 50 50, pointer;
+*/
+ cursor: url(/last-museum/static/media/last-museum/jakrawal-nilthamrong/right.png) 50 50, pointer;
}
.jakrawal-text {
diff --git a/frontend/site/viewer/viewer.container.js b/frontend/site/viewer/viewer.container.js
index aae8990..46ef0d0 100644
--- a/frontend/site/viewer/viewer.container.js
+++ b/frontend/site/viewer/viewer.container.js
@@ -26,6 +26,8 @@ class ViewerContainer extends Component {
this.pageRef = React.createRef()
this.handleMouseDown = this.handleMouseDown.bind(this)
this.handleResize = this.handleResize.bind(this)
+ this.handleMouseEnter = this.handleMouseEnter.bind(this)
+ this.handleMouseLeave = this.handleMouseLeave.bind(this)
this.removeRoadblock = this.removeRoadblock.bind(this)
this.updateTimer = this.updateTimer.bind(this)
window.addEventListener('resize', this.handleResize)
@@ -163,6 +165,21 @@ class ViewerContainer extends Component {
restart: true,
})
}
+ if (tile.settings.show_popup_on_hover && tile.settings.on_hover_popup) {
+ actions.site.setPopups({
+ ...this.props.popups,
+ [tile.settings.on_hover_popup]: true,
+ })
+ }
+ }
+
+ handleMouseLeave(e, tile) {
+ if (tile.settings.show_popup_on_hover && tile.settings.on_hover_popup) {
+ actions.site.setPopups({
+ ...this.props.popups,
+ [tile.settings.on_hover_popup]: false,
+ })
+ }
}
handlePlaybackEnded(tile) {
@@ -218,6 +235,7 @@ class ViewerContainer extends Component {
onPlaybackEnded={e => this.handlePlaybackEnded(e, tile)}
onDoubleClick={e => {}}
onMouseEnter={e => this.handleMouseEnter(e, tile)}
+ onMouseLeave={e => this.handleMouseLeave(e, tile)}
/>
)
})}