Custom widget to manage complex json data stored into a text field
Project description
z3c.form widget to manage a json field.
Features
Customizable schema
Usage
You need to set the widget to needed fields into your form instance:
from collective.z3cform.jsonwidget.browser.widget import JSONFieldWidget from zope.interface import Interface from zope import schema class IMyJsonSchema(Interface): first = schema.TextLine( title='first field', required=True, ) second = schema.List( title="second field", required=False, value_type=schema.TextLine(), ) class IFormSchema(Interface): my_json_field = schema.SourceText( title="The field with some stored json values" ) class MyForm(Form): ... schema = IFormSchema fields = field.Fields(IFormSchema) fields["my_json_field"].widgetFactory = JSONFieldWidget def updateWidgets(self): """ """ super(MyForm, self).updateWidgets() self.widgets["my_json_field"].schema = IMyJsonSchema
With this configuration, we are setting JSONFieldWidget widget to my_json_field field and setting the fields schema defined in IMyJsonSchema interface.
In the field are stored a list of json objects where each object has a set of fields defined in the schema.
For example for the given configuration, we are going to store into the field something like:
[ { "first": "a string", "second": [1,2,3,4] }, { "first": "another string", "second": ["a", "b", "c"] }, ]
Translations
This product has been translated into
Italian
Installation
Install collective.z3cform.jsonwidget by adding it to your buildout:
[buildout] ... eggs = collective.z3cform.jsonwidget
and then running bin/buildout
Contribute
Credits
Developed with the support of Regione Emilia Romagna;
Regione Emilia Romagna supports the PloneGov initiative.
1.1.2 (2023-04-26)
Fix release. [cekk]
1.1.1 (2023-04-21)
Handle integer fields. [cekk]
1.1.0 (2022-07-18)
Force vocabularies batch size to 1000 to get all of possible values. [cekk]
1.0.0 (2021-12-20)
Improve widget usability. [cekk]
0.2.4 (2021-12-13)
Fix defaulValue in select fields. Now we can also reset the values. [cekk]
0.2.3 (2021-08-18)
Fix homepage breadcrumb. [cekk]
0.2.2 (2021-08-17)
Fix breadcrumbs and pagination in ReferenceField. [cekk]
0.2.1 (2021-05-18)
Add alt text on buttons
Add locales for a11y hints [nzambello]
0.2.0 (2021-05-17)
Add link and path to referenced items [nzambello]
Fix TextLine field. [cekk]
0.1.0 (2021-02-09)
Initial release. [cekk]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file collective.z3cform.jsonwidget-1.1.2.tar.gz
.
File metadata
- Download URL: collective.z3cform.jsonwidget-1.1.2.tar.gz
- Upload date:
- Size: 310.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63eb6d8e923307e6b89723ff7874c0068dd791fb7f2490c528a780701f27aff0 |
|
MD5 | a306da60670af44b5da196af370decfd |
|
BLAKE2b-256 | 1b2d96f8af711065fea67772a6edc82ce5343009c31ec27d428e2cb16b306f62 |