123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <!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-Tip'>/**
- </span> * This is the base class for {@link Ext.tip.QuickTip} and {@link Ext.tip.ToolTip} that provides the basic layout and
- * positioning that all tip-based classes require. This class can be used directly for simple, statically-positioned
- * tips that are displayed programmatically, or it can be extended to provide custom tip implementations.
- * @xtype tip
- */
- Ext.define('Ext.tip.Tip', {
- extend: 'Ext.panel.Panel',
- alternateClassName: 'Ext.Tip',
- <span id='Ext-tip-Tip-cfg-closable'> /**
- </span> * @cfg {Boolean} [closable=false]
- * True to render a close tool button into the tooltip header.
- */
- <span id='Ext-tip-Tip-cfg-width'> /**
- </span> * @cfg {Number} width
- * Width in pixels of the tip. Width will be ignored if it
- * exceeds the bounds of {@link #minWidth} or {@link #maxWidth}. The maximum
- * supported value is 500.
- *
- * Defaults to auto.
- */
- <span id='Ext-tip-Tip-cfg-minWidth'> /**
- </span> * @cfg {Number} minWidth
- * The minimum width of the tip in pixels.
- */
- minWidth : 40,
- <span id='Ext-tip-Tip-cfg-maxWidth'> /**
- </span> * @cfg {Number} maxWidth
- * The maximum width of the tip in pixels. The maximum supported value is 500.
- */
- maxWidth : 300,
- <span id='Ext-tip-Tip-cfg-shadow'> /**
- </span> * @cfg {Boolean/String} shadow
- * True or "sides" for the default effect, "frame" for 4-way shadow, and "drop"
- * for bottom-right shadow.
- */
- shadow : "sides",
- <span id='Ext-tip-Tip-cfg-defaultAlign'> /**
- </span> * @cfg {String} defaultAlign
- * **Experimental**. The default {@link Ext.Element#alignTo} anchor position value
- * for this tip relative to its element of origin.
- */
- defaultAlign : "tl-bl?",
- <span id='Ext-tip-Tip-cfg-constrainPosition'> /**
- </span> * @cfg {Boolean} constrainPosition
- * If true, then the tooltip will be automatically constrained to stay within
- * the browser viewport.
- */
- constrainPosition : true,
- // private panel overrides
- autoRender: true,
- hidden: true,
- baseCls: Ext.baseCSSPrefix + 'tip',
- floating: {
- shadow: true,
- shim: true,
- constrain: true
- },
- focusOnToFront: false,
- <span id='Ext-tip-Tip-cfg-closeAction'> /**
- </span> * @cfg {String} closeAction
- * The action to take when the close header tool is clicked:
- *
- * - **{@link #method-destroy}** : {@link #method-remove remove} the window from the DOM and
- * {@link Ext.Component#method-destroy destroy} it and all descendant Components. The
- * window will **not** be available to be redisplayed via the {@link #method-show} method.
- *
- * - **{@link #method-hide}** : **Default.** {@link #method-hide} the window by setting visibility
- * to hidden and applying negative offsets. The window will be available to be
- * redisplayed via the {@link #method-show} method.
- *
- * **Note:** This behavior has changed! setting *does* affect the {@link #method-close} method
- * which will invoke the approriate closeAction.
- */
- closeAction: 'hide',
- ariaRole: 'tooltip',
- // Flag to Renderable to always look up the framing styles for this Component
- alwaysFramed: true,
- frameHeader: false,
- initComponent: function() {
- var me = this;
- me.floating = Ext.apply({}, {shadow: me.shadow}, me.self.prototype.floating);
- me.callParent(arguments);
- // Or in the deprecated config. Floating.doConstrain only constrains if the constrain property is truthy.
- me.constrain = me.constrain || me.constrainPosition;
- },
- <span id='Ext-tip-Tip-method-showAt'> /**
- </span> * Shows this tip at the specified XY position. Example usage:
- *
- * // Show the tip at x:50 and y:100
- * tip.showAt([50,100]);
- *
- * @param {Number[]} xy An array containing the x and y coordinates
- */
- showAt : function(xy){
- var me = this;
- this.callParent(arguments);
- // Show may have been vetoed.
- if (me.isVisible()) {
- me.setPagePosition(xy[0], xy[1]);
- if (me.constrainPosition || me.constrain) {
- me.doConstrain();
- }
- me.toFront(true);
- }
- },
- <span id='Ext-tip-Tip-method-showBy'> /**
- </span> * **Experimental**. Shows this tip at a position relative to another element using
- * a standard {@link Ext.Element#alignTo} anchor position value. Example usage:
- *
- * // Show the tip at the default position ('tl-br?')
- * tip.showBy('my-el');
- *
- * // Show the tip's top-left corner anchored to the element's top-right corner
- * tip.showBy('my-el', 'tl-tr');
- *
- * @param {String/HTMLElement/Ext.Element} el An HTMLElement, Ext.Element or string
- * id of the target element to align to.
- *
- * @param {String} [position] A valid {@link Ext.Element#alignTo} anchor position.
- *
- * Defaults to 'tl-br?' or {@link #defaultAlign} if specified.
- */
- showBy : function(el, pos) {
- this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign));
- },
- <span id='Ext-tip-Tip-method-initDraggable'> /**
- </span> * @private
- * Set Tip draggable using base Component's draggability
- */
- initDraggable : function(){
- var me = this;
- me.draggable = {
- el: me.getDragEl(),
- delegate: me.header.el,
- constrain: me,
- constrainTo: me.el.getScopeParent()
- };
- // Important: Bypass Panel's initDraggable. Call direct to Component's implementation.
- Ext.Component.prototype.initDraggable.call(me);
- },
- // Tip does not ghost. Drag is "live"
- ghost: undefined,
- unghost: undefined
- });
- </pre>
- </body>
- </html>
|