Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Results grid: show Count/Sum/Avg/Min/Max for selected numeric cells in a status bar

Abierto
#143 1 comentario 0 reacciones 0 asignados Ver en GitHub

@AsafMah ya está trabajando en esto.

Desde el 30/8/2026.

  • #146 de @AsafMah — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript, vscode
Área
frontend, tooling

Línea de trabajo

Lee src/Client/features/dataTableProvider.ts, especialmente currentSelectionIndices() y postSelectionChange(), y después inspecciona ResultColumn en src/Client/features/server.ts. Decide las reglas de selección, tipos numéricos, null, selección mixta y formato antes de elegir el límite entre el host y el webview. La tarea estará terminada cuando la barra de estado de cada vista refleje las celdas numéricas seleccionadas y la lógica de agregación tenga cobertura de pruebas unitarias.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Ported from discussion #140 (@nanovak).

Request

When multiple numeric cells are selected in the results grid, show aggregate statistics — Count / Sum / Avg / Min / Max — in a status bar, matching the behavior of Kusto Explorer desktop and the web UI.

example

Why this is well-scoped now

The prerequisite already shipped in v0.4.0: the grid supports cell/row/column range selection. The webview already maintains authoritative selection state and already notifies the extension host on every selection change, so this feature is additive rather than foundational.

Relevant existing pieces:

  • src/Client/features/dataTableProvider.ts — the webview script owns selection state in selectedCells (a set of "row:col" display-coordinate keys) plus selAnchor.
  • postSelectionChange() (~line 1263) already posts a setSelection message to the host on every change.
  • currentSelectionIndices() (~line 1223) summarizes the selection as original-data { rows, cols } index arrays.
  • ResultColumn { name, type } (src/Client/features/server.ts) carries the Kusto scalar type per column, which is what drives numeric detection.
  • The data table view is deliberately container-agnostic (relative DOM queries via document.currentScript.parentElement + a per-view token), so any status bar must be rendered by the view into its own container rather than assume a page-level element.

Open design questions

  1. Where the aggregation runs. The webview owns the exact selected-cell set; the extension host owns the full typed table and is the testable half. currentSelectionIndices() currently reports only the selection's bounding box, which is lossless only while selections stay rectangular.
  2. Count semantics — all selected cells, or only the numeric/non-null ones. Nulls and non-numeric cells inside a mixed selection need a defined rule.
  3. Mixed / non-numeric selections — hide the bar, show Count alone, or aggregate per numeric column.
  4. Which types count as numeric — int/long/real/decimal are clear; timespan and datetime are aggregatable in principle but need their own formatting and may be out of scope for a first cut.
  5. Formatting and precision for Sum/Avg over real/decimal, and whether values are copyable from the bar.

Notes

  • Follow the existing webview house style: HTML string + inline <script>, acquireVsCodeApi(), document-level click delegation. No framework.
  • Per repo convention, the aggregation itself should live in a unit-testable module rather than only inside the inline webview script.
Lenguaje dominante
TypeScript
Estrellas
6
Forks
7
Merge medio
1 d 6 h
PR fusionados (30 d)
4

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/Kusto-Explorer-VsCode

Todos los issues de microsoft/Kusto-Explorer-VsCode

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.