show: () ->\r
@set_show(@render_show)\r
\r
- render_show: () -> \r
+ render_show: (@item) -> \r
switch @params['format']\r
when 'prof'\r
@show_prof()\r
\r
click: () ->\r
@trigger('click:symbol')\r
- @trigger('navigate', @item.show_url())\r
+ @trigger('http_get', @item.show_url())\r
\r
@associations = new Locmare.ProfilerModule.Association({'profiler': this, association_manifest: @profiler_manifest.associations})\r
@listenTo(@header, 'http_get', @http_get)\r
@listenTo(@associations, 'http_get', @http_get)\r
+ @listenTo(@associations, 'pick', @click_pick)\r
\r
render: () ->\r
this.$el.html('')\r
http_get: (url) ->\r
@trigger('http_get', url)\r
\r
+ click_pick: (item) ->\r
+ @trigger('pick', item)\r
+ \r
class Locmare.ProfilerModule\r
\r
- \r
this.$el.append(caption.render().el)\r
_.each @belongs_to, (f) =>\r
@listenTo(f, 'http_get', @http_get)\r
+ @listenTo(f, 'pick', @click_pick)\r
this.$el.append(f.clear().el)\r
caption = new Tag.Div({class_name: 'caption', content: 'has_many'})\r
this.$el.append(caption.render().el)\r
_.each @has_many, (f) =>\r
@listenTo(f, 'http_get', @http_get)\r
+ @listenTo(f, 'pick', @click_pick)\r
this.$el.append(f.clear().el)\r
caption = new Tag.Div({class_name: 'caption', content: 'has_one'})\r
this.$el.append(caption.render().el)\r
_.each @has_one, (f) =>\r
@listenTo(f, 'http_get', @http_get)\r
+ @listenTo(f, 'pick', @click_pick)\r
this.$el.append(f.clear().el)\r
this\r
\r
http_get: (url) ->\r
@trigger('http_get', url)\r
\r
+ click_pick: (item) ->\r
+ @trigger('pick', item)\r
+ \r
class Locmare.ProfilerModule.AssociationModule\r
\r
@association.profiler\r
\r
add_pick: (target_model) ->\r
+ retrieve_pick_item = (@parent_item) =>\r
+ @set_filer()\r
+ @render()\r
+ @filer.add_pick(target_model)\r
retriever = new Pettanr.Cache.Retriever(@parent_model(), @parent_id())\r
- @listenTo(retriever, 'retrieve', @retrieve_pick_item)\r
+ @listenTo(retriever, 'retrieve', retrieve_pick_item)\r
retriever.retrieve()\r
\r
retrieve_pick_item: (@parent_item) ->\r
@traceable_item_names: () ->\r
['panel_picture', 'picture']\r
\r
- trace_from_panel_picture: () ->\r
- \r
- trace_from_picture: () ->\r
- \r
pick: (picked_item) ->\r
{picture_id: picked_item.get('picture_id')}\r
\r
if @id\r
@url = @url + @id\r
\r
+class Pettanr.GroundPicture.TraceFromPicture\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (picture) ->\r
+ @picture(picture)\r
+ \r
+ picture: (picture) ->\r
+ resource_picture_picture_list = picture.has_one('resource_picture_picture')\r
+ resource_picture_picture_list.open(() =>\r
+ resource_picture_picture = resource_picture_picture_list.items()[0]\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.ResourcePicture, resource_picture_picture.get('resource_picture_id'))\r
+ @listenTo(retriever, 'retrieve', @resource_picture)\r
+ retriever.retrieve()\r
+ )\r
+ \r
+ resource_picture: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
+ \r
+class Pettanr.GroundPicture.TraceFromPanelPicture extends Pettanr.GroundPicture.TraceFromPicture\r
+ \r
+ trace: (panel_picture) ->\r
+ @panel_picture(panel_picture)\r
+ \r
+ panel_picture: (panel_picture) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.Picture, panel_picture.get('picture_id'))\r
+ @listenTo(retriever, 'retrieve', @picture)\r
+ retriever.retrieve()\r
+ \r
+ picture: (picture) ->\r
+ tracer = new Pettanr.GroundPicture.TraceFromPicture()\r
+ @listenTo(tracer, 'trace', @success)\r
+ tracer.trace(picture)\r
+ \r
+ success: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
+ \r
@traceable_item_names: () ->\r
['ground_picture', 'picture']\r
\r
- trace_from_ground_picture: () ->\r
- \r
- trace_from_picture: () ->\r
- \r
pick: (picked_item) ->\r
{\r
picture_id: picked_item.get('picture_id'),\r
console.log('cng')\r
)\r
\r
+class Pettanr.PanelPicture.TraceFromPicture\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (picture) ->\r
+ @picture(picture)\r
+ \r
+ picture: (picture) ->\r
+ resource_picture_picture_list = picture.has_one('resource_picture_picture')\r
+ resource_picture_picture_list.open(() =>\r
+ resource_picture_picture = resource_picture_picture_list.items()[0]\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.ResourcePicture, resource_picture_picture.get('resource_picture_id'))\r
+ @listenTo(retriever, 'retrieve', @resource_picture)\r
+ retriever.retrieve()\r
+ )\r
+ \r
+ resource_picture: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
+ \r
+class Pettanr.PanelPicture.TraceFromGroundPicture extends Pettanr.PanelPicture.TraceFromPicture\r
+ \r
+ trace: (ground_picture) ->\r
+ @ground_picture(ground_picture)\r
+ \r
+ ground_picture: (ground_picture) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.Picture, ground_picture.get('picture_id'))\r
+ @listenTo(retriever, 'retrieve', @picture)\r
+ retriever.retrieve()\r
+ \r
+ picture: (picture) ->\r
+ tracer = new Pettanr.PanelPicture.TraceFromPicture()\r
+ @listenTo(tracer, 'trace', @success)\r
+ tracer.trace(picture)\r
+ \r
+ success: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
+ \r
picture: () ->\r
new Pettanr.Cache.Retriever(Pettanr.Picture, @get('picture_id'))\r
\r
+ artist: () ->\r
+ new Pettanr.Cache.Retriever(Pettanr.Artist, @get('artist_id'))\r
+ \r
is_visible: (operators = Pettanr.cache.operators) ->\r
@is_user_visible(operators)\r
\r
@traceable_item_names: () ->\r
['speech', 'balloon']\r
\r
- trace_from_speech: () ->\r
- \r
- trace_from_balloon: () ->\r
- \r
pick: (templates) ->\r
# \r
speech_balloon_template = templates.speech_balloon_template\r
if @id\r
@url = @url + @id\r
\r
+class Pettanr.SpeechBalloon.TraceFromBalloon\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (balloon) ->\r
+ @balloon(balloon)\r
+ \r
+ balloon: (balloon) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloon, balloon.get('speech_balloon_id'))\r
+ @listenTo(retriever, 'retrieve', @speech_balloon)\r
+ retriever.retrieve()\r
+ \r
+ speech_balloon: (speech_balloon) ->\r
+ @trigger('trace', speech_balloon)\r
+ \r
+class Pettanr.SpeechBalloon.TraceFromSpeech\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (speech) ->\r
+ @speech(speech)\r
+ \r
+ speech: (speech) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloon, speech.get('speech_balloon_id'))\r
+ @listenTo(retriever, 'retrieve', @speech_balloon)\r
+ retriever.retrieve()\r
+ \r
+ speech_balloon: (speech_balloon) ->\r
+ @trigger('trace', speech_balloon)\r
+ \r
replace_element: (model, attr) ->\r
empty_child = new model(attr)\r
cached_child = Pettanr.cache.restore(empty_child)\r
- Pettanr.cache.store(empty_child) if !cached_child\r
- cached_child || empty_child\r
+ item = if cached_child\r
+ cached_child\r
+ else\r
+ Pettanr.cache.store(empty_child)\r
+ item.attributes = attr\r
+ item\r
\r
replace_and_hold_element: (model, attr) ->\r
empty_child = new model(attr)\r
retriever.retrieve()\r
\r
retrieve_speech_balloon: (@speech_balloon) ->\r
- retriever = @speech_balloon.panel().with_elements()\r
+ retriever = @speech_balloon.panel()\r
@listenTo(retriever, 'retrieve', @retrieve_panel)\r
retriever.retrieve()\r
\r
- retrieve_panel: (@panel) ->\r
- @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @body = new Pettanr.Views.Panel.Body({\r
- panel: @panel,\r
- spot: @item\r
- })\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
- })\r
- @listenTo(@header, 'click:pick', @click_pick)\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:caption', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@author, 'click:author', @click_author)\r
- @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
- @trigger('ready')\r
+ retrieve_panel: (item) ->\r
+ @panel = item.with_elements()\r
+ @panel.fetch().done =>\r
+ @panel.attributes = @panel.replaced_attributes()\r
+ @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
+ @trigger('ready')\r
\r
render: () ->\r
this.$el.html('')\r
prof_url: prof_url\r
})\r
@listenTo(this, 'ready', @ready)\r
- retriever = @item.panel().with_elements()\r
+ retriever = @item.panel()\r
@listenTo(retriever, 'retrieve', @retrieve_panel)\r
retriever.retrieve()\r
\r
- retrieve_panel: (@panel) ->\r
- @panel.attributes = @panel.replaced_attributes()\r
- @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @body = new Pettanr.Views.Panel.Body({\r
- panel: @panel,\r
- spot: @item\r
- })\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
- })\r
- @listenTo(@header, 'click:pick', @click_pick)\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:caption', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@author, 'click:author', @click_author)\r
- @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
- @trigger('ready')\r
+ retrieve_panel: (item) ->\r
+ @panel = item.with_elements()\r
+ @panel.fetch().done =>\r
+ @panel.attributes = @panel.replaced_attributes()\r
+ @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
+ @trigger('ready')\r
\r
render: () ->\r
this.$el.html('')\r
class Pettanr.Views.GroundColor.Symbol extends Backbone.View\r
tagName: 'div'\r
- events: {\r
- 'click': 'click'\r
- }\r
\r
initialize: (options) ->\r
@item = options.item\r
\r
render: () ->\r
this.$el.addClass(@class_name)\r
- this.$el.html(@bg_color())\r
+ linked_caption = new Tag.A({\r
+ attr: {href: '/' + @item.show_url()}, \r
+ content: @bg_color()\r
+ })\r
+ @listenTo(linked_caption, 'click', @click)\r
+ this.$el.html(linked_caption.render().el)\r
attr = {\r
style: Pettanr.to_style(@style())\r
}\r
pick: (item) ->\r
if item.item_name() == @target_model.item_name()\r
# Inspire\r
+ @listenTo(this, 'ready', @ready)\r
new_item = new @target_model(item.attributes)\r
new_item.unset('id', {silent: true})\r
new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
+ @trigger('ready', new_item)\r
else if @target_model.is_traceable(item.item_name())\r
# Trace\r
- n = @target_model['trace_from_' + item.item_name()]\r
- n()\r
+ tracer_class = @target_model['TraceFrom' + item.singular()]\r
+ tracer = new tracer_class()\r
+ @listenTo(tracer, 'trace', @trace)\r
+ tracer.trace(item)\r
else if item.item_name() == @target_model.pick_item_name()\r
# Pick resource_picture to ground_picture\r
+ @listenTo(this, 'ready', @ready)\r
new_item = new @target_model()\r
new_item.set(new_item.pick(item), {silent: true})\r
+ @trigger('ready', new_item)\r
+ \r
+ ready: (new_item) ->\r
@dialog().stop()\r
@trigger('pick', new_item)\r
\r
+ trace: (resource_picture) ->\r
+ @dialog().http_get(resource_picture.show_url())\r
+ \r
dock: () ->\r
@parent.dock()\r
\r
prof_url: prof_url\r
})\r
@listenTo(this, 'ready', @ready)\r
- retriever = @item.panel().with_elements()\r
+ retriever = @item.panel()\r
@listenTo(retriever, 'retrieve', @retrieve_panel)\r
retriever.retrieve()\r
\r
- retrieve_panel: (@panel) ->\r
- @panel.attributes = @panel.replaced_attributes()\r
- @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @body = new Pettanr.Views.Panel.Body({\r
- panel: @panel,\r
- spot: @item\r
- })\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
- })\r
- @listenTo(@header, 'click:pick', @click_pick)\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:caption', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@author, 'click:author', @click_author)\r
- @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
- @trigger('ready')\r
+ retrieve_panel: (item) ->\r
+ @panel = item.with_elements()\r
+ @panel.fetch().done =>\r
+ @panel.attributes = @panel.replaced_attributes()\r
+ @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
+ @trigger('ready')\r
\r
render: () ->\r
this.$el.html('')\r
pick: (item) ->\r
if item.item_name() == @target_model.item_name()\r
# Inspire\r
+ @listenTo(this, 'ready', @ready)\r
new_item = new @target_model(item.attributes)\r
new_item.unset('id', {silent: true})\r
new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
+ @trigger('ready', new_item)\r
else if @target_model.is_traceable(item.item_name())\r
# Trace\r
- n = @target_model['trace_from_' + item.item_name()]\r
- n()\r
+ tracer_class = @target_model['TraceFrom' + item.singular()]\r
+ tracer = new tracer_class()\r
+ @listenTo(tracer, 'trace', @trace)\r
+ tracer.trace(item)\r
else if item.item_name() == @target_model.pick_item_name()\r
# Pick resource_picture to panel_picture\r
+ @listenTo(this, 'ready', @ready)\r
new_item = new @target_model()\r
new_item.set(new_item.pick(item), {silent: true})\r
new_item.set({x: 0, y: 0}, {silent: true})\r
+ @trigger('ready', new_item)\r
+ \r
+ ready: (new_item) ->\r
@dialog().stop()\r
@trigger('pick', new_item)\r
\r
+ trace: (resource_picture) ->\r
+ @dialog().http_get(resource_picture.show_url())\r
+ \r
dock: () ->\r
@parent.dock()\r
\r
prof_url: prof_url\r
})\r
@listenTo(this, 'ready', @ready)\r
- retriever = @item.panel().with_elements()\r
+ retriever = @item.panel()\r
@listenTo(retriever, 'retrieve', @retrieve_panel)\r
retriever.retrieve()\r
\r
- retrieve_panel: (@panel) ->\r
- @panel.attributes = @panel.replaced_attributes()\r
- @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @body = new Pettanr.Views.Panel.Body({\r
- panel: @panel,\r
- spot: @item\r
- })\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
- })\r
- @listenTo(@header, 'click:pick', @click_pick)\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:caption', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@author, 'click:author', @click_author)\r
- @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
- @trigger('ready')\r
+ retrieve_panel: (item) ->\r
+ @panel = item.with_elements()\r
+ @panel.fetch().done =>\r
+ @panel.attributes = @panel.replaced_attributes()\r
+ @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
+ @trigger('ready')\r
\r
render: () ->\r
this.$el.html('')\r
+class Pettanr.Views.ResourcePicture.ShowModule\r
+class Pettanr.Views.ResourcePicture.ShowModule.Header extends Pettanr.Views.Show.Header\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ \r
+class Pettanr.Views.ResourcePicture.ShowModule.Owner extends Pettanr.Views.Show.Owner\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ \r
class Pettanr.Views.ResourcePicture.Show extends Backbone.View\r
tagName: 'div'\r
+ className: 'show'\r
\r
initialize: (options) ->\r
+ @item = options.item\r
+ @header = new Pettanr.Views.ResourcePicture.ShowModule.Header({\r
+ item: @item, \r
+ icon_url: @item.show_url(),\r
+ caption_url: @item.show_url(),\r
+ prof_url: @item.prof_url()\r
+ })\r
+ @artist = new Pettanr.Views.Show.HeaderArtist({item: @item})\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@artist, 'click:artist', @click_artist)\r
\r
render: () ->\r
this.$el.html('')\r
+ this.$el.append(@header.render().el)\r
+ this.$el.append(@artist.render().el)\r
this\r
\r
+ click_show: () ->\r
+ @trigger('http_get', @item.show_url())\r
+ \r
+ click_prof: () ->\r
+ @trigger('http_get', @item.prof_url())\r
+ \r
+ click_artist: () ->\r
+ @trigger('http_get', @item.artist().show_url())\r
+ \r
+ click_pick: () ->\r
+ @trigger('pick', @item)\r
+ \r
+ is_pickable: () ->\r
+ true\r
+ \r
+ add_pick: (target_model) ->\r
+ @header.add_pick(target_model)\r
+ \r
click: () ->\r
@trigger('click:author')\r
\r
+class Pettanr.Views.Show.HeaderArtist extends Backbone.View\r
+ tagName: 'div'\r
+ \r
+ initialize: (options) ->\r
+ @item = options.item\r
+ retriever = @item.artist()\r
+ @listenTo(retriever, 'retrieve', @retrieve_artist)\r
+ retriever.retrieve()\r
+ \r
+ retrieve_author: (@artist) ->\r
+ name = @artist.escape('name')\r
+ artist_url = @artist.show_url()\r
+ @linked_artist = new Tag.A({\r
+ attr: {href: '/' + artist_url}, \r
+ content: name\r
+ })\r
+ @listenTo(@linked_artist, 'click', @click)\r
+ @render()\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ this.$el.append(Pettanr.AppHelper.t_a(@item.item_name(), 'artist_id'))\r
+ this.$el.append(@linked_artist.render().el) if @linked_artist\r
+ this\r
+ \r
+ click: () ->\r
+ @trigger('click:artist')\r
+ \r
class Pettanr.Views.Show.LinkedEditButton extends Tag.A\r
\r
initialize: (options) ->\r
this\r
\r
pick: (item) ->\r
- @listenTo(this, 'ready', @ready)\r
if item.item_name() == @target_model.item_name()\r
# Inspire\r
+ @listenTo(this, 'ready', @ready)\r
balloon_list = item.has_one('balloon')\r
speech_list = item.has_one('speech')\r
balloon_list.open(() =>\r
)\r
else if @target_model.is_traceable(item.item_name())\r
# Trace\r
- n = @target_model['trace_from_' + item.item_name()]\r
- n()\r
+ tracer_class = @target_model['TraceFrom' + item.singular()]\r
+ tracer = new tracer_class()\r
+ @listenTo(tracer, 'trace', @trace)\r
+ tracer.trace(item)\r
else if item.item_name() == @target_model.pick_item_name()\r
# Pick\r
+ @listenTo(this, 'ready', @ready)\r
speech_balloon_template = item\r
writing_format = new Pettanr.WritingFormat({id: 1})\r
writing_format.fetch({cache: true}).done =>\r
@dialog().stop()\r
@trigger('pick', new_item)\r
\r
+ trace: (speech_balloon) ->\r
+ @dialog().http_get(speech_balloon.show_url())\r
+ \r
dock: () ->\r
@parent.dock()\r
\r
prof_url: prof_url\r
})\r
@listenTo(this, 'ready', @ready)\r
- retriever = @item.panel().with_elements()\r
+ retriever = @item.panel()\r
@listenTo(retriever, 'retrieve', @retrieve_panel)\r
retriever.retrieve()\r
\r
- retrieve_panel: (@panel) ->\r
- @panel.attributes = @panel.replaced_attributes()\r
- @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @body = new Pettanr.Views.Panel.Body({\r
- panel: @panel,\r
- spot: @item\r
- })\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
- })\r
- @listenTo(@header, 'click:pick', @click_pick)\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:caption', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@author, 'click:author', @click_author)\r
- @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
- @trigger('ready')\r
+ retrieve_panel: (item) ->\r
+ @panel = item.with_elements()\r
+ @panel.fetch().done =>\r
+ @panel.attributes = @panel.replaced_attributes()\r
+ @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
+ @trigger('ready')\r
\r
render: () ->\r
this.$el.html('')\r
retriever.retrieve()\r
\r
retrieve_speech_balloon: (@speech_balloon) ->\r
- retriever = @speech_balloon.panel().with_elements()\r
+ retriever = @speech_balloon.panel()\r
@listenTo(retriever, 'retrieve', @retrieve_panel)\r
retriever.retrieve()\r
\r
- retrieve_panel: (@panel) ->\r
- @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @body = new Pettanr.Views.Panel.Body({\r
- panel: @panel,\r
- spot: @item\r
- })\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
- })\r
- @listenTo(@header, 'click:pick', @click_pick)\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:caption', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@author, 'click:author', @click_author)\r
- @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
- @trigger('ready')\r
+ retrieve_panel: (item) ->\r
+ @panel = item.with_elements()\r
+ @panel.fetch().done =>\r
+ @panel.attributes = @panel.replaced_attributes()\r
+ @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
+ @trigger('ready')\r
\r
render: () ->\r
this.$el.html('')\r