Glridb 315 integrate catchments into portal

It looks like DataDisplayPanel.js and StatsGraphPanel.js are doing copy+paste reuse. It would be better to extract the shared functionality into a separate class and call the functions from the Panels. Extracting the functionality would also make it easier to perform the aforementioned testing.