mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
[Dashboard] Store view mode in local storage (#166523)
Moves the Dashboard view mode from session storage to local storage. This means that users will only need to enter edit mode **once** if they are an editor, and any subsequent Dashboards they open will already be in edit mode.
This commit is contained in:
parent
7e32fc8432
commit
8ffa8d8ee4
26 changed files with 223 additions and 110 deletions
|
@ -38,6 +38,24 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
});
|
||||
|
||||
it('existing dashboard opens in last used view mode', async function () {
|
||||
await PageObjects.dashboard.gotoDashboardLandingPage();
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
expect(await PageObjects.dashboard.getIsInViewMode()).to.equal(true);
|
||||
|
||||
await PageObjects.dashboard.switchToEditMode();
|
||||
|
||||
await PageObjects.dashboard.gotoDashboardLandingPage();
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
expect(await PageObjects.dashboard.getIsInViewMode()).to.equal(false);
|
||||
|
||||
await PageObjects.dashboard.gotoDashboardLandingPage();
|
||||
await PageObjects.dashboard.loadSavedDashboard('few panels');
|
||||
expect(await PageObjects.dashboard.getIsInViewMode()).to.equal(false);
|
||||
|
||||
await PageObjects.dashboard.clickCancelOutOfEditMode();
|
||||
});
|
||||
|
||||
it('create new dashboard opens in edit mode', async function () {
|
||||
await PageObjects.dashboard.gotoDashboardLandingPage();
|
||||
await PageObjects.dashboard.clickNewDashboard();
|
||||
|
@ -45,14 +63,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
expect(isInViewMode).to.be(false);
|
||||
});
|
||||
|
||||
it('existing dashboard opens in view mode', async function () {
|
||||
await PageObjects.dashboard.gotoDashboardLandingPage();
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
const inViewMode = await PageObjects.dashboard.getIsInViewMode();
|
||||
|
||||
expect(inViewMode).to.equal(true);
|
||||
});
|
||||
|
||||
describe('save', function () {
|
||||
it('auto exits out of edit mode', async function () {
|
||||
await PageObjects.dashboard.gotoDashboardEditMode(dashboardName);
|
||||
|
|
|
@ -182,11 +182,11 @@ export class DashboardPageObject extends FtrService {
|
|||
|
||||
public async expectOnDashboard(expectedTitle: string) {
|
||||
await this.retry.waitFor(
|
||||
`last breadcrumb to have dashboard title: ${expectedTitle}`,
|
||||
`last breadcrumb to have dashboard title: ${expectedTitle} OR Editing ${expectedTitle}`,
|
||||
async () => {
|
||||
const actualTitle = await this.globalNav.getLastBreadcrumb();
|
||||
this.log.debug(`Expected dashboard title ${expectedTitle}, actual: ${actualTitle}`);
|
||||
return actualTitle === expectedTitle;
|
||||
return actualTitle === expectedTitle || actualTitle === `Editing ${expectedTitle}`;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue