Sync commit
This commit is contained in:
parent
4c64f99ced
commit
060ce6964c
3 changed files with 63 additions and 43 deletions
|
@ -23,7 +23,6 @@ header {
|
||||||
background: linear-gradient(137deg, rgba(10, 133, 168, 1) 0%, rgba(136, 0, 0, 1) 100%); */
|
background: linear-gradient(137deg, rgba(10, 133, 168, 1) 0%, rgba(136, 0, 0, 1) 100%); */
|
||||||
/* background: rgb(10, 133, 168);
|
/* background: rgb(10, 133, 168);
|
||||||
background: linear-gradient(137deg, rgba(10, 133, 168, 1) 0%, rgba(255, 255, 255, 1) 48%, rgba(136, 0, 0, 1) 100%); */
|
background: linear-gradient(137deg, rgba(10, 133, 168, 1) 0%, rgba(255, 255, 255, 1) 48%, rgba(136, 0, 0, 1) 100%); */
|
||||||
|
|
||||||
/* offset-x | offset-y | blur-radius | spread-radius | color */
|
/* offset-x | offset-y | blur-radius | spread-radius | color */
|
||||||
box-shadow: 0px 0px 2rem 1rem #000D;
|
box-shadow: 0px 0px 2rem 1rem #000D;
|
||||||
}
|
}
|
||||||
|
@ -55,14 +54,11 @@ main {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea:focus,
|
textarea:focus, input:focus, button:focus {
|
||||||
input:focus,
|
|
||||||
button:focus {
|
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
input,
|
input, button {
|
||||||
button {
|
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
border: solid red 1px;
|
border: solid red 1px;
|
||||||
background-color: #0000;
|
background-color: #0000;
|
||||||
|
@ -74,6 +70,7 @@ button {
|
||||||
button:hover {
|
button:hover {
|
||||||
color: white;
|
color: white;
|
||||||
background-color: #F007;
|
background-color: #F007;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
button:active {
|
button:active {
|
||||||
|
@ -89,3 +86,40 @@ thead * {
|
||||||
color: #AAA;
|
color: #AAA;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#project-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
align-content: flex-start;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#project-list>* {
|
||||||
|
margin: 5px;
|
||||||
|
border: 1px dashed #AAA;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: white;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#project-list>*:hover {
|
||||||
|
color: red;
|
||||||
|
border-color: red;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#project-list h1 {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 24pt;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#project-list p {
|
||||||
|
font-size: 10pt;
|
||||||
|
color: #AAA;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
|
@ -43,18 +43,13 @@
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
<table class="not-public hidden">
|
<div class="idle hidden">
|
||||||
<thead>
|
<h1>
|
||||||
<th>Project</th>
|
Select project to track
|
||||||
<th>Start date</th>
|
</h1>
|
||||||
<th>Duration</th>
|
<div id="project-list">
|
||||||
<th>Records</th>
|
</div>
|
||||||
<th>Average record</th>
|
</div>
|
||||||
</thead>
|
|
||||||
<tbody id="project-list">
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,33 @@
|
||||||
const TABLE_ROW = "tr";
|
const PROJECT_OBJECT = "div";
|
||||||
const TABLE_DATA = "td";
|
const PROJECT_TITLE = "h1";
|
||||||
|
const PROJECT_META = "p";
|
||||||
|
|
||||||
function loadProjectList() {
|
function loadProjectList() {
|
||||||
api.getProjects().then((projects) => {
|
api.getProjects().then((projects) => {
|
||||||
var table = u(u("#project-list").first());
|
var container = u(u("#project-list").first());
|
||||||
Object.values(projects).forEach((project) => {
|
Object.values(projects).forEach((project) => {
|
||||||
var row = createNode(TABLE_ROW);
|
var obj = createNode(PROJECT_OBJECT);
|
||||||
var data = undefined;
|
var data = undefined;
|
||||||
|
|
||||||
data = createNode(TABLE_DATA);
|
data = createNode(PROJECT_TITLE);
|
||||||
append(row, data);
|
append(obj, data);
|
||||||
u(data).text(project["name"]);
|
u(data).text(project["name"]);
|
||||||
|
|
||||||
data = createNode(TABLE_DATA);
|
|
||||||
append(row, data);
|
|
||||||
u(data).text(new Date(project["start_date"]).toDateString());
|
|
||||||
|
|
||||||
var duration = parseFloat(project["duration"]) / 60 / 60;
|
var duration = parseFloat(project["duration"]) / 60 / 60;
|
||||||
var unit = "hours";
|
var unit = "hours";
|
||||||
data = createNode(TABLE_DATA);
|
data = createNode(PROJECT_META);
|
||||||
append(row, data);
|
append(obj, data);
|
||||||
u(data).text(duration + " " + unit);
|
u(data).text(duration + " " + unit);
|
||||||
|
|
||||||
data = createNode(TABLE_DATA);
|
data = createNode(PROJECT_META);
|
||||||
append(row, data);
|
append(obj, data);
|
||||||
u(data).text(project["record_count"]);
|
u(data).text(project["record_count"] + " records");
|
||||||
|
|
||||||
data = createNode(TABLE_DATA);
|
obj = u(obj);
|
||||||
append(row, data);
|
obj.data("project-id", project["project_id"]);
|
||||||
u(data).text(
|
obj.on("click", projectClicked);
|
||||||
duration / parseInt(project["record_count"]) + " " + unit + "/record"
|
|
||||||
);
|
|
||||||
|
|
||||||
row = u(row);
|
container.append(obj);
|
||||||
row.data("project-id", project["project_id"]);
|
|
||||||
row.on("click", projectClicked);
|
|
||||||
|
|
||||||
table.append(row);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue