1 class Pettanr.Views.Common
\r
2 class Pettanr.Views.Common.LoadIcon extends Tag.Img
\r
6 @width = Manifest.manifest().magic_numbers['thumbnail_width']
\r
7 @height = Manifest.manifest().magic_numbers['thumbnail_height']
\r
8 @width = Pettanr.to_i(@width/2)
\r
9 @height = Pettanr.to_i(@height/2)
\r
10 @attr['src'] = '/images/loading.gif'
\r
11 @attr['width'] = @width
\r
12 @attr['height'] = @height
\r
13 @attr['alt'] = 'Loading'
\r
14 @attr['title'] = 'Loading'
\r
20 class Pettanr.Views.Common.Icon extends Backbone.View
\r
23 initialize: (options) ->
\r
24 @item = options.item
\r
25 @half = options.half
\r
26 @icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})
\r
27 @icon = new Pettanr.Image.Icon({item: @item, half: @half})
\r
28 @icon_button = new Tag.A({
\r
29 attr: {href: '/' + @icon_url},
\r
30 handler_name: @icon_url,
\r
32 content: @icon.render().el
\r
36 this.$el.html(@icon_button.render().el)
\r
39 class Pettanr.Views.Common.Caption extends Backbone.View
\r
42 initialize: (options) ->
\r
43 @item = options.item
\r
44 @column_name = options.column_name
\r
45 @length = options.length
\r
46 @name = Pettanr.truncate(@item.get(@column_name), @length)
\r
47 @url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})
\r
48 @linked_name = new Tag.A({
\r
49 attr: {href: '/' + @url},
\r
51 content: _.escape(@name)
\r
55 this.$el.html(@linked_name.render().el)
\r
58 class Pettanr.Views.Common.IconWithCaption extends Backbone.View
\r
61 initialize: (options) ->
\r
62 @item = options.item
\r
63 @half = options.half
\r
64 @column_name = options.column_name
\r
65 @length = options.length
\r
66 @icon = new Pettanr.Views.Common.Icon({item: @item, half: @half})
\r
67 @caption = new Pettanr.Views.Common.Caption({item: @item, column_name: @column_name, length: @length})
\r
71 this.$el.append(@icon.render().el)
\r
72 this.$el.append(@caption.render().el)
\r
75 class Pettanr.Views.Common.Summary extends Backbone.View
\r
77 initialize: (options) ->
\r
79 @listenTo(this, 'ready', @render)
\r
82 icon = new Pettanr.Views.Common.LoadIcon()
\r
83 this.$el.html(icon.render().el)
\r
90 class Pettanr.Views.Common.Binder
\r
91 class Pettanr.Views.Common.Binder.Summary extends Pettanr.Views.Common.Summary
\r
93 initialize: (options) ->
\r
95 @item = options.item
\r
96 @visible_t = options.visible_t
\r
97 @visible_column_name = options.visible_column_name
\r
101 @visible = new Tag.Div({
\r
102 content: Pettanr.AppHelper.t_selected_item(@visible_t, @item.get(@visible_column_name))
\r
104 @author = @item.author()
\r
105 @author.fetch({cache: true}).done =>
\r
106 @author_icon_with_caption = @author.icon_with_caption_view(true, 'name', 12)
\r
111 this.$el.append(@visible.render().el)
\r
112 this.$el.append(@author_icon_with_caption.render().el)
\r
115 class Pettanr.Views.Common.Leaf
\r
116 class Pettanr.Views.Common.Leaf.Summary extends Pettanr.Views.Common.Summary
\r
118 initialize: (options) ->
\r
120 @item = options.item
\r
121 @binder_item_name = options.binder_item_name
\r
122 @destination_item_name = options.destination_item_name
\r
126 @binder = @item[@binder_item_name]()
\r
127 @binder.fetch({cache: true}).done =>
\r
128 @binder_icon = @binder.icon_view(true)
\r
129 @binder_author = @binder.author()
\r
130 @binder_author.fetch({cache: true}).done =>
\r
131 @binder_author_icon_with_caption = @binder_author.icon_with_caption_view(true, 'name', 12)
\r
133 @destination = @item[@destination_item_name]()
\r
134 @destination.fetch({cache: true}).done =>
\r
135 @destination_icon = @destination.icon_view(true)
\r
136 @destination_author = @destination.author()
\r
137 @destination_author.fetch({cache: true}).done =>
\r
138 @destination_author_icon_with_caption = @destination_author.icon_with_caption_view(true, 'name', 12)
\r
143 if @binder_author_icon_with_caption
\r
144 this.$el.append(@binder_icon.render().el)
\r
145 this.$el.append(@binder_author_icon_with_caption.render().el)
\r
146 if @destination_author_icon_with_caption
\r
147 this.$el.append(@destination_icon.render().el)
\r
148 this.$el.append(@destination_author_icon_with_caption.render().el)
\r