@spot = options.spot\r
\r
render: () ->\r
- attr = {style: Pettanr.to_style(@style())}\r
- this.$el.attr(attr)\r
+ @restyle()\r
if @panel.is_visible(@operators)\r
this.$el.html('')\r
_this = this\r
l = @panel.scenario_elements()\r
- _.each l, (element) ->\r
- c = Pettanr.Views[element.singular()].Element\r
- tag = new c({element: element, root: _this.panel, spot: _this.spot})\r
- _this.$el.append(tag.render().el)\r
+ _.each l, (element) =>\r
+ @add_element(element)\r
else\r
tag = new Tag.Div({\r
content: I18n.t('panels.hidden'), \r
this.$el.html(tag.render().el)\r
this\r
\r
+ restyle: () ->\r
+ attr = {style: Pettanr.to_style(@style())}\r
+ this.$el.attr(attr)\r
+ \r
+ render_element: (element) ->\r
+ \r
+ element_class: (element) ->\r
+ Pettanr.Views[element.singular()].Element\r
+ \r
+ add_element: (element) ->\r
+ c = @element_class(element)\r
+ tag = new c({element: element, root: @panel, spot: @spot})\r
+ this.$el.append(tag.render().el)\r
+ \r
+ disp: (value) ->\r
+ Pettanr.to_s(value) + 'px'\r
+ \r
style: () ->\r
{\r
- 'width': Pettanr.to_s(@panel.get('width')) + 'px', \r
- 'height': Pettanr.to_s(@panel.get('height')) + 'px', \r
+ 'width': @disp(@panel.get('width')), \r
+ 'height': @disp(@panel.get('height')), \r
'border-style': 'solid', \r
- 'border-width': Pettanr.to_s(@panel.get('border')) + 'px', \r
+ 'border-width': @disp(@panel.get('border')), \r
'border-color': 'black', \r
'background-color': 'white'\r
}\r
\r
+class Pettanr.Views.Panel.Body.Edit extends Pettanr.Views.Panel.Body\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @listenTo(@panel, 'input:width', @restyle)\r
+ @listenTo(@panel, 'input:height', @restyle)\r
+ @listenTo(@panel, 'input:border', @restyle)\r
+ \r
+ render: () ->\r
+ super()\r
+ this.$el.resizable {\r
+ stop: (event, ui) =>\r
+ w = parseInt(this.$el.width())\r
+ h = parseInt(this.$el.height())\r
+ @panel.set({width: w, height: h}, {silent: true})\r
+ @panel.trigger('resize')\r
+ , autoHide: true\r
+ }\r
+ this\r
+ \r
+ 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