As expected the issue was with calling the startup method too early - however the widget itself did not have an issue.
The problem encountered was with the parent widget. The parent widget (a TabContainer) was not being started properly. This is how the parent widget was working:
- Create new TabContainer:
var tc = new TabContainer({...});
- Create new ContentPane:
var cp1 = new ContentPane({content: <the above widget>, ...});
- Add ContentPane to TabContainer:
tc.addChild(cp1);
- Call startup on TabContainer:
tc.startup();
Changing the order to this, resolved the issue:
- Create new TabContainer:
var tc = new TabContainer({...});
- Call startup on TabContainer:
tc.startup();
- Create new ContentPane:
var cp1 = new ContentPane({content: <the above widget>, ...});
- Add ContentPane to TabContainer:
tc.addChild(cp1);