class Pettanr.PanelPicture extends Peta.Element @singular: () -> 'PanelPicture' @plural: () -> 'PanelPictures' defaults: { id: null } @pick_item_name: () -> 'resource_picture' @traceable_item_names: () -> ['ground_picture', 'picture'] pick: (picked_item) -> { picture_id: picked_item.get('picture_id'), width: picked_item.get('width'), height: picked_item.get('height') } @trace_routes: () -> { resource_picture: ['picture', 'resource_picture_picture', 'resource_picture'] symbol: 'picture' } @has_picture: () -> true flip: () -> v = if @get('height') > 0 '' else 'v' h = if @get('width') > 0 '' else 'h' res = v + h res = res # format of /1.png?subdir=v # res += '/' unless res.empty? # format of /v/1.png res filename: (picture) -> q = if _.isEmpty(@flip()) '' else '?subdir=' + @flip() picture.filename() + q r_url: (picture) -> '/pictures/' + @filename(picture) element_face: () -> new Pettanr.Views.PanelPicture.ElementFace({element: this}) initialize: (attr, options) -> super(attr, options)