Multipurpose widgets and fields for interfaces schema
Project description
The ng.schema product
=====================
The ng.schema is zope3 product developed to provide some interface (schema)
fields and widget. Current field and widget list are:
interfaceswitcher
-----------------
Field can be used to dynamic switch subinterfaces of
some interface;
Sample of use ::
from ng.schema.interfaceswitcher.interfacechoicefield import InterfaceChoice
from ng.schema.interfaceswitcher.interfacesetfield import InterfaceSet
class IA(Interface) :
pass
class IA1(IA) :
pass
class IA2(IA) :
pass
class IOb(Interface) :
ifc = InterfaceChoice(
title=u'Interface of IA',
interface = IA,
)
ifs = InterfaceSet(
title=u'Interface of IA',
interface = IA,
with_title=True
)
regexp
------
Product can be used to check input text line with some set of
regexp and customize text line with some rewrite rules before set.
Sample of use ::
from ng.schema.regexp.regexpfield import Regexp
class IOb(Interface) :
title = Regexp(title = u'Title',
description = u'Title',
default = u'',
required = True,
regexp = (
(False, u"^.*/.*$", u"Title do not content symbol '/'"),
),
rewrite = (
(u"^\s*(?P<name>\w+)\s*-\s*(?P<number>[0-9]+)\s*$", u"%(name)s-%(number)s"),
(u"^\s*(?P<name>[^\s])\s*$", u"%(name)s"),
)
)
floatdayttime
-------------
The field allow present attribute containing float number as
time string in "HH:MM:SS" format.
Sample of use::
from ng.schema.floatdaytime.floatdaytime import FloatDayTime
class IOb(Interface) :
time = FloatDayTime(
title = u"Time",
description = u"Time of day",
required = False,
min=u'00:00',
max=u'24:00',
default=u'00:00'
)
principalidwidget
-----------------
The widget allow automaticaly assign text field by user Id. The field display as not-editable field
with current user name as vaue. User name and id gets from request attributes.
Sample of use::
<addform
label="Add Article"
name="AddArticle.html"
schema="ng.content.article.interfaces.IDocShortLogo"
content_factory="ng.content.article.article.article.Article"
class=".nexturl.NextUrl"
permission="zope.ManageContent"
layer="...interfaces.GreenpsySkin"
set_before_add="title"
>
<widget
field="author"
class="ng.schema.principalidwidget.principalidwidget.PrincipalIdWidget" />
</addform>
dropdowndatewidget
------------------
The widget allow input date by means of select value from three dropdown list for
day, mounth and year.
Sample of use::
<editform
schema="..interfaces.IProfileAnnotation"
for="..interfaces.IProfileAnnotation"
label="Profile"
name="profileannotation.html"
permission="zope.ManageContent"
menu="zmi_views" title="ProfileAnnotation"
>
<widget field="birthday" class="ng.schema.dropdowndatewidget.dropdowndatewidget.DropDownDateWidget" />
</editform>
* Thu Feb 12 2009 Andrey Orlov <dbdt@dreambot.ru> 0.0.6
- Widget multiselectwidget added;
* Thu Oct 23 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.5
- FloatDayTime enhanced
- InterfaceVocabulary use docstring as title now
- FloatDayTime field substantively rewrited, max, min, default values support added;
- Interface switcher fields changed: them display doc-string as title now.
* Mon Oct 20 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.4
- DropdownDate widget added;
- PrincipalId widget added;
* Sun Jan 11 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.3
- FloatDayTime field added
- InterfaceSet field added
- Initial interface of vocabulary changed
* Wed Nov 7 2007 Andrey Orlov <dbdt@dreambot.ru> 0.0.2
- first official release
=====================
The ng.schema is zope3 product developed to provide some interface (schema)
fields and widget. Current field and widget list are:
interfaceswitcher
-----------------
Field can be used to dynamic switch subinterfaces of
some interface;
Sample of use ::
from ng.schema.interfaceswitcher.interfacechoicefield import InterfaceChoice
from ng.schema.interfaceswitcher.interfacesetfield import InterfaceSet
class IA(Interface) :
pass
class IA1(IA) :
pass
class IA2(IA) :
pass
class IOb(Interface) :
ifc = InterfaceChoice(
title=u'Interface of IA',
interface = IA,
)
ifs = InterfaceSet(
title=u'Interface of IA',
interface = IA,
with_title=True
)
regexp
------
Product can be used to check input text line with some set of
regexp and customize text line with some rewrite rules before set.
Sample of use ::
from ng.schema.regexp.regexpfield import Regexp
class IOb(Interface) :
title = Regexp(title = u'Title',
description = u'Title',
default = u'',
required = True,
regexp = (
(False, u"^.*/.*$", u"Title do not content symbol '/'"),
),
rewrite = (
(u"^\s*(?P<name>\w+)\s*-\s*(?P<number>[0-9]+)\s*$", u"%(name)s-%(number)s"),
(u"^\s*(?P<name>[^\s])\s*$", u"%(name)s"),
)
)
floatdayttime
-------------
The field allow present attribute containing float number as
time string in "HH:MM:SS" format.
Sample of use::
from ng.schema.floatdaytime.floatdaytime import FloatDayTime
class IOb(Interface) :
time = FloatDayTime(
title = u"Time",
description = u"Time of day",
required = False,
min=u'00:00',
max=u'24:00',
default=u'00:00'
)
principalidwidget
-----------------
The widget allow automaticaly assign text field by user Id. The field display as not-editable field
with current user name as vaue. User name and id gets from request attributes.
Sample of use::
<addform
label="Add Article"
name="AddArticle.html"
schema="ng.content.article.interfaces.IDocShortLogo"
content_factory="ng.content.article.article.article.Article"
class=".nexturl.NextUrl"
permission="zope.ManageContent"
layer="...interfaces.GreenpsySkin"
set_before_add="title"
>
<widget
field="author"
class="ng.schema.principalidwidget.principalidwidget.PrincipalIdWidget" />
</addform>
dropdowndatewidget
------------------
The widget allow input date by means of select value from three dropdown list for
day, mounth and year.
Sample of use::
<editform
schema="..interfaces.IProfileAnnotation"
for="..interfaces.IProfileAnnotation"
label="Profile"
name="profileannotation.html"
permission="zope.ManageContent"
menu="zmi_views" title="ProfileAnnotation"
>
<widget field="birthday" class="ng.schema.dropdowndatewidget.dropdowndatewidget.DropDownDateWidget" />
</editform>
* Thu Feb 12 2009 Andrey Orlov <dbdt@dreambot.ru> 0.0.6
- Widget multiselectwidget added;
* Thu Oct 23 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.5
- FloatDayTime enhanced
- InterfaceVocabulary use docstring as title now
- FloatDayTime field substantively rewrited, max, min, default values support added;
- Interface switcher fields changed: them display doc-string as title now.
* Mon Oct 20 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.4
- DropdownDate widget added;
- PrincipalId widget added;
* Sun Jan 11 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.3
- FloatDayTime field added
- InterfaceSet field added
- Initial interface of vocabulary changed
* Wed Nov 7 2007 Andrey Orlov <dbdt@dreambot.ru> 0.0.2
- first official release
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
ng.schema-0.0.6.tar.gz
(13.0 kB
view details)
File details
Details for the file ng.schema-0.0.6.tar.gz
.
File metadata
- Download URL: ng.schema-0.0.6.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5f84b83c6be0f94bfcbbae01370971cc6b4830716a39b1cd361616b2fce4438 |
|
MD5 | 6023047ad97cb38e4b0445d9b72b49e3 |
|
BLAKE2b-256 | b5422bbb416b5fa135533845b55dee8e1b16b1b08c97324409a2710ff4b86700 |