add(update_callback) allow nil callback

Suggested by @sclu1034
This commit is contained in:
Aire-One 2021-09-29 22:34:38 +02:00 committed by Emmanuel Lepage Vallee
parent 18ae7bb56d
commit d5dbb9d32e
2 changed files with 6 additions and 8 deletions

View File

@ -16,10 +16,6 @@ local wbase = require("wibox.widget.base")
local gtable = require("gears.table")
local gtimer = require("gears.timer")
local default_update_callback = function()
return nil
end
local default_template_widget = wbase.empty_widget()
local template = {
@ -28,7 +24,9 @@ local template = {
}
function template:_do_update_now(args)
if type(self.update_callback) == 'function' then
self:update_callback(args)
end
template.queued_updates[self] = false
end
@ -73,7 +71,7 @@ function template.new(args)
local widget = wbase.make_widget_from_value(widget_template)
widget.update_callback = args.update_callback or default_update_callback
widget.update_callback = args.update_callback
widget.update_args = args.update_args or {}
gtable.crush(widget, template, true)

View File

@ -32,7 +32,7 @@ describe("wibox.widget.template", function()
it("batch calls", function()
local spied_update_callback = spy.new(function() end)
widget.update_callback = spied_update_callback
widget.update_callback = function(...) spied_update_callback(...) end
-- Multiple calls to update
widget:update()
@ -54,7 +54,7 @@ describe("wibox.widget.template", function()
local update_args = { foo = "bar" }
widget.update_args = args_structure
widget.update_callback = spied_update_callback
widget.update_callback = function(...) spied_update_callback(...) end
widget:update(update_args)