Add config path args to MiloRemote
Allowing to connect to multiple Milo system from one NI Example: > MiloRemote base > MiloRemote shop
This commit is contained in:
@@ -12,8 +12,12 @@ local fs = _G.fs
|
|||||||
local peripheral = _G.peripheral
|
local peripheral = _G.peripheral
|
||||||
local shell = _ENV.shell
|
local shell = _ENV.shell
|
||||||
|
|
||||||
|
local configName = ({...})[1]
|
||||||
|
local configPath = 'miloRemote' .. (configName and "_"..configName or "")
|
||||||
|
|
||||||
local context = {
|
local context = {
|
||||||
state = Config.load('miloRemote', { displayMode = 0, deposit = true }),
|
state = Config.load(configPath, { displayMode = 0, deposit = true }),
|
||||||
|
configPath = configPath,
|
||||||
responseHandlers = { },
|
responseHandlers = { },
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,7 +162,7 @@ function page.grid:eventHandler(event)
|
|||||||
if event.type == 'grid_sort' then
|
if event.type == 'grid_sort' then
|
||||||
context.state.sortColumn = event.sortColumn
|
context.state.sortColumn = event.sortColumn
|
||||||
context.state.inverseSort = event.inverseSort
|
context.state.inverseSort = event.inverseSort
|
||||||
Config.update('miloRemote', context.state)
|
Config.update(configPath, context.state)
|
||||||
end
|
end
|
||||||
return UI.Grid.eventHandler(self, event)
|
return UI.Grid.eventHandler(self, event)
|
||||||
end
|
end
|
||||||
@@ -181,7 +185,7 @@ function page:eventHandler(event)
|
|||||||
self.statusBar:draw()
|
self.statusBar:draw()
|
||||||
context:setStatus(depositMode[context.state.deposit].help)
|
context:setStatus(depositMode[context.state.deposit].help)
|
||||||
context:notifyInfo(depositMode[context.state.deposit].help)
|
context:notifyInfo(depositMode[context.state.deposit].help)
|
||||||
Config.update('miloRemote', context.state)
|
Config.update(configPath, context.state)
|
||||||
|
|
||||||
elseif event.type == 'focus_change' then
|
elseif event.type == 'focus_change' then
|
||||||
context:setStatus(event.focused.help)
|
context:setStatus(event.focused.help)
|
||||||
@@ -243,7 +247,7 @@ function page:eventHandler(event)
|
|||||||
context:setStatus(event.button.help)
|
context:setStatus(event.button.help)
|
||||||
context:notifyInfo(event.button.help)
|
context:notifyInfo(event.button.help)
|
||||||
self.grid:draw()
|
self.grid:draw()
|
||||||
Config.update('miloRemote', context.state)
|
Config.update(configPath, context.state)
|
||||||
|
|
||||||
elseif event.type == 'text_change' and event.element == self.statusBar.filter then
|
elseif event.type == 'text_change' and event.element == self.statusBar.filter then
|
||||||
self.filter = event.text or ''
|
self.filter = event.text or ''
|
||||||
@@ -445,7 +449,7 @@ end
|
|||||||
|
|
||||||
function context:setState(key, value)
|
function context:setState(key, value)
|
||||||
self.state[key] = value
|
self.state[key] = value
|
||||||
Config.update('miloRemote', self.state)
|
Config.update(configPath, self.state)
|
||||||
end
|
end
|
||||||
|
|
||||||
context.responseHandlers['received'] = function(response)
|
context.responseHandlers['received'] = function(response)
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ local Util = require('opus.util')
|
|||||||
local colors = _G.colors
|
local colors = _G.colors
|
||||||
local fs = _G.fs
|
local fs = _G.fs
|
||||||
|
|
||||||
local STARTUP_FILE = 'usr/autorun/miloRemote.lua'
|
|
||||||
|
|
||||||
local context = ({ ... })[1]
|
local context = ({ ... })[1]
|
||||||
|
|
||||||
|
local STARTUP_FILE = 'usr/autorun/'..context.configPath..'.lua'
|
||||||
|
|
||||||
local setup = UI.SlideOut {
|
local setup = UI.SlideOut {
|
||||||
titleBar = UI.TitleBar {
|
titleBar = UI.TitleBar {
|
||||||
title = 'Remote Setup',
|
title = 'Remote Setup',
|
||||||
@@ -59,7 +59,7 @@ function setup:eventHandler(event)
|
|||||||
self.statusBar:setStatus(event.focused.help)
|
self.statusBar:setStatus(event.focused.help)
|
||||||
|
|
||||||
elseif event.type == 'form_complete' then
|
elseif event.type == 'form_complete' then
|
||||||
Config.update('miloRemote', context.state)
|
Config.update(context.configPath, context.state)
|
||||||
self:hide()
|
self:hide()
|
||||||
context.page:refresh('list')
|
context.page:refresh('list')
|
||||||
context.page.grid:draw()
|
context.page.grid:draw()
|
||||||
|
|||||||
Reference in New Issue
Block a user