PDA

View Full Version : Why remove functionality?



george4isvy
22 Jan 2012, 8:15 AM
There's a lot of discussion around performance, but I have a different gripe. Why did ExtJS4 remove perfectly fine functionality?

Case in point: fieldset/checkboxToggle. The 3.4 and 4.0 docs are linked to below:

http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.FieldSet-cfg-checkboxToggle
http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.FieldSet-cfg-checkboxToggle
As you can see by reading in ExtJS4 the ability to specify a DomHelper was removed. Why? Who made this decision? I'm converting code for a client from 3.4 to 4.0 and they were relying on the functionality based on being able to pass a DomHelper; what do I tell them? Is it going to be added back or do we spend the time doing so ourselves? How many more surprises like this, un-caught by the compatibility layer, can we expect?

mitchellsimoens
23 Jan 2012, 1:41 PM
It probably wasn't a decision to remove that, just wasn't part of the major restructuring of the framework.

george4isvy
23 Jan 2012, 2:21 PM
It probably wasn't a decision to remove that, just wasn't part of the major restructuring of the framework.

There absolutely *was* a decision to remove it, because it *was* removed, and the documentation *was* modified to reflect that change. When the framework got "restructured" it needed to be done in a way to not break the existing implementation, which is readily apparent from the onRender method right at the top of Fieldset in version 3.3 (and 3.4 I'm sure).

25 Jan 2012, 4:51 PM
I can't speak for Sencha, but my thought is that a decision was made in the best interest of the framework itself.

They worked pretty damn hard to keep backwards compatibility as much as possible after the restructure. Evidence of that can be found in Panel tools, where even though Tool extends buttons, it calls its handler in the same way that tools used to call their handlers, even though it goes against every other button handler pattern in the framework.

george4isvy
26 Jan 2012, 9:31 AM
I can't speak for Sencha, but my thought is that a decision was made in the best interest of the framework itself.

They worked pretty damn hard to keep backwards compatibility as much as possible after the restructure.

Fair enough, I just needed to read more (but I also need to account for "billable hours"); I did find this in the meantime: http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.FieldSet-property-checkboxCmp along with the following commentary in the source code: "Creates the checkbox component. This is only called internally, but could be overridden in subclasses to customize the checkbox's configuration or even return an entirely different component type"