OSDN Git Service

fix:pp link
[pettanr/pettanr.git] / app / assets / javascripts / views / panels / body.js.coffee
index 02a6e40..9ae783e 100644 (file)
@@ -1,12 +1,10 @@
 # panel: panel item\r
-# operators: operators\r
 # spot: no opacity element\r
-class Pettanr.Views.Panel.Body extends Backbone.View\r
+class Pettanr.Views.Panel.Body extends Pettanr.View\r
   tagName: 'div'\r
   \r
   initialize: (options) ->\r
     @panel = options.panel\r
-    @operators = options.operators\r
     @spot = options.spot\r
     @class_name = 'pettanr-comic-panel'\r
     @views = []\r
@@ -31,7 +29,7 @@ class Pettanr.Views.Panel.Body extends Backbone.View
     this.$el.attr(attr)\r
   \r
   is_visible: () ->\r
-    @panel.is_visible(@operators)\r
+    @panel.is_visible()\r
   \r
   render_element: (index) ->\r
   \r
@@ -39,11 +37,20 @@ class Pettanr.Views.Panel.Body extends Backbone.View
     index = element.get('z') - 1\r
     c = @element_class(element)\r
     view = new c({element: element, root: @panel, spot: @spot})\r
+    @add_event(view)\r
     @views.splice(index, 0, view)\r
     if @is_visible()\r
       this.$el.append(view.render().el)\r
     view\r
   \r
+  add_event: (view) ->\r
+    @listenTo(view, 'http_get', @http_get)\r
+  \r
+  remove_element: (element) ->\r
+    _.each @views, (view) =>\r
+      if view.element.cid == element.cid\r
+        view.remove()\r
+  \r
   element_class: (element) ->\r
     Pettanr.Views[element.singular()].Element\r
   \r
@@ -60,6 +67,9 @@ class Pettanr.Views.Panel.Body extends Backbone.View
       'background-color': 'white'\r
     }\r
   \r
+  http_get: (url) ->\r
+    @trigger('http_get', url)\r
+  \r
 class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body\r
   \r
   initialize: (options) ->\r
@@ -69,6 +79,8 @@ class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body
     @listenTo(@panel, 'input:border', @restyle)\r
     @listenTo(@panel, 'active', @active)\r
     @listenTo(@panel, 'inactive', @inactive)\r
+    @listenTo(this, 'active', @active)\r
+    @listenTo(this, 'inactive', @inactive)\r
   \r
   render: () ->\r
     super()\r
@@ -78,8 +90,14 @@ class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body
         h = parseInt(this.$el.height())\r
         @panel.set({width: w, height: h}, {silent: true})\r
         @panel.trigger('resize')\r
-      , autoHide: true\r
+      , autoHide: false\r
     }\r
+    @inactive()\r
+    _this = this\r
+    this.$el.mouseover -> \r
+      _this.trigger('active')\r
+    this.$el.mouseout -> \r
+      _this.trigger('inactive')\r
     this\r
   \r
   is_visible: () ->\r
@@ -100,37 +118,6 @@ class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body
   element_class: (element) ->\r
     Pettanr.Views[element.singular()].Element.Edit\r
   \r
-class Pettanr.Views.Panel.Footer extends Backbone.View\r
-  tagName: 'table'\r
-  className: 'no-border'\r
-  \r
-  initialize: (options) ->\r
-    @panel = options.panel\r
-    @operators = options.operators\r
-    @panel_icon = new Pettanr.Views.Panel.Icon({item: @panel, half: true})\r
-    @author_icon = new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})\r
-    @edit_button = new Pettanr.Views.Show.LinkedEditButton({item: @panel})\r
-    @listenTo(@panel_icon, 'click', @click_panel)\r
-    @listenTo(@author_icon, 'click', @click_author)\r
-    @listenTo(@edit_button, 'click', @click_edit)\r
-  \r
-  render: () ->\r
-    this.$el.html('')\r
-    this.$el.append(@panel_icon.render().el)\r
-    this.$el.append(@author_icon.render().el)\r
-    this.$el.append(\r
-      Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at'))\r
-    )\r
-    if @panel.is_own(@operators)\r
-      this.$el.append(@edit_button.render().el)\r
-    this\r
-  \r
-  click_panel: () ->\r
-    @trigger('click:panel')\r
-  \r
-  click_author: () ->\r
-    @trigger('click:author')\r
-  \r
-  click_edit: () ->\r
-    @trigger('click:edit')\r
+  # stop listen link msg\r
+  add_event: (view) ->\r
   \r