diff --git a/src/app/browser.coffee b/src/app/browser.coffee index 58400de164..31ac8535a8 100644 --- a/src/app/browser.coffee +++ b/src/app/browser.coffee @@ -1,11 +1,20 @@ _ = require 'underscore' +module.exports.restoreRefs = restoreRefs = (model) -> + # tnl function + model.fn '_tnl', '_user.stats.lvl', (lvl) -> + # see https://github.com/lefnire/habitrpg/issues/4 + # also update in scoring.coffee. TODO create a function accessible in both locations + (lvl*100)/5 + + #refLists + _.each ['habit', 'daily', 'todo', 'reward'], (type) -> + model.refList "_#{type}List", "_user.tasks", "_user.#{type}Ids" + module.exports.resetDom = (model) -> window.DERBY.app.dom.clear() + restoreRefs(model) window.DERBY.app.view.render(model) - model.fn '_tnl', '_user.stats.lvl', (lvl) -> (lvl*100)/5 -# _.each ['habit', 'daily', 'todo', 'reward'], (type) -> -# model.refList "_#{type}List", "_user.tasks", "_user.{type}Ids" module.exports.app = (appExports, model) -> loadJavaScripts(model) diff --git a/src/app/index.coffee b/src/app/index.coffee index 056a67002b..f9c4ef3e17 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -1,8 +1,8 @@ derby = require 'derby' {get, view, ready} = derby.createApp module derby.use require 'derby-ui-boot' -derby.use require('../../ui') -derby.use require('derby-auth/components'); +derby.use require '../../ui' +derby.use require 'derby-auth/components' # Custom requires character = require './character' @@ -52,15 +52,7 @@ get '/', (page, model, next) -> character.updateUser(batch) batch.commit() - # refLists - _.each ['habit', 'daily', 'todo', 'reward'], (type) -> - model.refList "_#{type}List", "_user.tasks", "_user.#{type}Ids" - - # tnl function - model.fn '_tnl', '_user.stats.lvl', (lvl) -> - # see https://github.com/lefnire/habitrpg/issues/4 - # also update in scoring.coffee. TODO create a function accessible in both locations - (lvl*100)/5 + browser.restoreRefs model party.partySubscribe model, -> page.render() diff --git a/src/app/party.coffee b/src/app/party.coffee index c888bf30fe..81fac2cc11 100644 --- a/src/app/party.coffee +++ b/src/app/party.coffee @@ -5,10 +5,11 @@ browser = require './browser' partyQ = null membersQ = null -partyUnsubscribe = (model) -> +partyUnsubscribe = (model, cb) -> if window? subs = model._subs() model.unsubscribe.apply(model, subs) + cb() if cb? module.exports.partySubscribe = partySubscribe = (model, cb) -> @@ -143,11 +144,11 @@ module.exports.app = (appExports, model) -> model.del "parties.#{id}" model.set '_party', null model.set '_partyMembers', null - partyUnsubscribe model - selfQ = model.query('users').withId(model.get('_userId') or model.session.userId) - selfQ.subscribe (err, u) -> - model.ref '_user', u.at(0) - browser.resetDom model + partyUnsubscribe model, -> + selfQ = model.query('users').withId(model.get('_userId') or model.session.userId) + selfQ.subscribe (err, u) -> + model.ref '_user', u.at(0) + browser.resetDom model #setTimeout (-> window.location.reload true), 1 #exports.partyDisband = -> diff --git a/views/app/index.html b/views/app/index.html index 4ee39b1fee..1d7ab53244 100644 --- a/views/app/index.html +++ b/views/app/index.html @@ -75,10 +75,10 @@ do a find for the string after "→"
{_view.partyError}
{/}
- +
-
+
{/}