Skip to content

UI Customization Rebase - #307

Closed
zhuje wants to merge 16 commits into
perses:ui-customizationfrom
zhuje:ui-customization
Closed

zhuje wants to merge 16 commits into
perses:ui-customizationfrom
zhuje:ui-customization

Conversation

@zhuje

@zhuje zhuje commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Description

Screenshots

Checklist

  • Pull request has a descriptive title and context useful to a reviewer.
  • Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the
    following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, DOC,IGNORE.
  • All commits have DCO signoffs.

UI Changes

  • Changes that impact the UI include screenshots and/or screencasts of the relevant changes.
  • Code follows the UI guidelines.
  • E2E tests are stable and unlikely to be flaky.
    See e2e docs for more details. Common issues include:
    • Is the data inconsistent? You need to mock API requests.
    • Does the time change? You need to use consistent time values or mock time utilities.
    • Does it have loading states? You need to wait for loading to complete.

julianocosta89 and others added 16 commits September 11, 2026 13:55
* feat(components): add pin-able ExemplarMetadataTooltip

Tooltip showing a single exemplar's metadata (series labels, exemplar
labels, value and timestamp) that follows the mouse while an exemplar
marker is hovered and can be pinned in place when the marker is clicked,
built on the shared tooltip helpers (assembleTransform, getTooltipStyles,
useMousePosition) — same interaction as the annotation tooltip — so
panels can render it next to the chart, HeatMapChart included later.

Signed-off-by: Juliano Costa <juliano.costa@datadoghq.com>
Signed-off-by: Celian GARCIA <celian.garcia@amadeus.com>
Signed-off-by: Celian GARCIA <celian.garcia@amadeus.com>
Signed-off-by: Celian GARCIA <celian.garcia@amadeus.com>
Signed-off-by: Gabriel Bernal <gbernal@redhat.com>
Signed-off-by: Gabriel Bernal <gbernal@redhat.com>
Pivot multi-series table rows into a time × label matrix (Grafana
groupingToMatrix parity).

- empty rowField/valueField treated as defaults
- Object.hasOwn; resolvePivotKey at module scope
- skip blank labels; sort() on fresh arrays
- disambiguate label colliding with row column name
- skip final alpha sort only when last enabled transform is PivotByLabel
- unit + TransformsEditor tests

Signed-off-by: colivi <charles.olivi@gmail.com>
…erses#285)

replaceVariables only matched unencoded $name. Explore deep-links put
PromQL in data= where $var is percent-encoded.

- replaceVariablesInUrl next to replaceVariables
- useReplaceVariablesInUrl hook (mirror useReplaceVariablesInString)
- LinksDisplay uses the hook for all dashboard/panel link hrefs
- rebuild query pairs in original order; preserve relative path prefix

Signed-off-by: colivi <charles.olivi@gmail.com>
…#243)

* [FEATURE] Add dashboard versioning

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Enforce version selected

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Add versioning to panel type

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Add update drawer

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Handle dev plugin

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Reviewing

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Apply review changes

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Fix unlock + lock button

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Apply Gabriel feedbacks

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>

* Only show update button if lock mode is available

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Separate update button in its own prop

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Apply Gabriel feedbacks

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

---------

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>
Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
… ReactGridLayout by Snapgrid) (perses#296)

* [ENHANCEMENT] Replace grid layout with Snapgrid

- Enable dragging panels between groups
- Add browser regression coverage and CI validation

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Remove browser tests

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Fable review

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Remove README

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* [BUGFIX] Restore grid columns after fullscreen repeated panels

- Add regression coverage for panel and group repeat variables
- Render the viewed repeated panel as a single-column item

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* [BUGFIX] Preserve resized panel dimensions across breakpoints

- Add regression coverage for responsive and repeated panel resizing
- Restore saved panel positions when switching back to edit mode

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

* Apply review fix

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>

* Remove useless useEffect

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>

* Rename updatePanelGroupLayoutsGrid to updatePanelGroupLayouts

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>

* Small render improvement

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>

---------

Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>
Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>
Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>
Signed-off-by: Jenny Zhu <jenny.a.zhu@gmail.com>
…and Alert primitives (perses#213)

Signed-off-by: Jenny Zhu <jenny.a.zhu@gmail.com>
Signed-off-by: Jenny Zhu <jenny.a.zhu@gmail.com>
… and remove CommonJS (perses#300)

Signed-off-by: Jenny Zhu <jenny.a.zhu@gmail.com>
@zhuje
zhuje requested review from a team and AntoineThebaud as code owners September 17, 2026 20:24
@zhuje
zhuje marked this pull request as draft September 17, 2026 20:25
@zhuje zhuje closed this Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants