[merge] nivification of all views

bzr revid: nicolas.vanhoren@openerp.com-20110915101438-l0dfpy9tgffpj0fh
This commit is contained in:
niv-openerp
2011-09-15 12:14:38 +02:00
14 changed files with 74 additions and 52 deletions
+4 -2
View File
@@ -2,6 +2,7 @@ openerp.web.search = function(openerp) {
var QWeb = openerp.web.qweb;
openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.SearchView# */{
template: "EmptyComponent",
/**
* @constructs openerp.web.SearchView
* @extends openerp.web.Widget
@@ -12,8 +13,8 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
* @param view_id
* @param defaults
*/
init: function(parent, element_id, dataset, view_id, defaults) {
this._super(parent, element_id);
init: function(parent, dataset, view_id, defaults) {
this._super(parent);
this.dataset = dataset;
this.model = dataset.model;
this.view_id = view_id;
@@ -28,6 +29,7 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
this.ready = $.Deferred();
},
start: function() {
this._super();
this.rpc("/web/searchview/load", {"model": this.model, "view_id":this.view_id}, this.on_loaded);
return this.ready.promise();
},
+23 -18
View File
@@ -10,20 +10,19 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
* view should be displayed (if there is one active).
*/
searchable: false,
template: "FormView",
form_template: "FormView",
/**
* @constructs openerp.web.FormView
* @extends openerp.web.View
*
* @param {openerp.web.Session} session the current openerp session
* @param {String} element_id this view's root element id
* @param {openerp.web.DataSet} dataset the dataset this view will work with
* @param {String} view_id the identifier of the OpenERP view object
*
* @property {openerp.web.Registry} registry=openerp.web.form.widgets widgets registry for this form view instance
*/
init: function(parent, element_id, dataset, view_id, options) {
this._super(parent, element_id);
init: function(parent, dataset, view_id, options) {
this._super(parent);
this.set_default_options(options);
this.dataset = dataset;
this.model = dataset.model;
@@ -45,6 +44,10 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
_.defaults(this.options, {"always_show_new_button": true});
},
start: function() {
this._super();
return this.init_view();
},
init_view: function() {
if (this.embedded_view) {
var def = $.Deferred().then(this.on_loaded);
var self = this;
@@ -75,7 +78,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
this.fields_view = data;
var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch);
this.$element.html(QWeb.render(this.template, { 'frame': frame, 'view': this }));
this.$element.html(QWeb.render(this.form_template, { 'frame': frame, 'view': this }));
_.each(this.widgets, function(w) {
w.start();
});
@@ -480,11 +483,11 @@ openerp.web.FormDialog = openerp.web.Dialog.extend({
},
start: function() {
this._super();
this.form = new openerp.web.FormView(this, this.element_id, this.dataset, this.view_id, {
this.form = new openerp.web.FormView(this, this.dataset, this.view_id, {
sidebar: false,
pager: false
});
this.form.start();
this.form.appendTo(this.$element);
this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
return this;
@@ -2022,7 +2025,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({
self.on_ui_change();
});
this.list_view = new openerp.web.form.Many2ManyListView(this, this.list_id, this.dataset, false, {
this.list_view = new openerp.web.form.Many2ManyListView(this, this.dataset, false, {
'addable': 'Add',
'selectable': self.multi_selection
});
@@ -2031,7 +2034,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({
self.is_started.resolve();
});
setTimeout(function () {
self.list_view.start();
self.list_view.appendTo($("#" + self.list_id));
}, 0);
},
set_value: function(value) {
@@ -2141,7 +2144,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope
this.searchview.stop();
}
this.searchview = new openerp.web.SearchView(this,
this.element_id + "_search", this.dataset, false, {
this.dataset, false, {
"selectable": !this.options.disable_multiple_selection,
"deletable": false
});
@@ -2170,15 +2173,17 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope
self.stop();
});
self.view_list = new openerp.web.form.SelectCreateListView(self,
self.element_id + "_view_list", self.dataset, false,
self.dataset, false,
{'deletable': false});
self.view_list.popup = self;
self.view_list.do_show();
self.view_list.start().then(function() {
self.view_list.appendTo($("#" + self.element_id + "_view_list")).pipe(function() {
self.view_list.do_show();
}).pipe(function() {
self.searchview.do_search();
});
});
this.searchview.start();
this.searchview.appendTo($("#" + this.element_id + "_search"));
},
create_row: function(data) {
var self = this;
@@ -2205,11 +2210,11 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope
this.view_list.$element.hide();
}
this.dataset.index = null;
this.view_form = new openerp.web.FormView(this, this.element_id + "_view_form", this.dataset, false);
this.view_form = new openerp.web.FormView(this, this.dataset, false);
if (this.options.alternative_form_view) {
this.view_form.set_embedded_view(this.options.alternative_form_view);
}
this.view_form.start();
this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form"));
this.view_form.on_loaded.add_last(function() {
var $buttons = self.view_form.$element.find(".oe_form_buttons");
$buttons.html(QWeb.render("SelectCreatePopup.form.buttons", {widget:self}));
@@ -2314,11 +2319,11 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp
on_write_completed: function() {},
setup_form_view: function() {
var self = this;
this.view_form = new openerp.web.FormView(this, this.element_id + "_view_form", this.dataset, false);
this.view_form = new openerp.web.FormView(this, this.dataset, false);
if (this.options.alternative_form_view) {
this.view_form.set_embedded_view(this.options.alternative_form_view);
}
this.view_form.start();
this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form"));
this.view_form.on_loaded.add_last(function() {
var $buttons = self.view_form.$element.find(".oe_form_buttons");
$buttons.html(QWeb.render("FormOpenPopup.form.buttons"));
+3 -3
View File
@@ -31,7 +31,6 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
* @extends openerp.web.View
*
* @param parent parent object
* @param element_id the id of the DOM elements this view should link itself to
* @param {openerp.web.DataSet} dataset the dataset the view should work with
* @param {String} view_id the listview's identifier, if any
* @param {Object} options A set of options used to configure the view
@@ -42,9 +41,9 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
* @param {Boolean} [options.sortable=true] is it possible to sort the table by clicking on column headers
* @param {Boolean} [options.reorderable=true] is it possible to reorder list rows
*/
init: function(parent, element_id, dataset, view_id, options) {
init: function(parent, dataset, view_id, options) {
var self = this;
this._super(parent, element_id);
this._super(parent);
this.set_default_options(_.extend({}, this.defaults, options || {}));
this.dataset = dataset;
this.model = dataset.model;
@@ -128,6 +127,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
* @returns {$.Deferred} loading promise
*/
start: function() {
this._super();
this.$element.addClass('oe-listview');
return this.reload_view(null, null, true);
},
@@ -180,11 +180,11 @@ openerp.web.list_editable = function (openerp) {
}
self.edition = true;
self.edition_id = record_id;
self.edition_form = _.extend(new openerp.web.FormView(
self, $new_row.attr('id'), self.dataset, false), {
template: 'ListView.row.form',
self.edition_form = _.extend(new openerp.web.ListEditableFormView(self, self.dataset, false), {
form_template: 'ListView.row.form',
registry: openerp.web.list.form.widgets
});
self.edition_form.appendTo($("#" + $new_row.attr('id')));
$.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () {
// put in $.when just in case FormView.on_loaded becomes asynchronous
$new_row.find('td')
@@ -333,4 +333,8 @@ openerp.web.list_editable = function (openerp) {
});
list_form_widgets.add(key, new_path);
});
openerp.web.ListEditableFormView = openerp.web.FormView.extend({
init_view: function() {}
});
};
+2 -3
View File
@@ -19,13 +19,12 @@ openerp.web.TreeView = openerp.web.View.extend(/** @lends openerp.web.TreeView#
* @extends openerp.web.View
*
* @param parent
* @param element_id
* @param dataset
* @param view_id
* @param options
*/
init: function(parent, element_id, dataset, view_id, options) {
this._super(parent, element_id);
init: function(parent, dataset, view_id, options) {
this._super(parent);
this.dataset = dataset;
this.model = dataset.model;
this.view_id = view_id;
+6 -5
View File
@@ -212,8 +212,7 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{
if (!view.controller) {
// Lazy loading of views
var controllerclass = this.registry.get_object(view_type);
var controller = new controllerclass(this, this.element_id + '_view_' + view_type,
this.dataset, view.view_id, view.options);
var controller = new controllerclass(this, this.dataset, view.view_id, view.options);
if (view.embedded_view) {
controller.set_embedded_view(view.embedded_view);
}
@@ -232,7 +231,8 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{
unique: true
});
}
view_promise = controller.start();
var container = $("#" + this.element_id + '_view_' + view_type);
view_promise = controller.appendTo(container);
$.when(view_promise).then(function() {
self.on_controller_inited(view_type, controller);
});
@@ -285,14 +285,14 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{
this.searchview.stop();
}
this.searchview = new db.web.SearchView(
this, this.element_id + "_search", this.dataset,
this, this.dataset,
view_id, search_defaults);
this.searchview.on_search.add(function(domains, contexts, groupbys) {
var controller = self.views[self.active_view].controller;
controller.do_search.call(controller, domains, contexts, groupbys);
});
return this.searchview.start();
return this.searchview.appendTo($("#" + this.element_id + "_search"));
},
/**
* Called when one of the view want to execute an action
@@ -729,6 +729,7 @@ db.web.TranslateDialog = db.web.Dialog.extend({
});
db.web.View = db.web.Widget.extend(/** @lends db.web.View# */{
template: "EmptyComponent",
set_default_options: function(options) {
this.options = options || {};
_.defaults(this.options, {
+3
View File
@@ -1425,4 +1425,7 @@
</t>
</ul>
</t>
<t t-name="EmptyComponent">
<div></div>
</t>
</templates>
@@ -8,8 +8,8 @@ QWeb.add_template('/web_calendar/static/src/xml/web_calendar.xml');
openerp.web.views.add('calendar', 'openerp.web_calendar.CalendarView');
openerp.web_calendar.CalendarView = openerp.web.View.extend({
// Dhtmlx scheduler ?
init: function(parent, element_id, dataset, view_id, options) {
this._super(parent, element_id);
init: function(parent, dataset, view_id, options) {
this._super(parent);
this.set_default_options(options);
this.dataset = dataset;
this.model = dataset.model;
@@ -30,6 +30,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
this.color_map = {};
},
start: function() {
this._super();
this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type":"calendar", 'toolbar': true}, this.on_loaded);
},
stop: function() {
@@ -344,11 +345,11 @@ openerp.web_calendar.CalendarFormDialog = openerp.web.Dialog.extend({
},
start: function() {
this._super();
this.form = new openerp.web.FormView(this, this.element_id, this.dataset, this.view_id, {
this.form = new openerp.web.FormView(this, this.dataset, this.view_id, {
sidebar: false,
pager: false
});
this.form.start();
this.form.appendTo(this.$element);
this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
},
@@ -288,13 +288,14 @@ if (!openerp.web_dashboard) {
}
openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({
template: 'ConfigOverview',
init: function (parent, element_id) {
this._super(parent, element_id);
init: function (parent) {
this._super(parent);
this.dataset = new openerp.web.DataSetSearch(
this, 'ir.actions.todo');
this.dataset.domain = [['type', '=', 'manual']];
},
start: function () {
this._super();
$.when(this.dataset.read_slice(['state', 'action_id', 'category_id']),
this.dataset.call('progress'))
.then(this.on_records_loaded);
@@ -352,6 +353,7 @@ openerp.web.client_actions.add(
openerp.web_dashboard.ApplicationTiles = openerp.web.View.extend({
template: 'ApplicationTiles',
start: function () {
this._super();
var self = this;
return new openerp.web.DataSetSearch(
this, 'ir.ui.menu', null, [['parent_id', '=', false]])
@@ -393,6 +395,7 @@ openerp.web_dashboard.Widget = openerp.web.View.extend(/** @lends openerp.web_da
this.widget_id = options.widget_id;
},
start: function () {
this._super();
return new openerp.web.DataSet(this, 'res.widget').read_ids(
[this.widget_id], ['title'], this.on_widget_loaded);
},
+3 -2
View File
@@ -8,8 +8,8 @@ QWeb.add_template('/web_diagram/static/src/xml/base_diagram.xml');
openerp.web.views.add('diagram', 'openerp.web.DiagramView');
openerp.web.DiagramView = openerp.web.View.extend({
searchable: false,
init: function(parent, element_id, dataset, view_id, options) {
this._super(parent, element_id);
init: function(parent, dataset, view_id, options) {
this._super(parent);
this.set_default_options(options);
this.view_manager = parent;
this.dataset = dataset;
@@ -20,6 +20,7 @@ openerp.web.DiagramView = openerp.web.View.extend({
this.ids = this.dataset.ids;
},
start: function() {
this._super();
return this.rpc("/web_diagram/diagram/load", {"model": this.model, "view_id": this.view_id}, this.on_loaded);
},
+3 -2
View File
@@ -7,8 +7,8 @@ QWeb.add_template('/web_gantt/static/src/xml/web_gantt.xml');
openerp.web.views.add('gantt', 'openerp.web_gantt.GanttView');
openerp.web_gantt.GanttView = openerp.web.View.extend({
init: function(parent, element_id, dataset, view_id) {
this._super(parent, element_id);
init: function(parent, dataset, view_id) {
this._super(parent);
this.view_manager = parent || new openerp.web.NullViewManager();
this.dataset = dataset;
this.model = dataset.model;
@@ -32,6 +32,7 @@ init: function(parent, element_id, dataset, view_id) {
},
start: function() {
this._super();
this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type": "gantt"}, this.on_loaded);
},
+3 -2
View File
@@ -17,8 +17,8 @@ QWeb.add_template('/web_graph/static/src/xml/web_graph.xml');
openerp.web.views.add('graph', 'openerp.web_graph.GraphView');
openerp.web_graph.GraphView = openerp.web.View.extend({
init: function(parent, element_id, dataset, view_id) {
this._super(parent, element_id);
init: function(parent, dataset, view_id) {
this._super(parent);
this.view_manager = parent;
this.dataset = dataset;
this.dataset_index = 0;
@@ -33,6 +33,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
this.$element.hide();
},
start: function() {
this._super();
return this.rpc("/web_graph/graphview/load", {"model": this.model, "view_id": this.view_id}, this.on_loaded);
},
on_loaded: function(data) {
+3 -2
View File
@@ -4,8 +4,8 @@ var QWeb = openerp.web.qweb;
QWeb.add_template('/web_kanban/static/src/xml/web_kanban.xml');
openerp.web.views.add('kanban', 'openerp.web_kanban.KanbanView');
openerp.web_kanban.KanbanView = openerp.web.View.extend({
init: function (parent, element_id, dataset, view_id, options) {
this._super(parent, element_id);
init: function (parent, dataset, view_id, options) {
this._super(parent);
this.set_default_options(options);
this.dataset = dataset;
this.model = dataset.model;
@@ -24,6 +24,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
}
},
start: function() {
this._super();
return this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type": "kanban"}, this.on_loaded);
},
on_loaded: function(data) {
@@ -131,9 +131,9 @@ openerp.web_mobile.Shortcuts = openerp.web.Widget.extend({
id = $shortcut.data('menu');
res_id = $shortcut.data('res');
// this.header = new openerp.web_mobile.Header(this, "oe_header");
this.listview = new openerp.web_mobile.ListView(this, "oe_list", res_id);
this.listview = new openerp.web_mobile.ListView(this, res_id);
// this.header.start();
this.listview.start();
this.listview.appendTo($("#oe_list"));
jQuery("#oe_header").find("h1").html($shortcut.data('name'));
}
});
@@ -252,8 +252,8 @@ openerp.web_mobile.Secondary = openerp.web.Widget.extend({
var $menu = $(ev.currentTarget);
id = $menu.data('menu');
if (id) {
this.listview = new openerp.web_mobile.ListView(this, "oe_list", id);
this.listview.start();
this.listview = new openerp.web_mobile.ListView(this, id);
this.listview.appendTo("#oe_list");
}
jQuery("#oe_header").find("h1").html($menu.data('name'));
}