123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>The source code</title>
- <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
- <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
- <style type="text/css">
- .highlight { display: block; background-color: #ddd; }
- </style>
- <script type="text/javascript">
- function highlight() {
- document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
- }
- </script>
- </head>
- <body onload="prettyPrint(); highlight();">
- <pre class="prettyprint lang-js"><span id='Ext-tip-QuickTipManager'>/**
- </span> * Provides attractive and customizable tooltips for any element. The QuickTips
- * singleton is used to configure and manage tooltips globally for multiple elements
- * in a generic manner. To create individual tooltips with maximum customizability,
- * you should consider either {@link Ext.tip.Tip} or {@link Ext.tip.ToolTip}.
- *
- * Quicktips can be configured via tag attributes directly in markup, or by
- * registering quick tips programmatically via the {@link #register} method.
- *
- * The singleton's instance of {@link Ext.tip.QuickTip} is available via
- * {@link #getQuickTip}, and supports all the methods, and all the all the
- * configuration properties of Ext.tip.QuickTip. These settings will apply to all
- * tooltips shown by the singleton.
- *
- * Below is the summary of the configuration properties which can be used.
- * For detailed descriptions see the config options for the
- * {@link Ext.tip.QuickTip QuickTip} class
- *
- * ## QuickTips singleton configs (all are optional)
- *
- * - `dismissDelay`
- * - `hideDelay`
- * - `maxWidth`
- * - `minWidth`
- * - `showDelay`
- * - `trackMouse`
- *
- * ## Target element configs (optional unless otherwise noted)
- *
- * - `autoHide`
- * - `cls`
- * - `dismissDelay` (overrides singleton value)
- * - `target` (required)
- * - `text` (required)
- * - `title`
- * - `width`
- *
- * Here is an example showing how some of these config options could be used:
- *
- * @example
- * // Init the singleton. Any tag-based quick tips will start working.
- * Ext.tip.QuickTipManager.init();
- *
- * // Apply a set of config properties to the singleton
- * Ext.apply(Ext.tip.QuickTipManager.getQuickTip(), {
- * maxWidth: 200,
- * minWidth: 100,
- * showDelay: 50 // Show 50ms after entering target
- * });
- *
- * // Create a small panel to add a quick tip to
- * Ext.create('Ext.container.Container', {
- * id: 'quickTipContainer',
- * width: 200,
- * height: 150,
- * style: {
- * backgroundColor:'#000000'
- * },
- * renderTo: Ext.getBody()
- * });
- *
- *
- * // Manually register a quick tip for a specific element
- * Ext.tip.QuickTipManager.register({
- * target: 'quickTipContainer',
- * title: 'My Tooltip',
- * text: 'This tooltip was added in code',
- * width: 100,
- * dismissDelay: 10000 // Hide after 10 seconds hover
- * });
- *
- * To register a quick tip in markup, you simply add one or more of the valid QuickTip
- * attributes prefixed with the **data-** namespace. The HTML element itself is
- * automatically set as the quick tip target. Here is the summary of supported attributes
- * (optional unless otherwise noted):
- *
- * - `hide`: Specifying "user" is equivalent to setting autoHide = false.
- * Any other value will be the same as autoHide = true.
- * - `qclass`: A CSS class to be applied to the quick tip
- * (equivalent to the 'cls' target element config).
- * - `qtip (required)`: The quick tip text (equivalent to the 'text' target element config).
- * - `qtitle`: The quick tip title (equivalent to the 'title' target element config).
- * - `qwidth`: The quick tip width (equivalent to the 'width' target element config).
- *
- * Here is an example of configuring an HTML element to display a tooltip from markup:
- *
- * // Add a quick tip to an HTML button
- * <input type="button" value="OK" data-qtitle="OK Button" data-qwidth="100"
- * data-qtip="This is a quick tip from markup!"></input>
- *
- * @singleton
- */
- Ext.define('Ext.tip.QuickTipManager', (function() {
- var tip,
- disabled = false;
- return {
- requires: ['Ext.tip.QuickTip'],
- singleton: true,
- alternateClassName: 'Ext.QuickTips',
- <span id='Ext-tip-QuickTipManager-method-init'> /**
- </span> * Initializes the global QuickTips instance and prepare any quick tips.
- * @param {Boolean} [autoRender=true] True to render the QuickTips container
- * immediately to preload images.
- * @param {Object} [config] config object for the created QuickTip. By
- * default, the {@link Ext.tip.QuickTip QuickTip} class is instantiated, but this can
- * be changed by supplying an xtype property or a className property in this object.
- * All other properties on this object are configuration for the created component.
- */
- init : function (autoRender, config) {
- if (!tip) {
- if (!Ext.isReady) {
- Ext.onReady(function(){
- Ext.tip.QuickTipManager.init(autoRender, config);
- });
- return;
- }
- var tipConfig = Ext.apply({ disabled: disabled, id: 'ext-quicktips-tip' }, config),
- className = tipConfig.className,
- xtype = tipConfig.xtype;
- if (className) {
- delete tipConfig.className;
- } else if (xtype) {
- className = 'widget.' + xtype;
- delete tipConfig.xtype;
- }
- if (autoRender !== false) {
- tipConfig.renderTo = document.body;
- //<debug>
- if (tipConfig.renderTo.tagName.toUpperCase() != 'BODY') { // e.g., == 'FRAMESET'
- Ext.Error.raise({
- sourceClass: 'Ext.tip.QuickTipManager',
- sourceMethod: 'init',
- msg: 'Cannot init QuickTipManager: no document body'
- });
- }
- //</debug>
- }
- tip = Ext.create(className || 'Ext.tip.QuickTip', tipConfig);
- }
- },
- <span id='Ext-tip-QuickTipManager-method-destroy'> /**
- </span> * Destroys the QuickTips instance.
- */
- destroy: function() {
- if (tip) {
- var undef;
- tip.destroy();
- tip = undef;
- }
- },
- // Protected method called by the dd classes
- ddDisable : function(){
- // don't disable it if we don't need to
- if(tip && !disabled){
- tip.disable();
- }
- },
- // Protected method called by the dd classes
- ddEnable : function(){
- // only enable it if it hasn't been disabled
- if(tip && !disabled){
- tip.enable();
- }
- },
- <span id='Ext-tip-QuickTipManager-method-enable'> /**
- </span> * Enables quick tips globally.
- */
- enable : function(){
- if(tip){
- tip.enable();
- }
- disabled = false;
- },
- <span id='Ext-tip-QuickTipManager-method-disable'> /**
- </span> * Disables quick tips globally.
- */
- disable : function(){
- if(tip){
- tip.disable();
- }
- disabled = true;
- },
- <span id='Ext-tip-QuickTipManager-method-isEnabled'> /**
- </span> * Returns true if quick tips are enabled, else false.
- * @return {Boolean}
- */
- isEnabled : function(){
- return tip !== undefined && !tip.disabled;
- },
- <span id='Ext-tip-QuickTipManager-method-getQuickTip'> /**
- </span> * Gets the single {@link Ext.tip.QuickTip QuickTip} instance used to show tips
- * from all registered elements.
- * @return {Ext.tip.QuickTip}
- */
- getQuickTip : function(){
- return tip;
- },
- <span id='Ext-tip-QuickTipManager-method-register'> /**
- </span> * Configures a new quick tip instance and assigns it to a target element. See
- * {@link Ext.tip.QuickTip#register} for details.
- * @param {Object} config The config object
- */
- register : function(){
- tip.register.apply(tip, arguments);
- },
- <span id='Ext-tip-QuickTipManager-method-unregister'> /**
- </span> * Removes any registered quick tip from the target element and destroys it.
- * @param {String/HTMLElement/Ext.Element} el The element from which the quick tip
- * is to be removed or ID of the element.
- */
- unregister : function(){
- tip.unregister.apply(tip, arguments);
- },
- <span id='Ext-tip-QuickTipManager-method-tips'> /**
- </span> * Alias of {@link #register}.
- * @inheritdoc Ext.tip.QuickTipManager#register
- */
- tips : function(){
- tip.register.apply(tip, arguments);
- }
- };
- }()));</pre>
- </body>
- </html>
|