The bug report is based on this my answer on the stackoverflow. The 4.1.0 version of the actions formatter has new hovering effects on the action buttons which works wrong on the line which is in the inline editing mode after the clicking of the "Edit" action button. The hovering shows wrong image from the middle of the corresponding background image:
I suggest to change the action onmouseover for div.ui-inline-save, div.ui-inline-cancel from
Moreover there are exist another problem if one select another row during a row is in inline mode started with respect of "Edit" action button. The Save and Cancel buttons stay visable:
To fix the problem one have to use the code like
var tr = grid.rows.namedItem(lastSel); $("div.ui-inline-edit, div.ui-inline-del",tr).show(); $("div.ui-inline-save, div.ui-inline-cancel",tr).hide();
after calling of restoreRow in the onSelectRow event handle. I don't tested editformbutton mode, but I suppose one will have the same problems in the case.
One should fix the problem or at least introduce new public which should be called after restoreRow for example.
One more remark about the code of the action formatter. One should use jqID method in many places of the code. Morover, like you Tony as good knows, the usage of .rows.namedItem constructs are much more effective as the usage of '#' selector in many places of the current code. Example:
in general the hovering effects on the icons seems good in my opinion. One should just fix the code. The demo looks prity good. I added here the switching of action buttons in case of the standard editing.
The only thing which I personally not like in the actions formatter code is the usage of "onmouseover" and "onmouseout" instead of unobtrusive style binding. The best way of implementation in my opinion are described here. I mean that it would be good to use additional event handler for onCellSelect or beforeSelectRow events in the code of formatter. I understand that there are one general design problem which need be solved, but one can solve the problem in many way. One should just think a little and decide which way is the best.
or rewrote such lines usaging .rows.namedItem constructs like I mention before.
About reducing of the number of "onmouseover", "onmouseout" and "onclick" handles in the jqGrid I'll write better in the separate "Feature Request" and explain more exactly what I mean.
Best regards Oleg
P.S. If you prepare the 4.1.1 version, please read another bug report. Currently 1) after clicking on "Reset" button in the Single Search filter dilalog some fields will be visable (all will be afther resetting like in the "Advance Searching" dialog) 2) In both "Single Search" and "Advance Searching" dialog the last rule can be removed which has no sence and which was not permitted in the previous version of the "Advance Searching" dialog. 3) The focus in the Searching dialog is not optimal 4) there are no more keyboard support (Esc or Enter).
Some additional problem is that it is not so easy to impelment change focus behavior in the new searching dialog because the fields of the dialog fill be repaint. I have to overwrite/chain the reDraw method. It would be nice to have some additional events in the the Filter dialog. For example new events like beforeRedraw and event more important afterRedraw and so on would be very helpfull for the Filter dialog customization.
in my opinion kobruleht described the problem not correct. Nevertheless the problem is really exist. I can reformulate the problem so. To be able to implement inline editing jqGrid provide not only the editRow method but the restoreRow method which can be used inside of onSelectRow for example to implement the behavior of inline editing like one needs. The formatter:'actions' hide or make visible the divs with actions. So the usage of restoreRow method along is not enough.
I see the problem so that one should provide public restoreActionIcons method which is close to the internal restorerow method. So one will not need to have the knowladge about the dives names to be able to cancel the row editing. See the answer for details.