global settting

This commit is contained in:
Xuan Sang LE
2018-01-22 19:59:08 +01:00
parent 338dca02b9
commit 46e50b191f
15 changed files with 133 additions and 176 deletions

View File

@ -8,6 +8,13 @@ class BaseModel
_OS.setting.applications[@name] = {} if not _OS.setting.applications[@name]
@setting = _OS.setting.applications[@name]
@dialog = undefined
@subscribe "appregistry"
,(m)->
me.applySetting m.data.m if (m.name is me.name)
registry: (k,v) ->
@setting[k] = v
@publish "appregistry",k
render: (p) ->
_GUI.loadScheme p, @, @host
@ -24,12 +31,14 @@ class BaseModel
#implement by sub class
onexit: (e) ->
#implement by subclass
applySetting: (k) ->
one: (e, f) -> @observable.one e, f
on: (e, f) -> @observable.on e, f
trigger: (e, d) -> @observable.trigger e, d
subscribe: (e, f) -> _courrier.on e, f, @
subscribe: (e, f) ->
_courrier.on e, f, @
openDialog: (d, f, data) ->
if @dialog

View File

@ -36,48 +36,58 @@ self.OS.GUI =
srvs.splice 0, 1
f i for i in srvs
pushService: (srv) ->
pushService: (ph) ->
arr = ph.split "/"
srv = arr[1]
app = arr[0]
return _PM.createProcess srv, _OS.APP[srv] if _OS.APP[srv]
path = "services/#{srv}.js"
_API.script path,
(d) ->
_PM.createProcess srv, _OS.APP[srv]
, (e, s) ->
_GUI.loadApp app,
(a)->
return _PM.createProcess srv, _OS.APP[srv] if _OS.APP[srv]
(e, s) ->
_courrier.trigger "srvroutineready", srv
_courrier.osfail "Cannot read service script: #{srv} ", e, s
forceLaunch: (app, args) ->
console.log "This method is used for developing only, please use the launch method instead"
_PM.killAll app
_OS.APP[app] = undefined
_GUI.launch app, args
loadApp:(app, ok, err) ->
path = "packages/#{app}/"
_API.script path + "main.js",
(d) ->
#load css file
_API.get "#{path}main.css",
() ->
$ '<link>', { rel: 'stylesheet', type: 'text/css', 'href': "#{path}main.css" }
.appendTo 'head'
, () ->
#launch
if _OS.APP[app]
# load app meta data
_API.get "#{path}package.json",
(data) ->
_OS.APP[app].meta = data
ok app
, (e, s) ->
_courrier.osfail "Cannot read application metadata: #{app}", e, s
err e, s
else
ok app
, (e, s) ->
#BUG report here
_courrier.osfail "Cannot load application script: #{app}", e, s
console.log "bug report", e, s, path
err e,s
launch: (app, args) ->
if not _OS.APP[app]
# first load it
path = "packages/#{app}/"
_API.script path + "main.js",
(d) ->
#load css file
_API.get "#{path}main.css",
() ->
$ '<link>', { rel: 'stylesheet', type: 'text/css', 'href': "#{path}main.css" }
.appendTo 'head'
, () ->
#launch
if _OS.APP[app]
# load app meta data
_API.get "#{path}package.json",
(data) ->
_OS.APP[app].meta = data
_PM.createProcess app, _OS.APP[app], args
, (e, s) ->
_courrier.osfail "Cannot read application metadata: #{app}", e, s
alert "cannot read application, meta-data"
_GUI.loadApp app,
(a)->
_PM.createProcess a, _OS.APP[a], args
, (e, s) ->
#BUG report here
_courrier.osfail "Cannot load application script: #{app}", e, s
console.log "bug report", e, s, path
else
# now launch it
if _OS.APP[app]
@ -168,4 +178,5 @@ self.OS.GUI =
_GUI.loadTheme "antos"
_GUI.initDM()
_courrier.observable.one "syspanelloaded", () ->
_GUI.pushServices ["PushNotification", "Spotlight", "Calendar"]
#_GUI.loadApp "CoreServices", (a) ->
_GUI.pushServices ["CoreServices/PushNotification", "CoreServices/Spotlight", "CoreServices/Calendar"]