class Editor.Dialog extends Pettanr.View tagName: 'div' initialize: (options) -> @parent = options.parent start: (params, form) -> @get(params, form) stop: () -> this.$el.dialog('close') close: () -> @trigger('close') render: () -> this.$el.html('') this refresh: (view) -> this.$el.html('') this.$el.append(view.el) getter_proxy: () -> c = @proxy_class() proxy = new c({}) @listenTo(proxy, 'ready', @ready) @listenTo(proxy, 'title', @title) @listenTo(proxy, 'done', @done) @listenTo(proxy, 'deny', @deny) proxy proxy_class: () -> Pettanr.PickerProxy http_get: (url, form) -> @getter_proxy().http_get(url, form) get: (params, form) -> @getter_proxy().get(params, form) ready: (view) -> @listenTo(view, 'http_get', @http_get) # @listenTo(view, 'http_post', @http_post) @refresh(view) this.$el.dialog('open') done: (params) -> deny: (params, form, safe_url) -> @getter_proxy().http_get(safe_url, params, form) title: (params, str = null) -> t = str || I18n.t(params['controller'] + '.' + params['action'] + '.title') this.$el.dialog({title: t})