Most of the ONOS Web UI framework code is implemented as Angular services (factories, in fact). This page provides a brief summary of these factories, with links to pages giving more detail.

The source code can be found in web/gui/src/main/webapp/app/fw/.


The module holding these services is onosLayer defined in layer/layer.js.

FlashServiceAllows application code to flash transient messages on the screen.
LoadingServiceProvides the ONOS-branded "Loading..." animation.
PanelServiceProvides an API to create and destroy "fly-in" panels.
DialogServiceBuilds on the panel service to create a dialog panel.
QuickHelpServiceRenders the Quick Help panel.
VeilServiceManages an masking layer that appears when the web-socket connection fails.


The module holding these services is onosMast defined in mast/mast.js.

MastServiceProvides functions relating to the masthead.


The module holding these services is onosNav defined in nav/nav.js.

NavServiceManages the menu navigation pane.


The module holding these services is onosRemote defined in remote/remote.js.

RestServiceAbstracts rest calls using the $http service.
UrlFnServiceCreates URL strings for REST or web-socket calls.
WebSocketServiceHandles Websocket events (bind, unbind, listeners).
WSockWeb-socket wrapper to facilitate unit-testing with mock web-sockets.


The module holding these services is onosSvg defined in svg/svg.js.

GeoDataServiceFetches and caches TopoJSON data, providing an API for creating a path generator for that data.
GlyphServiceAdd, load, and register SVG symbols (glyphs).
IconServiceAdd, load, and register SVG icons via a service (abstraction of GlyphService) or a directive.
MapServiceLoads graphical maps into the SVG layer.
SvgUtilServiceGeneral SVG utility functions.
ZoomServiceCreates a "zoomer" to manage zoom functions in an SVG layer.


The module holding these services is onosUtil defined in util/util.js.

FnServiceProvides general purpose functions useful throughout the application.
KeyServiceProvides key-bindings to function callbacks.
PrefsServicePersists user settings in the browser's cookies.


Encapsulated randomness.
ThemeServiceManages UI themes (light and dark).


The module holding these services is onosWidget defined in widget/widget.js.

ButtonServiceProvides an API to create buttons, toggles, and radio button sets.
Table DirectivesDefines Angular directives for tabular views.
TableBuilderServiceProvides an API to create a generic table view client model.
ToolbarServiceProvides an API to create a toolbar.
TooltipServiceProvides an API and a directive to install tooltips.