class Pettanr.GroundPicture extends Peta.Element url: '/ground_pictures/' @singular: () -> 'GroundPicture' @plural: () -> 'GroundPictures' defaults: { id: null, x: 0, y: 0, repeat: 0 } @repeat_texts: () -> ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'] @pick_item_name: () -> 'resource_picture' @traceable_item_names: () -> ['panel_picture', 'picture'] trace_from_panel_picture: () -> trace_from_picture: () -> pick: (picked_item) -> {picture_id: picked_item.get('picture_id')} panel: (options = {}) -> new Pettanr.Panel({id: @get('panel_id')}, options) picture: () -> new Pettanr.Picture({id: @get('picture_id')}) @has_picture: () -> true tmb_opt_img_tag: (picture) -> new Pettanr.Image.SymbolPicture({ attr: { src: picture.r_url(), alt: @escape('caption') }, picture: picture }) symbol_option: () -> i = @picture() i.fetch({cache: true}).done => @trigger('ready:symbol', i.tmb_opt_img_tag()) repeat_text: () -> Pettanr.GroundPicture.repeat_texts()[@get('repeat')] element_face: () -> new Pettanr.Views.GroundPicture.ElementFace({element: this}) initialize: (attr, options) -> super(attr, options) if @id @url = @url + @id