libs/core/src/lib/model/dataset-api/dataset.ts
chartType: string
string
properties: literal type
literal type
import { DatasetTypes, PlatformTypes } from './enums'; import { Parameter } from './parameter'; import { Station } from './station'; export interface IDataset extends Parameter { url: string; uom: string; internalId: string; firstValue: FirstLastValue; lastValue: FirstLastValue; referenceValues: ReferenceValue[]; parameters: ParameterConstellation; renderingHints: RenderingHints; } export class ParameterConstellation { public service: Parameter; public offering: Parameter; public feature: Parameter; public procedure: Parameter; public phenomenon: Parameter; public category: Parameter; } export class FirstLastValue { public timestamp: number; public value: number; } export class ReferenceValue { public referenceValueId: string; public label: string; public lastValue: FirstLastValue; public color?: string; public visible?: boolean; } export interface RenderingHints { chartType: string; properties: { color: string; }; } export interface LineRenderingHints extends RenderingHints { chartType: 'line'; properties: { color: string; width: string; lineType: string; }; } export interface BarRenderingHints { chartType: 'bar'; properties: { color: string; width: string; interval: string; }; } export class DatasetParameterConstellation extends ParameterConstellation { public platform: PlatformParameter; } export class Dataset implements IDataset { public id: string; public label: string; public url: string; public uom: string; public internalId: string; public firstValue: FirstLastValue; public lastValue: FirstLastValue; public referenceValues: ReferenceValue[]; public datasetType: DatasetTypes; public platformType: PlatformTypes; public parameters: DatasetParameterConstellation; public seriesParameters?: DatasetParameterConstellation; public renderingHints: RenderingHints; } export class Timeseries implements IDataset { public id: string; public label: string; public url: string; public uom: string; public internalId: string; public firstValue: FirstLastValue; public lastValue: FirstLastValue; public referenceValues: ReferenceValue[]; public station: Station; public parameters: ParameterConstellation; public statusIntervals?: StatusInterval[]; public hasData = false; public renderingHints: RenderingHints; } export interface TimeseriesExtras { license?: string; statusIntervals?: StatusInterval[]; } export interface StatusInterval { lower: string; upper: string; name: string; color: string; } export interface PlatformParameter extends Parameter { platformType: PlatformTypes; } export class TimeseriesData { public id: string; public url: string; public data: FirstLastValue[]; }