| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- const settingsService = require('../../store/settings-store.js')
- const themeService = require('../../store/theme-store.js')
- const bootloaderService = require('../../features/bootloader/service.js')
- const transport = require('../../transport/ble-core.js')
- const {
- createPageToast
- } = require('../../utils/page-toast.js')
- const {
- createToolInitialState,
- toolNavigation,
- toolPageHandlers
- } = require('../../features/tools/index.js')
- const {
- getSettingsPageState
- } = require('../../features/settings/view-model.js')
- Page({
- data: {
- ...getSettingsPageState(),
- ...createToolInitialState(),
- activeSettingsTitle: '',
- activeSettingsView: ''
- },
- onLoad() {
- this.pageToast = createPageToast(this, this.data)
- this.crcFileBytes = null
- settingsService.init()
- themeService.init()
- bootloaderService.init()
- this.unsubscribeSettings = settingsService.subscribe((settingsState) => {
- this.setData(getSettingsPageState(settingsState, themeService.getState()))
- })
- this.unsubscribeTheme = themeService.subscribe((themeState) => {
- this.setData(getSettingsPageState(settingsService.getState(), themeState))
- })
- this.unsubscribeTransport = transport.subscribe((transportState) => {
- this.setData(getSettingsPageState(
- settingsService.getState(),
- themeService.getState(),
- transportState,
- bootloaderService.getState()
- ))
- })
- this.unsubscribeBootloader = bootloaderService.subscribe((bootloaderState) => {
- this.setData(getSettingsPageState(
- settingsService.getState(),
- themeService.getState(),
- transport.getState(),
- bootloaderState
- ))
- })
- },
- onTabItemTap() {
- this.backToSettingsHome()
- },
- onShow() {
- if (this.pageToast) {
- this.pageToast.setActive(true)
- }
- this.setData(getSettingsPageState())
- },
- onHide() {
- if (this.pageToast) {
- this.pageToast.setActive(false)
- }
- },
- onUnload() {
- if (this.pageToast) {
- this.pageToast.destroy()
- this.pageToast = null
- }
- if (this.unsubscribeSettings) {
- this.unsubscribeSettings()
- this.unsubscribeSettings = null
- }
- if (this.unsubscribeTheme) {
- this.unsubscribeTheme()
- this.unsubscribeTheme = null
- }
- if (this.unsubscribeTransport) {
- this.unsubscribeTransport()
- this.unsubscribeTransport = null
- }
- if (this.unsubscribeBootloader) {
- this.unsubscribeBootloader()
- this.unsubscribeBootloader = null
- }
- },
- onNightModeEnabledChange(event) {
- settingsService.setNightModeEnabled(!!event.detail.value)
- },
- onNightModeFollowSystemChange(event) {
- settingsService.setNightModeFollowSystem(!!event.detail.value)
- },
- onModbusSlaveAddressBlur(event) {
- settingsService.setModbusSlaveAddress(event.detail.value)
- },
- onProtocolModeChange(event) {
- const option = this.data.protocolOptions[Number(event.detail.value)]
- if (!option) return
- settingsService.setProtocolMode(option.key)
- },
- onParameterAutoPollChange(event) {
- settingsService.setParameterAutoPollEnabled(!!event.detail.value)
- },
- onParameterPollIntervalBlur(event) {
- settingsService.setParameterPollInterval(event.detail.value)
- },
- onParameterMaxPacketLengthBlur(event) {
- settingsService.setParameterMaxPacketLength(event.detail.value)
- },
- openToolEntry(event) {
- const view = event.currentTarget.dataset.view
- if (!toolNavigation.isToolView(view)) return
- if (this.pageToast) this.pageToast.clear()
- this.setData({
- activeSettingsTitle: toolNavigation.getToolTitle(view),
- activeSettingsView: view
- })
- },
- backToSettingsHome() {
- if (this.pageToast) this.pageToast.clear()
- this.setData({
- activeSettingsTitle: '',
- activeSettingsView: ''
- })
- },
- chooseFirmwareFile() {
- if (this.data.isBootloaderBusy) return
- bootloaderService.chooseFirmwareFile('message')
- },
- startFirmwareUpgrade() {
- if (!this.data.connectedDevice || !this.data.isFirmwareReady || this.data.isBootloaderBusy) return
- bootloaderService.startUpgrade()
- },
- readProgramChecksum() {
- if (!this.data.connectedDevice || this.data.isBootloaderBusy) return
- bootloaderService.readProgramChecksum()
- },
- handshakeBootloader() {
- if (!this.data.connectedDevice || this.data.isBootloaderBusy) return
- bootloaderService.sendHandshakeKeepAlive()
- },
- exitBootloader() {
- if (!this.data.connectedDevice || this.data.isBootloaderBusy) return
- bootloaderService.exitBootloader()
- },
- ...toolPageHandlers
- })
|