2 # operators: operators
\r
3 # spot: no opacity element
\r
4 class Pettanr.Views.Panel.Body extends Backbone.View
\r
6 className: 'pettanr-comic-panel'
\r
8 initialize: (options) ->
\r
9 @panel = options.panel
\r
10 @operators = options.operators
\r
11 @spot = options.spot
\r
15 if @panel.is_visible(@operators)
\r
18 l = @panel.scenario_elements()
\r
19 _.each l, (element) =>
\r
20 @add_element(element)
\r
23 content: I18n.t('panels.hidden'),
\r
24 class_name: 'hidden'
\r
26 this.$el.html(tag.render().el)
\r
30 attr = {style: Pettanr.to_style(@style())}
\r
33 render_element: (element) ->
\r
35 element_class: (element) ->
\r
36 Pettanr.Views[element.singular()].Element
\r
38 add_element: (element) ->
\r
39 c = @element_class(element)
\r
40 tag = new c({element: element, root: @panel, spot: @spot})
\r
41 this.$el.append(tag.render().el)
\r
44 Pettanr.to_s(value) + 'px'
\r
48 'width': @disp(@panel.get('width')),
\r
49 'height': @disp(@panel.get('height')),
\r
50 'border-style': 'solid',
\r
51 'border-width': @disp(@panel.get('border')),
\r
52 'border-color': 'black',
\r
53 'background-color': 'white'
\r
56 class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body
\r
58 initialize: (options) ->
\r
60 @listenTo(@panel, 'input:width', @restyle)
\r
61 @listenTo(@panel, 'input:height', @restyle)
\r
62 @listenTo(@panel, 'input:border', @restyle)
\r
66 this.$el.resizable {
\r
67 stop: (event, ui) =>
\r
68 w = parseInt(this.$el.width())
\r
69 h = parseInt(this.$el.height())
\r
70 @panel.set({width: w, height: h}, {silent: true})
\r
71 @panel.trigger('resize')
\r
76 element_class: (element) ->
\r
77 Pettanr.Views[element.singular()].Element.Edit
\r
79 class Pettanr.Views.Panel.Footer extends Backbone.View
\r
81 className: 'no-border'
\r
83 initialize: (options) ->
\r
84 @panel = options.panel
\r
85 @operators = options.operators
\r
90 (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el
\r
93 (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el
\r
95 this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))
\r
96 if @panel.is_own(@operators)
\r
98 (new Pettanr.Views.Show.LinkedEditButton({item: @panel})).render().el
\r