wip
This commit is contained in:
parent
1b1b8169b6
commit
c3d52fe242
1 changed files with 87 additions and 10 deletions
97
index.html
97
index.html
|
@ -14,10 +14,17 @@
|
|||
text-align: center;
|
||||
border: solid 1px;
|
||||
}
|
||||
.card { border: solid 2px #FDD; border-radius: 4px; width: 1em; height: 1em; padding: 3px; text-align: center;
|
||||
weight: bold; margin: 0 auto; display: inline-block;}
|
||||
.yann { background-color: #C32; color: white; }
|
||||
.wanderson { background-color: #3A2; color: white; }
|
||||
.card { border-radius: 6px;
|
||||
border: solid 1px #000;
|
||||
color: white;
|
||||
min-width: 1em;
|
||||
height: 1em;
|
||||
padding: 1px 3px 3px ;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
margin: 2px;
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -29,8 +36,16 @@
|
|||
<div id="main"></div>
|
||||
</body>
|
||||
<script>
|
||||
(function () {
|
||||
var people = [ "yann", "wanderson" ];
|
||||
// (function () {
|
||||
var people = ["Ag",
|
||||
"Ambrose",
|
||||
"Irina",
|
||||
"Kiril",
|
||||
"Mark",
|
||||
"Olivier",
|
||||
"Rob",
|
||||
"Wanderson",
|
||||
];
|
||||
var nbcolumns = 2;
|
||||
var fts = [ "SX Session", "Bug Squashing", "Secure Client" ]
|
||||
|
||||
|
@ -51,12 +66,18 @@
|
|||
cards.forEach(function(card){ card.draggable = true; card.ondragstart = drag; });
|
||||
}
|
||||
|
||||
|
||||
function genTable () {
|
||||
var t = document.createElement("table");
|
||||
t.id = "maintable";
|
||||
t.appendChild(mkTitleRow(["FT","v1.81","v1.82","v1.83","v1.84"]));
|
||||
var previous = 2; // nb of previous release to show (2 means, 1 previous to prod, + current in prod)
|
||||
var nexts = 4; // nb of next releases to show
|
||||
var nbcolumns = previous + nexts;
|
||||
var rels = releases( previous, nexts );
|
||||
rels[0]="FT";
|
||||
t.appendChild(mkTitleRow(rels));
|
||||
fts.forEach( function(ft) {
|
||||
t.appendChild(mkRow(ft,4));
|
||||
t.appendChild(mkRow(ft,nbcolumns));
|
||||
});
|
||||
return t;
|
||||
}
|
||||
|
@ -90,10 +111,25 @@
|
|||
var devdiv = document.createElement('div');
|
||||
devdiv.classList.add(devname);
|
||||
devdiv.classList.add('card');
|
||||
devdiv.textContent = devname.charAt(0).toUpperCase();
|
||||
devdiv.textContent = devname;
|
||||
devdiv.style.backgroundColor = genColor(devname);
|
||||
return devdiv;
|
||||
}
|
||||
|
||||
function hashcode(s){
|
||||
return s.split("").reduce(
|
||||
function(acc,l){
|
||||
acc = acc + (l.charCodeAt(0) - 'A'.charCodeAt(0));
|
||||
return acc;
|
||||
},
|
||||
0);
|
||||
}
|
||||
|
||||
function genColor(devname) {
|
||||
var h = 2.17*hashcode(devname) % 256;
|
||||
return "hsl(" + h + ",80%, 36%)";
|
||||
}
|
||||
|
||||
function createDev(devname){
|
||||
var res = devcard(devname);
|
||||
res.id = devname;
|
||||
|
@ -104,12 +140,53 @@
|
|||
ev.dataTransfer.setData("text", ev.target.id);
|
||||
}
|
||||
|
||||
|
||||
// release logic
|
||||
|
||||
function getWeekNumber(d) {
|
||||
// Copy date so don't modify original
|
||||
d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
|
||||
// Set to nearest Thursday: current date + 4 - current day number
|
||||
// Make Sunday's day number 7
|
||||
d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
|
||||
// Get first day of year
|
||||
var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
|
||||
// Calculate full weeks to nearest Thursday
|
||||
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
|
||||
// Return array of year and week number
|
||||
return [d.getUTCFullYear(), weekNo];
|
||||
}
|
||||
|
||||
// should return a list of next releases
|
||||
// use the current date
|
||||
function releases(previous,nexts) {
|
||||
var curr = new Date; // get current date
|
||||
var monday = curr.getDate() - curr.getDay() + 1;
|
||||
var wed = monday + 2;
|
||||
var nbDays = curr.getDay() - 3;
|
||||
var afterWed = nbDays > 0;
|
||||
var w = getWeekNumber(curr);
|
||||
var year = w[0];
|
||||
var week = w[1];
|
||||
var release = "";
|
||||
var releaseWeek = (week+1)%2;
|
||||
var releaseNumVersion = Math.floor((week - 16)/2) + 71;
|
||||
var currentVersion = "v1." + (releaseNumVersion - (1 + previous));
|
||||
var size=nexts + previous + 1;
|
||||
var releases = new Array(size)
|
||||
for (i = 0; i < size; i++) {
|
||||
releases [i] = "v1." + (releaseNumVersion + (i - 3));
|
||||
}
|
||||
return releases;
|
||||
}
|
||||
|
||||
// drag n drop
|
||||
function drop(ev,el) {
|
||||
ev.preventDefault();
|
||||
var data = ev.dataTransfer.getData("text");
|
||||
el.appendChild(document.getElementById(data));
|
||||
}
|
||||
window.addEventListener("load", init);
|
||||
})();
|
||||
// })();
|
||||
</script>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue