summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_form.js
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2012-04-09 20:44:45 +0200
committerAntony Lesuisse <al@openerp.com>2012-04-09 20:44:45 +0200
commitd4b103fb4d656f8480299fb673ebbdd3b95e9aed (patch)
treee3f7855ee4e0aa0cddfa8413bbf902eb70f54fa4 /addons/web/static/src/js/view_form.js
parentbc92baa084205dbfbe1bc65b367ce11a8dcf9bf8 (diff)
viewmanager refactor part1
bzr revid: al@openerp.com-20120409184445-nri84zeylu6ur21d
Diffstat (limited to 'addons/web/static/src/js/view_form.js')
-rw-r--r--addons/web/static/src/js/view_form.js36
1 files changed, 17 insertions, 19 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 785ab0e544a..a2ac3a54086 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -5,7 +5,7 @@ var _t = openerp.web._t,
var QWeb = openerp.web.qweb;
openerp.web.views.add('form', 'openerp.web.FormView');
-openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# */{
+openerp.web.FormView = openerp.web.View.extend({
/**
* Indicates that this view is not searchable, and thus that no search
* view should be displayed (if there is one active).
@@ -41,7 +41,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
this.default_focus_button = null;
this.registry = openerp.web.form.widgets;
this.has_been_loaded = $.Deferred();
- this.$form_header = null;
this.translatable_fields = [];
_.defaults(this.options, {
"not_interactible_on_create": false
@@ -54,10 +53,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
this.rendering_engine = new openerp.web.FormRenderingEngine(this);
},
destroy: function() {
- if (this.sidebar) {
- this.sidebar.attachments.destroy();
- this.sidebar.destroy();
- }
_.each(this.get_widgets(), function(w) {
w.destroy();
});
@@ -78,23 +73,26 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
var $dest = this.$element.hasClass("oe_form_container") ? this.$element : this.$element.find('.oe_form_container');
this.rendering_engine.render_to($dest);
- this.$form_header = this.$element.find('.oe_form_header:first');
- this.$form_header.find('div.oe_form_pager button[data-pager-action]').click(function() {
+ this.$buttons = this.options.$buttons || this.$element.find('.oe_form_buttons');
+ this.$sidebar = this.options.$sidebar || this.$element.find('.oe_form_sidebar');
+ this.$pager = this.options.$pager || this.$element.find('.oe_form_pager');
+
+ this.$buttons.html(QWeb.render("FormView.buttons", {'widget':self}));
+ this.$pager.html(QWeb.render("FormView.pager", {'widget':self}));
+
+ this.$buttons.on('click','.oe_form_buttons button.oe_form_button_save',this.on_button_save);
+ this.$buttons.on('click','.oe_form_buttons button.oe_form_button_cancel',this.on_button_cancel);
+ this.$pager.on('click','.oe_form_pager button[data-pager-action]',function(event) {
var action = $(this).data('pager-action');
self.on_pager_action(action);
});
- this.$form_header.find('button.oe_form_button_save').click(this.on_button_save);
- this.$form_header.find('button.oe_form_button_cancel').click(this.on_button_cancel);
-
- if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
+ if (!this.sidebar && this.options.sidebar) {
this.sidebar = new openerp.web.Sidebar(this);
- this.sidebar.appendTo(this.$element.find(".oe_form_sidebar"));
- this.sidebar.attachments = new openerp.web.form.SidebarAttachments(this.sidebar, this);
+ this.sidebar.appendTo(this.$sidebar);
+ //this.sidebar.attachments = new openerp.web.form.SidebarAttachments(this.sidebar, this);
this.sidebar.add_toolbar(this.fields_view.toolbar);
- this.set_common_sidebar_sections(this.sidebar);
- this.sidebar.add_section(_t('Customize'), 'customize');
- this.sidebar.add_items('customize', [{
+ this.sidebar.add_items('other', [{
label: _t('Set Default'),
form: this,
callback: function (item) {
@@ -173,7 +171,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
self.is_initialized.resolve();
self.do_update_pager(record.id == null);
if (self.sidebar) {
- self.sidebar.attachments.do_update();
+ // self.sidebar.attachments.do_update();
}
if (self.default_focus_field) {
self.default_focus_field.focus();
@@ -216,7 +214,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
}
},
do_update_pager: function(hide_index) {
- var $pager = this.$form_header.find('div.oe_form_pager');
+ var $pager = this.$pager.find('div.oe_form_pager');
var index = hide_index ? '-' : this.dataset.index + 1;
$pager.find('button').prop('disabled', this.dataset.ids.length < 2);
$pager.find('span.oe_pager_index').html(index);