Facade: SettingsFacade
A core business layer facade is required to encapsulate the logic revolving around settings. This facade will provide getter properties to retrieve observables to NgRx state for various selectors. This facade will provide methods to dispatch actions to update settings state. This facade may also contain higher level methods and properties to encapsulate more complex logic that revolves around settings state.
Properties:
-
filters$
: Observable ofEventFilter
-
sort$
: Observable ofListSort
-
format$
: Observable ofListFormat
-
mapLayers$
: Observable ofMapLayers
-
timeZone$
: Observable ofTimeZone
Methods:
-
updateFilters
: Should dispatch action indicating filters have changed- Parameters:
- filters:
EventFilter
- filters:
- Parameters:
-
updateSort
: Should dispatch action indicating list sort has changed- Parameters:
- sort:
ListSort
- sort:
- Parameters:
-
updateFormat
: Should dispatch action indicating list format has changed- Parameters:
- format:
ListFormat
- format:
- Parameters:
-
updateMapLayers
: Should dispatch action indicating map layers have changed- Parameters:
- layers:
MapLayers
- layers:
- Parameters:
-
updateTimeZone
: Should dispatch action indicating time zone has changed- Parameters:
- timeZone:
TimeZone
- timeZone:
- Parameters:
Acceptance Criteria: