Skip to content

Commit 37044aa

Browse files
committed
fix some comments
1 parent 7b25522 commit 37044aa

File tree

6 files changed

+32
-21
lines changed

6 files changed

+32
-21
lines changed

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.findbytitle.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ Returns an object matching a given title
99
<b>Signature:</b>
1010

1111
```typescript
12-
findByTitle: (title: string) => Promise<IndexPattern | undefined>;
12+
findByTitle: (title: string, refresh?: boolean) => Promise<IndexPattern | undefined>;
1313
```

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export declare class IndexPatternsService
2323
| [clearCache](./kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md) | | <code>(id?: string &#124; undefined) =&gt; void</code> | Clear index pattern list cache |
2424
| [ensureDefaultIndexPattern](./kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md) | | <code>EnsureDefaultIndexPattern</code> | |
2525
| [fieldArrayToMap](./kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md) | | <code>(fields: FieldSpec[], fieldAttrs?: FieldAttrs &#124; undefined) =&gt; Record&lt;string, FieldSpec&gt;</code> | Converts field array to map |
26-
| [findByTitle](./kibana-plugin-plugins-data-public.indexpatternsservice.findbytitle.md) | | <code>(title: string) =&gt; Promise&lt;IndexPattern &#124; undefined&gt;</code> | Returns an object matching a given title |
26+
| [findByTitle](./kibana-plugin-plugins-data-public.indexpatternsservice.findbytitle.md) | | <code>(title: string, refresh?: boolean) =&gt; Promise&lt;IndexPattern &#124; undefined&gt;</code> | Returns an object matching a given title |
2727
| [get](./kibana-plugin-plugins-data-public.indexpatternsservice.get.md) | | <code>(id: string) =&gt; Promise&lt;IndexPattern&gt;</code> | Get an index pattern by id. Cache optimized |
2828
| [getCache](./kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md) | | <code>() =&gt; Promise&lt;SavedObject&lt;IndexPatternSavedObjectAttrs&gt;[] &#124; null &#124; undefined&gt;</code> | |
2929
| [getDefault](./kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md) | | <code>() =&gt; Promise&lt;IndexPattern &#124; null&gt;</code> | Get default index pattern |

src/plugins/data/common/index_patterns/index_patterns/index_patterns.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,16 @@ export class IndexPatternsService {
160160
* @param title {string}
161161
* @returns {Promise<SavedObject|undefined>}
162162
*/
163-
findByTitle = async (title: string) => {
164-
const savedObject = await findByTitle(this.savedObjectsClient, title);
163+
findByTitle = async (title: string, refresh: boolean = false) => {
164+
if (!this.savedObjectsCache || refresh) {
165+
await this.refreshSavedObjectsCache();
166+
}
167+
if (this.savedObjectsCache) {
168+
const so = this.savedObjectsCache.find((obj) => obj.attributes.title === title);
165169

166-
if (savedObject?.id) {
167-
return this.get(savedObject?.id);
170+
if (so?.id) {
171+
return this.get(so.id);
172+
}
168173
}
169174
};
170175

src/plugins/data/common/index_patterns/utils.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
* under the License.
1818
*/
1919

20-
import { find } from 'lodash';
21-
import { SavedObjectsClientCommon, SavedObject } from '..';
20+
import type { IndexPatternSavedObjectAttrs } from './index_patterns';
21+
import type { SavedObjectsClientCommon } from '../types';
2222

2323
/**
2424
* Returns an object matching a given title
@@ -29,17 +29,14 @@ import { SavedObjectsClientCommon, SavedObject } from '..';
2929
*/
3030
export async function findByTitle(client: SavedObjectsClientCommon, title: string) {
3131
if (title) {
32-
const savedObjects = await client.find({
32+
const savedObjects = await client.find<IndexPatternSavedObjectAttrs>({
3333
type: 'index-pattern',
3434
perPage: 10,
3535
search: `"${title}"`,
3636
searchFields: ['title'],
3737
fields: ['title'],
3838
});
3939

40-
return find(
41-
savedObjects,
42-
(obj: SavedObject<any>) => obj.attributes.title.toLowerCase() === title.toLowerCase()
43-
);
40+
return savedObjects.find((obj) => obj.attributes.title.toLowerCase() === title.toLowerCase());
4441
}
4542
}

src/plugins/data/public/public.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1396,7 +1396,7 @@ export class IndexPatternsService {
13961396
// (undocumented)
13971397
ensureDefaultIndexPattern: EnsureDefaultIndexPattern;
13981398
fieldArrayToMap: (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record<string, FieldSpec>;
1399-
findByTitle: (title: string) => Promise<IndexPattern | undefined>;
1399+
findByTitle: (title: string, refresh?: boolean) => Promise<IndexPattern | undefined>;
14001400
get: (id: string) => Promise<IndexPattern>;
14011401
// Warning: (ae-forgotten-export) The symbol "IndexPatternSavedObjectAttrs" needs to be exported by the entry point index.d.ts
14021402
//

src/plugins/visualize/public/application/components/visualize_top_nav.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import React, { memo, useCallback, useMemo, useState, useEffect } from 'react';
2121

2222
import { AppMountParameters, OverlayRef } from 'kibana/public';
23-
import _ from 'lodash';
2423
import { i18n } from '@kbn/i18n';
2524
import { useKibana } from '../../../../kibana_react/public';
2625
import {
@@ -31,6 +30,7 @@ import {
3130
} from '../types';
3231
import { APP_NAME } from '../visualize_constants';
3332
import { getTopNavConfig } from '../utils';
33+
import type { IndexPattern } from '../../../../data/common/index_patterns';
3434

3535
interface VisualizeTopNavProps {
3636
currentAppState: VisualizeAppState;
@@ -165,14 +165,23 @@ const TopNav = ({
165165
]);
166166

167167
useEffect(() => {
168+
const asyncSetIndexPattern = async () => {
169+
let index: IndexPattern | null = null;
170+
171+
if (vis.type.getUsedIndexPattern) {
172+
[index] = await vis.type.getUsedIndexPattern(vis.params);
173+
}
174+
if (!index) {
175+
index = await services.data.indexPatterns.getDefault();
176+
}
177+
if (index) {
178+
setIndexPattern(index);
179+
}
180+
};
168181
if (!vis.data.indexPattern) {
169-
services.data.indexPatterns.getDefault().then((index) => {
170-
if (index) {
171-
setIndexPattern(index);
172-
}
173-
});
182+
asyncSetIndexPattern();
174183
}
175-
}, [services.data.indexPatterns, vis.data.indexPattern]);
184+
}, [vis.params, vis.type, services.data.indexPatterns, vis.data.indexPattern]);
176185

177186
return isChromeVisible ? (
178187
/**

0 commit comments

Comments
 (0)