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