rework plugin management
This commit is contained in:
@@ -43,4 +43,4 @@ function infoTab:draw()
|
||||
UI.Window.draw(self)
|
||||
end
|
||||
|
||||
return infoTab
|
||||
return { itemTab = infoTab }
|
||||
|
||||
@@ -61,4 +61,4 @@ function machinesTab:eventHandler(event)
|
||||
end
|
||||
end
|
||||
|
||||
return machinesTab
|
||||
return { itemTab = machinesTab }
|
||||
|
||||
@@ -93,4 +93,4 @@ function manageTab:eventHandler(event)
|
||||
return true
|
||||
end
|
||||
|
||||
return manageTab
|
||||
return { itemTab = manageTab }
|
||||
|
||||
@@ -87,4 +87,4 @@ function recipeTab:eventHandler(event)
|
||||
end
|
||||
end
|
||||
|
||||
return recipeTab
|
||||
return { itemTab = recipeTab }
|
||||
|
||||
@@ -52,4 +52,4 @@ function resetTab:eventHandler(event)
|
||||
end
|
||||
end
|
||||
|
||||
return resetTab
|
||||
return { itemTab = resetTab }
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
local Config = require('config')
|
||||
local UI = require('ui')
|
||||
|
||||
local os = _G.os
|
||||
|
||||
local config = Config.load('shop')
|
||||
|
||||
local storeTab = UI.Window {
|
||||
tabTitle = 'Store',
|
||||
index = 6,
|
||||
form = UI.Form {
|
||||
x = 2, ex = -2, y = 2, ey = -2,
|
||||
manualControls = true,
|
||||
[1] = UI.TextEntry {
|
||||
formLabel = 'Name', formKey = 'name',
|
||||
help = 'Unique name used when paying for an item',
|
||||
required = true,
|
||||
width = 12,
|
||||
limit = 64,
|
||||
},
|
||||
[2] = UI.TextEntry {
|
||||
width = 6,
|
||||
formLabel = 'Price', formKey = 'price',
|
||||
help = 'Per item cost',
|
||||
required = true,
|
||||
validate = 'numeric',
|
||||
},
|
||||
[3] = UI.TextEntry {
|
||||
limit = 64,
|
||||
formLabel = 'Extra Info', formKey = 'info',
|
||||
help = 'Additional info to display for item',
|
||||
},
|
||||
clearButton = UI.Button {
|
||||
x = 2, y = -2,
|
||||
event = 'clear',
|
||||
text = 'Remove',
|
||||
},
|
||||
updateButton = UI.Button {
|
||||
x = -12, y = -2,
|
||||
event = 'update',
|
||||
text = 'Update',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
function storeTab:setItem(item)
|
||||
self.item = item
|
||||
self.form:setValues(config[item.key] or { })
|
||||
end
|
||||
|
||||
function storeTab:eventHandler(event)
|
||||
if event.type == 'clear' then
|
||||
self.form:setValues({ })
|
||||
config[self.item.key] = nil
|
||||
Config.update('shop', config)
|
||||
os.queueEvent('shop_refresh')
|
||||
self.form:draw()
|
||||
|
||||
elseif event.type == 'update' then
|
||||
if self.form:save() then
|
||||
config[self.item.key] = self.form.values
|
||||
Config.update('shop', config)
|
||||
os.queueEvent('shop_refresh')
|
||||
self:emit({ type = 'success_message', message = 'Updated' })
|
||||
end
|
||||
|
||||
else
|
||||
return
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
return storeTab
|
||||
Reference in New Issue
Block a user