tju-yxq opened a new pull request, #5400:
URL: https://github.com/apache/rocketmq-dashboard/pull/5400

   ### Which Issue(s) This PR Fixes
   
   - Fixes #5399
   
   ### Brief Description
   
   Gives the two Excel export handlers the same in-flight discipline the page's 
resend flows already follow:
   
   - One shared `exportInFlightRef` guards both `handleExport` and 
`exportDetailExcel` (one broker queue scan at a time); `handleExport` also 
gains the `!selectedInstanceId` early return its siblings have.
   - The acting row button and the drawer button render loading states; the 
other rows' export buttons are disabled while one runs.
   - Button states derive from the `exportingGroupName`/`detailExporting` 
state, keeping refs out of render (the ref only guards synchronously inside the 
handlers).
   
   Resend flows and every other behavior are unchanged.
   
   ### How Did You Test This Change?
   
   ```
   cd web && npm test -- DLQPage.test.tsx --run
    Test Files  1 passed (1)
         Tests  27 passed (27)
   ```
   
   One new test mirrors the existing double-clicked-resend test: with the 
export promise held pending, clicking 导出 twice in one act submits exactly one 
`exportDLQExcel` call, and the deferred export still resolves and downloads 
afterwards. The 26 existing tests (export params/filename/completeness warning, 
resend flows, stale-instance guards) pass unchanged.
   
   ```
   cd web && npm run lint
   ✖ 10 problems (0 errors, 10 warnings)   # the trunk baseline
   ```
   
   ```
   cd web && npx tsc -b --force
   (no output — exit 0)
   ```
   
   ### Checklist
   
   - [x] One coherent change; unrelated modifications are not bundled in
   - [x] Commit subject follows Conventional Commits
   - [x] Tests added or updated for non-trivial changes, test methods named 
`...Test`
   - [x] New UI text has both Chinese and English entries under `web/src/i18n/` 
(no new UI text)
   - [x] Architecture constraints stay green (`mvn test` runs the ArchUnit 
checks) (no Java changes)
   - [x] New source files carry the ASF license header (no new source files)
   - [ ] Documentation touched where behaviour changed (guard only, no behavior 
change beyond deduplication)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to