View Full Version : API Documentation Content Bugs

Pages : 1 [2] 3

28 Sep 2011, 2:13 AM
@Sébastien.Volle Can you be more specific. The way I see it, everything that should be included to docs, is there.

@skirtle Yeah, the @hide shouldn't really have been used there - a subclass shouldn't be able to hide members of its parent - instead a description should be provided for each item, describing why it doesn't work.

Thanks for all the other bugs. Will be fixing these.

28 Sep 2011, 3:28 AM
http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Array-method-splice the fourth... argument is missing.
Should be something like:
Objects... the values that are getting inserted at the specified index.

28 Sep 2011, 3:37 AM

The first XML sample given isn't valid XML, it doesn't have a proper root element. The descriptions given in that section and the following section about the root config option are also misleading regarding the behaviour when it isn't specified. However, the docs for the root config option itself appear to explain it correctly.

28 Sep 2011, 4:38 AM
Don't really know where to post docs "bugs", sorry about that.

As it is now one could think that the passed url variable is given the new value.

28 Sep 2011, 6:11 AM
Sorry, didn't see the "API Documentation Content Bugs" sticky.

28 Sep 2011, 10:15 AM
Thanks for reporting. These issues are all now fixed internally.

28 Sep 2011, 11:07 PM
@Sébastien.Volle Can you be more specific. The way I see it, everything that should be included to docs, is there.
That's correct. Dunno what led us to think some of it was missing, sorry for the noise.

29 Sep 2011, 1:45 AM
The Ext.data.Store (actually Ext.AbstractStore) does not mention the "filters" config option.
The "filters" only exists in the properties!

29 Sep 2011, 12:23 PM
Ext JS 4.0.2a

In the documentation:
Ext.form.field.ComboBox class has a method called getStore()

In practice:
Ext.form.field.ComboBox does not have such a method; it has a property called store.

30 Sep 2011, 2:59 AM
@adarsh_r_bhat. I think that method was added after 4.0.2a. The online version of the docs are for 4.0.6.

30 Sep 2011, 3:31 AM
Skirtle is correct.

30 Sep 2011, 5:09 AM

Defaults to 'panel'.
Defaults to: "panel"

30 Sep 2011, 6:05 AM

Search for:


These calls should be replace by


30 Sep 2011, 6:46 AM
@skirtle That sounds right. Thank you!

3 Oct 2011, 4:55 PM
Documentation for Ext.log does not show the possible parameter values. But if I look at the comments in Ext-more.js, they're there.

4 Oct 2011, 7:27 AM
The doc for the Ext.draw.Surface.add() method is incomplete.

According to the current doc, this method accepts a configuration object.

But, it may also accept a variable number of such objects or an array of config objects, see below:

type: 'circle',
fill: '#ffc',
radius: 100,
x: 100,
y: 100
type: 'circle',
fill: '#ffffff',
radius: 20,
x: 20,
y: 20

Also, the return value is not documented, which is either the newly added sprite or an array or sprites.

4 Oct 2011, 11:13 AM
The Ext.draw.Surface.add() doc should be similar to the Ext.container.AbstractContainer.add() doc wrt params and return value.

4 Oct 2011, 6:31 PM
In the introduction docs for Ext.panel.Panel the descriptions before and after the second example seem to refer to how the code used to look in a previous version. e.g.:

Note that the Panel above is not configured to render into the document, nor is it configured with a size or position.

This is no longer the case for the current example.

4 Oct 2011, 6:36 PM

groupDir and groupField are both listed as properties for a store. As far as I can tell they should both be config options, not properties.

5 Oct 2011, 4:46 AM
Steps to reproduce:
1) Goto http://docs.sencha.com/ext-js/4-0/#!/guide/drag_and_drop
2 (http://docs.sencha.com/ext-js/4-0/#!/guide/drag_and_drop)) Under the heading "The Task At Hand", is reads in the second paragraph (the one under the illustration): "The HTML and CSS for this example is already constructed and can be downloaded here."
3) Note that there is no link to click to "download here".

5 Oct 2011, 7:52 AM


I don't see any Events being documented.

5 Oct 2011, 10:34 AM

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.draw.Sprite (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.draw.Sprite)

I don't see any Events being documented.

Also, I don't see any supported events listed here: Ext.draw.Surface (http://docs.sencha.com/ext-js/4-0/source/Surface.html#Ext-draw-Surface)

Please ensure that events for all draw classes are documented.:s

5 Oct 2011, 4:40 PM

The TextMetrics method measure() should be marked static.

6 Oct 2011, 8:55 AM
The disabled property of Ext.grid.feature.Feature should be documented. This is useful if you want to add a feature to a grid but not turn it on by default, such as grouping.

10 Oct 2011, 9:08 PM

In the Paging example for a grid there's this section towards the end:

limit: itemsPerPage

Whilst it does work I feel it's not the most helpful example. Some alternatives that achieve the same effect include:

autoLoad: true



start: 0,
limit: itemsPerPage

My own preference would be for using loadPage as it best expresses the intent.

Incidentally, the preview option for this example is currently broken in the live docs. I assume this is related to the upgrade that occurred a few days ago rather than a bug in the example itself.

11 Oct 2011, 1:04 AM
activeTab config variable is not listed in "Config" section .

11 Oct 2011, 5:07 AM

The lists of supported events is not complete:

I see:


But, there should be more:


11 Oct 2011, 9:52 AM
I'm no longer able to view the source code for any class.

For instance, when I click the title "Ext.Component", the document reloads, but it used to open a page with the source code.


11 Oct 2011, 9:56 AM
According to renku's post here (http://www.sencha.com/forum/showthread.php?135036-Docs-Application-Bugs-and-Feature-Requests&p=657631&viewfull=1#post657631), that was an intentional change. Links to the source files are now in the right-hand box at the top of the page, underneath the class hierarchy.

11 Oct 2011, 10:23 AM
According to renku's post here (http://www.sencha.com/forum/showthread.php?135036-Docs-Application-Bugs-and-Feature-Requests&p=657631&viewfull=1#post657631), that was an intentional change. Links to the source files are now in the right-hand box at the top of the page, underneath the class hierarchy.

Thanks for describing the new location of source code links. I have no problem with this change.

I'm not sure why the doc is reloaded in a new tab when I click the title.

11 Oct 2011, 11:14 AM
Docs for Ext.form.field.Text 'autosize' event are incorrect.

autosize( Ext.form.field.Text this, Number width, Object eOpts )

Should be:
autosize(Number width, Ext.form.field.Text this,)

13 Oct 2011, 7:07 AM
Thanks for everybody. Most of these things have now been fixed internally.

13 Oct 2011, 12:30 PM
The parameter "prefix" in Ext.util.Observable.relayEevents() is not documented.

Please also look at this post:


14 Oct 2011, 12:13 AM

per the default logic.

The way I read it, this is not the default logic.

Wouldn't that entire description be clearer written in terms of what happens when you set it to true?

14 Oct 2011, 12:31 AM

Setting the config property to true would mean that you could not insert returns into the textarea.

As far as I can tell this isn't true. My testing suggests it simply changes whether the specialkey event is fired, nothing else. I assume this is a mistake in the documentation but possibly it's just a bug.

14 Oct 2011, 12:36 AM

The second argument has the wrong type. Should be models, not groupers.

14 Oct 2011, 12:44 AM

For a TextArea the autosize event is for the height, not the width.

14 Oct 2011, 5:39 AM
Arguments for http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Operation-cfg-callback are incorrect in at least one circumstance.

The argument for the save method here: Ext.data.Model save( Object options ) (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Model-method-save)
Is described as follows: "Options to pass to the proxy. Config object for Ext.data.Operation (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Operation)"
Operation has a property callback (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Operation-cfg-callback) described as:

Function to execute when operation completed. Will be called with the following parameters:

records : Array of Ext.data.Model (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Model) objects.
operation : The Ext.data.Operation itself.
success : True when operation completed successfully.
When I call save on an instance of the model and attempt to pass a callback the arguments come back as the following:

record: a single Ext.data.Model object
operation: The Ext.data.Operation itself
The operation has a success property but there is no third argument.

I am using a model configured with a direct store as follows:

Ext.define('AM.model.User', {
extend: 'Ext.data.Model',
requires: ['Ext.direct'],
fields: [{name:'id',type:'int'},'name', 'email'],
proxy: {
type: 'direct',
api: {
create: AccountManagerExchange.Create,
read: AccountManagerExchange.Read,
update: AccountManagerExchange.Update,
destroy: AccountManagerExchange.Delete
reader: {
root: 'data'

I am calling save on a record being created as follows:

var record = Ext.create('AM.model.User')

And calling save as follows:

record.save({callback: function(records, operation, success) {
// records is a single model instance
// operation is as expected
// success is undefined

Edit: Ran into a similar problem using destroy. I am receiving a response from the server and the operation object has a value in resultSet but the records argument to the callback is null.

14 Oct 2011, 11:27 AM
The documentation (Ext JS 4.0.6 Docs - Generated with JSDuck rev aa051e0) says that Ext.data.Model.getId() returns a Number, but it actually returns whatever the Id is, and that does not need to be a number. (I often use UUIDs for ids.)

17 Oct 2011, 2:59 PM
The Ext.data.Store-event-load lists the following params:

this : Ext.data.Store (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store)
[/URL]records : Ext.util.Grouper (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store)[]
successful : Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean)
operation : Ext.data.Operation (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean)
eOpts : [URL="http://docs.sencha.com/ext-js/4-0/#!/api/Object"]Object (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Operation)
However, the onProxyLoad method that fires the event is missing the operation param.

onProxyLoad: function(operation) {
me.fireEvent('load', me, records, successful);

The load event is also wrong in onProxyPrefetch.

17 Oct 2011, 3:19 PM

First line of the example:

MyApp.User = Ext.define('User', {

Would be better as:

Ext.define('MyApp.User', {

17 Oct 2011, 3:27 PM

The example at the top of the Axis docs features a label config option but this option isn't documented anywhere.

17 Oct 2011, 3:34 PM

In the border layout docs there is this line in the example:

split: true, // enable resizing

As far as I can tell, that's the only documentation that exists for this option. I think it's worthy of an entry in the notes, explaining what split means (it isn't obvious why split = resizeable) and that it's an option of border layout and not the child component.

Rob Hogan
18 Oct 2011, 7:11 AM
Not sure whether this is considered a docs bug or a code bug - it's an issue with comments in the uncompressed source.

For some reason, IE8 chokes (I get an "Expected ':'" error on the next uncommented line) on comments which begin //@, such as

It seems the convention at Sencha is to include a space, as in

// @private

Where this is followed (ie with a space) there's no problem, but there are a handful of cases where the space has been missed and that completely breaks vanilla IE8 in my dynamic loading debug environment.

For example, AbstractContainer.js line 825 (4.0.7rc3), before the definition of onEnable.

If this could be fixed on your end at some point it'd be handy. Thanks.

Edit: After further investigation, it appears this is only a problem when conditional compilation is turned on, ie with //@cc_on before ext source is loaded.

19 Oct 2011, 1:39 PM
Documentation for http://docs.sencha.com/ext-js/4-0/#!/api/Ext.container.Container-method-add doesn't explain that you can pass an integer as the first parameter to indicate where you'd like to insert the new component.

I found this out by reading the source since it seemed wrong when the documentation didn't show any way to insert a component anywhere but at the end. The following code proves that it works. Is that not supported?

// Explicitly create a Container
var cont = Ext.create('Ext.container.Container', {
layout: {
type: 'hbox'
width: 400,
renderTo: Ext.getBody(),
border: 1,
style: {borderColor:'#000000', borderStyle:'solid', borderWidth:'1px'},
defaults: {
labelWidth: 80,
// implicitly create Container by specifying xtype
xtype: 'datefield',
flex: 1,
style: {
padding: '10px'
items: [{
xtype: 'datefield',
name: 'startDate',
fieldLabel: 'Start date'
xtype: 'datefield',
name: 'endDate',
fieldLabel: 'End date'

cont.add(1, {xtype: 'datefield', fieldLabel: "in between"})

You can type that code into the editable example for Ext.container.Container documentation.

Rob Hogan
20 Oct 2011, 6:20 AM
Juanito - that works but I don't believe it's supported behaviour. The method to do what you want is 'insert', which (as it's currently implemented) uses exactly the trick you've found:

//From Ext.container.AbstractContainer
insert : function(index, comp) {
return this.add(index, comp);

Of course, this implementation is subject to change. I'd stick with insert if I were you!

20 Oct 2011, 7:57 AM
The Ext.form.field.Checkbox.setValue(checked) method is in incorrectly documented.

According to the doc, checked can be Boolean/String, but it also can be an array.

See the source code for this method.

20 Oct 2011, 2:39 PM

Could the docs for initComponent be enhanced to explain how to access the config options passed to the constructor? I suspect this wouldn't be obvious to people who haven't used it before.

21 Oct 2011, 7:38 AM
Not sure if this counts as a docs content bug or not, but I noticed that in the docs for Ext.chart.series.Area (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.chart.series.Area), under the "Files" section, Area.js is listed twice. Turns out, this is because the class is actually defined twice in src/chart/series/Area.js. Running a diff on the two definitions shows only two changes:

* Un-highlights un-highlights the specified item. If no item is provided it will un-highlight the entire series.
* @param {Object} item {Object} Info about the item; same format as returned by #getItemForPoint
unHighlightItem: function(item) {
So I'm guessing the double-define is just a mistake. ;)

24 Oct 2011, 6:48 AM
I have been working with Ext.grid.column.Template, and discovers to my big surprise that it actually has a well functioning and very usefull click event. It comes with a lot of usefull parameters, and after some detective work, it appears to be an itemclick event from Ext.panel.Table that is transformed by Ext.view.Table.processItemEvent and relayed.

It seems that there are a lot of event relaying going on, without anything is showing up in the API.
If I can't find the events in the API, then how am I supposed to know that they are there? :-/

The event relaying is both clever and highly useful, but it needs to be in the API for us to benefit from it.


PS. I really wanted to try out your new API comments system, but I couldn't quite figure out where to put this, since it seems to be a somewhat general problem (and I definately couldn't put it under the missing click event of Template ;)). But it seems to be a great replacement/supplement to this thread, so next time I hope to stumble upon something more specific! :D

25 Oct 2011, 1:13 AM
Hi there,

There's a method missing from the ComboBox doc : bindStore, which has been very useful for me to use different instances from the same store class.

25 Oct 2011, 1:23 PM
A couple of the XTemplate examples don't actually work, the < and > aren't escaped correctly.

<tpl if="age > 1 && age < 10">Child</tpl>
<tpl if="age >= 10 && age < 18">Teenager</tpl>

25 Oct 2011, 10:34 PM
http://docs.sencha.com/ext-js/4-0/#!/guide/getting_started Section 2.2 describes a console log warning when using synchronous loading, but this output doesn't occur when using ext-debug.js as shown in the initial html snippet given. ext-dev.js is required to get the output.

31 Oct 2011, 10:25 AM
Thank to everybody. All the issues above have been fixed internally or noted otherwise.

As it looks from the quietness of this thread, everybody seems to be using the new comments system to report bugs, which is great :)

31 Oct 2011, 12:35 PM
All classes that use the Ext.util.Floating mixin appear to be missing documentation for the 'shadowOffset' config param. In other words, anywhere the 'shadow' config param exists there should also be a 'shadowOffset' param. Ext.Component is one example of this.

7 Nov 2011, 9:12 AM
Ext.Array.slice() (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.Array-property-slice) appears in the documentation as a property, but it is really a method.

7 Nov 2011, 12:00 PM
Ext.app.Controller is missing docs for the refs config.

9 Nov 2011, 2:52 AM
This example directly copy pasted from the api doc of the class system does not work:

Ext.define('My.own.Window', {
/** @readonly */
isWindow: true,

config: {
title: 'Title Here',

bottomBar: {
enabled: true,
height: 50,
resizable: false

constructor: function(config) {

return this;

applyTitle: function(title) {
if (!Ext.isString(title) || title.length === 0) {
alert('Error: Title must be a valid non-empty string');
else {
return title;

applyBottomBar: function(bottomBar) {
if (bottomBar && bottomBar.enabled) {
if (!this.bottomBar) {
return Ext.create('My.own.WindowBottomBar', bottomBar);
else {


var myWindow = Ext.create('My.own.Window', {
title: 'Hello World',
bottomBar: {
height: 60

I get a TypeError: c is not a constructor error.

Can someone look this example up? It's still not working.

Thanks :)

9 Nov 2011, 3:21 AM
@WingC: It's not really ment to be a runnable example. It just shows off the features of config system. It references a hypothetical class My.own.WindowBottomBar which surely doesn't exist and therefore the example doesn't work.

But we'll see, maybe we make it into runnable.

9 Nov 2011, 3:57 AM
All other issues reported so far, have been fixed internally.

10 Nov 2011, 8:36 AM
@Renku --

Need to quantify what 'position' means in this context:


13 Nov 2011, 10:53 AM
Sencha Touch v2 docs has a list example at /docs/#!/guide/list which doesn't work.
It refers to:

itemConfig: {
tpl: '{name}'
but apparently the syntax is now:

itemTpl: '<div>{name}</div>'

14 Nov 2011, 6:42 AM
@WingC: It's not really ment to be a runnable example. It just shows off the features of config system. It references a hypothetical class My.own.WindowBottomBar which surely doesn't exist and therefore the example doesn't work.

But we'll see, maybe we make it into runnable.

I see, thanks for the answer :)

17 Nov 2011, 3:15 AM
In pkg docs cannot load.

I downloaded extjs-4.0.7 pkg, unpack it to a local server,and browse (test in chrome,ff, ie)docs/index.html,it just cannot open, loading forever.see pic below.
Same as docs in extjs-4.1pr1 pkg.


17 Nov 2011, 3:22 AM
Maybe you could post some error message that you are getting because for me it works just fine. Also 4.0.7 has been out now for quite some time and I haven't heard any such complaint.

Do the online docs work for you? http://docs.sencha.com/ext-js/4-0

17 Nov 2011, 4:04 AM
Maybe you could post some error message that you are getting because for me it works just fine. Also 4.0.7 has been out now for quite some time and I haven't heard any such complaint.

Do the online docs work for you? http://docs.sencha.com/ext-js/4-0

Online docs work fine all the times.
I'v tested again:
Firfox(v8.0): Can open on disk(file:///....), cannot open on local server.
Chrome(v16):Cannot open neither on disk nor on local server.
IE(v9):Cannot open neither on disk nor on local server.
Am i done some wrong actions when open in-pkg docs?
See pics below:

My network is slow, so i cannot view online docs all the times.
Sorry for poor english.

17 Nov 2011, 4:56 AM
Oh, please... why do you upload so small screenshots... I can barely read error messages from there.


It looks like there is something wrong with file permissions: 403 Forbidden.

Some requests seem to be treated as bogus (400 Bad Request). Which web server are you using?

It attempts to load the file app/controller/Index.js - I have no idea why would it ask for it. That file was removed in 17 August. ExtJS 4.0.7 was released 19 October. Are you sure you are using 4.0.7?

17 Nov 2011, 7:41 AM
It attempts to load the file app/controller/Index.js - I have no idea why would it ask for it. That file was removed in 17 August. ExtJS 4.0.7 was released 19 October. Are you sure you are using 4.0.7?
Finally i found the problem.
Yes you remind me that, i used a python(web2py) background as a local server,and when i changes to iis server, everything go ok... so i analyzed some http request, and i found in some request url:
notice, it has double "//"

And when i changed the source of app.js in line 1 col 728473:
from '/output/' to 'output/', everythings goes ok in my python server...
My fail or it's a mistake in app.js?

17 Nov 2011, 7:45 AM
Sorry for the small pics, my origin pics is large enough, but when upload to post, it oddly become smaller~

And my extjs version is 4.0.7,ext4.1-pr1 has the same problem.

18 Nov 2011, 2:06 AM
And when i changed the source of app.js [--] from '/output/' to 'output/', everythings goes ok in my python server...

My fail or it's a mistake in app.js?

I think it's a bit of both. It's been fixed in JSDuck so upcoming releases of ExtJS should not have this problem. However, a good web server should be able to handle such paths.

20 Nov 2011, 11:52 PM
The list of xtypes in the documentation for Ext.Component isn't as complete as it claims and/or should be. For example, Ext.panel.Header (widget.header) is missing.

22 Nov 2011, 6:24 AM
The "checked" config item for the "Ext.menu.CheckItem" is missing.
This should be an easy fix. Just add the @cfg comment tag and then ice cream for everyone.

25 Nov 2011, 6:39 PM
It turns out to be crucial that each record in a store has an "id" property. I've not seen this documented anywhere, though I may have missed it. This issue is mentioned in a user comment by ZachG in Ext.data.Store getUpdatedRecords.
If there is no id, the create/update logic doesn't work.

26 Nov 2011, 5:14 PM
Ext.grid.Panel :: setLoading(load, targetEl) with a string as first param claims to set this as loading mask text. But it does this ONLY if the loading mask is not yet created. See http://docs.sencha.com/ext-js/4-0/source/AbstractComponent.html#Ext-AbstractComponent-method-setLoading

best regards

Rob Hogan
28 Nov 2011, 8:06 AM
ironandsteel - that's true, but if you make use of the idProperty config in your Model the field doesn't actually have to be called "id".

29 Nov 2011, 3:12 AM
In Ext.draw.Component there is a typo in viewBox's doc: "yor"

29 Nov 2011, 3:59 AM
The "fields" config option of Chart Axis is not documented, fix by adding @cfg tag

29 Nov 2011, 5:27 AM
Ext.chart.Mask is missing the "mask" config option, fix by adding @cfg.

30 Nov 2011, 6:18 AM
The reported issues have been now fixed internally.

8 Dec 2011, 8:55 AM
I'd post this directly in the doc, but there's currently an issue /w commenting.

This config function has no parameters documented. They are the same as for the 'handler" config.


8 Dec 2011, 10:19 AM
The doc for the Ext.AbstractComponent class lists the addClass and addCls methods.

I believe the addClass method is depracated(?), but this is not documented.

Both methods list param as 'String cls' but it should be 'String/String[] className'.

14 Dec 2011, 12:29 PM
The documentation for Ext.Date.now() (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.Date-method-now) states the return type of the method as a Date object, but this is incorrect - the function will actually return the timestamp as a Number. The same also applies to Date.UTC (http://docs.sencha.com/ext-js/4-0/#%21/api/Date-static-method-UTC).

15 Dec 2011, 5:44 AM
I see initComponent listed in Ext.Component as a template method, but missing onRender, afterRender and onDestroy.

15 Dec 2011, 6:49 AM
Thanks, I guess these should be documented indeed. I'll see what I can do about it.

The other issues reported above are now fixed internally. Unfortunately for now all the documentation fixes are destined for 4.1. Hopefully it will be out soon enough.

20 Dec 2011, 3:06 PM
The documentation (4.0.7) lists 'quicktip' as xtype for

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.tip.QuickTip (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.tip.QuickTip)
to the right of the title

However in the sourcecode the class has no alias definition.

It is obviously not available as the following instruction throws an error:

21 Dec 2011, 4:22 AM
Thanks, fixed. The xtype:quicktip should be available again in upcoming 4.1 release.

21 Dec 2011, 11:10 AM

the first example contains unquoted strings:

Ext.Object.fromQueryString(foo=1&bar=2); // returns {foo: 1, bar: 2}
Ext.Object.fromQueryString(foo=&bar=2); // returns {foo: null, bar: 2}
Ext.Object.fromQueryString(some%20price=%24300); // returns {'some price': '$300'}
Ext.Object.fromQueryString(colors=red&colors=green&colors=blue); // returns {colors: ['red', 'green', 'blue']}

22 Dec 2011, 5:19 AM
Thanks themightychris, fixed internally.

22 Dec 2011, 1:12 PM
In Ext.Element, the keydown, keypress and keyup events have the event and html element params documented in the wrong order. The HTMLElement should be first, then the event.

6 Jan 2012, 9:57 AM
It looks like in 4.x that gridpanel has a cellclick and celldblclick event relayed to it, but the events aren't documented in the API docs.

7 Jan 2012, 11:03 AM
In 4.1.0-beta-1, the first link to the "application architecture guide" in the Ext.app.Application docs leads to nowhere.

code for the first link to "application architecture guide":

<a href="../guide/application_architecture">application architecture guide</a>

code for the 2nd link to "application architecture guide":

[application architecture guide](#/guide/application_architecture)

9 Jan 2012, 6:52 AM
Ext.Class - config example fails

Try the config example:


I'm getting an error:

TypeError: iPhone.hasTouchScreen is not a function

9 Jan 2012, 8:33 AM
Ext.Class - config example fails

Try the config example:

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Class (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.Class)

I'm getting an error:

TypeError: iPhone.hasTouchScreen is not a function

I wanted to add that this example doesn't work in 4.1 B1 either (I get the same error).

Also, I suggest adding corresponding "apply" and "update" functions for at least one config value.

16 Jan 2012, 7:03 AM
Search Ext.js for


17 Jan 2012, 4:54 AM
In Ext.grid.feature.RowBody the getAdditionalData is missing from the config list. The docs say this is a function that can be overridden, But it looks like it is config/function which can be customized by the user.

17 Jan 2012, 6:19 AM
In Ext.Element, the keydown, keypress and keyup events have the event and html element params documented in the wrong order. The HTMLElement should be first, then the event.

According to my testing the documentation is correct. HTMLElement is the second parameter to the event.

Other bugs have been fixed internally.

17 Jan 2012, 4:58 PM
Ext.app.Application (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.app.Application) in version 4.0.7 is missing information on the 'controllers' config element. The example on the page is using it.

17 Jan 2012, 5:18 PM
AbstractComponent.doComponentLayout() (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.AbstractComponent-method-doComponentLayout) in version 4.0.7 indicates the arguments are required but it is used without arguments in the Template Examples (http://docs.sencha.com/ext-js/4-0/#%21/example/platform/templates.html).

18 Jan 2012, 2:27 AM
Thanks, those things too are now fixed internally.

Unfortunately all the fixes currently go to 4.1. Hopefully it won't be that far away.

18 Jan 2012, 10:52 AM
docs for Ext.data.proxy.Ajax contains a typo:

var proxy = new Ext.data.proxy.Ajax({
url: '/users',
pagePage: 'pageNumber'

should be

var proxy = new Ext.data.proxy.Ajax({
url: '/users',
pageParam: 'pageNumber'

18 Jan 2012, 4:57 PM
The 'downloaded here' phrase in the Drag and Drop guide (http://docs.sencha.com/ext-js/4-0/#%21/guide/drag_and_drop) (v 4.0.7) is not a hyper link and probably should be. I could not find the corresponding source code in the examples.

This is still the case in 4.1 beta 1 docs.

19 Jan 2012, 2:54 AM
Thanks, fixed internally.

@p33t For now you can find the source code here: http://tdg-i.com/extjsblog/index.html It's a bit broken as it uses Ext3, but for most part it should serve as the template.

19 Jan 2012, 5:04 AM
anchorSize appears to be missing from the docs. Can't search for it, can't filter for it.

It is however still used in layout.container.Anchor.js

not sure why it isn't searchable....

19 Jan 2012, 5:32 AM
Thanks. Fixed internally.

20 Jan 2012, 5:19 AM
See: http://docs.sencha.com/ext-js/4-0/#!/api/Ext.layout.container.VBox

Documentation for flex property of vbox says:
This configuration option is to be applied to child items of the container managed by this layout. Each child item with a flex property will be flexedhorizontally according to each item's relative flex value compared to the sum of all items with a flex value specified. Any child items that have either aflex = 0 or flex = undefined will not be 'flexed' (the initial size will not be changed).

For vbox, horizontal should be vertical (it looks like the documentation for flex on vbox was copied from flex for hbox).

20 Jan 2012, 5:24 AM
In the online documentation I see:

> No comments. Click to Add

However when I click to add a comment, I just get a non-stop "loading..." image.

( (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.layout.container.VBox)seems to happen everywhere in the docs)

Tested in Chrome and FFox

20 Jan 2012, 7:21 AM
Yeah, the comments system is broken currently. Sorry. We'll hopefully get it back up in the coming week or so.

21 Jan 2012, 5:10 AM
I've noticed that the endless loading happens if you aren't logged in. But if logged in, it works, sometimes.....

24 Jan 2012, 9:01 PM
The Multiselect & ItemSelector demo page (at ../examples/multiselect/multiselect-demo.html) does not display the 'ItemSelector' properly.

The Multiselect example appears to work fine. The ItemSelector buttons seem to work, it's just not displaying properly. The screenshot below suggests the height of the 'div' is being set to 0. I played with the height of a few elements and got it partially working.

Version: 4.1.0-beta-1
Browsers: Chrome 14.0.835.202, Firefox 3.6.24


26 Jan 2012, 2:30 PM
The docs do not call out that you can pass in addRecords: true withe the config object on store.load(). It is mentioned in the loadRecords documentation, but not store.load when it works in both.

28 Jan 2012, 9:42 PM
Ext.data.Field -> convert function example is listed as

function fullName(v, record){
return record.name.last + ', ' + record.name.first;

function location(v, record){
return !record.city ? '' : (record.city + ', ' + record.state);


It should be

function fullName(v, record){
return record.data.last + ', ' + record.data.first;

function location(v, record){
return !record.data.city ? '' : (record.data.city + ', ' + record.data.state);

29 Jan 2012, 8:44 AM
The events of Ext.draw.Sprite are not documented:

'beforedestroy', 'destroy', 'render', 'mousedown', 'mouseup', 'mouseover', 'mouseout', 'mousemove', 'click'

1 Feb 2012, 4:19 PM
There are 3 non-working forms samples in the current 4.1.0-beta-2 release.

Dynamic Forms
Multiselect and ItemSelector
Custom form Field

Thanks in advance,

1 Feb 2012, 11:16 PM
The last sentence of the "MVC Application Architecture" guide states:

"In the next guide, we'll look at advanced Controller usage and patterns that can make your application code smaller and easier to maintain."

However, the next guide in the table of contents is "Layouts and Containers" and it's not clear which guide covers advanced controller usage and patterns as indicated above.

Please advise.


8 Feb 2012, 5:04 AM
The documentation for Ext.data.association.HasOne shows the Address Model with a "hasOne" association to the Address Model. Shouldn't this association be on the Person Model?

8 Feb 2012, 5:27 AM
There are multiple inline examples in Class.js, Base.js, ClassManager.js and possibly other files where the class constructor returns this. I believe the constructor does not need to return anything to properly create an instance, so these examples are confusing.

See this thread (http://www.sencha.com/forum/showthread.php?179229-Base.js-override-example-question)

14 Feb 2012, 1:00 PM
4.1 B2

Ext.define('Ext.AbstractComponent', {

* @property {Boolean} isComponent
* `true` in this class to identify an objact as an instantiated Component, or subclass thereof.
isComponent: true,

15 Feb 2012, 7:36 AM
Ext.data.proxy.Proxy (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.proxy.Proxy) exception event is not listed.

15 Feb 2012, 12:38 PM
The documentation does not contain any information about what the proper behavior of methods such as 'getAt', 'findBy', 'getCount' should be when operating on a filtered store. When the store is filtered locally, the behavior varies from method to method. Some methods operate on the filtered data, some on the entire data collection, you have to debug through the source code to figure out what's going on.

19 Feb 2012, 9:48 AM
in Sencha Docs Ext JS 4.0:


the doc says:

fieldBodyCls (http://www.sencha.com/forum/#!/api/Ext.form.Labelable-cfg-fieldBodyCls) : String (http://www.sencha.com/forum/#!/api/String)An extra CSS class to be applied to the body content element in addition to fieldBodyCls (http://www.sencha.com/forum/#!/api/Ext.form.Labelable-cfg-fieldBodyCls).

so fieldBodyCls is in addition of itself?

20 Feb 2012, 5:20 AM
Thanks to all for reporting. All above items have been fixed internally.

@carrollecc: The exception event is part of Ext.data.proxy.Proxy subclass Ext.data.proxy.Server.

20 Feb 2012, 1:06 PM

(http://docs.sencha.com/ext-js/4-0/#!/api/Ext.view.TableChunker)Most everything just seems to be missing.

21 Feb 2012, 2:19 AM
Thanks mark0978, we'll see into that.

21 Feb 2012, 7:34 AM

You can change the redundant phrase:

Inner layouts are available by virtue of the fact that ....


Inner layouts are available because ....

27 Feb 2012, 2:09 AM
Oops...Guide ... was not found.

For each tutorials.


27 Feb 2012, 6:14 AM
Thanks Lascaux. Will be fixed soon.

27 Feb 2012, 2:22 PM
The documentation seems to suggest that you get a warning unless you include a Ext.require at the top of the application file.

Using ExtJS 4.0.7 I do not get this warning, when following the sample. Either this is a doc issue or an application issue. Not sure which one :).

28 Feb 2012, 5:10 AM
I was trying to find how to hide/show a column (dynamically with code) in the docs but no luck. Googled and found that you could use the undocumented property "columns" (that contains an array of the columns) to show or hide a column. This parameter should be in the documentation for Ext.grid.Panel. Shouldn´t it? Or is it perhaps better to use: grid.getView().getGridColumns()?

28 Feb 2012, 2:22 PM
The items of a Viewport default to a Panel. In the first code sample (of Viewport) the items use a config property called autoHeight. This property is not documented as part of Panels configs, and it is unclear what it does.

1 Mar 2012, 6:06 AM
The Observable.hasListener method should be deprecated. As of 4.1 B3 there's no need to use it because of the hasListeners optimization.

hasListener: function(ename) {
return !!this.hasListeners[ename.toLowerCase()];

1 Mar 2012, 1:19 PM

select (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.selection.Model-method-select)( Ext.data.Model (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Model)[]/Number (http://docs.sencha.com/ext-js/4-0/#!/api/Number) records, , )
Selects a record instance by record instance or index.

records : Ext.data.Model (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Model)[]/Number (http://docs.sencha.com/ext-js/4-0/#!/api/Number)An array of records or an index
keepExisting : Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) (optional)True to retain existing selections [B]What is the default?

suppressEvent : Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) (optional)Set to true to not fire a select event [B]What is the default?

1 Mar 2012, 8:00 PM

find (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store-method-find)( String (http://docs.sencha.com/ext-js/4-0/#!/api/String) fieldName, String (http://docs.sencha.com/ext-js/4-0/#!/api/String)/RegExp (http://docs.sencha.com/ext-js/4-0/#!/api/RegExp) value, [Number (http://docs.sencha.com/ext-js/4-0/#!/api/Number) startIndex], [Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) anyMatch], [Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) caseSensitive], [Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) exactMatch] ) : Number (http://docs.sencha.com/ext-js/4-0/#!/api/Number)
Finds the index of the first matching Record in this store by a specific field value.

fieldName : String (http://docs.sencha.com/ext-js/4-0/#!/api/String)The name of the Record field to test.
value : String (http://docs.sencha.com/ext-js/4-0/#!/api/String)/RegExp (http://docs.sencha.com/ext-js/4-0/#!/api/RegExp)Either a string that the field value should begin with, or a RegExp to test against the field.
startIndex : Number (http://docs.sencha.com/ext-js/4-0/#!/api/Number) (optional) Defaults to ??? 0?The index to start searching at
anyMatch : Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) (optional) Defaults to ???True to match any part of the string, not just the beginning
caseSensitive : Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) (optional)True for case sensitive comparison Defaults to ???
exactMatch : Boolean (http://docs.sencha.com/ext-js/4-0/#!/api/Boolean) (optional)True to force exact match (^ and $ characters added to the regex). Defaults to false.
Copy paste from the docs leaves a little to be desired don't you think?

2 Mar 2012, 2:23 AM
Details in http://www.sencha.com/forum/showthread.php?179758-StoreManager-seems-to-ignore-the-StoreId.

Basically, setting the storeId doesn't always allow Ext.getStore to locate it again. Evant states (in the linked thread) that the Controller overrides the storeId.

At the very least this should be documented in the Store and StoreManager documentation, although I question the point of the Controller overriding the storeId - very unintuitive.

2 Mar 2012, 8:44 AM
Ext.draw.CompositeSprite.animate (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.draw.CompositeSprite-method-animate)

This method contains a discussion how to animate an element or a component, but it is not too obvious how the provided example is applicable to animating sprite groups.

An example including sprite animation would be helpful.

3 Mar 2012, 10:52 AM
Ext.data.proxy.Proxy fails to list what you can "listen" for And there is no events drop down. The Generic doc does manage to mention things that don't apply though.

listeners (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.util.Observable-cfg-listeners) : Object (http://docs.sencha.com/ext-js/4-0/#!/api/Object)
A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the addListener (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.util.Observable-method-addListener) example for attaching multiple handlers at once.
DOM events from Ext JS Components (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Component)
While some Ext JS Component classes export selected DOM events (e.g. "click", "mouseover" etc), this is usually only done when extra value can be added. For example the DataView (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.view.View)'s itemclick (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.view.View-event-itemclick) event passing the node clicked on. To access DOM events directly from a child element of a Component, we need to specify the element option to identify the Component property to add a DOM listener to:

new Ext.panel.Panel (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.panel.Panel)({ width: 400, height: 200, dockedItems: [{ xtype: 'toolbar' }], listeners: { click: { element: 'el', //bind to the underlying el property on the panel fn: function(){ console.log('click el'); } }, dblclick: { element: 'body', //bind to the underlying body property on the panel fn: function(){ console.log('dblclick body'); } } }});

6 Mar 2012, 5:58 AM
Thanks for reporting. These issues have been fixed internally now, or noted otherwise.

13 Mar 2012, 9:20 AM
Proxy fails to list timeout as a config option. That is the only way to get the timeout set on a datastore (that I have found) and I had to find it by debugging. Would have been nice if the docs had said it.

14 Mar 2012, 12:33 AM
formBind config on buttons is not documented in the API docs. Also on the Sencha Designer 2, in the Component Config, the formBind property doesn't have the questionmark wih information on formBind.

15 Mar 2012, 9:42 AM
Use word prepend instead of attach. This would more accurately describe the new event name.

Ext.define('Ext.util.Observable', {
* @param {String} [prefix] A common prefix to attach to the event names. For example:
* this.relayEvents(this.getStore(), ['load', 'clear'], 'store');
* Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'.
relayEvents : function(origin, events, prefix) {
prefix = prefix || '';
var me = this,
len = events.length,
i = 0,

for (; i < len; i++) {
oldName = events[i];
newName = prefix + oldName;
me.events[newName] = me.events[newName] || true;
origin.on(oldName, me.createRelayer(newName));

19 Mar 2012, 1:17 PM
From AndreKR in the comments on gridpanel (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.grid.Panel) in the docs:

The gridpanel conveniently forwards the allowDeselect config to its selection model. It should say so in the docs.

20 Mar 2012, 2:02 AM
Vijayesh, there's no need to use a large font - it's not polite - we can hear you perfectly well without it.

I think the page might have been temporarily down, as the link you gave works just fine for me.

22 Mar 2012, 6:54 AM
MessageBox.alert(), .prompt(), and .confirm() all have a config object fn, but fn's parameters are not specified.

26 Mar 2012, 6:44 AM

On MVC Architecture Guide, in the app.js,

requires: 'Ext.container.Viewport (http://localhost/~hnordt/account_manager/extjs-4.1.0-rc1/docs/index.html#!/api/Ext.container.Viewport)',
should be:

requires: ['Ext.container.Viewport (http://localhost/~hnordt/account_manager/extjs-4.1.0-rc1/docs/index.html#!/api/Ext.container.Viewport)'],
If it isn't an array, when the code is executed, an error will be thrown, because the app will requires the controllers too, and at the moment requires is not an array.

This problem happens on ExtJS 4.0.7 and 4.1.

26 Mar 2012, 7:32 AM
Everything after on() in Ext.tab.Tab is in italics (in Firefox 11, Chrome 17.0.963.83 m, and Safari 5.1.1 on Windows 7, and Firefox 11 on Solaris 10).

(Sencha Docs wouldn't work on IE 9 (surpise!). I got these errors:
Store defined with no model. You may have mistyped the model name.
Store defined with no model. You may have mistyped the model name.
Store defined with no model. You may have mistyped the model name.
Store defined with no model. You may have mistyped the model name.
SCRIPT5: Access is denied.
app.js, line 1 character 117353)

31 Mar 2012, 4:45 PM
4.1 RC1

I think there's a typo in the param description: of should be or.

objects of configs ---> objects or configs

Ext.define('Ext.draw.Surface', {
* @param {Ext.draw.Sprite[]/Ext.draw.Sprite...} args One or more Sprite objects of configs.
* @return {Ext.draw.Sprite[]/Ext.draw.Sprite} The sprites added.
add: function() {

2 Apr 2012, 9:11 AM
The documentation for Ext.layout.container.VBox#pack (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.layout.container.VBox-cfg-pack) indicates that the config values 'start', 'center', and 'end' will pack the child items at the left, mid-width, and right sides of the container, respectively. This is incorrect, as 'start' packs the children at the top, 'center' at the mid-height, and 'end' at the bottom of the container.

2 Apr 2012, 12:12 PM
1. In Ext.AbstractComponent method getEl return value, Ext.core.Element should be Ext.Element

2. In Ext.AbstractComponent method isDescendantOf, Ext.Container should be Ext.container.Container

3.In Ext.Base property ownerCt, Ext.Container should be Ext.container.Container

4. In Ext.Base method callOverridden, Arguments should be object[] or ...

5. In Ext.Base method callParent overload, Arguments should be object[] or ...

6. In Ext.chart.Highlight, property highlight, please consider renaming the property so it has a different name from its defining class

7. In Ext.AbstractComponent property floatParent, Ext.Container should be Ext.container.Container

8. In Ext.container.AbstractContainer method cascade, return value Ext.Container should be Ext.container.Container

9. In Ext.Base property slider, Ext.slider.MultiSlider should be Ext.slider.Multi

10. In Thumb config property slider, Ext.slider.MultiSlider should be Ext.slider.Multi

11. In Ext class, onReady accepts an object, but it should be a Function (Alias for Ext.Loader.onReady)

12. Please consider moving all Ext.*Manager classes to a separate namespace, so there will be distinction between the class itself (e.g. Ext.Managers.ComponentManager) and the singleton (ComponentManager property on the Ext class)

13. Strangely enough, the 'region' configuration property that's available for all child components of a container with a border layout, is not very documented. I would expect to see some kind of a mixin that contains that string property.

14. Ext.Window.MessageBox example shows how to use the icon configuration property in the 3rd code sample, but it is otherwise undocumented.

15. Ext.container.AbstractContainer method getComponent() has no return value (should probably return a component..)

4 Apr 2012, 6:36 AM
It appears the 'locked' property for columns in grid panels isn't documented.

6 Apr 2012, 7:14 AM
Description for Ext.view.View contains the following text:

In order to use these features, an itemSelector config must be provided for the DataView to determine what nodes it will be working with.

There's no more DataView class
-- the DataView class is the View class now (though the xtype remains as dataview)

7 Apr 2012, 11:00 AM
Some of the event handlers may return values, and these are documented in the description.
Why aren't they documented like methods and contain a @returns section?

8 Apr 2012, 2:59 AM
Would be great to add to online documentation the one for Extjs 4.1.

9 Apr 2012, 5:59 AM
In the constructor of Ext.app.Application, the paths config is used to add paths to the loader (just as appFolder is used for the application files). This useful config is not documented.

12 Apr 2012, 1:05 AM
Ext.data.Store : getById( String id ) : Ext.data.Model

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store (http://docs.sencha.com/ext-js/4-0/#%21/api/Ext.data.Store)

This is not always a string because the comparison in the source code is a '==='.

And if your "id" is only made of integers, which is almost always the case, you have to do a convert it explicitely :

getById( parseInt( mystring ) )

So the documentation should be updated accordingly. I've made a comment, but my English is perfectible, it should be nice to add this in the documentation.

12 Apr 2012, 7:09 AM
Ext.Object.mergeIf is listed twice - once as a private property, and another time as a private methodI think the former is unneeded.

12 Apr 2012, 7:39 AM
Ext.panel.Table.scrollDelta (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.panel.Table-cfg-scrollDelta) has disappeared completely in 4.1rc3 without warning. Is this documented somewhere?

17 Apr 2012, 10:37 AM
Sprite.js and CompositeSprite.js

The word immediatly should be spelled immediately (multiple typos)

25 Apr 2012, 8:44 AM
The main page at http://docs.sencha.com/ext-js/4-0/ states: "
Ext JS 4 is a pure JavaScript application framework that works everywhere from IE6 to Chrome 11"

This should probably be updated (or version removed) since Chrome is on version 18 right now.

25 Apr 2012, 10:16 AM
@ExtJSNinjas You should look at http://docs.sencha.com/ext-js/4-1/ for latest docs. The contents of 4.0.7 docs won't be updated any more.

26 Apr 2012, 6:26 AM
All the documentation issues reported in this thread have been fixed internally, or otherwise noted.

@alonweiss: Grid#scrollDelta is gone because 4.1 uses native scrolling. If you feel strongly about some of the API changes you have suggested, please post them as a separate feature requests.

27 Apr 2012, 6:26 AM
4.0 & 4.1:

Ext.grid.View: getSelectedRecords -- this method doesn't seem to exist.

27 Apr 2012, 7:10 AM
This blog post (http://www.sencha.com/blog/optimizing-ext-js-4-1-based-applications/) about optimizing applications for ExtJS 4.1 mentions using Ext.suspendLayouts and Ext.resumeLayouts to avoid triggering unnecessary layouts. However, neither of these methods are present in the API docs for Ext 4.1 - seems like they should be documented if they're a key part of the layout improvements in 4.1.

29 Apr 2012, 11:33 PM
Oh, a visual bug in chrome 18, have been for more then a week.

30 Apr 2012, 4:22 AM
Hi all,

seems that the generic search textbox and the member search textbox are broken on Chrome 18 (it's impossible to focus). Both the textboxes works as expected in Firefox.



1 May 2012, 11:59 PM
Oh, a visual bug in chrome 18, have been for more then a week.34685I'm seeing the same with Chrome 18. Firefox works fine.

2 May 2012, 1:22 AM

It's also broken in Safari Version 5.1.5 (6534.55.3). Would be nice, if it would be fixed asap...

2 May 2012, 5:35 AM
* @cfg {Boolean} hideEmptyLabel
* When set to true, the label element ({@link #fieldLabel} and {@link #labelSeparator}) will be automatically
* hidden if the {@link #fieldLabel} is empty. Setting this to false will cause the empty label element to be
* rendered and space to be reserved for it; this is useful if you want a field without a label to line up with
* other labeled fields in the same form.
* If you wish to unconditionall hide the label even if a non-empty fieldLabel is configured, then set the {@link
* #hideLabel} config to true.
hideEmptyLabel: true,

you should remove the carriage return on second paragraph, it breaks the {link ...}

2 May 2012, 11:35 AM
I assume getCollapsed is the preferred way to retrieve the collapsed state of a panel? If so, it should be documented.

4 May 2012, 3:40 AM
I'm just learning ExtJS4, here is a list of issues with the online documentation at:

- MVC Example Application - says code is in Ext JS 4 SDK Examples dir - but it's not
Example doesnt work - http://www.sencha.com/forum/showthread.php?200345-Problem-with-the-MVC-example-application
*note* http://localhost/ext41f/examples/writer/writer.html works, but different

- direct grid example - cant update or add a record - no errors
- Ext Direct example - links to sample code broken
- app architecture 1-3 - hardly anything works.
- Editable Grid - Doesnt work at all. Paths are messed, db never initializes, no errors.

Many links to code are broken - I've used google site:sencha.com search to find a couple.

Ajax - missing "async : false,"

localhost/ext41f/examples/simple-tasks/index.html - works until record added, restart, then no work

As a final note, I have yet to find a working example of a useful application written in 4.1 or one that works in 4.1. Several other people have also requested this in various forums.

Menu - A working menu (related data in tabs would be nice)
Data stored in a database (Ajax / MySQL)
Editable table / view / grid - with relationships / drop-downs, filters, search, sort
relationships = Primary table and Joined table views/edit/add

This is such a basic thing... I've spent a solid week looking for something. HELP!

7 May 2012, 3:40 AM
Thanks to all for reporting. The bugs have been fixed internally.

Sorry for the search UI being broken for some time - somehow I had managed to turn off receiving updates from this thread.

@Ghostly: Will be taking a look at the problems in guides.

7 May 2012, 5:49 AM
Ok, thanks.

Also, at least some of the problems are related specifically to Chrome 17 & 18 w/firebug installed. I think I was able to get 3 or 4 working in FF11 w/ firebug.

http://localhost/ext41f/examples/simple-tasks/index.html - works until record added, restart, then no work Chrome18, FF works
http://localhost/ext41f/examples/desktop/desktop.html - system status doesnt work in Chrome18, works in FF11

There were two others ... also the examples appear to work in Chrome if I run them from sencha.com.

23 May 2012, 12:49 PM

The store param should also list that it supports a string, which would be the storeId.

27 May 2012, 3:32 PM
Ext version tested:

Ext 4.1

there is incorrect @returns value for the JSDoc

* @private
* Collects all information necessary for any subclasses to perform their editing functions.
* @param record
* @param columnHeader
* @returns {Object} The editing context based upon the passed record and column
getEditingContext: function(record, columnHeader) {
But 9 and 17 lines below there is `return;` which doesn't fit JSDoc `{Object}` definition, thus IDEs treat those lines as wrong

Possible fix: remove `{Object}` at all

27 May 2012, 11:49 PM
Thanks zombeerose, fixed internally.

28 May 2012, 10:32 AM

Missing the 'rowLines' config option.

29 May 2012, 10:56 AM
The value 'mini' is also supported for collapseMode of an Ext.panel.Panel.


30 May 2012, 8:47 AM
A function comment is being incorrectly associated with the "me" variable in the Ext.data.Model class.


31 May 2012, 7:02 AM
Missing documentation for function "getItemId" on the Ext.Component.


31 May 2012, 12:04 PM
@zombeerose: It's much better to post this kind of bugs directly to the documentation as comments for particular classes/methods. This way it will immediately benefit others who read the docs.

The issues reported above have been fixed internally.

1 Jun 2012, 7:14 AM
Thanks for the fixes.

Regarding posting "bugs" as comments in the docs, can you tell me if you or the Sencha devs get notified when any/all comments are added? If not, then I would be concerned about "bugs" getting missed/overlooked.

What should this thread be used for, if anything, anymore? The first post states "Please report any typos, inconsistencies, missing or incorrect documentation to this thread. "

1 Jun 2012, 2:53 PM
Guys, and how about my report: http://www.sencha.com/forum/showthread.php?135037-API-Documentation-Content-Bugs&p=814812&viewfull=1#post814812

3 Jun 2012, 10:15 AM
@zombeerose: You're right. I've updated the first post of the thread to reflect the new situation. Maybe the thread should be closed completely, but I think there are still problems which don't fit the docs app comments format - like when a class is missing, and it's a good place to report when the comments system goes down.

The comments to docs are definitely being watched. You should see many of them flagged with "fixed internally".

@zerkms: I've fixed it, but most fixes currently go to Ext JS 4.1.1 - so the fix won't be visible until the next release, which hopefully isn't that far away.

4 Jun 2012, 5:42 AM
It's not clear against which class the comment about events applies. We should at least guide the author of comments that he needs to specify against which component the comment apply to, see the following for example of confusion -> http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Text-event-change

4 Jun 2012, 7:11 AM
Yeah, it can be a little confusing. But the problem doesn't really pop up that often, and I think the behavior is generally beneficial - I find it's better to have comments meant for child classes lumped into parent class, than to have comments for parent class scattered around all child classes.

Probably just a bit more guidance would help.

12 Jun 2012, 6:49 AM
docs ver: 4.1.0
component: Ext.menu.CheckItem
missed: group configuration option

20 Jun 2012, 1:11 AM
docs ver: 4.1.0
component: Ext.grid.plugin.Editing
missed: any notification that grid/tree and the view will have editingPlugin property.

When configuring grid/panel to use editing (i.e. Ext.grid.plugin.CellEditing) plugin it will be great to have in the docs any note that grid/tree and the underlying view has editingPlugin property references to the instantiated and attached editing plugin.

From the source of Ext.grid.plugin.Editing

// Marks the grid as editable, so that the SelectionModel
// can make appropriate decisions during navigation
grid.isEditable = true;
grid.editingPlugin = grid.view.editingPlugin = me;

29 Jun 2012, 2:01 AM
docs ver: 4.1.0
component: Ext.data.Operation
missed: any notification about params options

missed: buildRequest detailed docs for the method

Hope proxies and operation usage will be more detailed documented in future releases.

1 Jul 2012, 3:23 PM
Ext.DomHelper is not the same as Ext.dom.Helper. Many of the methods (createHtml) that the doc claims are in Ext.dom.Helper are to be found in Ext.DomHelper.

This difference applies to the list of Alternate Names, as well as to the heading of the topic, which should be changed to Ext.DomHelper.

3 Jul 2012, 3:03 AM
Most of these issues are fixed now internally.

missed: buildRequest detailed docs for the method.

Do you mean the buildRequest method of Ext.data.proxy.Server?

3 Jul 2012, 3:47 AM
Do you mean the buildRequest method of Ext.data.proxy.Server?

Yes, it is connected with the "params" configuration from operation.

4 Jul 2012, 3:59 AM
The documentation for Ext.data.NodeInterface.findChildBy misses documentation which parameters the called function will receive. It just says :

A function which must return true if the passed Node is the required Node.

12 Jul 2012, 5:49 AM
Ext.data.proxy.Proxy seems to have 'exception' event too but this is not documented :(.
(found some StackOverflow examples with it).

This is not the same as the reader's exception event however.

18 Jul 2012, 6:52 AM
the displayTpl config is undocumented even if in the example!

23 Jul 2012, 1:19 AM
Hi all,
How can I find release note of Ext-4.1.1gpl?
Is this same with release note of Ext-4.1.1(GA)?


23 Jul 2012, 2:01 AM
@mprogr: Yes, these are the same.

30 Jul 2012, 1:22 PM
Not really a "content" bug, but when I was looking at the message box (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.window.MessageBox), after I clicked live preview, then code editor, the live preview didn't resize, which made the windows look funny. I think this happens everywhere.

9 Aug 2012, 11:08 AM
Error: "Ext.ux.RowExpander.constructor(): The 'rowBodyTpl' config is required and is not defined."

But rowBodyTpl is not detailed in the docs.

13 Aug 2012, 5:00 AM
In 4.1.1, and also in the nightly build from Aug 12, 2012, the documentation for the Component class states "See the Component Guide for more information on xtypes and the Component hierarchy.", and then the Component Guide refers you right back to the Component class: "The xtypes for all Components are listed in the API Docs for Component.", yet they are not there (previous builds defined the list in docs/source/Component3.html).

Where did the list of xtypes go?

13 Aug 2012, 5:33 AM
@pbienick Currently there's no list of xtypes. The old list was manually maintained and constantly out of date. We're planning to add a new and better one back though. At the mean time you can type "xtype:" to the search box to see a list of all xtypes. Not that great though if you want an overview of them all, better if you're looking for something specific.

13 Aug 2012, 5:40 AM
Ok, thanks for the info and the tip.

Please note that you still need to update the Component Guide since it refers to a list of xtypes that no longer exists.

14 Aug 2012, 5:50 AM
The AbstractContainer.getRefItems method should be marked protected.

It's intended to be overridden by components which have child items that are not contained in items.

I don't see this method listed even as a private method of the AbstractContainer.

15 Aug 2012, 2:07 AM
typo: ..The format dtring is als...
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Field-cfg-dateFormat (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Field-cfg-dateFormat)

15 Aug 2012, 6:16 AM
Rene, what is the meaning of the recently added asterisk (with a yellow background) following a method name?

I like how you added the Available since: Ext 4.1.0 info. :)

15 Aug 2012, 6:26 AM
The star is added to all the new items available since 4.1.0.

15 Aug 2012, 6:57 AM
The star is added to all the new items available since 4.1.0.

Cool, but it would help if a tooltip with this info was added when mousing over the asterisk.

15 Aug 2012, 6:59 AM

16 Aug 2012, 12:51 AM
http://docs.sencha.com/ext-js/4-1/guides/components/examples/lazy_instantiation/index.html seems incorret

16 Aug 2012, 1:14 PM
Online documentation at: http://docs.sencha.com/ext-js/4-1/
H (http://docs.sencha.com/ext-js/4-1/)as a top left drop down allowing to choose which version.

Version 4.1 point to a missing web page.

16 Aug 2012, 1:19 PM
@SebTardif: A good catch, thanks.

Vasiliy Faronov
21 Aug 2012, 1:42 AM
Several methods of Ext.Array are listed as properties rather than methods in 4.1.1.

21 Aug 2012, 2:53 AM
Thanks Vasiliy, already working on that.

23 Aug 2012, 4:43 AM
I'm not sure if you consider this a defect. I wanted to point out that component properties that are added dynamically are not documented.

See the Button code fragment. The childEls array lists an array of properties that will be added automatically. I think these are public properties, but they are not documented.

Ext.define('Ext.button.Button', {
childEls: [
'btnEl', 'btnWrap', 'btnInnerEl', 'btnIconEl'

30 Aug 2012, 8:31 AM
ExtJS v 4.1.1

Ext.menu.CheckItem - Missing config option "checkHandler"

Notes: This is easily the most confusing documentation bug I've come across yet. In ExtJS 3 and earlier the CheckItem.handler handled the check event, but in ExtJS 4 this has been changed such that CheckItem.checkHandler handles the check event, while (inexplicably) CheckItem.handler now handles browser events (wtf???).

Please, document checkHandler as well as providing a note in the help at the top indicating this rather confusing change in the API.

Thank you!

4 Sep 2012, 11:54 AM
ExtJS v4.1.1

Two things:

1 - The example "Grouped Header Grid" describes the syntax for grouping headers as:

header: 'Category Header',

headers: [{

header: 'First Sub Header',
dataIndex: 'subHeaderField1'

}, {

header: 'Second Sub Header',
dataIndex: 'subHeaderField2'


This is incorrect and does not actually work in ExtJS 4.1.1. The example code itself, however, does it correctly even though the description is wrong. The correct syntax is:

text: 'Category Header',
columns: [{

text: 'First Sub Header',
dataIndex: 'subHeaderField1'

}, {

text: 'Second Sub Header',
dataIndex: 'subHeaderField2'


2 - I could not find any documentation of this feature in the API docs. I suggest adding a section to the Ext.grid.Panel documentation that covers this feature.

4 Sep 2012, 12:20 PM
Just noticed this today. In the latest Chrome (21.0.1180.89 m) if you click in the search box on the top right and drag to the right, the entire top bar moves left, eventually hiding the bar.





4 Sep 2012, 2:07 PM
Hmm.. maybe it's been fixed as I can't reproduce that in Chrome 23.0.1251.2 dev. Will have to check on another machine later.

5 Sep 2012, 12:51 AM
Confirmed on Chromium 21.0.1180.57. So I think it's a bug in Chrome that's been fixed already in latest dev releases.

5 Sep 2012, 3:39 AM
when trying to open Ext.draw.Surface or other draw classes.

10 Sep 2012, 11:15 AM
The last two event args of the reconfigure event of the Ext.grid.Panel are kind of wrong.
Please check:


12 Sep 2012, 4:42 AM
@vadimv Thanks. I've tracked down the bug. The docs site should get an update in a few days.

12 Sep 2012, 7:05 AM
It would be nice if we had documentation for the newly added destroyable option.

this.cleanups = cmp.on({
select: this.onSelect,
foo: this.onFoo,
bar: this.onBar,
change: function () {
// ... yes even this :)
scope: this,
destroyable: true // create destroyable object

Jan (HL)
27 Sep 2012, 12:29 AM

The documentation and example say that the argument "4.0.0beta" would perform the code even when the current version is "4.0.0beta". But actually, the code checks if the version comparsion is smaller than 1. This means, that the code will not performed if the current version is 4.0.0beta

So, the documentation should say: Specify the version in which the function won't be called.

Maybe, this is issued by the build number (Ext.Version.compare(Ext.getVersion('extjs'), '') == 0. Should this be correct?

My replay:



build: 1
major: 4
minor: 1
patch: 2
shortVersion: "4121"
version: ""
__proto__: F

Ext.Version.compare(Ext.getVersion('extjs'), '4.1.0')
Ext.Version.compare(Ext.getVersion('extjs'), '4.1.1')
Ext.Version.compare(Ext.getVersion('extjs'), '4.1.2')
Ext.Version.compare(Ext.getVersion('extjs'), '4.1.3')

27 Sep 2012, 12:54 AM
@Jan: yes, the build number is taken into account when comparing versions. So that 4.1.2 <

Jan (HL)
27 Sep 2012, 1:42 AM
Hm, okay. But the build number is a new property? What about some generics, like "~", "*" or "?"? I.e. for a usage like "always 4.1.2 regardless build"?

Anyway, imho the build number should be taken account in the documentation.

user ext
29 Sep 2012, 1:02 AM
The documentation does not have enough information about Ext.data.Store.autoDestroy, which is used in Ext.util.Bindable.bindStore().

After destruction of the grid, the store is not destroyed automatically. If not used storeManager (if the store is created without the storeId) and not to destroy store manually, then store remains in the memory.
Maybe later it will be deleted memory manager, but for this purpose there is a Ext.data.Store.destroyStore().

If you add autoDestroy = true, on destruction of the grid is automatically called store.destroyStore(), which destroys store (cleans it, removes the listeners, etc.).

30 Sep 2012, 11:46 PM
IMO instead of "The id of the model or the model instance" should be "The class name of the model" or sth like this. How it is, sounds confusing, I was looking for some id, but when I looked to code I understood that the argument value can be only the class name of the model.


getModel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.ModelManager-method-getModel)( id ) : Ext.data.Model (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Model)2
Returns the Ext.data.Model (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Model) for a given model name
Available since: Ext 4

id : String (http://docs.sencha.com/ext-js/4-1/#!/api/String)/Object (http://docs.sencha.com/ext-js/4-1/#!/api/Object)The id of the model or the model instance.


Ext.data.Model (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Model)a model class.

30 Sep 2012, 11:56 PM
Also those code lines in that class, at the top of page, don't work, at least at me, the getModel() code confirms that below example returns undefined not usertype:

// method 1, access model type through the manager
var UserType=Ext.ModelManager.getModel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.ModelManager-method-getModel)('User');

Seems an extjs bug, because, when defining a store , there's 'model' config where docs says

model (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-cfg-model) : String (http://docs.sencha.com/ext-js/4-1/#!/api/String)5
Name of the Model (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Model) associated with this store. The string is used as an argument for Ext.ModelManager.getModel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.ModelManager-method-getModel).

looked in code and indeed ModelManager.getModel is used. So if I use in store:
- model: 'User' , won't work
- model: 'AppNamespace.model.User' works.

12 Nov 2012, 8:37 PM

Link to the document mentioned here ( Inside KeyMap Section - http://docs.sencha.com/ext-js/4-1/#!/guide/keyboard_nav ) that maps which numbers correlate to which keys is dead!
"404 Not Found Error"



4 Jan 2013, 1:51 PM


[URL="http://docs.sencha.com/ext-js/4-1/#%21/api/Ext.data.Store-method-sum"]sum (http://docs.sencha.com/ext-js/4-1/#)( field, [grouped] ) : Number (http://docs.sencha.com/ext-js/4-1/#%21/api/Number)

Sums the value of property for each record (http://docs.sencha.com/ext-js/4-1/#%21/api/Ext.data.Model) between start and end and returns the result. **
... "

"Property", "start", and "end" aren't mentioned in the entry, nor in the code. If they do apply to the entry, some specification is desired.

8 Jan 2013, 2:32 AM
Thanks. All the above issues have been fixed internally.

10 Jan 2013, 3:06 PM
The following text shows up in RegExp (http://docs.sencha.com/ext-js/4-1/#!/api/RegExp), near the middle.

`x y | Mathes eitherxory`.

It looks like a tic mark was left off.

11 Jan 2013, 1:56 AM
Thanks for the catch. A conflict between Markdown table markup and a literal "|" character.

Fixed internally in JSDuck.

11 Jan 2013, 3:54 PM
Please document the jsonData property of the hash passed to Ext.Ajax.request() as described here (http://stackoverflow.com/a/12463998). ~o)

1 Feb 2013, 1:20 AM
Trying to clean up our environment a bit, now we're using a unit test to match the symbols extracted by JsDuck to detect any overrides of private Ext JS methods in our components.

Ext.window.Window should not have its initComponent marked as private

// @private
initComponent: function() {

Same goes for Ext.grid.plugin.Editing.init.

Also, shouldn't Ext.Base.destroy be protected? Now it's an empty method which is private..?

1 Feb 2013, 3:31 AM
In Ext.dd.DragSource:

// @private
onDragEnter : function(e, id){

Should this really hide the abstract public superclass (Ext.dd.DragDrop) method?

1 Feb 2013, 3:54 AM
Ext.selection.Model has 'bindComponent' and 'onSelectChange' marked as both Abstract and Private. Should be just Abstract, or maybe Protected too?

1 Feb 2013, 4:01 AM
Heh, the things Siesta uncovers eh? Good stuff.

If someone's going to address these I'd like onClassExtended's status raised to protected (http://www.sencha.com/forum/showthread.php?254623) please, I think it deserves it.


14 Mar 2013, 1:37 AM
In ST2.1.1 documentation for Ext.data.Store is missing the info about the :
1. Filter event
2. getFilters getter

28 Mar 2013, 1:49 AM
does not contain Ext.getDisplayName() documentation.

Although, after a bit digging into sources, it is understandable, that Ext.getDisplayName() is a kind of shorthand for Ext.ClassManager.getDisplayName(), the chapter "IV.Errors Handling & Debugging" of http://docs.sencha.com/ext-js/4-2/#!/guide/class_system contains usage of Ext.getDisplayName(), so this function has to be added to Ext class API docs.

evant edit:
Looks like the docs are just incorrect, it should refer to Ext.ClassManager.getDisplayName.

28 Mar 2013, 6:42 AM
Looking into the source from API:
, we go to the source where getDisplayName is applied to Ext, but not to Ext.ClassManager.

Checking it with Firebug, we get:
Ext.ClassManager.getDisplayName undefined
Ext.getDisplayName function()

So, getDisplayName() method in API must be moved from Ext.ClassManager to Ext.

13 Jun 2013, 5:36 AM
The Container's child, down, query, queryBy and queryById methods are marked as 'Available since: Ext JS 4.2.1'

These markers are not correct since these methods were available in earlier releases.


18 Jun 2013, 7:02 AM
In the SDK documentation here:


The global variable font-size is described as a string, with a default value of "13px". However, when theming, compass bails when using a string in that format, and only accepts a number (without the quotes).

18 Jun 2013, 8:19 AM
@LesJ: Thanks for pointing out. But strictly speaking, the documentation is correct.

What the docs really say is that e.g. Ext.Queriable#down is available since 4.2.1, which is correct because Ext.Queryable didn't exist before 4.2.1.

The problem is that these methods used to be part of Ext.container.AbstractContainer, but in 4.2.1 they were moved to Ext.Queriable, which also gets mixed into some non-container classes.

I completely understand that from the Container point of view, it's had these methods since 4.0.0. And it sure can confuse somebody looking at the docs. But it can't be easily fixed without a major architectural change to the documentation system.

18 Jun 2013, 8:41 AM
Thanks, I get it. It's because 'Ext.Queryable' was added.

Do you see a certain API inconsistency?

'Ext.Queryable' vs 'Ext.util.Observable'

Queryable is not located in the util folder.

18 Jun 2013, 11:48 AM
True. And I agree it looks inconsistent. But it's a separate topic from documentation. So I suggest you create a new forum thread if you want to discuss this.

5 Aug 2013, 10:29 AM
Clicking on the Documentation / ExtJS 4 link from the forum page (here) results in a redirect loop. Clicking on the link from the Sencha home page works, though.

6 Aug 2013, 10:24 PM
Thanks for reporting. Should be fixed now.

22 Aug 2013, 9:56 AM
I tried to use setLoading on a treepanel, didn't work, then I found this post (http://www.sencha.com/forum/showthread.php?255928).

Is setLoading deprecated?

2 Sep 2013, 4:38 AM
Undocumented config "labelTitle" in 4.2.1 Ext.chart.axis.Abstract

16 Sep 2013, 7:09 AM
The datachanged event of Ext.data.Store says:

Fires whenever the records in the Store have changed in some way - this could include adding or removing records, or updating the data in existing records

I am not seeing the bolded occur when an existing record's data is updated through the set method.
The afterEdit method is only firing the update event.
There was a thread on this last year (http://www.sencha.com/forum/showthread.php?194440-Ext.data.Store-datachanged-event), which was never resolved.

Could the bolded be taken out from the docs, or the issue resolved?

19 Sep 2013, 8:59 AM

isCategoryAxis should be marked as a property, not private

Ext.define('Ext.chart.axis.Category', {
// @private
isCategoryAxis: true,

ext-4.2.1 (same here)

Ext.define('Ext.chart.axis.Numeric', { ...
// @private
isNumericAxis: true,