mirror of
https://github.com/Hopiu/django-select2.git
synced 2026-04-26 07:54:43 +00:00
Doc updates
This commit is contained in:
parent
ca9ac2fb3e
commit
8ba04e5e4a
13 changed files with 219 additions and 36 deletions
|
|
@ -52,8 +52,8 @@ class AutoViewFieldMixin(object):
|
|||
:param request: The Ajax request object.
|
||||
:type request: :py:class:`django.http.HttpRequest`
|
||||
|
||||
:param args: The ``*args`` passed to :py:meth:`django.views.generic.View.dispatch`.
|
||||
:param kwargs: The ``**kwargs`` passed to :py:meth:`django.views.generic.View.dispatch`.
|
||||
:param args: The ``*args`` passed to :py:meth:`django.views.generic.base.View.dispatch`.
|
||||
:param kwargs: The ``**kwargs`` passed to :py:meth:`django.views.generic.base.View.dispatch`.
|
||||
|
||||
:return: A boolean value, signalling if check passed or failed.
|
||||
:rtype: :py:obj:`bool`
|
||||
|
|
@ -390,7 +390,7 @@ class HeavySelect2FieldBaseMixin(object):
|
|||
Class constructor.
|
||||
|
||||
:param data_view: A :py:class:`~.views.Select2View` sub-class which can respond to this widget's Ajax queries.
|
||||
:type data_view: :py:class:`django.views.generic.View` or None
|
||||
:type data_view: :py:class:`django.views.generic.base.View` or None
|
||||
|
||||
:param widget: A widget instance.
|
||||
:type widget: :py:class:`django.forms.widgets.Widget` or None
|
||||
|
|
|
|||
BIN
docs/_build/doctrees/environment.pickle
vendored
BIN
docs/_build/doctrees/environment.pickle
vendored
Binary file not shown.
BIN
docs/_build/doctrees/ref_fields.doctree
vendored
BIN
docs/_build/doctrees/ref_fields.doctree
vendored
Binary file not shown.
BIN
docs/_build/doctrees/reference.doctree
vendored
BIN
docs/_build/doctrees/reference.doctree
vendored
Binary file not shown.
177
docs/_build/html/_modules/django_select2/fields.html
vendored
177
docs/_build/html/_modules/django_select2/fields.html
vendored
|
|
@ -102,8 +102,8 @@
|
|||
<span class="sd"> :param request: The Ajax request object.</span>
|
||||
<span class="sd"> :type request: :py:class:`django.http.HttpRequest`</span>
|
||||
|
||||
<span class="sd"> :param args: The ``*args`` passed to :py:meth:`django.views.generic.View.dispatch`.</span>
|
||||
<span class="sd"> :param kwargs: The ``**kwargs`` passed to :py:meth:`django.views.generic.View.dispatch`.</span>
|
||||
<span class="sd"> :param args: The ``*args`` passed to :py:meth:`django.views.generic.base.View.dispatch`.</span>
|
||||
<span class="sd"> :param kwargs: The ``**kwargs`` passed to :py:meth:`django.views.generic.base.View.dispatch`.</span>
|
||||
|
||||
<span class="sd"> :return: A boolean value, signalling if check passed or failed.</span>
|
||||
<span class="sd"> :rtype: :py:obj:`bool`</span>
|
||||
|
|
@ -116,10 +116,13 @@
|
|||
<div class="viewcode-block" id="AutoViewFieldMixin.get_results"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.AutoViewFieldMixin.get_results">[docs]</a> <span class="k">def</span> <span class="nf">get_results</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">term</span><span class="p">,</span> <span class="n">page</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
|
||||
<span class="s">"See :py:meth:`.views.Select2View.get_results`."</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span>
|
||||
|
||||
</div></div>
|
||||
<span class="kn">import</span> <span class="nn">copy</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">django</span> <span class="kn">import</span> <span class="n">forms</span>
|
||||
<span class="kn">from</span> <span class="nn">django.core</span> <span class="kn">import</span> <span class="n">validators</span>
|
||||
<span class="kn">from</span> <span class="nn">django.core.exceptions</span> <span class="kn">import</span> <span class="n">ValidationError</span>
|
||||
<span class="kn">from</span> <span class="nn">django.forms.models</span> <span class="kn">import</span> <span class="n">ModelChoiceIterator</span>
|
||||
<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="kn">import</span> <span class="n">Q</span>
|
||||
<span class="kn">from</span> <span class="nn">django.utils.translation</span> <span class="kn">import</span> <span class="n">ugettext_lazy</span> <span class="k">as</span> <span class="n">_</span>
|
||||
|
|
@ -139,6 +142,7 @@
|
|||
<span class="sd"> Drop-in Select2 replacement for :py:class:`forms.ChoiceField`.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">Select2Widget</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="Select2MultipleChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.Select2MultipleChoiceField">[docs]</a><span class="k">class</span> <span class="nc">Select2MultipleChoiceField</span><span class="p">(</span><span class="n">forms</span><span class="o">.</span><span class="n">MultipleChoiceField</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -146,6 +150,7 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">Select2MultipleWidget</span>
|
||||
|
||||
|
||||
<span class="c">### Model fields related mixins ###</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="ModelResultJsonMixin"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.ModelResultJsonMixin">[docs]</a><span class="k">class</span> <span class="nc">ModelResultJsonMixin</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
|
@ -284,6 +289,7 @@
|
|||
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="p">[</span> <span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">to_field_name</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">label_from_instance</span><span class="p">(</span><span class="n">obj</span><span class="p">),</span> <span class="p">)</span> <span class="k">for</span> <span class="n">obj</span> <span class="ow">in</span> <span class="n">res</span> <span class="p">]</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="n">NO_ERR_RESP</span><span class="p">,</span> <span class="n">has_more</span><span class="p">,</span> <span class="n">res</span><span class="p">,</span> <span class="p">)</span>
|
||||
|
||||
</div></div>
|
||||
<div class="viewcode-block" id="UnhideableQuerysetType"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.UnhideableQuerysetType">[docs]</a><span class="k">class</span> <span class="nc">UnhideableQuerysetType</span><span class="p">(</span><span class="nb">type</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -312,6 +318,7 @@
|
|||
<span class="k">if</span> <span class="ow">not</span> <span class="n">queryset</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="s">'_subclass_queryset'</span><span class="p">):</span>
|
||||
<span class="n">kwargs</span><span class="p">[</span><span class="s">'queryset'</span><span class="p">]</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="s">'_subclass_queryset'</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="nb">type</span><span class="o">.</span><span class="n">__call__</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="ChoiceMixin"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.ChoiceMixin">[docs]</a><span class="k">class</span> <span class="nc">ChoiceMixin</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -321,6 +328,7 @@
|
|||
<span class="k">def</span> <span class="nf">_get_choices</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s">'_choices'</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_choices</span>
|
||||
<span class="k">return</span> <span class="p">[]</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_set_choices</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="c"># Setting choices also sets the choices on the widget.</span>
|
||||
|
|
@ -329,6 +337,12 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">_choices</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">widget</span><span class="o">.</span><span class="n">choices</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
|
||||
<span class="n">choices</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">_get_choices</span><span class="p">,</span> <span class="n">_set_choices</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">__deepcopy__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">memo</span><span class="p">):</span>
|
||||
<span class="n">result</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">ChoiceMixin</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__deepcopy__</span><span class="p">(</span><span class="n">memo</span><span class="p">)</span>
|
||||
<span class="n">result</span><span class="o">.</span><span class="n">_choices</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_choices</span><span class="p">,</span> <span class="n">memo</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">result</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="QuerysetChoiceMixin"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.QuerysetChoiceMixin">[docs]</a><span class="k">class</span> <span class="nc">QuerysetChoiceMixin</span><span class="p">(</span><span class="n">ChoiceMixin</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -352,6 +366,7 @@
|
|||
<span class="k">return</span> <span class="n">ModelChoiceIterator</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
|
||||
|
||||
<span class="n">choices</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">_get_choices</span><span class="p">,</span> <span class="n">ChoiceMixin</span><span class="o">.</span><span class="n">_set_choices</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<span class="k">class</span> <span class="nc">ModelChoiceFieldMixin</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
||||
|
|
@ -376,14 +391,17 @@
|
|||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s">'_queryset'</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_queryset</span>
|
||||
|
||||
|
||||
<span class="c">### Slightly altered versions of the Django counterparts with the same name in forms module. ###</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">ModelChoiceField</span><span class="p">(</span><span class="n">ModelChoiceFieldMixin</span><span class="p">,</span> <span class="n">forms</span><span class="o">.</span><span class="n">ModelChoiceField</span><span class="p">):</span>
|
||||
<span class="n">queryset</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">ModelChoiceFieldMixin</span><span class="o">.</span><span class="n">_get_queryset</span><span class="p">,</span> <span class="n">forms</span><span class="o">.</span><span class="n">ModelChoiceField</span><span class="o">.</span><span class="n">_set_queryset</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">ModelMultipleChoiceField</span><span class="p">(</span><span class="n">ModelChoiceFieldMixin</span><span class="p">,</span> <span class="n">forms</span><span class="o">.</span><span class="n">ModelMultipleChoiceField</span><span class="p">):</span>
|
||||
<span class="n">queryset</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">ModelChoiceFieldMixin</span><span class="o">.</span><span class="n">_get_queryset</span><span class="p">,</span> <span class="n">forms</span><span class="o">.</span><span class="n">ModelMultipleChoiceField</span><span class="o">.</span><span class="n">_set_queryset</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="c">### Light Fileds specialized for Models ###</span>
|
||||
|
||||
<div class="viewcode-block" id="ModelSelect2Field"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.ModelSelect2Field">[docs]</a><span class="k">class</span> <span class="nc">ModelSelect2Field</span><span class="p">(</span><span class="n">ModelChoiceField</span><span class="p">)</span> <span class="p">:</span>
|
||||
|
|
@ -393,6 +411,7 @@
|
|||
<span class="sd"> Select2 replacement for :py:class:`forms.ModelChoiceField`.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">Select2Widget</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="ModelSelect2MultipleField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.ModelSelect2MultipleField">[docs]</a><span class="k">class</span> <span class="nc">ModelSelect2MultipleField</span><span class="p">(</span><span class="n">ModelMultipleChoiceField</span><span class="p">)</span> <span class="p">:</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -402,18 +421,26 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">Select2MultipleWidget</span>
|
||||
|
||||
|
||||
<span class="c">### Heavy fields ###</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HeavySelect2FieldBase"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2FieldBase">[docs]</a><span class="k">class</span> <span class="nc">HeavySelect2FieldBase</span><span class="p">(</span><span class="n">ChoiceMixin</span><span class="p">,</span> <span class="n">forms</span><span class="o">.</span><span class="n">Field</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="HeavySelect2FieldBaseMixin"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2FieldBaseMixin">[docs]</a><span class="k">class</span> <span class="nc">HeavySelect2FieldBaseMixin</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Base field for all Heavy fields.</span>
|
||||
<span class="sd"> Base mixin field for all Heavy fields.</span>
|
||||
|
||||
<span class="sd"> .. note:: Although Heavy fields accept ``choices`` parameter like all Django choice fields, but these</span>
|
||||
<span class="sd"> fields are backed by big data sources, so ``choices`` cannot possibly have all the values.</span>
|
||||
|
||||
<span class="sd"> For Heavies, consider ``choices`` to be a subset of all possible choices. It is available because users</span>
|
||||
<span class="sd"> might expect it to be available.</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<div class="viewcode-block" id="HeavySelect2FieldBase.__init__"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2FieldBase.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="HeavySelect2FieldBaseMixin.__init__"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2FieldBaseMixin.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Class constructor.</span>
|
||||
|
||||
<span class="sd"> :param data_view: A :py:class:`~.views.Select2View` sub-class which can respond to this widget's Ajax queries.</span>
|
||||
<span class="sd"> :type data_view: :py:class:`django.views.generic.View` or None</span>
|
||||
<span class="sd"> :type data_view: :py:class:`django.views.generic.base.View` or None</span>
|
||||
|
||||
<span class="sd"> :param widget: A widget instance.</span>
|
||||
<span class="sd"> :type widget: :py:class:`django.forms.widgets.Widget` or None</span>
|
||||
|
|
@ -432,7 +459,7 @@
|
|||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">'data_view is required else you need to provide your own widget instance.'</span><span class="p">)</span>
|
||||
|
||||
<span class="n">kargs</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HeavySelect2FieldBase</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kargs</span><span class="p">)</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HeavySelect2FieldBaseMixin</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kargs</span><span class="p">)</span>
|
||||
|
||||
<span class="c"># By this time self.widget would have been instantiated.</span>
|
||||
|
||||
|
|
@ -447,29 +474,150 @@
|
|||
<span class="k">if</span> <span class="ow">not</span> <span class="n">choices</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s">'choices'</span><span class="p">):</span> <span class="c"># ModelChoiceField will set this to ModelChoiceIterator</span>
|
||||
<span class="n">choices</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">choices</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">choices</span> <span class="o">=</span> <span class="n">choices</span>
|
||||
|
||||
</div></div>
|
||||
<div class="viewcode-block" id="HeavySelect2ChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2ChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavySelect2ChoiceField</span><span class="p">(</span><span class="n">HeavySelect2FieldBase</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="HeavyChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavyChoiceField</span><span class="p">(</span><span class="n">ChoiceMixin</span><span class="p">,</span> <span class="n">forms</span><span class="o">.</span><span class="n">Field</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Reimplements :py:class:`django.forms.TypedChoiceField` in a way which suites the use of big data.</span>
|
||||
|
||||
<span class="sd"> .. note:: Although this field accepts ``choices`` parameter like all Django choice fields, but these</span>
|
||||
<span class="sd"> fields are backed by big data sources, so ``choices`` cannot possibly have all the values. It is meant</span>
|
||||
<span class="sd"> to be a subset of all possible choices.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">default_error_messages</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s">'invalid_choice'</span><span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">u'Select a valid choice. </span><span class="si">%(value)s</span><span class="s"> is not one of the available choices.'</span><span class="p">),</span>
|
||||
<span class="p">}</span>
|
||||
<span class="n">empty_value</span> <span class="o">=</span> <span class="s">u''</span>
|
||||
<span class="s">"Sub-classes can set this other value if needed."</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HeavyChoiceField</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
<span class="c"># Widget should have been instantiated by now.</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">widget</span><span class="o">.</span><span class="n">field</span> <span class="o">=</span> <span class="bp">self</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">to_python</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">empty_value</span> <span class="ow">or</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">validators</span><span class="o">.</span><span class="n">EMPTY_VALUES</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">empty_value</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">coerce_value</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">TypeError</span><span class="p">,</span> <span class="n">ValidationError</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="n">ValidationError</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">error_messages</span><span class="p">[</span><span class="s">'invalid_choice'</span><span class="p">]</span> <span class="o">%</span> <span class="p">{</span><span class="s">'value'</span><span class="p">:</span> <span class="n">value</span><span class="p">})</span>
|
||||
<span class="k">return</span> <span class="n">value</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">validate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HeavyChoiceField</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">validate</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">valid_value</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="n">ValidationError</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">error_messages</span><span class="p">[</span><span class="s">'invalid_choice'</span><span class="p">]</span> <span class="o">%</span> <span class="p">{</span><span class="s">'value'</span><span class="p">:</span> <span class="n">value</span><span class="p">})</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">valid_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="n">uvalue</span> <span class="o">=</span> <span class="n">smart_unicode</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">choices</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">uvalue</span> <span class="o">==</span> <span class="n">smart_unicode</span><span class="p">(</span><span class="n">k</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">validate_value</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
|
||||
<div class="viewcode-block" id="HeavyChoiceField.coerce_value"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyChoiceField.coerce_value">[docs]</a> <span class="k">def</span> <span class="nf">coerce_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Coerces ``value`` to a Python data type.</span>
|
||||
|
||||
<span class="sd"> Sub-classes should override this if they do not want unicode values.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">smart_unicode</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HeavyChoiceField.validate_value"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyChoiceField.validate_value">[docs]</a> <span class="k">def</span> <span class="nf">validate_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Sub-classes can override this to validate the value entered against the big data.</span>
|
||||
|
||||
<span class="sd"> :param value: Value entered by the user.</span>
|
||||
<span class="sd"> :type value: As coerced by :py:meth:`.coerce_value`.</span>
|
||||
|
||||
<span class="sd"> :return: ``True`` means the ``value`` is valid.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
</div>
|
||||
<span class="k">def</span> <span class="nf">_get_val_txt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">coerce_value</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">validate_value</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s">"Exception while trying to get label for value"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="bp">None</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_val_txt</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
|
||||
<div class="viewcode-block" id="HeavyChoiceField.get_val_txt"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyChoiceField.get_val_txt">[docs]</a> <span class="k">def</span> <span class="nf">get_val_txt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> If Heavy widgets encounter any value which it can't find in ``choices`` then it calls</span>
|
||||
<span class="sd"> this method to get the label for the value.</span>
|
||||
|
||||
<span class="sd"> :param value: Value entered by the user.</span>
|
||||
<span class="sd"> :type value: As coerced by :py:meth:`.coerce_value`.</span>
|
||||
|
||||
<span class="sd"> :return: The label for this value.</span>
|
||||
<span class="sd"> :rtype: :py:obj:`unicode` or None (when no possible label could be found)</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="bp">None</span>
|
||||
</div></div>
|
||||
<div class="viewcode-block" id="HeavyMultipleChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyMultipleChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavyMultipleChoiceField</span><span class="p">(</span><span class="n">HeavyChoiceField</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Reimplements :py:class:`django.forms.TypedMultipleChoiceField` in a way which suites the use of big data.</span>
|
||||
|
||||
<span class="sd"> .. note:: Although this field accepts ``choices`` parameter like all Django choice fields, but these</span>
|
||||
<span class="sd"> fields are backed by big data sources, so ``choices`` cannot possibly have all the values. It is meant</span>
|
||||
<span class="sd"> to be a subset of all possible choices.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">hidden_widget</span> <span class="o">=</span> <span class="n">forms</span><span class="o">.</span><span class="n">MultipleHiddenInput</span>
|
||||
<span class="n">default_error_messages</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s">'invalid_choice'</span><span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">u'Select a valid choice. </span><span class="si">%(value)s</span><span class="s"> is not one of the available choices.'</span><span class="p">),</span>
|
||||
<span class="s">'invalid_list'</span><span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">u'Enter a list of values.'</span><span class="p">),</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">to_python</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">value</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">[]</span>
|
||||
<span class="k">elif</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span>
|
||||
<span class="k">raise</span> <span class="n">ValidationError</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">error_messages</span><span class="p">[</span><span class="s">'invalid_list'</span><span class="p">])</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">coerce_value</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">value</span><span class="p">]</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">validate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">required</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">value</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">ValidationError</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">error_messages</span><span class="p">[</span><span class="s">'required'</span><span class="p">])</span>
|
||||
<span class="c"># Validate that each value in the value list is in self.choices or</span>
|
||||
<span class="c"># the big data (i.e. validate_value() returns True).</span>
|
||||
<span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">value</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">valid_value</span><span class="p">(</span><span class="n">val</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="n">ValidationError</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">error_messages</span><span class="p">[</span><span class="s">'invalid_choice'</span><span class="p">]</span> <span class="o">%</span> <span class="p">{</span><span class="s">'value'</span><span class="p">:</span> <span class="n">val</span><span class="p">})</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="HeavySelect2ChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2ChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavySelect2ChoiceField</span><span class="p">(</span><span class="n">HeavySelect2FieldBaseMixin</span><span class="p">,</span> <span class="n">HeavyChoiceField</span><span class="p">):</span>
|
||||
<span class="s">"Heavy Select2 Choice field."</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">HeavySelect2Widget</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="HeavySelect2MultipleChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2MultipleChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavySelect2MultipleChoiceField</span><span class="p">(</span><span class="n">HeavySelect2FieldBase</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="HeavySelect2MultipleChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavySelect2MultipleChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavySelect2MultipleChoiceField</span><span class="p">(</span><span class="n">HeavySelect2FieldBaseMixin</span><span class="p">,</span> <span class="n">HeavyMultipleChoiceField</span><span class="p">):</span>
|
||||
<span class="s">"Heavy Select2 Multiple Choice field."</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">HeavySelect2MultipleWidget</span>
|
||||
|
||||
|
||||
<span class="c">### Heavy field specialized for Models ###</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HeavyModelSelect2ChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyModelSelect2ChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavyModelSelect2ChoiceField</span><span class="p">(</span><span class="n">QuerysetChoiceMixin</span><span class="p">,</span> <span class="n">HeavySelect2ChoiceField</span><span class="p">,</span> <span class="n">ModelChoiceField</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="HeavyModelSelect2ChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyModelSelect2ChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavyModelSelect2ChoiceField</span><span class="p">(</span><span class="n">HeavySelect2FieldBaseMixin</span><span class="p">,</span> <span class="n">ModelChoiceField</span><span class="p">):</span>
|
||||
<span class="s">"Heavy Select2 Choice field, specialized for Models."</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">HeavySelect2Widget</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">'choices'</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HeavyModelSelect2ChoiceField</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="HeavyModelSelect2MultipleChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyModelSelect2MultipleChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavyModelSelect2MultipleChoiceField</span><span class="p">(</span><span class="n">QuerysetChoiceMixin</span><span class="p">,</span> <span class="n">HeavySelect2MultipleChoiceField</span><span class="p">,</span> <span class="n">ModelMultipleChoiceField</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="HeavyModelSelect2MultipleChoiceField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.HeavyModelSelect2MultipleChoiceField">[docs]</a><span class="k">class</span> <span class="nc">HeavyModelSelect2MultipleChoiceField</span><span class="p">(</span><span class="n">HeavySelect2FieldBaseMixin</span><span class="p">,</span> <span class="n">ModelMultipleChoiceField</span><span class="p">):</span>
|
||||
<span class="s">"Heavy Select2 Multiple Choice field, specialized for Models."</span>
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">HeavySelect2MultipleWidget</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">'choices'</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HeavyModelSelect2MultipleChoiceField</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="c">### Heavy general field that uses central AutoView ###</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="AutoSelect2Field"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.AutoSelect2Field">[docs]</a><span class="k">class</span> <span class="nc">AutoSelect2Field</span><span class="p">(</span><span class="n">AutoViewFieldMixin</span><span class="p">,</span> <span class="n">HeavySelect2ChoiceField</span><span class="p">):</span>
|
||||
|
|
@ -478,6 +626,8 @@
|
|||
|
||||
<span class="sd"> This needs to be subclassed. The first instance of a class (sub-class) is used to serve all incoming</span>
|
||||
<span class="sd"> json query requests for that type (class).</span>
|
||||
|
||||
<span class="sd"> .. warning:: :py:exc:`NotImplementedError` would be thrown if :py:meth:`get_results` is not implemented.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">AutoHeavySelect2Widget</span>
|
||||
|
|
@ -486,6 +636,7 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">data_view</span> <span class="o">=</span> <span class="s">"django_select2_central_json"</span>
|
||||
<span class="n">kwargs</span><span class="p">[</span><span class="s">'data_view'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">data_view</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">AutoSelect2Field</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="AutoSelect2MultipleField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.AutoSelect2MultipleField">[docs]</a><span class="k">class</span> <span class="nc">AutoSelect2MultipleField</span><span class="p">(</span><span class="n">AutoViewFieldMixin</span><span class="p">,</span> <span class="n">HeavySelect2MultipleChoiceField</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -493,6 +644,8 @@
|
|||
|
||||
<span class="sd"> This needs to be subclassed. The first instance of a class (sub-class) is used to serve all incoming</span>
|
||||
<span class="sd"> json query requests for that type (class).</span>
|
||||
|
||||
<span class="sd"> .. warning:: :py:exc:`NotImplementedError` would be thrown if :py:meth:`get_results` is not implemented.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">widget</span> <span class="o">=</span> <span class="n">AutoHeavySelect2MultipleWidget</span>
|
||||
|
|
@ -502,6 +655,7 @@
|
|||
<span class="n">kwargs</span><span class="p">[</span><span class="s">'data_view'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">data_view</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">AutoSelect2MultipleField</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="c">### Heavy field, specialized for Model, that uses central AutoView ###</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="AutoModelSelect2Field"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.AutoModelSelect2Field">[docs]</a><span class="k">class</span> <span class="nc">AutoModelSelect2Field</span><span class="p">(</span><span class="n">ModelResultJsonMixin</span><span class="p">,</span> <span class="n">AutoViewFieldMixin</span><span class="p">,</span> <span class="n">HeavyModelSelect2ChoiceField</span><span class="p">):</span>
|
||||
|
|
@ -520,6 +674,7 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">data_view</span> <span class="o">=</span> <span class="s">"django_select2_central_json"</span>
|
||||
<span class="n">kwargs</span><span class="p">[</span><span class="s">'data_view'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">data_view</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">AutoModelSelect2Field</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="AutoModelSelect2MultipleField"><a class="viewcode-back" href="../../ref_fields.html#django_select2.fields.AutoModelSelect2MultipleField">[docs]</a><span class="k">class</span> <span class="nc">AutoModelSelect2MultipleField</span><span class="p">(</span><span class="n">ModelResultJsonMixin</span><span class="p">,</span> <span class="n">AutoViewFieldMixin</span><span class="p">,</span> <span class="n">HeavyModelSelect2MultipleChoiceField</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<span class="sd"> so it must not be quoted by :py:func:`.convert_py_to_js_data` while rendering the JS code.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">pass</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="JSFunction"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.JSFunction">[docs]</a><span class="k">class</span> <span class="nc">JSFunction</span><span class="p">(</span><span class="n">JSVar</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -76,6 +77,7 @@
|
|||
<span class="sd"> understand.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">pass</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="JSFunctionInContext"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.JSFunctionInContext">[docs]</a><span class="k">class</span> <span class="nc">JSFunctionInContext</span><span class="p">(</span><span class="n">JSVar</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -88,6 +90,7 @@
|
|||
<span class="sd"> .. tip:: JS functions of this type are warapped inside special another JS function -- ``django_select2.runInContextHelper``.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">pass</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="render_js_script"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.render_js_script">[docs]</a><span class="k">def</span> <span class="nf">render_js_script</span><span class="p">(</span><span class="n">inner_code</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -107,6 +110,7 @@
|
|||
<span class="s"> </span><span class="si">%s</span><span class="s"></span>
|
||||
<span class="s"> });</span>
|
||||
<span class="s"> </script>"""</span> <span class="o">%</span> <span class="n">inner_code</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="extract_some_key_val"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.extract_some_key_val">[docs]</a><span class="k">def</span> <span class="nf">extract_some_key_val</span><span class="p">(</span><span class="n">dct</span><span class="p">,</span> <span class="n">keys</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -126,6 +130,7 @@
|
|||
<span class="k">if</span> <span class="n">v</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="n">edct</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
|
||||
<span class="k">return</span> <span class="n">edct</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="convert_py_to_js_data"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.convert_py_to_js_data">[docs]</a><span class="k">def</span> <span class="nf">convert_py_to_js_data</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="n">id_</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -159,6 +164,7 @@
|
|||
<span class="k">return</span> <span class="n">convert_to_js_arr</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="n">id_</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="s">u"'</span><span class="si">%s</span><span class="s">'"</span> <span class="o">%</span> <span class="n">force_unicode</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="convert_dict_to_js_map"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.convert_dict_to_js_map">[docs]</a><span class="k">def</span> <span class="nf">convert_dict_to_js_map</span><span class="p">(</span><span class="n">dct</span><span class="p">,</span> <span class="n">id_</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -185,6 +191,7 @@
|
|||
<span class="n">out</span> <span class="o">+=</span> <span class="n">convert_py_to_js_data</span><span class="p">(</span><span class="n">dct</span><span class="p">[</span><span class="n">name</span><span class="p">],</span> <span class="n">id_</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">out</span> <span class="o">+</span> <span class="s">u'}'</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="convert_to_js_arr"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.convert_to_js_arr">[docs]</a><span class="k">def</span> <span class="nf">convert_to_js_arr</span><span class="p">(</span><span class="n">lst</span><span class="p">,</span> <span class="n">id_</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -210,6 +217,7 @@
|
|||
<span class="n">out</span> <span class="o">+=</span> <span class="n">convert_py_to_js_data</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="n">id_</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">out</span> <span class="o">+</span> <span class="s">u']'</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="convert_to_js_string_arr"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.convert_to_js_string_arr">[docs]</a><span class="k">def</span> <span class="nf">convert_to_js_string_arr</span><span class="p">(</span><span class="n">lst</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
@ -223,12 +231,14 @@
|
|||
<span class="n">lst</span> <span class="o">=</span> <span class="p">[</span><span class="s">u'"</span><span class="si">%s</span><span class="s">"'</span> <span class="o">%</span> <span class="n">force_unicode</span><span class="p">(</span><span class="n">l</span><span class="p">)</span> <span class="k">for</span> <span class="n">l</span> <span class="ow">in</span> <span class="n">lst</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="s">u"[</span><span class="si">%s</span><span class="s">]"</span> <span class="o">%</span> <span class="p">(</span><span class="s">","</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">lst</span><span class="p">))</span>
|
||||
|
||||
|
||||
<span class="c">### Auto view helper utils ###</span>
|
||||
</div>
|
||||
<span class="kn">import</span> <span class="nn">re</span>
|
||||
<span class="kn">import</span> <span class="nn">threading</span>
|
||||
<span class="kn">import</span> <span class="nn">datetime</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="synchronized"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.synchronized">[docs]</a><span class="k">def</span> <span class="nf">synchronized</span><span class="p">(</span><span class="n">f</span><span class="p">):</span>
|
||||
<span class="s">"Decorator to synchronize multiple calls to a functions."</span>
|
||||
<span class="n">f</span><span class="o">.</span><span class="n">__lock__</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Lock</span><span class="p">()</span>
|
||||
|
|
@ -244,6 +254,7 @@
|
|||
<span class="n">__id_store</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># Generated Id to field instance mapping.</span>
|
||||
<span class="n">__field_store</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># Field's key to generated Id mapping.</span>
|
||||
|
||||
|
||||
<span class="n">ID_PATTERN</span> <span class="o">=</span> <span class="s">r"[0-9_a-zA-Z.:+\- ]+"</span>
|
||||
|
||||
<div class="viewcode-block" id="is_valid_id"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.is_valid_id">[docs]</a><span class="k">def</span> <span class="nf">is_valid_id</span><span class="p">(</span><span class="n">val</span><span class="p">):</span>
|
||||
|
|
@ -260,6 +271,7 @@
|
|||
<span class="k">return</span> <span class="bp">False</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
|
||||
</div>
|
||||
<span class="nd">@synchronized</span>
|
||||
<div class="viewcode-block" id="register_field"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.register_field">[docs]</a><span class="k">def</span> <span class="nf">register_field</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">field</span><span class="p">):</span>
|
||||
|
|
@ -296,6 +308,7 @@
|
|||
<span class="k">if</span> <span class="n">logger</span><span class="o">.</span><span class="n">isEnabledFor</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">):</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">"Field already registered: </span><span class="si">%s</span><span class="s">; With actual id: </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">id_</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">id_</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_field"><a class="viewcode-back" href="../../ref_util.html#django_select2.util.get_field">[docs]</a><span class="k">def</span> <span class="nf">get_field</span><span class="p">(</span><span class="n">id_</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
|
|
|
|||
|
|
@ -66,6 +66,14 @@
|
|||
|
||||
<span class="n">logger</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">get_select2_js_path</span><span class="p">():</span>
|
||||
<span class="kn">from</span> <span class="nn">django.conf</span> <span class="kn">import</span> <span class="n">settings</span>
|
||||
<span class="k">if</span> <span class="n">settings</span><span class="o">.</span><span class="n">configured</span> <span class="ow">and</span> <span class="n">settings</span><span class="o">.</span><span class="n">DEBUG</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="s">'js/select2.js'</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="s">'js/select2.min.js'</span>
|
||||
|
||||
|
||||
<span class="c">### Light mixin and widgets ###</span>
|
||||
|
||||
<div class="viewcode-block" id="Select2Mixin"><a class="viewcode-back" href="../../ref_widgets.html#django_select2.widgets.Select2Mixin">[docs]</a><span class="k">class</span> <span class="nc">Select2Mixin</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
|
@ -236,7 +244,7 @@
|
|||
<span class="k">return</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
|
||||
</div>
|
||||
<span class="k">class</span> <span class="nc">Media</span><span class="p">:</span>
|
||||
<span class="n">js</span> <span class="o">=</span> <span class="p">(</span><span class="s">'js/select2.min.js'</span><span class="p">,</span> <span class="p">)</span>
|
||||
<span class="n">js</span> <span class="o">=</span> <span class="p">(</span><span class="n">get_select2_js_path</span><span class="p">(),</span> <span class="p">)</span>
|
||||
<span class="n">css</span> <span class="o">=</span> <span class="p">{</span><span class="s">'screen'</span><span class="p">:</span> <span class="p">(</span><span class="s">'css/select2.css'</span><span class="p">,</span> <span class="s">'css/extra.css'</span><span class="p">,</span> <span class="p">)}</span>
|
||||
|
||||
</div>
|
||||
|
|
@ -372,6 +380,7 @@
|
|||
<span class="sd"> ``heavy_data.js`` stores the selected values and their labels in the cookies. These are cleared</span>
|
||||
<span class="sd"> when browser is closed.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">field</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span> <span class="c"># Making an instance specific copy</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">view</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">'data_view'</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">url</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">'data_url'</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
|
||||
|
|
@ -410,7 +419,13 @@
|
|||
<span class="k">for</span> <span class="n">val</span><span class="p">,</span> <span class="n">txt</span> <span class="ow">in</span> <span class="n">chain</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">choices</span><span class="p">,</span> <span class="n">all_choices</span><span class="p">):</span>
|
||||
<span class="n">val</span> <span class="o">=</span> <span class="n">force_unicode</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">selected_choices</span><span class="p">:</span>
|
||||
<span class="n">selected_choices</span> <span class="o">=</span> <span class="p">[</span><span class="n">v</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">selected_choices</span> <span class="k">if</span> <span class="n">v</span> <span class="o">!=</span> <span class="n">val</span><span class="p">]</span>
|
||||
<span class="n">txts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">txt</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">field</span><span class="p">,</span> <span class="s">'_get_val_txt'</span><span class="p">)</span> <span class="ow">and</span> <span class="n">selected_choices</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">selected_choices</span><span class="p">:</span>
|
||||
<span class="n">txt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">field</span><span class="o">.</span><span class="n">_get_val_txt</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">txt</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="n">txts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">txt</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">txts</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">convert_to_js_string_arr</span><span class="p">(</span><span class="n">txts</span><span class="p">)</span>
|
||||
</div>
|
||||
|
|
@ -455,7 +470,7 @@
|
|||
<span class="k">return</span> <span class="n">js</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">Media</span><span class="p">:</span>
|
||||
<span class="n">js</span> <span class="o">=</span> <span class="p">(</span><span class="s">'js/select2.min.js'</span><span class="p">,</span> <span class="s">'js/heavy_data.js'</span><span class="p">,</span> <span class="p">)</span>
|
||||
<span class="n">js</span> <span class="o">=</span> <span class="p">(</span><span class="n">get_select2_js_path</span><span class="p">(),</span> <span class="s">'js/heavy_data.js'</span><span class="p">,</span> <span class="p">)</span>
|
||||
<span class="n">css</span> <span class="o">=</span> <span class="p">{</span><span class="s">'screen'</span><span class="p">:</span> <span class="p">(</span><span class="s">'css/select2.css'</span><span class="p">,</span> <span class="s">'css/extra.css'</span><span class="p">,</span> <span class="p">)}</span>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
BIN
docs/_build/html/objects.inv
vendored
BIN
docs/_build/html/objects.inv
vendored
Binary file not shown.
28
docs/_build/html/ref_fields.html
vendored
28
docs/_build/html/ref_fields.html
vendored
|
|
@ -104,9 +104,9 @@ provide a unique key which has never occured before.</p>
|
|||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
||||
<li><strong>request</strong> (<a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.http.HttpRequest</span></tt></a>) – The Ajax request object.</li>
|
||||
<li><strong>args</strong> – The <tt class="docutils literal"><span class="pre">*args</span></tt> passed to <tt class="xref py py-meth docutils literal"><span class="pre">django.views.generic.View.dispatch()</span></tt>.</li>
|
||||
<li><strong>kwargs</strong> – The <tt class="docutils literal"><span class="pre">**kwargs</span></tt> passed to <tt class="xref py py-meth docutils literal"><span class="pre">django.views.generic.View.dispatch()</span></tt>.</li>
|
||||
<li><strong>request</strong> (<a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/request-response/#django.http.HttpRequest" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.http.HttpRequest</span></tt></a>) – The Ajax request object.</li>
|
||||
<li><strong>args</strong> – The <tt class="docutils literal"><span class="pre">*args</span></tt> passed to <a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/class-based-views/#django.views.generic.base.View.dispatch" title="(in Django v1.4.1)"><tt class="xref py py-meth docutils literal"><span class="pre">django.views.generic.base.View.dispatch()</span></tt></a>.</li>
|
||||
<li><strong>kwargs</strong> – The <tt class="docutils literal"><span class="pre">**kwargs</span></tt> passed to <a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/class-based-views/#django.views.generic.base.View.dispatch" title="(in Django v1.4.1)"><tt class="xref py py-meth docutils literal"><span class="pre">django.views.generic.base.View.dispatch()</span></tt></a>.</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -177,7 +177,7 @@ which it then passes to <tt class="docutils literal"><span class="pre">self.quer
|
|||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
||||
<li><strong>queryset</strong> (<a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.db.models.query.QuerySet</span></tt></a> or None) – This can be passed as kwarg here or defined as field variabel,
|
||||
<li><strong>queryset</strong> (<a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/models/querysets/#django.db.models.query.QuerySet" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.db.models.query.QuerySet</span></tt></a> or None) – This can be passed as kwarg here or defined as field variabel,
|
||||
like <tt class="docutils literal"><span class="pre">search_fields</span></tt>.</li>
|
||||
<li><strong>max_results</strong> (<a class="reference external" href="http://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><tt class="xref py py-obj docutils literal"><span class="pre">int</span></tt></a>) – Maximum number to results to return per Ajax query.</li>
|
||||
<li><strong>to_field_name</strong> (<a class="reference external" href="http://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><tt class="xref py py-obj docutils literal"><span class="pre">str</span></tt></a>) – Which field’s value should be returned as result tuple’s
|
||||
|
|
@ -336,7 +336,7 @@ instead.</p>
|
|||
|
||||
<dl class="class">
|
||||
<dt id="django_select2.fields.HeavySelect2FieldBaseMixin">
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.fields.</tt><tt class="descname">HeavySelect2FieldBaseMixin</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavySelect2FieldBaseMixin" title="Permalink to this definition">¶</a></dt>
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.fields.</tt><tt class="descname">HeavySelect2FieldBaseMixin</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavySelect2FieldBaseMixin"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavySelect2FieldBaseMixin" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
|
||||
<p>Base mixin field for all Heavy fields.</p>
|
||||
<div class="admonition note">
|
||||
|
|
@ -348,14 +348,14 @@ might expect it to be available.</p>
|
|||
</div>
|
||||
<dl class="method">
|
||||
<dt id="django_select2.fields.HeavySelect2FieldBaseMixin.__init__">
|
||||
<tt class="descname">__init__</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavySelect2FieldBaseMixin.__init__" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descname">__init__</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavySelect2FieldBaseMixin.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavySelect2FieldBaseMixin.__init__" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Class constructor.</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
||||
<li><strong>data_view</strong> (<tt class="xref py py-class docutils literal"><span class="pre">django.views.generic.View</span></tt> or None) – A <a class="reference internal" href="ref_views.html#django_select2.views.Select2View" title="django_select2.views.Select2View"><tt class="xref py py-class docutils literal"><span class="pre">Select2View</span></tt></a> sub-class which can respond to this widget’s Ajax queries.</li>
|
||||
<li><strong>data_view</strong> (<a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/class-based-views/#django.views.generic.base.View" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.views.generic.base.View</span></tt></a> or None) – A <a class="reference internal" href="ref_views.html#django_select2.views.Select2View" title="django_select2.views.Select2View"><tt class="xref py py-class docutils literal"><span class="pre">Select2View</span></tt></a> sub-class which can respond to this widget’s Ajax queries.</li>
|
||||
<li><strong>widget</strong> (<tt class="xref py py-class docutils literal"><span class="pre">django.forms.widgets.Widget</span></tt> or None) – A widget instance.</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -373,9 +373,9 @@ be raised.</p>
|
|||
|
||||
<dl class="class">
|
||||
<dt id="django_select2.fields.HeavyChoiceField">
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.fields.</tt><tt class="descname">HeavyChoiceField</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavyChoiceField" title="Permalink to this definition">¶</a></dt>
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.fields.</tt><tt class="descname">HeavyChoiceField</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavyChoiceField"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavyChoiceField" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#django_select2.fields.ChoiceMixin" title="django_select2.fields.ChoiceMixin"><tt class="xref py py-class docutils literal"><span class="pre">django_select2.fields.ChoiceMixin</span></tt></a>, <tt class="xref py py-class docutils literal"><span class="pre">django.forms.fields.Field</span></tt></p>
|
||||
<p>Reimplements <a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/forms/fields/#django.forms.TypedChoiceField" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.forms.TypedChoiceField</span></tt></a> in a way which suites the use of big data.</p>
|
||||
<p>Reimplements <a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/forms/fields/#django.forms.TypedChoiceField" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.forms.TypedChoiceField</span></tt></a> in a way which suites the use of big data.</p>
|
||||
<div class="admonition note">
|
||||
<p class="first admonition-title">Note</p>
|
||||
<p class="last">Although this field accepts <tt class="docutils literal"><span class="pre">choices</span></tt> parameter like all Django choice fields, but these
|
||||
|
|
@ -390,14 +390,14 @@ to be a subset of all possible choices.</p>
|
|||
|
||||
<dl class="method">
|
||||
<dt id="django_select2.fields.HeavyChoiceField.coerce_value">
|
||||
<tt class="descname">coerce_value</tt><big>(</big><em>value</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavyChoiceField.coerce_value" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descname">coerce_value</tt><big>(</big><em>value</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavyChoiceField.coerce_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavyChoiceField.coerce_value" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Coerces <tt class="docutils literal"><span class="pre">value</span></tt> to a Python data type.</p>
|
||||
<p>Sub-classes should override this if they do not want unicode values.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="django_select2.fields.HeavyChoiceField.validate_value">
|
||||
<tt class="descname">validate_value</tt><big>(</big><em>value</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavyChoiceField.validate_value" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descname">validate_value</tt><big>(</big><em>value</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavyChoiceField.validate_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavyChoiceField.validate_value" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Sub-classes can override this to validate the value entered against the big data.</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
|
|
@ -413,7 +413,7 @@ to be a subset of all possible choices.</p>
|
|||
|
||||
<dl class="method">
|
||||
<dt id="django_select2.fields.HeavyChoiceField.get_val_txt">
|
||||
<tt class="descname">get_val_txt</tt><big>(</big><em>value</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavyChoiceField.get_val_txt" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descname">get_val_txt</tt><big>(</big><em>value</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavyChoiceField.get_val_txt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavyChoiceField.get_val_txt" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>If Heavy widgets encounter any value which it can’t find in <tt class="docutils literal"><span class="pre">choices</span></tt> then it calls
|
||||
this method to get the label for the value.</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
|
|
@ -434,9 +434,9 @@ this method to get the label for the value.</p>
|
|||
|
||||
<dl class="class">
|
||||
<dt id="django_select2.fields.HeavyMultipleChoiceField">
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.fields.</tt><tt class="descname">HeavyMultipleChoiceField</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#django_select2.fields.HeavyMultipleChoiceField" title="Permalink to this definition">¶</a></dt>
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.fields.</tt><tt class="descname">HeavyMultipleChoiceField</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="_modules/django_select2/fields.html#HeavyMultipleChoiceField"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.fields.HeavyMultipleChoiceField" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#django_select2.fields.HeavyChoiceField" title="django_select2.fields.HeavyChoiceField"><tt class="xref py py-class docutils literal"><span class="pre">django_select2.fields.HeavyChoiceField</span></tt></a></p>
|
||||
<p>Reimplements <a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/forms/fields/#django.forms.TypedMultipleChoiceField" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.forms.TypedMultipleChoiceField</span></tt></a> in a way which suites the use of big data.</p>
|
||||
<p>Reimplements <a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/forms/fields/#django.forms.TypedMultipleChoiceField" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.forms.TypedMultipleChoiceField</span></tt></a> in a way which suites the use of big data.</p>
|
||||
<div class="admonition note">
|
||||
<p class="first admonition-title">Note</p>
|
||||
<p class="last">Although this field accepts <tt class="docutils literal"><span class="pre">choices</span></tt> parameter like all Django choice fields, but these
|
||||
|
|
|
|||
6
docs/_build/html/ref_views.html
vendored
6
docs/_build/html/ref_views.html
vendored
|
|
@ -92,7 +92,7 @@
|
|||
<dl class="class">
|
||||
<dt id="django_select2.views.Select2View">
|
||||
<em class="property">class </em><tt class="descclassname">django_select2.views.</tt><tt class="descname">Select2View</tt><big>(</big><em>**kwargs</em><big>)</big><a class="reference internal" href="_modules/django_select2/views.html#Select2View"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#django_select2.views.Select2View" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#django_select2.views.JSONResponseMixin" title="django_select2.views.JSONResponseMixin"><tt class="xref py py-class docutils literal"><span class="pre">django_select2.views.JSONResponseMixin</span></tt></a>, <a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/class-based-views/base/#django.views.generic.base.View" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.views.generic.base.View</span></tt></a></p>
|
||||
<dd><p>Bases: <a class="reference internal" href="#django_select2.views.JSONResponseMixin" title="django_select2.views.JSONResponseMixin"><tt class="xref py py-class docutils literal"><span class="pre">django_select2.views.JSONResponseMixin</span></tt></a>, <a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/class-based-views/#django.views.generic.base.View" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.views.generic.base.View</span></tt></a></p>
|
||||
<p>Base view which is designed to respond with JSON to Ajax queries from heavy widgets/fields.</p>
|
||||
<p>Although the widgets won’t enforce the type of data_view it gets, but it is recommended to
|
||||
sub-class this view instead of creating a Django view from scratch.</p>
|
||||
|
|
@ -128,7 +128,7 @@ or these checks can be placed in <tt class="docutils literal"><span class="pre">
|
|||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
||||
<li><strong>request</strong> (<a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.http.HttpRequest</span></tt></a>) – The Ajax request object.</li>
|
||||
<li><strong>request</strong> (<a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/request-response/#django.http.HttpRequest" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.http.HttpRequest</span></tt></a>) – The Ajax request object.</li>
|
||||
<li><strong>args</strong> – The <tt class="docutils literal"><span class="pre">*args</span></tt> passed to <tt class="xref py py-meth docutils literal"><span class="pre">django.views.generic.View.dispatch()</span></tt>.</li>
|
||||
<li><strong>kwargs</strong> – The <tt class="docutils literal"><span class="pre">**kwargs</span></tt> passed to <tt class="xref py py-meth docutils literal"><span class="pre">django.views.generic.View.dispatch()</span></tt>.</li>
|
||||
</ul>
|
||||
|
|
@ -152,7 +152,7 @@ Http reqeusts to your server, be able to get access to sensitive information.</p
|
|||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
||||
<li><strong>request</strong> (<a class="reference external" href="http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest" title="(in Django v1.5)"><tt class="xref py py-class docutils literal"><span class="pre">django.http.HttpRequest</span></tt></a>) – The Ajax request object.</li>
|
||||
<li><strong>request</strong> (<a class="reference external" href="https://docs.djangoproject.com/en/1.4/ref/request-response/#django.http.HttpRequest" title="(in Django v1.4.1)"><tt class="xref py py-class docutils literal"><span class="pre">django.http.HttpRequest</span></tt></a>) – The Ajax request object.</li>
|
||||
<li><strong>term</strong> (<a class="reference external" href="http://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><tt class="xref py py-obj docutils literal"><span class="pre">str</span></tt></a>) – The search term.</li>
|
||||
<li><strong>page</strong> (<a class="reference external" href="http://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><tt class="xref py py-obj docutils literal"><span class="pre">int</span></tt></a>) – The page number. If in your last response you had signalled that there are more results,
|
||||
then when user scrolls more a new Ajax request would be sent for the same term but with next page
|
||||
|
|
|
|||
2
docs/_build/html/ref_widgets.html
vendored
2
docs/_build/html/ref_widgets.html
vendored
|
|
@ -331,7 +331,7 @@ would be available as list.</p>
|
|||
<div class="admonition tip">
|
||||
<p class="first admonition-title">Tip</p>
|
||||
<p class="last">When <tt class="docutils literal"><span class="pre">data_view</span></tt> is provided then it is converted into Url using
|
||||
<a class="reference external" href="http://docs.djangoproject.com/en/dev/topics/http/urls/#django.core.urlresolvers.reverse" title="(in Django v1.5)"><tt class="xref py py-func docutils literal"><span class="pre">reverse()</span></tt></a>.</p>
|
||||
<a class="reference external" href="https://docs.djangoproject.com/en/1.4/topics/http/urls/#django.core.urlresolvers.reverse" title="(in Django v1.4.1)"><tt class="xref py py-func docutils literal"><span class="pre">reverse()</span></tt></a>.</p>
|
||||
</div>
|
||||
<div class="admonition warning">
|
||||
<p class="first admonition-title">Warning</p>
|
||||
|
|
|
|||
2
docs/_build/html/searchindex.js
vendored
2
docs/_build/html/searchindex.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -41,7 +41,7 @@ extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.viewco
|
|||
|
||||
intersphinx_mapping = {
|
||||
'python': ('http://docs.python.org/2.7', None),
|
||||
'django': ('http://docs.djangoproject.com/en/dev/', 'http://docs.djangoproject.com/en/dev/_objects/'),
|
||||
'django': ('https://docs.djangoproject.com/en/1.4/', 'http://docs.djangoproject.com/en/1.4/_objects/'),
|
||||
}
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
|
|
|
|||
Loading…
Reference in a new issue