| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const {
- DEFAULT_DEVICE_FILTER,
- getState: getHomeFeatureState,
- init: initHomeFeature,
- subscribeState: subscribeHomeState,
- ...homeService
- } = require('../../features/home/service.js')
- const {
- createPageToast
- } = require('../../utils/page-toast.js')
- Page({
- data: getHomeFeatureState(),
- noop() {},
- onLoad() {
- this.pageToast = createPageToast(this, this.data)
- initHomeFeature()
- this.unsubscribeHomeState = subscribeHomeState(() => this.data.deviceFilterMode, (nextState) => {
- this.setData(nextState)
- this.pageToast.showFromState(nextState)
- })
- },
- onShow() {
- if (this.pageToast) {
- this.pageToast.setActive(true)
- }
- },
- onHide() {
- if (this.pageToast) {
- this.pageToast.setActive(false)
- }
- },
- onUnload() {
- if (this.pageToast) {
- this.pageToast.destroy()
- this.pageToast = null
- }
- if (this.unsubscribeHomeState) {
- this.unsubscribeHomeState()
- this.unsubscribeHomeState = null
- }
- },
- startScan() {
- if (!this.data.canStartScan) return
- homeService.toggleScan(this.data.isDiscovering)
- },
- clearDevices() {
- if (!this.data.canClearDevices) return
- homeService.clearDevices()
- },
- onDeviceFilterTap(event) {
- const deviceFilterMode = event.currentTarget.dataset.filter || DEFAULT_DEVICE_FILTER
- this.setData(getHomeFeatureState(deviceFilterMode))
- },
- connectDevice(event) {
- homeService.connectDeviceById(event.currentTarget.dataset.deviceId)
- },
- disconnectDevice() {
- if (!this.data.canDisconnectDevice) return
- homeService.disconnectDevice()
- }
- })
|