OK, this works on trunk demo now :)

Jacques

From: "Jacques Le Roux" <jacques.le.r...@les7arts.com>
> However, the mechanism I quickly built can still be pretty useful in some 
> cases...
> 
> Jacques
> 
> Jacques Le Roux wrote:
>> Yikes, this was pretty stupid. I completly forgot about what I thought 2 
>> weeks ago: it's from the server I need the date-time, so
>> I need a json service. 
>> Then, today, I completly forgot about it, and thought again: OK, it will 
>> consume less ressources w/out a service, if  I only use
>> javascript. A senior moment  I guess :/ 
>> 
>> I will rewrite that later, to have the real server hour...
>> 
>> Jacques
>> 
>>> Author: jleroux
>>> Date: Sat Dec 29 22:08:19 2012
>>> New Revision: 1426848
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=1426848&view=rev
>>> Log:
>>> I wanted to have the server hour on the webtools job list, not a bid deal, 
>>> hé?
>>> As ever, turns it's always more complicated than thought.
>>> For instance jQuery, even with $.datepicker.formatDate, is not able to 
>>> format a date + time correctly :/
>>> So I added a new js script: date.format-1.2.3.js. It's only 4kb, I tried to 
>>> compress it online, did not work, gave up.
>>> 
>>> This is pretty basic, enough for the needs and can be easily extended when 
>>> more is needed
>>> 
>>> Added:
>>>    ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl  
>>>  (with props)
>>>    ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3   (with 
>>> props)
>>> Modified:
>>>    ofbiz/trunk/LICENSE
>>>    ofbiz/trunk/NOTICE
>>>    ofbiz/trunk/framework/common/config/CommonUiLabels.xml
>>>    ofbiz/trunk/framework/common/widget/CommonScreens.xml
>>>    ofbiz/trunk/framework/webtools/widget/ServiceForms.xml
>>>    ofbiz/trunk/framework/webtools/widget/ServiceScreens.xml
>>> 
>>> Modified: ofbiz/trunk/LICENSE
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/LICENSE?rev=1426848&r1=1426847&r2=1426848&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/LICENSE (original)
>>> +++ ofbiz/trunk/LICENSE Sat Dec 29 22:08:19 2012
>>> @@ -1234,7 +1234,8 @@ ofbiz/trunk/framework/base/lib/slf4j-log
>>> ofbiz/trunk/framework/images/webapp/images/jquery/*
>>> ofbiz/trunk/specialpurpose/webpos/webapp/webpos/images/js/jquery.hotkeys-0.7.9.min.js
>>> ofbiz/trunk/specialpurpose/webpos/webapp/webpos/images/js/WebPosHotkeys.js
>>> -ofbiz/trunk/applications/content/template/docbook/webhelp/*
>>> +ofbiz/trunk/applications/content/template/docbook/webhelp/*
>>> +ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3.js
>>> =========================================================================
>>> The MIT License
>>> 
>>> 
>>> Modified: ofbiz/trunk/NOTICE
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/NOTICE?rev=1426848&r1=1426847&r2=1426848&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/NOTICE (original)
>>> +++ ofbiz/trunk/NOTICE Sat Dec 29 22:08:19 2012
>>> @@ -371,13 +371,19 @@ Under the following conditions:
>>> 
>>>     * Attribution. You must attribute the work in the manner specified
>>>       by the author or licensor (but not in any way that suggests that
>>> -   they endorse you or your use of the work).
>>> +    they endorse you or your use of the work).
>>>     * For any reuse or distribution, you must make clear to
>>>       others the license terms of this work. The best way to do
>>> -   this is with a link to this web page.
>>> +    this is with a link to this web page.
>>>     * Any of the above conditions can be waived if you get
>>>     * For any reuse or distribution, you must make clear to
>>>       permission from the copyright holder.
>>>     * Nothing in this license impairs or restricts the
>>>     * For any reuse or distribution, you must make clear to
>>>       author's moral rights.
>>> +=========================================================================
>>> +
>>> +This product includes software developed by Steven Levithan
>>> +(http://blog.stevenlevithan.com/archives/date-time-format). MIT license
>>> +=========================================================================
>>> +
>>> \ No newline at end of file
>>> 
>>> Modified: ofbiz/trunk/framework/common/config/CommonUiLabels.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/config/CommonUiLabels.xml?rev=1426848&r1=1426847&r2=1426848&view=diff
>>> ==============================================================================
>>>  ---
>>> ofbiz/trunk/framework/common/config/CommonUiLabels.xml (original) +++ 
>>> ofbiz/trunk/framework/common/config/CommonUiLabels.xml Sat
>>> Dec 29 22:08:19 2012 @@ -9152,6 +9152,10 @@
>>>         <value xml:lang="zh-CN">序列编号</value>
>>>         <value xml:lang="zh-TW">序號數</value>
>>>     </property>
>>> +    <property key="CommonServerHour">
>>> +        <value xml:lang="en">Server Hour</value>
>>> +        <value xml:lang="fr">Heure du serveur </value>
>>> +    </property>
>>>     <property key="CommonServiceReturnError">
>>>         <value xml:lang="en">Return Error Service : Returning Error</value>
>>>         <value xml:lang="es">El servicio ha devuelto un error: Devolviendo 
>>> error</value>
>>> 
>>> Added: 
>>> ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl?rev=1426848&view=auto
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl 
>>> (added)
>>> +++ ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl 
>>> Sat Dec 29 22:08:19 2012
>>> @@ -0,0 +1,26 @@
>>> +<#--
>>> +Licensed to the Apache Software Foundation (ASF) under one
>>> +or more contributor license agreements.  See the NOTICE file
>>> +distributed with this work for additional information
>>> +regarding copyright ownership.  The ASF licenses this file
>>> +to you under the Apache License, Version 2.0 (the
>>> +"License"); you may not use this file except in compliance
>>> +with the License.  You may obtain a copy of the License at
>>> +
>>> +http://www.apache.org/licenses/LICENSE-2.0
>>> +
>>> +Unless required by applicable law or agreed to in writing,
>>> +software distributed under the License is distributed on an
>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> +KIND, either express or implied.  See the License for the
>>> +specific language governing permissions and limitations
>>> +under the License.
>>> +-->
>>> +<script type="text/javascript">
>>> +jQuery(document).ready(function() {
>>> +  window.setInterval(function(){clock()}, 1000);
>>> +  function clock() {
>>> +    jQuery("#${clockField}").text("${uiLabelMap.CommonServerHour}: "  + 
>>> new Date().format("yyyy-mm-dd HH:MM:ss"));
>>> +  }
>>> +})
>>> +</script>
>>> \ No newline at end of file
>>> 
>>> Propchange: 
>>> ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl
>>> ------------------------------------------------------------------------------
>>>    svn:eol-style = native
>>> 
>>> Propchange: 
>>> ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl
>>> ------------------------------------------------------------------------------
>>>    svn:keywords = Date Rev Author URL Id
>>> 
>>> Propchange: 
>>> ofbiz/trunk/framework/common/webcommon/includes/WindowSetIntervalJs.ftl
>>> ------------------------------------------------------------------------------
>>>    svn:mime-type = text/plain
>>> 
>>> Modified: ofbiz/trunk/framework/common/widget/CommonScreens.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/CommonScreens.xml?rev=1426848&r1=1426847&r2=1426848&view=diff
>>> ==============================================================================
>>>  ---
>>> ofbiz/trunk/framework/common/widget/CommonScreens.xml (original) +++ 
>>> ofbiz/trunk/framework/common/widget/CommonScreens.xml Sat
>>> Dec 29 22:08:19 2012 @@ -154,6 +154,7 @@ under the License.
>>>                 <!-- jQuery CSSs -->
>>>                 <set field="layoutSettings.styleSheets[+0]"
>>>                 
>>> value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css" 
>>> global="true" /> <set
>>> field="layoutSettings.javaScripts[]" value="/images/selectall.js" 
>>> global="true" /> +                <set
>>>                 field="layoutSettings.javaScripts[]" 
>>> value="/images/date.format-1.2.3" global="true" /> <set
>>>                 field="layoutSettings.javaScripts[]" 
>>> value="/images/fieldlookup.js" global="true" /> <set
>>>                 field="layoutSettings.javaScripts[]" 
>>> value="/images/GooglemapMarkers.js" global="true" /> <set
>>> field="layoutSettings.javaScripts[]" 
>>> value="/images/getDependentDropdownValues.js" global="true" /> 
>>> 
>>> Added: ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3?rev=1426848&view=auto
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3 (added)
>>> +++ ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3 Sat Dec 29 
>>> 22:08:19 2012
>>> @@ -0,0 +1,126 @@
>>> +/*
>>> + * Date Format 1.2.3
>>> + * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
>>> + * MIT license
>>> + *
>>> + * Includes enhancements by Scott Trenda <scott.trenda.net>
>>> + * and Kris Kowal <cixar.com/~kris.kowal/>
>>> + *
>>> + * Accepts a date, a mask, or a date and a mask.
>>> + * Returns a formatted version of the given date.
>>> + * The date defaults to the current date/time.
>>> + * The mask defaults to dateFormat.masks.default.
>>> + */
>>> +
>>> +var dateFormat = function () {
>>> +  var token = 
>>> /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
>>> +    timezone = 
>>> /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) 
>>> (?:Standard|Daylight|Prevailing)
>>> Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, +    timezoneClip = /[^-+\dA-Z]/g,
>>> +    pad = function (val, len) {
>>> +      val = String(val);
>>> +      len = len || 2;
>>> +      while (val.length < len) val = "0" + val;
>>> +      return val;
>>> +    };
>>> +
>>> +  // Regexes and supporting functions are cached through closure
>>> +  return function (date, mask, utc) {
>>> +    var dF = dateFormat;
>>> +
>>> +    // You can't provide utc if you skip other args (use the "UTC:" mask 
>>> prefix)
>>> +    if (arguments.length == 1 && Object.prototype.toString.call(date) == 
>>> "[object String]" && !/\d/.test(date)) {
>>> +      mask = date;
>>> +      date = undefined;
>>> +    }
>>> +
>>> +    // Passing date through Date applies Date.parse, if necessary
>>> +    date = date ? new Date(date) : new Date;
>>> +    if (isNaN(date)) throw SyntaxError("invalid date");
>>> +
>>> +    mask = String(dF.masks[mask] || mask || dF.masks["default"]);
>>> +
>>> +    // Allow setting the utc argument via the mask
>>> +    if (mask.slice(0, 4) == "UTC:") {
>>> +      mask = mask.slice(4);
>>> +      utc = true;
>>> +    }
>>> +
>>> +    var _ = utc ? "getUTC" : "get",
>>> +      d = date[_ + "Date"](),
>>> +      D = date[_ + "Day"](),
>>> +      m = date[_ + "Month"](),
>>> +      y = date[_ + "FullYear"](),
>>> +      H = date[_ + "Hours"](),
>>> +      M = date[_ + "Minutes"](),
>>> +      s = date[_ + "Seconds"](),
>>> +      L = date[_ + "Milliseconds"](),
>>> +      o = utc ? 0 : date.getTimezoneOffset(),
>>> +      flags = {
>>> +        d:    d,
>>> +        dd:   pad(d),
>>> +        ddd:  dF.i18n.dayNames[D],
>>> +        dddd: dF.i18n.dayNames[D + 7],
>>> +        m:    m + 1,
>>> +        mm:   pad(m + 1),
>>> +        mmm:  dF.i18n.monthNames[m],
>>> +        mmmm: dF.i18n.monthNames[m + 12],
>>> +        yy:   String(y).slice(2),
>>> +        yyyy: y,
>>> +        h:    H % 12 || 12,
>>> +        hh:   pad(H % 12 || 12),
>>> +        H:    H,
>>> +        HH:   pad(H),
>>> +        M:    M,
>>> +        MM:   pad(M),
>>> +        s:    s,
>>> +        ss:   pad(s),
>>> +        l:    pad(L, 3),
>>> +        L:    pad(L > 99 ? Math.round(L / 10) : L),
>>> +        t:    H < 12 ? "a"  : "p",
>>> +        tt:   H < 12 ? "am" : "pm",
>>> +        T:    H < 12 ? "A"  : "P",
>>> +        TT:   H < 12 ? "AM" : "PM",
>>> +        Z:    utc ? "UTC" : (String(date).match(timezone) || 
>>> [""]).pop().replace(timezoneClip, ""),
>>> +        o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 
>>> + Math.abs(o) % 60, 4),
>>> +        S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 
>>> != 10) * d % 10]
>>> +      };
>>> +
>>> +    return mask.replace(token, function ($0) {
>>> +      return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
>>> +    });
>>> +  };
>>> +}();
>>> +
>>> +// Some common format strings
>>> +dateFormat.masks = {
>>> +  "default":      "ddd mmm dd yyyy HH:MM:ss",
>>> +  shortDate:      "m/d/yy",
>>> +  mediumDate:     "mmm d, yyyy",
>>> +  longDate:       "mmmm d, yyyy",
>>> +  fullDate:       "dddd, mmmm d, yyyy",
>>> +  shortTime:      "h:MM TT",
>>> +  mediumTime:     "h:MM:ss TT",
>>> +  longTime:       "h:MM:ss TT Z",
>>> +  isoDate:        "yyyy-mm-dd",
>>> +  isoTime:        "HH:MM:ss",
>>> +  isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
>>> +  isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
>>> +};
>>> +
>>> +// Internationalization strings
>>> +dateFormat.i18n = {
>>> +  dayNames: [
>>> +    "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
>>> +    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", 
>>> "Saturday"
>>> +  ],
>>> +  monthNames: [
>>> +    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", 
>>> "Nov", "Dec",
>>> +    "January", "February", "March", "April", "May", "June", "July", 
>>> "August", "September", "October", "November", "December"
>>> +  ]
>>> +};
>>> +
>>> +// For convenience...
>>> +Date.prototype.format = function (mask, utc) {
>>> +  return dateFormat(this, mask, utc);
>>> +};
>>> +
>>> 
>>> Propchange: ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3
>>> ------------------------------------------------------------------------------
>>>    svn:eol-style = native
>>> 
>>> Propchange: ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3
>>> ------------------------------------------------------------------------------
>>>    svn:keywords = Date Rev Author URL Id
>>> 
>>> Propchange: ofbiz/trunk/framework/images/webapp/images/date.format-1.2.3
>>> ------------------------------------------------------------------------------
>>>    svn:mime-type = text/plain
>>> 
>>> Modified: ofbiz/trunk/framework/webtools/widget/ServiceForms.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/widget/ServiceForms.xml?rev=1426848&r1=1426847&r2=1426848&view=diff
>>> ==============================================================================
>>>  ---
>>> ofbiz/trunk/framework/webtools/widget/ServiceForms.xml (original) +++ 
>>> ofbiz/trunk/framework/webtools/widget/ServiceForms.xml Sat
>>> Dec 29 22:08:19 2012 @@ -55,11 +55,12 @@ under the License.
>>>     </form>
>>> 
>>>     <form name="FindJobs" type="single" target="FindJob" 
>>> default-entity-name="JobSandbox">
>>> -        <field name="noConditionFind"><hidden value="Y"/><!-- if this 
>>> isn't there then with all fields empty no query will be
>>> done --></field> 
>>> -        <field name="jobName" 
>>> title="${uiLabelMap.WebtoolsJob}"><text-find/></field>
>>> -        <field name="jobId" 
>>> title="${uiLabelMap.CommonId}"><text-find/></field>
>>> +        <field name="noConditionFind" position="1"><hidden value="Y"/><!-- 
>>> if this isn't there then with all fields empty no
>>> query will be done --></field> +        <field name="jobName" 
>>> title="${uiLabelMap.WebtoolsJob}" position="1"><text-find/></field>
>>> +        <field name="clock" position="2" 
>>> title="${uiLabelMap.CommonServerHour}:"><display/></field>
>>> +        <field name="jobId" title="${uiLabelMap.CommonId}" 
>>> position="1"><text-find/></field>
>>>         <field name="serviceName" 
>>> title="${uiLabelMap.WebtoolsServiceName}"><text-find/></field>
>>> -        <field name="statusId" title="${uiLabelMap.CommonStatus}">
>>> +        <field name="statusId" title="${uiLabelMap.CommonStatus}" 
>>> position="1">
>>>             <drop-down allow-empty="true">
>>>                 <entity-options description="${description}" 
>>> key-field-name="statusId" entity-name="StatusItem">
>>>                     <entity-constraint name="statusTypeId" 
>>> operator="equals" value="SERVICE_STATUS"/>
>>> @@ -67,7 +68,9 @@ under the License.
>>>                 </entity-options>
>>>             </drop-down>
>>>         </field>
>>> -        <field name="submitButton" 
>>> title="${uiLabelMap.CommonFind}"><submit button-type="button"/></field>
>>> +        <field name="submitButton" title="${uiLabelMap.CommonFind}" 
>>> position="1">
>>> +            <submit button-type="button"/>
>>> +        </field>
>>>     </form>
>>> 
>>>     <form name="ListJobs" type="list" list-name="listIt" 
>>> paginate-target="FindJob" default-entity-name="JobSandbox"
>>> separate-columns="true" 
>>> 
>>> Modified: ofbiz/trunk/framework/webtools/widget/ServiceScreens.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/widget/ServiceScreens.xml?rev=1426848&r1=1426847&r2=1426848&view=diff
>>> ==============================================================================
>>>  ---
>>> ofbiz/trunk/framework/webtools/widget/ServiceScreens.xml (original) +++ 
>>> ofbiz/trunk/framework/webtools/widget/ServiceScreens.xml
>>> Sat Dec 29 22:08:19 2012 @@ -49,12 +49,15 @@ under the License.
>>>                 <set field="tabButtonItem" value="findJob"/>
>>>                 <set field="jobCtx" from-field="parameters"/>
>>>                 <set field="dummy" value="${groovy: if 
>>> ('SERVICE_PENDING'.equals(jobCtx.statusId)) jobCtx.jobId = ''}"/> <!-- 
>>> To more easily see current pending jobs and possibly cancel some others --> 
>>> +                <!-- field for
>>> WindowSetIntervalJs.ftl --> +                <set field="clockField" 
>>> value="FindJobs_clock_title"/>
>>>             </actions>
>>>             <widgets>
>>>                 <decorator-screen name="CommonServiceDecorator" 
>>> location="${parameters.mainDecoratorLocation}">
>>>                     <decorator-section name="body">
>>>                         <section>
>>>                             <widgets>
>>> +                                <platform-specific><html><html-template
>>>                                
>>>                                    
>>>                                        
>>> location="component://common/webcommon/includes/WindowSetIntervalJs.ftl"/></html></platform-specific>
>>>  <decorator-screen
>>> name="FindScreenDecorator" 
>>> location="component://common/widget/CommonScreens.xml"> <decorator-section 
>>> name="search-options">
>>> <include-form name="FindJobs" 
>>> location="component://webtools/widget/ServiceForms.xml"/>
>

Reply via email to