CONFIG
FitFileViewer - API Documentation v29.4.0
FitFileViewer - API Documentation / utils/config/constants / CONFIG
Variable: CONFIG
constCONFIG: {APP: {NAME:string;VERSION:string;AUTHOR:string;IPC_CHANNELS: {APP_VERSION:string;CHROME_VERSION:string;DIALOG_OPEN_FILE:string;ELECTRON_VERSION:string;FILE_READ:string;FIT_DECODE:string;FIT_PARSE:string;NODE_VERSION:string;PLATFORM_INFO:string;SHELL_OPEN_EXTERNAL:string;THEME_GET:string; };EVENTS: {INSTALL_UPDATE:string;MENU_OPEN_FILE:string;MENU_OPEN_OVERLAY:string;SET_FULLSCREEN:string;SET_THEME:string;THEME_CHANGED:string; }; };CHART: {DEFAULT_ZOOM_LEVEL:number;MAX_ZOOM_LEVEL:number;MIN_ZOOM_LEVEL:number;CHART_TYPES: {ALTITUDE:string;ELEVATION:string;GPS_TRACK:string;HEART_RATE:string;LAP_ZONE:string;POWER:string;SPEED:string; };DEFAULT_CHART:string;DEFAULT_COLORS: {PRIMARY:string;SECONDARY:string; }; };CONVERSION: {DECIMAL_PLACES:number;DECIMAL_PLACES_PRECISE:number;METERS_PER_KILOMETER:number;METERS_PER_MILE:number;METERS_TO_FEET:number;SECONDS_PER_HOUR:number;SECONDS_PER_MINUTE:number;MILLISECONDS_PER_SECOND:number;CELSIUS_TO_FAHRENHEIT_MULTIPLIER:number;CELSIUS_TO_FAHRENHEIT_OFFSET:number;MPS_TO_KMH:number;MPS_TO_MPH:number;KG_TO_POUNDS:number;METERS_TO_INCHES:number;INCHES_PER_FOOT:number; };DEBUG: {ENABLED:boolean;LOG_LEVELS: {DEBUG:string;ERROR:string;INFO:string;WARN:string; };CATEGORIES: {CHARTS:string;DATA:string;FILES:string;STATE:string;UI:string; }; };DISTANCE_UNITS: {FEET:string;KILOMETERS:string;METERS:string;MILES:string; };ERROR: {CODES: {FILE_NOT_FOUND:string;INVALID_INPUT:string;NETWORK_ERROR:string;PARSE_ERROR:string;PERMISSION_DENIED:string;STATE_ERROR:string;UNKNOWN_ERROR:string;VALIDATION_ERROR:string; };MESSAGES: {FILE_NOT_FOUND:string;INVALID_INPUT:string;NETWORK_ERROR:string;PARSE_ERROR:string;PERMISSION_DENIED:string;STATE_ERROR:string;UNKNOWN_ERROR:string;VALIDATION_ERROR:string; }; };FILE: {SUPPORTED_EXTENSIONS:string[];SUPPORTED_MIME_TYPES:string[];MAX_FILE_SIZE:number;EXPORT_FORMATS: {CSV:string;GPX:string;JSON:string; };DEFAULT_EXPORT_FORMAT:string;IFRAME_PATHS: {ALT_FIT:string; }; };MAP: {DEFAULT_ZOOM:number;DEFAULT_CENTER:number[];PROVIDERS: {OPENSTREETMAP:string;SATELLITE:string; };DEFAULT_PROVIDER:string; };PERFORMANCE: {ENABLE_MONITORING:boolean;MAX_HISTORY_SIZE:number;MEMORY_CHECK_INTERVAL:number;SLOW_OPERATION_THRESHOLD:number;CATEGORIES: {CHARTS:string;DATA_PROCESSING:string;FILE_OPERATIONS:string;STATE_MANAGEMENT:string;UI_RENDERING:string; }; };TEMPERATURE_UNITS: {CELSIUS:string;FAHRENHEIT:string;KELVIN:string; };TIME_UNITS: {HOURS:string;MILLISECONDS:string;MINUTES:string;SECONDS:string; };UI: {DEFAULT_THEME:string;THEMES: {DARK:string;LIGHT:string;SYSTEM:string; };NOTIFICATION_TYPES: {ERROR: {ariaLabel:string;duration:number;icon:string;type:string; };INFO: {ariaLabel:string;duration:number;icon:string;type:string; };SUCCESS: {ariaLabel:string;duration:number;icon:string;type:string; };WARNING: {ariaLabel:string;duration:number;icon:string;type:string; }; };DOM_IDS: {ACTIVE_FILE_NAME:string;ACTIVE_FILE_NAME_CONTAINER:string;ALT_FIT_IFRAME:string;CONTENT_CHART:string;CONTENT_DATA:string;CONTENT_MAP:string;CONTENT_SUMMARY:string;DROP_OVERLAY:string;NOTIFICATION:string;TAB_CHART:string;TAB_SUMMARY:string;UNLOAD_FILE_BTN:string;ZWIFT_IFRAME:string; };CSS_CLASSES: {ACTIVE:string;HIDDEN:string;LOADING:string;SHOW:string;THEMED_BTN:string; };ANIMATION_DURATION:number;DEBOUNCE_DELAY:number;SUMMARY_COLUMN_SELECTOR_DELAY:number;SIDEBAR_WIDTH:number;HEADER_HEIGHT:number; };VALIDATION: {MIN_DISTANCE:number;MAX_DISTANCE:number;MIN_DURATION:number;MAX_DURATION:number;MIN_SPEED:number;MAX_SPEED:number;MAX_STRING_LENGTH:number;MIN_STRING_LENGTH:number; }; }
Defined in: utils/config/constants.js:475
Export all constants as a single object for convenience
Type Declarationβ
APPβ
APP: {
NAME:string;VERSION:string;AUTHOR:string;IPC_CHANNELS: {APP_VERSION:string;CHROME_VERSION:string;DIALOG_OPEN_FILE:string;ELECTRON_VERSION:string;FILE_READ:string;FIT_DECODE:string;FIT_PARSE:string;NODE_VERSION:string;PLATFORM_INFO:string;SHELL_OPEN_EXTERNAL:string;THEME_GET:string; };EVENTS: {INSTALL_UPDATE:string;MENU_OPEN_FILE:string;MENU_OPEN_OVERLAY:string;SET_FULLSCREEN:string;SET_THEME:string;THEME_CHANGED:string; }; } =APP_CONSTANTS
APP.NAMEβ
NAME:
string="FitFileViewer"
APP.VERSIONβ
VERSION:
string="26.8.0"
APP.AUTHORβ
AUTHOR:
string="FitFileViewer Development Team"
APP.IPC_CHANNELSβ
IPC_CHANNELS: {
APP_VERSION:string;CHROME_VERSION:string;DIALOG_OPEN_FILE:string;ELECTRON_VERSION:string;FILE_READ:string;FIT_DECODE:string;FIT_PARSE:string;NODE_VERSION:string;PLATFORM_INFO:string;SHELL_OPEN_EXTERNAL:string;THEME_GET:string; }
IPC channel names
APP.IPC_CHANNELS.APP_VERSIONβ
APP_VERSION:
string="getAppVersion"
APP.IPC_CHANNELS.CHROME_VERSIONβ
CHROME_VERSION:
string="getChromeVersion"
APP.IPC_CHANNELS.DIALOG_OPEN_FILEβ
DIALOG_OPEN_FILE:
string="dialog:openFile"
APP.IPC_CHANNELS.ELECTRON_VERSIONβ
ELECTRON_VERSION:
string="getElectronVersion"
APP.IPC_CHANNELS.FILE_READβ
FILE_READ:
string="file:read"
APP.IPC_CHANNELS.FIT_DECODEβ
FIT_DECODE:
string="fit:decode"
APP.IPC_CHANNELS.FIT_PARSEβ
FIT_PARSE:
string="fit:parse"
APP.IPC_CHANNELS.NODE_VERSIONβ
NODE_VERSION:
string="getNodeVersion"
APP.IPC_CHANNELS.PLATFORM_INFOβ
PLATFORM_INFO:
string="getPlatformInfo"
APP.IPC_CHANNELS.SHELL_OPEN_EXTERNALβ
SHELL_OPEN_EXTERNAL:
string="shell:openExternal"
APP.IPC_CHANNELS.THEME_GETβ
THEME_GET:
string="theme:get"
APP.EVENTSβ
EVENTS: {
INSTALL_UPDATE:string;MENU_OPEN_FILE:string;MENU_OPEN_OVERLAY:string;SET_FULLSCREEN:string;SET_THEME:string;THEME_CHANGED:string; }
Event names
APP.EVENTS.INSTALL_UPDATEβ
INSTALL_UPDATE:
string="install-update"
APP.EVENTS.MENU_OPEN_FILEβ
MENU_OPEN_FILE:
string="menu-open-file"
APP.EVENTS.MENU_OPEN_OVERLAYβ
MENU_OPEN_OVERLAY:
string="menu-open-overlay"
APP.EVENTS.SET_FULLSCREENβ
SET_FULLSCREEN:
string="set-fullscreen"
APP.EVENTS.SET_THEMEβ
SET_THEME:
string="set-theme"
APP.EVENTS.THEME_CHANGEDβ
THEME_CHANGED:
string="theme-changed"
CHARTβ
CHART: {
DEFAULT_ZOOM_LEVEL:number;MAX_ZOOM_LEVEL:number;MIN_ZOOM_LEVEL:number;CHART_TYPES: {ALTITUDE:string;ELEVATION:string;GPS_TRACK:string;HEART_RATE:string;LAP_ZONE:string;POWER:string;SPEED:string; };DEFAULT_CHART:string;DEFAULT_COLORS: {PRIMARY:string;SECONDARY:string; }; } =CHART_CONSTANTS
CHART.DEFAULT_ZOOM_LEVELβ
DEFAULT_ZOOM_LEVEL:
number=1
Default chart options
CHART.MAX_ZOOM_LEVELβ
MAX_ZOOM_LEVEL:
number=10
CHART.MIN_ZOOM_LEVELβ
MIN_ZOOM_LEVEL:
number=0.1
CHART.CHART_TYPESβ
CHART_TYPES: {
ALTITUDE:string;ELEVATION:string;GPS_TRACK:string;HEART_RATE:string;LAP_ZONE:string;POWER:string;SPEED:string; }
Chart types
CHART.CHART_TYPES.ALTITUDEβ
ALTITUDE:
string="altitude"
CHART.CHART_TYPES.ELEVATIONβ
ELEVATION:
string="elevation"
CHART.CHART_TYPES.GPS_TRACKβ
GPS_TRACK:
string="gps-track"
CHART.CHART_TYPES.HEART_RATEβ
HEART_RATE:
string="heart-rate"
CHART.CHART_TYPES.LAP_ZONEβ
LAP_ZONE:
string="lap-zone"
CHART.CHART_TYPES.POWERβ
POWER:
string="power"
CHART.CHART_TYPES.SPEEDβ
SPEED:
string="speed"
CHART.DEFAULT_CHARTβ
DEFAULT_CHART:
string="elevation"
Default selected chart
CHART.DEFAULT_COLORSβ
DEFAULT_COLORS: {
PRIMARY:string;SECONDARY:string; }
Chart colors (will be overridden by theme)
CHART.DEFAULT_COLORS.PRIMARYβ
PRIMARY:
string="#667eea"
CHART.DEFAULT_COLORS.SECONDARYβ
SECONDARY:
string="#764ba2"
CONVERSIONβ
CONVERSION: {
DECIMAL_PLACES:number;DECIMAL_PLACES_PRECISE:number;METERS_PER_KILOMETER:number;METERS_PER_MILE:number;METERS_TO_FEET:number;SECONDS_PER_HOUR:number;SECONDS_PER_MINUTE:number;MILLISECONDS_PER_SECOND:number;CELSIUS_TO_FAHRENHEIT_MULTIPLIER:number;CELSIUS_TO_FAHRENHEIT_OFFSET:number;MPS_TO_KMH:number;MPS_TO_MPH:number;KG_TO_POUNDS:number;METERS_TO_INCHES:number;INCHES_PER_FOOT:number; } =CONVERSION_FACTORS
CONVERSION.DECIMAL_PLACESβ
DECIMAL_PLACES:
number=2
Decimal precision
CONVERSION.DECIMAL_PLACES_PRECISEβ
DECIMAL_PLACES_PRECISE:
number=4
CONVERSION.METERS_PER_KILOMETERβ
METERS_PER_KILOMETER:
number=1000
Distance conversions
CONVERSION.METERS_PER_MILEβ
METERS_PER_MILE:
number=1609.344
CONVERSION.METERS_TO_FEETβ
METERS_TO_FEET:
number=3.280_84
CONVERSION.SECONDS_PER_HOURβ
SECONDS_PER_HOUR:
number=3600
Time conversions
CONVERSION.SECONDS_PER_MINUTEβ
SECONDS_PER_MINUTE:
number=60
CONVERSION.MILLISECONDS_PER_SECONDβ
MILLISECONDS_PER_SECOND:
number=1000
CONVERSION.CELSIUS_TO_FAHRENHEIT_MULTIPLIERβ
CELSIUS_TO_FAHRENHEIT_MULTIPLIER:
number
Temperature conversions
CONVERSION.CELSIUS_TO_FAHRENHEIT_OFFSETβ
CELSIUS_TO_FAHRENHEIT_OFFSET:
number=32
CONVERSION.MPS_TO_KMHβ
MPS_TO_KMH:
number=3.6
Speed conversions
CONVERSION.MPS_TO_MPHβ
MPS_TO_MPH:
number=2.237
CONVERSION.KG_TO_POUNDSβ
KG_TO_POUNDS:
number=2.204_62
Weight conversions
CONVERSION.METERS_TO_INCHESβ
METERS_TO_INCHES:
number=39.3701
Height conversions
CONVERSION.INCHES_PER_FOOTβ
INCHES_PER_FOOT:
number=12
DEBUGβ
DEBUG: {
ENABLED:boolean;LOG_LEVELS: {DEBUG:string;ERROR:string;INFO:string;WARN:string; };CATEGORIES: {CHARTS:string;DATA:string;FILES:string;STATE:string;UI:string; }; } =DEBUG_CONSTANTS
DEBUG.ENABLEDβ
ENABLED:
boolean=false
Debug modes
DEBUG.LOG_LEVELSβ
LOG_LEVELS: {
DEBUG:string;ERROR:string;INFO:string;WARN:string; }
DEBUG.LOG_LEVELS.DEBUGβ
DEBUG:
string="debug"
DEBUG.LOG_LEVELS.ERRORβ
ERROR:
string="error"
DEBUG.LOG_LEVELS.INFOβ
INFO:
string="info"
DEBUG.LOG_LEVELS.WARNβ
WARN:
string="warn"
DEBUG.CATEGORIESβ
CATEGORIES: {
CHARTS:string;DATA:string;FILES:string;STATE:string;UI:string; }
Debug categories
DEBUG.CATEGORIES.CHARTSβ
CHARTS:
string="charts"
DEBUG.CATEGORIES.DATAβ
DATA:
string="data"
DEBUG.CATEGORIES.FILESβ
FILES:
string="files"
DEBUG.CATEGORIES.STATEβ
STATE:
string="state"
DEBUG.CATEGORIES.UIβ
UI:
string="ui"
DISTANCE_UNITSβ
DISTANCE_UNITS: {
FEET:string;KILOMETERS:string;METERS:string;MILES:string; }
Distance unit definitions with consistent naming
DISTANCE_UNITS.FEETβ
FEET:
string="feet"
DISTANCE_UNITS.KILOMETERSβ
KILOMETERS:
string="kilometers"
DISTANCE_UNITS.METERSβ
METERS:
string="meters"
DISTANCE_UNITS.MILESβ
MILES:
string="miles"
ERRORβ
ERROR: {
CODES: {FILE_NOT_FOUND:string;INVALID_INPUT:string;NETWORK_ERROR:string;PARSE_ERROR:string;PERMISSION_DENIED:string;STATE_ERROR:string;UNKNOWN_ERROR:string;VALIDATION_ERROR:string; };MESSAGES: {FILE_NOT_FOUND:string;INVALID_INPUT:string;NETWORK_ERROR:string;PARSE_ERROR:string;PERMISSION_DENIED:string;STATE_ERROR:string;UNKNOWN_ERROR:string;VALIDATION_ERROR:string; }; } =ERROR_CONSTANTS
ERROR.CODESβ
CODES: {
FILE_NOT_FOUND:string;INVALID_INPUT:string;NETWORK_ERROR:string;PARSE_ERROR:string;PERMISSION_DENIED:string;STATE_ERROR:string;UNKNOWN_ERROR:string;VALIDATION_ERROR:string; }
Error codes
ERROR.CODES.FILE_NOT_FOUNDβ
FILE_NOT_FOUND:
string="FILE_NOT_FOUND"
ERROR.CODES.INVALID_INPUTβ
INVALID_INPUT:
string="INVALID_INPUT"
ERROR.CODES.NETWORK_ERRORβ
NETWORK_ERROR:
string="NETWORK_ERROR"
ERROR.CODES.PARSE_ERRORβ
PARSE_ERROR:
string="PARSE_ERROR"
ERROR.CODES.PERMISSION_DENIEDβ
PERMISSION_DENIED:
string="PERMISSION_DENIED"
ERROR.CODES.STATE_ERRORβ
STATE_ERROR:
string="STATE_ERROR"
ERROR.CODES.UNKNOWN_ERRORβ
UNKNOWN_ERROR:
string="UNKNOWN_ERROR"
ERROR.CODES.VALIDATION_ERRORβ
VALIDATION_ERROR:
string="VALIDATION_ERROR"
ERROR.MESSAGESβ
MESSAGES: {
FILE_NOT_FOUND:string;INVALID_INPUT:string;NETWORK_ERROR:string;PARSE_ERROR:string;PERMISSION_DENIED:string;STATE_ERROR:string;UNKNOWN_ERROR:string;VALIDATION_ERROR:string; }
Default error messages
ERROR.MESSAGES.FILE_NOT_FOUNDβ
FILE_NOT_FOUND:
string="File not found"
ERROR.MESSAGES.INVALID_INPUTβ
INVALID_INPUT:
string="Invalid input provided"
ERROR.MESSAGES.NETWORK_ERRORβ
NETWORK_ERROR:
string="Network connection error"
ERROR.MESSAGES.PARSE_ERRORβ
PARSE_ERROR:
string="Failed to parse file"
ERROR.MESSAGES.PERMISSION_DENIEDβ
PERMISSION_DENIED:
string="Permission denied"
ERROR.MESSAGES.STATE_ERRORβ
STATE_ERROR:
string="Application state error"
ERROR.MESSAGES.UNKNOWN_ERRORβ
UNKNOWN_ERROR:
string="An unknown error occurred"
ERROR.MESSAGES.VALIDATION_ERRORβ
VALIDATION_ERROR:
string="Input validation failed"
FILEβ
FILE: {
SUPPORTED_EXTENSIONS:string[];SUPPORTED_MIME_TYPES:string[];MAX_FILE_SIZE:number;EXPORT_FORMATS: {CSV:string;GPX:string;JSON:string; };DEFAULT_EXPORT_FORMAT:string;IFRAME_PATHS: {ALT_FIT:string; }; } =FILE_CONSTANTS
FILE.SUPPORTED_EXTENSIONSβ
SUPPORTED_EXTENSIONS:
string[]
Supported file types
FILE.SUPPORTED_MIME_TYPESβ
SUPPORTED_MIME_TYPES:
string[]
FILE.MAX_FILE_SIZEβ
MAX_FILE_SIZE:
number
File size limits (in bytes)
FILE.EXPORT_FORMATSβ
EXPORT_FORMATS: {
CSV:string;GPX:string;JSON:string; }
Export formats
FILE.EXPORT_FORMATS.CSVβ
CSV:
string="csv"
FILE.EXPORT_FORMATS.GPXβ
GPX:
string="gpx"
FILE.EXPORT_FORMATS.JSONβ
JSON:
string="json"
FILE.DEFAULT_EXPORT_FORMATβ
DEFAULT_EXPORT_FORMAT:
string="gpx"
FILE.IFRAME_PATHSβ
IFRAME_PATHS: {
ALT_FIT:string; }
File paths
FILE.IFRAME_PATHS.ALT_FITβ
ALT_FIT:
string="ffv/index.html"
MAPβ
MAP: {
DEFAULT_ZOOM:number;DEFAULT_CENTER:number[];PROVIDERS: {OPENSTREETMAP:string;SATELLITE:string; };DEFAULT_PROVIDER:string; } =MAP_CONSTANTS
MAP.DEFAULT_ZOOMβ
DEFAULT_ZOOM:
number=13
Default map settings
MAP.DEFAULT_CENTERβ
DEFAULT_CENTER:
number[]
MAP.PROVIDERSβ
PROVIDERS: {
OPENSTREETMAP:string;SATELLITE:string; }
Map providers
MAP.PROVIDERS.OPENSTREETMAPβ
OPENSTREETMAP:
string="openstreetmap"
MAP.PROVIDERS.SATELLITEβ
SATELLITE:
string="satellite"
MAP.DEFAULT_PROVIDERβ
DEFAULT_PROVIDER:
string="openstreetmap"
Default provider
PERFORMANCEβ
PERFORMANCE: {
ENABLE_MONITORING:boolean;MAX_HISTORY_SIZE:number;MEMORY_CHECK_INTERVAL:number;SLOW_OPERATION_THRESHOLD:number;CATEGORIES: {CHARTS:string;DATA_PROCESSING:string;FILE_OPERATIONS:string;STATE_MANAGEMENT:string;UI_RENDERING:string; }; } =PERFORMANCE_CONSTANTS
PERFORMANCE.ENABLE_MONITORINGβ
ENABLE_MONITORING:
boolean=false
Monitoring configuration
PERFORMANCE.MAX_HISTORY_SIZEβ
MAX_HISTORY_SIZE:
number=100
PERFORMANCE.MEMORY_CHECK_INTERVALβ
MEMORY_CHECK_INTERVAL:
number=30_000
PERFORMANCE.SLOW_OPERATION_THRESHOLDβ
SLOW_OPERATION_THRESHOLD:
number=10
PERFORMANCE.CATEGORIESβ
CATEGORIES: {
CHARTS:string;DATA_PROCESSING:string;FILE_OPERATIONS:string;STATE_MANAGEMENT:string;UI_RENDERING:string; }
Metric categories
PERFORMANCE.CATEGORIES.CHARTSβ
CHARTS:
string="charts"
PERFORMANCE.CATEGORIES.DATA_PROCESSINGβ
DATA_PROCESSING:
string="data-processing"
PERFORMANCE.CATEGORIES.FILE_OPERATIONSβ
FILE_OPERATIONS:
string="file-operations"
PERFORMANCE.CATEGORIES.STATE_MANAGEMENTβ
STATE_MANAGEMENT:
string="state-management"
PERFORMANCE.CATEGORIES.UI_RENDERINGβ
UI_RENDERING:
string="ui-rendering"
TEMPERATURE_UNITSβ
TEMPERATURE_UNITS: {
CELSIUS:string;FAHRENHEIT:string;KELVIN:string; }
Temperature unit definitions
TEMPERATURE_UNITS.CELSIUSβ
CELSIUS:
string="celsius"
TEMPERATURE_UNITS.FAHRENHEITβ
FAHRENHEIT:
string="fahrenheit"
TEMPERATURE_UNITS.KELVINβ
KELVIN:
string="kelvin"
TIME_UNITSβ
TIME_UNITS: {
HOURS:string;MILLISECONDS:string;MINUTES:string;SECONDS:string; }
Time unit definitions
TIME_UNITS.HOURSβ
HOURS:
string="hours"
TIME_UNITS.MILLISECONDSβ
MILLISECONDS:
string="milliseconds"
TIME_UNITS.MINUTESβ
MINUTES:
string="minutes"
TIME_UNITS.SECONDSβ
SECONDS:
string="seconds"
UIβ
UI: {
DEFAULT_THEME:string;THEMES: {DARK:string;LIGHT:string;SYSTEM:string; };NOTIFICATION_TYPES: {ERROR: {ariaLabel:string;duration:number;icon:string;type:string; };INFO: {ariaLabel:string;duration:number;icon:string;type:string; };SUCCESS: {ariaLabel:string;duration:number;icon:string;type:string; };WARNING: {ariaLabel:string;duration:number;icon:string;type:string; }; };DOM_IDS: {ACTIVE_FILE_NAME:string;ACTIVE_FILE_NAME_CONTAINER:string;ALT_FIT_IFRAME:string;CONTENT_CHART:string;CONTENT_DATA:string;CONTENT_MAP:string;CONTENT_SUMMARY:string;DROP_OVERLAY:string;NOTIFICATION:string;TAB_CHART:string;TAB_SUMMARY:string;UNLOAD_FILE_BTN:string;ZWIFT_IFRAME:string; };CSS_CLASSES: {ACTIVE:string;HIDDEN:string;LOADING:string;SHOW:string;THEMED_BTN:string; };ANIMATION_DURATION:number;DEBOUNCE_DELAY:number;SUMMARY_COLUMN_SELECTOR_DELAY:number;SIDEBAR_WIDTH:number;HEADER_HEIGHT:number; } =UI_CONSTANTS
UI.DEFAULT_THEMEβ
DEFAULT_THEME:
string="dark"
Theme configuration
UI.THEMESβ
THEMES: {
DARK:string;LIGHT:string;SYSTEM:string; }
UI.THEMES.DARKβ
DARK:
string="dark"
UI.THEMES.LIGHTβ
LIGHT:
string="light"
UI.THEMES.SYSTEMβ
SYSTEM:
string="system"
UI.NOTIFICATION_TYPESβ
NOTIFICATION_TYPES: {
ERROR: {ariaLabel:string;duration:number;icon:string;type:string; };INFO: {ariaLabel:string;duration:number;icon:string;type:string; };SUCCESS: {ariaLabel:string;duration:number;icon:string;type:string; };WARNING: {ariaLabel:string;duration:number;icon:string;type:string; }; }
Notification configurations
UI.NOTIFICATION_TYPES.ERRORβ
ERROR: {
ariaLabel:string;duration:number;icon:string;type:string; }
UI.NOTIFICATION_TYPES.ERROR.ariaLabelβ
ariaLabel:
string="Error"
UI.NOTIFICATION_TYPES.ERROR.durationβ
duration:
number=6000
UI.NOTIFICATION_TYPES.ERROR.iconβ
icon:
string="β"
UI.NOTIFICATION_TYPES.ERROR.typeβ
type:
string="error"
UI.NOTIFICATION_TYPES.INFOβ
INFO: {
ariaLabel:string;duration:number;icon:string;type:string; }
UI.NOTIFICATION_TYPES.INFO.ariaLabelβ
ariaLabel:
string="Information"
UI.NOTIFICATION_TYPES.INFO.durationβ
duration:
number=4000
UI.NOTIFICATION_TYPES.INFO.iconβ
icon:
string="βΉοΈ"
UI.NOTIFICATION_TYPES.INFO.typeβ
type:
string="info"
UI.NOTIFICATION_TYPES.SUCCESSβ
SUCCESS: {
ariaLabel:string;duration:number;icon:string;type:string; }
UI.NOTIFICATION_TYPES.SUCCESS.ariaLabelβ
ariaLabel:
string="Success"
UI.NOTIFICATION_TYPES.SUCCESS.durationβ
duration:
number=3000
UI.NOTIFICATION_TYPES.SUCCESS.iconβ
icon:
string="β "
UI.NOTIFICATION_TYPES.SUCCESS.typeβ
type:
string="success"
UI.NOTIFICATION_TYPES.WARNINGβ
WARNING: {
ariaLabel:string;duration:number;icon:string;type:string; }
UI.NOTIFICATION_TYPES.WARNING.ariaLabelβ
ariaLabel:
string="Warning"
UI.NOTIFICATION_TYPES.WARNING.durationβ
duration:
number=5000
UI.NOTIFICATION_TYPES.WARNING.iconβ
icon:
string="β οΈ"
UI.NOTIFICATION_TYPES.WARNING.typeβ
type:
string="warning"
UI.DOM_IDSβ
DOM_IDS: {
ACTIVE_FILE_NAME:string;ACTIVE_FILE_NAME_CONTAINER:string;ALT_FIT_IFRAME:string;CONTENT_CHART:string;CONTENT_DATA:string;CONTENT_MAP:string;CONTENT_SUMMARY:string;DROP_OVERLAY:string;NOTIFICATION:string;TAB_CHART:string;TAB_SUMMARY:string;UNLOAD_FILE_BTN:string;ZWIFT_IFRAME:string; }
Common DOM element IDs
UI.DOM_IDS.ACTIVE_FILE_NAMEβ
ACTIVE_FILE_NAME:
string="activeFileName"
UI.DOM_IDS.ACTIVE_FILE_NAME_CONTAINERβ
ACTIVE_FILE_NAME_CONTAINER:
string="activeFileNameContainer"
UI.DOM_IDS.ALT_FIT_IFRAMEβ
ALT_FIT_IFRAME:
string="altfit-iframe"
UI.DOM_IDS.CONTENT_CHARTβ
CONTENT_CHART:
string="content-chart"
UI.DOM_IDS.CONTENT_DATAβ
CONTENT_DATA:
string="content-data"
UI.DOM_IDS.CONTENT_MAPβ
CONTENT_MAP:
string="content-map"
UI.DOM_IDS.CONTENT_SUMMARYβ
CONTENT_SUMMARY:
string="content-summary"
UI.DOM_IDS.DROP_OVERLAYβ
DROP_OVERLAY:
string="drop-overlay"
UI.DOM_IDS.NOTIFICATIONβ
NOTIFICATION:
string="notification"
UI.DOM_IDS.TAB_CHARTβ
TAB_CHART:
string="tab-chart"
UI.DOM_IDS.TAB_SUMMARYβ
TAB_SUMMARY:
string="tab-summary"
UI.DOM_IDS.UNLOAD_FILE_BTNβ
UNLOAD_FILE_BTN:
string="unloadFileBtn"
UI.DOM_IDS.ZWIFT_IFRAMEβ
ZWIFT_IFRAME:
string="zwift-iframe"
UI.CSS_CLASSESβ
CSS_CLASSES: {
ACTIVE:string;HIDDEN:string;LOADING:string;SHOW:string;THEMED_BTN:string; }
Common CSS classes
UI.CSS_CLASSES.ACTIVEβ
ACTIVE:
string="active"
UI.CSS_CLASSES.HIDDENβ
HIDDEN:
string="hidden"
UI.CSS_CLASSES.LOADINGβ
LOADING:
string="loading"
UI.CSS_CLASSES.SHOWβ
SHOW:
string="show"
UI.CSS_CLASSES.THEMED_BTNβ
THEMED_BTN:
string="themed-btn"
UI.ANIMATION_DURATIONβ
ANIMATION_DURATION:
number=300
Animation and timing
UI.DEBOUNCE_DELAYβ
DEBOUNCE_DELAY:
number=250
UI.SUMMARY_COLUMN_SELECTOR_DELAYβ
SUMMARY_COLUMN_SELECTOR_DELAY:
number=100
UI.SIDEBAR_WIDTHβ
SIDEBAR_WIDTH:
number=250
Layout constants
UI.HEADER_HEIGHTβ
HEADER_HEIGHT:
number=60
VALIDATIONβ
VALIDATION: {
MIN_DISTANCE:number;MAX_DISTANCE:number;MIN_DURATION:number;MAX_DURATION:number;MIN_SPEED:number;MAX_SPEED:number;MAX_STRING_LENGTH:number;MIN_STRING_LENGTH:number; } =VALIDATION_CONSTANTS
VALIDATION.MIN_DISTANCEβ
MIN_DISTANCE:
number=0
Input validation rules
VALIDATION.MAX_DISTANCEβ
MAX_DISTANCE:
number=1_000_000
VALIDATION.MIN_DURATIONβ
MIN_DURATION:
number=0
VALIDATION.MAX_DURATIONβ
MAX_DURATION:
number=86_400
VALIDATION.MIN_SPEEDβ
MIN_SPEED:
number=0
VALIDATION.MAX_SPEEDβ
MAX_SPEED:
number=200
VALIDATION.MAX_STRING_LENGTHβ
MAX_STRING_LENGTH:
number=1000
String validation
VALIDATION.MIN_STRING_LENGTHβ
MIN_STRING_LENGTH:
number=1