Luigi Coniglio - Stage
Goals achieved since last merge:
- Updated documentation
- Editable table
- New editable inputs like CheckboxEdit, TextEdit, etc...
- Added AJAX request wrapper
- Login app
- Added a new menu
- Many new handlers (dhcpprofiles, dhcpranges, views, etc...)
- Special case of the handler allowed_views
- Complete free blocks selection
- Uneditable rows for the table
- Remove/fix some annoying warning from React
... and probably various things I don't remember right now.
What I didn't have time to do and/or could have been done better:
- Reorganize some redundant code
- Pour documentation, sorry ^^ (perhaps with a lot of grammatical errors...)
- About the editable table:
- missing update of a new row's client-defined key with the key given by the API after a call to the method Prompters[$name].save (so the page needs to be reloaded in order to modify a newly added row).
- deleting the modification of an old row doesn't trigger an update of the his content to the old values
- When onChange is triggered, CheckboxEdit needs to modify his attribute
value
depending on the attributechecked
in order to retrieve the good value (0 or 1) trough $.val ... it turns out that React doesn't seems to like it super much as it believes it's a part-time controlled component. So there is warning, but the component works fine. - Another warning by React on the component Autosuggest. This time the warning is strictly related to the module/library Autosuggest, so I don't know how much it depends on netmagis.
Going further:
- webpack.config has the uglify plugin disabled, comment it out for production
- When is time, need to substitute the debug version of React with a distribution for production (this means faster apps, no warnings, smaller code, etc...).
PS: I realized I forgot to remove from the repo some configuration file (ex netmagis.conf) together with some script (ex R, strart.sh) . You can ignore those files when accepting the pull request either merge everything and then delete them separately or if you prefer I can do a new pull request.