Versions Compared

Key

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

...

To solve these issues, we are going to use a facade pattern to seperate application logic from application style at the application's main point of entry - the routing logic layer. This facade will be implemented by wrapping function calls to ui-router, which will decouple direct dependencies from OpenLMIS-UI modules to ui-router. By decoupling layout and application logic, the OpenLMIS-UI will implement default behaviors that can be overridden by implementers in ways that are easy to document and test.

Since we are initally initially wrapping ui.router, we can leave the existing modules and update them to take advantage the wrapped router functionality in an incremental manner. This will also ensure backwards compatibility until the OpenLMIS-UI drops support for AngularJS (which will happen eventually).

...

Gliffy
imageAttachmentIdatt122093954
baseUrlhttps://openlmis.atlassian.net/wiki
nameOpenLMIS Router Facade Pattern
diagramAttachmentIdatt122224954
containerId122716264


OpenLMIS-UI AngularJS Architecture

Gliffy
imageAttachmentIdatt152240217
baseUrlhttps://openlmis.atlassian.net/wiki
migration1
nameOpenLMIS-UI AngularJS Architecture
diagramAttachmentIdatt152043931
containerId122716264
timestamp1513041183247