-
Notifications
You must be signed in to change notification settings - Fork 251
Maintain font size in grading view #7525
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
Maintain font size in grading view #7525
Conversation
|
Currently, I am working on a Jest test to see if when we visit the grading view, if the font size variable in localstorage is being used to set the state, font_size. |
david-yz-liu
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.
@donny-wong good work, I just left a few comments.
Regarding the remaining test cases, I suggest using a jest mock to return a particular value for the local storage when accessing text_viewer_font_size. See e.g. https://jestjs.io/docs/mock-functions.
| componentDidMount() { | ||
| this.highlight_root = this.raw_content.current.parentNode; | ||
|
|
||
| if (localStorage.getItem("text_viewer_font_size") != null) { |
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.
in general, use triple-equals instead of double-equals in Javascript.
| this.highlight_root = this.raw_content.current.parentNode; | ||
|
|
||
| if (localStorage.getItem("text_viewer_font_size") != null) { | ||
| this.setState({font_size: Number(localStorage.getItem("text_viewer_font_size"))}); |
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.
let's do the Number parsing in a try-catch; if the number fails to parse, don't set state and instead delete the localStorage value
b35e7bb to
313f323
Compare
Pull Request Test Coverage Report for Build 15495817481Details
💛 - Coveralls |
david-yz-liu
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.
@donny-wong this is good; please remember to update the Changelog (part of the PR checklist). Also add a test case for when the localStorage value is not parseable as a number (in this case the localStorage.removeItem method should be called).
…est test regarding saving font size to localStorage
8a0c68e to
efacc21
Compare
Thank you @david-yz-liu , you will notice in my code I added in the file The reason for this is because the Number() function does not throw errors directly, but returns NaN when it cannot convert a given value to a number. |
Proposed Changes
When the font size is modified by the user in the grading view for the editor, we want to maintain that size even when the browser is refreshed. To do this we store the font size in the browser's local storage, where we check for and apply it when the browser is refreshed.
...
Screenshots of your changes (if applicable)
This image shows where the editor's font size buttons are located:Associated documentation repository pull request (if applicable)
Type of Change
(Write an
Xor a brief description next to the type or types that best describe your changes.)Checklist
(Complete each of the following items for your pull request. Indicate that you have completed an item by changing the
[ ]into a[x]in the raw text, or by clicking on the checkbox in the rendered description on GitHub.)Before opening your pull request:
After opening your pull request:
Questions and Comments
(Include any questions or comments you have regarding your changes.)