1 class Pettanr.Views.Show
\r
2 class Pettanr.Views.Show.Header extends Backbone.View
\r
4 className: 'show-header'
\r
6 initialize: (options) ->
\r
8 @title = options.caption
\r
9 @icon_url = options.icon_url
\r
10 @caption_url = options.caption_url
\r
11 @prof_url = options.prof_url
\r
14 @icon = new Pettanr.Image.Icon({item: @item, half: true})
\r
15 @icon_button = new Tag.A({
\r
16 attr: {href: '/' + @icon_url},
\r
18 content: @icon.render().el
\r
20 @caption = new Tag.A({
\r
21 attr: {href: '/' + @caption_url},
\r
22 class_name: 'caption',
\r
23 content: _.escape(@title)
\r
25 @prof = new Pettanr.Image.SymbolImg({attr: {src: '/images/prof.gif'}, half: true})
\r
26 @prof_button = new Tag.A({
\r
27 attr: {href: '/' + @prof_url},
\r
29 content: @prof.render().el
\r
31 @listenTo(@icon, 'click', @click_icon)
\r
32 @listenTo(@caption, 'click', @click_caption)
\r
33 @listenTo(@prof_button, 'click', @click_prof)
\r
37 this.$el.append(@pick.render().el) if @pick
\r
38 this.$el.append(@icon_button.render().el)
\r
39 this.$el.append(@caption.render().el)
\r
40 this.$el.append(@prof_button.render().el)
\r
44 @trigger('click:pick')
\r
47 @trigger('click:icon')
\r
49 click_caption: () ->
\r
50 @trigger('click:caption')
\r
53 @trigger('click:prof')
\r
55 add_pick: (target_model) ->
\r
56 @pick = new Pettanr.Views.Common.PickIcon({
\r
57 name: target_model.pick_type(@item.item_name()), half: true
\r
59 @listenTo(@pick, 'click', @click_pick)
\r
62 class Pettanr.Views.Show.HeaderAuthor extends Backbone.View
\r
65 initialize: (options) ->
\r
66 @item = options.item
\r
67 retriever = @item.author()
\r
68 @listenTo(retriever, 'retrieve', @retrieve_author)
\r
69 retriever.retrieve()
\r
71 retrieve_author: (@author) ->
\r
72 name = @author.escape('name')
\r
73 author_url = @author.show_url()
\r
74 @linked_author = new Tag.A({
\r
75 attr: {href: '/' + author_url},
\r
78 @listenTo(@linked_author, 'click', @click)
\r
83 this.$el.append(Pettanr.AppHelper.t_a(@item.item_name(), 'author_id'))
\r
84 this.$el.append(@linked_author.render().el) if @linked_author
\r
88 @trigger('click:author')
\r
90 class Pettanr.Views.Show.LinkedEditButton extends Tag.A
\r
92 initialize: (options) ->
\r
95 attr: {href: '/' + item.edit_url()},
\r
96 content: I18n.t('link.edit')
\r
99 class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A
\r
101 initialize: (options) ->
\r
102 item = options.item
\r
104 attr: {href: '/' + item.destroy_url()},
\r
105 content: I18n.t('link.destroy')
\r
108 class Pettanr.Views.Show.LinkedInspireIcon extends Tag.A
\r
110 initialize: (options) ->
\r
111 item = options.item
\r
112 half = options.half
\r
113 img = new Pettanr.Image.SymbolImg({
\r
114 attr: {src: '/images/inspire.gif'}, half: half
\r
117 attr: {href: '/' + item.index_url() + '/inspire'},
\r
118 content: img.render().el
\r
121 class Pettanr.Views.Show.OwnerFooter extends Backbone.View
\r
123 className: 'show-owner-footer'
\r
125 initialize: (options) ->
\r
127 @item = options.item
\r
128 @edit = new Pettanr.Views.Show.LinkedEditButton({item: @item})
\r
129 @destroy = new Pettanr.Views.Show.LinkedDestroyButton({item: @item})
\r
130 @listenTo(@edit, 'click', @click_edit)
\r
131 @listenTo(@destroy, 'click', @click_destroy)
\r
135 this.$el.append(@edit.render().el)
\r
136 this.$el.append(@destroy.render().el)
\r
140 @trigger('click:edit')
\r
142 click_destroy: () ->
\r
143 @trigger('click:destroy')
\r
145 class Pettanr.Views.Show.Owner extends Backbone.View
\r
148 initialize: (options) ->
\r
150 @item = options.item
\r
151 @header = new Tag.H3({
\r
152 class_name: 'owner-header',
\r
153 content: I18n.t('editor')
\r
155 @footer = new Pettanr.Views.Show.OwnerFooter({item: @item})
\r
156 @listenTo(@footer, 'click:edit', @click_edit)
\r
157 @listenTo(@footer, 'click:destroy', @click_destroy)
\r
161 this.$el.append(@header.render().el)
\r
162 this.$el.append(@footer.render().el)
\r
166 @trigger('click:footer:edit')
\r
167 @trigger('click:edit')
\r
169 click_destroy: () ->
\r
170 @trigger('click:footer:destroy')
\r
171 @trigger('click:destroy')
\r