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: () -> new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id')) picture: () -> new Pettanr.Cache.Retriever(Pettanr.Picture, @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: () -> retriever = @picture() @listenTo(retriever, 'retrieve', @retrieve_symbol) retriever.retrieve() retrieve_symbol: (picture) -> @trigger('ready:symbol', picture.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