Browse Source

Move intro rendering to display

master
Adrian Heine 4 years ago
parent
commit
f5d0077521
  1. 10
      src/display.js
  2. 22
      src/index.js

10
src/display.js

@ -19,6 +19,13 @@ export class Display {
} }
return target return target
} }
target.addEventListener('click', e => {
let target = findA(e.target)
if (!target) return
window.history.pushState(null, "", target.href)
dispatch(target.getAttribute('href'))
e.preventDefault()
})
target.addEventListener('dragstart', e => { target.addEventListener('dragstart', e => {
let target = findA(e.target) let target = findA(e.target)
if (!target || !target.draggable) return if (!target || !target.draggable) return
@ -51,6 +58,9 @@ export class Display {
0.5 // Damping 0.5 // Damping
) )
} }
renderIntro(intro) {
this.target.appendChild(modal(intro))
}
render(state) { render(state) {
const target = document.createElement('div') const target = document.createElement('div')
target.className = 'wrapper' target.className = 'wrapper'

22
src/index.js

@ -1,8 +1,6 @@
import {modal, Display} from './display.js'
import {Display} from './display.js'
import intro from './intro.js' import intro from './intro.js'
const target = document.createElement('div')
const state = {items: [], show: null, links: [] } const state = {items: [], show: null, links: [] }
import {items} from './data.js' import {items} from './data.js'
@ -51,23 +49,9 @@ const dispatch = target => {
window.onpopstate = e => { window.onpopstate = e => {
dispatch(document.location.search) dispatch(document.location.search)
} }
const findA = target => {
while (target.nodeName !== 'A') {
target = target.parentNode
if (!target) return
}
return target
}
document.body.addEventListener('click', e => {
let target = findA(e.target)
if (!target) return
window.history.pushState(null, "", target.href)
dispatch(target.getAttribute('href'))
e.preventDefault()
})
const target = document.createElement('div')
display = new Display('', dispatch, target) display = new Display('', dispatch, target)
if (document.location.search) dispatch(document.location.search) if (document.location.search) dispatch(document.location.search)
else document.body.appendChild(modal(intro))
else display.renderIntro(intro)
document.body.appendChild(target) document.body.appendChild(target)
Loading…
Cancel
Save