all item-code refactored into its own classes, item store working

This commit is contained in:
Tyler Renelle 2013-02-08 02:01:48 -05:00
parent 8d28cf1bfa
commit b4fda373cb
4 changed files with 27 additions and 39 deletions

View file

@ -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

View file

@ -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?

View file

@ -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()

View file

@ -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 = ->