Permalink
Browse files

Core: Move labels into its own module

Ref #9647
  • Loading branch information...
1 parent bddb7ef commit 2c92f1074718ee23081765da0b86a8e3fe906874 @arschmitz arschmitz committed Jul 15, 2015
Showing with 70 additions and 39 deletions.
  1. +2 −1 tests/unit/core/core.js
  2. +1 −1 ui/button.js
  3. +1 −36 ui/core.js
  4. +62 −0 ui/labels.js
  5. +4 −1 ui/selectmenu.js
View
@@ -2,7 +2,8 @@ define( [
"jquery",
"lib/common",
"ui/core",
- "ui/form"
+ "ui/form",
+ "ui/labels"
], function( $, common ) {
module( "core - jQuery extensions" );
View
@@ -22,9 +22,9 @@
// AMD. Register as an anonymous module.
define([
"jquery",
- "./core",
"./data",
"./keycode",
+ "./labels",
"./version",
"./widget"
], factory );
View
@@ -22,11 +22,11 @@
"jquery",
"./data",
"./disable-selection",
- "./escape-selector",
"./focusable",
"./form",
"./ie",
"./keycode",
+ "./labels",
"./version"
], factory );
} else {
@@ -113,41 +113,6 @@ $.fn.extend( {
$( this ).removeAttr( "id" );
}
} );
- },
-
- labels: function() {
- var ancestor, selector, id, labels, ancestors;
-
- // Check control.labels first
- if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
- return this.pushStack( this[ 0 ].labels );
- }
-
- // Support: IE <= 11, FF <= 37, Android <= 2.3 only
- // Above browsers do not support control.labels. Everything below is to support them
- // as well as document fragments. control.labels does not work on document fragments
- labels = this.eq( 0 ).parents( "label" );
-
- // Look for the label based on the id
- id = this.attr( "id" );
- if ( id ) {
-
- // We don't search against the document in case the element
- // is disconnected from the DOM
- ancestor = this.eq( 0 ).parents().last();
-
- // Get a full set of top level ancestors
- ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
-
- // Create a selector for the label based on the id
- selector = "label[for='" + $.ui.escapeSelector( id ) + "']";
-
- labels = labels.add( ancestors.find( selector ).addBack( selector ) );
-
- }
-
- // Return whatever we have found for labels
- return this.pushStack( labels );
}
} );
View
@@ -0,0 +1,62 @@
+/*!
+ * jQuery UI Labels @VERSION
+ * http://jqueryui.com
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
+ */
+
+//>>label: labels
+//>>group: Core
+//>>description: Find all the labels associated with a given input
+//>>docs: http://api.jqueryui.com/labels/
+
+( function( factory ) {
+ if ( typeof define === "function" && define.amd ) {
+
+ // AMD. Register as an anonymous module.
+ define( [ "jquery", "./version", "./escape-selector" ], factory );
+ } else {
+
+ // Browser globals
+ factory( jQuery );
+ }
+} ( function( $ ) {
+
+return $.fn.labels = function() {
+ var ancestor, selector, id, labels, ancestors;
+
+ // Check control.labels first
+ if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
+ return this.pushStack( this[ 0 ].labels );
+ }
+
+ // Support: IE <= 11, FF <= 37, Android <= 2.3 only
+ // Above browsers do not support control.labels. Everything below is to support them
+ // as well as document fragments. control.labels does not work on document fragments
+ labels = this.eq( 0 ).parents( "label" );
+
+ // Look for the label based on the id
+ id = this.attr( "id" );
+ if ( id ) {
+
+ // We don't search against the document in case the element
+ // is disconnected from the DOM
+ ancestor = this.eq( 0 ).parents().last();
+
+ // Get a full set of top level ancestors
+ ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
+
+ // Create a selector for the label based on the id
+ selector = "label[for='" + $.ui.escapeSelector( id ) + "']";
+
+ labels = labels.add( ancestors.find( selector ).addBack( selector ) );
+
+ }
+
+ // Return whatever we have found for labels
+ return this.pushStack( labels );
+};
+
+} ) );
View
@@ -26,9 +26,12 @@
"./version",
"./escape-selector",
"./menu",
+ "./keycode",
+ "./labels",
"./position",
"./version",
- "./widget" ], factory );
+ "./widget"
+ ], factory );
} else {
// Browser globals

0 comments on commit 2c92f10

Please sign in to comment.