Reports page: move export-button disable/re-enable into a Stimulus controller
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, jquery, rails
- Ambito
- frontend
Direzione di ricerca
Inizia da app/javascript/src/reports.js, il listener globale del click che disabilita il pulsante di esportazione, imposta data-disable-with e lo riabilita dopo 3 secondi. Poi esamina i due pulsanti con .report-form-submit in app/views/reports/index.html.erb, intorno alle righe 42 e 125. È completato quando un controller Stimulus registrato in controllers/index.js gestisce entrambi i pulsanti, reports.js e il suo require sono eliminati, un test Jest in app/javascript/tests/ passa e bundle exec rspec spec/system/reports è verde. Commenta prima la issue per essere assegnato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What
On /reports, the export buttons have .report-form-submit. app/javascript/src/reports.js (plain JS, a global click listener) disables the button, swaps its text to data-disable-with, submits, and re-enables it after 3 seconds. That last step matters because the download doesn't reload the page. Turn this into a small Stimulus controller.
Checklist
- Add
app/javascript/controllers/report_submit_controller.js(or a better name) with the same behavior, and register it incontrollers/index.js - Wire both buttons in
app/views/reports/index.html.erb(lines ~42 and ~125) - Delete
app/javascript/src/reports.jsand itsrequire - Add a Jest test in
app/javascript/__tests__/ -
bundle exec rspec spec/system/reportspasses
Before you start
- Comment here to be assigned. Setup is
bin/setup, thenbin/dev. Logins are in the README. - JS tests:
npm run test. Lint:bin/lint. - Part of #7301 (removing jQuery). Keep this PR to just this file.
- Lingua principale
- Ruby
- Stelle
- 382
- Fork
- 547
- Merge medio
- 2g 22h
- PR unite (30g)
- 46
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rubyforgood/casa
-
Remove leftover Cloud66 custom_web process from ProcfileForse già presa @ShahadatTest l’ha presa 1 giorno fa. ApertaDifficulty: Easy Good First Issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
rubyforgood/casa#7330 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
dependencies Difficulty: Easy Good First Issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
rubyforgood/casa#7325 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficulty: Easy Good First Issue Help Wanted javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rubyforgood/casa#7310 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficulty: Easy Good First Issue Help Wanted javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rubyforgood/casa#7309 ·
I maintainer di solito rispondono entro 1 giorno
-
🖥️ Frontend Difficulty: Easy Good First Issue Help Wanted javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
rubyforgood/casa#7308 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di rubyforgood/casa
Issue simili
-
JWT::EncodedToken raises TypeError for a non-object headerForse già presa @anakinj l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
jwt/ruby-jwt#780 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
zold-io/zold-ruby-sdk#85 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno