You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Architecture

The Tab framework consist of 3 main parts type, tab implementation, and the AppRoutes module. Different to the Dynamic Fields & Facets, the Tab framework doesn't depend entirely in the configuration like fields and facets, since all the logic is in the tab implementation; the Tab Framework is more focus in dynamic loading of the tabs, while making possible to make its behavior configurable.

Tab Type

Each Tab type holds their respective properties and constructor in charge of processing the configuration and all its parts initializing all the classes required. Every single tab must extend from base-tab which holds the general properties applicable for every tab such as type, active, display, path and others. Same as the other frameworks, the tab-factory is in charge of crating a tab object using the configuration provided, this object will be later called by the tab component implemented on construction time.

Tabs Implementation

A Tab Implementation can be seen as an entire angular page which will be access via URL, and hold inside a container, completely independent. Any connection with a service or already existent components  of the user interface is up to the developer.

AppRoute Module

The AppRopute Module is in charge of loading the paths for the user interface, in here is where the tab implementation will be refer and loaded to a router outlet, and display as part of the user interface.


Endpoint Configuration Override

An to end the section of real time, the override endpoint configuration, works like this.

The endpoint has a configuration in the server side in a endpoint.js,

  • We make it that the tab configuration can have part if not the whole endpoint configuration,
  • We send it to the UI, where the property holding the config will be requested by the API service,
  • Attached to the request send to the server
  • Where the endpoint will merge both configurations (endpoint.js and the one from the request), using the endpoint.js as the base
  • And the resulting configuration will be the one used for the rest of the configuration process

Simple, but useful

  • No labels