Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[kbn-grid-layout] Add ability to create, edit, and delete rows #209193

Merged

Conversation

Heenawter
Copy link
Contributor

@Heenawter Heenawter commented Jan 31, 2025

Closes #204849

Summary

This PR adds the ability to create, edit, and delete sections / rows to kbn-grid-layout:

Screen.Recording.2025-02-12.at.12.38.59.PM.mov

Note that sections are still statically placed - dragging rows around will be added in a follow-up PR, because it's a larger undertaking. Since this feature is not available to users yet, it is okay to implement this in stages like this.

Checklist

Identify risks

Collapsible sections are not available on Dashboard yet and so there is no user-facing risk to this PR.

@Heenawter Heenawter added Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas loe:large Large Level of Effort release_note:skip Skip the PR/issue when compiling release notes impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. backport:prev-minor Backport to (9.0) the previous minor version (i.e. one version back from main) Project:Collapsable Panels Related to the project for adding collapsable sections to Dashboards. labels Jan 31, 2025
@Heenawter Heenawter force-pushed the kbn-grid-layout_row-management_2025-01-30 branch from cdcc065 to 6c0c83a Compare February 4, 2025 20:17
@Heenawter Heenawter force-pushed the kbn-grid-layout_row-management_2025-01-30 branch from 7627af8 to 07356cc Compare February 4, 2025 23:30
@Heenawter Heenawter requested a review from mbondyra February 5, 2025 17:50
@Heenawter
Copy link
Contributor Author

@ThomThomson

When I delete a section, and select "delete section only" it scrolls me to the bottom of the Dashboard. Is this intentional? Or a consequence of the way the scroll when a section is added logic works?

I'm not seeing this 🤔 Can you explain how to repro this?

Screen.Recording.2025-02-21.at.3.31.48.PM.mov

The section state is not backed up into session storage in the example like the state of the panels. When I create a new section and put panels into it then reload the example, that section is completely gone. Is this something you intend to add in a followup?

State is only backed up when you save the example - not on reload (this applies to panels too). Maybe I'm missing something, but I am able to save sections and they are restored as expected?

Screen.Recording.2025-02-21.at.3.35.21.PM.mov

@ryankeairns
Copy link
Contributor

ryankeairns commented Feb 21, 2025

@Heenawter a) this is awesome and b) I have suggestions for that modal having just drafted some button guidelines.

If possible, can we change the paragraph text and buttons to this design:

This order, text, and combination of styles better clarifies the actions of each button and increases the prominence of the most destructive action.

@Heenawter
Copy link
Contributor Author

@ryankeairns Love it! Done in f5c90e6

image

Copy link
Contributor

@mbondyra mbondyra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few nits, but nothing blocking. Great job! 👏🏼

@Heenawter Heenawter enabled auto-merge (squash) February 24, 2025 16:17
Comment on lines +35 to +56
return {
component: render(
<GridLayoutContext.Provider
value={
{
renderPanelContents: mockRenderPanelContents,
gridLayoutStateManager: stateManagerMock,
...contextOverrides,
} as GridLayoutContextType
}
>
<GridRowHeader
rowIndex={0}
toggleIsCollapsed={() => toggleIsCollapsed(0, stateManagerMock)}
collapseButtonRef={React.createRef()}
{...propsOverrides}
/>
</GridLayoutContext.Provider>,
{ wrapper: EuiThemeProvider }
),
gridLayoutStateManager: stateManagerMock,
};
Copy link
Contributor

@mbondyra mbondyra Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also nit and something we can improve later on: I think that when creating wrapping functions on top of API that is well known and widely used, it's good not to change this api, but only add new methods/properties specific to what we need for the specific usage.

Suggested change
return {
component: render(
<GridLayoutContext.Provider
value={
{
renderPanelContents: mockRenderPanelContents,
gridLayoutStateManager: stateManagerMock,
...contextOverrides,
} as GridLayoutContextType
}
>
<GridRowHeader
rowIndex={0}
toggleIsCollapsed={() => toggleIsCollapsed(0, stateManagerMock)}
collapseButtonRef={React.createRef()}
{...propsOverrides}
/>
</GridLayoutContext.Provider>,
{ wrapper: EuiThemeProvider }
),
gridLayoutStateManager: stateManagerMock,
};
const rtlRender = render(
<GridLayoutContext.Provider
value={
{
renderPanelContents: mockRenderPanelContents,
gridLayoutStateManager: stateManagerMock,
...contextOverrides,
} as GridLayoutContextType
}
>
<GridRowHeader
rowIndex={0}
toggleIsCollapsed={() => toggleIsCollapsed(0, stateManagerMock)}
collapseButtonRef={React.createRef()}
{...propsOverrides}
/>
</GridLayoutContext.Provider>,
{ wrapper: EuiThemeProvider }
)
return {
...rtlRender,
gridLayoutStateManager: stateManagerMock,
};

This way, we can access the original RTL render methods in the same way as always while also accessing gridLayoutStateManager directly. No need to mentally map transformed methods—everything stays familiar.

So we can still do:

const { getByTestId, gridLayoutStateManager } = renderGridRowHeader();
    const initialCount = getByTestId('kbnGridRowHeader-0--panelCount');

But actually a better practice is to use screen exported directly from rtl package: https://kentcdodds.com/blog/common-mistakes-with-react-testing-library#not-using-screen since we don't have to keep up with destructuring.

    const { gridLayoutStateManager } = renderGridRowHeader();
    const initialCount = screen.getByTestId('kbnGridRowHeader-0--panelCount');

Copy link
Contributor Author

@Heenawter Heenawter Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally like keeping the Kibana-specific stuff (gridLayoutStateManager in this case) separate from the RTL stuff, but maybe that's just me 🙈 Agreed that we could clean this up by using screen - it's an old habit of mine to use the returned component, oops. We can clean this up in a follow up.

Copy link
Contributor

@mbondyra mbondyra Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm, Maybe I am missing something, but I feel quite strongly about this approach. Keeping the original API while adding necessary extensions is the recommended pattern for RTL decorators (I took the testing course from the library creator 😁) . Beyond the benefit of using render in a familiar way, there are more advantages:

  1. Composability – If another helper like renderWithProviders is introduced and we want to use one function on top of another, its return shape remains consistent, avoiding unnecessary checks for the proper shape. So we don't have to check in the more nested function if what we process is an object with {component: rtlReturn} or just rtlReturn (and so on with more nestings).
  2. Maintainability – If we later remove a wrapper, we can revert to original render method without modifying tests.
  3. I don't see any advantage to keeping the usage specific stuff separate from rtl stuff, unless you fear you can accidentally override it. The thing is, if you do, it's probably intentional and makes things even more elegant (like overriding the rerender function). Plus it's not really component render function returns, so choosing a name here is also tricky.

Maybe there's something I don't see about your preference. I am happy to discuss it within the team if we want to make a 'goto' decision. This is the pattern I introduced in Lens codebase and compared to what we had before (=not caring about keeping the original API) it made our life so much simpler that I am very enthusiastic about it.

Copy link
Contributor Author

@Heenawter Heenawter Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a super strong preference so I'm good either way, since it's primarily a style choice! I was just following the standard we had in other Presentation tests, but your reasoning (especially point 2) sounds good enough to me to make the change in a follow up :)

@Heenawter Heenawter merged commit e587187 into elastic:main Feb 24, 2025
9 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 9.0

https://github.com/elastic/kibana/actions/runs/13505149060

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
dashboard 740 743 +3

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
dashboard 535.3KB 541.8KB +6.5KB

History

@kibanamachine
Copy link
Contributor

💔 All backports failed

Status Branch Result
9.0 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 209193

Questions ?

Please refer to the Backport tool documentation

@Heenawter Heenawter added backport:version Backport to applied version labels v8.19.0 and removed backport:prev-minor Backport to (9.0) the previous minor version (i.e. one version back from main) labels Feb 24, 2025
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.x

https://github.com/elastic/kibana/actions/runs/13507039876

@Heenawter Heenawter deleted the kbn-grid-layout_row-management_2025-01-30 branch February 24, 2025 20:23
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Feb 24, 2025
…ic#209193)

Closes elastic#204849

## Summary

This PR adds the ability to create, edit, and delete sections / rows to
`kbn-grid-layout`:

https://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a

Note that sections are still statically placed - dragging rows around
will be added in a follow-up PR, because it's a larger undertaking.
Since this feature is not available to users yet, it is okay to
implement this in stages like this.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Collapsible sections are not available on Dashboard yet and so there is
no user-facing risk to this PR.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
(cherry picked from commit e587187)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Feb 24, 2025
…209193) (#212307)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[kbn-grid-layout] Add ability to create, edit, and delete rows
(#209193)](#209193)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Hannah
Mudge","email":"Heenawter@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-24T18:29:00Z","message":"[kbn-grid-layout]
Add ability to create, edit, and delete rows (#209193)\n\nCloses
https://github.com/elastic/kibana/issues/204849\n\n## Summary\n\nThis PR
adds the ability to create, edit, and delete sections / rows
to\n`kbn-grid-layout`:\n\n\n\nhttps://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a\n\n\n\nNote
that sections are still statically placed - dragging rows around\nwill
be added in a follow-up PR, because it's a larger undertaking.\nSince
this feature is not available to users yet, it is okay to\nimplement
this in stages like this.\n\n### Checklist\n\n- [x] Any text added
follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nCollapsible sections are not available on Dashboard
yet and so there is\nno user-facing risk to this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra
<4283304+mbondyra@users.noreply.github.com>","sha":"e587187ffcf14bb92d4d30cacbdc13d9380e4025","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Presentation","loe:large","release_note:skip","impact:high","Project:Collapsable
Panels","backport:version","v9.1.0","v8.19.0"],"title":"[kbn-grid-layout]
Add ability to create, edit, and delete
rows","number":209193,"url":"https://github.com/elastic/kibana/pull/209193","mergeCommit":{"message":"[kbn-grid-layout]
Add ability to create, edit, and delete rows (#209193)\n\nCloses
https://github.com/elastic/kibana/issues/204849\n\n## Summary\n\nThis PR
adds the ability to create, edit, and delete sections / rows
to\n`kbn-grid-layout`:\n\n\n\nhttps://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a\n\n\n\nNote
that sections are still statically placed - dragging rows around\nwill
be added in a follow-up PR, because it's a larger undertaking.\nSince
this feature is not available to users yet, it is okay to\nimplement
this in stages like this.\n\n### Checklist\n\n- [x] Any text added
follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nCollapsible sections are not available on Dashboard
yet and so there is\nno user-facing risk to this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra
<4283304+mbondyra@users.noreply.github.com>","sha":"e587187ffcf14bb92d4d30cacbdc13d9380e4025"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/209193","number":209193,"mergeCommit":{"message":"[kbn-grid-layout]
Add ability to create, edit, and delete rows (#209193)\n\nCloses
https://github.com/elastic/kibana/issues/204849\n\n## Summary\n\nThis PR
adds the ability to create, edit, and delete sections / rows
to\n`kbn-grid-layout`:\n\n\n\nhttps://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a\n\n\n\nNote
that sections are still statically placed - dragging rows around\nwill
be added in a follow-up PR, because it's a larger undertaking.\nSince
this feature is not available to users yet, it is okay to\nimplement
this in stages like this.\n\n### Checklist\n\n- [x] Any text added
follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nCollapsible sections are not available on Dashboard
yet and so there is\nno user-facing risk to this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra
<4283304+mbondyra@users.noreply.github.com>","sha":"e587187ffcf14bb92d4d30cacbdc13d9380e4025"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Hannah Mudge <Heenawter@users.noreply.github.com>
patrykkopycinski pushed a commit to patrykkopycinski/kibana that referenced this pull request Feb 25, 2025
…ic#209193)

Closes elastic#204849

## Summary

This PR adds the ability to create, edit, and delete sections / rows to
`kbn-grid-layout`:



https://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a



Note that sections are still statically placed - dragging rows around
will be added in a follow-up PR, because it's a larger undertaking.
Since this feature is not available to users yet, it is okay to
implement this in stages like this.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Collapsible sections are not available on Dashboard yet and so there is
no user-facing risk to this PR.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
JoseLuisGJ pushed a commit to JoseLuisGJ/kibana that referenced this pull request Feb 27, 2025
…ic#209193)

Closes elastic#204849

## Summary

This PR adds the ability to create, edit, and delete sections / rows to
`kbn-grid-layout`:



https://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a



Note that sections are still statically placed - dragging rows around
will be added in a follow-up PR, because it's a larger undertaking.
Since this feature is not available to users yet, it is okay to
implement this in stages like this.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Collapsible sections are not available on Dashboard yet and so there is
no user-facing risk to this PR.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
SoniaSanzV pushed a commit to SoniaSanzV/kibana that referenced this pull request Mar 4, 2025
…lastic#209193) (elastic#212307)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[kbn-grid-layout] Add ability to create, edit, and delete rows
(elastic#209193)](elastic#209193)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Hannah
Mudge","email":"Heenawter@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-24T18:29:00Z","message":"[kbn-grid-layout]
Add ability to create, edit, and delete rows (elastic#209193)\n\nCloses
https://github.com/elastic/kibana/issues/204849\n\n## Summary\n\nThis PR
adds the ability to create, edit, and delete sections / rows
to\n`kbn-grid-layout`:\n\n\n\nhttps://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a\n\n\n\nNote
that sections are still statically placed - dragging rows around\nwill
be added in a follow-up PR, because it's a larger undertaking.\nSince
this feature is not available to users yet, it is okay to\nimplement
this in stages like this.\n\n### Checklist\n\n- [x] Any text added
follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nCollapsible sections are not available on Dashboard
yet and so there is\nno user-facing risk to this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra
<4283304+mbondyra@users.noreply.github.com>","sha":"e587187ffcf14bb92d4d30cacbdc13d9380e4025","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Presentation","loe:large","release_note:skip","impact:high","Project:Collapsable
Panels","backport:version","v9.1.0","v8.19.0"],"title":"[kbn-grid-layout]
Add ability to create, edit, and delete
rows","number":209193,"url":"https://github.com/elastic/kibana/pull/209193","mergeCommit":{"message":"[kbn-grid-layout]
Add ability to create, edit, and delete rows (elastic#209193)\n\nCloses
https://github.com/elastic/kibana/issues/204849\n\n## Summary\n\nThis PR
adds the ability to create, edit, and delete sections / rows
to\n`kbn-grid-layout`:\n\n\n\nhttps://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a\n\n\n\nNote
that sections are still statically placed - dragging rows around\nwill
be added in a follow-up PR, because it's a larger undertaking.\nSince
this feature is not available to users yet, it is okay to\nimplement
this in stages like this.\n\n### Checklist\n\n- [x] Any text added
follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nCollapsible sections are not available on Dashboard
yet and so there is\nno user-facing risk to this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra
<4283304+mbondyra@users.noreply.github.com>","sha":"e587187ffcf14bb92d4d30cacbdc13d9380e4025"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/209193","number":209193,"mergeCommit":{"message":"[kbn-grid-layout]
Add ability to create, edit, and delete rows (elastic#209193)\n\nCloses
https://github.com/elastic/kibana/issues/204849\n\n## Summary\n\nThis PR
adds the ability to create, edit, and delete sections / rows
to\n`kbn-grid-layout`:\n\n\n\nhttps://github.com/user-attachments/assets/4831b289-2c71-42fb-851d-0925560e233a\n\n\n\nNote
that sections are still statically placed - dragging rows around\nwill
be added in a follow-up PR, because it's a larger undertaking.\nSince
this feature is not available to users yet, it is okay to\nimplement
this in stages like this.\n\n### Checklist\n\n- [x] Any text added
follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nCollapsible sections are not available on Dashboard
yet and so there is\nno user-facing risk to this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra
<4283304+mbondyra@users.noreply.github.com>","sha":"e587187ffcf14bb92d4d30cacbdc13d9380e4025"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Hannah Mudge <Heenawter@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:version Backport to applied version labels impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:large Large Level of Effort Project:Collapsable Panels Related to the project for adding collapsable sections to Dashboards. release_note:skip Skip the PR/issue when compiling release notes Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas v8.19.0 v9.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[kbn-grid-layout] [Collapsable Panels] Creation, editing and deletion UX
7 participants