Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js Tue Jun 18 10:09:00 2019 @@ -0,0 +1,540 @@ +/*! + * jQuery Migrate - v3.0.0 - 2016-06-09 + * Copyright jQuery Foundation and other contributors + */ +(function( jQuery, window ) { +"use strict"; + + +jQuery.migrateVersion = "3.0.0"; + + +( function() { + + // Support: IE9 only + // IE9 only creates console object when dev tools are first opened + // Also, avoid Function#bind here to simplify PhantomJS usage + var log = window.console && window.console.log && + function() { window.console.log.apply( window.console, arguments ); }, + rbadVersions = /^[12]\./; + + if ( !log ) { + return; + } + + // Need jQuery 3.0.0+ and no older Migrate loaded + if ( !jQuery || rbadVersions.test( jQuery.fn.jquery ) ) { + log( "JQMIGRATE: jQuery 3.0.0+ REQUIRED" ); + } + if ( jQuery.migrateWarnings ) { + log( "JQMIGRATE: Migrate plugin loaded multiple times" ); + } + + // Show a message on the console so devs know we're active + log( "JQMIGRATE: Migrate is installed" + + ( jQuery.migrateMute ? "" : " with logging active" ) + + ", version " + jQuery.migrateVersion ); + +} )(); + +var warnedAbout = {}; + +// List of warnings already given; public read only +jQuery.migrateWarnings = []; + +// Set to false to disable traces that appear with warnings +if ( jQuery.migrateTrace === undefined ) { + jQuery.migrateTrace = true; +} + +// Forget any warnings we've already given; public +jQuery.migrateReset = function() { + warnedAbout = {}; + jQuery.migrateWarnings.length = 0; +}; + +function migrateWarn( msg ) { + var console = window.console; + if ( !warnedAbout[ msg ] ) { + warnedAbout[ msg ] = true; + jQuery.migrateWarnings.push( msg ); + if ( console && console.warn && !jQuery.migrateMute ) { + console.warn( "JQMIGRATE: " + msg ); + if ( jQuery.migrateTrace && console.trace ) { + console.trace(); + } + } + } +} + +function migrateWarnProp( obj, prop, value, msg ) { + Object.defineProperty( obj, prop, { + configurable: true, + enumerable: true, + get: function() { + migrateWarn( msg ); + return value; + } + } ); +} + +if ( document.compatMode === "BackCompat" ) { + + // JQuery has never supported or tested Quirks Mode + migrateWarn( "jQuery is not compatible with Quirks Mode" ); +} + + +var oldInit = jQuery.fn.init, + oldIsNumeric = jQuery.isNumeric, + oldFind = jQuery.find, + rattrHashTest = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, + rattrHashGlob = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g; + +jQuery.fn.init = function( arg1 ) { + var args = Array.prototype.slice.call( arguments ); + + if ( typeof arg1 === "string" && arg1 === "#" ) { + + // JQuery( "#" ) is a bogus ID selector, but it returned an empty set before jQuery 3.0 + migrateWarn( "jQuery( '#' ) is not a valid selector" ); + args[ 0 ] = []; + } + + return oldInit.apply( this, args ); +}; +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.find = function( selector ) { + var args = Array.prototype.slice.call( arguments ); + + // Support: PhantomJS 1.x + // String#match fails to match when used with a //g RegExp, only on some strings + if ( typeof selector === "string" && rattrHashTest.test( selector ) ) { + + // The nonstandard and undocumented unquoted-hash was removed in jQuery 1.12.0 + // First see if qS thinks it's a valid selector, if so avoid a false positive + try { + document.querySelector( selector ); + } catch ( err1 ) { + + // Didn't *look* valid to qSA, warn and try quoting what we think is the value + selector = selector.replace( rattrHashGlob, function( _, attr, op, value ) { + return "[" + attr + op + "\"" + value + "\"]"; + } ); + + // If the regexp *may* have created an invalid selector, don't update it + // Note that there may be false alarms if selector uses jQuery extensions + try { + document.querySelector( selector ); + migrateWarn( "Attribute selector with '#' must be quoted: " + args[ 0 ] ); + args[ 0 ] = selector; + } catch ( err2 ) { + migrateWarn( "Attribute selector with '#' was not fixed: " + args[ 0 ] ); + } + } + } + + return oldFind.apply( this, args ); +}; + +// Copy properties attached to original jQuery.find method (e.g. .attr, .isXML) +var findProp; +for ( findProp in oldFind ) { + if ( Object.prototype.hasOwnProperty.call( oldFind, findProp ) ) { + jQuery.find[ findProp ] = oldFind[ findProp ]; + } +} + +// The number of elements contained in the matched element set +jQuery.fn.size = function() { + migrateWarn( "jQuery.fn.size() is deprecated; use the .length property" ); + return this.length; +}; + +jQuery.parseJSON = function() { + migrateWarn( "jQuery.parseJSON is deprecated; use JSON.parse" ); + return JSON.parse.apply( null, arguments ); +}; + +jQuery.isNumeric = function( val ) { + + // The jQuery 2.2.3 implementation of isNumeric + function isNumeric2( obj ) { + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; + } + + var newValue = oldIsNumeric( val ), + oldValue = isNumeric2( val ); + + if ( newValue !== oldValue ) { + migrateWarn( "jQuery.isNumeric() should not be called on constructed objects" ); + } + + return oldValue; +}; + +migrateWarnProp( jQuery, "unique", jQuery.uniqueSort, + "jQuery.unique is deprecated, use jQuery.uniqueSort" ); + +// Now jQuery.expr.pseudos is the standard incantation +migrateWarnProp( jQuery.expr, "filters", jQuery.expr.pseudos, + "jQuery.expr.filters is now jQuery.expr.pseudos" ); +migrateWarnProp( jQuery.expr, ":", jQuery.expr.pseudos, + "jQuery.expr[\":\"] is now jQuery.expr.pseudos" ); + + +var oldAjax = jQuery.ajax; + +jQuery.ajax = function( ) { + var jQXHR = oldAjax.apply( this, arguments ); + + // Be sure we got a jQXHR (e.g., not sync) + if ( jQXHR.promise ) { + migrateWarnProp( jQXHR, "success", jQXHR.done, + "jQXHR.success is deprecated and removed" ); + migrateWarnProp( jQXHR, "error", jQXHR.fail, + "jQXHR.error is deprecated and removed" ); + migrateWarnProp( jQXHR, "complete", jQXHR.always, + "jQXHR.complete is deprecated and removed" ); + } + + return jQXHR; +}; + + +var oldRemoveAttr = jQuery.fn.removeAttr, + oldToggleClass = jQuery.fn.toggleClass, + rmatchNonSpace = /\S+/g; + +jQuery.fn.removeAttr = function( name ) { + var self = this; + + jQuery.each( name.match( rmatchNonSpace ), function( i, attr ) { + if ( jQuery.expr.match.bool.test( attr ) ) { + migrateWarn( "jQuery.fn.removeAttr no longer sets boolean properties: " + attr ); + self.prop( attr, false ); + } + } ); + + return oldRemoveAttr.apply( this, arguments ); +}; + +jQuery.fn.toggleClass = function( state ) { + + // Only deprecating no-args or single boolean arg + if ( state !== undefined && typeof state !== "boolean" ) { + return oldToggleClass.apply( this, arguments ); + } + + migrateWarn( "jQuery.fn.toggleClass( boolean ) is deprecated" ); + + // Toggle entire class name of each element + return this.each( function() { + var className = this.getAttribute && this.getAttribute( "class" ) || ""; + + if ( className ) { + jQuery.data( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || state === false ? + "" : + jQuery.data( this, "__className__" ) || "" + ); + } + } ); +}; + + +var internalSwapCall = false; + +// If this version of jQuery has .swap(), don't false-alarm on internal uses +if ( jQuery.swap ) { + jQuery.each( [ "height", "width", "reliableMarginRight" ], function( _, name ) { + var oldHook = jQuery.cssHooks[ name ] && jQuery.cssHooks[ name ].get; + + if ( oldHook ) { + jQuery.cssHooks[ name ].get = function() { + var ret; + + internalSwapCall = true; + ret = oldHook.apply( this, arguments ); + internalSwapCall = false; + return ret; + }; + } + } ); +} + +jQuery.swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + if ( !internalSwapCall ) { + migrateWarn( "jQuery.swap() is undocumented and deprecated" ); + } + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + +var oldData = jQuery.data; + +jQuery.data = function( elem, name, value ) { + var curData; + + // If the name is transformed, look for the un-transformed name in the data object + if ( name && name !== jQuery.camelCase( name ) ) { + curData = jQuery.hasData( elem ) && oldData.call( this, elem ); + if ( curData && name in curData ) { + migrateWarn( "jQuery.data() always sets/gets camelCased names: " + name ); + if ( arguments.length > 2 ) { + curData[ name ] = value; + } + return curData[ name ]; + } + } + + return oldData.apply( this, arguments ); +}; + +var oldTweenRun = jQuery.Tween.prototype.run; + +jQuery.Tween.prototype.run = function( percent ) { + if ( jQuery.easing[ this.easing ].length > 1 ) { + migrateWarn( + "easing function " + + "\"jQuery.easing." + this.easing.toString() + + "\" should use only first argument" + ); + + jQuery.easing[ this.easing ] = jQuery.easing[ this.easing ].bind( + jQuery.easing, + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } + + oldTweenRun.apply( this, arguments ); +}; + +var oldLoad = jQuery.fn.load, + originalFix = jQuery.event.fix; + +jQuery.event.props = []; +jQuery.event.fixHooks = {}; + +jQuery.event.fix = function( originalEvent ) { + var event, + type = originalEvent.type, + fixHook = this.fixHooks[ type ], + props = jQuery.event.props; + + if ( props.length ) { + migrateWarn( "jQuery.event.props are deprecated and removed: " + props.join() ); + while ( props.length ) { + jQuery.event.addProp( props.pop() ); + } + } + + if ( fixHook && !fixHook._migrated_ ) { + fixHook._migrated_ = true; + migrateWarn( "jQuery.event.fixHooks are deprecated and removed: " + type ); + if ( ( props = fixHook.props ) && props.length ) { + while ( props.length ) { + jQuery.event.addProp( props.pop() ); + } + } + } + + event = originalFix.call( this, originalEvent ); + + return fixHook && fixHook.filter ? fixHook.filter( event, originalEvent ) : event; +}; + +jQuery.each( [ "load", "unload", "error" ], function( _, name ) { + + jQuery.fn[ name ] = function() { + var args = Array.prototype.slice.call( arguments, 0 ); + + // If this is an ajax load() the first arg should be the string URL; + // technically this could also be the "Anything" arg of the event .load() + // which just goes to show why this dumb signature has been deprecated! + // jQuery custom builds that exclude the Ajax module justifiably die here. + if ( name === "load" && typeof args[ 0 ] === "string" ) { + return oldLoad.apply( this, args ); + } + + migrateWarn( "jQuery.fn." + name + "() is deprecated" ); + + args.splice( 0, 0, name ); + if ( arguments.length ) { + return this.on.apply( this, args ); + } + + // Use .triggerHandler here because: + // - load and unload events don't need to bubble, only applied to window or image + // - error event should not bubble to window, although it does pre-1.7 + // See http://bugs.jquery.com/ticket/11820 + this.triggerHandler.apply( this, args ); + return this; + }; + +} ); + +// Trigger "ready" event only once, on document ready +jQuery( function() { + jQuery( document ).triggerHandler( "ready" ); +} ); + +jQuery.event.special.ready = { + setup: function() { + if ( this === document ) { + migrateWarn( "'ready' event is deprecated" ); + } + } +}; + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + migrateWarn( "jQuery.fn.bind() is deprecated" ); + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + migrateWarn( "jQuery.fn.unbind() is deprecated" ); + return this.off( types, null, fn ); + }, + delegate: function( selector, types, data, fn ) { + migrateWarn( "jQuery.fn.delegate() is deprecated" ); + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + migrateWarn( "jQuery.fn.undelegate() is deprecated" ); + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + + +var oldOffset = jQuery.fn.offset; + +jQuery.fn.offset = function() { + var docElem, + elem = this[ 0 ], + origin = { top: 0, left: 0 }; + + if ( !elem || !elem.nodeType ) { + migrateWarn( "jQuery.fn.offset() requires a valid DOM element" ); + return origin; + } + + docElem = ( elem.ownerDocument || document ).documentElement; + if ( !jQuery.contains( docElem, elem ) ) { + migrateWarn( "jQuery.fn.offset() requires an element connected to a document" ); + return origin; + } + + return oldOffset.apply( this, arguments ); +}; + + +var oldParam = jQuery.param; + +jQuery.param = function( data, traditional ) { + var ajaxTraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + + if ( traditional === undefined && ajaxTraditional ) { + + migrateWarn( "jQuery.param() no longer uses jQuery.ajaxSettings.traditional" ); + traditional = ajaxTraditional; + } + + return oldParam.call( this, data, traditional ); +}; + +var oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack; + +jQuery.fn.andSelf = function() { + migrateWarn( "jQuery.fn.andSelf() replaced by jQuery.fn.addBack()" ); + return oldSelf.apply( this, arguments ); +}; + + +var oldDeferred = jQuery.Deferred, + tuples = [ + + // Action, add listener, callbacks, .then handlers, final state + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ) ] + ]; + +jQuery.Deferred = function( func ) { + var deferred = oldDeferred(), + promise = deferred.promise(); + + deferred.pipe = promise.pipe = function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + migrateWarn( "deferred.pipe() is deprecated" ); + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + + // Deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + + }; + + if ( func ) { + func.call( deferred, deferred ); + } + + return deferred; +}; + + + +})( jQuery, window ); Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js Tue Jun 18 10:09:00 2019 @@ -0,0 +1,2 @@ +/*! jQuery Migrate v3.0.0 | (c) jQuery Foundation and other contributors | jquery.org/license */ +"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b){"use strict";function c(c){var d=b.console;e[c]||(e[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function d(a,b,d,e){Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:function(){return c(e),d}})}a.migrateVersion="3.0.0",function(){var c=b.console&&b.console.log&&function(){b.console.log.apply(b.console,arguments)},d=/^[12]\./;c&&(a&&!d.test(a.fn.jquery)||c("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),a.migrateWarnings&&c("JQMIGRATE: Migrate plugin loaded multiple times"),c("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion))}();var e={};a.migrateWarnings=[],void 0===a.migrateTrace&&(a.migrateTrace=!0),a.migrateReset=function(){e={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&c("jQuery is not compatible with Quirks Mode");var f=a.fn.init,g=a.isNumeric,h=a. find,i=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,j=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;a.fn.init=function(a){var b=Array.prototype.slice.call(arguments);return"string"==typeof a&&"#"===a&&(c("jQuery( '#' ) is not a valid selector"),b[0]=[]),f.apply(this,b)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&i.test(a))try{document.querySelector(a)}catch(d){a=a.replace(j,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),c("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){c("Attribute selector with '#' was not fixed: "+b[0])}}return h.apply(this,b)};var k;for(k in h)Object.prototype.hasOwnProperty.call(h,k)&&(a.find[k]=h[k]);a.fn.size=function(){return c("jQuery.fn.size() is deprecated; use the .length property"),this.length},a.parseJSON=function(){return c("jQuery.parseJSON is deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},a.isNumer ic=function(b){function d(b){var c=b&&b.toString();return!a.isArray(b)&&c-parseFloat(c)+1>=0}var e=g(b),f=d(b);return e!==f&&c("jQuery.isNumeric() should not be called on constructed objects"),f},d(a,"unique",a.uniqueSort,"jQuery.unique is deprecated, use jQuery.uniqueSort"),d(a.expr,"filters",a.expr.pseudos,"jQuery.expr.filters is now jQuery.expr.pseudos"),d(a.expr,":",a.expr.pseudos,'jQuery.expr[":"] is now jQuery.expr.pseudos');var l=a.ajax;a.ajax=function(){var a=l.apply(this,arguments);return a.promise&&(d(a,"success",a.done,"jQXHR.success is deprecated and removed"),d(a,"error",a.fail,"jQXHR.error is deprecated and removed"),d(a,"complete",a.always,"jQXHR.complete is deprecated and removed")),a};var m=a.fn.removeAttr,n=a.fn.toggleClass,o=/\S+/g;a.fn.removeAttr=function(b){var d=this;return a.each(b.match(o),function(b,e){a.expr.match.bool.test(e)&&(c("jQuery.fn.removeAttr no longer sets boolean properties: "+e),d.prop(e,!1))}),m.apply(this,arguments)},a.fn.toggleClass=function (b){return void 0!==b&&"boolean"!=typeof b?n.apply(this,arguments):(c("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var c=this.getAttribute&&this.getAttribute("class")||"";c&&a.data(this,"__className__",c),this.setAttribute&&this.setAttribute("class",c||b===!1?"":a.data(this,"__className__")||"")}))};var p=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return p=!0,a=d.apply(this,arguments),p=!1,a})}),a.swap=function(a,b,d,e){var f,g,h={};p||c("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=d.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f};var q=a.data;a.data=function(b,d,e){var f;return d&&d!==a.camelCase(d)&&(f=a.hasData(b)&&q.call(this,b),f&&d in f)?(c("jQuery.data() always sets/gets camelCased names: "+d),arguments.length>2&&(f[d]=e),f[d]):q.apply(this,arguments)};var r=a.Tween.prototype.run;a.Tween.proto type.run=function(b){a.easing[this.easing].length>1&&(c('easing function "jQuery.easing.'+this.easing.toString()+'" should use only first argument'),a.easing[this.easing]=a.easing[this.easing].bind(a.easing,b,this.options.duration*b,0,1,this.options.duration)),r.apply(this,arguments)};var s=a.fn.load,t=a.event.fix;a.event.props=[],a.event.fixHooks={},a.event.fix=function(b){var d,e=b.type,f=this.fixHooks[e],g=a.event.props;if(g.length)for(c("jQuery.event.props are deprecated and removed: "+g.join());g.length;)a.event.addProp(g.pop());if(f&&!f._migrated_&&(f._migrated_=!0,c("jQuery.event.fixHooks are deprecated and removed: "+e),(g=f.props)&&g.length))for(;g.length;)a.event.addProp(g.pop());return d=t.call(this,b),f&&f.filter?f.filter(d,b):d},a.each(["load","unload","error"],function(b,d){a.fn[d]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===d&&"string"==typeof a[0]?s.apply(this,a):(c("jQuery.fn."+d+"() is deprecated"),a.splice(0,0,d),arguments.length?this.o n.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a(function(){a(document).triggerHandler("ready")}),a.event.special.ready={setup:function(){this===document&&c("'ready' event is deprecated")}},a.fn.extend({bind:function(a,b,d){return c("jQuery.fn.bind() is deprecated"),this.on(a,null,b,d)},unbind:function(a,b){return c("jQuery.fn.unbind() is deprecated"),this.off(a,null,b)},delegate:function(a,b,d,e){return c("jQuery.fn.delegate() is deprecated"),this.on(b,a,d,e)},undelegate:function(a,b,d){return c("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(a,"**"):this.off(b,a||"**",d)}});var u=a.fn.offset;a.fn.offset=function(){var b,d=this[0],e={top:0,left:0};return d&&d.nodeType?(b=(d.ownerDocument||document).documentElement,a.contains(b,d)?u.apply(this,arguments):(c("jQuery.fn.offset() requires an element connected to a document"),e)):(c("jQuery.fn.offset() requires a valid DOM element"),e)};var v=a.param;a.param=function(b,d){var e=a.ajaxSettings&&a.ajaxS ettings.traditional;return void 0===d&&e&&(c("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),d=e),v.call(this,b,d)};var w=a.fn.andSelf||a.fn.addBack;a.fn.andSelf=function(){return c("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)};var x=a.Deferred,y=[["resolve","done",a.Callbacks("once memory"),a.Callbacks("once memory"),"resolved"],["reject","fail",a.Callbacks("once memory"),a.Callbacks("once memory"),"rejected"],["notify","progress",a.Callbacks("memory"),a.Callbacks("memory")]];a.Deferred=function(b){var d=x(),e=d.promise();return d.pipe=e.pipe=function(){var b=arguments;return c("deferred.pipe() is deprecated"),a.Deferred(function(c){a.each(y,function(f,g){var h=a.isFunction(b[f])&&b[f];d[g[1]](function(){var b=h&&h.apply(this,arguments);b&&a.isFunction(b.promise)?b.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g[0]+"With"](this===e?c.promise():this,h?[b]:arguments)})}),b=null}).promise()},b&&b.call(d,d),d}}(jQuery,w indow); \ No newline at end of file Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js Tue Jun 18 10:09:00 2019 @@ -0,0 +1,193 @@ +/*! + * jQuery Browser Plugin 0.1.0 + * https://github.com/gabceb/jquery-browser-plugin + * + * Original jquery-browser code Copyright 2005, 2015 jQuery Foundation, Inc. and other contributors + * http://jquery.org/license + * + * Modifications Copyright 2015 Gabriel Cebrian + * https://github.com/gabceb + * + * Released under the MIT license + * + * Date: 05-07-2015 + */ +/*global window: false */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], function ($) { + return factory($); + }); + } else if (typeof module === 'object' && typeof module.exports === 'object') { + // Node-like environment + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(window.jQuery); + } +}(function(jQuery) { + "use strict"; + + function uaMatch( ua ) { + // If an UA is not provided, default to the current browser UA. + if ( ua === undefined ) { + ua = window.navigator.userAgent; + } + ua = ua.toLowerCase(); + + var match = /(edge)\/([\w.]+)/.exec( ua ) || + /(opr)[\/]([\w.]+)/.exec( ua ) || + /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(iemobile)[\/]([\w.]+)/.exec( ua ) || + /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + var platform_match = /(ipad)/.exec( ua ) || + /(ipod)/.exec( ua ) || + /(windows phone)/.exec( ua ) || + /(iphone)/.exec( ua ) || + /(kindle)/.exec( ua ) || + /(silk)/.exec( ua ) || + /(android)/.exec( ua ) || + /(win)/.exec( ua ) || + /(mac)/.exec( ua ) || + /(linux)/.exec( ua ) || + /(cros)/.exec( ua ) || + /(playbook)/.exec( ua ) || + /(bb)/.exec( ua ) || + /(blackberry)/.exec( ua ) || + []; + + var browser = {}, + matched = { + browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || "", + version: match[ 2 ] || match[ 4 ] || "0", + versionNumber: match[ 4 ] || match[ 2 ] || "0", + platform: platform_match[ 0 ] || "" + }; + + if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; + browser.versionNumber = parseInt(matched.versionNumber, 10); + } + + if ( matched.platform ) { + browser[ matched.platform ] = true; + } + + // These are all considered mobile platforms, meaning they run a mobile browser + if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone || + browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ "windows phone" ]) { + browser.mobile = true; + } + + // These are all considered desktop platforms, meaning they run a desktop browser + if ( browser.cros || browser.mac || browser.linux || browser.win ) { + browser.desktop = true; + } + + // Chrome, Opera 15+ and Safari are webkit based browsers + if ( browser.chrome || browser.opr || browser.safari ) { + browser.webkit = true; + } + + // IE11 has a new token so we will assign it msie to avoid breaking changes + if ( browser.rv || browser.iemobile) { + var ie = "msie"; + + matched.browser = ie; + browser[ie] = true; + } + + // Edge is officially known as Microsoft Edge, so rewrite the key to match + if ( browser.edge ) { + delete browser.edge; + var msedge = "msedge"; + + matched.browser = msedge; + browser[msedge] = true; + } + + // Blackberry browsers are marked as Safari on BlackBerry + if ( browser.safari && browser.blackberry ) { + var blackberry = "blackberry"; + + matched.browser = blackberry; + browser[blackberry] = true; + } + + // Playbook browsers are marked as Safari on Playbook + if ( browser.safari && browser.playbook ) { + var playbook = "playbook"; + + matched.browser = playbook; + browser[playbook] = true; + } + + // BB10 is a newer OS version of BlackBerry + if ( browser.bb ) { + var bb = "blackberry"; + + matched.browser = bb; + browser[bb] = true; + } + + // Opera 15+ are identified as opr + if ( browser.opr ) { + var opera = "opera"; + + matched.browser = opera; + browser[opera] = true; + } + + // Stock Android browsers are marked as Safari on Android. + if ( browser.safari && browser.android ) { + var android = "android"; + + matched.browser = android; + browser[android] = true; + } + + // Kindle browsers are marked as Safari on Kindle + if ( browser.safari && browser.kindle ) { + var kindle = "kindle"; + + matched.browser = kindle; + browser[kindle] = true; + } + + // Kindle Silk browsers are marked as Safari on Kindle + if ( browser.safari && browser.silk ) { + var silk = "silk"; + + matched.browser = silk; + browser[silk] = true; + } + + // Assign the name and platform variable + browser.name = matched.browser; + browser.platform = matched.platform; + return browser; + } + + // Run the matching process, also assign the function to the returned object + // for manual, jQuery-free use if desired + window.jQBrowser = uaMatch( window.navigator.userAgent ); + window.jQBrowser.uaMatch = uaMatch; + + // Only assign to jQuery.browser if jQuery is loaded + if ( jQuery ) { + jQuery.browser = window.jQBrowser; + } + + return window.jQBrowser; +})); Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js Tue Jun 18 10:09:00 2019 @@ -0,0 +1,14 @@ +/*! + * jQuery Browser Plugin 0.1.0 + * https://github.com/gabceb/jquery-browser-plugin + * + * Original jquery-browser code Copyright 2005, 2015 jQuery Foundation, Inc. and other contributors + * http://jquery.org/license + * + * Modifications Copyright 2015 Gabriel Cebrian + * https://github.com/gabceb + * + * Released under the MIT license + * + * Date: 23-11-2015 + */!function(a){"function"==typeof define&&define.amd?define(["jquery"],function(b){return a(b)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=a(require("jquery")):a(window.jQuery)}(function(a){"use strict";function b(a){void 0===a&&(a=window.navigator.userAgent),a=a.toLowerCase();var b=/(edge)\/([\w.]+)/.exec(a)||/(opr)[\/]([\w.]+)/.exec(a)||/(chrome)[ \/]([\w.]+)/.exec(a)||/(iemobile)[\/]([\w.]+)/.exec(a)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[],c=/(ipad)/.exec(a)||/(ipod)/.exec(a)||/(windows phone)/.exec(a)||/(iphone)/.exec(a)||/(kindle)/.exec(a)||/(silk)/.exec(a)||/(android)/.exec(a)||/(win)/.exec(a)||/(mac)/.exec(a )||/(linux)/.exec(a)||/(cros)/.exec(a)||/(playbook)/.exec(a)||/(bb)/.exec(a)||/(blackberry)/.exec(a)||[],d={},e={browser:b[5]||b[3]||b[1]||"",version:b[2]||b[4]||"0",versionNumber:b[4]||b[2]||"0",platform:c[0]||""};if(e.browser&&(d[e.browser]=!0,d.version=e.version,d.versionNumber=parseInt(e.versionNumber,10)),e.platform&&(d[e.platform]=!0),(d.android||d.bb||d.blackberry||d.ipad||d.iphone||d.ipod||d.kindle||d.playbook||d.silk||d["windows phone"])&&(d.mobile=!0),(d.cros||d.mac||d.linux||d.win)&&(d.desktop=!0),(d.chrome||d.opr||d.safari)&&(d.webkit=!0),d.rv||d.iemobile){var f="msie";e.browser=f,d[f]=!0}if(d.edge){delete d.edge;var g="msedge";e.browser=g,d[g]=!0}if(d.safari&&d.blackberry){var h="blackberry";e.browser=h,d[h]=!0}if(d.safari&&d.playbook){var i="playbook";e.browser=i,d[i]=!0}if(d.bb){var j="blackberry";e.browser=j,d[j]=!0}if(d.opr){var k="opera";e.browser=k,d[k]=!0}if(d.safari&&d.android){var l="android";e.browser=l,d[l]=!0}if(d.safari&&d.kindle){var m="kindle";e.browser=m ,d[m]=!0}if(d.safari&&d.silk){var n="silk";e.browser=n,d[n]=!0}return d.name=e.browser,d.platform=e.platform,d}return window.jQBrowser=b(window.navigator.userAgent),window.jQBrowser.uaMatch=b,a&&(a.browser=window.jQBrowser),window.jQBrowser}); \ No newline at end of file Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css Tue Jun 18 10:09:00 2019 @@ -0,0 +1,158 @@ +/** + * Featherlight â ultra slim jQuery lightbox + * Version 1.7.13 - http://noelboss.github.io/featherlight/ + * + * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ + +html.with-featherlight { + /* disable global scrolling when featherlights are visible */ + overflow: hidden; +} + +.featherlight { + display: none; + + /* dimensions: spanning the background from edge to edge */ + position:fixed; + top: 0; right: 0; bottom: 0; left: 0; + z-index: 2147483647; /* z-index needs to be >= elements on the site. */ + + /* position: centering content */ + text-align: center; + + /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */ + white-space: nowrap; + + /* styling */ + cursor: pointer; + background: #333; + /* IE8 "hack" for nested featherlights */ + background: rgba(0, 0, 0, 0); +} + +/* support for nested featherlights. Does not work in IE8 (use JS to fix) */ +.featherlight:last-of-type { + background: rgba(0, 0, 0, 0.8); +} + +.featherlight:before { + /* position: trick to center content vertically */ + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +.featherlight .featherlight-content { + /* make content container for positioned elements (close button) */ + position: relative; + + /* position: centering vertical and horizontal */ + text-align: left; + vertical-align: middle; + display: inline-block; + + /* dimensions: cut off images */ + overflow: auto; + padding: 25px 25px 0; + border-bottom: 25px solid transparent; + + /* dimensions: handling large content */ + margin-left: 5%; + margin-right: 5%; + max-height: 95%; + + /* styling */ + background: #fff; + cursor: auto; + + /* reset white-space wrapping */ + white-space: normal; +} + +/* contains the content */ +.featherlight .featherlight-inner { + /* make sure its visible */ + display: block; +} + +/* don't show these though */ +.featherlight script.featherlight-inner, +.featherlight link.featherlight-inner, +.featherlight style.featherlight-inner { + display: none; +} + +.featherlight .featherlight-close-icon { + /* position: centering vertical and horizontal */ + position: absolute; + z-index: 9999; + top: 0; + right: 0; + + /* dimensions: 25px x 25px */ + line-height: 25px; + width: 25px; + + /* styling */ + cursor: pointer; + text-align: center; + font-family: Arial, sans-serif; + background: #fff; /* Set the background in case it overlaps the content */ + background: rgba(255, 255, 255, 0.3); + color: #000; + border: none; + padding: 0; +} + +/* See http://stackoverflow.com/questions/16077341/how-to-reset-all-default-styles-of-the-html5-button-element */ +.featherlight .featherlight-close-icon::-moz-focus-inner { + border: 0; + padding: 0; +} + +.featherlight .featherlight-image { + /* styling */ + width: 100%; +} + + +.featherlight-iframe .featherlight-content { + /* removed the border for image croping since iframe is edge to edge */ + border-bottom: 0; + padding: 0; + -webkit-overflow-scrolling: touch; +} + +.featherlight iframe { + /* styling */ + border: none; +} + +.featherlight * { /* See https://github.com/noelboss/featherlight/issues/42 */ + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* handling phones and small screens */ +@media only screen and (max-width: 1024px) { + .featherlight .featherlight-content { + /* dimensions: maximize lightbox with for small screens */ + margin-left: 0; + margin-right: 0; + max-height: 98%; + + padding: 10px 10px 0; + border-bottom: 10px solid transparent; + } +} + +/* hide non featherlight items when printing */ +@media print { + html.with-featherlight > * > :not(.featherlight) { + display: none; + } +} Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css ------------------------------------------------------------------------------ svn:mime-type = text/css Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js Tue Jun 18 10:09:00 2019 @@ -0,0 +1,641 @@ +/** + * Featherlight - ultra slim jQuery lightbox + * Version 1.7.13 - http://noelboss.github.io/featherlight/ + * + * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ +(function($) { + "use strict"; + + if('undefined' === typeof $) { + if('console' in window){ window.console.info('Too much lightness, Featherlight needs jQuery.'); } + return; + } + if($.fn.jquery.match(/-ajax/)) { + if('console' in window){ window.console.info('Featherlight needs regular jQuery, not the slim version.'); } + return; + } + /* Featherlight is exported as $.featherlight. + It is a function used to open a featherlight lightbox. + + [tech] + Featherlight uses prototype inheritance. + Each opened lightbox will have a corresponding object. + That object may have some attributes that override the + prototype's. + Extensions created with Featherlight.extend will have their + own prototype that inherits from Featherlight's prototype, + thus attributes can be overriden either at the object level, + or at the extension level. + To create callbacks that chain themselves instead of overriding, + use chainCallbacks. + For those familiar with CoffeeScript, this correspond to + Featherlight being a class and the Gallery being a class + extending Featherlight. + The chainCallbacks is used since we don't have access to + CoffeeScript's `super`. + */ + + function Featherlight($content, config) { + if(this instanceof Featherlight) { /* called with new */ + this.id = Featherlight.id++; + this.setup($content, config); + this.chainCallbacks(Featherlight._callbackChain); + } else { + var fl = new Featherlight($content, config); + fl.open(); + return fl; + } + } + + var opened = [], + pruneOpened = function(remove) { + opened = $.grep(opened, function(fl) { + return fl !== remove && fl.$instance.closest('body').length > 0; + } ); + return opened; + }; + + // Removes keys of `set` from `obj` and returns the removed key/values. + function slice(obj, set) { + var r = {}; + for (var key in obj) { + if (key in set) { + r[key] = obj[key]; + delete obj[key]; + } + } + return r; + } + + // NOTE: List of available [iframe attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe). + var iFrameAttributeSet = { + allow: 1, allowfullscreen: 1, frameborder: 1, height: 1, longdesc: 1, marginheight: 1, marginwidth: 1, + mozallowfullscreen: 1, name: 1, referrerpolicy: 1, sandbox: 1, scrolling: 1, src: 1, srcdoc: 1, style: 1, + webkitallowfullscreen: 1, width: 1 + }; + + // Converts camelCased attributes to dasherized versions for given prefix: + // parseAttrs({hello: 1, hellFrozeOver: 2}, 'hell') => {froze-over: 2} + function parseAttrs(obj, prefix) { + var attrs = {}, + regex = new RegExp('^' + prefix + '([A-Z])(.*)'); + for (var key in obj) { + var match = key.match(regex); + if (match) { + var dasherized = (match[1] + match[2].replace(/([A-Z])/g, '-$1')).toLowerCase(); + attrs[dasherized] = obj[key]; + } + } + return attrs; + } + + /* document wide key handler */ + var eventMap = { keyup: 'onKeyUp', resize: 'onResize' }; + + var globalEventHandler = function(event) { + $.each(Featherlight.opened().reverse(), function() { + if (!event.isDefaultPrevented()) { + if (false === this[eventMap[event.type]](event)) { + event.preventDefault(); event.stopPropagation(); return false; + } + } + }); + }; + + var toggleGlobalEvents = function(set) { + if(set !== Featherlight._globalHandlerInstalled) { + Featherlight._globalHandlerInstalled = set; + var events = $.map(eventMap, function(_, name) { return name+'.'+Featherlight.prototype.namespace; } ).join(' '); + $(window)[set ? 'on' : 'off'](events, globalEventHandler); + } + }; + + Featherlight.prototype = { + constructor: Featherlight, + /*** defaults ***/ + /* extend featherlight with defaults and methods */ + namespace: 'featherlight', /* Name of the events and css class prefix */ + targetAttr: 'data-featherlight', /* Attribute of the triggered element that contains the selector to the lightbox content */ + variant: null, /* Class that will be added to change look of the lightbox */ + resetCss: false, /* Reset all css */ + background: null, /* Custom DOM for the background, wrapper and the closebutton */ + openTrigger: 'click', /* Event that triggers the lightbox */ + closeTrigger: 'click', /* Event that triggers the closing of the lightbox */ + filter: null, /* Selector to filter events. Think $(...).on('click', filter, eventHandler) */ + root: 'body', /* Where to append featherlights */ + openSpeed: 250, /* Duration of opening animation */ + closeSpeed: 250, /* Duration of closing animation */ + closeOnClick: 'background', /* Close lightbox on click ('background', 'anywhere' or false) */ + closeOnEsc: true, /* Close lightbox when pressing esc */ + closeIcon: '✕', /* Close icon */ + loading: '', /* Content to show while initial content is loading */ + persist: false, /* If set, the content will persist and will be shown again when opened again. 'shared' is a special value when binding multiple elements for them to share the same content */ + otherClose: null, /* Selector for alternate close buttons (e.g. "a.close") */ + beforeOpen: $.noop, /* Called before open. can return false to prevent opening of lightbox. Gets event as parameter, this contains all data */ + beforeContent: $.noop, /* Called when content is loaded. Gets event as parameter, this contains all data */ + beforeClose: $.noop, /* Called before close. can return false to prevent opening of lightbox. Gets event as parameter, this contains all data */ + afterOpen: $.noop, /* Called after open. Gets event as parameter, this contains all data */ + afterContent: $.noop, /* Called after content is ready and has been set. Gets event as parameter, this contains all data */ + afterClose: $.noop, /* Called after close. Gets event as parameter, this contains all data */ + onKeyUp: $.noop, /* Called on key up for the frontmost featherlight */ + onResize: $.noop, /* Called after new content and when a window is resized */ + type: null, /* Specify type of lightbox. If unset, it will check for the targetAttrs value. */ + contentFilters: ['jquery', 'image', 'html', 'ajax', 'iframe', 'text'], /* List of content filters to use to determine the content */ + + /*** methods ***/ + /* setup iterates over a single instance of featherlight and prepares the background and binds the events */ + setup: function(target, config){ + /* all arguments are optional */ + if (typeof target === 'object' && target instanceof $ === false && !config) { + config = target; + target = undefined; + } + + var self = $.extend(this, config, {target: target}), + css = !self.resetCss ? self.namespace : self.namespace+'-reset', /* by adding -reset to the classname, we reset all the default css */ + $background = $(self.background || [ + '<div class="'+css+'-loading '+css+'">', + '<div class="'+css+'-content">', + '<button class="'+css+'-close-icon '+ self.namespace + '-close" aria-label="Close">', + self.closeIcon, + '</button>', + '<div class="'+self.namespace+'-inner">' + self.loading + '</div>', + '</div>', + '</div>'].join('')), + closeButtonSelector = '.'+self.namespace+'-close' + (self.otherClose ? ',' + self.otherClose : ''); + + self.$instance = $background.clone().addClass(self.variant); /* clone DOM for the background, wrapper and the close button */ + + /* close when click on background/anywhere/null or closebox */ + self.$instance.on(self.closeTrigger+'.'+self.namespace, function(event) { + if(event.isDefaultPrevented()) { + return; + } + var $target = $(event.target); + if( ('background' === self.closeOnClick && $target.is('.'+self.namespace)) + || 'anywhere' === self.closeOnClick + || $target.closest(closeButtonSelector).length ){ + self.close(event); + event.preventDefault(); + } + }); + + return this; + }, + + /* this method prepares the content and converts it into a jQuery object or a promise */ + getContent: function(){ + if(this.persist !== false && this.$content) { + return this.$content; + } + var self = this, + filters = this.constructor.contentFilters, + readTargetAttr = function(name){ return self.$currentTarget && self.$currentTarget.attr(name); }, + targetValue = readTargetAttr(self.targetAttr), + data = self.target || targetValue || ''; + + /* Find which filter applies */ + var filter = filters[self.type]; /* check explicit type like {type: 'image'} */ + + /* check explicit type like data-featherlight="image" */ + if(!filter && data in filters) { + filter = filters[data]; + data = self.target && targetValue; + } + data = data || readTargetAttr('href') || ''; + + /* check explicity type & content like {image: 'photo.jpg'} */ + if(!filter) { + for(var filterName in filters) { + if(self[filterName]) { + filter = filters[filterName]; + data = self[filterName]; + } + } + } + + /* otherwise it's implicit, run checks */ + if(!filter) { + var target = data; + data = null; + $.each(self.contentFilters, function() { + filter = filters[this]; + if(filter.test) { + data = filter.test(target); + } + if(!data && filter.regex && target.match && target.match(filter.regex)) { + data = target; + } + return !data; + }); + if(!data) { + if('console' in window){ window.console.error('Featherlight: no content filter found ' + (target ? ' for "' + target + '"' : ' (no target specified)')); } + return false; + } + } + /* Process it */ + return filter.process.call(self, data); + }, + + /* sets the content of $instance to $content */ + setContent: function($content){ + this.$instance.removeClass(this.namespace+'-loading'); + + /* we need a special class for the iframe */ + this.$instance.toggleClass(this.namespace+'-iframe', $content.is('iframe')); + + /* replace content by appending to existing one before it is removed + this insures that featherlight-inner remain at the same relative + position to any other items added to featherlight-content */ + this.$instance.find('.'+this.namespace+'-inner') + .not($content) /* excluded new content, important if persisted */ + .slice(1).remove().end() /* In the unexpected event where there are many inner elements, remove all but the first one */ + .replaceWith($.contains(this.$instance[0], $content[0]) ? '' : $content); + + this.$content = $content.addClass(this.namespace+'-inner'); + + return this; + }, + + /* opens the lightbox. "this" contains $instance with the lightbox, and with the config. + Returns a promise that is resolved after is successfully opened. */ + open: function(event){ + var self = this; + self.$instance.hide().appendTo(self.root); + if((!event || !event.isDefaultPrevented()) + && self.beforeOpen(event) !== false) { + + if(event){ + event.preventDefault(); + } + var $content = self.getContent(); + + if($content) { + opened.push(self); + + toggleGlobalEvents(true); + + self.$instance.fadeIn(self.openSpeed); + self.beforeContent(event); + + /* Set content and show */ + return $.when($content) + .always(function($content){ + self.setContent($content); + self.afterContent(event); + }) + .then(self.$instance.promise()) + /* Call afterOpen after fadeIn is done */ + .done(function(){ self.afterOpen(event); }); + } + } + self.$instance.detach(); + return $.Deferred().reject().promise(); + }, + + /* closes the lightbox. "this" contains $instance with the lightbox, and with the config + returns a promise, resolved after the lightbox is successfully closed. */ + close: function(event){ + var self = this, + deferred = $.Deferred(); + + if(self.beforeClose(event) === false) { + deferred.reject(); + } else { + + if (0 === pruneOpened(self).length) { + toggleGlobalEvents(false); + } + + self.$instance.fadeOut(self.closeSpeed,function(){ + self.$instance.detach(); + self.afterClose(event); + deferred.resolve(); + }); + } + return deferred.promise(); + }, + + /* resizes the content so it fits in visible area and keeps the same aspect ratio. + Does nothing if either the width or the height is not specified. + Called automatically on window resize. + Override if you want different behavior. */ + resize: function(w, h) { + if (w && h) { + /* Reset apparent image size first so container grows */ + this.$content.css('width', '').css('height', ''); + /* Calculate the worst ratio so that dimensions fit */ + /* Note: -1 to avoid rounding errors */ + var ratio = Math.max( + w / (this.$content.parent().width()-1), + h / (this.$content.parent().height()-1)); + /* Resize content */ + if (ratio > 1) { + ratio = h / Math.floor(h / ratio); /* Round ratio down so height calc works */ + this.$content.css('width', '' + w / ratio + 'px').css('height', '' + h / ratio + 'px'); + } + } + }, + + /* Utility function to chain callbacks + [Warning: guru-level] + Used be extensions that want to let users specify callbacks but + also need themselves to use the callbacks. + The argument 'chain' has callback names as keys and function(super, event) + as values. That function is meant to call `super` at some point. + */ + chainCallbacks: function(chain) { + for (var name in chain) { + this[name] = $.proxy(chain[name], this, $.proxy(this[name], this)); + } + } + }; + + $.extend(Featherlight, { + id: 0, /* Used to id single featherlight instances */ + autoBind: '[data-featherlight]', /* Will automatically bind elements matching this selector. Clear or set before onReady */ + defaults: Featherlight.prototype, /* You can access and override all defaults using $.featherlight.defaults, which is just a synonym for $.featherlight.prototype */ + /* Contains the logic to determine content */ + contentFilters: { + jquery: { + regex: /^[#.]\w/, /* Anything that starts with a class name or identifiers */ + test: function(elem) { return elem instanceof $ && elem; }, + process: function(elem) { return this.persist !== false ? $(elem) : $(elem).clone(true); } + }, + image: { + regex: /\.(png|jpg|jpeg|gif|tiff?|bmp|svg)(\?\S*)?$/i, + process: function(url) { + var self = this, + deferred = $.Deferred(), + img = new Image(), + $img = $('<img src="'+url+'" alt="" class="'+self.namespace+'-image" />'); + img.onload = function() { + /* Store naturalWidth & height for IE8 */ + $img.naturalWidth = img.width; $img.naturalHeight = img.height; + deferred.resolve( $img ); + }; + img.onerror = function() { deferred.reject($img); }; + img.src = url; + return deferred.promise(); + } + }, + html: { + regex: /^\s*<[\w!][^<]*>/, /* Anything that starts with some kind of valid tag */ + process: function(html) { return $(html); } + }, + ajax: { + regex: /./, /* At this point, any content is assumed to be an URL */ + process: function(url) { + var self = this, + deferred = $.Deferred(); + /* we are using load so one can specify a target with: url.html #targetelement */ + var $container = $('<div></div>').load(url, function(response, status){ + if ( status !== "error" ) { + deferred.resolve($container.contents()); + } + deferred.fail(); + }); + return deferred.promise(); + } + }, + iframe: { + process: function(url) { + var deferred = new $.Deferred(); + var $content = $('<iframe/>'); + var css = parseAttrs(this, 'iframe'); + var attrs = slice(css, iFrameAttributeSet); + $content.hide() + .attr('src', url) + .attr(attrs) + .css(css) + .on('load', function() { deferred.resolve($content.show()); }) + // We can't move an <iframe> and avoid reloading it, + // so let's put it in place ourselves right now: + .appendTo(this.$instance.find('.' + this.namespace + '-content')); + return deferred.promise(); + } + }, + text: { + process: function(text) { return $('<div>', {text: text}); } + } + }, + + functionAttributes: ['beforeOpen', 'afterOpen', 'beforeContent', 'afterContent', 'beforeClose', 'afterClose'], + + /*** class methods ***/ + /* read element's attributes starting with data-featherlight- */ + readElementConfig: function(element, namespace) { + var Klass = this, + regexp = new RegExp('^data-' + namespace + '-(.*)'), + config = {}; + if (element && element.attributes) { + $.each(element.attributes, function(){ + var match = this.name.match(regexp); + if (match) { + var val = this.value, + name = $.camelCase(match[1]); + if ($.inArray(name, Klass.functionAttributes) >= 0) { /* jshint -W054 */ + val = new Function(val); /* jshint +W054 */ + } else { + try { val = JSON.parse(val); } + catch(e) {} + } + config[name] = val; + } + }); + } + return config; + }, + + /* Used to create a Featherlight extension + [Warning: guru-level] + Creates the extension's prototype that in turn + inherits Featherlight's prototype. + Could be used to extend an extension too... + This is pretty high level wizardy, it comes pretty much straight + from CoffeeScript and won't teach you anything about Featherlight + as it's not really specific to this library. + My suggestion: move along and keep your sanity. + */ + extend: function(child, defaults) { + /* Setup class hierarchy, adapted from CoffeeScript */ + var Ctor = function(){ this.constructor = child; }; + Ctor.prototype = this.prototype; + child.prototype = new Ctor(); + child.__super__ = this.prototype; + /* Copy class methods & attributes */ + $.extend(child, this, defaults); + child.defaults = child.prototype; + return child; + }, + + attach: function($source, $content, config) { + var Klass = this; + if (typeof $content === 'object' && $content instanceof $ === false && !config) { + config = $content; + $content = undefined; + } + /* make a copy */ + config = $.extend({}, config); + + /* Only for openTrigger, filter & namespace... */ + var namespace = config.namespace || Klass.defaults.namespace, + tempConfig = $.extend({}, Klass.defaults, Klass.readElementConfig($source[0], namespace), config), + sharedPersist; + var handler = function(event) { + var $target = $(event.currentTarget); + /* ... since we might as well compute the config on the actual target */ + var elemConfig = $.extend( + {$source: $source, $currentTarget: $target}, + Klass.readElementConfig($source[0], tempConfig.namespace), + Klass.readElementConfig(event.currentTarget, tempConfig.namespace), + config); + var fl = sharedPersist || $target.data('featherlight-persisted') || new Klass($content, elemConfig); + if(fl.persist === 'shared') { + sharedPersist = fl; + } else if(fl.persist !== false) { + $target.data('featherlight-persisted', fl); + } + if (elemConfig.$currentTarget.blur) { + elemConfig.$currentTarget.blur(); // Otherwise 'enter' key might trigger the dialog again + } + fl.open(event); + }; + + $source.on(tempConfig.openTrigger+'.'+tempConfig.namespace, tempConfig.filter, handler); + + return {filter: tempConfig.filter, handler: handler}; + }, + + current: function() { + var all = this.opened(); + return all[all.length - 1] || null; + }, + + opened: function() { + var klass = this; + pruneOpened(); + return $.grep(opened, function(fl) { return fl instanceof klass; } ); + }, + + close: function(event) { + var cur = this.current(); + if(cur) { return cur.close(event); } + }, + + /* Does the auto binding on startup. + Meant only to be used by Featherlight and its extensions + */ + _onReady: function() { + var Klass = this; + if(Klass.autoBind){ + var $autobound = $(Klass.autoBind); + /* Bind existing elements */ + $autobound.each(function(){ + Klass.attach($(this)); + }); + /* If a click propagates to the document level, then we have an item that was added later on */ + $(document).on('click', Klass.autoBind, function(evt) { + if (evt.isDefaultPrevented()) { + return; + } + var $cur = $(evt.currentTarget); + var len = $autobound.length; + $autobound = $autobound.add($cur); + if(len === $autobound.length) { + return; /* already bound */ + } + /* Bind featherlight */ + var data = Klass.attach($cur); + /* Dispatch event directly */ + if (!data.filter || $(evt.target).parentsUntil($cur, data.filter).length > 0) { + data.handler(evt); + } + }); + } + }, + + /* Featherlight uses the onKeyUp callback to intercept the escape key. + Private to Featherlight. + */ + _callbackChain: { + onKeyUp: function(_super, event){ + if(27 === event.keyCode) { + if (this.closeOnEsc) { + $.featherlight.close(event); + } + return false; + } else { + return _super(event); + } + }, + + beforeOpen: function(_super, event) { + // Used to disable scrolling + $(document.documentElement).addClass('with-featherlight'); + + // Remember focus: + this._previouslyActive = document.activeElement; + + // Disable tabbing: + // See http://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus + this._$previouslyTabbable = $("a, input, select, textarea, iframe, button, iframe, [contentEditable=true]") + .not('[tabindex]') + .not(this.$instance.find('button')); + + this._$previouslyWithTabIndex = $('[tabindex]').not('[tabindex="-1"]'); + this._previousWithTabIndices = this._$previouslyWithTabIndex.map(function(_i, elem) { + return $(elem).attr('tabindex'); + }); + + this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr('tabindex', -1); + + if (document.activeElement.blur) { + document.activeElement.blur(); + } + return _super(event); + }, + + afterClose: function(_super, event) { + var r = _super(event); + // Restore focus + var self = this; + this._$previouslyTabbable.removeAttr('tabindex'); + this._$previouslyWithTabIndex.each(function(i, elem) { + $(elem).attr('tabindex', self._previousWithTabIndices[i]); + }); + this._previouslyActive.focus(); + // Restore scroll + if(Featherlight.opened().length === 0) { + $(document.documentElement).removeClass('with-featherlight'); + } + return r; + }, + + onResize: function(_super, event){ + this.resize(this.$content.naturalWidth, this.$content.naturalHeight); + return _super(event); + }, + + afterContent: function(_super, event){ + var r = _super(event); + this.$instance.find('[autofocus]:not([disabled])').focus(); + this.onResize(event); + return r; + } + } + }); + + $.featherlight = Featherlight; + + /* bind jQuery elements to trigger featherlight */ + $.fn.featherlight = function($content, config) { + Featherlight.attach(this, $content, config); + return this; + }; + + /* bind featherlight on ready if config autoBind is set */ + $(document).ready(function(){ Featherlight._onReady(); }); +}(jQuery)); Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css Tue Jun 18 10:09:00 2019 @@ -0,0 +1,8 @@ +/** + * Featherlight - ultra slim jQuery lightbox + * Version 1.7.13 - http://noelboss.github.io/featherlight/ + * + * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ +html.with-featherlight{overflow:hidden}.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight link.featherlight-inner,.featherlight script.featherlight-inner,.featherlight style.featherlight-inner{display:none}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;backg round:#fff;background:rgba(255,255,255,.3);color:#000;border:0;padding:0}.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch}.featherlight iframe{border:0}.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}@media print{html.with-featherlight>*>:not(.featherlight){display:none}} \ No newline at end of file Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css ------------------------------------------------------------------------------ svn:mime-type = text/css Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js Tue Jun 18 10:09:00 2019 @@ -0,0 +1,8 @@ +/** + * Featherlight - ultra slim jQuery lightbox + * Version 1.7.13 - http://noelboss.github.io/featherlight/ + * + * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ +!function(a){"use strict";function b(a,c){if(!(this instanceof b)){var d=new b(a,c);return d.open(),d}this.id=b.id++,this.setup(a,c),this.chainCallbacks(b._callbackChain)}function c(a,b){var c={};for(var d in a)d in b&&(c[d]=a[d],delete a[d]);return c}function d(a,b){var c={},d=new RegExp("^"+b+"([A-Z])(.*)");for(var e in a){var f=e.match(d);if(f){var g=(f[1]+f[2].replace(/([A-Z])/g,"-$1")).toLowerCase();c[g]=a[e]}}return c}if("undefined"==typeof a)return void("console"in window&&window.console.info("Too much lightness, Featherlight needs jQuery."));if(a.fn.jquery.match(/-ajax/))return void("console"in window&&window.console.info("Featherlight needs regular jQuery, not the slim version."));var e=[],f=function(b){return e=a.grep(e,function(a){return a!==b&&a.$instance.closest("body").length>0})},g={allow:1,allowfullscreen:1,frameborder:1,height:1,longdesc:1,marginheight:1,marginwidth:1,mozallowfullscreen:1,name:1,referrerpolicy:1,sandbox:1,scrolling:1,src:1,srcdoc:1,style:1,webkitall owfullscreen:1,width:1},h={keyup:"onKeyUp",resize:"onResize"},i=function(c){a.each(b.opened().reverse(),function(){return c.isDefaultPrevented()||!1!==this[h[c.type]](c)?void 0:(c.preventDefault(),c.stopPropagation(),!1)})},j=function(c){if(c!==b._globalHandlerInstalled){b._globalHandlerInstalled=c;var d=a.map(h,function(a,c){return c+"."+b.prototype.namespace}).join(" ");a(window)[c?"on":"off"](d,i)}};b.prototype={constructor:b,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!1,background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"✕",loading:"",persist:!1,otherClose:null,beforeOpen:a.noop,beforeContent:a.noop,beforeClose:a.noop,afterOpen:a.noop,afterContent:a.noop,afterClose:a.noop,onKeyUp:a.noop,onResize:a.noop,type:null,contentFilters:["jquery","image","html","ajax","iframe","text"],setup:function(b,c){"object"!=typeof b||b instanceof a!= !1||c||(c=b,b=void 0);var d=a.extend(this,c,{target:b}),e=d.resetCss?d.namespace+"-reset":d.namespace,f=a(d.background||['<div class="'+e+"-loading "+e+'">','<div class="'+e+'-content">','<button class="'+e+"-close-icon "+d.namespace+'-close" aria-label="Close">',d.closeIcon,"</button>",'<div class="'+d.namespace+'-inner">'+d.loading+"</div>","</div>","</div>"].join("")),g="."+d.namespace+"-close"+(d.otherClose?","+d.otherClose:"");return d.$instance=f.clone().addClass(d.variant),d.$instance.on(d.closeTrigger+"."+d.namespace,function(b){if(!b.isDefaultPrevented()){var c=a(b.target);("background"===d.closeOnClick&&c.is("."+d.namespace)||"anywhere"===d.closeOnClick||c.closest(g).length)&&(d.close(b),b.preventDefault())}}),this},getContent:function(){if(this.persist!==!1&&this.$content)return this.$content;var b=this,c=this.constructor.contentFilters,d=function(a){return b.$currentTarget&&b.$currentTarget.attr(a)},e=d(b.targetAttr),f=b.target||e||"",g=c[b.type];if(!g&&f in c&&(g=c[f],f =b.target&&e),f=f||d("href")||"",!g)for(var h in c)b[h]&&(g=c[h],f=b[h]);if(!g){var i=f;if(f=null,a.each(b.contentFilters,function(){return g=c[this],g.test&&(f=g.test(i)),!f&&g.regex&&i.match&&i.match(g.regex)&&(f=i),!f}),!f)return"console"in window&&window.console.error("Featherlight: no content filter found "+(i?' for "'+i+'"':" (no target specified)")),!1}return g.process.call(b,f)},setContent:function(b){return this.$instance.removeClass(this.namespace+"-loading"),this.$instance.toggleClass(this.namespace+"-iframe",b.is("iframe")),this.$instance.find("."+this.namespace+"-inner").not(b).slice(1).remove().end().replaceWith(a.contains(this.$instance[0],b[0])?"":b),this.$content=b.addClass(this.namespace+"-inner"),this},open:function(b){var c=this;if(c.$instance.hide().appendTo(c.root),!(b&&b.isDefaultPrevented()||c.beforeOpen(b)===!1)){b&&b.preventDefault();var d=c.getContent();if(d)return e.push(c),j(!0),c.$instance.fadeIn(c.openSpeed),c.beforeContent(b),a.when(d).always(function (a){c.setContent(a),c.afterContent(b)}).then(c.$instance.promise()).done(function(){c.afterOpen(b)})}return c.$instance.detach(),a.Deferred().reject().promise()},close:function(b){var c=this,d=a.Deferred();return c.beforeClose(b)===!1?d.reject():(0===f(c).length&&j(!1),c.$instance.fadeOut(c.closeSpeed,function(){c.$instance.detach(),c.afterClose(b),d.resolve()})),d.promise()},resize:function(a,b){if(a&&b){this.$content.css("width","").css("height","");var c=Math.max(a/(this.$content.parent().width()-1),b/(this.$content.parent().height()-1));c>1&&(c=b/Math.floor(b/c),this.$content.css("width",""+a/c+"px").css("height",""+b/c+"px"))}},chainCallbacks:function(b){for(var c in b)this[c]=a.proxy(b[c],this,a.proxy(this[c],this))}},a.extend(b,{id:0,autoBind:"[data-featherlight]",defaults:b.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(b){return b instanceof a&&b},process:function(b){return this.persist!==!1?a(b):a(b).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff?|bmp| svg)(\?\S*)?$/i,process:function(b){var c=this,d=a.Deferred(),e=new Image,f=a('<img src="'+b+'" alt="" class="'+c.namespace+'-image" />');return e.onload=function(){f.naturalWidth=e.width,f.naturalHeight=e.height,d.resolve(f)},e.onerror=function(){d.reject(f)},e.src=b,d.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(b){return a(b)}},ajax:{regex:/./,process:function(b){var c=a.Deferred(),d=a("<div></div>").load(b,function(a,b){"error"!==b&&c.resolve(d.contents()),c.fail()});return c.promise()}},iframe:{process:function(b){var e=new a.Deferred,f=a("<iframe/>"),h=d(this,"iframe"),i=c(h,g);return f.hide().attr("src",b).attr(i).css(h).on("load",function(){e.resolve(f.show())}).appendTo(this.$instance.find("."+this.namespace+"-content")),e.promise()}},text:{process:function(b){return a("<div>",{text:b})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(b,c){var d=this,e=new RegExp("^data-"+c+" -(.*)"),f={};return b&&b.attributes&&a.each(b.attributes,function(){var b=this.name.match(e);if(b){var c=this.value,g=a.camelCase(b[1]);if(a.inArray(g,d.functionAttributes)>=0)c=new Function(c);else try{c=JSON.parse(c)}catch(h){}f[g]=c}}),f},extend:function(b,c){var d=function(){this.constructor=b};return d.prototype=this.prototype,b.prototype=new d,b.__super__=this.prototype,a.extend(b,this,c),b.defaults=b.prototype,b},attach:function(b,c,d){var e=this;"object"!=typeof c||c instanceof a!=!1||d||(d=c,c=void 0),d=a.extend({},d);var f,g=d.namespace||e.defaults.namespace,h=a.extend({},e.defaults,e.readElementConfig(b[0],g),d),i=function(g){var i=a(g.currentTarget),j=a.extend({$source:b,$currentTarget:i},e.readElementConfig(b[0],h.namespace),e.readElementConfig(g.currentTarget,h.namespace),d),k=f||i.data("featherlight-persisted")||new e(c,j);"shared"===k.persist?f=k:k.persist!==!1&&i.data("featherlight-persisted",k),j.$currentTarget.blur&&j.$currentTarget.blur(),k.open(g)};return b.on(h .openTrigger+"."+h.namespace,h.filter,i),{filter:h.filter,handler:i}},current:function(){var a=this.opened();return a[a.length-1]||null},opened:function(){var b=this;return f(),a.grep(e,function(a){return a instanceof b})},close:function(a){var b=this.current();return b?b.close(a):void 0},_onReady:function(){var b=this;if(b.autoBind){var c=a(b.autoBind);c.each(function(){b.attach(a(this))}),a(document).on("click",b.autoBind,function(d){if(!d.isDefaultPrevented()){var e=a(d.currentTarget),f=c.length;if(c=c.add(e),f!==c.length){var g=b.attach(e);(!g.filter||a(d.target).parentsUntil(e,g.filter).length>0)&&g.handler(d)}}})}},_callbackChain:{onKeyUp:function(b,c){return 27===c.keyCode?(this.closeOnEsc&&a.featherlight.close(c),!1):b(c)},beforeOpen:function(b,c){return a(document.documentElement).addClass("with-featherlight"),this._previouslyActive=document.activeElement,this._$previouslyTabbable=a("a, input, select, textarea, iframe, button, iframe, [contentEditable=true]").not("[tabindex ]").not(this.$instance.find("button")),this._$previouslyWithTabIndex=a("[tabindex]").not('[tabindex="-1"]'),this._previousWithTabIndices=this._$previouslyWithTabIndex.map(function(b,c){return a(c).attr("tabindex")}),this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr("tabindex",-1),document.activeElement.blur&&document.activeElement.blur(),b(c)},afterClose:function(c,d){var e=c(d),f=this;return this._$previouslyTabbable.removeAttr("tabindex"),this._$previouslyWithTabIndex.each(function(b,c){a(c).attr("tabindex",f._previousWithTabIndices[b])}),this._previouslyActive.focus(),0===b.opened().length&&a(document.documentElement).removeClass("with-featherlight"),e},onResize:function(a,b){return this.resize(this.$content.naturalWidth,this.$content.naturalHeight),a(b)},afterContent:function(a,b){var c=a(b);return this.$instance.find("[autofocus]:not([disabled])").focus(),this.onResize(b),c}}}),a.featherlight=b,a.fn.featherlight=function(a,c){return b.attach(this,a,c),this},a(do cument).ready(function(){b._onReady()})}(jQuery); \ No newline at end of file Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css?rev=1861566&view=auto ============================================================================== --- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css (added) +++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css Tue Jun 18 10:09:00 2019 @@ -0,0 +1,122 @@ +/** + * Featherlight Gallery â an extension for the ultra slim jQuery lightbox + * Version 1.7.13 - http://noelboss.github.io/featherlight/ + * + * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ + +.featherlight-next, +.featherlight-previous { + display: block; + position: absolute; + top: 25px; + right: 25px; + bottom: 0; + left: 80%; + cursor: pointer; + /* preventing text selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* IE9 hack, otherwise navigation doesn't appear */ + background: rgba(0,0,0,0); +} + +.featherlight-previous { + left: 25px; + right: 80%; +} + +.featherlight-next:hover, +.featherlight-previous:hover { + background: rgba(255,255,255,0.25); +} + + +.featherlight-next span, +.featherlight-previous span { + display: none; + position: absolute; + + top: 50%; + left: 5%; + width: 82%; + + /* center horizontally */ + text-align: center; + + font-size: 80px; + line-height: 80px; + + /* center vertically */ + margin-top: -40px; + + text-shadow: 0px 0px 5px #fff; + color: #fff; + font-style: normal; + font-weight: normal; +} +.featherlight-next span { + right: 5%; + left: auto; +} + + +.featherlight-next:hover span, +.featherlight-previous:hover span { + display: inline-block; +} + +.featherlight-swipe-aware .featherlight-next, +.featherlight-swipe-aware .featherlight-previous { + display: none; +} + +/* Hide navigation while loading */ +.featherlight-loading .featherlight-previous, .featherlight-loading .featherlight-next { + display:none; +} + +/* Hide navigation in case of single image */ +.featherlight-first-slide.featherlight-last-slide .featherlight-previous, +.featherlight-first-slide.featherlight-last-slide .featherlight-next { + display:none; +} + + +/* Always display arrows on touch devices */ +@media only screen and (max-device-width: 1024px){ + .featherlight-next:hover, + .featherlight-previous:hover { + background: none; + } + .featherlight-next span, + .featherlight-previous span { + display: block; + } +} + +/* handling phones and small screens */ +@media only screen and (max-width: 1024px) { + .featherlight-next, + .featherlight-previous { + top: 10px; + right: 10px; + left: 85%; + } + + .featherlight-previous { + left: 10px; + right: 85%; + } + + .featherlight-next span, + .featherlight-previous span { + margin-top: -30px; + font-size: 40px; + } +} Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css ------------------------------------------------------------------------------ svn:mime-type = text/css |
Free forum by Nabble | Edit this page |