Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In developing the development of the ONOS Web GUI, a number of useful libraries and helper classes were created with the idea that these should be used both in the core codebase as well as re-used by ONOS applications looking to add their own content to the GUI.

On the client-side we have  we created a number of "framework libraries", implemented as AngularJS factories. This helped us in our modularization of the code, and re-use of useful functionality., providing:

  • APIs to create "panels" and display "quick-help"
  • APIs to navigate to other "views"
  • APIs to access the REST and WebSocket services
  • various SVG-related functions, such as registering custom "glyphs", using icons
  • APIs to create widgets (tables, toolbars, buttons, tooltips, etc.)
  • various miscellaneous functions (key binding, user preference persistence, general utility functions, etc.)

On the server-side, a number of Java classes are provided to simplify the task of ONOS application business logic shipping data back to the GUI:

  • Message handlers / Request handlers (processing events from the GUI)
  • Table models, cell comparators and formatters (constructing table view data)
  • Link maps, topology highlights, node selection models, property panel models (manipulating data for the Topology View)

 

 

 

 This code is also available for re-use (in fact we would actively encourage it) by developers who are extending the GUI via their applications. This appendix documents the available functions.