diff --git a/IMFePIit29P.ttf b/IMFePIit29P.ttf
deleted file mode 100644
index 5572611..0000000
Binary files a/IMFePIit29P.ttf and /dev/null differ
diff --git a/IMFePIsc29P.ttf b/IMFePIsc29P.ttf
deleted file mode 100644
index 44ee75e..0000000
Binary files a/IMFePIsc29P.ttf and /dev/null differ
diff --git a/img/gretchen.jpg b/img/gretchen.jpg
deleted file mode 100644
index 304e857..0000000
Binary files a/img/gretchen.jpg and /dev/null differ
diff --git a/src/display.js b/src/display.js
index 98cba1e..6f1efed 100644
--- a/src/display.js
+++ b/src/display.js
@@ -35,8 +35,8 @@ export class Display {
target.addEventListener('drop', e => {
let target = findA(e.target)
if (!target || !target.draggable) return
+ e.preventDefault()
dispatch({ action: 'link', from: e.dataTransfer.getData("application/prs.x"), to: target.dataset['id']})
- && e.preventDefault()
})
this.graph = new Springy.Graph()
@@ -58,9 +58,7 @@ export class Display {
graph.addNode(new Springy.Node(item.id, item))
}
for (const item of state.links) {
- graph.addEdge(new Springy.Edge(item.id, graph.nodeSet[item.from], graph.nodeSet[item.to], {
- text: state.items[item.from].linkable.filter(i => state.items[item.to].linkable.includes(i)).join(', ')
- }))
+ graph.addEdge(new Springy.Edge(item.id, graph.nodeSet[item.from], graph.nodeSet[item.to], {}))
}
let currentBB = this.layout.getBoundingBox()
let width = this.target.scrollWidth || 100
@@ -72,6 +70,12 @@ export class Display {
return new Springy.Vector(sx, sy);
};
+ var fromScreen = function(s) {
+ var size = currentBB.topright.subtract(currentBB.bottomleft);
+ var px = (s.x / canvas.width) * size.x + currentBB.bottomleft.x;
+ var py = (s.y / canvas.height) * size.y + currentBB.bottomleft.y;
+ return new Springy.Vector(px, py);
+ };
var renderer = new Springy.Renderer(
this.layout,
() => {
@@ -82,7 +86,7 @@ export class Display {
},
function drawEdge(edge, p1, p2) {
const dom = document.createElement('span')
- dom.innerText = edge.data.text
+ dom.innerText = 'text'
p1 = toScreen(p1)
p2 = toScreen(p2)
if (p1.y > p2.y) [p1, p2] = [p2, p1]
@@ -92,17 +96,22 @@ export class Display {
let rad = Math.atan(b / a)
if (negative) rad = rad + Math.PI
if (rad > Math.PI / 2) {
+ console.warn(negative)
rad += Math.PI
;[p2, p1] = [p1, p2]
- }
+ } else if (negative) { console.warn(false) }
- dom.className = 'line'
+ dom.style.transformOrigin = '0 0'
dom.style.transform = 'rotate(' + rad + 'rad) translateY(-1em)'
+ dom.style.position = 'absolute'
dom.style.left = p1.x + 'px'
dom.style.top = p1.y + 'px'
dom.style.right = p2.x + 'px'
dom.style.bottom = p2.y + 'px'
dom.style.width = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)) + 'px'
+ dom.style.height = '1em'
+ dom.style.borderBottom = '3px solid black'
+ dom.style.textAlign = 'center'
// FIXME eigentlich falsches parent
field.appendChild(dom)
},
@@ -136,18 +145,8 @@ export class Display {
if (state.show !== null) {
const wrapper = document.createElement('a')
wrapper.href = '/'
- wrapper.className = 'fullview'
const fullview = document.createElement('div')
- const name = 'Gretchen'
- const desc = 'Näherin, 20'
- const img = '/img/gretchen.jpg'
- const text = '
Text
More text text text
'
- fullview.innerHTML = `
-
- ${name}
- ${desc}
- Text text
- `
+ wrapper.className = 'fullview'
wrapper.appendChild(fullview)
target.appendChild(wrapper)
}
diff --git a/src/index.js b/src/index.js
index 4a4e84a..4834d6e 100644
--- a/src/index.js
+++ b/src/index.js
@@ -4,15 +4,9 @@ const target = document.createElement('div')
const state = {items: [], show: null, links: [] }
-const items = [
- {img: 'Dienstmädchen2.svg', linkable: ['Prekär']},
- {img: 'Rucksack2.svg', linkable: ['Prekär']},
- {img: 'Theater2.svg', linkable: ['Prekär']},
- {img: 'UnskilledLabour2.svg', linkable: ['Prekär']},
- {img: 'weben.svg', linkable: ['Prekär']}
-]
-for (let i = 0; i < items.length; ++i) {
- state.items.push({id: i, state: 'face-down', img: items[i].img, linkable: items[i].linkable})
+const imgs = ['Dienstmädchen2.svg', 'Rucksack2.svg', 'Theater2.svg', 'UnskilledLabour2.svg', 'weben.svg']
+for (let i = 0; i < imgs.length; ++i) {
+ state.items.push({id: i, state: 'face-down', img: imgs[i]})
}
class Actions {
@@ -27,24 +21,21 @@ class Actions {
}
link(from, to) {
state.links.push({id: state.links.length, from, to})
- return true
}
}
const actions = new Actions
let display
const dispatch = target => {
- let ret
if (target.action) {
- ret = actions[target.action](target.from, target.to)
+ actions[target.action](target.from, target.to)
} else {
const match = target.match(/\/([^/]+)\/([^/]+)/)
if (match && Object.hasOwnProperty.call(Actions.prototype, match[2])) {
- ret = actions[match[2]](match[1])
+ actions[match[2]](match[1])
} else actions.reset()
}
display.render(state)
- return ret
}
window.onpopstate = e => {
dispatch(document.location.search)
diff --git a/style.css b/style.css
index 408ae6b..e52e145 100644
--- a/style.css
+++ b/style.css
@@ -1,18 +1,6 @@
-@font-face {
- font-family: "Fell";
- src: url("/IMFePIit29P.ttf");
-}
-
-@font-face {
- font-family: "Fell Sc";
- src: url("/IMFePIsc29P.ttf");
-}
-
-
body {
- background-color: #e1eef2;
+ background-color: #e2eff3;
margin: 0;
- font-family: "Fell";
}
.wrapper {
@@ -56,67 +44,23 @@ body {
background-position: center;
}
-.line {
- border-bottom: 3px solid #1a1c1c;
- height: 1em;
- text-align: center;
- position: absolute;
- transform-origin: 0 0;
-}
-
.fullview {
width: 100%;
height: 100%;
position: fixed;
left: 0;
top: 0;
- background-color: #e1eef280;
+ background-color: #858c8f90;
padding: 1em;
box-sizing: border-box;
cursor: default;
}
-.fullview > img {
+.fullview > div {
+ background-color: #858c8f;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
min-width: 40em;
min-height: 30em;
- max-height: 100%;
-}
-.fullview > div {
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- min-width: 20em;
- min-height: 30em;
- max-height: 100%;
- background-color: #006680;
- padding: 1.5em;
- color: white;
- border-radius: 20px;
- border: 5px solid #1a1c1c;
- box-sizing: border-box;
-}
-.fullview > div img {
- float: right;
- width: 120px;
- border-radius: 80px;
- border: 3px solid #1a1c1c;
- margin-bottom: 1em;
-}
-
-h1, .desc {
- font-family: "Fell Sc";
-}
-
-.fulltext {
- clear: both;
- background-color: #99d7e9;
- border-radius: 80px;
- border: 3px solid #1a1c1c;
- color: #1a1c1c;
- margin-left: -10px;
- padding: 0.5em;
}