OSDN Git Service

fix: new elm launcher
[pettanr/pettanr.git] / app / assets / javascripts / editor / panel_editor / dialog.js.coffee
1 class Editor.PanelEditor.Dialog extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'panel-editor-dialog'\r
4   \r
5   initialize: (options) ->\r
6     @parent = options.parent\r
7     @target_model = options.target_model\r
8     @history = new Pettanr.Views.History({parent: this})\r
9     @listenTo(@history, 'http_get', @http_get)\r
10     @listenTo(@history, 'get', @get)\r
11   \r
12   start: (@target_model, params, form) ->\r
13     @get(params, form)\r
14   \r
15   stop: () ->\r
16     this.$el.dialog('close')\r
17   \r
18   close: () ->\r
19     @trigger('close')\r
20   \r
21   render: () ->\r
22     this.$el.html('')\r
23     this\r
24   \r
25   refresh: (view) ->\r
26     this.$el.html('')\r
27     this.$el.append(@history.render().el)\r
28     rb = new Tag.RowBreak()\r
29     this.$el.append(rb.render().el)\r
30     this.$el.append(view.el)\r
31   \r
32   getter_proxy: () ->\r
33     proxy = new Pettanr.PickerProxy({})\r
34     @listenTo(proxy, 'ready', @ready)\r
35     @listenTo(proxy, 'title', @title)\r
36     @listenTo(proxy, 'title', @push_history)\r
37     @listenTo(proxy, 'done', @done)\r
38     @listenTo(proxy, 'deny', @deny)\r
39     proxy\r
40   \r
41   http_get: (url, form) ->\r
42     @getter_proxy().http_get(url, form)\r
43   \r
44   get: (params, form) ->\r
45     @getter_proxy().get(params, form)\r
46   \r
47   ready: (view) ->\r
48     @listenTo(view, 'http_get', @http_get)\r
49     # @listenTo(view, 'http_post', @http_post)\r
50     @listenTo(view, 'pick', @pick)\r
51     if view['is_pickable'] and view.is_pickable()\r
52       view.add_pick(@target_model)\r
53     @refresh(view)\r
54     this.$el.dialog('open')\r
55   \r
56   done: (params) ->\r
57   \r
58   deny: (params, form, safe_url) ->\r
59     @getter_proxy().http_get(safe_url, params, form)\r
60   \r
61   push_history: (params, str = null) ->\r
62     @history.push(params, str)\r
63   \r
64   title: (params, str = null) ->\r
65     t = str || I18n.t(params['controller'] + '.' + params['action'] + '.title')\r
66     this.$el.dialog({title: t})\r
67   \r
68   pick: (item) ->\r
69     @trigger('pick', item)\r
70   \r