mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-03 08:21:07 +00:00
all item-code refactored into its own classes, item store working
This commit is contained in:
parent
8d28cf1bfa
commit
b4fda373cb
4 changed files with 27 additions and 39 deletions
|
|
@ -17,7 +17,7 @@ module.exports.app = (appExports, model) ->
|
|||
We use this file (instead of <Scripts:> or <Tail:> inside .html) so we can utilize require() to concatinate for
|
||||
faster page load, and $.getScript for asyncronous external script loading
|
||||
###
|
||||
module.exports.loadJavaScripts = (model) ->
|
||||
loadJavaScripts = (model) ->
|
||||
|
||||
# Load public/js/* files
|
||||
# TODO use Bower
|
||||
|
|
@ -43,7 +43,7 @@ module.exports.loadJavaScripts = (model) ->
|
|||
###
|
||||
Setup jQuery UI Sortable
|
||||
###
|
||||
module.exports.setupSortable = (model) ->
|
||||
setupSortable = (model) ->
|
||||
unless (model.get('_view.mobileDevice') == true) #don't do sortable on mobile
|
||||
# Make the lists draggable using jQuery UI
|
||||
# Note, have to setup helper function here and call it for each type later
|
||||
|
|
@ -68,7 +68,7 @@ module.exports.setupSortable = (model) ->
|
|||
model.at("_#{type}List").pass(ignore: domId).move {id}, to
|
||||
_.each ['habit', 'daily', 'todo', 'reward'], (type) -> setupSortable(type)
|
||||
|
||||
module.exports.setupTooltips = (model) ->
|
||||
setupTooltips = (model) ->
|
||||
$('[rel=tooltip]').tooltip()
|
||||
$('[rel=popover]').popover()
|
||||
# FIXME: this isn't very efficient, do model.on set for specific attrs for popover
|
||||
|
|
@ -77,7 +77,7 @@ module.exports.setupTooltips = (model) ->
|
|||
$('[rel=popover]').popover()
|
||||
|
||||
|
||||
module.exports.setupTour = (model) ->
|
||||
setupTour = (model) ->
|
||||
tourSteps = [
|
||||
{
|
||||
element: "#avatar"
|
||||
|
|
@ -134,7 +134,7 @@ module.exports.setupTour = (model) ->
|
|||
###
|
||||
Sets up "+1 Exp", "Level Up", etc notifications
|
||||
###
|
||||
module.exports.setupGrowlNotifications = (model) ->
|
||||
setupGrowlNotifications = (model) ->
|
||||
return unless jQuery? # Only run this in the browser
|
||||
user = model.at '_user'
|
||||
|
||||
|
|
@ -150,21 +150,6 @@ module.exports.setupGrowlNotifications = (model) ->
|
|||
allow_dismiss: true
|
||||
stackup_spacing: 10 # spacing between consecutive stacecked growls.
|
||||
|
||||
user.on 'set', 'flags.partyEnabled', (captures, args) ->
|
||||
return unless captures == true
|
||||
message = "Congratulations, you have unlocked the Party System! You can now group with your friends by adding their User Ids."
|
||||
$('.main-avatar').popover
|
||||
title: "Party System Unlocked"
|
||||
placement: 'bottom'
|
||||
trigger: 'manual'
|
||||
html: true
|
||||
content: "<div class='party-system-popover'>
|
||||
<img src='/img/party-unlocked.png' style='float:right;padding:5px;' />
|
||||
#{message} <a href='#' onClick=\"$('.main-avatar').popover('hide');return false;\">[Close]</a>
|
||||
</div>"
|
||||
$('.main-avatar').popover 'show'
|
||||
|
||||
|
||||
# Setup listeners which trigger notifications
|
||||
user.on 'set', 'stats.hp', (captures, args) ->
|
||||
num = captures - args
|
||||
|
|
|
|||
|
|
@ -57,23 +57,6 @@ module.exports.viewHelpers = (view) ->
|
|||
view.fn "tokens", (gp) ->
|
||||
return gp/0.25
|
||||
|
||||
view.fn 'equipped', (user, type) ->
|
||||
{gender, armorSet} = user?.preferences || {'m', 'v1'}
|
||||
|
||||
if type=='armor'
|
||||
armor = user?.items?.armor || 0
|
||||
if gender == 'f'
|
||||
return if (parseInt(armor) == 0) then "f_armor_#{armor}_#{armorSet}" else "f_armor_#{armor}"
|
||||
else
|
||||
return "m_armor_#{armor}"
|
||||
|
||||
else if type=='head'
|
||||
head = user?.items?.head || 0
|
||||
if gender == 'f'
|
||||
return if (parseInt(head) > 1) then "f_head_#{head}_#{armorSet}" else "f_head_#{head}"
|
||||
else
|
||||
return "m_head_#{head}"
|
||||
|
||||
|
||||
view.fn "username", (auth) ->
|
||||
if auth?.facebook?.displayName?
|
||||
|
|
|
|||
|
|
@ -5,14 +5,17 @@ derby.use require('../../ui')
|
|||
derby.use require('derby-auth/components');
|
||||
|
||||
# Custom requires
|
||||
moment = require('moment')
|
||||
scoring = require './scoring'
|
||||
schema = require './schema'
|
||||
helpers = require './helpers'
|
||||
browser = require './browser'
|
||||
party = require './party'
|
||||
items = require './items'
|
||||
|
||||
helpers.viewHelpers view
|
||||
items.view view
|
||||
|
||||
moment = require('moment')
|
||||
_ = require('underscore')
|
||||
|
||||
setupListReferences = (model) ->
|
||||
|
|
@ -47,7 +50,7 @@ get '/', (page, model, next) ->
|
|||
|
||||
model.set '_view', _view
|
||||
|
||||
items.updateStore(model)
|
||||
items.server(model)
|
||||
|
||||
schema.updateUser(batch)
|
||||
batch.commit()
|
||||
|
|
|
|||
|
|
@ -68,6 +68,23 @@ module.exports.partySubscribe = partySubscribe = (model, cb) ->
|
|||
module.exports.app = (appExports, model) ->
|
||||
user = model.at('_user')
|
||||
|
||||
user.on 'set', 'flags.partyEnabled', (captures, args) ->
|
||||
return unless captures == true
|
||||
html = """
|
||||
<div class='party-system-popover'>
|
||||
<img src='/img/party-unlocked.png' style='float:right;padding:5px;' />
|
||||
Congratulations, you have unlocked the Party System! You can now group with your friends by adding their User Ids.
|
||||
<a href='#' onClick="$('.main-avatar').popover('hide');return false;">[Close]</a>
|
||||
</div>
|
||||
"""
|
||||
$('.main-avatar').popover
|
||||
title: "Party System Unlocked"
|
||||
placement: 'bottom'
|
||||
trigger: 'manual'
|
||||
html: true
|
||||
content: html
|
||||
$('.main-avatar').popover 'show'
|
||||
|
||||
model.on 'set', '_user.party.invitation', -> partySubscribe(model)
|
||||
|
||||
appExports.partyCreate = ->
|
||||
|
|
|
|||
Loading…
Reference in a new issue