* feat(DICOM Upload) OHIF #3297 - DicomWebDataSource.store.dicom now accepts an ArrayBuffer of data sets to store - DicomWebDataSource.store.dicom now also accepts optional callbacks to track upload and an AbortSignal object to cancel upload - Added DicomFileUploader class that performs and tracks the upload of a DICOM file - Added various UI pieces for the upload: DicomUpload, DicomUploadProgress, DicomUploadProgressItem - ProgressLoadingBar was extracted from LoadingIndicatorProgress so it can be reused - Modal dialogues can now optionally prevent an outside click from closing the Modal * Passing an XMLHttpRequest to the dataSource.store.dicom method instead of callbacks and AbortSignal. Cleanup of various UI pieces to minimize code and increase readability. * Made the DicomUpload component a customization module exported by the cornerstone extension. * Exposed a copy of the data source configuration via the IWebApiDataSource interface. Added dicomUploadEnabled to a data source's configuration. * Code clean up. * Upgraded the dicomweb-client version to one that provides the ability to pass a custom HTTP request. DICOM upload uses that custom HTTP request to track progress and cancel requests. * Distinguished between failed and cancelled uploads. * Allow no selection in the upload dialogue. Fixed the styling of various progress information so that everything aligns. * Switched from cornerstone wado image loader to cornerstone dicom image loader for DICOM upload. * Added special cancelled icon to differentiate from failed. * Added a bit of spacing between the upload progress bar and percentage. * Fixed minor issue with upload rejection. * Performance improvement for cancel all uploads: - use React memo for each upload item progress (row) - do not await each request of a cancel all * Fixed various padding/spacing for the DICOM upload drop zone component. Changed the border dashing for the DICOM upload drop zone to be a background image gradient. Added hover and active effects to the 'Cancel All Uploads' text.
117 lines
2.1 KiB
JavaScript
117 lines
2.1 KiB
JavaScript
/** UTILS */
|
|
//import utils from './utils';
|
|
//export { utils };
|
|
|
|
/** CONTEXT/HOOKS */
|
|
// Export types - need to do as two lines due to a bug in babel
|
|
import * as Types from './types';
|
|
|
|
export {
|
|
useCine,
|
|
CineProvider,
|
|
DialogProvider,
|
|
useDialog,
|
|
withDialog,
|
|
DragAndDropProvider,
|
|
ModalProvider,
|
|
ModalConsumer,
|
|
useModal,
|
|
withModal,
|
|
ImageViewerContext,
|
|
ImageViewerProvider,
|
|
useImageViewer,
|
|
SnackbarProvider,
|
|
useSnackbar,
|
|
withSnackbar,
|
|
ViewportDialogProvider,
|
|
useViewportDialog,
|
|
ViewportGridContext,
|
|
ViewportGridProvider,
|
|
useViewportGrid,
|
|
UserAuthenticationContext,
|
|
UserAuthenticationProvider,
|
|
useUserAuthentication,
|
|
} from './contextProviders';
|
|
|
|
/** COMPONENTS */
|
|
export {
|
|
AboutModal,
|
|
HotkeyField,
|
|
Header,
|
|
UserPreferences,
|
|
HotkeysPreferences,
|
|
Button,
|
|
ButtonGroup,
|
|
ContextMenu,
|
|
CinePlayer,
|
|
DateRange,
|
|
Dialog,
|
|
Dropdown,
|
|
EmptyStudies,
|
|
ErrorBoundary,
|
|
ExpandableToolbarButton,
|
|
ListMenu,
|
|
Icon,
|
|
IconButton,
|
|
Input,
|
|
InputRange,
|
|
InputDateRange,
|
|
InputGroup,
|
|
InputLabelWrapper,
|
|
InputMultiSelect,
|
|
InputText,
|
|
Label,
|
|
LayoutSelector,
|
|
LegacyCinePlayer,
|
|
LegacyViewportActionBar,
|
|
LoadingIndicatorProgress,
|
|
LoadingIndicatorTotalPercent,
|
|
MeasurementTable,
|
|
Modal,
|
|
NavBar,
|
|
Notification,
|
|
ProgressLoadingBar,
|
|
Select,
|
|
SegmentationTable,
|
|
SegmentationGroupTable,
|
|
SidePanel,
|
|
SplitButton,
|
|
StudyBrowser,
|
|
StudyItem,
|
|
StudyListExpandedRow,
|
|
StudyListFilter,
|
|
StudyListPagination,
|
|
StudyListTable,
|
|
StudyListTableRow,
|
|
StudySummary,
|
|
Svg,
|
|
Table,
|
|
TableBody,
|
|
TableCell,
|
|
TableHead,
|
|
TableRow,
|
|
ThemeWrapper,
|
|
Thumbnail,
|
|
ThumbnailNoImage,
|
|
ThumbnailTracked,
|
|
ThumbnailList,
|
|
ToolbarButton,
|
|
Tooltip,
|
|
TooltipClipboard,
|
|
Typography,
|
|
Viewport,
|
|
ViewportActionBar,
|
|
ViewportDownloadForm,
|
|
ViewportGrid,
|
|
ViewportPane,
|
|
WindowLevelMenuItem,
|
|
ImageScrollbar,
|
|
ViewportOverlay,
|
|
} from './components';
|
|
|
|
/** These are mostly used in the docs */
|
|
export { getIcon, ICONS, addIcon } from './components/Icon/getIcon';
|
|
export { BackgroundColor } from './pages/Colors/BackgroundColor';
|
|
export { ModalComponent } from './contextProviders/ModalComponent';
|
|
export { Types };
|