playground-videos-pane: Submit button does not call submit() — (ngSubmit) without FormsModule #1007

Closed
opened 2026-08-12 06:26:48 +00:00 by spikerj · 1 comment
Owner

Summary

PlaygroundVideosPaneComponent binds the community-video form with (ngSubmit)="submit()", but the component does not import FormsModule / ReactiveFormsModule (imports are only CommonModule, Material button/icon, and Transloco).

Without NgForm, (ngSubmit) never emits. Clicking the primary Submit button therefore does not invoke submit() — logged-in learners cannot queue a community video from the UI.

Evidence

Wave 6 coverage agent a8 (tick 3):

  • Filling the form via DOM inputs + calling submit() programmatically works (service upload/submit paths are fine).
  • Clicking button[type="submit"] after the same DOM fill does not call LessonVideosService.submit / upload.

Expected

Submit button should run the same validation + upload/URL submit path as a direct submit() call.

Fix sketch (not applied — tests-only wave)

  • Import FormsModule (or switch to (submit)="submit(); $event.preventDefault()" on the <form>), and add a render regression that clicks button[type="submit"] and asserts the service is called.

Location

libraries/platform/clang-runtime/src/lib/playground-videos-pane.component.{ts,html}

## Summary `PlaygroundVideosPaneComponent` binds the community-video form with `(ngSubmit)="submit()"`, but the component does **not** import `FormsModule` / `ReactiveFormsModule` (imports are only `CommonModule`, Material button/icon, and Transloco). Without `NgForm`, `(ngSubmit)` never emits. Clicking the primary **Submit** button therefore does not invoke `submit()` — logged-in learners cannot queue a community video from the UI. ## Evidence Wave 6 coverage agent a8 (tick 3): - Filling the form via DOM inputs + calling `submit()` programmatically works (service upload/submit paths are fine). - Clicking `button[type="submit"]` after the same DOM fill does **not** call `LessonVideosService.submit` / `upload`. ## Expected Submit button should run the same validation + upload/URL submit path as a direct `submit()` call. ## Fix sketch (not applied — tests-only wave) - Import `FormsModule` (or switch to `(submit)="submit(); $event.preventDefault()"` on the `<form>`), and add a render regression that clicks `button[type="submit"]` and asserts the service is called. ## Location `libraries/platform/clang-runtime/src/lib/playground-videos-pane.component.{ts,html}`
Author
Owner

Resolved in spikersoft-angular PR #819 (merged to master). playground-videos-pane Submit fires without relying on FormsModule (ngSubmit). Closing.

Resolved in spikersoft-angular [PR #819](https://git.spikersoft.com/spikerj/spikersoft-angular/pulls/819) (merged to `master`). playground-videos-pane Submit fires without relying on FormsModule (ngSubmit). Closing.
Sign in to join this conversation.