You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Michael Brohl <mi...@ecomify.de> on 2017/12/18 16:57:47 UTC
Re: svn commit: r1818580 - in /ofbiz/ofbiz-framework/trunk:
framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/
themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/
themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/1.4.1...
Jacques,
please check this commit, you have committed the Tomcat SSO stuff. The
codebase cannot be compiled.
Thanks,
Michael
Am 18.12.17 um 15:48 schrieb jleroux@apache.org:
> Author: jleroux
> Date: Mon Dec 18 14:48:04 2017
> New Revision: 1818580
>
> URL: http://svn.apache.org/viewvc?rev=1818580&view=rev
> Log:
> Improved: Upgrade Jquery 1.11.0 to JQuery 3.2.1
> (OFBIZ-9978)
>
> Updates JGrowl from 1.4.1 to 1.4.6
>
> Thanks: Aditya
>
> Added:
> ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java (with props)
> ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java (with props)
> ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java (with props)
> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css (with props)
> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js (with props)
> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css (with props)
> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js (with props)
> Removed:
> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/1.4.1/
> Modified:
> ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml
>
> Added: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java (added)
> +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java Mon Dec 18 14:48:04 2017
> @@ -0,0 +1,35 @@
> +/*******************************************************************************
> + * 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.
> + *******************************************************************************/
> +package org.apache.ofbiz.catalina.container;
> +
> +import org.apache.catalina.CredentialHandler;
> +import org.apache.ofbiz.base.crypto.HashCrypt;
> +import org.apache.ofbiz.common.login.LoginServices;
> +
> +public class HashedCredentialHandler implements CredentialHandler {
> + @Override
> + public boolean matches(String inputCredentials, String storedCredentials) {
> + return LoginServices.checkPassword(storedCredentials, true, inputCredentials);
> + }
> +
> + @Override
> + public String mutate(String inputCredentials) {
> + return HashCrypt.cryptUTF8(LoginServices.getHashType(), null, inputCredentials);
> + }
> +}
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Added: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java (added)
> +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java Mon Dec 18 14:48:04 2017
> @@ -0,0 +1,65 @@
> +/*******************************************************************************
> + * 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.
> + *******************************************************************************/
> +package org.apache.ofbiz.catalina.container;
> +
> +import java.security.Principal;
> +import java.util.ArrayList;
> +import java.util.List;
> +
> +import org.apache.catalina.realm.GenericPrincipal;
> +import org.apache.catalina.realm.RealmBase;
> +import org.apache.ofbiz.base.util.Debug;
> +import org.apache.ofbiz.entity.Delegator;
> +import org.apache.ofbiz.entity.DelegatorFactory;
> +import org.apache.ofbiz.entity.GenericEntityException;
> +import org.apache.ofbiz.entity.GenericValue;
> +import org.apache.ofbiz.entity.util.EntityQuery;
> +
> +public class OFBizRealm extends RealmBase
> +{
> + public static final String module = OFBizRealm.class.getName();
> +
> + @Override
> + protected String getName() {
> + return "OFBizRealm";
> + }
> +
> + @Override
> + protected String getPassword(String username) {
> + Delegator delegator = DelegatorFactory.getDelegator(null);
> + try {
> + GenericValue userLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", username).queryOne();
> + if (userLogin!=null){
> + return userLogin.getString("currentPassword");
> + }
> + } catch (GenericEntityException e) {
> + Debug.logError(e, module);
> + }
> + return null;
> + }
> +
> + @Override
> + protected Principal getPrincipal(String username) {
> + List<String> roles = new ArrayList<>();
> + return new GenericPrincipal(username,
> + getPassword(username),
> + roles);
> + }
> +
> +}
> \ No newline at end of file
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Added: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java (added)
> +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java Mon Dec 18 14:48:04 2017
> @@ -0,0 +1,37 @@
> +/*******************************************************************************
> + * 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.
> + *******************************************************************************/
> +package org.apache.ofbiz.catalina.container;
> +
> +import org.apache.catalina.CredentialHandler;
> +import org.apache.ofbiz.common.login.LoginServices;
> +
> +
> +public class SimpleCredentialHandler implements CredentialHandler {
> + @Override
> + public boolean matches(String inputCredentials, String storedCredentials) {
> + return LoginServices.checkPassword(storedCredentials, false, inputCredentials);
> + }
> +
> + @Override
> + public String mutate(String inputCredentials) {
> + // when password.encrypt=false, password is stored as clear text in the database.
> + // no need to encrypt this input password.
> + return null;
> + }
> +}
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css (added)
> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css Mon Dec 18 14:48:04 2017
> @@ -0,0 +1,100 @@
> +.jGrowl {
> + z-index: 9999;
> + color: #ffffff;
> + font-size: 12px;
> + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
> + position: fixed;
> +}
> +.jGrowl.top-left {
> + left: 0px;
> + top: 0px;
> +}
> +.jGrowl.top-right {
> + right: 0px;
> + top: 0px;
> +}
> +.jGrowl.bottom-left {
> + left: 0px;
> + bottom: 0px;
> +}
> +.jGrowl.bottom-right {
> + right: 0px;
> + bottom: 0px;
> +}
> +.jGrowl.center {
> + top: 0px;
> + width: 50%;
> + left: 25%;
> +}
> +.jGrowl.center .jGrowl-notification,
> +.jGrowl.center .jGrowl-closer {
> + margin-left: auto;
> + margin-right: auto;
> +}
> +.jGrowl-notification {
> + background-color: #000000;
> + opacity: 0.9;
> + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
> + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
> + zoom: 1;
> + width: 250px;
> + padding: 10px;
> + margin: 10px;
> + text-align: left;
> + display: none;
> + border-radius: 5px;
> + min-height: 40px;
> +}
> +.jGrowl-notification .ui-state-highlight,
> +.jGrowl-notification .ui-widget-content .ui-state-highlight,
> +.jGrowl-notification .ui-widget-header .ui-state-highlight {
> + border: 1px solid #000;
> + background: #000;
> + color: #fff;
> +}
> +.jGrowl-notification .jGrowl-header {
> + font-weight: bold;
> + font-size: .85em;
> +}
> +.jGrowl-notification .jGrowl-close {
> + background-color: transparent;
> + color: inherit;
> + border: none;
> + z-index: 99;
> + float: right;
> + font-weight: bold;
> + font-size: 1em;
> + cursor: pointer;
> +}
> +.jGrowl-closer {
> + background-color: #000000;
> + opacity: 0.9;
> + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
> + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
> + zoom: 1;
> + width: 250px;
> + padding: 10px;
> + margin: 10px;
> + text-align: left;
> + display: none;
> + border-radius: 5px;
> + padding-top: 4px;
> + padding-bottom: 4px;
> + cursor: pointer;
> + font-size: .9em;
> + font-weight: bold;
> + text-align: center;
> +}
> +.jGrowl-closer .ui-state-highlight,
> +.jGrowl-closer .ui-widget-content .ui-state-highlight,
> +.jGrowl-closer .ui-widget-header .ui-state-highlight {
> + border: 1px solid #000;
> + background: #000;
> + color: #fff;
> +}
> +/** Hide jGrowl when printing **/
> +@media print {
> + .jGrowl {
> + display: none;
> + }
> +}
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
> ------------------------------------------------------------------------------
> svn:mime-type = text/css
>
> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js (added)
> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js Mon Dec 18 14:48:04 2017
> @@ -0,0 +1,399 @@
> +/**
> + * jGrowl 1.4.5
> + *
> + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
> + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
> + *
> + * Written by Stan Lemon <st...@gmail.com>
> + * Last updated: 2015.02.01
> + *
> + * jGrowl is a jQuery plugin implementing unobtrusive userland notifications. These
> + * notifications function similarly to the Growl Framework available for
> + * Mac OS X (http://growl.info).
> + *
> + * To Do:
> + * - Move library settings to containers and allow them to be changed per container
> + *
> + * Changes in 1.4.5
> + * - Fixed arguement list for click callback, thanks @timotheeg
> + *
> + * Changes in 1.4.4
> + * - Revert word-break changes, thanks @curtisgibby
> + *
> + * Changes in 1.4.3
> + * - Fixed opactiy in LESS for older version of IE
> + *
> + * Changes in 1.4.2
> + * - Added word-break to less/css
> + *
> + * Changes in 1.4.1
> + * - Added appendTo option
> + * - jQuery compatibility updates
> + * - Add check for closing a notification before it opens
> + *
> + * Changes in 1.4.0
> + * - Removed IE6 support
> + * - Added LESS support
> + *
> + * Changes in 1.3.0
> + * - Added non-vendor border-radius to stylesheet
> + * - Added grunt for generating minified js and css
> + * - Added npm package info
> + * - Added bower package info
> + * - Updates for jshint
> + *
> + * Changes in 1.2.13
> + * - Fixed clearing interval when the container shuts down
> + *
> + * Changes in 1.2.12
> + * - Added compressed versions using UglifyJS and Sqwish
> + * - Improved README with configuration options explanation
> + * - Added a source map
> + *
> + * Changes in 1.2.11
> + * - Fix artifacts left behind by the shutdown method and text-cleanup
> + *
> + * Changes in 1.2.10
> + * - Fix beforeClose to be called in click event
> + *
> + * Changes in 1.2.9
> + * - Fixed BC break in jQuery 2.0 beta
> + *
> + * Changes in 1.2.8
> + * - Fixes for jQuery 1.9 and the MSIE6 check, note that with jQuery 2.0 support
> + * jGrowl intends to drop support for IE6 altogether
> + *
> + * Changes in 1.2.6
> + * - Fixed js error when a notification is opening and closing at the same time
> + *
> + * Changes in 1.2.5
> + * - Changed wrapper jGrowl's options usage to "o" instead of $.jGrowl.defaults
> + * - Added themeState option to control 'highlight' or 'error' for jQuery UI
> + * - Ammended some CSS to provide default positioning for nested usage.
> + * - Changed some CSS to be prefixed with jGrowl- to prevent namespacing issues
> + * - Added two new options - openDuration and closeDuration to allow
> + * better control of notification open and close speeds, respectively
> + * Patch contributed by Jesse Vincet.
> + * - Added afterOpen callback. Patch contributed by Russel Branca.
> + *
> + * Changes in 1.2.4
> + * - Fixed IE bug with the close-all button
> + * - Fixed IE bug with the filter CSS attribute (special thanks to gotwic)
> + * - Update IE opacity CSS
> + * - Changed font sizes to use "em", and only set the base style
> + *
> + * Changes in 1.2.3
> + * - The callbacks no longer use the container as context, instead they use the actual notification
> + * - The callbacks now receive the container as a parameter after the options parameter
> + * - beforeOpen and beforeClose now check the return value, if it's false - the notification does
> + * not continue. The open callback will also halt execution if it returns false.
> + * - Fixed bug where containers would get confused
> + * - Expanded the pause functionality to pause an entire container.
> + *
> + * Changes in 1.2.2
> + * - Notification can now be theme rolled for jQuery UI, special thanks to Jeff Chan!
> + *
> + * Changes in 1.2.1
> + * - Fixed instance where the interval would fire the close method multiple times.
> + * - Added CSS to hide from print media
> + * - Fixed issue with closer button when div { position: relative } is set
> + * - Fixed leaking issue with multiple containers. Special thanks to Matthew Hanlon!
> + *
> + * Changes in 1.2.0
> + * - Added message pooling to limit the number of messages appearing at a given time.
> + * - Closing a notification is now bound to the notification object and triggered by the close button.
> + *
> + * Changes in 1.1.2
> + * - Added iPhone styled example
> + * - Fixed possible IE7 bug when determining if the ie6 class shoudl be applied.
> + * - Added template for the close button, so that it's content could be customized.
> + *
> + * Changes in 1.1.1
> + * - Fixed CSS styling bug for ie6 caused by a mispelling
> + * - Changes height restriction on default notifications to min-height
> + * - Added skinned examples using a variety of images
> + * - Added the ability to customize the content of the [close all] box
> + * - Added jTweet, an example of using jGrowl + Twitter
> + *
> + * Changes in 1.1.0
> + * - Multiple container and instances.
> + * - Standard $.jGrowl() now wraps $.fn.jGrowl() by first establishing a generic jGrowl container.
> + * - Instance methods of a jGrowl container can be called by $.fn.jGrowl(methodName)
> + * - Added glue preferenced, which allows notifications to be inserted before or after nodes in the container
> + * - Added new log callback which is called before anything is done for the notification
> + * - Corner's attribute are now applied on an individual notification basis.
> + *
> + * Changes in 1.0.4
> + * - Various CSS fixes so that jGrowl renders correctly in IE6.
> + *
> + * Changes in 1.0.3
> + * - Fixed bug with options persisting across notifications
> + * - Fixed theme application bug
> + * - Simplified some selectors and manipulations.
> + * - Added beforeOpen and beforeClose callbacks
> + * - Reorganized some lines of code to be more readable
> + * - Removed unnecessary this.defaults context
> + * - If corners plugin is present, it's now customizable.
> + * - Customizable open animation.
> + * - Customizable close animation.
> + * - Customizable animation easing.
> + * - Added customizable positioning (top-left, top-right, bottom-left, bottom-right, center)
> + *
> + * Changes in 1.0.2
> + * - All CSS styling is now external.
> + * - Added a theme parameter which specifies a secondary class for styling, such
> + * that notifications can be customized in appearance on a per message basis.
> + * - Notification life span is now customizable on a per message basis.
> + * - Added the ability to disable the global closer, enabled by default.
> + * - Added callbacks for when a notification is opened or closed.
> + * - Added callback for the global closer.
> + * - Customizable animation speed.
> + * - jGrowl now set itself up and tears itself down.
> + *
> + * Changes in 1.0.1:
> + * - Removed dependency on metadata plugin in favor of .data()
> + * - Namespaced all events
> + */
> +(function($) {
> + /** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
> + $.jGrowl = function( m , o ) {
> + // To maintain compatibility with older version that only supported one instance we'll create the base container.
> + if ( $('#jGrowl').length === 0 )
> + $('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo( (o && o.appendTo) ? o.appendTo : $.jGrowl.defaults.appendTo );
> +
> + // Create a notification on the container.
> + $('#jGrowl').jGrowl(m,o);
> + };
> +
> +
> + /** Raise jGrowl Notification on a jGrowl Container **/
> + $.fn.jGrowl = function( m , o ) {
> + // Short hand for passing in just an object to this method
> + if ( o === undefined && $.isPlainObject(m) ) {
> + o = m;
> + m = o.message;
> + }
> +
> + if ( $.isFunction(this.each) ) {
> + var args = arguments;
> +
> + return this.each(function() {
> + /** Create a jGrowl Instance on the Container if it does not exist **/
> + if ( $(this).data('jGrowl.instance') === undefined ) {
> + $(this).data('jGrowl.instance', $.extend( new $.fn.jGrowl(), { notifications: [], element: null, interval: null } ));
> + $(this).data('jGrowl.instance').startup( this );
> + }
> +
> + /** Optionally call jGrowl instance methods, or just raise a normal notification **/
> + if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) {
> + $(this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) );
> + } else {
> + $(this).data('jGrowl.instance').create( m , o );
> + }
> + });
> + }
> + };
> +
> + $.extend( $.fn.jGrowl.prototype , {
> +
> + /** Default JGrowl Settings **/
> + defaults: {
> + pool: 0,
> + header: '',
> + group: '',
> + sticky: false,
> + position: 'top-right',
> + appendTo: 'body',
> + glue: 'after',
> + theme: 'default',
> + themeState: 'highlight',
> + corners: '10px',
> + check: 250,
> + life: 3000,
> + closeDuration: 'normal',
> + openDuration: 'normal',
> + easing: 'swing',
> + closer: true,
> + closeTemplate: '×',
> + closerTemplate: '<div>[ close all ]</div>',
> + log: function() {},
> + beforeOpen: function() {},
> + afterOpen: function() {},
> + open: function() {},
> + beforeClose: function() {},
> + close: function() {},
> + click: function() {},
> + animateOpen: {
> + opacity: 'show'
> + },
> + animateClose: {
> + opacity: 'hide'
> + }
> + },
> +
> + notifications: [],
> +
> + /** jGrowl Container Node **/
> + element: null,
> +
> + /** Interval Function **/
> + interval: null,
> +
> + /** Create a Notification **/
> + create: function( message , options ) {
> + var o = $.extend({}, this.defaults, options);
> +
> + /* To keep backward compatibility with 1.24 and earlier, honor 'speed' if the user has set it */
> + if (typeof o.speed !== 'undefined') {
> + o.openDuration = o.speed;
> + o.closeDuration = o.speed;
> + }
> +
> + this.notifications.push({ message: message , options: o });
> +
> + o.log.apply( this.element , [this.element,message,o] );
> + },
> +
> + render: function( n ) {
> + var self = this;
> + var message = n.message;
> + var o = n.options;
> +
> + // Support for jQuery theme-states, if this is not used it displays a widget header
> + o.themeState = (o.themeState === '') ? '' : 'ui-state-' + o.themeState;
> +
> + var notification = $('<div/>')
> + .addClass('jGrowl-notification alert ' + o.themeState + ' ui-corner-all' + ((o.group !== undefined && o.group !== '') ? ' ' + o.group : ''))
> + .append($('<button/>').addClass('jGrowl-close').html(o.closeTemplate))
> + .append($('<div/>').addClass('jGrowl-header').html(o.header))
> + .append($('<div/>').addClass('jGrowl-message').html(message))
> + .data("jGrowl", o).addClass(o.theme).children('.jGrowl-close').bind("click.jGrowl", function() {
> + $(this).parent().trigger('jGrowl.beforeClose');
> + return false;
> + })
> + .parent();
> +
> +
> + /** Notification Actions **/
> + $(notification).bind("mouseover.jGrowl", function() {
> + $('.jGrowl-notification', self.element).data("jGrowl.pause", true);
> + }).bind("mouseout.jGrowl", function() {
> + $('.jGrowl-notification', self.element).data("jGrowl.pause", false);
> + }).bind('jGrowl.beforeOpen', function() {
> + if ( o.beforeOpen.apply( notification , [notification,message,o,self.element] ) !== false ) {
> + $(this).trigger('jGrowl.open');
> + }
> + }).bind('jGrowl.open', function() {
> + if ( o.open.apply( notification , [notification,message,o,self.element] ) !== false ) {
> + if ( o.glue == 'after' ) {
> + $('.jGrowl-notification:last', self.element).after(notification);
> + } else {
> + $('.jGrowl-notification:first', self.element).before(notification);
> + }
> +
> + $(this).animate(o.animateOpen, o.openDuration, o.easing, function() {
> + // Fixes some anti-aliasing issues with IE filters.
> + if ($.support.opacity === false)
> + this.style.removeAttribute('filter');
> +
> + if ( $(this).data("jGrowl") !== null && typeof $(this).data("jGrowl") !== 'undefined') // Happens when a notification is closing before it's open.
> + $(this).data("jGrowl").created = new Date();
> +
> + $(this).trigger('jGrowl.afterOpen');
> + });
> + }
> + }).bind('jGrowl.afterOpen', function() {
> + o.afterOpen.apply( notification , [notification,message,o,self.element] );
> + }).bind('click', function() {
> + o.click.apply( notification, [notification,message,o,self.element] );
> + }).bind('jGrowl.beforeClose', function() {
> + if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) !== false )
> + $(this).trigger('jGrowl.close');
> + }).bind('jGrowl.close', function() {
> + // Pause the notification, lest during the course of animation another close event gets called.
> + $(this).data('jGrowl.pause', true);
> + $(this).animate(o.animateClose, o.closeDuration, o.easing, function() {
> + if ( $.isFunction(o.close) ) {
> + if ( o.close.apply( notification , [notification,message,o,self.element] ) !== false )
> + $(this).remove();
> + } else {
> + $(this).remove();
> + }
> + });
> + }).trigger('jGrowl.beforeOpen');
> +
> + /** Optional Corners Plugin **/
> + if ( o.corners !== '' && $.fn.corner !== undefined ) $(notification).corner( o.corners );
> +
> + /** Add a Global Closer if more than one notification exists **/
> + if ($('.jGrowl-notification:parent', self.element).length > 1 &&
> + $('.jGrowl-closer', self.element).length === 0 && this.defaults.closer !== false ) {
> + $(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme)
> + .appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing)
> + .bind("click.jGrowl", function() {
> + $(this).siblings().trigger("jGrowl.beforeClose");
> +
> + if ( $.isFunction( self.defaults.closer ) ) {
> + self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] );
> + }
> + });
> + }
> + },
> +
> + /** Update the jGrowl Container, removing old jGrowl notifications **/
> + update: function() {
> + $(this.element).find('.jGrowl-notification:parent').each( function() {
> + if ($(this).data("jGrowl") !== undefined && $(this).data("jGrowl").created !== undefined &&
> + ($(this).data("jGrowl").created.getTime() + parseInt($(this).data("jGrowl").life, 10)) < (new Date()).getTime() &&
> + $(this).data("jGrowl").sticky !== true &&
> + ($(this).data("jGrowl.pause") === undefined || $(this).data("jGrowl.pause") !== true) ) {
> +
> + // Pause the notification, lest during the course of animation another close event gets called.
> + $(this).trigger('jGrowl.beforeClose');
> + }
> + });
> +
> + if (this.notifications.length > 0 &&
> + (this.defaults.pool === 0 || $(this.element).find('.jGrowl-notification:parent').length < this.defaults.pool) )
> + this.render( this.notifications.shift() );
> +
> + if ($(this.element).find('.jGrowl-notification:parent').length < 2 ) {
> + $(this.element).find('.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
> + $(this).remove();
> + });
> + }
> + },
> +
> + /** Setup the jGrowl Notification Container **/
> + startup: function(e) {
> + this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');
> + this.interval = setInterval( function() {
> + // some error in chage ^^
> + var instance = $(e).data('jGrowl.instance');
> + if (undefined !== instance) {
> + instance.update();
> + }
> + }, parseInt(this.defaults.check, 10));
> + },
> +
> + /** Shutdown jGrowl, removing it and clearing the interval **/
> + shutdown: function() {
> + $(this.element).removeClass('jGrowl')
> + .find('.jGrowl-notification').trigger('jGrowl.close')
> + .parent().empty()
> + ;
> +
> + clearInterval(this.interval);
> + },
> +
> + close: function() {
> + $(this.element).find('.jGrowl-notification').each(function(){
> + $(this).trigger('jGrowl.beforeClose');
> + });
> + }
> + });
> +
> + /** Reference the Defaults Object for compatibility with older versions of jGrowl **/
> + $.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;
> +
> +})(jQuery);
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css (added)
> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css Mon Dec 18 14:48:04 2017
> @@ -0,0 +1 @@
> +.jGrowl{z-index:9999;color:#fff;font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:fixed}.jGrowl.top-left{left:0;top:0}.jGrowl.top-right{right:0;top:0}.jGrowl.bottom-left{left:0;bottom:0}.jGrowl.bottom-right{right:0;bottom:0}.jGrowl.center{top:0;width:50%;left:25%}.jGrowl.center .jGrowl-closer,.jGrowl.center .jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl-notification{background-color:#000;opacity:.9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));zoom:1;width:250px;padding:10px;margin:10px;text-align:left;display:none;border-radius:5px;min-height:40px}.jGrowl-notification .ui-state-highlight,.jGrowl-notification .ui-widget-content .ui-state-highlight,.jGrowl-notification .ui-widget-header .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}.jGrowl-notification .jGrowl-header{font-weight:700;font-size:.85em}.jGrowl-notification .jGrowl
> -close{background-color:transparent;color:inherit;border:none;z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}.jGrowl-closer{background-color:#000;opacity:.9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));zoom:1;width:250px;padding:10px;margin:10px;display:none;border-radius:5px;padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}.jGrowl-closer .ui-state-highlight,.jGrowl-closer .ui-widget-content .ui-state-highlight,.jGrowl-closer .ui-widget-header .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}@media print{.jGrowl{display:none}}
> \ No newline at end of file
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
> ------------------------------------------------------------------------------
> svn:mime-type = text/css
>
> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js?rev=1818580&view=auto
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js (added)
> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js Mon Dec 18 14:48:04 2017
> @@ -0,0 +1,2 @@
> +!function(a){a.jGrowl=function(b,c){0===a("#jGrowl").length&&a('<div id="jGrowl"></div>').addClass(c&&c.position?c.position:a.jGrowl.defaults.position).appendTo(c&&c.appendTo?c.appendTo:a.jGrowl.defaults.appendTo),a("#jGrowl").jGrowl(b,c)},a.fn.jGrowl=function(b,c){if(void 0===c&&a.isPlainObject(b)&&(c=b,b=c.message),a.isFunction(this.each)){var d=arguments;return this.each(function(){void 0===a(this).data("jGrowl.instance")&&(a(this).data("jGrowl.instance",a.extend(new a.fn.jGrowl,{notifications:[],element:null,interval:null})),a(this).data("jGrowl.instance").startup(this)),a.isFunction(a(this).data("jGrowl.instance")[b])?a(this).data("jGrowl.instance")[b].apply(a(this).data("jGrowl.instance"),a.makeArray(d).slice(1)):a(this).data("jGrowl.instance").create(b,c)})}},a.extend(a.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",appendTo:"body",glue:"after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:3e3,closeDuration:"norm
> al",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"×",closerTemplate:"<div>[ close all ]</div>",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},click:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(b,c){var d=a.extend({},this.defaults,c);"undefined"!=typeof d.speed&&(d.openDuration=d.speed,d.closeDuration=d.speed),this.notifications.push({message:b,options:d}),d.log.apply(this.element,[this.element,b,d])},render:function(b){var c=this,d=b.message,e=b.options;e.themeState=""===e.themeState?"":"ui-state-"+e.themeState;var f=a("<div/>").addClass("jGrowl-notification alert "+e.themeState+" ui-corner-all"+(void 0!==e.group&&""!==e.group?" "+e.group:"")).append(a("<button/>").addClass("jGrowl-close").html(e.closeTemplate)).append(a("<div/>").addClass("jGrowl-header").html(e.header)).append(a("<div/>").addCla
> ss("jGrowl-message").html(d)).data("jGrowl",e).addClass(e.theme).children(".jGrowl-close").bind("click.jGrowl",function(){return a(this).parent().trigger("jGrowl.beforeClose"),!1}).parent();a(f).bind("mouseover.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){e.beforeOpen.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){e.open.apply(f,[f,d,e,c.element])!==!1&&("after"==e.glue?a(".jGrowl-notification:last",c.element).after(f):a(".jGrowl-notification:first",c.element).before(f),a(this).animate(e.animateOpen,e.openDuration,e.easing,function(){a.support.opacity===!1&&this.style.removeAttribute("filter"),null!==a(this).data("jGrowl")&&"undefined"!=typeof a(this).data("jGrowl")&&(a(this).data("jGrowl").created=new Date),a(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpe
> n",function(){e.afterOpen.apply(f,[f,d,e,c.element])}).bind("click",function(){e.click.apply(f,[f,d,e,c.element])}).bind("jGrowl.beforeClose",function(){e.beforeClose.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){a(this).data("jGrowl.pause",!0),a(this).animate(e.animateClose,e.closeDuration,e.easing,function(){a.isFunction(e.close)?e.close.apply(f,[f,d,e,c.element])!==!1&&a(this).remove():a(this).remove()})}).trigger("jGrowl.beforeOpen"),""!==e.corners&&void 0!==a.fn.corner&&a(f).corner(e.corners),a(".jGrowl-notification:parent",c.element).length>1&&0===a(".jGrowl-closer",c.element).length&&this.defaults.closer!==!1&&a(this.defaults.closerTemplate).addClass("jGrowl-closer "+this.defaults.themeState+" ui-corner-all").addClass(this.defaults.theme).appendTo(c.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){a(this).siblings().trigger("jGrowl.beforeClose"),a.isFunction(
> c.defaults.closer)&&c.defaults.closer.apply(a(this).parent()[0],[a(this).parent()[0]])})},update:function(){a(this.element).find(".jGrowl-notification:parent").each(function(){void 0!==a(this).data("jGrowl")&&void 0!==a(this).data("jGrowl").created&&a(this).data("jGrowl").created.getTime()+parseInt(a(this).data("jGrowl").life,10)<(new Date).getTime()&&a(this).data("jGrowl").sticky!==!0&&(void 0===a(this).data("jGrowl.pause")||a(this).data("jGrowl.pause")!==!0)&&a(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0===this.defaults.pool||a(this.element).find(".jGrowl-notification:parent").length<this.defaults.pool)&&this.render(this.notifications.shift()),a(this.element).find(".jGrowl-notification:parent").length<2&&a(this.element).find(".jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){a(this).remove()})},startup:function(b){this.element=a(b).addClass("jGrowl").append('<div class="jGrowl-notification"></div>'),th
> is.interval=setInterval(function(){var c=a(b).data("jGrowl.instance");void 0!==c&&c.update()},parseInt(this.defaults.check,10))},shutdown:function(){a(this.element).removeClass("jGrowl").find(".jGrowl-notification").trigger("jGrowl.close").parent().empty(),clearInterval(this.interval)},close:function(){a(this.element).find(".jGrowl-notification").each(function(){a(this).trigger("jGrowl.beforeClose")})}}),a.jGrowl.defaults=a.fn.jGrowl.prototype.defaults}(jQuery);
> +//# sourceMappingURL=jquery.jgrowl.map
> \ No newline at end of file
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
> ------------------------------------------------------------------------------
> svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Modified: ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml
> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml?rev=1818580&r1=1818579&r2=1818580&view=diff
> ==============================================================================
> --- ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml (original)
> +++ ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml Mon Dec 18 14:48:04 2017
> @@ -128,8 +128,8 @@ under the License.
> <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.apache.ofbiz.common.JsLanguageFilesMapping.dateTime.getFilePath(initialLocaleComplete)}" global="true" />
> <!-- Jgrowl -->
> <set field="layoutSettings.javaScripts[]" value="/common/js/jquery/plugins/Readmore.js-master/readmore.js" global="true"/>
> - <set field="layoutSettings.javaScripts[]" value="/common/js/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js" global="true"/>
> - <set field="layoutSettings.styleSheets[+0]" value="/common/js/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css" global="true" />
> + <set field="layoutSettings.javaScripts[]" value="/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js" global="true"/>
> + <set field="layoutSettings.styleSheets[+0]" value="/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css" global="true" />
> <!-- Set default user locale from browser -->
> <set field="layoutSettings.javaScripts[+0]" value="/common/js/util/setUserLocale.js"/>
> <set field="layoutSettings.javaScripts[+0]" value="/images/moment-timezone-with-data.min.js" global="true"/>
>
>
>
Re: svn commit: r1818580 - in /ofbiz/ofbiz-framework/trunk:
framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/
themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/
themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/1.4.1...
Posted by Jacques Le Roux <ja...@les7arts.com>.
Just fixed, sorry
Jacques
Le 18/12/2017 à 17:57, Michael Brohl a écrit :
> Jacques,
>
> please check this commit, you have committed the Tomcat SSO stuff. The codebase cannot be compiled.
>
> Thanks,
>
> Michael
>
>
> Am 18.12.17 um 15:48 schrieb jleroux@apache.org:
>> Author: jleroux
>> Date: Mon Dec 18 14:48:04 2017
>> New Revision: 1818580
>>
>> URL: http://svn.apache.org/viewvc?rev=1818580&view=rev
>> Log:
>> Improved: Upgrade Jquery 1.11.0 to JQuery 3.2.1
>> (OFBIZ-9978)
>>
>> Updates JGrowl from 1.4.1 to 1.4.6
>>
>> Thanks: Aditya
>>
>> Added:
>> ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java (with props)
>> ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java (with props)
>> ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java (with props)
>> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css (with props)
>> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js (with props)
>> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css (with props)
>> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js (with props)
>> Removed:
>> ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/1.4.1/
>> Modified:
>> ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml
>>
>> Added: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java (added)
>> +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java Mon Dec 18
>> 14:48:04 2017
>> @@ -0,0 +1,35 @@
>> +/*******************************************************************************
>> + * 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.
>> + *******************************************************************************/
>> +package org.apache.ofbiz.catalina.container;
>> +
>> +import org.apache.catalina.CredentialHandler;
>> +import org.apache.ofbiz.base.crypto.HashCrypt;
>> +import org.apache.ofbiz.common.login.LoginServices;
>> +
>> +public class HashedCredentialHandler implements CredentialHandler {
>> + @Override
>> + public boolean matches(String inputCredentials, String storedCredentials) {
>> + return LoginServices.checkPassword(storedCredentials, true, inputCredentials);
>> + }
>> +
>> + @Override
>> + public String mutate(String inputCredentials) {
>> + return HashCrypt.cryptUTF8(LoginServices.getHashType(), null, inputCredentials);
>> + }
>> +}
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/HashedCredentialHandler.java
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/plain
>>
>> Added: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java (added)
>> +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java Mon Dec 18 14:48:04 2017
>> @@ -0,0 +1,65 @@
>> +/*******************************************************************************
>> + * 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.
>> + *******************************************************************************/
>> +package org.apache.ofbiz.catalina.container;
>> +
>> +import java.security.Principal;
>> +import java.util.ArrayList;
>> +import java.util.List;
>> +
>> +import org.apache.catalina.realm.GenericPrincipal;
>> +import org.apache.catalina.realm.RealmBase;
>> +import org.apache.ofbiz.base.util.Debug;
>> +import org.apache.ofbiz.entity.Delegator;
>> +import org.apache.ofbiz.entity.DelegatorFactory;
>> +import org.apache.ofbiz.entity.GenericEntityException;
>> +import org.apache.ofbiz.entity.GenericValue;
>> +import org.apache.ofbiz.entity.util.EntityQuery;
>> +
>> +public class OFBizRealm extends RealmBase
>> +{
>> + public static final String module = OFBizRealm.class.getName();
>> +
>> + @Override
>> + protected String getName() {
>> + return "OFBizRealm";
>> + }
>> +
>> + @Override
>> + protected String getPassword(String username) {
>> + Delegator delegator = DelegatorFactory.getDelegator(null);
>> + try {
>> + GenericValue userLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", username).queryOne();
>> + if (userLogin!=null){
>> + return userLogin.getString("currentPassword");
>> + }
>> + } catch (GenericEntityException e) {
>> + Debug.logError(e, module);
>> + }
>> + return null;
>> + }
>> +
>> + @Override
>> + protected Principal getPrincipal(String username) {
>> + List<String> roles = new ArrayList<>();
>> + return new GenericPrincipal(username,
>> + getPassword(username),
>> + roles);
>> + }
>> +
>> +}
>> \ No newline at end of file
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/OFBizRealm.java
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/plain
>>
>> Added: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java (added)
>> +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java Mon Dec 18
>> 14:48:04 2017
>> @@ -0,0 +1,37 @@
>> +/*******************************************************************************
>> + * 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.
>> + *******************************************************************************/
>> +package org.apache.ofbiz.catalina.container;
>> +
>> +import org.apache.catalina.CredentialHandler;
>> +import org.apache.ofbiz.common.login.LoginServices;
>> +
>> +
>> +public class SimpleCredentialHandler implements CredentialHandler {
>> + @Override
>> + public boolean matches(String inputCredentials, String storedCredentials) {
>> + return LoginServices.checkPassword(storedCredentials, false, inputCredentials);
>> + }
>> +
>> + @Override
>> + public String mutate(String inputCredentials) {
>> + // when password.encrypt=false, password is stored as clear text in the database.
>> + // no need to encrypt this input password.
>> + return null;
>> + }
>> +}
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/SimpleCredentialHandler.java
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/plain
>>
>> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css (added)
>> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css Mon Dec 18 14:48:04 2017
>> @@ -0,0 +1,100 @@
>> +.jGrowl {
>> + z-index: 9999;
>> + color: #ffffff;
>> + font-size: 12px;
>> + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
>> + position: fixed;
>> +}
>> +.jGrowl.top-left {
>> + left: 0px;
>> + top: 0px;
>> +}
>> +.jGrowl.top-right {
>> + right: 0px;
>> + top: 0px;
>> +}
>> +.jGrowl.bottom-left {
>> + left: 0px;
>> + bottom: 0px;
>> +}
>> +.jGrowl.bottom-right {
>> + right: 0px;
>> + bottom: 0px;
>> +}
>> +.jGrowl.center {
>> + top: 0px;
>> + width: 50%;
>> + left: 25%;
>> +}
>> +.jGrowl.center .jGrowl-notification,
>> +.jGrowl.center .jGrowl-closer {
>> + margin-left: auto;
>> + margin-right: auto;
>> +}
>> +.jGrowl-notification {
>> + background-color: #000000;
>> + opacity: 0.9;
>> + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
>> + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
>> + zoom: 1;
>> + width: 250px;
>> + padding: 10px;
>> + margin: 10px;
>> + text-align: left;
>> + display: none;
>> + border-radius: 5px;
>> + min-height: 40px;
>> +}
>> +.jGrowl-notification .ui-state-highlight,
>> +.jGrowl-notification .ui-widget-content .ui-state-highlight,
>> +.jGrowl-notification .ui-widget-header .ui-state-highlight {
>> + border: 1px solid #000;
>> + background: #000;
>> + color: #fff;
>> +}
>> +.jGrowl-notification .jGrowl-header {
>> + font-weight: bold;
>> + font-size: .85em;
>> +}
>> +.jGrowl-notification .jGrowl-close {
>> + background-color: transparent;
>> + color: inherit;
>> + border: none;
>> + z-index: 99;
>> + float: right;
>> + font-weight: bold;
>> + font-size: 1em;
>> + cursor: pointer;
>> +}
>> +.jGrowl-closer {
>> + background-color: #000000;
>> + opacity: 0.9;
>> + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
>> + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
>> + zoom: 1;
>> + width: 250px;
>> + padding: 10px;
>> + margin: 10px;
>> + text-align: left;
>> + display: none;
>> + border-radius: 5px;
>> + padding-top: 4px;
>> + padding-bottom: 4px;
>> + cursor: pointer;
>> + font-size: .9em;
>> + font-weight: bold;
>> + text-align: center;
>> +}
>> +.jGrowl-closer .ui-state-highlight,
>> +.jGrowl-closer .ui-widget-content .ui-state-highlight,
>> +.jGrowl-closer .ui-widget-header .ui-state-highlight {
>> + border: 1px solid #000;
>> + background: #000;
>> + color: #fff;
>> +}
>> +/** Hide jGrowl when printing **/
>> +@media print {
>> + .jGrowl {
>> + display: none;
>> + }
>> +}
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.css
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/css
>>
>> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js (added)
>> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js Mon Dec 18 14:48:04 2017
>> @@ -0,0 +1,399 @@
>> +/**
>> + * jGrowl 1.4.5
>> + *
>> + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
>> + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
>> + *
>> + * Written by Stan Lemon <st...@gmail.com>
>> + * Last updated: 2015.02.01
>> + *
>> + * jGrowl is a jQuery plugin implementing unobtrusive userland notifications. These
>> + * notifications function similarly to the Growl Framework available for
>> + * Mac OS X (http://growl.info).
>> + *
>> + * To Do:
>> + * - Move library settings to containers and allow them to be changed per container
>> + *
>> + * Changes in 1.4.5
>> + * - Fixed arguement list for click callback, thanks @timotheeg
>> + *
>> + * Changes in 1.4.4
>> + * - Revert word-break changes, thanks @curtisgibby
>> + *
>> + * Changes in 1.4.3
>> + * - Fixed opactiy in LESS for older version of IE
>> + *
>> + * Changes in 1.4.2
>> + * - Added word-break to less/css
>> + *
>> + * Changes in 1.4.1
>> + * - Added appendTo option
>> + * - jQuery compatibility updates
>> + * - Add check for closing a notification before it opens
>> + *
>> + * Changes in 1.4.0
>> + * - Removed IE6 support
>> + * - Added LESS support
>> + *
>> + * Changes in 1.3.0
>> + * - Added non-vendor border-radius to stylesheet
>> + * - Added grunt for generating minified js and css
>> + * - Added npm package info
>> + * - Added bower package info
>> + * - Updates for jshint
>> + *
>> + * Changes in 1.2.13
>> + * - Fixed clearing interval when the container shuts down
>> + *
>> + * Changes in 1.2.12
>> + * - Added compressed versions using UglifyJS and Sqwish
>> + * - Improved README with configuration options explanation
>> + * - Added a source map
>> + *
>> + * Changes in 1.2.11
>> + * - Fix artifacts left behind by the shutdown method and text-cleanup
>> + *
>> + * Changes in 1.2.10
>> + * - Fix beforeClose to be called in click event
>> + *
>> + * Changes in 1.2.9
>> + * - Fixed BC break in jQuery 2.0 beta
>> + *
>> + * Changes in 1.2.8
>> + * - Fixes for jQuery 1.9 and the MSIE6 check, note that with jQuery 2.0 support
>> + * jGrowl intends to drop support for IE6 altogether
>> + *
>> + * Changes in 1.2.6
>> + * - Fixed js error when a notification is opening and closing at the same time
>> + *
>> + * Changes in 1.2.5
>> + * - Changed wrapper jGrowl's options usage to "o" instead of $.jGrowl.defaults
>> + * - Added themeState option to control 'highlight' or 'error' for jQuery UI
>> + * - Ammended some CSS to provide default positioning for nested usage.
>> + * - Changed some CSS to be prefixed with jGrowl- to prevent namespacing issues
>> + * - Added two new options - openDuration and closeDuration to allow
>> + * better control of notification open and close speeds, respectively
>> + * Patch contributed by Jesse Vincet.
>> + * - Added afterOpen callback. Patch contributed by Russel Branca.
>> + *
>> + * Changes in 1.2.4
>> + * - Fixed IE bug with the close-all button
>> + * - Fixed IE bug with the filter CSS attribute (special thanks to gotwic)
>> + * - Update IE opacity CSS
>> + * - Changed font sizes to use "em", and only set the base style
>> + *
>> + * Changes in 1.2.3
>> + * - The callbacks no longer use the container as context, instead they use the actual notification
>> + * - The callbacks now receive the container as a parameter after the options parameter
>> + * - beforeOpen and beforeClose now check the return value, if it's false - the notification does
>> + * not continue. The open callback will also halt execution if it returns false.
>> + * - Fixed bug where containers would get confused
>> + * - Expanded the pause functionality to pause an entire container.
>> + *
>> + * Changes in 1.2.2
>> + * - Notification can now be theme rolled for jQuery UI, special thanks to Jeff Chan!
>> + *
>> + * Changes in 1.2.1
>> + * - Fixed instance where the interval would fire the close method multiple times.
>> + * - Added CSS to hide from print media
>> + * - Fixed issue with closer button when div { position: relative } is set
>> + * - Fixed leaking issue with multiple containers. Special thanks to Matthew Hanlon!
>> + *
>> + * Changes in 1.2.0
>> + * - Added message pooling to limit the number of messages appearing at a given time.
>> + * - Closing a notification is now bound to the notification object and triggered by the close button.
>> + *
>> + * Changes in 1.1.2
>> + * - Added iPhone styled example
>> + * - Fixed possible IE7 bug when determining if the ie6 class shoudl be applied.
>> + * - Added template for the close button, so that it's content could be customized.
>> + *
>> + * Changes in 1.1.1
>> + * - Fixed CSS styling bug for ie6 caused by a mispelling
>> + * - Changes height restriction on default notifications to min-height
>> + * - Added skinned examples using a variety of images
>> + * - Added the ability to customize the content of the [close all] box
>> + * - Added jTweet, an example of using jGrowl + Twitter
>> + *
>> + * Changes in 1.1.0
>> + * - Multiple container and instances.
>> + * - Standard $.jGrowl() now wraps $.fn.jGrowl() by first establishing a generic jGrowl container.
>> + * - Instance methods of a jGrowl container can be called by $.fn.jGrowl(methodName)
>> + * - Added glue preferenced, which allows notifications to be inserted before or after nodes in the container
>> + * - Added new log callback which is called before anything is done for the notification
>> + * - Corner's attribute are now applied on an individual notification basis.
>> + *
>> + * Changes in 1.0.4
>> + * - Various CSS fixes so that jGrowl renders correctly in IE6.
>> + *
>> + * Changes in 1.0.3
>> + * - Fixed bug with options persisting across notifications
>> + * - Fixed theme application bug
>> + * - Simplified some selectors and manipulations.
>> + * - Added beforeOpen and beforeClose callbacks
>> + * - Reorganized some lines of code to be more readable
>> + * - Removed unnecessary this.defaults context
>> + * - If corners plugin is present, it's now customizable.
>> + * - Customizable open animation.
>> + * - Customizable close animation.
>> + * - Customizable animation easing.
>> + * - Added customizable positioning (top-left, top-right, bottom-left, bottom-right, center)
>> + *
>> + * Changes in 1.0.2
>> + * - All CSS styling is now external.
>> + * - Added a theme parameter which specifies a secondary class for styling, such
>> + * that notifications can be customized in appearance on a per message basis.
>> + * - Notification life span is now customizable on a per message basis.
>> + * - Added the ability to disable the global closer, enabled by default.
>> + * - Added callbacks for when a notification is opened or closed.
>> + * - Added callback for the global closer.
>> + * - Customizable animation speed.
>> + * - jGrowl now set itself up and tears itself down.
>> + *
>> + * Changes in 1.0.1:
>> + * - Removed dependency on metadata plugin in favor of .data()
>> + * - Namespaced all events
>> + */
>> +(function($) {
>> + /** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
>> + $.jGrowl = function( m , o ) {
>> + // To maintain compatibility with older version that only supported one instance we'll create the base container.
>> + if ( $('#jGrowl').length === 0 )
>> + $('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo( (o && o.appendTo) ?
>> o.appendTo : $.jGrowl.defaults.appendTo );
>> +
>> + // Create a notification on the container.
>> + $('#jGrowl').jGrowl(m,o);
>> + };
>> +
>> +
>> + /** Raise jGrowl Notification on a jGrowl Container **/
>> + $.fn.jGrowl = function( m , o ) {
>> + // Short hand for passing in just an object to this method
>> + if ( o === undefined && $.isPlainObject(m) ) {
>> + o = m;
>> + m = o.message;
>> + }
>> +
>> + if ( $.isFunction(this.each) ) {
>> + var args = arguments;
>> +
>> + return this.each(function() {
>> + /** Create a jGrowl Instance on the Container if it does not exist **/
>> + if ( $(this).data('jGrowl.instance') === undefined ) {
>> + $(this).data('jGrowl.instance', $.extend( new $.fn.jGrowl(), { notifications: [], element: null, interval: null } ));
>> + $(this).data('jGrowl.instance').startup( this );
>> + }
>> +
>> + /** Optionally call jGrowl instance methods, or just raise a normal notification **/
>> + if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) {
>> + $(this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) );
>> + } else {
>> + $(this).data('jGrowl.instance').create( m , o );
>> + }
>> + });
>> + }
>> + };
>> +
>> + $.extend( $.fn.jGrowl.prototype , {
>> +
>> + /** Default JGrowl Settings **/
>> + defaults: {
>> + pool: 0,
>> + header: '',
>> + group: '',
>> + sticky: false,
>> + position: 'top-right',
>> + appendTo: 'body',
>> + glue: 'after',
>> + theme: 'default',
>> + themeState: 'highlight',
>> + corners: '10px',
>> + check: 250,
>> + life: 3000,
>> + closeDuration: 'normal',
>> + openDuration: 'normal',
>> + easing: 'swing',
>> + closer: true,
>> + closeTemplate: '×',
>> + closerTemplate: '<div>[ close all ]</div>',
>> + log: function() {},
>> + beforeOpen: function() {},
>> + afterOpen: function() {},
>> + open: function() {},
>> + beforeClose: function() {},
>> + close: function() {},
>> + click: function() {},
>> + animateOpen: {
>> + opacity: 'show'
>> + },
>> + animateClose: {
>> + opacity: 'hide'
>> + }
>> + },
>> +
>> + notifications: [],
>> +
>> + /** jGrowl Container Node **/
>> + element: null,
>> +
>> + /** Interval Function **/
>> + interval: null,
>> +
>> + /** Create a Notification **/
>> + create: function( message , options ) {
>> + var o = $.extend({}, this.defaults, options);
>> +
>> + /* To keep backward compatibility with 1.24 and earlier, honor 'speed' if the user has set it */
>> + if (typeof o.speed !== 'undefined') {
>> + o.openDuration = o.speed;
>> + o.closeDuration = o.speed;
>> + }
>> +
>> + this.notifications.push({ message: message , options: o });
>> +
>> + o.log.apply( this.element , [this.element,message,o] );
>> + },
>> +
>> + render: function( n ) {
>> + var self = this;
>> + var message = n.message;
>> + var o = n.options;
>> +
>> + // Support for jQuery theme-states, if this is not used it displays a widget header
>> + o.themeState = (o.themeState === '') ? '' : 'ui-state-' + o.themeState;
>> +
>> + var notification = $('<div/>')
>> + .addClass('jGrowl-notification alert ' + o.themeState + ' ui-corner-all' + ((o.group !== undefined && o.group !== '') ? ' ' +
>> o.group : ''))
>> + .append($('<button/>').addClass('jGrowl-close').html(o.closeTemplate))
>> + .append($('<div/>').addClass('jGrowl-header').html(o.header))
>> + .append($('<div/>').addClass('jGrowl-message').html(message))
>> + .data("jGrowl", o).addClass(o.theme).children('.jGrowl-close').bind("click.jGrowl", function() {
>> + $(this).parent().trigger('jGrowl.beforeClose');
>> + return false;
>> + })
>> + .parent();
>> +
>> +
>> + /** Notification Actions **/
>> + $(notification).bind("mouseover.jGrowl", function() {
>> + $('.jGrowl-notification', self.element).data("jGrowl.pause", true);
>> + }).bind("mouseout.jGrowl", function() {
>> + $('.jGrowl-notification', self.element).data("jGrowl.pause", false);
>> + }).bind('jGrowl.beforeOpen', function() {
>> + if ( o.beforeOpen.apply( notification , [notification,message,o,self.element] ) !== false ) {
>> + $(this).trigger('jGrowl.open');
>> + }
>> + }).bind('jGrowl.open', function() {
>> + if ( o.open.apply( notification , [notification,message,o,self.element] ) !== false ) {
>> + if ( o.glue == 'after' ) {
>> + $('.jGrowl-notification:last', self.element).after(notification);
>> + } else {
>> + $('.jGrowl-notification:first', self.element).before(notification);
>> + }
>> +
>> + $(this).animate(o.animateOpen, o.openDuration, o.easing, function() {
>> + // Fixes some anti-aliasing issues with IE filters.
>> + if ($.support.opacity === false)
>> + this.style.removeAttribute('filter');
>> +
>> + if ( $(this).data("jGrowl") !== null && typeof $(this).data("jGrowl") !== 'undefined') // Happens when a notification is
>> closing before it's open.
>> + $(this).data("jGrowl").created = new Date();
>> +
>> + $(this).trigger('jGrowl.afterOpen');
>> + });
>> + }
>> + }).bind('jGrowl.afterOpen', function() {
>> + o.afterOpen.apply( notification , [notification,message,o,self.element] );
>> + }).bind('click', function() {
>> + o.click.apply( notification, [notification,message,o,self.element] );
>> + }).bind('jGrowl.beforeClose', function() {
>> + if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) !== false )
>> + $(this).trigger('jGrowl.close');
>> + }).bind('jGrowl.close', function() {
>> + // Pause the notification, lest during the course of animation another close event gets called.
>> + $(this).data('jGrowl.pause', true);
>> + $(this).animate(o.animateClose, o.closeDuration, o.easing, function() {
>> + if ( $.isFunction(o.close) ) {
>> + if ( o.close.apply( notification , [notification,message,o,self.element] ) !== false )
>> + $(this).remove();
>> + } else {
>> + $(this).remove();
>> + }
>> + });
>> + }).trigger('jGrowl.beforeOpen');
>> +
>> + /** Optional Corners Plugin **/
>> + if ( o.corners !== '' && $.fn.corner !== undefined ) $(notification).corner( o.corners );
>> +
>> + /** Add a Global Closer if more than one notification exists **/
>> + if ($('.jGrowl-notification:parent', self.element).length > 1 &&
>> + $('.jGrowl-closer', self.element).length === 0 && this.defaults.closer !== false ) {
>> + $(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme)
>> + .appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing)
>> + .bind("click.jGrowl", function() {
>> + $(this).siblings().trigger("jGrowl.beforeClose");
>> +
>> + if ( $.isFunction( self.defaults.closer ) ) {
>> + self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] );
>> + }
>> + });
>> + }
>> + },
>> +
>> + /** Update the jGrowl Container, removing old jGrowl notifications **/
>> + update: function() {
>> + $(this.element).find('.jGrowl-notification:parent').each( function() {
>> + if ($(this).data("jGrowl") !== undefined && $(this).data("jGrowl").created !== undefined &&
>> + ($(this).data("jGrowl").created.getTime() + parseInt($(this).data("jGrowl").life, 10)) < (new Date()).getTime() &&
>> + $(this).data("jGrowl").sticky !== true &&
>> + ($(this).data("jGrowl.pause") === undefined || $(this).data("jGrowl.pause") !== true) ) {
>> +
>> + // Pause the notification, lest during the course of animation another close event gets called.
>> + $(this).trigger('jGrowl.beforeClose');
>> + }
>> + });
>> +
>> + if (this.notifications.length > 0 &&
>> + (this.defaults.pool === 0 || $(this.element).find('.jGrowl-notification:parent').length < this.defaults.pool) )
>> + this.render( this.notifications.shift() );
>> +
>> + if ($(this.element).find('.jGrowl-notification:parent').length < 2 ) {
>> + $(this.element).find('.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
>> + $(this).remove();
>> + });
>> + }
>> + },
>> +
>> + /** Setup the jGrowl Notification Container **/
>> + startup: function(e) {
>> + this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');
>> + this.interval = setInterval( function() {
>> + // some error in chage ^^
>> + var instance = $(e).data('jGrowl.instance');
>> + if (undefined !== instance) {
>> + instance.update();
>> + }
>> + }, parseInt(this.defaults.check, 10));
>> + },
>> +
>> + /** Shutdown jGrowl, removing it and clearing the interval **/
>> + shutdown: function() {
>> + $(this.element).removeClass('jGrowl')
>> + .find('.jGrowl-notification').trigger('jGrowl.close')
>> + .parent().empty()
>> + ;
>> +
>> + clearInterval(this.interval);
>> + },
>> +
>> + close: function() {
>> + $(this.element).find('.jGrowl-notification').each(function(){
>> + $(this).trigger('jGrowl.beforeClose');
>> + });
>> + }
>> + });
>> +
>> + /** Reference the Defaults Object for compatibility with older versions of jGrowl **/
>> + $.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;
>> +
>> +})(jQuery);
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.js
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/plain
>>
>> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css (added)
>> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css Mon Dec 18 14:48:04 2017
>> @@ -0,0 +1 @@
>> +.jGrowl{z-index:9999;color:#fff;font-size:12px;font-family:"Helvetica
>> Neue",Helvetica,Arial,sans-serif;position:fixed}.jGrowl.top-left{left:0;top:0}.jGrowl.top-right{right:0;top:0}.jGrowl.bottom-left{left:0;bottom:0}.jGrowl.bottom-right{right:0;bottom:0}.jGrowl.center{top:0;width:50%;left:25%}.jGrowl.center
>> .jGrowl-closer,.jGrowl.center
>> .jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl-notification{background-color:#000;opacity:.9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));zoom:1;width:250px;padding:10px;margin:10px;text-align:left;display:none;border-radius:5px;min-height:40px}.jGrowl-notification
>> .ui-state-highlight,.jGrowl-notification .ui-widget-content .ui-state-highlight,.jGrowl-notification .ui-widget-header
>> .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}.jGrowl-notification
>> .jGrowl-header{font-weight:700;font-size:.85em}.jGrowl-notification .jGrowl
>> -close{background-color:transparent;color:inherit;border:none;z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}.jGrowl-closer{background-color:#000;opacity:.9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));zoom:1;width:250px;padding:10px;margin:10px;display:none;border-radius:5px;padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}.jGrowl-closer
>> .ui-state-highlight,.jGrowl-closer .ui-widget-content .ui-state-highlight,.jGrowl-closer .ui-widget-header .ui-state-highlight{border:1px solid
>> #000;background:#000;color:#fff}@media print{.jGrowl{display:none}}
>> \ No newline at end of file
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/css
>>
>> Added: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js?rev=1818580&view=auto
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js (added)
>> +++ ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js Mon Dec 18 14:48:04 2017
>> @@ -0,0 +1,2 @@
>> +!function(a){a.jGrowl=function(b,c){0===a("#jGrowl").length&&a('<div
>> id="jGrowl"></div>').addClass(c&&c.position?c.position:a.jGrowl.defaults.position).appendTo(c&&c.appendTo?c.appendTo:a.jGrowl.defaults.appendTo),a("#jGrowl").jGrowl(b,c)},a.fn.jGrowl=function(b,c){if(void
>> 0===c&&a.isPlainObject(b)&&(c=b,b=c.message),a.isFunction(this.each)){var d=arguments;return this.each(function(){void
>> 0===a(this).data("jGrowl.instance")&&(a(this).data("jGrowl.instance",a.extend(new
>> a.fn.jGrowl,{notifications:[],element:null,interval:null})),a(this).data("jGrowl.instance").startup(this)),a.isFunction(a(this).data("jGrowl.instance")[b])?a(this).data("jGrowl.instance")[b].apply(a(this).data("jGrowl.instance"),a.makeArray(d).slice(1)):a(this).data("jGrowl.instance").create(b,c)})}},a.extend(a.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",appendTo:"body",glue:"after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:3e3,closeDuration:"norm
>>
>> al",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"×",closerTemplate:"<div>[ close all
>> ]</div>",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},click:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(b,c){var
>> d=a.extend({},this.defaults,c);"undefined"!=typeof
>> d.speed&&(d.openDuration=d.speed,d.closeDuration=d.speed),this.notifications.push({message:b,options:d}),d.log.apply(this.element,[this.element,b,d])},render:function(b){var
>> c=this,d=b.message,e=b.options;e.themeState=""===e.themeState?"":"ui-state-"+e.themeState;var f=a("<div/>").addClass("jGrowl-notification alert
>> "+e.themeState+" ui-corner-all"+(void 0!==e.group&&""!==e.group?"
>> "+e.group:"")).append(a("<button/>").addClass("jGrowl-close").html(e.closeTemplate)).append(a("<div/>").addClass("jGrowl-header").html(e.header)).append(a("<div/>").addCla
>> ss("jGrowl-message").html(d)).data("jGrowl",e).addClass(e.theme).children(".jGrowl-close").bind("click.jGrowl",function(){return
>> a(this).parent().trigger("jGrowl.beforeClose"),!1}).parent();a(f).bind("mouseover.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){e.beforeOpen.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){e.open.apply(f,[f,d,e,c.element])!==!1&&("after"==e.glue?a(".jGrowl-notification:last",c.element).after(f):a(".jGrowl-notification:first",c.element).before(f),a(this).animate(e.animateOpen,e.openDuration,e.easing,function(){a.support.opacity===!1&&this.style.removeAttribute("filter"),null!==a(this).data("jGrowl")&&"undefined"!=typeof
>> a(this).data("jGrowl")&&(a(this).data("jGrowl").created=new Date),a(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpe
>> n",function(){e.afterOpen.apply(f,[f,d,e,c.element])}).bind("click",function(){e.click.apply(f,[f,d,e,c.element])}).bind("jGrowl.beforeClose",function(){e.beforeClose.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){a(this).data("jGrowl.pause",!0),a(this).animate(e.animateClose,e.closeDuration,e.easing,function(){a.isFunction(e.close)?e.close.apply(f,[f,d,e,c.element])!==!1&&a(this).remove():a(this).remove()})}).trigger("jGrowl.beforeOpen"),""!==e.corners&&void
>> 0!==a.fn.corner&&a(f).corner(e.corners),a(".jGrowl-notification:parent",c.element).length>1&&0===a(".jGrowl-closer",c.element).length&&this.defaults.closer!==!1&&a(this.defaults.closerTemplate).addClass("jGrowl-closer
>> "+this.defaults.themeState+"
>> ui-corner-all").addClass(this.defaults.theme).appendTo(c.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){a(this).siblings().trigger("jGrowl.beforeClose"),a.isFunction(
>> c.defaults.closer)&&c.defaults.closer.apply(a(this).parent()[0],[a(this).parent()[0]])})},update:function(){a(this.element).find(".jGrowl-notification:parent").each(function(){void
>> 0!==a(this).data("jGrowl")&&void
>> 0!==a(this).data("jGrowl").created&&a(this).data("jGrowl").created.getTime()+parseInt(a(this).data("jGrowl").life,10)<(new
>> Date).getTime()&&a(this).data("jGrowl").sticky!==!0&&(void
>> 0===a(this).data("jGrowl.pause")||a(this).data("jGrowl.pause")!==!0)&&a(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0===this.defaults.pool||a(this.element).find(".jGrowl-notification:parent").length<this.defaults.pool)&&this.render(this.notifications.shift()),a(this.element).find(".jGrowl-notification:parent").length<2&&a(this.element).find(".jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){a(this).remove()})},startup:function(b){this.element=a(b).addClass("jGrowl").append('<div
>> class="jGrowl-notification"></div>'),th
>> is.interval=setInterval(function(){var c=a(b).data("jGrowl.instance");void
>> 0!==c&&c.update()},parseInt(this.defaults.check,10))},shutdown:function(){a(this.element).removeClass("jGrowl").find(".jGrowl-notification").trigger("jGrowl.close").parent().empty(),clearInterval(this.interval)},close:function(){a(this.element).find(".jGrowl-notification").each(function(){a(this).trigger("jGrowl.beforeClose")})}}),a.jGrowl.defaults=a.fn.jGrowl.prototype.defaults}(jQuery);
>> +//# sourceMappingURL=jquery.jgrowl.map
>> \ No newline at end of file
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
>> ------------------------------------------------------------------------------
>> svn:keywords = Date Rev Author URL Id
>>
>> Propchange: ofbiz/ofbiz-framework/trunk/themes/common/webapp/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/plain
>>
>> Modified: ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml?rev=1818580&r1=1818579&r2=1818580&view=diff
>> ==============================================================================
>> --- ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml (original)
>> +++ ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml Mon Dec 18 14:48:04 2017
>> @@ -128,8 +128,8 @@ under the License.
>> <set field="layoutSettings.javaScripts[+0]" value="${groovy:
>> org.apache.ofbiz.common.JsLanguageFilesMapping.dateTime.getFilePath(initialLocaleComplete)}" global="true" />
>> <!-- Jgrowl -->
>> <set field="layoutSettings.javaScripts[]" value="/common/js/jquery/plugins/Readmore.js-master/readmore.js" global="true"/>
>> - <set field="layoutSettings.javaScripts[]" value="/common/js/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js" global="true"/>
>> - <set field="layoutSettings.styleSheets[+0]" value="/common/js/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css"
>> global="true" />
>> + <set field="layoutSettings.javaScripts[]" value="/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.js" global="true"/>
>> + <set field="layoutSettings.styleSheets[+0]" value="/common/js/jquery/plugins/jquery-jgrowl/jquery.jgrowl-1.4.6.min.css"
>> global="true" />
>> <!-- Set default user locale from browser -->
>> <set field="layoutSettings.javaScripts[+0]" value="/common/js/util/setUserLocale.js"/>
>> <set field="layoutSettings.javaScripts[+0]" value="/images/moment-timezone-with-data.min.js" global="true"/>
>>
>>
>>
>
>