viewplex: only relay events from focused page
This commit is contained in:
parent
24052ac10d
commit
1ba470a631
@ -15,11 +15,14 @@
|
|||||||
{
|
{
|
||||||
:listen (fn [_ name fun]
|
:listen (fn [_ name fun]
|
||||||
(if (not (. relay-events name))
|
(if (not (. relay-events name))
|
||||||
(v:listen name #(listeners:notify name $1))))
|
|
||||||
(each [_ v (pairs views)]
|
(each [_ v (pairs views)]
|
||||||
|
(v:listen name #(if (= v foreground-view)
|
||||||
|
(listeners:notify name $1)))))
|
||||||
(table.insert relay-events name)
|
(table.insert relay-events name)
|
||||||
(listeners:add name fun))
|
(listeners:add name fun))
|
||||||
|
|
||||||
:widget widget
|
:widget widget
|
||||||
|
|
||||||
:add-view (fn [self webview]
|
:add-view (fn [self webview]
|
||||||
(set foreground-view webview)
|
(set foreground-view webview)
|
||||||
(webview.widget:show)
|
(webview.widget:show)
|
||||||
@ -30,6 +33,14 @@
|
|||||||
(tset views page webview)
|
(tset views page webview)
|
||||||
(set widget.page page)
|
(set widget.page page)
|
||||||
page))
|
page))
|
||||||
|
|
||||||
|
:focus (fn [_ page]
|
||||||
|
(let [view (. views page)]
|
||||||
|
(set foreground-view view)
|
||||||
|
(each [_ prop (ipairs relay-events)]
|
||||||
|
(listeners:notify :uri (. view.properties prop)))
|
||||||
|
(set widget.page page)))
|
||||||
|
|
||||||
:visit #(and foreground-view (foreground-view:visit $2))
|
:visit #(and foreground-view (foreground-view:visit $2))
|
||||||
:stop-loading #(and foreground-view
|
:stop-loading #(and foreground-view
|
||||||
(foreground-view:stop-loading))
|
(foreground-view:stop-loading))
|
||||||
|
Loading…
Reference in New Issue
Block a user