summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorMathieu Duckerts-Antoine <dam@odoo.com>2020-08-11 08:34:42 +0000
committerMathieu Duckerts-Antoine <dam@odoo.com>2020-08-12 08:52:20 +0000
commitae0d79f5c292b92c4f1a7e1c4c8d71168e3a0400 (patch)
tree8a5bdeb70649839144a0ac46bd3ede768bd26b83 /addons/web/static/src/js
parente219aac56ad9687687187ffe099af2d797b6922c (diff)
[IMP] web: sample data in dashboard view
A previous commit has paved the way for displaying sample data in the reporting views. The present commit brings the required changes in community to have sample data in dashboard views. Task ID: 2282196 Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/abstract_renderer.js2
-rw-r--r--addons/web/static/src/js/views/abstract_renderer_owl.js2
-rw-r--r--addons/web/static/src/js/views/abstract_view.js16
-rw-r--r--addons/web/static/src/js/widgets/pie_chart.js1
4 files changed, 16 insertions, 5 deletions
diff --git a/addons/web/static/src/js/views/abstract_renderer.js b/addons/web/static/src/js/views/abstract_renderer.js
index e1ae3fe5370..b1e30ca29bd 100644
--- a/addons/web/static/src/js/views/abstract_renderer.js
+++ b/addons/web/static/src/js/views/abstract_renderer.js
@@ -161,7 +161,7 @@ return mvc.Renderer.extend({
* @see sampleDataTargets
*/
_suppressFocusableElements() {
- if (!this.state.isSample) {
+ if (!this.state.isSample || this.isEmbedded) {
return;
}
const rootEls = [];
diff --git a/addons/web/static/src/js/views/abstract_renderer_owl.js b/addons/web/static/src/js/views/abstract_renderer_owl.js
index 78e0c097854..0c97159e294 100644
--- a/addons/web/static/src/js/views/abstract_renderer_owl.js
+++ b/addons/web/static/src/js/views/abstract_renderer_owl.js
@@ -41,7 +41,7 @@ odoo.define('web.AbstractRendererOwl', function () {
* @see sampleDataTargets
*/
_suppressFocusableElements() {
- if (!this.props.isSample) {
+ if (!this.props.isSample || this.props.isEmbedded) {
const disabledEls = this.el.querySelectorAll(`.o_sample_data_disabled`);
disabledEls.forEach(el => el.classList.remove('o_sample_data_disabled'));
return;
diff --git a/addons/web/static/src/js/views/abstract_view.js b/addons/web/static/src/js/views/abstract_view.js
index 96767858f79..ae572739c4e 100644
--- a/addons/web/static/src/js/views/abstract_view.js
+++ b/addons/web/static/src/js/views/abstract_view.js
@@ -95,6 +95,7 @@ var AbstractView = Factory.extend({
* @param {Array[]} [params.searchQuery.domain=[]]
* @param {string[]} [params.searchQuery.groupBy=[]]
* @param {Object} [params.userContext={}]
+ * @param {boolean} [params.useSampleModel]
* @param {boolean} [params.withControlPanel=AbstractView.prototype.withControlPanel]
* @param {boolean} [params.withSearchPanel=AbstractView.prototype.withSearchPanel]
*/
@@ -159,12 +160,16 @@ var AbstractView = Factory.extend({
res_ids: controllerState.resIds || params.ids || (currentId ? [currentId] : undefined),
};
+ const useSampleModel = 'useSampleModel' in params ?
+ params.useSampleModel :
+ !!(this.arch.attrs.sample && JSON.parse(this.arch.attrs.sample));
+
this.modelParams = {
fields: this.fields,
modelName: params.modelName,
- useSampleModel: !!(this.arch.attrs.sample && JSON.parse(this.arch.attrs.sample))
+ useSampleModel,
};
- if (this.modelParams.useSampleModel) {
+ if (useSampleModel) {
this.modelParams.SampleModel = this.config.Model;
}
@@ -354,13 +359,14 @@ var AbstractView = Factory.extend({
* @param {string} [action.name]
* @param {string} [action.res_model]
* @param {string} [action.target]
+ * @param {boolean} [action.useSampleModel]
* @returns {Object}
*/
_extractParamsFromAction: function (action) {
action = action || {};
var context = action.context || {};
var inline = action.target === 'inline';
- return {
+ const params = {
actionId: action.id || false,
actionViews: action.views || [],
activateDefaultFavorite: !context.active_id && !context.active_ids,
@@ -378,6 +384,10 @@ var AbstractView = Factory.extend({
withSearchBar: inline ? false : this.withSearchBar,
withSearchPanel: this.withSearchPanel,
};
+ if ('useSampleModel' in action) {
+ params.useSampleModel = action.useSampleModel;
+ }
+ return params;
},
/**
* Processes a fieldsView. In particular, parses its arch.
diff --git a/addons/web/static/src/js/widgets/pie_chart.js b/addons/web/static/src/js/widgets/pie_chart.js
index 7cfc3fdacce..f4254ff3501 100644
--- a/addons/web/static/src/js/widgets/pie_chart.js
+++ b/addons/web/static/src/js/widgets/pie_chart.js
@@ -45,6 +45,7 @@ var PieChart = Widget.extend({
withControlPanel: false,
withSearchPanel: false,
isEmbedded: true,
+ useSampleModel: record.isSample,
mode: 'pie',
};
this.subViewParams.searchQuery = {