OSDN Git Service

fix:retrive
[pettanr/pettanr.git] / app / assets / javascripts / models / ground_picture.js.coffee
1 class Pettanr.GroundPicture extends Peta.Element\r
2   \r
3   @singular: () ->\r
4     'GroundPicture'\r
5   \r
6   @plural: () ->\r
7     'GroundPictures'\r
8   \r
9   defaults: {\r
10     id: null,\r
11     x: 0,\r
12     y: 0,\r
13     repeat: 0\r
14   } \r
15   \r
16   @repeat_texts: () -> \r
17     ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
18   \r
19   @pick_item_name: () ->\r
20     'resource_picture'\r
21   \r
22   @traceable_item_names: () ->\r
23     ['panel_picture', 'picture']\r
24   \r
25   pick: (picked_item) ->\r
26     {picture_id: picked_item.get('picture_id')}\r
27   \r
28   panel: () ->\r
29     new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))\r
30   \r
31   picture: () ->\r
32     new Pettanr.Cache.Retriever(Pettanr.Picture, @get('picture_id'))\r
33   \r
34   @has_picture: () ->\r
35     true\r
36   \r
37   tmb_opt_img_tag: (picture) ->\r
38     new Pettanr.Image.SymbolPicture({\r
39       attr: {\r
40         src: picture.r_url(), \r
41         alt: @escape('caption')\r
42       },\r
43       picture: picture\r
44     })\r
45   \r
46   symbol_option: () ->\r
47     @get_parent('picture', this, {\r
48       success: (picture) => \r
49         @trigger('ready:symbol', picture.tmb_opt_img_tag())\r
50     })\r
51   \r
52   repeat_text: () ->\r
53     Pettanr.GroundPicture.repeat_texts()[@get('repeat')]\r
54   \r
55   element_face: () ->\r
56     new Pettanr.Views.GroundPicture.ElementFace({element: this})\r
57   \r
58   initialize: (attr, options) ->\r
59     super(attr, options)\r
60   \r
61 class Pettanr.GroundPicture.TraceFromPicture\r
62   \r
63   constructor: (options) ->\r
64     _.extend(this, Backbone.Events)\r
65   \r
66   trace: (picture) ->\r
67     @picture(picture)\r
68   \r
69   picture: (picture) ->\r
70     resource_picture_picture_list = picture.has_one('resource_picture_picture')\r
71     resource_picture_picture_list.open(() =>\r
72       resource_picture_picture = resource_picture_picture_list.items()[0]\r
73       Pettanr.ResourcePicture.retrieve(resource_picture_picture.get('resource_picture_id'), this, {\r
74         success: (resource_picture) => \r
75           @trigger('trace', resource_picture)\r
76       })\r
77     )\r
78   \r
79 class Pettanr.GroundPicture.TraceFromPanelPicture extends Pettanr.GroundPicture.TraceFromPicture\r
80   \r
81   trace: (panel_picture) ->\r
82     @panel_picture(panel_picture)\r
83   \r
84   panel_picture: (panel_picture) ->\r
85     Pettanr.Picture.retrieve(panel_picture.get('picture_id'), this, {\r
86       success: (picture) => \r
87         tracer = new Pettanr.GroundPicture.TraceFromPicture()\r
88         @listenTo(tracer, 'trace', @success)\r
89         tracer.trace(picture)\r
90     })\r
91   \r
92   success: (resource_picture) ->\r
93     @trigger('trace', resource_picture)\r
94   \r