Skip to content

Commit 9fa8ec4

Browse files
[ML] Making creation of data view during file upload optional (#210208)
Adds an option override to tell the file uploader not to create a data view once ingest has finished. This is currently not used but should be used in the near future when creating lookup indices from the es|ql query bar. The PR also contains some typing clean up to remove duplication. **Before** ![image](https://github.com/user-attachments/assets/232e8c75-c021-4b5a-ac6a-f15ebb753799) **After** ![image](https://github.com/user-attachments/assets/de583208-410f-4fbf-94f2-a84a8ac6b690)
1 parent d34ee93 commit 9fa8ec4

File tree

10 files changed

+50
-23
lines changed

10 files changed

+50
-23
lines changed

x-pack/platform/packages/shared/file-upload-common/src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ export interface OpenFileUploadLiteContext {
1818
onUploadComplete?: (results: FileUploadResults | null) => void;
1919
indexSettings?: IndicesIndexSettings;
2020
autoAddInference?: string;
21+
autoCreateDataView?: boolean;
2122
}

x-pack/platform/plugins/private/data_visualizer/public/lite/file_manager/file_manager.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export class FileManager {
7676
indexCreated: STATUS.NOT_STARTED,
7777
pipelineCreated: STATUS.NOT_STARTED,
7878
modelDeployed: STATUS.NA,
79-
dataViewCreated: STATUS.NA,
79+
dataViewCreated: STATUS.NOT_STARTED,
8080
pipelinesDeleted: STATUS.NOT_STARTED,
8181
fileImport: STATUS.NOT_STARTED,
8282
filesStatus: [],
@@ -91,6 +91,7 @@ export class FileManager {
9191
private http: HttpSetup,
9292
private dataViewsContract: DataViewsServicePublic,
9393
private autoAddInferenceEndpointName: string | null = null,
94+
private autoCreateDataView: boolean = true,
9495
private removePipelinesAfterImport: boolean = true,
9596
indexSettingsOverride: IndicesIndexSettings | undefined = undefined
9697
) {
@@ -225,10 +226,7 @@ export class FileManager {
225226
return files.map((file) => file.getPipeline());
226227
}
227228

228-
public async import(
229-
indexName: string,
230-
createDataView: boolean = true
231-
): Promise<FileUploadResults | null> {
229+
public async import(indexName: string): Promise<FileUploadResults | null> {
232230
if (this.mappings === null || this.pipelines === null || this.commonFileFormat === null) {
233231
this.setStatus({
234232
overallImportStatus: STATUS.FAILED,
@@ -239,6 +237,7 @@ export class FileManager {
239237

240238
this.setStatus({
241239
overallImportStatus: STATUS.STARTED,
240+
dataViewCreated: this.autoCreateDataView ? STATUS.NOT_STARTED : STATUS.NA,
242241
});
243242

244243
this.importer = await this.fileUpload.importerFactory(this.commonFileFormat, {});
@@ -372,7 +371,7 @@ export class FileManager {
372371

373372
const dataView = '';
374373
let dataViewResp;
375-
if (createDataView) {
374+
if (this.autoCreateDataView) {
376375
this.setStatus({
377376
dataViewCreated: STATUS.STARTED,
378377
});

x-pack/platform/plugins/private/data_visualizer/public/lite/file_upload_lite.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export interface Props {
2020
getAdditionalLinks?: GetAdditionalLinks;
2121
setUploadResults?: (results: FileUploadResults) => void;
2222
autoAddInference?: string;
23+
autoCreateDataView?: boolean;
2324
indexSettings?: IndicesIndexSettings;
2425
onClose?: () => void;
2526
}
@@ -29,6 +30,7 @@ export const FileDataVisualizerLite: FC<Props> = ({
2930
resultLinks,
3031
setUploadResults,
3132
autoAddInference,
33+
autoCreateDataView,
3234
indexSettings,
3335
onClose,
3436
}) => {
@@ -60,6 +62,7 @@ export const FileDataVisualizerLite: FC<Props> = ({
6062
capabilities={coreStart.application.capabilities}
6163
setUploadResults={setUploadResults}
6264
autoAddInference={autoAddInference}
65+
autoCreateDataView={autoCreateDataView}
6366
indexSettings={indexSettings}
6467
onClose={onClose}
6568
/>

x-pack/platform/plugins/private/data_visualizer/public/lite/file_upload_lite_action.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export function createOpenFileUploadLiteAction(
4444
async execute({
4545
onUploadComplete,
4646
autoAddInference,
47+
autoCreateDataView,
4748
indexSettings,
4849
}: OpenFileUploadLiteContext) {
4950
try {
@@ -52,6 +53,7 @@ export function createOpenFileUploadLiteAction(
5253
createFlyout(coreStart, share, data, {
5354
onUploadComplete,
5455
autoAddInference,
56+
autoCreateDataView,
5557
indexSettings,
5658
});
5759
} catch (e) {

x-pack/platform/plugins/private/data_visualizer/public/lite/file_upload_lite_view.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ interface Props {
4848
getAdditionalLinks?: GetAdditionalLinks;
4949
setUploadResults?: (results: FileUploadResults) => void;
5050
autoAddInference?: string;
51+
autoCreateDataView?: boolean;
5152
indexSettings?: IndicesIndexSettings;
5253
onClose?: () => void;
5354
}
@@ -58,6 +59,7 @@ export const FileUploadLiteView: FC<Props> = ({
5859
dataStart,
5960
setUploadResults,
6061
autoAddInference,
62+
autoCreateDataView,
6163
indexSettings,
6264
onClose,
6365
}) => {
@@ -71,10 +73,11 @@ export const FileUploadLiteView: FC<Props> = ({
7173
http,
7274
dataStart.dataViews,
7375
autoAddInference ?? null,
76+
autoCreateDataView,
7477
true,
7578
indexSettings
7679
),
77-
[autoAddInference, dataStart.dataViews, fileUpload, http, indexSettings]
80+
[autoAddInference, autoCreateDataView, dataStart.dataViews, fileUpload, http, indexSettings]
7881
);
7982
const deleteFile = useCallback((i: number) => fm.removeFile(i), [fm]);
8083

x-pack/platform/plugins/private/data_visualizer/public/lite/flyout/component_wrapper.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,24 @@ export const FileDataVisualizerLiteWrapper: FC<{
1818
resultLinks?: ResultLinks;
1919
setUploadResults?: (results: FileUploadResults) => void;
2020
autoAddInference?: string;
21+
autoCreateDataView?: boolean;
2122
indexSettings?: IndicesIndexSettings;
2223
onClose?: () => void;
23-
}> = ({ resultLinks, setUploadResults, autoAddInference, indexSettings, onClose }) => {
24+
}> = ({
25+
resultLinks,
26+
setUploadResults,
27+
autoAddInference,
28+
autoCreateDataView,
29+
indexSettings,
30+
onClose,
31+
}) => {
2432
return (
2533
<React.Suspense fallback={<div />}>
2634
<FileDataVisualizerLiteComponent
2735
resultLinks={resultLinks}
2836
setUploadResults={setUploadResults}
2937
autoAddInference={autoAddInference}
38+
autoCreateDataView={autoCreateDataView}
3039
indexSettings={indexSettings}
3140
onClose={onClose}
3241
/>
@@ -38,6 +47,7 @@ export function getFileDataVisualizerLiteWrapper(
3847
resultLinks?: ResultLinks,
3948
setUploadResults?: (results: FileUploadResults) => void,
4049
autoAddInference?: string,
50+
autoCreateDataView?: boolean,
4151
indexSettings?: IndicesIndexSettings,
4252
onClose?: () => void
4353
) {
@@ -46,6 +56,7 @@ export function getFileDataVisualizerLiteWrapper(
4656
resultLinks={resultLinks}
4757
setUploadResults={setUploadResults}
4858
autoAddInference={autoAddInference}
59+
autoCreateDataView={autoCreateDataView}
4960
indexSettings={indexSettings}
5061
onClose={onClose}
5162
/>

x-pack/platform/plugins/private/data_visualizer/public/lite/flyout/create_flyout.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export function createFlyout(
3838
});
3939

4040
let results: FileUploadResults | null = null;
41-
const { onUploadComplete, autoAddInference, indexSettings } = props;
41+
const { onUploadComplete, autoAddInference, autoCreateDataView, indexSettings } = props;
4242

4343
const onFlyoutClose = () => {
4444
flyoutSession.close();
@@ -54,7 +54,7 @@ export function createFlyout(
5454
coreStart={coreStart}
5555
share={share}
5656
data={data}
57-
props={{ autoAddInference, indexSettings }}
57+
props={{ autoAddInference, autoCreateDataView, indexSettings }}
5858
onFlyoutClose={onFlyoutClose}
5959
setUploadResults={(res) => {
6060
if (res) {

x-pack/platform/plugins/private/data_visualizer/public/lite/flyout/flyout.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,22 @@ interface Props {
1616
onClose?: () => void;
1717
setUploadResults?: (results: FileUploadResults) => void;
1818
autoAddInference?: string;
19+
autoCreateDataView?: boolean;
1920
indexSettings?: IndicesIndexSettings;
2021
}
2122

2223
export const FileUploadLiteFlyoutContents: FC<Props> = ({
2324
onClose,
2425
setUploadResults,
2526
autoAddInference,
27+
autoCreateDataView,
2628
indexSettings,
2729
}) => {
2830
const Wrapper = getFileDataVisualizerLiteWrapper(
2931
undefined,
3032
setUploadResults,
3133
autoAddInference,
34+
autoCreateDataView,
3235
indexSettings,
3336
onClose
3437
);

x-pack/platform/plugins/private/data_visualizer/public/lite/flyout/flyout_contents.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export const FlyoutContents: FC<Props> = ({
2727
coreStart,
2828
share,
2929
data,
30-
props: { autoAddInference, indexSettings },
30+
props: { autoAddInference, autoCreateDataView, indexSettings },
3131
onFlyoutClose,
3232
setUploadResults,
3333
}) => {
@@ -41,6 +41,7 @@ export const FlyoutContents: FC<Props> = ({
4141
>
4242
<FileUploadLiteFlyoutContents
4343
autoAddInference={autoAddInference}
44+
autoCreateDataView={autoCreateDataView}
4445
indexSettings={indexSettings}
4546
onClose={() => {
4647
onFlyoutClose();

x-pack/platform/plugins/private/data_visualizer/public/lite/overall_upload_status.tsx

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,21 @@ export const OverallUploadStatus: FC<Props> = ({ filesStatus, uploadStatus }) =>
8080
),
8181
status: generateStatus([uploadStatus.fileImport]),
8282
},
83-
{
84-
title: i18n.translate('xpack.dataVisualizer.file.overallUploadStatus.creatingDataView', {
85-
defaultMessage: 'Creating data view',
86-
}),
87-
children: <></>,
88-
status: generateStatus([uploadStatus.dataViewCreated]),
89-
},
83+
...(uploadStatus.dataViewCreated === STATUS.NA
84+
? []
85+
: [
86+
{
87+
title: i18n.translate(
88+
'xpack.dataVisualizer.file.overallUploadStatus.creatingDataView',
89+
{
90+
defaultMessage: 'Creating data view',
91+
}
92+
),
93+
children: <></>,
94+
status: generateStatus([uploadStatus.dataViewCreated]),
95+
},
96+
]),
97+
9098
{
9199
title: i18n.translate('xpack.dataVisualizer.file.overallUploadStatus.uploadComplete', {
92100
defaultMessage: 'Upload complete',
@@ -96,9 +104,5 @@ export const OverallUploadStatus: FC<Props> = ({ filesStatus, uploadStatus }) =>
96104
},
97105
];
98106

99-
return (
100-
<>
101-
<EuiSteps steps={steps} titleSize="xxs" css={css} />
102-
</>
103-
);
107+
return <EuiSteps steps={steps} titleSize="xxs" css={css} />;
104108
};

0 commit comments

Comments
 (0)