Default image for achievements. Redid border logic

This commit is contained in:
Ruben Vereecken 2014-07-28 15:14:11 +02:00
parent 15c1939657
commit a8df3df095
8 changed files with 52 additions and 17 deletions

View file

@ -40,7 +40,12 @@ Application = initialize: ->
@facebookHandler = new FacebookHandler()
@gplusHandler = new GPlusHandler()
$(document).bind 'keydown', preventBackspace
$.notify.addStyle 'achievement', html: $(AchievementNotify popup:true)
#$.notify.addStyle 'achievement', html: $(AchievementNotify popup:true)
$.notify.addStyle 'achievement-wood', html: $(AchievementNotify popup:true)
$.notify.addStyle 'achievement-stone', html: $(AchievementNotify popup:true)
$.notify.addStyle 'achievement-silver', html: $(AchievementNotify popup:true)
$.notify.addStyle 'achievement-gold', html: $(AchievementNotify popup:true)
$.notify.addStyle 'achievement-diamong', html: $(AchievementNotify popup:true)
@linkedinHandler = new LinkedInHandler()
preload(COMMON_FILES)
$.i18n.init {

View file

@ -14,3 +14,15 @@ module.exports = class Achievement extends CocoModel
kind = @get('function')?.kind or jsonschema.properties.function.default.kind
parameters = @get('function')?.parameters or jsonschema.properties.function.default.parameters
return utils.functionCreators[kind](parameters) if kind of utils.functionCreators
@styleMapping:
1: 'achievement-wood'
2: 'achievement-stone'
3: 'achievement-silver'
4: 'achievement-gold'
5: 'achievement-diamond'
getNotifyStyle: -> Achievement.styleMapping[@get 'difficulty']
getImageURL: ->
if @get 'icon' then '/file/' + @get('icon') else '/images/achievements/stars.png'

View file

@ -24,8 +24,9 @@ MongoFindQuerySchema =
'^[-a-zA-Z0-9\.]*$':
oneOf: [
#{$ref: '#/definitions/' + MongoQueryOperatorSchema.id},
{type: 'string'},
{type: 'string'}
{type: 'object'}
{type: 'boolean'}
]
additionalProperties: true # TODO make Treema accept new pattern matched keys
definitions: {}
@ -72,7 +73,7 @@ _.extend AchievementSchema.properties,
additionalProperties: false
_.extend AchievementSchema, # Let's have these on the bottom
required: ['query', 'worth', 'collection', 'userField', 'category', 'difficulty']
required: ['name', 'description', 'query', 'worth', 'collection', 'userField', 'category', 'difficulty']
additionalProperties: false
AchievementSchema.definitions = {}

View file

@ -38,14 +38,6 @@
margin-top: auto
margin-bottom: 0px !important
.achievement-border-wood
background: url("/images/achievements/border_wood.png") no-repeat
background-size: 100% 100%
.achievement-border-silver
background: url("/images/achievements/border_silver.png") no-repeat
background-size: 100% 100%
#user-achievements-view
.row
//.col-lg-4, .col-xs-12
@ -83,7 +75,8 @@
line-height: 1.3em
max-height: 2.6em
.notifyjs-achievement-base
.notifyjs-achievement-wood-base, .notifyjs-achievement-stone-base, .notifyjs-achievement-silver-base,
.notifyjs-achievement-gold-base, .notifyjs-achievement-diamond-base
padding: 20px 0px
.achievement-body
@ -150,5 +143,30 @@
.progress-bar-border img
width: 100%
.notifyjs-achievement-wood-base
.achievement-icon
background: url("/images/achievements/border_wood.png") no-repeat
background-size: 100% 100%
.notifyjs-achievement-stone-base
.achievement-icon
background: url("/images/achievements/border_stone.png") no-repeat
background-size: 100% 100%
.notifyjs-achievement-silver-base
.achievement-icon
background: url("/images/achievements/border_silver.png") no-repeat
background-size: 100% 100%
.notifyjs-achievement-gold-base
.achievement-icon
background: url("/images/achievements/border_gold.png") no-repeat
background-size: 100% 100%
.notifyjs-achievement-diamond-base
.achievement-icon
background: url("/images/achievements/border_diamond.png") no-repeat
background-size: 100% 100%
.progress-bar-white
background-color: white

View file

@ -1,6 +1,6 @@
div
.clearfix.achievement-body
.achievement-icon.achievement-border-silver(class=locked === true ? "locked" : "")
.achievement-icon(class=locked === true ? "locked" : "", class=border)
.achievement-image(data-notify-html="image")
if imgURL
img(src=imgURL)

View file

@ -71,7 +71,7 @@ module.exports = class AchievementEditView extends RootView
data = @createNotifyData @achievement, earned
options =
style: 'achievement'
style: @achievement.getNotifyStyle()
autoHide: false
clickToHide: false
arrowShow: false

View file

@ -80,10 +80,9 @@ module.exports = class RootView extends CocoView
$actualHover.trigger e if $actualHover
# TODO a default should be linked here
imageURL = '/file/' + achievement.get('icon')
data =
title: achievement.get('name')
image: $("<img src='#{imageURL}' />")
image: $("<img src='#{achievement.getImageURL()}' />")
description: achievement.get('description')
progressBar: progressBar
earnedExp: "+ #{achievedExp} XP"
@ -99,7 +98,7 @@ module.exports = class RootView extends CocoView
autoHideDelay: 10000
globalPosition: 'bottom right'
showDuration: 400
style: 'achievement'
style: achievement.getNotifyStyle()
autoHide: true
clickToHide: true

View file

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB