PDA

View Full Version : [OPEN] Missing "itemId" on "Cancel" button of RowEditor



agarberi
8 Oct 2014, 6:04 AM
Ext version tested:

Ext 4.2.3 -> NO BUG
Ext 5.0.0.736
Ext 5.0.1.1255
Ext 5.0.2 rev 1381 (Nightly 2014-09-21)
Ext Nightly 2014-10-08
Description:

The "itemId" of the "Cancel" button of the RowEditor has been removed, so now you are not able any more to reference it from code.
The reference to the button is useful to change text, icon and disabled state dinamically.
Note that the "Update" button still has itemId 'update' and in Ext JS 4.2.3 the itemId of the "Cancel" button was 'cancel'.
Steps to reproduce the problem:

Try to reference the cancel button inside RowEditor with this code:
this.floatingButtons.child('#cancel')
The result that was expected:

It returns a reference to the "Cancel" button.
The result that occurs instead:

It returns null.
This is the code from Ext.grid.RowEditorButtons.constructor with commented out the missing line (copied from Ext JS 4.2.3):


items: [{
cls: cssPrefix + 'row-editor-update-button',
itemId: 'update',
handler: plugin.completeEdit,
text: rowEditor.saveBtnText,
disabled: rowEditor.updateButtonDisabled
}, {
cls: cssPrefix + 'row-editor-cancel-button',
//itemId: 'cancel', // This line was available in Ext JS 4.2.3, now it is not
handler: plugin.cancelEdit,
text: rowEditor.cancelBtnText
}]

Gary Schlosberg
8 Oct 2014, 9:56 AM
Thanks for the report. Can you please post a test case which displays the issue you are facing?
https://fiddle.sencha.com/#home

agarberi
9 Oct 2014, 12:19 AM
Why a Fiddle?
It's just an itemId missing.
It's obvious that a query with ComponentQuery using '#' cannot work if you remove the itemId from the Component.

I'm already spending half of my developing time to identify bugs on code that worked perfectly on Ext JS 4, then I have to find a workaround to make the application work, then I make a detailed report of the bug (by the way knowing that probably the bug will never be fixed by you) and you ask me to spend even more time to make a Fiddle for something so silly?

Generally speaking: I give you the found bugs (did you test something before releasing the code?), if possible, I tell you a solution, I give you a fiddle to test it. Then very often the bug will never be fixed. I spent a lot of time, but what did you do? Why am I paying for a support (by the way having to pay for 5 licenses when only 2 where needed)?

agarberi
9 Oct 2014, 12:54 AM
Sorry Gary for last message, I imagine you are doing what others told you to do.

Anyway it's becoming really difficult to develop with Ext JS: too many bugs and almost no support.
We are really spending more time with your bugs than with our application (and we chose Ext JS hoping to develop complex applications in less time than with other libraries!).

I prepared the Fiddle, but it shows 2 bugs instead of 1!!! (what a strange thing these days with Ext JS...).
I'll open another bug report for that, anyway you can see that:
- the text inside the edited cell is double
- if you click again the same cell after having dismissed the message, the "beforeedit" event is fired again (showing you again the message) and so on (you can exit the loop only clicking on another cell)
- this new bug happens only from 5.0.1 (not with 5.0.0)

Here is the Fiddle for the bug:
- just start editing a row
- the example tries to replace "Update" with "AAA" and "Cancel" with "BBB"
- "update" is found while "cancel" is not
bhk

Gary Schlosberg
10 Oct 2014, 3:32 PM
Thank you for your understanding, and for the test case. I have opened a bug in our bug tracker.