Merge pull request #3435 from bdukes/jquery.tipsy

Add jquery.tipsy
This commit is contained in:
Masahiro Wakame
2015-01-11 12:09:16 +09:00
2 changed files with 139 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="jquery.tipsy.d.ts"/>
// basic
$('#example-1').tipsy();
// code snippets from http://onehackoranother.com/projects/jquery/tipsy/
$('#foo').tipsy({gravity: 'n'}); // nw | n | ne | w | e | sw | s | se
$('#foo').tipsy({gravity: $.fn.tipsy.autoNS});
$('#example-fade').tipsy({fade: true});
$('#example-custom-attribute').tipsy({title: 'id'});
$('#example-callback').tipsy({title: function() { return this.getAttribute('original-title').toUpperCase(); } });
$('#example-fallback').tipsy({fallback: "Where's my tooltip yo'?" });
$('#example-html').tipsy({html: true });
$('#example-delay').tipsy({delayIn: 500, delayOut: 1000});
$(function() {
$('#focus-example [title]').tipsy({trigger: 'focus', gravity: 'w'});
});
function onclickExample1() { $("#manual-example a[rel=tipsy]").tipsy("show"); return false; }
function onclickExample2() { $("#manual-example a[rel=tipsy]").tipsy("hide"); return false; }
$('#manual-example a[rel=tipsy]').tipsy({trigger: 'manual'});
$('a.live-tipsy').tipsy({live: true});
+107
View File
@@ -0,0 +1,107 @@
// Type definitions for jQuery.tipsy
// Project: http://onehackoranother.com/projects/jquery/tipsy/
// Definitions by: Brian Dukes <https://github.com/bdukes/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../jquery/jquery.d.ts"/>
interface JQuery {
/**
* initialize tipsy plugin
*/
tipsy: JQueryTipsy.Tipsy;
}
declare module JQueryTipsy {
interface Options {
/**
* delay before showing tooltip (ms)
*
* default: 0
*/
delayIn?: number;
/**
* delay before hiding tooltip (ms)
*
* default: 0
*/
delayOut?: number;
/**
* fade tooltips in/out?
*
* default: false
*/
fade?: boolean;
/**
* fallback text to use when no tooltip text
*
* default: ''
*/
fallback?: string;
/**
* gravity
*
* default: 'n'
*/
gravity?: any; // string or () => string
/**
* is tooltip content HTML?
*
* default: false
*/
html?: boolean;
/**
* use live event support?
*
* default: false
*/
live?: boolean;
/**
* pixel offset of tooltip from element
*
* default: 0
*/
offset?: number;
/**
* opacity of tooltip
*
* default: 0.8
*/
opacity?: number;
/**
* attribute/callback containing tooltip text
*
* default: 'title'
*/
title?: any; // string or () => string
/**
* how tooltip is triggered - hover | focus | manual
*
* default: 'hover'
*/
trigger?: string;
}
interface Tipsy {
/**
* initialize tipsy plugin
*/
(options?: Options): JQuery;
/**
* determine gravity either to North or South automatically based on the element's location in the viewport
*/
autoNS: () => string;
/**
* determine gravity either to West or East automatically based on the element's location in the viewport
*/
autoWE: () => string;
/**
* determine gravity either to Southwest or Southeast automatically based on the element's location in the viewport
*/
autoSWSE: () => string;
/**
* determine gravity either to Northwest or Northeast automatically based on the element's location in the viewport
*/
autoNWNE: () => string;
}
}