Skip to main content

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

Project details


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 hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page