You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacques Le Roux <ja...@les7arts.com> on 2012/12/29 23:23:15 UTC

Re: svn commit: r1426848 - in /ofbiz/trunk: ./ framework/common/config/ framework/common/webcommon/includes/ framework/common/widget/ framework/images/webapp/images/ framework/webtools/widget/

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"/>
> 
>