| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- const settingsService = require('./settings-service')
- const themeService = require('./theme-service')
- const controlState = require('./control-page-state')
- const toolNavigation = require('./tool-navigation')
- function getModbusProtocolMeta(settingsState) {
- const modbusProtocolOptions = settingsService.MODBUS_PROTOCOL_OPTIONS
- const modbusProtocolIndex = Math.max(0, modbusProtocolOptions.findIndex((option) => (
- option.key === settingsState.modbusProtocolFilter
- )))
- const modbusProtocolText = (modbusProtocolOptions[modbusProtocolIndex] || modbusProtocolOptions[0]).label
- return {
- isGenericProtocol: settingsState.modbusProtocolFilter === 'generic',
- modbusProtocolIndex,
- modbusProtocolOptions,
- modbusProtocolText
- }
- }
- function getSettingsPageState(
- settingsState = settingsService.getState(),
- themeState = themeService.getState()
- ) {
- const nightModeEnabledSwitch = settingsState.nightModeFollowSystem
- ? themeState.themeMode === 'dark'
- : settingsState.nightModeEnabled
- return {
- ...settingsState,
- ...themeState,
- ...getModbusProtocolMeta(settingsState),
- genericModbusMinPacketLength: settingsService.GENERIC_MODBUS_MIN_PACKET_LENGTH,
- maxUserStatusCount: controlState.MAX_USER_STATUS_COUNT,
- nightModeEnabledSwitch,
- statusPollMaxInterval: settingsService.STATUS_POLL_MAX_INTERVAL,
- statusPollMinInterval: settingsService.STATUS_POLL_MIN_INTERVAL,
- toolEntries: toolNavigation.getToolEntries()
- }
- }
- module.exports = {
- getModbusProtocolMeta,
- getSettingsPageState
- }
|