* skeleton for dicom-microscopy extension * skeleton for microscopy mode * [feat] ported @radicalimaging/microscopy-dicom to OHIF's default extension * [feat] ported microscopy mode from private repo * added new definitions to the package.json * webpack configuration update for microscopy extension * register new icons for microscopy tools * fixes to the microscopy extension and mode * trivial error fix - typescript type import error * link microscopy extension with default OHIF app plugin config * demo config fix * fix logs * remove unsed imports * [fix] loading of microscopy * [fix] webworker script loading, normalizing denaturalized dataset * found the latest version of dicom-microscopy-viewer that works with current OHIF extension : 0.35.2 * hide thumbnail pane by default, as we have issues with * comments * remove unused code * [feat] microscopy - annotation selection * [feat] microscopy - edit annotation label * wip * [bugfix] dicom-microscopy tool * [bugfix] dicom microscopy annotations * [fix] mixed-content blocking caused by BulkDataURI * [fix] microscopy measurements panel - center button * [fix] microscopy measurements panel - styling * [fix] microscopy - controls * fix local loading of microscopy * fix local loading of dicom microscopy * fix typo - indexof to indexOf * [fix] remove unused icons * remove commented out lines from webpack configuration * platform/viewer/public/config/default.js - revert accidental changes * [refactor] redirecting to microscopy mode on Local mode * attribution to DMV and SLIM viewer * [fix] code review feedbacks * fix thumbnails * [fix] microscopy - fix old publisher.publish() to PubSubService._broadcastEvent() * [fix] interactions, webpack config, roi selection * [feat] microscopy - remove select tool from UI * microscopy author * [fix] saving and loading SR * [bugfix] - missing publish() function in MicroscopyService, replace with _broadcastEvent * remove author section from readme * refactor SR saving feature * fix webpack config after merge * [bugfix] repeated import * fix e2e * webpack configuration * hide "Create report" button for microscopy
75 lines
2.0 KiB
TypeScript
75 lines
2.0 KiB
TypeScript
import React from 'react';
|
|
import { Input, Dialog } from '@ohif/ui';
|
|
|
|
/**
|
|
*
|
|
* @param {*} data
|
|
* @param {*} data.text
|
|
* @param {*} data.label
|
|
* @param {*} event
|
|
* @param {func} callback
|
|
* @param {*} isArrowAnnotateInputDialog
|
|
*/
|
|
export default function callInputDialog({
|
|
uiDialogService,
|
|
title = 'Enter your annotation',
|
|
defaultValue = '',
|
|
callback = (value: string, action: string) => {}
|
|
}) {
|
|
const dialogId = 'microscopy-input-dialog';
|
|
|
|
const onSubmitHandler = ({ action, value }) => {
|
|
switch (action.id) {
|
|
case 'save':
|
|
callback(value.value, action.id);
|
|
break;
|
|
case 'cancel':
|
|
callback('', action.id);
|
|
break;
|
|
}
|
|
uiDialogService.dismiss({ id: dialogId });
|
|
};
|
|
|
|
if (uiDialogService) {
|
|
uiDialogService.create({
|
|
id: dialogId,
|
|
centralize: true,
|
|
isDraggable: false,
|
|
showOverlay: true,
|
|
content: Dialog,
|
|
contentProps: {
|
|
title: title,
|
|
value: { value: defaultValue },
|
|
noCloseButton: true,
|
|
onClose: () => uiDialogService.dismiss({ id: dialogId }),
|
|
actions: [
|
|
{ id: 'cancel', text: 'Cancel', type: 'primary' },
|
|
{ id: 'save', text: 'Save', type: 'secondary' },
|
|
],
|
|
onSubmit: onSubmitHandler,
|
|
body: ({ value, setValue }) => {
|
|
return (
|
|
<div className="p-4 bg-primary-dark">
|
|
<Input
|
|
autoFocus
|
|
className="mt-2 bg-black border-primary-main"
|
|
type="text"
|
|
containerClassName="mr-2"
|
|
value={value.defaultValue}
|
|
onChange={event => {
|
|
event.persist();
|
|
setValue(value => ({ ...value, value: event.target.value }));
|
|
}}
|
|
onKeyPress={event => {
|
|
if (event.key === 'Enter') {
|
|
onSubmitHandler({ value, action: { id: 'save' } });
|
|
}
|
|
}}
|
|
/>
|
|
</div>
|
|
);
|
|
},
|
|
},
|
|
});
|
|
}
|
|
} |