-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[kbn-grid-layout] Add ability to create, edit, and delete rows #209193
Conversation
cdcc065
to
6c0c83a
Compare
7627af8
to
07356cc
Compare
I'm not seeing this 🤔 Can you explain how to repro this? Screen.Recording.2025-02-21.at.3.31.48.PM.mov
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 |
@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. |
@ryankeairns Love it! Done in f5c90e6 |
src/platform/packages/private/kbn-grid-layout/grid/grid_layout.test.tsx
Outdated
Show resolved
Hide resolved
src/platform/packages/private/kbn-grid-layout/grid/grid_row/grid_row.test.tsx
Outdated
Show resolved
Hide resolved
src/platform/packages/private/kbn-grid-layout/grid/grid_row/grid_row.tsx
Show resolved
Hide resolved
src/platform/packages/private/kbn-grid-layout/grid/grid_row/grid_row_header.test.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this 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! 👏🏼
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, | ||
}; |
There was a problem hiding this comment.
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.
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');
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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:
- 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 justrtlReturn
(and so on with more nestings). - Maintainability – If we later remove a wrapper, we can revert to original
render
method without modifying tests. - 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.
There was a problem hiding this comment.
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 :)
Starting backport for target branches: 9.0 |
💚 Build Succeeded
Metrics [docs]Module Count
Async chunks
History
|
💔 All backports failed
Manual backportTo create the backport manually run:
Questions ?Please refer to the Backport tool documentation |
Starting backport for target branches: 8.x |
…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)
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
…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>
…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>
…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>
…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>
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
release_note:*
label is applied per the guidelinesIdentify risks
Collapsible sections are not available on Dashboard yet and so there is no user-facing risk to this PR.