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;
|
text-align: center;
|
||||||
border: solid 1px;
|
border: solid 1px;
|
||||||
}
|
}
|
||||||
.card { border: solid 2px #FDD; border-radius: 4px; width: 1em; height: 1em; padding: 3px; text-align: center;
|
.card { border-radius: 6px;
|
||||||
weight: bold; margin: 0 auto; display: inline-block;}
|
border: solid 1px #000;
|
||||||
.yann { background-color: #C32; color: white; }
|
color: white;
|
||||||
.wanderson { background-color: #3A2; color: white; }
|
min-width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
padding: 1px 3px 3px ;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 2px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
@ -29,8 +36,16 @@
|
||||||
<div id="main"></div>
|
<div id="main"></div>
|
||||||
</body>
|
</body>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
// (function () {
|
||||||
var people = [ "yann", "wanderson" ];
|
var people = ["Ag",
|
||||||
|
"Ambrose",
|
||||||
|
"Irina",
|
||||||
|
"Kiril",
|
||||||
|
"Mark",
|
||||||
|
"Olivier",
|
||||||
|
"Rob",
|
||||||
|
"Wanderson",
|
||||||
|
];
|
||||||
var nbcolumns = 2;
|
var nbcolumns = 2;
|
||||||
var fts = [ "SX Session", "Bug Squashing", "Secure Client" ]
|
var fts = [ "SX Session", "Bug Squashing", "Secure Client" ]
|
||||||
|
|
||||||
|
@ -51,12 +66,18 @@
|
||||||
cards.forEach(function(card){ card.draggable = true; card.ondragstart = drag; });
|
cards.forEach(function(card){ card.draggable = true; card.ondragstart = drag; });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function genTable () {
|
function genTable () {
|
||||||
var t = document.createElement("table");
|
var t = document.createElement("table");
|
||||||
t.id = "maintable";
|
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) {
|
fts.forEach( function(ft) {
|
||||||
t.appendChild(mkRow(ft,4));
|
t.appendChild(mkRow(ft,nbcolumns));
|
||||||
});
|
});
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
@ -90,10 +111,25 @@
|
||||||
var devdiv = document.createElement('div');
|
var devdiv = document.createElement('div');
|
||||||
devdiv.classList.add(devname);
|
devdiv.classList.add(devname);
|
||||||
devdiv.classList.add('card');
|
devdiv.classList.add('card');
|
||||||
devdiv.textContent = devname.charAt(0).toUpperCase();
|
devdiv.textContent = devname;
|
||||||
|
devdiv.style.backgroundColor = genColor(devname);
|
||||||
return devdiv;
|
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){
|
function createDev(devname){
|
||||||
var res = devcard(devname);
|
var res = devcard(devname);
|
||||||
res.id = devname;
|
res.id = devname;
|
||||||
|
@ -104,12 +140,53 @@
|
||||||
ev.dataTransfer.setData("text", ev.target.id);
|
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) {
|
function drop(ev,el) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
var data = ev.dataTransfer.getData("text");
|
var data = ev.dataTransfer.getData("text");
|
||||||
el.appendChild(document.getElementById(data));
|
el.appendChild(document.getElementById(data));
|
||||||
}
|
}
|
||||||
window.addEventListener("load", init);
|
window.addEventListener("load", init);
|
||||||
})();
|
// })();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue