Skip to content

Commit

Permalink
Some types fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
VladLasitsa committed Sep 24, 2021
1 parent ab285e1 commit 58f3c58
Show file tree
Hide file tree
Showing 12 changed files with 81 additions and 87 deletions.
2 changes: 1 addition & 1 deletion src/plugins/saved_objects_tagging_oss/public/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export interface SavedObjectsTaggingApiUi {
*
* @param object
*/
hasTagDecoration(object: SavedObjectClass): object is TagDecoratedSavedObject;
hasTagDecoration(object: SavedObjectClass | any): object is TagDecoratedSavedObject;

/**
* Return a filter that can be used to filter by tag with `EuiSearchBar` or EUI tables using `EuiSearchBar`.
Expand Down
11 changes: 6 additions & 5 deletions src/plugins/saved_objects_tagging_oss/public/decorator/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ import { InternalTagDecoratedSavedObject } from './types';

export { TagDecoratedSavedObject } from './types';

export const tagDecoratorConfig: SavedObjectDecoratorConfig<InternalTagDecoratedSavedObject> | any = {
id: decoratorId,
priority: 100,
factory: tagDecoratorFactory,
};
export const tagDecoratorConfig: SavedObjectDecoratorConfig<InternalTagDecoratedSavedObject> | any =
{
id: decoratorId,
priority: 100,
factory: tagDecoratorFactory,
};
Original file line number Diff line number Diff line change
Expand Up @@ -27,57 +27,59 @@ import { VISUALIZE_ENABLE_LABS_SETTING } from '../../common/constants';
import { IndexPattern } from '../../../data/public';
import { createVisualizeEmbeddableAsync } from './visualize_embeddable_async';

export const createVisEmbeddableFromObject = (deps: VisualizeEmbeddableFactoryDeps) => async (
vis: Vis,
input: Partial<VisualizeInput> & { id: string },
attributeService?: AttributeService<
VisualizeSavedObjectAttributes,
VisualizeByValueInput,
VisualizeByReferenceInput
>,
parent?: IContainer
): Promise<VisualizeEmbeddable | ErrorEmbeddable | DisabledLabEmbeddable> => {
try {
const visId = vis.id as string;
export const createVisEmbeddableFromObject =
(deps: VisualizeEmbeddableFactoryDeps) =>
async (
vis: Vis,
input: Partial<VisualizeInput> & { id: string },
attributeService?: AttributeService<
VisualizeSavedObjectAttributes,
VisualizeByValueInput,
VisualizeByReferenceInput
>,
parent?: IContainer
): Promise<VisualizeEmbeddable | ErrorEmbeddable | DisabledLabEmbeddable> => {
try {
const visId = vis.id as string;

const editPath = visId ? urlFor(visId) : '#/edit_by_value';
const editPath = visId ? urlFor(visId) : '#/edit_by_value';

const editUrl = visId ? getHttp().basePath.prepend(`/app/visualize${urlFor(visId)}`) : '';
const isLabsEnabled = getUISettings().get<boolean>(VISUALIZE_ENABLE_LABS_SETTING);
const editUrl = visId ? getHttp().basePath.prepend(`/app/visualize${urlFor(visId)}`) : '';
const isLabsEnabled = getUISettings().get<boolean>(VISUALIZE_ENABLE_LABS_SETTING);

if (!isLabsEnabled && vis.type.stage === 'experimental') {
return new DisabledLabEmbeddable(vis.title, input);
}
if (!isLabsEnabled && vis.type.stage === 'experimental') {
return new DisabledLabEmbeddable(vis.title, input);
}

let indexPatterns: IndexPattern[] = [];
let indexPatterns: IndexPattern[] = [];

if (vis.type.getUsedIndexPattern) {
indexPatterns = await vis.type.getUsedIndexPattern(vis.params);
} else if (vis.data.indexPattern) {
indexPatterns = [vis.data.indexPattern];
}
if (vis.type.getUsedIndexPattern) {
indexPatterns = await vis.type.getUsedIndexPattern(vis.params);
} else if (vis.data.indexPattern) {
indexPatterns = [vis.data.indexPattern];
}

const capabilities = {
visualizeSave: Boolean(getCapabilities().visualize.save),
dashboardSave: Boolean(getCapabilities().dashboard?.showWriteControls),
};
const capabilities = {
visualizeSave: Boolean(getCapabilities().visualize.save),
dashboardSave: Boolean(getCapabilities().dashboard?.showWriteControls),
};

return createVisualizeEmbeddableAsync(
getTimeFilter(),
{
vis,
indexPatterns,
editPath,
editUrl,
deps,
capabilities,
},
input,
attributeService,
parent
);
} catch (e) {
console.error(e); // eslint-disable-line no-console
return new ErrorEmbeddable(e, input, parent);
}
};
return createVisualizeEmbeddableAsync(
getTimeFilter(),
{
vis,
indexPatterns,
editPath,
editUrl,
deps,
capabilities,
},
input,
attributeService,
parent
);
} catch (e) {
console.error(e); // eslint-disable-line no-console
return new ErrorEmbeddable(e, input, parent);
}
};
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ export class VisualizeEmbeddableFactory
VisualizeOutput | EmbeddableOutput,
VisualizeEmbeddable | DisabledLabEmbeddable,
VisualizationAttributes
> {
>
{
public readonly type = VISUALIZE_EMBEDDABLE_TYPE;

private attributeService?: AttributeService<
Expand Down Expand Up @@ -219,7 +220,7 @@ export class VisualizeEmbeddableFactory
savedVis.copyOnSave = false;
savedVis.description = '';
savedVis.searchSourceFields = visObj?.data.searchSource?.getSerializedFields();
const serializedVis = ((visObj as unknown) as Vis).serialize();
const serializedVis = (visObj as unknown as Vis).serialize();
const { params, data } = serializedVis;
savedVis.visState = {
title,
Expand Down Expand Up @@ -270,7 +271,7 @@ export class VisualizeEmbeddableFactory
}

public inject(_state: EmbeddableStateWithType, references: SavedObjectReference[]) {
const state = (_state as unknown) as VisualizeInput;
const state = _state as unknown as VisualizeInput;

const { type, params } = state.savedVis ?? {};

Expand All @@ -283,7 +284,7 @@ export class VisualizeEmbeddableFactory
}

public extract(_state: EmbeddableStateWithType) {
const state = (_state as unknown) as VisualizeInput;
const state = _state as unknown as VisualizeInput;
const references = [];

if (state.savedVis?.data.searchSource) {
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/visualizations/public/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,5 @@ export {
saveVisualization,
findListItems,
urlFor,
getFullPath
getFullPath,
} from './utils/saved_visualize_utils';
5 changes: 1 addition & 4 deletions src/plugins/visualizations/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,7 @@ import { createSavedVisLoader, SavedVisualizationsLoader } from './saved_visuali
import type { SerializedVis, Vis } from './vis';
import { showNewVisModal } from './wizard';

import {
convertFromSerializedVis,
convertToSerializedVis,
} from './utils/saved_visualize_utils';
import { convertFromSerializedVis, convertToSerializedVis } from './utils/saved_visualize_utils';

import { createSavedSearchesLoader } from '../../discover/public';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,11 @@ describe('injectReferences', () => {
});

test('injects references into context', () => {
const context = ({
const context = {
id: '1',
title: 'test',
savedSearchRefName: 'search_0',
visState: ({
visState: {
type: 'input_control_vis',
params: {
controls: [
Expand All @@ -132,8 +132,8 @@ describe('injectReferences', () => {
},
],
},
} as unknown) as SavedVisState,
} as unknown) as VisSavedObject;
} as unknown as SavedVisState,
} as unknown as VisSavedObject;
const references = [
{
name: 'search_0',
Expand Down Expand Up @@ -182,10 +182,10 @@ describe('injectReferences', () => {
});

test(`fails when it can't find the index pattern reference in the array`, () => {
const context = ({
const context = {
id: '1',
title: 'test',
visState: ({
visState: {
type: 'input_control_vis',
params: {
controls: [
Expand All @@ -195,8 +195,8 @@ describe('injectReferences', () => {
},
],
},
} as unknown) as SavedVisState,
} as unknown) as VisSavedObject;
} as unknown as SavedVisState,
} as unknown as VisSavedObject;
expect(() => injectReferences(context, [])).toThrowErrorMatchingInlineSnapshot(
`"Could not find index pattern reference \\"control_0_index_pattern\\""`
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -327,10 +327,8 @@ export async function saveVisualization(
const references: any = [];

if (savedObject.searchSource) {
const {
searchSourceJSON,
references: searchSourceReferences,
} = savedObject.searchSource.serialize();
const { searchSourceJSON, references: searchSourceReferences } =
savedObject.searchSource.serialize();
attributes.kibanaSavedObjectMeta = { searchSourceJSON };
references.push(...searchSourceReferences);
}
Expand All @@ -344,7 +342,7 @@ export async function saveVisualization(
references.push(...searchSourceReferences);
}

let extractedRefs = config.extractReferences({ attributes, references });
const extractedRefs = config.extractReferences({ attributes, references });

if (!extractedRefs.references) {
throw new Error('References not returned from extractReferences');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export const VisualizeEditorCommon = ({
}

aliasMatchRedirect();
}, [visInstance?.savedVis.sharingSavedObjectProps, services]);
}, [visInstance?.savedVis.sharingSavedObjectProps, visInstance?.vis?.type.title, services]);

const getLegacyUrlConflictCallout = useCallback(() => {
// This function returns a callout component *if* we have encountered a "legacy URL conflict" scenario
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export const VisualizeListing = () => {
chrome,
dashboard,
history,
savedVisualizations,
toastNotifications,
visualizations,
stateTransferService,
Expand Down Expand Up @@ -114,15 +113,15 @@ export const VisualizeListing = () => {

const isLabsEnabled = uiSettings.get(VISUALIZE_ENABLE_LABS_SETTING);
return findListItems(savedObjects.client, searchTerm, listingLimit, references).then(
({ total, hits }: { total: number; hits: Record<string, unknown>[] }) => ({
({ total, hits }: { total: number; hits: Array<Record<string, unknown>> }) => ({
total,
hits: hits.filter(
(result: any) => isLabsEnabled || result.type?.stage !== 'experimental'
),
})
);
},
[listingLimit, savedVisualizations, uiSettings, savedObjectsTagging]
[listingLimit, uiSettings, savedObjectsTagging, savedObjects.client]
);

const deleteItems = useCallback(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ const SavedObjectSaveModalDashboard = withSuspense(LazySavedObjectSaveModalDashb
export const showPublicUrlSwitch = (anonymousUserCapabilities: Capabilities) => {
if (!anonymousUserCapabilities.visualize) return false;

const visualize = (anonymousUserCapabilities.visualize as unknown) as VisualizeCapabilities;
const visualize = anonymousUserCapabilities.visualize as unknown as VisualizeCapabilities;

return !!visualize.show;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,8 @@ const createVisualizeEmbeddableAndLinkSavedSearch = async (
vis: Vis,
visualizeServices: VisualizeServices
) => {
const {
data,
createVisEmbeddableFromObject,
savedObjects,
savedObjectsPublic,
} = visualizeServices;
const { data, createVisEmbeddableFromObject, savedObjects, savedObjectsPublic } =
visualizeServices;
const embeddableHandler = (await createVisEmbeddableFromObject(vis, {
id: '',
timeRange: data.query.timefilter.timefilter.getTime(),
Expand All @@ -50,7 +46,7 @@ const createVisualizeEmbeddableAndLinkSavedSearch = async (
embeddableHandler.getOutput$().subscribe((output) => {
if (output.error && !isErrorRelatedToRuntimeFields(output.error)) {
data.search.showError(
((output.error as unknown) as ExpressionValueError['error']).original || output.error
(output.error as unknown as ExpressionValueError['error']).original || output.error
);
}
});
Expand Down

0 comments on commit 58f3c58

Please sign in to comment.