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