-
Notifications
You must be signed in to change notification settings - Fork 35
Onboarding project: Celeste #43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
app.ts
Outdated
| @@ -0,0 +1,366 @@ | |||
|
|
|||
| let state = { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No point in defining the state object, rather define the attributes as they are.
app.ts
Outdated
|
|
||
| // These are 'technically' constants | ||
| let RECORDCOUNT = 350; | ||
| let HEADERS = ["ID", "City", "Population"]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no point in giving these variables values, rather just define them with an appropriate type.
app.ts
Outdated
| let HEADERS = ["ID", "City", "Population"]; | ||
|
|
||
| // 'Global' get element | ||
| function el(element: string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this function as it just adds more overhead.
rather declare your document elements once so that you can reference them without having to call functions.
app.ts
Outdated
| // Fetch headers and record count | ||
| async function getData() { | ||
| // API calls for record count and headers | ||
| RECORDCOUNT = await (await fetch('/recordCount')).json(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rather use this format:
await fetch(url).then(resp => {...})
and assign the values you need from resp
app.ts
Outdated
| async function getData() { | ||
| // API calls for record count and headers | ||
| RECORDCOUNT = await (await fetch('/recordCount')).json(); | ||
| HEADERS = await (await fetch('/columns')).json(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above
app.ts
Outdated
| async function deleteRows(newHeight: number, diff: number) { | ||
| let table = el("content-table"); | ||
| let tableBody = table?.querySelector("tbody"); | ||
| let num = newHeight - 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing semicolon ;
app.ts
Outdated
| } | ||
| else if (diff > 0 && state.trimEnd == RECORDCOUNT - 1) { | ||
| // Prepend rows as last page gets bigger | ||
| let timeoutId: ReturnType<typeof setTimeout>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove timeoutId, as it is not used
app.ts
Outdated
| window.onload = () => { | ||
| state.trimStart = 0 | ||
| state.trimEnd = state.trimStart + state.records - 1; | ||
| el('first')?.setAttribute("disabled", "disabled"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above
app.ts
Outdated
| // > ))))))))))))))))={ | ||
| // `, ))))))\ \)))))))={ | ||
| // ',))))))))\/)))))' \{ | ||
| // '*O))))))))O*' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just keep swimming
| @@ -0,0 +1,197 @@ | |||
|
|
|||
| html { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there's a number of indentation issues are, make sure that your spacing is correct.
anzelIMQS
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some cleaning up and logical separation stuff. Otherwise, it looks awesome.
app.ts
Outdated
|
|
||
|
|
||
| // These are 'technically' constants | ||
| let RECORDCOUNT = 350; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would probably be a better idea to only define the global variables and not initialize them. Let the backend populate them accordingly even though we know what the values will be 😋. They shouldn't be considered as constants.
app.ts
Outdated
| } | ||
| else if (diff > 0 && state.trimEnd == RECORDCOUNT - 1) { | ||
| // Prepend rows as last page gets bigger | ||
| let timeoutId: ReturnType<typeof setTimeout>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove the unused variable
app.ts
Outdated
|
|
||
| state.countRec = state.countRec + diff; | ||
| state.trimEnd = state.trimEnd + diff; | ||
| state.records = newHeight; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
state.records = newHeight; is a line that gets repeated in all your conditional cases. Try to remove some repetition and optimise your if and else statements to only apply the necessary logic and have a clean look.
state.records = newHeight; can be called after your if/else statements then it is not necessary for the last else.
app.ts
Outdated
| start = state.trimStart - addTop; | ||
|
|
||
| for (let i = end; i >= start; i--) { | ||
| let recordsLink = "/records?from=" + i + "&to=" + i; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try to remove the repetition for creating the link string and parsing it as a parameter.
Rather change the "addRows/prependRows" function to accept the start and end variables as parameters as well and create the link string inside that function.
app.ts
Outdated
|
|
||
|
|
||
| // Add rows to table | ||
| async function addRows(link: string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can change the addRows function to accept a boolean as a parameter e.g. prepend. This boolean can determine if you want to append or prepend. Then it won't be necessary for the prependRows function. They have the exact same functionality.
| async function addRows(link: string) { | |
| async function addRows(link: string, prepend?: boolean) { |
app.ts
Outdated
| cellElement.textContent = cellText; | ||
| rowElement.appendChild(cellElement); // Append cells | ||
| } | ||
| tableBody?.appendChild(rowElement); // Append rows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the prepend if statement
app.ts
Outdated
| end = state.trimStart - 1; | ||
| start = state.trimStart - diff; | ||
|
|
||
| for (let i = end; i >= start; i--) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it necessary for a for loop though? It's not too efficient to fetch the records one-by-one.
Try to only request your batch of records once and handle the prepending logic only after that inside the "addRows/prependRows" function i.e your backward loop.
|
I think Pierre and Anzel covered everything I saw: especially on the repetitive code. And yes.. just keep swimming lol. |
FritzOnFire
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Part 1 of the review, only got through the app.ts file, will do the rest later
app.ts
Outdated
| let records = Math.floor((window.innerHeight - 160) / 40); // Estimate of available table space | ||
| let trimStart: number; | ||
| let trimEnd: number; | ||
| let countRec: number; | ||
| let isAppend: boolean; | ||
|
|
||
| // Variables fetched once with load of window | ||
| let RECORDCOUNT: number; | ||
| let HEADERS: string[]; | ||
|
|
||
| // Global document elements | ||
| let contentTable: HTMLElement | null = document.getElementById('content-table'); | ||
| let tableBody: HTMLTableSectionElement | null = contentTable!.querySelector("tbody"); | ||
| let tableHead: HTMLElement | null = document.getElementById("content-thead"); | ||
| let pageInfo: HTMLElement | null = document.getElementById('page-info'); | ||
| let firstBtn: HTMLElement | null = document.getElementById('first'); | ||
| let prevBtn: HTMLElement | null = document.getElementById('prev'); | ||
| let nextBtn: HTMLElement | null = document.getElementById('next'); | ||
| let lastBtn: HTMLElement | null = document.getElementById('last'); | ||
| let inputBox: HTMLElement | null = document.getElementById('id-search'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Global variables are bad. Please move them into a class.
app.ts
Outdated
| RECORDCOUNT = await fetch('/recordCount') | ||
| .then(resp => resp.json()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So you rather want to set the value of RECORDCOUNT inside another then, like so:
.then(resp => {
// Check resp code for issues and `throw` if something went wrong.
return resp.json();
})
.then(count => {
RECORDCOUNT = count;
})This is also very important, as you have to add a catch to your fetch to check and handle errors.
app.ts
Outdated
| HEADERS = await fetch('/columns') | ||
| .then(resp => resp.json()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment as above, but about HEADERS
app.ts
Outdated
|
|
||
|
|
||
| // Fetch headers and record count | ||
| async function getData() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add the return type to this function. (It should be Promise<void>)
app.ts
Outdated
| else if (diff > 0 && end >= RECORDCOUNT) { | ||
| let addEnd = (RECORDCOUNT - 1) - trimEnd; | ||
| end = RECORDCOUNT - 1; | ||
| start = end - addEnd + 1; | ||
| isAppend = true; | ||
| let recordsLink = "/records?from=" + start + "&to=" + end; | ||
| addRows(recordsLink); | ||
|
|
||
| let addTop = diff - addEnd; | ||
| end = trimStart - 1; | ||
| start = trimStart - addTop; | ||
| isAppend = false; | ||
|
|
||
| for (let i = end; i >= start; i--) { | ||
| let recordsLink = "/records?from=" + i + "&to=" + i; | ||
| await addRows(recordsLink); | ||
| } | ||
|
|
||
| trimEnd = RECORDCOUNT - 1; | ||
| trimStart = trimStart - addTop; | ||
| records = newHeight; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should change the check for the previous if to also catch this case and remove this one, they will both have the same result.
app.ts
Outdated
| trimStart = trimStart - addTop; | ||
| records = newHeight; | ||
| } | ||
| else if (diff > 0 && start <= RECORDCOUNT - 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put the else on the same line as the }
app.ts
Outdated
| records = newHeight; | ||
| } | ||
| else { | ||
| records = newHeight; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You seem to be doing this in every if or else. You should move it to after the ifs, then you can remove it from each if
app.ts
Outdated
| }, 100) | ||
| ); // Log window dimensions at most every 100ms |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same line comment
app.ts
Outdated
| } | ||
| else { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put this else on the same line as the }
FritzOnFire
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really appreciate the extra detail you put into all of the css, she is not an easy one to master.
You seem to be focusing alot on making tiny calls to the back-end, but what you should be focusing on is making as few calls as possible (with-out fetching everything of coarse). Rather figure out before hand what all the rows are that you need, and only do one call per user input (obviously this becomes even less with your debouncing)
index.html
Outdated
| <h1>IMQS Onboarding Project</h1> | ||
| </div> | ||
| <div class="constrols-search"> | ||
| <button class="search-btn" onclick="searchFunction()">Search ID</button> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should not specify the onclick here, this should be done in your typescript code.
index.html
Outdated
| <p id="page-info" class="page-info"></p> | ||
| </div> | ||
| </div> | ||
| <script type="text/javascript" charset="utf-8" src="app.js"></script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your scripts should all be in the head tag
style.css
Outdated
| @@ -0,0 +1,197 @@ | |||
|
|
|||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this empty line.
style.css
Outdated
| .controls { | ||
| display: flex; | ||
| text-overflow: clip; | ||
| white-space: nowrap; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please change the spaces to tabs here. (You can add "editor.renderWhitespace": "all", to your vscode settings to catch stuff like this.)
style.css
Outdated
| border: solid 1px #cae00d; | ||
| } | ||
|
|
||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this empty line.
style.css
Outdated
| text-overflow: clip; | ||
| white-space: nowrap; | ||
| background-color: #16191e; | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this empty line.
style.css
Outdated
|
|
||
| } | ||
|
|
||
| /* Page n underneath table */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you are missing a few letters here. (or you have to many?)
style.css
Outdated
|
|
||
| /* Pagination buttons */ | ||
| .pagination-wrapper { | ||
| width: 70%; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment about the spaces here.
style.css
Outdated
| } | ||
|
|
||
| .btn { | ||
| color: #fdfdfd; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment about the spaces here.
| .loader { | ||
| height: 100vh; | ||
| width: 100vw; | ||
| overflow: hidden; | ||
| background-color: #16191e; | ||
| /* position: absolute; */ | ||
| align-items: center; | ||
| } | ||
|
|
||
| .loader>div{ | ||
| height: 6rem; | ||
| width: 6rem; | ||
| border: 15px solid #45474b; | ||
| border-top-color: #cae00d; | ||
| position: absolute; | ||
| margin: auto; | ||
| top: 0; | ||
| bottom: 0; | ||
| left: 0; | ||
| right: 0; | ||
| border-radius: 50%; | ||
| animation: spin 1.5s infinite linear; | ||
| } | ||
|
|
||
| @keyframes spin { | ||
| 100%{ | ||
| transform: rotate(360deg); | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very awesome! Great to see the extra effort :)
FritzOnFire
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some small comments, and questions, you can make the changes if you want, but I would say you are done :)
| if (resp == true) { | ||
| state.loadIntoTable(true); | ||
| } | ||
| }) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing ;
| @@ -0,0 +1,384 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add your js files to your gitignore. (But make sure that jquery is still included)
| @@ -0,0 +1 @@ | |||
| {"version":3,"file":"state.js","sourceRoot":"","sources":["state.ts"],"names":[],"mappings":"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"} No newline at end of file | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add your .js.map files to your gitignore
| console.error(error); | ||
| }); | ||
|
|
||
| return true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice touch :)
| // Prepend rows as last page gets bigger | ||
| end = this.getRecordCount() - 1; | ||
| start = end - (newHeight - 1); | ||
| console.log("End reached, displaying record ", start, " to ", end); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove stray console log
| .then(count => { | ||
| this.data = count; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think this should be called count
| start = end - (newHeight - 1); | ||
| console.log("End reached, displaying record ", start, " to ", end); | ||
|
|
||
| await this.addRows(start, end); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does only this addRows have an await?
No description provided.