Mail: Make sure pressing [del] key twice in a row does not delete the first row on the second press

This commit is contained in:
nathan 2021-11-22 11:56:42 -07:00
parent 6502687268
commit 4cc8eea7b6

View File

@ -16,7 +16,8 @@ import {et2_createWidget} from "../../api/js/etemplate/et2_core_widget";
import {et2_dialog} from "../../api/js/etemplate/et2_widget_dialog"; import {et2_dialog} from "../../api/js/etemplate/et2_widget_dialog";
import {et2_button} from "../../api/js/etemplate/et2_widget_button"; import {et2_button} from "../../api/js/etemplate/et2_widget_button";
import {egw_getObjectManager} from '../../api/js/egw_action/egw_action.js'; import {egw_getObjectManager} from '../../api/js/egw_action/egw_action.js';
import {egwIsMobile} from "../../api/js/egw_action/egw_action_common.js"; import {egwIsMobile, egwSetBit} from "../../api/js/egw_action/egw_action_common.js";
import {EGW_AO_FLAG_DEFAULT_FOCUS} from "../../api/js/egw_action/egw_action_constants.js";
import {egw_keycode_translation_function, egw_keycode_makeValid} from "../../api/js/egw_action/egw_keymanager.js"; import {egw_keycode_translation_function, egw_keycode_makeValid} from "../../api/js/egw_action/egw_keymanager.js";
/* required dependency, commented out because no module, but egw:uses is no longer parsed /* required dependency, commented out because no module, but egw:uses is no longer parsed
*/ */
@ -207,6 +208,9 @@ app.classes.mail = AppJS.extend(
var nm = this.et2.getWidgetById(this.nm_index); var nm = this.et2.getWidgetById(this.nm_index);
this.mail_isMainWindow = true; this.mail_isMainWindow = true;
// Stop list from focussing next row on keypress
egw_getObjectManager('nm').flags = egwSetBit(egw_getObjectManager('nm').flags, EGW_AO_FLAG_DEFAULT_FOCUS, false);
// Set preview pane state // Set preview pane state
this.mail_disablePreviewArea(!this.getPreviewPaneState()); this.mail_disablePreviewArea(!this.getPreviewPaneState());
@ -217,7 +221,8 @@ app.classes.mail = AppJS.extend(
if (nm != null && (typeof jQuery._data(nm).events == 'undefined' || typeof jQuery._data(nm).events.refresh == 'undefined')) if (nm != null && (typeof jQuery._data(nm).events == 'undefined' || typeof jQuery._data(nm).events.refresh == 'undefined'))
{ {
var self = this; var self = this;
jQuery(nm).on('refresh',function(_event, _widget, _row_id, _type) { jQuery(nm).on('refresh', function (_event, _widget, _row_id, _type)
{
if (!self.push_active[_widget.settings.foldertree.split("::")[0]]) if (!self.push_active[_widget.settings.foldertree.split("::")[0]])
{ {
self.mail_refreshFolderStatus.call(self, undefined, undefined, false); self.mail_refreshFolderStatus.call(self, undefined, undefined, false);