-
Notifications
You must be signed in to change notification settings - Fork 182
[DICOM Archive] Fully react-rendered + written in ES6 #2397
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
Conversation
/* global QueryString */ | ||
|
||
const propTypes = {}; | ||
const defaultProps = {}; |
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.
Might as well define these now
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.
@jacobpenny The default properties are page specific
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.
Ah gotcha, makes sense.
I think it is worth reconsidering the use of inheritance here because it isn't idiomatic in the React world. Facebook has a pretty strong opinion on this: https://facebook.github.io/react/docs/composition-vs-inheritance.html#so-what-about-inheritance Also summed up nicely by one of the core React contributors here: |
664d6ad
to
f337b83
Compare
@jacobpenny Scratched the whole inheritance idea as per your suggestion and simplified filter implementation instead. |
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.
Looks good to me!
… parent component
* Add LorisPage component to Loris * Update dicom_archive to use LorisPage * Remove unused statement * PHPCS * Remove LorisPage and move behaviour back to module * Update querystring API for less code and more pleasant experience * Add QueryString to global eslint ignore list * Clear tpl as everything is rendered in react now * Update mri_violation to use new QueryString API * Replace DynamicTable with StaticTable since all data is loaded in the parent component
* Add LorisPage component to Loris * Update dicom_archive to use LorisPage * Remove unused statement * PHPCS * Remove LorisPage and move behaviour back to module * Update querystring API for less code and more pleasant experience * Add QueryString to global eslint ignore list * Clear tpl as everything is rendered in react now * Update mri_violation to use new QueryString API * Replace DynamicTable with StaticTable since all data is loaded in the parent component
* Add LorisPage component to Loris * Update dicom_archive to use LorisPage * Remove unused statement * PHPCS * Remove LorisPage and move behaviour back to module * Update querystring API for less code and more pleasant experience * Add QueryString to global eslint ignore list * Clear tpl as everything is rendered in react now * Update mri_violation to use new QueryString API * Replace DynamicTable with StaticTable since all data is loaded in the parent component
* Add LorisPage component to Loris * Update dicom_archive to use LorisPage * Remove unused statement * PHPCS * Remove LorisPage and move behaviour back to module * Update querystring API for less code and more pleasant experience * Add QueryString to global eslint ignore list * Clear tpl as everything is rendered in react now * Update mri_violation to use new QueryString API * Replace DynamicTable with StaticTable since all data is loaded in the parent component
* Add LorisPage component to Loris * Update dicom_archive to use LorisPage * Remove unused statement * PHPCS * Remove LorisPage and move behaviour back to module * Update querystring API for less code and more pleasant experience * Add QueryString to global eslint ignore list * Clear tpl as everything is rendered in react now * Update mri_violation to use new QueryString API * Replace DynamicTable with StaticTable since all data is loaded in the parent component
🎉 New cool features below 🎉
dicom_archive
as an example module written in ES6