summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2019-08-16 07:51:22 +0000
committerAaron Bohy <aab@odoo.com>2019-08-23 06:28:34 +0000
commit43ad74798fd971e2c514b67a0f706b8e65165843 (patch)
tree918f37963ba8784f99d6d61c2e18883d9a49e742
parent192a230d8ec408559293221ed61ca68694a12aca (diff)
[REF] web: list renderers: lint code
-rw-r--r--addons/web/static/src/js/views/list/list_editable_renderer.js44
-rw-r--r--addons/web/static/src/js/views/list/list_renderer.js50
2 files changed, 50 insertions, 44 deletions
diff --git a/addons/web/static/src/js/views/list/list_editable_renderer.js b/addons/web/static/src/js/views/list/list_editable_renderer.js
index e4dd682ed51..65f5b433c27 100644
--- a/addons/web/static/src/js/views/list/list_editable_renderer.js
+++ b/addons/web/static/src/js/views/list/list_editable_renderer.js
@@ -217,7 +217,10 @@ ListRenderer.include({
// store the selection range to restore it once the table will
// be re-rendered, and the current cell re-selected
- var currentRowID, currentWidget, focusedElement, selectionRange;
+ var currentRowID;
+ var currentWidget;
+ var focusedElement;
+ var selectionRange;
if (self.currentRow !== null) {
currentRowID = self._getRecordID(self.currentRow);
currentWidget = self.allFieldWidgets[currentRowID][self.currentFieldIndex];
@@ -436,8 +439,14 @@ ListRenderer.include({
}
var recordID = this._getRecordID(this.currentRow);
var recordWidgets = this.allFieldWidgets[recordID];
- toggleWidgets(true);
+ function toggleWidgets(disabled) {
+ _.each(recordWidgets, function (widget) {
+ var $el = widget.getFocusableElement();
+ $el.prop('disabled', disabled);
+ });
+ }
+ toggleWidgets(true);
return new Promise((resolve, reject) => {
this.trigger_up('save_line', {
recordID: recordID,
@@ -452,13 +461,6 @@ ListRenderer.include({
}).guardedCatch(() => {
toggleWidgets(false);
});
-
- function toggleWidgets(disabled) {
- _.each(recordWidgets, function (widget) {
- var $el = widget.getFocusableElement();
- $el.prop('disabled', disabled);
- });
- }
},
/**
* @override
@@ -876,8 +878,8 @@ ListRenderer.include({
var $row = this._super.apply(this, arguments);
if (this.addTrashIcon) {
var $icon = this.isMany2Many ?
- $('<button>', {class: 'fa fa-times', name: 'unlink', 'aria-label': _t('Unlink row ') + (index+1)}) :
- $('<button>', {class: 'fa fa-trash-o', name: 'delete', 'aria-label': _t('Delete row ') + (index+1)});
+ $('<button>', {'class': 'fa fa-times', 'name': 'unlink', 'aria-label': _t('Unlink row ') + (index + 1)}) :
+ $('<button>', {'class': 'fa fa-trash-o', 'name': 'delete', 'aria-label': _t('Delete row ') + (index + 1)});
var $td = $('<td>', {class: 'o_list_record_remove'}).append($icon);
$row.append($td);
}
@@ -1031,15 +1033,6 @@ ListRenderer.include({
//--------------------------------------------------------------------------
/**
- * Unselect the row before adding the optional column to the listview
- *
- * @override
- * @private
- */
- _onToggleOptionalColumnDropdown: function (ev) {
- this.unselectRow().then(this._super.bind(this, ev));
- },
- /**
* This method is called when we click on the 'Add a line' button in a groupby
* list view.
*
@@ -1150,7 +1143,7 @@ ListRenderer.include({
* @param {KeyDownEvent} e
*/
_onKeyDownAddRecord: function (e) {
- switch(e.keyCode) {
+ switch (e.keyCode) {
case $.ui.keyCode.ENTER:
e.stopPropagation();
e.preventDefault();
@@ -1267,6 +1260,15 @@ ListRenderer.include({
}
},
/**
+ * Unselect the row before adding the optional column to the listview
+ *
+ * @override
+ * @private
+ */
+ _onToggleOptionalColumnDropdown: function (ev) {
+ this.unselectRow().then(this._super.bind(this, ev));
+ },
+ /**
* When a click happens outside the list view, or outside a currently
* selected row, we want to unselect it.
*
diff --git a/addons/web/static/src/js/views/list/list_renderer.js b/addons/web/static/src/js/views/list/list_renderer.js
index 5e54b626573..fda8d12f9e4 100644
--- a/addons/web/static/src/js/views/list/list_renderer.js
+++ b/addons/web/static/src/js/views/list/list_renderer.js
@@ -77,7 +77,7 @@ var ListRenderer = BasicRenderer.extend({
*
* @override
*/
- willStart: function() {
+ willStart: function () {
this._processColumns(this.columnInvisibleFields || {});
return this._super.apply(this, arguments);
},
@@ -158,7 +158,12 @@ var ListRenderer = BasicRenderer.extend({
(attrs.max && 'max') || (attrs.min && 'min');
if (func) {
var count = 0;
- var aggregateValue = (func === 'max') ? -Infinity : (func === 'min') ? Infinity : 0;
+ var aggregateValue = 0;
+ if (func === 'max') {
+ aggregateValue = -Infinity;
+ } else if (func === 'min') {
+ aggregateValue = Infinity;
+ }
_.each(data, function (d) {
count += 1;
var value = (d.type === 'record') ? d.data[attrs.name] : d.aggregateValues[attrs.name];
@@ -256,7 +261,7 @@ var ListRenderer = BasicRenderer.extend({
fields: _.map(this.state.fieldsInfo[this.viewType], function (_, fieldName) {
return {name: fieldName, type: self.state.fields[fieldName].type};
}),
- }
+ };
},
/**
* Removes the columns which should be invisible.
@@ -272,7 +277,7 @@ var ListRenderer = BasicRenderer.extend({
var storedOptionalColumns;
this.trigger_up('load_optional_fields', {
keyParts: this._getOptionalColumnsStorageKeyParts(),
- callback: function(res) {
+ callback: function (res) {
storedOptionalColumns = res;
},
});
@@ -296,7 +301,7 @@ var ListRenderer = BasicRenderer.extend({
self.optionalColumns.push(c);
var enabled;
if (storedOptionalColumns === undefined) {
- enabled = c.attrs.optional === 'show'
+ enabled = c.attrs.optional === 'show';
} else {
enabled = _.contains(storedOptionalColumns, c.attrs.name);
}
@@ -591,7 +596,7 @@ var ListRenderer = BasicRenderer.extend({
var $th = $('<th>')
.addClass('o_group_name')
.attr('tabindex', -1)
- .text(name + ' (' + group.count + ')')
+ .text(name + ' (' + group.count + ')');
var $arrow = $('<span>')
.css('padding-left', (groupLevel * 20) + 'px')
.css('padding-right', '5px')
@@ -813,20 +818,20 @@ var ListRenderer = BasicRenderer.extend({
return this.state.data.map(this._renderRow.bind(this));
},
/**
- * Render a single <th> with dropdown menu to display optional columns of view.
- *
- * @private
- * @returns {jQueryElement} a <th> element
- */
+ * Render a single <th> with dropdown menu to display optional columns of view.
+ *
+ * @private
+ * @returns {jQueryElement} a <th> element
+ */
_renderOptionalColumnsDropdown: function () {
var self = this;
var $optionalColumnsDropdown = $('<div>', {
class: 'o_optional_columns text-center dropdown',
});
var $a = $("<a>", {
- class: "dropdown-toggle text-dark o-no-caret",
- href: "#",
- role: "button",
+ 'class': "dropdown-toggle text-dark o-no-caret",
+ 'href': "#",
+ 'role': "button",
'data-toggle': "dropdown",
'aria-expanded': false,
});
@@ -844,7 +849,7 @@ var ListRenderer = BasicRenderer.extend({
name: col.attrs.name,
checked: _.contains(self.optionalColumnsEnabled, col.attrs.name),
}
- })
+ });
$dropdown.append($("<div>", {
class: "dropdown-item",
}).append($checkbox));
@@ -930,7 +935,7 @@ var ListRenderer = BasicRenderer.extend({
}));
if (self.optionalColumns.length) {
- self.$el.addClass('o_list_optional_columns')
+ self.$el.addClass('o_list_optional_columns');
self.$('table').append($('<i class="o_optional_columns_dropdown_toggle fa fa-ellipsis-v"/>'));
self.$el.append(self._renderOptionalColumnsDropdown());
}
@@ -1049,10 +1054,10 @@ var ListRenderer = BasicRenderer.extend({
keyParts: this._getOptionalColumnsStorageKeyParts(),
optionalColumnsEnabled: this.optionalColumnsEnabled,
});
- this._processColumns(this.columnInvisibleFields || {});
- this._renderView().then(function() {
+ this._processColumns(this.columnInvisibleFields || {});
+ this._renderView().then(function () {
self._onToggleOptionalColumnDropdown(ev);
- })
+ });
},
/**
* When the user clicks on the three dots (ellipsis), toggle the optional
@@ -1145,10 +1150,9 @@ var ListRenderer = BasicRenderer.extend({
}
},
/**
- *
- * @param {MouseEvent} ev
+ * @private
*/
- _onMouseDown: function(ev) {
+ _onMouseDown: function () {
$('.o_keyboard_navigation').removeClass('o_keyboard_navigation');
},
/**
@@ -1195,7 +1199,7 @@ var ListRenderer = BasicRenderer.extend({
if (group.count) {
this.trigger_up('toggle_group', {
group: group,
- onSuccess: function() {
+ onSuccess: function () {
// Refocus the header after re-render unless the user
// already focused something else by now
if (document.activeElement.tagName === 'BODY') {