Ext.data.JsonP.Ext_layout_component_field_HtmlEditor({"alternateClassNames":[],"aliases":{"layout":["htmleditor"]},"enum":null,"parentMixins":[],"tagname":"class","subclasses":[],"extends":"Ext.layout.component.field.FieldContainer","uses":[],"html":"
Hierarchy
Ext.BaseExt.layout.LayoutExt.layout.component.ComponentExt.layout.component.AutoExt.layout.component.field.FieldExt.layout.component.field.FieldContainerExt.layout.component.field.HtmlEditorFiles
NOTE This is a private utility class for internal use by the framework. Don't rely on its existence.
Layout class for Ext.form.field.HtmlEditor fields. Sizes textarea and iframe elements.
\nWhen publishing height of an auto Component, it is usually not written to the DOM.\nSetting this to true
overrides this behaviour.
Defaults to: false
When publishing width of an auto Component, it is usually not written to the DOM.\nSetting this to true
overrides this behaviour.
Defaults to: false
Defaults to: {readsWidth: 1, readsHeight: 1, setsWidth: 0, setsHeight: 0}
Used only during a layout run, this value indicates that a\nlayout has finished its calculations. This flag is set to true prior to the call to\ncalculate and should be set to false if this layout has more work to do.
\nError message displayed as content of an element with a given id elsewhere in the app
\nError message displayed as content of an element with a given id elsewhere in the app
\nCollection of named strategies for laying out and adjusting insets to accommodate error messages.\nAn appropriate one will be chosen based on the owner field's Ext.form.Labelable.msgTarget config.
\ntrue
in this class to identify an object as an instantiated Layout, or subclass thereof.
Defaults to: true
Collection of named strategies for laying out and adjusting labels to accommodate error messages.\nAn appropriate one will be chosen based on the owner field's Ext.form.Labelable.labelAlign config.
\nError displayed as QuickTip on hover of the field container
\nError displayed as QuickTip on hover of the field container
\nSame as left, only difference is text-align in CSS
\nSame as left, only difference is text-align in CSS
\nGet the reference to the current class from which this object was instantiated. Unlike statics,\nthis.self
is scope-dependent and it's meant to be used for dynamic inheritance. See statics\nfor a detailed comparison
Ext.define('My.Cat', {\n statics: {\n speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n },\n\n constructor: function() {\n alert(this.self.speciesName); // dependent on 'this'\n },\n\n clone: function() {\n return new this.self();\n }\n});\n\n\nExt.define('My.SnowLeopard', {\n extend: 'My.Cat',\n statics: {\n speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'\n }\n});\n\nvar cat = new My.Cat(); // alerts 'Cat'\nvar snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'\n
\nError displayed as icon (with QuickTip on hover) to right of the bodyEl
\nError displayed as icon (with QuickTip on hover) to right of the bodyEl
\nError displayed as title tip on hover of the field container
\nError displayed as title tip on hover of the field container
\nDefaults to: true
Overrides: Ext.layout.component.Auto.waitForOuterHeightInDom
Removes layout's itemCls and owning Container's itemCls.\nClears the managed dimensions flags
\nCalled before any calculation cycles to prepare for layout.
\n\nThis is a write phase and DOM reads should be strictly avoided when overridding\nthis method.
\nThe context item for the layout's owner\ncomponent.
\n\n\n\nOverrides: Ext.layout.component.field.FieldContainer.beginLayout
Called before any calculation cycles to reset DOM values and prepare for calculation.
\n\nThis is a write phase and DOM reads should be strictly avoided when overridding\nthis method.
\nThe context item for the layout's owner\ncomponent.
\n\n\n\nOverrides: Ext.layout.component.field.Field.beginLayoutCycle
Called to perform the calculations for this layout. This method will be called at\nleast once and may be called repeatedly if the done property is cleared\nbefore return to indicate that this layout is not yet done. The done property\nis always set to true
before entering this method.
This is a read phase and DOM writes should be strictly avoided in derived classes.\nInstead, DOM writes need to be written to Ext.layout.ContextItem objects to\n be flushed at the next opportunity.
\nThe context item for the layout's owner\ncomponent.
\nOverrides: Ext.layout.Layout.calculate
Overrides: Ext.layout.component.Auto.calculateOwnerHeightFromContentHeight
Call the original method that was previously overridden with override
\n\nExt.define('My.Cat', {\n constructor: function() {\n alert(\"I'm a cat!\");\n }\n});\n\nMy.Cat.override({\n constructor: function() {\n alert(\"I'm going to be a cat!\");\n\n this.callOverridden();\n\n alert(\"Meeeeoooowwww\");\n }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n // alerts \"I'm a cat!\"\n // alerts \"Meeeeoooowwww\"\n
\n This method has been deprecated
\nas of 4.1. Use callParent instead.
\n\nThe arguments, either an array or the arguments
object\nfrom the current method, for example: this.callOverridden(arguments)
Returns the result of calling the overridden method
\nCall the \"parent\" method of the current method. That is the method previously\noverridden by derivation or by an override (see Ext.define).
\n\n Ext.define('My.Base', {\n constructor: function (x) {\n this.x = x;\n },\n\n statics: {\n method: function (x) {\n return x;\n }\n }\n });\n\n Ext.define('My.Derived', {\n extend: 'My.Base',\n\n constructor: function () {\n this.callParent([21]);\n }\n });\n\n var obj = new My.Derived();\n\n alert(obj.x); // alerts 21\n
\n\nThis can be used with an override as follows:
\n\n Ext.define('My.DerivedOverride', {\n override: 'My.Derived',\n\n constructor: function (x) {\n this.callParent([x*2]); // calls original My.Derived constructor\n }\n });\n\n var obj = new My.Derived();\n\n alert(obj.x); // now alerts 42\n
\n\nThis also works with static methods.
\n\n Ext.define('My.Derived2', {\n extend: 'My.Base',\n\n statics: {\n method: function (x) {\n return this.callParent([x*2]); // calls My.Base.method\n }\n }\n });\n\n alert(My.Base.method(10); // alerts 10\n alert(My.Derived2.method(10); // alerts 20\n
\n\nLastly, it also works with overridden static methods.
\n\n Ext.define('My.Derived2Override', {\n override: 'My.Derived2',\n\n statics: {\n method: function (x) {\n return this.callParent([x*2]); // calls My.Derived2.method\n }\n }\n });\n\n alert(My.Derived2.method(10); // now alerts 40\n
\n\nTo override a method and replace it and also call the superclass method, use\ncallSuper. This is often done to patch a method to fix a bug.
\nThe arguments, either an array or the arguments
object\nfrom the current method, for example: this.callParent(arguments)
Returns the result of calling the parent method
\nThis method is used by an override to call the superclass method but bypass any\noverridden method. This is often done to \"patch\" a method that contains a bug\nbut for whatever reason cannot be fixed directly.
\n\nConsider:
\n\n Ext.define('Ext.some.Class', {\n method: function () {\n console.log('Good');\n }\n });\n\n Ext.define('Ext.some.DerivedClass', {\n method: function () {\n console.log('Bad');\n\n // ... logic but with a bug ...\n\n this.callParent();\n }\n });\n
\n\nTo patch the bug in DerivedClass.method
, the typical solution is to create an\noverride:
Ext.define('App.paches.DerivedClass', {\n override: 'Ext.some.DerivedClass',\n\n method: function () {\n console.log('Fixed');\n\n // ... logic but with bug fixed ...\n\n this.callSuper();\n }\n });\n
\n\nThe patch method cannot use callParent
to call the superclass method
since\nthat would call the overridden method containing the bug. In other words, the\nabove patch would only produce \"Fixed\" then \"Good\" in the console log, whereas,\nusing callParent
would produce \"Fixed\" then \"Bad\" then \"Good\".
The arguments, either an array or the arguments
object\nfrom the current method, for example: this.callSuper(arguments)
Returns the result of calling the superclass method
\nThis method (if implemented) is called at the end of the cycle in which this layout\ncompletes (by not setting done to false
in calculate). It is\npossible for the layout to complete and yet become invalid before the end of the cycle,\nin which case, this method will not be called. It is also possible for this method to\nbe called and then later the layout becomes invalidated. This will result in\ncalculate being called again, followed by another call to this method.
This is a read phase and DOM writes should be strictly avoided in derived classes.\nInstead, DOM writes need to be written to Ext.layout.ContextItem objects to\nbe flushed at the next opportunity.
\n\nThis method need not be implemented by derived classes and, in fact, should only be\nimplemented when needed.
\nThe context item for the layout's owner\ncomponent.
\nCalled before an item is rendered to allow the layout to configure the item.
\nThe item to be configured
\nDestroys this layout. This method removes a targetCls
from the target
\nelement and calls onDestroy
.
A derived class can override either this method or onDestroy
but in all\ncases must call the base class versions of these methods to allow the base class to\nperform its cleanup.
This method (or onDestroy
) are overridden by subclasses most often to purge\nevent handlers or remove unmanged DOM nodes.
Overrides: Ext.Base.destroy
This method (if implemented) is called after all layouts have completed. In most\nways this is similar to completeLayout. This call can cause this (or any\nlayout) to be become invalid (see Ext.layout.Context.invalidate), but this\nis best avoided. This method is intended to be where final reads are made and so it\nis best to avoid invalidating layouts at this point whenever possible. Even so, this\nmethod can be used to perform final checks that may require all other layouts to be\ncomplete and then invalidate some results.
\n\nThis is a read phase and DOM writes should be strictly avoided in derived classes.\nInstead, DOM writes need to be written to Ext.layout.ContextItem objects to\nbe flushed at the next opportunity.
\n\nThis method need not be implemented by derived classes and, in fact, should only be\nimplemented when needed.
\nThe context item for the layout's owner\ncomponent.
\nThis method is called after all layouts are complete and their calculations flushed\nto the DOM. No further layouts will be run and this method is only called once per\nlayout run. The base component layout caches lastComponentSize
.
This is a write phase and DOM reads should be avoided if possible when overridding\nthis method.
\n\nThis method need not be implemented by derived classes and, in fact, should only be\nimplemented when needed.
\nThe context item for the layout's owner\ncomponent.
\n\nReturn the set of strategy functions from the errorStrategies collection\nthat is appropriate for the field's msgTarget config.
\nReturns an object describing how this layout manages the size of the given component.\nThis method must be implemented by any layout that manages components.
\nAn object describing the sizing done by the layout\nfor this item.
\nReturn the set of strategy functions from the labelStrategies collection\nthat is appropriate for the field's labelAlign config.
\nReturns the set of items to layout (empty by default).
\nReturns the element into which rendering must take place. Defaults to the owner Component's encapsulating element.
\n\nMay be overridden in Component layout managers which implement an inner element.
\nInitialize configuration for this class. a typical example:
\n\nExt.define('My.awesome.Class', {\n // The default config\n config: {\n name: 'Awesome',\n isAwesome: true\n },\n\n constructor: function(config) {\n this.initConfig(config);\n }\n});\n\nvar awesome = new My.awesome.Class({\n name: 'Super Awesome'\n});\n\nalert(awesome.getName()); // 'Super Awesome'\n
\nthis
\nA one-time initialization method called just before rendering.
\nThis method (if implemented) is called after all layouts are finished, and all have\na lastComponentSize
cached. No further layouts will be run and this method is only\ncalled once per layout run. It is the bookend to beginLayout.
This is a write phase and DOM reads should be avoided if possible when overridding\nthis method. This is the catch-all tail method to a layout and so the rules are more\nrelaxed. Even so, for performance reasons, it is best to avoid reading the DOM. If\na read is necessary, consider implementing a finalizeLayout method to do the\nrequired reads.
\n\nThis method need not be implemented by derived classes and, in fact, should only be\nimplemented when needed.
\nThe context item for the layout's owner\ncomponent.
\nOverrides: Ext.layout.Layout.notifyOwner
This method is called when a child item changes in some way. By default this calls\nExt.AbstractComponent.updateLayout on this layout's owner.
\nThe child item that has changed.
\nTrue if this layout has handled the content change.
\nOverrides: Ext.layout.component.field.FieldContainer.publishInnerHeight
The offsets for the text area are needed for bugs in sizing with IE.\nThe main issue behind it is that the iframe requires an initial height\nto be set while the component is auto sizing, however we need to switch\nit when using a configured size. A more permanent solution might be to\nhave the iframe and text area be child components of the container\nas opposed to being directly inserted into the DOM.
\nOverrides: Ext.layout.component.field.FieldContainer.publishInnerWidth
Overrides: Ext.layout.component.Auto.publishOwnerWidth
Renders the given Component into the target Element.
\nThe Component to render
\nThe target Element
\nThe position within the target to render the item to
\nGet the reference to the class from which this object was instantiated. Note that unlike self,\nthis.statics()
is scope-independent and it always returns the class from which it was called, regardless of what\nthis
points to during run-time
Ext.define('My.Cat', {\n statics: {\n totalCreated: 0,\n speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n },\n\n constructor: function() {\n var statics = this.statics();\n\n alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to\n // equivalent to: My.Cat.speciesName\n\n alert(this.self.speciesName); // dependent on 'this'\n\n statics.totalCreated++;\n },\n\n clone: function() {\n var cloned = new this.self; // dependent on 'this'\n\n cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName\n\n return cloned;\n }\n});\n\n\nExt.define('My.SnowLeopard', {\n extend: 'My.Cat',\n\n statics: {\n speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'\n },\n\n constructor: function() {\n this.callParent();\n }\n});\n\nvar cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'\n\nvar snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'\nalert(clone.groupName); // alerts 'Cat'\n\nalert(My.Cat.totalCreated); // alerts 3\n
\nAdd methods / properties to the prototype of this class.
\n\nExt.define('My.awesome.Cat', {\n constructor: function() {\n ...\n }\n});\n\n My.awesome.Cat.addMembers({\n meow: function() {\n alert('Meowww...');\n }\n });\n\n var kitty = new My.awesome.Cat;\n kitty.meow();\n
\nAdd / override static properties of this class.
\n\nExt.define('My.cool.Class', {\n ...\n});\n\nMy.cool.Class.addStatics({\n someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'\n method1: function() { ... }, // My.cool.Class.method1 = function() { ... };\n method2: function() { ... } // My.cool.Class.method2 = function() { ... };\n});\n
\nthis
\nBorrow another class' members to the prototype of this class.
\n\nExt.define('Bank', {\n money: '$$$',\n printMoney: function() {\n alert('$$$$$$$');\n }\n});\n\nExt.define('Thief', {\n ...\n});\n\nThief.borrow(Bank, ['money', 'printMoney']);\n\nvar steve = new Thief();\n\nalert(steve.money); // alerts '$$$'\nsteve.printMoney(); // alerts '$$$$$$$'\n
\nThe class to borrow members from
\nThe names of the members to borrow
\nthis
\nCreate a new instance of this Class.
\n\nExt.define('My.cool.Class', {\n ...\n});\n\nMy.cool.Class.create({\n someConfig: true\n});\n
\n\nAll parameters are passed to the constructor of the class.
\nthe created instance.
\nCreate aliases for existing prototype methods. Example:
\n\nExt.define('My.cool.Class', {\n method1: function() { ... },\n method2: function() { ... }\n});\n\nvar test = new My.cool.Class();\n\nMy.cool.Class.createAlias({\n method3: 'method1',\n method4: 'method2'\n});\n\ntest.method3(); // test.method1()\n\nMy.cool.Class.createAlias('method5', 'method3');\n\ntest.method5(); // test.method3() -> test.method1()\n
\nThe new method name, or an object to set multiple aliases. See\nflexSetter
\nThe original method name
\nGet the current class' name in string format.
\n\nExt.define('My.cool.Class', {\n constructor: function() {\n alert(this.self.getName()); // alerts 'My.cool.Class'\n }\n});\n\nMy.cool.Class.getName(); // 'My.cool.Class'\n
\nclassName
\nAdds members to class.
\nThis method has been deprecated since 4.1
\nUse addMembers instead.
\n\nOverride members of this class. Overridden methods can be invoked via\ncallParent.
\n\nExt.define('My.Cat', {\n constructor: function() {\n alert(\"I'm a cat!\");\n }\n});\n\nMy.Cat.override({\n constructor: function() {\n alert(\"I'm going to be a cat!\");\n\n this.callParent(arguments);\n\n alert(\"Meeeeoooowwww\");\n }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n // alerts \"I'm a cat!\"\n // alerts \"Meeeeoooowwww\"\n
\n\nAs of 4.1, direct use of this method is deprecated. Use Ext.define\ninstead:
\n\nExt.define('My.CatOverride', {\n override: 'My.Cat',\n constructor: function() {\n alert(\"I'm going to be a cat!\");\n\n this.callParent(arguments);\n\n alert(\"Meeeeoooowwww\");\n }\n});\n
\n\nThe above accomplishes the same result but can be managed by the Ext.Loader\nwhich can properly order the override and its target class and the build process\ncan determine whether the override is needed based on the required state of the\ntarget class (My.Cat).
\nThis method has been deprecated since 4.1.0
\nUse Ext.define instead
\n\nThe properties to add to this class. This should be\nspecified as an object literal containing one or more properties.
\nthis class
\n