Rohit Waghchaure преди 9 години
родител
ревизия
d1f03ce873
променени са 1 файла, в които са добавени 44 реда и са изтрити 42 реда
  1. +44
    -42
      frappe/public/js/frappe/form/grid.js

+ 44
- 42
frappe/public/js/frappe/form/grid.js Целия файл

@@ -820,50 +820,52 @@ frappe.ui.form.GridRow = Class.extend({

set_arrow_keys: function(field) {
var me = this;
field.$input.on('keydown', function(e) {
var values = me.frm.doc[me.grid.df.fieldname];
var fieldname = $(this).attr('data-fieldname');
// TAB
if(e.which==TAB) {
// last column
if(me.grid.wrapper.find('input:enabled:last').get(0)===this) {
setTimeout(function() {
if(me.doc.idx === values.length) {
// last row
me.grid.add_new_row(null, null, true);
me.grid.grid_rows[me.grid.grid_rows.length - 1].toggle_editable_row();
me.grid.set_focus_on_row();
} else {
me.grid.grid_rows[me.doc.idx].toggle_editable_row();
me.grid.set_focus_on_row(me.doc.idx+1);
}
}, 500);
}
} else if(e.which==UP_ARROW) {
if(me.doc.idx > 1) {
var prev = me.grid.grid_rows[me.doc.idx-2];
prev.toggle_editable_row();
setTimeout(function() {
var input = prev.columns[fieldname].field.$input;
if(input) {
input.focus();
}
}, 400)
}
} else if(e.which==DOWN_ARROW) {
if(me.doc.idx < values.length) {
var next = me.grid.grid_rows[me.doc.idx];
next.toggle_editable_row();
setTimeout(function() {
var input = next.columns[fieldname].field.$input;
if(input) {
input.focus();
}
}, 400)
if(field.$input) {
field.$input.on('keydown', function(e) {
var values = me.frm.doc[me.grid.df.fieldname];
var fieldname = $(this).attr('data-fieldname');
// TAB
if(e.which==TAB) {
// last column
if(me.grid.wrapper.find('input:enabled:last').get(0)===this) {
setTimeout(function() {
if(me.doc.idx === values.length) {
// last row
me.grid.add_new_row(null, null, true);
me.grid.grid_rows[me.grid.grid_rows.length - 1].toggle_editable_row();
me.grid.set_focus_on_row();
} else {
me.grid.grid_rows[me.doc.idx].toggle_editable_row();
me.grid.set_focus_on_row(me.doc.idx+1);
}
}, 500);
}
} else if(e.which==UP_ARROW) {
if(me.doc.idx > 1) {
var prev = me.grid.grid_rows[me.doc.idx-2];
prev.toggle_editable_row();
setTimeout(function() {
var input = prev.columns[fieldname].field.$input;
if(input) {
input.focus();
}
}, 400)
}
} else if(e.which==DOWN_ARROW) {
if(me.doc.idx < values.length) {
var next = me.grid.grid_rows[me.doc.idx];
next.toggle_editable_row();
setTimeout(function() {
var input = next.columns[fieldname].field.$input;
if(input) {
input.focus();
}
}, 400)
}
}
}

});
});
}
},

get_open_form: function() {


Зареждане…
Отказ
Запис