2020-11-08 21:40:07 +01:00
|
|
|
const PROJECT_OBJECT = "div";
|
|
|
|
const PROJECT_TITLE = "h1";
|
|
|
|
const PROJECT_META = "p";
|
2020-11-08 15:21:51 +01:00
|
|
|
|
|
|
|
function loadProjectList() {
|
|
|
|
api.getProjects().then((projects) => {
|
2020-11-08 21:40:07 +01:00
|
|
|
var container = u(u("#project-list").first());
|
2020-11-21 00:49:22 +01:00
|
|
|
container.children().remove();
|
2020-11-08 15:21:51 +01:00
|
|
|
Object.values(projects).forEach((project) => {
|
2020-11-08 21:40:07 +01:00
|
|
|
var obj = createNode(PROJECT_OBJECT);
|
2020-11-08 15:21:51 +01:00
|
|
|
var data = undefined;
|
|
|
|
|
2020-11-08 21:40:07 +01:00
|
|
|
data = createNode(PROJECT_TITLE);
|
|
|
|
append(obj, data);
|
2020-11-08 15:21:51 +01:00
|
|
|
u(data).text(project["name"]);
|
|
|
|
|
2020-11-21 00:49:22 +01:00
|
|
|
var duration = Number((parseFloat(project["duration"]) / 60 / 60).toFixed(2));
|
2020-11-08 15:21:51 +01:00
|
|
|
var unit = "hours";
|
2020-11-08 21:40:07 +01:00
|
|
|
data = createNode(PROJECT_META);
|
|
|
|
append(obj, data);
|
2020-11-08 15:21:51 +01:00
|
|
|
u(data).text(duration + " " + unit);
|
|
|
|
|
2020-11-08 21:40:07 +01:00
|
|
|
data = createNode(PROJECT_META);
|
|
|
|
append(obj, data);
|
|
|
|
u(data).text(project["record_count"] + " records");
|
2020-11-08 15:21:51 +01:00
|
|
|
|
2020-11-08 21:40:07 +01:00
|
|
|
obj = u(obj);
|
|
|
|
obj.data("project-id", project["project_id"]);
|
|
|
|
obj.on("click", projectClicked);
|
2020-11-08 15:21:51 +01:00
|
|
|
|
2020-11-08 21:40:07 +01:00
|
|
|
container.append(obj);
|
2020-11-08 15:21:51 +01:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// Created new DOM object
|
|
|
|
// element: Type of DOM object (div, p, ...)
|
|
|
|
function createNode(element) {
|
|
|
|
return document.createElement(element);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Appends child to parent
|
|
|
|
// parent: DOM to append child to
|
|
|
|
// el: DOM child to append to parent
|
|
|
|
function append(parent, el) {
|
|
|
|
return parent.appendChild(el);
|
|
|
|
}
|
|
|
|
|
|
|
|
function projectClicked(event) {
|
|
|
|
console.log(event);
|
|
|
|
}
|