@root = options.root\r
@spot = options.spot\r
\r
- clear: () ->\r
- this\r
- \r
render: () ->\r
@element.get_parent('picture', this, {\r
success: (@picture) =>\r
picture: @picture,\r
spot: @spot\r
})\r
+ @listenTo(img, 'http_get', @http_get)\r
@restyle()\r
this.$el.html(img.render().el)\r
@init_picture(img)\r
attr = {style: Pettanr.to_style(@style())}\r
this.$el.attr(attr)\r
\r
- add_element: () ->\r
- null\r
- \r
style: () ->\r
{\r
'top': Pettanr.to_s(@element.get('y')) + 'px',\r
Pettanr.Views[element.singular()].Element\r
\r
img_class: () ->\r
- Pettanr.Views.PanelPicture.Element.Img\r
+ if @element.get('link')\r
+ if @element.get('link').match(/\:\/\//)\r
+ Pettanr.Views.PanelPicture.Element.LinkedImg\r
+ else\r
+ Pettanr.Views.PanelPicture.Element.ButtonImg\r
+ else\r
+ Pettanr.Views.PanelPicture.Element.Img\r
+ \r
+ http_get: (url) ->\r
+ @trigger('http_get', url)\r
+ \r
+class Pettanr.Views.PanelPicture.Element.LinkedImg extends Tag.A_\r
+ \r
+ initialize: (options) ->\r
+ img = new Pettanr.Views.PanelPicture.Element.Img(options)\r
+ super({content: img.render().el, attr: {href: options.element.get('link')}})\r
+ \r
+class Pettanr.Views.PanelPicture.Element.ButtonImg extends Tag.A\r
+ \r
+ initialize: (options) ->\r
+ img = new Pettanr.Views.PanelPicture.Element.Img(options)\r
+ @link = options.element.get('link')\r
+ super({content: img.render().el, attr: {href: '/' + @link}})\r
+ \r
+ click: () ->\r
+ super()\r
+ @trigger('http_get', @link)\r
+ return false\r
\r
class Pettanr.Views.PanelPicture.Element.Img extends Pettanr.View\r
tagName: 'img'\r
@picture = options.picture\r
@spot = options.spot\r
\r
- clear: () ->\r
- this\r
- \r
render: () ->\r
this.$el.html('')\r
@restyle()\r
@element.merge_opacity(style, opacity)\r
{\r
vPicture: @element.get('id'), \r
- src: @picture.picture_file(@element.flip()).src(@picture), \r
+ src: @picture.picture_file(@element.flip()).src(), \r
width: Pettanr.to_s(Math.abs(@element.get('width'))) + 'px', \r
height: Pettanr.to_s(Math.abs(@element.get('height'))) + 'px', \r
alt: @element.get('caption'), \r
\r
initialize: (options) ->\r
super(options)\r
+ \r
+ init_picture: (img) ->\r
+ super(img)\r
@listenTo(@element, 'input:x', @restyle)\r
@listenTo(@element, 'input:y', @restyle)\r
@listenTo(@element, 'sort', @restyle)\r
@listenTo(@element, 'active', @active)\r
@listenTo(@element, 'inactive', @inactive)\r
- \r
- init_picture: (img) ->\r
- super(img)\r
wrapper = this\r
this.$el.draggable {\r
stop: (event, ui) ->\r