r13744 - in MoreFieldsAndWidgets/archetypes.querywidget/trunk: . archetypes/querywidget archetypes/querywidget/profiles/default
"Roel Bruggink" <[email protected]> Thu, 28 Jul 2011 17:36:11 +0000
| Newsgroups | gmane.comp.web.zope.plone.archetypes.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: jaroel
Date: Thu Jul 28 17:36:10 2011
New Revision: 13744
Added:
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/cssregistry.xml
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/jsregistry.xml
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/views.py
Modified:
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/configure.zcml
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/metadata.xml
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/querywidget.js
MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/widget.py
MoreFieldsAndWidgets/archetypes.querywidget/trunk/setup.py
Log:
Add a localized datepicker
Modified: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/configure.zcml
==============================================================================
--- MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/configure.zcml (original)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/configure.zcml Thu Jul 28 17:36:10 2011
@@ -29,4 +29,11 @@
file="querywidget.css"
/>
+ <browser:page
+ name="datepickerconfig"
+ permission="zope2.View"
+ for="*"
+ class="archetypes.querywidget.views.datepickerconfig"
+ />
+
</configure>
Added: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/cssregistry.xml
==============================================================================
--- (empty file)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/cssregistry.xml Thu Jul 28 17:36:10 2011
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<object name="portal_css">
+
+ <stylesheet title=""
+ id="++resource++plone.app.jquerytools.dateinput.css"
+ media="screen"
+ rel="stylesheet"
+ rendering="import"
+ cacheable="True"
+ compression="safe"
+ cookable="True"
+ enabled="1"
+ expression=""/>
+
+</object>
Added: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/jsregistry.xml
==============================================================================
--- (empty file)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/jsregistry.xml Thu Jul 28 17:36:10 2011
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object name="portal_javascripts" meta_type="JavaScripts Registry">
+
+ <javascript enabled="True"
+ id="++resource++plone.app.jquerytools.dateinput.js" />
+
+</object>
Modified: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/metadata.xml
==============================================================================
--- MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/metadata.xml (original)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/profiles/default/metadata.xml Thu Jul 28 17:36:10 2011
@@ -3,5 +3,6 @@
<version>1</version>
<dependencies>
<dependency>profile-plone.app.querystring:default</dependency>
+ <dependency>profile-plone.app.jquerytools:default</dependency>
</dependencies>
</metadata>
Modified: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/querywidget.js
==============================================================================
--- MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/querywidget.js (original)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/querywidget.js Thu Jul 28 17:36:10 2011
@@ -69,24 +69,31 @@
.addClass('querywidget queryvalue stringWidget');
break;
case 'DateWidget':
- return $(document.createElement('input'))
+ var widget = $(document.createElement('input'))
.attr({
'autocomplete': 'off',
- 'type': 'text',
+ 'type': 'date',
'name': 'query.v:records'
})
- .addClass('querywidget queryvalue dateWidget');
+ .addClass('querywidget queryvalue dateWidget')
+ .dateinput().removeClass('date')
+ .change(function(e){
+ $.querywidget.updateSearch();
+ });
+ return widget;
break;
case 'DateRangeWidget':
+
return $(document.createElement('div'))
.addClass('querywidget dateRangeWidget')
.append($(document.createElement('input'))
.attr({
'autocomplete': 'off',
- 'type': 'text',
+ 'type': 'date',
'name': 'query.v:records:list'
})
.addClass('queryvalue')
+ .dateinput().removeClass('date')
)
.append($(document.createElement('span'))
.html(' and ')
@@ -94,10 +101,11 @@
.append($(document.createElement('input'))
.attr({
'autocomplete': 'off',
- 'type': 'text',
+ 'type': 'date',
'name': 'query.v:records:list'
})
.addClass('queryvalue')
+ .dateinput().removeClass('date')
);
break;
case 'ReferenceWidget':
@@ -190,13 +198,9 @@
case 'DateRangeWidget':
/* fall through */
case 'DateWidget':
- var ok = true;
- $(values).each(function(i){
- if ($(this).val().length != 10) {
- ok = false;
- }
- });
- return ok;
+ /* We use a datepicker which has it's own change handler. That
+ one does the refresh. */
+ return false;
default:
/* Backspace and delete should force update */
if (e.keyCode == 8 || e.keyCode == 46) {
Added: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/views.py
==============================================================================
--- (empty file)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/views.py Thu Jul 28 17:36:10 2011
@@ -0,0 +1,29 @@
+from zope.publisher.browser import BrowserView
+
+
+class datepickerconfig(BrowserView):
+
+ calendar_type = 'gregorian'
+
+ def __call__(self):
+ language = getattr(self.request, 'LANGUAGE', 'en')
+ calendar = self.request.locale.dates.calendars[self.calendar_type]
+
+ template = """
+jQuery.tools.dateinput.localize("%(language)s", {
+ months: "%(monthnames)s",
+ shortMonths: "%(shortmonths)s",
+ days: "%(days)s",
+ shortDays: "%(shortdays)s"
+});
+
+jQuery.tools.dateinput.conf.lang = "%(language)s";
+jQuery.tools.dateinput.conf.format = "mm/dd/yyyy";
+ """
+ return template % (dict(language=language,
+ monthnames=','.join(calendar.getMonthNames()),
+ shortmonths=','.join(calendar.getMonthAbbreviations()),
+ days=','.join(calendar.getDayNames()),
+ shortdays=','.join(calendar.getDayAbbreviations()),
+ format=format
+ ))
Modified: MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/widget.py
==============================================================================
--- MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/widget.py (original)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/archetypes/querywidget/widget.py Thu Jul 28 17:36:10 2011
@@ -14,7 +14,8 @@
_properties.update({
'macro': 'querywidget',
'helper_css': ('++resource++archetypes.querywidget.querywidget.css',),
- 'helper_js': ('++resource++archetypes.querywidget.querywidget.js',),
+ 'helper_js': ('++resource++archetypes.querywidget.querywidget.js',
+ '@@datepickerconfig'),
}),
security = ClassSecurityInfo()
Modified: MoreFieldsAndWidgets/archetypes.querywidget/trunk/setup.py
==============================================================================
--- MoreFieldsAndWidgets/archetypes.querywidget/trunk/setup.py (original)
+++ MoreFieldsAndWidgets/archetypes.querywidget/trunk/setup.py Thu Jul 28 17:36:10 2011
@@ -24,6 +24,7 @@
install_requires=[
'setuptools',
'plone.app.querystring',
+ 'plone.app.jquerytools',
],
entry_points="""
[z3c.autoinclude.plugin]
------------------------------------------------------------------------------
Got Input? Slashdot Needs You.
Take our quick survey online. Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey