1 class Pettanr.Views.ScrollPanel.NewElementLauncher extends Pettanr.View
\r
3 initialize: (options) ->
\r
4 @parent = options.parent
\r
5 @model = options.model
\r
7 _.extend(@links_conf, {
\r
11 controller: @model.pick_model().path_name(), action: 'index',
\r
12 page_size: 8, format: 'html'
\r
16 _.extend(@links_conf, {
\r
20 controller: @model.pick_model().path_name(), action: 'by_author', id: Pettanr.cache.operators.author.get('id'),
\r
21 page_size: 8, format: 'html'
\r
25 _.extend(@links_conf, {
\r
29 controller: 'authors', action: 'index',
\r
30 page_size: 8, format: 'html'
\r
37 header = new Editor.EditorModule.DockModule.NewElementLauncherHeader({model: @model})
\r
38 this.$el.append(header.render().el)
\r
42 get_action: (params) ->
\r
43 controller = Manifest.manifest().controllers[params['controller']]
\r
44 controller.actions[params['action']]
\r
47 _.each @links_conf, (conf, name) =>
\r
48 @add_link(name, conf.caption, @get_action(conf.params).url(conf.params))
\r
50 add_link: (name, caption, url) ->
\r
52 attr: {href: '/' + url},
\r
55 span = new Tag.Span({
\r
56 content: link.render().el
\r
58 @listenTo(link, 'click', this['click_' + name])
\r
59 this.$el.append(span.render().el)
\r
62 params = @links_conf.users.params
\r
63 url = @get_action(params).url(params)
\r
64 @trigger('http_get', url)
\r
67 params = @links_conf.mine.params
\r
68 url = @get_action(params).url(params)
\r
69 @trigger('http_get', url)
\r
71 click_authors: () ->
\r
72 params = @links_conf.authors.params
\r
73 url = @get_action(params).url(params)
\r
74 @trigger('http_get', url)
\r