Search code examples
javascriptextjsextjs3

How to search for a child in a panel in ExtJs


How can I find if a particular child (item) exists in a panel using the id of the child.

Say I have a parent paned (id = parentPanel) and few panels as items of this parent panel. Now, I would like to search if a panel by id 'childPanel09' is a child of parent panel.

[Possibly without using iteration]

Note: I am using ExtJs 3.4


Solution

  • If you want to search only among direct childs of parentPanel you can use getComponent:

    var childPanel = Ext.getCmp('parentPanel').getComponent('childPanel09');
    if (childPanel) {
      alert('yes. child exists');
    }
    

    If you want to search not only among direct childs but at any layer under the parentPanel you can use find:

    var childPanel = Ext.getCmp('parentPanel').find('id', 'childPanel09')[0]; // [0] because find returns array
    if (childPanel) {
      alert('yes. child exists');
    }