Add Lens to Recently Accessed (#77249)
added lens to recently accessed on load and save in app.tsx
This commit is contained in:
parent
5c457d1e82
commit
003fcb1332
3 changed files with 43 additions and 0 deletions
|
@ -16,3 +16,7 @@ export function getBasePath() {
|
|||
export function getEditPath(id: string) {
|
||||
return `#/edit/${encodeURIComponent(id)}`;
|
||||
}
|
||||
|
||||
export function getFullPath(id: string) {
|
||||
return `/app/${PLUGIN_ID}${getEditPath(id)}`;
|
||||
}
|
||||
|
|
|
@ -300,6 +300,29 @@ describe('Lens App', () => {
|
|||
]);
|
||||
});
|
||||
|
||||
it('adds to the recently viewed list on load', async () => {
|
||||
const defaultArgs = makeDefaultArgs();
|
||||
instance = mount(<App {...defaultArgs} />);
|
||||
|
||||
(defaultArgs.docStorage.load as jest.Mock).mockResolvedValue({
|
||||
id: '1234',
|
||||
title: 'Daaaaaaadaumching!',
|
||||
state: {
|
||||
query: 'fake query',
|
||||
filters: [],
|
||||
},
|
||||
references: [],
|
||||
});
|
||||
await act(async () => {
|
||||
instance.setProps({ docId: '1234' });
|
||||
});
|
||||
expect(defaultArgs.core.chrome.recentlyAccessed.add).toHaveBeenCalledWith(
|
||||
'/app/lens#/edit/1234',
|
||||
'Daaaaaaadaumching!',
|
||||
'1234'
|
||||
);
|
||||
});
|
||||
|
||||
it('sets originatingApp breadcrumb when the document title changes', async () => {
|
||||
const defaultArgs = makeDefaultArgs();
|
||||
defaultArgs.originatingApp = 'ultraCoolDashboard';
|
||||
|
@ -591,6 +614,19 @@ describe('Lens App', () => {
|
|||
expect(args.docStorage.load).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('adds to the recently viewed list on save', async () => {
|
||||
const { args } = await save({
|
||||
initialDocId: undefined,
|
||||
newCopyOnSave: false,
|
||||
newTitle: 'hello there',
|
||||
});
|
||||
expect(args.core.chrome.recentlyAccessed.add).toHaveBeenCalledWith(
|
||||
'/app/lens#/edit/aaa',
|
||||
'hello there',
|
||||
'aaa'
|
||||
);
|
||||
});
|
||||
|
||||
it('saves the latest doc as a copy', async () => {
|
||||
const { args, instance: inst } = await save({
|
||||
initialDocId: '1234',
|
||||
|
|
|
@ -39,6 +39,7 @@ import {
|
|||
IndexPatternsContract,
|
||||
SavedQuery,
|
||||
} from '../../../../../src/plugins/data/public';
|
||||
import { getFullPath } from '../../common';
|
||||
|
||||
interface State {
|
||||
indicateNoData: boolean;
|
||||
|
@ -271,6 +272,7 @@ export function App({
|
|||
docStorage
|
||||
.load(docId)
|
||||
.then((doc) => {
|
||||
core.chrome.recentlyAccessed.add(getFullPath(docId), doc.title, docId);
|
||||
getAllIndexPatterns(
|
||||
_.uniq(
|
||||
doc.references.filter(({ type }) => type === 'index-pattern').map(({ id }) => id)
|
||||
|
@ -365,6 +367,7 @@ export function App({
|
|||
docStorage
|
||||
.save(doc)
|
||||
.then(({ id }) => {
|
||||
core.chrome.recentlyAccessed.add(getFullPath(id), doc.title, id);
|
||||
// Prevents unnecessary network request and disables save button
|
||||
const newDoc = { ...doc, id };
|
||||
const currentOriginatingApp = state.originatingApp;
|
||||
|
|
Loading…
Reference in a new issue