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