1.1.1 • Published 7 months ago
@deltares/fews-ssd-requests v1.1.1
fews-ssd-requests
Project setup
npm installCompiles and hot-reloads for development
npm run serveCompiles and minifies for production
npm run buildLints and fixes files
npm run lintRun Unit tests
npm run testUser Guide
This repository provides a single point of access to data for Schematic Status Display (SSD) applications.
Available interfaces:
WebserviceProvider(interface for the provider)ExcludeGroups(interface for defining display groups that are excluded)Capabilities(interface for the objects returned by a 'getCapabilities' SSD request)Action(interface for the objects returned by a 'getAction' SSD request)ElementAction(interface for the object returned by 'getLeftClickActionFromElement')Duration(interface for defining a duration in years/months/weeks/days/hours/minutes/seconds)FewsPiTimeSeriesResponse(interface for the objects returned by a FEWS PI request)- this interface is imported from the fews-pi-requests library
ClickCallbackFunction(interface for the callback function to be called on a left click event)
Definition of the provider class:
class SsdWebserviceProvider implements WebserviceProvider
constructor(url: string)
getUrl(): string
getPiUrl(): string
urlForCapabilities (): string
urlForPanel (panelName: string, date: Date): string
urlForActions (panelId: string, objectId: string, action: ActionClickType, timeZero?: string, options?: ActionOptionType[]): string getLeftClickAction (panelId: string, objectId: string): Promise<Action>
getLeftClickActionFromElement (panelId: string, svg: SVGElement): Promise<ElementAction>
fetchPiRequest (request: string): Promise<TimeSeriesResponse>
getCapabilities (excludeGroups: ExcludeGroups = {displayGroups: []}): Promise<Capabilities>Provider methods:
constructor(url: string, excludeGroups: ExcludeGroups)- takes a string url pointing to the base of the provider (i.e. without the 'ssd' part)
getUrl(): string- returns the base url to the SSD service
getPiUrl(): string- returns the base url to the PI service
urlForCapabilities(): string- returns the url to the SSD capabilities
urlForPanel (panelName: string, date: Date): string- takes a panel name and a date string
- returns the url to an SSD panel (which points to an SVG image)
urlForActions (panelId: string, objectId: string, action: ActionClickType, timeZero?: string, options?: ActionOptionType[]): string- takes a panel id and an object id, action type and timeZero and options
- returns the url to the SSD actions associated with that panel/object
getAction (panelId: string, objectId: string, action: ActionClickType ='LEFTSINGLECLICK', timeZero?: string, options?: ActionOptionType[]): Promise<Action>- takes a panel id and an object id, action type and timeZero and options
- returns the SSD actions associated with that panel/object
getActionFromElement (panelId: string, svg: SVGElement, timeZero?: string, options?: ActionOptionType[]): Promise<ElementAction>- takes a panel id, a SVG element, action type and timeZero and options
- returns the SSD actions associated with that element
fetchPiRequest (request: string): Promise<FewsPiTimeSeriesResponse>- takes a request string (i.e. as given in an Action object)
- returns the PI timeseries
getCapabilities (excludeGroups: ExcludeGroups = {displayGroups: []}): Promise<Capabilities>- takes an optional
ExcludeGroupsargument to define which display groups to exclude (if ommitted, defaults to using all groups) - returns the SSD capabilities
- takes an optional
Utility functions:
datesFromPeriod(period: string): Date[]- parses a period string (as supplied by a 'getAction' SSD request)
and returns a list of
Dateobjects
- parses a period string (as supplied by a 'getAction' SSD request)
and returns a list of
addLeftClickAction (svg: SVGElement, clickCallback: ClickCallbackFunction): void- Add left click action to all SVG elements in the FEWS namespace
1.1.1
7 months ago
1.1.0
7 months ago
1.0.1
2 years ago
1.0.0
2 years ago
1.0.0-rc.2
2 years ago
1.0.0-rc.1
2 years ago
0.3.1-alpha.0
2 years ago
0.3.1-alpha.1
2 years ago
0.2.9
3 years ago
0.2.11
3 years ago
0.2.10
3 years ago
0.2.8
3 years ago
0.2.3
3 years ago
0.2.2
3 years ago
0.2.2-alpha.0
3 years ago