This commit is contained in:
Yann Esposito (Yogsototh) 2021-09-06 17:35:54 +02:00
parent 2aa937bb49
commit 72f50b438b
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646

View file

@ -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();
}