OSDN Git Service

fix filer
[pettanr/pettanr.git] / app / assets / javascripts / models / ground_picture.js.coffee
index 3e984b7..2f112d4 100644 (file)
@@ -1,15 +1,58 @@
 class Pettanr.GroundPicture extends Peta.Element\r
-  @single: () ->\r
+  url: '/ground_pictures/'\r
+  \r
+  @singular: () ->\r
     'GroundPicture'\r
   \r
   @plural: () ->\r
     'GroundPictures'\r
   \r
-  @colum_structures: ->\r
-    {}\r
-  \r
   defaults: {\r
-    x: 11\r
+    id: null,\r
+    x: 0,\r
+    y: 0,\r
+    repeat: 0\r
   } \r
   \r
-\r
+  @repeat_texts: () -> \r
+    ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
+  \r
+  picture: () ->\r
+    new Pettanr.Picture({id: @get('picture_id')})\r
+  \r
+  has_picture: () ->\r
+    true\r
+  \r
+  style: (spot = null, opacity = 20) ->\r
+    r = {\r
+      position: 'absolute', \r
+      top: '0px', \r
+      left: '0px',\r
+      'z-index': @get('z'), \r
+      'background-image': 'url(' + @picture().r_url() + ')', \r
+      'background-repeat': @repeat_text(), \r
+      'background-position': Pettanr.to_s(@get('x')) + 'px ' + Pettanr.to_s(@get('y')) + 'px'\r
+    }\r
+    @merge_opacity(r, opacity) if spot and spot != this\r
+    r\r
+  \r
+  tmb_opt_img_tag: (picture) ->\r
+    wh = Pettanr.Imager.thumbnail_size(picture().get('width'), picture().get('height'))\r
+    new Pettanr.AppHelperImg({src: picture.r_url(), size: Math.abs(wh[0]), alt: @get('caption')})\r
+  \r
+  symbol_option: (cb) ->\r
+    i = @picture()\r
+    _this = this\r
+    i.fetch().done ->\r
+      cb(_this.tmb_opt_img_tag(i))\r
+  \r
+  repeat_text: () ->\r
+    Pettanr.GroundPicture.repeat_texts()[@get('repeat')]\r
+  \r
+  initialize: () ->\r
+    if @id\r
+      @url = @url + @id\r
+  \r
+class Pettanr.GroundPicture.Collection extends Backbone.Collection\r
+  model: Pettanr.GroundPicture\r
+  url: '/ground_pictures'\r