class Pettanr.ArtistsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('name'))\r
- view = new Pettanr.Views.Artist.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('name'))\r
+ show = new Pettanr.Views.Artist.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.AuthorsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('name'))\r
- view = new Pettanr.Views.Author.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('name'))\r
+ show = new Pettanr.Views.Author.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.BalloonsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_speech_balloon: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.Balloon.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.Balloon.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.ComicStoriesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_comic: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_story: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.ComicStory.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.ComicStory.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.ComicsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_story: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('title'))\r
- view = new Pettanr.Views.Comic.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('title'))\r
+ show = new Pettanr.Views.Comic.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.FoldersController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
root: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@set_model()\r
@item = new Pettanr.Folder.Root()\r
@item.fetch({cache: true}).done =>\r
show_html_format: (format) -> \r
\r
children_html: () -> \r
- @redraw_title(@params, @item.get('name'))\r
+ @trigger('retitle', @params, @item.get('name'))\r
collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
collection.fetch({cache: true}).done =>\r
f = new Locmare.Filer({\r
pager: null, \r
operators: window.operators\r
})\r
- $("#pettanr").html(f.render().el)\r
+ @trigger('ready', f)\r
\r
show: () ->\r
if @params['format'] == 'prof'\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
class Pettanr.GroundColorsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.GroundColor.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.GroundColor.Show({\r
item: @item,\r
operators: @operators\r
})\r
- #view.render()\r
+ # show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.GroundPicturesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.GroundPicture.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.GroundPicture.Show({\r
item: @item,\r
operators: @operators\r
})\r
- #view.render()\r
+ # show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
view.render()\r
\r
scrolls: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
scroll_panels: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
comics: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
comic_stories: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
stories: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
story_sheets: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
sheets: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
sheet_panels: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
panels: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
panel_pictures: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
speech_balloons: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
balloons: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
speeches: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
ground_pictures: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
ground_colors: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
resource_pictures: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
scrolls_count: () ->\r
class Pettanr.LicenseGroupsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.LicenseGroup.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.LicenseGroup.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.LicensesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_icense_group: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_system_picture: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.License.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.License.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.OriginalPictureLicenseGroupsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
class Pettanr.OriginalPictureLicensesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
class Pettanr.OriginalPicturesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
history: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.OriginalPicture.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.OriginalPicture.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.PanelPicturesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.PanelPicture.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.PanelPicture.Show({\r
item: @item,\r
operators: @operators\r
})\r
- #view.render()\r
+ # show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.PanelsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_scroll: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_sheet: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_speech_balloon_template: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
- show_html: (el) ->\r
+ show_html: () ->\r
@item = new Pettanr.Panel({id: @item.get('id')}, {with_elements: true}) # retake panel for 'with_elements' mode\r
@item.fetch({cache: false}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.Panel.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.Panel.Show({\r
panel: @item,\r
operators: @operators,\r
spot: null\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
false\r
\r
- show: (el) ->\r
+ show: () ->\r
@set_show()\r
switch @params['format']\r
when 'prof'\r
- @show_prof(el)\r
+ @show_prof()\r
else\r
- @show_html(el)\r
+ @show_html()\r
\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@set_new()\r
@editor()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@set_model()\r
@item = new Pettanr.Panel({id: @params['id']}, {with_elements: true})\r
@item.fetch({cache: false}).done =>\r
- @editor()\r
+ editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
+ editor.render()\r
+ @trigger('ready', editor)\r
\r
editor: () ->\r
- editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
- $("#pettanr").html(editor.render().el)\r
\r
create: () ->\r
\r
class Pettanr.PicturesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_artist: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.Picture.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.Picture.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.ResourcePicturesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_artist: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_license_group: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_license: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.ResourcePicture.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.ResourcePicture.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.ScrollPanelsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_scroll: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.ScrollPanel.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.ScrollPanel.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.ScrollsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('title'))\r
- view = new Pettanr.Views.Scroll.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('title'))\r
+ show = new Pettanr.Views.Scroll.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
@set_play()\r
@item.fetch({cache: true}).done =>\r
@list.open(() => \r
- @redraw_title(@params, @item.get('title'))\r
- view = new Pettanr.Views.Scroll.Play({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('title'))\r
+ show = new Pettanr.Views.Scroll.Play({\r
item: @item,\r
list: @list,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
)\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.SheetPanelsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_sheet: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.SheetPanel.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.SheetPanel.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.SheetsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_story: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.Sheet.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.Sheet.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_system_picture: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.SpeechBalloonTemplate.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.SpeechBalloonTemplate.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.SpeechBalloonsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_panel: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_speech_balloon_template: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.SpeechBalloon.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.SpeechBalloon.Show({\r
item: @item,\r
operators: @operators\r
})\r
- #view.render()\r
+ # show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.SpeechesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_speech_balloon: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.Speech.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.Speech.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.StoriesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_comic: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_sheet: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('title'))\r
- view = new Pettanr.Views.Story.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('title'))\r
+ show = new Pettanr.Views.Story.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.StorySheetsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_story: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_sheet: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.StorySheet.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.StorySheet.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
class Pettanr.SystemPicturesController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@item.fetch({cache: true}).done =>\r
- view = new Pettanr.Views.SystemPicture.Show({\r
- el: "#pettanr",\r
+ show = new Pettanr.Views.SystemPicture.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
class Pettanr.WritingFormatsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
by_system_picture: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
show_html: () -> \r
@item.fetch({cache: true}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.WritingFormat.Show({\r
- el: "#pettanr",\r
+ @trigger('retitle', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.WritingFormat.Show({\r
item: @item,\r
operators: @operators\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
\r
show: () ->\r
@set_show()\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r
create: () ->\r
spot: null\r
})\r
@dock = new Editor.PanelEditor.Dock({parent: this})\r
- @credits = new Pettanr.Views.Panel.Show.Credits({pictures: {}})\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({pictures: {}})\r
\r
list = @panel.zorderd_elements()\r
_.each list, (element) =>\r
@has_picture: () ->\r
false\r
\r
- panel: () ->\r
- new Pettanr.Panel({id: @get('panel_id')})\r
+ panel: (options = {}) ->\r
+ new Pettanr.Panel({id: @get('panel_id')}, options)\r
\r
element_face: () ->\r
new Pettanr.Views.GroundColor.ElementFace({element: this})\r
@repeat_texts: () -> \r
['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
\r
- panel: () ->\r
- new Pettanr.Panel({id: @get('panel_id')})\r
+ panel: (options = {}) ->\r
+ new Pettanr.Panel({id: @get('panel_id')}, options)\r
\r
picture: () ->\r
new Pettanr.Picture({id: @get('picture_id')})\r
t: null\r
} \r
\r
- panel: () ->\r
- new Pettanr.Panel({id: @get('panel_id')})\r
+ panel: (options = {}) ->\r
+ new Pettanr.Panel({id: @get('panel_id')}, options)\r
\r
speech_balloon_template: () ->\r
new Pettanr.SpeechBalloonTemplate({id: @get('speech_balloon_template_id')})\r
\r
# Instance Methods\r
\r
+ play_url: () ->\r
+ Pettanr.url(@table_name(), 'play', {id: @get('id')})\r
\r
@test: () ->\r
super()\r
icon_view: (half) ->\r
new Pettanr.Views[@my_class().singular()].Icon({item: this, half: half})\r
\r
+ index_url: () ->\r
+ Pettanr.url(@table_name(), 'index', {id: @get('id')})\r
+ \r
+ show_url: () ->\r
+ Pettanr.url(@table_name(), 'show', {id: @get('id')})\r
+ \r
+ prof_url: () ->\r
+ Pettanr.url(@table_name(), 'show', {id: @get('id'), format: 'prof'})\r
+ \r
+ edit_url: () ->\r
+ Pettanr.url(@table_name(), 'edit', {id: @get('id')})\r
+ \r
+ destroy_url: () ->\r
+ Pettanr.url(@table_name(), 'destroy', {id: @get('id')})\r
+ \r
is_editize: () ->\r
@editor\r
\r
constructor: () ->\r
@params = {}\r
@operators = window.operators\r
+ _.extend(this, Backbone.Events)\r
\r
set_model: () ->\r
@my_controller = Manifest.manifest().controllers[@params['controller']]\r
@set_list()\r
@list.open(() =>\r
pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, @params)\r
- f = new Locmare.Filer({\r
- el: "#pettanr",\r
+ filer = new Locmare.Filer({\r
item_name: @list.item_name, \r
items: @list.items(), \r
pager: pager, \r
operators: @operators\r
})\r
+ @trigger('ready', filer)\r
)\r
false\r
\r
})\r
el ||= $("#pettanr")\r
el.html(profiler.render().el)\r
- @redraw_title(@params)\r
+ @trigger('retitle', @params)\r
\r
set_new: () ->\r
@set_model()\r
form_edit: () ->\r
@set_edit()\r
\r
- redraw_title: (params, str = null) ->\r
+ class Pettanr.AppBody extends Backbone.View\r
+ el: "#pettanr"\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ this\r
+ \r
+ refresh: (body) ->\r
+ @listenTo(body, 'navigate', @navigate)\r
+ this.$el.html(body.el)\r
+ \r
+ fire: (params) ->\r
+ c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
+ controller = new c\r
+ controller.params = params\r
+ @listenTo(controller, 'ready', @refresh)\r
+ @listenTo(controller, 'retitle', @retitle)\r
+ controller[params['action']]()\r
+ \r
+ navigate: (url) ->\r
+ window.router.navigate(url, true)\r
+ \r
+ retitle: (params, str = null) ->\r
t = str || I18n.t(params['controller'] + '.' + params['action'] + '.title')\r
site_caption = _.escape(Manifest.manifest().magic_numbers.profile.users.caption)\r
$(document).attr('title', t + ' - ' + site_caption)\r
\r
+ class Pettanr.Dialog extends Backbone.View\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ this\r
+ \r
+ refresh: (body) ->\r
+ @listenTo(body, 'navigate', @navigate)\r
+ this.$el.html(body.render().el)\r
+ \r
+ fire: (params) ->\r
+ c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
+ controller = new c\r
+ controller.params = params\r
+ @listenTo(controller, 'ready', @refresh)\r
+ # ignore retitle message\r
+ # @listenTo(controller, 'retitle', @retitle)\r
+ controller[params['action']]()\r
+ \r
+ local_navigate: (url) ->\r
+ window.router.local_navigate(url, true)\r
+ \r
+ \r
#>> https://gist.github.com/davidjbeveridge/3813724\r
@xeach: (arr, func, index=0) ->\r
if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else []\r
initialize: () ->\r
_.each @peta_routes(), (r) =>\r
@route(r.route, r.callback)\r
+ @body = new Pettanr.AppBody()\r
\r
- fire: (params, el) ->\r
- c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
- controller = new c\r
- controller.params = params\r
- controller[params['action']](el)\r
+ fire: (params, dialog) ->\r
+ b = dialog || @body\r
+ b.fire(params)\r
\r
peta_routes: () ->\r
[\r
this.$el.addClass(@class_name) if @class_name\r
this\r
\r
-class Tag.A extends Backbone.View\r
+class Tag.A_ extends Backbone.View\r
tagName: 'a'\r
\r
initialize: (options) ->\r
@attr = options.attr || {}\r
- @handler_name = options.handler_name\r
@content = options.content\r
@class_name = options.class_name\r
\r
this.$el.attr(@attr)\r
@el.className = @class_name if @class_name\r
this.$el.html(@content)\r
- if @handler_name\r
- @events = {click: 'click'} \r
- @delegateEvents(@events)\r
+ this\r
+ \r
+class Tag.A extends Tag.A_\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @navigate = options.navigate\r
+ \r
+ render: () ->\r
+ super()\r
+ @events = {click: 'click'}\r
+ @delegateEvents(@events)\r
this\r
\r
click: () ->\r
- window.router.navigate(@handler_name, true)\r
+ if @navigate\r
+ window.router.navigate(@navigate, true)\r
+ else\r
+ @trigger('click')\r
return false\r
\r
class Tag.Div extends Backbone.View\r
@icon = new Pettanr.Image.Icon({item: @item, half: @half})\r
@icon_button = new Tag.A({\r
attr: {href: '/' + @icon_url}, \r
- handler_name: @icon_url,\r
class_name: 'icon',\r
content: @icon.render().el\r
})\r
+ @listenTo(@icon_button, 'click', @click)\r
\r
render: () ->\r
this.$el.html(@icon_button.render().el)\r
this\r
\r
+ click: () ->\r
+ @trigger('click')\r
+ \r
+ url: () ->\r
+ @icon_url\r
+ \r
class Pettanr.Views.Common.Caption extends Backbone.View\r
tagName: 'span'\r
\r
@url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})\r
@linked_name = new Tag.A({\r
attr: {href: '/' + @url}, \r
- handler_name: @url,\r
content: _.escape(@name)\r
})\r
+ @listenTo(@linked_name, 'click', @click)\r
\r
render: () ->\r
this.$el.html(@linked_name.render().el)\r
this\r
\r
+ click: () ->\r
+ @trigger('click')\r
+ \r
+ url: () ->\r
+ @url\r
+ \r
class Pettanr.Views.Common.IconWithCaption extends Backbone.View\r
tagName: 'span'\r
\r
@length = options.length\r
@icon = new Pettanr.Views.Common.Icon({item: @item, half: @half})\r
@caption = new Pettanr.Views.Common.Caption({item: @item, column_name: @column_name, length: @length})\r
+ @listenTo(@icon, 'click', @click)\r
+ @listenTo(@caption, 'click', @click)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@caption.render().el)\r
this\r
\r
+ click: () ->\r
+ @trigger('click')\r
+ \r
+ url: () ->\r
+ @icon.url()\r
+ \r
class Pettanr.Views.Common.Summary extends Backbone.View\r
\r
initialize: (options) ->\r
caption_url: caption_url,\r
prof_url: prof_url\r
})\r
- @panel = @item.panel()\r
- @panel.fetch({cache: true}).done =>\r
+ @listenTo(this, 'ready', @ready)\r
+ @panel = @item.panel({with_elements: true})\r
+ @panel.fetch({cache: false}).done => # with elements\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @render()\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ operators: @operators,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\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
+ this\r
+ \r
+ ready: () ->\r
+ this.$el.html('')\r
this.$el.append(@header.render().el)\r
this.$el.append(@author.render().el)\r
- this\r
+ this.$el.append(@body.render().el)\r
+ this.$el.append(@credits.render().el)\r
+ rb = new Tag.RowBreak()\r
+ this.$el.append(rb.render().el)\r
+ \r
+ click_show: () ->\r
+ window.router.navigate(@item.show_url(), true)\r
+ \r
+ click_author: () ->\r
+ window.router.navigate(@panel.author().show_url(), true)\r
+ \r
+ click_prof: () ->\r
+ window.router.navigate(@item.prof_url(), true)\r
+ \r
+ click_credit_icon: (item) ->\r
+ window.router.navigate(item.show_url(), true)\r
\r
caption_url: caption_url,\r
prof_url: prof_url\r
})\r
- @panel = @item.panel()\r
- @panel.fetch({cache: true}).done =>\r
+ @listenTo(this, 'ready', @ready)\r
+ @panel = @item.panel({with_elements: true})\r
+ @panel.fetch({cache: false}).done => # with elements\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @render()\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ operators: @operators,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\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
+ this\r
+ \r
+ ready: () ->\r
+ this.$el.html('')\r
this.$el.append(@header.render().el)\r
this.$el.append(@author.render().el)\r
- this\r
+ this.$el.append(@body.render().el)\r
+ this.$el.append(@credits.render().el)\r
+ rb = new Tag.RowBreak()\r
+ this.$el.append(rb.render().el)\r
+ \r
+ click_show: () ->\r
+ window.router.navigate(@item.show_url(), true)\r
+ \r
+ click_author: () ->\r
+ window.router.navigate(@panel.author().show_url(), true)\r
+ \r
+ click_prof: () ->\r
+ window.router.navigate(@item.prof_url(), true)\r
+ \r
+ click_credit_icon: (item) ->\r
+ window.router.navigate(item.show_url(), true)\r
\r
caption_url: caption_url,\r
prof_url: prof_url\r
})\r
+ @listenTo(this, 'ready', @ready)\r
@panel = @item.panel({with_elements: true})\r
@panel.fetch({cache: false}).done => # with elements\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
operators: @operators,\r
spot: @item\r
})\r
- @credits = new Pettanr.Views.Panel.Show.Credits({panel: @panel})\r
- rb = new Tag.RowBreak()\r
- this.$el.append(rb.render().el)\r
- @render()\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\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
+ this\r
+ \r
+ ready: () ->\r
+ this.$el.html('')\r
this.$el.append(@header.render().el)\r
this.$el.append(@author.render().el)\r
this.$el.append(@body.render().el)\r
this.$el.append(@credits.render().el)\r
- this\r
+ rb = new Tag.RowBreak()\r
+ this.$el.append(rb.render().el)\r
+ \r
+ click_show: () ->\r
+ window.router.navigate(@item.show_url(), true)\r
+ \r
+ click_author: () ->\r
+ window.router.navigate(@panel.author().show_url(), true)\r
+ \r
+ click_prof: () ->\r
+ window.router.navigate(@item.prof_url(), true)\r
+ \r
+ click_credit_icon: (item) ->\r
+ window.router.navigate(item.show_url(), true)\r
\r
initialize: (options) ->\r
@panel = options.panel\r
@operators = options.operators\r
+ @panel_icon = new Pettanr.Views.Panel.Icon({item: @panel, half: true})\r
+ @author_icon = new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})\r
+ @edit_button = new Pettanr.Views.Show.LinkedEditButton({item: @panel})\r
+ @listenTo(@panel_icon, 'click', @click_panel)\r
+ @listenTo(@author_icon, 'click', @click_author)\r
+ @listenTo(@edit_button, 'click', @click_edit)\r
\r
render: () ->\r
this.$el.html('')\r
+ this.$el.append(@panel_icon.render().el)\r
+ this.$el.append(@author_icon.render().el)\r
this.$el.append(\r
- (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el\r
+ Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at'))\r
)\r
- this.$el.append(\r
- (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
- )\r
- this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))\r
if @panel.is_own(@operators)\r
- this.$el.append(\r
- (new Pettanr.Views.Show.LinkedEditButton({item: @panel})).render().el\r
- )\r
+ this.$el.append(@edit_button.render().el)\r
this\r
\r
+ click_panel: () ->\r
+ @trigger('click:panel')\r
+ \r
+ click_author: () ->\r
+ @trigger('click:author')\r
+ \r
+ click_edit: () ->\r
+ @trigger('click:edit')\r
+ \r
@operators = options.operators\r
@spot = options.spot\r
\r
- icon_url = Pettanr.url(@panel.table_name(), 'show', {id: @panel.get('id')})\r
- caption_url = Pettanr.url(@panel.table_name(), 'show', {id: @panel.get('id')})\r
- prof_url = Pettanr.url(@panel.table_name(), 'show', {id: @panel.get('id'), format: 'prof'})\r
- @header = new Pettanr.Views.Scroll.ShowModule.Header({\r
+ @header = new Pettanr.Views.Panel.ShowModule.Header({\r
item: @panel, \r
operators: @operators,\r
caption: @panel.get('caption'), \r
- icon_url: icon_url,\r
- caption_url: caption_url,\r
- prof_url: prof_url\r
+ icon_url: @panel.show_url(),\r
+ caption_url: @panel.show_url(),\r
+ prof_url: @panel.prof_url()\r
})\r
@body = new Pettanr.Views.Panel.Body({\r
panel: @panel,\r
panel: @panel,\r
operators: @operators\r
})\r
- @credits = new Pettanr.Views.Panel.Show.Credits({\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
pictures: @panel.licensed_pictures()\r
})\r
+ @listenTo(@header, 'click:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_show)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@footer, 'click:panel', @click_show)\r
+ @listenTo(@footer, 'click:author', @click_author)\r
+ @listenTo(@footer, 'click:edit', @click_edit)\r
+ @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(rb.render().el)\r
this\r
\r
-class Pettanr.Views.Panel.Show.Credits extends Backbone.View\r
+ click_show: () ->\r
+ window.router.navigate(@panel.show_url(), true)\r
+ \r
+ click_author: () ->\r
+ window.router.navigate(@panel.author().show_url(), true)\r
+ \r
+ click_edit: () ->\r
+ window.router.navigate(@panel.edit_url(), true)\r
+ \r
+ click_prof: () ->\r
+ window.router.navigate(@panel.prof_url(), true)\r
+ \r
+ click_credit_icon: (item) ->\r
+ window.router.navigate(item.show_url(), true)\r
+ \r
+class Pettanr.Views.Panel.ShowModule\r
+class Pettanr.Views.Panel.ShowModule.Header extends Pettanr.Views.Show.Header\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ \r
+class Pettanr.Views.Panel.ShowModule.Credits extends Backbone.View\r
tagName: 'div'\r
className: 'credits'\r
\r
initialize: (options) ->\r
@pictures = options.pictures\r
+ @credited = {}\r
\r
render: () ->\r
this.$el.html('')\r
- _.each @pictures, (picture) =>\r
+ _.each @pictures, (picture, pid) =>\r
@add_picture(picture)\r
this\r
\r
add_picture: (picture) ->\r
- if not @pictures[picture.get('id')]\r
+ \r
+ add_picture: (picture) ->\r
+ pid = picture.get('id')\r
+ if not @credited[pid]\r
picture.fetch({cache: true}).done =>\r
- @pictures[picture.get('id')] = picture\r
+ @credited[pid] = picture\r
credit = picture.credit_view()\r
+ @listenTo(credit, 'click:icon', @click_credit_icon)\r
this.$el.append(credit.render().el)\r
\r
+ click_credit_icon: (item) ->\r
+ @trigger('click:credit:icon', item)\r
+ \r
render: () ->\r
this.$el.html('')\r
if @with_icon\r
- this.$el.append(@item.credit_icon.render().el)\r
+ p = @item.credit_icon_view()\r
+ @listenTo(p, 'click', @click)\r
+ this.$el.append(p.render().el)\r
this.$el.append(@item.credit)\r
this.$el.append((new Tag.RowBreak()).render().el)\r
this\r
\r
+ click: () ->\r
+ @trigger('click:icon', @item)\r
+ \r
picture = @item.tmb_opt_img_tag()\r
linked_picture = new Tag.A({\r
attr: {href: @item.url},\r
- handler_name: 'pictures/' + @item.get('id'),\r
content: picture.render().el\r
})\r
+ @listenTo(linked_picture, 'click', @click)\r
this.$el.append(linked_picture.render().el)\r
this\r
\r
+ click: () ->\r
+ @trigger('click')\r
+ \r
this.$el.html('')\r
if @with_icon\r
p = @item.credit_icon_view()\r
+ @listenTo(p, 'click', @click)\r
this.$el.append(p.render().el)\r
f = (data, status) =>\r
this.$el.append(data)\r
$.get(@url, null, f, 'html')\r
this\r
\r
+ click: () ->\r
+ @trigger('click:icon', @item)\r
+ \r
resource_picture = @item.tmb_opt_img_tag()\r
linked_resource_picture = new Tag.A({\r
attr: {href: @item.url},\r
- handler_name: 'resource_pictures/' + @item.get('id'),\r
content: resource_picture.render().el\r
})\r
+ @listenTo(linked_resource_picture, 'click', @click)\r
this.$el.append(linked_resource_picture.render().el)\r
this\r
\r
+ click: () ->\r
+ @trigger('click')\r
+ \r
initialize: (options) ->\r
@item = options.item\r
@operators = options.operators\r
- icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})\r
- caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')})\r
- prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'})\r
@header = new Pettanr.Views.Scroll.ShowModule.Header({\r
item: @item, \r
operators: @operators,\r
caption: @item.get('title'), \r
- icon_url: icon_url,\r
- caption_url: caption_url,\r
- prof_url: prof_url\r
+ icon_url: @item.show_url(),\r
+ caption_url: @item.play_url(),\r
+ prof_url: @item.prof_url()\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:icon', @click_show)\r
+ @listenTo(@header, 'click:caption', @click_play)\r
+ @listenTo(@header, 'click:prof', @click_prof)\r
+ @listenTo(@author, 'click:author', @click_author)\r
+ @listenTo(@owner, 'click:edit', @click_edit)\r
+ @listenTo(@owner, 'click:destroy', @click_destroy)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@owner.render().el) if @item.is_own(@operators)\r
this\r
\r
+ click_show: () ->\r
+ window.router.navigate(@item.show_url(), true)\r
+ \r
+ click_play: () ->\r
+ window.router.navigate(@item.play_url(), true)\r
+ \r
+ click_prof: () ->\r
+ window.router.navigate(@item.prof_url(), true)\r
+ \r
+ click_author: () ->\r
+ window.router.navigate(@item.author().show_url(), true)\r
+ \r
+ click_edit: () ->\r
+ window.router.navigate(@item.edit_url(), true)\r
+ \r
+ click_destroy: () ->\r
+ window.router.navigate(@item.destroy_url(), true)\r
+ \r
@icon = new Pettanr.Image.Icon({item: @item, half: true})\r
@icon_button = new Tag.A({\r
attr: {href: '/' + @icon_url}, \r
- handler_name: @icon_url,\r
class_name: 'icon',\r
content: @icon.render().el\r
})\r
@caption = new Tag.A({\r
attr: {href: '/' + @caption_url},\r
- handler_name: @caption_url,\r
class_name: 'caption',\r
content: _.escape(@title)\r
})\r
@prof = new Pettanr.Image.SymbolImg({attr: {src: '/images/prof.gif'}, half: true})\r
@prof_button = new Tag.A({\r
attr: {href: '/' + @prof_url}, \r
- handler_name: @prof_url,\r
class_name: 'prof',\r
content: @prof.render().el\r
})\r
+ @listenTo(@icon, 'click', @click_icon)\r
+ @listenTo(@caption, 'click', @click_caption)\r
+ @listenTo(@prof_button, 'click', @click_prof)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@prof_button.render().el)\r
this\r
\r
+ click_icon: () ->\r
+ @trigger('click:icon')\r
+ \r
+ click_caption: () ->\r
+ @trigger('click:caption')\r
+ \r
+ click_prof: () ->\r
+ @trigger('click:prof')\r
+ \r
class Pettanr.Views.Show.HeaderAuthor extends Backbone.View\r
tagName: 'div'\r
\r
@author = @item.author()\r
@author.fetch({cache: true}).done =>\r
name = @author.escape('name')\r
- author_url = Pettanr.url(@author.table_name(), 'show', {id: @author.get('id')})\r
+ author_url = @author.show_url()\r
@linked_author = new Tag.A({\r
attr: {href: '/' + author_url}, \r
- handler_name: author_url,\r
content: name\r
})\r
+ @listenTo(@linked_author, 'click', @click)\r
@render()\r
\r
render: () ->\r
this.$el.append(@linked_author.render().el) if @linked_author\r
this\r
\r
+ click: () ->\r
+ @trigger('click:author')\r
+ \r
class Pettanr.Views.Show.LinkedEditButton extends Tag.A\r
\r
initialize: (options) ->\r
item = options.item\r
- edit_url = Pettanr.url(item.table_name(), 'edit', {id: item.get('id')})\r
super({\r
- attr: {href: '/' + edit_url}, \r
- handler_name: edit_url,\r
+ attr: {href: '/' + item.edit_url()}, \r
content: I18n.t('link.edit')\r
})\r
\r
+ url: () ->\r
+ @url\r
+ \r
class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A\r
\r
initialize: (options) ->\r
item = options.item\r
- edit_url = Pettanr.url(item.table_name(), 'destroy', {id: item.get('id')})\r
super({\r
- attr: {href: '/' + edit_url}, \r
- handler_name: edit_url,\r
+ attr: {href: '/' + item.destroy_url()}, \r
content: I18n.t('link.destroy')\r
})\r
\r
+ url: () ->\r
+ @destroy_url\r
+ \r
class Pettanr.Views.Show.OwnerFooter extends Backbone.View\r
tagName: 'div'\r
className: 'show-owner-footer'\r
@operators = options.operators\r
@edit = new Pettanr.Views.Show.LinkedEditButton({item: @item})\r
@destroy = new Pettanr.Views.Show.LinkedDestroyButton({item: @item})\r
+ @listenTo(@edit, 'click', @click_edit)\r
+ @listenTo(@destroy, 'click', @click_destroy)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@destroy.render().el)\r
this\r
\r
+ click_edit: () ->\r
+ @trigger('click:edit')\r
+ \r
+ click_destroy: () ->\r
+ @trigger('click:destroy')\r
+ \r
class Pettanr.Views.Show.Owner extends Backbone.View\r
tagName: 'div'\r
\r
content: I18n.t('editor')\r
})\r
@footer = new Pettanr.Views.Show.OwnerFooter({item: @item, operators: @operators})\r
+ @listenTo(@footer, 'click:edit', @click_edit)\r
+ @listenTo(@footer, 'click:destroy', @click_destroy)\r
\r
render: () ->\r
this.$el.html('')\r
this.$el.append(@footer.render().el)\r
this\r
\r
+ click_edit: () ->\r
+ @trigger('click:footer:edit')\r
+ @trigger('click:edit')\r
+ \r
+ click_destroy: () ->\r
+ @trigger('click:footer:destroy')\r
+ @trigger('click:destroy')\r
+ \r
caption_url: caption_url,\r
prof_url: prof_url\r
})\r
- @panel = @item.panel()\r
- @panel.fetch({cache: true}).done =>\r
+ @listenTo(this, 'ready', @ready)\r
+ @panel = @item.panel({with_elements: true})\r
+ @panel.fetch({cache: false}).done => # with elements\r
@author = new Pettanr.Views.Show.HeaderAuthor({item: @panel})\r
- @render()\r
+ @body = new Pettanr.Views.Panel.Body({\r
+ panel: @panel,\r
+ operators: @operators,\r
+ spot: @item\r
+ })\r
+ @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
+ pictures: @panel.licensed_pictures()\r
+ })\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
+ this\r
+ \r
+ ready: () ->\r
+ this.$el.html('')\r
this.$el.append(@header.render().el)\r
this.$el.append(@author.render().el)\r
- this\r
+ this.$el.append(@body.render().el)\r
+ this.$el.append(@credits.render().el)\r
+ rb = new Tag.RowBreak()\r
+ this.$el.append(rb.render().el)\r
+ \r
+ click_show: () ->\r
+ window.router.navigate(@item.show_url(), true)\r
+ \r
+ click_author: () ->\r
+ window.router.navigate(@panel.author().show_url(), true)\r
+ \r
+ click_prof: () ->\r
+ window.router.navigate(@item.prof_url(), true)\r
+ \r
+ click_credit_icon: (item) ->\r
+ window.router.navigate(item.show_url(), true)\r
\r
\r
initialize: (options) ->\r
@operators = options.operators\r
+ @author = @operators.author\r
+ @artist = @operators.artist\r
+ if @author\r
+ @author_view = @author.icon_with_caption_view()\r
+ @listenTo(@author_view, 'click', @author_click)\r
+ if @artist\r
+ @artist_view = @artist.icon_with_caption_view()\r
+ @listenTo(@artist_view, 'click', @artist_click)\r
\r
render: () ->\r
this.$el.html('')\r
- if au = @operators.author\r
- author = au.icon_with_caption_view()\r
- this.$el.append(author.render().el)\r
- if ar = @operators.artist\r
- artist = ar.icon_with_caption_view()\r
- this.$el.append(artist.render().el)\r
+ if @author_view\r
+ this.$el.append(@author_view.render().el)\r
+ if @artist_view\r
+ this.$el.append(@artist_view.render().el)\r
sign_out = new Tag.A({\r
attr: {href: '/'}, \r
class_name: 'sign_out', \r
@delegateEvents({'click .sign_out': 'sign_out'})\r
this\r
\r
+ author_click: () ->\r
+ window.router.navigate(@author_view.url(), true)\r
+ \r
+ artist_click: () ->\r
+ window.router.navigate(@artist_view.url(), true)\r
+ \r
sign_out: () ->\r
user = new Backbone.Model({id: 0})\r
user.url = '/users/sign_out'\r