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.HeaderArtist extends Backbone.View
\r
93 initialize: (options) ->
\r
94 @item = options.item
\r
95 retriever = @item.artist()
\r
96 @listenTo(retriever, 'retrieve', @retrieve_artist)
\r
97 retriever.retrieve()
\r
99 retrieve_author: (@artist) ->
\r
100 name = @artist.escape('name')
\r
101 artist_url = @artist.show_url()
\r
102 @linked_artist = new Tag.A({
\r
103 attr: {href: '/' + artist_url},
\r
106 @listenTo(@linked_artist, 'click', @click)
\r
111 this.$el.append(Pettanr.AppHelper.t_a(@item.item_name(), 'artist_id'))
\r
112 this.$el.append(@linked_artist.render().el) if @linked_artist
\r
116 @trigger('click:artist')
\r
118 class Pettanr.Views.Show.LinkedEditButton extends Tag.A
\r
120 initialize: (options) ->
\r
121 item = options.item
\r
123 attr: {href: '/' + item.edit_url()},
\r
124 content: I18n.t('link.edit')
\r
127 class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A
\r
129 initialize: (options) ->
\r
130 item = options.item
\r
132 attr: {href: '/' + item.destroy_url()},
\r
133 content: I18n.t('link.destroy')
\r
136 class Pettanr.Views.Show.LinkedInspireIcon extends Tag.A
\r
138 initialize: (options) ->
\r
139 item = options.item
\r
140 half = options.half
\r
141 img = new Pettanr.Image.SymbolImg({
\r
142 attr: {src: '/images/inspire.gif'}, half: half
\r
145 attr: {href: '/' + item.index_url() + '/inspire'},
\r
146 content: img.render().el
\r
149 class Pettanr.Views.Show.OwnerFooter extends Backbone.View
\r
151 className: 'show-owner-footer'
\r
153 initialize: (options) ->
\r
155 @item = options.item
\r
156 @edit = new Pettanr.Views.Show.LinkedEditButton({item: @item})
\r
157 @destroy = new Pettanr.Views.Show.LinkedDestroyButton({item: @item})
\r
158 @listenTo(@edit, 'click', @click_edit)
\r
159 @listenTo(@destroy, 'click', @click_destroy)
\r
163 this.$el.append(@edit.render().el)
\r
164 this.$el.append(@destroy.render().el)
\r
168 @trigger('click:edit')
\r
170 click_destroy: () ->
\r
171 @trigger('click:destroy')
\r
173 class Pettanr.Views.Show.Owner extends Backbone.View
\r
176 initialize: (options) ->
\r
178 @item = options.item
\r
179 @header = new Tag.H3({
\r
180 class_name: 'owner-header',
\r
181 content: I18n.t('editor')
\r
183 @footer = new Pettanr.Views.Show.OwnerFooter({item: @item})
\r
184 @listenTo(@footer, 'click:edit', @click_edit)
\r
185 @listenTo(@footer, 'click:destroy', @click_destroy)
\r
189 this.$el.append(@header.render().el)
\r
190 this.$el.append(@footer.render().el)
\r
194 @trigger('click:footer:edit')
\r
195 @trigger('click:edit')
\r
197 click_destroy: () ->
\r
198 @trigger('click:footer:destroy')
\r
199 @trigger('click:destroy')
\r