Deform

Latest version: v2.0.15

Safety actively analyzes 681926 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 7

0.5

----------------

Features
~~~~~~~~

- Added features which make it possible to inquire about which
resources (JavaScript and CSS resources) are required by all the
widgets that make up a form rendering. Also make it possible for a
newly created widget to specify its requirements. See "Widget
Requirements and Resources" in the widgets chapter of the
documentation.

- Add the ``get_widget_requirements`` method to ``deform.Field``
objects.

- Add the ``get_widget_resources`` method to ``deform.Field``
objects.

- Allow ``deform.Field`` (and ``deform.Form``) objects to accept a
"resource registry" as a constructor argument.

- Add the ``deform.Field.set_widgets`` method, which allows a
(potentially nested) set of widgets to be applied to children fields
of the field upon which it is called.

- Add the ``deform.widget.TextInputCSV`` widget. This widget is
exactly like the ``deform.widget.TextAreaCSV`` widget except it
accepts a single line of input only.

- The default widget for ``colander.Tuple`` schema types is now
``deform.widget.TextInputCSV``.

- The ``deform.widget.FileUploadWidget`` now returns an instance of
``deform.widget.filedict`` instead of a plain dictionary to make it
possible (using isinstance) to tell the difference between file
upload data and a plain data dictionary for highly generalized
persistence code.

0.4

----------------

Bug Fixes
~~~~~~~~~

- When the hidden widget is used to deserialize a field, return
``colander.null`` rather than the empty string so that it may be
used to represent non-text fields such as ``colander.Integer``.
This is isomorphic to the change done previously to
``deform.TextInputWidget`` to support nontextual empty fields.

- Fix typo about overriding templates using set_zpt_renderer in
templating chapter.

- Fix link to imperative schema within in Colander docs within "Basics".

- Remove duplicate ``deform.widget.DateInputWidget`` class definition.

Features
~~~~~~~~

- Add a ``deform.widget.RichTextWidget`` widget, which adds the
TinyMCE WYSIWIG javascript editor to a text area.

- Add a ``deform.widget.AutocompleteInputWidget`` widget, which adds
a text input that can be supplied a URL or iterable of choices to
ease the search and selection of a finite set of choices.

- The ``deform.widget.Widget`` class now accepts an extra keyword
argument in its constructor: ``css_class``.

- All widgets now inherit a ``css_class`` attribute from the base
``deform.widget.Widget`` class. If `css_class`` contains a value,
the "primary" element in the rendered widget will get a CSS
``class`` attribute equal to the value ("primary" is defined by the
widget template's implementor).

- The ``deform.Field`` class now as an ``__iter__`` method which
iterates over the children fields of the field upon which it is
called (``for item in field`` == ``for item in field.children``).

0.3

----------------

Bug Fixes
~~~~~~~~~

- Change default form action to the empty string (rather than ``.``).
Thanks to Kiran.

Features
~~~~~~~~

- Add ``deform.widget.DateInputWidget`` widget, which is a date picker
widget. This has now become the default widget for the
``colander.Date`` schema type, preferred to the date parts widget.

- Add text input mask capability to ``deform.widget.TextInputWidget``.

- Add text input mask capability to
``deform.widget.CheckedInputWidget``.

Backwards Incompatibilities
~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Custom widgets must now check for ``colander.null`` rather than
``None`` as the null sentinel value.

- Dependency on a new (0.7) version of Colander, which has been
changed to make using proper defaults possible; if you've used the
``default`` argument to a ``colander.SchemaNode``, or if you've
defined a custom Colander type, you'll want to read `the updated
Colander documentation
<https://docs.pylonsproject.org/projects/colander/en/latest/>`_
(particularly the changelist). Short story: use the ``missing``
argument instead.

- If you've created a custom widget, you will need to tweak it
slightly to handle the value ``colander.null`` as input to both
``serialize`` and ``deserialize``. See the Deform docs at
`https://docs.pylonsproject.org/projects/deform/en/latest/
<https://docs.pylonsproject.org/projects/deform/en/latest/>`_ for
more information.

0.2

----------------

- Every form has a formid now, defaulting to ``deform``. The formid
is used to compute the id of the form tag as well as the button ids
in the form. Previously, if a formid was not passed to the Form
constructor, no id would be given to the rendered form and the
form's buttons would not be prefixed with any formid.

- The ``deform.Form`` class now accepts two extra keyword arguments in
its constructor: ``use_ajax`` and ``ajax_options``.

If ``use_ajax`` is ``True``, the page is not reloaded when a submit
button is pressed. Instead, the form is posted, and the result
replaces the DOM node on the page.

``ajax_options`` is a string which allows you to pass extra options
to the underlying AJAX form machinery when ``use_ajax`` is True.

- Added a couple Ajax examples to the demo app.

- Add a rudimentary Ajax chapter to the docs.

0.1

----------------

- Initial release.

Page 7 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.