mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 21:13:35 +08:00
#17625: Fixing shape tracing tagging
Work Items: 17625 --HG-- branch : 1.x
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
jQuery(function($) {
|
jQuery(function ($) {
|
||||||
// default shape window height when first opened
|
// default shape window height when first opened
|
||||||
var defaultHeight = 200;
|
var defaultHeight = 200;
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@
|
|||||||
|
|
||||||
// add the expand/collapse logic to the shapes tree
|
// add the expand/collapse logic to the shapes tree
|
||||||
var glyph = $('<span class="expando-glyph-container closed"><span class="expando-glyph"></span>​</span>');
|
var glyph = $('<span class="expando-glyph-container closed"><span class="expando-glyph"></span>​</span>');
|
||||||
shapeTracingWindowTree.find('div').parent(':has(li)').prepend(glyph);
|
shapeTracingWindowTree.find('li:has(ul:has(li))').prepend(glyph);
|
||||||
|
|
||||||
// collapse all sub uls
|
// collapse all sub uls
|
||||||
shapeTracingWindowTree.find('ul ul').toggle(false);
|
shapeTracingWindowTree.find('ul ul').toggle(false);
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
var element = $('[shape-id="' + shapeId + '"]').get(0);
|
var element = $('[shape-id="' + shapeId + '"]').get(0);
|
||||||
// there might be no DOM element if the shape was empty, or is not displayed
|
// there might be no DOM element if the shape was empty, or is not displayed
|
||||||
if (element) {
|
if (element) {
|
||||||
$(window).scrollTo(element, 500, {margin:true});
|
$(window).scrollTo(element, 500, { margin: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@@ -316,8 +316,7 @@
|
|||||||
$("[shape-id-meta]").detach().prependTo(shapeTracingWindowContent);
|
$("[shape-id-meta]").detach().prependTo(shapeTracingWindowContent);
|
||||||
|
|
||||||
// add the expand/collapse logic to the shape model
|
// add the expand/collapse logic to the shape model
|
||||||
// var glyph = $('<span class="expando-glyph-container closed"><span class="expando-glyph"></span>​</span>');
|
shapeTracingWindowContent.find('li:has(ul:has(li))').prepend(glyph);
|
||||||
shapeTracingWindowContent.find('li:has(ul)').prepend(glyph);
|
|
||||||
|
|
||||||
// collapse all sub uls
|
// collapse all sub uls
|
||||||
shapeTracingWindowContent.find('ul ul').toggle(false);
|
shapeTracingWindowContent.find('ul ul').toggle(false);
|
||||||
|
@@ -48,10 +48,6 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
//if(_node.DescendantNodes().Count() == 0) {
|
|
||||||
// _node.Remove();
|
|
||||||
//}
|
|
||||||
|
|
||||||
_parents.Pop();
|
_parents.Pop();
|
||||||
RestoreCurrentNode();
|
RestoreCurrentNode();
|
||||||
}
|
}
|
||||||
@@ -112,8 +108,8 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
|
|
||||||
try{
|
try{
|
||||||
foreach (var member in members) {
|
foreach (var member in members) {
|
||||||
if (o is ContentItem && member.Name == "ContentManager") {
|
if (o is ContentItem && member.Name == "ContentManager"
|
||||||
// ignore Content Manager explicitly
|
|| o is Delegate) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
SafeCall(() => DumpMember(o, member));
|
SafeCall(() => DumpMember(o, member));
|
||||||
@@ -217,7 +213,7 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void DumpMember(object o, MemberInfo member) {
|
private void DumpMember(object o, MemberInfo member) {
|
||||||
if (member is MethodInfo || member is ConstructorInfo || member is EventInfo)
|
if (member is MethodBase || member is EventInfo)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (member is FieldInfo) {
|
if (member is FieldInfo) {
|
||||||
@@ -282,6 +278,10 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void RestoreCurrentNode() {
|
private void RestoreCurrentNode() {
|
||||||
|
if (_current.DescendantNodes().Count() == 0) {
|
||||||
|
_current.Remove();
|
||||||
|
}
|
||||||
|
|
||||||
_current = _currents.Pop();
|
_current = _currents.Pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -20,7 +20,7 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
private readonly IThemeManager _themeManager;
|
private readonly IThemeManager _themeManager;
|
||||||
private readonly IWebSiteFolder _webSiteFolder;
|
private readonly IWebSiteFolder _webSiteFolder;
|
||||||
private readonly IAuthorizer _authorizer;
|
private readonly IAuthorizer _authorizer;
|
||||||
private int shapeId = 0;
|
private int _shapeId;
|
||||||
|
|
||||||
public ShapeTracingFactory(
|
public ShapeTracingFactory(
|
||||||
WorkContext workContext,
|
WorkContext workContext,
|
||||||
@@ -124,7 +124,8 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (_webSiteFolder.FileExists(shape.Template)) {
|
// we know that templates are classes if they contain ':'
|
||||||
|
if (!shape.Template.Contains(":") && _webSiteFolder.FileExists(shape.Template)) {
|
||||||
shape.TemplateContent = _webSiteFolder.ReadFile(shape.Template);
|
shape.TemplateContent = _webSiteFolder.ReadFile(shape.Template);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -141,7 +142,7 @@ namespace Orchard.DesignerTools.Services {
|
|||||||
shape.Hint = ((Zone) shape).ZoneName;
|
shape.Hint = ((Zone) shape).ZoneName;
|
||||||
}
|
}
|
||||||
|
|
||||||
shape.ShapeId = shapeId++;
|
shape.ShapeId = _shapeId++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -47,8 +47,8 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Scripts\jquery-1.5.1.js" />
|
<Content Include="Scripts\jquery-1.5.2.js" />
|
||||||
<Content Include="Scripts\jquery-1.5.1.min.js" />
|
<Content Include="Scripts\jquery-1.5.2.min.js" />
|
||||||
<Content Include="Scripts\jquery.effects.blind.js" />
|
<Content Include="Scripts\jquery.effects.blind.js" />
|
||||||
<Content Include="Scripts\jquery.effects.blind.min.js" />
|
<Content Include="Scripts\jquery.effects.blind.min.js" />
|
||||||
<Content Include="Scripts\jquery.effects.bounce.js" />
|
<Content Include="Scripts\jquery.effects.bounce.js" />
|
||||||
|
@@ -2,7 +2,7 @@ namespace Orchard.UI.Resources {
|
|||||||
public class ResourceManifest : IResourceManifestProvider {
|
public class ResourceManifest : IResourceManifestProvider {
|
||||||
public void BuildManifests(ResourceManifestBuilder builder) {
|
public void BuildManifests(ResourceManifestBuilder builder) {
|
||||||
var manifest = builder.Add();
|
var manifest = builder.Add();
|
||||||
manifest.DefineScript("jQuery").SetUrl("jquery-1.5.1.min.js", "jquery-1.5.1.js").SetVersion("1.5.1");
|
manifest.DefineScript("jQuery").SetUrl("jquery-1.5.2.min.js", "jquery-1.5.2.js").SetVersion("1.5.2");
|
||||||
|
|
||||||
// UI Core
|
// UI Core
|
||||||
manifest.DefineScript("jQueryUI_Core").SetUrl("jquery.ui.core.min.js", "jquery.ui.core.js").SetVersion("1.8.10").SetDependencies("jQuery");
|
manifest.DefineScript("jQueryUI_Core").SetUrl("jquery.ui.core.min.js", "jquery.ui.core.js").SetVersion("1.8.10").SetDependencies("jQuery");
|
||||||
|
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* jQuery JavaScript Library v1.5.1
|
* jQuery JavaScript Library v1.5.2
|
||||||
* http://jquery.com/
|
* http://jquery.com/
|
||||||
*
|
*
|
||||||
* Copyright 2011, John Resig
|
* Copyright 2011, John Resig
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
* Copyright 2011, The Dojo Foundation
|
* Copyright 2011, The Dojo Foundation
|
||||||
* Released under the MIT, BSD, and GPL Licenses.
|
* Released under the MIT, BSD, and GPL Licenses.
|
||||||
*
|
*
|
||||||
* Date: Wed Feb 23 13:55:29 2011 -0500
|
* Date: Thu Mar 31 15:28:23 2011 -0400
|
||||||
*/
|
*/
|
||||||
(function( window, undefined ) {
|
(function( window, undefined ) {
|
||||||
|
|
||||||
@@ -69,15 +69,9 @@ var jQuery = function( selector, context ) {
|
|||||||
// For matching the engine and version of the browser
|
// For matching the engine and version of the browser
|
||||||
browserMatch,
|
browserMatch,
|
||||||
|
|
||||||
// Has the ready events already been bound?
|
|
||||||
readyBound = false,
|
|
||||||
|
|
||||||
// The deferred used on DOM ready
|
// The deferred used on DOM ready
|
||||||
readyList,
|
readyList,
|
||||||
|
|
||||||
// Promise methods
|
|
||||||
promiseMethods = "then done fail isResolved isRejected promise".split( " " ),
|
|
||||||
|
|
||||||
// The ready event handler
|
// The ready event handler
|
||||||
DOMContentLoaded,
|
DOMContentLoaded,
|
||||||
|
|
||||||
@@ -202,7 +196,7 @@ jQuery.fn = jQuery.prototype = {
|
|||||||
selector: "",
|
selector: "",
|
||||||
|
|
||||||
// The current version of jQuery being used
|
// The current version of jQuery being used
|
||||||
jquery: "1.5.1",
|
jquery: "1.5.2",
|
||||||
|
|
||||||
// The default length of a jQuery object is 0
|
// The default length of a jQuery object is 0
|
||||||
length: 0,
|
length: 0,
|
||||||
@@ -427,11 +421,11 @@ jQuery.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
bindReady: function() {
|
bindReady: function() {
|
||||||
if ( readyBound ) {
|
if ( readyList ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
readyBound = true;
|
readyList = jQuery._Deferred();
|
||||||
|
|
||||||
// Catch cases where $(document).ready() is called after the
|
// Catch cases where $(document).ready() is called after the
|
||||||
// browser event has already occurred.
|
// browser event has already occurred.
|
||||||
@@ -811,171 +805,6 @@ jQuery.extend({
|
|||||||
return (new Date()).getTime();
|
return (new Date()).getTime();
|
||||||
},
|
},
|
||||||
|
|
||||||
// Create a simple deferred (one callbacks list)
|
|
||||||
_Deferred: function() {
|
|
||||||
var // callbacks list
|
|
||||||
callbacks = [],
|
|
||||||
// stored [ context , args ]
|
|
||||||
fired,
|
|
||||||
// to avoid firing when already doing so
|
|
||||||
firing,
|
|
||||||
// flag to know if the deferred has been cancelled
|
|
||||||
cancelled,
|
|
||||||
// the deferred itself
|
|
||||||
deferred = {
|
|
||||||
|
|
||||||
// done( f1, f2, ...)
|
|
||||||
done: function() {
|
|
||||||
if ( !cancelled ) {
|
|
||||||
var args = arguments,
|
|
||||||
i,
|
|
||||||
length,
|
|
||||||
elem,
|
|
||||||
type,
|
|
||||||
_fired;
|
|
||||||
if ( fired ) {
|
|
||||||
_fired = fired;
|
|
||||||
fired = 0;
|
|
||||||
}
|
|
||||||
for ( i = 0, length = args.length; i < length; i++ ) {
|
|
||||||
elem = args[ i ];
|
|
||||||
type = jQuery.type( elem );
|
|
||||||
if ( type === "array" ) {
|
|
||||||
deferred.done.apply( deferred, elem );
|
|
||||||
} else if ( type === "function" ) {
|
|
||||||
callbacks.push( elem );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( _fired ) {
|
|
||||||
deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
// resolve with given context and args
|
|
||||||
resolveWith: function( context, args ) {
|
|
||||||
if ( !cancelled && !fired && !firing ) {
|
|
||||||
firing = 1;
|
|
||||||
try {
|
|
||||||
while( callbacks[ 0 ] ) {
|
|
||||||
callbacks.shift().apply( context, args );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// We have to add a catch block for
|
|
||||||
// IE prior to 8 or else the finally
|
|
||||||
// block will never get executed
|
|
||||||
catch (e) {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
fired = [ context, args ];
|
|
||||||
firing = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
// resolve with this as context and given arguments
|
|
||||||
resolve: function() {
|
|
||||||
deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments );
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Has this deferred been resolved?
|
|
||||||
isResolved: function() {
|
|
||||||
return !!( firing || fired );
|
|
||||||
},
|
|
||||||
|
|
||||||
// Cancel
|
|
||||||
cancel: function() {
|
|
||||||
cancelled = 1;
|
|
||||||
callbacks = [];
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return deferred;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Full fledged deferred (two callbacks list)
|
|
||||||
Deferred: function( func ) {
|
|
||||||
var deferred = jQuery._Deferred(),
|
|
||||||
failDeferred = jQuery._Deferred(),
|
|
||||||
promise;
|
|
||||||
// Add errorDeferred methods, then and promise
|
|
||||||
jQuery.extend( deferred, {
|
|
||||||
then: function( doneCallbacks, failCallbacks ) {
|
|
||||||
deferred.done( doneCallbacks ).fail( failCallbacks );
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
fail: failDeferred.done,
|
|
||||||
rejectWith: failDeferred.resolveWith,
|
|
||||||
reject: failDeferred.resolve,
|
|
||||||
isRejected: failDeferred.isResolved,
|
|
||||||
// Get a promise for this deferred
|
|
||||||
// If obj is provided, the promise aspect is added to the object
|
|
||||||
promise: function( obj ) {
|
|
||||||
if ( obj == null ) {
|
|
||||||
if ( promise ) {
|
|
||||||
return promise;
|
|
||||||
}
|
|
||||||
promise = obj = {};
|
|
||||||
}
|
|
||||||
var i = promiseMethods.length;
|
|
||||||
while( i-- ) {
|
|
||||||
obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ];
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
// Make sure only one callback list will be used
|
|
||||||
deferred.done( failDeferred.cancel ).fail( deferred.cancel );
|
|
||||||
// Unexpose cancel
|
|
||||||
delete deferred.cancel;
|
|
||||||
// Call given func if any
|
|
||||||
if ( func ) {
|
|
||||||
func.call( deferred, deferred );
|
|
||||||
}
|
|
||||||
return deferred;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Deferred helper
|
|
||||||
when: function( object ) {
|
|
||||||
var lastIndex = arguments.length,
|
|
||||||
deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ?
|
|
||||||
object :
|
|
||||||
jQuery.Deferred(),
|
|
||||||
promise = deferred.promise();
|
|
||||||
|
|
||||||
if ( lastIndex > 1 ) {
|
|
||||||
var array = slice.call( arguments, 0 ),
|
|
||||||
count = lastIndex,
|
|
||||||
iCallback = function( index ) {
|
|
||||||
return function( value ) {
|
|
||||||
array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value;
|
|
||||||
if ( !( --count ) ) {
|
|
||||||
deferred.resolveWith( promise, array );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
};
|
|
||||||
while( ( lastIndex-- ) ) {
|
|
||||||
object = array[ lastIndex ];
|
|
||||||
if ( object && jQuery.isFunction( object.promise ) ) {
|
|
||||||
object.promise().then( iCallback(lastIndex), deferred.reject );
|
|
||||||
} else {
|
|
||||||
--count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( !count ) {
|
|
||||||
deferred.resolveWith( promise, array );
|
|
||||||
}
|
|
||||||
} else if ( deferred !== object ) {
|
|
||||||
deferred.resolve( object );
|
|
||||||
}
|
|
||||||
return promise;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Use of jQuery.browser is frowned upon.
|
// Use of jQuery.browser is frowned upon.
|
||||||
// More details: http://docs.jquery.com/Utilities/jQuery.browser
|
// More details: http://docs.jquery.com/Utilities/jQuery.browser
|
||||||
uaMatch: function( ua ) {
|
uaMatch: function( ua ) {
|
||||||
@@ -1014,9 +843,6 @@ jQuery.extend({
|
|||||||
browser: {}
|
browser: {}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Create readyList deferred
|
|
||||||
readyList = jQuery._Deferred();
|
|
||||||
|
|
||||||
// Populate the class2type map
|
// Populate the class2type map
|
||||||
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
|
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
|
||||||
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
||||||
@@ -1090,6 +916,178 @@ return jQuery;
|
|||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
var // Promise methods
|
||||||
|
promiseMethods = "then done fail isResolved isRejected promise".split( " " ),
|
||||||
|
// Static reference to slice
|
||||||
|
sliceDeferred = [].slice;
|
||||||
|
|
||||||
|
jQuery.extend({
|
||||||
|
// Create a simple deferred (one callbacks list)
|
||||||
|
_Deferred: function() {
|
||||||
|
var // callbacks list
|
||||||
|
callbacks = [],
|
||||||
|
// stored [ context , args ]
|
||||||
|
fired,
|
||||||
|
// to avoid firing when already doing so
|
||||||
|
firing,
|
||||||
|
// flag to know if the deferred has been cancelled
|
||||||
|
cancelled,
|
||||||
|
// the deferred itself
|
||||||
|
deferred = {
|
||||||
|
|
||||||
|
// done( f1, f2, ...)
|
||||||
|
done: function() {
|
||||||
|
if ( !cancelled ) {
|
||||||
|
var args = arguments,
|
||||||
|
i,
|
||||||
|
length,
|
||||||
|
elem,
|
||||||
|
type,
|
||||||
|
_fired;
|
||||||
|
if ( fired ) {
|
||||||
|
_fired = fired;
|
||||||
|
fired = 0;
|
||||||
|
}
|
||||||
|
for ( i = 0, length = args.length; i < length; i++ ) {
|
||||||
|
elem = args[ i ];
|
||||||
|
type = jQuery.type( elem );
|
||||||
|
if ( type === "array" ) {
|
||||||
|
deferred.done.apply( deferred, elem );
|
||||||
|
} else if ( type === "function" ) {
|
||||||
|
callbacks.push( elem );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( _fired ) {
|
||||||
|
deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
// resolve with given context and args
|
||||||
|
resolveWith: function( context, args ) {
|
||||||
|
if ( !cancelled && !fired && !firing ) {
|
||||||
|
// make sure args are available (#8421)
|
||||||
|
args = args || [];
|
||||||
|
firing = 1;
|
||||||
|
try {
|
||||||
|
while( callbacks[ 0 ] ) {
|
||||||
|
callbacks.shift().apply( context, args );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
fired = [ context, args ];
|
||||||
|
firing = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
// resolve with this as context and given arguments
|
||||||
|
resolve: function() {
|
||||||
|
deferred.resolveWith( this, arguments );
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Has this deferred been resolved?
|
||||||
|
isResolved: function() {
|
||||||
|
return !!( firing || fired );
|
||||||
|
},
|
||||||
|
|
||||||
|
// Cancel
|
||||||
|
cancel: function() {
|
||||||
|
cancelled = 1;
|
||||||
|
callbacks = [];
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return deferred;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Full fledged deferred (two callbacks list)
|
||||||
|
Deferred: function( func ) {
|
||||||
|
var deferred = jQuery._Deferred(),
|
||||||
|
failDeferred = jQuery._Deferred(),
|
||||||
|
promise;
|
||||||
|
// Add errorDeferred methods, then and promise
|
||||||
|
jQuery.extend( deferred, {
|
||||||
|
then: function( doneCallbacks, failCallbacks ) {
|
||||||
|
deferred.done( doneCallbacks ).fail( failCallbacks );
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
fail: failDeferred.done,
|
||||||
|
rejectWith: failDeferred.resolveWith,
|
||||||
|
reject: failDeferred.resolve,
|
||||||
|
isRejected: failDeferred.isResolved,
|
||||||
|
// Get a promise for this deferred
|
||||||
|
// If obj is provided, the promise aspect is added to the object
|
||||||
|
promise: function( obj ) {
|
||||||
|
if ( obj == null ) {
|
||||||
|
if ( promise ) {
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
|
promise = obj = {};
|
||||||
|
}
|
||||||
|
var i = promiseMethods.length;
|
||||||
|
while( i-- ) {
|
||||||
|
obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ];
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
// Make sure only one callback list will be used
|
||||||
|
deferred.done( failDeferred.cancel ).fail( deferred.cancel );
|
||||||
|
// Unexpose cancel
|
||||||
|
delete deferred.cancel;
|
||||||
|
// Call given func if any
|
||||||
|
if ( func ) {
|
||||||
|
func.call( deferred, deferred );
|
||||||
|
}
|
||||||
|
return deferred;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Deferred helper
|
||||||
|
when: function( firstParam ) {
|
||||||
|
var args = arguments,
|
||||||
|
i = 0,
|
||||||
|
length = args.length,
|
||||||
|
count = length,
|
||||||
|
deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
|
||||||
|
firstParam :
|
||||||
|
jQuery.Deferred();
|
||||||
|
function resolveFunc( i ) {
|
||||||
|
return function( value ) {
|
||||||
|
args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
|
||||||
|
if ( !( --count ) ) {
|
||||||
|
// Strange bug in FF4:
|
||||||
|
// Values changed onto the arguments object sometimes end up as undefined values
|
||||||
|
// outside the $.when method. Cloning the object into a fresh array solves the issue
|
||||||
|
deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if ( length > 1 ) {
|
||||||
|
for( ; i < length; i++ ) {
|
||||||
|
if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) {
|
||||||
|
args[ i ].promise().then( resolveFunc(i), deferred.reject );
|
||||||
|
} else {
|
||||||
|
--count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( !count ) {
|
||||||
|
deferred.resolveWith( deferred, args );
|
||||||
|
}
|
||||||
|
} else if ( deferred !== firstParam ) {
|
||||||
|
deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
|
||||||
|
}
|
||||||
|
return deferred.promise();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
jQuery.support = {};
|
jQuery.support = {};
|
||||||
@@ -1157,7 +1155,8 @@ return jQuery;
|
|||||||
boxModel: null,
|
boxModel: null,
|
||||||
inlineBlockNeedsLayout: false,
|
inlineBlockNeedsLayout: false,
|
||||||
shrinkWrapBlocks: false,
|
shrinkWrapBlocks: false,
|
||||||
reliableHiddenOffsets: true
|
reliableHiddenOffsets: true,
|
||||||
|
reliableMarginRight: true
|
||||||
};
|
};
|
||||||
|
|
||||||
input.checked = true;
|
input.checked = true;
|
||||||
@@ -1175,15 +1174,15 @@ return jQuery;
|
|||||||
script = document.createElement("script"),
|
script = document.createElement("script"),
|
||||||
id = "script" + jQuery.now();
|
id = "script" + jQuery.now();
|
||||||
|
|
||||||
|
// Make sure that the execution of code works by injecting a script
|
||||||
|
// tag with appendChild/createTextNode
|
||||||
|
// (IE doesn't support this, fails, and uses .text instead)
|
||||||
try {
|
try {
|
||||||
script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
|
script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
|
||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
|
|
||||||
root.insertBefore( script, root.firstChild );
|
root.insertBefore( script, root.firstChild );
|
||||||
|
|
||||||
// Make sure that the execution of code works by injecting a script
|
|
||||||
// tag with appendChild/createTextNode
|
|
||||||
// (IE doesn't support this, fails, and uses .text instead)
|
|
||||||
if ( window[ id ] ) {
|
if ( window[ id ] ) {
|
||||||
_scriptEval = true;
|
_scriptEval = true;
|
||||||
delete window[ id ];
|
delete window[ id ];
|
||||||
@@ -1192,8 +1191,6 @@ return jQuery;
|
|||||||
}
|
}
|
||||||
|
|
||||||
root.removeChild( script );
|
root.removeChild( script );
|
||||||
// release memory in IE
|
|
||||||
root = script = id = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return _scriptEval;
|
return _scriptEval;
|
||||||
@@ -1278,6 +1275,17 @@ return jQuery;
|
|||||||
jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0;
|
jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0;
|
||||||
div.innerHTML = "";
|
div.innerHTML = "";
|
||||||
|
|
||||||
|
// Check if div with explicit width and no margin-right incorrectly
|
||||||
|
// gets computed margin-right based on width of container. For more
|
||||||
|
// info see bug #3333
|
||||||
|
// Fails in WebKit before Feb 2011 nightlies
|
||||||
|
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
|
||||||
|
if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
||||||
|
div.style.width = "1px";
|
||||||
|
div.style.marginRight = "0";
|
||||||
|
jQuery.support.reliableMarginRight = ( parseInt(document.defaultView.getComputedStyle(div, null).marginRight, 10) || 0 ) === 0;
|
||||||
|
}
|
||||||
|
|
||||||
body.removeChild( div ).style.display = "none";
|
body.removeChild( div ).style.display = "none";
|
||||||
div = tds = null;
|
div = tds = null;
|
||||||
});
|
});
|
||||||
@@ -1301,8 +1309,6 @@ return jQuery;
|
|||||||
el.setAttribute(eventName, "return;");
|
el.setAttribute(eventName, "return;");
|
||||||
isSupported = typeof el[eventName] === "function";
|
isSupported = typeof el[eventName] === "function";
|
||||||
}
|
}
|
||||||
el = null;
|
|
||||||
|
|
||||||
return isSupported;
|
return isSupported;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2194,10 +2200,10 @@ jQuery.event = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( !eventHandle ) {
|
if ( !eventHandle ) {
|
||||||
elemData.handle = eventHandle = function() {
|
elemData.handle = eventHandle = function( e ) {
|
||||||
// Handle the second event of a trigger and when
|
// Handle the second event of a trigger and when
|
||||||
// an event is called after a page has unloaded
|
// an event is called after a page has unloaded
|
||||||
return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
|
return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
|
||||||
jQuery.event.handle.apply( eventHandle.elem, arguments ) :
|
jQuery.event.handle.apply( eventHandle.elem, arguments ) :
|
||||||
undefined;
|
undefined;
|
||||||
};
|
};
|
||||||
@@ -2504,7 +2510,7 @@ jQuery.event = {
|
|||||||
target[ "on" + targetType ] = null;
|
target[ "on" + targetType ] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.event.triggered = true;
|
jQuery.event.triggered = event.type;
|
||||||
target[ targetType ]();
|
target[ targetType ]();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2515,7 +2521,7 @@ jQuery.event = {
|
|||||||
target[ "on" + targetType ] = old;
|
target[ "on" + targetType ] = old;
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.event.triggered = false;
|
jQuery.event.triggered = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2785,7 +2791,7 @@ var withinElement = function( event ) {
|
|||||||
|
|
||||||
// Chrome does something similar, the parentNode property
|
// Chrome does something similar, the parentNode property
|
||||||
// can be accessed but is null.
|
// can be accessed but is null.
|
||||||
if ( parent !== document && !parent.parentNode ) {
|
if ( parent && parent !== document && !parent.parentNode ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Traverse up the tree
|
// Traverse up the tree
|
||||||
@@ -2992,19 +2998,33 @@ function trigger( type, elem, args ) {
|
|||||||
// Create "bubbling" focus and blur events
|
// Create "bubbling" focus and blur events
|
||||||
if ( document.addEventListener ) {
|
if ( document.addEventListener ) {
|
||||||
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
|
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
|
||||||
|
|
||||||
|
// Attach a single capturing handler while someone wants focusin/focusout
|
||||||
|
var attaches = 0;
|
||||||
|
|
||||||
jQuery.event.special[ fix ] = {
|
jQuery.event.special[ fix ] = {
|
||||||
setup: function() {
|
setup: function() {
|
||||||
this.addEventListener( orig, handler, true );
|
if ( attaches++ === 0 ) {
|
||||||
|
document.addEventListener( orig, handler, true );
|
||||||
|
}
|
||||||
},
|
},
|
||||||
teardown: function() {
|
teardown: function() {
|
||||||
this.removeEventListener( orig, handler, true );
|
if ( --attaches === 0 ) {
|
||||||
|
document.removeEventListener( orig, handler, true );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function handler( e ) {
|
function handler( donor ) {
|
||||||
e = jQuery.event.fix( e );
|
// Donor event is always a native one; fix it and switch its type.
|
||||||
|
// Let focusin/out handler cancel the donor focus/blur event.
|
||||||
|
var e = jQuery.event.fix( donor );
|
||||||
e.type = fix;
|
e.type = fix;
|
||||||
return jQuery.event.handle.call( this, e );
|
e.originalEvent = {};
|
||||||
|
jQuery.event.trigger( e, null, e.target );
|
||||||
|
if ( e.isDefaultPrevented() ) {
|
||||||
|
donor.preventDefault();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -3918,10 +3938,12 @@ var Expr = Sizzle.selectors = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
text: function( elem ) {
|
text: function( elem ) {
|
||||||
|
var attr = elem.getAttribute( "type" ), type = elem.type;
|
||||||
// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
|
// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
|
||||||
// use getAttribute instead to test this case
|
// use getAttribute instead to test this case
|
||||||
return "text" === elem.getAttribute( 'type' );
|
return "text" === type && ( attr === type || attr === null );
|
||||||
},
|
},
|
||||||
|
|
||||||
radio: function( elem ) {
|
radio: function( elem ) {
|
||||||
return "radio" === elem.type;
|
return "radio" === elem.type;
|
||||||
},
|
},
|
||||||
@@ -4496,7 +4518,12 @@ if ( document.querySelectorAll ) {
|
|||||||
|
|
||||||
(function(){
|
(function(){
|
||||||
var html = document.documentElement,
|
var html = document.documentElement,
|
||||||
matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector,
|
matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
|
||||||
|
|
||||||
|
if ( matches ) {
|
||||||
|
// Check to see if it's possible to do matchesSelector
|
||||||
|
// on a disconnected node (IE 9 fails this)
|
||||||
|
var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
|
||||||
pseudoWorks = false;
|
pseudoWorks = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -4508,7 +4535,6 @@ if ( document.querySelectorAll ) {
|
|||||||
pseudoWorks = true;
|
pseudoWorks = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( matches ) {
|
|
||||||
Sizzle.matchesSelector = function( node, expr ) {
|
Sizzle.matchesSelector = function( node, expr ) {
|
||||||
// Make sure that attribute selectors are quoted
|
// Make sure that attribute selectors are quoted
|
||||||
expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
|
expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
|
||||||
@@ -4516,7 +4542,15 @@ if ( document.querySelectorAll ) {
|
|||||||
if ( !Sizzle.isXML( node ) ) {
|
if ( !Sizzle.isXML( node ) ) {
|
||||||
try {
|
try {
|
||||||
if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
|
if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
|
||||||
return matches.call( node, expr );
|
var ret = matches.call( node, expr );
|
||||||
|
|
||||||
|
// IE 9's matchesSelector returns false on disconnected nodes
|
||||||
|
if ( ret || !disconnectedMatch ||
|
||||||
|
// As well, disconnected nodes are said to be in a document
|
||||||
|
// fragment in IE 9, so check for that
|
||||||
|
node.document && node.document.nodeType !== 11 ) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
}
|
}
|
||||||
@@ -5260,7 +5294,9 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value );
|
return this.length ?
|
||||||
|
this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
|
||||||
|
this;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -5707,7 +5743,8 @@ function evalScript( i, elem ) {
|
|||||||
var ralpha = /alpha\([^)]*\)/i,
|
var ralpha = /alpha\([^)]*\)/i,
|
||||||
ropacity = /opacity=([^)]*)/,
|
ropacity = /opacity=([^)]*)/,
|
||||||
rdashAlpha = /-([a-z])/ig,
|
rdashAlpha = /-([a-z])/ig,
|
||||||
rupper = /([A-Z])/g,
|
// fixed for IE9, see #8346
|
||||||
|
rupper = /([A-Z]|^ms)/g,
|
||||||
rnumpx = /^-?\d+(?:px)?$/i,
|
rnumpx = /^-?\d+(?:px)?$/i,
|
||||||
rnum = /^-?\d/,
|
rnum = /^-?\d/,
|
||||||
|
|
||||||
@@ -5944,6 +5981,28 @@ if ( !jQuery.support.opacity ) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jQuery(function() {
|
||||||
|
// This hook cannot be added until DOM ready because the support test
|
||||||
|
// for it is not run until after DOM ready
|
||||||
|
if ( !jQuery.support.reliableMarginRight ) {
|
||||||
|
jQuery.cssHooks.marginRight = {
|
||||||
|
get: function( elem, computed ) {
|
||||||
|
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
|
||||||
|
// Work around by temporarily setting element display to inline-block
|
||||||
|
var ret;
|
||||||
|
jQuery.swap( elem, { "display": "inline-block" }, function() {
|
||||||
|
if ( computed ) {
|
||||||
|
ret = curCSS( elem, "margin-right", "marginRight" );
|
||||||
|
} else {
|
||||||
|
ret = elem.style.marginRight;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
||||||
getComputedStyle = function( elem, newName, name ) {
|
getComputedStyle = function( elem, newName, name ) {
|
||||||
var ret, defaultView, computedStyle;
|
var ret, defaultView, computedStyle;
|
||||||
@@ -6048,7 +6107,7 @@ var r20 = /%20/g,
|
|||||||
rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
|
rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
|
||||||
rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
|
rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
|
||||||
// #7653, #8125, #8152: local protocol detection
|
// #7653, #8125, #8152: local protocol detection
|
||||||
rlocalProtocol = /(?:^file|^widget|\-extension):$/,
|
rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|widget):$/,
|
||||||
rnoContent = /^(?:GET|HEAD)$/,
|
rnoContent = /^(?:GET|HEAD)$/,
|
||||||
rprotocol = /^\/\//,
|
rprotocol = /^\/\//,
|
||||||
rquery = /\?/,
|
rquery = /\?/,
|
||||||
@@ -6060,7 +6119,7 @@ var r20 = /%20/g,
|
|||||||
rucHeadersFunc = function( _, $1, $2 ) {
|
rucHeadersFunc = function( _, $1, $2 ) {
|
||||||
return $1 + $2.toUpperCase();
|
return $1 + $2.toUpperCase();
|
||||||
},
|
},
|
||||||
rurl = /^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,
|
rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
|
||||||
|
|
||||||
// Keep a copy of the old load method
|
// Keep a copy of the old load method
|
||||||
_load = jQuery.fn.load,
|
_load = jQuery.fn.load,
|
||||||
@@ -6102,7 +6161,7 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Segment location into parts
|
// Segment location into parts
|
||||||
ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() );
|
ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
|
||||||
|
|
||||||
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
|
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
|
||||||
function addToPrefiltersOrTransports( structure ) {
|
function addToPrefiltersOrTransports( structure ) {
|
||||||
@@ -6360,7 +6419,6 @@ jQuery.extend({
|
|||||||
cache: null,
|
cache: null,
|
||||||
traditional: false,
|
traditional: false,
|
||||||
headers: {},
|
headers: {},
|
||||||
crossDomain: null,
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
accepts: {
|
accepts: {
|
||||||
@@ -6645,7 +6703,7 @@ jQuery.extend({
|
|||||||
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
|
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
|
||||||
|
|
||||||
// Determine if a cross-domain request is in order
|
// Determine if a cross-domain request is in order
|
||||||
if ( !s.crossDomain ) {
|
if ( s.crossDomain == null ) {
|
||||||
parts = rurl.exec( s.url.toLowerCase() );
|
parts = rurl.exec( s.url.toLowerCase() );
|
||||||
s.crossDomain = !!( parts &&
|
s.crossDomain = !!( parts &&
|
||||||
( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
|
( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
|
||||||
@@ -7024,7 +7082,7 @@ function ajaxConvert( s, response ) {
|
|||||||
|
|
||||||
|
|
||||||
var jsc = jQuery.now(),
|
var jsc = jQuery.now(),
|
||||||
jsre = /(\=)\?(&|$)|()\?\?()/i;
|
jsre = /(\=)\?(&|$)|\?\?/i;
|
||||||
|
|
||||||
// Default jsonp settings
|
// Default jsonp settings
|
||||||
jQuery.ajaxSetup({
|
jQuery.ajaxSetup({
|
||||||
@@ -7285,11 +7343,12 @@ if ( jQuery.support.ajax ) {
|
|||||||
xhr.overrideMimeType( s.mimeType );
|
xhr.overrideMimeType( s.mimeType );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Requested-With header
|
// X-Requested-With header
|
||||||
// Not set for crossDomain requests with no content
|
// For cross-domain requests, seeing as conditions for a preflight are
|
||||||
// (see why at http://trac.dojotoolkit.org/ticket/9486)
|
// akin to a jigsaw puzzle, we simply never set it to be sure.
|
||||||
// Won't change header if already provided
|
// (it can always be set on a per-request basis or even using ajaxSetup)
|
||||||
if ( !( s.crossDomain && !s.hasContent ) && !headers["X-Requested-With"] ) {
|
// For same-domain requests, won't change header if already provided.
|
||||||
|
if ( !s.crossDomain && !headers["X-Requested-With"] ) {
|
||||||
headers[ "X-Requested-With" ] = "XMLHttpRequest";
|
headers[ "X-Requested-With" ] = "XMLHttpRequest";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7979,8 +8038,8 @@ if ( "getBoundingClientRect" in document.documentElement ) {
|
|||||||
win = getWindow(doc),
|
win = getWindow(doc),
|
||||||
clientTop = docElem.clientTop || body.clientTop || 0,
|
clientTop = docElem.clientTop || body.clientTop || 0,
|
||||||
clientLeft = docElem.clientLeft || body.clientLeft || 0,
|
clientLeft = docElem.clientLeft || body.clientLeft || 0,
|
||||||
scrollTop = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ),
|
scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop,
|
||||||
scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft),
|
scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
|
||||||
top = box.top + scrollTop - clientTop,
|
top = box.top + scrollTop - clientTop,
|
||||||
left = box.left + scrollLeft - clientLeft;
|
left = box.left + scrollLeft - clientLeft;
|
||||||
|
|
||||||
@@ -8093,7 +8152,6 @@ jQuery.offset = {
|
|||||||
this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
|
this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
|
||||||
|
|
||||||
body.removeChild( container );
|
body.removeChild( container );
|
||||||
body = container = innerDiv = checkDiv = table = td = null;
|
|
||||||
jQuery.offset.initialize = jQuery.noop;
|
jQuery.offset.initialize = jQuery.noop;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -8123,10 +8181,10 @@ jQuery.offset = {
|
|||||||
curOffset = curElem.offset(),
|
curOffset = curElem.offset(),
|
||||||
curCSSTop = jQuery.css( elem, "top" ),
|
curCSSTop = jQuery.css( elem, "top" ),
|
||||||
curCSSLeft = jQuery.css( elem, "left" ),
|
curCSSLeft = jQuery.css( elem, "left" ),
|
||||||
calculatePosition = (position === "absolute" && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1),
|
calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1,
|
||||||
props = {}, curPosition = {}, curTop, curLeft;
|
props = {}, curPosition = {}, curTop, curLeft;
|
||||||
|
|
||||||
// need to be able to calculate position if either top or left is auto and position is absolute
|
// need to be able to calculate position if either top or left is auto and position is either absolute or fixed
|
||||||
if ( calculatePosition ) {
|
if ( calculatePosition ) {
|
||||||
curPosition = curElem.position();
|
curPosition = curElem.position();
|
||||||
}
|
}
|
16
src/Orchard.Web/Modules/Orchard.jQuery/Scripts/jquery-1.5.2.min.js
vendored
Normal file
16
src/Orchard.Web/Modules/Orchard.jQuery/Scripts/jquery-1.5.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user