mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-05 03:52:14 +00:00
possible fix for #324 - shuffle some function placement to be sure
definition precedes function call. put re-rendering
functionality (setupSortable, setupTour, etc) into app.on('render')
This commit is contained in:
parent
233f8ea595
commit
bd19e09fcf
2 changed files with 24 additions and 24 deletions
|
|
@ -3,7 +3,7 @@ moment = require 'moment'
|
|||
#algos = require './algos'
|
||||
|
||||
|
||||
module.exports.restoreRefs = restoreRefs = (model) ->
|
||||
restoreRefs = module.exports.restoreRefs = (model) ->
|
||||
# tnl function
|
||||
model.fn '_tnl', '_user.stats.lvl', (lvl) ->
|
||||
# see https://github.com/lefnire/habitrpg/issues/4
|
||||
|
|
@ -15,27 +15,6 @@ module.exports.restoreRefs = restoreRefs = (model) ->
|
|||
_.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)
|
||||
reconstructPage model
|
||||
|
||||
module.exports.app = (appExports, model) ->
|
||||
reconstructPage model
|
||||
setupGrowlNotifications(model) unless model.get('_view.mobileDevice')
|
||||
|
||||
reconstructPage = (model) ->
|
||||
loadJavaScripts(model)
|
||||
setupSortable(model)
|
||||
setupTooltips(model)
|
||||
setupTour(model)
|
||||
$('.datepicker').datepicker({autoclose:true, todayBtn:true})
|
||||
.on 'changeDate', (ev) ->
|
||||
#for some reason selecting a date doesn't fire a change event on the field, meaning our changes aren't saved
|
||||
#FIXME also, it saves as a day behind??
|
||||
model.at(ev.target).set 'date', moment(ev.date).add('d',1).format('MM/DD/YYYY')
|
||||
|
||||
###
|
||||
Loads JavaScript files from (1) public/js/* and (2) external sources
|
||||
We use this file (instead of <Scripts:> or <Tail:> inside .html) so we can utilize require() to concatinate for
|
||||
|
|
@ -218,3 +197,23 @@ setupGrowlNotifications = (model) ->
|
|||
statsNotification '<i class="icon-death"></i> You died!', 'death'
|
||||
else
|
||||
statsNotification '<i class="icon-chevron-up"></i> Level Up!', 'lvl'
|
||||
|
||||
|
||||
module.exports.resetDom = (model) ->
|
||||
window.DERBY.app.dom.clear()
|
||||
window.DERBY.app.view.render(model)
|
||||
|
||||
module.exports.app = (appExports, model, app) ->
|
||||
loadJavaScripts(model)
|
||||
|
||||
app.on 'render', (ctx) ->
|
||||
#restoreRefs(model)
|
||||
setupSortable(model)
|
||||
setupTooltips(model)
|
||||
setupGrowlNotifications(model) unless model.get('_view.mobileDevice')
|
||||
setupTour(model)
|
||||
$('.datepicker').datepicker({autoclose:true, todayBtn:true})
|
||||
.on 'changeDate', (ev) ->
|
||||
#for some reason selecting a date doesn't fire a change event on the field, meaning our changes aren't saved
|
||||
#FIXME also, it saves as a day behind??
|
||||
model.at(ev.target).set 'date', moment(ev.date).add('d',1).format('MM/DD/YYYY')
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
derby = require 'derby'
|
||||
{get, view, ready} = derby.createApp module
|
||||
app = derby.createApp module
|
||||
{get, view, ready} = app
|
||||
derby.use require('derby-ui-boot'), {styles: ['bootstrap', 'responsive']}
|
||||
derby.use require '../../ui'
|
||||
derby.use require 'derby-auth/components'
|
||||
|
|
@ -59,5 +60,5 @@ ready (model) ->
|
|||
profile.app(exports, model)
|
||||
require('../server/private').app(exports, model)
|
||||
require('./debug').app(exports, model) if model.get('_view.nodeEnv') != 'production'
|
||||
browser.app(exports, model)
|
||||
browser.app(exports, model, app)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue