Skip to Content
Menu
This question has been flagged

Here is my js code

odoo.define('two_weeks_calendar.section_backend', function (require) {
// The goal of this file is to contain JS hacks related to allowing
// section on resource calendar.

"use strict";
var FieldOne2Many = require('web.relational_fields').FieldOne2Many;
var fieldRegistry = require('web.field_registry');
var ListRenderer = require('web.ListRenderer');

var SectionListRenderer = ListRenderer.extend({
/**
* We want section to take the whole line (except handle and trash)
* to look better and to hide the unnecessary fields.
*
* @override
*/
_renderBodyCell: function (record, node, index, options) {
var $cell = this._super.apply(this, arguments);

var isSection = record.data.display_type === 'line_section';


if (isSection) {
if (node.attrs.widget === "handle") {
return $cell;
} else if (node.attrs.name === "name") {
var nbrColumns = this._getNumberOfCols();
if (this.handleField) {
nbrColumns--;
}
if (this.addTrashIcon) {
nbrColumns--;
}
$cell.attr('colspan', nbrColumns);
} else {
return $cell.addClass('o_hidden');
}
}

return $cell;

},
/**
* We add the o_is_{display_type} class to allow custom behaviour both in JS and CSS.
*
* @override
*/
_renderRow: function (record, index) {
var $row = this._super.apply(this, arguments);

if (record.data.display_type) {
$row.addClass('o_is_' + record.data.display_type);
}

return $row;
},
/**
* We want to add .o_section_list_view on the table to have stronger CSS.
*
* @override
* @private
*/
_renderView: function () {
var self = this;
return this._super.apply(this, arguments).then(function () {
self.$('.o_list_table').addClass('o_section_list_view');
});
},
});

// We create a custom widget because this is the cleanest way to do it:
// to be sure this custom code will only impact selected fields having the widget
// and not applied to any other existing ListRenderer.
var SectionFieldOne2Many = FieldOne2Many.extend({
/**
* We want to use our custom renderer for the list.
*
* @override
*/
_getRenderer: function () {
if (this.view.arch.tag === 'tree') {
return SectionListRenderer;
}
return this._super.apply(this, arguments);
},
});

fieldRegistry.add('section_one2many', SectionFieldOne2Many);

});

In the start i have introduced section_backend file and i have also inherited the stylesheet in web_backend. Still i am not getting the scss impact on the output. Any thoughts?
Avatar
Discard
Related Posts Replies Views Activity
1
Oct 18
2950
1
May 21
1768
0
Jun 22
876
1
Nov 21
2451
0
Oct 21
1066