Dyalog / Dyalog/ewc-client

Nugrid followup issues

Open
#479 0 comments 0 reactions 1 assignee Claimed by @sloorush View on GitHub
client
Dominant language
JavaScript
Stars
2
Forks
5
PR merge metrics
No merged PRs in 30d

Description

### NuGrid review — follow-ups to look at

- [ ] **13 — Header/drag/shift+arrow selection desyncs CurCell**: these moves call `moveTo()` only, so the data tree (what `eWG
'CurCell'` reads) keeps the old cell and no `CellMove` fires.
- [ ] **16 — Props mirrored into state via post-paint effects**: `Values`/`FormattedValues` sync in separate effects → one stale frame
per server update, and the two can mix old/new.
- [ ] **18 — Out-of-range server CurCell never written back**: it's clamped for display but not persisted, so `eWG 'CurCell'` returns
the stale out-of-range value.
- [ ] **23 — Duplicate DOM ids with ShowInput columns**: every row mounts the same template id (invalid HTML; `getElementById` hits
row 1). Derive a per-cell id when embedded.
- [ ] **27 — CSS hygiene**: empty `.nugrid-row` rule, triplicated `padding`/`position`, and the `#0078d7` accent hardcoded 8 ways →
use CSS custom properties.
- [ ] **29 — `selectRow`/`selectColumn` dead code**: eslint errors; header handlers re-implement them inline (~40 transposed dup
lines).
- [ ] **30 — Extract `useNuGridSelection`**: the selection subsystem (~250 lines) should move to its own hook to shrink index.jsx.
- [ ] **31 — Small dead code** (PARTIAL — `shouldShowInput`/`getInputComponentId`/`getCellTypeIndex` already removed): remaining —
unused `parseNumber`, unreachable Label `isInNuGrid` branch, 6 unused `NuGridContext` fields, shift+arrow re-implementing the nav
hook's mapping.
- [ ] **33 — ~190 hard-coded sleeps + one-shot log assertions** (e2e): fixed sleeps race the websocket round-trip; switch to web-first
`toContainText` and drop the padding `beforeEach` blocks.
- [ ] **34 — Log-residue false passes**: `F1.Log` accumulates across tests, so `toContain` passes on earlier residue and regressions
slip through. Assert on the delta.
- [ ] **36 — e2e suite structure**: every describe launches Chromium with no teardown (browser leak); ~25× copied beforeAll
boilerplate → shared fixture.
- [ ] **37 — Coverage gaps** (PARTIAL — PageUp/Down tests + behavior done): remaining — `CellChanged`/`KeyPress` payload unasserted,
col-header shift+click/drag untested, Ctrl+C of a formatted cell unpinned, no DemoGridVsNuGrid/Employees spec.
- [ ] **42 — Label Input cells drop FieldType (Currency)**: Label-typed Inputs never embed and `formatCellValue` ignores their
Properties, so the Salary column renders plain digits. Fix in `formatCellValue` (needs a currency formatter).
- [ ] **43 — CellHeights ⍬ should auto-size row height from the cell font**: client hardcodes 16px; ⎕WC derives row height from the
font. (to be looked at)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.