From 37d230c10a2e3581f25a0001ed664817327cc629 Mon Sep 17 00:00:00 2001 From: Alexey Pelykh Date: Sun, 12 Apr 2020 08:55:00 +0200 Subject: [PATCH] [IMP] web_widget_dropdown_dynamic: black, isort, prettier --- web_widget_dropdown_dynamic/__manifest__.py | 26 ++- .../static/src/js/basic_model.js | 10 +- .../static/src/js/field_dynamic_dropdown.js | 97 ++++++----- .../web_widget_dropdown_dynamic_tests.js | 152 +++++++++--------- .../templates/assets.xml | 30 +++- 5 files changed, 165 insertions(+), 150 deletions(-) diff --git a/web_widget_dropdown_dynamic/__manifest__.py b/web_widget_dropdown_dynamic/__manifest__.py index 8ede2ec51..8a47e74b2 100644 --- a/web_widget_dropdown_dynamic/__manifest__.py +++ b/web_widget_dropdown_dynamic/__manifest__.py @@ -1,20 +1,14 @@ # Copyright 2019 Brainbean Apps (https://brainbeanapps.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { - 'name': 'Dynamic Dropdown Widget', - 'summary': 'This module adds support for dynamic dropdown widget', - 'category': 'Web', - 'version': '12.0.1.0.0', - 'license': 'AGPL-3', - 'author': - 'Brainbean Apps OU, ' - 'Odoo Community Association (OCA)', - 'website': 'https://github.com/OCA/web/', - 'depends': [ - 'web', - ], - 'data': [ - 'templates/assets.xml', - ], - 'installable': True, + "name": "Dynamic Dropdown Widget", + "summary": "This module adds support for dynamic dropdown widget", + "category": "Web", + "version": "12.0.1.0.0", + "license": "AGPL-3", + "author": "Brainbean Apps OU, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/web/", + "depends": ["web"], + "data": ["templates/assets.xml"], + "installable": True, } diff --git a/web_widget_dropdown_dynamic/static/src/js/basic_model.js b/web_widget_dropdown_dynamic/static/src/js/basic_model.js index a059366ba..dbdfb4f23 100644 --- a/web_widget_dropdown_dynamic/static/src/js/basic_model.js +++ b/web_widget_dropdown_dynamic/static/src/js/basic_model.js @@ -1,11 +1,11 @@ -/* +/* * Copyright 2019 Brainbean Apps (https://brainbeanapps.com) * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). */ -odoo.define('web_widget_dropdown_dynamic.basic_model', function (require) { +odoo.define("web_widget_dropdown_dynamic.basic_model", function(require) { "use strict"; - var BasicModel = require('web.BasicModel'); + var BasicModel = require("web.BasicModel"); BasicModel.include({ /** @@ -20,7 +20,7 @@ odoo.define('web_widget_dropdown_dynamic.basic_model', function (require) { * (for the given parameters), no RPC is done and the promise * is resolved with the undefined value. */ - _fetchDynamicDropdownValues: function (record, fieldName, fieldInfo) { + _fetchDynamicDropdownValues: function(record, fieldName, fieldInfo) { var model = fieldInfo.options.model || record.model; var method = fieldInfo.values || fieldInfo.options.values; if (!method) { @@ -29,7 +29,7 @@ odoo.define('web_widget_dropdown_dynamic.basic_model', function (require) { var context = record.getContext({fieldName: fieldName}); - // avoid rpc if not necessary + // Avoid rpc if not necessary var hasChanged = this._saveSpecialDataCache(record, fieldName, { context: context, }); diff --git a/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js b/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js index 0a9443127..987793ba5 100644 --- a/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js +++ b/web_widget_dropdown_dynamic/static/src/js/field_dynamic_dropdown.js @@ -1,47 +1,47 @@ -/* +/* * Copyright 2019 Brainbean Apps (https://brainbeanapps.com) * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). */ -odoo.define('web_widget_dropdown_dynamic.field_dynamic_dropdown', function (require) { +odoo.define("web_widget_dropdown_dynamic.field_dynamic_dropdown", function(require) { "use strict"; - var core = require('web.core'); - var AbstractField = require('web.AbstractField'); - var field_registry = require('web.field_registry'); + var core = require("web.core"); + var AbstractField = require("web.AbstractField"); + var field_registry = require("web.field_registry"); var _lt = core._lt; var FieldDynamicDropdown = AbstractField.extend({ - description: _lt('Dynamic Dropdown'), - template: 'FieldSelection', - specialData: '_fetchDynamicDropdownValues', - supportedFieldTypes: ['selection', 'char', 'integer'], + description: _lt("Dynamic Dropdown"), + template: "FieldSelection", + specialData: "_fetchDynamicDropdownValues", + supportedFieldTypes: ["selection", "char", "integer"], events: _.extend({}, AbstractField.prototype.events, { - 'change': '_onChange', + change: "_onChange", }), /** * @override */ - init: function () { + init: function() { this._super.apply(this, arguments); this._setValues(); }, - - //-------------------------------------------------------------------------- + + // -------------------------------------------------------------------------- // Public - //-------------------------------------------------------------------------- - + // -------------------------------------------------------------------------- + /** * @override * @returns {jQuery} */ - getFocusableElement: function () { - return this.$el.is('select') ? this.$el : $(); + getFocusableElement: function() { + return this.$el.is("select") ? this.$el : $(); }, /** * @override */ - isSet: function () { + isSet: function() { return this.value !== false; }, /** @@ -50,25 +50,30 @@ odoo.define('web_widget_dropdown_dynamic.field_dynamic_dropdown', function (requ * * @override */ - updateModifiersValue: function () { + updateModifiersValue: function() { this._super.apply(this, arguments); - if (!this.attrs.modifiersValue.invisible && this.mode !== 'readonly') { + if (!this.attrs.modifiersValue.invisible && this.mode !== "readonly") { this._setValues(); this._renderEdit(); } }, - - //-------------------------------------------------------------------------- + + // -------------------------------------------------------------------------- // Private - //-------------------------------------------------------------------------- - + // -------------------------------------------------------------------------- + /** * @override * @private */ - _formatValue: function (value) { - var options = _.extend({}, this.nodeOptions, { data: this.recordData }, this.formatOptions); - var formattedValue = _.find(this.values, function (option) { + _formatValue: function(value) { + var options = _.extend( + {}, + this.nodeOptions, + {data: this.recordData}, + this.formatOptions + ); + var formattedValue = _.find(this.values, function(option) { return option[0] === value; }); if (!formattedValue) { @@ -84,13 +89,15 @@ odoo.define('web_widget_dropdown_dynamic.field_dynamic_dropdown', function (requ * @override * @private */ - _renderEdit: function () { + _renderEdit: function() { this.$el.empty(); - for (var i = 0 ; i < this.values.length ; i++) { - this.$el.append($('