diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-01-10 17:28:27 +0100 |
---|---|---|
committer | Petr Viktorin <pviktori@redhat.com> | 2014-03-13 15:59:44 +0100 |
commit | 870a5daf24c165069fe6f546bb3710f9b3880538 (patch) | |
tree | b21a65cc0291e15c0fde84c5b61d6ac024260750 /install/ui/src/freeipa/widget.js | |
parent | 05f612e58a4954162dcaa724585869819ca77672 (diff) | |
download | freeipa-870a5daf24c165069fe6f546bb3710f9b3880538.tar.gz freeipa-870a5daf24c165069fe6f546bb3710f9b3880538.tar.xz freeipa-870a5daf24c165069fe6f546bb3710f9b3880538.zip |
webui: Datetime parsing and formatting
this patch implements:
- output_formatter in field. It should be used in par with formatter. Formatter serves for datasource->widget conversion, output_formatter for widget->datasource format conversion.
- datetime module which parses/format strings in subset of ISO 8601 and LDAP generalized time format to Date.
- utc formatter replaced with new datetime formatter
- datetime_validator introduced
- new datetime field, extension of text field, which by default uses datetime formatter and validator
Dojo was regenerated to include dojo/string module
https://fedorahosted.org/freeipa/ticket/4194
Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Diffstat (limited to 'install/ui/src/freeipa/widget.js')
-rw-r--r-- | install/ui/src/freeipa/widget.js | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/install/ui/src/freeipa/widget.js b/install/ui/src/freeipa/widget.js index b642cee02..6ee61c658 100644 --- a/install/ui/src/freeipa/widget.js +++ b/install/ui/src/freeipa/widget.js @@ -29,13 +29,15 @@ define(['dojo/_base/array', 'dojo/keys', 'dojo/on', './builder', + './datetime', './ipa', './jquery', './phases', './reg', './text' ], - function(array, lang, Evented, has, keys, on, builder, IPA, $, phases, reg, text) { + function(array, lang, Evented, has, keys, on, builder, datetime, IPA, $, + phases, reg, text) { /** * Widget module @@ -1934,24 +1936,25 @@ IPA.boolean_status_formatter = function(spec) { }; /** - * Take an LDAP format date in UTC and format it + * Take supported ISO 8601 or LDAP format date and format it * @class * @extends IPA.formatter */ -IPA.utc_date_formatter = function(spec) { +IPA.datetime_formatter = function(spec) { spec = spec || {}; var that = IPA.formatter(spec); + that.template = spec.template; that.format = function(value) { if (!value) return ''; - var date = IPA.parse_utc_date(value); + var date = datetime.parse(value); if (!date) return value; - return date.toString(); + var str = datetime.format(date, that.template); + return str; }; - return that; }; @@ -5155,6 +5158,7 @@ exp.register = function() { w.register('details_section', IPA.details_section); w.register('details_table_section', IPA.details_table_section); w.register('details_table_section_nc', IPA.details_section); + w.register('datetime', IPA.text_widget); w.register('multiple_choice_section', IPA.multiple_choice_section); w.register('enable', IPA.enable_widget); w.register('entity_select', IPA.entity_select_widget); @@ -5172,7 +5176,7 @@ exp.register = function() { f.register('boolean', IPA.boolean_formatter); f.register('boolean_status', IPA.boolean_status_formatter); - f.register('utc_date', IPA.utc_date_formatter); + f.register('datetime', IPA.datetime_formatter); }; phases.on('registration', exp.register); |