-
11 Mar 2013 12:34 PM #1
ST v2.1.1 - Ext.tab.Panel's delegateListeners won't fire!
ST v2.1.1 - Ext.tab.Panel's delegateListeners won't fire!
In our application we use the ability to disable a tab by disabling its panel quite frequently. I've been upgrading the same application from 2.0.3 to 2.1.1 and I've noticed that I can no longer disable tabs. In fact, when checking "getDisabled()" on the active panel it says "true" but the class wasn't applied and I can select the tab.
Not sure exactly where the bug resides, though I'm fairly sure it isn't with Ext.tab.Tab or with Ext.tab.Panel.Last edited by robert_k; 12 Mar 2013 at 6:43 AM. Reason: Clarified title
-
12 Mar 2013 6:42 AM #2
Found why the bug happens
Found why the bug happens
I'm still not sure what's causing the error, but the problem is with "delegateListeners" for Ext.tab.Panel not being triggered. I can manually enable/disable a tab and it works properly, but if I enable/disable the panel the delegateListeners won't fire. The same happens for hidden.
I don't know that this issue is unique to Ext.tab.Panel, so this could be causing problems elsewhere (and probably is).
-
12 Mar 2013 7:23 AM #3Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,599
- Vote Rating
- 435
Looks like it needs to be removed as it's no longer used at all. delegateListeners is marked as private so looks like it is going away.
Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
12 Mar 2013 7:35 AM #4
Okay, but that reinforces the problem: there's nothing handling hidden/disabled/docked/floating property changes and synchronizing them with the tab button. This is in the current 2.1.1 release version no less.
I can work around this by enabling/disabling the panel.tab property.
If this were really "going away" it should either: work and show a deprecation notice, or be completely replaced.
-
25 Mar 2013 10:23 AM #5Sencha - Sencha Touch Dev Team
- Join Date
- Mar 2007
- Location
- Redwood City, California
- Posts
- 3,651
- Vote Rating
- 14
This is indeed a mistake to still have the delegateListeners object in place. It has been removed and the listener has been put back in place in the initialize method:
Code:initialize: function() { this.callParent(); this.on({ order: 'before', activetabchange: 'doTabChange', delegate: '> tabbar', scope : this }); this.on({ disabledchange: 'onItemDisabledChange', delegate: '> component', scope : this }); },
Success! Looks like we've fixed this one. According to our records the fix was applied for
TOUCH-4116
in
Sprint 32.


Reply With Quote