works!
This commit is contained in:
parent
2aa937bb49
commit
72f50b438b
1 changed files with 28 additions and 17 deletions
43
index.html
43
index.html
|
@ -48,6 +48,8 @@
|
|||
<script>
|
||||
// (function () {
|
||||
|
||||
function debug(args) { console.log(args); }
|
||||
|
||||
function enabledrag(event) { event.preventDefault(); }
|
||||
|
||||
var state = null;
|
||||
|
@ -71,7 +73,7 @@
|
|||
assignments: {}
|
||||
};
|
||||
}
|
||||
console.log(state);
|
||||
debug(state);
|
||||
}
|
||||
|
||||
function saveState() {
|
||||
|
@ -80,7 +82,7 @@
|
|||
|
||||
function init(){
|
||||
retrieveState();
|
||||
console.log(state);
|
||||
debug(state);
|
||||
var devcards=document.getElementById("devs");
|
||||
state.people.forEach(function(p) {
|
||||
devcards.appendChild( createDev(p) );
|
||||
|
@ -109,10 +111,11 @@
|
|||
cards.forEach(function(card){ card.draggable = true; card.ondragstart = drag; });
|
||||
// build assignments
|
||||
for ( cellid in state.assignments ) {
|
||||
for ( member in state.assignments[cellid] ) {
|
||||
state.assignments[cellid].forEach (function(member) {
|
||||
var el = document.getElementById( cellid );
|
||||
debug("devcard; member: " + member + ", cellid: " + cellid);
|
||||
el.appendChild(devcard(member, cellid));
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -252,49 +255,57 @@
|
|||
state.assignments[id]=[];
|
||||
}
|
||||
state.assignments[id].push(name);
|
||||
console.log(state.assignments);
|
||||
debug(state.assignments);
|
||||
}
|
||||
|
||||
function moveAssignment(id, name) {
|
||||
var memberName = name.replace(/^[^-]*-/,'').replace(/-cell-.*$/,'');
|
||||
var oldid = name.replace(/^.*-cell-/,'cell-');
|
||||
removeAssignment(name);
|
||||
if (! state.assignments[id]) {
|
||||
state.assignments[id]=[];
|
||||
}
|
||||
console.log("memberName: " + memberName);
|
||||
console.log("OLDID: " + oldid);
|
||||
var idx = state.assignments[oldid].indexOf(memberName);
|
||||
if (idx !== -1) {
|
||||
state.assignments[oldid].splice(idx,1);
|
||||
}
|
||||
state.assignments[id].push(memberName);
|
||||
console.log(state.assignments);
|
||||
debug(state.assignments);
|
||||
}
|
||||
|
||||
function drop(ev,el) {
|
||||
ev.preventDefault();
|
||||
var name = ev.dataTransfer.getData("text");
|
||||
if ( name.startsWith("inner-") ) {
|
||||
console.log("move: " + name);
|
||||
debug("move: " + name);
|
||||
document.getElementById(name).remove();
|
||||
var memberName = name.replace(/^[^-]*-/,'').replace(/-cell-.*$/,'');
|
||||
el.appendChild(devcard(memberName,el.id));
|
||||
moveAssignment(el.id, name);
|
||||
} else {
|
||||
console.log("create: " + name);
|
||||
debug("create: " + name);
|
||||
el.appendChild(devcard(name,el.id));
|
||||
createAssignment(el.id, name);
|
||||
}
|
||||
saveState();
|
||||
}
|
||||
|
||||
|
||||
function removeAssignment(name) {
|
||||
var memberName = name.replace(/^[^-]*-/,'').replace(/-cell-.*$/,'');
|
||||
var oldid = name.replace(/^.*-cell-/,'cell-');
|
||||
debug("memberName: " + memberName);
|
||||
debug("OLDID: " + oldid);
|
||||
var idx = state.assignments[oldid].indexOf(memberName);
|
||||
if (idx !== -1) {
|
||||
state.assignments[oldid].splice(idx,1);
|
||||
}
|
||||
debug(state.assignments);
|
||||
}
|
||||
|
||||
function trash(ev) {
|
||||
ev.preventDefault();
|
||||
var name = ev.dataTransfer.getData("text");
|
||||
if ( name.startsWith("inner-") ) {
|
||||
console.log("TRASH: " + name);
|
||||
debug("TRASH: " + name);
|
||||
unhltrash(null);
|
||||
document.getElementById(name).remove();
|
||||
removeAssignment(name);
|
||||
}
|
||||
saveState();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue