* Fix ExtensionManager bug and add test to bandaid * Add tools configuration to extension manager preinit * Fix reducing of configs * Merge internal with external configs * Merge internal with external configs * Remove dialog from init in measurementstable * Testing injected configuration * New way to set config * Add new prop to dialog provider to allow disabling last position * Remove code from preinit in cornerstone * Add new prop to dialog provider to allow disabling last position * Add centralize to dialogs * Reorder dialogs when adding them * Fix draggable styles (cursor) * Remove repositioning methods from labelling flow and remove overlay from labelling manager * Fix empty array being set in bringToFront * Add new command to update table and pass commands manager to modules/preinit hook * Ad UIContextMenu service / factory * Use new contextmenu service in measurementspanel extension * Use dialogs for arrow annotate in default * Remove positioning funcionality from tool context menu * Add context menu service * Pass commandsModule to extension * Update edit description dialog and simple dialog to position relative * Remove style code from labelling flow and manager * Remove eventdata from labelling * Remove labelling code from measurement init * Add commandsmanager to provider * Update contextmenu provider and service * Add touchstart and mouseclick to hide contextmenu * Hide labelling if click/touch * Remove labelling and context menu dead code * Fix undefined bug if ViewerMain grid has no children * Fix broken prop on context menu * Update commandsmodule based on master * Fix broken configuration * Update script tag config * Remove cornerstone from toolcontextmenu * Remove cornerstone from toolcontextmenu * Split labelling and context menu providers * Split labelling and context menu providers * Update test * Destructure extensions into new array * CR Update: Move default arrow config to cornerstone instead of default * CR Update: Fix app configuration props structure * CR Update: Fix app configuration prop in script tag and extract commands manager from providers * CR Update: Create custom providers to use commandsManager * CR Update: Use services directly in measurementspanel * CR Update: Pass components to providers * CR Update: Remove position from dialog * CR Update: fix dialog prop check * CR Update: Fix comments * CR Update: Update documentation * CR Update: Add test default configuration * CR Update: Add default empy array to extensions * CR Update: Update i18n configuration all ot match current function configuration * CR Update: Add defaults to injected dependencies in configuration and extension configuration * CR Update: Add defaults to configuration with no args * Update documentation * CR Update: Add default for tools * CR Update: Update config object to i18n * CR Update: spread defaults * CR Update: Add tool configuration example to cornerstone extension * CR Update: Add tool configuration to netlify (testing) * CR Update: Remove netlify config for tools * CR Update: Rollback changes to i18n to be fixed later * CR Update: Update documentation and pass whole cornerstone config object instead of tools key SEE: https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with-both-and-breaking-change-footer BREAKING CHANGE: modifies the exposed react <App /> components props. The contract for providing configuration for the app has changed. Please reference updated documentation for guidance.
65 lines
1.4 KiB
JavaScript
65 lines
1.4 KiB
JavaScript
import { Component } from 'react';
|
|
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
|
|
import SimpleDialog from '../SimpleDialog/SimpleDialog.js';
|
|
import './EditDescriptionDialog.css';
|
|
|
|
export default class EditDescriptionDialog extends Component {
|
|
static propTypes = {
|
|
description: PropTypes.string,
|
|
measurementData: PropTypes.object.isRequired,
|
|
onCancel: PropTypes.func.isRequired,
|
|
onUpdate: PropTypes.func.isRequired,
|
|
};
|
|
|
|
constructor(props) {
|
|
super(props);
|
|
|
|
this.state = {
|
|
description: props.measurementData.description || '',
|
|
};
|
|
}
|
|
|
|
componentDidUpdate(prevProps) {
|
|
if (this.props.description !== prevProps.description) {
|
|
this.setState({
|
|
description: this.props.description,
|
|
});
|
|
}
|
|
}
|
|
|
|
render() {
|
|
return (
|
|
<SimpleDialog
|
|
headerTitle="Edit Description"
|
|
onClose={this.onClose}
|
|
onConfirm={this.onConfirm}
|
|
rootClass="editDescriptionDialog"
|
|
>
|
|
<input
|
|
value={this.state.description}
|
|
className="simpleDialogInput"
|
|
id="description"
|
|
autoComplete="off"
|
|
autoFocus
|
|
onChange={this.handleChange}
|
|
/>
|
|
</SimpleDialog>
|
|
);
|
|
}
|
|
|
|
onClose = () => {
|
|
this.props.onCancel();
|
|
};
|
|
|
|
onConfirm = e => {
|
|
e.preventDefault();
|
|
this.props.onUpdate(this.state.description);
|
|
};
|
|
|
|
handleChange = event => {
|
|
this.setState({ description: event.target.value });
|
|
};
|
|
}
|