X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fviews%2Fpanel_pictures%2Felement.js.coffee;h=70ec929b5578e4a9a6663358e4902bf9333e06da;hp=174b382ab64fdd8c45e2eb3dcbfdd05e48997c4e;hb=8ec74dec6d3b971a050d2a14979783ccd54f06a2;hpb=6feb1c7f35b819955c56b14b6cfb7d1c21c0cffa diff --git a/app/assets/javascripts/views/panel_pictures/element.js.coffee b/app/assets/javascripts/views/panel_pictures/element.js.coffee index 174b382a..70ec929b 100644 --- a/app/assets/javascripts/views/panel_pictures/element.js.coffee +++ b/app/assets/javascripts/views/panel_pictures/element.js.coffee @@ -17,6 +17,7 @@ class Pettanr.Views.PanelPicture.Element extends Pettanr.View picture: @picture, spot: @spot }) + @listenTo(img, 'http_get', @http_get) @restyle() this.$el.html(img.render().el) @init_picture(img) @@ -42,7 +43,34 @@ class Pettanr.Views.PanelPicture.Element extends Pettanr.View Pettanr.Views[element.singular()].Element img_class: () -> - Pettanr.Views.PanelPicture.Element.Img + if @element.get('link') + if @element.get('link').match(/\:\/\//) + Pettanr.Views.PanelPicture.Element.LinkedImg + else + Pettanr.Views.PanelPicture.Element.ButtonImg + else + Pettanr.Views.PanelPicture.Element.Img + + http_get: (url) -> + @trigger('http_get', url) + +class Pettanr.Views.PanelPicture.Element.LinkedImg extends Tag.A_ + + initialize: (options) -> + img = new Pettanr.Views.PanelPicture.Element.Img(options) + super({content: img.render().el, attr: {href: options.element.get('link')}}) + +class Pettanr.Views.PanelPicture.Element.ButtonImg extends Tag.A + + initialize: (options) -> + img = new Pettanr.Views.PanelPicture.Element.Img(options) + @link = options.element.get('link') + super({content: img.render().el, attr: {href: '/' + @link}}) + + click: () -> + super() + @trigger('http_get', @link) + return false class Pettanr.Views.PanelPicture.Element.Img extends Pettanr.View tagName: 'img'