})\r
@select_system_picture()\r
\r
+ hoge_templates: () ->\r
+ if !@templates.speech_balloon_template\r
+ empty_item = new Pettanr.SpeechBalloonTemplate({id: @get('speech_balloon_template_id')})\r
+ item = Pettanr.cache.restore(empty_item)\r
+ if item\r
+ # got cached item\r
+ @templates.speech_balloon_template = item\r
+ else\r
+ # built empty item\r
+ item = empty_item\r
+ item.fetch().done =>\r
+ Pettanr.cache.store(item)\r
+ @templates.speech_balloon_template = item\r
+ \r
balloon_extend: () ->\r
@new_balloon() if not @bex\r
@bex\r
@parsed = @templates.speech_balloon_template.parsed_settings()\r
\r
select_system_picture: () ->\r
- tr = @get('r') % 360\r
- tr = 360 + tr if tr < 0\r
- offset = @r_step() / 2.0\r
- idx = Pettanr.to_i(((tr + offset) % 360) / @r_step())\r
+ idx = @r_to_index(@round_r(@get('r')))\r
sid = @parsed_settings()[Pettanr.to_s(idx)]['balloon']['system_picture_id']\r
- @set('system_picture_id', sid)\r
+ @set({system_picture_id: sid}, {silent: true})\r
sid\r
\r
r_step: () ->\r
@parsed_settings()['speech_balloon']['r_step']\r
\r
+ # round 0 ~ 359\r
+ round_r: (r) ->\r
+ tr = r % 360\r
+ tr = 360 + tr if tr < 0\r
+ tr\r
+ \r
+ r_to_index: (round_r) ->\r
+ # 0 ~ 45 -> 22.5 ~ 66.5\r
+ offset = @r_step() / 2.0\r
+ # rounded index\r
+ Math.floor(((round_r + offset) % 360) / @r_step())\r
+ \r
class Pettanr.CircleSpeechBalloon.SpeechModule\r
supply_default: (templates) ->\r
@templates = templates\r
})\r
@select_system_picture()\r
\r
+ hoge_templates: () ->\r
+ if !@templates.speech_balloon_template\r
+ empty_item = new Pettanr.SpeechBalloonTemplate({id: @get('speech_balloon_template_id')})\r
+ item = Pettanr.cache.restore(empty_item)\r
+ if item\r
+ # got cached item\r
+ @templates.speech_balloon_template = item\r
+ else\r
+ # built empty item\r
+ item = empty_item\r
+ item.fetch().done =>\r
+ Pettanr.cache.store(item)\r
+ @templates.speech_balloon_template = item\r
+ \r
balloon_extend: () ->\r
@new_balloon() if not @bex\r
@bex\r
select_system_picture: () ->\r
s = @parsed_settings()['all']['balloon']\r
sid = s['system_picture_id']\r
- @set('system_picture_id', sid)\r
+ @set({system_picture_id: sid}, {silent: true})\r
sid\r
\r
+ #\r
+ # yasapp only methods\r
+ #\r
+ r_step: () ->\r
+ 0\r
+ \r
class Pettanr.PlainSpeechBalloon.SpeechModule\r
supply_default: (templates) ->\r
@templates = templates\r
})\r
@select_system_picture()\r
\r
+ hoge_templates: () ->\r
+ if !@templates.speech_balloon_template\r
+ empty_item = new Pettanr.SpeechBalloonTemplate({id: @get('speech_balloon_template_id')})\r
+ item = Pettanr.cache.restore(empty_item)\r
+ if item\r
+ # got cached item\r
+ @templates.speech_balloon_template = item\r
+ else\r
+ # built empty item\r
+ item = empty_item\r
+ item.fetch().done =>\r
+ Pettanr.cache.store(item)\r
+ @templates.speech_balloon_template = item\r
+ \r
balloon_extend: () ->\r
@new_balloon() if not @bex\r
@bex\r
select_system_picture: () ->\r
s = @parsed_settings()['all']['balloon']\r
sid = s['system_picture_id']\r
- @set('system_picture_id', sid)\r
+ @set({system_picture_id: sid}, {silent: true})\r
sid\r
\r
+ r_step: () ->\r
+ 0\r
+ \r
class Pettanr.SquareSpeechBalloon.SpeechModule\r
supply_default: (templates) ->\r
@templates = templates\r
set_new: () ->\r
@set_model()\r
@item = new @my_model_class({id: @params['id']})\r
- @item.boosts 'post'\r
# Backbone.Model has defaults property\r
#@item.supply_default()\r
\r
@filer().items\r
\r
add_pick: (target_model) ->\r
- @pick = new Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.Pick.factory({\r
- parent: this,\r
- target_model: target_model\r
+ @pick = new Pettanr.Views.Common.PickIcon({\r
+ name: target_model.pick_type(@item_name()), class_name: 'filer-item-pick'\r
})\r
@listenTo(@pick, 'click', @click_pick)\r
@render()\r
\r
class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
\r
-\r
-class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.Pick extends Backbone.View\r
- tagName: 'div'\r
- \r
- @factory: (options) ->\r
- @target_model = options.target_model\r
- @parent = options.parent\r
- filer = @parent.filer()\r
- klass = if filer.item_name == @target_model.item_name()\r
- Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Inspire\r
- else if @target_model.is_traceable(filer.item_name)\r
- Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Trace\r
- else if filer.item_name == @target_model.pick_item_name()\r
- Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Pick\r
- else\r
- Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.None\r
- new klass({\r
- target_model: @target_model\r
- })\r
- \r
class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule\r
-class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Base extends Backbone.View\r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Icon extends Backbone.View\r
tagName: 'div'\r
\r
initialize: (options) ->\r
- @target_model = options.target_model\r
+ @name = options.name\r
@el.className = 'filer-item-pick'\r
- @button = @set_button()\r
+ @button = new Pettanr.Views.Common.PickIcon({name: @name})\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@button.render().el)\r
this\r
\r
- name: () ->\r
- 'none'\r
- \r
- icon: () ->\r
- new Pettanr.Image.SymbolImg({attr: {src: '/images/' + @name() + '.gif'}})\r
- \r
- linked_icon: () ->\r
- new Tag.A({\r
- attr: {href: '#'},\r
- content: @icon().render().el\r
- })\r
- \r
click: () ->\r
@trigger('click', this)\r
\r
-class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Base\r
- \r
- set_button: () ->\r
- @button = @icon()\r
- \r
- name: () ->\r
- 'none'\r
- \r
-class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Pick extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Base\r
- \r
- set_button: () ->\r
- @button = @linked_icon()\r
- \r
- name: () ->\r
- 'pick'\r
- \r
-class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Inspire extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Base\r
- \r
- set_button: () ->\r
- @button = @linked_icon()\r
- \r
- name: () ->\r
- 'inspire'\r
- \r
-class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Trace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Base\r
- \r
- set_button: () ->\r
- @button = @linked_icon()\r
- \r
- name: () ->\r
- 'trace'\r
- \r
@listenTo(this, 'down', @down_click)\r
@listenTo(this, 'up', @up_click)\r
@listenTo(this, 'reset', @reset_click)\r
- @speech_balloon_template = new Pettanr.SpeechBalloonTemplate({\r
- id: @field.item().get('speech_balloon_template_id')\r
- })\r
- @speech_balloon_template.fetch({cache: true}).done =>\r
- @r_step = @_r_step()\r
\r
render: () ->\r
@attr = {\r
this\r
\r
refresh: () -> \r
- @set_system_picture_id(@balloon_index())\r
\r
- settings: () ->\r
- @speech_balloon_template.parsed_settings()\r
- \r
- _r_step: () ->\r
- settings = @settings()\r
- settings['speech_balloon']['r_step']\r
- \r
- system_picture_id: (idx) ->\r
- settings = @settings()\r
- settings[idx]['balloon']['system_picture_id']\r
+ r_step: () ->\r
+ @field.item().r_step()\r
\r
# balloon r helper\r
\r
- balloon_next_index: (d) ->\r
- r_val = @field.val()\r
- v = parseInt(r_val) + @r_step * d\r
- tr = v % 360\r
- tr = 360 + tr if tr < 0\r
- offset = @r_step / 2.0\r
- idx = Math.floor(((tr + offset) % 360) / @r_step)\r
- if idx == 0\r
- ir = 0\r
- else\r
- if v < 0\r
- ir = Math.floor(idx * @r_step) - 360\r
- else\r
- ir = Math.floor(idx * @r_step)\r
- @field.set(ir)\r
- @field.tag.$el.val(ir)\r
- idx\r
- \r
- balloon_index: () ->\r
- v = parseInt(@field.val())\r
- tr = v % 360\r
- tr = 360 + tr if tr < 0\r
- offset = @r_step / 2.0\r
- idx = Math.floor(((tr + offset) % 360) / @r_step)\r
- idx\r
- \r
- refresh_balloon: (idx) ->\r
- @set_system_picture_id(idx)\r
- \r
- set_system_picture_id: (idx) ->\r
- sp_id = @system_picture_id(idx)\r
- @field.item().set({\r
- system_picture_id: sp_id\r
- }, {silent: true})\r
- sp_id\r
+ set_r: (r) ->\r
+ @field.tag.$el.val(r)\r
+ @field.change()\r
+ \r
+ r: () ->\r
+ parseInt(@field.val())\r
\r
down_click: () ->\r
- idx = @balloon_next_index(-1)\r
- @refresh_balloon(idx)\r
- @field.item().trigger('input:r')\r
+ @set_r(Math.floor(@r() - @r_step()))\r
\r
up_click: () ->\r
- idx = @balloon_next_index(1)\r
- @refresh_balloon(idx)\r
- @field.item().trigger('input:r')\r
+ @set_r(Math.floor(@r() + @r_step()))\r
\r
reset_click: () ->\r
- @refresh_balloon(0)\r
- @field.item().trigger('input:r')\r
+ @set_r(0)\r
\r
class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule\r
class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Down extends Backbone.View\r
@pick_item_name: () ->\r
''\r
\r
- @pick_model: () ->\r
- Manifest.item_name_to_model(@pick_item_name())\r
- \r
- @traceable_item_names: () ->\r
- []\r
- \r
- @is_traceable: (item_name) ->\r
- _.contains(@traceable_item_names(), item_name)\r
- \r
panel: (options = {}) ->\r
new Pettanr.Panel({id: @get('panel_id')}, options)\r
\r
@pick_item_name: () ->\r
'resource_picture'\r
\r
- @pick_model: () ->\r
- Manifest.item_name_to_model(@pick_item_name())\r
- \r
@traceable_item_names: () ->\r
['panel_picture', 'picture']\r
\r
- @is_traceable: (item_name) ->\r
- _.contains(@traceable_item_names(), item_name)\r
- \r
trace_from_panel_picture: () ->\r
\r
trace_from_picture: () ->\r
@pick_item_name: () ->\r
'resource_picture'\r
\r
- @pick_model: () ->\r
- Manifest.item_name_to_model(@pick_item_name())\r
- \r
@traceable_item_names: () ->\r
['ground_picture', 'picture']\r
\r
- @is_traceable: (item_name) ->\r
- _.contains(@traceable_item_names(), item_name)\r
- \r
trace_from_ground_picture: () ->\r
\r
trace_from_picture: () ->\r
@pick_item_name: () ->\r
'speech_balloon_template'\r
\r
- @pick_model: () ->\r
- Manifest.item_name_to_model(@pick_item_name())\r
- \r
@traceable_item_names: () ->\r
['speech', 'balloon']\r
\r
- @is_traceable: (item_name) ->\r
- _.contains(@traceable_item_names(), item_name)\r
- \r
trace_from_speech: () ->\r
\r
trace_from_balloon: () ->\r
super(attr, options)\r
@expire_time = options.expire_time\r
@boosters = {}\r
+ @templates = {}\r
\r
@child_models: () ->\r
@my_manifest().child_models()\r
@path_name: (with_engine = false) ->\r
@table_name()\r
\r
- @pickup_item_name: () ->\r
- @item_name()\r
- \r
- @pickup_column_name: () ->\r
- 'id'\r
- \r
@find_boost_name: (column_name) ->\r
@my_peta().find_boost_name column_name\r
\r
path_name: (with_engine = false) ->\r
@my_class().path_name(with_engine)\r
\r
- pickup_item_name: () ->\r
- @my_class().pickup_item_name()\r
- \r
- pickup_column_name: () ->\r
- @my_class().pickup_column_name()\r
- \r
- pickup_id: () ->\r
- @get(pickup_column_name())\r
- \r
form_template: (with_engine = false) ->\r
@path_name(with_engine) + '/form'\r
\r
return false if not operators.is_resource_reader()\r
true\r
\r
+ @pick_item_name: () ->\r
+ null\r
+ \r
+ @pick_model: () ->\r
+ Manifest.item_name_to_model(@pick_item_name())\r
+ \r
+ @traceable_item_names: () ->\r
+ []\r
+ \r
+ @is_traceable: (item_name) ->\r
+ _.contains(@traceable_item_names(), item_name)\r
+ \r
+ @is_picker_inspire: (item_name) ->\r
+ item_name == @item_name()\r
+ \r
+ @is_picker_trace: (item_name) ->\r
+ @is_traceable(item_name)\r
+ \r
+ @is_picker_pick: (item_name) ->\r
+ item_name == @pick_item_name()\r
+ \r
+ @pick_type: (item_name) ->\r
+ if @is_picker_inspire(item_name)\r
+ 'inspire'\r
+ else if @is_picker_trace(item_name)\r
+ 'trace'\r
+ else if @is_picker_pick(item_name)\r
+ 'pick'\r
+ else\r
+ 'none'\r
+ \r
icon_view: (half) ->\r
new Pettanr.Views[@my_class().singular()].Icon({item: this, half: half})\r
\r
\r
initialize: (options) ->\r
super(options)\r
- @listenTo(@element, 'input:r', @input_r)\r
+ @listenTo(@element, 'input:system_picture_id', @input_r)\r
@listenTo(@element, 'input:width', @resize)\r
@listenTo(@element, 'input:height', @resize)\r
\r
--- /dev/null
+class Pettanr.Views.Balloon.Form extends Locmare.Form\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @listenTo(@item, 'input:r', @input_r)\r
+ @item.hoge_templates()\r
+ \r
+ input_r: () ->\r
+ @item.select_system_picture()\r
+ @item.trigger('input:system_picture_id')\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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
})\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
@owner = new Pettanr.Views.Comic.ShowModule.Owner({item: @item, operators: @operators})\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
click_destroy: () ->\r
@trigger('http_get', @item.destroy_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
file_name: () ->\r
'/images/root.png'\r
\r
+class Pettanr.Views.Common.PickIcon extends Backbone.View\r
+ \r
+ initialize: (options) ->\r
+ @class_name = options.class_name\r
+ @name = options.name\r
+ @half = options.half\r
+ @button = if @is_button()\r
+ @linked_icon()\r
+ else\r
+ @icon()\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ @el.className = @class_name if @class_name\r
+ if @is_button()\r
+ @listenTo(@button, 'click', @click)\r
+ this.$el.append(@button.render().el)\r
+ this\r
+ \r
+ is_button: () ->\r
+ @name != 'none'\r
+ \r
+ icon: () ->\r
+ new Pettanr.Image.SymbolImg({attr: {src: '/images/' + @name + '.gif'}, half: @half})\r
+ \r
+ linked_icon: () ->\r
+ new Tag.A({\r
+ attr: {href: '#'},\r
+ content: @icon().render().el\r
+ })\r
+ \r
+ click: () ->\r
+ @trigger('click', this)\r
+ \r
class Pettanr.Views.Common.EmptyCaption extends Backbone.View\r
tagName: 'div'\r
className: 'empty'\r
@listenTo(this, 'ready', @ready)\r
@panel = @item.panel().with_elements()\r
@panel.fetch({cache: false}).done => # with elements\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
@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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
@listenTo(this, 'ready', @ready)\r
@panel = @item.panel().with_elements()\r
@panel.fetch({cache: false}).done => # with elements\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
@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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
@listenTo(this, 'ready', @ready)\r
@panel = @item.panel().with_elements()\r
@panel.fetch({cache: false}).done => # with elements\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
@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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
@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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
class Pettanr.Views.Panel.ShowModule\r
class Pettanr.Views.Panel.ShowModule.Header extends Pettanr.Views.Show.Header\r
\r
click_credit_icon: (item) ->\r
@trigger('click:credit:icon', item)\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
return if not scroll_panel.has_panel()\r
panel = scroll_panel.panel()\r
panel.fetch({cache: true}).done =>\r
+ panel.attributes = panel.replaced_attributes()\r
body = new Pettanr.Views.Panel.Body({\r
panel: panel,\r
operators: @operators,\r
})\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
@owner = new Pettanr.Views.Scroll.ShowModule.Owner({item: @item, operators: @operators})\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
@listenTo(@header, 'click:icon', @click_show)\r
@listenTo(@header, 'click:caption', @click_play)\r
@listenTo(@header, 'click:prof', @click_prof)\r
click_destroy: () ->\r
@trigger('http_get', @item.destroy_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
})\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
@owner = new Pettanr.Views.Sheet.ShowModule.Owner({item: @item, operators: @operators})\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@owner.render().el) if @item.is_own(@operators)\r
this\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
@caption_url = options.caption_url\r
@prof_url = options.prof_url\r
\r
+ @pick = null\r
@icon = new Pettanr.Image.Icon({item: @item, half: true})\r
@icon_button = new Tag.A({\r
attr: {href: '/' + @icon_url}, \r
\r
render: () ->\r
this.$el.html('')\r
+ this.$el.append(@pick.render().el) if @pick\r
this.$el.append(@icon_button.render().el)\r
this.$el.append(@caption.render().el)\r
this.$el.append(@prof_button.render().el)\r
this\r
\r
+ click_pick: () ->\r
+ @trigger('click:pick')\r
+ \r
click_icon: () ->\r
@trigger('click:icon')\r
\r
click_prof: () ->\r
@trigger('click:prof')\r
\r
+ add_pick: (target_model) ->\r
+ @pick = new Pettanr.Views.Common.PickIcon({\r
+ name: target_model.pick_type(@item.item_name()), half: true\r
+ })\r
+ @listenTo(@pick, 'click', @click_pick)\r
+ @render()\r
+ \r
class Pettanr.Views.Show.HeaderAuthor extends Backbone.View\r
tagName: 'div'\r
\r
@listenTo(this, 'ready', @ready)\r
@panel = @item.panel().with_elements()\r
@panel.fetch({cache: false}).done => # with elements\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
@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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
@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
click_credit_icon: (item) ->\r
@trigger('http_get', item.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
})\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
@owner = new Pettanr.Views.Story.ShowModule.Owner({item: @item, operators: @operators})\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@owner.render().el) if @item.is_own(@operators)\r
this\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