OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / models / ground_picture.js.coffee
1 class Pettanr.GroundPicture extends Peta.Element\r
2   url: '/ground_pictures/'\r
3   \r
4   @singular: () ->\r
5     'GroundPicture'\r
6   \r
7   @plural: () ->\r
8     'GroundPictures'\r
9   \r
10   defaults: {\r
11     id: null,\r
12     x: 0,\r
13     y: 0,\r
14     repeat: 0\r
15   } \r
16   \r
17   @repeat_texts: () -> \r
18     ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
19   \r
20   @pick_item_name: () ->\r
21     'resource_picture'\r
22   \r
23   @pick_model: () ->\r
24     Manifest.item_name_to_model(@pick_item_name())\r
25   \r
26   @traceable_item_names: () ->\r
27     ['panel_picture', 'picture']\r
28   \r
29   @is_traceable: (item_name) ->\r
30     _.contains(@traceable_item_names(), item_name)\r
31   \r
32   trace_from_panel_picture: () ->\r
33   \r
34   trace_from_picture: () ->\r
35   \r
36   pick: (picked_item) ->\r
37     {picture_id: picked_item.get('picture_id')}\r
38   \r
39   panel: (options = {}) ->\r
40     new Pettanr.Panel({id: @get('panel_id')}, options)\r
41   \r
42   picture: () ->\r
43     new Pettanr.Picture({id: @get('picture_id')})\r
44   \r
45   @has_picture: () ->\r
46     true\r
47   \r
48   tmb_opt_img_tag: (picture) ->\r
49     new Pettanr.Image.SymbolPicture({\r
50       attr: {\r
51         src: picture.r_url(), \r
52         alt: @escape('caption')\r
53       },\r
54       picture: picture\r
55     })\r
56   \r
57   symbol_option: () ->\r
58     i = @picture()\r
59     i.fetch({cache: true}).done =>\r
60       @trigger('ready:symbol', i.tmb_opt_img_tag())\r
61   \r
62   repeat_text: () ->\r
63     Pettanr.GroundPicture.repeat_texts()[@get('repeat')]\r
64   \r
65   element_face: () ->\r
66     new Pettanr.Views.GroundPicture.ElementFace({element: this})\r
67   \r
68   initialize: (attr, options) ->\r
69     super(attr, options)\r
70     if @id\r
71       @url = @url + @id\r
72   \r