You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
scrutiny/webapp/frontend/src/app/core/config/app.config.ts

91 lines
2.0 KiB

import {Layout} from 'app/layout/layout.types';
// Theme type
export type Theme = 'light' | 'dark' | 'system';
// Device title to display on the dashboard
export type DashboardDisplay = 'name' | 'serial_id' | 'uuid' | 'label'
export type DashboardSort = 'status' | 'title' | 'age'
export type TemperatureUnit = 'celsius' | 'fahrenheit'
export type LineStroke = 'smooth' | 'straight' | 'stepline'
export enum MetricsNotifyLevel {
Warn = 1,
Fail = 2
}
export enum MetricsStatusFilterAttributes {
All = 0,
Critical = 1
}
export enum MetricsStatusThreshold {
Smart = 1,
Scrutiny = 2,
// shortcut
Both = 3
}
/**
* AppConfig interface. Update this interface to strictly type your config
* object.
*/
export interface AppConfig {
theme?: Theme;
layout?: Layout;
// Dashboard options
dashboard_display?: DashboardDisplay;
dashboard_sort?: DashboardSort;
temperature_unit?: TemperatureUnit;
file_size_si_units?: boolean;
line_stroke?: LineStroke;
// Settings from Scrutiny API
metrics?: {
notify_level?: MetricsNotifyLevel
status_filter_attributes?: MetricsStatusFilterAttributes
status_threshold?: MetricsStatusThreshold
repeat_notifications?: boolean
}
}
/**
* Default configuration for the entire application. This object is used by
* "ConfigService" to set the default configuration.
*
* If you need to store global configuration for your app, you can use this
* object to set the defaults. To access, update and reset the config, use
* "ConfigService".
*/
export const appConfig: AppConfig = {
theme: 'light',
layout: 'material',
dashboard_display: 'name',
dashboard_sort: 'status',
temperature_unit: 'celsius',
file_size_si_units: false,
line_stroke: 'smooth',
metrics: {
notify_level: MetricsNotifyLevel.Fail,
status_filter_attributes: MetricsStatusFilterAttributes.All,
status_threshold: MetricsStatusThreshold.Both,
repeat_notifications: true
}
};