@credits = {}\r
\r
class Pettanr.AppController\r
- constructor: () ->\r
+ constructor: (@operators) ->\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
- item_name: @my_list_model_class.item_name(), \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
false\r
\r
- show_prof: () ->\r
+ show_prof: (el) ->\r
@item.fetch({cache: true}).done =>\r
@item.boosts 'post'\r
profiler = new Locmare.Profiler({\r
item: @item, \r
operators: @operators\r
})\r
- $("#pettanr").html(profiler.render().el)\r
- @redraw_title(@params)\r
+ el ||= $("#pettanr")\r
+ el.html(profiler.render().el)\r
+ @trigger('retitle', @params)\r
\r
set_new: () ->\r
@set_model()\r
@render_form()\r
\r
render_form: () ->\r
- @form = new Locmare.Form({\r
+ @form = Locmare.Form.factory({\r
form_name: @item.item_name(), \r
item: @item, \r
mounted: true, \r
form_edit: () ->\r
@set_edit()\r
\r
- redraw_title: (params, str = null) ->\r
- t = str || I18n.t(params['controller'] + '.' + params['action'] + '.title')\r
- site_caption = Manifest.manifest().magic_numbers.profile.users.caption\r
- $(document).attr('title', t + ' - ' + site_caption)\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