IDEMPIERE-3179:record should move to editing mode when user is editing first field
This commit is contained in:
parent
60cc3c8364
commit
9dccd57617
|
@ -240,5 +240,10 @@ public class ADWindowContent extends AbstractADWindowContent
|
||||||
SessionManager.getSessionApplication().getKeylistener().removeEventListener(Events.ON_CTRL_KEY, content);
|
SessionManager.getSessionApplication().getKeylistener().removeEventListener(Events.ON_CTRL_KEY, content);
|
||||||
} catch (Exception e){}
|
} catch (Exception e){}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void switchEditStatus(boolean editStatus) {
|
||||||
|
layout.setWidgetOverride("isEditting", "'" + String.valueOf(editStatus) + "'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -267,6 +267,8 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
*/
|
*/
|
||||||
protected abstract IADTabbox createADTab();
|
protected abstract IADTabbox createADTab();
|
||||||
|
|
||||||
|
protected abstract void switchEditStatus(boolean editStatus);
|
||||||
|
|
||||||
private void focusToActivePanel() {
|
private void focusToActivePanel() {
|
||||||
IADTabpanel adTabPanel = adTabbox.getSelectedTabpanel();
|
IADTabpanel adTabPanel = adTabbox.getSelectedTabpanel();
|
||||||
focusToTabpanel(adTabPanel);
|
focusToTabpanel(adTabPanel);
|
||||||
|
@ -1556,10 +1558,13 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
{
|
{
|
||||||
adTabbox.updateDetailPaneToolbar(changed, readOnly);
|
adTabbox.updateDetailPaneToolbar(changed, readOnly);
|
||||||
}
|
}
|
||||||
toolbar.enableIgnore(adTabbox.needSave(true, false) ||
|
boolean isEditting = adTabbox.needSave(true, false) ||
|
||||||
adTabbox.getSelectedGridTab().isNew() ||
|
adTabbox.getSelectedGridTab().isNew() ||
|
||||||
(adTabbox.getSelectedDetailADTabpanel() != null && adTabbox.getSelectedDetailADTabpanel().getGridTab().isNew()));
|
(adTabbox.getSelectedDetailADTabpanel() != null && adTabbox.getSelectedDetailADTabpanel().getGridTab().isNew());
|
||||||
|
toolbar.enableIgnore(isEditting);
|
||||||
|
|
||||||
|
switchEditStatus (isEditting);
|
||||||
|
|
||||||
if (changed && !readOnly && !toolbar.isSaveEnable() ) {
|
if (changed && !readOnly && !toolbar.isSaveEnable() ) {
|
||||||
if (tabPanel.getGridTab().getRecord_ID() > 0) {
|
if (tabPanel.getGridTab().getRecord_ID() > 0) {
|
||||||
if (adTabbox.getSelectedIndex() == 0 && !detailTab) {
|
if (adTabbox.getSelectedIndex() == 0 && !detailTab) {
|
||||||
|
|
|
@ -40,6 +40,30 @@ Copyright (C) 2007 Ashley G Ramdass.
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
zk.afterLoad('zul.wgt', function () {
|
||||||
|
// should filter out for only component inside standard window or component wish fire this event,
|
||||||
|
// or ever rise other event like start editting to distinguish with true onChange event
|
||||||
|
zk.override(zul.inp.InputWidget.prototype, "doInput_", function (evt) {
|
||||||
|
this.$doInput_(evt);
|
||||||
|
var domElemOfLayout = jq('#' + this.$n().id).closest(".adwindow-layout");
|
||||||
|
if (domElemOfLayout == null){
|
||||||
|
;// do nothing
|
||||||
|
}else{
|
||||||
|
var winLayoutWg = zk.Widget.$(domElemOfLayout);
|
||||||
|
if (winLayoutWg == null){
|
||||||
|
;// do nothing
|
||||||
|
}else{
|
||||||
|
var isEditting = winLayoutWg.get ("isEditting");
|
||||||
|
// winLayoutWg should cache to improve perfomance
|
||||||
|
if (isEditting == "false"){
|
||||||
|
zAu.send(new zk.Event(zk.Widget.$(this), 'onChange',{"value":this.$n().value}));//fire change event to move to edit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
zk.afterLoad('zul.mesh', function () {
|
zk.afterLoad('zul.mesh', function () {
|
||||||
|
|
||||||
zk.override(zul.mesh.Paging.prototype, "bind_", function () {
|
zk.override(zul.mesh.Paging.prototype, "bind_", function () {
|
||||||
|
|
Loading…
Reference in New Issue