class Pettanr.Views.Balloon.Element extends Backbone.View\r
tagName: 'img'\r
className: 'pettanr-balloon'\r
- events: {\r
- 'ready:picture': 'set_style'\r
- }\r
\r
initialize: (options) ->\r
@element = options.element\r
@speech_balloon = options.parent\r
\r
clear: () ->\r
+ this\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
retriever = @element.system_picture()\r
@listenTo(retriever, 'retrieve', @retrieve_system_picture)\r
retriever.retrieve()\r
- this\r
\r
retrieve_system_picture: (@system_picture) ->\r
- @render()\r
- \r
- render: () ->\r
@set_style()\r
- this\r
\r
set_style: () ->\r
attr = {\r
@listenTo(@element, 'input:width', @resize)\r
@listenTo(@element, 'input:height', @resize)\r
\r
- render: () ->\r
- super()\r
+ retrieve_system_picture: (@system_picture) ->\r
+ super(@system_picture)\r
sb = @speech_balloon\r
elm = @element\r
this.$el.resizable {\r
}\r
this\r
\r
+ style: () ->\r
+ {\r
+ width: Pettanr.to_s(@element.get('width')) + 'px', \r
+ height: Pettanr.to_s(@element.get('height')) + 'px',\r
+ 'z-index': 1 # play case\r
+ }\r
+ \r
input_r: () ->\r
- @clear()\r
+ @render()\r
resize_div = this.$el.parent()\r
resize_div.css('z-index', 1)\r
\r
@element = options.element\r
@root = options.root\r
@spot = options.spot\r
+ \r
+ clear: () ->\r
+ this\r
+ \r
+ render: () ->\r
+ retriever = @element.picture()\r
+ @listenTo(retriever, 'retrieve', @retrieve_picture)\r
+ retriever.retrieve()\r
+ this\r
+ \r
+ retrieve_picture: (@picture) ->\r
img_class = @img_class()\r
@img = new img_class({\r
wrapper: this,\r
element: @element,\r
+ picture: @picture,\r
spot: @spot\r
})\r
- @add_element()\r
- \r
- clear: () ->\r
- this\r
- \r
- render: () ->\r
@restyle()\r
- this.$el.html(@img.clear().el)\r
- this\r
+ this.$el.html(@img.render().el)\r
\r
restyle: () ->\r
attr = {style: Pettanr.to_style(@style())}\r
initialize: (options) ->\r
@wrapper = options.wrapper\r
@element = options.element\r
+ @picture = options.picture\r
@spot = options.spot\r
- @picture = \r
- @listenTo(this, 'ready', @render)\r
- retriever = @element.picture()\r
- @listenTo(retriever, 'retrieve', @retrieve_picture)\r
- retriever.retrieve()\r
- \r
- retrieve_picture: (@picture) ->\r
- @trigger('ready')\r
\r
clear: () ->\r
this\r
\r
render: () ->\r
+ this.$el.html('')\r
@restyle()\r
this\r
\r
@listenTo(@element, 'active', @active)\r
@listenTo(@element, 'inactive', @inactive)\r
\r
- render: () ->\r
- super()\r
+ retrieve_picture: (@picture) ->\r
+ super(@picture)\r
img = @img\r
wrapper = this\r
- elm = @element\r
this.$el.draggable {\r
stop: (event, ui) ->\r
left = img.$el.parent().position().left + wrapper.$el.position().left\r
elm.set({x: parseInt(left), y: parseInt(top)}, {silent: true})\r
elm.trigger('move')\r
}\r
- this\r
- \r
- active: () ->\r
- $('.ui-resizable-handle', this.el).map ->\r
- $(@).css('display', 'block')\r
- \r
- inactive: () ->\r
- $('.ui-resizable-handle', this.el).map ->\r
- $(@).css('display', 'none')\r
- \r
- element_class: (element) ->\r
- Pettanr.Views[element.singular()].Element.Edit\r
- \r
- img_class: () ->\r
- Pettanr.Views.PanelPicture.Element.Img.Edit\r
- \r
-class Pettanr.Views.PanelPicture.Element.Img.Edit extends Pettanr.Views.PanelPicture.Element.Img\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @listenTo(@element, 'input:width', @restyle)\r
- @listenTo(@element, 'input:height', @restyle)\r
- \r
- render: () ->\r
- super()\r
- wrapper = @wrapper\r
elm = @element\r
- this.$el.resizable {\r
+ @img.$el.resizable {\r
stop: (event, ui) ->\r
resize_div = ui.element\r
panel_picture_div = wrapper.$el\r
handles: 'all',\r
autoHide: true\r
}\r
+ this\r
+ \r
+ active: () ->\r
+ $('.ui-resizable-handle', this.el).map ->\r
+ $(@).css('display', 'block')\r
+ \r
+ inactive: () ->\r
+ $('.ui-resizable-handle', this.el).map ->\r
+ $(@).css('display', 'none')\r
+ \r
+ element_class: (element) ->\r
+ Pettanr.Views[element.singular()].Element.Edit\r
+ \r
+ img_class: () ->\r
+ Pettanr.Views.PanelPicture.Element.Img.Edit\r
+ \r
+class Pettanr.Views.PanelPicture.Element.Img.Edit extends Pettanr.Views.PanelPicture.Element.Img\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @listenTo(@element, 'input:width', @restyle)\r
+ @listenTo(@element, 'input:height', @restyle)\r
+ \r
+ render: () ->\r
+ super()\r
\r
restyle: () ->\r
super()\r
view = new c({element: element, root: @panel, spot: @spot})\r
@views.splice(index, 0, view)\r
if @is_visible()\r
- this.$el.append(view.render().el)\r
+ this.$el.append(view.clear().el)\r
+ view.render()\r
view\r
\r
element_class: (element) ->\r
@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
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