class Pettanr.Views.Artist.ShowModule class Pettanr.Views.Artist.ShowModule.Header extends Pettanr.Views.Show.Header initialize: (options) -> super(options) class Pettanr.Views.Artist.ShowModule.Body extends Backbone.View initialize: (options) -> super(options) @item = options.item render: () -> this.$el.html('') resource_pictures_params = {controller: 'resource_pictures', action: 'by_artist', id: @item.get('id')} resource_pictures_controller = Manifest.manifest().controllers[resource_pictures_params['controller']] resource_pictures_action = resource_pictures_controller.actions[resource_pictures_params['action']] @resource_pictures_url = resource_pictures_action.url(resource_pictures_params) @resource_pictures_caption = new Tag.A({ attr: {href: '/' + @resource_pictures_url}, content: Pettanr.AppHelper.t_m('ResourcePicture') }) @listenTo(@resource_pictures_caption, 'click', @click_resource_pictures_caption) this.$el.append(@resource_pictures_caption.render().el) this click_resource_pictures_caption: () -> @trigger('http_get', @resource_pictures_url) class Pettanr.Views.Artist.Show extends Backbone.View tagName: 'div' initialize: (options) -> @item = options.item @header = new Pettanr.Views.Artist.ShowModule.Header({ item: @item, caption: @item.get('name'), icon_url: @item.show_url(), caption_url: @item.show_url(), prof_url: @item.prof_url() }) @body = new Pettanr.Views.Artist.ShowModule.Body({ item: @item, }) @listenTo(@body, 'http_get', @http_get) render: () -> this.$el.html('') this.$el.append(@header.render().el) this.$el.append(@body.render().el) this http_get: (url) -> @trigger('http_get', url)