summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/abstract_view.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/abstract_view.js')
-rw-r--r--addons/web/static/src/js/views/abstract_view.js25
1 files changed, 24 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/abstract_view.js b/addons/web/static/src/js/views/abstract_view.js
index 2a1ba16a33e..58b2c85a670 100644
--- a/addons/web/static/src/js/views/abstract_view.js
+++ b/addons/web/static/src/js/views/abstract_view.js
@@ -67,11 +67,18 @@ var AbstractView = Class.extend({
* @param {string} params.modelName The actual model name
* @param {Object} params.context
* @param {number} [params.count]
+ * @param {string} [params.controllerID]
* @param {string[]} params.domain
* @param {string[]} params.groupBy
* @param {number} [params.currentId]
* @param {number[]} [params.ids]
+ * @param {boolean} [params.withControlPanel]
+ * @param {boolean} [params.action.flags.headless]
+ * @param {string} [params.action.display_name]
+ * @param {string} [params.action.name]
* @param {string} [params.action.help]
+ * @param {string} [params.action.jsID]
+ * @param {boolean} [params.action.views]
*/
init: function (viewInfo, params) {
this.rendererParams = {
@@ -87,7 +94,23 @@ var AbstractView = Class.extend({
delete: viewInfo.arch.attrs.delete ? JSON.parse(viewInfo.arch.attrs.delete) : true,
duplicate: viewInfo.arch.attrs.duplicate ? JSON.parse(viewInfo.arch.attrs.duplicate) : true,
},
+ controllerID: params.controllerID,
};
+ // AAB: these params won't be necessary as soon as the ControlPanel will
+ // be instantiated by the View
+ this.controllerParams.displayName = params.action && (params.action.display_name || params.action.name);
+ this.controllerParams.isMultiRecord = this.multi_record;
+ this.controllerParams.searchable = this.searchable;
+ this.controllerParams.searchView = params.action && params.action.searchView;
+ this.controllerParams.searchViewHidden = this.searchview_hidden; // AAB: use searchable instead where it is used?
+ this.controllerParams.actionViews = params.action ? params.action.views : [];
+ this.controllerParams.viewType = this.viewType;
+ this.controllerParams.withControlPanel = true;
+ if (params.action && params.action.flags) {
+ this.controllerParams.withControlPanel = !params.action.flags.headless;
+ } else if ('withControlPanel' in params) {
+ this.controllerParams.withControlPanel = params.withControlPanel;
+ }
this.loadParams = {
context: params.context,
@@ -133,7 +156,7 @@ var AbstractView = Class.extend({
* load itself, and the renderer needs the data in its constructor.
*
* @param {Widget} parent The parent of the resulting Controller (most
- * likely a view manager)
+ * likely an action manager)
* @returns {Deferred} The deferred resolves to a controller
*/
getController: function (parent) {