juggl/juggl-server/js/helper.js

51 lines
1.3 KiB
JavaScript
Raw Normal View History

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-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"]);
var duration = parseFloat(project["duration"]) / 60 / 60;
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);
}