opfplatform
Version:
The celebrated OPF Platform for buidling enterprise Private App Stores
59 lines (46 loc) • 1.65 kB
text/coffeescript
require('lib/setup')
Spine = require('spine')
Session = require("models/session")
User = require("models/standard/user")
class Platform extends Spine.Controller
elements:
".platformCanvas" : "platformCanvas"
constructor: ->
super
Spine.session = Session.create .session if .session
Spine.options =
LazyLoad.js "/#{@options.app}.js?width=#{$(window).width()}", =>
Spine.apps = {}
for path in Spine.applicationPaths
Spine.apps[path.replace(/\//g,'.')] = require(path)
MainController = require("mainController")
Spine.mainController = new MainController(el: )
""
()
"/"
setupRoutes: =>
homeAppNameString = Spine.options.initApp || "web/home"
homeAppName = require("#{homeAppNameString}")
"/": =>
?.reset?()
= new homeAppName()
.html .el
("unbind")
"/app/:appName/*glob": (params) =>
?.reset?()
(params.appName,params.glob)
"/app/:appName": (params) =>
?.reset?()
(params.appName)
goToApp: (appName , params = null) =>
appClass = Spine.apps[appName]
params = JSON.parse params
Spine.currentPath = appName
= new appClass(params: params )
.html .el
("bind")
registerBackButtons: (type) =>
$(".btn_goBack")[type] "click" , =>
.navigate "/"
module.exports = Platform