X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/src/layout/container/Anchor.js diff --git a/src/layout/container/Anchor.js b/src/layout/container/Anchor.js index b162de67..565d6993 100644 --- a/src/layout/container/Anchor.js +++ b/src/layout/container/Anchor.js @@ -18,43 +18,45 @@ If you are unsure which license is appropriate for your use, please contact the * * This is a layout that enables anchoring of contained elements relative to the container's dimensions. * If the container is resized, all anchored items are automatically rerendered according to their - * {@link #anchor} rules. + * `{@link #anchor}` rules. * - * This class is intended to be extended or created via the layout: 'anchor' {@link Ext.layout.container.AbstractContainer#layout} - * config, and should generally not need to be created directly via the new keyword.

+ * This class is intended to be extended or created via the {@link Ext.container.AbstractContainer#layout layout}: 'anchor' + * config, and should generally not need to be created directly via the new keyword. * * AnchorLayout does not have any direct config options (other than inherited ones). By default, * AnchorLayout will calculate anchor measurements based on the size of the container itself. However, the - * container using the AnchorLayout can supply an anchoring-specific config property of anchorSize. + * container using the AnchorLayout can supply an anchoring-specific config property of `anchorSize`. + * * If anchorSize is specifed, the layout will use it as a virtual container for the purposes of calculating * anchor measurements based on it instead, allowing the container to be sized independently of the anchoring * logic if necessary. * - * {@img Ext.layout.container.Anchor/Ext.layout.container.Anchor.png Ext.layout.container.Anchor container layout} - * - * For example: + * @example * Ext.create('Ext.Panel', { * width: 500, * height: 400, * title: "AnchorLayout Panel", * layout: 'anchor', * renderTo: Ext.getBody(), - * items: [{ - * xtype: 'panel', - * title: '75% Width and 20% Height', - * anchor: '75% 20%' - * },{ - * xtype: 'panel', - * title: 'Offset -300 Width & -200 Height', - * anchor: '-300 -200' - * },{ - * xtype: 'panel', - * title: 'Mixed Offset and Percent', - * anchor: '-250 20%' - * }] + * items: [ + * { + * xtype: 'panel', + * title: '75% Width and 20% Height', + * anchor: '75% 20%' + * }, + * { + * xtype: 'panel', + * title: 'Offset -300 Width & -200 Height', + * anchor: '-300 -200' + * }, + * { + * xtype: 'panel', + * title: 'Mixed Offset and Percent', + * anchor: '-250 20%' + * } + * ] * }); */ - Ext.define('Ext.layout.container.Anchor', { /* Begin Definitions */ @@ -67,52 +69,51 @@ Ext.define('Ext.layout.container.Anchor', { /** * @cfg {String} anchor - *

This configuation option is to be applied to child items of a container managed by - * this layout (ie. configured with layout:'anchor').


* - *

This value is what tells the layout how an item should be anchored to the container. items - * added to an AnchorLayout accept an anchoring-specific config property of anchor which is a string + * This configuation option is to be applied to **child `items`** of a container managed by + * this layout (ie. configured with `layout:'anchor'`). + * + * This value is what tells the layout how an item should be anchored to the container. `items` + * added to an AnchorLayout accept an anchoring-specific config property of **anchor** which is a string * containing two values: the horizontal anchor value and the vertical anchor value (for example, '100% 50%'). - * The following types of anchor values are supported:

+ * // two values specified + * anchor: '-50 -100' // render item the complete width of the container + * // minus 50 pixels and + * // the complete height minus 100 pixels. + * // one value specified + * anchor: '-50' // anchor value is assumed to be the right offset value + * // bottom offset will default to 0 + * + * - **Sides** : Valid values are `right` (or `r`) and `bottom` (or `b`). + * + * Either the container must have a fixed size or an anchorSize config value defined at render time in + * order for these to have any effect. + * + * - **Mixed** : + * + * Anchor values can also be mixed as needed. For example, to render the width offset from the container + * right edge by 50 pixels and 75% of the container's height use: + * + * anchor: '-50 75%' */ - type: 'anchor', /** @@ -156,7 +157,7 @@ anchor: '-50 75%' // Work around WebKit RightMargin bug. We're going to inline-block all the children only ONCE and remove it when we're done if (!Ext.supports.RightMargin) { - cleaner = Ext.core.Element.getRightMarginFixCleaner(target); + cleaner = Ext.Element.getRightMarginFixCleaner(target); target.addCls(Ext.baseCSSPrefix + 'inline-children'); }