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.
2.0.0 (2026-03-26)
Plone 6 compatibility. Use 1.x tags for Plone < 6. [cekk] [cekk]
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file collective_z3cform_jsonwidget-2.0.0.tar.gz.
File metadata
- Download URL: collective_z3cform_jsonwidget-2.0.0.tar.gz
- Upload date:
- Size: 758.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d91164e55ae6f29b51d67c1fe03edb98d2ea72af72ef401e6665e71388d3f8cb
|
|
| MD5 |
73264e3ceb2ba5fb6df5366707f3d0ab
|
|
| BLAKE2b-256 |
54d6953db31e6cc5e69cc7728b66ba5e666355278703ec72cfe4810e79f7b77c
|
File details
Details for the file collective_z3cform_jsonwidget-2.0.0-py3-none-any.whl.
File metadata
- Download URL: collective_z3cform_jsonwidget-2.0.0-py3-none-any.whl
- Upload date:
- Size: 705.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87ba04d8917debdd48fdd711f2ce5d510b762bac0d1c10722ba255de9a43eb94
|
|
| MD5 |
618f93a1abc7d8312bbf9eeff1dcb2d5
|
|
| BLAKE2b-256 |
e08d7d0f4760b80706220752dfcd3368b452c56565707ee97a37d7d7fc7e215b
|