Results grid: show Count/Sum/Avg/Min/Max for selected numeric cells in a status bar
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
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
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.
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 inselectedCells(a set of"row:col"display-coordinate keys) plusselAnchor.postSelectionChange()(~line 1263) already posts asetSelectionmessage 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
- 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. - 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.
- Mixed / non-numeric selections — hide the bar, show
Countalone, or aggregate per numeric column. - Which types count as numeric —
int/long/real/decimalare clear;timespananddatetimeare aggregatable in principle but need their own formatting and may be out of scope for a first cut. - Formatting and precision for
Sum/Avgoverreal/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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/Kusto-Explorer-VsCode
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Remote-SSH: browser sign-in on every query; prefer VS Code authentication before native authAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
-
Schema cache stores ~950KB in globalState, triggering VS Code's large-extension-state warningAbiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
-
Add a setting to scope the query CodeLens to the active queryPosiblemente ocupada @AsafMah la tomó hace 51 días. Abiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
-
Log Analytics / Application Insights connections truncate the full proxy URI to the bare hostnamePosiblemente ocupada @AsafMah la tomó hace 51 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
microsoft/Kusto-Explorer-VsCode#139 · 1 comentario · 1 reacción ·
Todos los issues de microsoft/Kusto-Explorer-VsCode
Issues similares
-
[BUG] rag: sentence content can cross the reported sentence boundariesPosiblemente ocupada @LJK-ikun la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
README: the Resource URI Schemas example's file://documents/* pattern only matches that literal URIAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
platformatic/mcp#361 ·
Los mantenedores suelen responder en 1 día
-
frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Push: sem service worker ou sem VAPID, o interruptor de Notificações fica ligado sem avisar nadaAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
melgarafael/DeskcommCRM#3164 ·
Los mantenedores suelen responder en 1 día