fix scheme load bug

This commit is contained in:
Xuan Sang LE
2018-03-20 15:05:41 +01:00
parent 857b2167c5
commit 988993483f
6 changed files with 42 additions and 11 deletions

View File

@ -25,13 +25,14 @@ class BaseApplication extends this.OS.GUI.BaseModel
CTRL: {}
SHIFT: {}
META: {}
init: ->
me = @
# first register some base event to the app
@subscribe "appregistry"
, ( m ) ->
me.applySetting m.data.m if (m.name is me.name)
init: ->
me = @
@off "*"
@on "exit", () -> me.quit()
# first register some base event to the app
@on "focus", () ->
me.sysdock.set "selectedApp", me
me.appmenu.pid = me.pid
@ -48,6 +49,7 @@ class BaseApplication extends this.OS.GUI.BaseModel
when "#{me.name}-about" then me.openDialog "AboutDialog", ()->
when "#{me.name}-exit" then me.trigger "exit"
@loadScheme()
loadScheme: () ->
#now load the scheme
path = "#{@meta().path}/scheme.html"

View File

@ -52,7 +52,9 @@ class BaseModel
one: (e, f) -> @observable.one e, f
on: (e, f) -> @observable.on e, f
off: (e, f) ->
return @observable.off e unless f
@observable.off e, f
trigger: (e, d) -> @observable.trigger e, d
subscribe: (e, f) ->

View File

@ -37,6 +37,7 @@ self.OS.GUI =
]
htmlToScheme: (html, app, parent) ->
scheme = $.parseHTML html
$(app.scheme).remove() if app.scheme
($ parent).append scheme
riot.mount ($ scheme), { observable: app.observable }
@ -186,11 +187,11 @@ self.OS.GUI =
# so that it can be themed
data.iconclass = "fa fa-cogs" if (not meta.icon) and (not meta.iconclass)
dock = $ "#sysdock"
app.init()
app.one "rendered", () ->
dock.get(0).newapp data
app.sysdock = dock.get(0)
app.appmenu = ($ "[data-id = 'appmenu']", "#syspanel")[0]
app.init()
toggleFullscreen: () ->
el = ($ "body")[0]