Skip to content

Commit f22af22

Browse files
committed
Moved dataset ie to features folder
1 parent c60446a commit f22af22

File tree

74 files changed

+531
-367
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+531
-367
lines changed

web_ui/src/core/datasets/hooks/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { AxiosError } from 'axios';
55
import { StatusCodes } from 'http-status-codes';
66
import { isFunction } from 'lodash-es';
77

8+
import { IntervalJobHandlers } from '../../../features/dataset-import/types/dataset-import.interface';
89
import {
910
isJobCancel,
1011
isJobDone,
@@ -13,7 +14,6 @@ import {
1314
} from '../../../shared/components/header/jobs-management/utils';
1415
import { JobGeneralProps } from '../../jobs/jobs.interface';
1516
import { getFailedJobMessage } from '../../services/utils';
16-
import { IntervalJobHandlers } from './dataset-import.interface';
1717

1818
export const getIntervalJobHandlers =
1919
<T extends JobGeneralProps>({
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
.exportStatusContainer {
2+
position: relative;
3+
margin: var(--spectrum-global-dimension-size-250) 0;
4+
background: var(--spectrum-global-color-gray-75);
5+
}
6+
7+
.exportStatusTitle {
8+
margin: 0;
9+
margin-bottom: var(--spectrum-global-dimension-size-100);
10+
font-size: var(--spectrum-global-dimension-size-200);
11+
font-weight: normal;
12+
}
13+
14+
.exportDialogBody {
15+
padding: var(--spectrum-global-dimension-size-250) !important;
16+
background: var(--spectrum-global-color-gray-50) !important;
17+
}
18+
19+
.smallHeader {
20+
font-size: var(--spectrum-global-dimension-font-size-75);
21+
color: var(--spectrum-global-color-gray-700);
22+
}
23+
24+
.linkButton {
25+
&:not(:hover) {
26+
color: var(--energy-blue);
27+
28+
> svg {
29+
fill: var(--energy-blue) !important;
30+
}
31+
}
32+
}
33+
34+
.messages {
35+
display: flex;
36+
align-items: center;
37+
margin-top: var(--spectrum-global-dimension-size-300);
38+
margin-bottom: var(--spectrum-global-dimension-size-115);
39+
40+
svg {
41+
fill: var(--spectrum-semantic-notice-color-icon);
42+
margin-right: var(--spectrum-global-dimension-size-150);
43+
}
44+
}
45+
46+
.messageList {
47+
position: relative;
48+
list-style-type: disc;
49+
50+
li {
51+
margin-left: var(--spectrum-global-dimension-size-600);
52+
53+
&::marker {
54+
color: var(--spectrum-alias-icon-color);
55+
}
56+
}
57+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
import { render, screen } from '@testing-library/react';
55

6-
import { useDatasetStatistics } from '../../../../../core/statistics/hooks/use-dataset-statistics.hook';
7-
import { useDatasetIdentifier } from '../../../../annotator/hooks/use-dataset-identifier.hook';
8-
import { useMedia } from '../../../../media/providers/media-provider.component';
6+
import { useDatasetStatistics } from '../../../core/statistics/hooks/use-dataset-statistics.hook';
7+
import { useDatasetIdentifier } from '../../../pages/annotator/hooks/use-dataset-identifier.hook';
8+
import { useMedia } from '../../../pages/media/providers/media-provider.component';
99
import { ExportDatasetStatistics } from './export-dataset-dialog.component';
1010

1111
jest.mock('../../../../media/providers/media-provider.component', () => ({
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,19 @@ import {
2323
import { OverlayTriggerState } from '@react-stately/overlays';
2424
import LinkOut from '@spectrum-icons/workflow/LinkOut';
2525

26-
import { DOCS_BASE_URL } from '../../../../../core/const';
27-
import { DOMAIN } from '../../../../../core/projects/core.interface';
28-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
29-
import { useDatasetStatistics } from '../../../../../core/statistics/hooks/use-dataset-statistics.hook';
30-
import { isNotCropDomain, openNewTab, pluralize } from '../../../../../shared/utils';
31-
import { useDatasetIdentifier } from '../../../../annotator/hooks/use-dataset-identifier.hook';
32-
import { useMedia } from '../../../../media/providers/media-provider.component';
33-
import { useExportDataset } from '../../../hooks/use-export-dataset.hook';
34-
import { useProject } from '../../../providers/project-provider/project-provider.component';
26+
import { DOCS_BASE_URL } from '../../../core/const';
27+
import { DOMAIN } from '../../../core/projects/core.interface';
28+
import { ExportFormats } from '../../../core/projects/dataset.interface';
29+
import { useDatasetStatistics } from '../../../core/statistics/hooks/use-dataset-statistics.hook';
30+
import { useDatasetIdentifier } from '../../../pages/annotator/hooks/use-dataset-identifier.hook';
31+
import { useMedia } from '../../../pages/media/providers/media-provider.component';
32+
import { useExportDataset } from '../../../pages/project-details/hooks/use-export-dataset.hook';
33+
import { useProject } from '../../../pages/project-details/providers/project-provider/project-provider.component';
34+
import { isNotCropDomain, openNewTab, pluralize } from '../../../shared/utils';
35+
import { AVAILABLE_FORMATS, ExportFormatDetails, isDatumaroFormat } from '../utils/utils';
3536
import { ExportDatasetMessage } from './export-dataset-message.component';
36-
import { AVAILABLE_FORMATS, ExportFormatDetails, isDatumaroFormat } from './utils';
3737

38-
import classes from '../project-dataset.module.scss';
38+
import classes from './dataset-export.module.scss';
3939

4040
enum SaveVideoFormat {
4141
NATIVE = 'native',
@@ -185,7 +185,7 @@ export const ExportDatasetDialog = ({ triggerState, datasetName }: ExportDataset
185185
Convert frames to individual images
186186
</Radio>
187187
</RadioGroup>
188-
<Divider size='S' UNSAFE_className={classes.divider} />
188+
<Divider size='S' />
189189
</>
190190
)}
191191
<RadioGroup
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import { defaultTheme, Provider } from '@geti/ui';
55
import { useOverlayTriggerState } from '@react-stately/overlays';
66
import { fireEvent, render, RenderResult, screen } from '@testing-library/react';
77

8-
import { createInMemoryMediaService } from '../../../../../core/media/services/in-memory-media-service/in-memory-media-service';
9-
import { MediaService } from '../../../../../core/media/services/media-service.interface';
10-
import { DOMAIN } from '../../../../../core/projects/core.interface';
11-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
12-
import { getMockedProject } from '../../../../../test-utils/mocked-items-factory/mocked-project';
13-
import { RequiredProviders } from '../../../../../test-utils/required-providers-render';
14-
import { MediaProvider } from '../../../../media/providers/media-provider.component';
15-
import { useProject } from '../../../providers/project-provider/project-provider.component';
8+
import { createInMemoryMediaService } from '../../../core/media/services/in-memory-media-service/in-memory-media-service';
9+
import { MediaService } from '../../../core/media/services/media-service.interface';
10+
import { DOMAIN } from '../../../core/projects/core.interface';
11+
import { ExportFormats } from '../../../core/projects/dataset.interface';
12+
import { MediaProvider } from '../../../pages/media/providers/media-provider.component';
13+
import { useProject } from '../../../pages/project-details/providers/project-provider/project-provider.component';
14+
import { getMockedProject } from '../../../test-utils/mocked-items-factory/mocked-project';
15+
import { RequiredProviders } from '../../../test-utils/required-providers-render';
1616
import { ExportDatasetDialog } from './export-dataset-dialog.component';
1717

1818
jest.mock('../../../providers/project-provider/project-provider.component', () => ({
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
import { Button, ButtonGroup, Flex, Heading, Text, View } from '@geti/ui';
55
import { isEmpty, isString } from 'lodash-es';
66

7-
import { ExportDatasetLSData } from '../../../../../core/projects/dataset.interface';
8-
import { useApplicationServices } from '../../../../../core/services/application-services-provider.component';
9-
import { NOTIFICATION_TYPE } from '../../../../../notification/notification-toast/notification-type.enum';
10-
import { useNotification } from '../../../../../notification/notification.component';
11-
import { downloadFile, getDownloadNotificationMessage, getFileSize } from '../../../../../shared/utils';
7+
import { ExportDatasetLSData } from '../../../core/projects/dataset.interface';
8+
import { useApplicationServices } from '../../../core/services/application-services-provider.component';
9+
import { NOTIFICATION_TYPE } from '../../../notification/notification-toast/notification-type.enum';
10+
import { useNotification } from '../../../notification/notification.component';
11+
import { downloadFile, getDownloadNotificationMessage, getFileSize } from '../../../shared/utils';
1212

13-
import classes from '../project-dataset.module.scss';
13+
import classes from './dataset-export.module.scss';
1414

1515
interface ExportDatasetDownloadProps {
1616
onCloseDownload: (id: string) => void;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import { defaultTheme, Provider } from '@geti/ui';
55
import { fireEvent, RenderResult, screen } from '@testing-library/react';
66

7-
import { ExportDatasetLSData, ExportFormats } from '../../../../../core/projects/dataset.interface';
8-
import { downloadFile, getDownloadNotificationMessage } from '../../../../../shared/utils';
9-
import { providersRender as render } from '../../../../../test-utils/required-providers-render';
7+
import { ExportDatasetLSData, ExportFormats } from '../../../core/projects/dataset.interface';
8+
import { downloadFile, getDownloadNotificationMessage } from '../../../shared/utils';
9+
import { providersRender as render } from '../../../test-utils/required-providers-render';
1010
import { ExportDatasetDownload } from './export-dataset-download.component';
1111

1212
jest.mock('../../../hooks/use-export-dataset.hook', () => ({
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33

44
import { Text } from '@geti/ui';
55

6-
import { Alert } from '../../../../../assets/icons';
7-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
8-
import { isClassificationDomain, isRotatedDetectionDomain } from '../../../../../core/projects/domains';
9-
import { ProjectProps } from '../../../../../core/projects/project.interface';
6+
import { Alert } from '../../../assets/icons';
7+
import { ExportFormats } from '../../../core/projects/dataset.interface';
8+
import { isClassificationDomain, isRotatedDetectionDomain } from '../../../core/projects/domains';
9+
import { ProjectProps } from '../../../core/projects/project.interface';
1010
import {
1111
CLASSIFICATION_MESSAGE,
1212
EXPORT_VIDEO_NOT_SUPPORTED_MESSAGE,
1313
ROTATED_BOUNDING_MESSAGE,
1414
TASK_CHAIN_MESSAGE,
15-
} from './utils';
15+
} from '../utils/utils';
1616

17-
import classes from '../project-dataset.module.scss';
17+
import classes from './dataset-export.module.scss';
1818

1919
interface ExportDatasetMessageProps {
2020
project: ProjectProps;
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33

44
import { render, RenderResult, screen } from '@testing-library/react';
55

6-
import { DOMAIN } from '../../../../../core/projects/core.interface';
7-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
8-
import { ProjectProps } from '../../../../../core/projects/project.interface';
9-
import { ExportDatasetMessage } from './export-dataset-message.component';
6+
import { DOMAIN } from '../../../core/projects/core.interface';
7+
import { ExportFormats } from '../../../core/projects/dataset.interface';
8+
import { ProjectProps } from '../../../core/projects/project.interface';
109
import {
1110
CLASSIFICATION_MESSAGE,
1211
EXPORT_VIDEO_NOT_SUPPORTED_MESSAGE,
1312
ROTATED_BOUNDING_MESSAGE,
1413
TASK_CHAIN_MESSAGE,
15-
} from './utils';
14+
} from '../utils/utils';
15+
import { ExportDatasetMessage } from './export-dataset-message.component';
1616

1717
describe('ExportDatasetMessage', () => {
1818
beforeEach(() => {
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import { useEffect } from 'react';
66
import { View } from '@geti/ui';
77
import { OverlayTriggerState, useOverlayTriggerState } from '@react-stately/overlays';
88

9-
import { DatasetIdentifier, ExportDatasetLSData } from '../../../../../core/projects/dataset.interface';
10-
import { useLocalStorageExportDataset } from '../../../hooks/use-local-storage-export-dataset.hook';
9+
import { DatasetIdentifier, ExportDatasetLSData } from '../../../core/projects/dataset.interface';
10+
import { useLocalStorageExportDataset } from '../../../pages/project-details/hooks/use-local-storage-export-dataset.hook';
1111
import { ExportDatasetDownload } from './export-dataset-download.component';
1212
import { ExportDatasetStatusJob } from './export-dataset-status-job.component';
1313

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import { useOverlayTriggerState } from '@react-stately/overlays';
55
import { RenderResult, screen, waitFor } from '@testing-library/react';
66
import { userEvent } from '@testing-library/user-event';
77

8-
import { JobState } from '../../../../../core/jobs/jobs.const';
9-
import { DatasetIdentifier, ExportFormats } from '../../../../../core/projects/dataset.interface';
10-
import { createInMemoryProjectService } from '../../../../../core/projects/services/in-memory-project-service';
11-
import { getMockedDatasetIdentifier } from '../../../../../test-utils/mocked-items-factory/mocked-identifiers';
12-
import { getMockedDatasetExportJob } from '../../../../../test-utils/mocked-items-factory/mocked-jobs';
13-
import { providersRender as render } from '../../../../../test-utils/required-providers-render';
8+
import { JobState } from '../../../core/jobs/jobs.const';
9+
import { DatasetIdentifier, ExportFormats } from '../../../core/projects/dataset.interface';
10+
import { createInMemoryProjectService } from '../../../core/projects/services/in-memory-project-service';
11+
import { getMockedDatasetIdentifier } from '../../../test-utils/mocked-items-factory/mocked-identifiers';
12+
import { getMockedDatasetExportJob } from '../../../test-utils/mocked-items-factory/mocked-jobs';
13+
import { providersRender as render } from '../../../test-utils/required-providers-render';
1414
import { ExportDatasetNotification } from './export-dataset-notification.component';
1515

1616
const mockDatasetIdentifier: DatasetIdentifier = getMockedDatasetIdentifier({
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ import { FC, ReactNode, useState } from 'react';
55

66
import { Divider, Flex, Heading, LoadingIndicator, Text, View } from '@geti/ui';
77

8-
import { getJobActiveStep } from '../../../../../core/jobs/utils';
9-
import { DatasetIdentifier, ExportDatasetLSData, ExportFormats } from '../../../../../core/projects/dataset.interface';
10-
import { NOTIFICATION_TYPE } from '../../../../../notification/notification-toast/notification-type.enum';
11-
import { useNotification } from '../../../../../notification/notification.component';
12-
import { JobProgress } from '../../../../../shared/components/header/jobs-management/job-progress.component';
13-
import { ThinProgressBar } from '../../../../../shared/components/thin-progress-bar/thin-progress-bar.component';
14-
import { formatDownloadUrl } from '../../../../../shared/utils';
15-
import { useExportDataset } from '../../../hooks/use-export-dataset.hook';
8+
import { getJobActiveStep } from '../../../core/jobs/utils';
9+
import { DatasetIdentifier, ExportDatasetLSData, ExportFormats } from '../../../core/projects/dataset.interface';
10+
import { NOTIFICATION_TYPE } from '../../../notification/notification-toast/notification-type.enum';
11+
import { useNotification } from '../../../notification/notification.component';
12+
import { useExportDataset } from '../../../pages/project-details/hooks/use-export-dataset.hook';
13+
import { JobProgress } from '../../../shared/components/header/jobs-management/job-progress.component';
14+
import { ThinProgressBar } from '../../../shared/components/thin-progress-bar/thin-progress-bar.component';
15+
import { formatDownloadUrl } from '../../../shared/utils';
1616

17-
import classes from '../project-dataset.module.scss';
17+
import classes from './dataset-export.module.scss';
1818

1919
interface ExportDatasetStatusJobProps {
2020
datasetIdentifier: DatasetIdentifier;
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
import { render, screen, waitFor } from '@testing-library/react';
55

6-
import { JobState, JobStepState } from '../../../../../core/jobs/jobs.const';
7-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
8-
import { createInMemoryProjectService } from '../../../../../core/projects/services/in-memory-project-service';
9-
import { getMockedDatasetIdentifier } from '../../../../../test-utils/mocked-items-factory/mocked-identifiers';
10-
import { getMockedDatasetExportJob } from '../../../../../test-utils/mocked-items-factory/mocked-jobs';
11-
import { RequiredProviders } from '../../../../../test-utils/required-providers-render';
6+
import { JobState, JobStepState } from '../../../core/jobs/jobs.const';
7+
import { ExportFormats } from '../../../core/projects/dataset.interface';
8+
import { createInMemoryProjectService } from '../../../core/projects/services/in-memory-project-service';
9+
import { getMockedDatasetIdentifier } from '../../../test-utils/mocked-items-factory/mocked-identifiers';
10+
import { getMockedDatasetExportJob } from '../../../test-utils/mocked-items-factory/mocked-jobs';
11+
import { RequiredProviders } from '../../../test-utils/required-providers-render';
1212
import { ExportDatasetStatusJob } from './export-dataset-status-job.component';
1313

1414
const mockedProjectService = createInMemoryProjectService();
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@ import { CSSProperties, Key } from 'react';
66
import { Button } from '@geti/ui';
77
import { OverlayTriggerState } from 'react-stately';
88

9-
import { MenuTriggerButton } from '../../../../../shared/components/menu-trigger/menu-trigger-button/menu-trigger-button.component';
10-
import { useProject } from '../../../providers/project-provider/project-provider.component';
11-
import { DatasetTabActions, getDatasetButtonActions } from '../utils';
9+
import {
10+
DatasetTabActions,
11+
getDatasetButtonActions,
12+
} from '../../../pages/project-details/components/project-dataset/utils';
13+
import { useProject } from '../../../pages/project-details/providers/project-provider/project-provider.component';
14+
import { MenuTriggerButton } from '../../../shared/components/menu-trigger/menu-trigger-button/menu-trigger-button.component';
1215
import { useExportImportDatasetDialogStates } from './export-import-dataset-dialog-provider.component';
1316

1417
interface ExportImportDatasetButtonsProps {
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
import { fireEvent, render, screen } from '@testing-library/react';
55

6-
import { mockedProjectContextProps } from '../../../../../test-utils/mocked-items-factory/mocked-project';
7-
import { ThemeProvider } from '../../../../../theme/theme-provider.component';
8-
import { useProject } from '../../../providers/project-provider/project-provider.component';
6+
import { useProject } from '../../../pages/project-details/providers/project-provider/project-provider.component';
7+
import { mockedProjectContextProps } from '../../../test-utils/mocked-items-factory/mocked-project';
8+
import { ThemeProvider } from '../../../theme/theme-provider.component';
99
import { ExportImportDatasetButtons } from './export-import-dataset-buttons.component';
1010
import { ExportImportDatasetDialogProvider } from './export-import-dataset-dialog-provider.component';
1111

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { createContext, ReactNode, useContext } from 'react';
66
import { useOverlayTriggerState } from '@react-stately/overlays';
77
import { OverlayTriggerState } from 'react-stately';
88

9-
import { MissingProviderError } from '../../../../../shared/missing-provider-error';
9+
import { MissingProviderError } from '../../../shared/missing-provider-error';
1010

1111
interface ExportImportDatasetDialogContextProps {
1212
exportDialogState: OverlayTriggerState;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (C) 2022-2025 Intel Corporation
22
// LIMITED EDGE SOFTWARE DISTRIBUTION LICENSE
33

4-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
4+
import { ExportFormats } from '../../../core/projects/dataset.interface';
55
import { isDatumaroFormat } from './utils';
66

77
describe('project-dataset utils', () => {
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (C) 2022-2025 Intel Corporation
22
// LIMITED EDGE SOFTWARE DISTRIBUTION LICENSE
33

4-
import { DOMAIN } from '../../../../../core/projects/core.interface';
5-
import { ExportFormats } from '../../../../../core/projects/dataset.interface';
4+
import { DOMAIN } from '../../../core/projects/core.interface';
5+
import { ExportFormats } from '../../../core/projects/dataset.interface';
66

77
export interface ExportFormatDetails {
88
name: ExportFormats;

0 commit comments

Comments
 (0)