NICTA/nationalmap — pull request #437 by kring (2014-11-05 23:14:05+00:00)
Title: Refactor catalog handling and view-models

This is a major change to build a National Map object model for managing the catalog and the "Now Viewing" list. The object model is built like Knockout view-models, so you can subscribe to change notification on just about anything, and it's trivial to hook up to a user interface. Traditionally in the MVVM pattern (read MVC, though it's not exactly the same) there would also be a distinct Model layer. In this refactoring, we've largely considered Leaflet and Cesium to be the Model. This choice reduced the number of moving parts, at the cost of a little bit of flexibility.

In addition to being just a more sensible architecture, this change should improve National Map's robustness when dealing with unknown/unreliable data sources.