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 <stosh1...@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:          '&times;',
+                       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:"&times;",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"/>


Reply via email to