X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fviews%2Fpanels%2Fbody.js.coffee;h=9ae783eca2f49e62c9a69814fcbc755c9aca29cb;hp=3de98bb6d4623c1ba0bfd765214648296cf1a8b9;hb=8ec74dec6d3b971a050d2a14979783ccd54f06a2;hpb=688bd2f8208226ced9eddae2280f289198a2de7c diff --git a/app/assets/javascripts/views/panels/body.js.coffee b/app/assets/javascripts/views/panels/body.js.coffee index 3de98bb6..9ae783ec 100644 --- a/app/assets/javascripts/views/panels/body.js.coffee +++ b/app/assets/javascripts/views/panels/body.js.coffee @@ -1,6 +1,6 @@ # panel: panel item # spot: no opacity element -class Pettanr.Views.Panel.Body extends Backbone.View +class Pettanr.Views.Panel.Body extends Pettanr.View tagName: 'div' initialize: (options) -> @@ -37,12 +37,15 @@ class Pettanr.Views.Panel.Body extends Backbone.View index = element.get('z') - 1 c = @element_class(element) view = new c({element: element, root: @panel, spot: @spot}) + @add_event(view) @views.splice(index, 0, view) if @is_visible() - this.$el.append(view.clear().el) - view.render() + this.$el.append(view.render().el) view + add_event: (view) -> + @listenTo(view, 'http_get', @http_get) + remove_element: (element) -> _.each @views, (view) => if view.element.cid == element.cid @@ -64,6 +67,9 @@ class Pettanr.Views.Panel.Body extends Backbone.View 'background-color': 'white' } + http_get: (url) -> + @trigger('http_get', url) + class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body initialize: (options) -> @@ -112,48 +118,6 @@ class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body element_class: (element) -> Pettanr.Views[element.singular()].Element.Edit -class Pettanr.Views.Panel.Footer extends Backbone.View - tagName: 'table' - className: 'no-border' - - initialize: (options) -> - @panel = options.panel - - render: () -> - this.$el.html('') - retriever = @panel.author() - @listenTo(retriever, 'retrieve', @retrieve_author) - retriever.retrieve() - this - - retrieve_author: (@author) -> - @panel_icon = new Pettanr.Views.Panel.Icon({item: @panel, half: true}) - @author_icon = new Pettanr.Views.Author.Icon({item: @author, half: true}) - @inspire_icon = new Pettanr.Views.Show.LinkedInspireIcon({item: @panel, half: true}) - @edit_button = new Pettanr.Views.Show.LinkedEditButton({item: @panel}) - @listenTo(@panel_icon, 'click', @click_panel) - @listenTo(@author_icon, 'click', @click_author) - @listenTo(@edit_button, 'click', @click_edit) - @listenTo(@inspire_icon, 'click', @click_inspire) - this.$el.append(@panel_icon.render().el) - this.$el.append(@author_icon.render().el) - this.$el.append( - Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')) - ) - if Pettanr.cache.operators.is_author() - this.$el.append(@inspire_icon.render().el) - if @panel.is_own() - this.$el.append(@edit_button.render().el) - - click_panel: () -> - @trigger('click:panel') - - click_author: () -> - @trigger('click:author') - - click_edit: () -> - @trigger('click:edit') - - click_inspire: () -> - @trigger('click:inspire') + # stop listen link msg + add_event: (view) ->