Permalink
Browse files

Merge branch 'tooltip' into devpreview

  • Loading branch information...
2 parents 008def0 + 99900d5 commit e0611ded8a60a8daab242cdf7862b3af4628e0fb @jzaefferer jzaefferer committed May 5, 2010
@@ -10,6 +10,7 @@
<script type="text/javascript" src="../../ui/jquery.ui.button.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.tooltip.js"></script>
<link type="text/css" href="../demos.css" rel="stylesheet" />
<style type="text/css">
/* TODO shouldn't be necessary */
@@ -41,8 +42,12 @@
delay: 0,
change: function(event, ui) {
if (!ui.item) {
- // remove invalid value, as it didn't match anything
- $(this).val("");
+ var value = this.value;
+ // remove invalid value, as it didn't match anything, and display a hint
+ $(this).val("").attr("title", value + " didn't match any item").tooltip("open");
+ setTimeout(function() {
+ input.tooltip("close").attr("title", "");
+ }, 2500);
return false;
}
select.val(ui.item.id);
@@ -54,7 +59,7 @@
minLength: 0
})
.addClass("ui-widget ui-widget-content ui-corner-left");
- $("<button>&nbsp;</button>")
+ var button = $("<button>&nbsp;</button>")
.attr("tabIndex", -1)
.attr("title", "Show All Items")
.insertAfter(input)
@@ -75,6 +80,13 @@
input.autocomplete("search", "");
input.focus();
});
+
+ input.tooltip({
+ position: {
+ offset: (button.width() + 5) + " 0"
+ },
+ tooltipClass: "ui-state-highlight"
+ });
}
});
@@ -49,7 +49,7 @@
<div class="demo-description">
-<p>An example of a split button built with two buttons: A plan button with just text, one with only a primary icon
+<p>An example of a split button built with two buttons: A plain button with just text, one with only a primary icon
and no text. Both are grouped together in a set.</p>
</div><!-- End demo-description -->
View
@@ -25,6 +25,7 @@
<script type="text/javascript" src="../ui/jquery.ui.slider.js"></script>
<script type="text/javascript" src="../ui/jquery.ui.sortable.js"></script>
<script type="text/javascript" src="../ui/jquery.ui.tabs.js"></script>
+ <script type="text/javascript" src="../ui/jquery.ui.tooltip.js"></script>
<script type="text/javascript" src="../ui/jquery.effects.core.js"></script>
<script type="text/javascript" src="../ui/jquery.effects.blind.js"></script>
<script type="text/javascript" src="../ui/jquery.effects.bounce.js"></script>
@@ -268,6 +269,7 @@
<dd><a href="progressbar/index.html">Progressbar</a></dd>
<dd><a href="slider/index.html">Slider</a></dd>
<dd><a href="tabs/index.html">Tabs</a></dd>
+ <dd><a href="tooltip/index.html">Tooltip</a></dd>
<dt>Effects</dt>
<dd><a href="animate/index.html">Color Animation</a></dd>
<dd><a href="toggleClass/index.html">Toggle Class</a></dd>
@@ -0,0 +1,48 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Tooltip - Default demo</title>
+ <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.tooltip.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("a, input").tooltip();
+ });
+ </script>
+ <style>
+ label { display: inline-block; width: 5em; }
+ </style>
+</head>
+<body>
+
+<div class="demo">
+
+ <p><a href="#" title="That's what this widget is">Tooltips</a> can be attached to any element. When you hover
+ the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
+ </p>
+ <p>But as it's not a native tooltip, it can be styled. Any themes built with
+ <a href="http://themeroller.com" title="ThemeRoller, jQuery UI's theme builder application">ThemeRoller</a>
+ will also style tooltip's accordingly.</p>
+ <p>Tooltip's are also useful for form elements, to show some additional information in the context of each field.</p>
+ <p><label for="age">Your age:</label><input id="age" title="We ask for your age only for statistical purposes." /></p>
+ <p>Click the field to see the tooltip; when you tab out of the field, it gets hidden.</p>
+
+</div><!-- End demo -->
+
+
+
+<div class="demo-description">
+
+<p>Hover the links above or use the tab key to cycle the focus on each element.</p>
+
+</div><!-- End demo-description -->
+
+
+
+</body>
+</html>
@@ -0,0 +1,71 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Tooltip - Default demo</title>
+ <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.tooltip.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.button.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("[title]").tooltip();
+ $("<button/>").text("Show help").button().toggle(function() {
+ $(":ui-tooltip").tooltip("open");
+ }, function() {
+ $(":ui-tooltip").tooltip("close");
+ }).appendTo("form");
+ });
+ </script>
+ <style>
+ label { display: inline-block; width: 5em; }
+ .ui-icon { display: inline-block; }
+ fieldset div {
+ margin-bottom: 2em;
+ }
+ .ui-tooltip { width: 210px; }
+ </style>
+</head>
+<body>
+
+<div class="demo">
+
+ <form>
+ <fieldset>
+ <div>
+ <label for="firstname">Firstname</label>
+ <input id="firstname" name="firstname" />
+ <span title="Please provide your firstname." class="ui-state-default ui-corner-all ui-icon ui-icon-help">?</span>
+ </div>
+ <div>
+ <label for="lastname">Lastname</label>
+ <input id="lastname" name="lastname" />
+ <span title="Please provide also your lastname." class="ui-state-default ui-corner-all ui-icon ui-icon-help">?</span>
+ </div>
+ <div>
+ <label for="address">Address</label>
+ <input id="address" name="address" />
+ <span title="Your home or work address." class="ui-state-default ui-corner-all ui-icon ui-icon-help">?</span>
+ </div>
+ </fieldset>
+ </form>
+
+</div><!-- End demo -->
+
+
+
+<div class="demo-description">
+
+<p>Hover the questionmark-buttons or use the button below to display the help texts all at once. Click again to hide them.</p>
+
+<p>A fixed width is defined in CSS to make the tooltips look consistent when displayed all at once.</p>
+
+</div><!-- End demo-description -->
+
+
+
+</body>
+</html>
@@ -0,0 +1,19 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Tooltip Demos</title>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+</head>
+<body>
+
+<div class="demos-nav">
+ <h4>Examples</h4>
+ <ul>
+ <li class="demo-config-on"><a href="default.html">Default functionality</a></li>
+ <li><a href="forms.html">Forms with tooltips</a></li>
+ <li><a href="tracking.html">Track the mouse</a></li>
+ </ul>
+</div>
+
+</body>
+</html>
@@ -0,0 +1,65 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Tooltip - Default demo</title>
+ <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.tooltip.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("a, input").tooltip({
+ open: function() {
+ var tooltip = $(this).tooltip("widget");
+ $(document).mousemove(function(event) {
+ tooltip.position({
+ my: "left center",
+ at: "right center",
+ offset: "25 25",
+ of: event
+ });
+ })
+ // trigger once to override element-relative positioning
+ .mousemove();
+ },
+ close: function() {
+ $(document).unbind("mousemove");
+ }
+ });
+ });
+ </script>
+ <style>
+ label { display: inline-block; width: 5em; }
+ </style>
+</head>
+<body>
+
+<div class="demo">
+
+ <p><a href="#" title="That's what this widget is">Tooltips</a> can be attached to any element. When you hover
+ the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
+ </p>
+ <p>But as it's not a native tooltip, it can be styled. Any themes built with
+ <a href="http://themeroller.com" title="ThemeRoller, jQuery UI's theme builder application">ThemeRoller</a>
+ will also style tooltip's accordingly.</p>
+ <p>Tooltip's are also useful for form elements, to show some additional information in the context of each field.</p>
+ <p><label for="age">Your age:</label><input id="age" title="We ask for your age only for statistical purposes." /></p>
+ <p>Click the field to see the tooltip; when you tab out of the field, it gets hidden.</p>
+
+</div><!-- End demo -->
+
+
+
+<div class="demo-description">
+
+<p>Here the tooltips are positioned relative to the mouse, and follow the mouse while it moves above the element.</p>
+
+</div><!-- End demo-description -->
+
+
+
+</body>
+</html>
View
@@ -19,27 +19,6 @@
}
</style>
- <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.accordion.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.button.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.datepicker.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.dialog.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.droppable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.progressbar.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.resizable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.selectable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.slider.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.sortable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
-
- <script type="text/javascript" src="../../external/jquery.cookie.js"></script>
- <script type="text/javascript" src="../jquery.simulate.js"></script>
-
</head>
<body>
@@ -69,6 +48,7 @@ <h1 id="qunit-header">jQuery UI Unit Tests</h1>
<li><a href="progressbar/progressbar.html">Progressbar</a></li>
<li><a href="slider/slider.html">Slider</a></li>
<li><a href="tabs/tabs.html">Tabs</a></li>
+ <li><a href="tooltip/tooltip.html">Tooltip</a></li>
</ul>
<h2>Utilities</h2>
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>jQuery UI Tooltip Test Suite</title>
+
+ <link type="text/css" href="../../../themes/base/jquery.ui.tooltip.css" rel="stylesheet" />
+
+ <script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../../ui/jquery.ui.tooltip.js"></script>
+
+ <link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
+ <script type="text/javascript" src="../../../external/qunit.js"></script>
+ <script type="text/javascript" src="../../jquery.simulate.js"></script>
+ <script type="text/javascript" src="../testsuite.js"></script>
+
+ <script type="text/javascript" src="tooltip_core.js"></script>
+ <script type="text/javascript" src="tooltip_defaults.js"></script>
+ <script type="text/javascript" src="tooltip_events.js"></script>
+ <script type="text/javascript" src="tooltip_methods.js"></script>
+ <script type="text/javascript" src="tooltip_options.js"></script>
+ <script type="text/javascript" src="tooltip_tickets.js"></script>
+
+</head>
+<body>
+
+<h1 id="qunit-header">jQuery UI Tooltip Test Suite</h1>
+<h2 id="qunit-banner"></h2>
+<h2 id="qunit-userAgent"></h2>
+<ol id="qunit-tests">
+</ol>
+
+<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
+ <div>
+ <a id="tooltipped1" href="#" title="anchortitle">anchor</a>
+ <input title="inputtitle" />
+ </div>
+</div>
+
+</body>
+</html>
@@ -0,0 +1,11 @@
+/*
+ * tooltip_core.js
+ */
+
+
+(function($) {
+
+module("tooltip: core");
+
+
+})(jQuery);
@@ -0,0 +1,16 @@
+/*
+ * tooltip_defaults.js
+ */
+
+var tooltip_defaults = {
+ disabled: false,
+ content: $.ui.tooltip.prototype.options.content,
+ tooltipClass: "ui-widget-content",
+ position: {
+ my: "left center",
+ at: "right center",
+ offset: "15 0"
+ }
+};
+
+commonWidgetTests('tooltip', { defaults: tooltip_defaults });
Oops, something went wrong.

0 comments on commit e0611de

Please sign in to comment.