Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTGWT-3065
in
3.0.7.
-
Sencha Premium Member
GridInlineEditing with ClicksToEdit.ONE not possible with Firefox
Required Information Version(s) of Ext GWT
Ext GWT 3.0.5
Browser versions and OS (and desktop environment, if applicable)
- Internet Explorer 9, Windows 7 (working)
- Firefox 21, Windows 7 (not working)
Virtual Machine
No
Description
Cells which are being made editable with GridInlineEditing are not editable with GXT 3.0.5 using the current Firefox browser. This worked with previous GXT versions.
Run mode
both
Steps to reproduce the problem
- Create a Grid
- Install GridInlineEditing on that Grid
- Add items to the ListStore
- Try editing the grid with Firefox (21, will not work)
- Try editing the grid with Internet Explorer (9, will work)
Expected result
That the editable Field is shown when clicking on the editable cell.
Actual result
The editable Field appears for a fraction of a second and then disappears again.
Test case
Code:
package com.noneditablegrid;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.RootLayoutPanel;
import com.sencha.gxt.core.client.ValueProvider;
import com.sencha.gxt.data.shared.ListStore;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;
import com.sencha.gxt.widget.core.client.form.TextField;
import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
import com.sencha.gxt.widget.core.client.grid.ColumnModel;
import com.sencha.gxt.widget.core.client.grid.Grid;
import com.sencha.gxt.widget.core.client.grid.editing.GridInlineEditing;
import java.util.Collections;
public class NonEditableGridEntryPoint
implements EntryPoint
{
private static final ModelBeanPropertyAccess PROPS = GWT.create(ModelBeanPropertyAccess.class);
private final ColumnConfig<ModelBean, String> columnConfig = new ColumnConfig<ModelBean, String>(PROPS.value(), 200, "StringColumn");
private final Grid<ModelBean> grid = new Grid<ModelBean>(new ListStore<ModelBean>(PROPS.key()),
new ColumnModel<ModelBean>(Collections.<ColumnConfig<ModelBean, ?>>singletonList(columnConfig)));
public NonEditableGridEntryPoint() {
new GridInlineEditing<ModelBean>(grid).addEditor(columnConfig, new TextField());
grid.getStore().add(new ModelBean("key", "try editing this cell"));
}
public static class ModelBean {
private final String key;
private String value;
ModelBean(String key, String value) { this.key = key; this.value = value; }
String getKey() { return key; }
String getValue() { return value; }
}
public interface ModelBeanPropertyAccess extends PropertyAccess<ModelBean> {
ModelKeyProvider<ModelBean> key();
ValueProvider<ModelBean, String> value();
}
@Override
public void onModuleLoad() {
RootLayoutPanel.get().add(grid);
}
}
Helpful Information Screenshot or video
Not provided
Live test
Not provided
Debugging already done
- The issue does not appear when ClicksToEdit.TWO is set on the GridInlineEditing
By looking at the code differences between the versions 3.0.4 and 3.0.5 I found out that the bug was introduced by modifications done to the handleRowClick() method of the GridSelectionModel class.
By installing an extended GridSelectionModel instance on the Grid which has the handleRowClick() method overriden with the same content from the previous GXT 3.0.4 version the issue disappears.
Possible fix
Not provided
-
Sencha User
Thanks for the report! I have opened a bug in our bug tracker.
-
It looks like this bug has nothing directly to do with the ClicksToEdit setting, but is, as you pointed out, a bug in the selection model. Using a different selection model is the cleanest way to fix this for now:
Code:
grid.setSelectionModel(new CellSelectionModel<MyObject>());
There is a fix that will tentatively be a part of 3.0.6, but we are continuing to vet it. If possible, please try out the latest nightly builds to see if they resolve this bug for you.
-
Ext GWT Premium Member
Any updates on this? We were looking to move to GXT 3.0.5 from 3.0.4 to fix the growing header issue, but this is a showstopper for us.
-
Sorry for the confusion - the bug's header was updated to mark it as fixed, but no comment was added.
This has been fixed in SVN and the latest nightly builds - you can check it out there to confirm that it works. It will be available in the next release.
-
Sencha Premium Member
Not quite fixed yet...
I discovered, that there is still an issue when editing with the GridInlineEditing.
How to reproduce?
1. Use the EntryPoint from above
2. Open with Firefox
3. Try to edit the cell multiple times
The first edit works. Successive attemps fail.
This seems to happen only when ClicksToEdit.ONE (GridInlineEditing, default) and SelectionMode.MULTI (SelectionMode, default) is set. It's not possible to edit a cell
which is currently selected.
Best regards,
Daniel Kay
-
Sencha Premium Member
Any news on this?
It's a few days ago since I posted this. Shall I rather open a new thread for this?
-
Sorry for the delay - I've reopened it internally but we haven't yet reproduced it. I've marked it externally as reopened now as well and we will update when we have more details to share.