|
|
|
@ -1,20 +1,20 @@
|
|
|
|
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
|
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" />
|
|
|
|
|
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
|
|
|
|
|
<title>Dynamic Dropdown Widget</title>
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
:Author: David Goodger (goodger@python.org)
|
|
|
|
|
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
|
|
|
|
|
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
|
|
|
|
:Copyright: This stylesheet has been placed in the public domain.
|
|
|
|
|
|
|
|
|
|
Default cascading style sheet for the HTML output of Docutils.
|
|
|
|
|
Despite the name, some widely supported CSS2 features are used.
|
|
|
|
|
|
|
|
|
|
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
|
|
|
|
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
|
|
|
customize this style sheet.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
@ -275,7 +275,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
|
|
|
margin-left: 2em ;
|
|
|
|
|
margin-right: 2em }
|
|
|
|
|
|
|
|
|
|
pre.code .ln { color: grey; } /* line numbers */
|
|
|
|
|
pre.code .ln { color: gray; } /* line numbers */
|
|
|
|
|
pre.code, code { background-color: #eeeeee }
|
|
|
|
|
pre.code .comment, code .comment { color: #5C6576 }
|
|
|
|
|
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
|
|
@ -301,7 +301,7 @@ span.option {
|
|
|
|
|
span.pre {
|
|
|
|
|
white-space: pre }
|
|
|
|
|
|
|
|
|
|
span.problematic {
|
|
|
|
|
span.problematic, pre.problematic {
|
|
|
|
|
color: red }
|
|
|
|
|
|
|
|
|
|
span.section-subtitle {
|
|
|
|
@ -369,7 +369,7 @@ ul.auto-toc {
|
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
!! source digest: sha256:e2b8eb236b4dc206f3a4ab9b5932f86c2e46c33bdac31c385725384f3fe970e3
|
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
|
|
|
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/16.0/web_widget_dropdown_dynamic"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_widget_dropdown_dynamic"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
|
|
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/web/tree/17.0/web_widget_dropdown_dynamic"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/web-17-0/web-17-0-web_widget_dropdown_dynamic"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
|
|
|
<p>Dynamic dropdown widget that supports resolving options from backend of:</p>
|
|
|
|
|
<blockquote>
|
|
|
|
|
<ul class="simple">
|
|
|
|
@ -378,67 +378,67 @@ ul.auto-toc {
|
|
|
|
|
<li><tt class="docutils literal">fields.Selection</tt></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</blockquote>
|
|
|
|
|
<p><strong>NOTE:</strong> This widget is not intended to <em>extend</em> <tt class="docutils literal">fields.Selection</tt>, but to
|
|
|
|
|
filter selection values. For fully-dynamic set of options, use <tt class="docutils literal">fields.Char</tt>
|
|
|
|
|
instead.</p>
|
|
|
|
|
<p><strong>NOTE:</strong> This widget is not intended to <em>extend</em> <tt class="docutils literal">fields.Selection</tt>,
|
|
|
|
|
but to filter selection values. For fully-dynamic set of options, use
|
|
|
|
|
<tt class="docutils literal">fields.Char</tt> instead.</p>
|
|
|
|
|
<p><strong>Table of contents</strong></p>
|
|
|
|
|
<div class="contents local topic" id="contents">
|
|
|
|
|
<ul class="simple">
|
|
|
|
|
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
|
|
|
|
|
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#other-credits" id="id6">Other credits</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
|
|
|
|
|
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#other-credits" id="toc-entry-6">Other credits</a></li>
|
|
|
|
|
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="usage">
|
|
|
|
|
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
|
|
|
|
|
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
|
|
|
|
|
<pre class="code python literal-block">
|
|
|
|
|
<span class="nd">@api</span><span class="o">.</span><span class="n">model</span>
|
|
|
|
|
<span class="k">def</span> <span class="nf">method_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
|
|
|
<span class="n">values</span> <span class="o">=</span> <span class="p">[</span>
|
|
|
|
|
<span class="p">(</span><span class="s1">'value_a'</span><span class="p">,</span> <span class="s1">'Title A'</span><span class="p">),</span>
|
|
|
|
|
<span class="p">]</span>
|
|
|
|
|
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'depending_on'</span><span class="p">)</span> <span class="o">==</span> <span class="kc">True</span><span class="p">:</span>
|
|
|
|
|
<span class="n">values</span> <span class="o">+=</span> <span class="p">[</span>
|
|
|
|
|
<span class="p">(</span><span class="s1">'value_b'</span><span class="p">,</span> <span class="s1">'Title B'</span><span class="p">),</span>
|
|
|
|
|
<span class="p">]</span>
|
|
|
|
|
<span class="k">return</span> <span class="n">values</span>
|
|
|
|
|
<span class="nd">@api</span><span class="o">.</span><span class="n">model</span><span class="w">
|
|
|
|
|
</span><span class="k">def</span> <span class="nf">method_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span><span class="w">
|
|
|
|
|
</span> <span class="n">values</span> <span class="o">=</span> <span class="p">[</span><span class="w">
|
|
|
|
|
</span> <span class="p">(</span><span class="s1">'value_a'</span><span class="p">,</span> <span class="s1">'Title A'</span><span class="p">),</span><span class="w">
|
|
|
|
|
</span> <span class="p">]</span><span class="w">
|
|
|
|
|
</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'depending_on'</span><span class="p">)</span> <span class="o">==</span> <span class="kc">True</span><span class="p">:</span><span class="w">
|
|
|
|
|
</span> <span class="n">values</span> <span class="o">+=</span> <span class="p">[</span><span class="w">
|
|
|
|
|
</span> <span class="p">(</span><span class="s1">'value_b'</span><span class="p">,</span> <span class="s1">'Title B'</span><span class="p">),</span><span class="w">
|
|
|
|
|
</span> <span class="p">]</span><span class="w">
|
|
|
|
|
</span> <span class="k">return</span> <span class="n">values</span>
|
|
|
|
|
</pre>
|
|
|
|
|
<pre class="code xml literal-block">
|
|
|
|
|
<span class="nt"><field</span>
|
|
|
|
|
<span class="na">name=</span><span class="s">"other_field"</span>
|
|
|
|
|
<span class="nt">/></span>
|
|
|
|
|
<span class="nt"><field</span>
|
|
|
|
|
<span class="na">name=</span><span class="s">"char_field"</span>
|
|
|
|
|
<span class="na">widget=</span><span class="s">"dynamic_dropdown"</span>
|
|
|
|
|
<span class="na">options=</span><span class="s">"{'values':'method_name'}"</span>
|
|
|
|
|
<span class="na">context=</span><span class="s">"{'depending_on': other_field}"</span>
|
|
|
|
|
<span class="nt">/></span>
|
|
|
|
|
<span class="nt"><field</span><span class="w">
|
|
|
|
|
</span><span class="na">name=</span><span class="s">"other_field"</span><span class="w">
|
|
|
|
|
</span><span class="nt">/></span><span class="w">
|
|
|
|
|
</span><span class="nt"><field</span><span class="w">
|
|
|
|
|
</span><span class="na">name=</span><span class="s">"char_field"</span><span class="w">
|
|
|
|
|
</span><span class="na">widget=</span><span class="s">"dynamic_dropdown"</span><span class="w">
|
|
|
|
|
</span><span class="na">options=</span><span class="s">"{'values':'method_name'}"</span><span class="w">
|
|
|
|
|
</span><span class="na">context=</span><span class="s">"{'depending_on': other_field}"</span><span class="w">
|
|
|
|
|
</span><span class="nt">/></span>
|
|
|
|
|
</pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="bug-tracker">
|
|
|
|
|
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
|
|
|
|
|
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
|
|
|
|
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
|
|
|
|
|
In case of trouble, please check there if your issue has already been reported.
|
|
|
|
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
|
|
|
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_widget_dropdown_dynamic%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
|
|
|
|
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_widget_dropdown_dynamic%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
|
|
|
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="credits">
|
|
|
|
|
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
|
|
|
|
|
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
|
|
|
|
|
<div class="section" id="authors">
|
|
|
|
|
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
|
|
|
|
|
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
|
|
|
|
|
<ul class="simple">
|
|
|
|
|
<li>CorporateHub</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="contributors">
|
|
|
|
|
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
|
|
|
|
|
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
|
|
|
|
|
<ul>
|
|
|
|
|
<li><p class="first"><a class="reference external" href="https://corporatehub.eu/">CorporateHub</a></p>
|
|
|
|
|
<ul class="simple">
|
|
|
|
@ -462,17 +462,20 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="other-credits">
|
|
|
|
|
<h2><a class="toc-backref" href="#id6">Other credits</a></h2>
|
|
|
|
|
<p>The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp</p>
|
|
|
|
|
<h2><a class="toc-backref" href="#toc-entry-6">Other credits</a></h2>
|
|
|
|
|
<p>The migration of this module from 15.0 to 16.0 was financially supported
|
|
|
|
|
by Camptocamp</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="maintainers">
|
|
|
|
|
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
|
|
|
|
|
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
|
|
|
|
|
<p>This module is maintained by the OCA.</p>
|
|
|
|
|
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
|
|
|
|
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
|
|
|
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
|
|
|
</a>
|
|
|
|
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
|
|
|
mission is to support the collaborative development of Odoo features and
|
|
|
|
|
promote its widespread use.</p>
|
|
|
|
|
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/16.0/web_widget_dropdown_dynamic">OCA/web</a> project on GitHub.</p>
|
|
|
|
|
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/17.0/web_widget_dropdown_dynamic">OCA/web</a> project on GitHub.</p>
|
|
|
|
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|