@bobfrankston/rmfmail 1.0.523 → 1.0.525
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/app.js +22 -5
- package/client/app.js.map +1 -1
- package/client/app.ts +2 -2
- package/client/components/calendar-sidebar.js +203 -34
- package/client/components/calendar-sidebar.js.map +1 -1
- package/client/components/calendar-sidebar.ts +140 -25
- package/client/lib/api-client.js.map +1 -1
- package/client/lib/api-client.ts +6 -1
- package/package.json +1 -1
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +108 -51
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +102 -49
- package/packages/mailx-settings/package.json +1 -1
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-types/index.d.ts +27 -3
- package/packages/mailx-types/index.d.ts.map +1 -1
- package/packages/mailx-types/index.js.map +1 -1
- package/packages/mailx-types/index.ts +28 -3
- package/packages/mailx-types/package.json +1 -1
package/client/app.js
CHANGED
|
@@ -863,6 +863,22 @@ function forwardBody(msg) {
|
|
|
863
863
|
let lastDeleted = null;
|
|
864
864
|
let lastMoved = null;
|
|
865
865
|
let undoTimeout = null;
|
|
866
|
+
/** Route a "delete the selection" action (Delete key, Ctrl+D, top trash
|
|
867
|
+
* button) to whichever pane has a selection. Tasks take priority — if
|
|
868
|
+
* any task rows are selected, delete those; otherwise fall through to
|
|
869
|
+
* messages. The previous behavior was to always delete messages, which
|
|
870
|
+
* surprised users who'd just selected a few tasks and hit Delete. */
|
|
871
|
+
async function deleteSelection() {
|
|
872
|
+
try {
|
|
873
|
+
const sidebar = await import("./components/calendar-sidebar.js");
|
|
874
|
+
if (sidebar.getSelectedTaskUuids().length > 0) {
|
|
875
|
+
await sidebar.deleteSelectedTasks();
|
|
876
|
+
return;
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
catch { /* sidebar module not loaded yet — fall through to messages */ }
|
|
880
|
+
await deleteSelectedMessages();
|
|
881
|
+
}
|
|
866
882
|
async function deleteSelectedMessages() {
|
|
867
883
|
const selected = getSelectedMessages();
|
|
868
884
|
// Fall back to single message from viewer if nothing selected in list
|
|
@@ -973,11 +989,12 @@ document.addEventListener("mailx-moved", (e) => {
|
|
|
973
989
|
clearTimeout(undoTimeout);
|
|
974
990
|
undoTimeout = setTimeout(() => { lastMoved = null; }, 60000);
|
|
975
991
|
});
|
|
976
|
-
document.getElementById("btn-delete")?.addEventListener("click",
|
|
992
|
+
document.getElementById("btn-delete")?.addEventListener("click", deleteSelection);
|
|
977
993
|
// Same handlers also bound to the top-toolbar icons so delete/spam work
|
|
978
994
|
// regardless of whether a message is open in the viewer. Useful for quick
|
|
979
|
-
// triage from a list-only view.
|
|
980
|
-
|
|
995
|
+
// triage from a list-only view. Top trash button uses deleteSelection so
|
|
996
|
+
// it follows the user's task selection when present (otherwise messages).
|
|
997
|
+
document.getElementById("btn-tb-delete")?.addEventListener("click", deleteSelection);
|
|
981
998
|
document.getElementById("btn-tb-spam")?.addEventListener("click", spamSelectedMessages);
|
|
982
999
|
// ── Flag toggle ──
|
|
983
1000
|
document.getElementById("btn-flag")?.addEventListener("click", async () => {
|
|
@@ -1347,7 +1364,7 @@ document.addEventListener("mailx-compose", ((e) => {
|
|
|
1347
1364
|
openCompose(e.detail.mode);
|
|
1348
1365
|
}
|
|
1349
1366
|
}));
|
|
1350
|
-
document.addEventListener("mailx-delete", () =>
|
|
1367
|
+
document.addEventListener("mailx-delete", () => deleteSelection());
|
|
1351
1368
|
// Share / mailto intents (Android-side: MainActivity routes share-sheet
|
|
1352
1369
|
// invocations and mailto: links here. Desktop has no equivalent today —
|
|
1353
1370
|
// MSIX / Windows share-target requires packaging changes we deferred).
|
|
@@ -2234,7 +2251,7 @@ document.addEventListener("keydown", (e) => {
|
|
|
2234
2251
|
if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || editable)
|
|
2235
2252
|
return;
|
|
2236
2253
|
e.preventDefault();
|
|
2237
|
-
|
|
2254
|
+
deleteSelection();
|
|
2238
2255
|
}
|
|
2239
2256
|
// Ctrl+Z = Undo the most recent delete or move
|
|
2240
2257
|
if (e.ctrlKey && e.key === "z") {
|