[Kimchi-devel] [Wok][PATCH v2 4/7] Multi-Culture support : Format datetime as per locale in wok.list.js

Daniel Henrique Barboza dhbarboza82 at gmail.com
Tue May 10 14:56:15 UTC 2016



On 05/10/2016 10:43 AM, Aline Manera wrote:
>
>
> On 05/10/2016 03:43 AM, Archana Singh wrote:
>>
>>
>> On 5/9/2016 6:51 PM, Aline Manera wrote:
>>>
>>>
>>> On 05/05/2016 04:02 AM, pkulkark at linux.vnet.ibm.com wrote:
>>>> From: Pooja Kulkarni <pkulkark at linux.vnet.ibm.com>
>>>>
>>>> co-authored by: Archana Singh <archus at linux.vnet.ibm.com>
>>>>
>>>> v2:
>>>> Modified call to fetch locale
>>>>
>>>> v1:
>>>> This patch formats the datetime fields as per locale
>>>> in wok-list widget.
>>>>
>>>> Signed-off-by: Pooja Kulkarni <pkulkark at linux.vnet.ibm.com>
>>>> ---
>>>>   ui/js/src/wok.list.js | 6 +++++-
>>>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/ui/js/src/wok.list.js b/ui/js/src/wok.list.js
>>>> index f40b2e2..8f02fde 100644
>>>> --- a/ui/js/src/wok.list.js
>>>> +++ b/ui/js/src/wok.list.js
>>>> @@ -123,6 +123,10 @@ wok.widget.List.prototype = (function() {
>>>>                   var checkboxName = $('ul', 
>>>> container).parent().parent().parent().attr('id') + '-check' || 
>>>> $(container).parent().parent().parent().attr('id') + '-check';
>>>>                   $.each(fields, function(fi, field) {
>>>>                       var value = getValue(field.name, row);
>>>
>>>> +                    if (field.name === 'time') {
>>>> +                       var dte = new 
>>>> Date(value.substr(0,10)+'T'+value.substr(11))
>>>> +                       value = 
>>>> dte.toLocaleString(wok.lang.get_locale())
>>>> +
>>>
>>> wok.list.js is a generic widget, ie, it will only display the data 
>>> in a given visual format. Any data logic should be done prior to it.
>>> wok.list.js will not be aware about which data to do the conversion. 
>>> Assuming the field will have a 'name' as 'time' is dangerous IMO. We 
>>> can have different fields for datetime which does not have a 
>>> name=time on it.
>>
>> I will propose to have check for type(type=='datetime') instead of 
>> name(name=='time'). what do you think?
>> And in debug report have the field type as datetime which has 
>> datetime in it?
>>
>
> The conversion must be done outside the widget. The widget should only 
> receive a bunch of data to display in a visual way.

Yeah, generic widget must be generic. We can't assume that a said field 
will have
any specific format. Remember that anyone can use WoK to do anything.

I am aware that the data of locale comes from the client (UI) side, 
either by user input
or browser config, the backend isn't aware of any of that. So, in my 
opinion, the proper
usage here is, and I know it would require (again) to resend the patches 
in all plug-ins,
each plug-in UI do this conversion by themselves and then use the widget 
to display it.

To avoid code repetition makes sense to put this conversion code in a 
wok util function in
wok.utils.js then each plug-in can call it from its own UI.


Aline, let me know if you agree with this approach.


Daniel

>
>>>
>>>>                      }
>>>>                       if (field.type === 'status' && field.name === 
>>>> 'enabled') {
>>>>                           styleClass = (value === true ? '' : ' 
>>>> disabled');
>>>>                           state = [
>>>> @@ -299,4 +303,4 @@ wok.widget.List.prototype = (function() {
>>>>           reload: reload,
>>>>           showMessage: showMessage
>>>>       };
>>>> -})();
>>>> \ No newline at end of file
>>>> +})();
>>>
>>> _______________________________________________
>>> Kimchi-devel mailing list
>>> Kimchi-devel at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>>
>>
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel




More information about the Kimchi-devel mailing list