mirror of
https://github.com/ansible/awx.git
synced 2026-01-15 11:50:42 -03:30
Added proper support for 'runner_on_no_hosts' events.
This commit is contained in:
parent
042e15f109
commit
5fa351040a
@ -39,9 +39,10 @@
|
||||
|
||||
angular.module('JobDetailHelper', ['Utilities', 'RestServices'])
|
||||
|
||||
.factory('DigestEvents', ['UpdatePlayStatus', 'UpdatePlayNoHostsMatched', 'UpdateHostStatus', 'UpdatePlayChild', 'AddHostResult', 'SelectPlay', 'SelectTask',
|
||||
'GetHostCount', 'GetElapsed',
|
||||
function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePlayChild, AddHostResult, SelectPlay, SelectTask, GetHostCount, GetElapsed) {
|
||||
.factory('DigestEvents', ['UpdatePlayStatus', 'UpdateHostStatus', 'UpdatePlayChild', 'AddHostResult', 'SelectPlay', 'SelectTask',
|
||||
'GetHostCount', 'GetElapsed', 'UpdateTaskStatus',
|
||||
function(UpdatePlayStatus, UpdateHostStatus, UpdatePlayChild, AddHostResult, SelectPlay, SelectTask, GetHostCount, GetElapsed,
|
||||
UpdateTaskStatus) {
|
||||
return function(params) {
|
||||
|
||||
var scope = params.scope,
|
||||
@ -145,10 +146,7 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
id: event.id
|
||||
});
|
||||
}
|
||||
/*if (event.event === 'playbook_on_no_hosts_matched') {
|
||||
UpdatePlayNoHostsMatched({ scope: scope, play_id: event.parent });
|
||||
}*/
|
||||
|
||||
|
||||
if (event.event === 'runner_on_unreachable') {
|
||||
UpdateHostStatus({
|
||||
scope: scope,
|
||||
@ -176,6 +174,16 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
message: (event.event_data && event.event_data.res) ? event.event_data.res.msg : ''
|
||||
});
|
||||
}
|
||||
if (event.event === 'runner_on_no_hosts') {
|
||||
UpdateTaskStatus({
|
||||
scope: scope,
|
||||
failed: event.failed,
|
||||
changed: event.changed,
|
||||
task_id: event.parent,
|
||||
modified: event.modified,
|
||||
no_hosts: true
|
||||
});
|
||||
}
|
||||
if (event.event === 'runner_on_skipped') {
|
||||
UpdateHostStatus({
|
||||
scope: scope,
|
||||
@ -371,7 +379,8 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
failed = params.failed,
|
||||
changed = params.changed,
|
||||
id = params.play_id,
|
||||
modified = params.modified;
|
||||
modified = params.modified,
|
||||
no_hosts = params.no_hosts;
|
||||
scope.plays.every(function(play,idx) {
|
||||
if (play.id === id) {
|
||||
if (failed) {
|
||||
@ -379,7 +388,12 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
}
|
||||
else if (play.status !== 'changed' && play.status !== 'failed') {
|
||||
// once the status becomes 'changed' or 'failed' don't modify it
|
||||
scope.plays[idx].status = (changed) ? 'changed' : (failed) ? 'failed' : 'successful';
|
||||
if (no_hosts) {
|
||||
scope.plays[idx].status = 'no-matching-hosts';
|
||||
}
|
||||
else {
|
||||
scope.plays[idx].status = (changed) ? 'changed' : (failed) ? 'failed' : 'successful';
|
||||
}
|
||||
}
|
||||
scope.plays[idx].finished = modified;
|
||||
scope.plays[idx].elapsed = GetElapsed({
|
||||
@ -404,10 +418,14 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
failed = params.failed,
|
||||
changed = params.changed,
|
||||
id = params.task_id,
|
||||
modified = params.modified;
|
||||
modified = params.modified,
|
||||
no_hosts = params.no_hosts;
|
||||
scope.tasks.every(function (task, i) {
|
||||
if (task.id === id) {
|
||||
if (failed) {
|
||||
if (no_hosts){
|
||||
scope.tasks[i].status = 'no-matching-hosts';
|
||||
}
|
||||
else if (failed) {
|
||||
scope.tasks[i].status = 'failed';
|
||||
}
|
||||
else if (task.status !== 'changed' && task.status !== 'failed') {
|
||||
@ -424,7 +442,8 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
failed: failed,
|
||||
changed: changed,
|
||||
play_id: task.play_id,
|
||||
modified: modified
|
||||
modified: modified,
|
||||
no_hosts: no_hosts
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@ -433,20 +452,6 @@ function(UpdatePlayStatus, UpdatePlayNoHostsMatched, UpdateHostStatus, UpdatePla
|
||||
};
|
||||
}])
|
||||
|
||||
.factory('UpdatePlayNoHostsMatched', [ function() {
|
||||
return function(params) {
|
||||
var scope = params.scope,
|
||||
id = params.play_id;
|
||||
scope.plays.every(function(play,idx) {
|
||||
if (play.id === id) {
|
||||
scope.plays[idx].status = 'none';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
};
|
||||
}])
|
||||
|
||||
// Update host summary totals and update the task
|
||||
.factory('UpdateHostStatus', ['UpdateTaskStatus', 'AddHostResult', function(UpdateTaskStatus, AddHostResult) {
|
||||
return function(params) {
|
||||
|
||||
@ -1020,7 +1020,8 @@ input[type="checkbox"].checkbox-no-label {
|
||||
.icon-job-waiting:before,
|
||||
.icon-job-new:before,
|
||||
.icon-job-none:before,
|
||||
.icon-job-skipped:before {
|
||||
.icon-job-skipped:before,
|
||||
.icon-job-no-matching-hosts:before {
|
||||
content: "\f10c";
|
||||
}
|
||||
|
||||
@ -1053,7 +1054,8 @@ input[type="checkbox"].checkbox-no-label {
|
||||
.icon-job-pending,
|
||||
.icon-job-waiting,
|
||||
.icon-job-new,
|
||||
.icon-job-skipped {
|
||||
.icon-job-skipped,
|
||||
.icon-job-no-matching-hosts {
|
||||
color: @grey;
|
||||
opacity: 0.45;
|
||||
}
|
||||
@ -1327,6 +1329,7 @@ input[type="checkbox"].checkbox-no-label {
|
||||
|
||||
#hosts-container.col-lg-6 {
|
||||
padding-left: 7px;
|
||||
padding-right: 17px;
|
||||
}
|
||||
|
||||
#groups-container .well,
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
.changed-hosts {
|
||||
background-color: #FFC773;
|
||||
}
|
||||
.skipped-hosts {
|
||||
.skipped-hosts, .no-matching-hosts {
|
||||
background-color: #D4D4D4;
|
||||
}
|
||||
|
||||
@ -177,7 +177,8 @@
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
border: 1px solid @black;
|
||||
background-color: @white;
|
||||
background-color: @white;
|
||||
padding-left: 3px;
|
||||
.row {
|
||||
border-top: 1px solid @grey;
|
||||
}
|
||||
|
||||
39
awx/ui/static/lib/jQuery.dotdotdot/.bower.json
Normal file
39
awx/ui/static/lib/jQuery.dotdotdot/.bower.json
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
"name": "jQuery.dotdotdot",
|
||||
"main": "src/js/jquery.dotdotdot.js",
|
||||
"version": "1.6.14",
|
||||
"homepage": "http://dotdotdot.frebsite.nl/",
|
||||
"authors": [
|
||||
"Fred Heusschen <info@frebsite.nl>"
|
||||
],
|
||||
"description": "A jQuery plugin for advanced cross-browser ellipsis on multiple line content.",
|
||||
"keywords": [
|
||||
"ellipsis",
|
||||
"dotdotdot",
|
||||
"multiline",
|
||||
"text",
|
||||
"text-overflow",
|
||||
"overflow",
|
||||
"dots"
|
||||
],
|
||||
"ignore": [
|
||||
".jshintrc",
|
||||
"Guardfile",
|
||||
"index.html",
|
||||
"*.json",
|
||||
"README.md"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">= 1.4.3"
|
||||
},
|
||||
"_release": "1.6.14",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.6.14",
|
||||
"commit": "411a666ed585fc713f5b1e683b55738abc2676dc"
|
||||
},
|
||||
"_source": "git://github.com/BeSite/jQuery.dotdotdot.git",
|
||||
"_target": "~1.6.14",
|
||||
"_originalSource": "jQuery.dotdotdot",
|
||||
"_direct": true
|
||||
}
|
||||
2
awx/ui/static/lib/jQuery.dotdotdot/.gitignore
vendored
Normal file
2
awx/ui/static/lib/jQuery.dotdotdot/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Ignore Mac system files.
|
||||
._*
|
||||
665
awx/ui/static/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.js
Normal file
665
awx/ui/static/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.js
Normal file
@ -0,0 +1,665 @@
|
||||
/*
|
||||
* jQuery dotdotdot 1.6.14
|
||||
*
|
||||
* Copyright (c) Fred Heusschen
|
||||
* www.frebsite.nl
|
||||
*
|
||||
* Plugin website:
|
||||
* dotdotdot.frebsite.nl
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* http://en.wikipedia.org/wiki/MIT_License
|
||||
* http://en.wikipedia.org/wiki/GNU_General_Public_License
|
||||
*/
|
||||
|
||||
(function( $, undef )
|
||||
{
|
||||
if ( $.fn.dotdotdot )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$.fn.dotdotdot = function( o )
|
||||
{
|
||||
if ( this.length == 0 )
|
||||
{
|
||||
$.fn.dotdotdot.debug( 'No element found for "' + this.selector + '".' );
|
||||
return this;
|
||||
}
|
||||
if ( this.length > 1 )
|
||||
{
|
||||
return this.each(
|
||||
function()
|
||||
{
|
||||
$(this).dotdotdot( o );
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
var $dot = this;
|
||||
|
||||
if ( $dot.data( 'dotdotdot' ) )
|
||||
{
|
||||
$dot.trigger( 'destroy.dot' );
|
||||
}
|
||||
|
||||
$dot.data( 'dotdotdot-style', $dot.attr( 'style' ) || '' );
|
||||
$dot.css( 'word-wrap', 'break-word' );
|
||||
if ($dot.css( 'white-space' ) === 'nowrap')
|
||||
{
|
||||
$dot.css( 'white-space', 'normal' );
|
||||
}
|
||||
|
||||
$dot.bind_events = function()
|
||||
{
|
||||
$dot.bind(
|
||||
'update.dot',
|
||||
function( e, c )
|
||||
{
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
opts.maxHeight = ( typeof opts.height == 'number' )
|
||||
? opts.height
|
||||
: getTrueInnerHeight( $dot );
|
||||
|
||||
opts.maxHeight += opts.tolerance;
|
||||
|
||||
if ( typeof c != 'undefined' )
|
||||
{
|
||||
if ( typeof c == 'string' || c instanceof HTMLElement )
|
||||
{
|
||||
c = $('<div />').append( c ).contents();
|
||||
}
|
||||
if ( c instanceof $ )
|
||||
{
|
||||
orgContent = c;
|
||||
}
|
||||
}
|
||||
|
||||
$inr = $dot.wrapInner( '<div class="dotdotdot" />' ).children();
|
||||
$inr.contents()
|
||||
.detach()
|
||||
.end()
|
||||
.append( orgContent.clone( true ) )
|
||||
.find( 'br' ).replaceWith( ' <br /> ' ).end()
|
||||
.css({
|
||||
'height' : 'auto',
|
||||
'width' : 'auto',
|
||||
'border' : 'none',
|
||||
'padding' : 0,
|
||||
'margin' : 0
|
||||
});
|
||||
|
||||
var after = false,
|
||||
trunc = false;
|
||||
|
||||
if ( conf.afterElement )
|
||||
{
|
||||
after = conf.afterElement.clone( true );
|
||||
after.show();
|
||||
conf.afterElement.detach();
|
||||
}
|
||||
|
||||
if ( test( $inr, opts ) )
|
||||
{
|
||||
if ( opts.wrap == 'children' )
|
||||
{
|
||||
trunc = children( $inr, opts, after );
|
||||
}
|
||||
else
|
||||
{
|
||||
trunc = ellipsis( $inr, $dot, $inr, opts, after );
|
||||
}
|
||||
}
|
||||
$inr.replaceWith( $inr.contents() );
|
||||
$inr = null;
|
||||
|
||||
if ( $.isFunction( opts.callback ) )
|
||||
{
|
||||
opts.callback.call( $dot[ 0 ], trunc, orgContent );
|
||||
}
|
||||
|
||||
conf.isTruncated = trunc;
|
||||
return trunc;
|
||||
}
|
||||
|
||||
).bind(
|
||||
'isTruncated.dot',
|
||||
function( e, fn )
|
||||
{
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ( typeof fn == 'function' )
|
||||
{
|
||||
fn.call( $dot[ 0 ], conf.isTruncated );
|
||||
}
|
||||
return conf.isTruncated;
|
||||
}
|
||||
|
||||
).bind(
|
||||
'originalContent.dot',
|
||||
function( e, fn )
|
||||
{
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ( typeof fn == 'function' )
|
||||
{
|
||||
fn.call( $dot[ 0 ], orgContent );
|
||||
}
|
||||
return orgContent;
|
||||
}
|
||||
|
||||
).bind(
|
||||
'destroy.dot',
|
||||
function( e )
|
||||
{
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
$dot.unwatch()
|
||||
.unbind_events()
|
||||
.contents()
|
||||
.detach()
|
||||
.end()
|
||||
.append( orgContent )
|
||||
.attr( 'style', $dot.data( 'dotdotdot-style' ) || '' )
|
||||
.data( 'dotdotdot', false );
|
||||
}
|
||||
);
|
||||
return $dot;
|
||||
}; // /bind_events
|
||||
|
||||
$dot.unbind_events = function()
|
||||
{
|
||||
$dot.unbind('.dot');
|
||||
return $dot;
|
||||
}; // /unbind_events
|
||||
|
||||
$dot.watch = function()
|
||||
{
|
||||
$dot.unwatch();
|
||||
if ( opts.watch == 'window' )
|
||||
{
|
||||
var $window = $(window),
|
||||
_wWidth = $window.width(),
|
||||
_wHeight = $window.height();
|
||||
|
||||
$window.bind(
|
||||
'resize.dot' + conf.dotId,
|
||||
function()
|
||||
{
|
||||
if ( _wWidth != $window.width() || _wHeight != $window.height() || !opts.windowResizeFix )
|
||||
{
|
||||
_wWidth = $window.width();
|
||||
_wHeight = $window.height();
|
||||
|
||||
if ( watchInt )
|
||||
{
|
||||
clearInterval( watchInt );
|
||||
}
|
||||
watchInt = setTimeout(
|
||||
function()
|
||||
{
|
||||
$dot.trigger( 'update.dot' );
|
||||
}, 100
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
watchOrg = getSizes( $dot );
|
||||
watchInt = setInterval(
|
||||
function()
|
||||
{
|
||||
if ( $dot.is( ':visible' ) )
|
||||
{
|
||||
var watchNew = getSizes( $dot );
|
||||
if ( watchOrg.width != watchNew.width ||
|
||||
watchOrg.height != watchNew.height )
|
||||
{
|
||||
$dot.trigger( 'update.dot' );
|
||||
watchOrg = watchNew;
|
||||
}
|
||||
}
|
||||
}, 500
|
||||
);
|
||||
}
|
||||
return $dot;
|
||||
};
|
||||
$dot.unwatch = function()
|
||||
{
|
||||
$(window).unbind( 'resize.dot' + conf.dotId );
|
||||
if ( watchInt )
|
||||
{
|
||||
clearInterval( watchInt );
|
||||
}
|
||||
return $dot;
|
||||
};
|
||||
|
||||
var orgContent = $dot.contents(),
|
||||
opts = $.extend( true, {}, $.fn.dotdotdot.defaults, o ),
|
||||
conf = {},
|
||||
watchOrg = {},
|
||||
watchInt = null,
|
||||
$inr = null;
|
||||
|
||||
|
||||
if ( !( opts.lastCharacter.remove instanceof Array ) )
|
||||
{
|
||||
opts.lastCharacter.remove = $.fn.dotdotdot.defaultArrays.lastCharacter.remove;
|
||||
}
|
||||
if ( !( opts.lastCharacter.noEllipsis instanceof Array ) )
|
||||
{
|
||||
opts.lastCharacter.noEllipsis = $.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis;
|
||||
}
|
||||
|
||||
|
||||
conf.afterElement = getElement( opts.after, $dot );
|
||||
conf.isTruncated = false;
|
||||
conf.dotId = dotId++;
|
||||
|
||||
|
||||
$dot.data( 'dotdotdot', true )
|
||||
.bind_events()
|
||||
.trigger( 'update.dot' );
|
||||
|
||||
if ( opts.watch )
|
||||
{
|
||||
$dot.watch();
|
||||
}
|
||||
|
||||
return $dot;
|
||||
};
|
||||
|
||||
|
||||
// public
|
||||
$.fn.dotdotdot.defaults = {
|
||||
'ellipsis' : '... ',
|
||||
'wrap' : 'word',
|
||||
'fallbackToLetter' : true,
|
||||
'lastCharacter' : {},
|
||||
'tolerance' : 0,
|
||||
'callback' : null,
|
||||
'after' : null,
|
||||
'height' : null,
|
||||
'watch' : false,
|
||||
'windowResizeFix' : true
|
||||
};
|
||||
$.fn.dotdotdot.defaultArrays = {
|
||||
'lastCharacter' : {
|
||||
'remove' : [ ' ', '\u3000', ',', ';', '.', '!', '?' ],
|
||||
'noEllipsis' : []
|
||||
}
|
||||
};
|
||||
$.fn.dotdotdot.debug = function( msg ) {};
|
||||
|
||||
|
||||
// private
|
||||
var dotId = 1;
|
||||
|
||||
function children( $elem, o, after )
|
||||
{
|
||||
var $elements = $elem.children(),
|
||||
isTruncated = false;
|
||||
|
||||
$elem.empty();
|
||||
|
||||
for ( var a = 0, l = $elements.length; a < l; a++ )
|
||||
{
|
||||
var $e = $elements.eq( a );
|
||||
$elem.append( $e );
|
||||
if ( after )
|
||||
{
|
||||
$elem.append( after );
|
||||
}
|
||||
if ( test( $elem, o ) )
|
||||
{
|
||||
$e.remove();
|
||||
isTruncated = true;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( after )
|
||||
{
|
||||
after.detach();
|
||||
}
|
||||
}
|
||||
}
|
||||
return isTruncated;
|
||||
}
|
||||
function ellipsis( $elem, $d, $i, o, after )
|
||||
{
|
||||
var isTruncated = false;
|
||||
|
||||
// Don't put the ellipsis directly inside these elements
|
||||
var notx = 'table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style';
|
||||
|
||||
// Don't remove these elements even if they are after the ellipsis
|
||||
var noty = 'script';
|
||||
|
||||
$elem
|
||||
.contents()
|
||||
.detach()
|
||||
.each(
|
||||
function()
|
||||
{
|
||||
|
||||
var e = this,
|
||||
$e = $(e);
|
||||
|
||||
if ( typeof e == 'undefined' || ( e.nodeType == 3 && $.trim( e.data ).length == 0 ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if ( $e.is( noty ) )
|
||||
{
|
||||
$elem.append( $e );
|
||||
}
|
||||
else if ( isTruncated )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$elem.append( $e );
|
||||
if ( after )
|
||||
{
|
||||
$elem[ $elem.is( notx ) ? 'after' : 'append' ]( after );
|
||||
}
|
||||
if ( test( $i, o ) )
|
||||
{
|
||||
if ( e.nodeType == 3 ) // node is TEXT
|
||||
{
|
||||
isTruncated = ellipsisElement( $e, $d, $i, o, after );
|
||||
}
|
||||
else
|
||||
{
|
||||
isTruncated = ellipsis( $e, $d, $i, o, after );
|
||||
}
|
||||
|
||||
if ( !isTruncated )
|
||||
{
|
||||
$e.detach();
|
||||
isTruncated = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !isTruncated )
|
||||
{
|
||||
if ( after )
|
||||
{
|
||||
after.detach();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
return isTruncated;
|
||||
}
|
||||
function ellipsisElement( $e, $d, $i, o, after )
|
||||
{
|
||||
var e = $e[ 0 ];
|
||||
|
||||
if ( !e )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var txt = getTextContent( e ),
|
||||
space = ( txt.indexOf(' ') !== -1 ) ? ' ' : '\u3000',
|
||||
separator = ( o.wrap == 'letter' ) ? '' : space,
|
||||
textArr = txt.split( separator ),
|
||||
position = -1,
|
||||
midPos = -1,
|
||||
startPos = 0,
|
||||
endPos = textArr.length - 1;
|
||||
|
||||
|
||||
// Only one word
|
||||
if ( o.fallbackToLetter && startPos == 0 && endPos == 0 )
|
||||
{
|
||||
separator = '';
|
||||
textArr = txt.split( separator );
|
||||
endPos = textArr.length - 1;
|
||||
}
|
||||
|
||||
while ( startPos <= endPos && !( startPos == 0 && endPos == 0 ) )
|
||||
{
|
||||
var m = Math.floor( ( startPos + endPos ) / 2 );
|
||||
if ( m == midPos )
|
||||
{
|
||||
break;
|
||||
}
|
||||
midPos = m;
|
||||
|
||||
setTextContent( e, textArr.slice( 0, midPos + 1 ).join( separator ) + o.ellipsis );
|
||||
|
||||
if ( !test( $i, o ) )
|
||||
{
|
||||
position = midPos;
|
||||
startPos = midPos;
|
||||
}
|
||||
else
|
||||
{
|
||||
endPos = midPos;
|
||||
|
||||
// Fallback to letter
|
||||
if (o.fallbackToLetter && startPos == 0 && endPos == 0 )
|
||||
{
|
||||
separator = '';
|
||||
textArr = textArr[ 0 ].split( separator );
|
||||
position = -1;
|
||||
midPos = -1;
|
||||
startPos = 0;
|
||||
endPos = textArr.length - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( position != -1 && !( textArr.length == 1 && textArr[ 0 ].length == 0 ) )
|
||||
{
|
||||
txt = addEllipsis( textArr.slice( 0, position + 1 ).join( separator ), o );
|
||||
setTextContent( e, txt );
|
||||
}
|
||||
else
|
||||
{
|
||||
var $w = $e.parent();
|
||||
$e.detach();
|
||||
|
||||
var afterLength = ( after && after.closest($w).length ) ? after.length : 0;
|
||||
|
||||
if ( $w.contents().length > afterLength )
|
||||
{
|
||||
e = findLastTextNode( $w.contents().eq( -1 - afterLength ), $d );
|
||||
}
|
||||
else
|
||||
{
|
||||
e = findLastTextNode( $w, $d, true );
|
||||
if ( !afterLength )
|
||||
{
|
||||
$w.detach();
|
||||
}
|
||||
}
|
||||
if ( e )
|
||||
{
|
||||
txt = addEllipsis( getTextContent( e ), o );
|
||||
setTextContent( e, txt );
|
||||
if ( afterLength && after )
|
||||
{
|
||||
$(e).parent().append( after );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
function test( $i, o )
|
||||
{
|
||||
return $i.innerHeight() > o.maxHeight;
|
||||
}
|
||||
function addEllipsis( txt, o )
|
||||
{
|
||||
while( $.inArray( txt.slice( -1 ), o.lastCharacter.remove ) > -1 )
|
||||
{
|
||||
txt = txt.slice( 0, -1 );
|
||||
}
|
||||
if ( $.inArray( txt.slice( -1 ), o.lastCharacter.noEllipsis ) < 0 )
|
||||
{
|
||||
txt += o.ellipsis;
|
||||
}
|
||||
return txt;
|
||||
}
|
||||
function getSizes( $d )
|
||||
{
|
||||
return {
|
||||
'width' : $d.innerWidth(),
|
||||
'height': $d.innerHeight()
|
||||
};
|
||||
}
|
||||
function setTextContent( e, content )
|
||||
{
|
||||
if ( e.innerText )
|
||||
{
|
||||
e.innerText = content;
|
||||
}
|
||||
else if ( e.nodeValue )
|
||||
{
|
||||
e.nodeValue = content;
|
||||
}
|
||||
else if (e.textContent)
|
||||
{
|
||||
e.textContent = content;
|
||||
}
|
||||
|
||||
}
|
||||
function getTextContent( e )
|
||||
{
|
||||
if ( e.innerText )
|
||||
{
|
||||
return e.innerText;
|
||||
}
|
||||
else if ( e.nodeValue )
|
||||
{
|
||||
return e.nodeValue;
|
||||
}
|
||||
else if ( e.textContent )
|
||||
{
|
||||
return e.textContent;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function getPrevNode( n )
|
||||
{
|
||||
do
|
||||
{
|
||||
n = n.previousSibling;
|
||||
}
|
||||
while ( n && n.nodeType !== 1 && n.nodeType !== 3 );
|
||||
|
||||
return n;
|
||||
}
|
||||
function findLastTextNode( $el, $top, excludeCurrent )
|
||||
{
|
||||
var e = $el && $el[ 0 ], p;
|
||||
if ( e )
|
||||
{
|
||||
if ( !excludeCurrent )
|
||||
{
|
||||
if ( e.nodeType === 3 )
|
||||
{
|
||||
return e;
|
||||
}
|
||||
if ( $.trim( $el.text() ) )
|
||||
{
|
||||
return findLastTextNode( $el.contents().last(), $top );
|
||||
}
|
||||
}
|
||||
p = getPrevNode( e );
|
||||
while ( !p )
|
||||
{
|
||||
$el = $el.parent();
|
||||
if ( $el.is( $top ) || !$el.length )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
p = getPrevNode( $el[0] );
|
||||
}
|
||||
if ( p )
|
||||
{
|
||||
return findLastTextNode( $(p), $top );
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function getElement( e, $i )
|
||||
{
|
||||
if ( !e )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ( typeof e === 'string' )
|
||||
{
|
||||
e = $(e, $i);
|
||||
return ( e.length )
|
||||
? e
|
||||
: false;
|
||||
}
|
||||
return !e.jquery
|
||||
? false
|
||||
: e;
|
||||
}
|
||||
function getTrueInnerHeight( $el )
|
||||
{
|
||||
var h = $el.innerHeight(),
|
||||
a = [ 'paddingTop', 'paddingBottom' ];
|
||||
|
||||
for ( var z = 0, l = a.length; z < l; z++ )
|
||||
{
|
||||
var m = parseInt( $el.css( a[ z ] ), 10 );
|
||||
if ( isNaN( m ) )
|
||||
{
|
||||
m = 0;
|
||||
}
|
||||
h -= m;
|
||||
}
|
||||
return h;
|
||||
}
|
||||
|
||||
|
||||
// override jQuery.html
|
||||
var _orgHtml = $.fn.html;
|
||||
$.fn.html = function( str )
|
||||
{
|
||||
if ( str != undef && !$.isFunction( str ) && this.data( 'dotdotdot' ) )
|
||||
{
|
||||
return this.trigger( 'update', [ str ] );
|
||||
}
|
||||
return _orgHtml.apply( this, arguments );
|
||||
};
|
||||
|
||||
|
||||
// override jQuery.text
|
||||
var _orgText = $.fn.text;
|
||||
$.fn.text = function( str )
|
||||
{
|
||||
if ( str != undef && !$.isFunction( str ) && this.data( 'dotdotdot' ) )
|
||||
{
|
||||
str = $( '<div />' ).text( str ).html();
|
||||
return this.trigger( 'update', [ str ] );
|
||||
}
|
||||
return _orgText.apply( this, arguments );
|
||||
};
|
||||
|
||||
|
||||
})( jQuery );
|
||||
14
awx/ui/static/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js
vendored
Normal file
14
awx/ui/static/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jquery",
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.1",
|
||||
"main": "dist/jquery.js",
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
@ -14,10 +14,10 @@
|
||||
"package.json"
|
||||
],
|
||||
"devDependencies": {
|
||||
"sizzle": "1.10.16",
|
||||
"requirejs": "~2.1.8",
|
||||
"qunit": "~1.12.0",
|
||||
"sinon": "~1.7.3"
|
||||
"sizzle": "1.10.19",
|
||||
"requirejs": "2.1.10",
|
||||
"qunit": "1.14.0",
|
||||
"sinon": "1.8.1"
|
||||
},
|
||||
"keywords": [
|
||||
"jquery",
|
||||
@ -25,13 +25,13 @@
|
||||
"library"
|
||||
],
|
||||
"homepage": "https://github.com/jquery/jquery",
|
||||
"_release": "2.1.0",
|
||||
"_release": "2.1.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "2.1.0",
|
||||
"commit": "9434e03193c45d51bbd063a0edd1a07a6178d33f"
|
||||
"tag": "2.1.1",
|
||||
"commit": "4dec426aa2a6cbabb1b064319ba7c272d594a688"
|
||||
},
|
||||
"_source": "git://github.com/jquery/jquery.git",
|
||||
"_target": ">= 1.9.0",
|
||||
"_target": ">= 1.4.3",
|
||||
"_originalSource": "jquery"
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jquery",
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.1",
|
||||
"main": "dist/jquery.js",
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
@ -14,10 +14,10 @@
|
||||
"package.json"
|
||||
],
|
||||
"devDependencies": {
|
||||
"sizzle": "1.10.16",
|
||||
"requirejs": "~2.1.8",
|
||||
"qunit": "~1.12.0",
|
||||
"sinon": "~1.7.3"
|
||||
"sizzle": "1.10.19",
|
||||
"requirejs": "2.1.10",
|
||||
"qunit": "1.14.0",
|
||||
"sinon": "1.8.1"
|
||||
},
|
||||
"keywords": [
|
||||
"jquery",
|
||||
|
||||
395
awx/ui/static/lib/jquery/dist/jquery.js
vendored
395
awx/ui/static/lib/jquery/dist/jquery.js
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v2.1.0
|
||||
* jQuery JavaScript Library v2.1.1
|
||||
* http://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
@ -9,7 +9,7 @@
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2014-01-23T21:10Z
|
||||
* Date: 2014-05-01T17:11Z
|
||||
*/
|
||||
|
||||
(function( global, factory ) {
|
||||
@ -59,8 +59,6 @@ var toString = class2type.toString;
|
||||
|
||||
var hasOwn = class2type.hasOwnProperty;
|
||||
|
||||
var trim = "".trim;
|
||||
|
||||
var support = {};
|
||||
|
||||
|
||||
@ -69,7 +67,7 @@ var
|
||||
// Use the correct document accordingly with window argument (sandbox)
|
||||
document = window.document,
|
||||
|
||||
version = "2.1.0",
|
||||
version = "2.1.1",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
@ -78,6 +76,10 @@ var
|
||||
return new jQuery.fn.init( selector, context );
|
||||
},
|
||||
|
||||
// Support: Android<4.1
|
||||
// Make sure we trim BOM and NBSP
|
||||
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
|
||||
|
||||
// Matches dashed string for camelizing
|
||||
rmsPrefix = /^-ms-/,
|
||||
rdashAlpha = /-([\da-z])/gi,
|
||||
@ -108,10 +110,10 @@ jQuery.fn = jQuery.prototype = {
|
||||
get: function( num ) {
|
||||
return num != null ?
|
||||
|
||||
// Return a 'clean' array
|
||||
// Return just the one element from the set
|
||||
( num < 0 ? this[ num + this.length ] : this[ num ] ) :
|
||||
|
||||
// Return just the object
|
||||
// Return all the elements in a clean array
|
||||
slice.call( this );
|
||||
},
|
||||
|
||||
@ -267,7 +269,7 @@ jQuery.extend({
|
||||
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
|
||||
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
|
||||
// subtraction forces infinities to NaN
|
||||
return obj - parseFloat( obj ) >= 0;
|
||||
return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0;
|
||||
},
|
||||
|
||||
isPlainObject: function( obj ) {
|
||||
@ -279,16 +281,8 @@ jQuery.extend({
|
||||
return false;
|
||||
}
|
||||
|
||||
// Support: Firefox <20
|
||||
// The try/catch suppresses exceptions thrown when attempting to access
|
||||
// the "constructor" property of certain host objects, ie. |window.location|
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=814622
|
||||
try {
|
||||
if ( obj.constructor &&
|
||||
!hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
|
||||
return false;
|
||||
}
|
||||
} catch ( e ) {
|
||||
if ( obj.constructor &&
|
||||
!hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -398,8 +392,11 @@ jQuery.extend({
|
||||
return obj;
|
||||
},
|
||||
|
||||
// Support: Android<4.1
|
||||
trim: function( text ) {
|
||||
return text == null ? "" : trim.call( text );
|
||||
return text == null ?
|
||||
"" :
|
||||
( text + "" ).replace( rtrim, "" );
|
||||
},
|
||||
|
||||
// results is for internal usage only
|
||||
@ -551,14 +548,14 @@ function isArraylike( obj ) {
|
||||
}
|
||||
var Sizzle =
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v1.10.16
|
||||
* Sizzle CSS Selector Engine v1.10.19
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation, Inc. and other contributors
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2014-01-13
|
||||
* Date: 2014-04-18
|
||||
*/
|
||||
(function( window ) {
|
||||
|
||||
@ -567,7 +564,9 @@ var i,
|
||||
Expr,
|
||||
getText,
|
||||
isXML,
|
||||
tokenize,
|
||||
compile,
|
||||
select,
|
||||
outermostContext,
|
||||
sortInput,
|
||||
hasDuplicate,
|
||||
@ -634,17 +633,23 @@ var i,
|
||||
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = characterEncoding.replace( "w", "w#" ),
|
||||
|
||||
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
|
||||
"*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
|
||||
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
|
||||
// Operator (capture 2)
|
||||
"*([*^$|!~]?=)" + whitespace +
|
||||
// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
|
||||
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
|
||||
"*\\]",
|
||||
|
||||
// Prefer arguments quoted,
|
||||
// then not containing pseudos/brackets,
|
||||
// then attribute selectors/non-parenthetical expressions,
|
||||
// then anything else
|
||||
// These preferences are here to reduce the number of selectors
|
||||
// needing tokenize in the PSEUDO preFilter
|
||||
pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
|
||||
pseudos = ":(" + characterEncoding + ")(?:\\((" +
|
||||
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
|
||||
// 1. quoted (capture 3; capture 4 or capture 5)
|
||||
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
|
||||
// 2. simple (capture 6)
|
||||
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
|
||||
// 3. anything else (capture 2)
|
||||
".*" +
|
||||
")\\)|)",
|
||||
|
||||
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
|
||||
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
|
||||
@ -689,7 +694,7 @@ var i,
|
||||
funescape = function( _, escaped, escapedWhitespace ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
// NaN means non-codepoint
|
||||
// Support: Firefox
|
||||
// Support: Firefox<24
|
||||
// Workaround erroneous numeric interpretation of +"0x"
|
||||
return high !== high || escapedWhitespace ?
|
||||
escaped :
|
||||
@ -1085,7 +1090,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
var m = context.getElementById( id );
|
||||
// Check parentNode to catch when Blackberry 4.6 returns
|
||||
// nodes that are no longer in the document #6963
|
||||
return m && m.parentNode ? [m] : [];
|
||||
return m && m.parentNode ? [ m ] : [];
|
||||
}
|
||||
};
|
||||
Expr.filter["ID"] = function( id ) {
|
||||
@ -1165,11 +1170,13 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// http://bugs.jquery.com/ticket/12359
|
||||
div.innerHTML = "<select t=''><option selected=''></option></select>";
|
||||
div.innerHTML = "<select msallowclip=''><option selected=''></option></select>";
|
||||
|
||||
// Support: IE8, Opera 10-12
|
||||
// Support: IE8, Opera 11-12.16
|
||||
// Nothing should be selected when empty strings follow ^= or $= or *=
|
||||
if ( div.querySelectorAll("[t^='']").length ) {
|
||||
// The test attribute must be unknown in Opera but "safe" for WinRT
|
||||
// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
if ( div.querySelectorAll("[msallowclip^='']").length ) {
|
||||
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
|
||||
}
|
||||
|
||||
@ -1212,7 +1219,8 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
});
|
||||
}
|
||||
|
||||
if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
|
||||
if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
|
||||
docElem.webkitMatchesSelector ||
|
||||
docElem.mozMatchesSelector ||
|
||||
docElem.oMatchesSelector ||
|
||||
docElem.msMatchesSelector) )) ) {
|
||||
@ -1393,7 +1401,7 @@ Sizzle.matchesSelector = function( elem, expr ) {
|
||||
} catch(e) {}
|
||||
}
|
||||
|
||||
return Sizzle( expr, document, null, [elem] ).length > 0;
|
||||
return Sizzle( expr, document, null, [ elem ] ).length > 0;
|
||||
};
|
||||
|
||||
Sizzle.contains = function( context, elem ) {
|
||||
@ -1522,7 +1530,7 @@ Expr = Sizzle.selectors = {
|
||||
match[1] = match[1].replace( runescape, funescape );
|
||||
|
||||
// Move the given value to match[3] whether quoted or unquoted
|
||||
match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
|
||||
match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
|
||||
|
||||
if ( match[2] === "~=" ) {
|
||||
match[3] = " " + match[3] + " ";
|
||||
@ -1565,15 +1573,15 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"PSEUDO": function( match ) {
|
||||
var excess,
|
||||
unquoted = !match[5] && match[2];
|
||||
unquoted = !match[6] && match[2];
|
||||
|
||||
if ( matchExpr["CHILD"].test( match[0] ) ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Accept quoted arguments as-is
|
||||
if ( match[3] && match[4] !== undefined ) {
|
||||
match[2] = match[4];
|
||||
if ( match[3] ) {
|
||||
match[2] = match[4] || match[5] || "";
|
||||
|
||||
// Strip excess characters from unquoted arguments
|
||||
} else if ( unquoted && rpseudo.test( unquoted ) &&
|
||||
@ -1978,7 +1986,7 @@ function setFilters() {}
|
||||
setFilters.prototype = Expr.filters = Expr.pseudos;
|
||||
Expr.setFilters = new setFilters();
|
||||
|
||||
function tokenize( selector, parseOnly ) {
|
||||
tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
|
||||
var matched, match, tokens, type,
|
||||
soFar, groups, preFilters,
|
||||
cached = tokenCache[ selector + " " ];
|
||||
@ -2043,7 +2051,7 @@ function tokenize( selector, parseOnly ) {
|
||||
Sizzle.error( selector ) :
|
||||
// Cache the tokens
|
||||
tokenCache( selector, groups ).slice( 0 );
|
||||
}
|
||||
};
|
||||
|
||||
function toSelector( tokens ) {
|
||||
var i = 0,
|
||||
@ -2122,6 +2130,15 @@ function elementMatcher( matchers ) {
|
||||
matchers[0];
|
||||
}
|
||||
|
||||
function multipleContexts( selector, contexts, results ) {
|
||||
var i = 0,
|
||||
len = contexts.length;
|
||||
for ( ; i < len; i++ ) {
|
||||
Sizzle( selector, contexts[i], results );
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
function condense( unmatched, map, filter, context, xml ) {
|
||||
var elem,
|
||||
newUnmatched = [],
|
||||
@ -2390,7 +2407,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
|
||||
superMatcher;
|
||||
}
|
||||
|
||||
compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
|
||||
compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
|
||||
var i,
|
||||
setMatchers = [],
|
||||
elementMatchers = [],
|
||||
@ -2398,12 +2415,12 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
|
||||
|
||||
if ( !cached ) {
|
||||
// Generate a function of recursive functions that can be used to check each element
|
||||
if ( !group ) {
|
||||
group = tokenize( selector );
|
||||
if ( !match ) {
|
||||
match = tokenize( selector );
|
||||
}
|
||||
i = group.length;
|
||||
i = match.length;
|
||||
while ( i-- ) {
|
||||
cached = matcherFromTokens( group[i] );
|
||||
cached = matcherFromTokens( match[i] );
|
||||
if ( cached[ expando ] ) {
|
||||
setMatchers.push( cached );
|
||||
} else {
|
||||
@ -2413,74 +2430,83 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
|
||||
|
||||
// Cache the compiled function
|
||||
cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
|
||||
|
||||
// Save selector and tokenization
|
||||
cached.selector = selector;
|
||||
}
|
||||
return cached;
|
||||
};
|
||||
|
||||
function multipleContexts( selector, contexts, results ) {
|
||||
var i = 0,
|
||||
len = contexts.length;
|
||||
for ( ; i < len; i++ ) {
|
||||
Sizzle( selector, contexts[i], results );
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
function select( selector, context, results, seed ) {
|
||||
/**
|
||||
* A low-level selection function that works with Sizzle's compiled
|
||||
* selector functions
|
||||
* @param {String|Function} selector A selector or a pre-compiled
|
||||
* selector function built with Sizzle.compile
|
||||
* @param {Element} context
|
||||
* @param {Array} [results]
|
||||
* @param {Array} [seed] A set of elements to match against
|
||||
*/
|
||||
select = Sizzle.select = function( selector, context, results, seed ) {
|
||||
var i, tokens, token, type, find,
|
||||
match = tokenize( selector );
|
||||
compiled = typeof selector === "function" && selector,
|
||||
match = !seed && tokenize( (selector = compiled.selector || selector) );
|
||||
|
||||
if ( !seed ) {
|
||||
// Try to minimize operations if there is only one group
|
||||
if ( match.length === 1 ) {
|
||||
results = results || [];
|
||||
|
||||
// Take a shortcut and set the context if the root selector is an ID
|
||||
tokens = match[0] = match[0].slice( 0 );
|
||||
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
||||
support.getById && context.nodeType === 9 && documentIsHTML &&
|
||||
Expr.relative[ tokens[1].type ] ) {
|
||||
// Try to minimize operations if there is no seed and only one group
|
||||
if ( match.length === 1 ) {
|
||||
|
||||
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
||||
if ( !context ) {
|
||||
return results;
|
||||
}
|
||||
selector = selector.slice( tokens.shift().value.length );
|
||||
// Take a shortcut and set the context if the root selector is an ID
|
||||
tokens = match[0] = match[0].slice( 0 );
|
||||
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
||||
support.getById && context.nodeType === 9 && documentIsHTML &&
|
||||
Expr.relative[ tokens[1].type ] ) {
|
||||
|
||||
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
||||
if ( !context ) {
|
||||
return results;
|
||||
|
||||
// Precompiled matchers will still verify ancestry, so step up a level
|
||||
} else if ( compiled ) {
|
||||
context = context.parentNode;
|
||||
}
|
||||
|
||||
// Fetch a seed set for right-to-left matching
|
||||
i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
|
||||
while ( i-- ) {
|
||||
token = tokens[i];
|
||||
selector = selector.slice( tokens.shift().value.length );
|
||||
}
|
||||
|
||||
// Abort if we hit a combinator
|
||||
if ( Expr.relative[ (type = token.type) ] ) {
|
||||
break;
|
||||
}
|
||||
if ( (find = Expr.find[ type ]) ) {
|
||||
// Search, expanding context for leading sibling combinators
|
||||
if ( (seed = find(
|
||||
token.matches[0].replace( runescape, funescape ),
|
||||
rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
|
||||
)) ) {
|
||||
// Fetch a seed set for right-to-left matching
|
||||
i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
|
||||
while ( i-- ) {
|
||||
token = tokens[i];
|
||||
|
||||
// If seed is empty or no tokens remain, we can return early
|
||||
tokens.splice( i, 1 );
|
||||
selector = seed.length && toSelector( tokens );
|
||||
if ( !selector ) {
|
||||
push.apply( results, seed );
|
||||
return results;
|
||||
}
|
||||
// Abort if we hit a combinator
|
||||
if ( Expr.relative[ (type = token.type) ] ) {
|
||||
break;
|
||||
}
|
||||
if ( (find = Expr.find[ type ]) ) {
|
||||
// Search, expanding context for leading sibling combinators
|
||||
if ( (seed = find(
|
||||
token.matches[0].replace( runescape, funescape ),
|
||||
rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
|
||||
)) ) {
|
||||
|
||||
break;
|
||||
// If seed is empty or no tokens remain, we can return early
|
||||
tokens.splice( i, 1 );
|
||||
selector = seed.length && toSelector( tokens );
|
||||
if ( !selector ) {
|
||||
push.apply( results, seed );
|
||||
return results;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Compile and execute a filtering function
|
||||
// Compile and execute a filtering function if one is not provided
|
||||
// Provide `match` to avoid retokenization if we modified the selector above
|
||||
compile( selector, match )(
|
||||
( compiled || compile( selector, match ) )(
|
||||
seed,
|
||||
context,
|
||||
!documentIsHTML,
|
||||
@ -2488,7 +2514,7 @@ function select( selector, context, results, seed ) {
|
||||
rsibling.test( selector ) && testContext( context.parentNode ) || context
|
||||
);
|
||||
return results;
|
||||
}
|
||||
};
|
||||
|
||||
// One-time assignments
|
||||
|
||||
@ -3365,8 +3391,9 @@ jQuery.extend({
|
||||
readyList.resolveWith( document, [ jQuery ] );
|
||||
|
||||
// Trigger any bound ready events
|
||||
if ( jQuery.fn.trigger ) {
|
||||
jQuery( document ).trigger("ready").off("ready");
|
||||
if ( jQuery.fn.triggerHandler ) {
|
||||
jQuery( document ).triggerHandler( "ready" );
|
||||
jQuery( document ).off( "ready" );
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -3738,11 +3765,15 @@ jQuery.fn.extend({
|
||||
if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
|
||||
i = attrs.length;
|
||||
while ( i-- ) {
|
||||
name = attrs[ i ].name;
|
||||
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
name = jQuery.camelCase( name.slice(5) );
|
||||
dataAttr( elem, name, data[ name ] );
|
||||
// Support: IE11+
|
||||
// The attrs elements can be null (#14894)
|
||||
if ( attrs[ i ] ) {
|
||||
name = attrs[ i ].name;
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
name = jQuery.camelCase( name.slice(5) );
|
||||
dataAttr( elem, name, data[ name ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
data_priv.set( elem, "hasDataAttrs", true );
|
||||
@ -3972,10 +4003,17 @@ var rcheckableType = (/^(?:checkbox|radio)$/i);
|
||||
|
||||
(function() {
|
||||
var fragment = document.createDocumentFragment(),
|
||||
div = fragment.appendChild( document.createElement( "div" ) );
|
||||
div = fragment.appendChild( document.createElement( "div" ) ),
|
||||
input = document.createElement( "input" );
|
||||
|
||||
// #11217 - WebKit loses check when the name is after the checked attribute
|
||||
div.innerHTML = "<input type='radio' checked='checked' name='t'/>";
|
||||
// Support: Windows Web Apps (WWA)
|
||||
// `name` and `type` need .setAttribute for WWA
|
||||
input.setAttribute( "type", "radio" );
|
||||
input.setAttribute( "checked", "checked" );
|
||||
input.setAttribute( "name", "t" );
|
||||
|
||||
div.appendChild( input );
|
||||
|
||||
// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
|
||||
// old WebKit doesn't clone checked state correctly in fragments
|
||||
@ -3995,7 +4033,7 @@ support.focusinBubbles = "onfocusin" in window;
|
||||
|
||||
var
|
||||
rkeyEvent = /^key/,
|
||||
rmouseEvent = /^(?:mouse|contextmenu)|click/,
|
||||
rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
|
||||
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
|
||||
rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
|
||||
|
||||
@ -4564,7 +4602,7 @@ jQuery.event = {
|
||||
|
||||
// Support: Firefox 20+
|
||||
// Firefox doesn't alert if the returnValue field is not set.
|
||||
if ( event.result !== undefined ) {
|
||||
if ( event.result !== undefined && event.originalEvent ) {
|
||||
event.originalEvent.returnValue = event.result;
|
||||
}
|
||||
}
|
||||
@ -4615,9 +4653,9 @@ jQuery.Event = function( src, props ) {
|
||||
// Events bubbling up the document may have been marked as prevented
|
||||
// by a handler lower down the tree; reflect the correct value.
|
||||
this.isDefaultPrevented = src.defaultPrevented ||
|
||||
// Support: Android < 4.0
|
||||
src.defaultPrevented === undefined &&
|
||||
src.getPreventDefault && src.getPreventDefault() ?
|
||||
// Support: Android < 4.0
|
||||
src.returnValue === false ?
|
||||
returnTrue :
|
||||
returnFalse;
|
||||
|
||||
@ -4664,7 +4702,14 @@ jQuery.Event.prototype = {
|
||||
}
|
||||
},
|
||||
stopImmediatePropagation: function() {
|
||||
var e = this.originalEvent;
|
||||
|
||||
this.isImmediatePropagationStopped = returnTrue;
|
||||
|
||||
if ( e && e.stopImmediatePropagation ) {
|
||||
e.stopImmediatePropagation();
|
||||
}
|
||||
|
||||
this.stopPropagation();
|
||||
}
|
||||
};
|
||||
@ -4673,7 +4718,9 @@ jQuery.Event.prototype = {
|
||||
// Support: Chrome 15+
|
||||
jQuery.each({
|
||||
mouseenter: "mouseover",
|
||||
mouseleave: "mouseout"
|
||||
mouseleave: "mouseout",
|
||||
pointerenter: "pointerover",
|
||||
pointerleave: "pointerout"
|
||||
}, function( orig, fix ) {
|
||||
jQuery.event.special[ orig ] = {
|
||||
delegateType: fix,
|
||||
@ -5098,7 +5145,7 @@ jQuery.extend({
|
||||
},
|
||||
|
||||
cleanData: function( elems ) {
|
||||
var data, elem, events, type, key, j,
|
||||
var data, elem, type, key,
|
||||
special = jQuery.event.special,
|
||||
i = 0;
|
||||
|
||||
@ -5107,9 +5154,8 @@ jQuery.extend({
|
||||
key = elem[ data_priv.expando ];
|
||||
|
||||
if ( key && (data = data_priv.cache[ key ]) ) {
|
||||
events = Object.keys( data.events || {} );
|
||||
if ( events.length ) {
|
||||
for ( j = 0; (type = events[j]) !== undefined; j++ ) {
|
||||
if ( data.events ) {
|
||||
for ( type in data.events ) {
|
||||
if ( special[ type ] ) {
|
||||
jQuery.event.remove( elem, type );
|
||||
|
||||
@ -5412,14 +5458,15 @@ var iframe,
|
||||
*/
|
||||
// Called only from within defaultDisplay
|
||||
function actualDisplay( name, doc ) {
|
||||
var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
|
||||
var style,
|
||||
elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
|
||||
|
||||
// getDefaultComputedStyle might be reliably used only on attached element
|
||||
display = window.getDefaultComputedStyle ?
|
||||
display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
|
||||
|
||||
// Use of this method is a temporary fix (more like optmization) until something better comes along,
|
||||
// since it was removed from specification and supported only in FF
|
||||
window.getDefaultComputedStyle( elem[ 0 ] ).display : jQuery.css( elem[ 0 ], "display" );
|
||||
style.display : jQuery.css( elem[ 0 ], "display" );
|
||||
|
||||
// We don't have any data stored on the element,
|
||||
// so use "detach" method as fast way to get rid of the element
|
||||
@ -5542,28 +5589,32 @@ function addGetHookIf( conditionFn, hookFn ) {
|
||||
|
||||
(function() {
|
||||
var pixelPositionVal, boxSizingReliableVal,
|
||||
// Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
|
||||
divReset = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;" +
|
||||
"-moz-box-sizing:content-box;box-sizing:content-box",
|
||||
docElem = document.documentElement,
|
||||
container = document.createElement( "div" ),
|
||||
div = document.createElement( "div" );
|
||||
|
||||
if ( !div.style ) {
|
||||
return;
|
||||
}
|
||||
|
||||
div.style.backgroundClip = "content-box";
|
||||
div.cloneNode( true ).style.backgroundClip = "";
|
||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||
|
||||
container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;" +
|
||||
"margin-top:1px";
|
||||
container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
|
||||
"position:absolute";
|
||||
container.appendChild( div );
|
||||
|
||||
// Executing both pixelPosition & boxSizingReliable tests require only one layout
|
||||
// so they're executed at the same time to save the second computation.
|
||||
function computePixelPositionAndBoxSizingReliable() {
|
||||
// Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
|
||||
div.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
||||
"box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;" +
|
||||
"position:absolute;top:1%";
|
||||
div.style.cssText =
|
||||
// Support: Firefox<29, Android 2.3
|
||||
// Vendor-prefix box-sizing
|
||||
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
||||
"box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
|
||||
"border:1px;padding:1px;width:4px;position:absolute";
|
||||
div.innerHTML = "";
|
||||
docElem.appendChild( container );
|
||||
|
||||
var divStyle = window.getComputedStyle( div, null );
|
||||
@ -5573,9 +5624,10 @@ function addGetHookIf( conditionFn, hookFn ) {
|
||||
docElem.removeChild( container );
|
||||
}
|
||||
|
||||
// Use window.getComputedStyle because jsdom on node.js will break without it.
|
||||
// Support: node.js jsdom
|
||||
// Don't assume that getComputedStyle is a property of the global object
|
||||
if ( window.getComputedStyle ) {
|
||||
jQuery.extend(support, {
|
||||
jQuery.extend( support, {
|
||||
pixelPosition: function() {
|
||||
// This test is executed only once but we still do memoizing
|
||||
// since we can use the boxSizingReliable pre-computing.
|
||||
@ -5597,7 +5649,13 @@ function addGetHookIf( conditionFn, hookFn ) {
|
||||
// This support function is only executed once so no memoizing is needed.
|
||||
var ret,
|
||||
marginDiv = div.appendChild( document.createElement( "div" ) );
|
||||
marginDiv.style.cssText = div.style.cssText = divReset;
|
||||
|
||||
// Reset CSS: box-sizing; display; margin; border; padding
|
||||
marginDiv.style.cssText = div.style.cssText =
|
||||
// Support: Firefox<29, Android 2.3
|
||||
// Vendor-prefix box-sizing
|
||||
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
|
||||
"box-sizing:content-box;display:block;margin:0;border:0;padding:0";
|
||||
marginDiv.style.marginRight = marginDiv.style.width = "0";
|
||||
div.style.width = "1px";
|
||||
docElem.appendChild( container );
|
||||
@ -5606,9 +5664,6 @@ function addGetHookIf( conditionFn, hookFn ) {
|
||||
|
||||
docElem.removeChild( container );
|
||||
|
||||
// Clean up the div for other support tests.
|
||||
div.innerHTML = "";
|
||||
|
||||
return ret;
|
||||
}
|
||||
});
|
||||
@ -5647,8 +5702,8 @@ var
|
||||
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: 0,
|
||||
fontWeight: 400
|
||||
letterSpacing: "0",
|
||||
fontWeight: "400"
|
||||
},
|
||||
|
||||
cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
|
||||
@ -5795,13 +5850,10 @@ function showHide( elements, show ) {
|
||||
values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
|
||||
}
|
||||
} else {
|
||||
hidden = isHidden( elem );
|
||||
|
||||
if ( !values[ index ] ) {
|
||||
hidden = isHidden( elem );
|
||||
|
||||
if ( display && display !== "none" || !hidden ) {
|
||||
data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css(elem, "display") );
|
||||
}
|
||||
if ( display !== "none" || !hidden ) {
|
||||
data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5840,6 +5892,8 @@ jQuery.extend({
|
||||
cssNumber: {
|
||||
"columnCount": true,
|
||||
"fillOpacity": true,
|
||||
"flexGrow": true,
|
||||
"flexShrink": true,
|
||||
"fontWeight": true,
|
||||
"lineHeight": true,
|
||||
"opacity": true,
|
||||
@ -5904,9 +5958,6 @@ jQuery.extend({
|
||||
|
||||
// If a hook was provided, use that value, otherwise just set the specified value
|
||||
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
|
||||
// Support: Chrome, Safari
|
||||
// Setting style to blank string required to delete "style: x !important;"
|
||||
style[ name ] = "";
|
||||
style[ name ] = value;
|
||||
}
|
||||
|
||||
@ -5962,7 +6013,7 @@ jQuery.each([ "height", "width" ], function( i, name ) {
|
||||
if ( computed ) {
|
||||
// certain elements can have dimension info if we invisibly show them
|
||||
// however, it must have a current display style that would benefit from this
|
||||
return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ?
|
||||
return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
|
||||
jQuery.swap( elem, cssShow, function() {
|
||||
return getWidthOrHeight( elem, name, extra );
|
||||
}) :
|
||||
@ -6283,7 +6334,7 @@ function createTween( value, prop, animation ) {
|
||||
|
||||
function defaultPrefilter( elem, props, opts ) {
|
||||
/* jshint validthis: true */
|
||||
var prop, value, toggle, tween, hooks, oldfire, display,
|
||||
var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
|
||||
anim = this,
|
||||
orig = {},
|
||||
style = elem.style,
|
||||
@ -6327,13 +6378,12 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
// Set display property to inline-block for height/width
|
||||
// animations on inline elements that are having width/height animated
|
||||
display = jQuery.css( elem, "display" );
|
||||
// Get default display if display is currently "none"
|
||||
if ( display === "none" ) {
|
||||
display = defaultDisplay( elem.nodeName );
|
||||
}
|
||||
if ( display === "inline" &&
|
||||
jQuery.css( elem, "float" ) === "none" ) {
|
||||
|
||||
// Test default display if display is currently "none"
|
||||
checkDisplay = display === "none" ?
|
||||
data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
|
||||
|
||||
if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
|
||||
style.display = "inline-block";
|
||||
}
|
||||
}
|
||||
@ -6363,6 +6413,10 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
}
|
||||
}
|
||||
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
|
||||
|
||||
// Any non-fx value stops us from restoring the original display value
|
||||
} else {
|
||||
display = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6405,6 +6459,10 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If this is a noop like .hide().hide(), restore an overwritten display value
|
||||
} else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
|
||||
style.display = display;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7297,6 +7355,16 @@ jQuery.fn.extend({
|
||||
|
||||
jQuery.extend({
|
||||
valHooks: {
|
||||
option: {
|
||||
get: function( elem ) {
|
||||
var val = jQuery.find.attr( elem, "value" );
|
||||
return val != null ?
|
||||
val :
|
||||
// Support: IE10-11+
|
||||
// option.text throws exceptions (#14686, #14858)
|
||||
jQuery.trim( jQuery.text( elem ) );
|
||||
}
|
||||
},
|
||||
select: {
|
||||
get: function( elem ) {
|
||||
var value, option,
|
||||
@ -7343,7 +7411,7 @@ jQuery.extend({
|
||||
|
||||
while ( i-- ) {
|
||||
option = options[ i ];
|
||||
if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) {
|
||||
if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {
|
||||
optionSet = true;
|
||||
}
|
||||
}
|
||||
@ -8550,10 +8618,15 @@ jQuery.ajaxTransport(function( options ) {
|
||||
// Create the abort callback
|
||||
callback = xhrCallbacks[ id ] = callback("abort");
|
||||
|
||||
// Do send the request
|
||||
// This may raise an exception which is actually
|
||||
// handled in jQuery.ajax (so no try/catch here)
|
||||
xhr.send( options.hasContent && options.data || null );
|
||||
try {
|
||||
// Do send the request (this may raise an exception)
|
||||
xhr.send( options.hasContent && options.data || null );
|
||||
} catch ( e ) {
|
||||
// #14683: Only rethrow if this hasn't been notified as an error yet
|
||||
if ( callback ) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
abort: function() {
|
||||
@ -8760,7 +8833,7 @@ jQuery.fn.load = function( url, params, callback ) {
|
||||
off = url.indexOf(" ");
|
||||
|
||||
if ( off >= 0 ) {
|
||||
selector = url.slice( off );
|
||||
selector = jQuery.trim( url.slice( off ) );
|
||||
url = url.slice( 0, off );
|
||||
}
|
||||
|
||||
@ -9068,6 +9141,12 @@ jQuery.fn.andSelf = jQuery.fn.addBack;
|
||||
// derived from file names, and jQuery is normally delivered in a lowercase
|
||||
// file name. Do this after creating the global so that if an AMD module wants
|
||||
// to call noConflict to hide this version of jQuery, it will work.
|
||||
|
||||
// Note that for maximum portability, libraries that are not jQuery should
|
||||
// declare themselves as anonymous modules, and avoid setting a global if an
|
||||
// AMD loader is present. jQuery is a special case. For more information, see
|
||||
// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
|
||||
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
define( "jquery", [], function() {
|
||||
return jQuery;
|
||||
|
||||
8
awx/ui/static/lib/jquery/dist/jquery.min.js
vendored
8
awx/ui/static/lib/jquery/dist/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
2
awx/ui/static/lib/jquery/dist/jquery.min.map
vendored
2
awx/ui/static/lib/jquery/dist/jquery.min.map
vendored
File diff suppressed because one or more lines are too long
2
awx/ui/static/lib/jquery/src/ajax/load.js
vendored
2
awx/ui/static/lib/jquery/src/ajax/load.js
vendored
@ -25,7 +25,7 @@ jQuery.fn.load = function( url, params, callback ) {
|
||||
off = url.indexOf(" ");
|
||||
|
||||
if ( off >= 0 ) {
|
||||
selector = url.slice( off );
|
||||
selector = jQuery.trim( url.slice( off ) );
|
||||
url = url.slice( 0, off );
|
||||
}
|
||||
|
||||
|
||||
13
awx/ui/static/lib/jquery/src/ajax/xhr.js
vendored
13
awx/ui/static/lib/jquery/src/ajax/xhr.js
vendored
@ -112,10 +112,15 @@ jQuery.ajaxTransport(function( options ) {
|
||||
// Create the abort callback
|
||||
callback = xhrCallbacks[ id ] = callback("abort");
|
||||
|
||||
// Do send the request
|
||||
// This may raise an exception which is actually
|
||||
// handled in jQuery.ajax (so no try/catch here)
|
||||
xhr.send( options.hasContent && options.data || null );
|
||||
try {
|
||||
// Do send the request (this may raise an exception)
|
||||
xhr.send( options.hasContent && options.data || null );
|
||||
} catch ( e ) {
|
||||
// #14683: Only rethrow if this hasn't been notified as an error yet
|
||||
if ( callback ) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
abort: function() {
|
||||
|
||||
12
awx/ui/static/lib/jquery/src/attributes/val.js
vendored
12
awx/ui/static/lib/jquery/src/attributes/val.js
vendored
@ -71,6 +71,16 @@ jQuery.fn.extend({
|
||||
|
||||
jQuery.extend({
|
||||
valHooks: {
|
||||
option: {
|
||||
get: function( elem ) {
|
||||
var val = jQuery.find.attr( elem, "value" );
|
||||
return val != null ?
|
||||
val :
|
||||
// Support: IE10-11+
|
||||
// option.text throws exceptions (#14686, #14858)
|
||||
jQuery.trim( jQuery.text( elem ) );
|
||||
}
|
||||
},
|
||||
select: {
|
||||
get: function( elem ) {
|
||||
var value, option,
|
||||
@ -117,7 +127,7 @@ jQuery.extend({
|
||||
|
||||
while ( i-- ) {
|
||||
option = options[ i ];
|
||||
if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) {
|
||||
if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {
|
||||
optionSet = true;
|
||||
}
|
||||
}
|
||||
|
||||
30
awx/ui/static/lib/jquery/src/core.js
vendored
30
awx/ui/static/lib/jquery/src/core.js
vendored
@ -7,9 +7,8 @@ define([
|
||||
"./var/class2type",
|
||||
"./var/toString",
|
||||
"./var/hasOwn",
|
||||
"./var/trim",
|
||||
"./var/support"
|
||||
], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, trim, support ) {
|
||||
], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) {
|
||||
|
||||
var
|
||||
// Use the correct document accordingly with window argument (sandbox)
|
||||
@ -24,6 +23,10 @@ var
|
||||
return new jQuery.fn.init( selector, context );
|
||||
},
|
||||
|
||||
// Support: Android<4.1
|
||||
// Make sure we trim BOM and NBSP
|
||||
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
|
||||
|
||||
// Matches dashed string for camelizing
|
||||
rmsPrefix = /^-ms-/,
|
||||
rdashAlpha = /-([\da-z])/gi,
|
||||
@ -54,10 +57,10 @@ jQuery.fn = jQuery.prototype = {
|
||||
get: function( num ) {
|
||||
return num != null ?
|
||||
|
||||
// Return a 'clean' array
|
||||
// Return just the one element from the set
|
||||
( num < 0 ? this[ num + this.length ] : this[ num ] ) :
|
||||
|
||||
// Return just the object
|
||||
// Return all the elements in a clean array
|
||||
slice.call( this );
|
||||
},
|
||||
|
||||
@ -213,7 +216,7 @@ jQuery.extend({
|
||||
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
|
||||
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
|
||||
// subtraction forces infinities to NaN
|
||||
return obj - parseFloat( obj ) >= 0;
|
||||
return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0;
|
||||
},
|
||||
|
||||
isPlainObject: function( obj ) {
|
||||
@ -225,16 +228,8 @@ jQuery.extend({
|
||||
return false;
|
||||
}
|
||||
|
||||
// Support: Firefox <20
|
||||
// The try/catch suppresses exceptions thrown when attempting to access
|
||||
// the "constructor" property of certain host objects, ie. |window.location|
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=814622
|
||||
try {
|
||||
if ( obj.constructor &&
|
||||
!hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
|
||||
return false;
|
||||
}
|
||||
} catch ( e ) {
|
||||
if ( obj.constructor &&
|
||||
!hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -344,8 +339,11 @@ jQuery.extend({
|
||||
return obj;
|
||||
},
|
||||
|
||||
// Support: Android<4.1
|
||||
trim: function( text ) {
|
||||
return text == null ? "" : trim.call( text );
|
||||
return text == null ?
|
||||
"" :
|
||||
( text + "" ).replace( rtrim, "" );
|
||||
},
|
||||
|
||||
// results is for internal usage only
|
||||
|
||||
5
awx/ui/static/lib/jquery/src/core/ready.js
vendored
5
awx/ui/static/lib/jquery/src/core/ready.js
vendored
@ -51,8 +51,9 @@ jQuery.extend({
|
||||
readyList.resolveWith( document, [ jQuery ] );
|
||||
|
||||
// Trigger any bound ready events
|
||||
if ( jQuery.fn.trigger ) {
|
||||
jQuery( document ).trigger("ready").off("ready");
|
||||
if ( jQuery.fn.triggerHandler ) {
|
||||
jQuery( document ).triggerHandler( "ready" );
|
||||
jQuery( document ).off( "ready" );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
20
awx/ui/static/lib/jquery/src/css.js
vendored
20
awx/ui/static/lib/jquery/src/css.js
vendored
@ -29,8 +29,8 @@ var
|
||||
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: 0,
|
||||
fontWeight: 400
|
||||
letterSpacing: "0",
|
||||
fontWeight: "400"
|
||||
},
|
||||
|
||||
cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
|
||||
@ -177,13 +177,10 @@ function showHide( elements, show ) {
|
||||
values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
|
||||
}
|
||||
} else {
|
||||
hidden = isHidden( elem );
|
||||
|
||||
if ( !values[ index ] ) {
|
||||
hidden = isHidden( elem );
|
||||
|
||||
if ( display && display !== "none" || !hidden ) {
|
||||
data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css(elem, "display") );
|
||||
}
|
||||
if ( display !== "none" || !hidden ) {
|
||||
data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -222,6 +219,8 @@ jQuery.extend({
|
||||
cssNumber: {
|
||||
"columnCount": true,
|
||||
"fillOpacity": true,
|
||||
"flexGrow": true,
|
||||
"flexShrink": true,
|
||||
"fontWeight": true,
|
||||
"lineHeight": true,
|
||||
"opacity": true,
|
||||
@ -286,9 +285,6 @@ jQuery.extend({
|
||||
|
||||
// If a hook was provided, use that value, otherwise just set the specified value
|
||||
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
|
||||
// Support: Chrome, Safari
|
||||
// Setting style to blank string required to delete "style: x !important;"
|
||||
style[ name ] = "";
|
||||
style[ name ] = value;
|
||||
}
|
||||
|
||||
@ -344,7 +340,7 @@ jQuery.each([ "height", "width" ], function( i, name ) {
|
||||
if ( computed ) {
|
||||
// certain elements can have dimension info if we invisibly show them
|
||||
// however, it must have a current display style that would benefit from this
|
||||
return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ?
|
||||
return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
|
||||
jQuery.swap( elem, cssShow, function() {
|
||||
return getWidthOrHeight( elem, name, extra );
|
||||
}) :
|
||||
|
||||
@ -13,14 +13,15 @@ var iframe,
|
||||
*/
|
||||
// Called only from within defaultDisplay
|
||||
function actualDisplay( name, doc ) {
|
||||
var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
|
||||
var style,
|
||||
elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
|
||||
|
||||
// getDefaultComputedStyle might be reliably used only on attached element
|
||||
display = window.getDefaultComputedStyle ?
|
||||
display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
|
||||
|
||||
// Use of this method is a temporary fix (more like optmization) until something better comes along,
|
||||
// since it was removed from specification and supported only in FF
|
||||
window.getDefaultComputedStyle( elem[ 0 ] ).display : jQuery.css( elem[ 0 ], "display" );
|
||||
style.display : jQuery.css( elem[ 0 ], "display" );
|
||||
|
||||
// We don't have any data stored on the element,
|
||||
// so use "detach" method as fast way to get rid of the element
|
||||
|
||||
38
awx/ui/static/lib/jquery/src/css/support.js
vendored
38
awx/ui/static/lib/jquery/src/css/support.js
vendored
@ -5,28 +5,32 @@ define([
|
||||
|
||||
(function() {
|
||||
var pixelPositionVal, boxSizingReliableVal,
|
||||
// Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
|
||||
divReset = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;" +
|
||||
"-moz-box-sizing:content-box;box-sizing:content-box",
|
||||
docElem = document.documentElement,
|
||||
container = document.createElement( "div" ),
|
||||
div = document.createElement( "div" );
|
||||
|
||||
if ( !div.style ) {
|
||||
return;
|
||||
}
|
||||
|
||||
div.style.backgroundClip = "content-box";
|
||||
div.cloneNode( true ).style.backgroundClip = "";
|
||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||
|
||||
container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;" +
|
||||
"margin-top:1px";
|
||||
container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
|
||||
"position:absolute";
|
||||
container.appendChild( div );
|
||||
|
||||
// Executing both pixelPosition & boxSizingReliable tests require only one layout
|
||||
// so they're executed at the same time to save the second computation.
|
||||
function computePixelPositionAndBoxSizingReliable() {
|
||||
// Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
|
||||
div.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
||||
"box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;" +
|
||||
"position:absolute;top:1%";
|
||||
div.style.cssText =
|
||||
// Support: Firefox<29, Android 2.3
|
||||
// Vendor-prefix box-sizing
|
||||
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
||||
"box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
|
||||
"border:1px;padding:1px;width:4px;position:absolute";
|
||||
div.innerHTML = "";
|
||||
docElem.appendChild( container );
|
||||
|
||||
var divStyle = window.getComputedStyle( div, null );
|
||||
@ -36,9 +40,10 @@ define([
|
||||
docElem.removeChild( container );
|
||||
}
|
||||
|
||||
// Use window.getComputedStyle because jsdom on node.js will break without it.
|
||||
// Support: node.js jsdom
|
||||
// Don't assume that getComputedStyle is a property of the global object
|
||||
if ( window.getComputedStyle ) {
|
||||
jQuery.extend(support, {
|
||||
jQuery.extend( support, {
|
||||
pixelPosition: function() {
|
||||
// This test is executed only once but we still do memoizing
|
||||
// since we can use the boxSizingReliable pre-computing.
|
||||
@ -60,7 +65,13 @@ define([
|
||||
// This support function is only executed once so no memoizing is needed.
|
||||
var ret,
|
||||
marginDiv = div.appendChild( document.createElement( "div" ) );
|
||||
marginDiv.style.cssText = div.style.cssText = divReset;
|
||||
|
||||
// Reset CSS: box-sizing; display; margin; border; padding
|
||||
marginDiv.style.cssText = div.style.cssText =
|
||||
// Support: Firefox<29, Android 2.3
|
||||
// Vendor-prefix box-sizing
|
||||
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
|
||||
"box-sizing:content-box;display:block;margin:0;border:0;padding:0";
|
||||
marginDiv.style.marginRight = marginDiv.style.width = "0";
|
||||
div.style.width = "1px";
|
||||
docElem.appendChild( container );
|
||||
@ -69,9 +80,6 @@ define([
|
||||
|
||||
docElem.removeChild( container );
|
||||
|
||||
// Clean up the div for other support tests.
|
||||
div.innerHTML = "";
|
||||
|
||||
return ret;
|
||||
}
|
||||
});
|
||||
|
||||
12
awx/ui/static/lib/jquery/src/data.js
vendored
12
awx/ui/static/lib/jquery/src/data.js
vendored
@ -87,11 +87,15 @@ jQuery.fn.extend({
|
||||
if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
|
||||
i = attrs.length;
|
||||
while ( i-- ) {
|
||||
name = attrs[ i ].name;
|
||||
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
name = jQuery.camelCase( name.slice(5) );
|
||||
dataAttr( elem, name, data[ name ] );
|
||||
// Support: IE11+
|
||||
// The attrs elements can be null (#14894)
|
||||
if ( attrs[ i ] ) {
|
||||
name = attrs[ i ].name;
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
name = jQuery.camelCase( name.slice(5) );
|
||||
dataAttr( elem, name, data[ name ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
data_priv.set( elem, "hasDataAttrs", true );
|
||||
|
||||
21
awx/ui/static/lib/jquery/src/effects.js
vendored
21
awx/ui/static/lib/jquery/src/effects.js
vendored
@ -116,7 +116,7 @@ function createTween( value, prop, animation ) {
|
||||
|
||||
function defaultPrefilter( elem, props, opts ) {
|
||||
/* jshint validthis: true */
|
||||
var prop, value, toggle, tween, hooks, oldfire, display,
|
||||
var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
|
||||
anim = this,
|
||||
orig = {},
|
||||
style = elem.style,
|
||||
@ -160,13 +160,12 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
// Set display property to inline-block for height/width
|
||||
// animations on inline elements that are having width/height animated
|
||||
display = jQuery.css( elem, "display" );
|
||||
// Get default display if display is currently "none"
|
||||
if ( display === "none" ) {
|
||||
display = defaultDisplay( elem.nodeName );
|
||||
}
|
||||
if ( display === "inline" &&
|
||||
jQuery.css( elem, "float" ) === "none" ) {
|
||||
|
||||
// Test default display if display is currently "none"
|
||||
checkDisplay = display === "none" ?
|
||||
data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
|
||||
|
||||
if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
|
||||
style.display = "inline-block";
|
||||
}
|
||||
}
|
||||
@ -196,6 +195,10 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
}
|
||||
}
|
||||
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
|
||||
|
||||
// Any non-fx value stops us from restoring the original display value
|
||||
} else {
|
||||
display = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@ -238,6 +241,10 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If this is a noop like .hide().hide(), restore an overwritten display value
|
||||
} else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
|
||||
style.display = display;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
19
awx/ui/static/lib/jquery/src/event.js
vendored
19
awx/ui/static/lib/jquery/src/event.js
vendored
@ -14,7 +14,7 @@ define([
|
||||
|
||||
var
|
||||
rkeyEvent = /^key/,
|
||||
rmouseEvent = /^(?:mouse|contextmenu)|click/,
|
||||
rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
|
||||
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
|
||||
rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
|
||||
|
||||
@ -583,7 +583,7 @@ jQuery.event = {
|
||||
|
||||
// Support: Firefox 20+
|
||||
// Firefox doesn't alert if the returnValue field is not set.
|
||||
if ( event.result !== undefined ) {
|
||||
if ( event.result !== undefined && event.originalEvent ) {
|
||||
event.originalEvent.returnValue = event.result;
|
||||
}
|
||||
}
|
||||
@ -634,9 +634,9 @@ jQuery.Event = function( src, props ) {
|
||||
// Events bubbling up the document may have been marked as prevented
|
||||
// by a handler lower down the tree; reflect the correct value.
|
||||
this.isDefaultPrevented = src.defaultPrevented ||
|
||||
// Support: Android < 4.0
|
||||
src.defaultPrevented === undefined &&
|
||||
src.getPreventDefault && src.getPreventDefault() ?
|
||||
// Support: Android < 4.0
|
||||
src.returnValue === false ?
|
||||
returnTrue :
|
||||
returnFalse;
|
||||
|
||||
@ -683,7 +683,14 @@ jQuery.Event.prototype = {
|
||||
}
|
||||
},
|
||||
stopImmediatePropagation: function() {
|
||||
var e = this.originalEvent;
|
||||
|
||||
this.isImmediatePropagationStopped = returnTrue;
|
||||
|
||||
if ( e && e.stopImmediatePropagation ) {
|
||||
e.stopImmediatePropagation();
|
||||
}
|
||||
|
||||
this.stopPropagation();
|
||||
}
|
||||
};
|
||||
@ -692,7 +699,9 @@ jQuery.Event.prototype = {
|
||||
// Support: Chrome 15+
|
||||
jQuery.each({
|
||||
mouseenter: "mouseover",
|
||||
mouseleave: "mouseout"
|
||||
mouseleave: "mouseout",
|
||||
pointerenter: "pointerover",
|
||||
pointerleave: "pointerout"
|
||||
}, function( orig, fix ) {
|
||||
jQuery.event.special[ orig ] = {
|
||||
delegateType: fix,
|
||||
|
||||
6
awx/ui/static/lib/jquery/src/exports/amd.js
vendored
6
awx/ui/static/lib/jquery/src/exports/amd.js
vendored
@ -9,6 +9,12 @@ define([
|
||||
// derived from file names, and jQuery is normally delivered in a lowercase
|
||||
// file name. Do this after creating the global so that if an AMD module wants
|
||||
// to call noConflict to hide this version of jQuery, it will work.
|
||||
|
||||
// Note that for maximum portability, libraries that are not jQuery should
|
||||
// declare themselves as anonymous modules, and avoid setting a global if an
|
||||
// AMD loader is present. jQuery is a special case. For more information, see
|
||||
// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
|
||||
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
define( "jquery", [], function() {
|
||||
return jQuery;
|
||||
|
||||
7
awx/ui/static/lib/jquery/src/manipulation.js
vendored
7
awx/ui/static/lib/jquery/src/manipulation.js
vendored
@ -276,7 +276,7 @@ jQuery.extend({
|
||||
},
|
||||
|
||||
cleanData: function( elems ) {
|
||||
var data, elem, events, type, key, j,
|
||||
var data, elem, type, key,
|
||||
special = jQuery.event.special,
|
||||
i = 0;
|
||||
|
||||
@ -285,9 +285,8 @@ jQuery.extend({
|
||||
key = elem[ data_priv.expando ];
|
||||
|
||||
if ( key && (data = data_priv.cache[ key ]) ) {
|
||||
events = Object.keys( data.events || {} );
|
||||
if ( events.length ) {
|
||||
for ( j = 0; (type = events[j]) !== undefined; j++ ) {
|
||||
if ( data.events ) {
|
||||
for ( type in data.events ) {
|
||||
if ( special[ type ] ) {
|
||||
jQuery.event.remove( elem, type );
|
||||
|
||||
|
||||
@ -4,10 +4,17 @@ define([
|
||||
|
||||
(function() {
|
||||
var fragment = document.createDocumentFragment(),
|
||||
div = fragment.appendChild( document.createElement( "div" ) );
|
||||
div = fragment.appendChild( document.createElement( "div" ) ),
|
||||
input = document.createElement( "input" );
|
||||
|
||||
// #11217 - WebKit loses check when the name is after the checked attribute
|
||||
div.innerHTML = "<input type='radio' checked='checked' name='t'/>";
|
||||
// Support: Windows Web Apps (WWA)
|
||||
// `name` and `type` need .setAttribute for WWA
|
||||
input.setAttribute( "type", "radio" );
|
||||
input.setAttribute( "checked", "checked" );
|
||||
input.setAttribute( "name", "t" );
|
||||
|
||||
div.appendChild( input );
|
||||
|
||||
// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
|
||||
// old WebKit doesn't clone checked state correctly in fragments
|
||||
|
||||
@ -29,7 +29,8 @@ define([
|
||||
|
||||
var docElem = window.document.documentElement,
|
||||
selector_hasDuplicate,
|
||||
matches = docElem.webkitMatchesSelector ||
|
||||
matches = docElem.matches ||
|
||||
docElem.webkitMatchesSelector ||
|
||||
docElem.mozMatchesSelector ||
|
||||
docElem.oMatchesSelector ||
|
||||
docElem.msMatchesSelector,
|
||||
|
||||
187
awx/ui/static/lib/jquery/src/sizzle/dist/sizzle.js
vendored
187
awx/ui/static/lib/jquery/src/sizzle/dist/sizzle.js
vendored
@ -1,12 +1,12 @@
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v1.10.16
|
||||
* Sizzle CSS Selector Engine v1.10.19
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation, Inc. and other contributors
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2014-01-13
|
||||
* Date: 2014-04-18
|
||||
*/
|
||||
(function( window ) {
|
||||
|
||||
@ -15,7 +15,9 @@ var i,
|
||||
Expr,
|
||||
getText,
|
||||
isXML,
|
||||
tokenize,
|
||||
compile,
|
||||
select,
|
||||
outermostContext,
|
||||
sortInput,
|
||||
hasDuplicate,
|
||||
@ -82,17 +84,23 @@ var i,
|
||||
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = characterEncoding.replace( "w", "w#" ),
|
||||
|
||||
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
|
||||
"*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
|
||||
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
|
||||
// Operator (capture 2)
|
||||
"*([*^$|!~]?=)" + whitespace +
|
||||
// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
|
||||
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
|
||||
"*\\]",
|
||||
|
||||
// Prefer arguments quoted,
|
||||
// then not containing pseudos/brackets,
|
||||
// then attribute selectors/non-parenthetical expressions,
|
||||
// then anything else
|
||||
// These preferences are here to reduce the number of selectors
|
||||
// needing tokenize in the PSEUDO preFilter
|
||||
pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
|
||||
pseudos = ":(" + characterEncoding + ")(?:\\((" +
|
||||
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
|
||||
// 1. quoted (capture 3; capture 4 or capture 5)
|
||||
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
|
||||
// 2. simple (capture 6)
|
||||
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
|
||||
// 3. anything else (capture 2)
|
||||
".*" +
|
||||
")\\)|)",
|
||||
|
||||
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
|
||||
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
|
||||
@ -137,7 +145,7 @@ var i,
|
||||
funescape = function( _, escaped, escapedWhitespace ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
// NaN means non-codepoint
|
||||
// Support: Firefox
|
||||
// Support: Firefox<24
|
||||
// Workaround erroneous numeric interpretation of +"0x"
|
||||
return high !== high || escapedWhitespace ?
|
||||
escaped :
|
||||
@ -533,7 +541,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
var m = context.getElementById( id );
|
||||
// Check parentNode to catch when Blackberry 4.6 returns
|
||||
// nodes that are no longer in the document #6963
|
||||
return m && m.parentNode ? [m] : [];
|
||||
return m && m.parentNode ? [ m ] : [];
|
||||
}
|
||||
};
|
||||
Expr.filter["ID"] = function( id ) {
|
||||
@ -613,11 +621,13 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// http://bugs.jquery.com/ticket/12359
|
||||
div.innerHTML = "<select t=''><option selected=''></option></select>";
|
||||
div.innerHTML = "<select msallowclip=''><option selected=''></option></select>";
|
||||
|
||||
// Support: IE8, Opera 10-12
|
||||
// Support: IE8, Opera 11-12.16
|
||||
// Nothing should be selected when empty strings follow ^= or $= or *=
|
||||
if ( div.querySelectorAll("[t^='']").length ) {
|
||||
// The test attribute must be unknown in Opera but "safe" for WinRT
|
||||
// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
if ( div.querySelectorAll("[msallowclip^='']").length ) {
|
||||
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
|
||||
}
|
||||
|
||||
@ -660,7 +670,8 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
});
|
||||
}
|
||||
|
||||
if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
|
||||
if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
|
||||
docElem.webkitMatchesSelector ||
|
||||
docElem.mozMatchesSelector ||
|
||||
docElem.oMatchesSelector ||
|
||||
docElem.msMatchesSelector) )) ) {
|
||||
@ -841,7 +852,7 @@ Sizzle.matchesSelector = function( elem, expr ) {
|
||||
} catch(e) {}
|
||||
}
|
||||
|
||||
return Sizzle( expr, document, null, [elem] ).length > 0;
|
||||
return Sizzle( expr, document, null, [ elem ] ).length > 0;
|
||||
};
|
||||
|
||||
Sizzle.contains = function( context, elem ) {
|
||||
@ -970,7 +981,7 @@ Expr = Sizzle.selectors = {
|
||||
match[1] = match[1].replace( runescape, funescape );
|
||||
|
||||
// Move the given value to match[3] whether quoted or unquoted
|
||||
match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
|
||||
match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
|
||||
|
||||
if ( match[2] === "~=" ) {
|
||||
match[3] = " " + match[3] + " ";
|
||||
@ -1013,15 +1024,15 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"PSEUDO": function( match ) {
|
||||
var excess,
|
||||
unquoted = !match[5] && match[2];
|
||||
unquoted = !match[6] && match[2];
|
||||
|
||||
if ( matchExpr["CHILD"].test( match[0] ) ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Accept quoted arguments as-is
|
||||
if ( match[3] && match[4] !== undefined ) {
|
||||
match[2] = match[4];
|
||||
if ( match[3] ) {
|
||||
match[2] = match[4] || match[5] || "";
|
||||
|
||||
// Strip excess characters from unquoted arguments
|
||||
} else if ( unquoted && rpseudo.test( unquoted ) &&
|
||||
@ -1426,7 +1437,7 @@ function setFilters() {}
|
||||
setFilters.prototype = Expr.filters = Expr.pseudos;
|
||||
Expr.setFilters = new setFilters();
|
||||
|
||||
function tokenize( selector, parseOnly ) {
|
||||
tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
|
||||
var matched, match, tokens, type,
|
||||
soFar, groups, preFilters,
|
||||
cached = tokenCache[ selector + " " ];
|
||||
@ -1491,7 +1502,7 @@ function tokenize( selector, parseOnly ) {
|
||||
Sizzle.error( selector ) :
|
||||
// Cache the tokens
|
||||
tokenCache( selector, groups ).slice( 0 );
|
||||
}
|
||||
};
|
||||
|
||||
function toSelector( tokens ) {
|
||||
var i = 0,
|
||||
@ -1570,6 +1581,15 @@ function elementMatcher( matchers ) {
|
||||
matchers[0];
|
||||
}
|
||||
|
||||
function multipleContexts( selector, contexts, results ) {
|
||||
var i = 0,
|
||||
len = contexts.length;
|
||||
for ( ; i < len; i++ ) {
|
||||
Sizzle( selector, contexts[i], results );
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
function condense( unmatched, map, filter, context, xml ) {
|
||||
var elem,
|
||||
newUnmatched = [],
|
||||
@ -1838,7 +1858,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
|
||||
superMatcher;
|
||||
}
|
||||
|
||||
compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
|
||||
compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
|
||||
var i,
|
||||
setMatchers = [],
|
||||
elementMatchers = [],
|
||||
@ -1846,12 +1866,12 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
|
||||
|
||||
if ( !cached ) {
|
||||
// Generate a function of recursive functions that can be used to check each element
|
||||
if ( !group ) {
|
||||
group = tokenize( selector );
|
||||
if ( !match ) {
|
||||
match = tokenize( selector );
|
||||
}
|
||||
i = group.length;
|
||||
i = match.length;
|
||||
while ( i-- ) {
|
||||
cached = matcherFromTokens( group[i] );
|
||||
cached = matcherFromTokens( match[i] );
|
||||
if ( cached[ expando ] ) {
|
||||
setMatchers.push( cached );
|
||||
} else {
|
||||
@ -1861,74 +1881,83 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
|
||||
|
||||
// Cache the compiled function
|
||||
cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
|
||||
|
||||
// Save selector and tokenization
|
||||
cached.selector = selector;
|
||||
}
|
||||
return cached;
|
||||
};
|
||||
|
||||
function multipleContexts( selector, contexts, results ) {
|
||||
var i = 0,
|
||||
len = contexts.length;
|
||||
for ( ; i < len; i++ ) {
|
||||
Sizzle( selector, contexts[i], results );
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
function select( selector, context, results, seed ) {
|
||||
/**
|
||||
* A low-level selection function that works with Sizzle's compiled
|
||||
* selector functions
|
||||
* @param {String|Function} selector A selector or a pre-compiled
|
||||
* selector function built with Sizzle.compile
|
||||
* @param {Element} context
|
||||
* @param {Array} [results]
|
||||
* @param {Array} [seed] A set of elements to match against
|
||||
*/
|
||||
select = Sizzle.select = function( selector, context, results, seed ) {
|
||||
var i, tokens, token, type, find,
|
||||
match = tokenize( selector );
|
||||
compiled = typeof selector === "function" && selector,
|
||||
match = !seed && tokenize( (selector = compiled.selector || selector) );
|
||||
|
||||
if ( !seed ) {
|
||||
// Try to minimize operations if there is only one group
|
||||
if ( match.length === 1 ) {
|
||||
results = results || [];
|
||||
|
||||
// Take a shortcut and set the context if the root selector is an ID
|
||||
tokens = match[0] = match[0].slice( 0 );
|
||||
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
||||
support.getById && context.nodeType === 9 && documentIsHTML &&
|
||||
Expr.relative[ tokens[1].type ] ) {
|
||||
// Try to minimize operations if there is no seed and only one group
|
||||
if ( match.length === 1 ) {
|
||||
|
||||
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
||||
if ( !context ) {
|
||||
return results;
|
||||
}
|
||||
selector = selector.slice( tokens.shift().value.length );
|
||||
// Take a shortcut and set the context if the root selector is an ID
|
||||
tokens = match[0] = match[0].slice( 0 );
|
||||
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
||||
support.getById && context.nodeType === 9 && documentIsHTML &&
|
||||
Expr.relative[ tokens[1].type ] ) {
|
||||
|
||||
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
||||
if ( !context ) {
|
||||
return results;
|
||||
|
||||
// Precompiled matchers will still verify ancestry, so step up a level
|
||||
} else if ( compiled ) {
|
||||
context = context.parentNode;
|
||||
}
|
||||
|
||||
// Fetch a seed set for right-to-left matching
|
||||
i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
|
||||
while ( i-- ) {
|
||||
token = tokens[i];
|
||||
selector = selector.slice( tokens.shift().value.length );
|
||||
}
|
||||
|
||||
// Abort if we hit a combinator
|
||||
if ( Expr.relative[ (type = token.type) ] ) {
|
||||
break;
|
||||
}
|
||||
if ( (find = Expr.find[ type ]) ) {
|
||||
// Search, expanding context for leading sibling combinators
|
||||
if ( (seed = find(
|
||||
token.matches[0].replace( runescape, funescape ),
|
||||
rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
|
||||
)) ) {
|
||||
// Fetch a seed set for right-to-left matching
|
||||
i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
|
||||
while ( i-- ) {
|
||||
token = tokens[i];
|
||||
|
||||
// If seed is empty or no tokens remain, we can return early
|
||||
tokens.splice( i, 1 );
|
||||
selector = seed.length && toSelector( tokens );
|
||||
if ( !selector ) {
|
||||
push.apply( results, seed );
|
||||
return results;
|
||||
}
|
||||
// Abort if we hit a combinator
|
||||
if ( Expr.relative[ (type = token.type) ] ) {
|
||||
break;
|
||||
}
|
||||
if ( (find = Expr.find[ type ]) ) {
|
||||
// Search, expanding context for leading sibling combinators
|
||||
if ( (seed = find(
|
||||
token.matches[0].replace( runescape, funescape ),
|
||||
rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
|
||||
)) ) {
|
||||
|
||||
break;
|
||||
// If seed is empty or no tokens remain, we can return early
|
||||
tokens.splice( i, 1 );
|
||||
selector = seed.length && toSelector( tokens );
|
||||
if ( !selector ) {
|
||||
push.apply( results, seed );
|
||||
return results;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Compile and execute a filtering function
|
||||
// Compile and execute a filtering function if one is not provided
|
||||
// Provide `match` to avoid retokenization if we modified the selector above
|
||||
compile( selector, match )(
|
||||
( compiled || compile( selector, match ) )(
|
||||
seed,
|
||||
context,
|
||||
!documentIsHTML,
|
||||
@ -1936,7 +1965,7 @@ function select( selector, context, results, seed ) {
|
||||
rsibling.test( selector ) && testContext( context.parentNode ) || context
|
||||
);
|
||||
return results;
|
||||
}
|
||||
};
|
||||
|
||||
// One-time assignments
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
3
awx/ui/static/lib/jquery/src/var/trim.js
vendored
3
awx/ui/static/lib/jquery/src/var/trim.js
vendored
@ -1,3 +0,0 @@
|
||||
define(function() {
|
||||
return "".trim;
|
||||
});
|
||||
@ -89,6 +89,7 @@
|
||||
<div class="changed-hosts inner-bar" aw-tool-tip="{{ task.changedCount}} hosts changed" aw-tip-watch="task.changedCount" data-placement="top" ng-style="{{ task.changedStyle }}">{{ task.changedCount }}</div>
|
||||
<div class="skipped-hosts inner-bar" aw-tool-tip="{{ task.skippedCount}} hosts skipped" aw-tip-watch="task.skippedCount" data-placement="top" ng-style="{{ task.skippedStyle }}">{{ task.skippedCount }}</div>
|
||||
<div class="failed-hosts inner-bar" aw-tool-tip="{{ task.failedCount}} hosts failed" aw-tip-watch="task.failedCount" data-placement="top" ng-style="{{ task.failedStyle }}">{{ task.failedCount }}</div>
|
||||
<div class="no-matching-hosts inner-bar" aw-tool-tip="No matching hosts were found" data-placement="top" style="width: 100%;" ng-show="task.status === 'no-matching-hosts'">No matching hosts</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -107,7 +108,7 @@
|
||||
<div id="hosts-table-detail" aw-custom-scroll data-on-total-scroll="HostDetailOnTotalScroll"
|
||||
data-on-total-scroll-back="HostDetailOnTotalScrollBack" class="table-detail">
|
||||
<div id="hosts-table-detail-inner">
|
||||
<div class="row" ng-repeat="result in hostResults | filter:{ task_id: activeTask }">
|
||||
<div class="row" ng-repeat="result in results = (hostResults | filter:{ task_id: activeTask })">
|
||||
<div class="col-lg-7 col-md-7 col-sm-7 col-xs-7 status-column">
|
||||
<a href="" ng-click="doSomething()" aw-tool-tip="Event Id: {{ result.id }} Status: {{ result.status }}. Click for details" data-placement="top"><i class="fa icon-job-{{ result.status }}"></i> {{ result.name }}</a>
|
||||
</div>
|
||||
@ -115,9 +116,9 @@
|
||||
{{ result.msg }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" ng-show="hostResults.length === 0">
|
||||
<div class="row" ng-show="results.length === 0">
|
||||
<div class="col-lg-12">
|
||||
<div class="loading-info">No records matched your search.</div>
|
||||
<div class="loading-info">No hosts matched</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -165,7 +166,7 @@
|
||||
</div>
|
||||
<div class="row" ng-show="hosts.length === 0">
|
||||
<div class="col-lg-12">
|
||||
<div class="loading-info">No records matched your search.</div>
|
||||
<div class="loading-info">No hosts matched</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -400,6 +400,7 @@
|
||||
<script src="{{ STATIC_URL }}lib/scrollto/lib/jquery-scrollto.js"></script>
|
||||
<script src="{{ STATIC_URL }}lib/socket.io-client/dist/socket.io.min.js"></script>
|
||||
<script src="{{ STATIC_URL }}lib/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||
<script scr="{{ STATIC_URL }}lib/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js"></script>
|
||||
<script src="{{ STATIC_URL }}lib/d3js/build/d3.v3.min.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
@ -23,7 +23,8 @@
|
||||
"sizzle": "1.10.16",
|
||||
"d3js": "*",
|
||||
"angular-tz-extensions": "~0.3.10",
|
||||
"malihu-custom-scrollbar-plugin": "2.8.3"
|
||||
"malihu-custom-scrollbar-plugin": "2.8.3",
|
||||
"jQuery.dotdotdot": "~1.6.14"
|
||||
},
|
||||
"resolutions": {
|
||||
"angular": "1.2.15-build.2398+sha.4bab3d8"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user