mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Merge branch 'master' into selectmenu
This commit is contained in:
commit
e26e0df3af
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
dist
|
||||
node_modules
|
||||
.sizecache.json
|
26
.mailmap
26
.mailmap
@ -5,7 +5,8 @@ Alexander Polomoshnov <alex.polomoshnov@gmail.com>
|
||||
Aliaksandr Rahalevich <saksmlz@gmail.com>
|
||||
Andrew Couch <andy@couchand.com> <acouch@bluewolf.com>
|
||||
Andrew Newcomb <ext.github@preceptsoftware.co.uk>
|
||||
Andrew Powell <powella@gmail.com> <andrew@shellscape.org>
|
||||
Andrew Powell <andrew@shellscape.org> <andrew@shellcape.org>
|
||||
Andrew Powell <andrew@shellscape.org> <powella@gmail.com>
|
||||
Andrey Kapitcyn <ru.m157y@gmail.com>
|
||||
Ben Hollis <bhollis@amazon.com> <ben@benhollis.net>
|
||||
Benjamin Scott Boyle <benjamins.boyle@gmail.com>
|
||||
@ -15,12 +16,15 @@ Christoph Rönsch <christoph.roensch@arcor.de>
|
||||
Corey Frang <gnarf37@gmail.com> <gnarf@gnarf.net>
|
||||
Courtland Allen <courtlandallen@gmail.com>
|
||||
Dan Streetman <ddstreet@ieee.org>
|
||||
Danny Trunk <dtrunk90@gmail.com> <dtrunk90@googlemail.com>
|
||||
David De Sloovere <david.desloovere@outlook.com> <david.desloovere@hotmail.com>
|
||||
David Murdoch <david@davidmurdoch.com> <musicisair@yahoo.com>
|
||||
Diego Tres <diegotres@gmail.com>
|
||||
Dominique Vincent <dominique.vincent@toitl.com>
|
||||
Doug Blood <dougblood@gmail.com>
|
||||
Douglas Cerna <douglascerna@yahoo.com> <replaceafill@system76.(none)>
|
||||
Douglas Neiner <doug@pixelgraphics.us>
|
||||
Douglas Neiner <doug@pixelgraphics.us> <doug@Doug-Neiners-MacBook-Pro.local>
|
||||
Douglas Neiner <doug@dougneiner.com> <doug@pixelgraphics.us>
|
||||
Douglas Neiner <doug@dougneiner.com> <doug@Doug-Neiners-MacBook-Pro.local>
|
||||
Dylan Just <dev@ephox.com>
|
||||
Eddie Monge <eddie@eddiemonge.com>
|
||||
Edward A Faulkner <ef@alum.mit.edu>
|
||||
@ -32,13 +36,16 @@ Filippo Cavallarin <filippo.cavallarin@codseq.it> <poplix@papuasia.org>
|
||||
Florian Gutmann <f.gutmann@chronimo.com> <blackfeet@gmx.at>
|
||||
Genie <386@mail.com>
|
||||
Guntupalli Karunakar <karunakarg@yahoo.com>
|
||||
Heiko Henning <heiko@thehennings.ch> <h.henning@educa.ch>
|
||||
Hiroshi Tomita <tomykaira@gmail.com>
|
||||
Ian Simpson <spoonlikesham@gmail.com>
|
||||
Igor Milla <igor.fsp.milla@gmail.com>
|
||||
Israel Tsadok <itsadok@gmail.com>
|
||||
Jacek Jędrzejewski <jacek.jedrzejewski@gmail.com>
|
||||
Jamie Gegerson <git@jamiegegerson.com>
|
||||
Jason Oster <jay@kodewerx.org> <jay@loyalize.com>
|
||||
Jay Merrifield <fracmak@gmail.com> <merrifieldj@pixia.com>
|
||||
Jean-Francois Remy <jeff@melix.org> <jfremy@virtuoz.com>
|
||||
John Enters <github@darkdark.net>
|
||||
Jonathan Vingiano <jvingiano@gmail.com>
|
||||
Josh Varner <josh.varner@gmail.com>
|
||||
@ -46,17 +53,22 @@ Justin Domnitz <jdomnitz@gmail.com>
|
||||
Justin MacCarthy <Justin@Rubystars.biz>
|
||||
Jörn Zaefferer <joern.zaefferer@gmail.com>
|
||||
Karl Kirch <karlkrch@gmail.com> <karl.ctr.kirch@faa.gov>
|
||||
Keith Wood <kbwood@iinet.com.au> <kbwood.au@gmail.com>
|
||||
Kevin Dalman <development@allpro.net>
|
||||
Klaus Hartl <klaus.hartl@googlemail.com> carhartl <klaus.hartl@stilbuero.de>
|
||||
Klaus Hartl <klaus.hartl@gmail.com> <klaus.hartl@googlemail.com>
|
||||
Klaus Hartl <klaus.hartl@gmail.com> <klaus.hartl@stilbuero.de>
|
||||
Kris Borchers <kris.borchers@gmail.com>
|
||||
Kris Borchers <kris.borchers@gmail.com> <k_borchers@yahoo.com>
|
||||
Krzysztof Rosiński <rozwell69@gmail.com>
|
||||
Lev Kitsis <spam4lev@gmail.com>
|
||||
Maggie Costello Wachs <fg.maggie@gmail.com> maggiewachs <maggie@filamentgroup.com>
|
||||
Maciej Mroziński <maciej.k.mrozinski@gmail.com> <mrozik87@gmail.com>
|
||||
Maggie Wachs <maggie@filamentgroup.com>
|
||||
Maggie Wachs <maggie@filamentgroup.com> <fg.maggie@gmail.com>
|
||||
Marc Neuwirth <marc.neuwirth@gmail.com>
|
||||
Marcos Sousa <falecomigo@marcossousa.com> <marcos.sousa@corp.globo.com>
|
||||
Martin Frost <martinf55@hotmail.com>
|
||||
Mathias Stenbom <mathias@stenbom.com>
|
||||
Matt Hoskins <matt@nipltd.com> <furlined@cat-basket.org>
|
||||
Matthew Edward Hutton <meh@corefiling.co.uk>
|
||||
Max Schnur <max.schnur@gmail.com>
|
||||
Michael Hollis <hollis21@gmail.com>
|
||||
@ -66,6 +78,7 @@ Mike Alsup <malsup@gmail.com>
|
||||
Milan Broum <midlis@googlemail.com>
|
||||
Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr> <cherif@cherif.(none)>
|
||||
Nick Pierpoint <nick.pierpoint@tidalsand.com>
|
||||
Paul Bakaus <paul.bakaus@gmail.com> <paul.bakaus@googlemail.com>
|
||||
Paul Irish <paul.irish@gmail.com>
|
||||
Pavol Hluchý <lopo@losys.sk>
|
||||
Peter Heiberg <peter@heiberg.se>
|
||||
@ -78,6 +91,7 @@ Rick Waldron <waldron.rick@gmail.com>
|
||||
Ryan Neufeld <ryan@neufeldmail.com>
|
||||
Ryan Olton <oltonr@gmail.com>
|
||||
Saji Nediyanchath <saji89@gmail.com> Saji <saji@saji-laptop.(none)>
|
||||
Scott Jehl <scottjehl@gmail.com> <scott@scottjehl.com>
|
||||
Sebastian Sauer <info@dynpages.de>
|
||||
Sergey Kartashov <ebishkek@yandex.ru>
|
||||
Shahyar Ghobadpour <shahyar@gmail.com>
|
||||
@ -88,5 +102,7 @@ Stojce Slavkovski <stojce@gmail.com>
|
||||
Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
|
||||
Thibault Duplessis <thibault.duplessis@gmail.com>
|
||||
Ting Kuei <ting@kuei.com>
|
||||
Todd Parker <todd@filamentgroup.com> <fg.todd@gmail.com>
|
||||
Wesley Walser <waw325@gmail.com> <wwalser@atlassian.com>
|
||||
Xavi Ramirez <xavi.rmz@gmail.com>
|
||||
Ziling Zhao <zilingzhao@gmail.com> <zizhao@cisco.com>
|
||||
|
29
AUTHORS.txt
29
AUTHORS.txt
@ -1,20 +1,20 @@
|
||||
Authors ordered by first contribution
|
||||
A list of current team members is available at http://jqueryui.com/about
|
||||
|
||||
Paul Bakaus <paul.bakaus@googlemail.com>
|
||||
Paul Bakaus <paul.bakaus@gmail.com>
|
||||
Richard Worth <rdworth@gmail.com>
|
||||
Yehuda Katz <wycats@gmail.com>
|
||||
Sean Catchpole <sean@sunsean.com>
|
||||
John Resig <jeresig@gmail.com>
|
||||
Tane Piper <piper.tane@gmail.com>
|
||||
Dmitri Gaskin <dmitrig01@gmail.com>
|
||||
Klaus Hartl <klaus.hartl@googlemail.com>
|
||||
Klaus Hartl <klaus.hartl@gmail.com>
|
||||
Stefan Petre <stefan.petre@gmail.com>
|
||||
Gilles van den Hoven <gilles@webunity.nl>
|
||||
Micheil Bryan Smith <micheil@brandedcode.com>
|
||||
Jörn Zaefferer <joern.zaefferer@gmail.com>
|
||||
Marc Grabanski <m@marcgrabanski.com>
|
||||
Keith Wood <kbwood.au@gmail.com>
|
||||
Keith Wood <kbwood@iinet.com.au>
|
||||
Brandon Aaron <brandon.aaron@gmail.com>
|
||||
Scott González <scott.gonzalez@gmail.com>
|
||||
Eduardo Lundgren <eduardolundgren@gmail.com>
|
||||
@ -27,12 +27,12 @@ David Bolter <david.bolter@gmail.com>
|
||||
Chi Cheng <cloudream@gmail.com>
|
||||
Ca-Phun Ung <pazu2k@gmail.com>
|
||||
Ariel Flesler <aflesler@gmail.com>
|
||||
Maggie Costello Wachs <fg.maggie@gmail.com>
|
||||
Maggie Wachs <maggie@filamentgroup.com>
|
||||
Scott Jehl <scott@scottjehl.com>
|
||||
Todd Parker <fg.todd@gmail.com>
|
||||
Andrew Powell <powella@gmail.com>
|
||||
Todd Parker <todd@filamentgroup.com>
|
||||
Andrew Powell <andrew@shellscape.org>
|
||||
Brant Burnett <btburnett3@gmail.com>
|
||||
Douglas Neiner <doug@pixelgraphics.us>
|
||||
Douglas Neiner <doug@dougneiner.com>
|
||||
Paul Irish <paul.irish@gmail.com>
|
||||
Ralph Whitbeck <ralph.whitbeck@gmail.com>
|
||||
Thibault Duplessis <thibault.duplessis@gmail.com>
|
||||
@ -79,10 +79,10 @@ Phillip Barnes <philbar@gmail.com>
|
||||
Kyle Wilkinson <kai@wikyd.org>
|
||||
Khaled AlHourani <me@khaledalhourani.com>
|
||||
Marian Rudzynski <mr@impaled.org>
|
||||
Jean-Francois Remy <jfremy@virtuoz.com>
|
||||
Doug Blood <dougblood@gmail.com>
|
||||
Jean-Francois Remy <jeff@melix.org>
|
||||
Doug Blood
|
||||
Filippo Cavallarin <filippo.cavallarin@codseq.it>
|
||||
Heiko Henning <h.henning@educa.ch>
|
||||
Heiko Henning <heiko@thehennings.ch>
|
||||
Aliaksandr Rahalevich <saksmlz@gmail.com>
|
||||
Mario Visic <mario@mariovisic.com>
|
||||
Xavi Ramirez <xavi.rmz@gmail.com>
|
||||
@ -106,7 +106,7 @@ Adam Parod <mystic414@gmail.com>
|
||||
Guillaume Gautreau <guillaume+github@ghusse.com>
|
||||
Marcel Toele <EleotleCram@gmail.com>
|
||||
Dan Streetman <ddstreet@ieee.org>
|
||||
Matt Hoskins <furlined@cat-basket.org>
|
||||
Matt Hoskins <matt@nipltd.com>
|
||||
Giovanni Giacobbi <giovanni@giacobbi.net>
|
||||
Kyle Florence <kyle.florence@gmail.com>
|
||||
Pavol Hluchý <lopo@losys.sk>
|
||||
@ -124,7 +124,7 @@ Israel Tsadok <itsadok@gmail.com>
|
||||
Carson McDonald <carson@ioncannon.net>
|
||||
Jason Davies <jason@jasondavies.com>
|
||||
Garrison Locke <gplocke@gmail.com>
|
||||
David Murdoch <musicisair@yahoo.com>
|
||||
David Murdoch <david@davidmurdoch.com>
|
||||
Benjamin Scott Boyle <benjamins.boyle@gmail.com>
|
||||
Jesse Baird <jebaird@gmail.com>
|
||||
Jonathan Vingiano <jvingiano@gmail.com>
|
||||
@ -150,11 +150,10 @@ Marwan Al Jubeh <marwan.aljubeh@gmail.com>
|
||||
Milan Broum <midlis@googlemail.com>
|
||||
Sebastian Sauer <info@dynpages.de>
|
||||
Gaëtan Muller <m.gaetan89@gmail.com>
|
||||
Michel Weimerskirch <michel@weimerskirch.net>
|
||||
William Griffiths <william@ycymro.com>
|
||||
Stojce Slavkovski <stojce@gmail.com>
|
||||
David Soms <david.soms@gmail.com>
|
||||
David De Sloovere <david.desloovere@hotmail.com>
|
||||
David De Sloovere <david.desloovere@outlook.com>
|
||||
Michael P. Jung <michael.jung@terreon.de>
|
||||
Shannon Pekary <spekary@gmail.com>
|
||||
Matthew Edward Hutton <meh@corefiling.co.uk>
|
||||
@ -198,7 +197,7 @@ Lee Rowlands <lee.rowlands@previousnext.com.au>
|
||||
Timmy Willison <timmywillisn@gmail.com>
|
||||
Karl Swedberg <kswedberg@gmail.com>
|
||||
Baoju Yuan <the_guy_1987@hotmail.com>
|
||||
Maciej Mroziński <mrozik87@gmail.com>
|
||||
Maciej Mroziński <maciej.k.mrozinski@gmail.com>
|
||||
Luis Dalmolin <luis.nh@gmail.com>
|
||||
Mark Aaron Shirley <maspwr@gmail.com>
|
||||
Martin Hoch <martin@fidion.de>
|
||||
|
35
Gruntfile.js
35
Gruntfile.js
@ -68,19 +68,6 @@ var
|
||||
}
|
||||
},
|
||||
|
||||
minifyCSS = {
|
||||
options: {
|
||||
keepSpecialComments: 0
|
||||
},
|
||||
main: {
|
||||
options: {
|
||||
keepSpecialComments: "*"
|
||||
},
|
||||
src: "dist/jquery-ui.css",
|
||||
dest: "dist/jquery-ui.min.css"
|
||||
}
|
||||
},
|
||||
|
||||
compareFiles = {
|
||||
all: [
|
||||
"dist/jquery-ui.js",
|
||||
@ -108,16 +95,6 @@ uiFiles.concat( allI18nFiles ).forEach(function( file ) {
|
||||
minify[ file ].files[ mapMinFile( file ) ] = file;
|
||||
});
|
||||
|
||||
cssFiles.forEach(function( file ) {
|
||||
minifyCSS[ file ] = {
|
||||
options: {
|
||||
banner: createBanner()
|
||||
},
|
||||
src: file,
|
||||
dest: "dist/" + file.replace( /\.css$/, ".min.css" ).replace( /themes\/base\//, "themes/base/minified/" )
|
||||
};
|
||||
});
|
||||
|
||||
uiFiles.forEach(function( file ) {
|
||||
// TODO this doesn't do anything until https://github.com/rwldrn/grunt-compare-size/issues/13
|
||||
compareFiles[ file ] = [ file, mapMinFile( file ) ];
|
||||
@ -129,7 +106,6 @@ grunt.loadNpmTasks( "grunt-contrib-uglify" );
|
||||
grunt.loadNpmTasks( "grunt-contrib-concat" );
|
||||
grunt.loadNpmTasks( "grunt-contrib-qunit" );
|
||||
grunt.loadNpmTasks( "grunt-contrib-csslint" );
|
||||
grunt.loadNpmTasks( "grunt-contrib-cssmin" );
|
||||
grunt.loadNpmTasks( "grunt-html" );
|
||||
grunt.loadNpmTasks( "grunt-compare-size" );
|
||||
grunt.loadNpmTasks( "grunt-git-authors" );
|
||||
@ -187,20 +163,12 @@ grunt.initConfig({
|
||||
}
|
||||
},
|
||||
uglify: minify,
|
||||
cssmin: minifyCSS,
|
||||
htmllint: {
|
||||
// ignore files that contain invalid html, used only for ajax content testing
|
||||
all: grunt.file.expand( [ "demos/**/*.html", "tests/**/*.html" ] ).filter(function( file ) {
|
||||
return !/(?:ajax\/content\d\.html|tabs\/data\/test\.html|tests\/unit\/core\/core.*\.html)/.test( file );
|
||||
})
|
||||
},
|
||||
copy: {
|
||||
dist_units_images: {
|
||||
src: "themes/base/images/*",
|
||||
strip: /^themes\/base\//,
|
||||
dest: "dist/"
|
||||
}
|
||||
},
|
||||
qunit: {
|
||||
files: expandFiles( "tests/unit/**/*.html" ).filter(function( file ) {
|
||||
// disabling everything that doesn't (quite) work with PhantomJS for now
|
||||
@ -250,7 +218,4 @@ grunt.registerTask( "test", [ "qunit" ] );
|
||||
grunt.registerTask( "sizer", [ "concat:ui", "uglify:main", "compare_size:all" ] );
|
||||
grunt.registerTask( "sizer_all", [ "concat:ui", "uglify", "compare_size" ] );
|
||||
|
||||
// "copy:dist_units_images" is used by unit tests
|
||||
grunt.registerTask( "build", [ "concat", "uglify", "cssmin", "copy:dist_units_images" ] );
|
||||
|
||||
};
|
||||
|
@ -2,21 +2,6 @@ module.exports = function( grunt ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var fs = require( "fs" );
|
||||
|
||||
function expandFiles( files ) {
|
||||
return grunt.util._.pluck( grunt.file.expandMapping( files ), "src" ).filter(function(filepath) {
|
||||
// restrict to files, exclude folders
|
||||
try {
|
||||
return fs.statSync( filepath[ 0 ] ).isFile();
|
||||
} catch(e) {
|
||||
throw grunt.task.taskError(e.message, e);
|
||||
}
|
||||
}).map(function( values ) {
|
||||
return values[ 0 ];
|
||||
});
|
||||
}
|
||||
|
||||
grunt.registerTask( "manifest", "Generate jquery.json manifest files", function() {
|
||||
var pkg = grunt.config( "pkg" ),
|
||||
base = {
|
||||
@ -96,41 +81,6 @@ grunt.registerTask( "manifest", "Generate jquery.json manifest files", function(
|
||||
});
|
||||
});
|
||||
|
||||
grunt.registerMultiTask( "copy", "Copy files to destination folder and replace @VERSION with pkg.version", function() {
|
||||
function replaceVersion( source ) {
|
||||
return source.replace( /@VERSION/g, grunt.config( "pkg.version" ) );
|
||||
}
|
||||
function copyFile( src, dest ) {
|
||||
if ( /(js|css)$/.test( src ) ) {
|
||||
grunt.file.copy( src, dest, {
|
||||
process: replaceVersion
|
||||
});
|
||||
} else {
|
||||
grunt.file.copy( src, dest );
|
||||
}
|
||||
}
|
||||
var files = expandFiles( this.filesSrc ),
|
||||
target = this.data.dest + "/",
|
||||
strip = this.data.strip,
|
||||
renameCount = 0,
|
||||
fileName;
|
||||
if ( typeof strip === "string" ) {
|
||||
strip = new RegExp( "^" + grunt.template.process( strip, grunt.config() ).replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ) );
|
||||
}
|
||||
files.forEach(function( fileName ) {
|
||||
var targetFile = strip ? fileName.replace( strip, "" ) : fileName;
|
||||
copyFile( fileName, target + targetFile );
|
||||
});
|
||||
grunt.log.writeln( "Copied " + files.length + " files." );
|
||||
for ( fileName in this.data.renames ) {
|
||||
renameCount += 1;
|
||||
copyFile( fileName, target + grunt.template.process( this.data.renames[ fileName ], grunt.config() ) );
|
||||
}
|
||||
if ( renameCount ) {
|
||||
grunt.log.writeln( "Renamed " + renameCount + " files." );
|
||||
}
|
||||
});
|
||||
|
||||
grunt.registerTask( "clean", function() {
|
||||
require( "rimraf" ).sync( "dist" );
|
||||
});
|
||||
|
@ -42,12 +42,13 @@ function submit( commit, runs, configFile, extra, done ) {
|
||||
commitUrl = "https://github.com/jquery/jquery-ui/commit/" + commit;
|
||||
|
||||
if ( extra ) {
|
||||
extra = " " + extra;
|
||||
extra = " (" + extra + ")";
|
||||
}
|
||||
|
||||
for ( testName in runs ) {
|
||||
runs[ testName ] = config.testUrl + commit + "/tests/unit/" + runs[ testName ];
|
||||
}
|
||||
|
||||
testswarm.createClient({
|
||||
url: config.swarmUrl,
|
||||
pollInterval: 10000,
|
||||
@ -59,7 +60,7 @@ function submit( commit, runs, configFile, extra, done ) {
|
||||
token: config.authToken
|
||||
})
|
||||
.addjob({
|
||||
name: "jQuery UI #<a href='" + commitUrl + "'>" + commit.substr( 0, 10 ) + "</a>" + extra,
|
||||
name: "Commit <a href='" + commitUrl + "'>" + commit.substr( 0, 10 ) + "</a>" + extra,
|
||||
runs: runs,
|
||||
runMax: config.runMax,
|
||||
browserSets: config.browserSets
|
||||
|
@ -22,42 +22,38 @@
|
||||
<body>
|
||||
|
||||
<ul id="menu">
|
||||
<li class="ui-state-disabled"><a href="#">Aberdeen</a></li>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#">Addyston</a></li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li class="ui-state-disabled">Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li class="ui-state-disabled"><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li class="ui-state-disabled">Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li>
|
||||
<a href="#">Salzburg</a>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Perch</a></li>
|
||||
<li>Perch</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="ui-state-disabled"><a href="#">Amesville</a></li>
|
||||
<li class="ui-state-disabled">Amesville</li>
|
||||
</ul>
|
||||
|
||||
<div class="demo-description">
|
||||
|
@ -62,8 +62,7 @@
|
||||
"grunt-contrib-concat": "0.1.3",
|
||||
"grunt-contrib-qunit": "0.2.0",
|
||||
"grunt-contrib-csslint": "0.1.1",
|
||||
"grunt-contrib-cssmin": "0.4.2",
|
||||
"grunt-compare-size": "0.3.1",
|
||||
"grunt-compare-size": "0.4.0-rc.3",
|
||||
"grunt-html": "0.3.3",
|
||||
"grunt-git-authors": "1.2.0",
|
||||
"rimraf": "2.1.4",
|
||||
|
@ -16,7 +16,7 @@ test( "prevent form submit on enter when menu is active", function() {
|
||||
event = $.Event( "keydown" );
|
||||
event.keyCode = $.ui.keyCode.DOWN;
|
||||
element.trigger( event );
|
||||
deepEqual( menu.find( ".ui-menu-item:has(.ui-state-focus)" ).length, 1, "menu item is active" );
|
||||
equal( menu.find( ".ui-menu-item.ui-state-focus" ).length, 1, "menu item is active" );
|
||||
|
||||
event = $.Event( "keydown" );
|
||||
event.keyCode = $.ui.keyCode.ENTER;
|
||||
|
@ -62,8 +62,7 @@ function autoFocusTest( afValue, focusedLength ) {
|
||||
open: function() {
|
||||
equal(
|
||||
element.autocomplete( "widget" )
|
||||
.children( ".ui-menu-item:first" )
|
||||
.find( ".ui-state-focus" )
|
||||
.children( ".ui-menu-item.ui-state-focus" )
|
||||
.length,
|
||||
focusedLength,
|
||||
"first item is " + (afValue ? "" : "not") + " auto focused" );
|
||||
|
@ -144,8 +144,8 @@ test("moveToTop", function() {
|
||||
expect( 5 );
|
||||
function order() {
|
||||
var actual = $( ".ui-dialog" ).map(function() {
|
||||
return +$( this ).find( ".ui-dialog-content" ).attr( "id" ).replace( /\D+/, "" );
|
||||
}).get().reverse();
|
||||
return +$( this ).css( "z-index" );
|
||||
}).get();
|
||||
deepEqual( actual, $.makeArray( arguments ) );
|
||||
}
|
||||
var dialog1, dialog2,
|
||||
@ -161,10 +161,23 @@ test("moveToTop", function() {
|
||||
equal( focusOn, "dialog2" );
|
||||
}
|
||||
});
|
||||
order( 2, 1 );
|
||||
order( 100, 101 );
|
||||
focusOn = "dialog1";
|
||||
dialog1.dialog( "moveToTop" );
|
||||
order( 1, 2 );
|
||||
order( 102, 101 );
|
||||
});
|
||||
|
||||
test( "moveToTop: content scroll stays intact", function() {
|
||||
expect( 2 );
|
||||
var otherDialog = $( "#dialog1" ).dialog(),
|
||||
scrollDialog = $( "#form-dialog" ).dialog({
|
||||
height: 200
|
||||
});
|
||||
scrollDialog.scrollTop( 50 );
|
||||
equal( scrollDialog.scrollTop(), 50 );
|
||||
|
||||
otherDialog.dialog( "moveToTop" );
|
||||
equal( scrollDialog.scrollTop(), 50 );
|
||||
});
|
||||
|
||||
test("open", function() {
|
||||
|
@ -48,220 +48,254 @@
|
||||
<div id="qunit-fixture">
|
||||
|
||||
<ul class="foo" id="menu1">
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a id="testID1" class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li id="testID1" class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
</ul>
|
||||
|
||||
<ul id="menu2">
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#"><span class="ui-icon ui-icon-print"></span>Addyston</a></li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo"><span class="ui-icon ui-icon-print"></span>Addyston</li>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Saarland</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Salzburg</a></li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Saarland</li>
|
||||
<li class="foo">Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="foo"><a class="foo" href="#">Saarland</a></li>
|
||||
<li>
|
||||
<a href="#">Salzburg</a>
|
||||
<li class="foo">Saarland</li>
|
||||
<li>Salzburg
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Saarland</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Salzburg</a></li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Saarland</li>
|
||||
<li class="foo">Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo">Ada</li>
|
||||
<li> - </li>
|
||||
<li class="foo"><a class="foo" href="#">Saarland</a></li>
|
||||
<li class="foo">Saarland</li>
|
||||
<li></li>
|
||||
<li class="foo"><a class="foo" href="#">Salzburg</a></li>
|
||||
<li class="foo">Salzburg</li>
|
||||
<li>–</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="foo"><a class="foo" href="#">Perch</a></li>
|
||||
<li class="foo">Perch</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="foo" id="menu3">
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adena</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adrian</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Akron</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Albany</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alexandria</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alger</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alledonia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alliance</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alpha</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvordton</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amanda</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amelia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amesville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adena</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adrian</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Akron</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Albany</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alexandria</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alger</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alledonia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alliance</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alpha</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvordton</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amanda</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amelia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amesville</a></li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
<li class="foo">Adena</li>
|
||||
<li class="foo">Adrian</li>
|
||||
<li class="foo">Akron</li>
|
||||
<li class="foo">Albany</li>
|
||||
<li class="foo">Alexandria</li>
|
||||
<li class="foo">Alger</li>
|
||||
<li class="foo">Alledonia</li>
|
||||
<li class="foo">Alliance</li>
|
||||
<li class="foo">Alpha</li>
|
||||
<li class="foo">Alvada</li>
|
||||
<li class="foo">Alvordton</li>
|
||||
<li class="foo">Amanda</li>
|
||||
<li class="foo">Amelia</li>
|
||||
<li class="foo">Amesville</li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
<li class="foo">Adena</li>
|
||||
<li class="foo">Adrian</li>
|
||||
<li class="foo">Akron</li>
|
||||
<li class="foo">Albany</li>
|
||||
<li class="foo">Alexandria</li>
|
||||
<li class="foo">Alger</li>
|
||||
<li class="foo">Alledonia</li>
|
||||
<li class="foo">Alliance</li>
|
||||
<li class="foo">Alpha</li>
|
||||
<li class="foo">Alvada</li>
|
||||
<li class="foo">Alvordton</li>
|
||||
<li class="foo">Amanda</li>
|
||||
<li class="foo">Amelia</li>
|
||||
<li class="foo">Amesville</li>
|
||||
</ul>
|
||||
|
||||
<ul class="foo" id="menu4">
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">
|
||||
<a class="foo" href="#">Ada</a>
|
||||
Ada
|
||||
<ul class="foo">
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adena</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adrian</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Akron</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Albany</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alexandria</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alger</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alledonia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alliance</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alpha</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvordton</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amanda</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amelia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amesville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adena</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adrian</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Akron</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Albany</a></li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
<li class="foo">Adena</li>
|
||||
<li class="foo">Adrian</li>
|
||||
<li class="foo">Akron</li>
|
||||
<li class="foo">Albany</li>
|
||||
<li class="foo">Alexandria</li>
|
||||
<li class="foo">Alger</li>
|
||||
<li class="foo">Alledonia</li>
|
||||
<li class="foo">Alliance</li>
|
||||
<li class="foo">Alpha</li>
|
||||
<li class="foo">Alvada</li>
|
||||
<li class="foo">Alvordton</li>
|
||||
<li class="foo">Amanda</li>
|
||||
<li class="foo">Amelia</li>
|
||||
<li class="foo">Amesville</li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
<li class="foo">Adena</li>
|
||||
<li class="foo">Adrian</li>
|
||||
<li class="foo">Akron</li>
|
||||
<li class="foo">Albany</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adena</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adrian</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Akron</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Albany</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alexandria</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alger</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alledonia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alliance</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alpha</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvordton</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amanda</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amelia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amesville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adena</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adrian</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Akron</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Albany</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alexandria</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alger</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alledonia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alliance</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alpha</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Alvordton</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amanda</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amelia</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Amesville</a></li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
<li class="foo">Adena</li>
|
||||
<li class="foo">Adrian</li>
|
||||
<li class="foo">Akron</li>
|
||||
<li class="foo">Albany</li>
|
||||
<li class="foo">Alexandria</li>
|
||||
<li class="foo">Alger</li>
|
||||
<li class="foo">Alledonia</li>
|
||||
<li class="foo">Alliance</li>
|
||||
<li class="foo">Alpha</li>
|
||||
<li class="foo">Alvada</li>
|
||||
<li class="foo">Alvordton</li>
|
||||
<li class="foo">Amanda</li>
|
||||
<li class="foo">Amelia</li>
|
||||
<li class="foo">Amesville</li>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li class="foo">Adelphi</li>
|
||||
<li class="foo">Adena</li>
|
||||
<li class="foo">Adrian</li>
|
||||
<li class="foo">Akron</li>
|
||||
<li class="foo">Albany</li>
|
||||
<li class="foo">Alexandria</li>
|
||||
<li class="foo">Alger</li>
|
||||
<li class="foo">Alledonia</li>
|
||||
<li class="foo">Alliance</li>
|
||||
<li class="foo">Alpha</li>
|
||||
<li class="foo">Alvada</li>
|
||||
<li class="foo">Alvordton</li>
|
||||
<li class="foo">Amanda</li>
|
||||
<li class="foo">Amelia</li>
|
||||
<li class="foo">Amesville</li>
|
||||
</ul>
|
||||
|
||||
<div id="menu5">
|
||||
<blockquote><a href="#">Aberdeen</a></blockquote>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a href="#">Adamsville</a></blockquote>
|
||||
<blockquote><a href="#">Addyston</a></blockquote>
|
||||
<blockquote>
|
||||
<a href="#">Delphi</a>
|
||||
<blockquote>Aberdeen</blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote>Adamsville</blockquote>
|
||||
<blockquote>Addyston</blockquote>
|
||||
<blockquote>Delphi
|
||||
<div>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote><a href="#">Salzburg</a></blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote>
|
||||
<a href="#">Salzburg</a>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg
|
||||
<div>
|
||||
<blockquote>
|
||||
<a href="#">Delphi</a>
|
||||
<blockquote>Delphi
|
||||
<div>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a id="testID2" href="#">Saarland</a></blockquote>
|
||||
<blockquote><a href="#">Salzburg</a></blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote id="testID2">Saarland</blockquote>
|
||||
<blockquote>Salzburg</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<a href="#">Delphi</a>
|
||||
<blockquote>Delphi
|
||||
<div>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote><a href="#">Salzburg</a></blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
<blockquote><a href="#">Perch</a></blockquote>
|
||||
<blockquote>Perch</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<ul id="menu6">
|
||||
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
|
||||
<li class="foo ui-state-disabled"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Addyston</a></li>
|
||||
<li class="ui-state-disabled">
|
||||
<a id="testID3" href="#">Delphi</a>
|
||||
<li class="foo">Aberdeen</li>
|
||||
<li class="foo ui-state-disabled">Ada</li>
|
||||
<li class="foo">Adamsville</li>
|
||||
<li class="foo">Addyston</li>
|
||||
<li id="testID3" class="ui-state-disabled">Delphi
|
||||
<ul>
|
||||
<li class="foo"><a class="foo" href="#">Ada</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Saarland</a></li>
|
||||
<li class="foo"><a class="foo" href="#">Salzburg</a></li>
|
||||
<li class="foo">Ada</li>
|
||||
<li class="foo">Saarland</li>
|
||||
<li class="foo">Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="foo"><a class="foo" href="#">Saarland</a></li>
|
||||
<li class="foo">Saarland</li>
|
||||
</ul>
|
||||
|
||||
<ul id="menu7">
|
||||
<li class="ui-menu-group"><strong>Group 1</strong></li>
|
||||
<li>Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li></li>
|
||||
<li class="ui-menu-group"><strong>Group 2</strong></li>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Saarland</li>
|
||||
<li>---</li>
|
||||
<li class="ui-menu-group"><strong>Group 3</strong></li>
|
||||
<li>Salzburg
|
||||
<ul>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li>Ada</li>
|
||||
<li> - </li>
|
||||
<li>Saarland</li>
|
||||
<li>—</li>
|
||||
<li>Salzburg</li>
|
||||
<li>–</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Perch</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Amesville</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -4,6 +4,7 @@ TestHelpers.commonWidgetTests( "menu", {
|
||||
icons: {
|
||||
submenu: "ui-icon-carat-1-e"
|
||||
},
|
||||
items: "> *",
|
||||
menus: "ul",
|
||||
position: {
|
||||
my: "left top",
|
||||
|
@ -27,4 +27,22 @@ test( "accessibility", function () {
|
||||
// Item roles are tested in the role option tests
|
||||
});
|
||||
|
||||
asyncTest( "#9044: Autofocus issue with dialog opened from menu widget", function() {
|
||||
expect( 1 );
|
||||
var element = $( "#menu1" ).menu();
|
||||
|
||||
$( "<input>", { id: "test9044" } ).appendTo( "body" );
|
||||
|
||||
$( "#testID1" ).bind( "click", function() {
|
||||
$( "#test9044" ).focus();
|
||||
});
|
||||
|
||||
TestHelpers.menu.click( element, "3" );
|
||||
setTimeout( function() {
|
||||
equal( document.activeElement.id, "test9044", "Focus was swallowed by menu" );
|
||||
$( "#test9044" ).remove();
|
||||
start();
|
||||
});
|
||||
});
|
||||
|
||||
})( jQuery );
|
||||
|
@ -91,7 +91,7 @@ asyncTest( "handle focus of menu with active item", function() {
|
||||
expect( 1 );
|
||||
var element = $( "#menu1" ).menu({
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index() );
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index() );
|
||||
}
|
||||
});
|
||||
|
||||
@ -177,7 +177,7 @@ asyncTest( "handle keyboard navigation on menu without scroll and without submen
|
||||
log( $( ui.item[ 0 ] ).text() );
|
||||
},
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index() );
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index() );
|
||||
}
|
||||
});
|
||||
|
||||
@ -243,7 +243,7 @@ asyncTest( "handle keyboard navigation on menu without scroll and with submenus"
|
||||
log( $( ui.item[0] ).text() );
|
||||
},
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index() );
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index() );
|
||||
}
|
||||
});
|
||||
|
||||
@ -341,7 +341,7 @@ asyncTest( "handle keyboard navigation on menu without scroll and with submenus"
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
equal( logOutput(), "keydown,5,6,0,1,0,2,4,0", "Keydown skip dividers and items without anchors" );
|
||||
equal( logOutput(), "keydown,5,6,0,1,0,2,4,0", "Keydown skip dividers" );
|
||||
|
||||
log( "keydown", true );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
|
||||
@ -363,7 +363,7 @@ asyncTest( "handle keyboard navigation on menu with scroll and without submenus"
|
||||
log( $( ui.item[ 0 ] ).text() );
|
||||
},
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index());
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index());
|
||||
}
|
||||
});
|
||||
|
||||
@ -438,7 +438,7 @@ asyncTest( "handle keyboard navigation on menu with scroll and with submenus", f
|
||||
log( $( ui.item[ 0 ] ).text() );
|
||||
},
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index());
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index());
|
||||
}
|
||||
});
|
||||
|
||||
@ -533,7 +533,7 @@ asyncTest( "handle keyboard navigation and mouse click on menu with disabled ite
|
||||
log( $( ui.item[0] ).text() );
|
||||
},
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index());
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index());
|
||||
}
|
||||
});
|
||||
|
||||
@ -577,11 +577,42 @@ asyncTest( "handle keyboard navigation and mouse click on menu with disabled ite
|
||||
}
|
||||
});
|
||||
|
||||
asyncTest( "handle keyboard navigation and mouse click on menu with dividers and group labels", function() {
|
||||
expect( 2 );
|
||||
var element = $( "#menu7" ).menu({
|
||||
items: "> :not('.ui-menu-group')",
|
||||
select: function( event, ui ) {
|
||||
log( $( ui.item[0] ).text() );
|
||||
},
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index());
|
||||
}
|
||||
});
|
||||
|
||||
log( "keydown", true );
|
||||
element.one( "menufocus", function() {
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
|
||||
equal( logOutput(), "keydown,2,Ada", "Keydown skips initial group label" );
|
||||
setTimeout( menukeyboard1, 50 );
|
||||
});
|
||||
element.focus();
|
||||
|
||||
function menukeyboard1() {
|
||||
log( "keydown", true );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
|
||||
equal( logOutput(), "keydown,3,4,7", "Keydown focus skips divider and group label" );
|
||||
start();
|
||||
}
|
||||
});
|
||||
|
||||
asyncTest( "handle keyboard navigation with spelling of menu items", function() {
|
||||
expect( 2 );
|
||||
var element = $( "#menu2" ).menu({
|
||||
focus: function( event ) {
|
||||
log( $( event.target ).find( ".ui-state-focus" ).parent().index() );
|
||||
log( $( event.target ).find( ".ui-state-focus" ).index() );
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -73,11 +73,11 @@ test( "refresh icons (see #9377)", function() {
|
||||
expect( 3 );
|
||||
var element = $( "#menu1" ).menu();
|
||||
ok( !element.hasClass( "ui-menu-icons") );
|
||||
element.find( "li:first a" ).html( "<span class='ui-icon ui-icon-disk'></span>Save</a>" );
|
||||
element.find( "li:first" ).html( "<span class='ui-icon ui-icon-disk'></span>Save</a>" );
|
||||
element.menu( "refresh" );
|
||||
|
||||
ok( element.hasClass( "ui-menu-icons" ) );
|
||||
element.find( "li:first a" ).html( "Save" );
|
||||
element.find( "li:first" ).html( "Save" );
|
||||
element.menu( "refresh" );
|
||||
ok( !element.hasClass( "ui-menu-icons" ) );
|
||||
});
|
||||
|
@ -66,15 +66,14 @@ test( "{ icons: { submenu: 'custom' } }", function() {
|
||||
test( "{ role: 'menu' } ", function() {
|
||||
var element = $( "#menu1" ).menu(),
|
||||
items = element.find( "li" );
|
||||
expect( 2 + 5 * items.length );
|
||||
expect( 2 + 4 * items.length );
|
||||
equal( element.attr( "role" ), "menu" );
|
||||
ok( items.length > 0, "number of menu items" );
|
||||
items.each(function( item ) {
|
||||
ok( $( this ).hasClass( "ui-menu-item" ), "menu item ("+ item + ") class for item" );
|
||||
equal( $( this ).attr( "role" ), "presentation", "menu item ("+ item + ") role" );
|
||||
equal( $( "a", this ).attr( "role" ), "menuitem", "menu item ("+ item + ") role" );
|
||||
ok( $( "a", this ).hasClass( "ui-corner-all" ), "a element class for menu item ("+ item + ")" );
|
||||
equal( $( "a", this ).attr( "tabindex" ), "-1", "a element tabindex for menu item ("+ item + ")" );
|
||||
equal( $( this ).attr( "role" ), "menuitem", "menu item ("+ item + ") role" );
|
||||
ok( $( this ).hasClass( "ui-corner-all" ), "class for menu item ("+ item + ")" );
|
||||
equal( $( this ).attr( "tabindex" ), "-1", "tabindex for menu item ("+ item + ")" );
|
||||
});
|
||||
});
|
||||
|
||||
@ -83,15 +82,14 @@ test( "{ role: 'listbox' } ", function() {
|
||||
role: "listbox"
|
||||
}),
|
||||
items = element.find( "li" );
|
||||
expect( 2 + 5 * items.length );
|
||||
expect( 2 + 4 * items.length );
|
||||
equal( element.attr( "role" ), "listbox" );
|
||||
ok( items.length > 0, "number of menu items" );
|
||||
items.each(function( item ) {
|
||||
ok( $( this ).hasClass( "ui-menu-item" ), "menu item ("+ item + ") class for item" );
|
||||
equal( $( this ).attr( "role" ), "presentation", "menu item ("+ item + ") role" );
|
||||
equal( $( "a", this ).attr( "role" ), "option", "menu item ("+ item + ") role" );
|
||||
ok( $( "a", this ).hasClass( "ui-corner-all" ), "a element class for menu item ("+ item + ")" );
|
||||
equal( $( "a", this ).attr( "tabindex" ), "-1", "a element tabindex for menu item ("+ item + ")" );
|
||||
equal( $( this ).attr( "role" ), "option", "menu item ("+ item + ") role" );
|
||||
ok( $( this ).hasClass( "ui-corner-all" ), "class for menu item ("+ item + ")" );
|
||||
equal( $( this ).attr( "tabindex" ), "-1", "tabindex for menu item ("+ item + ")" );
|
||||
});
|
||||
});
|
||||
|
||||
@ -100,15 +98,14 @@ test( "{ role: null }", function() {
|
||||
role: null
|
||||
}),
|
||||
items = element.find( "li" );
|
||||
expect( 2 + 5 * items.length );
|
||||
expect( 2 + 4 * items.length );
|
||||
strictEqual( element.attr( "role" ), undefined );
|
||||
ok( items.length > 0, "number of menu items" );
|
||||
items.each(function( item ) {
|
||||
ok( $( this ).hasClass( "ui-menu-item" ), "menu item ("+ item + ") class for item" );
|
||||
equal( $( this ).attr( "role" ), "presentation", "menu item ("+ item + ") role" );
|
||||
equal( $( "a", this ).attr( "role" ), undefined, "menu item ("+ item + ") role" );
|
||||
ok( $( "a", this ).hasClass( "ui-corner-all" ), "a element class for menu item ("+ item + ")" );
|
||||
equal( $( "a", this ).attr( "tabindex" ), "-1", "a element tabindex for menu item ("+ item + ")" );
|
||||
equal( $( this ).attr( "role" ), undefined, "menu item ("+ item + ") role" );
|
||||
ok( $( this ).hasClass( "ui-corner-all" ), "class for menu item ("+ item + ")" );
|
||||
equal( $( this ).attr( "tabindex" ), "-1", "tabindex for menu item ("+ item + ")" );
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -24,7 +24,7 @@ TestHelpers.menu = {
|
||||
|
||||
click: function( menu, item ) {
|
||||
lastItem = item;
|
||||
menu.children( ":eq(" + item + ")" ).find( "a:first" ).trigger( "click" );
|
||||
menu.children( ":eq(" + item + ")" ).trigger( "click" );
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -27,11 +27,15 @@ QUnit.reset = function() {
|
||||
|
||||
QUnit.config.requireExpects = true;
|
||||
|
||||
/*
|
||||
// TODO: Add back the ability to test against minified files
|
||||
// see QUnit.urlParams.min usage below
|
||||
QUnit.config.urlConfig.push({
|
||||
id: "min",
|
||||
label: "Minified source",
|
||||
tooltip: "Load minified source files instead of the regular unminified ones."
|
||||
});
|
||||
*/
|
||||
|
||||
TestHelpers.loadResources = QUnit.urlParams.min ?
|
||||
function() {
|
||||
|
62
tests/visual/dialog/stacking.html
Normal file
62
tests/visual/dialog/stacking.html
Normal file
@ -0,0 +1,62 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Dialog Visual Test</title>
|
||||
<link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css">
|
||||
<script src="../../../jquery-1.10.2.js"></script>
|
||||
<script src="../../../ui/jquery.ui.core.js"></script>
|
||||
<script src="../../../ui/jquery.ui.widget.js"></script>
|
||||
<script src="../../../ui/jquery.ui.mouse.js"></script>
|
||||
<script src="../../../ui/jquery.ui.draggable.js"></script>
|
||||
<script src="../../../ui/jquery.ui.position.js"></script>
|
||||
<script src="../../../ui/jquery.ui.resizable.js"></script>
|
||||
<script src="../../../ui/jquery.ui.button.js"></script>
|
||||
<script src="../../../ui/jquery.ui.dialog.js"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-size: 62.5%;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function() {
|
||||
var iframeDialog = $( "#dialog-iframe" ).dialog({
|
||||
position: {
|
||||
my: "right-90 center"
|
||||
},
|
||||
height: 400
|
||||
}),
|
||||
|
||||
scrollingDialog = $( "#dialog-scrolling" ).dialog({
|
||||
maxHeight: 200,
|
||||
position: {
|
||||
my: "left+90 center"
|
||||
}
|
||||
}),
|
||||
|
||||
otherDialog = $( "#dialog-other" ).dialog({
|
||||
width: 200,
|
||||
height: 150
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>WHAT: Two dialogs, one embedding an iframe, one having just scrollable content.</p>
|
||||
<p>EXPECTED: When focusing on one or the other dialog, it shouldn't affect how the content is displayed on the other dialog. It shouldn't reload the iframe or reset the scroll.</p>
|
||||
|
||||
|
||||
<div id="dialog-iframe" title="Dialog that embeds an iframe">
|
||||
<iframe src="animated.html" height="400"></iframe>
|
||||
</div>
|
||||
|
||||
<div id="dialog-scrolling" title="Dialog with scroll">
|
||||
<p style="height:600px;background:#eee">a bunch of content</p>
|
||||
</div>
|
||||
|
||||
<div id="dialog-other" title="placeholder">Just another dialog to test stacking</div>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -33,7 +33,11 @@
|
||||
|
||||
<h2>Dialog</h2>
|
||||
<ul>
|
||||
<li><a href="dialog/animated.html">Animations</a></li>
|
||||
<li><a href="dialog/complex-dialogs.html">Nested dialogs</a></li>
|
||||
<li><a href="dialog/form.html">Forms in dialogs</a></li>
|
||||
<li><a href="dialog/performance.html">Performance</a></li>
|
||||
<li><a href="dialog/stacking.html">Overlapping dialogs</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Effects</h2>
|
||||
|
@ -15,7 +15,7 @@
|
||||
$( "<p>" ).text( "Selected: " + ui.item.text() ).appendTo( "#log" );
|
||||
}
|
||||
|
||||
$( "#menu1, #menu2, #menu3, .menu4, #menu7" ).menu({
|
||||
$( "#menu1, #menu2, #menu3, .menu4" ).menu({
|
||||
select: logger
|
||||
});
|
||||
|
||||
@ -29,6 +29,11 @@
|
||||
select: logger,
|
||||
icon: "ui-icon-carat-1-s"
|
||||
});
|
||||
|
||||
$( "#menu7" ).menu({
|
||||
items: "> :not('.ui-menu-group')",
|
||||
select: logger
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
@ -44,171 +49,161 @@
|
||||
|
||||
<h2>Default inline menu</h2>
|
||||
<ul id="menu1">
|
||||
<li><a href="#">Aberdeen</a></li>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#">Addyston</a></li>
|
||||
<li><a href="#">Delphi</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li>Delphi</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
|
||||
<h2>Inline with disabled items and submenus</h2>
|
||||
<ul id="menu2">
|
||||
<li class="ui-state-disabled"><a href="#">Aberdeen</a></li>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#">Addyston</a></li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li class="ui-state-disabled">Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li class="ui-state-disabled"><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li class="ui-state-disabled">Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li>
|
||||
<a href="#">Salzburg</a>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Perch</a></li>
|
||||
<li>Perch</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="ui-state-disabled"><a href="#">Amesville</a></li>
|
||||
<li class="ui-state-disabled">Amesville</li>
|
||||
</ul>
|
||||
|
||||
<h2>Menu with icons</h2>
|
||||
<ul id="menu3">
|
||||
<li><a href="#"><span class="ui-icon ui-icon-print"></span>Aberdeen</a></li>
|
||||
<li class="ui-state-disabled"><a href="#"><span class="ui-icon ui-icon-scissors"></span>Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Addyston</a></li>
|
||||
<li class="ui-state-disabled">
|
||||
<a href="#">Delphi</a>
|
||||
<li><span class="ui-icon ui-icon-print"></span>Aberdeen</li>
|
||||
<li class="ui-state-disabled"><span class="ui-icon ui-icon-scissors"></span>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li><span class="ui-icon ui-icon-wrench"></span>Addyston</li>
|
||||
<li class="ui-state-disabled">Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li><span class="ui-icon ui-icon-wrench"></span>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li>Saarland</li>
|
||||
<li>
|
||||
<a href="#"><span class="ui-icon ui-icon-print"></span>Salzburg</a>
|
||||
<span class="ui-icon ui-icon-print"></span>Salzburg
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#"><span class="ui-icon ui-icon-wrench"></span>Delphi</a>
|
||||
<span class="ui-icon ui-icon-wrench"></span>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Ada</a></li>
|
||||
<li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Saarland</a></li>
|
||||
<li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Salzburg</a></li>
|
||||
<li><span class="ui-icon ui-icon-wrench"></span>Ada</li>
|
||||
<li><span class="ui-icon ui-icon-wrench"></span>Saarland</li>
|
||||
<li><span class="ui-icon ui-icon-wrench"></span>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Perch</a></li>
|
||||
<li>Perch</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Long menu with scroll overflow, to test menu's scroll-on-keypress behaviour</h2>
|
||||
<ul class="menu4">
|
||||
<li><a href="#">Aberdeen</a></li>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#">Addyston</a></li>
|
||||
<li><a href="#">Adelphi</a></li>
|
||||
<li><a href="#">Adena</a></li>
|
||||
<li><a href="#">Adrian</a></li>
|
||||
<li><a href="#">Akron</a></li>
|
||||
<li><a href="#">Albany</a></li>
|
||||
<li><a href="#">Alexandria</a></li>
|
||||
<li><a href="#">Alger</a></li>
|
||||
<li><a href="#">Alledonia</a></li>
|
||||
<li><a href="#">Alliance</a></li>
|
||||
<li><a href="#">Alpha</a></li>
|
||||
<li><a href="#">Alvada</a></li>
|
||||
<li><a href="#">Alvordton</a></li>
|
||||
<li><a href="#">Amanda</a></li>
|
||||
<li><a href="#">Amelia</a></li>
|
||||
<li><a href="#">Amesville</a></li>
|
||||
<li><a href="#">Aberdeen</a></li>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#">Addyston</a></li>
|
||||
<li><a href="#">Adelphi</a></li>
|
||||
<li><a href="#">Adena</a></li>
|
||||
<li><a href="#">Adrian</a></li>
|
||||
<li><a href="#">Akron</a></li>
|
||||
<li><a href="#">Albany</a></li>
|
||||
<li><a href="#">Alexandria</a></li>
|
||||
<li><a href="#">Alger</a></li>
|
||||
<li><a href="#">Alledonia</a></li>
|
||||
<li><a href="#">Alliance</a></li>
|
||||
<li><a href="#">Alpha</a></li>
|
||||
<li><a href="#">Alvada</a></li>
|
||||
<li><a href="#">Alvordton</a></li>
|
||||
<li><a href="#">Amanda</a></li>
|
||||
<li><a href="#">Amelia</a></li>
|
||||
<li><a href="#">Amesville</a></li>
|
||||
<li>Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li>Adelphi</li>
|
||||
<li>Adena</li>
|
||||
<li>Adrian</li>
|
||||
<li>Akron</li>
|
||||
<li>Albany</li>
|
||||
<li>Alexandria</li>
|
||||
<li>Alger</li>
|
||||
<li>Alledonia</li>
|
||||
<li>Alliance</li>
|
||||
<li>Alpha</li>
|
||||
<li>Alvada</li>
|
||||
<li>Alvordton</li>
|
||||
<li>Amanda</li>
|
||||
<li>Amelia</li>
|
||||
<li>Amesville</li>
|
||||
<li>Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li>Adelphi</li>
|
||||
<li>Adena</li>
|
||||
<li>Adrian</li>
|
||||
<li>Akron</li>
|
||||
<li>Albany</li>
|
||||
<li>Alexandria</li>
|
||||
<li>Alger</li>
|
||||
<li>Alledonia</li>
|
||||
<li>Alliance</li>
|
||||
<li>Alpha</li>
|
||||
<li>Alvada</li>
|
||||
<li>Alvordton</li>
|
||||
<li>Amanda</li>
|
||||
<li>Amelia</li>
|
||||
<li>Amesville</li>
|
||||
</ul>
|
||||
|
||||
<h2>Menu with custom markup</h2>
|
||||
<div id="menu5">
|
||||
<blockquote><a href="#">Aberdeen</a></blockquote>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote class="ui-state-disabled"><a href="#">Adamsville</a></blockquote>
|
||||
<blockquote><a href="#">Addyston</a></blockquote>
|
||||
<blockquote>
|
||||
<a href="#">Delphi</a>
|
||||
<blockquote>Aberdeen</blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote class="ui-state-disabled">Adamsville</blockquote>
|
||||
<blockquote>Addyston</blockquote>
|
||||
<blockquote>Delphi
|
||||
<div>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote><a href="#">Salzburg</a></blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote>
|
||||
<a href="#">Salzburg</a>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg
|
||||
<div>
|
||||
<blockquote>
|
||||
<a href="#">Delphi</a>
|
||||
<blockquote>Delphi
|
||||
<div>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote><a href="#">Salzburg</a></blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<a href="#">Delphi</a>
|
||||
<blockquote>Delphi
|
||||
<div>
|
||||
<blockquote><a href="#">Ada</a></blockquote>
|
||||
<blockquote><a href="#">Saarland</a></blockquote>
|
||||
<blockquote><a href="#">Salzburg</a></blockquote>
|
||||
<blockquote>Ada</blockquote>
|
||||
<blockquote>Saarland</blockquote>
|
||||
<blockquote>Salzburg</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
<blockquote><a href="#">Perch</a></blockquote>
|
||||
<blockquote>Perch</blockquote>
|
||||
</div>
|
||||
</blockquote>
|
||||
</div>
|
||||
@ -216,93 +211,79 @@
|
||||
<h2>Menu with custom markup, multi-line items and a custom submenu icon</h2>
|
||||
<div class="menuElement" id="menu6">
|
||||
<div class="address-item">
|
||||
<a href="#">
|
||||
<span class="address-header">John Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</a>
|
||||
<span class="address-header">John Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</div>
|
||||
<div class="address-item">
|
||||
<a href="#">
|
||||
<span class="address-header">Jane Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</a>
|
||||
<span class="address-header">Jane Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</div>
|
||||
<div class="address-item ui-state-disabled">
|
||||
<a href="#">
|
||||
<span class="address-header">James Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</a>
|
||||
<span class="address-header">James Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</div>
|
||||
<div class="address-item">
|
||||
<a href="#">
|
||||
<span class="address-header">Jenny Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</a>
|
||||
<span class="address-header">Jenny Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</div>
|
||||
<div class="address-item">
|
||||
<a href="#">
|
||||
<span class="address-header">John Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
</a>
|
||||
<span class="address-header">John Doe</span>
|
||||
<span class="address-content">78 West Main St Apt 3A</span>
|
||||
<span class="address-content">Bloomsburg, PA 12345</span>
|
||||
<div class="menuElement">
|
||||
<div><a href="#">Ada</a></div>
|
||||
<div><a href="#">Saarland</a></div>
|
||||
<div><a href="#">Salzburg</a></div>
|
||||
<div>Ada</div>
|
||||
<div>Saarland</div>
|
||||
<div>Salzburg</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Inline with dividers and elements without anchors</h2>
|
||||
<h2>Inline with dividers and group labels</h2>
|
||||
<ul id="menu7">
|
||||
<li><strong>Group 1</strong></li>
|
||||
<li><a href="#">Aberdeen</a></li>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Adamsville</a></li>
|
||||
<li><a href="#">Addyston</a></li>
|
||||
<li class="ui-menu-group"><strong>Group 1</strong></li>
|
||||
<li>Aberdeen</li>
|
||||
<li>Ada</li>
|
||||
<li>Adamsville</li>
|
||||
<li>Addyston</li>
|
||||
<li></li>
|
||||
<li><strong>Group 2</strong></li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li class="ui-menu-group"><strong>Group 2</strong></li>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li>Saarland</li>
|
||||
<li>---</li>
|
||||
<li><strong>Group 3</strong></li>
|
||||
<li>
|
||||
<a href="#">Salzburg</a>
|
||||
<li class="ui-menu-group"><strong>Group 3</strong></li>
|
||||
<li>Salzburg
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li>Ada</li>
|
||||
<li> - </li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li>Saarland</li>
|
||||
<li>—</li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Salzburg</li>
|
||||
<li>–</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Delphi</a>
|
||||
<li>Delphi
|
||||
<ul>
|
||||
<li><a href="#">Ada</a></li>
|
||||
<li><a href="#">Saarland</a></li>
|
||||
<li><a href="#">Salzburg</a></li>
|
||||
<li>Ada</li>
|
||||
<li>Saarland</li>
|
||||
<li>Salzburg</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Perch</a></li>
|
||||
<li>Perch</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">Amesville</a></li>
|
||||
<li>Amesville</li>
|
||||
</ul>
|
||||
|
||||
<div style="position: absolute; top: 1em; right: 1em;">
|
||||
|
2
themes/base/jquery.ui.dialog.css
vendored
2
themes/base/jquery.ui.dialog.css
vendored
@ -31,7 +31,7 @@
|
||||
position: absolute;
|
||||
right: .3em;
|
||||
top: 50%;
|
||||
width: 21px;
|
||||
width: 20px;
|
||||
margin: -10px 0 0 0;
|
||||
padding: 1px;
|
||||
height: 20px;
|
||||
|
21
themes/base/jquery.ui.menu.css
vendored
21
themes/base/jquery.ui.menu.css
vendored
@ -21,8 +21,11 @@
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
display: block;
|
||||
padding: 2px .4em;
|
||||
line-height: 1.5;
|
||||
min-height: 0; /* support: IE7 */
|
||||
font-weight: normal;
|
||||
/* support: IE10, see #8844 */
|
||||
list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
|
||||
}
|
||||
@ -33,16 +36,8 @@
|
||||
line-height: 0;
|
||||
border-width: 1px 0 0 0;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 2px .4em;
|
||||
line-height: 1.5;
|
||||
min-height: 0; /* support: IE7 */
|
||||
font-weight: normal;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-focus,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
.ui-menu .ui-state-focus,
|
||||
.ui-menu .ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
@ -60,7 +55,7 @@
|
||||
.ui-menu-icons {
|
||||
position: relative;
|
||||
}
|
||||
.ui-menu-icons .ui-menu-item a {
|
||||
.ui-menu-icons .ui-menu-item {
|
||||
position: relative;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
4
ui/jquery.ui.autocomplete.js
vendored
4
ui/jquery.ui.autocomplete.js
vendored
@ -523,9 +523,7 @@ $.widget( "ui.autocomplete", {
|
||||
},
|
||||
|
||||
_renderItem: function( ul, item ) {
|
||||
return $( "<li>" )
|
||||
.append( $( "<a>" ).text( item.label ) )
|
||||
.appendTo( ul );
|
||||
return $( "<li>" ).text( item.label ).appendTo( ul );
|
||||
},
|
||||
|
||||
_move: function( direction, event ) {
|
||||
|
2
ui/jquery.ui.datepicker.js
vendored
2
ui/jquery.ui.datepicker.js
vendored
@ -1721,7 +1721,7 @@ $.extend(Datepicker.prototype, {
|
||||
thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
|
||||
for (dow = 0; dow < 7; dow++) { // days of the week
|
||||
day = (dow + firstDay) % 7;
|
||||
thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
|
||||
thead += "<th scope='col'" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
|
||||
"<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
|
||||
}
|
||||
calender += thead + "</tr></thead><tbody>";
|
||||
|
37
ui/jquery.ui.dialog.js
vendored
37
ui/jquery.ui.dialog.js
vendored
@ -169,7 +169,8 @@ $.widget( "ui.dialog", {
|
||||
enable: $.noop,
|
||||
|
||||
close: function( event ) {
|
||||
var that = this;
|
||||
var activeElement,
|
||||
that = this;
|
||||
|
||||
if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
|
||||
return;
|
||||
@ -179,10 +180,22 @@ $.widget( "ui.dialog", {
|
||||
this._destroyOverlay();
|
||||
|
||||
if ( !this.opener.filter(":focusable").focus().length ) {
|
||||
// Hiding a focused element doesn't trigger blur in WebKit
|
||||
// so in case we have nothing to focus on, explicitly blur the active element
|
||||
// https://bugs.webkit.org/show_bug.cgi?id=47182
|
||||
$( this.document[0].activeElement ).blur();
|
||||
|
||||
// support: IE9
|
||||
// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
|
||||
try {
|
||||
activeElement = this.document[ 0 ].activeElement;
|
||||
|
||||
// Support: IE9, IE10
|
||||
// If the <body> is blurred, IE will switch windows, see #4520
|
||||
if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
|
||||
|
||||
// Hiding a focused element doesn't trigger blur in WebKit
|
||||
// so in case we have nothing to focus on, explicitly blur the active element
|
||||
// https://bugs.webkit.org/show_bug.cgi?id=47182
|
||||
$( activeElement ).blur();
|
||||
}
|
||||
} catch ( error ) {}
|
||||
}
|
||||
|
||||
this._hide( this.uiDialog, this.options.hide, function() {
|
||||
@ -199,7 +212,17 @@ $.widget( "ui.dialog", {
|
||||
},
|
||||
|
||||
_moveToTop: function( event, silent ) {
|
||||
var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length;
|
||||
var moved = false,
|
||||
zIndicies = this.uiDialog.siblings( ".ui-front:visible" ).map(function() {
|
||||
return +$( this ).css( "z-index" );
|
||||
}).get(),
|
||||
zIndexMax = Math.max.apply( null, zIndicies );
|
||||
|
||||
if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) {
|
||||
this.uiDialog.css( "z-index", zIndexMax + 1 );
|
||||
moved = true;
|
||||
}
|
||||
|
||||
if ( moved && !silent ) {
|
||||
this._trigger( "focus", event );
|
||||
}
|
||||
@ -734,6 +757,8 @@ $.widget( "ui.dialog", {
|
||||
if ( !this.document.data( "ui-dialog-overlays" ) ) {
|
||||
|
||||
// Prevent use of anchors and inputs
|
||||
// Using _on() for an event handler shared across many instances is
|
||||
// safe because the dialogs stack and must be closed in reverse order
|
||||
this._on( this.document, {
|
||||
focusin: function( event ) {
|
||||
if ( isOpening ) {
|
||||
|
96
ui/jquery.ui.menu.js
vendored
96
ui/jquery.ui.menu.js
vendored
@ -23,6 +23,7 @@ $.widget( "ui.menu", {
|
||||
icons: {
|
||||
submenu: "ui-icon-carat-1-e"
|
||||
},
|
||||
items: "> *",
|
||||
menus: "ul",
|
||||
position: {
|
||||
my: "left top",
|
||||
@ -66,14 +67,14 @@ $.widget( "ui.menu", {
|
||||
this._on({
|
||||
// Prevent focus from sticking to links inside menu after clicking
|
||||
// them (focus should always stay on UL during navigation).
|
||||
"mousedown .ui-menu-item > a": function( event ) {
|
||||
"mousedown .ui-menu-item": function( event ) {
|
||||
event.preventDefault();
|
||||
},
|
||||
"click .ui-state-disabled > a": function( event ) {
|
||||
"click .ui-state-disabled": function( event ) {
|
||||
event.preventDefault();
|
||||
},
|
||||
"click .ui-menu-item:has(a)": function( event ) {
|
||||
var target = $( event.target ).closest( ".ui-menu-item" );
|
||||
"click .ui-menu-item": function( event ) {
|
||||
var target = $( event.target );
|
||||
if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
|
||||
this.select( event );
|
||||
|
||||
@ -85,7 +86,8 @@ $.widget( "ui.menu", {
|
||||
// Open submenu on click
|
||||
if ( target.has( ".ui-menu" ).length ) {
|
||||
this.expand( event );
|
||||
} else if ( !this.element.is( ":focus" ) ) {
|
||||
} else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) {
|
||||
|
||||
// Redirect focus to the menu
|
||||
this.element.trigger( "focus", [ true ] );
|
||||
|
||||
@ -101,7 +103,7 @@ $.widget( "ui.menu", {
|
||||
var target = $( event.currentTarget );
|
||||
// Remove ui-state-active class from siblings of the newly focused menu item
|
||||
// to avoid a jump caused by adjacent elements both having a class with a border
|
||||
target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" );
|
||||
target.siblings( ".ui-state-active" ).removeClass( "ui-state-active" );
|
||||
this.focus( event, target );
|
||||
},
|
||||
mouseleave: "collapseAll",
|
||||
@ -109,7 +111,7 @@ $.widget( "ui.menu", {
|
||||
focus: function( event, keepActiveItem ) {
|
||||
// If there's already an active item, keep it active
|
||||
// If not, activate the first item
|
||||
var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 );
|
||||
var item = this.active || this.element.find( this.options.items ).eq( 0 );
|
||||
|
||||
if ( !keepActiveItem ) {
|
||||
this.focus( event, item );
|
||||
@ -160,18 +162,17 @@ $.widget( "ui.menu", {
|
||||
.removeClass( "ui-menu-item" )
|
||||
.removeAttr( "role" )
|
||||
.removeAttr( "aria-disabled" )
|
||||
.children( "a" )
|
||||
.removeUniqueId()
|
||||
.removeClass( "ui-corner-all ui-state-hover" )
|
||||
.removeAttr( "tabIndex" )
|
||||
.removeAttr( "role" )
|
||||
.removeAttr( "aria-haspopup" )
|
||||
.children().each( function() {
|
||||
var elem = $( this );
|
||||
if ( elem.data( "ui-menu-submenu-carat" ) ) {
|
||||
elem.remove();
|
||||
}
|
||||
});
|
||||
.removeUniqueId()
|
||||
.removeClass( "ui-corner-all ui-state-hover" )
|
||||
.removeAttr( "tabIndex" )
|
||||
.removeAttr( "role" )
|
||||
.removeAttr( "aria-haspopup" )
|
||||
.children().each( function() {
|
||||
var elem = $( this );
|
||||
if ( elem.data( "ui-menu-submenu-carat" ) ) {
|
||||
elem.remove();
|
||||
}
|
||||
});
|
||||
|
||||
// Destroy menu dividers
|
||||
this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
|
||||
@ -234,8 +235,8 @@ $.widget( "ui.menu", {
|
||||
}
|
||||
|
||||
regex = new RegExp( "^" + escape( character ), "i" );
|
||||
match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
|
||||
return regex.test( $( this ).children( "a" ).text() );
|
||||
match = this.activeMenu.find( this.options.items ).filter(function() {
|
||||
return regex.test( $( this ).text() );
|
||||
});
|
||||
match = skip && match.index( this.active.next() ) !== -1 ?
|
||||
this.active.nextAll( ".ui-menu-item" ) :
|
||||
@ -246,8 +247,8 @@ $.widget( "ui.menu", {
|
||||
if ( !match.length ) {
|
||||
character = String.fromCharCode( event.keyCode );
|
||||
regex = new RegExp( "^" + escape( character ), "i" );
|
||||
match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
|
||||
return regex.test( $( this ).children( "a" ).text() );
|
||||
match = this.activeMenu.find( this.options.items ).filter(function() {
|
||||
return regex.test( $( this ).text() );
|
||||
});
|
||||
}
|
||||
|
||||
@ -273,7 +274,7 @@ $.widget( "ui.menu", {
|
||||
|
||||
_activate: function( event ) {
|
||||
if ( !this.active.is( ".ui-state-disabled" ) ) {
|
||||
if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
|
||||
if ( this.active.is( "[aria-haspopup='true']" ) ) {
|
||||
this.expand( event );
|
||||
} else {
|
||||
this.select( event );
|
||||
@ -283,6 +284,7 @@ $.widget( "ui.menu", {
|
||||
|
||||
refresh: function() {
|
||||
var menus,
|
||||
items,
|
||||
icon = this.options.icons.submenu,
|
||||
submenus = this.element.find( this.options.menus );
|
||||
|
||||
@ -299,7 +301,7 @@ $.widget( "ui.menu", {
|
||||
})
|
||||
.each(function() {
|
||||
var menu = $( this ),
|
||||
item = menu.prev( "a" ),
|
||||
item = menu.parent(),
|
||||
submenuCarat = $( "<span>" )
|
||||
.addClass( "ui-menu-icon ui-icon " + icon )
|
||||
.data( "ui-menu-submenu-carat", true );
|
||||
@ -311,21 +313,10 @@ $.widget( "ui.menu", {
|
||||
});
|
||||
|
||||
menus = submenus.add( this.element );
|
||||
items = menus.find( this.options.items );
|
||||
|
||||
// Don't refresh list items that are already adapted
|
||||
menus.children( ":not(.ui-menu-item):has(a)" )
|
||||
.addClass( "ui-menu-item" )
|
||||
.attr( "role", "presentation" )
|
||||
.children( "a" )
|
||||
.uniqueId()
|
||||
.addClass( "ui-corner-all" )
|
||||
.attr({
|
||||
tabIndex: -1,
|
||||
role: this._itemRole()
|
||||
});
|
||||
|
||||
// Initialize unlinked menu-items containing spaces and/or dashes only as dividers
|
||||
menus.children( ":not(.ui-menu-item)" ).each(function() {
|
||||
// Initialize menu-items containing spaces and/or dashes only as dividers
|
||||
items.not( ".ui-menu-item" ).each(function() {
|
||||
var item = $( this );
|
||||
// hyphen, em dash, en dash
|
||||
if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) {
|
||||
@ -333,8 +324,18 @@ $.widget( "ui.menu", {
|
||||
}
|
||||
});
|
||||
|
||||
// Don't refresh list items that are already adapted
|
||||
items.not( ".ui-menu-item, .ui-menu-divider" )
|
||||
.addClass( "ui-menu-item" )
|
||||
.uniqueId()
|
||||
.addClass( "ui-corner-all" )
|
||||
.attr({
|
||||
tabIndex: -1,
|
||||
role: this._itemRole()
|
||||
});
|
||||
|
||||
// Add aria-disabled attribute to any disabled menu item
|
||||
menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
|
||||
items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
|
||||
|
||||
// If the active item has been removed, blur the menu
|
||||
if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
|
||||
@ -370,7 +371,7 @@ $.widget( "ui.menu", {
|
||||
this._scrollIntoView( item );
|
||||
|
||||
this.active = item.first();
|
||||
focused = this.active.children( "a" ).addClass( "ui-state-focus" );
|
||||
focused = this.active.addClass( "ui-state-focus" );
|
||||
// Only update aria-activedescendant if there's a role
|
||||
// otherwise we assume focus is managed elsewhere
|
||||
if ( this.options.role ) {
|
||||
@ -381,7 +382,6 @@ $.widget( "ui.menu", {
|
||||
this.active
|
||||
.parent()
|
||||
.closest( ".ui-menu-item" )
|
||||
.children( "a:first" )
|
||||
.addClass( "ui-state-active" );
|
||||
|
||||
if ( event && event.type === "keydown" ) {
|
||||
@ -428,7 +428,7 @@ $.widget( "ui.menu", {
|
||||
return;
|
||||
}
|
||||
|
||||
this.active.children( "a" ).removeClass( "ui-state-focus" );
|
||||
this.active.removeClass( "ui-state-focus" );
|
||||
this.active = null;
|
||||
|
||||
this._trigger( "blur", event, { item: this.active } );
|
||||
@ -498,7 +498,7 @@ $.widget( "ui.menu", {
|
||||
.attr( "aria-hidden", "true" )
|
||||
.attr( "aria-expanded", "false" )
|
||||
.end()
|
||||
.find( "a.ui-state-active" )
|
||||
.find( ".ui-state-active" )
|
||||
.removeClass( "ui-state-active" );
|
||||
},
|
||||
|
||||
@ -519,7 +519,7 @@ $.widget( "ui.menu", {
|
||||
var newItem = this.active &&
|
||||
this.active
|
||||
.children( ".ui-menu " )
|
||||
.children( ".ui-menu-item" )
|
||||
.find( this.options.items )
|
||||
.first();
|
||||
|
||||
if ( newItem && newItem.length ) {
|
||||
@ -562,7 +562,7 @@ $.widget( "ui.menu", {
|
||||
}
|
||||
}
|
||||
if ( !next || !next.length || !this.active ) {
|
||||
next = this.activeMenu.children( ".ui-menu-item" )[ filter ]();
|
||||
next = this.activeMenu.find( this.options.items )[ filter ]();
|
||||
}
|
||||
|
||||
this.focus( event, next );
|
||||
@ -588,7 +588,7 @@ $.widget( "ui.menu", {
|
||||
|
||||
this.focus( event, item );
|
||||
} else {
|
||||
this.focus( event, this.activeMenu.children( ".ui-menu-item" )
|
||||
this.focus( event, this.activeMenu.find( this.options.items )
|
||||
[ !this.active ? "first" : "last" ]() );
|
||||
}
|
||||
},
|
||||
@ -612,7 +612,7 @@ $.widget( "ui.menu", {
|
||||
|
||||
this.focus( event, item );
|
||||
} else {
|
||||
this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() );
|
||||
this.focus( event, this.activeMenu.find( this.options.items ).first() );
|
||||
}
|
||||
},
|
||||
|
||||
|
8
ui/jquery.ui.spinner.js
vendored
8
ui/jquery.ui.spinner.js
vendored
@ -55,8 +55,12 @@ $.widget( "ui.spinner", {
|
||||
this._setOption( "min", this.options.min );
|
||||
this._setOption( "step", this.options.step );
|
||||
|
||||
// format the value, but don't constrain
|
||||
this._value( this.element.val(), true );
|
||||
// Only format if there is a value, prevents the field from being marked
|
||||
// as invalid in Firefox, see #9573.
|
||||
if ( this.value() !== "" ) {
|
||||
// Format the value, but don't constrain.
|
||||
this._value( this.element.val(), true );
|
||||
}
|
||||
|
||||
this._draw();
|
||||
this._on( this._events );
|
||||
|
2
ui/jquery.ui.tabs.js
vendored
2
ui/jquery.ui.tabs.js
vendored
@ -441,7 +441,7 @@ $.widget( "ui.tabs", {
|
||||
|
||||
// allow overriding how to find the list for rare usage scenarios (#7715)
|
||||
_getList: function() {
|
||||
return this.element.find( "ol,ul" ).eq( 0 );
|
||||
return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
|
||||
},
|
||||
|
||||
_createPanel: function( id ) {
|
||||
|
Loading…
Reference in New Issue
Block a user