(number, action)
| 2434 | } |
| 2435 | |
| 2436 | function setPaperDisposition(number, action) { |
| 2437 | const isSelected = action === "read" && state.selected.has(number); |
| 2438 | const isSkipped = action === "skip" && state.skipped.has(number); |
| 2439 | const isLater = action === "later" && state.later.has(number); |
| 2440 | const alreadyActive = isSelected || isSkipped || isLater; |
| 2441 | |
| 2442 | state.selected.delete(number); |
| 2443 | state.skipped.delete(number); |
| 2444 | state.later.delete(number); |
| 2445 | |
| 2446 | if (!alreadyActive) { |
| 2447 | if (action === "read") state.selected.add(number); |
| 2448 | if (action === "skip") state.skipped.add(number); |
| 2449 | if (action === "later") state.later.add(number); |
| 2450 | } |
| 2451 | |
| 2452 | updateSelectionSummary(); |
| 2453 | if (alreadyActive) { |
| 2454 | showPaperFeedback("success", ui().papers.cancelled, ui().papers.restored(number)); |
| 2455 | return; |
| 2456 | } |
| 2457 | const labels = ui().papers.dispositionLabels; |
| 2458 | showPaperFeedback( |
| 2459 | "success", |
| 2460 | ui().papers.markedAs(labels[action]), |
| 2461 | ui().papers.dispositionHelp |
| 2462 | ); |
| 2463 | } |
| 2464 | |
| 2465 | function itemCount(value) { |
| 2466 | return Array.isArray(value) ? value.length : 0; |
no test coverage detected