mirror of
https://github.com/zulip/zulip.git
synced 2025-11-10 17:07:07 +00:00
Extract drafts process enter key to drafts.js.
Extracted draft code from hotkey.process_enter_key to drafts.js.
This commit is contained in:
@@ -238,6 +238,7 @@ exports.drafts_overlay_open = function () {
|
|||||||
exports.drafts_handle_events = function (e, event_key) {
|
exports.drafts_handle_events = function (e, event_key) {
|
||||||
var draft_arrow = draft_model.get();
|
var draft_arrow = draft_model.get();
|
||||||
var draft_id_arrow = Object.getOwnPropertyNames(draft_arrow);
|
var draft_id_arrow = Object.getOwnPropertyNames(draft_arrow);
|
||||||
|
|
||||||
// This detects up arrow key presses when the draft overlay
|
// This detects up arrow key presses when the draft overlay
|
||||||
// is open and scrolls through the drafts.
|
// is open and scrolls through the drafts.
|
||||||
if (event_key === "up_arrow") {
|
if (event_key === "up_arrow") {
|
||||||
@@ -295,11 +296,11 @@ exports.drafts_handle_events = function (e, event_key) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var elt = document.activeElement;
|
||||||
|
var focused_draft = $(elt.parentElement)[0].getAttribute("data-draft-id");
|
||||||
// Allows user to delete drafts with backspace
|
// Allows user to delete drafts with backspace
|
||||||
if (event_key === "backspace") {
|
if (event_key === "backspace") {
|
||||||
var elt = document.activeElement;
|
|
||||||
if (elt.parentElement.hasAttribute("data-draft-id")) {
|
if (elt.parentElement.hasAttribute("data-draft-id")) {
|
||||||
var focused_draft = $(elt.parentElement)[0].getAttribute("data-draft-id");
|
|
||||||
var focus_draft_back_row = $(elt)[0].parentElement;
|
var focus_draft_back_row = $(elt)[0].parentElement;
|
||||||
var backnext_focus_draft_row = $(focus_draft_back_row).next();
|
var backnext_focus_draft_row = $(focus_draft_back_row).next();
|
||||||
var backprev_focus_draft_row = $(focus_draft_back_row).prev();
|
var backprev_focus_draft_row = $(focus_draft_back_row).prev();
|
||||||
@@ -320,6 +321,17 @@ exports.drafts_handle_events = function (e, event_key) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This handles when pressing enter while looking at drafts.
|
||||||
|
// It restores draft that is focused.
|
||||||
|
if (event_key === "enter") {
|
||||||
|
if (document.activeElement.parentElement.hasAttribute("data-draft-id")) {
|
||||||
|
exports.restore_draft(focused_draft);
|
||||||
|
} else {
|
||||||
|
var first_draft = draft_id_arrow[draft_id_arrow.length-1];
|
||||||
|
exports.restore_draft(first_draft);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.toggle = function () {
|
exports.toggle = function () {
|
||||||
|
|||||||
@@ -318,15 +318,7 @@ exports.process_enter_key = function (e) {
|
|||||||
// This handles when pressing enter while looking at drafts.
|
// This handles when pressing enter while looking at drafts.
|
||||||
// It restores draft that is focused.
|
// It restores draft that is focused.
|
||||||
if (drafts.drafts_overlay_open()) {
|
if (drafts.drafts_overlay_open()) {
|
||||||
var draft_list = drafts.draft_model.get();
|
drafts.drafts_handle_events(e, "enter");
|
||||||
if (document.activeElement.parentElement.hasAttribute("data-draft-id")) {
|
|
||||||
var focused_draft = document.activeElement.parentElement.getAttribute("data-draft-id");
|
|
||||||
drafts.restore_draft(focused_draft);
|
|
||||||
} else {
|
|
||||||
var draft_id_list = Object.getOwnPropertyNames(draft_list);
|
|
||||||
var first_draft = draft_id_list[draft_id_list.length-1];
|
|
||||||
drafts.restore_draft(first_draft);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user