import { utils } from '@ohif/core'; const { formatDate } = utils; export default { 'studyBrowser.studyMenuItems': [], 'studyBrowser.thumbnailMenuItems': [ { id: 'tagBrowser', label: 'Tag Browser', iconName: 'DicomTagBrowser', onClick: ({ commandsManager, displaySetInstanceUID }: withAppTypes) => { commandsManager.runCommand('openDICOMTagViewer', { displaySetInstanceUID, }); }, }, ], 'studyBrowser.sortFunctions': [ { label: 'Series Number', sortFunction: (a, b) => { return a?.SeriesNumber - b?.SeriesNumber; }, }, { label: 'Series Date', sortFunction: (a, b) => { const dateA = new Date(formatDate(a?.SeriesDate)); const dateB = new Date(formatDate(b?.SeriesDate)); return dateB.getTime() - dateA.getTime(); }, }, ], 'studyBrowser.viewPresets': [ { id: 'list', iconName: 'ListView', selected: false, }, { id: 'thumbnails', iconName: 'ThumbnailView', selected: true, }, ], 'studyBrowser.studyMode': 'all', 'studyBrowser.thumbnailDoubleClickCallback': { callbacks: [ ({ activeViewportId, servicesManager, isHangingProtocolLayout }) => async displaySetInstanceUID => { const { hangingProtocolService, viewportGridService, uiNotificationService } = servicesManager.services; let updatedViewports = []; const viewportId = activeViewportId; try { updatedViewports = hangingProtocolService.getViewportsRequireUpdate( viewportId, displaySetInstanceUID, isHangingProtocolLayout ); } catch (error) { console.warn(error); uiNotificationService.show({ title: 'Thumbnail Double Click', message: 'The selected display sets could not be added to the viewport.', type: 'error', duration: 3000, }); } viewportGridService.setDisplaySetsForViewports(updatedViewports); }, ], }, };