253:ae5644b98a35
Anton Shestakov <av6@dwimlabs.net>, Sun, 04 Dec 2016 01:55:57 +0800
views: save nested AvatarView, and then dispose of it in remove()

previous change 233:7d12b9fc2f41

coffee/favicon.coffee

Permissions: -rw-r--r--

Other formats: Feeds:
class window.Tram.FaviconApp extends Backbone.View
tagName: 'link'
attributes:
rel: 'icon'
type: 'image/x-icon'
pipColors: Tram.colors.show
initialize: ->
@canvas = document.createElement('canvas')
@canvas.height = 16
@canvas.width = 16
@listenTo(@model, 'change', @updateFavicon)
@updateFavicon()
@render()
updateFavicon: ->
color = @pipColors[@model.get('show')] ? @pipColors['default']
@renderFavicon(color)
renderFavicon: (color) ->
ctx = @canvas.getContext('2d')
ctx.clearRect(0, 0, @canvas.width, @canvas.height)
ctx.fillStyle = color
ctx.beginPath()
ctx.arc(8, 8, 5.5, 0, Math.PI * 2)
ctx.fill()
@el.href = @canvas.toDataURL()
render: ->
$('head').append(@el)
@